Skip to content

v0.42.0

Compare
Choose a tag to compare
@Zeitsperre Zeitsperre released this 03 Apr 22:37
cbb4371

Contributors to this version: Trevor James Smith (@Zeitsperre), Juliette Lavoie (@juliettelavoie), Éric Dupuis (@coxipi), Pascal Bourgault (@aulemahal).

Announcements

  • xclim now supports testing against tagged versions of Ouranosinc/xclim-testdata <https://github.com/Ouranosinc/xclim-testdata>_ in order to support older versions of xclim. For more information, see the Contributing Guide for more details. (PR/1339).
  • xclim v0.42.0 will be the last version to explicitly support Python3.8. (GH/1268, PR/1344).

New features and enhancements

  • Two previously private functions for selecting a day of year in a time series when performing calendar conversions are now exposed. (GH/1305, PR/1317). New functions are:
    • xclim.core.calendar.yearly_interpolated_doy
    • xclim.core.calendar.yearly_random_doy
  • scipy is no longer pinned below v1.9 and lmoments3>=1.0.5 is now a core dependency and installed by default with pip. (GH/1142, PR/1171).
  • Fix bug on number of bins in xclim.sdba.propeties.spatial_correlogram. (PR/1336)
  • Add resample_before_rl argument to control when resampling happens in maximum_consecutive_{frost|frost_free|dry|tx}_days and in heat indices (in _threshold) (GH/1329, PR/1331)
  • Add xclim.ensembles.make_criteria to help create inputs for the ensemble-reduction methods. (GH/1338, PR/1341).

Bug fixes

  • Warnings emitted from regular usage of some indices (snowfall_approximation with method="brown", effective_growing_degree_days) due to successive convert_units_to calls within their logic have been silenced. (PR/1319).
  • Fixed a bug that prevented the use of the sdba_encode_cf option with xarray 2023.3.0 (PR/1333).
  • Fixed bugs in xclim.core.missing and xclim.sdba.base.Grouper when using pandas 2.0. (PR/1344).

Breaking changes

  • The call signatures for xclim.ensembles.create_ensemble and xclim.ensembles._base._ens_align_dataset have been deprecated. Calls to these functions made with the original signature will emit warnings. Changes will become breaking in xclim>=0.43.0.(GH/1305, PR/1317). Affected variable:
    • mf_flag (bool) -> multifile (bool)
  • The indice and indicator for last_spring_frost has been modified to use tasmin by default, reflecting its docstring and literature definition (GH/1324, PR/1325).
  • following indices now accept the op argument for modifying the threshold comparison operator (PR/1325):
    • snw_season_length, snd_season_length, growing_season_length, frost_season_length, frost_free_season_length, rprcptot, daily_pr_intensity
  • In order to support older environments, pandas is now conditionally pinned below v2.0 when installing xclim on systems running Python3.8. (PR/1344).

Bug fixes

  • xclim.indices.run_length.last_run nows works when freq is not None. (GH/1321, PR/1323).

Internal changes

  • Added xclim to the ouranos Zenodo community . (PR/1313).
  • Significant documentation adjustments. (GH/1305, PR/1308):
    • The CONTRIBUTING page has been moved to the top level of the repository.
    • Information concerning the licensing of xclim is clearly indicated in README.
    • sphinx-autodoc-typehints is now used to simplify call signatures generated in documentation.
    • The SDBA module API is now found with the rest of the User API documentation.
    • HISTORY.rst has been renamed CHANGES.rst, to follow dask-like conventions.
    • Hyperlink targets for individual indices and indicators now point to their entries under API or Indices.
    • Module-level docstrings have migrated from the library scripts directly into the documentation RestructuredText files.
    • The documentation now includes a page explaining the reasons for developing xclim and a section briefly detailing similar and related projects.
    • Markdown explanations in some Jupyter Notebooks have been edited for clarity
  • Removed Mapping abstract base class types in call signatures (dict variables were always expected). (PR/1308).
  • Changes in testing setup now prevent test_mean_radiant_temperature from sometimes causing a segmentation fault. (GH/1303, PR/1315).
  • Addressed a formatting bug that caused Indicators with multiple variables returned to not be properly formatted in the documentation. (GH/1305, PR/1317).
  • tox now include sbck and eofs flags for easier testing of dependencies. CI builds now test against sbck-python @ master. (PR/1328).
  • upstream CI tests are now run on push to master, at midnight, and can also be triggered via workflow_dispatch. Failures from upstream build will open issues using xarray-contrib/issue-from-pytest-log. (PR/1327).
  • Warnings from set _version_deprecated within Indicators now emit FutureWarning instead of DeprecationWarning for greater visibility. (PR/1319).
  • The Graphics section of the Usage notebook has been expanded upon while grammar and spelling mistakes within the notebook-generated documentation have been reduced. (GH/1335, PR/1338, suggested from PyOpenSci Software Review).
  • The Contributing guide now lists three separate subsections to help users understand the gains from optional dependencies. (GH/1335, PR/1338, suggested from PyOpenSci Software Review).