Releases: hyriver/pygeohydro
Releases · hyriver/pygeohydro
v0.15.0
Release Notes
From release 0.15 onward, all minor versions of HyRiver packages will be pinned. This ensures that previous minor versions of HyRiver packages cannot be installed with later minor releases. For example, if you have py3dep==0.14.x
installed, you cannot install pydaymet==0.15.x
. This is to ensure that the API is consistent across all minor versions.
New Features
- Add a new option to
NWIS.get_info
, callednhd_info
, for retrieving NHDPlus related info on the sites. This will two new service calls that might slow down the function, so it's disabled by default. - Update links in
NID
to the latest CSV and GPKG versions of the NID dataset. - Add two new properties to
NID
to access the entire NID dataset. You can useNID.df
to access the CSV version as apandas.DataFrame
andNID.gdf
to access the GPKG version as ageopandas.GeoDataFrame
. Installingpyogrio
is highly recommended for much faster reading of the GPKG version. - Refactor
NID.bygeom
to use the newNID.gdf
property for spatial querying of the dataset. This change should make the query much faster. - For now, retain compatibility with
shapely<2
while supportingshapley>=2
.
v0.14.0
Release Notes
New Features
- Add a new function, called
nlcd_area_percent
, for computing the percentages or natural, developed, and impervious areas within geometries of a givenGeoDataFrame
. This function uses imperviousness and land use/land cover data from NLCD to compute the area percentages of the natural, developed, and impervious areas. For more information please refer to the function's documentation. - Add a new column to the dataframe returned by
NWIS.get_info
, callednhd_comid
, and renamedrain_sqkm
tonhd_areasqkm
. The new drainage area is the best available estimates of stations' drainage area that have been extracted from the NHDPlus. The newnhd_comid
column makes it easier to link stations to NHDPlus. - In
get_camels
, returnqobs
with negatives values set toNaN
. Also, Add a new variable calledNewman_2017
to both datasets for identifying the 531 stations that were used in Newman et al. (2017). - Add a new function, called
streamflow_fillna
, for filling missing streamflow values (NAN
) with day-of-year average values.
Breaking Changes
- Bump the minimum required version of
shapely
to 2.0, and use its new API.
Internal Changes
- Sync all minor versions of HyRiver packages to 0.14.0.
- Improve performance of all NLCD functions by merging two methods of the
NLCD
and also reducing the memory footprint of the functions.
v0.13.12
Release Notes
New Features
- Add initial support for SensorThings API Currently, the
SensorThings
class only supportsThings
endpoint. Users need to provide a valid Odata filter. The class has aodata_helper
function that can be used to generate and validate Odata filters. Additionally, usingsensor_info
andsensor_property
functions users can request for information about sensors themselves or their properties.
Internal Changes
- Simplify geometry validation by using
pygeoutils.geo2polygon
function inssebopeta_bygeom
. - Fully migrate
setup.cfg
andsetup.py
topyproject.toml
. - Convert relative imports to absolute with
absolufy-imports
. - Sync all patch versions of HyRiver packages to x.x.12.
v0.13.10
Release Notes
Breaking Changes
- The NID service has changed some of its endpoints to use Federal ID instead of Dam ID. This change affect the
NID.inventory_byid
function. This function now accepts Federal IDs instead of dam IDs.
New Features
- Refactor the
show_versions
function to improve performance and print the output in a nicer table-like format.
Internal Changes
- Use the new
pygeoogc.streaming_download
function inhuc_wb_full
to improve performance and reduce code complexity. - Skip 0.13.9 version so the minor version of all HyRiver packages become the same.
- Modify the codebase based on the latest changes in
geopandas
related to empty dataframes. - Use
pyright
for static type checking instead ofmypy
and address all typing issues that it raised.
v0.13.8
Release Notes
New Features
- Add a function called
huc_wb_full
that returns the full watershed boundaryGeoDataFrame
of a given HUC level. If only a subset of HUCs is needed thepygeohydro.WBD
class should be used. The full dataset is downloaded from the National Maps' WBD staged products. - Add a new function called
irrigation_withdrawals
for retrieving estimated monthly water use for irrigation by 12-digit hydrologic unit in the CONUS for 2015 from ScienceBase. - Add a new property to
NID
, calleddata_units
for indicating the units of NID dataset variables. - The
get_us_states
now acceptsconus
as asubset_key
which is equivalent tocontiguous
.
Internal Changes
- Add
get_us_states
to__init__
file, so it can be loaded directly, e.g.,gh.get_us_states("TX")
. - Modify the codebase based on Refurb suggestions.
- Significant performance improvements in
NWIS.get_streamflow
especially for large requests by refactoring the timezone handling.
Bug Fixes
- Fix the dam types and purposes mapping dictionaries in
NID
class.
v0.13.7
Release Notes
New Features
- Add a two new function for retrieving soil properties across the US:
soil_properties
: Porosity, available water capacity, and field capacity,soil_gnatsgo
: Soil properties from the gNATSGO database.
- Add a new help function called
state_lookup_table
for getting a lookup table of US states and their counties. This can be particularly useful for mapping the digitstate_cd
andcounty_cd
that NWIS returns to state names/codes. - Add support for getting individual state geometries using
get_us_states
function by passing their two letter state code. Also, use TIGER 2022 data for the US states and counties instead of TIGER 2021.
Internal Changes
- Remove
proplot
as a dependency and usematplotlib
instead.
v0.13.6
Release Notes
Internal Changes
- Add the missing PyPi classifiers for the supported Python versions.
v0.13.5
Release Notes
Breaking Changes
- Append "Error" to all exception classes for conforming to PEP-8 naming conventions.
- Deprecate
ssebopeta_byloc
since it's been replaced withssebopeta_bycoords
since version 0.13.0.
Internal Changes
- Bump the minimum versions of
pygeoogc
andpygeoutils
to 0.13.5 and that ofasync-retriever
to 0.3.5.
v0.13.3
Release Notes
New Features
- Add a new argument to
NID.inventory_byid
class for staging the entire NID dataset prior to inventory queries. There a new public method calledNID.stage_nid_inventory
that can be used to download the entire NID dataset and save it as afeather
file. This is useful inventory queries with large number of IDs and is much more efficient than querying the NID web service.
Bug Fixes
- The background value in
cover_statistics
function should have been 127 not 0. Also, dropped the background value from the return statistics.
v0.13.2
Release Notes
Breaking Changes
- Set the minimum supported version of Python to 3.8 since many of the dependencies such as
xarray
,pandas
,rioxarray
have dropped support for Python 3.7.
Internal Changes
- Remove
USGS
prefixes from the input station IDs inNWIS.get_streamflow
function. Also, check if the remaining parts of the IDs are all digits and throw an exception if otherwise. Additionally, make sure that IDs have at least 8 chars by adding leading zeros (:issue_hydro:[99]{.title-ref}). - Use micromamba for running tests and use nox for linting in CI.