Contributors to this version: Trevor James Smith (@Zeitsperre), Ludwig Lierhammer (@ludwiglierhammer), Pascal Bourgault (@aulemahal), Juliette Lavoie (@juliettelavoie), Alexis Beaupré (@Beauprel), Éric Dupuis (@coxipi).
Announcements
xclim
has passed the peer-review process and been officially accepted as a project associated with both pyOpenSci and PANGEO. Additionally,xclim
has been accepted to be published in the Journal of Open Source Software. Our review process can be consulted here: PyOpenSci Software Review. (PR/1350).
New features and enhancements
- New
xclim.sdba
measurexclim.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 withresample
,xarray
v2023.04.0 now returnsNaN
, whereas earlier versions returned0
. This brokefraction_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. Thexclim.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
andshortwave_upwelling_radiation_from_net_downwelling
) were hard-coded to redefine output units asW 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 withinxclim.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, thetests
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 withinxclim.testing.tests
have been refactored as follows:xclim.testing.tests.data
→xclim.testing.helpers
xclim.testing.tests.test_sdba.utils
→xclim.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 ofSBCK
, 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 betweenxclim
and testing data. (PR/1367, xclim-testdata discussion). flake8
,pycodestyle
, andpydocstyle
checks have been significantly changed in order to clean up the code base of redundant# noqa
markers. Linting checks for Makefile andtox
recipes have been synchronized as well. (PR/1369).flake8
pluginflake8-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).