Skip to content

Releases: CSHS-CWRA/RavenPy

v0.19.1

05 Aug 20:38
1dc534c

Choose a tag to compare

Breaking changes

  • scipy is no longer pinned below v1.16.0, as newer statsmodels is now compatible with modern scipy versions. (PR #524)
  • black and isort have been replaced with ruff for code formatting and linting. This change simplifies the development workflow and improves code consistency. (PR #525).

Internal changes

  • Updates the notebooks and re-runs all of them to ensure they are working with latest libraries. (PR #524)
  • Adds a few missing testing data files to the pooch registry.txt file that are necessary for running the notebooks. (PR #524)
  • Slightly adjusted CI workflows for security and behaviour improvements. (PR #524)
  • Obsolete support code for handling older owslib versions has been removed from ravenpy.utilities.geoserver. (PR #525).
  • Code formatting and linting rules have been modified to use the newer ruff configurations. The formatting changes have been effected in the entire codebase. (PR #525).

v0.19.0

16 Jul 14:42
b4c77c2

Choose a tag to compare

New features

  • Added parsers.parse_rv to extract a Command value from an RV file. (PR #503)
  • New module ravenpy.testing has been added to provide utility functions and support for testing and testing data management. (PR #513)

Breaking changes

  • ravenpy now requires pooch>=1.8.0 for downloading and caching remote testing data. (PR #513)
  • ravenpy.utilities.testdata has been refactored to new module ravenpy.testing. The publish_release_notes function is now located in ravenpy.utilities.publishing. (PR #513)
  • The ravenpy.testing.utils module now provides a yangtze() class for fetching and caching the raven-testdata testing data. A convenience function (get_file) replaces the previous get_local_testdata. (PR #513)
  • The ravenpy.testing.utils.open_dataset function no longer supports OPeNDAP URLs or local file paths. Instead, it uses the yangtze() class to fetch datasets from the testing data repository or the local cache. Users should now use xarray.open_dataset() directly for OPeNDAP URLs or local files. (PR #513)

Bug fixes

  • Fixed bug affecting GriddedForcing, where station_idx in the call to nc_specs was set to 1 instead of None. (PR #501)
  • Fixed bug in the run method, where overwrite=False was not being respected. (PR #503)
  • Pin scipy below v1.16.0 due to a breaking change that affects statsmodels below v0.14.4. (PR #521)

Internal changes

  • ravenpy now requires xclim>=0.57.0 and xsdba (v0.4.0+). (PR #511)
  • The tests folder no longer contains an __init__.py file and is no longer treated as a package. pytest fixtures from emulators.py are now directly imported into conftest.py for use in tests, and existing pytest fixtures have been modified to use the new yangtze() class for fetching testing data. (PR #513)

v0.18.2

05 May 19:28
92e79c9

Choose a tag to compare

New features

  • Added RelativeHumidityMethod to RVIs. (PR #490).
  • Add parse methods to LineCommand, SubBasins, HRUs, Reservoir, SubBasinGroup, ChannelProfile. (PR #492).
  • Tweak the GridWeightExtractor to support datasets from the Canadian River and Lake Hydrofabric. Allows setting the routing_id_field to __INDEX__ in order to match HRU IDs. (PR #492).
  • Add support for Recharge process. (PR #492).

v0.18.1

15 Apr 18:09
5086888

Choose a tag to compare

New features

  • ravenpy no longer installs raven-hydro by default. The Raven model executable can now be provided by explicitly setting the RAVENPY_RAVEN_BINARY_PATH environment variable. (PR #486).

Bug fixes

  • Fixed a bug in ravenpy.utilities.regionalization.multiple_linear_regression that was calling a class method incorrectly. (PR #484).

Internal changes

  • pydap has been pinned below v3.5.5 temporarily until xarray offers support for it. (PR #486).
  • More than 7500 DeprecationWarnings emitted during the testing suite have been addressed. Minimum supported pydantic has been raised to v2.11. (PR #487).
  • Regenerated the notebook outputs using newer version of xclim. (PR #484).

v0.18.0

03 Apr 20:46
677c8a1

Choose a tag to compare

New features

  • ravenpy now supports Python3.13. (PR #459)
  • Updated raven-hydro to v0.4.0 (RavenHydroFramework v4.0.1). (PR #459)
  • Updated xclim to v0.54.0, pint to v0.24.4, and numpy to v1.24.0 (no longer pinned below v2.0). (PR #459)
  • ravenpy is now registered with the Open Source Security Foundation (OSSF) Best Practices initiative (RavenPy OpenSSF-BP Status). (PR #464)
  • ravenpy now enables new EvaluationMetrics commands in the model configuration. Other features from RavenHydroFramework will be included in newer releases. (PR #476)

Bug fixes

  • Fix bug in _MonthlyRecord class definition crashing the pydantic-autodoc serialization. (PR #458)
  • Fixed a small API bug in the Comparing_hindcasts_and_ESP_forecasts.ipynb notebook. (PR #463)
  • The Raven model previously always reported version "3.7", regardless of the installed Raven version. It now uses raven-hydro's __raven_version__ attribute. (PR #464)

Internal changes

  • Updated the cookiecutter template to the latest commit: (PR #454)
    • GitHub Actions and Python dependencies have been updated.
    • New pre-commit hooks for vulture (find dead code) and codespell (spelling errors).
    • Removed several type: ignore statements.
    • Spelling errors in documentation have been addressed.
  • GitHub Workflows now test ravenpy using macOS as well as Python3.13. (PR #459)
  • Several small deprecation and usage warnings as well as a few variable typing issues have been addressed. (PR #464)
  • Updated the license to reflect current year. (PR #476)
  • Documentation version now supports showing hyphens in the version number. (PR #476)
  • Call signatures and docstrings of functions have been modified to be more precise for the expected variable type. (PR #476)

v0.17.0

27 Jan 16:09
07fd419

Choose a tag to compare

  • Updated the cookiecutter template to the latest commit and synchronized dependencies between PyPI and Anaconda recipes. (PR #427)
  • Updated ts_fit_graph logic for matplotlib >= 3.10.0 compatibility. (PR #434)
  • Temporarily pinned pygments below v2.19 due to a breaking change affecting sphinx-codeautolink. (PR #434)
  • Adopted a new RavenPy logo for the documentation. (PR #428)
  • Documentation Updates: (PR #436)
    • Cleaner imports, removed some unneeded library imports.
    • Typo and grammar fixes.
    • Updated the Python, Anaconda, and Ubuntu versions used to generate the documentation.
  • Small import fixes and minor code cleanup (ravenpy.extractors). (PR #436)
  • Adjusted pins for intake, intake-esm and zarr to ensure notebooks run correctly. (PR #440)
  • Added a Security Policy (SECURITY.md) to the repository. (PR #441)
  • Updated the cookiecutter template to the latest commit: (PR #444)
    • Workflows now use Checkout with persist-credentials: false.
    • CodeQL workflow has been updated.
    • pre-commit hooks for vulture (finding dead code) and zizmor (finding security vulnerabilities) have been added.

v0.16.1

05 Dec 21:07
4aeba1a

Choose a tag to compare

What's Changed

Full Changelog: v0.16.0...v0.16.1

v0.16.0

18 Oct 15:30
6d8e00a

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.15.0...v0.16.0

v0.15.0

20 Jun 17:39
0dec383

Choose a tag to compare

What's Changed

Full Changelog: v0.14.1...v0.15.0

v0.14.1

07 May 16:52
0676b1c

Choose a tag to compare

What's Changed

Full Changelog: v0.14.0...v0.14.1