Introduction#

TimML is a Python package for the modeling of steady-state multi-layer groundwater flow with analytic elements.

TimML may be applied to an arbitrary number of layers and an arbitrary sequence of aquifers and leaky layers. The head, flow, and leakage between aquifer layers may be computed analytically at any point in the aquifer system. The Dupuit approximation is applied to flow in aquifer layers (i.e., the resistance to flow in the vertical direction is neglected), while flow in leaky layers is approximated as vertical.

User-guide

Tutorials and how-to guides for getting started with TimML.

Tutorials and How-to Guides
Concepts

TimML fundamental concepts explained.

Concepts
Examples

TimML example notebooks.

Examples
Cross-sections

Cross-sectional models explained.

Cross-sectional Modeling
Benchmarks

Notebooks testing/benchmarking TimML implementations.

Benchmarks
Code reference

TimML code reference.

API Reference

Quick Example#

In this example a well is modelled near a river in a single aquifer.

# import python packages
import numpy as np
import timml

# create model
ml = timml.ModelMaq(kaq=10, z=[20, 0]) # single layer model

# add a river with a fixed water level
yls = np.arange(-100, 101, 20) # 20 points, so 19 segments
xls = 50 * np.ones_like(yls)
river = timml.RiverString(ml, xy=list(zip(xls, yls)), hls=0.0)

# add a well
well = timml.Well(ml, 0, 0, rw=0.3, Qw=1000)

# solve model
ml.solve()

# plot head contours
ml.plots.contour(win=[-30, 55, -30, 30], ngr=40, labels=True, decimals=1)

In this example a well is modelled near a river in a single aquifer.

_images/example_output.png