Skip to content

Releases: hyriver/pydaymet

v0.19.4

24 May 21:55

Choose a tag to compare

Release Notes

Bug Fixes

  • Fix an issue in the get_bygeom function where if the input geometry is smaller than 1 km, the function would fail to clip the data. This version returns all pixels that the geometry intersects with, even if the geometry is smaller than 1 km.

v0.19.3

07 Mar 19:09

Choose a tag to compare

Release Notes

New Features

  • Improve the performance of get_bycoords function by using the single-pixel API of the Daymet server.
  • Add a new argument to both get_bygeom and get_bycoords functions called conn_timeout for setting the connection timeout in seconds. The default value is 5 minutes.
  • Add a new argument to both get_bygeom and get_bycoords functions called validate_filesize. When set to True, 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 to False. Setting this to False can 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 _streaming module and has the same dependencies. It has a more robust handling of async threads and is more efficient.

v0.19.1

18 Jan 04:01

Choose a tag to compare

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 aiohttp and aiofiles for handling all server requests. This avoids hammering the server with multiple requests and improves the performance and reliability of the package.
  • Remove dependency on geopandas and use shapely only 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

18 Jan 02:21

Choose a tag to compare

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 aiohttp and aiofiles for handling all server requests. This avoids hammering the server with multiple requests and improves the performance and reliability of the package.
  • Remove dependency on geopandas and use shapely only 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

06 Oct 14:06

Choose a tag to compare

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 exceptions module. This is to declutter the public API and make it easier to maintain.

v0.17.1

14 Sep 16:43

Choose a tag to compare

Release Notes

Internal Changes

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

v0.17.0

07 Jul 17:22

Choose a tag to compare

Release Notes

Bug Fixes

  • In get_bystac function, 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 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.

v0.16.3

16 May 20:16

Choose a tag to compare

Release Notes

Bug Fixes

  • In get_bystac function, 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 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.

v0.16.1

15 Jan 18:33

Choose a tag to compare

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 than get_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 use get_bygeom. Additionally, this function requires fsspec, dask, zarr, and pystac-client packages.
  • Make separate_snow a standalone, pure, and public function. Now, it can be used like so: pydaymet.separate_snow.
  • Change the length unit from km to m for get_bygeom.

Internal Changes

  • The potential_et function uses py3dep.add_elevation function but the CRS info gets lost in the process for the new elevation variable. This version fixes this issue by adding the CRS info to the elevation variable.
  • Change PetParams class from NamedTuple to dataclass for better performance and consistency. Now, it has a new classmethod called fields that returns a list of the four fields of the class.

v0.16.0

04 Jan 00:11

Choose a tag to compare

Release Notes

Breaking Changes

  • Bump min version of shapely to 2.

Internal Changes

  • Use the new py3dep.add_elevation API.