Recent Releases of RavenPy
RavenPy - v0.20.0
New features
- Updated
raven-hydroto v0.5.0 (RavenHydroFrameworkv4.1.0). (PR #560) ravenpynow officially supports Python 3.14. (PR #577)
Fixes
- Fix
Reservoircommand parser failing when optional fields were missing. (PR #544) - Add
GaugedSubBasinGroupcommand toRVHclass. (Issue #546, PR #547) - In
nc_specs, setdim_names_ncin the order expected by Raven (x, y, t). Previously, we only made sure thattimewas the last dimension, but did not ensure x and y were in the right order. (PR #533) - Adjusted the
Perform_a_climate_change_impact_study_on_a_watershed.ipynbnotebook to reduce the number of years in the simulation to speed up execution time. (PR #535) - Adjusted a broken test that was overlooked in the previous release (from changes in PR #513). (PR #535)
- Adapted code base to the
pandasv3.0 API. (Issue #570, PR #572) - Addressed a small
pydanticv2.12 deprecation. (PR #577) - Include NetCDFAttribute alias in emulated models. Include dict update logic higher up in the chain rather than only through the emulators
field_validator. (PR #580)
Internal changes
- Updated the cookiecutter template to the latest version (PR #548):
- Updated the Contributor Covenant Agreement to v3.0.
- Added a
CITATION.cfffile. - Removed
black,blackdoc, andisort, as well as their configurations. - Updated
pyproject.tomlto be PEP 639-compliant.
- Pinned
pydanticbelow v2.12 due to breaking changes in their API. (PR #548)- Unpinned
pydanticas newer 2.12 patch releases appear to have addressed regressions. (PR #559)
- Unpinned
- Pinned
pydap>=3.5.6 andh5netcdf>=1.5.0 to ensure modern versions with betterxarraysupport are installed by default. (PR #559) - Updated the cookiecutter template to the latest version (PR #569):
- Added a workflow for automatically accepting and merging periodic updates from Dependabot affecting CI dependencies.
- Added a
pytestfixture to perform a teardown of changes performed within the installedravenpysource location. (PR #572)
Hydrosphere - Freshwater and Hydrology
- Python
Published by github-actions[bot] 4 months ago
RavenPy - v0.19.1
Breaking changes
scipyis no longer pinned below v1.16.0, as newerstatsmodelsis now compatible with modernscipyversions. (PR #524)blackandisorthave been replaced withrufffor 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
poochregistry.txtfile 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
owslibversions has been removed fromravenpy.utilities.geoserver. (PR #525). - Code formatting and linting rules have been modified to use the newer
ruffconfigurations. The formatting changes have been effected in the entire codebase. (PR #525).
Hydrosphere - Freshwater and Hydrology
- Python
Published by Zeitsperre 10 months ago
RavenPy - v0.19.0
New features
- Added
parsers.parse_rvto extract a Command value from an RV file. (PR #503) - New module
ravenpy.testinghas been added to provide utility functions and support for testing and testing data management. (PR #513)
Breaking changes
ravenpynow requirespooch>=1.8.0for downloading and caching remote testing data. (PR #513)ravenpy.utilities.testdatahas been refactored to new moduleravenpy.testing. Thepublish_release_notesfunction is now located inravenpy.utilities.publishing. (PR #513)- The
ravenpy.testing.utilsmodule now provides ayangtze()class for fetching and caching theraven-testdatatesting data. A convenience function (get_file) replaces the previousget_local_testdata. (PR #513) - The
ravenpy.testing.utils.open_datasetfunction no longer supports OPeNDAP URLs or local file paths. Instead, it uses theyangtze()class to fetch datasets from the testing data repository or the local cache. Users should now usexarray.open_dataset()directly for OPeNDAP URLs or local files. (PR #513)
Bug fixes
- Fixed bug affecting
GriddedForcing, wherestation_idxin the call tonc_specswas set to1instead ofNone. (PR #501) - Fixed bug in the
runmethod, whereoverwrite=Falsewas not being respected. (PR #503) - Pin
scipybelow v1.16.0 due to a breaking change that affectsstatsmodelsbelow v0.14.4. (PR #521)
Internal changes
ravenpynow requiresxclim>=0.57.0andxsdba(v0.4.0+). (PR #511)- The
testsfolder no longer contains an__init__.pyfile and is no longer treated as a package.pytestfixtures fromemulators.pyare now directly imported intoconftest.pyfor use in tests, and existingpytestfixtures have been modified to use the newyangtze()class for fetching testing data. (PR #513)
Hydrosphere - Freshwater and Hydrology
- Python
Published by github-actions[bot] 11 months ago
RavenPy - v0.18.2
New features
- Added
RelativeHumidityMethodto RVIs. (PR #490). - Add
parsemethods toLineCommand,SubBasins,HRUs,Reservoir,SubBasinGroup,ChannelProfile. (PR #492). - Tweak the
GridWeightExtractorto support datasets from the Canadian River and Lake Hydrofabric. Allows setting therouting_id_fieldto__INDEX__in order to match HRU IDs. (PR #492). - Add support for
Rechargeprocess. (PR #492).
Hydrosphere - Freshwater and Hydrology
- Python
Published by Zeitsperre about 1 year ago
RavenPy - v0.18.1
New features
ravenpyno longer installsraven-hydroby default. The Raven model executable can now be provided by explicitly setting theRAVENPY_RAVEN_BINARY_PATHenvironment variable. (PR #486).
Bug fixes
- Fixed a bug in
ravenpy.utilities.regionalization.multiple_linear_regressionthat was calling a class method incorrectly. (PR #484).
Internal changes
pydaphas been pinned below v3.5.5 temporarily untilxarrayoffers support for it. (PR #486).- More than 7500 DeprecationWarnings emitted during the testing suite have been addressed. Minimum supported
pydantichas been raised to v2.11. (PR #487). - Regenerated the notebook outputs using newer version of
xclim. (PR #484).
Hydrosphere - Freshwater and Hydrology
- Python
Published by Zeitsperre about 1 year ago
RavenPy - v0.18.0
New features
ravenpynow supports Python3.13. (PR #459)- Updated
raven-hydroto v0.4.0 (RavenHydroFrameworkv4.0.1). (PR #459) - Updated
xclimto v0.54.0,pintto v0.24.4, andnumpyto v1.24.0 (no longer pinned below v2.0). (PR #459) ravenpyis now registered with the Open Source Security Foundation (OSSF) Best Practices initiative (RavenPy OpenSSF-BP Status). (PR #464)ravenpynow enables new EvaluationMetrics commands in the model configuration. Other features fromRavenHydroFrameworkwill 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.ipynbnotebook. (PR #463) - The
Ravenmodel previously always reported version "3.7", regardless of the installedRavenversion. It now usesraven-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-commithooks forvulture(find dead code) andcodespell(spelling errors). - Removed several
type: ignorestatements. - Spelling errors in documentation have been addressed.
- GitHub Workflows now test
ravenpyusing 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)
Hydrosphere - Freshwater and Hydrology
- Python
Published by github-actions[bot] about 1 year ago
RavenPy - v0.17.0
- Updated the cookiecutter template to the latest commit and synchronized dependencies between PyPI and Anaconda recipes. (PR #427)
- Updated
ts_fit_graphlogic formatplotlib>= 3.10.0 compatibility. (PR #434) - Temporarily pinned
pygmentsbelow v2.19 due to a breaking change affectingsphinx-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-esmandzarrto 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-commithooks forvulture(finding dead code) andzizmor(finding security vulnerabilities) have been added.
- Workflows now use Checkout with
Hydrosphere - Freshwater and Hydrology
- Python
Published by github-actions[bot] over 1 year ago
RavenPy - v0.16.1
What's Changed
- Minor reformatting and changes to the HBVEC emulator by @lou-a in https://github.com/CSHS-CWRA/RavenPy/pull/410
- Bump bump-my-version from 0.26.1 to 0.28.0 by @dependabot in https://github.com/CSHS-CWRA/RavenPy/pull/414
- Bump tox from 4.21.0 to 4.23.2 by @dependabot in https://github.com/CSHS-CWRA/RavenPy/pull/412
- Bump flit from 3.9.0 to 3.10.1 by @dependabot in https://github.com/CSHS-CWRA/RavenPy/pull/416
- Bump pip from 24.2.0 to 24.3.1 by @dependabot in https://github.com/CSHS-CWRA/RavenPy/pull/413
- Bump the actions group in /.github/workflows with 7 updates by @dependabot in https://github.com/CSHS-CWRA/RavenPy/pull/415
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/CSHS-CWRA/RavenPy/pull/417
- Update notebooks to work with changes to dask chunking, adapt to new Raven code conventions by @Zeitsperre in https://github.com/CSHS-CWRA/RavenPy/pull/395
- Fix issue #418. Unpin pymbolic. Resolve pydantic deprecation warnings by @huard in https://github.com/CSHS-CWRA/RavenPy/pull/420
- Bump bump-my-version from 0.28.0 to 0.28.1 by @dependabot in https://github.com/CSHS-CWRA/RavenPy/pull/421
- Bump pydantic from 2.9.2 to 2.10.2 by @dependabot in https://github.com/CSHS-CWRA/RavenPy/pull/422
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/CSHS-CWRA/RavenPy/pull/424
- Bump the actions group in /.github/workflows with 5 updates by @dependabot in https://github.com/CSHS-CWRA/RavenPy/pull/423
- Prepare v0.16.1 by @Zeitsperre in https://github.com/CSHS-CWRA/RavenPy/pull/425
- Update allowed port connections by @Zeitsperre in https://github.com/CSHS-CWRA/RavenPy/pull/426
Full Changelog: https://github.com/CSHS-CWRA/RavenPy/compare/v0.16.0...v0.16.1
Hydrosphere - Freshwater and Hydrology
- Python
Published by Zeitsperre over 1 year ago
RavenPy - v0.16.0
What's Changed
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/CSHS-CWRA/RavenPy/pull/383
- Bump step-security/harden-runner from 2.8.1 to 2.9.0 by @dependabot in https://github.com/CSHS-CWRA/RavenPy/pull/388
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/CSHS-CWRA/RavenPy/pull/389
- Bump step-security/harden-runner from 2.9.0 to 2.9.1 by @dependabot in https://github.com/CSHS-CWRA/RavenPy/pull/391
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/CSHS-CWRA/RavenPy/pull/392
- Remove requests library, fix pyogrio calls, synchronize deps by @Zeitsperre in https://github.com/CSHS-CWRA/RavenPy/pull/394
- Update Cookiecutter by @Zeitsperre in https://github.com/CSHS-CWRA/RavenPy/pull/386
- Build fixes by @Zeitsperre in https://github.com/CSHS-CWRA/RavenPy/pull/400
- Bump the actions group in /.github/workflows with 4 updates by @dependabot in https://github.com/CSHS-CWRA/RavenPy/pull/398
- Bump bump-my-version from 0.26.0 to 0.26.1 by @dependabot in https://github.com/CSHS-CWRA/RavenPy/pull/399
- Bump pydantic from 2.8.2 to 2.9.2 by @dependabot in https://github.com/CSHS-CWRA/RavenPy/pull/397
- Bump tox from 4.18.0 to 4.21.0 by @dependabot in https://github.com/CSHS-CWRA/RavenPy/pull/402
- Bump tox-gh from 1.3.2 to 1.4.1 by @dependabot in https://github.com/CSHS-CWRA/RavenPy/pull/403
- Update routing_product.py by @lou-a in https://github.com/CSHS-CWRA/RavenPy/pull/401
- HBV-EC emulator improvements by @lou-a in https://github.com/CSHS-CWRA/RavenPy/pull/404
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/CSHS-CWRA/RavenPy/pull/405
- HBVEC emulator improvement by @lou-a in https://github.com/CSHS-CWRA/RavenPy/pull/408
- Add SVG converter, fix PDF rendering on ReadTheDocs by @Zeitsperre in https://github.com/CSHS-CWRA/RavenPy/pull/407
- Prepare v0.16.0 by @Zeitsperre in https://github.com/CSHS-CWRA/RavenPy/pull/409
New Contributors
- @lou-a made their first contribution in https://github.com/CSHS-CWRA/RavenPy/pull/401
Full Changelog: https://github.com/CSHS-CWRA/RavenPy/compare/v0.15.0...v0.16.0
Hydrosphere - Freshwater and Hydrology
- Python
Published by github-actions[bot] over 1 year ago
RavenPy - v0.15.0
What's Changed
- WPS returns datasets : access
band_datavariable by @tlogan2000 in https://github.com/CSHS-CWRA/RavenPy/pull/356 - Fixed issue with Config.duplicate. Added test. by @huard in https://github.com/CSHS-CWRA/RavenPy/pull/367
- Bump step-security/harden-runner from 2.7.1 to 2.8.0 by @dependabot in https://github.com/CSHS-CWRA/RavenPy/pull/369
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/CSHS-CWRA/RavenPy/pull/373
- Pin pint below v0.24 by @Zeitsperre in https://github.com/CSHS-CWRA/RavenPy/pull/375
- Bump step-security/harden-runner from 2.8.0 to 2.8.1 by @dependabot in https://github.com/CSHS-CWRA/RavenPy/pull/374
- Fallback in test if raven_hydro is not installed by @huard in https://github.com/CSHS-CWRA/RavenPy/pull/372
- Update to raven-hydro v0.3.1 (RHF 3.8.1), drop Python3.8 conventions, address warnings by @Zeitsperre in https://github.com/CSHS-CWRA/RavenPy/pull/378
- Prepare v0.15.0 by @Zeitsperre in https://github.com/CSHS-CWRA/RavenPy/pull/380
Full Changelog: https://github.com/CSHS-CWRA/RavenPy/compare/v0.14.1...v0.15.0
Hydrosphere - Freshwater and Hydrology
- Python
Published by Zeitsperre almost 2 years ago
RavenPy - v0.13.1
This is a patch update of v0.13.0 containing a backport of the following changes in order to provide stability for PAVICS users:
- Bug fix for notebooks by @huard in https://github.com/CSHS-CWRA/RavenPy/pull/360
Hydrosphere - Freshwater and Hydrology
- Python
Published by Zeitsperre about 2 years ago
RavenPy - v0.14.1
What's Changed
- Update dependencies, stabilize test by @Zeitsperre in https://github.com/CSHS-CWRA/RavenPy/pull/358
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/CSHS-CWRA/RavenPy/pull/355
- Bump step-security/harden-runner from 2.7.0 to 2.7.1 by @dependabot in https://github.com/CSHS-CWRA/RavenPy/pull/359
- Bug fix for notebooks by @huard in https://github.com/CSHS-CWRA/RavenPy/pull/360
- Pin pyogrio by @Zeitsperre in https://github.com/CSHS-CWRA/RavenPy/pull/363
- Prepare v0.14.1 by @Zeitsperre in https://github.com/CSHS-CWRA/RavenPy/pull/364
Full Changelog: https://github.com/CSHS-CWRA/RavenPy/compare/v0.14.0...v0.14.1
Hydrosphere - Freshwater and Hydrology
- Python
Published by Zeitsperre about 2 years ago
RavenPy - v0.14.0
What's Changed
- Update dependencies by @Zeitsperre in https://github.com/CSHS-CWRA/RavenPy/pull/337
- Install raven-hydro from official git sources by @Zeitsperre in https://github.com/CSHS-CWRA/RavenPy/pull/341
- Bump github/codeql-action from 2 to 3 by @dependabot in https://github.com/CSHS-CWRA/RavenPy/pull/349
- Bump actions/checkout from 3 to 4 by @dependabot in https://github.com/CSHS-CWRA/RavenPy/pull/347
- Bump actions/setup-python from 4 to 5 by @dependabot in https://github.com/CSHS-CWRA/RavenPy/pull/348
- Add support for new processes and methods added in v3.8 by @huard in https://github.com/CSHS-CWRA/RavenPy/pull/335
- use np.maximum() instead of boolean indexing. by @tlogan2000 in https://github.com/CSHS-CWRA/RavenPy/pull/350
- Open raven-hydro pin by @Zeitsperre in https://github.com/CSHS-CWRA/RavenPy/pull/351
- Filter HRUs with unrecognized hru_type attribute by @huard in https://github.com/CSHS-CWRA/RavenPy/pull/344
- Small fixes to support HBVECMOD emulator out of the box by @huard in https://github.com/CSHS-CWRA/RavenPy/pull/338
- Prepare v0.14.0 by @Zeitsperre in https://github.com/CSHS-CWRA/RavenPy/pull/353
New Contributors
- @dependabot made their first contribution in https://github.com/CSHS-CWRA/RavenPy/pull/349
- @tlogan2000 made their first contribution in https://github.com/CSHS-CWRA/RavenPy/pull/350
Full Changelog: https://github.com/CSHS-CWRA/RavenPy/compare/v0.13...v0.14.0
Hydrosphere - Freshwater and Hydrology
- Python
Published by Zeitsperre about 2 years ago
RavenPy - v0.13
What's Changed
- Updated Notebooks 03 and 04 by @richardarsenault in https://github.com/CSHS-CWRA/RavenPy/pull/319
- Pin cf-xarray for Python3.8 by @Zeitsperre in https://github.com/CSHS-CWRA/RavenPy/pull/325
- Handle scalar elevation values in nc_specs by @huard in https://github.com/CSHS-CWRA/RavenPy/pull/323
- Fix Coveralls Workflows by @Zeitsperre in https://github.com/CSHS-CWRA/RavenPy/pull/328
- Add sensitivity nb by @richardarsenault in https://github.com/CSHS-CWRA/RavenPy/pull/320
- Fix notebook execution by @Zeitsperre in https://github.com/CSHS-CWRA/RavenPy/pull/329
- Upgrade to pydantic v2 by @huard in https://github.com/CSHS-CWRA/RavenPy/pull/326
- Refactor and simplify testing data fetching by @Zeitsperre in https://github.com/CSHS-CWRA/RavenPy/pull/332
Full Changelog: https://github.com/CSHS-CWRA/RavenPy/compare/v0.12.3...v0.13
Hydrosphere - Freshwater and Hydrology
- Python
Published by huard over 2 years ago
RavenPy - v0.12.3
What's Changed
- Skip manual install of NetCDF-python binaries on macos by @Zeitsperre in https://github.com/CSHS-CWRA/RavenPy/pull/298
- Fixed random seed application in Spotpy by @richardarsenault in https://github.com/CSHS-CWRA/RavenPy/pull/300
- Add platformdirs for consistent testing data caching by @Zeitsperre in https://github.com/CSHS-CWRA/RavenPy/pull/303
- Set check_missing to fit time series by @huard in https://github.com/CSHS-CWRA/RavenPy/pull/308
- Remove obsolete caches GitHub Workflow by @Zeitsperre in https://github.com/CSHS-CWRA/RavenPy/pull/305
- Added the paper pdf to the notebook by @Zeitsperre in https://github.com/CSHS-CWRA/RavenPy/pull/311
- Configurable servers by @Zeitsperre in https://github.com/CSHS-CWRA/RavenPy/pull/312
- Prepare v0.12.3 by @Zeitsperre in https://github.com/CSHS-CWRA/RavenPy/pull/314
Full Changelog: https://github.com/CSHS-CWRA/RavenPy/compare/v0.12.2...v0.12.3
Hydrosphere - Freshwater and Hydrology
- Python
Published by Zeitsperre over 2 years ago
RavenPy - v0.12.2
What's Changed
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/CSHS-CWRA/RavenPy/pull/291
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/CSHS-CWRA/RavenPy/pull/292
- [pre-commit.ci] pre-commit autoupdate by @pre-commit-ci in https://github.com/CSHS-CWRA/RavenPy/pull/293
- Pin Pydantic below v2.0, update raven-hydro to v0.2.3, prepare release by @Zeitsperre in https://github.com/CSHS-CWRA/RavenPy/pull/295
Full Changelog: https://github.com/CSHS-CWRA/RavenPy/compare/v0.12.1...v0.12.2
Hydrosphere - Freshwater and Hydrology
- Python
Published by Zeitsperre almost 3 years ago
RavenPy - v0.12.1
What's Changed
- Update publishing workflows to reflect new structure by @Zeitsperre in https://github.com/CSHS-CWRA/RavenPy/pull/286
- Documentation adjustments by @Zeitsperre in https://github.com/CSHS-CWRA/RavenPy/pull/287
- Store Dataset in OutputReader class to avoid calling open_dataset repeatedly by @huard in https://github.com/CSHS-CWRA/RavenPy/pull/289
Full Changelog: https://github.com/CSHS-CWRA/RavenPy/compare/v0.12.0...v0.12.1
Hydrosphere - Freshwater and Hydrology
- Python
Published by huard about 3 years ago
RavenPy - v0.12.0
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.
- Clean new config by @huard in https://github.com/CSHS-CWRA/RavenPy/pull/269
- Adopt PEP 517 and PEP 621, use raven-hydro package by @Zeitsperre in https://github.com/CSHS-CWRA/RavenPy/pull/278
- Add zenodo configuration by @Zeitsperre in https://github.com/CSHS-CWRA/RavenPy/pull/266
- Fix file-access errors with newest NetCDF4, adjust testing default settings by @Zeitsperre in https://github.com/CSHS-CWRA/RavenPy/pull/267
- Code QL scanning by @Zeitsperre in https://github.com/CSHS-CWRA/RavenPy/pull/268
- Fix NB09 & clarification by @Mayetea in https://github.com/CSHS-CWRA/RavenPy/pull/275
- Maintain Python3.8 by @Zeitsperre in https://github.com/CSHS-CWRA/RavenPy/pull/276
New Contributors
- @Mayetea made their first contribution in https://github.com/CSHS-CWRA/RavenPy/pull/275
Full Changelog: https://github.com/CSHS-CWRA/RavenPy/compare/v0.11.0...v0.12.0
Hydrosphere - Freshwater and Hydrology
- Python
Published by huard about 3 years ago
RavenPy - v0.11.0
What's Changed
- Manifest updates by @Zeitsperre in https://github.com/CSHS-CWRA/RavenPy/pull/247
- Use xclim v040 by @Zeitsperre in https://github.com/CSHS-CWRA/RavenPy/pull/253
- Use mamba-org/provision-with-micromamba Action with caching by @Zeitsperre in https://github.com/CSHS-CWRA/RavenPy/pull/257
- Update black by @Zeitsperre in https://github.com/CSHS-CWRA/RavenPy/pull/258
- Update Fiona to v1.9 by @Zeitsperre in https://github.com/CSHS-CWRA/RavenPy/pull/256
- Update install and configuration instructions by @Zeitsperre in https://github.com/CSHS-CWRA/RavenPy/pull/259
- Use raven-hydro v3.6 by @Zeitsperre in https://github.com/CSHS-CWRA/RavenPy/pull/260
Full Changelog: https://github.com/CSHS-CWRA/RavenPy/compare/v0.10.0...v0.11.0
Hydrosphere - Freshwater and Hydrology
- Python
Published by Zeitsperre over 3 years ago
RavenPy - v0.10.0
What's Changed
- Use Raven model framework version 3.5 by @Zeitsperre in https://github.com/CSHS-CWRA/RavenPy/pull/240
- Pin setuptools in tox and in GitHub workflows by @Zeitsperre in https://github.com/CSHS-CWRA/RavenPy/pull/2
- Relax geo test precision by @huard in https://github.com/CSHS-CWRA/RavenPy/pull/246
Full Changelog: https://github.com/CSHS-CWRA/RavenPy/compare/v0.9.0...v0.10.0
Hydrosphere - Freshwater and Hydrology
- Python
Published by huard over 3 years ago
RavenPy - v0.9.0
Breaking changes
- HRUState's signature has changed. Instead of passing variables as keyword arguments (e.g.
soil0=10.), it now expects astatedictionary keyed by variables' Raven name (e.g.{"SOIL[0]": 10}). This change makesrvc` files easier to read, and avoids Raven warnings regarding 'initial conditions for state variables not in model'. nc_indexrenamed tometeo_idxto enable the specification of distinct indices for observed streamflow usinghydro_idx.nc_indexremains supported for backward compatibility.- The distributed python testing library,
pytest-xdistis now a testing and development requirement. xarrayhas been pinned below "2022.11.0" due to incompatibility withclimpred=="2.2.0".
New features
- Add support for hydrometric gauge data distinct from meteorological input data. Configuration parameter
hydro_idxidentifies the gauge station index, whilemeteo_idx(previouslync_index) stands for the meteo station index. - Add support for multiple gauge observations. If a list of
hydro_idxis provided, it must be accompanied with a list of corresponding subbasin identifiers (gauged_sb_ids) of the same length. - Automatically infer scale and offset
:LinearTransformparameters 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,:VegetationParameterListand: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-xdistto 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 fromOuranosinc/raven-testdataby 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.
- On pytest launch with "
- 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-testdatafor 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_fileandget_local_testdataare now available for convenience
- In order to skip the data collection step:
Hydrosphere - Freshwater and Hydrology
- Python
Published by Zeitsperre over 3 years ago
RavenPy - v0.8.0
Breaking changes:
- Parallel parameters must be provided explicitly using the
parallelargument when calling emulators. - Multiple
nc_indexvalues generate multiple gauges, instead of being parallelized. - Python3.7 is no longer supported.
- Documentation now uses sphinx-apidoc at build-time to generate API pages.
Other changes:
- Add
generate-hrus-from-routing-productscript. - Do not write RV zip file and merge outputs when
suppress_outputis True. Zipping rv files during multiple calibration runs leads to a non-linear performance slow-down. - Fixed issues with coverage reporting via tox and GitHub Actions
Hydrosphere - Freshwater and Hydrology
- Python
Published by Zeitsperre over 3 years ago
RavenPy - v0.7.8
- Added functionalities in Data Assimilation utils and simplified tests.
- Removed pin on setuptools.
- Fixed issues related to symlinks, working directory, and output filenames.
- Fixed issues related to GDAL version handling in conda-forge.
- Updated jupyter notebooks.
Hydrosphere - Freshwater and Hydrology
- Python
Published by Zeitsperre over 4 years ago
RavenPy - v0.7.6
- Automate release pipeline to PyPI using GitHub CI actions.
- Added coverage monitoring GitHub CI action.
- Various documentation adjustments.
- Various metadata adjustments.
- Pinned owslib to 0.24.1 and above.
- Circumvented a bug in GitHub CI that was causing tests to fail at collection stage.
Hydrosphere - Freshwater and Hydrology
- Python
Published by Zeitsperre over 4 years ago
RavenPy - v0.7.0
- Add support for V2.1 of the Routing Product in
ravenpy.extractors.routing_product. - Add
collect-subbasins-upstream-of-gaugeCLI script. - Modify WFS request functions to use spatial filtering (
Intersects) supplied by OWSLib.
Hydrosphere - Freshwater and Hydrology
- Python
Published by cjauvin almost 5 years ago
RavenPy - v0.6.0
- Add support for EvaluationPeriod commands. Note that as a result of this, the model's
diagnosticsproperty contains one list per key, instead of a single scalar. Also note that for calibration, Ostrich will use the first period and the first evaluation metric. - Add
SACSMA,CANADIANSHIELDandHYPRmodel emulators.
Hydrosphere - Freshwater and Hydrology
- Python
Published by cjauvin almost 5 years ago
RavenPy - v0.5.0
- Refactoring of the RV config subsystem
- The config is fully encapsulated into its own class:
ravenpy.config.rvs.Config - The emulator RV templates are inline in their emulator classes
- The config is fully encapsulated into its own class:
- The emulators have their own submodule:
ravenpy.models.emulators - The "importers" have been renamed to "extractors" and they have their own submodule:
ravenpy.extractors
Hydrosphere - Freshwater and Hydrology
- Python
Published by cjauvin about 5 years ago
RavenPy - v0.4.2
- Update to Raven revision 318 to fix OPENDAP access for StationForcing commands
- Fix problems with defaults for grid_weights and nc_index
- Pass nc_index to ObservationData command
- Expose more cleanly RavenC errors and warnings
- Add test with Canopex and fix related bugs
- Remove nbstripout hook
- Replace a broken notebook by one demoing how to access Canopex data.
Hydrosphere - Freshwater and Hydrology
- Python
Published by huard about 5 years ago
RavenPy - v.0.4.1
- Add notebook about hindcast verification skill.
- Add notebook about routing capability.
- Modify geoserver functions to have them return GeoJSON instead of GML.
- Collect upstream watershed aggregation logic.
- Fix RVC bug.
Hydrosphere - Freshwater and Hydrology
- Python
Published by cjauvin about 5 years ago
RavenPy - v0.4.0
This is an interim version making one step toward semi-distributed modeling support. Model configuration is still in flux and will be significantly modified with 0.5. The major change in this version is that model configuration supports passing multiple HRU objects, instead of simply passing area, latitude, longitude and elevation for a single HRU.
- GR4JCN emulator now supports routing mode.
- Add BLENDED model emulator.
- DAP links for forcing files are now supported.
- Added support for tox-based localized installation and testing with python-pip.
- Now supporting Python 3.7, 3.8, and 3.9.
- Build testing for pip and conda-based builds with GitHub CI.
Hydrosphere - Freshwater and Hydrology
- Python
Published by huard about 5 years ago
RavenPy - v0.3.0
- Migration and refactoring of GIS and IO utilities (
utils.py,utilities/gis.py) from RavenWPS to RavenPy. - RavenPy can now be installed from PyPI without GIS dependencies (limited functionality).
- Hydro routing product is now supported from
geoserver.py(a notebook has been added to demonstrate the new functions). - New script
ravenpy aggregate-forcings-to-hrusto aggregate NetCDF files and compute updated grid weights. - Add the basis for a new routing emulator option (WIP).
- Add climpred verification capabilities.
Hydrosphere - Freshwater and Hydrology
- Python
Published by cjauvin about 5 years ago
RavenPy - v0.2.3
- Regionalisation data is now part of the package.
- Fix tests that were not using testdata properly.
- Add tests for external dataset access.
utilities.testdata.get_local_testdatanow raises an exception when it finds no dataset corresponding to the user pattern.
Hydrosphere - Freshwater and Hydrology
- Python
Published by cjauvin over 5 years ago
RavenPy - v0.2.2
- Set wcs.getCoverage timeout to 120 seconds.
- Fix
Raven.parse_resultslogic when no flow observations are present and no diagnostic file is created. - Fix ECCC test where input was cached and shadowed forecast input data.
Hydrosphere - Freshwater and Hydrology
- Python
Published by cjauvin over 5 years ago