Skip to content

Releases: hyriver/pygeohydro

v0.18.0

06 Oct 17:36
Compare
Choose a tag to compare

Release Notes

Bug Fixes

  • Bump the minimum version of aiohttp-client-cache>=0.12.3 to fix an issue with the latest version of aiohttp. (124{.interpreted-text role="issue_hydro"})

Breaking Changes

  • Drop support for Python 3.8 since its end-of-life date is October 2024.
  • Remove all exceptions from the main module and raise them from the exceptions module. This is to declutter the public API and make it easier to maintain.

v0.17.1

14 Sep 16:42
Compare
Choose a tag to compare

Release Notes

Internal Changes

  • Drop support for Python 3.8 since its end-of-life date is October 2024.

Bug Fixes

  • Update the nlcd module to reflect the changes in the MRLC web service. There have been some breaking changes in the NLCD web service, and the module is updated to reflect these changes. Thus, previous versions of the module will not work with the new NLCD web service. (122{.interpreted-text role="issue_hydro"})
  • Update the nid module based on the latest changes to the NID web service. The changes include the addition of new fields to the NID dataset and the removal of some fields. The module is updated to reflect these changes.
  • Update the nfhl module to reflect the changes in the NFHL web service. There have been some breaking changes in the NFHL web service, and the module is updated to reflect these changes. Thus, previous versions of the module will not work with the new NFHL web service.

v0.17.0

07 Jul 17:24
Compare
Choose a tag to compare

Release Notes

New Features

  • Add support for the National Levee Dataset (NLD) from the USACE. The new class is called NLD and gives users the ability to subset the NLD dataset by geometry, ID, or SQL queries. The class has three methods: bygeom, byids, and bysql.

Enhancements

  • Add a new argument to EHydro for passing a directory to store the raw downloaded data. This is useful since most times the raw data is needed for further processing and reuse. So, by storing them in a folder other than its previous default location, i.e., ./cache, users can easily access and manage them.

Internal Changes

  • Add the exceptions module to the high-level API to declutter the main module. In the future, all exceptions will be raised from this module and not from the main module. For now, the exceptions are raised from both modules for backward compatibility.
  • Switch to using the src layout instead of the flat layout for the package structure. This is to make the package more maintainable and to avoid any potential conflicts with other packages.
  • Add artifact attestations to the release workflow.
  • Move NID class to the nid module to make the package more organized and the main module less cluttered.

v0.16.5

26 May 15:34
Compare
Choose a tag to compare

Release Notes

New Features

  • Add new function called soil_soilgrids to get soil data from the SoilGrids dataset. The signature of the function is the same as of the soil_gnatsgo function, so they can be used interchangeably. For more information on the SoilGrids dataset, visit ISRIC.

v0.16.4

20 May 21:25
Compare
Choose a tag to compare

Release Notes

Bug Fixes

  • Fix an issue in NID.stage_nid_inventory where the function was failing when the response status code was 206 (partial content). This issue is fixed by checking the response status code and if it's 206, the function will continue reading the headers and the get the modified date from the response headers. Also, the function incorrectly didn't check if the local database was up-to-date with the remote database when the processed database already existed. Now, the function will check changes in the remote database and re-download the data even if necessary even if the processed database exists.

v0.16.3

16 May 20:15
Compare
Choose a tag to compare

Release Notes

Internal Changes

  • More robust handling of failed download links for eHydro data. For example, sometimes, eHydro web service uses placeholder as actual links. There are also cases where links are in the database but they are dead.
  • Add the exceptions module to the high-level API to declutter the main module. In the future, all exceptions will be raised from this module and not from the main module. For now, the exceptions are raised from both modules for backward compatibility.

Bug Fixes

  • In EHydro class, sometimes the requested surveys are not in the same CRS, so they couldn't be combined into a single GeoDataFrame. This issue is fixed by reprojecting all the requested surveys to 5070 CRS before combining them.

v0.16.1

25 Apr 03:21
Compare
Choose a tag to compare

Release Notes

Bug Fixes

  • In nlcd_helper function the roughness value for class 82 was set to 0.16 instead of 0.037.

New Features

  • Converted all methods of NWIS class to classmethod so the class can be used without instantiating it. This change makes the class more flexible and easier to use.
  • In NID class, the stage_nid_inventory method now checks if the remote NID database has been modified since the last download and only downloads the new data if it has been modified. This change makes the method more efficient and reduces the network traffic while ensuring that the local database is always up-to-date.

v0.16.0

03 Jan 23:00
Compare
Choose a tag to compare

Release Notes

Breaking Changes

  • Bump the minimum supported version of shapely to 2.

Internal Changes

  • Update the link to NWIS error codes tables in the nwis_errors function.
  • Update NWIS class based on the latest changes to the NWIS web service.
  • Use the default tiles for the interactive_map function.

v0.15.2

22 Sep 14:27
Compare
Choose a tag to compare

Release Notes

New Features

  • Add a new attribute to EHydro class called survey_grid. It's a geopandas.GeoDataFrame that includes the survey grid of the eHydro dataset which is a 35-km hexagonal grid.
  • Add support for getting point cloud and survey outline data from eHydro. You can set data_type in EHydro to bathymetry, points, outlines, or contours to get the corresponding data. The default is points since this is the recommended data type by USACE.
  • Add NFHL class within nfhl module to access FEMA's National Flood Hazard Layer (NFHL) using six different ArcGISRESTFul services. Contributed by Fernando Aristizabal. (108{.interpreted-text role="pull_hydro"})

Internal Changes

  • Remove dependency on dask.
  • Move all NLCD related functions to a separate module called nlcd. This doesn't affect the API since the functions are still available under pygeohydro namespace.

v0.15.1

02 Sep 13:25
Compare
Choose a tag to compare

Release Notes

This release provides access to three new datasets:

  • USACE Hydrographic Surveys (eHydro) and
  • USGS Short-Term Network (STN) Flood Event Data (contributed by Fernando Aristizabal)
  • NLCD 2021

New Features

  • Add support for getting topobathymetry data from USACE Hydrographic Surveys (eHydro). The new class is called EHydro and gives users the ability to subset the eHydro dataset by geometry, ID, or SQL queries.
  • Add new stnfloodevents module with STNFloodEventData class for retrieving flood event data from the USGS Short-Term Network (STN) RESTful Service. This Python API abstracts away RESTful principles and produces analysis ready data in geo-referenced GeoDataFrames, DataFrames, lists, or dictionaries as desired. The core class methods available are data_dictionary, get_all_data, and get_filtered_data. These class methods retrieve the data dictionaries by type, get all the available data by type, and make filtered requests for data by type as well, respectively. The four types of data include instruments, peaks, hwms, and sites. Contributed by Fernando Aristizabal.
  • Add a wrapper function for the STNFloodEventData class called stn_flood_event.
  • Add support for the new NLCD data (2021) for the three supported layers.