Skip to content
 
 

Latest commit

 

History

123 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Conceptual Models for Manoj j et al. (2024)

DOI

Hy2DL is a python library to create hydrological models for rainfall-runoff prediction, which make use of deep learning methods. The main idea of this repository is to provide models that are 'easy' to understand, interpret and implement. This 'ease', naturally, comes at the cost of code modularity and, to some extent flexibility. The logic of the codes presented here are heavily based on 'NeuralHydrology --- A Python library for Deep Learning research in hydrology' (https://github.com/neuralhydrology/neuralhydrology.git). For a more flexible, robust and modular implementation of deep learning method in hydrological modeling we advice the use of Neural Hydrology.

In addition to Long Short Term Memory (LSTM) network architectures, the repository also features hybrid hydrological models which use an LSTM network combined with a process based rainfall-runoff model and transformer based hydrological model. Regional hydrological models for several datasets namely the CAMELS_GB, CAMELS_US, CAMELS_CH, CAMELS_DE and the CARAVAN are at the user's easy disposal.


The HBV Conceptual model runs for Manoj J et al. 2024 was implemented using this repository.

Structure of the repository:

The codes presented in the repository are in the form of python scripts. Additionally several experiments are in the form of JupyterNotebooks for easy reproduction and execution. Detailed documentation for the repository can be found at Hy2DL.readthedocs.io.

Following is a quick overview of the repository structure:

  • data: Information necessary to run the codes. The dataset chosen for analyses should be added here. This folder also consists of a .txt file containg the catchment IDs in a format consistent with the nomenclature in the original dataset
  • aux_functions: Auxiliary functions to run the codes as python scripts
  • benchmarks: Information from other studies that was used to benchmark our models
  • conceptual_models: Codes to calibrate basin-wise process-based hydrological model. The calibration routines are based on the SPOTPY library (https://spotpy.readthedocs.io/en/latest/). The process-based models are used as baselines to compare the performance of the hybrid models
  • datasetzoo: Codes to process the datasets and incorporate them to the models
  • experiments: JupyterNotebooks to run the experiments
  • modelzoo: Codes of the different models that can be used
  • results: Folder where the results generated by all the codes will be stored.

Dependencies

The packages used to run the codes are indicated at the beginning of each notebook. It must be considered that the codes for the data-driven models run better in GPU, therefore a PyTorch version that supports GPU should be installed!

Citation

If you use this code in your research, please cite:

@Article{hess-2024-375,
AUTHOR = {Manoj J, A. and Loritz, R. and Gupta, H. and Zehe, E.},
TITLE = {Can discharge be used to inversely correct precipitation?},
JOURNAL = {Hydrology and Earth System Sciences Discussions},
VOLUME = {2024},
YEAR = {2024},
PAGES = {1--24},
URL = {https://hess.copernicus.org/preprints/hess-2024-375/},
DOI = {10.5194/hess-2024-375}
}

Authors:

About

Branch containing forked code from Hy2DL. Added functionality is given to access Caravan datasets. Conceptual model runs are run to supplement the analysis in lstm_backward repo.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages