Contributors to this version: Trevor James Smith (@Zeitsperre), Pascal Bourgault (@aulemahal), Tom Keel (@Thomasjkeel), Jeremy Fyke (@JeremyFyke), David Huard (@huard), Abel Aoun (@bzah), Juliette Lavoie (@juliettelavoie), Yannick Rousseau (@yrouranos).
Announcements
- Deprecation: Release 0.33.0 of
xclim
will be the last version to explicitly support Python3.7 andxarray<0.21.0
. xclim
now requires yaml files to passyamllint
checks on Pull Requests. (PR/981).xclim
now requires docstrings have valid ReStructuredText formatting to pass basic linting checks. (PR/993). Checks generally require:- Working hyperlinks and reference tags.
- Valid content references (e.g.
:py:func:
). - Valid NumPy-formatted docstrings.
- The
xclim
developer community has now adopted the 'Contributor Covenant' Code of Conduct v2.1 (text <https://www.contributor-covenant.org/version/2/1/code_of_conduct/>
_). (GH/948, PR/996).
New indicators
jetstream_metric_woollings
indicator returns latitude and strength of jet-stream in u-wind field. (GH/923, PR/924).
New features and enhancements
- Features added and modified to allow proper multivariate adjustments. (PR/964).
- Added
xclim.sdba.processing.to_additive_space
andxclim.sdba.processing.from_additive_space
to transform "multiplicative" variables to the additive space. An example of multivariate adjustment using this technique was added to the "Advanced" sdba notebook. xclim.sdba.processing.normalize
now also returns the norm.xclim.sdba.processing.jitter
was created by combining the "under" and "over" methods.xclim.sdba.adjustment.PrincipalComponent
was modified to have a simpler signature. The "full" method for finding the best PC orientation was added. (GH/697).
- Added
- New
xclim.indices.stats.parametric_cdf
function to facilitate the computation of return periods over DataArrays of statistical distribution parameters (GH/876, PR/984). - Add
copy
parameter topercentile_doy
to control if the array input can be dumped after computing percentiles (GH/932, PR/985). - New improved algorithm for
dry_spell_total_length
, performing the temporal indexing at the right moment and with control on the aggregation operator (op
) for determining the dry spells. - Added
properties.py
andmeasures.py
in order to perform diagnostic tests of sdba (GH/424, PR/967). - Update how
percentile_doy
rechunk the input data to preserve the initial chunk size. This should make the computation memory footprint more predictable (GH/932, PR/987).
Breaking changes
- To reduce import complexity,
select_time
has been refactored/moved fromxclim.indices.generic
toxclim.core.calendar
. (GH/949, PR/969). - The stacking dimension of
xclim.sdba.stack_variables
has been renamed to "multivar" to avoid name conflicts with the "variables" property of xarray Datasets. (PR/964). xclim
now requirescf-xarray>=0.6.1
. (GH/923, PR/924).xclim
now requiresstatsmodels
. (GH/424, PR/967).
Internal changes
- Added a CI hook in
.pre-commit-config.yaml
to perform automatedpre-commit
corrections with GitHub CI. (PR/965). - Adjusted CI hooks to fail earlier if
lint
checks fail. (PR/972). TrainAdjust
andAdjust
object have a newskip_input_checks
keyword arg to theirtrain
andadjust
methods. WhenTrue
, all unit-, calendar- and coordinate-related input checks are skipped. This is an ugly solution to disappearing attributes when usingxr.map_blocks
with dask. (PR/964).- Some slow tests were marked
slow
to help speed up the standard test ensemble. (PR/969).- Tox testing ensemble now also reports slowest tests using the
--durations
flag.
- Tox testing ensemble now also reports slowest tests using the
pint
no longer emits warnings about redefined units when thelogging
module is loaded. (GH/990, PR/991).- Added a CI step for cancelling running workflows in pull requests that receive multiple pushes. (PR/988).