https://github.com/csiro-hydroinformatics/pydaisi
Python Data Assimilation Informed model Structure Improvement (PyDAISI). Python code to run the DAISI method applied to the GR2M monthly rainfall-runoff model.
Science Score: 36.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
✓DOI references
Found 3 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.7%) to scientific vocabulary
Repository
Python Data Assimilation Informed model Structure Improvement (PyDAISI). Python code to run the DAISI method applied to the GR2M monthly rainfall-runoff model.
Basic Info
- Host: GitHub
- Owner: csiro-hydroinformatics
- License: other
- Language: Python
- Default Branch: master
- Size: 3.51 MB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 1
Metadata Files
README.md
pydaisi
Python Data Assimilation Informed model Structure Improvement (PyDAISI): Python code to run the PyDAISI method applied to the GR2M monthly rainfall-runoff model.
What is pydaisi?
This package implements the Data Assimilation Informed model Structure Improvement (DAISI) method described in the following paper: Lerat, J., Chiew, F., Robertson, D., Andreassian, V., Zheng, H. (2023), "Data Assimilation Informed model Structure Improvement (DAISI) for robust prediction under climate change: Application to 201 catchments in southeastern Australia", WRR, Submitted.
Installation
- Create a suitable python environment. We recommend using miniconda combined with the environment specification provided in the env_mini.yml file in this repository.
- Git clone this repository and run
pip install .
Basic use
To access the data: ```python from pydaisi import daisi_data
Get the site meta data
sites = daisidata.getsites()
Select a site id among the 201 catchments
For example the Jamieson River at Gerrang Bridge,
(site ID 405218)
siteid = 405218 monthlydata = daisidata.get_data(siteid)
print(monthly_data)
This command shows:
Rain Evap Qobs
1970-07-01 135.9429 33.5447 186.7124
1970-08-01 253.6129 46.9463 207.2174
1970-09-01 87.7752 69.9889 119.4157
1970-10-01 51.4173 114.8741 56.1140
1970-11-01 110.2354 145.4254 27.9042
... ... ... ...
2019-02-01 34.0550 146.5809 3.1161
2019-03-01 62.1733 117.4158 2.5748
2019-04-01 27.0699 75.8672 2.8548
2019-05-01 138.3442 44.7638 8.6404
2019-06-01 141.6448 32.5938 43.1690
```
To run DAISI applied to the GR2M model: ```python
Run DAISI step 0 - calibration of GR2M rainfall runoff model
by default, the script calibrates the model for the
201 catchments.
python scripts/STEP0gr2mcalibration.py
The scripts can be run over a subset of sites (batch)
using the -n (number of batch) and -t (taskid=0..n-1) options
This is useful if one wants to run the script using
parallel computing. The same options are available for
all scripts mentioned below.
Run DAISI step 1 - apply Ensemble Smoother algorithym to GR2M
python scripts/STEP1dataassimilation.py
Run DAISI step 2 - fitting of update coefficients
python scripts/STEP2modelstructure_update.py
Run DAISI step 3 - Computation of diagnostic metrics
python scripts/STEP3dianosticcompute_metrics.py
Run DAISI step 3 - Distribution of performance
python scripts/STEP3dianosticplot_metrics.py ```
License
The source code and documentation of the pydaisi package is licensed under the BSD license.
Owner
- Name: CSIRO Hydroinformatics
- Login: csiro-hydroinformatics
- Kind: organization
- Repositories: 11
- Profile: https://github.com/csiro-hydroinformatics
CSIRO - hydroinformatics repositories