Hydrology, applied

Rivers, aquifers and other wet things that can flood your house

September 7, 2020 — October 27, 2023

machine learning
Figure 1: Refugees from Brazil’s Grande Seca drought of 1878

TBD: Ground water hydrology, surface water hydrology, coastal water hydrology…

1 Introductions

AFAICT the go-to applied reference for groundwater is Anderson, Woessner, and Hunt (2015). I have skimmed it and now I know just enough to be dangerous. Fortunately I have my esteemed colleagues in hydrology, Stephanie Clark, Sreekanth-Janardhanan and Tao Cui, and who explain the tricky bits to me.

Stephanie’s recommendations for tutorial introductions:

We are solving fairly slow and simple fluid dynamics equations but they are still complicated enough in practice.

2 Landlab

landlab (Barnhart et al. 2020; Hobley et al. 2017; Hutton et al. 2020)

… is an open-source Python-language package for numerical modeling of Earth surface dynamics. It contains

  • A gridding engine which represents the model domain. Regular and irregular grids are supported.
  • A library of process components, each of which represents a physical process (e.g., generation of rain, erosion by flowing water). These components have a common interface and can be combined based on a user’s needs.
  • Utilities that support general numerical methods, file input/output, and visualization.

In addition Landlab contains a set of Jupyter notebook tutorials providing an introduction to core concepts and examples of use.

Landlab was designed for disciplines that quantify Earth surface dynamics such as geomorphology, hydrology, glaciology, and stratigraphy. It can also be used in related fields. Scientists who use this type of model often build their own unique model from the ground up, re-coding the basic building blocks of their landscape model rather than taking advantage of codes that have already been written. Landlab saves practitioners from the need for this kind of re-invention by providing standardized components that they can re-use.


An important industry standard from the USGS. See MODFLOW.


OrchardLANL/DPFEHM.jl: DPFEHM: A Differentiable Subsurface Flow Simulator

DPFEHM is a Julia module that includes differentiable numerical models with a focus on fluid flow and transport in the Earth’s subsurface. Currently it supports the groundwater flow equations (single phase flow), Richards equation (air/water), the advection-dispersion equation, and the 2d wave equation.

Does not seem to support CUDA well but is nifty. Use in e.g. Pachalieva et al. (2022).

Pronounced “dip-fahhhh-m”, why not?

Figure 2


LISFLOOD is the underlying rainfall-runoff-routing model of the European Flood Awareness System (EFAS) which operationally monitors and forecasts floods across Europe

6 FwiFlow

We treat physical simulations as a chain of multiple differentiable operators, such as discrete Laplacian evaluation, a Poisson solver, and a single implicit time-stepping for nonlinear PDEs. They are like building blocks that can be assembled to make simulation tools for new physical models.

Those operators are differentiable and integrated within a computational graph so that the gradients can be computed automatically and efficiently via analyzing the dependency in the graph. Also, independent operators run in parallel, thanks to the graph-based parallelization mechanism of TensorFlow. With the gradients, we can perform gradient-based PDE-constrained optimization for inverse problems.

FwiFlow is built on ADCME, a powerful static-graph-based automatic differentiation library for scientific computing (with TensorFlow backend). FwiFlow implements the idea of Intrusive Automatic Differentiation.

Figure 3

7 Geostats Framework

GeoStat Framework:

This Framework was created within the PhD project of Sebastian Müller at the Computational Hydrosystems Department at the UFZ Leipzig.

AnaFlow Quickstart

AnaFlow provides several analytical and semi-analytical solutions for the groundwater-flow equation.


WellTestPy is a python-package for handling well based field campaigns. You can easily estimate parameters of aquifer-heterogeneity from pumping test data.

8 Swift

Swift – A shallow water based integrated flood tool for urban flood inundation and adaptation

Swift is a toolkit for the end-to-end processing, simulation and analysis of floods. Users can design custom workflows by building on Swift’s computational shallow water solver and incorporating various input, processing and visualisation components, each tailored for flood modelling. The Swift toolkit provides hydrodynamic and coupled hydraulic modelling capability with analysis tools for mitigation options. Swift can be used for both catchment and coastal flood modelling, including sea level rise, for present and future flooding. The capabilities of Swift have been used in a number of flood mitigation projects for cities across Australia.

