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 ofOuranosinc/xclim-testdata <https://github.com/Ouranosinc/xclim-testdata>
_ in order to support older versions ofxclim
. 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 andlmoments3>=1.0.5
is now a core dependency and installed by default withpip
. (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 inmaximum_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
withmethod="brown"
,effective_growing_degree_days
) due to successiveconvert_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
andxclim.sdba.base.Grouper
when using pandas 2.0. (PR/1344).
Breaking changes
- The call signatures for
xclim.ensembles.create_ensemble
andxclim.ensembles._base._ens_align_dataset
have been deprecated. Calls to these functions made with the original signature will emit warnings. Changes will become breaking inxclim>=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 usetasmin
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 installingxclim
on systems running Python3.8. (PR/1344).
Bug fixes
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 renamedCHANGES.rst
, to followdask
-like conventions.- Hyperlink targets for individual
indices
andindicators
now point to their entries underAPI
orIndices
. - 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 includesbck
andeofs
flags for easier testing of dependencies. CI builds now test againstsbck-python
@ master. (PR/1328).upstream
CI tests are now run on push to master, at midnight, and can also be triggered viaworkflow_dispatch
. Failures from upstream build will open issues usingxarray-contrib/issue-from-pytest-log
. (PR/1327).- Warnings from set
_version_deprecated
within Indicators now emitFutureWarning
instead ofDeprecationWarning
for greater visibility. (PR/1319). - The
Graphics
section of theUsage
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).