Releases: roocs/clisops
Releases · roocs/clisops
v0.10.0
New Features
- Added support for Python 3.11 (#287).
Bug Fixes
- Fixed bug in
core.subset.shape_bbox_indexer
with the union of invalid geometries. Added regression test. (#280) - Added support in
core.subset.shape_bbox_indexer
for Point and MultiPoint geometries. (#283) - Fixed
core.subset.subset_bbox
andcore.subset.subset_shape
for datasets with 1D longitude and latitude (ex: Station data). (#288)
Other Changes
- Shapely 2.0 is now faster than pygeos for
create_mask
. Removed pygeos from extra dependencies and pinned shapely above 2.0. (#289)
v0.9.6
Bug Fixes
- Fixed an issue with the
pytest
fixtures that was needlessly callingload_esgf_test_data
multiple times while tests were running (#278). - Corrected a temporary workaround for updating split geometries that was causing issues with modern
pandas
versions (#278).
Other Changes
- Removed some obsolete tests and adjusted pytest to always report in colour (#272).
- Split conda CI builds to explicitly test against xarray/stable and xarray/dev (#272).
- GitHub CI now reports coverage statistics to Coveralls.io (#276).
- Updated
geopandas
(>=0.11),pyproj
(>=3.3.0),shapely
(>=1.9),tox
(>=4.0),xarray
(>=0.21), andxesmf
(>=0.6.3) to use more modern versions (#278).
v0.9.5
v0.9.4
v0.9.3
Bug Fixes
- Fixed a bug associated with the new xarray (2022.6.0+) accessor for native indexers that was introduced in (#241). (#250, #251).
Other Changes
- Fixed a handful of static type hints that were sending out warnings, despite proper use. (#251).
- Replaced all skipped doctests with sphinx-compatible python code blocks to prevent errors in downstream projects. (#251).
- Adjusted GitHub Actions builds to ensure that the
conda-xesmf
run uses the latestxarray
available. (#251).
v0.9.2
Breaking Changes
- Support has been dropped for Python3.7 and extended to Python3.10. Python3.7 is no longer tested in GitHub actions (#234).
packaging
has been added as a dependency (#241).
Bug Fixes
- Adapted
clisops.core.subset_bbox_indexer
to the newest indexing API changes in xarray, with backwards compatibility (#241).
Other Changes
v0.9.1
v0.9.0
New Features:
-
clisops.ops.average.average_time
andclisops.core.average.average_time
added (#211). Allowing averaging over time frequencies of day, month and year. -
New function
create_time_bounds
inclisops.utils.time_utils
, to generate time bounds for temporally averaged datasets. -
clisops
now uses theloguru <https://loguru.readthedocs.io/en/stable/index.html>
_ library as its primary logging engine (#216).
Other Changes:
- Pandas now pinned below version 1.4.0.
- Pre-commit configuration updated with code style conventions (black, pyupgrade) set to Python3.7+ (#219).
loguru
is now an install dependency, withpytest-loguru
as a development-only dependency.- Added function to convert the longitude axis between different longitude frames (eg. [-180, 180] and [0, 360]) (#217, #218).
v0.8.0
v0.8.0 (2022-01-13)
New Features
clisops.core.average.average_shape
copies the global and variable attributes from the input data to the results.
Bug fixes
average_shape
andcreate_weight_masks
were adapted to work with xESMF 0.6.2, while maintaining compatibility with earlier versions.- Fix added to remove
_FillValue
added to coordinate variables and bounds by xarray when outputting to netCDF.
Other Changes
- Passing
DataArray
objects toclisops.core.average.average_shape
is now deprecated. Averaging requires grid cell boundaries, which are notDataArray
coordinates, but independentDataset
variables. Please passDataset
objects and an optional list of variables to average. average_shape
performs an initial subset over the averaging region, before computing the weights, to reduce memory usage.- Minimum xesmf version set to 0.6.2.
- Minimum pygeos version set to 0.9.
- Replace
cascaded_union
byunary_union
to anticipate ashapely
deprecation.
v0.7.0
v0.7.0 (2021-10-26)
Breaking Changes
time
input fortime
inops.subset.subset
but now be one of [<class 'roocs_utils.parameter.param_utils.Interval'>, <class 'roocs_utils.parameter.param_utils.Series'>, <class 'NoneType'>, <class 'str'>].level
input forlevel
inops.subset.subset
but now be one of [<class 'roocs_utils.parameter.param_utils.Interval'>, <class 'roocs_utils.parameter.param_utils.Series'>, <class 'NoneType'>, <class 'str'>].roocs-utils
>= 0.5.0 required.
New Features
time_values
andlevel_values
arguments added tocore.subset.subset_bbox
which allows the user to provide a list of time/level values to select.subset_time_by_values
andsubset_level_by_values
added tocore.subset.subset_bbox
. These allow subsetting on sequence of datetimes or levels.subset_time_by_components
added tocore.subset.subset_bbox
. This allows subsetting by time components - year, month, day etc.check_levels_exist
andcheck_datetimes_exist
function checkers added incore.subset
to check requested levels and datetimes exist. An exception is raised if they do not exist in the dataset.time_components
argument added toops.subset
to allowing subsetting by time components such as year, month, day etc.
Other Changes
- Python 3.6 no longer tested in GitHub actions.