Current release info Gitter PyPI

Hapi - Hydrological library for Python

_images/Hapi.png _images/name.png

Hapi is a Python package providing fast and flexible way to build Hydrological models with different spatial representations (lumped, semidistributed and conceptual distributed) using HBV96. The package is very flexible to an extent that it allows developers to change the structure of the defined conceptual model or to enter their own model, it contains two routing functions muskingum cunge, and MAXBAS triangular function.

Main Features

  • Modified version of HBV96 hydrological model (Bergström, 1992) with 15 parameters in case of considering snow processes, and 10 parameters without snow, in addition to 2 parameters of Muskingum routing method

  • Remote sensing module to download the meteorological inputs required for the hydrologic model simulation (ECMWF)

  • GIS modules to enable the modeler to fully prepare the meteorological inputs and do all the preprocessing needed to build the model (align rasters with the DEM), in addition to various methods to manipulate and convert different forms of distributed data (rasters, NetCDF, shapefiles)

  • Sensitivity analysis module based on the concept of one-at-a-time OAT and analysis of the interaction among model parameters using the Sobol concept ((Rusli et al., 2015)) and a visualization

  • Statistical module containing interpolation methods for generating distributed data from gauge data, some distribution for frequency analysis and Maximum likelihood method for distribution parameter estimation.

  • Visualization module for animating the results of the distributed model, and the meteorological inputs

  • Optimization module, for calibrating the model based on the Harmony search method

The recent version of Hapi (Hapi 1.0.1 Farrag et al. (2021)) integrates the global hydrological parameters obtained by Beck et al., (2016), to reduce model complexity and uncertainty of parameters.

For using Hapi please cite Farrag et al. (2021) and Farrag & Corzo (2021) References

IHE-Delft sessions

digraph Linking {
Hapi -> GIS;
Hapi -> HM;
Hapi -> RemoteSensing;
Hapi -> RRM;
Hapi -> Statistics;
Hapi -> catchment;
Hapi -> weirdFn;
Hapi -> visualizer;
digraph Linking {
RRM -> calibration;
RRM -> distparameters;
RRM -> distrrm;
RRM -> routing;
RRM -> run;
RRM -> inputs;
RRM -> wrapper;
RRM -> hbv_lake;
RRM -> hbv_bergestrom92;
digraph Linking {
HM -> inputs;
HM -> event;
HM -> river;
HM -> calibration;
HM -> crosssection;
HM -> interface;

Future work

  • Developing a regionalization method for connection model parameters with some catchment characteristics for better model calibration.

  • Developing and integrate river routing method (kinematic and diffusive wave approximation)

  • Apply the model for large scale (regional/continental) cases

  • Developing a DEM processing module for generating the river network at different DEM spatial resolutions.


Farrag, M. & Corzo, G. (2021) MAfarrag/Hapi: Hapi. doi:10.5281/ZENODO.4662170

Farrag, M., Perez, G. C. & Solomatine, D. (2021) Spatio-Temporal Hydrological Model Structure and Parametrization Analysis. J. Mar. Sci. Eng. 9(5), 467. doi:10.3390/jmse9050467

Beck, H. E., Dijk, A. I. J. M. van, Ad de Roo, Diego G. Miralles, T. R. M. & Jaap Schellekens, and L. A. B. (2016) Global-scale regionalization of hydrologic model parameters-Supporting materials 3599–3622. doi:10.1002/2015WR018247.Received

Bergström, S. (1992) The HBV model - its structure and applications. Smhi Rh 4(4), 35.

Rusli, S. R., Yudianto, D. & Liu, J. tao. (2015) Effects of temporal variability on HBV model calibration. Water Sci. Eng. 8(4), 291–300. Elsevier Ltd. doi:10.1016/j.wse.2015.12.002