Skip to content

2.0.0b2

Pre-release
Pre-release
Compare
Choose a tag to compare
@sverhoeven sverhoeven released this 06 Oct 08:00

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.