Releases: hyriver/pydaymet
Releases · hyriver/pydaymet
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"
v0.12.3
Release Notes
New Features
- Add a new flag to both
get_bycoords
andget_bygeom
functions calledsnow
which separates snow from the precipitation using the Martinez and Gupta (2010) method.
Internal Changes
- Add elevation data when computing PET regardless of the
pet
method. - Match the chunk size of
elevation
with that of the climate data. - Drop
time
dimension fromelevation
,lon
, andlat
variables.
Bug Fixes
- Fix a bug in setting dates for monthly timescales. For monthly timescale Daymet calendar is at 15th or 16th of the month, so input dates need to be adjusted accordingly.
v0.12.2
Release Notes
Internal Changes
- Clean up the PET computation functions' output by removing temporary variables that are created during the computation.
- Add more attributes for
elevation
andpet
variables. - Add type checking with
typeguard
and fixed typing issues raised bytypeguard
. - Refactor
show_versions
to ensure getting correct versions of all dependencies.
v0.12.1
Release Notes
Internal Changes
- Use the three new
ar.retrieve_*
functions instead of the oldar.retrieve
function to improve type hinting and to make the API more consistent.
v0.12.0
Release Notes
New Features
- Expose the
ssl
argument for disabling the SSL certification verification (:issue_day:[41]{.title-ref}). Now, you can passssl=False
to disable the SSL verification in bothget_bygeom
andget_bycoord
functions. Moreover, you can pass--disable_ssl
to PyDaymet's command line interface to disable the SSL verification.
Breaking Changes
- Set the request caching's expiration time to never expire. Add two flags to all functions to control the caching:
expire_after
anddisable_caching
.
Internal Changes
- Add all the missing types so
mypy --strict
passes.
v0.11.4
v0.11.3
Release Notes
Bug Fixes
- There was an issue in the PET computation due to
dayofyear
being added as a new dimention. This version fixes it and even further simplifies the code by usingxarray
'sdt
accessor to gain access to thedayofyear
method.
v0.11.2
Release Notes
New Features
- Add
hargreaves_samani
andpriestley_taylor
methods for computing PET.
Breaking Changes
- Rewrite the command-line interface using
click.group
to improve UX. The command is nowpydaymet [command] [args] [options]
. The two supported commands arecoords
for getting climate data for a dataframe of coordinates andgeometry
for getting gridded climate data for a geo-dataframe. Moreover, Each sub-command now has a separate help message and example. - Deprecate
get_byloc
in favor ofget_bycoords
. - The
pet
argument in bothget_bycoords
andget_bygeom
functions now acceptshargreaves_samani
,penman_monteith
,priestley_taylor
, andNone
.
Internal Changes
- Refactor the
pet
module for reducing duplicate code and improving readability and maintainability. The code is smaller now and the functions for computing physical properties include references to equations from the respective original paper.
v0.11.1
Release Notes
The highligth of this release is a major refactor of Daymet
to allow
for extending PET computation function for using methods other than
FAO-56.
New Features
- Refactor
Daymet
class by removingpet_bycoords
andpet_bygrid
methods and creating a new public function calledpotential_et
. This function computes potential evapotranspiration (PET) and supports both gridded (xarray.Dataset
) and single pixel (pandas.DataFrame
) climate data. The long-term plan is to add support for methods other than FAO 56 for computing PET.