You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
My attempt to list interesting open source python projects that can be used in the field of Hydrology. In a 2024 update, I automated various tasks to maintain the quality of this list, and added more information about the packages that can serve as quality indicators. The description now lists when the last update on Pypi/Conda was, to highlight whether a package is probably active (🟢) or inactive (🔴). Also information about the FAIR repository, description paper, and Continuous Integration testing (CI) is included. All this in the hope that more and more packages develop according to common research software developement best practices. Suggestions as issues or pull requests are welcome!
A hydrologic modeling framework that can be used for the systematic analysis of alternative model conceptualizations with respect to flux parameterizations, spatial configurations, and numerical solution techniques. (Version: 1.2.0, Last Update: 🔴 19-01-16)
Xanthos is an open-source hydrologic model, written in Python, designed to quantify and analyze global water availability. (Version: 2.4.1, Last Update: 🔴 21-08-10)
Python code to process, build and visualize MODFLOW models in the Netherlands. Model data is stored in a xarray Datasets and geopandas GeoDataFrames. (Version: 0.9.0, Last Update: 🟢 24-11-26)
A Python library for the assessment of spatially distributed groundwater recharge and hydrological components with HELP. (Version: 0.4.0, Last Update: 🔴 22-06-20)
MELODIST is an open-source toolbox written in Python for disaggregating daily meteorological time series to hourly time steps. (Version: 0.1.6, Last Update: 🟢 24-06-07)
MetPy is a collection of tools in Python for reading, visualizing and performing calculations with weather data. (Version: 1.6.3, Last Update: 🟢 24-08-26)
MetSim is a meteorological simulator and forcing disaggregator for hydrologic modeling and climate applications. (Version: 2.4.4, Last Update: 🔴 23-11-06)
A Python implementation of the FAO-56 dual crop coefficient approach for crop water use estimation and irrigation scheduling. (Version: 1.3.0, Last Update: 🟢 24-03-21)
pySTEPS is a community-driven initiative for developing and maintaining an easy to use, modular, free and open source Python framework for short-term ensemble prediction systems. (Version: 1.13.0, Last Update: 🟢 24-12-04)
This module provides the HTimeseries class, which is a layer on top of pandas, offering a little more functionality. (Version: 8.0.0, Last Update: 🟢 24-11-23)
A powerful, format-agnostic, and community-driven Python library for analysing and visualising Earth science data. (Version: 1.0.7, Last Update: 🔴 20-02-07)
iRONS (interactive Reservoir Operation Notebooks and Software) is a python package that enables the simulation, forecasting and optimisation of reservoir systems. (Version: 1.0, Last Update: 🔴 22-11-12)
The Landlab project creates an environment in which scientists can build a numerical landscape model without having to code all of the individual components. (Version: 2.9.2, Last Update: 🟢 24-10-18)
PyMT is an Open Source Python package that provides the necessary tools used for the coupling of models that expose the Basic Model Interface (BMI). (Version: 0.5.1, Last Update: 🔴 10-09-06)
Wetland is a toolset for mapping surface water and wetland hydrological dynamics using fine-resolution aerial imagery within Google Earth Engine (GEE). (Version: 0.1.0, Last Update: 🔴 18-10-19)
Dataretrieval is a Python package for obtaining USGS or EPA water quality data, streamflow data, and metadata directly from web services. (Version: 1.0.11, Last Update: 🟢 24-10-25)
Is a collection of software targeted at the development and deployment of spatio-temporal environmental models. (Version: 4.4.1, Last Update: 🔴 No date)
A Python/Cython based library that provides a set of commonly used raster, vector, and hydrological operations for GIS processing. (Version: 2.4.6, Last Update: 🟢 24-10-15)
Python modules for model-independent uncertainty analyses, data-worth analyses, and interfacing with PEST(++). (Version: 1.3.8, Last Update: 🟢 24-12-11)
Pysdi is a set of open source scripts that compute non-parametric standardized drought indices (SDI) using raster data sets as input data. (Version: 0.2.6.3.1, Last Update: 🔴 20-02-25)
Legacy Packages
These packages are not maintained anymore, or might not meet a minimum set of requirements, but might still be useful for some users.
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.
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.
wflow consists of a set of Python programs that can be run on the command line and perform hydrological simulations. The models are based on the PCRaster Python framework (Version: 2020.1.2, Last Update: 🔴 20-11-26)
A python library for processing and plotting borehole and CPT data, developed for open data formats in the Netherlands.
Background Info
UPDATE: The Pypa package authority has now added "Hydrology" as a classifier so we can start collecting python packages used by the hydrological community! If you are maintaining a python package, please add Topic :: Scientific/Engineering :: Hydrology to your setup.py so people can find your package.