Skip to content

Releases: CSHS-CWRA/RavenPy

v0.13.1

07 May 20:47

Choose a tag to compare

This is a patch update of v0.13.0 containing a backport of the following changes in order to provide stability for PAVICS users:

v0.14.0

13 Mar 15:34
e90251e

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.13...v0.14.0

v0.13

10 Jan 21:50
89c356c

Choose a tag to compare

What's Changed

Full Changelog: v0.12.3...v0.13

v0.12.3

02 Oct 20:29
2223ab9

Choose a tag to compare

What's Changed

Full Changelog: v0.12.2...v0.12.3

v0.12.2

04 Jul 21:37
3ba14b0

Choose a tag to compare

What's Changed

Full Changelog: v0.12.1...v0.12.2

v0.12.1

01 Jun 18:21
14aedc8

Choose a tag to compare

What's Changed

  • Update publishing workflows to reflect new structure by @Zeitsperre in #286
  • Documentation adjustments by @Zeitsperre in #287
  • Store Dataset in OutputReader class to avoid calling open_dataset repeatedly by @huard in #289

Full Changelog: v0.12.0...v0.12.1

v0.12.0

26 May 01:37
5388c66

Choose a tag to compare

What's Changed

This release includes major breaking changes. It completely overhauls how models are defined, and how to run
simulations. Code relying on the previous release will most likely break. Please check the documentation
to see how to use the new improved interface.

New Contributors

Full Changelog: v0.11.0...v0.12.0

v0.11.0

16 Feb 15:08

Choose a tag to compare

What's Changed

Full Changelog: v0.10.0...v0.11.0

v0.10.0

21 Dec 19:00

Choose a tag to compare

What's Changed

Full Changelog: v0.9.0...v0.10.0

v0.9.0

16 Nov 19:18
06a1a40

Choose a tag to compare

Breaking changes

  • HRUState's signature has changed. Instead of passing variables as keyword arguments (e.g. soil0=10.), it now expects a state dictionary keyed by variables' Raven name (e.g. {"SOIL[0]": 10}). This change makes rvc` files easier to read, and avoids Raven warnings regarding 'initial conditions for state variables not in model'.
  • nc_index renamed to meteo_idx to enable the specification of distinct indices for observed streamflow using hydro_idx. nc_index remains supported for backward compatibility.
  • The distributed python testing library, pytest-xdist is now a testing and development requirement.
  • xarray has been pinned below "2022.11.0" due to incompatibility with climpred=="2.2.0".

New features

  • Add support for hydrometric gauge data distinct from meteorological input data. Configuration parameter hydro_idx identifies the gauge station index, while meteo_idx (previously nc_index) stands for the meteo station index.
  • Add support for multiple gauge observations. If a list of hydro_idx is provided, it must be accompanied with a list of corresponding subbasin identifiers (gauged_sb_ids) of the same length.
  • Automatically infer scale and offset :LinearTransform parameters from netCDF file metadata, so that input data units are automatically converted to Raven-compliant units whenever possible.
  • Add support for the command :RedirectToFile. Tested for grid weights only.
  • Add support for the command :WriteForcingFunctions.
  • Add support for the command :CustomOutput.
  • Multiple other new RavenCommand objects added, but not integrated in the configuration, including :SoilParameterList, :VegetationParameterList and :LandUseParameterList.
  • Multichoice options (e.g. calendars) moved from RV classes to config.options, but aliases created for backward compatibility.
  • Patch directory traversal vulnerability (CVE-2007-4559 <https://github.com/advisories/GHSA-gw9q-c7gh-j9vm>_).
  • A local copy of the raven-testdata with environment variable (RAVENPY_TESTDATA_PATH) set to that location is now no longer needed in order to run the testing suite. Test data is fetched automatically and now stored at ~/.raven_testing_data.
  • RavenPy now leverages pytest-xdist to distribute tests among Python workers and significantly speed up the testing suite, depending on number of available CPUs. File access within the testing suite has also been completely rewritten for thread safety.
    • On pytest launch with "--numprocesses > 0", testing data will be fetched automatically from Ouranosinc/raven-testdata by one worker, blocking others until this step is complete. Spawned pytest workers will then copy the testing data to their respective temporary directories before beginning testing.
  • To aid with development and debugging purposes, two new environment variables and pytest fixtures are now available:
    • In order to skip the data collection step: export SKIP_TEST_DATA=true
    • In order to target a specific branch of Ouranosinc/raven-testdata for data retrieval: export MAIN_TESTDATA_BRANCH="my_branch"
    • In order to fetch testing data using the user-set raven-testdata branch, pytest fixtures for get_file and get_local_testdata are now available for convenience