Skip to main content

gwassess

Analytical Solutions for the Richards Equation in 2D and 3D Domains

gwassess is a python package that implements analytical and reference solutions to the Richards equation in 2D and 3D domains. The package provides benchmark solutions for testing numerical solvers of unsaturated flow in porous media.

Installation

gwassess is a standard python package that can be installed from source:

cd gwassess
pip install .

Or install directly from the repository:

pip install git+https://github.com/g-adopt/gwassess.git

Usage

Basic usage example for the Tracy 2D analytical solution:

import gwassess
import numpy as np

# Initialize Tracy solution with soil and domain parameters
solution = gwassess.TracyRichardsSolution2D(
    alpha=0.328,      # Exponential soil parameter [1/m]
    hr=-15.24,        # Reference pressure head [m]
    L=15.24,          # Domain size [m]
    theta_r=0.15,     # Residual water content [-]
    theta_s=0.45,     # Saturated water content [-]
    Ks=1.0e-05        # Saturated hydraulic conductivity [m/s]
)

# Evaluate pressure head at a point
x, y, t = 7.62, 7.62, 1000.0
h = solution.pressure_head_specified_head(x, y, t)
print(f"Pressure head at ({x}, {y}) at time {t}: {h:.6f} m")

# Or use Cartesian coordinates
X = [7.62, 7.62]
h = solution.pressure_head_cartesian(X, t, bc_type='specified_head')

Available Solutions

TracyRichardsSolution2D

Analytical solution for 2D Richards equation with exponential soil properties. Provides both steady-state and transient solutions with two boundary condition types:

  • Specified head on all boundaries

  • No-flux on lateral boundaries

Reference: Tracy, F. T. (2006). Clean two- and three-dimensional analytical solutions of Richards’ equation for testing numerical solvers. Water Resources Research, 42(8). https://doi.org/10.1029/2005WR004638

VauclinRichardsSolution2D

Reference solution for 2D infiltration benchmark with Haverkamp soil model. This is a numerical benchmark without closed-form analytical solution, but provides standard problem setup for comparison.

Reference: Vauclin, M., Khanji, D., & Vachaud, G. (1979). Experimental and numerical study of a transient, two-dimensional unsaturated-saturated water table recharge problem. Water Resources Research, 15(5), 1089-1101.

CockettRichardsSolution3D

Reference solution for 3D heterogeneous benchmark with Van Genuchten soil model. Provides spatially varying material properties and standard problem setup.

Reference: Cockett, R., Heagy, L. J., & Haber, E. (2018). Efficient 3D inversions using the Richards equation. Computers & Geosciences, 116, 91-102.

Documentation

For complete API reference and examples, see the docstrings in each module:

  • gwassess.tracy - Tracy 2D analytical solutions

  • gwassess.vauclin - Vauclin 2D reference solution

  • gwassess.cockett - Cockett 3D reference solution

License

gwassess is licensed under the GNU Lesser General Public License v3 (LGPLv3). See LICENSE.txt for details.

Contributing

Contributions are welcome! Please submit issues and pull requests on GitHub: https://github.com/g-adopt/gwassess

Metadata

Release files for gwassess 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for gwassess 1.0.0
File Size Uploaded
gwassess-1.0.0.tar.gz 11.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for gwassess 1.0.0
File Interpreter ABI Platform
gwassess-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 21.8 kB

Release files / gwassess-1.0.0.tar.gz

Download URL gwassess-1.0.0.tar.gz
Size 11.5 kB
Tags Source
SHA-256 checksum
How to use checksums
9a55322135732b35fc60da2e5111d68a587f509ad7df0a28a6f43b104292ca79
BLAKE2b-256 checksum
How to use checksums
187636c18d49e41c7f4652d2b2adc089ceca54d9f4125644d20d9d39eee5bfc7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 15, 2026.

Transparency log

Release files / gwassess-1.0.0-py3-none-any.whl

Download URL gwassess-1.0.0-py3-none-any.whl
Size 10.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
34466e8d97779c0133fdf24e9559718a9b3295b803c2c75194694fb11567724a
BLAKE2b-256 checksum
How to use checksums
06e0d7848e4d1152a1e6335355dd360a53ffd4003668d771c2298e669cc5693f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on May 15, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page