Releases: hyriver/pydaymet
Releases · hyriver/pydaymet
v0.13.12
Release Notes
Internal Changes
- 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
New Features
- Refactor the
show_versions
function to improve performance and print the output in a nicer table-like format.
Bug Fixes
- Fix a bug in
get_bygeom
where for small requests that lead to a single download URL, the function failed.
Internal Changes
- Skip 0.13.9 version so the minor version of all HyRiver packages become the same.
v0.13.8
Release Notes
Internal Changes
- More robust handling of getting large gridded data. Instead of caching the requests/ responses, directly store the responses as NetCDF files to a cache folder using
pygeoogc.streaming_download
and ultimately read them usingxarray.open_mfdataset
. This should make thebygeom
function even faster than before and also make it possible to make large requests without having to worry about running out of memory (:issue_day:[59]{.title-ref}). - Modify the codebase based on Refurb suggestions.
v0.13.7
Release Notes
Since the release of Daymet v4 R1 on November 2022, the URL of Daymet's server has been changed. Therefore, only the latest version of PyDaymet (v0.13.7) is going to work, and previous versions will not work anymore.
New Features
- Add support for passing a list of coordinates to the
get_bycoords
function. Also, optionally, you can pass a list of IDs for the input coordinates that will be used askeys
for the returnedpandas.DataFrame
or a dimension calledid
in the returnedxarray.Dataset
ifto_xarray
is enabled. - Add a new argument called
to_xarray
to theget_bycoords
function for returning the results as axarray.Dataset
instead of apandas.DataFrame
. When set toTrue
, the returnedxarray.Dataset
will have three attributes calledunits
,description
, andlong_name
. - The
date
argument of bothget_bycoords
andby_geom
functions now acceptsrange
-type objects for passing years, e.g.,range(2000-2005)
.
import pydaymet as daymet
coords = [(-94.986, 29.973), (-95.478, 30.134)]
idx = ["P1", "P2"]
clm = daymet.get_bycoords(coords, range(2000, 2021), coords_id=idx, to_xarray=True)
Internal Changes
- Use
pyupgrade
package to update the type hinting annotations to Python 3.10 style. - Fix the Daymet server URL.
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.
Internal Changes
- Bump the minimum versions of
pygeoogc
,pygeoutils
,py3dep
to 0.13.5 and that ofasync-retriever
to 0.3.5.
v0.13.3
Release Notes
Bug Fixes
- Fix a bug in
PETGridded
where the wrong data type was being set forpet
andelevation
variables. - When initializing
PETGridded
, only chunk the elevation if the input climate data is chunked.
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
- Use micromamba for running tests and use nox for linting in CI.
v0.13.1
Release Notes
New Features
- Adopt the default snow parameters' values from a new source https://doi.org/10.5194/gmd-11-1077-2018 and add the citation.
Bug Fixes
v0.13.0
Release Notes
Breaking Changes
-
Remove caching-related arguments from all functions since now they can be set globally via three environmental variables:
HYRIVER_CACHE_NAME
: Path to the caching SQLite database.HYRIVER_CACHE_EXPIRE
: Expiration time for cached requests in seconds.HYRIVER_CACHE_DISABLE
: Disable reading/writing from/to the cache file.
You can do this like so:
import os
os.environ["HYRIVER_CACHE_NAME"] = "path/to/file.sqlite"
os.environ["HYRIVER_CACHE_EXPIRE"] = "3600"
os.environ["HYRIVER_CACHE_DISABLE"] = "true"