Skip to content

Releases: cerfacs-globc/icclim

7.1.1

22 Jun 13:59
7cfc537

Choose a tag to compare

7.1.1

Fixes

  • Fix inflated seasonal totals in icclim.sum(...) when converting filtered daily rate data such as precipitation in mm/day to amounts.
  • Seasonal selections like MAM no longer integrate across inter-season gaps, so reproduced cases such as 4228.6 now correctly return 310.4.

Improvements

  • Add a faster daily-source conversion path for seasonal rate-to-amount handling.
  • Add generalized reference-verification scripts and regression tests for seasonal precipitation and non-precipitation cases.
  • Add a developer protocol for broader Climpact/manual comparisons.

Notes

  • A separate metadata ambiguity remains possible when a variable name conflicts with CF metadata, such as RH being used for precipitation. That did not cause the numeric bug fixed in this release.

7.1.0

17 Mar 06:56
4ff4d31

Choose a tag to compare

icclim v7.1.0

This release includes major refactoring for Ruff compliance, architectural modularization, and CI robustness improvements.

Highlights

  • Major Ruff Refactoring: Full compliance across core library, tests, and notebooks.
  • CI Robustness: Restructured workflows to prevent automated commit conflicts on feature branches.
  • Architectural Modularity: Refactored icclim.main.index into a modular helper system.
  • Modernization: Dropped Python 3.9 support; now requiring Python 3.10+.
  • API Stability: Verified backward compatibility for critical parameters like ignore_Feb29th.

See Release Notes for the full list of changes.

7.0.5

03 Mar 10:45

Choose a tag to compare

icclim v7.0.5

Key Changes

  • Drop Python 3.9 Support: Updated to require Python 3.10+ (CI/CD now runs on Python 3.11).
  • Relaxed Dependency Constraints: Updated pyproject.toml (e.g., numpy>=1.21, xarray>=2022.6.0, xclim>=0.45.0) for better compatibility with modern environments.
  • Ruff Compliance: Refined API extraction tool to ensure 100% Ruff compliance in all generated code.
  • CI/CD Modernization: Standardized all workflows and pre-commit hooks on Python 3.11.
  • Bug Fixes: Fixed several linting and formatting issues across core modules and documentation.

7.0.4

08 Oct 12:06

Choose a tag to compare

What's Changed

  • [maint] Relaxed pins of dependencies to remove upper bounds.
  • [maint] Some fixes to tests.

7.0.3

24 Sep 21:58

Choose a tag to compare

What's Changed

  • [maint] Bumped all dependency packages according to latest xclim.
    Fixed the code to deal with breaking changes in xarray, pint, xclim.

Full Changelog: v7.0.0...v7.0.3

7.0.0

30 Apr 14:30
f970729

Choose a tag to compare

What's Changed

date: 2024-03

Breaking Changes Summary

  • New package architecture.
  • New toolchain with flit and ruff.
  • clt standard variable uint changed.
  • clone method added to Indicators.

Changes Details

  • [maint] BREAKING CHANGE
    Created a _core package which should not be used outside icclim source.
    Its content may change without deprecation warnings.

  • [enh] Added DCSC indices under icclim.dcsc namespace.

  • [doc] Adapt Christian's notebooks from ISENES and add them as
    tutorials in our documentation.

  • [doc] Add nbshpinx extension to render jupyter notebooks in
    the online documentation.

  • [maint] Migrate from [black, blackdoc, flake8, isort, pyupgrade,
    pydocstyle] to ruff

  • [maint] Migrate from setup.py to pyproject.toml

  • [maint] Make readthedocs build fail when there are warnings

  • [maint] Fix warnings in doc build

  • [maint] BREAKING CHANGE
    Update architecture to have a src/ and a tests/ directory at root level

  • [maint] BREAKING CHANGE
    Migrate build toolchain from setuptools to flit

  • [maint] Remove version number from constants module as it was
    causing the build process to import icclim. The version number is now
    statically set in src/icclim/init.py

  • [fix] Force xarray to read dataset sequentially to avoid a netcdf-c
    threading issue causing seg faults.

  • [enh] Add publish-to-pypi.yml github action to automatically build
    and publish icclim to pypi. This action is triggered by a github
    release being published. This action requires a manual approval on
    github.

  • [enh] Add the following ECAD indices: PP (average of pressure),
    SS (sum of sunshine) and RH (average of humidity).

  • [fix] BREAKING CHANGE
    the default unit of clt standard variable is now % as expected
    (was a wind strenght unit).

  • [maint] BREAKING CHANGE
    Rework architecture to have a _core private package
    containing the core logic of icclim. Idea taken from numpy 2.0.

  • [doc] Add docstring to almost all functions, classes and modules.
    This has been done to improve the generated documentation.
    co-authored: Github's copilot.

  • [maint] Add missing type hints.

  • [doc] Make use of readthedocs' autoapi library to generate the API
    documentation.

  • [maint] Improve maintainability of tools/extract-icclim-funs.py to
    ease adding new registries (still not perfect).

  • [fix] Add clone method to Indicators to avoid modifying the original instance
    when setting templating metadata.

Full Changelog: v6.5.0...v7.0.0

v6.5.0

20 Dec 09:06
404f8fe

Choose a tag to compare

Breaking changes

  • Pin xclim between 0.45 and 0.47
  • [#281] Adapt icclim to xclim 0.45 by updating excess and deficit generic functions
  • Drop support for python 3.8

Fixes

  • [#273] Avoid resampling to compute time_bounds on SPI3 and SPI6 indices
  • [#256] Fix unit conversion issue for fraction_of_total generic indices (used by RxxpTOT family of indices)

v6.4.0

16 May 06:14
f68ad3c

Choose a tag to compare

Minor release to support latest xclim version (0.43.x).

v6.3.0

25 Apr 16:02
3e36aeb

Choose a tag to compare

BREAKING CHANGES

  • [fix] The indicators based on the difference between two variables (ecad: DTR, ETR, vDTR and anomaly) gave wrong values due to a bad unit conversion of the output. This was for example the case when the input variables are in Kelvin, the difference between the two variables is still in Kelvin but it cannot be converted to degree Celsius with the ususal +273.15. To workaround this issue, we first convert inputs to the expected output unit and then we compute the index.
  • [fix] Indices based on both a percentile threshold and a threshold_min_value (for ecad: r75p, r75pTOT, r95p, r95pTOT, r99p, r99pTOT) are now computing the exceedance rate on values above threshold_min_value as well. Previously this threshold_min_value was used to compute the percentile and the total (for rxxpTOT indices) but not the exceedance rate.
  • [maint] The only compatible version of icclim 6.3.0 is xclim 0.42

6.2.0

15 Feb 17:01
b93c8b1

Choose a tag to compare

Maintenance release to update icclim according to latest changes on xclim 0.40:

  • Moved PercentileDataArray from xclim to icclim.
  • Adapted the unit conversion to use the hydro context.