Skip to content

v0.43.0

Compare
Choose a tag to compare
@Zeitsperre Zeitsperre released this 09 May 19:46
39efa10

Contributors to this version: Trevor James Smith (@Zeitsperre), Ludwig Lierhammer (@ludwiglierhammer), Pascal Bourgault (@aulemahal), Juliette Lavoie (@juliettelavoie), Alexis Beaupré (@Beauprel), Éric Dupuis (@coxipi).

Announcements

New features and enhancements

  • New xclim.sdba measure xclim.sdba.measures.taylordiagram. (PR/1360).

New indicators

  • ensembles.change_significance now supports the Brown-Forsythe test. (PR/1292).

Bug fixes

  • Fixed a bug in the pyproject.toml configuration that excluded the changelog (CHANGES.rst) from the packaged source distribution. (PR/1349).
  • When summing an all-NaN period with resample, xarray v2023.04.0 now returns NaN, whereas earlier versions returned 0. This broke fraction_over_precip_thresh, but is now fixed. (PR/1354, GH/1337).
  • In xclim.sdba's Quantile Delta Mapping algorithm, the quantiles of the simulation to adjust were computed slightly differently than when creating the adjustment factor. The xclim.sdba.utils.rank function has been fixed to return "percentage-ranks" (quantiles) in the proper range. (GH/1334, PR/1355).
  • The radiation converters (longwave_upwelling_radiation_from_net_downwelling and shortwave_upwelling_radiation_from_net_downwelling) were hard-coded to redefine output units as W m-2, regardless of input units, so long as unit dimensions checks cleared. Units are now set directly from inputs. (GH/1365, PR/1366).

Breaking changes

  • Many previously deprecated indices and indicators have been removed from xclim (PR/1318), with replacement indicators suggested as follows:
    • xclim.indicators.atmos.first_day_above -> xclim.indicators.atmos.first_day_{tn | tg | tx}_above
    • xclim.indicators.atmos.first_day_below -> xclim.indicators.atmos.first_day_{tn | tg | tx}_below
    • xclim.indicators.land.continuous_snow_cover_end -> xclim.indicators.land.snd_season_end
    • xclim.indicators.land.continuous_snow_cover_start -> xclim.indicators.land.snd_season_start
    • xclim.indicators.land.fit -> xclim.indicators.generic.fit
    • xclim.indicators.land.frequency_analysis -> xclim.indicators.generic.return_level
    • xclim.indicators.land.snow_cover_duration -> xclim.indicators.land.snd_season_length
    • xclim.indicators.land.stats -> xclim.indicators.generic.stats
    • xclim.indices.continuous_snow_cover_end -> xclim.indices.snd_season_end
    • xclim.indices.continuous_snow_cover_start -> xclim.indices.snd_season_start
    • xclim.indices.snow_cover_duration -> xclim.indices.snd_season_length
  • Several _private functions within xclim.indices.fire._cffwis that had been exposed publicly have now been rendered as hidden functions. Affected functions are: _day_length, _day_length_factor, _drought_code, _duff_moisture_code, _fine_fuel_moisture_code, _overwintering_drought_code. (PR/1159, PR/1369).

Internal changes

  • The testing suite has been adjusted to ensure calls are made to existing functions using non-deprecated syntax. The volume of warnings emitted during testing has been significantly reduced. (PR/1318).
  • In order to follow best practices and reduce the installed size of the xclim wheel, the tests folder containing the testing suite has been split from the package and placed in the top-level of the code repository. (GH/1348, PR/1349, suggested from PyOpenSci Software Review). Submodules that were previously called within xclim.testing.tests have been refactored as follows:
    • xclim.testing.tests.dataxclim.testing.helpers
    • xclim.testing.tests.test_sdba.utilsxclim.testing.sdba_utils
  • Added a "Conventions" section to the README. (GH/1342, PR/1351).
  • New helper function xclim.testing.helpers.test_timeseries for generating timeseries objects with specified variable names and units. (PR/1356).
  • tox recipes and documentation now refer to the official build of SBCK, available on PyPI. (GH/1362, PR/1364).
  • Excluded some URLs from sphinx linkcheck that were causing issues on ReadTheDocs. (PR/1364).
  • Tagged versions of xclim-testdata now follow a calendar-based versioning scheme for easier determination of compatibility between xclim and testing data. (PR/1367, xclim-testdata discussion).
  • flake8, pycodestyle, and pydocstyle checks have been significantly changed in order to clean up the code base of redundant # noqa markers. Linting checks for Makefile and tox recipes have been synchronized as well. (PR/1369).
  • flake8 plugin flake8-alphabetize has been added to development recipes in order to check order of __all__ entries and Exceptions. (PR/1369).
  • Corrected translations of cold_spell_{frequency | days} (PR/1372).