Evidence · Water quality

Water quality across the reach: oxygen, nutrients & the zinc gap

Dissolved oxygen, ammonia, orthophosphate, nitrate and temperature from Teddington Weir down to Richmond, read straight from the Environment Agency's Water Quality Archive. The freshwater above the weir stays oxygenated but is heavily enriched with nutrients; the tidal reach below Mogden repeatedly sags to fish-stress oxygen levels. And one named pollutant — zinc — is not measured at all.

Teddington Weir → Richmond EA Water Quality Archive (WIMS) 2004–2026 · 2,432 observations RAW-PULL

EA Water Quality Archive · ~monthly grab samples

The headline figures

Two sampling points carry the story: Thames at Teddington Weir (TH-PTHR0107), the freshwater point at the tidal limit, and Thames at Richmond (TH-PTTR0002), tidal water below Mogden sewage works. Twenty-two years of ~monthly samples show a river that is well-oxygenated at the surface but nutrient-rich — and a tidal reach that, in summer, loses its oxygen.

2.53mg/l
lowest tidal dissolved oxygen — just 30% saturation, at Richmond in Jul 2006. Tidal DO fell below the 5 mg/l fish-stress line in 8.2% of samples.
Pooled tidal points, n=98 DERIVED from RAW-PULL
91.6%
of freshwater samples exceed the ~0.10 mg/l orthophosphate boundary — classic eutrophication; oxygen supersaturates to 182% in algal blooms.
Teddington Weir, n=286 DERIVED from RAW-PULL
~2×
the phosphate load in the tidal reach vs fresh — Richmond mean 0.663 against Teddington 0.267 mg/l (as P).
Richmond vs Teddington means RAW-PULL
0
zinc records at any of the 12 reach water-quality points — although zinc is the named "Moderate" driver on the tidal water body. It cannot be checked from open data.
All reach points, all years PROVEN GAP

Dissolved oxygen: healthy above the weir, fish-stress below Mogden

Dissolved oxygen is the single best measure of whether a river can support fish. Above Teddington Weir the freshwater Thames never fell below 5 mg/l in 283 samples (lowest 5.82 mg/l). Below the weir and Mogden sewage works, the tidal water tells a different story: it repeatedly sags below the thresholds at which coarse fish begin to suffer.

Dissolved oxygen range — freshwater vs tidal reach

Each bar spans the lowest-to-highest recorded reading; the dot marks the mean · EA Water Quality Archive, 2004–2026

Dissolved oxygen: oxygenated above the weir, fish-stress lows below Mogden Range plot comparing dissolved oxygen in two parts of the reach. Freshwater above Teddington Weir, 283 samples, ranges 5.82 to 17.6 milligrams per litre with a mean of 10.3, and never falls below the 5 milligrams per litre coarse-fish stress line. The tidal reach below Mogden, 98 pooled samples, ranges from 2.53 to 14.5 milligrams per litre with a mean of 9.5, and its minimum crosses below both the 5 milligrams per litre stress line and the 3 milligrams per litre acute-risk line. 8.2 percent of tidal samples are below 5 milligrams per litre, all of them between June and October; the lowest, 2.53 milligrams per litre or 30 percent saturation, was at Richmond in July 2006. 3 mg/l acute risk 5 mg/l coarse-fish stress mean 10.3 5.82 17.6 Freshwater above the weir · n=283 mean 9.5 2.53 14.5 Tidal reach below Mogden · n=98 0 3 5 10 15 18 Dissolved oxygen (mg/l) — individual grab samples, 2004–2026
Source: EA Water Quality Archive (WIMS), /sampling-point/{id}/observation, determinand 9924. Freshwater = Teddington Weir TH-PTHR0107 (n=283); tidal = pooled Richmond, Teddington and low-flow points (n=98). Thresholds are indicative fish-stress guides, not the site-specific WFD standard. Provenance: RAW-PULL; pooling & excursion counts DERIVED.

The contrast is the point. The freshwater bar sits entirely to the right of the 5 mg/l stress line — DO there never breached it in 22 years. The tidal bar reaches left across both the 5 mg/l and 3 mg/l lines, bottoming out at 2.53 mg/l (30% saturation). Every sub-5 event falls between June and October, when warm water holds less oxygen and organic loading exerts most demand — consistent with, though not proof of, a sewage-driven summer oxygen sag below Mogden. Above the weir the opposite risk appears: oxygen supersaturates to 182% of saturation, the signature of an algal bloom feeding on excess nutrients.

Nutrients: eutrophic above the weir, twice as phosphate-rich below

Orthophosphate is the nutrient that drives freshwater eutrophication and is a named cause of the river's "Poor" WFD status. Above the weir it exceeds the indicative 0.10 mg/l boundary in 91.6% of samples — but the 20-year trend is genuinely downward, from a pre-2010 mean of 0.39 mg/l to 0.18 mg/l from 2020 on.

Orthophosphate above the weir — annual mean, 2004–2026

Thames at Teddington Weir (freshwater) · every annual mean stays above the eutrophication boundary

