Skip to content

v0.6.0

Choose a tag to compare

@Zeitsperre Zeitsperre released this 11 Feb 18:59
· 254 commits to main since this release
v0.6.0
bb6e545

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

Changes

  • numpy >=1.26 and numba >=0.58.1 are now required. (PR/231).
  • xsdba now officially supports Python 3.14 and pandas >=3.0. (GH/251, :PR/252).

Fixes

  • xsdba.adjustment.ExtremeValues now throws an error with a clear message when the clustered precipitation exceed 1-q_thresh.
    This happens when cluster_thresh is too small (still in the bulk of the distribution). (GH/177, PR/184).
  • xsdba.properties.spectral_variance now works with a delta that is not None. (PR/217).
  • xsdba.loess.loess_smoothing fixed for cases when the input has many zeros. (GH/100, PR/208).
  • Fixed an issue with attribute fields added to normalized arrays under newer xarray versions. (PR/223).
  • xsdba.processing.spectral_filter now works with a lambda_long and lambda_short that are not None. (PR/220).
  • Prepend history of operations within dataset attributes instead of appending them. (PR/238).
  • xsdba._processing._adapt_freq now avoids inserting nans. This was solved using (dP0 <= 0)| (dP0.isnull()) and not dP0 < 0 as a condition. (PR/239, GH/248, PR/249).
  • xsdba.properties.decorrelation_length now handles all-nan slices correctly. (GH/255, PR/256).

Internal changes

  • Removed the benchmark.ipynb notebook from the documentation as it was specifically written for benchmarking purposes. (GH/167, PR/206).
  • Removed the API references to ensure that the documentation favours the user guide for learning how to use xsdba and the module index for finding specific functions/classes. (GH/63, PR/206)
  • Adjusted docstrings to allow flake8 violations (RST210 and RST213; \*\* and \* syntax) in docstrings and pylint exceptions for titles with underbars. (GH/167, PR/206)
  • Updated the cookiecutter template to use the latest version of cookiecutter-pypackage. (PR/205):
    • Added a CITATION.cff file for better citation metadata.
    • Replace black, blackdocs and isort pre-commit hooks with ruff.
    • Updated Contributor Covenant Agreement to v3.0.
    • Various updates to CI dependencies and configurations.
  • The minimum supported pytest is now v9.0 and above. pytest conventions and configurations have been updated to use the new TOML format. (PR/231).
  • Many DeprecationWarning API changes from dependencies have been addressed. (PR/250):
    • Replaced xarray.cftime_range with xarray.date_range(..., use_cftime=True).
    • Import check for numpy.trapezoid (replacement of numpy.trapz).
    • Refactored grouped_time_indexes to use GroupBy.map instead of GroupBy.apply.