Groundwater hydrology, applied
Rivers, aquifers and other wet things that can flood your house
September 7, 2020 — October 27, 2023
TBD: Ground water hydrology, surface water hydrology… For oceans see oceanography.
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, who explain the tricky bits to me.
Stephanie’s recommendations for tutorial introductions:
- NGWA Groundwater fundamentals
- Groundwater Basics – The Groundwater Foundation
- Hydrogeology - Episode 4 - The Water Table, Aquifers, and Potentiometric Surfaces
- Webinar: Groundwater with Darcy and Bernoulli - Australian Water School
- pythongroundwaterbook/analytic_gw_book: This repository contains the Python code of “Analytical Groundwater Modeling: Theory and Applications Using Python” by Mark Bakker and Vincent Post
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.
10 minutes to Landlab has tasty examples, e.g.
3 MODFLOW
An important industry standard from the USGS. See MODFLOW.
4 DPFEHM
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?
5 LISFLOOD
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 analysing 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.
7 Geostats Framework
This Framework was created within the PhD project of Sebastian Müller at the Computational Hydrosystems Department at the UFZ Leipzig.
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.
10 ANUGA
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 built 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
13 Exotics
Gravity tomography at NASA! GRACE