/Python-Hydrology-Tools

This repository holds a list of open source Python packages interesting to Hydrologists

Open Source Python Packages in Hydrology

My attempt to list interesting open source python projects that can be used in the field of Hydrology. Suggestions as issues or pull requests are welcome!

R.A. Collenteur, University of Graz.

Hydrological Models

Project Name Description
CMF Catchment Modelling Framework, a hydrologic modelling toolbox.
TopoFlow Spatial hydrologic model (D8-based, fully BMI-compliant).
VIC The Variable Infiltration Capacity (VIC) Macroscale Hydrologic Model.
Xanthos Xanthos is an open-source hydrologic model, written in Python, designed to quantify and analyze global water availability.
WRF-Hydro wrfhydrpy is a Python API for the WRF-Hydro modelling system.
EXP-HYDRO EXP-HYDRO is a catchment scale hydrological model that operates at a daily time-step. It takes as inputs the daily values of precipitation, air temperature, and potential evapotranspiration, and simulates daily streamflow at the catchment outlet.

Meteorological tools

Project Name Description
MetPy MetPy is a collection of tools in Python for reading, visualizing and performing calculations with weather data.
PyEto PyETo is a Python library for calculating reference crop evapotranspiration (ETo), sometimes referred to as potential evapotranspiration (PET). The library provides numerous functions for estimating missing meteorological data.
Improver IMPROVER is a library of algorithms for meteorological post-processing and verification.
MetSim MetSim is a meteorological simulator and forcing disaggregator for hydrologic modeling and climate applications.

Time Series (Analysis)

Project Name Description
Hydropy Analysis of hydrological oriented time series.
Pastas Analysis of hydrological time series using time series models.

Groundwater

Project Name Description
Flopy The Python interface to MODFLOW.
Idfpy A simple module for reading and writing iMOD IDF files. IDF is a simple binary format used by the iMOD groundwater modelling software.
WellApplication Set of tools for groundwater level and water chemistry analysis.
TIMML A Multi-Layer, Analytic Element Model.
TTim A Multi-Layer, Transient, Analytic Element Model.

GIS Related

Project Name Description
PcRaster Is a collection of software targeted at the development and deployment of spatio-temporal environmental models.
PyGeoprocessing a Python/Cython based library that provides a set of commonly used raster, vector, and hydrological operations for GIS processing.
Pysheds Simple and fast watershed delineation in python.

Optimization, Uncertainty, Statistics

Project Name Description
LMFIT Non-Linear Least Squares Minimization, with flexible Parameter settings, based on scipy.optimize.leastsq, and with many additional classes and methods for curve fitting.
SPOTpy A Statistical Parameter Optimization Tool for Python.
PyGLUE Generalised Likelihood Uncertainty Estimation (GLUE) Framework.
Pyemu python modules for model-independent uncertainty analyses, data-worth analyses, and interfacing with PEST(++).
HPGL High Performance Geostatistics Library.

Data Collection

Project Name Description
HKVFEWSPY Connection to the Delft FEWS servers
Openradar Library for processing a set of dutch, german and belgian precipitation radars into calibrated composites.
Ecohydrolib Libraries and command-line scripts for performing ecohydrology data preparation workflows.

Miscellaneous

Project Name Description
ESMPY Earth System Modeling Framework (ESMF) Python interface
PyHSPF Python extensions to the Hydrological Simulation Program in Fortran (HSPF),
PYWR spatial allocation tool
SPHY Spatial Processes in HYdrology (SPHY) model
xsboringen (In Dutch) A python library for processing and plotting borehole and CPT data, developed for open data formats in the Netherlands.