Releases: hyriver/pydaymet
v0.19.4
v0.19.3
Release Notes
New Features
- Improve the performance of
get_bycoordsfunction by using the single-pixel API of the Daymet server. - Add a new argument to both
get_bygeomandget_bycoordsfunctions calledconn_timeoutfor setting the connection timeout in seconds. The default value is 5 minutes. - Add a new argument to both
get_bygeomandget_bycoordsfunctions calledvalidate_filesize. When set toTrue, the function checks the file size of the previously cached files and will re-download if the local filesize does not match that of the remote. Defaults toFalse. Setting this toFalsecan be useful when you are sure that the cached files are not corrupted and just want to get the combined dataset more quickly. This is faster because it avoids web requests that are necessary for getting the file sizes.
Internal Changes
- Use [TinyRetriever](https://github.com/cheginit/tiny-retriever) for all server requests. It offers the same functionalities as the previous
_streamingmodule and has the same dependencies. It has a more robust handling of async threads and is more efficient.
v0.19.1
Release Notes
This release is a major refactoring of the package to make it more lightweight and independent. The package now uses aiohttp and aiofiles with a limit on the number of simulnatious connections to the host, for handling all server requests. This avoids hammering the server with multiple requests and improves the performance and reliability of the package. The package no longer depends on other HyRiver libraries, making it more lightweight and faster to load.
New Features
- Add a new function to get Daymet tile IDs for a given geometry called
daymet_tiles.
Internal Changes
- Remove dependency on other HyRiver libraries to make the package more lightweight and independent.
- Use
aiohttpandaiofilesfor handling all server requests. This avoids hammering the server with multiple requests and improves the performance and reliability of the package. - Remove dependency on
geopandasand useshapelyonly for handling geometries. This makes the package more lightweight and faster.
Breaking Changes
- Use a more efficient and reliable approach for adding elevation data to the climate dataset for computing PET. We now directly use 30-m elevation data from 3DEP and resample it to the climate data resolution by averaging each cell within a 1-km window.
- Remove the option to disable SSL in all functions. Now, SSL verification is always enabled.
v0.19.0
Release Notes
This release is a major refactoring of the package to make it more lightweight and independent. The package now uses aiohttp and aiofiles with a limit on the number of simulnatious connections to the host, for handling all server requests. This avoids hammering the server with multiple requests and improves the performance and reliability of the package. The package no longer depends on other HyRiver libraries, making it more lightweight and faster to load.
New Features
- Add a new function to get Daymet tile IDs for a given geometry called
daymet_tiles.
Internal Changes
- Remove dependency on other HyRiver libraries to make the package more lightweight and independent.
- Use
aiohttpandaiofilesfor handling all server requests. This avoids hammering the server with multiple requests and improves the performance and reliability of the package. - Remove dependency on
geopandasand useshapelyonly for handling geometries. This makes the package more lightweight and faster.
Breaking Changes
- Use a more efficient and reliable approach for adding elevation data to the climate dataset for computing PET. We now directly use 30-m elevation data from 3DEP and resample it to the climate data resolution by averaging each cell within a 1-km window.
- Remove the option to disable SSL in all functions. Now, SSL verification is always enabled.
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
Bug Fixes
- In
get_bystacfunction, only three variables were being returned regardless of the input variables. This version fixes this issue by returning all the requested variables.
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.
v0.16.3
Release Notes
Bug Fixes
- In
get_bystacfunction, only three variables were being returned regardless of the input variables. This version fixes this issue by returning all the requested variables.
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.
v0.16.1
Release Notes
New Features
- Add a new function for getting Daymet data from Microsoft's Planetary Computer called
get_bystac. Although this function can be much faster thanget_bygeom, currently, it gives access to Daymet v4.2 from 1980 to 2020. As discussed here, the Daymet v4.5 will be added to the Planetary Computer in the future. Until then, for accessing the latest version of Daymet (v4.5) you need to useget_bygeom. Additionally, this function requiresfsspec,dask,zarr, andpystac-clientpackages. - Make
separate_snowa standalone, pure, and public function. Now, it can be used like so:pydaymet.separate_snow. - Change the length unit from
kmtomforget_bygeom.
Internal Changes
- The
potential_etfunction usespy3dep.add_elevationfunction but the CRS info gets lost in the process for the newelevationvariable. This version fixes this issue by adding the CRS info to theelevationvariable. - Change
PetParamsclass fromNamedTupletodataclassfor better performance and consistency. Now, it has a newclassmethodcalledfieldsthat returns a list of the four fields of the class.
v0.16.0
Release Notes
Breaking Changes
- Bump min version of
shapelyto 2.
Internal Changes
- Use the new
py3dep.add_elevationAPI.