Releases: hyriver/py3dep
Releases · hyriver/py3dep
v0.19.0
Release Notes
Users are encouraged to using the new HyRiver package called Seamless3DEP which is a lightweight and efficient package providing access to both static DEMs and dynamic 3DEP services. This package is a part of the HyRiver software stack and is the recommended package for accessing 3DEP data. For more information please visit its documentation. For the time being, Py3DEP will be maintained for bug fixes and minor updates.
Breaking Changes
- The default CRS for
get_mapis nowEPSG:5070. This is due to an issue with the 3DEP service where the service returns invalid results when the requested CRS in not in a projected coordinate system.
v0.18.0
Release Notes
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
exceptionsmodule. This is to declutter the public API and make it easier to maintain.
v0.17.1
Release Notes
Internal Changes
- Drop support for Python 3.8 since its end-of-life date is October 2024.
v0.17.0
Release Notes
Internal Changes
- Add the
exceptionsmodule 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
srclayout instead of theflatlayout 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.
v0.16.3
Release Notes
Bug Fixes
- In
check_3dep_availabilityfunction, fix a bug where the function fails to return a valid response when the web service is down.
v0.16.2
Release Notes
Bug Fixes
- In
add_elvationfunction, fix a bug where the function fails to add elevation to axarray.Datasetwith x and y dims not beingxandy.
Internal Changes
- Refactor
fill_depressionsfunction by porting the code frompyflwdirand improve its performance and also now, it directly supportxarray.DataArray. Now,pyflwdiris not an optional dependency anymore. You can installnumbato improve the performance of the function.
Breaking Changes
- The AirMap service has been deprecated and removed from the package. The
elevation_bycoordsfunction now only supports the the National Map and the 3DEP services.
v0.16.1
Release Notes
Bug Fixes
- In the
check_3dep_availabilityfunction when the web service is down the function raises aTypeErrorinstead of setting the value of the failed resolution toFailed. This is fixed now. (66{.interpreted-text role="issue_3dep"}).
Internal Changes
- Simplify the logic of adding elevation to a Dataset in the
add_elevationfunction to avoid modifying CRS of the input Dataset.
v0.16.0
Release Notes
New Features
- Add a new function called
get_map_vrtfor getting DEM within a bounding box and saving it as aVRTfile. This function has low memory usage and is useful for cases where the DEM is needed for a large area. Moreover, even for usual use cases it can be much faster thanget_demsince it loads the data lazily, at the cost of higher disk usage. - In the
get_mapfunction, check if the input geometry is within the bounds of the 3DEP's WMS service and if not, raise an exception. - In the
fill_depressionsfunction add a new argument calledoutletsfor specifying outlet detection method: At the edge of all cells (edge) or only the minimum elevation edge cell (min; default). - Significantly improve the performance of
check_3dep_availabilityfunction by minimizng the number of requests to the service and sending all requests asynchronously. Also, the returneddictnow usesFailedfor those resolutions where the service fails to return a valid response. It will remove the failed responses from the cache, so next time the function is called, it will try to get only the failed resolutions. - Add four new options to
add_elevation:maskfor passing a mask andresolutionfor specifying the resolution of the source DEM, andx_dimandy_dimfor passing the names of spatial dimensions in the input dataset. Themaskoption is useful for cases where the inputxarray.DataArrayorxarray.Datasethas a mask and the user wants to use that mask for the elevation data as well. Theresolutionoption is useful for cases where the user wants to get the elevation data at a higher resolution that will be downsampled by bilinear interpolation to the resolution of the inputxarray.DataArrayorxarray.Dataset. The default isresolution=Nonewhich means the resolution of the inputxarray.DataArrayorxarray.Datasetwill be used. Thex_dimandy_dimoptions are useful for cases where the inputxarray.DataArrayorxarray.Datasethas different names for spatial dimensions thanxandy. The default isx_dim="x"andy_dim="y".
Breaking Changes
- In the
elevation_profilefunction remove theresargument and use 10-m resolution DEM from 3DEP. Also, add two new attributes to the outputxarray.Dataset:sourcefor the dataset to state the data source used andunitsfor thedistancevariable to state the units of the distance, which is meters.
Internal Changes
- Improve initial load time by moving
import pyflwdirto thefill_depressionsfunction.
Bug Fixes
- Decrease the number of pixels per request from 10e6 to 8e6 to reduce the request load (
65{.interpreted-text role="issue_3dep"}).
v0.15.2
Release Notes
Internal Changes
- Remove dependency on
dask.
v0.15.1
Release Notes
Bug Fixes
- Fix HyRiver libraries requirements by specifying a range instead of exact version so
conda-forgecan resolve the dependencies.