Skip to content

2.0.0b1

Pre-release
Pre-release
Compare
Choose a tag to compare
@sverhoeven sverhoeven released this 06 Oct 07:53
· 37 commits to main since this release
ad99ebf

Oops forgot to select branch for release. Do not use this release!

The eWaterCycle package makes it easier to use hydrological models
without having intimate knowledge about how to install and run the
models.

  • Uses container for running models in an isolated and portable way with grpc4bmi
  • Generates rain and sunshine required for the model using ESMValTool
  • Supports observation data from GRDC or USGS
  • Exposes simple interface to quickly get up and running

Breaking changes

The eWatercycle package no longer contains models and their forcing and/or example parameter sets. Instead, models are now plugins that can be installed separately. See https://ewatercycle.readthedocs.io/en/latest/plugins.html for a list of endorsed plugins.

Added

  • Apptainer support (#290)
  • Forcing ((#365)[https://github.com//pull/365]):
    • GenericDistributedForcing class
    • GenericLumpedForcing class
    • Generate from not just ERA5 or ERA-Interim dataset, but any ESMvalTool supported dataset
  • Testing helpers for plugins ((#365)[https://github.com//pull/365])

Changed

  • Upgraded BMI version from 0.2 to 2.0 (#339)
    • Model container images using BMI v0.2 are supported see grpc4bmi docs.
  • ewatercycle config, forcings and parameter sets now use Pydantic for validation instead of Matplotlib inspired validation. (#332, #334, #346)
  • Functions of a model inside a container that return the same result each call are cached with MemoizedBmi (#339)
  • Moved CaseConfig to src/utils.py
  • forcing.load_foreign has been superceded by using sources.model(...)
  • Forcing ((#365)[https://github.com//pull/365]):
    • Instead of modifying an existing recipe now builds a ESMValTool recipe from scratch using a fluent interface
    • DefaultForcing has overridable class methods for each step of the forcing generation process (build_recipe, run_recipe, recipe_output_to_forcing_arguments).
  • eWaterCycleModel.parameters property type is ItemsView instead of dict.

Deprecated

  • Singularity support (#290)

Removed

  • Models live in their own repository as a eWatercycle plugin. (#371)
  • Removed parametersetdb module. XmlConfig moved to lisflood plugin. YamlConfig & IniConfig have been removed.