Skip to content

Releases: roocs/clisops

v0.10.0

28 Jun 14:43
Compare
Choose a tag to compare

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 and core.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

05 Apr 14:18
Compare
Choose a tag to compare

Bug Fixes

  • Fixed an issue with the pytest fixtures that was needlessly calling load_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), and xesmf (>=0.6.3) to use more modern versions (#278).

v0.9.5

02 Feb 19:17
464faab
Compare
Choose a tag to compare

Bug Fixes

  • Fixed core.subset.check_levels_exist decorator by rounding (precision 4) level values like 1000.00000001 (#265).

v0.9.4

14 Dec 08:51
de32ec0
Compare
Choose a tag to compare

Bug Fixes:

  • Fixed core.subset_bbox when using level_values (#263).
  • Fixed core.subset_level_by_values using xarray method nearest (#262).
  • Updated a test expectation to support newer xarray behaviour (#259).

v0.9.3

30 Sep 18:54
7697480
Compare
Choose a tag to compare

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 latest xarray available. (#251).

v0.9.2

06 Sep 16:56
7659c8b
Compare
Choose a tag to compare

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

  • Docstrings and documentation configuration adjustments have been made to ensure that builds are adequately tested (#232, #235).

v0.9.1

11 May 21:44
Compare
Choose a tag to compare

Bug fixes:

  • Fix inconsistent bounds in metadata after subset operation (#224).

Other Changes:

  • Use roocs-utils 0.6.2 to avoid test failure (#226).
  • Removed unneeded testing dep from environment.yml (#223).
  • Merged pre-commit autoupdate (#227).

v0.9.0

13 Apr 19:12
Compare
Choose a tag to compare

New Features:

  • clisops.ops.average.average_time and clisops.core.average.average_time added (#211). Allowing averaging over time frequencies of day, month and year.

  • New function create_time_bounds in clisops.utils.time_utils, to generate time bounds for temporally averaged datasets.

  • clisops now uses the loguru <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, with pytest-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

13 Jan 10:21
Compare
Choose a tag to compare

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 and create_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 to clisops.core.average.average_shape is now deprecated. Averaging requires grid cell boundaries, which are not DataArray coordinates, but independent Dataset variables. Please pass Dataset 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 by unary_union to anticipate a shapely deprecation.

v0.7.0

26 Oct 14:18
Compare
Choose a tag to compare

v0.7.0 (2021-10-26)

Breaking Changes

  • time input for time in ops.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 for level in ops.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 and level_values arguments added to core.subset.subset_bbox which allows the user to provide a list of time/level values to select.
  • subset_time_by_values and subset_level_by_values added to core.subset.subset_bbox. These allow subsetting on sequence of datetimes or levels.
  • subset_time_by_components added to core.subset.subset_bbox. This allows subsetting by time components - year, month, day etc.
  • check_levels_exist and check_datetimes_exist function checkers added in core.subset to check requested levels and datetimes exist. An exception is raised if they do not exist in the dataset.
  • time_components argument added to ops.subset to allowing subsetting by time components such as year, month, day etc.

Other Changes

  • Python 3.6 no longer tested in GitHub actions.