Implementation of data assimilation for eWaterCycle
Project description
eWaterCycle-DA
Code to run Data Assimilation with hydrological models on the eWaterCycle platform.
Installation
Install this package alongside your eWaterCycle installation
pip install ewatercycle-DA
Then DA becomes available to be used in eWaterCycle
from ewatercycle_DA import DA
docs
Documentation can be found here
Changelog
Changelog can be found in CHANGELOG.md on GitHub.
Quick Usage overiew
(maybe migrate this to docs?)
Can be used with or without assimilating, this will run 10 versions of the same model. By varying the setup_kwargs you can vary the model run itself.
Without assimilating
HBVForcing = ...
ensemble = DA.Ensemble(N=10)
ensemble.setup()
ensemble.initialize(model_name="HBV",
forcing=HBVForcing,
setup_kwargs={'parameters':'7.6,0.5,460,3.8,0.19,1.3,0.082,0.0061',
'initial_storage':'0,100,0,5'}
)
ref_model = ensemble.ensemble_list[0].model
lst_Q = []
while ref_model.time < ref_model.end_time:
ensemble.update(assimilate=False)
lst_Q.append(ensemble.get_value("Q"))
For running HBV see seperate docs
With assimilating
...
ref_model = ...
#... same as above just add two more definitions
def H(Z):
"""returns discharge which is the last value on the state vector for HBV"""
return Z[-1]
ds_obs_dir = ...
ensemble.initialize_da_method(ensemble_method_name = "PF",
hyper_parameters = {
'like_sigma_weights' : 0.05,
'like_sigma_state_vector' : 0.01,
},
state_vector_variables = "all",
# the next three are keyword arguments but are needed:
observation_path = ds_obs_dir,
observed_variable_name = "Q",
measurement_operator = H,
)
lst_Q = []
while ref_model.time < ref_model.end_time:
ensemble.update(assimilate=True)
lst_Q.append(ensemble.get_value("Q"))
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file ewatercycle_da-0.0.7.tar.gz
.
File metadata
- Download URL: ewatercycle_da-0.0.7.tar.gz
- Upload date:
- Size: 20.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0fb38116097d2a07b5aba847f17af6375171d06f4fd85cd608fca0e13cc27398 |
|
MD5 | 09437876f0f2cfef449925ec8a1b09a4 |
|
BLAKE2b-256 | 98880237d508a3aef608550bc0fc13d46dd0f256eec329bf7117d5b242a43027 |
Provenance
File details
Details for the file ewatercycle_da-0.0.7-py2.py3-none-any.whl
.
File metadata
- Download URL: ewatercycle_da-0.0.7-py2.py3-none-any.whl
- Upload date:
- Size: 24.5 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.0.0 CPython/3.12.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f6344d431845cfa87cb3cdb169b8f961de3b67d0fff4d6f1b8ca8eae03d631f2 |
|
MD5 | e4e13795e4c88552380cb2874a147dc0 |
|
BLAKE2b-256 | 3e6f11613a1fb6775ab1654febad286d34d6d8bceeb5b98209278cff6b1c2bf2 |