pypi xclim 0.54.0
v0.54.0

one day ago

Contributors to this version: Trevor James Smith (@Zeitsperre), Pascal Bourgault (@aulemahal), Éric Dupuis (@coxipi), Sascha Hofmann (@saschahofmann).

New features and enhancements

  • Python 3.9 coding conventions have been dropped in favour of Python 3.10+ conventions. (PR/1988).
  • xclim.indices.chill_unit now accepts a new argument positive_only to compute the daily positive chill units. (PR/2003).

Breaking changes

  • The minimum required version of dask has been increased to 2024.8.1. (GH/1992, PR/1991).
  • The docstrings of many xclim modules, classes, methods, and functions have been slightly adjusted to ensure stricter compliance with established numpy docstring conventions. (PR/1988).
  • Using different time for ref and hist is now explicitly forbidden in many bias adjustment methods (e.g. EmpiricalQuantileMapping). Methods that combine ref, hist, and sim in the same map_groups also require that time arrays be equal in size. (GH/1903, PR/1995, PR/2013).
  • xclim now uses a src layout for the codebase. Structure-dependent functions, documentation, and build commands have been adapted to reflect these changes. Developers will need to reinstall xclim using pip install -e .. (PR/1971).
  • The call signature of xclim.indices.hot_spell_magnitude originally asked for an op argument that was not used. This argument has been removed. (PR/2018).

Bug fixes

  • Fixed pickling issue with xclim.sdba.Grouper and other classes for usage with dask>=2024.11. (GH/1992, PR/1993).
  • Fixed an issue with nimbus that was causing URL path components to be improperly joined. (PR/1997).
  • base_kws_vars in MBCn is now copied inside the adjust function so that in-place changes do not change the dict globally. (PR/1999).
  • Fixed a bug in the logic of xclim.testing.utils.load_registry that impacted the ability to load a registry.txt from a non-default repository. (PR/2001).

Internal changes

  • Changed French translations with word "pluvieux" to "avec précipitations". (GH/1960, PR/1994).
  • Nan values in OTC and dOTC are only dropped and replaced at the lowest level so that the size of time arrays never changes on xarray levels. (PR/1995, PR/2013)
  • streamflow entry replaced with "q" in variables.yml. (GH/1912, PR/1996).
  • In order to address Error 403 (forbidden) requests when retrieving data from GitHub via ReadTheDocs, the nimbus class has been modified to use an overloaded fetch method that appends a modified User-Agent header to the request. (PR/2001).
  • Addressed a very rare race condition that can happen if pytest is tearing down the test environment when running across multiple workers. (PR/1863).
  • The numpydoc linting tool has been added to the development dependencies, linting checks, and the pre-commit configuration. (PR/1988).
  • Added a more robust yamllint configuration to ensure that all YAML files are linted consistently. (PR/1971).
  • Addressed a very rare singular matrix error that can happen in test_loess_smoothing_nan. (PR/2015).
  • Addressed a handful of typing and call signature issues in the xclim codebase. (PR/2018).

CI changes

  • Added the green-coding-solutions/eco-ci-energy-estimation GitHub Action to the workflows to establish energy and carbon usage of CI activity. (PR/1863).
  • Various workflow security fixes: (PR/2023)
    • Simplified the bump-version.yml version string parsing to harden against template injection.
    • Further de-escalated privileges for most workflows.

Don't miss a new xclim release

NewReleases is sending notifications on new releases.