9 Dune/Dumx

A porous flow solver which solves diverse PDEs but especially porous flow ones. C++/Python.


A solver for surface water equations, targeting approximately the same problems as Swift, although possibly with fewer GPU accelerations.

11 Neuralhydrology

Python library to train neural networks with a strong focus on hydrological applications.

This package has been used extensively in research over the last year and was used in various academic publications. The core idea of this package is modularity in all places to allow easy integration of new datasets, new model architectures or any training related aspects (e.g. loss functions, optimizer, regularization). One of the core concepts of this code base are configuration files, which lets anyone train neural networks without touching the code itself. The neuralHydrology package is build on top of the deep learning framework Pytorch, since it has proven to be the most flexible and useful for research purposes.

We (AI for Earth Science group at Institute for Machine Learning, Johannes Kepler University, Linz, Austria) are using this code in our day-to-day research and will continue to integrate our new research findings into this public repository.

12 Datasets

Try Pangeo Hydrology Dataset Catalog, which lists some hydrology-focussed spatial data. Locally I might try Groundwater Use by Geoscience Australia

UCSB Climate hazards data.

13 Exotics

Gravity tomography at NASA! GRACE

14 Incoming

15 References

Anderson, Woessner, and Hunt. 2015. Applied Groundwater Modeling: Simulation of Flow and Advective Transport.
Bakker, Mark. 2013. Analytic Modeling of Transient Multilayer Flow.” In Advances in Hydrogeology.
Bakker, M., Post, Langevin, et al. 2016. Scripting MODFLOW Model Development Using Python and FloPy.” Groundwater.
Barnett, Harrington, Cook, et al. 2020. Groundwater in Australia: Occurrence and Management Issues.” In Sustainable Groundwater Management: A Comparative Analysis of French and Australian Policies and Implications to Other Countries. Global Issues in Water Policy.
Barnhart, Hutton, Tucker, et al. 2020. Landlab V2. 0: A Software Package for Earth Surface Dynamics.” Earth Surface Dynamics.
Bruno, and Vesnaver. 2021. Groundwater characterization in arid regions using seismic and gravity attributes: Al Jaww Plain, UAE.” Frontiers in Earth Science.
Cai, and Reeve. 2013. Extreme Value Prediction via a Quantile Function Model.” Coastal Engineering.
Cranmer, Greydanus, Hoyer, et al. 2020. Lagrangian Neural Networks.” arXiv:2003.04630 [Physics, Stat].
Cui, Peeters, Pagendam, et al. 2018. Emulator-Enabled Approximate Bayesian Computation (ABC) and Uncertainty Analysis for Computationally Expensive Groundwater Models.” Journal of Hydrology.
Gladish, Pagendam, Peeters, et al. 2018. Emulation Engines: Choice and Quantification of Uncertainty for Complex Hydrological Models.” Journal of Agricultural, Biological and Environmental Statistics.
Godfried, Mahajan, Wang, et al. 2020. FlowDB a Large Scale Precipitation, River, and Flash Flood Dataset.” arXiv:2012.11154 [Cs].
Guo, Zhuang, Chen, et al. 2022. Stochastic Deep Collocation Method Based on Neural Architecture Search and Transfer Learning for Heterogeneous Porous Media.” Engineering with Computers.
He, Barajas-Solano, Tartakovsky, et al. 2020. Physics-Informed Neural Networks for Multiphysics Data Assimilation with Application to Subsurface Transport.” Advances in Water Resources.
Hobley, Adams, Nudurupati, et al. 2017. Creative Computing with Landlab: An Open-Source Toolkit for Building, Coupling, and Exploring Two-Dimensional Numerical Models of Earth-Surface Dynamics.” Earth Surface Dynamics.
Hoffimann, Zortea, de Carvalho, et al. 2021. Geostatistical Learning: Challenges and Opportunities.” Frontiers in Applied Mathematics and Statistics.
Hutton, Barnhart, Hobley, et al. 2020. Landlab.”
Kimura, Yoshinaga, Sekijima, et al. 2020. Convolutional Neural Network Coupled with a Transfer-Learning Approach for Time-Series Flood Predictions.” Water.
Lee, Higdon, Bi, et al. 2002. Markov Random Field Models for High-Dimensional Parameters in Simulations of Fluid Flow in Porous Media.” Technometrics.
Leong. 2018. The Role of Narratives in Sociohydrological Models of Flood Behaviors.” Water Resources Research.
Li, Xu, Harris, et al. 2020. Coupled Time-Lapse Full Waveform Inversion for Subsurface Flow Problems Using Intrusive Automatic Differentiation.”
Lutter, Ritter, and Peters. 2019. Deep Lagrangian Networks: Using Physics as Model Prior for Deep Learning.” arXiv:1907.04490 [Cs, Eess, Stat].
McInerney, Thyer, Kavetski, et al. 2018. A Simplified Approach to Produce Probabilistic Hydrological Model Predictions.” Environmental Modelling & Software.
Newell, and Wasson. 2002. “Social System Vs Solar System: Why Policy Makers Need History.” In.
Pachalieva, O’Malley, Harp, et al. 2022. Physics-Informed Machine Learning with Differentiable Programming for Heterogeneous Underground Reservoir Pressure Management.”
Pagendam, Janardhanan, Dabrowski, et al. 2023. A Log-Additive Neural Model for Spatio-Temporal Prediction of Groundwater Levels.” Spatial Statistics.
Pirinen, Mogren, and Västerdal. 2023. Fully Convolutional Networks for Dense Water Flow Intensity Prediction in Swedish Catchment Areas.”
Qian, Kramer, Peherstorfer, et al. 2020. Lift & Learn: Physics-Informed Machine Learning for Large-Scale Nonlinear Dynamical Systems.” Physica D: Nonlinear Phenomena.
Raissi, Yazdani, and Karniadakis. 2020. Hidden Fluid Mechanics: Learning Velocity and Pressure Fields from Flow Visualizations.” Science.
Santos-Fernandez, Hoef, Peterson, et al. 2021. Bayesian Spatio-Temporal Models for Stream Networks.”
Shen, Chen, and Laloy. 2021. Editorial: Broadening the Use of Machine Learning in Hydrology.” Frontiers in Water.
Siade, Cui, Karelse, et al. 2020. Reduced‐Dimensional Gaussian Process Machine Learning for Groundwater Allocation Planning Using Swarm Theory.” Water Resources Research.
Siade, Putti, and Yeh. 2010. Snapshot selection for groundwater model reduction using proper orthogonal decomposition.” Water Resources Research.
Sun, Scanlon, Zhang, et al. 2019. Combining Physically Based Modeling and Deep Learning for Fusing GRACE Satellite Data: Can We Learn From Mismatch? Water Resources Research.
Tait, and Damoulas. 2020. Variational Autoencoding of PDE Inverse Problems.” arXiv:2006.15641 [Cs, Stat].
Tartakovsky, Marrero, Perdikaris, et al. 2018. Learning Parameters and Constitutive Relationships with Physics Informed Deep Neural Networks.”
Tonkin, and Doherty. 2009. Calibration-Constrained Monte Carlo Analysis of Highly Parameterized Models Using Subspace Techniques.” Water Resources Research.
White. 2018. A Model-Independent Iterative Ensemble Smoother for Efficient History-Matching and Uncertainty Quantification in Very High Dimensions.” Environmental Modelling & Software.
White, Fienen, and Doherty. 2016a. pyEMU: A Python Framework for Environmental Model Uncertainty Analysis Version .01.”
———. 2016b. A Python Framework for Environmental Model Uncertainty Analysis.” Environmental Modelling & Software.
Xu, Li, Darve, et al. 2019. Learning Hidden Dynamics Using Intelligent Automatic Differentiation.”
Yu, Cui, Sreekanth, et al. 2020. Deep Learning Emulators for Groundwater Contaminant Transport Modelling.” Journal of Hydrology.