Skip to content

Releases: eWaterCycle/ewatercycle

2.1.0

25 Mar 12:47
a8fe6e5
Compare
Choose a tag to compare

This release comes with some changes to the (generic) generation of forcing data. It is now easier to define your own forcing generator. MakkinkForcings (distributed & lumped) have been added which allow for forcing generation with potential evaporation (from both ERA5 and CMIP datasets).

Added

  • Added new forcing classes (#393):
    • LumpedUserForcing, DistributedUserForcing - have the variable names as an argument, as well as an optional post-processor that can derive addition variables from the downloaded data.
    • LumpedMakkinkForcing, DistributedMakkinkForcing - based on the UserForcing: selects the required variables and computes the Makkink potential evaporation.
  • The available models are now stored in ewatercycle.models.sources, just like the different forcing sources (#393).

Changed

  • Internal changes to DefaultForcing: variables are no longer attributes of the class, but are stored under a "filenames" (dict) attribute (#393).
  • Updated the documentation to reflect the changes in the forcing generation (#393).
  • Shapefiles used for generating forcing are now always copied to the output folder, to allow determination of the area to convert mm water depth to m^3 of discharge. (#393).

2.0.0

10 Oct 08:14
e287ad5
Compare
Choose a tag to compare

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.
  • Rewrote adding models documentation to use the new plugin system (#383

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.

2.0.0b2

06 Oct 08:00
Compare
Choose a tag to compare
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.

2.0.0b1

06 Oct 07:53
ad99ebf
Compare
Choose a tag to compare
2.0.0b1 Pre-release
Pre-release

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.

1.4.1

20 Dec 13:22
7ca0517
Compare
Choose a tag to compare

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

Fixed

  • PEP 484 prohibits implicit Optional (#325)
  • Update of ESMValCore breaks recipes tests (#325)
  • Pre-commit hook for flake8 from GitHub instead of GitLab (#325)
  • Update of ESMValCore breaks Marrmot forcing generation (#322)
  • Forcing generation for Wflow has been fixed (#321)

1.4.0

20 Jun 10:13
Compare
Choose a tag to compare

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

Added

  • delay argument to `ewatercycle.models.Marrmot*.setup()_ (#303)
  • Hype forcing generation and model #308

Removed

  • Python 3.7 support

1.3.0

20 Apr 08:46
Compare
Choose a tag to compare

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

Added

  • Directory argument to ewatercycle.forcing.generate() (#145)

Changed

  • Improved performance of forcing generation of LISFLOOD model (#301)

1.2.0

28 Mar 10:00
f0e45c7
Compare
Choose a tag to compare

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

Added

  • Evaporation Pre-Processor for the LISFLOOD (Lisvap) to forcing (#282)
  • Set number of bars in hydrograph (#298)

1.1.4

14 Jan 09:43
ae639aa
Compare
Choose a tag to compare

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

Added

  • 2020.1.3 version of wflow model (#270)

Changed

  • Replace Cartesius section in system setup docs with Snellius (#273)

Fixed

  • Test suite fails with fresh conda env (#275)
  • incompatible numpy typings (#285)

1.1.3

18 Oct 07:23
Compare
Choose a tag to compare

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

Added

  • 2020.1.2 version of wflow model (#268)
  • Document how to add a new version of a model (#266)