2.0.0b2
Pre-release
Pre-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.