Orthophosphate above the weir: improving over 20 years, but eutrophic every year Line chart of annual mean orthophosphate as phosphorus at Thames at Teddington Weir, 2004 to 2026. Values fall from a 2004–05 peak of about 0.83 milligrams per litre to roughly 0.18 milligrams per litre in recent years, but every annual mean stays above the 0.10 milligrams per litre indicative eutrophication boundary. 2020 and 2026 are part-years with few samples. 0 0.2 0.4 0.6 0.8 Orthophosphate (as P) — mg/l 0.10 mg/l indicative boundary — every year above it (eutrophic) 0.83 (2005 peak) 0.18 2004 2008 2012 2016 2020 2024 Year — annual mean, Thames at Teddington Weir (freshwater)
Source: EA Water Quality Archive, Teddington Weir TH-PTHR0107, determinand 0180 (orthophosphate as P), 286 samples. Points are annual means; the dashed line is the ~0.10 mg/l indicative eutrophication boundary (type-general, not the site-specific WFD standard). 2020 (n=5) and 2026 (n=4, to April) are part-years — the hollow 2026 marker flags this. Provenance: RAW-PULL; annual means DERIVED.

Phosphate has fallen a long way since the mid-2000s, which weakens any "getting worse" narrative — but it has not fallen far enough: the river is still enriched well past the point where nutrients stop being a problem. Downstream in the tidal reach the concentration roughly doubles (Richmond mean 0.663 mg/l), consistent with the sewage and urban-drainage inputs the EA names as reasons the water body is not "good."

Determinand summary — freshwater (Teddington Weir TH-PTHR0107) vs tidal (Richmond TH-PTTR0002), EA Water Quality Archive, 2004–2026. Means over all samples; <DL set to ½ detection limit. Provenance: RAW-PULL, stats DERIVED.
Determinand Freshwater mean Tidal mean What it indicates
Dissolved oxygen (mg/l) 10.32 · min 5.82 8.81 · min 2.53 Fresh never <5; tidal sags to fish-stress in summer
DO saturation (%) 96 · max 182 84 · min 30 Fresh supersaturates (algal bloom); tidal depletes
Orthophosphate (mg/l as P) 0.267 · 91.6% >0.10 0.663 · ~2× Eutrophication driver — enriched throughout, worse tidal
Ammoniacal N (mg/l) 0.10 0.09 Low and improving at both points over 20 years
Nitrate (mg/l as N) 7.46 n=6 — insufficient Fresh series only; tidal too sparse to trend
Water temperature (°C) 12.79 14.76 Tidal runs warmer; warm water holds less oxygen
Zinc (dissolved / total) 0 records 0 records PROVEN GAP named tidal "Moderate" driver, unmonitored

Sample sizes: freshwater DO n=283, DO %sat n=284, ammonia n=285, orthophosphate n=286, nitrate n=256, temperature n=285. Tidal (Richmond) DO n=64, %sat n=88, ammonia n=60, orthophosphate n=60, temperature n=86. The Richmond nitrate series (n=6, 2025–26 only) is too short to trend and is excluded from any claim. RAW-PULL.

How to read this

Caveats a regulator would press — stated up front

  • The worst oxygen lows are historical. The 2.53 mg/l minimum and the tightest cluster of sub-5 events are 2004–2006. Recent tidal DO has improved — Richmond's 2020-on mean is ≈10.9 mg/l — so do not read a present-day crisis into a 20-year-old minimum. Ammonia and phosphate have also improved.
  • Correlation is not causation. The summer (Jun–Oct) clustering of low-DO events is consistent with sewage-driven oxygen demand, but monthly daytime grab samples miss the acute storm-spill and pre-dawn crashes, and these readings are not overlaid on Mogden's spill dates. The spill→oxygen link here is inferential, not proven.
  • Zinc is entirely unmonitored. Zinc has zero records at all 12 reach points, yet it is the named "Moderate" driver on the tidal water body — so that classification cannot be corroborated from open data at all.
  • No effluent or spill quality is published here. Mogden's own discharge points (TH-PTNE0063 combined, TH-PTNE0133 storm tank) return HTTP 204 — no observations in the public archive, and no spill volume is published anywhere. There is no open measure of what actually enters the tidal Thames.
  • A 17-year gap at the key tidal point. Richmond DO was measured 2004–2008, then not again until 2025–2026 — so the tidal reach has no dissolved-oxygen record for ~15 of the intervening years.
  • Method notes. Values below the detection limit are set to ½ the limit (37 cases, all ammonia/phosphate); the threshold lines drawn on the charts are type-general indicative guides, not the exact site-specific WFD standards; freshwater and pooled-tidal points are grouped by us, not by the EA.

Sources & provenance

  • RAW-PULL  EA Water Quality Archive (WIMS) FastAPI service, environment.data.gov.uk/water-quality/ (openapi v1.3.0), route /sampling-point/{id}/observation. Backbone series: Teddington Weir TH-PTHR0107 (freshwater) and Richmond TH-PTTR0002 (tidal); pooled tidal adds TH-PTTR0001, TH-PTLF0005, TH-PTLF0006.
  • Fresh pull: water-quality.csv — 2,432 observations, retrieved 2026-07-31, licence OGL v3.0. All headline figures on this page reconcile exactly to this file.
  • Determinand codes: DO 9924, DO %sat 9901, ammoniacal N 0111, orthophosphate 0180, nitrate 0117, temperature 0076; zinc 0243/0245 (returns no data on this reach).
  • DERIVED  Annual means, % exceedance, pooled-tidal excursion counts and the fresh-vs-tidal ratio are this programme's calculations from the RAW-PULL observations.
  • Working files: /tmp/thames_datastore/water_quality/observations_all_points.csv, summary_stats.csv, per-point raw_TH-*.csv, and the analysis scripts kept as provenance.