Skip to content

Releases: eWaterCycle/ewatercycle

2.2.0

08 Jul 09:45
b4e0d16
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

  • ewatercycle.esmvaltool.search.search_esgf can now be used to find climate model ensembles on ESGF that have the required input variables for generating forcing data (#422).
  • ewatercycle.observation.caravan.get_caravan_data() (#432)

Fixed

  • get_usgs_data() throws error (#414)
  • get_usgs_data() and get_grdc_data() both return xarray.Dataset (#253)

Removed

  • Caching mechanism from get_usgs_data() (#240)

2.1.1

03 Jun 08:03
4f5ec99
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

  • input_var_names property to the eWaterCycle model class, to accompany the existing output_var_names property (#403).
  • var_units method to the eWaterCycle model class, to mirror PyMT (#403).
  • A note on the time units that eWaterCycle expects models to provide to the documentation (#403).
  • CaravanForcing, which allows for the retrieval of single basins from the Caravan dataset, rather than downloading the whole dataset (#407).

Changed

  • If a model plugin raises an exception during the loading of the model entry points, a more clear exception is raised which guides the users on how to solve the error (#404).
  • Updated the model documentation to link to the eWaterCycleModel API docs, and to make it a bit more clear that it is build on top of BMI (#403).
  • Dask has been explicitly added to the ewatercycle package dependencies. The package already depended on it through ESMValTool (#410).

Fixed

  • An issue related to the .to_xarray() method of the generic forcing classes. This method should now be more robust (#410).
  • An issue related to saving netCDF files generated by caravan forcing. Only copies relevant attributes to the seperate files generated. (#416)

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)