Methodology
How River Truth works
A national accountability platform for England's rivers and canals. We cross-reference what the water companies say with what the Environment Agency actually measures, and we surface the gaps.
Data sources
- EA Water Quality Archive (WIMS) ↗Open Government Licence v3
Lab analysis of water samples from ~65,919 sampling points. Updated as samples are processed (typically weekly–monthly per point).
- National Storm Overflow Hub (Stream) ↗CC BY 4.0 (per water company)
Near real-time discharge status from all 14,187+ storm overflows in England, federated from each water company's ArcGIS feed. Updated within ~1 hour of an event starting.
- EA Hydrology API ↗Open Government Licence v3
Real-time river-level and flow readings every 15 minutes from 9,059 monitoring stations. Also exposes in-situ chemistry (dissolved oxygen, pH, ammonium, nitrate) at select stations.
- Canal & River Trust Open Data ↗Open Government Licence (per dataset)
Canal network linework, lock locations, slipways. Used for canal-pound segmentation (planned for v2).
The Truth Engine
Every hour the Truth Engine recomputes a feed of discrepancies — places where the official narrative doesn't match the data on the ground. Each discrepancy carries its evidence as JSON so you can trace exactly why it fired.
Active spill
Storm overflow currently reporting status='active' (a discharge event is in progress).
Severity scales with duration: <1h=Watch, 1–6h=Caution, 6–24h=Warn, >24h=Critical.
Active spill · no recent test
An active spill where the nearest surface-water sampling point's last lab test is older than 7 days (or absent).
Inherits the spill's duration severity, floor of Caution.
Monitor offline
Storm overflow's monitor has been reporting status='offline' for >24 hours.
<48h=Watch, 48h–7d=Caution, >7d=Warn. Some overflows have been offline for >2 years.
Level spike + active spill
EA Hydrology station shows a >0.3m river-level rise in 4 hours, within 5km of an active spill.
>0.3m=Caution, >0.5m=Warn, >1m=Critical.
Level spike near offline monitor
Same level-rise condition, but within 5km of a storm overflow whose monitor has been offline >24h. Implication: rising water could be triggering a discharge no one can see.
Same scale as level_spike_near_active_spill.
Safety thresholds
The verified-safe detector scores sampling points against published bathing-water and Water Framework Directive thresholds. A point is rated green only if every measured priority determinand is in the green band and there is no active spill or recent spill event within 5 km.
| Determinand | Unit | Standard |
|---|---|---|
| Intestinal Enterococci | cfu/100ml | EU Bathing Water Directive — excellent <200, good <400 |
| E. coli | cfu/100ml | EU Bathing Water Directive (inland) — excellent <500, good <1000 |
| Dissolved Oxygen | mg/L | Fish-health WFD — high >7, good >5, below indicates stress |
| Ammoniacal Nitrogen | mg/L N | WFD river standard — high <0.4, good <1.0 |
| Ammonia (un-ionised) | mg/L N | Fish-toxicity threshold — <0.025 safe, >0.06 acute risk |
| pH | pH | Bathing comfort + ecological range — 6.5–8.5 ideal |
| Nitrate | mg/L N | Drinking-water standard 11.3 mg/L; ecological 'good' typically <7 |
| Nitrite | mg/L N | Acute fish toxicity — high <0.03, good <0.1 |
| Phosphorus (total) | mg/L P | WFD river standard — high <0.05, good <0.1 |
| Orthophosphate (reactive) | mg/L P | WFD river standard — high <0.05, good <0.1 |
| Water temperature | °C | Salmonid stress threshold — comfortable <20, stressful >25 |
Personas
Different water-users care about different things. The same river can be safe for paddling and dangerous for fish, or vice versa.
Swimmer / paddleboarder
E. coli, intestinal enterococci, faecal coliforms, water temperature, pH, turbidity
Bacterial counts and basic comfort metrics — what determines whether the water is safe to fall into.
Angler
Dissolved oxygen, ammonia (un-ionised), ammoniacal-N, nitrate, nitrite, phosphorus, water temperature
Fish-health chemistry — low oxygen kills fish; high ammonia is acutely toxic; nitrates and phosphorus cause algal blooms.
Canal user / boat dweller
All of the above, plus per-pound (lock-to-lock) segmentation
Canals are slow-moving and divided by locks — water quality varies sharply between adjacent stretches. Coverage launching in v2.
Caveats and integrity
- The WIMS publication gap is wider than the headline suggests. Storm-overflow status updates within ~1 hour of an event. The corresponding water-quality lab tests typically arrive 4–12 weeks later, and on a typical day a 7-day backwards query across England's ~65,000 sampling points returns single- digit fresh results. That asymmetry is the structural reason most active spills run unaccompanied by laboratory evidence of harm — and it's why the Truth Engine flags
active_spill_no_recent_testas its own discrepancy category. A “green” rating reflects the last test, not real-time conditions; heavy rainfall can change water quality within hours. - Storm-overflow status comes directly from each water company's monitoring and is unverified. We compare it against river-level data and (in v2) crowdsourced reports to flag suspect claims.
- About 2% of monitors are offline at any time, some for years. We flag these — see the discrepancies feed.
- Wales coverage. Wales has its own regulator (Natural Resources Wales) separate from the Environment Agency. We ingest Welsh storm-overflow spill data directly from Dŵr Cymru Welsh Water (~2,300 overflows) and Welsh designated bathing-water E. coli + Enterococci data from the NRW Bathing Waters API. Welsh inland water-quality lab data (the WIMS equivalent) and Welsh river-level / rainfall data are gated behind NRW's API portal and not yet ingested — stretches like the upper Wye and Welsh Severn show spill data but limited nutrient context.