Is the water table dynamic?
Yes - and the static fit in water_table.md does not capture any of it. That fit reduced ~4,100 days of daily record per station to one mean. This goes back to the series.
Yes - and the static fit in water_table.md does not capture any of it. That fit reduced ~4,100 days of daily record per station to one mean. This goes back to the series.
47 stations with 3+ years of daily record.

The three numbers that decide a scheme
| aquifer | stations | annual swing m | biggest swing m | headroom at the seasonal high m | peaks in |
|---|---|---|---|---|---|
| Chalk | 18 | 11.9 | 83.6 | 52.8 | Feb |
| unknown | 23 | 1.0 | 27.7 | 12.5 | Feb |
AMPLITUDE is the band the water table already sweeps every year. It is the most useful storage number in this project, because unlike drainable volume it is not a calculation - it is the aquifer observed doing it, unaided, every year.
HEADROOM is depth to water at the seasonal HIGH, and it is the binding constraint everyone forgets. Surplus water exists in winter. Winter is when the aquifer is already fullest. Storage capacity and INJECTION capacity are different quantities and only the second is about timing - an aquifer with a metre of headroom in February cannot be banked into in February however much drainable storage it shows in September.
TIMING. Most stations peak in Feb. A store is only worth building if it is low when the surplus arrives and full when the deficit does; an aquifer that peaks with the rivers offers no seasonal shift and is a conduit, not a store.
Seasonally active volume vs total drainable
What the aquifer already exchanges each year, against what it is calculated to hold.
| unit | swing m | km2 | active Mm3/yr | drainable Mm3 | active as % of drainable |
|---|---|---|---|---|---|
| Grey Chalk Subgroup + White Chalk Subgroup | 11.9 | 2,230 | 41 | 489 | 8% |
A high percentage means the aquifer already turns over most of what it holds - responsive, but with little idle capacity to borrow. A low one means the opposite: a large body of water that simply sits there, which is only useful if a well can reach it.
What this still does NOT do
- No transfer function to rainfall or river flow. Coupling is characterised by TIMING here - the month of peak - not by a fitted lag. Doing it properly means cross-correlating each station against its catchment rainfall series (
build_rainfall.pyalready builds them) and against the nearest gauge, then fitting a lag and a gain per aquifer. That is a real piece of work and it is the obvious next one. - No response to injection. Nothing in the record contains an injection, so nothing here can say how the water table would respond to one. Amplitude bounds it: an aquifer that naturally swings 2 m will not absorb a 20 m mound without pushing back.
- Quick-draining aquifers are described, not modelled.
analyse_recession.pyand the registry’s half-life tiers already carry that; the amplitudes here should be read against them, and a unit with a big swing and a short half-life is a conduit however much storage it appears to have.