Releases: eWaterCycle/ewatercycle
2.3.1
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
- all required shapefile files (
.shp
,.shx
,.dbf
,.prj
) are now copied to the new directory when saving a forcing object (#430).
2.3.0
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
Changed
- Use conda-lock to install reproducible conda dependencies. Instead of loosely pinned environment.yml (#357)
- ESMValTool is no longer a Python dependency, but a conda dependency (#442)
2.2.0
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()
andget_grdc_data()
both return xarray.Dataset (#253)
Removed
- Caching mechanism from
get_usgs_data()
(#240)
2.1.1
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 existingoutput_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
2.1.0
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
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
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
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
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
1.4.0
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