hydromodpy.calibration.cases.groundwater_1d#
Transient 1D unconfined-aquifer analytical calibration case.
This module ports the groundwater_1d calibration case from the old
hydromodpy.analysis.calibration.cases.groundwater_1d tree to the new
hydromodpy.calibration engine API.
Physics#
The model solves a 1D Dupuit-Forchheimer unconfined aquifer with a material
interface at x = xi. Two formulations are supported:
Linearized around mean saturated thickness
H:Sy * dh/dt = d/dx( K*H * dh/dx ) + R(t)
Nonlinear Boussinesq:
Sy * dh/dt = d/dx( K*h * dh/dx ) + R(t)
Domain x in [0, L] with Dirichlet boundary at x=0 and impermeable
(Neumann) at x=L. The finite-difference implementation uses harmonic
means for face transmissivities, tridiagonal solves (Thomas algorithm),
and Picard fixed-point iterations for the nonlinear option.
Calibration#
build_noisy_groundwater_chronicle(config) forges a synthetic noisy
head chronicle from “true” parameters. make_groundwater_simulator
returns a callable mapping {Kam, Kav, Syam, Syav, xi} to the flattened
observation vector. calibrate_groundwater wires these two pieces to
CalibrationEngine with any registered optimizer.
Module attributes
|
Canonical calibration parameter order for this case. |
Functions
|
Build one synthetic noisy head chronicle. |
|
Run a calibration of the groundwater_1d case and return a summary. |
|
Build the default |
|
Build a simulator callable |
|
Run the 1D transient simulation and return |
Classes
|
Numerical controls for the implicit solver. |
|
Physical parameters of the 1D aquifer model. |