{"generated_at": "2026-10-05T03:14:56.496550+01:00", "version": "0.1.0", "n": 105, "build": {"spots": 105, "forecast_ok": 104, "forecast_failed": 1, "no_forecast_possible": 2, "today_rain_unavailable": 0, "failed_spots": ["River Great Ouse, Overcote"], "warnings": [], "river_levels_stale": 0, "duplicate_overflow_ids": 0, "live_feeds": {"polled_at": "2026-10-05 02:11:57.529688+00:00", "rows": {"Anglian Water": 1438, "Northumbrian Water": 1575, "Severn Trent Water": 2416, "South West Water": 1342, "Southern Water": 994, "Thames Water": 573, "United Utilities": 2255, "Wessex Water": 1427, "Yorkshire Water": 2179}, "previous_rows": {"Anglian Water": 1438, "Northumbrian Water": 1575, "Severn Trent Water": 2416, "South West Water": 1342, "Southern Water": 994, "Thames Water": 573, "United Utilities": 2255, "Wessex Water": 1427, "Yorkshire Water": 2179}, "down": []}, "ecoli_samples": {"checked_at": "2026-10-05T03:12:33+01:00", "n_sites": 38, "n_failed": 0, "last_ok_at": "2026-10-05T03:12:33+01:00", "sources": {"bathing_water": {"answered": 0, "errors": {"HTTP 403": 1}, "refused": true}, "archive": {"answered": 38, "error": null, "n_samples": 704}}}, "algae_checks": 38, "classifications": 32, "lab_samples": 38, "river_levels": 103, "weather": 104, "river_high": 0, "river_rising_fast": 0, "flood_alerts": 0, "flood_alerts_unchecked": 0, "water_temperature": 3, "guides": 45, "anypoint": {"cache": "warm", "traced_links": 0, "links_indexed": 92553, "links_traced": 23043, "entries": 26511, "rows": 414091, "lakes_reached": 1183, "wfd_lakes": 564, "wfd_isolated": 105, "tiles": 334, "overflows": 13821, "days": 11, "rain": {"cells": 1589, "due": 1283, "fetched": 100, "usable": 1589, "error": "open-meteo request failed"}, "rain_unavailable_share": 0.0682, "outside_england": true, "bytes": 13713880, "table_s": 0.5, "files_s": 8.3, "days_s": 30.8, "seconds": 39.6}, "guide_photos": 0, "coastal": {"status": "advice_unavailable", "sites": 426, "samples": "ok", "with_sample": 402}, "wales": {"state": "cached", "sites": 114, "fetched_at": "2026-10-03T22:33:27+01:00", "error": "HTTP 403"}, "scotland": {"state": "live", "sites": 90}, "ireland": {"state": "live", "sites": 243, "restrictions": 2}, "northern_ireland": {"state": "live", "sites": 33}}, "lead_skill": {"spill": [1.0, 0.84, 0.79, 0.7, 0.59], "water": [1.0, 0.75, 0.69, 0.55, 0.55]}, "push": {"url": "https://swimsignal-push.swimsignal-push.workers.dev/", "key": "BGaPAD3oYd4cJ3jJPMF9b8gyImfQ1H7Xtw5nOfSuYx7vLeIjmqlQ9wmcPqXlwMRRx-yzPeNmKs4H3RhDSjgb3OY"}, "credits": {"attribution": "Storm overflow status from Anglian Water Services, Northumbrian Water, Severn Trent Water, South West Water, Southern Water (\u00a9 2026), Thames Water, United Utilities, Wessex Water (\u00a9 2024) and Yorkshire Water, via the National Storm Overflow Hub, CC BY 4.0; overflow identifiers matched with the Stream ID lookup, via Stream, CC BY 4.0. Environment Agency data \u00a9 Environment Agency copyright and/or database right, OGL v3.0; river levels: this uses Environment Agency flood and river level data from the real-time data API (Beta). Contains OS data \u00a9 Crown copyright and database right 2026. Weather data by Open-Meteo.com, CC BY 4.0, from Met Office forecasts \u00a9 Crown copyright, CC BY-SA 4.0: rainfall figures stay under CC BY-SA 4.0. The models were trained on ERA5-Land reanalysis (doi:10.24381/cds.e2161bac): contains modified Copernicus Climate Change Service information 2026; neither the European Commission nor ECMWF is responsible for any use that may be made of the Copernicus information or data it contains.", "modified": "Combined, filtered and modelled by SwimSignal. The forecasts, levels and scores are SwimSignal's own estimates, not the data providers'. None of the providers endorses SwimSignal.", "spot_locations": "Swim spot locations from OpenStreetMap, \u00a9 OpenStreetMap contributors, ODbL 1.0 (https://www.openstreetmap.org/copyright): the spots whose source is \"openstreetmap\".", "licences": {"CC BY 4.0": "https://creativecommons.org/licenses/by/4.0/", "CC BY-SA 4.0": "https://creativecommons.org/licenses/by-sa/4.0/", "OGL v3.0": "https://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/", "ODbL 1.0": "https://opendatacommons.org/licenses/odbl/1-0/"}, "full": "https://swimsignal.co.uk/terms.html#data"}, "spots": [{"id": "bw-uke4100-08901", "name": "Wharfe at Cromwheel, Ilkley", "kind": "river", "river": "River Wharfe", "source": "designated", "notes": "Environment Agency designated bathing water", "lat": 53.93189, "lon": -1.81618, "query": {"lat": 53.93189, "lon": -1.81618, "issued_at": "2026-10-05T03:12:48.760037+01:00"}, "location": {"mode": "river", "watercourse": "River Wharfe", "snap_distance_m": 3, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "on river", "snapped": {"lat": 53.93189, "lon": -1.81614}}, "river_state": {"station": "Ilkley", "river": "River Wharfe", "level_m": 0.164, "typical_low_m": 0.09, "typical_high_m": 1.8, "index": 0.04, "label": "low", "observed_at": "2026-10-05T01:30:00Z", "age_hours": 0.7, "stale": false, "rloi": "8106", "measure": "F1902-level-stage-i-15_min-m", "distance_km": 1.0, "same_river": true, "rise_6h_m": -0.007, "rise_from": "2026-10-04T20:15:00Z", "rise_to": "2026-10-05T01:30:00Z"}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.002, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 1, "monitored_upstream": 15, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.012, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.161}, {"date": "2026-10-06", "risk": 0.09, "label": "low", "expected_spilling_overflows": 0.7, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.084, "rain_48h_mm": 1.6, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.348}, {"date": "2026-10-07", "risk": 0.335, "label": "moderate", "expected_spilling_overflows": 1.5, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.335, "source": {"site_id": "YWS00674", "site_name": "RIVADALE VIEW/CSO", "receiving_watercourse": "River Wharfe", "status": 0, "distance_km": 0.5, "lake_distance_km": 0.0, "travel_h": 0.3, "share": 0.309, "spread_over": 6}, "rain_48h_mm": 8.7, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.64}, {"date": "2026-10-08", "risk": 0.122, "label": "low", "expected_spilling_overflows": 0.2, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.122, "rain_48h_mm": 7.3, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.625}, {"date": "2026-10-09", "risk": 0.3, "label": "moderate", "expected_spilling_overflows": 1.3, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.3, "source": {"site_id": "YWS00674", "site_name": "RIVADALE VIEW/CSO", "receiving_watercourse": "River Wharfe", "status": 0, "distance_km": 0.5, "lake_distance_km": 0.0, "travel_h": 0.3, "share": 0.357, "spread_over": 5}, "rain_48h_mm": 3.8, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.527}], "upstream_summary": {"overflows": 15, "with_live_feed": 15, "without_live_feed": 0, "sum_weight": 4.033, "history_days": 2, "max_travel_h": 20.8}, "contributors": [{"site_id": "YWS00674", "company": "Yorkshire Water", "site_name": "RIVADALE VIEW/CSO", "receiving_watercourse": "River Wharfe", "lat": 53.928606, "lon": -1.819894, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2026-05-08T15:36:24+00:00", "latest_event_end": "2026-05-08T15:39:23+00:00", "lta_spills": 48.5, "spill_hours": 48.25, "snap_confidence": "high", "distance_km": 0.5, "lake_distance_km": 0.0, "travel_h": 0.3, "weight": 0.978, "p_spill_today": 0.002, "p_spill_tomorrow": 0.02, "p_spill_days": [0.002, 0.02, 0.122, 0.02, 0.123], "now_contribution": 0.0}, {"site_id": "YWS00145", "company": "Yorkshire Water", "site_name": "ADDINGHAM/NO 1 SPS/PRELIMINARY TREATMENT-STW/6XDWF OVERFLOW", "receiving_watercourse": "Low Mills Mill Race", "lat": 53.937041, "lon": -1.864397, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2026-04-20T10:14:24+00:00", "latest_event_end": "2026-04-20T10:19:34+00:00", "lta_spills": 47.66999816894531, "spill_hours": 61.0, "snap_confidence": "high", "distance_km": 4.1, "lake_distance_km": 0.0, "travel_h": 2.3, "weight": 0.796, "p_spill_today": 0.003, "p_spill_tomorrow": 0.022, "p_spill_days": [0.003, 0.022, 0.129, 0.02, 0.119], "now_contribution": 0.0}, {"site_id": "YWS00144", "company": "Yorkshire Water", "site_name": "ADDINGHAM/NO 1 SPS/PRELIMINARY TREATMENT-STW/3XDWF OVERFLOW", "receiving_watercourse": "Low Mills Mill Race", "lat": 53.937041, "lon": -1.864397, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2026-05-22T11:00:00+00:00", "latest_event_end": "2026-05-22T12:27:05+00:00", "lta_spills": 55.0, "spill_hours": 370.75, "snap_confidence": "high", "distance_km": 4.1, "lake_distance_km": 0.0, "travel_h": 2.3, "weight": 0.796, "p_spill_today": 0.002, "p_spill_tomorrow": 0.02, "p_spill_days": [0.002, 0.02, 0.109, 0.014, 0.101], "now_contribution": 0.0}, {"site_id": "YWS00828", "company": "Yorkshire Water", "site_name": "BOLTON BRIDGE/CSO", "receiving_watercourse": "River Wharfe", "lat": 53.971564, "lon": -1.891512, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2025-12-06T19:36:58+00:00", "latest_event_end": "2025-12-07T01:06:29+00:00", "lta_spills": 11.199999809265137, "spill_hours": 23.5, "snap_confidence": "high", "distance_km": 9.2, "lake_distance_km": 0.0, "travel_h": 5.1, "weight": 0.555, "p_spill_today": 0.002, "p_spill_tomorrow": 0.021, "p_spill_days": [0.002, 0.021, 0.04, 0.004, 0.032], "now_contribution": 0.0}, {"site_id": "YWS00177", "company": "Yorkshire Water", "site_name": "BURNSALL CAR PK/CSO", "receiving_watercourse": "River Wharfe", "lat": 54.04514, "lon": -1.952927, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2026-09-08T00:19:44+00:00", "latest_event_end": "2026-09-08T00:47:47+00:00", "lta_spills": 43.16999816894531, "spill_hours": 135.73333740234375, "snap_confidence": "high", "distance_km": 21.8, "lake_distance_km": 0.0, "travel_h": 12.1, "weight": 0.211, "p_spill_today": 0.011, "p_spill_tomorrow": 0.094, "p_spill_days": [0.011, 0.094, 0.129, 0.028, 0.113], "now_contribution": 0.0}, {"site_id": "YWS00185", "company": "Yorkshire Water", "site_name": "GRASSINGTON/STW", "receiving_watercourse": "River Wharfe", "lat": 54.062414, "lon": -1.99173, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2026-09-17T04:30:52+00:00", "latest_event_end": "2026-09-17T04:45:49+00:00", "lta_spills": 62.5, "spill_hours": 55.0, "snap_confidence": "high", "distance_km": 25.7, "lake_distance_km": 0.0, "travel_h": 14.3, "weight": 0.157, "p_spill_today": 0.022, "p_spill_tomorrow": 0.091, "p_spill_days": [0.022, 0.091, 0.159, 0.021, 0.137], "now_contribution": 0.0}, {"site_id": "YWS00190", "company": "Yorkshire Water", "site_name": "HEBDEN/STW", "receiving_watercourse": "River Wharfe", "lat": 54.055541, "lon": -1.960385, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2025-07-08T12:14:05+00:00", "latest_event_end": "2025-07-08T12:15:06+00:00", "lta_spills": 29.829999923706055, "spill_hours": 2.0999999046325684, "snap_confidence": "high", "distance_km": 23.4, "lake_distance_km": 0.0, "travel_h": 13.0, "weight": 0.193, "p_spill_today": 0.006, "p_spill_tomorrow": 0.031, "p_spill_days": [0.006, 0.031, 0.046, 0.009, 0.047], "now_contribution": 0.0}, {"site_id": "YWS01311", "company": "Yorkshire Water", "site_name": "LINTON/CSO", "receiving_watercourse": "River Wharfe", "lat": 54.064985, "lon": -1.995977, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2026-08-20T00:08:00+00:00", "latest_event_end": "2026-08-20T00:30:00+00:00", "lta_spills": 30.670000076293945, "spill_hours": 71.5, "snap_confidence": "high", "distance_km": 26.4, "lake_distance_km": 0.0, "travel_h": 14.7, "weight": 0.153, "p_spill_today": 0.011, "p_spill_tomorrow": 0.057, "p_spill_days": [0.011, 0.057, 0.092, 0.006, 0.086], "now_contribution": 0.0}, {"site_id": "YWS01340", "company": "Yorkshire Water", "site_name": "BEAMSLEY/STW", "receiving_watercourse": "Kex Beck", "lat": 53.967171, "lon": -1.884725, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2026-08-30T18:51:18+00:00", "latest_event_end": "2026-08-30T18:51:19+00:00", "lta_spills": 99.80000305175781, "spill_hours": 118.0, "snap_confidence": "high", "distance_km": 8.6, "lake_distance_km": 0.0, "travel_h": 4.8, "weight": 0.037, "p_spill_today": 0.011, "p_spill_tomorrow": 0.144, "p_spill_days": [0.011, 0.144, 0.272, 0.025, 0.212], "now_contribution": 0.0}, {"site_id": "YWS00187", "company": "Yorkshire Water", "site_name": "KETTLEWELL/STW", "receiving_watercourse": "River Wharfe", "lat": 54.144271, "lon": -2.049104, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2026-10-02T13:54:34+00:00", "latest_event_end": "2026-10-02T14:03:49+00:00", "lta_spills": 61.83000183105469, "spill_hours": 98.75, "snap_confidence": "high", "distance_km": 37.4, "lake_distance_km": 0.0, "travel_h": 20.8, "weight": 0.041, "p_spill_today": 0.025, "p_spill_tomorrow": 0.104, "p_spill_days": [0.025, 0.104, 0.171, 0.023, 0.148], "now_contribution": 0.002}], "guide": {"checked": "2026-10-03", "how": "desk", "facts": [{"topic": "parking", "text": "On-street parking on New Brook Street near the start of the Riverside Gardens walk, or a pay and display car park in the town centre. This leaflet is for the riverside walk; it does not mention the Cromwheel bathing site.", "status": "confirmed", "source": "https://www.bradford.gov.uk/media/2070/riversidegardensilkley.pdf", "source_name": "Bradford Council"}, {"topic": "parking", "text": "Denton Road car park, LS29 0BZ: 93 spaces, 4 for disabled drivers. \u00a31 an hour, \u00a34 over 3 hours, charged 8am to 6pm every day. The council's list does not link it to the Cromwheel bathing site.", "status": "confirmed", "source": "https://www.bradford.gov.uk/transport-and-travel/parking/car-parks-in-ilkley-addingham-and-burley-in-wharfedale/", "source_name": "Bradford Council"}, {"topic": "path", "text": "Reached from the Riverside Walk footpath beside the river. The bathing site is upstream of the suspension bridge.", "status": "confirmed", "source": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=uke4100-08901", "source_name": "Environment Agency bathing water profile"}, {"topic": "entry", "text": "When the river is low, a gently sloping shingle beach is exposed.", "status": "confirmed", "source": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=uke4100-08901", "source_name": "Environment Agency bathing water profile"}, {"topic": "toilets", "text": "Riverside Gardens public toilets: four unisex cubicles, one accessible by ramp (radar key, card or coins). 40p by contactless card or coins. Open 8am to 8pm in summer, 9am to 6pm in winter. The council's page does not say how far they are from the Cromwheel bathing site.", "status": "confirmed", "source": "https://www.ilkleytowncouncil.gov.uk/services/toilets/", "source_name": "Ilkley Town Council"}], "photos": []}, "algae": {"date": "2026-09-24", "level": 0, "phrase": "none seen", "result": "No material present", "n_checks": 22, "n_seen": 0, "n_objectionable": 0, "season": 2026}, "lab_sample": {"taken_at": "2026-09-24T13:02+01:00", "ecoli": 380}, "classification": {"class": "poor", "year": 2025, "history": [[2025, "poor"], [2024, "poor"], [2023, "poor"], [2022, "poor"], [2021, "poor"]], "url": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=uke4100-08901"}, "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 18, "sunrise": "07:16", "sunset": "18:34"}, {"date": "2026-10-06", "tmax": 16, "sunrise": "07:18", "sunset": "18:31"}, {"date": "2026-10-07", "tmax": 13, "sunrise": "07:20", "sunset": "18:29"}, {"date": "2026-10-08", "tmax": 13, "sunrise": "07:21", "sunset": "18:26"}, {"date": "2026-10-09", "tmax": 14, "sunrise": "07:23", "sunset": "18:24"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "bw-uke2203-08903", "name": "Nidd at the Lido, Knaresborough", "kind": "river", "river": "River Nidd", "source": "designated", "notes": "Environment Agency designated bathing water", "lat": 53.9982, "lon": -1.45145, "query": {"lat": 53.9982, "lon": -1.45145, "issued_at": "2026-10-05T03:12:49.084517+01:00"}, "location": {"mode": "river", "watercourse": "River Nidd", "snap_distance_m": 19, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "on river", "snapped": {"lat": 53.9982, "lon": -1.45173}}, "river_state": null, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 50, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.025, "label": "low", "expected_spilling_overflows": 0.2, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.1, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.183}, {"date": "2026-10-06", "risk": 0.074, "label": "low", "expected_spilling_overflows": 0.8, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.057, "rain_48h_mm": 0.1, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.239}, {"date": "2026-10-07", "risk": 0.44, "label": "high", "expected_spilling_overflows": 4.3, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.44, "source": {"site_id": "YWS00279", "site_name": "SPITAL CROFT/CSO", "receiving_watercourse": "River Nidd", "status": 0, "distance_km": 1.7, "lake_distance_km": 0.0, "travel_h": 0.9, "share": 0.115, "spread_over": 19}, "rain_48h_mm": 7.7, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.647}, {"date": "2026-10-08", "risk": 0.275, "label": "moderate", "expected_spilling_overflows": 0.7, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.275, "source": {"site_id": "YWS00249", "site_name": "DARLEY/STW", "receiving_watercourse": "River Nidd", "status": 0, "distance_km": 21.7, "lake_distance_km": 0.0, "travel_h": 12.1, "share": 0.156, "spread_over": 19}, "rain_48h_mm": 7.7, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.696}, {"date": "2026-10-09", "risk": 0.412, "label": "high", "expected_spilling_overflows": 3.7, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.412, "source": {"site_id": "YWS00279", "site_name": "SPITAL CROFT/CSO", "receiving_watercourse": "River Nidd", "status": 0, "distance_km": 1.7, "lake_distance_km": 0.0, "travel_h": 0.9, "share": 0.127, "spread_over": 18}, "rain_48h_mm": 2.7, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.526}], "upstream_summary": {"overflows": 52, "with_live_feed": 50, "without_live_feed": 2, "sum_weight": 10.662, "history_days": 2, "max_travel_h": 17.5}, "contributors": [{"site_id": "YWS00279", "company": "Yorkshire Water", "site_name": "SPITAL CROFT/CSO", "receiving_watercourse": "River Nidd", "lat": 54.000922, "lon": -1.465774, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2026-08-30T19:00:00+00:00", "latest_event_end": "2026-08-30T19:11:00+00:00", "lta_spills": 27.0, "spill_hours": 42.0, "snap_confidence": "high", "distance_km": 1.7, "lake_distance_km": 0.0, "travel_h": 0.9, "weight": 0.918, "p_spill_today": 0.001, "p_spill_tomorrow": 0.004, "p_spill_days": [0.001, 0.004, 0.073, 0.008, 0.074], "now_contribution": 0.0}, {"site_id": "YWS00277", "company": "Yorkshire Water", "site_name": "CRAGG TOP/CSO", "receiving_watercourse": "River Nidd", "lat": 54.001163, "lon": -1.465497, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2026-08-30T18:44:00+00:00", "latest_event_end": "2026-08-30T18:55:00+00:00", "lta_spills": 13.329999923706055, "spill_hours": 106.0, "snap_confidence": "high", "distance_km": 1.7, "lake_distance_km": 0.0, "travel_h": 1.0, "weight": 0.917, "p_spill_today": 0.001, "p_spill_tomorrow": 0.002, "p_spill_days": [0.001, 0.002, 0.041, 0.004, 0.043], "now_contribution": 0.0}, {"site_id": "YWS00231", "company": "Yorkshire Water", "site_name": "ABBEY ROAD/NO 2 CSO", "receiving_watercourse": "River Nidd (In Middle)", "lat": 54.002206, "lon": -1.465651, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2026-07-01T11:36:00+00:00", "latest_event_end": "2026-07-01T13:54:00+00:00", "lta_spills": 11.829999923706055, "spill_hours": 48.75, "snap_confidence": "high", "distance_km": 1.8, "lake_distance_km": 0.0, "travel_h": 1.0, "weight": 0.913, "p_spill_today": 0.001, "p_spill_tomorrow": 0.002, "p_spill_days": [0.001, 0.002, 0.044, 0.004, 0.046], "now_contribution": 0.0}, {"site_id": "YWS00274", "company": "Yorkshire Water", "site_name": "WATERSIDE 48/CSO", "receiving_watercourse": "Mill Stream (Trib Of River Nidd)", "lat": 54.005218, "lon": -1.47196, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2026-09-25T02:03:00+00:00", "latest_event_end": "2026-09-25T02:13:00+00:00", "lta_spills": 34.83000183105469, "spill_hours": 42.75, "snap_confidence": "high", "distance_km": 2.4, "lake_distance_km": 0.0, "travel_h": 1.3, "weight": 0.89, "p_spill_today": 0.001, "p_spill_tomorrow": 0.004, "p_spill_days": [0.001, 0.004, 0.073, 0.006, 0.077], "now_contribution": 0.0}, {"site_id": "YWS00273", "company": "Yorkshire Water", "site_name": "WATERSIDE 47/CSO", "receiving_watercourse": "Mill Stream (Trib Of River Nidd)", "lat": 54.005944, "lon": -1.471432, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2026-08-30T18:37:00+00:00", "latest_event_end": "2026-08-30T19:30:00+00:00", "lta_spills": 21.329999923706055, "spill_hours": 59.75, "snap_confidence": "high", "distance_km": 2.5, "lake_distance_km": 0.0, "travel_h": 1.4, "weight": 0.886, "p_spill_today": 0.001, "p_spill_tomorrow": 0.002, "p_spill_days": [0.001, 0.002, 0.045, 0.004, 0.047], "now_contribution": 0.0}, {"site_id": "YWS00276", "company": "Yorkshire Water", "site_name": "BOROUGHBRIDGE ROAD/CSO", "receiving_watercourse": "Frogmire Dyke (Culverted)(Via Sw. Sewer)", "lat": 54.011527, "lon": -1.469881, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2026-08-30T18:43:00+00:00", "latest_event_end": "2026-08-30T18:53:00+00:00", "lta_spills": 8.0, "spill_hours": 2.5, "snap_confidence": "high", "distance_km": 2.9, "lake_distance_km": 0.0, "travel_h": 1.6, "weight": 0.873, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.013, 0.002, 0.012], "now_contribution": 0.0}, {"site_id": "YWS00275", "company": "Yorkshire Water", "site_name": "WATERSIDE 49/CSO", "receiving_watercourse": "River Nidd", "lat": 54.009047, "lon": -1.473925, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2026-08-20T00:51:00+00:00", "latest_event_end": "2026-08-20T01:18:00+00:00", "lta_spills": 13.670000076293945, "spill_hours": 14.25, "snap_confidence": "high", "distance_km": 3.0, "lake_distance_km": 0.0, "travel_h": 1.7, "weight": 0.868, "p_spill_today": 0.001, "p_spill_tomorrow": 0.002, "p_spill_days": [0.001, 0.002, 0.025, 0.003, 0.023], "now_contribution": 0.0}, {"site_id": "YWS00249", "company": "Yorkshire Water", "site_name": "DARLEY/STW", "receiving_watercourse": "River Nidd", "lat": 54.03246, "lon": -1.678104, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2026-09-04T00:57:47+00:00", "latest_event_end": "2026-09-04T03:40:53+00:00", "lta_spills": 109.66999816894531, "spill_hours": 1490.0, "snap_confidence": "high", "distance_km": 21.7, "lake_distance_km": 0.0, "travel_h": 12.1, "weight": 0.265, "p_spill_today": 0.01, "p_spill_tomorrow": 0.043, "p_spill_days": [0.01, 0.043, 0.305, 0.063, 0.23], "now_contribution": 0.0}, {"site_id": "YWS00114", "company": "Yorkshire Water", "site_name": "THE GRANARY/CSO", "receiving_watercourse": "River Nidd (Via Sw.Sewer)", "lat": 54.027153, "lon": -1.604291, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2026-08-30T18:46:00+00:00", "latest_event_end": "2026-08-30T19:34:00+00:00", "lta_spills": 65.80000305175781, "spill_hours": 320.5, "snap_confidence": "high", "distance_km": 15.9, "lake_distance_km": 0.0, "travel_h": 8.8, "weight": 0.368, "p_spill_today": 0.002, "p_spill_tomorrow": 0.006, "p_spill_days": [0.002, 0.006, 0.138, 0.016, 0.133], "now_contribution": 0.0}, {"site_id": "YWS00225", "company": "Yorkshire Water", "site_name": "PATELEY BRIDGE/STW", "receiving_watercourse": "River Nidd", "lat": 54.072171, "lon": -1.730855, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2026-09-04T02:48:01+00:00", "latest_event_end": "2026-09-04T02:48:50+00:00", "lta_spills": 110.33000183105469, "spill_hours": 1212.75, "snap_confidence": "high", "distance_km": 28.8, "lake_distance_km": 0.0, "travel_h": 16.0, "weight": 0.159, "p_spill_today": 0.035, "p_spill_tomorrow": 0.104, "p_spill_days": [0.035, 0.104, 0.314, 0.064, 0.225], "now_contribution": 0.0}], "guide": {"checked": "2026-10-03", "how": "desk", "facts": [{"topic": "path", "text": "The bathing water is a large pool between two weirs. The EA says access to the river is from a private caravan park.", "status": "confirmed", "source": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=uke2203-08903", "source_name": "Environment Agency bathing water profile"}], "photos": []}, "algae": {"date": "2026-09-24", "level": 0, "phrase": "none seen", "result": "No material present", "n_checks": 23, "n_seen": 0, "n_objectionable": 0, "season": 2026}, "lab_sample": {"taken_at": "2026-09-24T14:15+01:00", "ecoli": 3900}, "classification": {"class": "poor", "year": 2025, "history": [[2025, "poor"], [2024, "poor"]], "url": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=uke2203-08903"}, "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 19, "sunrise": "07:14", "sunset": "18:32"}, {"date": "2026-10-06", "tmax": 16, "sunrise": "07:16", "sunset": "18:30"}, {"date": "2026-10-07", "tmax": 14, "sunrise": "07:18", "sunset": "18:27"}, {"date": "2026-10-08", "tmax": 14, "sunrise": "07:20", "sunset": "18:25"}, {"date": "2026-10-09", "tmax": 16, "sunrise": "07:22", "sunset": "18:22"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "bw-uke4200-08904", "name": "Wharfe at Wilderness Carpark", "kind": "river", "river": "River Wharfe", "source": "designated", "notes": "Environment Agency designated bathing water", "lat": 53.92655, "lon": -1.38542, "query": {"lat": 53.92655, "lon": -1.38542, "issued_at": "2026-10-05T03:12:49.550472+01:00"}, "location": {"mode": "river", "watercourse": "River Wharfe", "snap_distance_m": 12, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "on river", "snapped": {"lat": 53.92646, "lon": -1.38552}}, "river_state": {"station": "Flint Mill", "river": "River Wharfe", "level_m": 0.581, "typical_low_m": 0.403, "typical_high_m": 2.6, "index": 0.08, "label": "low", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "8080", "measure": "F2004-level-stage-i-15_min-m", "distance_km": 1.9, "same_river": true, "rise_6h_m": -0.008, "rise_from": "2026-10-04T20:15:00Z", "rise_to": "2026-10-05T01:45:00Z"}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.02, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 1, "monitored_upstream": 51, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.014, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.152}, {"date": "2026-10-06", "risk": 0.123, "label": "low", "expected_spilling_overflows": 1.6, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.118, "rain_48h_mm": 1.5, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.362}, {"date": "2026-10-07", "risk": 0.428, "label": "high", "expected_spilling_overflows": 6.2, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.428, "source": {"site_id": "YWS00214", "site_name": "WEETON/STW", "receiving_watercourse": "River Wharfe", "status": 0, "distance_km": 14.9, "lake_distance_km": 0.0, "travel_h": 8.3, "share": 0.225, "spread_over": 15}, "rain_48h_mm": 12.5, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.703}, {"date": "2026-10-08", "risk": 0.358, "label": "moderate", "expected_spilling_overflows": 0.9, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.358, "source": {"site_id": "YWS00214", "site_name": "WEETON/STW", "receiving_watercourse": "River Wharfe", "status": 0, "distance_km": 14.9, "lake_distance_km": 0.0, "travel_h": 8.3, "share": 0.168, "spread_over": 19}, "rain_48h_mm": 11.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.765}, {"date": "2026-10-09", "risk": 0.289, "label": "moderate", "expected_spilling_overflows": 4.6, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.289, "source": {"site_id": "YWS00214", "site_name": "WEETON/STW", "receiving_watercourse": "River Wharfe", "status": 0, "distance_km": 14.9, "lake_distance_km": 0.0, "travel_h": 8.3, "share": 0.228, "spread_over": 16}, "rain_48h_mm": 3.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.498}], "upstream_summary": {"overflows": 52, "with_live_feed": 51, "without_live_feed": 1, "sum_weight": 6.994, "history_days": 3, "max_travel_h": 28.9}, "contributors": [{"site_id": "YWS00214", "company": "Yorkshire Water", "site_name": "WEETON/STW", "receiving_watercourse": "River Wharfe", "lat": 53.910391, "lon": -1.549985, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2026-05-03T20:51:43+00:00", "latest_event_end": "2026-05-03T20:52:58+00:00", "lta_spills": 128.6699981689453, "spill_hours": 836.5, "snap_confidence": "high", "distance_km": 14.9, "lake_distance_km": 0.0, "travel_h": 8.3, "weight": 0.436, "p_spill_today": 0.005, "p_spill_tomorrow": 0.103, "p_spill_days": [0.005, 0.103, 0.359, 0.061, 0.229], "now_contribution": 0.0}, {"site_id": "YWS00199", "company": "Yorkshire Water", "site_name": "POOL/STW/3XDWF OVERFLOW", "receiving_watercourse": "River Wharfe", "lat": 53.904277, "lon": -1.600278, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2026-08-30T20:17:15+00:00", "latest_event_end": "2026-08-30T20:20:06+00:00", "lta_spills": 108.33000183105469, "spill_hours": 963.25, "snap_confidence": "high", "distance_km": 20.5, "lake_distance_km": 0.0, "travel_h": 11.4, "weight": 0.337, "p_spill_today": 0.004, "p_spill_tomorrow": 0.105, "p_spill_days": [0.004, 0.105, 0.334, 0.062, 0.218], "now_contribution": 0.0}, {"site_id": "YWS01175", "company": "Yorkshire Water", "site_name": "SCOTT LANE/CSO", "receiving_watercourse": "River Wharfe", "lat": 53.926687, "lon": -1.387716, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2026-08-19T11:18:00+00:00", "latest_event_end": "2026-08-19T11:29:00+00:00", "lta_spills": 11.829999923706055, "spill_hours": 22.75, "snap_confidence": "high", "distance_km": 0.2, "lake_distance_km": 0.0, "travel_h": 0.1, "weight": 0.985, "p_spill_today": 0.001, "p_spill_tomorrow": 0.021, "p_spill_days": [0.001, 0.021, 0.081, 0.005, 0.041], "now_contribution": 0.0}, {"site_id": "YWS00218", "company": "Yorkshire Water", "site_name": "WATTLE SYKE/CSO", "receiving_watercourse": "River Wharfe", "lat": 53.912481, "lon": -1.400985, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2025-03-13T23:45:00+00:00", "latest_event_end": "2025-04-02T11:17:00+00:00", "lta_spills": 1.3300000429153442, "spill_hours": 10.5, "snap_confidence": "high", "distance_km": 2.8, "lake_distance_km": 0.0, "travel_h": 1.6, "weight": 0.878, "p_spill_today": 0.001, "p_spill_tomorrow": 0.003, "p_spill_days": [0.001, 0.003, 0.018, 0.002, 0.006], "now_contribution": 0.0}, {"site_id": "YWS00213", "company": "Yorkshire Water", "site_name": "KEARBY/STW", "receiving_watercourse": "River Wharfe", "lat": 53.915371, "lon": -1.493875, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2026-05-28T09:04:26+00:00", "latest_event_end": "2026-05-28T09:26:32+00:00", "lta_spills": 41.5, "spill_hours": 304.5, "snap_confidence": "high", "distance_km": 10.9, "lake_distance_km": 0.0, "travel_h": 6.0, "weight": 0.575, "p_spill_today": 0.002, "p_spill_tomorrow": 0.044, "p_spill_days": [0.002, 0.044, 0.148, 0.025, 0.091], "now_contribution": 0.0}, {"site_id": "YWS00204", "company": "Yorkshire Water", "site_name": "LANGWITH VALLEY/CSO", "receiving_watercourse": "River Wharfe", "lat": 53.90828, "lon": -1.433408, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2026-09-25T12:08:39+00:00", "latest_event_end": "2026-09-25T12:11:30+00:00", "lta_spills": 3.3299999237060547, "spill_hours": 1.0, "snap_confidence": "high", "distance_km": 5.4, "lake_distance_km": 0.0, "travel_h": 3.0, "weight": 0.733, "p_spill_today": 0.001, "p_spill_tomorrow": 0.002, "p_spill_days": [0.001, 0.002, 0.009, 0.002, 0.004], "now_contribution": 0.0}, {"site_id": "YWS00200", "company": "Yorkshire Water", "site_name": "POOL/STW/6XDWF OVERFLOW", "receiving_watercourse": "River Wharfe", "lat": 53.904277, "lon": -1.600278, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2026-08-26T08:29:21+00:00", "latest_event_end": "2026-08-26T08:30:00+00:00", "lta_spills": 31.0, "spill_hours": 117.0, "snap_confidence": "high", "distance_km": 20.5, "lake_distance_km": 0.0, "travel_h": 11.4, "weight": 0.337, "p_spill_today": 0.002, "p_spill_tomorrow": 0.042, "p_spill_days": [0.002, 0.042, 0.138, 0.022, 0.084], "now_contribution": 0.0}, {"site_id": "YWS00893", "company": "Yorkshire Water", "site_name": "BURLEY IN WHARFEDALE/STW", "receiving_watercourse": "River Wharfe", "lat": 53.910191, "lon": -1.72124, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2026-09-04T01:13:34+00:00", "latest_event_end": "2026-09-04T04:08:48+00:00", "lta_spills": 100.83000183105469, "spill_hours": 1143.5, "snap_confidence": "high", "distance_km": 31.3, "lake_distance_km": 0.0, "travel_h": 17.4, "weight": 0.132, "p_spill_today": 0.007, "p_spill_tomorrow": 0.066, "p_spill_days": [0.007, 0.066, 0.333, 0.066, 0.247], "now_contribution": 0.0}, {"site_id": "YWS00202", "company": "Yorkshire Water", "site_name": "WARREN LANE OTLEY/CSO", "receiving_watercourse": "Tributary of River Wharfe", "lat": 53.90033, "lon": -1.602598, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2026-08-25T02:34:16+00:00", "latest_event_end": "2026-08-25T02:34:30+00:00", "lta_spills": 17.329999923706055, "spill_hours": 28.5, "snap_confidence": "high", "distance_km": 20.4, "lake_distance_km": 0.0, "travel_h": 11.3, "weight": 0.339, "p_spill_today": 0.001, "p_spill_tomorrow": 0.026, "p_spill_days": [0.001, 0.026, 0.079, 0.004, 0.047], "now_contribution": 0.0}, {"site_id": "YWS00215", "company": "Yorkshire Water", "site_name": "ARTHINGTON LANE/CSO", "receiving_watercourse": "River Wharfe", "lat": 53.903562, "lon": -1.623876, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2026-08-30T18:25:02+00:00", "latest_event_end": "2026-08-30T18:54:49+00:00", "lta_spills": 23.829999923706055, "spill_hours": 41.5, "snap_confidence": "high", "distance_km": 23.1, "lake_distance_km": 0.0, "travel_h": 12.9, "weight": 0.289, "p_spill_today": 0.001, "p_spill_tomorrow": 0.032, "p_spill_days": [0.001, 0.032, 0.095, 0.012, 0.058], "now_contribution": 0.0}], "guide": {"checked": "2026-10-03", "how": "desk", "facts": [{"topic": "parking", "text": "Wilderness car park, Wetherby (PayByPhone zone 811527) charges Monday to Saturday, 8am to 6pm: up to 1 hour free, up to 2 hours \u00a31.15, up to 3 hours \u00a32.15, up to 5 hours \u00a32.65, up to 6 hours \u00a33.15, up to 10 hours \u00a33.65, up to 7 days \u00a312.15. Sunday is free all day. Maximum stay 23 hours. The council's page does not mention the bathing site.", "status": "confirmed", "source": "https://www.leeds.gov.uk/parking-roads-and-travel/parking/parking-prices", "source_name": "Leeds City Council"}, {"topic": "path", "text": "The site is reached from the Wilderness car park. It runs either side of Wetherby Bridge, from below the weir to the bandstand and picnic area just west of the car park.", "status": "confirmed", "source": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=uke4200-08904", "source_name": "Environment Agency bathing water profile"}], "photos": []}, "algae": {"date": "2026-09-24", "level": 0, "phrase": "none seen", "result": "No material present", "n_checks": 21, "n_seen": 0, "n_objectionable": 0, "season": 2026}, "lab_sample": {"taken_at": "2026-09-24T14:54+01:00", "ecoli": 250}, "classification": {"class": "poor", "year": 2025, "history": [[2025, "poor"], [2024, "poor"]], "url": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=uke4200-08904"}, "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 20, "sunrise": "07:14", "sunset": "18:32"}, {"date": "2026-10-06", "tmax": 16, "sunrise": "07:16", "sunset": "18:29"}, {"date": "2026-10-07", "tmax": 14, "sunrise": "07:18", "sunset": "18:27"}, {"date": "2026-10-08", "tmax": 13, "sunrise": "07:20", "sunset": "18:25"}, {"date": "2026-10-09", "tmax": 16, "sunrise": "07:21", "sunset": "18:22"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "bw-uke2204-08905", "name": "Swale above Richmond Falls", "kind": "river", "river": "River Swale", "source": "designated", "notes": "Environment Agency designated bathing water", "lat": 54.40058, "lon": -1.73468, "query": {"lat": 54.40058, "lon": -1.73468, "issued_at": "2026-10-05T03:12:50.054758+01:00"}, "location": {"mode": "river", "watercourse": "River Swale", "snap_distance_m": 29, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "on river", "snapped": {"lat": 54.40032, "lon": -1.73459}}, "river_state": {"station": "Richmond Lownthwaite Bridge", "river": "River Swale", "level_m": 0.012, "typical_low_m": 0.0, "typical_high_m": 3.0, "index": 0.0, "label": "low", "observed_at": "2026-10-05T01:30:00Z", "age_hours": 0.7, "stale": false, "rloi": "8169", "measure": "L2307-level-stage-i-15_min-m", "distance_km": 2.7, "same_river": true, "rise_6h_m": -0.014, "rise_from": "2026-10-04T20:15:00Z", "rise_to": "2026-10-05T01:30:00Z"}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.004, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 1, "monitored_upstream": 6, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.007, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.129}, {"date": "2026-10-06", "risk": 0.138, "label": "low", "expected_spilling_overflows": 0.6, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.137, "rain_48h_mm": 1.1, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.349}, {"date": "2026-10-07", "risk": 0.228, "label": "moderate", "expected_spilling_overflows": 0.7, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.228, "source": {"site_id": "YWS00357", "site_name": "REETH ROAD/NO 2 CSO", "receiving_watercourse": "River Swale", "status": 0, "distance_km": 1.5, "lake_distance_km": 0.0, "travel_h": 0.8, "share": 0.413, "spread_over": 4}, "rain_48h_mm": 7.4, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.584}, {"date": "2026-10-08", "risk": 0.055, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.055, "rain_48h_mm": 6.3, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.543}, {"date": "2026-10-09", "risk": 0.224, "label": "moderate", "expected_spilling_overflows": 0.7, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.224, "source": {"site_id": "YWS00357", "site_name": "REETH ROAD/NO 2 CSO", "receiving_watercourse": "River Swale", "status": 0, "distance_km": 1.5, "lake_distance_km": 0.0, "travel_h": 0.8, "share": 0.474, "spread_over": 3}, "rain_48h_mm": 3.3, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.484}], "upstream_summary": {"overflows": 6, "with_live_feed": 6, "without_live_feed": 0, "sum_weight": 3.121, "history_days": 2, "max_travel_h": 16.1}, "contributors": [{"site_id": "YWS00357", "company": "Yorkshire Water", "site_name": "REETH ROAD/NO 2 CSO", "receiving_watercourse": "River Swale", "lat": 54.404072, "lon": -1.75138, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2026-10-02T22:59:50+00:00", "latest_event_end": "2026-10-02T23:06:15+00:00", "lta_spills": 63.16999816894531, "spill_hours": 80.56666564941406, "snap_confidence": "high", "distance_km": 1.5, "lake_distance_km": 0.0, "travel_h": 0.8, "weight": 0.918, "p_spill_today": 0.002, "p_spill_tomorrow": 0.078, "p_spill_days": [0.002, 0.078, 0.111, 0.013, 0.127], "now_contribution": 0.0}, {"site_id": "YWS00356", "company": "Yorkshire Water", "site_name": "RICHMOND BRIDGE/NO 2 CSO", "receiving_watercourse": "River Swale", "lat": 54.400228, "lon": -1.73965, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2026-06-26T15:36:23+00:00", "latest_event_end": "2026-06-26T15:39:31+00:00", "lta_spills": 3.6700000762939453, "spill_hours": 2.433333396911621, "snap_confidence": "high", "distance_km": 0.3, "lake_distance_km": 0.0, "travel_h": 0.2, "weight": 0.964, "p_spill_today": 0.001, "p_spill_tomorrow": 0.005, "p_spill_days": [0.001, 0.005, 0.008, 0.003, 0.007], "now_contribution": 0.0}, {"site_id": "YWS00352", "company": "Yorkshire Water", "site_name": "RIVERSIDE ROAD/NO 2 CSO", "receiving_watercourse": "River Swale", "lat": 54.400696, "lon": -1.740078, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2026-08-30T20:09:29+00:00", "latest_event_end": "2026-08-30T20:18:29+00:00", "lta_spills": 53.5, "spill_hours": 126.23332977294922, "snap_confidence": "high", "distance_km": 0.4, "lake_distance_km": 0.0, "travel_h": 0.2, "weight": 0.964, "p_spill_today": 0.002, "p_spill_tomorrow": 0.049, "p_spill_days": [0.002, 0.049, 0.1, 0.015, 0.098], "now_contribution": 0.0}, {"site_id": "YWS01117", "company": "Yorkshire Water", "site_name": "REETH/STW", "receiving_watercourse": "Arkle Beck", "lat": 54.384853, "lon": -1.935142, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2026-10-02T23:55:14+00:00", "latest_event_end": "2026-10-02T23:59:03+00:00", "lta_spills": 68.83000183105469, "spill_hours": 76.0, "snap_confidence": "high", "distance_km": 18.4, "lake_distance_km": 0.0, "travel_h": 10.2, "weight": 0.094, "p_spill_today": 0.004, "p_spill_tomorrow": 0.185, "p_spill_days": [0.004, 0.185, 0.153, 0.021, 0.154], "now_contribution": 0.004}, {"site_id": "YWS00349", "company": "Yorkshire Water", "site_name": "MARSKE/STW", "receiving_watercourse": "Marske Beck", "lat": 54.399235, "lon": -1.841162, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2025-05-26T22:29:09+00:00", "latest_event_end": "2025-05-26T22:31:53+00:00", "lta_spills": 152.6699981689453, "spill_hours": 2045.75, "snap_confidence": "high", "distance_km": 9.2, "lake_distance_km": 0.0, "travel_h": 5.1, "weight": 0.07, "p_spill_today": 0.013, "p_spill_tomorrow": 0.173, "p_spill_days": [0.013, 0.173, 0.222, 0.077, 0.222], "now_contribution": 0.0}, {"site_id": "YWS00328", "company": "Yorkshire Water", "site_name": "GUNNERSIDE/NO 2 STW", "receiving_watercourse": "River Swale", "lat": 54.375767, "lon": -2.078784, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": null, "latest_event_end": null, "lta_spills": 46.599998474121094, "spill_hours": 1.5, "snap_confidence": "high", "distance_km": 29.0, "lake_distance_km": 0.0, "travel_h": 16.1, "weight": 0.111, "p_spill_today": 0.019, "p_spill_tomorrow": 0.123, "p_spill_days": [0.019, 0.123, 0.103, 0.018, 0.111], "now_contribution": 0.0}], "guide": {"checked": "2026-10-03", "how": "desk", "facts": [{"topic": "parking", "text": "The Fosse car park, Riverside Road, Richmond DL10 4JR, is ticketless: pay on arrival by cash, RingGo or contactless card. Charges apply 8am to 6pm: 30 minutes \u00a30.80, 1 hour \u00a32.20, 2 hours \u00a33.70, 4 hours \u00a35.10. It has 39 spaces including 2 disabled; disabled badge holders park free for up to 4 hours. The council's page does not mention the bathing site.", "status": "confirmed", "source": "https://www.northyorks.gov.uk/roads-parking-and-travel/car-park-directory/car-park-directory/fosse-car-park-richmond", "source_name": "North Yorkshire Council"}, {"topic": "path", "text": "The bathing site lies below the Fosse car park and above the series of waterfalls known as Richmond Falls, on the western side of Richmond.", "status": "confirmed", "source": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=uke2204-08905", "source_name": "Environment Agency bathing water profile"}, {"topic": "toilets", "text": "The Falls toilets on Riverside Road, Richmond, are open 8am to 8pm, Monday to Sunday. The fee is \u00a30.20; there is an accessible toilet with Radar key. The council's page does not mention the bathing site.", "status": "confirmed", "source": "https://www.northyorks.gov.uk/leisure-tourism-and-culture/public-toilets/public-toilets/falls-toilets-richmond", "source_name": "North Yorkshire Council"}], "photos": []}, "algae": {"date": "2026-09-22", "level": 0, "phrase": "none seen", "result": "No material present", "n_checks": 23, "n_seen": 0, "n_objectionable": 0, "season": 2026}, "lab_sample": {"taken_at": "2026-09-22T09:05+01:00", "ecoli": 330}, "classification": {"url": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=uke2204-08905"}, "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 18, "sunrise": "07:16", "sunset": "18:33"}, {"date": "2026-10-06", "tmax": 15, "sunrise": "07:18", "sunset": "18:30"}, {"date": "2026-10-07", "tmax": 13, "sunrise": "07:20", "sunset": "18:28"}, {"date": "2026-10-08", "tmax": 12, "sunrise": "07:21", "sunset": "18:25"}, {"date": "2026-10-09", "tmax": 15, "sunrise": "07:23", "sunset": "18:23"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "bw-ukf2208-09701", "name": "Rutland Water Whitwell Creek", "kind": "lake", "river": null, "source": "designated", "notes": "Environment Agency designated bathing water", "lat": 52.66351, "lon": -0.63186, "query": {"lat": 52.66351, "lon": -0.63186, "issued_at": "2026-10-05T03:12:50.322896+01:00"}, "location": {"mode": "lake", "watercourse": "Rutland Water", "snap_distance_m": 444, "form": "lake", "lake_area_km2": 11.9, "lake_source": "polygon", "adopted_main_channel": false, "placement": null, "snapped": {"lat": 52.65984, "lon": -0.63443}}, "river_state": {"station": "Fosters Bridge", "river": "River Chater", "level_m": 0.076, "typical_low_m": 0.042, "typical_high_m": 1.09, "index": 0.03, "label": "low", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "6034", "measure": "E2734-level-stage-i-15_min-mASD", "distance_km": 6.2, "same_river": false}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": false, "season_validated_months": [5, 6, 7, 8, 9], "note": "Not validated on lakes: no ranking skill in the fitting data (16 exceedances in 803 lake samples)."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 5, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.032}, {"date": "2026-10-06", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.032}, {"date": "2026-10-07", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.2, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 2.3, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.024}, {"date": "2026-10-08", "risk": 0.001, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.001, "rain_48h_mm": 3.6, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.025}, {"date": "2026-10-09", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.4, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 7.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.02}], "upstream_summary": {"overflows": 5, "with_live_feed": 5, "without_live_feed": 0, "sum_weight": 0.021, "history_days": 3, "max_travel_h": 37.4}, "contributors": [{"site_id": "AWS00947", "company": "Anglian Water", "site_name": "OAKHAM STW", "receiving_watercourse": "RUTLAND WATER/BARLEYTHORPE BRO", "lat": 52.668726, "lon": -0.71090624, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-08-27T12:42:40+00:00", "latest_event_end": "2026-08-27T18:02:19+00:00", "lta_spills": 37.83000183105469, "spill_hours": 283.6000061035156, "snap_confidence": "high", "distance_km": 1.0, "lake_distance_km": 4.4, "travel_h": 24.9, "weight": 0.005, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.066, 0.009, 0.113], "now_contribution": 0.0}, {"site_id": "AWS00948", "company": "Anglian Water", "site_name": "OAKHAM STW", "receiving_watercourse": "RUTLAND WATER/BARLEYTHORPE BRO", "lat": 52.668553, "lon": -0.71150288, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-07-08T17:00:28+00:00", "latest_event_end": "2026-07-08T17:34:07+00:00", "lta_spills": 43.16999816894531, "spill_hours": 212.93333435058594, "snap_confidence": "high", "distance_km": 1.0, "lake_distance_km": 4.4, "travel_h": 24.9, "weight": 0.005, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.064, 0.01, 0.106], "now_contribution": 0.0}, {"site_id": "AWS00209", "company": "Anglian Water", "site_name": "OAKHAM-CATMOSE VALE ROAD SSO", "receiving_watercourse": "Trib River Gwash", "lat": 52.665413, "lon": -0.72046759, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2024-03-19T13:34:44+00:00", "latest_event_end": "2024-03-21T02:27:22+00:00", "lta_spills": 0.0, "spill_hours": 0.0, "snap_confidence": "high", "distance_km": 2.1, "lake_distance_km": 4.5, "travel_h": 26.0, "weight": 0.005, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.002, 0.001, 0.003], "now_contribution": 0.0}, {"site_id": "AWS00131", "company": "Anglian Water", "site_name": "BRAUNSTON STW", "receiving_watercourse": "RIVER GWASH", "lat": 52.649114, "lon": -0.76199235, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-09-04T08:19:46+00:00", "latest_event_end": "2026-09-04T08:20:01+00:00", "lta_spills": 29.170000076293945, "spill_hours": 30.733333587646484, "snap_confidence": "high", "distance_km": 6.3, "lake_distance_km": 5.7, "travel_h": 34.9, "weight": 0.004, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.038, 0.008, 0.093], "now_contribution": 0.0}, {"site_id": "AWS00706", "company": "Anglian Water", "site_name": "KNOSSINGTON STW", "receiving_watercourse": "unnamed stream River Gwash", "lat": 52.662013, "lon": -0.80824842, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-09-04T05:56:39+00:00", "latest_event_end": "2026-09-04T07:53:44+00:00", "lta_spills": 41.0, "spill_hours": 780.0, "snap_confidence": "high", "distance_km": 10.7, "lake_distance_km": 5.7, "travel_h": 37.4, "weight": 0.002, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.063, 0.016, 0.091], "now_contribution": 0.0}], "guide": {"checked": "2026-10-03", "how": "desk", "facts": [{"topic": "parking", "text": "Whitwell car park (LE15 8BL) is on the north shore of Rutland Water, with watersports, cafes, Aqua Park Rutland and Rutland Cycling. Anglian Water's page does not mention Whitwell Creek bathing water.", "status": "confirmed", "source": "https://anglianwaterparks.co.uk/rutland-water-park/visitor-information", "source_name": "Anglian Water"}, {"topic": "parking", "text": "Rutland Water car park tariff from April 2025: up to 15 minutes free, \u00a32.00 per hour up to 6 hours, over 6 hours \u00a316.00. An annual permit is \u00a380.00. Anglian Water's page does not mention Whitwell Creek bathing water.", "status": "confirmed", "source": "https://anglianwaterparks.co.uk/rutland-water-park/visitor-information", "source_name": "Anglian Water"}, {"topic": "parking", "text": "The Normanton, Sykes Lane, Whitwell and Barnsdale car parks open from 9am daily; closing time varies by season (2026: 8pm from 1 May, 7pm from 1 September, 6pm from 1 October, 4pm from 26 October). No overnight stays. Anglian Water's page does not mention Whitwell Creek bathing water.", "status": "confirmed", "source": "https://anglianwaterparks.co.uk/rutland-water-park/visitor-information", "source_name": "Anglian Water"}, {"topic": "changing", "text": "For the open water swimming sessions there is parking, showers, changing rooms, toilets, lockers and a staffed bag and bike drop. Wetsuit hire is \u00a35 per suit, booked in advance. Anglian Water's page does not name Whitwell Creek.", "status": "confirmed", "source": "https://anglianwaterparks.co.uk/rutland-water-park/other-activities/open-water-swimming", "source_name": "Anglian Water"}, {"topic": "fees", "text": "Swimmers pay \u00a38.00 for a swim and \u00a31.00 for parking, and booking is essential. Anglian Water's page does not name Whitwell Creek.", "status": "confirmed", "source": "https://anglianwaterparks.co.uk/rutland-water-park/other-activities/open-water-swimming", "source_name": "Anglian Water"}, {"topic": "hours", "text": "Inspire2tri runs open water swimming at Rutland Water, Whitwell in late spring, summer and early autumn, in partnership with Anglian Water's watersports team. Its listed sessions include a Sunday swim and a Thursday swim.", "status": "confirmed", "source": "https://inspire2tri.com/venues/ow-whitwell", "source_name": "Inspire2tri, which runs the swim sessions"}, {"topic": "hours", "text": "Open water swimming is only during advertised group times. The swim season runs from May to September, with coached small-group sessions on Thursday evenings. Anglian Water's page does not name Whitwell Creek.", "status": "confirmed", "source": "https://anglianwaterparks.co.uk/rutland-water-park/other-activities/open-water-swimming", "source_name": "Anglian Water"}, {"topic": "rules", "text": "In the months marked May to August, use of the slipway and launching of boats and paddle craft in Whitwell Creek is not allowed until 10am on Sunday mornings because of the weekly open water swimming sessions.", "status": "confirmed", "source": "https://anglianwaterparks.co.uk/rutland-water-park/watersports", "source_name": "Anglian Water"}, {"topic": "rules", "text": "The Sunday swim is a 300m to 600m marked course within the more sheltered creek area. Evening swims are also run within the creek, with the watersports safety team of kayakers and powerboats.", "status": "confirmed", "source": "https://inspire2tri.com/venues/ow-whitwell", "source_name": "Inspire2tri, which runs the swim sessions"}, {"topic": "rules", "text": "Open water swimming at Rutland Water is open to anyone over 8 who can easily swim 250m. Under-16s new to the session must be accompanied by an adult who is also in the water. Anglian Water's page does not name Whitwell Creek.", "status": "confirmed", "source": "https://anglianwaterparks.co.uk/rutland-water-park/other-activities/open-water-swimming", "source_name": "Anglian Water"}], "photos": []}, "algae": {"date": "2026-09-24", "level": 0, "phrase": "none seen", "result": "No material present", "n_checks": 16, "n_seen": 4, "n_objectionable": 1, "season": 2026}, "lab_sample": {"taken_at": "2026-09-24T11:30+01:00", "ecoli": 10, "qualifier": "<"}, "classification": {"class": "excellent", "year": 2025, "history": [[2025, "excellent"], [2024, "excellent"], [2023, "good"]], "url": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukf2208-09701"}, "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 21, "sunrise": "07:10", "sunset": "18:30"}, {"date": "2026-10-06", "tmax": 20, "sunrise": "07:12", "sunset": "18:27"}, {"date": "2026-10-07", "tmax": 14, "sunrise": "07:14", "sunset": "18:25"}, {"date": "2026-10-08", "tmax": 13, "sunrise": "07:15", "sunset": "18:23"}, {"date": "2026-10-09", "tmax": 16, "sunrise": "07:17", "sunset": "18:21"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "bw-ukf2208-09702", "name": "Rutland Water Sykes Lane", "kind": "lake", "river": null, "source": "designated", "notes": "Environment Agency designated bathing water", "lat": 52.66321, "lon": -0.61314, "query": {"lat": 52.66321, "lon": -0.61314, "issued_at": "2026-10-05T03:12:50.500882+01:00"}, "location": {"mode": "lake", "watercourse": "Rutland Water", "snap_distance_m": 535, "form": "lake", "lake_area_km2": 11.9, "lake_source": "polygon", "adopted_main_channel": false, "placement": null, "snapped": {"lat": 52.65868, "lon": -0.61048}}, "river_state": {"station": "Fosters Bridge", "river": "River Chater", "level_m": 0.076, "typical_low_m": 0.042, "typical_high_m": 1.09, "index": 0.03, "label": "low", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "6034", "measure": "E2734-level-stage-i-15_min-mASD", "distance_km": 5.6, "same_river": false}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": false, "season_validated_months": [5, 6, 7, 8, 9], "note": "Not validated on lakes: no ranking skill in the fitting data (16 exceedances in 803 lake samples)."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 5, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.032}, {"date": "2026-10-06", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.032}, {"date": "2026-10-07", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.2, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 2.3, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.024}, {"date": "2026-10-08", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 3.6, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.025}, {"date": "2026-10-09", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.4, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 7.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.02}], "upstream_summary": {"overflows": 5, "with_live_feed": 5, "without_live_feed": 0, "sum_weight": 0.013, "history_days": 3, "max_travel_h": 43.5}, "contributors": [{"site_id": "AWS00947", "company": "Anglian Water", "site_name": "OAKHAM STW", "receiving_watercourse": "RUTLAND WATER/BARLEYTHORPE BRO", "lat": 52.668726, "lon": -0.71090624, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-08-27T12:42:40+00:00", "latest_event_end": "2026-08-27T18:02:19+00:00", "lta_spills": 37.83000183105469, "spill_hours": 283.6000061035156, "snap_confidence": "high", "distance_km": 1.0, "lake_distance_km": 5.6, "travel_h": 31.9, "weight": 0.003, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.066, 0.009, 0.113], "now_contribution": 0.0}, {"site_id": "AWS00948", "company": "Anglian Water", "site_name": "OAKHAM STW", "receiving_watercourse": "RUTLAND WATER/BARLEYTHORPE BRO", "lat": 52.668553, "lon": -0.71150288, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-07-08T17:00:28+00:00", "latest_event_end": "2026-07-08T17:34:07+00:00", "lta_spills": 43.16999816894531, "spill_hours": 212.93333435058594, "snap_confidence": "high", "distance_km": 1.0, "lake_distance_km": 5.6, "travel_h": 31.9, "weight": 0.003, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.064, 0.01, 0.106], "now_contribution": 0.0}, {"site_id": "AWS00209", "company": "Anglian Water", "site_name": "OAKHAM-CATMOSE VALE ROAD SSO", "receiving_watercourse": "Trib River Gwash", "lat": 52.665413, "lon": -0.72046759, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2024-03-19T13:34:44+00:00", "latest_event_end": "2024-03-21T02:27:22+00:00", "lta_spills": 0.0, "spill_hours": 0.0, "snap_confidence": "high", "distance_km": 2.1, "lake_distance_km": 5.7, "travel_h": 32.9, "weight": 0.003, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.002, 0.001, 0.003], "now_contribution": 0.0}, {"site_id": "AWS00131", "company": "Anglian Water", "site_name": "BRAUNSTON STW", "receiving_watercourse": "RIVER GWASH", "lat": 52.649114, "lon": -0.76199235, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-09-04T08:19:46+00:00", "latest_event_end": "2026-09-04T08:20:01+00:00", "lta_spills": 29.170000076293945, "spill_hours": 30.733333587646484, "snap_confidence": "high", "distance_km": 6.3, "lake_distance_km": 6.8, "travel_h": 41.1, "weight": 0.003, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.038, 0.008, 0.093], "now_contribution": 0.0}, {"site_id": "AWS00706", "company": "Anglian Water", "site_name": "KNOSSINGTON STW", "receiving_watercourse": "unnamed stream River Gwash", "lat": 52.662013, "lon": -0.80824842, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-09-04T05:56:39+00:00", "latest_event_end": "2026-09-04T07:53:44+00:00", "lta_spills": 41.0, "spill_hours": 780.0, "snap_confidence": "high", "distance_km": 10.7, "lake_distance_km": 6.8, "travel_h": 43.5, "weight": 0.001, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.063, 0.016, 0.091], "now_contribution": 0.0}], "guide": {"checked": "2026-10-03", "how": "desk", "facts": [{"topic": "parking", "text": "Sykes Lane car park, LE15 8QL. Free for 15 minutes, then \u00a32 an hour for up to 6 hours. Opens 9am daily; closing time changes through the year.", "status": "confirmed", "source": "https://anglianwaterparks.co.uk/rutland-water-park/visitor-information", "source_name": "Anglian Water"}, {"topic": "parking", "text": "On busy days parking is charged per car on entry. When the Overflow A car park is in use it is a 15-minute walk from the beach.", "status": "confirmed", "source": "https://anglianwaterparks.co.uk/rutland-water-park/other-activities/beach", "source_name": "Anglian Water"}, {"topic": "entry", "text": "A sandy beach on the north-east shore, between Whitwell and Empingham.", "status": "confirmed", "source": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukf2208-09702", "source_name": "Environment Agency bathing water profile"}, {"topic": "entry", "text": "140 metres of sandy shoreline, with a 2,800 square metre area to paddle and swim in.", "status": "confirmed", "source": "https://anglianwaterparks.co.uk/rutland-water-park/other-activities/beach", "source_name": "Anglian Water"}, {"topic": "hours", "text": "The 2026 beach season ran from 23 May and closed on 17 September. Stay out of the water outside the opening periods.", "status": "confirmed", "source": "https://anglianwaterparks.co.uk/rutland-water-park/other-activities/beach", "source_name": "Anglian Water"}, {"topic": "rules", "text": "Swim only in the lifeguarded area.", "status": "confirmed", "source": "https://anglianwaterparks.co.uk/rutland-water-park/other-activities/beach", "source_name": "Anglian Water"}, {"topic": "rules", "text": "Sykes Lane beach is the only place at Rutland Water where swimming is permitted.", "status": "confirmed", "source": "https://anglianwaterparks.co.uk/faqs", "source_name": "Anglian Water"}], "photos": []}, "algae": {"date": "2026-09-24", "level": 1, "phrase": "a trace (1 or 2 items)", "result": "Trace present - 1 or 2 items", "n_checks": 11, "n_seen": 3, "n_objectionable": 0, "season": 2026}, "lab_sample": {"taken_at": "2026-09-24T11:00+01:00", "ecoli": 3800}, "classification": {"class": "excellent", "year": 2025, "history": [[2025, "excellent"], [2024, "excellent"], [2023, "excellent"]], "url": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukf2208-09702"}, "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 21, "sunrise": "07:10", "sunset": "18:30"}, {"date": "2026-10-06", "tmax": 19, "sunrise": "07:12", "sunset": "18:27"}, {"date": "2026-10-07", "tmax": 15, "sunrise": "07:13", "sunset": "18:25"}, {"date": "2026-10-08", "tmax": 13, "sunrise": "07:15", "sunset": "18:23"}, {"date": "2026-10-09", "tmax": 17, "sunrise": "07:17", "sunset": "18:21"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "bw-ukf1400-09750", "name": "Colwick Country Park (West Lake)", "kind": "lake", "river": null, "source": "designated", "notes": "Environment Agency designated bathing water", "lat": 52.94516, "lon": -1.09815, "query": {"lat": 52.94516, "lon": -1.09815, "issued_at": "2026-10-05T03:12:50.679098+01:00"}, "location": {"mode": "lake", "watercourse": null, "snap_distance_m": 444, "form": "lake", "lake_area_km2": null, "lake_source": "centreline", "adopted_main_channel": false, "placement": null, "snapped": {"lat": 52.94772, "lon": -1.09309}}, "river_state": {"station": "Colwick", "river": "River Trent", "level_m": 0.965, "typical_low_m": 1.014, "typical_high_m": 3.6, "index": -0.02, "label": "low", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "2102", "measure": "4009-level-stage-i-15_min-mASD", "distance_km": 1.6, "same_river": null}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": false, "season_validated_months": [5, 6, 7, 8, 9], "note": "Not validated on lakes: no ranking skill in the fitting data (16 exceedances in 803 lake samples)."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 0, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.032}, {"date": "2026-10-06", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.032}, {"date": "2026-10-07", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 5.5, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.02}, {"date": "2026-10-08", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 5.6, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.029}, {"date": "2026-10-09", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 5.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.021}], "upstream_summary": {"overflows": 0, "with_live_feed": 0, "without_live_feed": 0, "sum_weight": 0.0, "history_days": 1, "max_travel_h": 0.0}, "contributors": [], "guide": {"checked": "2026-10-03", "how": "desk", "facts": [{"topic": "parking", "text": "There is a free car park at the end of Racecourse Road (NG2 4BH) and off Daleside Road East (NG2 4DX). The River Road car park, off Mile End Road (NG4 2EW), charges \u00a32 (cash only) between 09:00 and 16:00.", "status": "confirmed", "source": "https://www.nottinghamcity.gov.uk/leisure-and-culture/parks-and-open-spaces/find-your-local-park/colwick-country-park/", "source_name": "Nottingham City Council"}, {"topic": "parking", "text": "WholeHealth says to park at the Racecourse Road car park at the very end of Racecourse Road (postcode NG2 4BH), through a yellow barrier gate after passing Colwick Hall.", "status": "confirmed", "source": "https://whollyhealthy.co.uk/find-us/", "source_name": "WholeHealth, which runs the swim sessions"}, {"topic": "path", "text": "From the car park, go through the yellow gate at the top and follow signs to West Lake along a tarmac path for about 500m to another yellow gate, where the swim village is.", "status": "confirmed", "source": "https://whollyhealthy.co.uk/find-us/", "source_name": "WholeHealth, which runs the swim sessions"}, {"topic": "path", "text": "The 44 and 45 buses from town go to Colwick Park. It is a mile walk from the Racecourse Road bus stop.", "status": "confirmed", "source": "https://whollyhealthy.co.uk/faqs/", "source_name": "WholeHealth, which runs the swim sessions"}, {"topic": "entry", "text": "Swimmers get into West Lake from a floating pontoon or a concrete slipway next to the adventure centre. There is no beach, but there is a grassy area around the lake.", "status": "confirmed", "source": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukf1400-09750", "source_name": "Environment Agency bathing water profile"}, {"topic": "toilets", "text": "When open, the park's toilets are available from 9am to 3:30pm daily.", "status": "confirmed", "source": "https://www.nottinghamcity.gov.uk/leisure-and-culture/parks-and-open-spaces/find-your-local-park/colwick-country-park/", "source_name": "Nottingham City Council"}, {"topic": "toilets", "text": "There are no toilets in the swim changing area. City Council toilets are in the park about 500m away, open only during park opening times.", "status": "confirmed", "source": "https://whollyhealthy.co.uk/faqs/", "source_name": "WholeHealth, which runs the swim sessions"}, {"topic": "changing", "text": "There are no showers at the lake. There is a very basic mixed-gender changing space with some covered areas and hooks for belongings in the swim compound.", "status": "confirmed", "source": "https://whollyhealthy.co.uk/faqs/", "source_name": "WholeHealth, which runs the swim sessions"}, {"topic": "fees", "text": "WholeHealth membership is \u00a350 a year and lets you book swims in its app. Swim sessions are \u00a36 for members and \u00a310 for guests. Non-members can pay \u00a310 cash or card at the lake for any regular timetabled session, after signing a disclaimer.", "status": "confirmed", "source": "https://whollyhealthy.co.uk/open-water-squad/", "source_name": "WholeHealth, which runs the swim sessions"}, {"topic": "hours", "text": "The West Lake is home to the Nottingham City Open Water Swimming Centre from April to October each year. Sessions are run by WholeHealth.", "status": "confirmed", "source": "https://www.nottinghamcity.gov.uk/leisure-and-culture/parks-and-open-spaces/find-your-local-park/colwick-country-park/", "source_name": "Nottingham City Council"}, {"topic": "hours", "text": "Sessions run year-round: summer timetable 1 April to 31 October, winter 1 November to 31 March. Regular swims include Wednesday and Friday 7:30am to 9am (8am to 9am in winter), Thursday Loop Swim 5pm to 7pm (April to October only), and Saturday and Sunday 9:30am to 12 noon.", "status": "confirmed", "source": "https://whollyhealthy.co.uk/open-water-squad/", "source_name": "WholeHealth, which runs the swim sessions"}, {"topic": "rules", "text": "West Lake is also a coarse fishery and is used for canoeing and sailing by the adventure centre.", "status": "confirmed", "source": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukf1400-09750", "source_name": "Environment Agency bathing water profile"}, {"topic": "rules", "text": "Swimming is not allowed on any lake at Colwick Country Park except during the organised Nottingham City Open Water Swimming sessions. Boats and inflatables are not allowed.", "status": "confirmed", "source": "https://www.nottinghamcity.gov.uk/leisure-and-culture/parks-and-open-spaces/find-your-local-park/colwick-country-park/", "source_name": "Nottingham City Council"}, {"topic": "rules", "text": "WholeHealth runs lifeguarded open water swim sessions for its members at the council-owned Colwick Lake.", "status": "confirmed", "source": "https://whollyhealthy.co.uk/open-water-squad/", "source_name": "WholeHealth, which runs the swim sessions"}, {"topic": "rules", "text": "Swimming is not allowed at Colwick Park outside WholeHealth's sessions, and park rangers will ask anyone swimming outside these times to leave.", "status": "confirmed", "source": "https://whollyhealthy.co.uk/faqs/", "source_name": "WholeHealth, which runs the swim sessions"}, {"topic": "rules", "text": "Children may swim if supervised one-to-one by a parent or guardian. All swimmers must wear tow floats, and may be asked to use extra flotation aids or stay in a restricted area.", "status": "confirmed", "source": "https://whollyhealthy.co.uk/faqs/", "source_name": "WholeHealth, which runs the swim sessions"}], "photos": []}, "algae": {"date": "2026-09-23", "level": 1, "phrase": "a trace (1 or 2 items)", "result": "Trace present - 1 or 2 items", "n_checks": 19, "n_seen": 14, "n_objectionable": 3, "season": 2026}, "lab_sample": {"taken_at": "2026-09-23T09:39+01:00", "ecoli": 82}, "classification": {"class": "excellent", "year": 2025, "history": [[2025, "excellent"], [2024, "excellent"], [2023, "excellent"], [2022, "excellent"], [2021, "excellent"], [2019, "excellent"], [2018, "good"], [2017, "excellent"], [2016, "excellent"], [2015, "excellent"], [2014, "excellent"], [2013, "excellent"]], "url": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukf1400-09750"}, "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 20, "sunrise": "07:12", "sunset": "18:31"}, {"date": "2026-10-06", "tmax": 20, "sunrise": "07:14", "sunset": "18:29"}, {"date": "2026-10-07", "tmax": 13, "sunrise": "07:16", "sunset": "18:27"}, {"date": "2026-10-08", "tmax": 13, "sunrise": "07:17", "sunset": "18:24"}, {"date": "2026-10-09", "tmax": 16, "sunrise": "07:19", "sunset": "18:22"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "bw-ukh1201-09801", "name": "Sheep's Green, River Cam", "kind": "river", "river": "River Cam", "source": "designated", "notes": "Environment Agency designated bathing water", "lat": 52.19607, "lon": 0.11683, "query": {"lat": 52.19607, "lon": 0.11683, "issued_at": "2026-10-05T03:12:50.751757+01:00"}, "location": {"mode": "river", "watercourse": "River Cam", "snap_distance_m": 4, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "on river", "snapped": {"lat": 52.19605, "lon": 0.11687}}, "river_state": {"station": "Cambridge Jesus Lock", "river": "River Cam", "level_m": 0.72, "typical_low_m": 0.637, "typical_high_m": 0.74, "index": 0.81, "label": "high", "observed_at": "2026-10-05T01:00:00Z", "age_hours": 1.2, "stale": false, "rloi": "6192", "measure": "E60501-level-stage-i-15_min-mASD", "distance_km": 1.9, "same_river": true, "rise_6h_m": 0.001, "rise_from": "2026-10-04T20:15:00Z", "rise_to": "2026-10-05T01:00:00Z"}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 21, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.004, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.109}, {"date": "2026-10-06", "risk": 0.004, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.003, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.114}, {"date": "2026-10-07", "risk": 0.133, "label": "low", "expected_spilling_overflows": 2.3, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.133, "rain_48h_mm": 3.8, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.455}, {"date": "2026-10-08", "risk": 0.07, "label": "low", "expected_spilling_overflows": 0.3, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.07, "rain_48h_mm": 8.1, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.521}, {"date": "2026-10-09", "risk": 0.119, "label": "low", "expected_spilling_overflows": 1.5, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.119, "rain_48h_mm": 9.7, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.582}], "upstream_summary": {"overflows": 22, "with_live_feed": 21, "without_live_feed": 1, "sum_weight": 1.042, "history_days": 2, "max_travel_h": 21.6}, "contributors": [{"site_id": "AWS01557", "company": "Anglian Water", "site_name": "Foxton WRC (Cambs)", "receiving_watercourse": "River Rhee", "lat": 52.126589, "lon": 0.045763557, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-02-25T15:08:37+00:00", "latest_event_end": "2026-02-25T15:38:40+00:00", "lta_spills": 145.0, "spill_hours": 1644.5, "snap_confidence": "high", "distance_km": 12.5, "lake_distance_km": 0.0, "travel_h": 6.9, "weight": 0.208, "p_spill_today": 0.011, "p_spill_tomorrow": 0.015, "p_spill_days": [0.011, 0.015, 0.351, 0.092, 0.276], "now_contribution": 0.0}, {"site_id": "AWS00569", "company": "Anglian Water", "site_name": "HASLINGFIELD-STW", "receiving_watercourse": "River Rhee NT", "lat": 52.158877, "lon": 0.081309135, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-08-29T19:19:44+00:00", "latest_event_end": "2026-08-29T19:20:05+00:00", "lta_spills": 83.83000183105469, "spill_hours": 383.25, "snap_confidence": "high", "distance_km": 5.8, "lake_distance_km": 0.0, "travel_h": 3.2, "weight": 0.308, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.235, 0.025, 0.215], "now_contribution": 0.0}, {"site_id": "AWS00056", "company": "Anglian Water", "site_name": "BARRINGTON-SLID LA #2 OV", "receiving_watercourse": "Trib River Rhee", "lat": 52.12706, "lon": 0.039356819, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-09-27T23:02:30+00:00", "latest_event_end": "2026-09-27T23:07:41+00:00", "lta_spills": 39.0, "spill_hours": 15.75, "snap_confidence": "high", "distance_km": 12.9, "lake_distance_km": 0.0, "travel_h": 7.2, "weight": 0.176, "p_spill_today": 0.002, "p_spill_tomorrow": 0.003, "p_spill_days": [0.002, 0.003, 0.122, 0.026, 0.097], "now_contribution": 0.0}, {"site_id": "AWS00489", "company": "Anglian Water", "site_name": "GREAT CHESTERFORD STW", "receiving_watercourse": "River Cam", "lat": 52.073832, "lon": 0.1846064, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-09-07T05:23:17+00:00", "latest_event_end": "2026-09-07T05:55:21+00:00", "lta_spills": 2.3299999237060547, "spill_hours": 0.5, "snap_confidence": "high", "distance_km": 23.7, "lake_distance_km": 0.0, "travel_h": 13.2, "weight": 0.077, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.011, 0.001, 0.003], "now_contribution": 0.0}, {"site_id": "AWS00022", "company": "Anglian Water", "site_name": "Arrington Water Recycling Centre", "receiving_watercourse": "Trib River Cam", "lat": 52.130107, "lon": -0.061317504, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-08-27T08:29:57+00:00", "latest_event_end": "2026-08-27T08:33:42+00:00", "lta_spills": 18.829999923706055, "spill_hours": 6.25, "snap_confidence": "medium", "distance_km": 22.2, "lake_distance_km": 0.0, "travel_h": 12.4, "weight": 0.06, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.037, 0.003, 0.041], "now_contribution": 0.0}, {"site_id": "AWS00747", "company": "Anglian Water", "site_name": "LT CHESTERFORD-TPS", "receiving_watercourse": "R Cam", "lat": 52.053907, "lon": 0.20668038, "status": -1, "has_live": true, "data_state": "offline", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-08-27T18:06:31+00:00", "latest_event_end": "2026-08-27T18:32:38+00:00", "lta_spills": 8.0, "spill_hours": 0.0, "snap_confidence": "high", "distance_km": 27.4, "lake_distance_km": 0.0, "travel_h": 15.2, "weight": 0.057, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.056, 0.004, 0.016], "now_contribution": 0.0}, {"site_id": "AWS00739", "company": "Anglian Water", "site_name": "LINTON STW", "receiving_watercourse": "River Granta NT", "lat": 52.107356, "lon": 0.26174622, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-09-13T04:19:21+00:00", "latest_event_end": "2026-09-13T04:35:37+00:00", "lta_spills": 11.5, "spill_hours": 20.5, "snap_confidence": "high", "distance_km": 23.4, "lake_distance_km": 0.0, "travel_h": 13.0, "weight": 0.034, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.101, 0.004, 0.048], "now_contribution": 0.0}, {"site_id": "AWS00738", "company": "Anglian Water", "site_name": "LINTON-RECREATION GROUND TPS", "receiving_watercourse": "River Granta", "lat": 52.099849, "lon": 0.27333951, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-08-24T13:44:27+00:00", "latest_event_end": "2026-08-24T13:48:43+00:00", "lta_spills": 1.0, "spill_hours": 0.5, "snap_confidence": "high", "distance_km": 24.8, "lake_distance_km": 0.0, "travel_h": 13.8, "weight": 0.031, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.01, 0.002, 0.003], "now_contribution": 0.0}, {"site_id": "AWS00050", "company": "Anglian Water", "site_name": "BARLEY STW", "receiving_watercourse": "TRIB OF FOWLMERE STREAM", "lat": 52.032888, "lon": 0.046002718, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-10-01T13:50:15+00:00", "latest_event_end": "2026-10-01T13:55:40+00:00", "lta_spills": 24.0, "spill_hours": 36.766666412353516, "snap_confidence": "high", "distance_km": 27.1, "lake_distance_km": 0.0, "travel_h": 15.0, "weight": 0.006, "p_spill_today": 0.001, "p_spill_tomorrow": 0.002, "p_spill_days": [0.001, 0.002, 0.295, 0.015, 0.08], "now_contribution": 0.0}, {"site_id": "AWS00833", "company": "Anglian Water", "site_name": "MELBOURN STW", "receiving_watercourse": "MEL BROOK LEADING TO R RHEE", "lat": 52.093368, "lon": 0.011542187, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-10-02T08:47:11+00:00", "latest_event_end": "2026-10-02T08:47:33+00:00", "lta_spills": 61.83000183105469, "spill_hours": 58.75, "snap_confidence": "high", "distance_km": 19.0, "lake_distance_km": 0.0, "travel_h": 10.6, "weight": 0.007, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.187, 0.023, 0.138], "now_contribution": 0.0}], "guide": {"checked": "2026-10-03", "how": "desk", "facts": [{"topic": "parking", "text": "The council says you can park nearby at Lammas Land car park.", "status": "confirmed", "source": "https://www.cambridge.gov.uk/sheeps-green-and-coe-fen-local-nature-reserve", "source_name": "Cambridge City Council"}, {"topic": "parking", "text": "Lammas Land car park, The Driftway, CB3 9JJ, has 75 spaces. Weekdays: 2 hours \u00a32.90, 4 hours \u00a36.70, 5 hours \u00a313.30, 8 hours \u00a325.50; weekends maximum 5 hours. Charges apply 8am to 6pm from 1 April to 31 October (barrier closes 10pm) and 8am to 4pm from 1 November to 31 March (barrier closes 9pm). The council's car park page does not mention the bathing site.", "status": "confirmed", "source": "https://www.cambridge.gov.uk/lammas-land-car-park", "source_name": "Cambridge City Council"}, {"topic": "path", "text": "You can reach Sheep's Green and Coe Fen from Fen Causeway, Lammas Land, Mill Lane and Trumpington Road. A firm, level path runs around the sites, but it can be hard to use in wet weather.", "status": "confirmed", "source": "https://www.cambridge.gov.uk/sheeps-green-and-coe-fen-local-nature-reserve", "source_name": "Cambridge City Council"}, {"topic": "toilets", "text": "There is a caf\u00e9 and public toilets nearby at Lammas Land.", "status": "confirmed", "source": "https://www.cambridge.gov.uk/sheeps-green-and-coe-fen-local-nature-reserve", "source_name": "Cambridge City Council"}, {"topic": "toilets", "text": "The council's public toilets at Lammas Land are open from 8am to 7pm, with baby-changing facilities; the accessible toilet needs a Radar key. The council's toilets page does not mention the bathing site.", "status": "confirmed", "source": "https://www.cambridge.gov.uk/public-toilets", "source_name": "Cambridge City Council"}, {"topic": "rules", "text": "The Environment Agency says the River Cam through Cambridge is popular for punting, canoeing and rowing, and that cattle graze Sheep's Green and Coe Fen every year.", "status": "confirmed", "source": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukh1201-09801", "source_name": "Environment Agency bathing water profile"}], "photos": []}, "algae": {"date": "2026-09-24", "level": 0, "phrase": "none seen", "result": "No material present", "n_checks": 20, "n_seen": 1, "n_objectionable": 0, "season": 2026}, "lab_sample": {"taken_at": "2026-09-24T11:37+01:00", "ecoli": 280}, "classification": {"class": "poor", "year": 2025, "history": [[2025, "poor"], [2024, "poor"]], "url": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukh1201-09801"}, "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 22, "sunrise": "07:07", "sunset": "18:27"}, {"date": "2026-10-06", "tmax": 21, "sunrise": "07:08", "sunset": "18:25"}, {"date": "2026-10-07", "tmax": 16, "sunrise": "07:10", "sunset": "18:23"}, {"date": "2026-10-08", "tmax": 14, "sunrise": "07:12", "sunset": "18:20"}, {"date": "2026-10-09", "tmax": 17, "sunrise": "07:14", "sunset": "18:18"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "bw-ukh1406-10712", "name": "Falcon Meadow, River Waveney", "kind": "river", "river": "River Waveney", "source": "designated", "notes": "Environment Agency designated bathing water", "lat": 52.45648, "lon": 1.44304, "query": {"lat": 52.45648, "lon": 1.44304, "issued_at": "2026-10-05T03:12:51.109944+01:00"}, "location": {"mode": "river", "watercourse": "River Waveney", "snap_distance_m": 10, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "on river", "snapped": {"lat": 52.45639, "lon": 1.44301}}, "river_state": {"station": "Beccles Quay", "river": "River Waveney", "level_m": 0.206, "typical_low_m": 0.0, "typical_high_m": 1.1, "index": 0.19, "label": "normal", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "6204", "measure": "E27431-level-tidal_level-i-15_min-mAOD", "distance_km": 8.3, "same_river": true, "rise_6h_m": -0.236, "rise_from": "2026-10-04T20:15:00Z", "rise_to": "2026-10-05T01:45:00Z"}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 26, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.005, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.117}, {"date": "2026-10-06", "risk": 0.005, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.004, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.118}, {"date": "2026-10-07", "risk": 0.293, "label": "moderate", "expected_spilling_overflows": 1.7, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.293, "source": {"site_id": "AWS00340", "site_name": "BUNGAY-DITCHINGHAM DAM SP", "receiving_watercourse": "River Waveney", "status": 0, "distance_km": 0.2, "lake_distance_km": 0.0, "travel_h": 0.1, "share": 0.507, "spread_over": 3}, "rain_48h_mm": 6.1, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.578}, {"date": "2026-10-08", "risk": 0.053, "label": "low", "expected_spilling_overflows": 0.3, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.053, "rain_48h_mm": 14.6, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.572}, {"date": "2026-10-09", "risk": 0.137, "label": "low", "expected_spilling_overflows": 1.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.137, "rain_48h_mm": 11.9, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.644}], "upstream_summary": {"overflows": 26, "with_live_feed": 26, "without_live_feed": 0, "sum_weight": 3.702, "history_days": 3, "max_travel_h": 30.4}, "contributors": [{"site_id": "AWS00340", "company": "Anglian Water", "site_name": "BUNGAY-DITCHINGHAM DAM SP", "receiving_watercourse": "River Waveney", "lat": 52.457057, "lon": 1.439955, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-09-04T07:12:36+00:00", "latest_event_end": "2026-09-04T08:02:14+00:00", "lta_spills": 31.329999923706055, "spill_hours": 46.25, "snap_confidence": "high", "distance_km": 0.2, "lake_distance_km": 0.0, "travel_h": 0.1, "weight": 0.978, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.166, 0.025, 0.083], "now_contribution": 0.0}, {"site_id": "AWS00872", "company": "Anglian Water", "site_name": "BUNGAY NETHERGATE ST CSO", "receiving_watercourse": "RIVER WAVENEY", "lat": 52.458185, "lon": 1.4382762, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-09-04T07:01:42+00:00", "latest_event_end": "2026-09-04T07:15:02+00:00", "lta_spills": 17.170000076293945, "spill_hours": 5.25, "snap_confidence": "high", "distance_km": 0.4, "lake_distance_km": 0.0, "travel_h": 0.2, "weight": 0.97, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.114, 0.005, 0.034], "now_contribution": 0.0}, {"site_id": "AWS00373", "company": "Anglian Water", "site_name": "BUNGAY-EARSHAM STREET SSO", "receiving_watercourse": "River Waveney", "lat": 52.455813, "lon": 1.4332327, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2025-11-01T04:57:49+00:00", "latest_event_end": "2025-11-01T05:01:38+00:00", "lta_spills": 17.170000076293945, "spill_hours": 1.0, "snap_confidence": "high", "distance_km": 5.8, "lake_distance_km": 0.0, "travel_h": 3.2, "weight": 0.762, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.045, 0.003, 0.021], "now_contribution": 0.0}, {"site_id": "AWS00173", "company": "Anglian Water", "site_name": "BUNGAY-BOYSCOTT LA SP", "receiving_watercourse": "WOLDS DYKE, R WAVENEY", "lat": 52.449382, "lon": 1.4378843, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-09-20T18:23:50+00:00", "latest_event_end": "2026-09-20T18:33:16+00:00", "lta_spills": 13.0, "spill_hours": 0.0, "snap_confidence": "high", "distance_km": 6.6, "lake_distance_km": 0.0, "travel_h": 3.7, "weight": 0.736, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.033, 0.005, 0.019], "now_contribution": 0.0}, {"site_id": "AWS00421", "company": "Anglian Water", "site_name": "EYE-KINGS BR LOWGATE ST TPS", "receiving_watercourse": "THE RIVER DOVE", "lat": 52.317753, "lon": 1.1494014, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-09-12T18:06:48+00:00", "latest_event_end": "2026-09-12T18:06:48+00:00", "lta_spills": 0.0, "spill_hours": 0.0, "snap_confidence": "high", "distance_km": 40.4, "lake_distance_km": 0.0, "travel_h": 22.4, "weight": 0.025, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.02, 0.004, 0.009], "now_contribution": 0.0}, {"site_id": "AWS00561", "company": "Anglian Water", "site_name": "HARLESTON STW", "receiving_watercourse": "Starston Beck River Waveney  N", "lat": 52.408625, "lon": 1.3066883, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-06-09T15:55:14+00:00", "latest_event_end": "2026-06-09T15:55:14+00:00", "lta_spills": 14.0, "spill_hours": 13.25, "snap_confidence": "high", "distance_km": 19.6, "lake_distance_km": 0.0, "travel_h": 10.9, "weight": 0.022, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.096, 0.007, 0.029], "now_contribution": 0.0}, {"site_id": "AWS00560", "company": "Anglian Water", "site_name": "HARLESTON STW", "receiving_watercourse": "Starston Beck River Waveney  N", "lat": 52.407929, "lon": 1.306798, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-03-24T22:39:31+00:00", "latest_event_end": "2026-03-24T22:39:42+00:00", "lta_spills": 6.0, "spill_hours": 24.100000381469727, "snap_confidence": "high", "distance_km": 19.7, "lake_distance_km": 0.0, "travel_h": 10.9, "weight": 0.022, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.044, 0.005, 0.028], "now_contribution": 0.0}, {"site_id": "AWS00949", "company": "Anglian Water", "site_name": "OCCOLD-TPS", "receiving_watercourse": "TRIB R DOVE", "lat": 52.298586, "lon": 1.1531746, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-08-19T19:17:56+00:00", "latest_event_end": "2026-08-19T19:34:12+00:00", "lta_spills": 6.5, "spill_hours": 31.5, "snap_confidence": "medium", "distance_km": 42.8, "lake_distance_km": 0.0, "travel_h": 23.8, "weight": 0.02, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.037, 0.009, 0.029], "now_contribution": 0.0}, {"site_id": "AWS01015", "company": "Anglian Water", "site_name": "PULHAM ST MARY STW", "receiving_watercourse": "Starston Beck", "lat": 52.418132, "lon": 1.2486352, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-08-18T00:50:42+00:00", "latest_event_end": "2026-08-18T01:56:33+00:00", "lta_spills": 17.0, "spill_hours": 71.86666870117188, "snap_confidence": "high", "distance_km": 24.4, "lake_distance_km": 0.0, "travel_h": 13.6, "weight": 0.018, "p_spill_today": 0.001, "p_spill_tomorrow": 0.002, "p_spill_days": [0.001, 0.002, 0.109, 0.013, 0.055], "now_contribution": 0.0}, {"site_id": "AWS01370", "company": "Anglian Water", "site_name": "THORNDON-STANDWELL GN TPS", "receiving_watercourse": "TRIBUTARY OF THE RIVER DOVE", "lat": 52.289335, "lon": 1.129051, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-06-02T16:28:53+00:00", "latest_event_end": "2026-06-02T16:41:13+00:00", "lta_spills": 13.600000381469727, "spill_hours": 23.75, "snap_confidence": "high", "distance_km": 44.4, "lake_distance_km": 0.0, "travel_h": 24.7, "weight": 0.017, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.06, 0.009, 0.032], "now_contribution": 0.0}], "guide": {"checked": "2026-10-03", "how": "desk", "facts": [{"topic": "entry", "text": "Bathers usually get into the water from the Norfolk bank. The bathing water site is next to a sluice.", "status": "confirmed", "source": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukh1406-10712", "source_name": "Environment Agency bathing water profile"}, {"topic": "rules", "text": "This stretch of the Waveney is also popular with kayakers, paddleboarders and other recreational users.", "status": "confirmed", "source": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukh1406-10712", "source_name": "Environment Agency bathing water profile"}], "photos": []}, "algae": {"date": "2026-09-22", "level": 0, "phrase": "none seen", "result": "No material present", "n_checks": 20, "n_seen": 0, "n_objectionable": 0, "season": 2026}, "lab_sample": {"taken_at": "2026-09-22T11:40+01:00", "ecoli": 91}, "classification": {"url": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukh1406-10712"}, "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 22, "sunrise": "07:02", "sunset": "18:22"}, {"date": "2026-10-06", "tmax": 21, "sunrise": "07:03", "sunset": "18:19"}, {"date": "2026-10-07", "tmax": 14, "sunrise": "07:05", "sunset": "18:17"}, {"date": "2026-10-08", "tmax": 13, "sunrise": "07:07", "sunset": "18:15"}, {"date": "2026-10-09", "tmax": 16, "sunrise": "07:08", "sunset": "18:13"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "bw-ukh1401-11051", "name": "Friars Meadow, River Stour", "kind": "river", "river": "River Stour", "source": "designated", "notes": "Environment Agency designated bathing water", "lat": 52.03408, "lon": 0.73489, "query": {"lat": 52.03408, "lon": 0.73489, "issued_at": "2026-10-05T03:12:51.496576+01:00"}, "location": {"mode": "river", "watercourse": "River Stour", "snap_distance_m": 16, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "on river", "snapped": {"lat": 52.03394, "lon": 0.7349}}, "river_state": {"station": "Lamarsh", "river": "River Stour", "level_m": 0.31, "typical_low_m": 0.154, "typical_high_m": 1.65, "index": 0.1, "label": "low", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "6126", "measure": "E21227-level-stage-i-15_min-mASD", "distance_km": 5.3, "same_river": true, "rise_6h_m": -0.001, "rise_from": "2026-10-04T20:15:00Z", "rise_to": "2026-10-05T01:45:00Z"}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 15, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.003, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.102}, {"date": "2026-10-06", "risk": 0.003, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.003, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.104}, {"date": "2026-10-07", "risk": 0.109, "label": "low", "expected_spilling_overflows": 1.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.109, "rain_48h_mm": 5.8, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.488}, {"date": "2026-10-08", "risk": 0.023, "label": "low", "expected_spilling_overflows": 0.2, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.023, "rain_48h_mm": 9.3, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.471}, {"date": "2026-10-09", "risk": 0.093, "label": "low", "expected_spilling_overflows": 0.9, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.093, "rain_48h_mm": 8.9, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.549}], "upstream_summary": {"overflows": 16, "with_live_feed": 15, "without_live_feed": 1, "sum_weight": 2.155, "history_days": 2, "max_travel_h": 20.4}, "contributors": [{"site_id": "AWS01331", "company": "Anglian Water", "site_name": "Sudbury Great Eastern Road Terminal Pumping Station", "receiving_watercourse": "RIVER STOUR", "lat": 52.034881, "lon": 0.73239906, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-08-31T09:02:43+00:00", "latest_event_end": "2026-09-01T10:26:15+00:00", "lta_spills": 19.709999084472656, "spill_hours": 34.900001525878906, "snap_confidence": "high", "distance_km": 0.2, "lake_distance_km": 0.0, "travel_h": 0.1, "weight": 0.992, "p_spill_today": 0.001, "p_spill_tomorrow": 0.002, "p_spill_days": [0.001, 0.002, 0.077, 0.011, 0.067], "now_contribution": 0.0}, {"site_id": "AWS01333", "company": "Anglian Water", "site_name": "Sudbury The Croft CSO", "receiving_watercourse": "RIVER STOUR", "lat": 52.041526, "lon": 0.72507516, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-08-29T17:12:24+00:00", "latest_event_end": "2026-08-29T18:27:01+00:00", "lta_spills": 17.56999969482422, "spill_hours": 0.7666666507720947, "snap_confidence": "high", "distance_km": 2.0, "lake_distance_km": 0.0, "travel_h": 1.1, "weight": 0.894, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.035, 0.004, 0.025], "now_contribution": 0.0}, {"site_id": "AWS01573", "company": "Anglian Water", "site_name": "BOXTED-COTTAGE (SUFFOLK) STW", "receiving_watercourse": "River Glem", "lat": 52.124113, "lon": 0.66829584, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-02-16T21:02:42+00:00", "latest_event_end": "2026-02-16T21:21:04+00:00", "lta_spills": 3.0, "spill_hours": 39.75, "snap_confidence": "high", "distance_km": 16.7, "lake_distance_km": 0.0, "travel_h": 9.3, "weight": 0.091, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.016, 0.003, 0.013], "now_contribution": 0.0}, {"site_id": "AWS01290", "company": "Anglian Water", "site_name": "STURMER-KEDINGTON RD TPS", "receiving_watercourse": "Bumpstead Brook", "lat": 52.06853, "lon": 0.47542997, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-02-16T15:34:14+00:00", "latest_event_end": "2026-02-17T14:38:29+00:00", "lta_spills": 10.0, "spill_hours": 40.5, "snap_confidence": "high", "distance_km": 30.4, "lake_distance_km": 0.0, "travel_h": 16.9, "weight": 0.025, "p_spill_today": 0.001, "p_spill_tomorrow": 0.002, "p_spill_days": [0.001, 0.002, 0.054, 0.01, 0.05], "now_contribution": 0.0}, {"site_id": "AWS01332", "company": "Anglian Water", "site_name": "Sudbury Bailey and Coates Combined Sewer Overflow", "receiving_watercourse": "R STOUR", "lat": 52.034596, "lon": 0.72917378, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-09-30T04:32:53+00:00", "latest_event_end": "2026-09-30T04:47:20+00:00", "lta_spills": 13.0, "spill_hours": 0.3333333432674408, "snap_confidence": "high", "distance_km": 0.5, "lake_distance_km": 0.0, "travel_h": 0.3, "weight": 0.023, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.011, 0.002, 0.008], "now_contribution": 0.0}, {"site_id": "AWS01334", "company": "Anglian Water", "site_name": "Sudbury Water Recycling Centre", "receiving_watercourse": "Tributary River Stour  NT", "lat": 52.03761, "lon": 0.71550424, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-08-29T18:29:16+00:00", "latest_event_end": "2026-08-29T18:43:40+00:00", "lta_spills": 52.709999084472656, "spill_hours": 2.200000047683716, "snap_confidence": "high", "distance_km": 1.8, "lake_distance_km": 0.0, "travel_h": 1.0, "weight": 0.022, "p_spill_today": 0.001, "p_spill_tomorrow": 0.002, "p_spill_days": [0.001, 0.002, 0.103, 0.011, 0.093], "now_contribution": 0.0}, {"site_id": "AWS01291", "company": "Anglian Water", "site_name": "Steeple Bumpstead Sewage Treatment Works", "receiving_watercourse": "Bumpstead Brook River Stour  N", "lat": 52.047483, "lon": 0.45415384, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-09-29T14:39:31+00:00", "latest_event_end": "2026-09-29T15:21:02+00:00", "lta_spills": 36.400001525878906, "spill_hours": 116.76667022705078, "snap_confidence": "high", "distance_km": 31.7, "lake_distance_km": 0.0, "travel_h": 17.6, "weight": 0.014, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.11, 0.011, 0.101], "now_contribution": 0.0}, {"site_id": "AWS00574", "company": "Anglian Water", "site_name": "HAVERHILL STW", "receiving_watercourse": "Stour Brook River Stour  NT", "lat": 52.076231, "lon": 0.45120651, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-09-29T14:39:30+00:00", "latest_event_end": "2026-09-29T14:39:49+00:00", "lta_spills": 7.670000076293945, "spill_hours": 29.16666603088379, "snap_confidence": "high", "distance_km": 32.5, "lake_distance_km": 0.0, "travel_h": 18.1, "weight": 0.015, "p_spill_today": 0.001, "p_spill_tomorrow": 0.002, "p_spill_days": [0.001, 0.002, 0.04, 0.009, 0.035], "now_contribution": 0.0}, {"site_id": "AWS01138", "company": "Anglian Water", "site_name": "GLEMSFORD-SKATES HILL SP", "receiving_watercourse": "unnamed trib River Stour", "lat": 52.087044, "lon": 0.66790779, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-02-09T19:42:26+00:00", "latest_event_end": "2026-02-09T22:03:15+00:00", "lta_spills": 6.0, "spill_hours": 7.75, "snap_confidence": "high", "distance_km": 11.6, "lake_distance_km": 0.0, "travel_h": 6.4, "weight": 0.014, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.032, 0.005, 0.02], "now_contribution": 0.0}, {"site_id": "AWS01288", "company": "Anglian Water", "site_name": "STEEPLE BUMPSTEAD-BLOIS RD TPS", "receiving_watercourse": "Bumpstead Brook", "lat": 52.046755, "lon": 0.45283052, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-02-15T18:17:33+00:00", "latest_event_end": "2026-02-16T00:24:57+00:00", "lta_spills": 8.0, "spill_hours": 38.5, "snap_confidence": "high", "distance_km": 31.8, "lake_distance_km": 0.0, "travel_h": 17.7, "weight": 0.014, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.04, 0.008, 0.036], "now_contribution": 0.0}], "guide": {"checked": "2026-10-03", "how": "desk", "facts": [{"topic": "parking", "text": "Friars Meadow Car Park (Kingfisher Leisure Centre), Station Road, Sudbury CO10 2SS, is a long-stay car park with 297 spaces. Charges Monday to Saturday 8am to 6pm, excluding bank holidays: up to 2 hours \u00a31.20, 3 hours \u00a31.80, 4 hours \u00a32.40, all day \u00a33.00. The council's car park page does not mention the bathing site.", "status": "confirmed", "source": "https://www.babergh.gov.uk/w/friars-meadow-car-park-kingfisher-leisure-centre", "source_name": "Babergh District Council"}, {"topic": "entry", "text": "You can get into the water along the bank where the reeds have been cleared.", "status": "confirmed", "source": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukh1401-11051", "source_name": "Environment Agency bathing water profile"}, {"topic": "rules", "text": "This stretch of the Stour is also popular with kayakers, paddleboarders and other recreational users.", "status": "confirmed", "source": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukh1401-11051", "source_name": "Environment Agency bathing water profile"}, {"topic": "rules", "text": "The River Stour Trust owns the jetty at Friars Meadow and says its jetties are only for people in licensed craft navigating the river, not for other uses; it also asks people not to picnic or loiter on them. The trust's page does not mention the bathing site.", "status": "confirmed", "source": "https://riverstourtrust.org/rst-facilities-code-of-practice", "source_name": "River Stour Trust"}], "photos": []}, "algae": {"date": "2026-09-15", "level": 0, "phrase": "none seen", "result": "No material present", "n_checks": 20, "n_seen": 0, "n_objectionable": 0, "season": 2026}, "lab_sample": {"taken_at": "2026-09-25T13:35+01:00", "ecoli": 82}, "classification": {"class": "good", "year": 2025, "history": [[2025, "good"], [2024, "good"]], "url": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukh1401-11051"}, "water_temp": {"temp_c": 15.2, "observed_at": "2026-10-05T02:00:26Z", "age_hours": 0.2, "quality": "Unchecked", "station": "Bures Mill", "where": "at Bures Mill", "river": "Stour", "station_id": "E02254A", "url": "https://environment.data.gov.uk/hydrology/station/E02254A", "distance_km": 8.1, "direction": "downstream", "river_km": 10.9}, "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 22, "sunrise": "07:04", "sunset": "18:25"}, {"date": "2026-10-06", "tmax": 21, "sunrise": "07:06", "sunset": "18:23"}, {"date": "2026-10-07", "tmax": 15, "sunrise": "07:07", "sunset": "18:20"}, {"date": "2026-10-08", "tmax": 13, "sunrise": "07:09", "sunset": "18:18"}, {"date": "2026-10-09", "tmax": 17, "sunrise": "07:11", "sunset": "18:16"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "bw-ukk1302-11760", "name": "Cotswold Country Park and Beach", "kind": "lake", "river": null, "source": "designated", "notes": "Environment Agency designated bathing water", "lat": 51.66098, "lon": -1.96091, "query": {"lat": 51.66098, "lon": -1.96091, "issued_at": "2026-10-05T03:12:51.783104+01:00"}, "location": {"mode": "isolated", "watercourse": null, "snap_distance_m": null, "form": null, "lake_area_km2": null, "lake_source": "none", "adopted_main_channel": false, "placement": null}, "river_state": {"station": "Somerford Keynes", "river": "River Thames", "level_m": 0.444, "typical_low_m": 0.363, "typical_high_m": 1.6, "index": 0.07, "label": "low", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "7011", "measure": "0144TH-level-stage-i-15_min-mASD", "distance_km": 1.4, "same_river": null}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast"}, "error": "An isolated lake with no river connection in the network: storm overflows cannot reach it by water, so the forecast has nothing to say about it. Risk from wildlife, runoff and bathers is not modelled.", "now": {"risk": 0.0, "label": "unknown"}, "days": [], "contributors": [], "guide": {"checked": "2026-10-03", "how": "desk", "facts": [{"topic": "parking", "text": "Parking is inside the park only: there is none outside it. Postcode GL7 6DF.", "status": "confirmed", "source": "https://www.cotswoldcountryparkandbeach.com/visiting-us/faqs", "source_name": "Cotswold Country Park and Beach"}, {"topic": "entry", "text": "The beach shelves very gently, and the water is at most about 1.5 metres deep in the bathing season.", "status": "confirmed", "source": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukk1302-11760", "source_name": "Environment Agency bathing water profile"}, {"topic": "toilets", "text": "Two toilet blocks, one at each end of the park, and a disabled toilet at the main entrance. Open during business hours.", "status": "confirmed", "source": "https://www.cotswoldcountryparkandbeach.com/visiting-us/faqs", "source_name": "Cotswold Country Park and Beach"}, {"topic": "changing", "text": "Basic changing rooms, male and female, at AquaVenture, with small keyed lockers for keys, wallets and phones held by the lifeguards. No toilets at AquaVenture, and no showers anywhere on site.", "status": "confirmed", "source": "https://www.cotswoldcountryparkandbeach.com/visiting-us/faqs", "source_name": "Cotswold Country Park and Beach"}, {"topic": "fees", "text": "Entry needs an admission ticket, best booked online. Once the park is full there is no entry on the gate.", "status": "confirmed", "source": "https://www.cotswoldcountryparkandbeach.com/visiting-us/faqs", "source_name": "Cotswold Country Park and Beach"}, {"topic": "fees", "text": "An admission season pass costs \u00a3120 and lasts a year from purchase; the park is closed in winter.", "status": "confirmed", "source": "https://www.cotswoldcountryparkandbeach.com/visiting-us/faqs", "source_name": "Cotswold Country Park and Beach"}, {"topic": "hours", "text": "Closed for winter: the last day of the 2026 season was Sunday 27 September.", "status": "confirmed", "source": "https://www.cotswoldcountryparkandbeach.com/admission", "source_name": "Cotswold Country Park and Beach"}, {"topic": "rules", "text": "Swim only from the beach out to the buoy line, where the lifeguards watch. Do not swim from any other point around South or North Lake.", "status": "confirmed", "source": "https://www.cotswoldcountryparkandbeach.com/visiting-us/faqs", "source_name": "Cotswold Country Park and Beach"}], "photos": []}, "algae": {"date": "2026-09-23", "level": 0, "phrase": "none seen", "result": "No material present", "n_checks": 10, "n_seen": 2, "n_objectionable": 0, "season": 2026}, "lab_sample": {"taken_at": "2026-09-23T11:29+01:00", "ecoli": 18}, "classification": {"class": "excellent", "year": 2025, "history": [[2025, "excellent"], [2024, "excellent"], [2023, "excellent"], [2022, "excellent"], [2021, "excellent"], [2019, "excellent"], [2018, "excellent"], [2017, "excellent"], [2016, "excellent"], [2015, "excellent"], [2014, "excellent"], [2013, "excellent"], [2012, "excellent"], [2011, "excellent"], [2010, "excellent"], [2009, "good"], [2008, "good"], [2007, "good"], [2006, "good"], [2005, "excellent"], [2004, "excellent"]], "url": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukk1302-11760"}, "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 20, "sunrise": "07:15", "sunset": "18:36"}, {"date": "2026-10-06", "tmax": 20, "sunrise": "07:16", "sunset": "18:34"}, {"date": "2026-10-07", "tmax": 15, "sunrise": "07:18", "sunset": "18:31"}, {"date": "2026-10-08", "tmax": 14, "sunrise": "07:20", "sunset": "18:29"}, {"date": "2026-10-09", "tmax": 19, "sunrise": "07:21", "sunset": "18:27"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "bw-uki1101-11910", "name": "Hampstead Heath (Ladies Pond)", "kind": "lake", "river": null, "source": "designated", "notes": "Environment Agency designated bathing water", "lat": 51.56672, "lon": -0.16009, "query": {"lat": 51.56672, "lon": -0.16009, "issued_at": "2026-10-05T03:12:51.801707+01:00"}, "location": {"mode": "lake", "watercourse": null, "snap_distance_m": 80, "form": "lake", "lake_area_km2": null, "lake_source": "centreline", "adopted_main_channel": false, "placement": null, "snapped": {"lat": 51.56621, "lon": -0.15929}}, "river_state": {"station": "Hampstead Suburb", "river": "Mutton Brook", "level_m": 0.787, "typical_low_m": 0.799, "typical_high_m": 2.391, "index": -0.01, "label": "low", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "7281", "measure": "3815TH-level-stage-i-15_min-mASD", "distance_km": 2.5, "same_river": null}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": false, "season_validated_months": [5, 6, 7, 8, 9], "note": "Not validated on lakes: no ranking skill in the fitting data (16 exceedances in 803 lake samples)."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 0, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.032}, {"date": "2026-10-06", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.032}, {"date": "2026-10-07", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 4.6, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.021}, {"date": "2026-10-08", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 6.7, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.023}, {"date": "2026-10-09", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 7.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.02}], "upstream_summary": {"overflows": 0, "with_live_feed": 0, "without_live_feed": 0, "sum_weight": 0.0, "history_days": 1, "max_travel_h": 0.0}, "contributors": [], "guide": {"checked": "2026-10-03", "how": "desk", "facts": [{"topic": "parking", "text": "On-street parking on Merton Lane and Millfield Lane. Check the parking signs and their restrictions.", "status": "confirmed", "source": "https://www.cityoflondon.gov.uk/things-to-do/green-spaces/hampstead-heath/where-to-go-at-hampstead-heath/kenwood-ladies-pond", "source_name": "City of London Corporation"}, {"topic": "path", "text": "Off Millfield Lane. The way from the road to the gate is an unmade track; from the gate to the water it is a smooth, road-like surface. Gospel Oak (Overground) is a 23-minute walk, Highgate (Northern line) 26 minutes; the 214 bus passes close by.", "status": "confirmed", "source": "https://www.cityoflondon.gov.uk/things-to-do/green-spaces/hampstead-heath/where-to-go-at-hampstead-heath/kenwood-ladies-pond", "source_name": "City of London Corporation"}, {"topic": "entry", "text": "Ladders into the water, and a hoist for assisted access.", "status": "confirmed", "source": "https://www.cityoflondon.gov.uk/things-to-do/green-spaces/hampstead-heath/where-to-go-at-hampstead-heath/kenwood-ladies-pond", "source_name": "City of London Corporation"}, {"topic": "entry", "text": "A concrete diving platform leads into the swimming area. There is no beach; grassy sunbathing areas surround the pond.", "status": "confirmed", "source": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=uki1101-11910", "source_name": "Environment Agency bathing water profile"}, {"topic": "toilets", "text": "Toilets on site.", "status": "confirmed", "source": "https://www.cityoflondon.gov.uk/things-to-do/green-spaces/hampstead-heath/where-to-go-at-hampstead-heath/kenwood-ladies-pond", "source_name": "City of London Corporation"}, {"topic": "changing", "text": "Changing rooms and showers on site.", "status": "confirmed", "source": "https://www.cityoflondon.gov.uk/things-to-do/green-spaces/hampstead-heath/where-to-go-at-hampstead-heath/kenwood-ladies-pond", "source_name": "City of London Corporation"}, {"topic": "changing", "text": "No lockers at the bathing ponds. You may bring your own floating dry bag for valuables.", "status": "confirmed", "source": "https://www.cityoflondon.gov.uk/things-to-do/green-spaces/hampstead-heath/where-to-go-at-hampstead-heath/kenwood-ladies-pond", "source_name": "City of London Corporation"}, {"topic": "fees", "text": "Single swim \u00a35 for adults, \u00a33 concession and under 16s, all year; prices valid to 31 March 2027. Season tickets are sold too.", "status": "confirmed", "source": "https://www.cityoflondon.gov.uk/things-to-do/green-spaces/hampstead-heath/activities-at-hampstead-heath/swimming-at-hampstead-heath/swimming-tickets", "source_name": "City of London Corporation"}, {"topic": "fees", "text": "Card only from 1 October 2026: no cash at the swimming facilities. Under-16s and over-60s swim free before 9.30am with proof of age.", "status": "confirmed", "source": "https://www.cityoflondon.gov.uk/things-to-do/green-spaces/hampstead-heath/where-to-go-at-hampstead-heath/kenwood-ladies-pond", "source_name": "City of London Corporation"}, {"topic": "fees", "text": "No booking outside summer: every session is drop-in, with tickets on arrival. Summer booking reopens in spring 2027.", "status": "confirmed", "source": "https://www.cityoflondon.gov.uk/things-to-do/green-spaces/hampstead-heath/activities-at-hampstead-heath/swimming-at-hampstead-heath/booking-for-swimming", "source_name": "City of London Corporation"}, {"topic": "hours", "text": "Open all year, including bank holidays, on seasonal hours. 11 to 24 October 2026: 7.30am, last entry 4.45pm. 25 October to 21 November: 7am, last entry 2pm. 22 November 2026 to 13 February 2027: 7.30am, last entry 2.30pm.", "status": "confirmed", "source": "https://www.cityoflondon.gov.uk/things-to-do/green-spaces/hampstead-heath/activities-at-hampstead-heath/swimming-at-hampstead-heath/swimming-opening-times", "source_name": "City of London Corporation"}, {"topic": "rules", "text": "Open to women, including trans women.", "status": "confirmed", "source": "https://www.cityoflondon.gov.uk/things-to-do/green-spaces/hampstead-heath/activities-at-hampstead-heath/swimming-at-hampstead-heath/hampstead-heath-bathing-ponds-access-policy", "source_name": "City of London Corporation"}, {"topic": "rules", "text": "No swimming aids, tow floats or other flotation devices, and no topless swimming, at the Ladies' Pond.", "status": "confirmed", "source": "https://www.cityoflondon.gov.uk/things-to-do/green-spaces/hampstead-heath/where-to-go-at-hampstead-heath/kenwood-ladies-pond", "source_name": "City of London Corporation"}, {"topic": "rules", "text": "Competent swimmers only, with lifeguards on duty. Children must be 8 or over; 8 to 15 year olds need an adult with them at all times (two children per adult at most) and take a swim test.", "status": "confirmed", "source": "https://www.cityoflondon.gov.uk/things-to-do/green-spaces/hampstead-heath/where-to-go-at-hampstead-heath/kenwood-ladies-pond", "source_name": "City of London Corporation"}], "photos": []}, "algae": {"date": "2026-09-15", "level": 2, "phrase": "some at intervals (3 to 6 items)", "result": "Some at intervals - 3 to 6 items", "n_checks": 21, "n_seen": 17, "n_objectionable": 7, "season": 2026}, "lab_sample": {"taken_at": "2026-09-15T12:12+01:00", "ecoli": 590}, "classification": {"class": "good", "year": 2025, "history": [[2025, "good"], [2024, "good"], [2023, "good"], [2022, "good"], [2021, "good"], [2019, "excellent"], [2018, "good"], [2017, "excellent"], [2016, "excellent"], [2015, "excellent"], [2014, "excellent"], [2013, "excellent"], [2012, "good"], [2011, "good"], [2010, "excellent"], [2009, "excellent"], [2008, "excellent"], [2007, "excellent"], [2006, "excellent"], [2005, "excellent"], [2004, "excellent"]], "url": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=uki1101-11910"}, "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 21, "sunrise": "07:07", "sunset": "18:29"}, {"date": "2026-10-06", "tmax": 20, "sunrise": "07:09", "sunset": "18:27"}, {"date": "2026-10-07", "tmax": 16, "sunrise": "07:11", "sunset": "18:24"}, {"date": "2026-10-08", "tmax": 14, "sunrise": "07:12", "sunset": "18:22"}, {"date": "2026-10-09", "tmax": 19, "sunrise": "07:14", "sunset": "18:20"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "bw-uki1101-11920", "name": "Hampstead Heath (Mens Pond)", "kind": "lake", "river": null, "source": "designated", "notes": "Environment Agency designated bathing water", "lat": 51.56334, "lon": -0.15662, "query": {"lat": 51.56334, "lon": -0.15662, "issued_at": "2026-10-05T03:12:51.871896+01:00"}, "location": {"mode": "lake", "watercourse": null, "snap_distance_m": 39, "form": "lake", "lake_area_km2": null, "lake_source": "centreline", "adopted_main_channel": false, "placement": null, "snapped": {"lat": 51.56302, "lon": -0.15686}}, "river_state": {"station": "Hampstead Suburb", "river": "Mutton Brook", "level_m": 0.787, "typical_low_m": 0.799, "typical_high_m": 2.391, "index": -0.01, "label": "low", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "7281", "measure": "3815TH-level-stage-i-15_min-mASD", "distance_km": 2.9, "same_river": null}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": false, "season_validated_months": [5, 6, 7, 8, 9], "note": "Not validated on lakes: no ranking skill in the fitting data (16 exceedances in 803 lake samples)."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 0, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.032}, {"date": "2026-10-06", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.032}, {"date": "2026-10-07", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 4.6, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.021}, {"date": "2026-10-08", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 6.7, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.023}, {"date": "2026-10-09", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 7.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.02}], "upstream_summary": {"overflows": 0, "with_live_feed": 0, "without_live_feed": 0, "sum_weight": 0.0, "history_days": 1, "max_travel_h": 0.0}, "contributors": [], "guide": {"checked": "2026-10-03", "how": "desk", "facts": [{"topic": "parking", "text": "On-street parking on Millfield Lane. Check the parking signs and their restrictions.", "status": "confirmed", "source": "https://www.cityoflondon.gov.uk/things-to-do/green-spaces/hampstead-heath/where-to-go-at-hampstead-heath/highgate-mens-pond", "source_name": "City of London Corporation"}, {"topic": "path", "text": "Near Millfield Lane. The way from the road to the gate is an unmade track; from the gate to the water it is a smooth, road-like surface. Gospel Oak (Overground) is an 18-minute walk, Kentish Town (Northern line) 28 minutes; the 214 bus passes close by.", "status": "confirmed", "source": "https://www.cityoflondon.gov.uk/things-to-do/green-spaces/hampstead-heath/where-to-go-at-hampstead-heath/highgate-mens-pond", "source_name": "City of London Corporation"}, {"topic": "entry", "text": "Ladders into the water, and a hoist for assisted access.", "status": "confirmed", "source": "https://www.cityoflondon.gov.uk/things-to-do/green-spaces/hampstead-heath/where-to-go-at-hampstead-heath/highgate-mens-pond", "source_name": "City of London Corporation"}, {"topic": "entry", "text": "A 25-metre platform runs along the swimming area. There is no beach; there is a sunbathing area in the changing enclosure.", "status": "confirmed", "source": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=uki1101-11920", "source_name": "Environment Agency bathing water profile"}, {"topic": "exit", "text": "Tethered life rings in the pond for swimmers to rest on.", "status": "confirmed", "source": "https://www.cityoflondon.gov.uk/things-to-do/green-spaces/hampstead-heath/where-to-go-at-hampstead-heath/highgate-mens-pond", "source_name": "City of London Corporation"}, {"topic": "toilets", "text": "Toilets on site.", "status": "confirmed", "source": "https://www.cityoflondon.gov.uk/things-to-do/green-spaces/hampstead-heath/where-to-go-at-hampstead-heath/highgate-mens-pond", "source_name": "City of London Corporation"}, {"topic": "changing", "text": "Changing areas and showers on site.", "status": "confirmed", "source": "https://www.cityoflondon.gov.uk/things-to-do/green-spaces/hampstead-heath/where-to-go-at-hampstead-heath/highgate-mens-pond", "source_name": "City of London Corporation"}, {"topic": "changing", "text": "No lockers at the bathing ponds. You may bring your own floating dry bag for valuables.", "status": "confirmed", "source": "https://www.cityoflondon.gov.uk/things-to-do/green-spaces/hampstead-heath/where-to-go-at-hampstead-heath/highgate-mens-pond", "source_name": "City of London Corporation"}, {"topic": "fees", "text": "Single swim \u00a35 for adults, \u00a33 concession and under 16s, all year; prices valid to 31 March 2027. Season tickets are sold too.", "status": "confirmed", "source": "https://www.cityoflondon.gov.uk/things-to-do/green-spaces/hampstead-heath/activities-at-hampstead-heath/swimming-at-hampstead-heath/swimming-tickets", "source_name": "City of London Corporation"}, {"topic": "fees", "text": "Card only from 1 October 2026: no cash at the swimming facilities. Under-16s and over-60s swim free before 9.30am with proof of age.", "status": "confirmed", "source": "https://www.cityoflondon.gov.uk/things-to-do/green-spaces/hampstead-heath/where-to-go-at-hampstead-heath/highgate-mens-pond", "source_name": "City of London Corporation"}, {"topic": "fees", "text": "No booking outside summer: every session is drop-in, with tickets on arrival. Summer booking reopens in spring 2027.", "status": "confirmed", "source": "https://www.cityoflondon.gov.uk/things-to-do/green-spaces/hampstead-heath/activities-at-hampstead-heath/swimming-at-hampstead-heath/booking-for-swimming", "source_name": "City of London Corporation"}, {"topic": "hours", "text": "Open all year, including bank holidays, on seasonal hours. 11 to 24 October 2026: 7.30am, last entry 4.45pm. 25 October to 21 November: 7am, last entry 2pm. 22 November 2026 to 13 February 2027: 7.30am, last entry 2.30pm.", "status": "confirmed", "source": "https://www.cityoflondon.gov.uk/things-to-do/green-spaces/hampstead-heath/activities-at-hampstead-heath/swimming-at-hampstead-heath/swimming-opening-times", "source_name": "City of London Corporation"}, {"topic": "rules", "text": "Open to men, including trans men.", "status": "confirmed", "source": "https://www.cityoflondon.gov.uk/things-to-do/green-spaces/hampstead-heath/activities-at-hampstead-heath/swimming-at-hampstead-heath/hampstead-heath-bathing-ponds-access-policy", "source_name": "City of London Corporation"}, {"topic": "rules", "text": "No snorkels, swimming masks or swimming aids at the Men's Pond.", "status": "confirmed", "source": "https://www.cityoflondon.gov.uk/things-to-do/green-spaces/hampstead-heath/where-to-go-at-hampstead-heath/highgate-mens-pond", "source_name": "City of London Corporation"}, {"topic": "rules", "text": "Competent swimmers only, with lifeguards on duty. Children must be 8 or over; 8 to 15 year olds need an adult with them at all times (two children per adult at most) and take a swim test.", "status": "confirmed", "source": "https://www.cityoflondon.gov.uk/things-to-do/green-spaces/hampstead-heath/where-to-go-at-hampstead-heath/highgate-mens-pond", "source_name": "City of London Corporation"}], "photos": []}, "algae": {"date": "2026-09-15", "level": 0, "phrase": "none seen", "result": "No material present", "n_checks": 10, "n_seen": 2, "n_objectionable": 0, "season": 2026}, "lab_sample": {"taken_at": "2026-09-15T11:52+01:00", "ecoli": 170}, "classification": {"class": "excellent", "year": 2025, "history": [[2025, "excellent"], [2024, "excellent"], [2023, "excellent"], [2022, "excellent"], [2021, "excellent"], [2019, "excellent"], [2018, "excellent"], [2017, "excellent"], [2016, "excellent"], [2015, "excellent"], [2014, "excellent"], [2013, "good"], [2012, "excellent"], [2011, "excellent"], [2010, "excellent"], [2009, "excellent"], [2008, "good"], [2007, "good"], [2006, "good"], [2005, "excellent"], [2004, "excellent"]], "url": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=uki1101-11920"}, "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 21, "sunrise": "07:07", "sunset": "18:29"}, {"date": "2026-10-06", "tmax": 20, "sunrise": "07:09", "sunset": "18:27"}, {"date": "2026-10-07", "tmax": 16, "sunrise": "07:11", "sunset": "18:24"}, {"date": "2026-10-08", "tmax": 14, "sunrise": "07:12", "sunset": "18:22"}, {"date": "2026-10-09", "tmax": 19, "sunrise": "07:14", "sunset": "18:20"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "bw-uki1101-11930", "name": "Hampstead Heath (Mixed Pond)", "kind": "lake", "river": null, "source": "designated", "notes": "Environment Agency designated bathing water", "lat": 51.56071, "lon": -0.16625, "query": {"lat": 51.56071, "lon": -0.16625, "issued_at": "2026-10-05T03:12:51.944246+01:00"}, "location": {"mode": "lake", "watercourse": null, "snap_distance_m": 23, "form": "lake", "lake_area_km2": null, "lake_source": "centreline", "adopted_main_channel": false, "placement": null, "snapped": {"lat": 51.56062, "lon": -0.16655}}, "river_state": {"station": "Hampstead Suburb", "river": "Mutton Brook", "level_m": 0.787, "typical_low_m": 0.799, "typical_high_m": 2.391, "index": -0.01, "label": "low", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "7281", "measure": "3815TH-level-stage-i-15_min-mASD", "distance_km": 2.9, "same_river": null}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": false, "season_validated_months": [5, 6, 7, 8, 9], "note": "Not validated on lakes: no ranking skill in the fitting data (16 exceedances in 803 lake samples)."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 0, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.032}, {"date": "2026-10-06", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.032}, {"date": "2026-10-07", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 4.6, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.021}, {"date": "2026-10-08", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 6.7, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.023}, {"date": "2026-10-09", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 7.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.02}], "upstream_summary": {"overflows": 0, "with_live_feed": 0, "without_live_feed": 0, "sum_weight": 0.0, "history_days": 1, "max_travel_h": 0.0}, "contributors": [], "guide": {"checked": "2026-10-03", "how": "desk", "facts": [{"topic": "parking", "text": "East Heath Car Park: 110 spaces and a disabled parking area. \u00a33.50 an hour for up to 4 hours, then \u00a311.30 an hour; pay by RingGo (location 79453). Blue Badge parking is free once registered. Open 7am, locked from 9pm.", "status": "confirmed", "source": "https://www.cityoflondon.gov.uk/things-to-do/green-spaces/hampstead-heath/where-to-go-at-hampstead-heath/east-heath-car-park", "source_name": "City of London Corporation"}, {"topic": "path", "text": "Near East Heath Road, reached by road-like surfaces and an unmade track. Hampstead Heath (Overground) is a 10-minute walk, Hampstead (Northern line) 17 minutes.", "status": "confirmed", "source": "https://www.cityoflondon.gov.uk/things-to-do/green-spaces/hampstead-heath/where-to-go-at-hampstead-heath/mixed-pond", "source_name": "City of London Corporation"}, {"topic": "entry", "text": "Ladders into the water, and a hoist for assisted access.", "status": "confirmed", "source": "https://www.cityoflondon.gov.uk/things-to-do/green-spaces/hampstead-heath/where-to-go-at-hampstead-heath/mixed-pond", "source_name": "City of London Corporation"}, {"topic": "entry", "text": "A concrete diving platform leads into the swimming area. There is no beach; there is a grassy sunbathing area beside the platform.", "status": "confirmed", "source": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=uki1101-11930", "source_name": "Environment Agency bathing water profile"}, {"topic": "toilets", "text": "Toilets on site.", "status": "confirmed", "source": "https://www.cityoflondon.gov.uk/things-to-do/green-spaces/hampstead-heath/where-to-go-at-hampstead-heath/mixed-pond", "source_name": "City of London Corporation"}, {"topic": "changing", "text": "Changing areas and showers on site.", "status": "confirmed", "source": "https://www.cityoflondon.gov.uk/things-to-do/green-spaces/hampstead-heath/where-to-go-at-hampstead-heath/mixed-pond", "source_name": "City of London Corporation"}, {"topic": "changing", "text": "No lockers at the bathing ponds. You may bring your own floating dry bag for valuables.", "status": "confirmed", "source": "https://www.cityoflondon.gov.uk/things-to-do/green-spaces/hampstead-heath/where-to-go-at-hampstead-heath/mixed-pond", "source_name": "City of London Corporation"}, {"topic": "fees", "text": "Single swim \u00a35 for adults, \u00a33 concession and under 16s, all year; prices valid to 31 March 2027. Season tickets are sold too.", "status": "confirmed", "source": "https://www.cityoflondon.gov.uk/things-to-do/green-spaces/hampstead-heath/activities-at-hampstead-heath/swimming-at-hampstead-heath/swimming-tickets", "source_name": "City of London Corporation"}, {"topic": "fees", "text": "Card only from 1 October 2026: no cash at the swimming facilities. Under-16s and over-60s swim free before 9.30am with proof of age.", "status": "confirmed", "source": "https://www.cityoflondon.gov.uk/things-to-do/green-spaces/hampstead-heath/where-to-go-at-hampstead-heath/mixed-pond", "source_name": "City of London Corporation"}, {"topic": "fees", "text": "No booking outside summer: every session is drop-in, with tickets on arrival. Summer booking reopens in spring 2027.", "status": "confirmed", "source": "https://www.cityoflondon.gov.uk/things-to-do/green-spaces/hampstead-heath/activities-at-hampstead-heath/swimming-at-hampstead-heath/booking-for-swimming", "source_name": "City of London Corporation"}, {"topic": "hours", "text": "Open April to October only, and closed to public swimming at other times. The City's pages give no exact closing date for 2026.", "status": "confirmed", "source": "https://www.cityoflondon.gov.uk/things-to-do/green-spaces/hampstead-heath/activities-at-hampstead-heath/swimming-at-hampstead-heath/swimming-opening-times", "source_name": "City of London Corporation"}, {"topic": "rules", "text": "Open to everyone.", "status": "confirmed", "source": "https://www.cityoflondon.gov.uk/things-to-do/green-spaces/hampstead-heath/activities-at-hampstead-heath/swimming-at-hampstead-heath/hampstead-heath-bathing-ponds-access-policy", "source_name": "City of London Corporation"}, {"topic": "rules", "text": "Competent swimmers only, with lifeguards on duty. Children must be 8 or over; 8 to 15 year olds need an adult with them at all times (two children per adult at most) and take a swim test.", "status": "confirmed", "source": "https://www.cityoflondon.gov.uk/things-to-do/green-spaces/hampstead-heath/where-to-go-at-hampstead-heath/mixed-pond", "source_name": "City of London Corporation"}], "photos": []}, "algae": {"date": "2026-09-15", "level": 1, "phrase": "a trace (1 or 2 items)", "result": "Trace present - 1 or 2 items", "n_checks": 21, "n_seen": 11, "n_objectionable": 1, "season": 2026}, "lab_sample": {"taken_at": "2026-09-15T11:20+01:00", "ecoli": 110}, "classification": {"class": "excellent", "year": 2025, "history": [[2025, "excellent"], [2024, "excellent"], [2023, "excellent"], [2022, "excellent"], [2021, "good"], [2019, "good"], [2018, "good"], [2017, "good"], [2016, "good"], [2015, "good"], [2014, "good"], [2013, "good"], [2012, "good"], [2011, "sufficient"], [2010, "good"], [2009, "good"], [2008, "good"], [2007, "sufficient"], [2006, "sufficient"], [2005, "good"], [2004, "good"]], "url": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=uki1101-11930"}, "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 21, "sunrise": "07:07", "sunset": "18:29"}, {"date": "2026-10-06", "tmax": 20, "sunrise": "07:09", "sunset": "18:27"}, {"date": "2026-10-07", "tmax": 16, "sunrise": "07:11", "sunset": "18:24"}, {"date": "2026-10-08", "tmax": 14, "sunrise": "07:12", "sunset": "18:22"}, {"date": "2026-10-09", "tmax": 19, "sunrise": "07:14", "sunset": "18:20"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "bw-uki1106-11940", "name": "The Serpentine - Hyde Park", "kind": "lake", "river": null, "source": "designated", "notes": "Environment Agency designated bathing water", "lat": 51.50491, "lon": -0.16907, "query": {"lat": 51.50491, "lon": -0.16907, "issued_at": "2026-10-05T03:12:52.016192+01:00"}, "location": {"mode": "lake", "watercourse": null, "snap_distance_m": 68, "form": "lake", "lake_area_km2": null, "lake_source": "centreline", "adopted_main_channel": false, "placement": null, "snapped": {"lat": 51.5055, "lon": -0.16881}}, "river_state": {"station": "Summerstown", "river": "River Wandle", "level_m": 1.017, "typical_low_m": 0.853, "typical_high_m": 2.8, "index": 0.08, "label": "low", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "7309", "measure": "4192TH-level-stage-i-15_min-mASD", "distance_km": 8.6, "same_river": null}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": false, "season_validated_months": [5, 6, 7, 8, 9], "note": "Not validated on lakes: no ranking skill in the fitting data (16 exceedances in 803 lake samples)."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 0, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.032}, {"date": "2026-10-06", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.032}, {"date": "2026-10-07", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 4.6, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.021}, {"date": "2026-10-08", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 6.7, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.023}, {"date": "2026-10-09", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 6.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.021}], "upstream_summary": {"overflows": 0, "with_live_feed": 0, "without_live_feed": 0, "sum_weight": 0.0, "history_days": 1, "max_travel_h": 0.0}, "contributors": [], "guide": {"checked": "2026-10-03", "how": "desk", "facts": [{"topic": "parking", "text": "Two public car parks in Hyde Park, both off West Carriage Drive, charged 8.30am to 6.30pm every day: \u00a32.80 an hour Monday to Saturday (4 hours at most), \u00a32 an hour on Sundays and bank holidays. Blue Badge holders park free for up to 4 hours.", "status": "confirmed", "source": "https://www.royalparks.org.uk/visit/parks/hyde-park/faqs", "source_name": "The Royal Parks"}, {"topic": "path", "text": "The only way in is the staffed entrance gate beside the pavilion. Address: The Serpentine Lido, Hyde Park, London W2 2UH.", "status": "confirmed", "source": "https://sportsandleisure.royalparks.org.uk/hyde-park/swimming", "source_name": "The Royal Parks"}, {"topic": "entry", "text": "A fenced, hard man-made beach slopes gently into the water.", "status": "confirmed", "source": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=uki1106-11940", "source_name": "Environment Agency bathing water profile"}, {"topic": "entry", "text": "Depth markers on the pier show the shallower area, where swimmers using buoyancy aids must stay. Swim only inside the buoys.", "status": "confirmed", "source": "https://sportsandleisure.royalparks.org.uk/hyde-park/swimming", "source_name": "The Royal Parks"}, {"topic": "toilets", "text": "Toilets inside the Lido building; none on the beach.", "status": "confirmed", "source": "https://sportsandleisure.royalparks.org.uk/booking-terms/swimming-bookings-terms-conditions", "source_name": "The Royal Parks"}, {"topic": "changing", "text": "Changing cubicles inside the Lido, including parent-and-child and accessible cubicles. Cold showers on the beach, no hot showers. Lockers \u00a32, first come first served.", "status": "confirmed", "source": "https://sportsandleisure.royalparks.org.uk/booking-terms/swimming-bookings-terms-conditions", "source_name": "The Royal Parks"}, {"topic": "fees", "text": "2026 season: full day \u00a38.40 adult, \u00a34.15 child (3 to 15), \u00a34.70 concession; a session (10am to 1.30pm or 2.30pm to 6pm) \u00a36.50 adult. Under-3s and carers free. Booking online is not essential: at quiet times you can pay on the day.", "status": "confirmed", "source": "https://sportsandleisure.royalparks.org.uk/hyde-park/swimming", "source_name": "The Royal Parks"}, {"topic": "hours", "text": "Closed for winter: the last public swim of 2026 was on 24 September. In season it opens at weekends from mid-May and daily from June to mid-September.", "status": "confirmed", "source": "https://sportsandleisure.royalparks.org.uk/hyde-park/swimming", "source_name": "The Royal Parks"}, {"topic": "hours", "text": "Open 10am to 6pm in season.", "status": "confirmed", "source": "https://sportsandleisure.royalparks.org.uk/faqs", "source_name": "The Royal Parks"}, {"topic": "rules", "text": "No one may enter the water unless a lifeguard is on duty. Under-16s need an adult of 18 or over who is a competent swimmer, at set ratios: one adult to one child under 3, two aged 3 to 7, three aged 8 to 13, four aged 14 or 15.", "status": "confirmed", "source": "https://sportsandleisure.royalparks.org.uk/hyde-park/swimming", "source_name": "The Royal Parks"}, {"topic": "rules", "text": "The Serpentine Swimming Club's members swim here every day between 5.30am and 9.30am. That is a members' swim, not public opening.", "status": "confirmed", "source": "https://sportsandleisure.royalparks.org.uk/hyde-park/swimming", "source_name": "The Royal Parks"}, {"topic": "rules", "text": "No diving or bombing.", "status": "confirmed", "source": "https://sportsandleisure.royalparks.org.uk/booking-terms/swimming-bookings-terms-conditions", "source_name": "The Royal Parks"}], "photos": []}, "algae": {"date": "2026-09-15", "level": 3, "phrase": "enough to be objectionable (more than 6 items)", "result": "Sufficient to be objectionable >6 items", "n_checks": 20, "n_seen": 18, "n_objectionable": 12, "season": 2026}, "lab_sample": {"taken_at": "2026-09-15T10:12+01:00", "ecoli": 560}, "classification": {"class": "good", "year": 2025, "history": [[2025, "good"], [2024, "sufficient"], [2023, "sufficient"], [2022, "sufficient"], [2021, "sufficient"], [2019, "sufficient"], [2018, "sufficient"], [2017, "sufficient"], [2016, "sufficient"], [2015, "sufficient"], [2014, "good"], [2013, "good"], [2012, "excellent"], [2011, "excellent"], [2010, "excellent"], [2009, "excellent"], [2008, "excellent"], [2007, "excellent"], [2006, "excellent"], [2005, "excellent"], [2004, "good"]], "url": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=uki1106-11940"}, "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 22, "sunrise": "07:07", "sunset": "18:29"}, {"date": "2026-10-06", "tmax": 21, "sunrise": "07:09", "sunset": "18:27"}, {"date": "2026-10-07", "tmax": 18, "sunrise": "07:11", "sunset": "18:24"}, {"date": "2026-10-08", "tmax": 15, "sunrise": "07:12", "sunset": "18:22"}, {"date": "2026-10-09", "tmax": 19, "sunrise": "07:14", "sunset": "18:20"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "bw-ukj1102-11941", "name": "Pangbourne Meadow, River Thames", "kind": "river", "river": "River Thames", "source": "designated", "notes": "Environment Agency designated bathing water", "lat": 51.48683, "lon": -1.08394, "query": {"lat": 51.48683, "lon": -1.08394, "issued_at": "2026-10-05T03:12:52.090288+01:00"}, "location": {"mode": "river", "watercourse": "River Thames", "snap_distance_m": 23, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "on river", "snapped": {"lat": 51.48703, "lon": -1.08403}}, "river_state": {"station": "Reading", "river": "River Thames", "level_m": 6.681, "typical_low_m": 6.579, "typical_high_m": 7.0, "index": 0.24, "label": "normal", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "7110", "measure": "2200TH-level-stage-i-15_min-mASD", "distance_km": 8.5, "same_river": true, "rise_6h_m": 0.001, "rise_from": "2026-10-04T20:15:00Z", "rise_to": "2026-10-05T01:45:00Z"}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 30, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.001, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.089}, {"date": "2026-10-06", "risk": 0.001, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.001, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.079}, {"date": "2026-10-07", "risk": 0.011, "label": "low", "expected_spilling_overflows": 3.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.011, "rain_48h_mm": 8.9, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.376}, {"date": "2026-10-08", "risk": 0.013, "label": "low", "expected_spilling_overflows": 0.4, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.013, "rain_48h_mm": 11.8, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.477}, {"date": "2026-10-09", "risk": 0.017, "label": "low", "expected_spilling_overflows": 4.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.017, "rain_48h_mm": 12.4, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.456}], "upstream_summary": {"overflows": 31, "with_live_feed": 30, "without_live_feed": 1, "sum_weight": 0.813, "history_days": 3, "max_travel_h": 33.2}, "contributors": [{"site_id": "TWL00199", "company": "Thames Water", "site_name": "Goring STW", "receiving_watercourse": "River Thames", "lat": 51.53944110743414, "lon": -1.1378549201194386, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": null, "latest_event_end": null, "lta_spills": 0.12999999523162842, "spill_hours": 0.0, "snap_confidence": "high", "distance_km": 9.0, "lake_distance_km": 0.0, "travel_h": 5.0, "weight": 0.62, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.009, 0.002, 0.012], "now_contribution": 0.0}, {"site_id": "TWL00157", "company": "Thames Water", "site_name": "Dorchester STW", "receiving_watercourse": "River Thame", "lat": 51.63943228877974, "lon": -1.163127817913337, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2025-03-04T18:15:00+00:00", "latest_event_end": "2025-03-04T23:45:00+00:00", "lta_spills": 13.0, "spill_hours": 121.0, "snap_confidence": "high", "distance_km": 24.5, "lake_distance_km": 0.0, "travel_h": 13.6, "weight": 0.091, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.054, 0.008, 0.093], "now_contribution": 0.0}, {"site_id": "TWL00378", "company": "Thames Water", "site_name": "South Moreton STW", "receiving_watercourse": "Mill Brook", "lat": 51.59067709402436, "lon": -1.1858215704631754, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-04-20T13:45:00+00:00", "latest_event_end": "2026-04-20T14:15:00+00:00", "lta_spills": 124.0, "spill_hours": 2720.75, "snap_confidence": "high", "distance_km": 21.5, "lake_distance_km": 0.0, "travel_h": 11.9, "weight": 0.013, "p_spill_today": 0.005, "p_spill_tomorrow": 0.006, "p_spill_days": [0.005, 0.006, 0.24, 0.041, 0.256], "now_contribution": 0.0}, {"site_id": "TWL00162", "company": "Thames Water", "site_name": "Drayton STW", "receiving_watercourse": "Ginge Brook", "lat": 51.63657224390336, "lon": -1.303489744545657, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-04-26T10:00:00+00:00", "latest_event_end": "2026-04-26T15:15:00+00:00", "lta_spills": 72.5, "spill_hours": 639.25, "snap_confidence": "high", "distance_km": 39.2, "lake_distance_km": 0.0, "travel_h": 21.8, "weight": 0.007, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.21, 0.025, 0.248], "now_contribution": 0.0}, {"site_id": "TWL00273", "company": "Thames Water", "site_name": "Heyford Hill Lane (Littlemore) SPS", "receiving_watercourse": "River Thames", "lat": 51.72232643369785, "lon": -1.2413683008486514, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-04-13T10:16:00+00:00", "latest_event_end": "2026-04-13T10:20:00+00:00", "lta_spills": 6.860000133514404, "spill_hours": 6.066666603088379, "snap_confidence": "high", "distance_km": 49.7, "lake_distance_km": 0.0, "travel_h": 27.6, "weight": 0.014, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.018, 0.004, 0.036], "now_contribution": 0.0}, {"site_id": "TWL00097", "company": "Thames Water", "site_name": "Cholsey STW", "receiving_watercourse": "Cholsey Brook", "lat": 51.58043236033801, "lon": -1.1486252259407457, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-02-22T17:30:00+00:00", "latest_event_end": "2026-02-22T23:30:00+00:00", "lta_spills": 11.5, "spill_hours": 43.75, "snap_confidence": "high", "distance_km": 15.8, "lake_distance_km": 0.0, "travel_h": 8.8, "weight": 0.012, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.048, 0.003, 0.075], "now_contribution": 0.0}, {"site_id": "TWL00031", "company": "Thames Water", "site_name": "Beenham STW", "receiving_watercourse": "Webbs Lane Stream", "lat": 51.42054714380057, "lon": -1.1472847210432924, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-06-02T06:30:00+00:00", "latest_event_end": "2026-06-02T07:15:00+00:00", "lta_spills": 39.0, "spill_hours": 132.25, "snap_confidence": "high", "distance_km": 10.5, "lake_distance_km": 0.0, "travel_h": 5.8, "weight": 0.006, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.161, 0.022, 0.175], "now_contribution": 0.0}, {"site_id": "TWL00081", "company": "Thames Water", "site_name": "Chapel Row STW", "receiving_watercourse": "Tributary of River Bourne", "lat": 51.420117408987885, "lon": -1.1751931502419504, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-03-13T01:45:00+00:00", "latest_event_end": "2026-03-14T09:45:00+00:00", "lta_spills": 66.43000030517578, "spill_hours": 252.75, "snap_confidence": "high", "distance_km": 12.2, "lake_distance_km": 0.0, "travel_h": 6.8, "weight": 0.005, "p_spill_today": 0.001, "p_spill_tomorrow": 0.002, "p_spill_days": [0.001, 0.002, 0.135, 0.012, 0.19], "now_contribution": 0.0}, {"site_id": "TWL00155", "company": "Thames Water", "site_name": "Didcot STW", "receiving_watercourse": "Moor Ditch", "lat": 51.61897625885054, "lon": -1.2495928218551884, "status": -1, "has_live": true, "data_state": "offline", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": null, "latest_event_end": null, "lta_spills": 55.0, "spill_hours": 338.75, "snap_confidence": "high", "distance_km": 34.7, "lake_distance_km": 0.0, "travel_h": 19.3, "weight": 0.004, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.112, 0.022, 0.189], "now_contribution": 0.0}, {"site_id": "TWL00211", "company": "Thames Water", "site_name": "Hampstead Norreys STW", "receiving_watercourse": "River Pang", "lat": 51.4779835453024, "lon": -1.2353490735381933, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-04-07T06:15:00+00:00", "latest_event_end": "2026-04-07T10:15:00+00:00", "lta_spills": 66.5, "spill_hours": 628.5, "snap_confidence": "high", "distance_km": 20.1, "lake_distance_km": 0.0, "travel_h": 11.2, "weight": 0.004, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.116, 0.017, 0.206], "now_contribution": 0.0}], "guide": {"checked": "2026-10-03", "how": "desk", "facts": [{"topic": "parking", "text": "There is a paying public car park.", "status": "confirmed", "source": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukj1102-11941", "source_name": "Environment Agency bathing water profile"}, {"topic": "parking", "text": "Pangbourne River Meadow Car Park, Whitchurch Road, RG8 7BS, has 27 spaces, two for Blue Badge holders. Monday to Sunday 8am to 6pm: up to 1 hour \u00a31.10, 2 hours \u00a31.60, 3 hours \u00a32.10, 4 hours \u00a32.70, over 4 hours \u00a36.40; evenings 6pm to 8am \u00a31.10. Pay by cash, card or PayByPhone (code 7182). The council's car park page does not mention the bathing site.", "status": "confirmed", "source": "https://www.westberks.gov.uk/pangbourne-river-meadow-car-park", "source_name": "West Berkshire Council"}, {"topic": "path", "text": "The site is a big grassy meadow on the south bank of the Thames just downstream of Whitchurch Bridge in Pangbourne, and is easy to reach by public transport.", "status": "confirmed", "source": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukj1102-11941", "source_name": "Environment Agency bathing water profile"}, {"topic": "toilets", "text": "The parish council's recreation area includes a car park and public toilets. The parish council's page does not mention the bathing site.", "status": "confirmed", "source": "https://www.pangbourne-pc.gov.uk/Recreation_Areas_29641.aspx", "source_name": "Pangbourne Parish Council"}], "photos": []}, "algae": {"date": "2026-09-23", "level": 0, "phrase": "none seen", "result": "No material present", "n_checks": 21, "n_seen": 0, "n_objectionable": 0, "season": 2026}, "lab_sample": {"taken_at": "2026-09-23T09:00+01:00", "ecoli": 150}, "classification": {"url": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukj1102-11941"}, "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 21, "sunrise": "07:11", "sunset": "18:33"}, {"date": "2026-10-06", "tmax": 21, "sunrise": "07:13", "sunset": "18:30"}, {"date": "2026-10-07", "tmax": 15, "sunrise": "07:14", "sunset": "18:28"}, {"date": "2026-10-08", "tmax": 14, "sunrise": "07:16", "sunset": "18:26"}, {"date": "2026-10-09", "tmax": 19, "sunrise": "07:18", "sunset": "18:24"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "bw-uki2203-11942", "name": "Ham and Kingston, River Thames", "kind": "river", "river": "River Thames", "source": "designated", "notes": "Environment Agency designated bathing water", "lat": 51.42702, "lon": -0.31074, "query": {"lat": 51.42702, "lon": -0.31074, "issued_at": "2026-10-05T03:12:52.569372+01:00"}, "location": {"mode": "river", "watercourse": "River Thames", "snap_distance_m": 39, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "on river", "snapped": {"lat": 51.42675, "lon": -0.31108}}, "river_state": {"station": "Trowlock Island", "river": "River Thames", "level_m": 4.274, "typical_low_m": 4.42, "typical_high_m": 5.0, "index": -0.25, "label": "low", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "7269", "measure": "3404TH-level-stage-i-15_min-mAOD", "distance_km": 0.4, "same_river": true, "rise_6h_m": 0.002, "rise_from": "2026-10-04T20:15:00Z", "rise_to": "2026-10-05T01:45:00Z"}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 37, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.003, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.102}, {"date": "2026-10-06", "risk": 0.003, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.002, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.102}, {"date": "2026-10-07", "risk": 0.045, "label": "low", "expected_spilling_overflows": 3.3, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.045, "rain_48h_mm": 5.9, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.424}, {"date": "2026-10-08", "risk": 0.039, "label": "low", "expected_spilling_overflows": 0.5, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.039, "rain_48h_mm": 9.7, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.513}, {"date": "2026-10-09", "risk": 0.036, "label": "low", "expected_spilling_overflows": 2.5, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.036, "rain_48h_mm": 7.7, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.468}], "upstream_summary": {"overflows": 43, "with_live_feed": 37, "without_live_feed": 6, "sum_weight": 2.463, "history_days": 3, "max_travel_h": 33.2}, "contributors": [{"site_id": "TWL00258", "company": "Thames Water", "site_name": "Kingston Main SPS", "receiving_watercourse": "River Thames", "lat": 51.41313676164279, "lon": -0.3074898645487829, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2023-12-11T11:00:00+00:00", "latest_event_end": "2023-12-11T11:30:00+00:00", "lta_spills": 1.5700000524520874, "spill_hours": 0.0, "snap_confidence": "high", "distance_km": 1.7, "lake_distance_km": 0.0, "travel_h": 0.9, "weight": 0.92, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.004, 0.002, 0.003], "now_contribution": 0.0}, {"site_id": "TWL00140", "company": "Thames Water", "site_name": "Portsmouth road, uxbridge road", "receiving_watercourse": "River Thames", "lat": 51.398873008015386, "lon": -0.3098853667115529, "status": -1, "has_live": true, "data_state": "offline", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": null, "latest_event_end": null, "lta_spills": 4.710000038146973, "spill_hours": 2.5333333015441895, "snap_confidence": "high", "distance_km": 3.3, "lake_distance_km": 0.0, "travel_h": 1.8, "weight": 0.83, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.016, 0.003, 0.011], "now_contribution": 0.0}, {"site_id": "TWL00522", "company": "Thames Water", "site_name": "Church Street XX", "receiving_watercourse": "N/A", "lat": 51.37496954611702, "lon": -0.4617779295198463, "status": -2, "has_live": false, "data_state": "offline", "feed_updated_at": null, "latest_event_start": null, "latest_event_end": null, "lta_spills": null, "spill_hours": 0.0, "snap_confidence": "high", "distance_km": 18.6, "lake_distance_km": 0.0, "travel_h": 10.3, "weight": 0.17, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.015, 0.002, 0.013], "now_contribution": 0.0}, {"site_id": "TWL00174", "company": "Thames Water", "site_name": "Esher STW", "receiving_watercourse": "River Mole", "lat": 51.38156966271066, "lon": -0.3772023278893552, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-02-16T07:15:00+00:00", "latest_event_end": "2026-02-17T02:15:00+00:00", "lta_spills": 50.43000030517578, "spill_hours": 238.5, "snap_confidence": "high", "distance_km": 10.2, "lake_distance_km": 0.0, "travel_h": 5.7, "weight": 0.087, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.177, 0.023, 0.106], "now_contribution": 0.0}, {"site_id": "TWL00445", "company": "Thames Water", "site_name": "Weybridge STW", "receiving_watercourse": "River Wey", "lat": 51.357252932321515, "lon": -0.46797316292374114, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-08-10T01:15:00+00:00", "latest_event_end": "2026-08-10T01:45:00+00:00", "lta_spills": 54.56999969482422, "spill_hours": 426.0, "snap_confidence": "high", "distance_km": 21.7, "lake_distance_km": 0.0, "travel_h": 12.0, "weight": 0.112, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.119, 0.024, 0.097], "now_contribution": 0.0}, {"site_id": "TWL00452", "company": "Thames Water", "site_name": "Windsor STW", "receiving_watercourse": "River Thames", "lat": 51.46514572515779, "lon": -0.5661458026071207, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-09-08T15:02:00+00:00", "latest_event_end": "2026-09-08T16:24:00+00:00", "lta_spills": 75.86000061035156, "spill_hours": 333.4333190917969, "snap_confidence": "high", "distance_km": 35.7, "lake_distance_km": 0.0, "travel_h": 19.8, "weight": 0.03, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.237, 0.018, 0.194], "now_contribution": 0.0}, {"site_id": "TWL00107", "company": "Thames Water", "site_name": "Cobham", "receiving_watercourse": "River Mole", "lat": 51.335265953664354, "lon": -0.4239158208575428, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-05-21T06:45:00+00:00", "latest_event_end": "2026-05-21T07:30:00+00:00", "lta_spills": 30.8799991607666, "spill_hours": 268.25, "snap_confidence": "high", "distance_km": 19.5, "lake_distance_km": 0.0, "travel_h": 10.8, "weight": 0.05, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.134, 0.022, 0.091], "now_contribution": 0.0}, {"site_id": "TWL00744", "company": "Thames Water", "site_name": "Stoke road, cobham", "receiving_watercourse": "River Mole", "lat": 51.32645683797529, "lon": -0.4042669078344141, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-05-24T22:32:00+00:00", "latest_event_end": "2026-05-26T15:50:00+00:00", "lta_spills": 7.329999923706055, "spill_hours": 44.66666793823242, "snap_confidence": "high", "distance_km": 26.7, "lake_distance_km": 0.0, "travel_h": 14.8, "weight": 0.035, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.042, 0.004, 0.032], "now_contribution": 0.0}, {"site_id": "TWL00142", "company": "Thames Water", "site_name": "St james's road", "receiving_watercourse": "River Hogsmill", "lat": 51.40734090605437, "lon": -0.30468437119839303, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-06-23T03:22:00+00:00", "latest_event_end": "2026-06-23T04:06:00+00:00", "lta_spills": 2.630000114440918, "spill_hours": 1.899999976158142, "snap_confidence": "high", "distance_km": 2.5, "lake_distance_km": 0.0, "travel_h": 1.4, "weight": 0.028, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.007, 0.002, 0.005], "now_contribution": 0.0}, {"site_id": "TWL00229", "company": "Thames Water", "site_name": "Hogsmill STW", "receiving_watercourse": "River Hogsmill", "lat": 51.40349712535049, "lon": -0.28771728838099103, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-06-02T17:15:00+00:00", "latest_event_end": "2026-06-02T20:30:00+00:00", "lta_spills": 20.3799991607666, "spill_hours": 138.5, "snap_confidence": "high", "distance_km": 3.9, "lake_distance_km": 0.0, "travel_h": 2.2, "weight": 0.026, "p_spill_today": 0.001, "p_spill_tomorrow": 0.002, "p_spill_days": [0.001, 0.002, 0.092, 0.011, 0.058], "now_contribution": 0.0}], "guide": {"checked": "2026-10-04", "how": "desk", "facts": [{"topic": "parking", "text": "There is a public car park nearby.", "status": "confirmed", "source": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=uki2203-11942", "source_name": "Environment Agency bathing water profile"}, {"topic": "path", "text": "The site is on the River Thames at Kingston, on the same side as the Hawker Family Leisure Centre. The Thames Path runs parallel to the towpath here, and the site can be reached by public transport.", "status": "confirmed", "source": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=uki2203-11942", "source_name": "Environment Agency bathing water profile"}, {"topic": "entry", "text": "There is a concrete river access ramp beside the towpath, where samples are taken. The banks along this stretch are steep and the water is deep; there is a narrow green bank and a narrow, sloped strip of grass between the towpath and the Thames Path.", "status": "confirmed", "source": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=uki2203-11942", "source_name": "Environment Agency bathing water profile"}, {"topic": "entry", "text": "As of 4 October 2026, Kingston Council says a ramp into the river by the YMCA Hawker Centre is out of use, awaiting repair and improvements. It says other points of entry in the bathing area are unaffected and remain available.", "status": "confirmed", "source": "https://www.kingston.gov.uk/safety-crime-and-emergencies/safety-in-kingston/stay-safe-near-water/kingstons-designated-bathing-water-site", "source_name": "Royal Borough of Kingston upon Thames"}, {"topic": "rules", "text": "The designated bathing water runs between the Half Mile Tree and the YMCA Hawker Centre on Lower Ham Road.", "status": "confirmed", "source": "https://www.kingston.gov.uk/safety-crime-and-emergencies/safety-in-kingston/stay-safe-near-water/kingstons-designated-bathing-water-site", "source_name": "Royal Borough of Kingston upon Thames"}, {"topic": "rules", "text": "The Thames here is used by boats, rowers and other river users. Swimmers should stay close to the bank on the Kingston side and not swim to the middle of the river or try to reach Trowlock Island.", "status": "confirmed", "source": "https://www.kingston.gov.uk/safety-crime-and-emergencies/safety-in-kingston/stay-safe-near-water/kingstons-designated-bathing-water-site", "source_name": "Royal Borough of Kingston upon Thames"}, {"topic": "rules", "text": "The bathing site is unsupervised: there are no lifeguards on duty and people enter the water at their own risk. In an emergency call 999.", "status": "confirmed", "source": "https://www.kingston.gov.uk/safety-crime-and-emergencies/safety-in-kingston/stay-safe-near-water/kingstons-designated-bathing-water-site", "source_name": "Royal Borough of Kingston upon Thames"}], "photos": []}, "algae": {"date": "2026-09-15", "level": 0, "phrase": "none seen", "result": "No material present", "n_checks": 21, "n_seen": 9, "n_objectionable": 4, "season": 2026}, "lab_sample": {"taken_at": "2026-09-15T10:38+01:00", "ecoli": 770}, "classification": {"url": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=uki2203-11942"}, "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 22, "sunrise": "07:08", "sunset": "18:29"}, {"date": "2026-10-06", "tmax": 21, "sunrise": "07:09", "sunset": "18:27"}, {"date": "2026-10-07", "tmax": 16, "sunrise": "07:11", "sunset": "18:25"}, {"date": "2026-10-08", "tmax": 15, "sunrise": "07:13", "sunset": "18:23"}, {"date": "2026-10-09", "tmax": 20, "sunrise": "07:14", "sunset": "18:21"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "bw-ukj2310-11945", "name": "Frensham Great Pond", "kind": "lake", "river": null, "source": "designated", "notes": "Environment Agency designated bathing water", "lat": 51.15731, "lon": -0.7918, "query": {"lat": 51.15731, "lon": -0.7918, "issued_at": "2026-10-05T03:12:53.188548+01:00"}, "location": {"mode": "lake", "watercourse": "Frensham Great Pond", "snap_distance_m": 343, "form": "lake", "lake_area_km2": 0.3, "lake_source": "polygon", "adopted_main_channel": false, "placement": null, "snapped": {"lat": 51.15426, "lon": -0.79253}}, "river_state": {"station": "Tilford", "river": "River Wey", "level_m": 0.166, "typical_low_m": 0.139, "typical_high_m": 1.4, "index": 0.02, "label": "low", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "7231", "measure": "3040TH-level-stage-i-15_min-mASD", "distance_km": 4.0, "same_river": false}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": false, "season_validated_months": [5, 6, 7, 8, 9], "note": "Not validated on lakes: no ranking skill in the fitting data (16 exceedances in 803 lake samples)."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 1, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.001, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.032}, {"date": "2026-10-06", "risk": 0.001, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.032}, {"date": "2026-10-07", "risk": 0.016, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.016, "rain_48h_mm": 7.7, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.041}, {"date": "2026-10-08", "risk": 0.005, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.005, "rain_48h_mm": 10.9, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.034}, {"date": "2026-10-09", "risk": 0.01, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.01, "rain_48h_mm": 9.8, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.036}], "upstream_summary": {"overflows": 1, "with_live_feed": 1, "without_live_feed": 0, "sum_weight": 0.483, "history_days": 2, "max_travel_h": 4.1}, "contributors": [{"site_id": "TWL00101", "company": "Thames Water", "site_name": "Churt SPS", "receiving_watercourse": "Whitmoor Vale Stream", "lat": 51.13559110180223, "lon": -0.7823489015317537, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-06-02T04:18:00+00:00", "latest_event_end": "2026-06-02T04:48:00+00:00", "lta_spills": 5.429999828338623, "spill_hours": 8.266666412353516, "snap_confidence": "high", "distance_km": 2.5, "lake_distance_km": 0.5, "travel_h": 4.1, "weight": 0.483, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.041, 0.005, 0.024], "now_contribution": 0.0}], "guide": {"checked": "2026-10-03", "how": "desk", "facts": [{"topic": "parking", "text": "Main car park: Bacon Lane, Churt, Surrey GU10 2QB, open 8am to 9pm and usually full by 10am. \u00a31.80 for an hour, \u00a33.60 for two, \u00a34.80 for up to four, \u00a37 all day; RingGo (location 16258) or card only. \u00a360.90 to open the gate if you are locked in.", "status": "confirmed", "source": "https://www.waverley.gov.uk/services/greenspaces-leisure-and-things-to-do/greenspaces-in-waverley/key-sites/frensham-great-pond", "source_name": "Waverley Borough Council"}, {"topic": "entry", "text": "Bathing is in a marked sandy beach area in front of the Ranger's Office and the main car park.", "status": "confirmed", "source": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukj2310-11945", "source_name": "Environment Agency bathing water profile"}, {"topic": "toilets", "text": "Toilets open from about 8am to 9pm, with the car park.", "status": "confirmed", "source": "https://www.waverley.gov.uk/services/greenspaces-leisure-and-things-to-do/greenspaces-in-waverley/key-sites/frensham-great-pond", "source_name": "Waverley Borough Council"}, {"topic": "rules", "text": "Swimming is allowed only at the Great Pond, within the marked areas.", "status": "confirmed", "source": "https://www.waverley.gov.uk/services/greenspaces-leisure-and-things-to-do/greenspaces-in-waverley/key-sites/frensham-great-pond", "source_name": "Waverley Borough Council"}], "photos": []}, "algae": {"date": "2026-09-10", "level": 1, "phrase": "a trace (1 or 2 items)", "result": "Trace present - 1 or 2 items", "n_checks": 12, "n_seen": 7, "n_objectionable": 3, "season": 2026}, "lab_sample": {"taken_at": "2026-09-10T10:20+01:00", "ecoli": 230}, "classification": {"class": "excellent", "year": 2025, "history": [[2025, "excellent"], [2024, "excellent"], [2023, "excellent"], [2022, "excellent"], [2021, "excellent"], [2019, "excellent"], [2018, "excellent"], [2017, "excellent"], [2016, "excellent"], [2015, "good"], [2014, "good"], [2013, "good"], [2012, "excellent"], [2011, "excellent"], [2010, "excellent"], [2009, "excellent"], [2008, "excellent"], [2007, "excellent"], [2006, "excellent"], [2005, "excellent"], [2004, "excellent"]], "url": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukj2310-11945"}, "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 21, "sunrise": "07:09", "sunset": "18:32"}, {"date": "2026-10-06", "tmax": 21, "sunrise": "07:11", "sunset": "18:29"}, {"date": "2026-10-07", "tmax": 15, "sunrise": "07:13", "sunset": "18:27"}, {"date": "2026-10-08", "tmax": 14, "sunrise": "07:14", "sunset": "18:25"}, {"date": "2026-10-09", "tmax": 20, "sunrise": "07:16", "sunset": "18:23"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "bw-ukj1402-11946", "name": "Wolvercote Mill Stream", "kind": "river", "river": "River Thames", "source": "designated", "notes": "Environment Agency designated bathing water", "lat": 51.78082, "lon": -1.29596, "query": {"lat": 51.78082, "lon": -1.29596, "issued_at": "2026-10-05T03:12:53.316794+01:00"}, "location": {"mode": "river", "watercourse": "River Thames", "snap_distance_m": 342, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": true, "placement": "on river", "snapped": {"lat": 51.77793, "lon": -1.29762}}, "river_state": {"station": "Farmoor", "river": "River Thames", "level_m": 0.821, "typical_low_m": 0.5, "typical_high_m": 1.3, "index": 0.4, "label": "normal", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "7047", "measure": "1100TH-level-stage-i-15_min-mASD", "distance_km": 5.5, "same_river": true, "rise_6h_m": -0.005, "rise_from": "2026-10-04T20:15:00Z", "rise_to": "2026-10-05T01:45:00Z"}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 27, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.002, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.098}, {"date": "2026-10-06", "risk": 0.003, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.002, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.101}, {"date": "2026-10-07", "risk": 0.023, "label": "low", "expected_spilling_overflows": 2.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.023, "rain_48h_mm": 2.6, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.298}, {"date": "2026-10-08", "risk": 0.021, "label": "low", "expected_spilling_overflows": 0.4, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.021, "rain_48h_mm": 4.3, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.369}, {"date": "2026-10-09", "risk": 0.056, "label": "low", "expected_spilling_overflows": 4.6, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.056, "rain_48h_mm": 8.3, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.491}], "upstream_summary": {"overflows": 29, "with_live_feed": 27, "without_live_feed": 2, "sum_weight": 1.177, "history_days": 3, "max_travel_h": 32.3}, "contributors": [{"site_id": "TWL00075", "company": "Thames Water", "site_name": "Cassington STW", "receiving_watercourse": "River Thames", "lat": 51.78678346598992, "lon": -1.328144694755258, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2024-10-01T20:15:00+00:00", "latest_event_end": "2024-10-01T23:45:00+00:00", "lta_spills": 15.289999961853027, "spill_hours": 0.0, "snap_confidence": "high", "distance_km": 3.7, "lake_distance_km": 0.0, "travel_h": 2.0, "weight": 0.845, "p_spill_today": 0.001, "p_spill_tomorrow": 0.002, "p_spill_days": [0.001, 0.002, 0.012, 0.005, 0.037], "now_contribution": 0.0}, {"site_id": "TWL00110", "company": "Thames Water", "site_name": "Combe STW", "receiving_watercourse": "River Evenlode", "lat": 51.83731130028229, "lon": -1.4114292925401069, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-08-29T16:15:00+00:00", "latest_event_end": "2026-08-29T18:30:00+00:00", "lta_spills": 59.880001068115234, "spill_hours": 356.5, "snap_confidence": "high", "distance_km": 18.7, "lake_distance_km": 0.0, "travel_h": 10.4, "weight": 0.081, "p_spill_today": 0.001, "p_spill_tomorrow": 0.002, "p_spill_days": [0.001, 0.002, 0.082, 0.008, 0.172], "now_contribution": 0.0}, {"site_id": "TWL00385", "company": "Thames Water", "site_name": "Standlake STW", "receiving_watercourse": "River Windrush", "lat": 51.71793218465847, "lon": -1.4165993533840946, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-03-18T21:00:00+00:00", "latest_event_end": "2026-03-19T10:30:00+00:00", "lta_spills": 59.630001068115234, "spill_hours": 2213.75, "snap_confidence": "high", "distance_km": 19.5, "lake_distance_km": 0.0, "travel_h": 10.8, "weight": 0.034, "p_spill_today": 0.018, "p_spill_tomorrow": 0.025, "p_spill_days": [0.018, 0.025, 0.263, 0.104, 0.361], "now_contribution": 0.0}, {"site_id": "TWL00184", "company": "Thames Water", "site_name": "Finstock STW", "receiving_watercourse": "River Evenlode", "lat": 51.84998416190806, "lon": -1.4670134463039366, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-02-16T08:45:00+00:00", "latest_event_end": "2026-02-16T12:15:00+00:00", "lta_spills": 24.8799991607666, "spill_hours": 143.75, "snap_confidence": "high", "distance_km": 26.7, "lake_distance_km": 0.0, "travel_h": 14.9, "weight": 0.053, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.019, 0.006, 0.122], "now_contribution": 0.0}, {"site_id": "TWL00462", "company": "Thames Water", "site_name": "Woodstock STW", "receiving_watercourse": "River Glyme", "lat": 51.85694067030124, "lon": -1.3485904560829582, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-03-01T11:30:00+00:00", "latest_event_end": "2026-03-01T12:15:00+00:00", "lta_spills": 38.43000030517578, "spill_hours": 89.25, "snap_confidence": "high", "distance_km": 17.8, "lake_distance_km": 0.0, "travel_h": 9.9, "weight": 0.045, "p_spill_today": 0.001, "p_spill_tomorrow": 0.002, "p_spill_days": [0.001, 0.002, 0.063, 0.007, 0.117], "now_contribution": 0.0}, {"site_id": "TWL00083", "company": "Thames Water", "site_name": "Charlbury STW", "receiving_watercourse": "River Evenlode", "lat": 51.8700408708531, "lon": -1.488708417668178, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-02-18T23:30:00+00:00", "latest_event_end": "2026-02-19T01:30:00+00:00", "lta_spills": 14.880000114440918, "spill_hours": 52.0, "snap_confidence": "high", "distance_km": 30.3, "lake_distance_km": 0.0, "travel_h": 16.8, "weight": 0.044, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.01, 0.004, 0.067], "now_contribution": 0.0}, {"site_id": "TWL00024", "company": "Thames Water", "site_name": "Bampton STW", "receiving_watercourse": "Shill Brook", "lat": 51.722501748219976, "lon": -1.5338058407969262, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-08-27T14:45:00+00:00", "latest_event_end": "2026-08-27T16:45:00+00:00", "lta_spills": 76.75, "spill_hours": 926.0, "snap_confidence": "high", "distance_km": 27.4, "lake_distance_km": 0.0, "travel_h": 15.2, "weight": 0.017, "p_spill_today": 0.003, "p_spill_tomorrow": 0.005, "p_spill_days": [0.003, 0.005, 0.164, 0.029, 0.256], "now_contribution": 0.0}, {"site_id": "TWL00389", "company": "Thames Water", "site_name": "Stanton Harcourt STW", "receiving_watercourse": "Harcourt Brook", "lat": 51.75115648214668, "lon": -1.3902407460013493, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-03-15T00:00:00+00:00", "latest_event_end": "2026-03-15T00:30:00+00:00", "lta_spills": 68.5, "spill_hours": 709.25, "snap_confidence": "high", "distance_km": 10.5, "lake_distance_km": 0.0, "travel_h": 5.8, "weight": 0.005, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.096, 0.013, 0.2], "now_contribution": 0.0}, {"site_id": "TWL00042", "company": "Thames Water", "site_name": "Bledington STW", "receiving_watercourse": "Bledington Brook ", "lat": 51.903319476884135, "lon": -1.6370258794346932, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-04-13T13:30:00+00:00", "latest_event_end": "2026-04-13T14:00:00+00:00", "lta_spills": 71.43000030517578, "spill_hours": 946.75, "snap_confidence": "high", "distance_km": 50.3, "lake_distance_km": 0.0, "travel_h": 27.9, "weight": 0.004, "p_spill_today": 0.003, "p_spill_tomorrow": 0.005, "p_spill_days": [0.003, 0.005, 0.058, 0.022, 0.234], "now_contribution": 0.0}, {"site_id": "TWL00098", "company": "Thames Water", "site_name": "Church Hanborough STW", "receiving_watercourse": "Hanborough Stream", "lat": 51.813369142469305, "lon": -1.3888212252422436, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-03-16T21:30:00+00:00", "latest_event_end": "2026-03-17T00:15:00+00:00", "lta_spills": 83.5, "spill_hours": 1236.0, "snap_confidence": "low", "distance_km": 8.9, "lake_distance_km": 0.0, "travel_h": 4.9, "weight": 0.004, "p_spill_today": 0.002, "p_spill_tomorrow": 0.003, "p_spill_days": [0.002, 0.003, 0.091, 0.02, 0.203], "now_contribution": 0.0}], "guide": {"checked": "2026-10-04", "how": "desk", "facts": [{"topic": "parking", "text": "Access to the swimming area is via the Wolvercote car park.", "status": "confirmed", "source": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukj1402-11946", "source_name": "Environment Agency bathing water profile"}, {"topic": "parking", "text": "Access and the car park for the former bathing area next to Wolvercote Mill Stream are off Godstow Road, Wolvercote.", "status": "confirmed", "source": "https://www.oxford.gov.uk/directory-record/2683/wolvercote-former-bathing-area", "source_name": "Oxford City Council"}, {"topic": "parking", "text": "Godstow Road car park (Port Meadow North), OX2 8PU, is open 24 hours with 72 spaces and 2 disabled bays. It is cashless: up to 1 hour \u00a31.10, 1 to 3 hours \u00a32.00, 3 to 5 hours \u00a33.00, 5 to 24 hours \u00a311.10. It has toilets. The council's car park page does not mention the bathing site.", "status": "confirmed", "source": "https://www.oxford.gov.uk/directory-record/83/godstow-road-car-park-port-meadow-north", "source_name": "Oxford City Council"}, {"topic": "path", "text": "The site is in the north-east corner of Port Meadow, just downstream of Wolvercote Bridge, about 1 mile north of Oxford city centre, and is easy to reach on foot or by bicycle.", "status": "confirmed", "source": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukj1402-11946", "source_name": "Environment Agency bathing water profile"}, {"topic": "toilets", "text": "There are public toilets in the car park for the former bathing area next to Wolvercote Mill Stream.", "status": "confirmed", "source": "https://www.oxford.gov.uk/directory-record/2683/wolvercote-former-bathing-area", "source_name": "Oxford City Council"}, {"topic": "rules", "text": "The council says bathing water status does not mean the area is safe for swimming; anyone who swims does so at their own risk and should follow the Wild Water Code.", "status": "confirmed", "source": "https://www.oxford.gov.uk/waterways/bathing-water", "source_name": "Oxford City Council"}, {"topic": "rules", "text": "Oxford City Council says the Wolvercote Mill Stream is not suitable for bathing. It says water testing since 2022 has repeatedly classified the water quality as poor.", "status": "confirmed", "source": "https://www.oxford.gov.uk/directory-record/2683/wolvercote-former-bathing-area", "source_name": "Oxford City Council"}], "photos": []}, "algae": {"date": "2026-09-23", "level": 0, "phrase": "none seen", "result": "No material present", "n_checks": 20, "n_seen": 4, "n_objectionable": 1, "season": 2026}, "lab_sample": {"taken_at": "2026-09-23T11:30+01:00", "ecoli": 300}, "classification": {"class": "poor", "year": 2025, "history": [[2025, "poor"], [2024, "poor"], [2023, "poor"], [2022, "poor"]], "url": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukj1402-11946"}, "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 21, "sunrise": "07:12", "sunset": "18:33"}, {"date": "2026-10-06", "tmax": 20, "sunrise": "07:14", "sunset": "18:31"}, {"date": "2026-10-07", "tmax": 16, "sunrise": "07:15", "sunset": "18:29"}, {"date": "2026-10-08", "tmax": 14, "sunrise": "07:17", "sunset": "18:27"}, {"date": "2026-10-09", "tmax": 18, "sunrise": "07:19", "sunset": "18:24"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "bw-ukj1403-11947", "name": "Wallingford Beach, River Thames", "kind": "river", "river": "River Thames", "source": "designated", "notes": "Environment Agency designated bathing water", "lat": 51.60005, "lon": -1.12032, "query": {"lat": 51.60005, "lon": -1.12032, "issued_at": "2026-10-05T03:12:53.844105+01:00"}, "location": {"mode": "river", "watercourse": "River Thames", "snap_distance_m": 18, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "on river", "snapped": {"lat": 51.60008, "lon": -1.12057}}, "river_state": {"station": "Sutton Courtenay", "river": "River Thames", "level_m": 2.033, "typical_low_m": 1.911, "typical_high_m": 3.51, "index": 0.08, "label": "low", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "7084", "measure": "1800TH-level-stage-i-15_min-mASD", "distance_km": 10.7, "same_river": true, "rise_6h_m": 0.006, "rise_from": "2026-10-04T20:15:00Z", "rise_to": "2026-10-05T01:45:00Z"}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 40, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.001, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.079}, {"date": "2026-10-06", "risk": 0.001, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.079}, {"date": "2026-10-07", "risk": 0.013, "label": "low", "expected_spilling_overflows": 3.6, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.013, "rain_48h_mm": 7.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.362}, {"date": "2026-10-08", "risk": 0.012, "label": "low", "expected_spilling_overflows": 0.5, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.012, "rain_48h_mm": 9.9, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.449}, {"date": "2026-10-09", "risk": 0.023, "label": "low", "expected_spilling_overflows": 5.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.023, "rain_48h_mm": 11.4, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.467}], "upstream_summary": {"overflows": 41, "with_live_feed": 40, "without_live_feed": 1, "sum_weight": 0.424, "history_days": 3, "max_travel_h": 33.0}, "contributors": [{"site_id": "TWL00157", "company": "Thames Water", "site_name": "Dorchester STW", "receiving_watercourse": "River Thame", "lat": 51.63943228877974, "lon": -1.163127817913337, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2025-03-04T18:15:00+00:00", "latest_event_end": "2025-03-04T23:45:00+00:00", "lta_spills": 13.0, "spill_hours": 121.0, "snap_confidence": "high", "distance_km": 7.8, "lake_distance_km": 0.0, "travel_h": 4.4, "weight": 0.203, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.054, 0.008, 0.093], "now_contribution": 0.0}, {"site_id": "TWL00273", "company": "Thames Water", "site_name": "Heyford Hill Lane (Littlemore) SPS", "receiving_watercourse": "River Thames", "lat": 51.72232643369785, "lon": -1.2413683008486514, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-04-13T10:16:00+00:00", "latest_event_end": "2026-04-13T10:20:00+00:00", "lta_spills": 6.860000133514404, "spill_hours": 6.066666603088379, "snap_confidence": "high", "distance_km": 33.0, "lake_distance_km": 0.0, "travel_h": 18.4, "weight": 0.087, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.018, 0.004, 0.036], "now_contribution": 0.0}, {"site_id": "TWL00162", "company": "Thames Water", "site_name": "Drayton STW", "receiving_watercourse": "Ginge Brook", "lat": 51.63657224390336, "lon": -1.303489744545657, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-04-26T10:00:00+00:00", "latest_event_end": "2026-04-26T15:15:00+00:00", "lta_spills": 72.5, "spill_hours": 639.25, "snap_confidence": "high", "distance_km": 22.5, "lake_distance_km": 0.0, "travel_h": 12.5, "weight": 0.009, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.21, 0.025, 0.248], "now_contribution": 0.0}, {"site_id": "TWL00075", "company": "Thames Water", "site_name": "Cassington STW", "receiving_watercourse": "River Thames", "lat": 51.78678346598992, "lon": -1.328144694755258, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2024-10-01T20:15:00+00:00", "latest_event_end": "2024-10-01T23:45:00+00:00", "lta_spills": 15.289999961853027, "spill_hours": 0.0, "snap_confidence": "high", "distance_km": 45.2, "lake_distance_km": 0.0, "travel_h": 25.1, "weight": 0.02, "p_spill_today": 0.001, "p_spill_tomorrow": 0.002, "p_spill_days": [0.001, 0.002, 0.012, 0.005, 0.037], "now_contribution": 0.0}, {"site_id": "TWL00244", "company": "Thames Water", "site_name": "Islip STW", "receiving_watercourse": "River Ray", "lat": 51.82098487705463, "lon": -1.2310070130642639, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-08-29T18:30:00+00:00", "latest_event_end": "2026-08-29T19:30:00+00:00", "lta_spills": 34.5, "spill_hours": 696.75, "snap_confidence": "high", "distance_km": 48.4, "lake_distance_km": 0.0, "travel_h": 26.9, "weight": 0.012, "p_spill_today": 0.004, "p_spill_tomorrow": 0.006, "p_spill_days": [0.004, 0.006, 0.101, 0.026, 0.155], "now_contribution": 0.0}, {"site_id": "TWL00363", "company": "Thames Water", "site_name": "Shabbington STW", "receiving_watercourse": "Shabbington Brook", "lat": 51.76087968031526, "lon": -1.0416337514618854, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-06-03T16:15:00+00:00", "latest_event_end": "2026-06-03T23:45:00+00:00", "lta_spills": 37.0, "spill_hours": 321.5, "snap_confidence": "low", "distance_km": 39.6, "lake_distance_km": 0.0, "travel_h": 22.0, "weight": 0.015, "p_spill_today": 0.001, "p_spill_tomorrow": 0.002, "p_spill_days": [0.001, 0.002, 0.074, 0.009, 0.094], "now_contribution": 0.0}, {"site_id": "TWL00155", "company": "Thames Water", "site_name": "Didcot STW", "receiving_watercourse": "Moor Ditch", "lat": 51.61897625885054, "lon": -1.2495928218551884, "status": -1, "has_live": true, "data_state": "offline", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": null, "latest_event_end": null, "lta_spills": 55.0, "spill_hours": 338.75, "snap_confidence": "high", "distance_km": 18.0, "lake_distance_km": 0.0, "travel_h": 10.0, "weight": 0.006, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.112, 0.022, 0.189], "now_contribution": 0.0}, {"site_id": "TWL00323", "company": "Thames Water", "site_name": "Oxford STW", "receiving_watercourse": "Pottery Stream", "lat": 51.715871656435596, "lon": -1.2168683999404226, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-06-02T07:30:00+00:00", "latest_event_end": "2026-06-03T00:30:00+00:00", "lta_spills": 81.62999725341797, "spill_hours": 590.5, "snap_confidence": "high", "distance_km": 33.0, "lake_distance_km": 0.0, "travel_h": 18.3, "weight": 0.004, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.19, 0.022, 0.25], "now_contribution": 0.0}, {"site_id": "TWL00034", "company": "Thames Water", "site_name": "Benson STW", "receiving_watercourse": "Howbery Ditch", "lat": 51.60996620265061, "lon": -1.1057589162258206, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-02-27T07:40:00+00:00", "latest_event_end": "2026-03-03T00:28:00+00:00", "lta_spills": 30.8799991607666, "spill_hours": 361.0333251953125, "snap_confidence": "high", "distance_km": 1.5, "lake_distance_km": 0.0, "travel_h": 0.9, "weight": 0.006, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.118, 0.01, 0.162], "now_contribution": 0.0}, {"site_id": "TWL00085", "company": "Thames Water", "site_name": "Charlton-on-Otmoor STW", "receiving_watercourse": "River Ray", "lat": 51.83895356587386, "lon": -1.1758353447017191, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-02-27T09:00:00+00:00", "latest_event_end": "2026-02-27T10:00:00+00:00", "lta_spills": 70.75, "spill_hours": 813.75, "snap_confidence": "high", "distance_km": 53.4, "lake_distance_km": 0.0, "travel_h": 29.7, "weight": 0.005, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.103, 0.018, 0.17], "now_contribution": 0.0}], "guide": {"checked": "2026-10-03", "how": "desk", "facts": [{"topic": "parking", "text": "The swimming area is close to Riverside Car Park, on the northern side of the bridge.", "status": "confirmed", "source": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukj1403-11947", "source_name": "Environment Agency bathing water profile"}, {"topic": "parking", "text": "Riverside car park, OX10 0BU, is open 24 hours with 34 standard and 2 disabled spaces and a 2.2m height limit. Charging hours are 8am to 6pm Monday to Saturday and 10am to 5pm Sunday; maximum stay 23 hours. Blue Badge holders park free. The council's car park page does not mention the bathing site.", "status": "confirmed", "source": "https://www.southoxon.gov.uk/south-oxfordshire-district-council/parking-roads-and-streets/parking/car-parks/wallingford-car-parks/riverside-car-park-wallingford", "source_name": "South Oxfordshire District Council"}, {"topic": "parking", "text": "Riverside car park charges: no charge 1 November to end of February. Low season (1 March to 30 June, 1 September to 31 October): up to 1 hour free with ticket, 3 hours \u00a32.30, 10 hours \u00a36.30. High season (1 July to 31 August): 1 hour free with ticket, 2 hours \u00a32.30, 5 hours \u00a35.30, 10 hours \u00a36.30. The council's car park page does not mention the bathing site.", "status": "confirmed", "source": "https://www.southoxon.gov.uk/south-oxfordshire-district-council/parking-roads-and-streets/parking/car-parks/wallingford-car-parks/riverside-car-park-wallingford", "source_name": "South Oxfordshire District Council"}, {"topic": "path", "text": "From the Thames Path at Wallingford, cross the bridge to reach the site.", "status": "confirmed", "source": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukj1403-11947", "source_name": "Environment Agency bathing water profile"}, {"topic": "entry", "text": "The bathing area is on the east bank, immediately south of Wallingford Bridge. You get into the water down a sloping bank next to an area of grassland.", "status": "confirmed", "source": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukj1403-11947", "source_name": "Environment Agency bathing water profile"}, {"topic": "toilets", "text": "The council's Riverside toilets, off The Street, OX10 0BU, are open March to September, 8am to 6pm, and are unattended. The council's toilets page does not mention the bathing site.", "status": "confirmed", "source": "https://www.southoxon.gov.uk/south-oxfordshire-district-council/sports-and-activities/out-and-about/parks-open-spaces-and-play-areas/public-toilets/", "source_name": "South Oxfordshire District Council"}, {"topic": "rules", "text": "The river around Wallingford Beach is popular for recreational boating and can be very busy in summer.", "status": "confirmed", "source": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukj1403-11947", "source_name": "Environment Agency bathing water profile"}], "photos": []}, "algae": {"date": "2026-09-23", "level": 0, "phrase": "none seen", "result": "No material present", "n_checks": 21, "n_seen": 3, "n_objectionable": 0, "season": 2026}, "lab_sample": {"taken_at": "2026-09-23T14:04+01:00", "ecoli": 270}, "classification": {"class": "sufficient", "year": 2025, "history": [[2025, "sufficient"], [2024, "poor"]], "url": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukj1403-11947"}, "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 21, "sunrise": "07:11", "sunset": "18:33"}, {"date": "2026-10-06", "tmax": 21, "sunrise": "07:13", "sunset": "18:30"}, {"date": "2026-10-07", "tmax": 16, "sunrise": "07:14", "sunset": "18:28"}, {"date": "2026-10-08", "tmax": 14, "sunrise": "07:16", "sunset": "18:26"}, {"date": "2026-10-09", "tmax": 19, "sunrise": "07:18", "sunset": "18:24"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "bw-ukj3308-19001", "name": "River Avon at Fordingbridge", "kind": "river", "river": "River Avon", "source": "designated", "notes": "Environment Agency designated bathing water", "lat": 50.92632, "lon": -1.78854, "query": {"lat": 50.92632, "lon": -1.78854, "issued_at": "2026-10-05T03:12:54.410117+01:00"}, "location": {"mode": "river", "watercourse": "River Avon", "snap_distance_m": 24, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "on river", "snapped": {"lat": 50.92642, "lon": -1.78885}}, "river_state": {"station": "East Mills Flume", "river": "River Avon", "level_m": 0.588, "typical_low_m": 0.597, "typical_high_m": 1.35, "index": -0.01, "label": "low", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "3315", "measure": "43123-level-stage-i-15_min-m", "distance_km": 0.8, "same_river": true, "rise_6h_m": 0.004, "rise_from": "2026-10-04T20:15:00Z", "rise_to": "2026-10-05T01:45:00Z"}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 24, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.005, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.117}, {"date": "2026-10-06", "risk": 0.005, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.003, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.117}, {"date": "2026-10-07", "risk": 0.136, "label": "low", "expected_spilling_overflows": 1.7, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.136, "rain_48h_mm": 4.3, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.47}, {"date": "2026-10-08", "risk": 0.054, "label": "low", "expected_spilling_overflows": 0.5, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.054, "rain_48h_mm": 5.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.479}, {"date": "2026-10-09", "risk": 0.238, "label": "moderate", "expected_spilling_overflows": 4.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.238, "source": {"site_id": "WXW00437", "site_name": "FORDINGBRIDGE SALISBURY STREET", "receiving_watercourse": "RIVER AVON(S)", "status": 0, "distance_km": 0.3, "lake_distance_km": 0.0, "travel_h": 0.1, "share": 0.611, "spread_over": 2}, "rain_48h_mm": 7.9, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.594}], "upstream_summary": {"overflows": 26, "with_live_feed": 24, "without_live_feed": 2, "sum_weight": 1.882, "history_days": 3, "max_travel_h": 32.5}, "contributors": [{"site_id": "WXW00437", "company": "Wessex Water", "site_name": "FORDINGBRIDGE SALISBURY STREET", "receiving_watercourse": "RIVER AVON(S)", "lat": 50.92846685457681, "lon": -1.7878524005997838, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:17+00:00", "latest_event_start": "2026-03-13T09:06:00+00:00", "latest_event_end": "2026-03-13T12:48:00+00:00", "lta_spills": 54.5, "spill_hours": 25.60555648803711, "snap_confidence": "high", "distance_km": 0.3, "lake_distance_km": 0.0, "travel_h": 0.1, "weight": 0.987, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.091, 0.011, 0.156], "now_contribution": 0.0}, {"site_id": "WXW00379", "company": "Wessex Water", "site_name": "DOWNTON MOOT LANE STORM TANK", "receiving_watercourse": "HAMPSHIRE AVON, RIVER", "lat": 50.982936045272155, "lon": -1.753295091850934, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:17+00:00", "latest_event_start": "2026-03-13T22:48:00+00:00", "latest_event_end": "2026-03-13T22:50:00+00:00", "lta_spills": 59.400001525878906, "spill_hours": 309.13287353515625, "snap_confidence": "high", "distance_km": 12.2, "lake_distance_km": 0.0, "travel_h": 6.8, "weight": 0.536, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.108, 0.011, 0.204], "now_contribution": 0.0}, {"site_id": "WXW00949", "company": "Wessex Water", "site_name": "SALISBURY PETERSFINGER SOUTHAMPTON ROAD STORM TANK", "receiving_watercourse": "RIVER AVON(S)", "lat": 51.05663838197348, "lon": -1.7743758133373335, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:17+00:00", "latest_event_start": "2026-03-15T18:36:00+00:00", "latest_event_end": "2026-03-15T18:37:00+00:00", "lta_spills": 58.79999923706055, "spill_hours": 840.166748046875, "snap_confidence": "high", "distance_km": 23.6, "lake_distance_km": 0.0, "travel_h": 13.1, "weight": 0.055, "p_spill_today": 0.005, "p_spill_tomorrow": 0.007, "p_spill_days": [0.005, 0.007, 0.13, 0.028, 0.232], "now_contribution": 0.0}, {"site_id": "WXW00571", "company": "Wessex Water", "site_name": "HURDCOTT STORM TANK", "receiving_watercourse": "RIVER BOURNE", "lat": 51.10135606712697, "lon": -1.7608344071148743, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:17+00:00", "latest_event_start": "2026-05-06T13:24:00+00:00", "latest_event_end": "2026-05-06T13:26:00+00:00", "lta_spills": 196.5, "spill_hours": 3118.978515625, "snap_confidence": "high", "distance_km": 30.9, "lake_distance_km": 0.0, "travel_h": 17.2, "weight": 0.032, "p_spill_today": 0.022, "p_spill_tomorrow": 0.031, "p_spill_days": [0.022, 0.031, 0.237, 0.084, 0.387], "now_contribution": 0.0}, {"site_id": "WXW00104", "company": "Wessex Water", "site_name": "BARFORD ST MARTIN BURCOMBE STORM TANK", "receiving_watercourse": "RIVER NADDER", "lat": 51.07979729601846, "lon": -1.9151299999351998, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:17+00:00", "latest_event_start": "2026-03-02T22:14:00+00:00", "latest_event_end": "2026-03-02T22:16:00+00:00", "lta_spills": 97.5, "spill_hours": 1550.7662353515625, "snap_confidence": "high", "distance_km": 37.4, "lake_distance_km": 0.0, "travel_h": 20.8, "weight": 0.035, "p_spill_today": 0.005, "p_spill_tomorrow": 0.007, "p_spill_days": [0.005, 0.007, 0.092, 0.032, 0.281], "now_contribution": 0.0}, {"site_id": "WXW00481", "company": "Wessex Water", "site_name": "WISHFORD WILTON ROAD STORM TANK", "receiving_watercourse": "RIVER WYLYE", "lat": 51.103165631232116, "lon": -1.8747254639892532, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:17+00:00", "latest_event_start": "2026-02-04T21:44:00+00:00", "latest_event_end": "2026-03-11T05:58:00+00:00", "lta_spills": 47.33333206176758, "spill_hours": 190.03334045410156, "snap_confidence": "high", "distance_km": 34.9, "lake_distance_km": 0.0, "travel_h": 19.4, "weight": 0.045, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.042, 0.009, 0.19], "now_contribution": 0.0}, {"site_id": "WSX10053", "company": "Wessex Water", "site_name": null, "receiving_watercourse": "RIVER BOURNE", "lat": 51.09402138280143, "lon": -1.7741881423006094, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:17+00:00", "latest_event_start": "2026-07-18T11:50:00+00:00", "latest_event_end": "2026-07-18T12:05:00+00:00", "lta_spills": null, "spill_hours": null, "snap_confidence": "high", "distance_km": 29.5, "lake_distance_km": 0.0, "travel_h": 16.4, "weight": 0.036, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.11, 0.011, 0.174], "now_contribution": 0.0}, {"site_id": "WXW00498", "company": "Wessex Water", "site_name": "HANGING LANGFORD", "receiving_watercourse": "RIVER WYLYE VIA A REED BED", "lat": 51.13339011893904, "lon": -1.9374691886942952, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:17+00:00", "latest_event_start": "2026-03-24T14:30:00+00:00", "latest_event_end": "2026-03-24T14:35:00+00:00", "lta_spills": 219.3333282470703, "spill_hours": 242.070068359375, "snap_confidence": "high", "distance_km": 42.7, "lake_distance_km": 0.0, "travel_h": 23.7, "weight": 0.019, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.059, 0.01, 0.224], "now_contribution": 0.0}, {"site_id": "WXW00075", "company": "Wessex Water", "site_name": "ALLINGTON OLD INN", "receiving_watercourse": "RIVER BOURNE", "lat": 51.15281854101645, "lon": -1.7077902127258433, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:17+00:00", "latest_event_start": "2026-03-24T18:21:00+00:00", "latest_event_end": "2026-03-24T23:22:00+00:00", "lta_spills": 60.66666793823242, "spill_hours": 1977.6405029296875, "snap_confidence": "high", "distance_km": 40.7, "lake_distance_km": 0.0, "travel_h": 22.6, "weight": 0.012, "p_spill_today": 0.012, "p_spill_tomorrow": 0.019, "p_spill_days": [0.012, 0.019, 0.213, 0.07, 0.316], "now_contribution": 0.0}, {"site_id": "WXW00103", "company": "Wessex Water", "site_name": "BARFORD ST MARTIN", "receiving_watercourse": "RIVER NADDER", "lat": 51.07980407457766, "lon": -1.9199523964618364, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:17+00:00", "latest_event_start": "2026-02-19T06:34:00+00:00", "latest_event_end": "2026-02-20T02:52:00+00:00", "lta_spills": 12.833333015441895, "spill_hours": 41.516666412353516, "snap_confidence": "high", "distance_km": 37.8, "lake_distance_km": 0.0, "travel_h": 21.0, "weight": 0.033, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.015, 0.005, 0.079], "now_contribution": 0.0}], "guide": {"checked": "2026-10-03", "how": "desk", "facts": [{"topic": "parking", "text": "New Forest District Council's Fordingbridge Car Park (SP6 1AQ) has 178 short-stay spaces (3-hour limit) and 99 long-stay spaces (20-hour limit). 2026 charges apply 8am to 6pm every day including bank holidays, from \u00a31.55 for 1 hour up to \u00a38.60 for 20 hours. It has toilets. The council's page does not mention the bathing site.", "status": "confirmed", "source": "https://www.newforest.gov.uk/article/1399/Fordingbridge-Car-Park-Fordingbridge", "source_name": "New Forest District Council"}, {"topic": "toilets", "text": "Fordingbridge Town Council runs a refreshment kiosk and toilets in the Rose Gardens at Fordingbridge Recreation Ground, Ringwood Road, SP6 2EX, open to locals and visitors all year round. The council's page does not mention the bathing site.", "status": "confirmed", "source": "https://fordingbridge.gov.uk/areas-of-responsibility/", "source_name": "Fordingbridge Town Council"}], "photos": []}, "algae": {"date": "2026-09-22", "level": 0, "phrase": "none seen", "result": "No material present", "n_checks": 19, "n_seen": 0, "n_objectionable": 0, "season": 2026}, "lab_sample": {"taken_at": "2026-09-22T12:47+01:00", "ecoli": 530}, "classification": {"class": "poor", "year": 2025, "history": [[2025, "poor"], [2024, "poor"]], "url": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukj3308-19001"}, "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 21, "sunrise": "07:13", "sunset": "18:36"}, {"date": "2026-10-06", "tmax": 20, "sunrise": "07:15", "sunset": "18:34"}, {"date": "2026-10-07", "tmax": 15, "sunrise": "07:17", "sunset": "18:31"}, {"date": "2026-10-08", "tmax": 14, "sunrise": "07:18", "sunset": "18:29"}, {"date": "2026-10-09", "tmax": 19, "sunrise": "07:20", "sunset": "18:27"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "bw-ukk1500-19002", "name": "River Avon at Queen Elizabeth Gardens", "kind": "river", "river": "River Avon", "source": "designated", "notes": "Environment Agency designated bathing water", "lat": 51.06767, "lon": -1.80218, "query": {"lat": 51.06767, "lon": -1.80218, "issued_at": "2026-10-05T03:12:54.823764+01:00"}, "location": {"mode": "river", "watercourse": "River Avon", "snap_distance_m": 367, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": true, "placement": "on river", "snapped": {"lat": 51.06437, "lon": -1.80195}}, "river_state": {"station": "Salisbury Ashley Road", "river": "River Avon", "level_m": 0.145, "typical_low_m": 0.103, "typical_high_m": 0.48, "index": 0.11, "label": "low", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "3374", "measure": "43165-level-stage-i-15_min-mASD", "distance_km": 1.0, "same_river": true, "rise_6h_m": 0.001, "rise_from": "2026-10-04T20:15:00Z", "rise_to": "2026-10-05T01:45:00Z"}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 20, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.003, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.101}, {"date": "2026-10-06", "risk": 0.003, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.002, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.104}, {"date": "2026-10-07", "risk": 0.032, "label": "low", "expected_spilling_overflows": 1.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.032, "rain_48h_mm": 3.9, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.354}, {"date": "2026-10-08", "risk": 0.024, "label": "low", "expected_spilling_overflows": 0.3, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.024, "rain_48h_mm": 4.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.407}, {"date": "2026-10-09", "risk": 0.117, "label": "low", "expected_spilling_overflows": 3.2, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.117, "rain_48h_mm": 9.4, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.554}], "upstream_summary": {"overflows": 21, "with_live_feed": 20, "without_live_feed": 1, "sum_weight": 0.953, "history_days": 3, "max_travel_h": 27.4}, "contributors": [{"site_id": "WXW00104", "company": "Wessex Water", "site_name": "BARFORD ST MARTIN BURCOMBE STORM TANK", "receiving_watercourse": "RIVER NADDER", "lat": 51.07979729601846, "lon": -1.9151299999351998, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:17+00:00", "latest_event_start": "2026-03-02T22:14:00+00:00", "latest_event_end": "2026-03-02T22:16:00+00:00", "lta_spills": 97.5, "spill_hours": 1550.7662353515625, "snap_confidence": "high", "distance_km": 11.5, "lake_distance_km": 0.0, "travel_h": 6.4, "weight": 0.195, "p_spill_today": 0.005, "p_spill_tomorrow": 0.007, "p_spill_days": [0.005, 0.007, 0.092, 0.032, 0.281], "now_contribution": 0.0}, {"site_id": "WXW00481", "company": "Wessex Water", "site_name": "WISHFORD WILTON ROAD STORM TANK", "receiving_watercourse": "RIVER WYLYE", "lat": 51.103165631232116, "lon": -1.8747254639892532, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:17+00:00", "latest_event_start": "2026-02-04T21:44:00+00:00", "latest_event_end": "2026-03-11T05:58:00+00:00", "lta_spills": 47.33333206176758, "spill_hours": 190.03334045410156, "snap_confidence": "high", "distance_km": 9.0, "lake_distance_km": 0.0, "travel_h": 5.0, "weight": 0.276, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.042, 0.009, 0.19], "now_contribution": 0.0}, {"site_id": "WXW00498", "company": "Wessex Water", "site_name": "HANGING LANGFORD", "receiving_watercourse": "RIVER WYLYE VIA A REED BED", "lat": 51.13339011893904, "lon": -1.9374691886942952, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:17+00:00", "latest_event_start": "2026-03-24T14:30:00+00:00", "latest_event_end": "2026-03-24T14:35:00+00:00", "lta_spills": 219.3333282470703, "spill_hours": 242.070068359375, "snap_confidence": "high", "distance_km": 16.8, "lake_distance_km": 0.0, "travel_h": 9.3, "weight": 0.138, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.059, 0.01, 0.224], "now_contribution": 0.0}, {"site_id": "WXW00103", "company": "Wessex Water", "site_name": "BARFORD ST MARTIN", "receiving_watercourse": "RIVER NADDER", "lat": 51.07980407457766, "lon": -1.9199523964618364, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:17+00:00", "latest_event_start": "2026-02-19T06:34:00+00:00", "latest_event_end": "2026-02-20T02:52:00+00:00", "lta_spills": 12.833333015441895, "spill_hours": 41.516666412353516, "snap_confidence": "high", "distance_km": 11.9, "lake_distance_km": 0.0, "travel_h": 6.6, "weight": 0.185, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.015, 0.005, 0.079], "now_contribution": 0.0}, {"site_id": "WXW01139", "company": "Wessex Water", "site_name": "TISBURY NADDER CLOSE PLAYING FIELDS", "receiving_watercourse": "RIVER NADDER VIA SWS", "lat": 51.06297952072633, "lon": -2.0776386784496648, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:17+00:00", "latest_event_start": "2026-08-30T22:39:00+00:00", "latest_event_end": "2026-08-30T22:55:00+00:00", "lta_spills": 37.14285659790039, "spill_hours": 71.15050506591797, "snap_confidence": "high", "distance_km": 28.6, "lake_distance_km": 0.0, "travel_h": 15.9, "weight": 0.04, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.04, 0.008, 0.15], "now_contribution": 0.0}, {"site_id": "WXW00993", "company": "Wessex Water", "site_name": "SHREWTON STORM TANK", "receiving_watercourse": "RIVER TILL", "lat": 51.18306235885063, "lon": -1.894998585351422, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:17+00:00", "latest_event_start": "2026-06-05T07:38:00+00:00", "latest_event_end": "2026-06-05T07:41:00+00:00", "lta_spills": 189.0, "spill_hours": 2679.200439453125, "snap_confidence": "high", "distance_km": 22.7, "lake_distance_km": 0.0, "travel_h": 12.6, "weight": 0.008, "p_spill_today": 0.038, "p_spill_tomorrow": 0.042, "p_spill_days": [0.038, 0.042, 0.179, 0.113, 0.475], "now_contribution": 0.0}, {"site_id": "WXW00443", "company": "Wessex Water", "site_name": "FOVANT STORM TANK", "receiving_watercourse": "FOVANT BROOK", "lat": 51.07086834661189, "lon": -2.003767524696006, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:17+00:00", "latest_event_start": "2026-03-15T21:46:00+00:00", "latest_event_end": "2026-03-15T21:54:00+00:00", "lta_spills": 107.66666412353516, "spill_hours": 1252.0128173828125, "snap_confidence": "high", "distance_km": 20.8, "lake_distance_km": 0.0, "travel_h": 11.5, "weight": 0.009, "p_spill_today": 0.007, "p_spill_tomorrow": 0.009, "p_spill_days": [0.007, 0.009, 0.123, 0.044, 0.322], "now_contribution": 0.0}, {"site_id": "WXW01192", "company": "Wessex Water", "site_name": "WARMINSTER STORM TANK", "receiving_watercourse": "RIVER WYLYE", "lat": 51.192061810570316, "lon": -2.1814061338213886, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:17+00:00", "latest_event_start": "2026-02-14T01:22:00+00:00", "latest_event_end": "2026-02-14T01:26:00+00:00", "lta_spills": 19.875, "spill_hours": 238.03334045410156, "snap_confidence": "high", "distance_km": 41.1, "lake_distance_km": 0.0, "travel_h": 22.8, "weight": 0.014, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.02, 0.005, 0.132], "now_contribution": 0.0}, {"site_id": "WXW00081", "company": "Wessex Water", "site_name": "AMESBURY OFF CHURCH STREET STORM TANK", "receiving_watercourse": "HAMPSHIRE AVON (S)", "lat": 51.16631346380132, "lon": -1.7844731183053582, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:17+00:00", "latest_event_start": "2026-01-27T12:05:00+00:00", "latest_event_end": "2026-01-27T14:51:00+00:00", "lta_spills": 1.2000000476837158, "spill_hours": 2.116666555404663, "snap_confidence": "high", "distance_km": 18.4, "lake_distance_km": 0.0, "travel_h": 10.2, "weight": 0.016, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.002, 0.002, 0.024], "now_contribution": 0.0}, {"site_id": "WXW00610", "company": "Wessex Water", "site_name": "WARMINSTER WEYMOUTH STREET R/O 23 IN PLEASURE GARDENS NEAR SWIMMING POOL", "receiving_watercourse": "RIVER WYLE VIA THE WERE (SWS)", "lat": 51.20288770516584, "lon": -2.182467232572547, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:17+00:00", "latest_event_start": "2026-08-29T13:50:00+00:00", "latest_event_end": "2026-08-29T14:01:00+00:00", "lta_spills": 69.66666412353516, "spill_hours": 55.016319274902344, "snap_confidence": "high", "distance_km": 41.2, "lake_distance_km": 0.0, "travel_h": 22.9, "weight": 0.006, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.088, 0.008, 0.215], "now_contribution": 0.0}], "guide": {"checked": "2026-10-03", "how": "desk", "facts": [{"topic": "parking", "text": "Parking for the gardens is pay and display, in Lush House car park.", "status": "confirmed", "source": "https://salisburycitycouncil.gov.uk/our-city/open-spaces/queen-elizabeth-gardens/", "source_name": "Salisbury City Council"}, {"topic": "parking", "text": "Wiltshire Council's Lush House car park (Cranebridge Road, SP2 7TD) has 77 spaces, a 2 m height limit and a 3-hour maximum stay with no return within 4 hours. Charges apply Monday to Saturday 7am to 7pm including bank holidays, and Sunday 10am to 4pm: \u00a32.00 up to 1 hour, \u00a33.60 up to 2 hours, \u00a35.90 up to 3 hours. The council's page does not mention the bathing site.", "status": "confirmed", "source": "https://www.wiltshire.gov.uk/parking-salisbury", "source_name": "Wiltshire Council"}, {"topic": "toilets", "text": "Queen Elizabeth Gardens has free public toilets, including disabled toilets and baby changing.", "status": "confirmed", "source": "https://salisburycitycouncil.gov.uk/our-city/open-spaces/queen-elizabeth-gardens/", "source_name": "Salisbury City Council"}, {"topic": "hours", "text": "The gardens are open day and night throughout the year.", "status": "confirmed", "source": "https://salisburycitycouncil.gov.uk/our-city/open-spaces/queen-elizabeth-gardens/", "source_name": "Salisbury City Council"}], "photos": []}, "algae": {"date": "2026-09-22", "level": 0, "phrase": "none seen", "result": "No material present", "n_checks": 20, "n_seen": 0, "n_objectionable": 0, "season": 2026}, "lab_sample": {"taken_at": "2026-09-22T10:52+01:00", "ecoli": 1400}, "classification": {"url": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukk1500-19002"}, "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 21, "sunrise": "07:14", "sunset": "18:36"}, {"date": "2026-10-06", "tmax": 20, "sunrise": "07:15", "sunset": "18:34"}, {"date": "2026-10-07", "tmax": 16, "sunrise": "07:17", "sunset": "18:31"}, {"date": "2026-10-08", "tmax": 14, "sunrise": "07:18", "sunset": "18:29"}, {"date": "2026-10-09", "tmax": 19, "sunrise": "07:20", "sunset": "18:27"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "bw-ukk2304-35201", "name": "River Tone at French Weir Park", "kind": "river", "river": "River Tone", "source": "designated", "notes": "Environment Agency designated bathing water", "lat": 51.01809, "lon": -3.11285, "query": {"lat": 51.01809, "lon": -3.11285, "issued_at": "2026-10-05T03:12:55.249303+01:00"}, "location": {"mode": "river", "watercourse": "River Tone", "snap_distance_m": 6, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "on river", "snapped": {"lat": 51.01811, "lon": -3.11293}}, "river_state": {"station": "Taunton Market", "river": "River Tone", "level_m": 0.816, "typical_low_m": 0.818, "typical_high_m": 1.77, "index": -0.0, "label": "low", "observed_at": "2026-10-05T01:30:00Z", "age_hours": 0.7, "stale": false, "rloi": "3364", "measure": "52111-level-stage-i-15_min-mASD", "distance_km": 0.9, "same_river": true, "rise_6h_m": -0.001, "rise_from": "2026-10-04T20:15:00Z", "rise_to": "2026-10-05T01:30:00Z"}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 37, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.006, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 1.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.193}, {"date": "2026-10-06", "risk": 0.006, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.005, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.126}, {"date": "2026-10-07", "risk": 0.039, "label": "low", "expected_spilling_overflows": 0.6, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.039, "rain_48h_mm": 1.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.272}, {"date": "2026-10-08", "risk": 0.042, "label": "low", "expected_spilling_overflows": 0.5, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.042, "rain_48h_mm": 1.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.308}, {"date": "2026-10-09", "risk": 0.193, "label": "moderate", "expected_spilling_overflows": 2.7, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.193, "source": {"site_id": "WXW00164", "site_name": "BRADFORD ON TONE INLET", "receiving_watercourse": "RIVER TONE", "status": 0, "distance_km": 6.6, "lake_distance_km": 0.0, "travel_h": 3.7, "share": 0.317, "spread_over": 14}, "rain_48h_mm": 6.6, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.55}], "upstream_summary": {"overflows": 38, "with_live_feed": 37, "without_live_feed": 1, "sum_weight": 4.06, "history_days": 2, "max_travel_h": 10.5}, "contributors": [{"site_id": "WXW00761", "company": "Wessex Water", "site_name": "TAUNTON MOUNTWAY BISHOPS HULL", "receiving_watercourse": "RIVER TONE", "lat": 51.01863282385705, "lon": -3.128406934082502, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:17+00:00", "latest_event_start": "2026-08-29T12:51:28+00:00", "latest_event_end": "2026-08-29T12:52:01+00:00", "lta_spills": 7.875, "spill_hours": 20.375720977783203, "snap_confidence": "high", "distance_km": 1.5, "lake_distance_km": 0.0, "travel_h": 0.8, "weight": 0.928, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.004, 0.004, 0.028], "now_contribution": 0.0}, {"site_id": "WXW00164", "company": "Wessex Water", "site_name": "BRADFORD ON TONE INLET", "receiving_watercourse": "RIVER TONE", "lat": 51.004872794454485, "lon": -3.1741078584852747, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:17+00:00", "latest_event_start": "2026-08-29T12:34:00+00:00", "latest_event_end": "2026-08-29T14:24:00+00:00", "lta_spills": 111.71428680419922, "spill_hours": 618.9325561523438, "snap_confidence": "high", "distance_km": 6.6, "lake_distance_km": 0.0, "travel_h": 3.7, "weight": 0.332, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.043, 0.035, 0.227], "now_contribution": 0.0}, {"site_id": "WXW00014", "company": "Wessex Water", "site_name": "BISHOPS HULL SHUTEMEAD", "receiving_watercourse": "TRIB OF RIVER TONE VIA SWS", "lat": 51.016702010991956, "lon": -3.139243851502708, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:17+00:00", "latest_event_start": "2026-01-27T04:21:00+00:00", "latest_event_end": "2026-01-27T10:56:00+00:00", "lta_spills": 5.400000095367432, "spill_hours": 1.850000023841858, "snap_confidence": "high", "distance_km": 2.2, "lake_distance_km": 0.0, "travel_h": 1.2, "weight": 0.629, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.002, 0.003, 0.011], "now_contribution": 0.0}, {"site_id": "WXW01144", "company": "Wessex Water", "site_name": "BRADFORD ON TONE TONE GREEN", "receiving_watercourse": "RIVER TONE", "lat": 51.00045712892085, "lon": -3.1815135942339188, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:17+00:00", "latest_event_start": "2026-01-27T05:38:00+00:00", "latest_event_end": "2026-01-30T18:05:00+00:00", "lta_spills": 11.5, "spill_hours": 195.5834197998047, "snap_confidence": "high", "distance_km": 7.4, "lake_distance_km": 0.0, "travel_h": 4.1, "weight": 0.321, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.014, 0.011, 0.081], "now_contribution": 0.0}, {"site_id": "WSX10115", "company": "Wessex Water", "site_name": null, "receiving_watercourse": "TRIB OF RIVER TONE", "lat": 50.99043093325872, "lon": -3.2161633992630243, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:17+00:00", "latest_event_start": null, "latest_event_end": null, "lta_spills": null, "spill_hours": null, "snap_confidence": "high", "distance_km": 11.1, "lake_distance_km": 0.0, "travel_h": 6.2, "weight": 0.215, "p_spill_today": 0.001, "p_spill_tomorrow": 0.002, "p_spill_days": [0.001, 0.002, 0.009, 0.009, 0.053], "now_contribution": 0.0}, {"site_id": "WXW01204", "company": "Wessex Water", "site_name": "WELLINGTON TONE STORM TANK", "receiving_watercourse": "TRIBUTARY OF RIVER TONE", "lat": 50.99070103975883, "lon": -3.240124575213674, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:17+00:00", "latest_event_start": "2026-08-29T12:38:00+00:00", "latest_event_end": "2026-08-29T14:00:00+00:00", "lta_spills": 40.66666793823242, "spill_hours": 222.73355102539062, "snap_confidence": "high", "distance_km": 13.6, "lake_distance_km": 0.0, "travel_h": 7.5, "weight": 0.194, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.026, 0.023, 0.096], "now_contribution": 0.0}, {"site_id": "WXW01054", "company": "Wessex Water", "site_name": "WELLINGTON RELYON FACTORY ENTRANCE", "receiving_watercourse": "RIVER TONE VIA SWS", "lat": 50.98959853473092, "lon": -3.2396538466526, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:17+00:00", "latest_event_start": "2026-08-29T12:26:00+00:00", "latest_event_end": "2026-08-29T12:34:00+00:00", "lta_spills": 2.0, "spill_hours": 0.2332800030708313, "snap_confidence": "high", "distance_km": 13.6, "lake_distance_km": 0.0, "travel_h": 7.6, "weight": 0.194, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.004, 0.004, 0.014], "now_contribution": 0.0}, {"site_id": "WSX10070", "company": "Wessex Water", "site_name": null, "receiving_watercourse": "River Tone", "lat": 50.98993732065718, "lon": -3.2459295827086168, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:17+00:00", "latest_event_start": null, "latest_event_end": null, "lta_spills": null, "spill_hours": null, "snap_confidence": "high", "distance_km": 14.0, "lake_distance_km": 0.0, "travel_h": 7.8, "weight": 0.19, "p_spill_today": 0.001, "p_spill_tomorrow": 0.002, "p_spill_days": [0.001, 0.002, 0.009, 0.009, 0.053], "now_contribution": 0.0}, {"site_id": "WSX10122", "company": "Wessex Water", "site_name": null, "receiving_watercourse": "HALSE WATER", "lat": 51.026665946593006, "lon": -3.1546547077795224, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:17+00:00", "latest_event_start": "2026-01-27T22:53:00+00:00", "latest_event_end": "2026-01-27T22:54:00+00:00", "lta_spills": null, "spill_hours": null, "snap_confidence": "high", "distance_km": 3.8, "lake_distance_km": 0.0, "travel_h": 2.1, "weight": 0.132, "p_spill_today": 0.001, "p_spill_tomorrow": 0.002, "p_spill_days": [0.001, 0.002, 0.009, 0.009, 0.053], "now_contribution": 0.0}, {"site_id": "WSX10048", "company": "Wessex Water", "site_name": null, "receiving_watercourse": "HILLFARRANCE BROOK", "lat": 51.01391764609752, "lon": -3.1884090037990656, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:17+00:00", "latest_event_start": "2026-06-22T16:08:59+00:00", "latest_event_end": "2026-06-22T16:22:59+00:00", "lta_spills": null, "spill_hours": null, "snap_confidence": "high", "distance_km": 7.2, "lake_distance_km": 0.0, "travel_h": 4.0, "weight": 0.127, "p_spill_today": 0.001, "p_spill_tomorrow": 0.002, "p_spill_days": [0.001, 0.002, 0.009, 0.009, 0.053], "now_contribution": 0.0}], "guide": {"checked": "2026-10-03", "how": "desk", "facts": [{"topic": "parking", "text": "There is only limited on-street parking, at Clarence Street.", "status": "confirmed", "source": "https://www.taunton-tc.gov.uk/french-weir-park/", "source_name": "Taunton Town Council"}, {"topic": "path", "text": "The park can be reached from Clarence Street and French Weir Avenue, or by footbridges from Longrun Meadow and Marshelsea Walk.", "status": "confirmed", "source": "https://www.taunton-tc.gov.uk/french-weir-park/", "source_name": "Taunton Town Council"}, {"topic": "entry", "text": "Swimmers get into the river by the river steps.", "status": "confirmed", "source": "https://www.taunton-tc.gov.uk/french-weir-park/", "source_name": "Taunton Town Council"}, {"topic": "toilets", "text": "The park has a public toilet.", "status": "confirmed", "source": "https://www.taunton-tc.gov.uk/french-weir-park/", "source_name": "Taunton Town Council"}, {"topic": "toilets", "text": "Taunton Town Council lists French Weir Toilets as open 9am to 4pm. It says its toilet times are approximate and subject to change.", "status": "confirmed", "source": "https://www.taunton-tc.gov.uk/taunton-services/town-council-services/public-toilets/", "source_name": "Taunton Town Council"}, {"topic": "hours", "text": "COACH may shut its gates at set times, with notice given and the times clearly displayed. The council asks swimmers to speak with officials on site to keep using the river.", "status": "confirmed", "source": "https://www.taunton-tc.gov.uk/french-weir-park/", "source_name": "Taunton Town Council"}, {"topic": "hours", "text": "French Weir Park is open all day, all year round.", "status": "confirmed", "source": "https://www.somerset.gov.uk/locations/french-weir-park/", "source_name": "Somerset Council"}, {"topic": "rules", "text": "The designated bathing stretch is the part of the river above the weir, mainly behind the COACH building.", "status": "confirmed", "source": "https://www.taunton-tc.gov.uk/french-weir-park/", "source_name": "Taunton Town Council"}], "photos": []}, "algae": {"date": "2026-09-14", "level": 0, "phrase": "none seen", "result": "No material present", "n_checks": 17, "n_seen": 0, "n_objectionable": 0, "season": 2026}, "lab_sample": {"taken_at": "2026-09-14T13:26+01:00", "ecoli": 550}, "classification": {"class": "poor", "year": 2025, "history": [[2025, "poor"], [2024, "poor"]], "url": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukk2304-35201"}, "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 21, "sunrise": "07:19", "sunset": "18:41"}, {"date": "2026-10-06", "tmax": 20, "sunrise": "07:20", "sunset": "18:39"}, {"date": "2026-10-07", "tmax": 16, "sunrise": "07:22", "sunset": "18:37"}, {"date": "2026-10-08", "tmax": 14, "sunrise": "07:24", "sunset": "18:34"}, {"date": "2026-10-09", "tmax": 18, "sunrise": "07:25", "sunset": "18:32"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "bw-ukk1100-36050", "name": "Henleaze Lake", "kind": "lake", "river": null, "source": "designated", "notes": "Environment Agency designated bathing water", "lat": 51.49462, "lon": -2.60571, "query": {"lat": 51.49462, "lon": -2.60571, "issued_at": "2026-10-05T03:12:55.624381+01:00"}, "location": {"mode": "isolated", "watercourse": null, "snap_distance_m": null, "form": null, "lake_area_km2": null, "lake_source": "none", "adopted_main_channel": false, "placement": null}, "river_state": {"station": "Filton Southmead Road", "river": "River Trym", "level_m": 0.012, "typical_low_m": 0.005, "typical_high_m": 0.5, "index": 0.01, "label": "low", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "9494", "measure": "E255-level-stage-i-15_min-mASD", "distance_km": 1.7, "same_river": null}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast"}, "error": "An isolated lake with no river connection in the network: storm overflows cannot reach it by water, so the forecast has nothing to say about it. Risk from wildlife, runoff and bathers is not modelled.", "now": {"risk": 0.0, "label": "unknown"}, "days": [], "contributors": [], "guide": {"checked": "2026-10-03", "how": "desk", "facts": [{"topic": "parking", "text": "No car park. A few spaces in the grounds for Blue Badge holders and people with a temporary access need.", "status": "confirmed", "source": "https://www.henleazeswimmingclub.org/swimming/facilities/", "source_name": "Henleaze Swimming Club"}, {"topic": "parking", "text": "Members with mobility issues reserve a space by phoning the lake during swimming hours, 0117 962 0696.", "status": "confirmed", "source": "https://www.henleazeswimmingclub.org/find-us/", "source_name": "Henleaze Swimming Club"}, {"topic": "path", "text": "Henleaze Lake, Lake Road, Henleaze, Bristol BS10 5HG. Buses 2, 2a, 10 and 11 stop at Lake Road (Southmead Road), under two minutes away. Cyclists dismount at the top of the drive.", "status": "confirmed", "source": "https://www.henleazeswimmingclub.org/find-us/", "source_name": "Henleaze Swimming Club"}, {"topic": "entry", "text": "Into the water only by the steps, the diving platform, the diving boards and the pontoon. No jumping or diving from the lake's edge, and no entry anywhere else.", "status": "confirmed", "source": "https://www.henleazeswimmingclub.org/media/1603/health-safety-leaflet-2026.pdf", "source_name": "Henleaze Swimming Club"}, {"topic": "entry", "text": "The pontoons and diving boards are at the southern end of the lake.", "status": "confirmed", "source": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukk1100-36050", "source_name": "Environment Agency bathing water profile"}, {"topic": "toilets", "text": "Toilets and a shower block, with an accessible toilet and shower.", "status": "confirmed", "source": "https://www.henleazeswimmingclub.org/swimming/facilities/", "source_name": "Henleaze Swimming Club"}, {"topic": "changing", "text": "Communal changing and cubicles for women (left) and men (right), and some gender-neutral cubicles. Two showers, and a sauna for over-18s.", "status": "confirmed", "source": "https://www.henleazeswimmingclub.org/swimming/facilities/", "source_name": "Henleaze Swimming Club"}, {"topic": "fees", "text": "A guest swim costs \u00a38 for adults, \u00a35 for juniors, students and over-66s. There is no space for new Community Access users at present.", "status": "confirmed", "source": "https://www.henleazeswimmingclub.org/swimming/swimming-membership/", "source_name": "Henleaze Swimming Club"}, {"topic": "fees", "text": "Every guest must be booked ahead and pay by card over the phone; no cash.", "status": "confirmed", "source": "https://www.henleazeswimmingclub.org/media/1603/health-safety-leaflet-2026.pdf", "source_name": "Henleaze Swimming Club"}, {"topic": "hours", "text": "Summer 2026 season from 2 May to the end of October, with shorter hours through October. Every session must be booked; last entry 30 minutes before it ends. In winter 2026 to 2027 it opens on Wednesdays, Fridays and weekends, times to be confirmed.", "status": "confirmed", "source": "https://www.henleazeswimmingclub.org/swimming/swimming-opening-times-2026/", "source_name": "Henleaze Swimming Club"}, {"topic": "rules", "text": "Open to members and their guests only. Members must pass a 50-metre swim test. Adult members may bring up to two guests.", "status": "confirmed", "source": "https://www.henleazeswimmingclub.org/swimming/swimming-membership/", "source_name": "Henleaze Swimming Club"}, {"topic": "rules", "text": "Junior guests take a 50-metre swim test on their first visit each year.", "status": "confirmed", "source": "https://www.henleazeswimmingclub.org/media/1604/hsc-guest-info-sheet-2026.pdf", "source_name": "Henleaze Swimming Club"}, {"topic": "rules", "text": "Under-13s must have an adult with them at all times. Lifeguards hold a pool or open-water lifesaving qualification.", "status": "confirmed", "source": "https://www.henleazeswimmingclub.org/media/1603/health-safety-leaflet-2026.pdf", "source_name": "Henleaze Swimming Club"}, {"topic": "rules", "text": "Winter swimming is for adult members and Community Access users who have passed the test and paid the winter subscription.", "status": "confirmed", "source": "https://www.henleazeswimmingclub.org/swimming/swimming-opening-times-2026/", "source_name": "Henleaze Swimming Club"}], "photos": []}, "algae": {"date": "2026-09-15", "level": 0, "phrase": "none seen", "result": "No material present", "n_checks": 19, "n_seen": 0, "n_objectionable": 0, "season": 2026}, "lab_sample": {"taken_at": "2026-09-15T12:23+01:00", "ecoli": 190}, "classification": {"class": "excellent", "year": 2025, "history": [[2025, "excellent"], [2024, "good"], [2023, "good"], [2022, "good"], [2021, "good"], [2019, "good"], [2018, "good"], [2017, "good"], [2016, "good"], [2015, "good"], [2014, "sufficient"]], "url": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukk1100-36050"}, "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 19, "sunrise": "07:17", "sunset": "18:39"}, {"date": "2026-10-06", "tmax": 20, "sunrise": "07:19", "sunset": "18:36"}, {"date": "2026-10-07", "tmax": 15, "sunrise": "07:20", "sunset": "18:34"}, {"date": "2026-10-08", "tmax": 14, "sunrise": "07:22", "sunset": "18:32"}, {"date": "2026-10-09", "tmax": 18, "sunrise": "07:24", "sunset": "18:30"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "bw-ukk2301-36051", "name": "River Frome at Farleigh Hungerford", "kind": "river", "river": "River Frome", "source": "designated", "notes": "Environment Agency designated bathing water", "lat": 51.31791, "lon": -2.28093, "query": {"lat": 51.31791, "lon": -2.28093, "issued_at": "2026-10-05T03:12:55.644196+01:00"}, "location": {"mode": "river", "watercourse": "River Frome", "snap_distance_m": 8, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "on river", "snapped": {"lat": 51.31785, "lon": -2.28086}}, "river_state": {"station": "Tellisford", "river": "Somerset Frome", "level_m": 0.505, "typical_low_m": 0.542, "typical_high_m": 3.2, "index": -0.01, "label": "low", "observed_at": "2026-10-05T01:30:00Z", "age_hours": 0.7, "stale": false, "rloi": "3049", "measure": "53120-level-stage-i-15_min-mASD", "distance_km": 1.2, "same_river": true, "rise_6h_m": -0.006, "rise_from": "2026-10-04T20:15:00Z", "rise_to": "2026-10-05T01:30:00Z"}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 36, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.009, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.138}, {"date": "2026-10-06", "risk": 0.01, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.007, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.14}, {"date": "2026-10-07", "risk": 0.107, "label": "low", "expected_spilling_overflows": 0.9, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.107, "rain_48h_mm": 2.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.385}, {"date": "2026-10-08", "risk": 0.063, "label": "low", "expected_spilling_overflows": 0.2, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.063, "rain_48h_mm": 2.4, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.403}, {"date": "2026-10-09", "risk": 0.424, "label": "high", "expected_spilling_overflows": 4.6, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.424, "source": {"site_id": "WXW00936", "site_name": "RODE STORM TANK", "receiving_watercourse": "SOMERSET FROME(S)", "status": 0, "distance_km": 4.9, "lake_distance_km": 0.0, "travel_h": 2.7, "share": 0.327, "spread_over": 13}, "rain_48h_mm": 11.3, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.687}], "upstream_summary": {"overflows": 38, "with_live_feed": 36, "without_live_feed": 2, "sum_weight": 5.866, "history_days": 2, "max_travel_h": 17.6}, "contributors": [{"site_id": "WXW00936", "company": "Wessex Water", "site_name": "RODE STORM TANK", "receiving_watercourse": "SOMERSET FROME(S)", "lat": 51.28973628656941, "lon": -2.282538828925128, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:17+00:00", "latest_event_start": "2026-08-29T14:04:00+00:00", "latest_event_end": "2026-08-29T15:10:00+00:00", "lta_spills": 65.85713958740234, "spill_hours": 522.283447265625, "snap_confidence": "high", "distance_km": 4.9, "lake_distance_km": 0.0, "travel_h": 2.7, "weight": 0.764, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.051, 0.009, 0.243], "now_contribution": 0.0}, {"site_id": "WXW00120", "company": "Wessex Water", "site_name": "BECKINGTON STORM TANK", "receiving_watercourse": "RIVER FROME", "lat": 51.26658909645268, "lon": -2.293428501270845, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:17+00:00", "latest_event_start": "2026-02-18T21:55:00+00:00", "latest_event_end": "2026-02-18T21:56:00+00:00", "lta_spills": 31.33333396911621, "spill_hours": 131.5999755859375, "snap_confidence": "high", "distance_km": 8.6, "lake_distance_km": 0.0, "travel_h": 4.8, "weight": 0.621, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.036, 0.009, 0.165], "now_contribution": 0.0}, {"site_id": "WXW00935", "company": "Wessex Water", "site_name": "RODE BARROW FARM TANK", "receiving_watercourse": "TRIB OF THE RIVER FROME", "lat": 51.286514392967895, "lon": -2.284382684617836, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:17+00:00", "latest_event_start": "2025-12-18T15:50:00+00:00", "latest_event_end": "2025-12-18T15:52:00+00:00", "lta_spills": 4.0, "spill_hours": 7.066693305969238, "snap_confidence": "high", "distance_km": 5.3, "lake_distance_km": 0.0, "travel_h": 2.9, "weight": 0.751, "p_spill_today": 0.001, "p_spill_tomorrow": 0.002, "p_spill_days": [0.001, 0.002, 0.017, 0.005, 0.109], "now_contribution": 0.0}, {"site_id": "WXW00062", "company": "Wessex Water", "site_name": "FROME ADDERWELL CLOSE", "receiving_watercourse": "RIVER FROME (VIA SWS)", "lat": 51.22335859765987, "lon": -2.312891623999638, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:17+00:00", "latest_event_start": "2026-08-31T02:50:00+00:00", "latest_event_end": "2026-08-31T03:10:00+00:00", "lta_spills": 63.0, "spill_hours": 106.76482391357422, "snap_confidence": "high", "distance_km": 17.4, "lake_distance_km": 0.0, "travel_h": 9.7, "weight": 0.151, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.083, 0.011, 0.226], "now_contribution": 0.0}, {"site_id": "WXW00654", "company": "Wessex Water", "site_name": "FROME LOWER KEYFORD", "receiving_watercourse": "TRIB OF RIVER FROME (VIA SWS)", "lat": 51.22248074285668, "lon": -2.3203562382422147, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:17+00:00", "latest_event_start": "2026-08-31T02:58:00+00:00", "latest_event_end": "2026-08-31T03:06:00+00:00", "lta_spills": 61.57143020629883, "spill_hours": 81.19845581054688, "snap_confidence": "high", "distance_km": 17.5, "lake_distance_km": 0.0, "travel_h": 9.7, "weight": 0.15, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.075, 0.008, 0.222], "now_contribution": 0.0}, {"site_id": "WXW01245", "company": "Wessex Water", "site_name": "FROME WHATCOMBE ROAD NO 20", "receiving_watercourse": "RIVER FROME VIA SWS", "lat": 51.23627957291062, "lon": -2.3262001094499616, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:17+00:00", "latest_event_start": "2026-08-31T02:44:00+00:00", "latest_event_end": "2026-08-31T02:48:00+00:00", "lta_spills": 38.0, "spill_hours": 10.232613563537598, "snap_confidence": "high", "distance_km": 14.2, "lake_distance_km": 0.0, "travel_h": 7.9, "weight": 0.233, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.037, 0.01, 0.133], "now_contribution": 0.0}, {"site_id": "WXW00454", "company": "Wessex Water", "site_name": "FROME WELSHMILL LANE STORM TANKS STORM TANK", "receiving_watercourse": "RIVER FROME(S)", "lat": 51.236672874520295, "lon": -2.325772866343715, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:17+00:00", "latest_event_start": "2026-08-29T14:12:00+00:00", "latest_event_end": "2026-08-29T15:02:00+00:00", "lta_spills": 27.0, "spill_hours": 60.09965515136719, "snap_confidence": "high", "distance_km": 14.3, "lake_distance_km": 0.0, "travel_h": 7.9, "weight": 0.232, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.036, 0.007, 0.132], "now_contribution": 0.0}, {"site_id": "WXW01297", "company": "Wessex Water", "site_name": "FROME FARRANT ROAD NEAR YOUTH CENTRE", "receiving_watercourse": "RIVER FROME", "lat": 51.237257527148465, "lon": -2.3287540305315617, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:17+00:00", "latest_event_start": "2026-08-29T13:54:00+00:00", "latest_event_end": "2026-08-29T14:14:00+00:00", "lta_spills": 36.57143020629883, "spill_hours": 6.833653450012207, "snap_confidence": "high", "distance_km": 14.0, "lake_distance_km": 0.0, "travel_h": 7.8, "weight": 0.235, "p_spill_today": 0.001, "p_spill_tomorrow": 0.002, "p_spill_days": [0.001, 0.002, 0.035, 0.005, 0.125], "now_contribution": 0.0}, {"site_id": "WXW00333", "company": "Wessex Water", "site_name": "FROME COURT HOUSE KING STREET", "receiving_watercourse": "RIVER FROME", "lat": 51.23151658696091, "lon": -2.318690206828017, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:17+00:00", "latest_event_start": "2026-08-29T14:00:00+00:00", "latest_event_end": "2026-08-29T14:12:00+00:00", "lta_spills": 28.14285659790039, "spill_hours": 5.566080093383789, "snap_confidence": "high", "distance_km": 15.3, "lake_distance_km": 0.0, "travel_h": 8.5, "weight": 0.222, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.021, 0.007, 0.116], "now_contribution": 0.0}, {"site_id": "WXW01335", "company": "Wessex Water", "site_name": "FROME WELSHMILL LANE INLET 2", "receiving_watercourse": "RIVER FROME(S)", "lat": 51.23675881049178, "lon": -2.3252438000145874, "status": -2, "has_live": false, "data_state": "offline", "feed_updated_at": null, "latest_event_start": null, "latest_event_end": null, "lta_spills": 0.0, "spill_hours": 0.0, "snap_confidence": "high", "distance_km": 14.3, "lake_distance_km": 0.0, "travel_h": 7.9, "weight": 0.232, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.004, 0.002, 0.021], "now_contribution": 0.0}], "guide": {"checked": "2026-10-03", "how": "desk", "facts": [{"topic": "parking", "text": "The club has a car park.", "status": "confirmed", "source": "https://www.farleighswimming.co.uk/", "source_name": "Farleigh and District Swimming Club"}, {"topic": "entry", "text": "The river is about 2.4 m (8 ft) deep, but you can walk in from above the weir, which is slippery. There are two ladders.", "status": "confirmed", "source": "https://www.farleighswimming.co.uk/safety-and-club-rules", "source_name": "Farleigh and District Swimming Club"}, {"topic": "entry", "text": "Before jumping in, the club says it is safest to enter first by the steps at the weir or either of the steps on the bank, to check the depth and look for obstructions.", "status": "confirmed", "source": "https://www.farleighswimming.co.uk/safety-and-club-rules", "source_name": "Farleigh and District Swimming Club"}, {"topic": "toilets", "text": "The club has a toilet.", "status": "confirmed", "source": "https://www.farleighswimming.co.uk/", "source_name": "Farleigh and District Swimming Club"}, {"topic": "changing", "text": "The club has a changing hut.", "status": "confirmed", "source": "https://www.farleighswimming.co.uk/", "source_name": "Farleigh and District Swimming Club"}, {"topic": "fees", "text": "Membership is annual only. There is no day or junior membership.", "status": "confirmed", "source": "https://www.farleighswimming.co.uk/", "source_name": "Farleigh and District Swimming Club"}, {"topic": "fees", "text": "You can join at Stowford Manor Farm, 800 yards up the A366 towards Trowbridge, between 2pm and 6pm, from Easter until the end of September.", "status": "confirmed", "source": "https://www.farleighswimming.co.uk/services", "source_name": "Farleigh and District Swimming Club"}, {"topic": "fees", "text": "You can also join in person from a club membership collector on site; collectors are usually only on duty on warm sunny days.", "status": "confirmed", "source": "https://www.farleighswimming.co.uk/services", "source_name": "Farleigh and District Swimming Club"}, {"topic": "hours", "text": "The club is open from 1 May to 30 September, and the season may be extended in warm weather.", "status": "confirmed", "source": "https://www.farleighswimming.co.uk/", "source_name": "Farleigh and District Swimming Club"}, {"topic": "rules", "text": "The site is open from May to September to members of Farleigh & District Swimming Club only.", "status": "confirmed", "source": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukk2301-36051", "source_name": "Environment Agency bathing water profile"}, {"topic": "rules", "text": "There are no lifeguards. Members are responsible for their own safety and the safety of others.", "status": "confirmed", "source": "https://www.farleighswimming.co.uk/safety-and-club-rules", "source_name": "Farleigh and District Swimming Club"}, {"topic": "rules", "text": "Children must be supervised by a responsible adult at all times.", "status": "confirmed", "source": "https://www.farleighswimming.co.uk/safety-and-club-rules", "source_name": "Farleigh and District Swimming Club"}, {"topic": "rules", "text": "Swimming is allowed only above the weir, as far as the club field extends. Landing on the opposite bank or the island is not allowed.", "status": "confirmed", "source": "https://www.farleighswimming.co.uk/safety-and-club-rules", "source_name": "Farleigh and District Swimming Club"}, {"topic": "rules", "text": "Dogs, paddle-boards, paddled craft, camping, BBQs, fires and fishing are not allowed.", "status": "confirmed", "source": "https://www.farleighswimming.co.uk/safety-and-club-rules", "source_name": "Farleigh and District Swimming Club"}, {"topic": "rules", "text": "Diving is not allowed, and the club asks people not to jump off trees or go in the river below the weir, where there are rocks and debris.", "status": "confirmed", "source": "https://www.farleighswimming.co.uk/safety-and-club-rules", "source_name": "Farleigh and District Swimming Club"}], "photos": []}, "algae": {"date": "2026-09-15", "level": 0, "phrase": "none seen", "result": "No material present", "n_checks": 17, "n_seen": 0, "n_objectionable": 0, "season": 2026}, "lab_sample": {"taken_at": "2026-09-15T14:42+01:00", "ecoli": 340}, "classification": {"class": "poor", "year": 2025, "history": [[2025, "poor"], [2024, "poor"]], "url": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukk2301-36051"}, "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 20, "sunrise": "07:16", "sunset": "18:37"}, {"date": "2026-10-06", "tmax": 20, "sunrise": "07:17", "sunset": "18:35"}, {"date": "2026-10-07", "tmax": 15, "sunrise": "07:19", "sunset": "18:33"}, {"date": "2026-10-08", "tmax": 14, "sunrise": "07:20", "sunset": "18:31"}, {"date": "2026-10-09", "tmax": 18, "sunrise": "07:22", "sunset": "18:29"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "bw-ukg2200-36060", "name": "River Teme in Ludlow", "kind": "river", "river": "River Teme", "source": "designated", "notes": "Environment Agency designated bathing water", "lat": 52.36643, "lon": -2.72537, "query": {"lat": 52.36643, "lon": -2.72537, "issued_at": "2026-10-05T03:12:56.018186+01:00"}, "location": {"mode": "river", "watercourse": "River Teme", "snap_distance_m": 20, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "on river", "snapped": {"lat": 52.3664, "lon": -2.72567}}, "river_state": {"station": "Ludlow Teme", "river": "River Teme", "level_m": 0.885, "typical_low_m": 0.856, "typical_high_m": 3.0, "index": 0.01, "label": "low", "observed_at": "2026-10-05T01:30:00Z", "age_hours": 0.7, "stale": false, "rloi": "2086", "measure": "2625-level-stage-i-15_min-mASD", "distance_km": 1.3, "same_river": true, "rise_6h_m": 0.0, "rise_from": "2026-10-04T20:15:00Z", "rise_to": "2026-10-05T01:30:00Z"}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 10, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.002, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.088}, {"date": "2026-10-06", "risk": 0.002, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.001, "rain_48h_mm": 0.1, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.092}, {"date": "2026-10-07", "risk": 0.022, "label": "low", "expected_spilling_overflows": 1.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.022, "rain_48h_mm": 5.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.356}, {"date": "2026-10-08", "risk": 0.019, "label": "low", "expected_spilling_overflows": 0.2, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.019, "rain_48h_mm": 4.8, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.424}, {"date": "2026-10-09", "risk": 0.033, "label": "low", "expected_spilling_overflows": 1.2, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.033, "rain_48h_mm": 6.3, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.409}], "upstream_summary": {"overflows": 11, "with_live_feed": 10, "without_live_feed": 1, "sum_weight": 0.881, "history_days": 3, "max_travel_h": 26.1}, "contributors": [{"site_id": "SVT02473", "company": "Severn Trent Water", "site_name": "LEINTWARDINE - WATLING STREET (B) (CSO)", "receiving_watercourse": "RIVER TEME", "lat": 52.35865436, "lon": -2.87383722, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:03:36+00:00", "latest_event_start": "2026-09-30T05:04:21+00:00", "latest_event_end": "2026-09-30T05:37:07+00:00", "lta_spills": 14.289999961853027, "spill_hours": 114.53778076171875, "snap_confidence": "high", "distance_km": 20.5, "lake_distance_km": 0.0, "travel_h": 11.4, "weight": 0.197, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.045, 0.004, 0.077], "now_contribution": 0.0}, {"site_id": "SVT01125", "company": "Severn Trent Water", "site_name": "LEINTWARDINE - HIGH STREET (A) (CSO)", "receiving_watercourse": "RIVER TEME", "lat": 52.35927823, "lon": -2.87578787, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:03:36+00:00", "latest_event_start": "2026-09-30T05:06:45+00:00", "latest_event_end": "2026-09-30T06:00:59+00:00", "lta_spills": 12.140000343322754, "spill_hours": 89.08055877685547, "snap_confidence": "high", "distance_km": 20.6, "lake_distance_km": 0.0, "travel_h": 11.5, "weight": 0.196, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.039, 0.005, 0.06], "now_contribution": 0.0}, {"site_id": "SVT02206", "company": "Severn Trent Water", "site_name": "CRAVEN ARMS - OLD SCHOOL (CSO)", "receiving_watercourse": "RIVER ONNY", "lat": 52.43126509, "lon": -2.82823604, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:03:36+00:00", "latest_event_start": "2026-08-27T17:24:33+00:00", "latest_event_end": "2026-08-27T18:23:50+00:00", "lta_spills": 35.20000076293945, "spill_hours": 34.022499084472656, "snap_confidence": "high", "distance_km": 14.0, "lake_distance_km": 0.0, "travel_h": 7.8, "weight": 0.15, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.082, 0.01, 0.112], "now_contribution": 0.0}, {"site_id": "SVT01442", "company": "Severn Trent Water", "site_name": "LUDLOW - THE LINNEY (CSO)", "receiving_watercourse": "RIVER CORVE", "lat": 52.37180387, "lon": -2.72558179, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:03:36+00:00", "latest_event_start": "2026-06-01T18:11:20+00:00", "latest_event_end": "2026-06-01T18:58:32+00:00", "lta_spills": 5.710000038146973, "spill_hours": 0.0811111107468605, "snap_confidence": "high", "distance_km": 0.8, "lake_distance_km": 0.0, "travel_h": 0.4, "weight": 0.154, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.009, 0.003, 0.011], "now_contribution": 0.0}, {"site_id": "SVT01440", "company": "Severn Trent Water", "site_name": "LUDLOW - FISHMORE VIEW (CSO)", "receiving_watercourse": "RIVER CORVE", "lat": 52.37685153, "lon": -2.72197735, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:03:36+00:00", "latest_event_start": "2026-03-24T11:33:34+00:00", "latest_event_end": "2026-03-24T11:36:19+00:00", "lta_spills": 0.0, "spill_hours": 0.0, "snap_confidence": "high", "distance_km": 1.8, "lake_distance_km": 0.0, "travel_h": 1.0, "weight": 0.148, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.01, 0.003, 0.014], "now_contribution": 0.0}, {"site_id": "SVT00558", "company": "Severn Trent Water", "site_name": "CHURCH STRETTON STW (SSTO)", "receiving_watercourse": "TRIB OF QUINNY BROOK", "lat": 52.51238346, "lon": -2.82570861, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:03:36+00:00", "latest_event_start": "2026-09-17T04:21:30+00:00", "latest_event_end": "2026-09-17T04:22:00+00:00", "lta_spills": 163.25, "spill_hours": 3256.623291015625, "snap_confidence": "high", "distance_km": 25.7, "lake_distance_km": 0.0, "travel_h": 14.3, "weight": 0.008, "p_spill_today": 0.048, "p_spill_tomorrow": 0.035, "p_spill_days": [0.048, 0.035, 0.364, 0.128, 0.362], "now_contribution": 0.0}, {"site_id": "SVT00400", "company": "Severn Trent Water", "site_name": "BUCKNELL (SSO)", "receiving_watercourse": "RIVER REDLAKE", "lat": 52.35908303, "lon": -2.94318516, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:03:36+00:00", "latest_event_start": "2026-05-07T13:59:02+00:00", "latest_event_end": "2026-05-07T14:02:56+00:00", "lta_spills": 20.600000381469727, "spill_hours": 80.05194091796875, "snap_confidence": "high", "distance_km": 27.3, "lake_distance_km": 0.0, "travel_h": 15.2, "weight": 0.011, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.045, 0.004, 0.074], "now_contribution": 0.0}, {"site_id": "SVT01929", "company": "Severn Trent Water", "site_name": "RUSHBURY (STW)", "receiving_watercourse": "LAKEHOUSE BROOK", "lat": 52.52082757, "lon": -2.71636297, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:03:36+00:00", "latest_event_start": "2025-08-02T08:58:23+00:00", "latest_event_end": "2025-08-02T09:03:10+00:00", "lta_spills": 60.0, "spill_hours": 63.40361022949219, "snap_confidence": "high", "distance_km": 31.4, "lake_distance_km": 0.0, "travel_h": 17.5, "weight": 0.006, "p_spill_today": 0.008, "p_spill_tomorrow": 0.002, "p_spill_days": [0.008, 0.002, 0.158, 0.015, 0.152], "now_contribution": 0.0}, {"site_id": "SVT02699", "company": "Severn Trent Water", "site_name": "CHURCH STRETTON (STW)", "receiving_watercourse": "TRIB OF QUINNY BROOK", "lat": 52.51238346, "lon": -2.82570861, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:03:36+00:00", "latest_event_start": "2026-03-25T11:59:12+00:00", "latest_event_end": "2026-03-25T12:05:00+00:00", "lta_spills": 35.0, "spill_hours": 178.08721923828125, "snap_confidence": "high", "distance_km": 25.7, "lake_distance_km": 0.0, "travel_h": 14.3, "weight": 0.008, "p_spill_today": 0.004, "p_spill_tomorrow": 0.002, "p_spill_days": [0.004, 0.002, 0.075, 0.011, 0.096], "now_contribution": 0.0}, {"site_id": "SVT00278", "company": "Severn Trent Water", "site_name": "BISHOPS CASTLE - UNION STREET (CSO)", "receiving_watercourse": "TRIBUTARY OF RIVER KEMP", "lat": 52.48988608658999, "lon": -2.9944809509487427, "status": -2, "has_live": false, "data_state": "offline", "feed_updated_at": null, "latest_event_start": null, "latest_event_end": null, "lta_spills": 87.5, "spill_hours": 375.7311096191406, "snap_confidence": "high", "distance_km": 47.0, "lake_distance_km": 0.0, "travel_h": 26.1, "weight": 0.001, "p_spill_today": 0.004, "p_spill_tomorrow": 0.002, "p_spill_days": [0.004, 0.002, 0.216, 0.016, 0.243], "now_contribution": 0.0}], "guide": {"checked": "2026-10-03", "how": "desk", "facts": [{"topic": "parking", "text": "The Linney Riverside Park car park is open seven days a week and costs \u00a32 for all-day parking. Entry to the park is free. The council's page does not mention the bathing site.", "status": "confirmed", "source": "https://www.ludlow.gov.uk/your-council/services-we-provide/amenity-areas", "source_name": "Ludlow Town Council"}, {"topic": "entry", "text": "Access to the swimming area is via Ludlow Mill beach, just upstream of Dinham Bridge.", "status": "confirmed", "source": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukg2200-36060", "source_name": "Environment Agency bathing water profile"}, {"topic": "toilets", "text": "The Linney Riverside Park toilets (The Linney, SY8 1EG) have male, female and disabled toilets and are open 8am to 5pm. The council's page does not mention the bathing site.", "status": "confirmed", "source": "https://www.ludlow.gov.uk/your-council/services-we-provide", "source_name": "Ludlow Town Council"}, {"topic": "rules", "text": "The bathing stretch runs from the Linney boating pontoon just over 200 m downstream to Ludlow Mill beach, and crosses Ludford Mill weir.", "status": "confirmed", "source": "https://www.ludlow.gov.uk/visit-ludlow/river-teme-ludlow", "source_name": "Ludlow Town Council"}], "photos": []}, "algae": {"date": "2026-09-22", "level": 0, "phrase": "none seen", "result": "No material present", "n_checks": 22, "n_seen": 7, "n_objectionable": 0, "season": 2026}, "lab_sample": {"taken_at": "2026-09-22T11:04+01:00", "ecoli": 160}, "classification": {"class": "poor", "year": 2025, "history": [[2025, "poor"], [2024, "poor"]], "url": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukg2200-36060"}, "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 20, "sunrise": "07:18", "sunset": "18:38"}, {"date": "2026-10-06", "tmax": 19, "sunrise": "07:20", "sunset": "18:36"}, {"date": "2026-10-07", "tmax": 12, "sunrise": "07:22", "sunset": "18:34"}, {"date": "2026-10-08", "tmax": 13, "sunrise": "07:23", "sunset": "18:32"}, {"date": "2026-10-09", "tmax": 17, "sunrise": "07:25", "sunset": "18:29"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "bw-ukg2100-36070", "name": "River Severn at Ironbridge", "kind": "river", "river": "River Severn", "source": "designated", "notes": "Environment Agency designated bathing water", "lat": 52.62933, "lon": -2.49179, "query": {"lat": 52.62933, "lon": -2.49179, "issued_at": "2026-10-05T03:12:56.322921+01:00"}, "location": {"mode": "river", "watercourse": "River Severn", "snap_distance_m": 29, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "on river", "snapped": {"lat": 52.62908, "lon": -2.49186}}, "river_state": {"station": "Buildwas", "river": "River Severn", "level_m": 0.383, "typical_low_m": 0.424, "typical_high_m": 3.4, "index": -0.01, "label": "low", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "2058", "measure": "2134-level-stage-i-15_min-mASD", "distance_km": 2.4, "same_river": true, "rise_6h_m": 0.011, "rise_from": "2026-10-04T20:15:00Z", "rise_to": "2026-10-05T01:45:00Z"}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.015, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 1, "monitored_upstream": 83, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.003, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.105}, {"date": "2026-10-06", "risk": 0.003, "label": "low", "expected_spilling_overflows": 0.3, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.001, "rain_48h_mm": 0.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.116}, {"date": "2026-10-07", "risk": 0.039, "label": "low", "expected_spilling_overflows": 6.9, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.039, "rain_48h_mm": 6.5, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.426}, {"date": "2026-10-08", "risk": 0.124, "label": "low", "expected_spilling_overflows": 1.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.124, "rain_48h_mm": 6.3, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.604}, {"date": "2026-10-09", "risk": 0.057, "label": "low", "expected_spilling_overflows": 7.5, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.057, "rain_48h_mm": 7.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.465}], "upstream_summary": {"overflows": 87, "with_live_feed": 83, "without_live_feed": 4, "sum_weight": 1.995, "history_days": 3, "max_travel_h": 33.3}, "contributors": [{"site_id": "SVT02039", "company": "Severn Trent Water", "site_name": "MONKMOOR STW (SSTO)", "receiving_watercourse": "RIVER SEVERN", "lat": 52.71488761, "lon": -2.71132311, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:03:36+00:00", "latest_event_start": "2026-08-29T13:07:46+00:00", "latest_event_end": "2026-08-29T14:39:41+00:00", "lta_spills": 115.66999816894531, "spill_hours": 192.8333282470703, "snap_confidence": "high", "distance_km": 29.2, "lake_distance_km": 0.0, "travel_h": 16.2, "weight": 0.073, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.258, 0.033, 0.269], "now_contribution": 0.0}, {"site_id": "SVT02306", "company": "Severn Trent Water", "site_name": "SHREWSBURY -THE MOUNT/THORNHILL RD (CSO)", "receiving_watercourse": "RIVER SEVERN", "lat": 52.71504836, "lon": -2.78281156, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:03:36+00:00", "latest_event_start": "2026-10-04T09:12:22+00:00", "latest_event_end": "2026-10-04T09:27:29+00:00", "lta_spills": 52.16999816894531, "spill_hours": 46.88083267211914, "snap_confidence": "high", "distance_km": 40.9, "lake_distance_km": 0.0, "travel_h": 22.7, "weight": 0.015, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.122, 0.02, 0.156], "now_contribution": 0.015}, {"site_id": "SVT01930", "company": "Severn Trent Water", "site_name": "RUSHMOOR STW  (SSTO)", "receiving_watercourse": "RIVER TERN", "lat": 52.71804836, "lon": -2.57441927, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:03:36+00:00", "latest_event_start": "2026-08-27T20:28:21+00:00", "latest_event_end": "2026-08-27T23:41:53+00:00", "lta_spills": 29.799999237060547, "spill_hours": 164.33917236328125, "snap_confidence": "high", "distance_km": 28.7, "lake_distance_km": 0.0, "travel_h": 16.0, "weight": 0.082, "p_spill_today": 0.001, "p_spill_tomorrow": 0.006, "p_spill_days": [0.001, 0.006, 0.119, 0.013, 0.135], "now_contribution": 0.0}, {"site_id": "SVT00688", "company": "Severn Trent Water", "site_name": "BROMPTON - CROSS HOUSES STW (SSTO)", "receiving_watercourse": "TRIB OF RIVER SEVERN", "lat": 52.66924766, "lon": -2.67102378, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:03:36+00:00", "latest_event_start": "2026-04-28T08:05:00+00:00", "latest_event_end": "2026-04-28T08:13:54+00:00", "lta_spills": 3.3299999237060547, "spill_hours": 80.33916473388672, "snap_confidence": "high", "distance_km": 21.1, "lake_distance_km": 0.0, "travel_h": 11.7, "weight": 0.109, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.016, 0.003, 0.021], "now_contribution": 0.0}, {"site_id": "SVT00725", "company": "Severn Trent Water", "site_name": "CASTLEFIELDS - DANA STEPS (CSO)", "receiving_watercourse": "RIVER SEVERN", "lat": 52.71127621, "lon": -2.74744081, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:03:36+00:00", "latest_event_start": "2026-08-30T20:03:27+00:00", "latest_event_end": "2026-08-30T20:30:26+00:00", "lta_spills": 68.70999908447266, "spill_hours": 44.0180549621582, "snap_confidence": "high", "distance_km": 34.7, "lake_distance_km": 0.0, "travel_h": 19.3, "weight": 0.05, "p_spill_today": 0.001, "p_spill_tomorrow": 0.002, "p_spill_days": [0.001, 0.002, 0.202, 0.016, 0.212], "now_contribution": 0.0}, {"site_id": "SVT01894", "company": "Severn Trent Water", "site_name": "CASTLEFIELDS - VICTORIA ST (CSO)", "receiving_watercourse": "RIVER SEVERN", "lat": 52.71249953, "lon": -2.7444716, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:03:36+00:00", "latest_event_start": "2026-09-30T05:27:21+00:00", "latest_event_end": "2026-09-30T06:12:52+00:00", "lta_spills": 95.43000030517578, "spill_hours": 48.0533332824707, "snap_confidence": "high", "distance_km": 34.5, "lake_distance_km": 0.0, "travel_h": 19.2, "weight": 0.051, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.184, 0.018, 0.199], "now_contribution": 0.0}, {"site_id": "SVT00435", "company": "Severn Trent Water", "site_name": "CASTLEFIELDS - BURTON STREET (CSO)", "receiving_watercourse": "RIVER SEVERN", "lat": 52.71276689, "lon": -2.74053864, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:03:36+00:00", "latest_event_start": "2026-05-26T16:47:18+00:00", "latest_event_end": "2026-05-26T17:29:15+00:00", "lta_spills": 61.43000030517578, "spill_hours": 32.11055374145508, "snap_confidence": "high", "distance_km": 34.2, "lake_distance_km": 0.0, "travel_h": 19.0, "weight": 0.051, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.174, 0.022, 0.174], "now_contribution": 0.0}, {"site_id": "SVT01931", "company": "Severn Trent Water", "site_name": "RUSHMOOR STW  (CSO)", "receiving_watercourse": "RIVER TERN", "lat": 52.71804836, "lon": -2.57441927, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:03:36+00:00", "latest_event_start": "2026-06-01T22:00:02+00:00", "latest_event_end": "2026-06-01T22:02:00+00:00", "lta_spills": 18.399999618530273, "spill_hours": 21.600000381469727, "snap_confidence": "high", "distance_km": 28.7, "lake_distance_km": 0.0, "travel_h": 16.0, "weight": 0.082, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.061, 0.01, 0.076], "now_contribution": 0.0}, {"site_id": "SVT00583", "company": "Severn Trent Water", "site_name": "SHREWSBURY - CLIVE ROAD (CSO)", "receiving_watercourse": "TRIB OF RIVER SEVERN", "lat": 52.71772005, "lon": -2.731888, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:03:36+00:00", "latest_event_start": "2026-09-30T05:33:16+00:00", "latest_event_end": "2026-09-30T06:04:54+00:00", "lta_spills": 47.290000915527344, "spill_hours": 49.863887786865234, "snap_confidence": "high", "distance_km": 33.3, "lake_distance_km": 0.0, "travel_h": 18.5, "weight": 0.053, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.146, 0.012, 0.152], "now_contribution": 0.0}, {"site_id": "SVT02038", "company": "Severn Trent Water", "site_name": "MONKMOOR STW (CSO)", "receiving_watercourse": "RIVER SEVERN", "lat": 52.71488761, "lon": -2.71132311, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:03:36+00:00", "latest_event_start": "2026-02-07T17:52:50+00:00", "latest_event_end": "2026-02-07T18:03:11+00:00", "lta_spills": 29.600000381469727, "spill_hours": 61.087223052978516, "snap_confidence": "high", "distance_km": 29.2, "lake_distance_km": 0.0, "travel_h": 16.2, "weight": 0.073, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.094, 0.014, 0.102], "now_contribution": 0.0}], "guide": {"checked": "2026-10-04", "how": "desk", "facts": [{"topic": "parking", "text": "There is a car park in Dale End Park, with several disabled bays, and another at the Wharfage car park, TF8 7NH. The council's page is about Dale End Park and does not mention the bathing site.", "status": "confirmed", "source": "https://www.telford.gov.uk/sports-and-leisure/green-and-open-spaces/parks/dale-end-park/", "source_name": "Telford & Wrekin Council"}, {"topic": "path", "text": "The bathing site is easy to reach on foot or by bicycle from the main road.", "status": "confirmed", "source": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukg2100-36070", "source_name": "Environment Agency bathing water profile"}, {"topic": "entry", "text": "Entry is by the beach behind the Museum of the Gorge and the Ironbridge Tourist Information Centre, about 450 m upstream of the Iron Bridge.", "status": "confirmed", "source": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukg2100-36070", "source_name": "Environment Agency bathing water profile"}, {"topic": "toilets", "text": "There are public toilets at the Wharfage car park, TF8 7NH, about 500 m from Dale End Park. The council's page is about Dale End Park and does not mention the bathing site.", "status": "confirmed", "source": "https://www.telford.gov.uk/sports-and-leisure/green-and-open-spaces/parks/dale-end-park/", "source_name": "Telford & Wrekin Council"}, {"topic": "rules", "text": "Telford & Wrekin Council's page for Dale End Park gives water safety tips for visitors. The first is to keep out of the water at all times. The page is about Dale End Park and does not mention the bathing site.", "status": "confirmed", "source": "https://www.telford.gov.uk/sports-and-leisure/green-and-open-spaces/parks/dale-end-park/", "source_name": "Telford & Wrekin Council"}], "photos": []}, "algae": {"date": "2026-09-17", "level": 0, "phrase": "none seen", "result": "No material present", "n_checks": 19, "n_seen": 1, "n_objectionable": 0, "season": 2026}, "lab_sample": {"taken_at": "2026-09-22T10:15+01:00", "ecoli": 450}, "classification": {"class": "poor", "year": 2025, "history": [[2025, "poor"], [2024, "poor"]], "url": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukg2100-36070"}, "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 20, "sunrise": "07:18", "sunset": "18:37"}, {"date": "2026-10-06", "tmax": 19, "sunrise": "07:19", "sunset": "18:35"}, {"date": "2026-10-07", "tmax": 13, "sunrise": "07:21", "sunset": "18:33"}, {"date": "2026-10-08", "tmax": 14, "sunrise": "07:23", "sunset": "18:30"}, {"date": "2026-10-09", "tmax": 17, "sunrise": "07:24", "sunset": "18:28"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "bw-ukg2200-36071", "name": "River Severn in Shrewsbury", "kind": "river", "river": "River Severn", "source": "designated", "notes": "Environment Agency designated bathing water", "lat": 52.71037, "lon": -2.75671, "query": {"lat": 52.71037, "lon": -2.75671, "issued_at": "2026-10-05T03:12:57.011556+01:00"}, "location": {"mode": "river", "watercourse": "River Severn", "snap_distance_m": 21, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "on river", "snapped": {"lat": 52.71019, "lon": -2.75667}}, "river_state": {"station": "Welsh Bridge", "river": "River Severn", "level_m": 0.497, "typical_low_m": 0.422, "typical_high_m": 2.7, "index": 0.03, "label": "low", "observed_at": "2026-10-05T01:30:00Z", "age_hours": 0.7, "stale": false, "rloi": "2036", "measure": "2077-level-stage-i-15_min-mASD", "distance_km": 0.1, "same_river": true, "rise_6h_m": 0.0, "rise_from": "2026-10-04T20:15:00Z", "rise_to": "2026-10-05T01:30:00Z"}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.268, "label": "moderate", "clears_at": "2026-10-05T10:46:00+01:00", "clears_by": "die-off", "source": {"site_id": "SVT02306", "site_name": "SHREWSBURY -THE MOUNT/THORNHILL RD (CSO)", "receiving_watercourse": "RIVER SEVERN", "status": 0, "distance_km": 3.4, "lake_distance_km": 0.0, "travel_h": 1.9, "share": 1.0, "spread_over": 1}, "discharging_upstream": 0, "recent_upstream": 1, "monitored_upstream": 15, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.011, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.143}, {"date": "2026-10-06", "risk": 0.012, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.011, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.146}, {"date": "2026-10-07", "risk": 0.488, "label": "high", "expected_spilling_overflows": 1.6, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.488, "source": {"site_id": "SVT00007", "site_name": "SHREWSBURY - 5 SEVERN TERRACE (CSO)", "receiving_watercourse": "RIVER SEVERN ", "status": 0, "distance_km": 0.3, "lake_distance_km": 0.0, "travel_h": 0.2, "share": 0.242, "spread_over": 6}, "rain_48h_mm": 6.3, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.637}, {"date": "2026-10-08", "risk": 0.102, "label": "low", "expected_spilling_overflows": 0.2, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.102, "rain_48h_mm": 6.6, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.584}, {"date": "2026-10-09", "risk": 0.542, "label": "high", "expected_spilling_overflows": 1.8, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.542, "source": {"site_id": "SVT00007", "site_name": "SHREWSBURY - 5 SEVERN TERRACE (CSO)", "receiving_watercourse": "RIVER SEVERN ", "status": 0, "distance_km": 0.3, "lake_distance_km": 0.0, "travel_h": 0.2, "share": 0.243, "spread_over": 6}, "rain_48h_mm": 6.9, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.663}], "upstream_summary": {"overflows": 15, "with_live_feed": 15, "without_live_feed": 0, "sum_weight": 7.101, "history_days": 3, "max_travel_h": 33.2}, "contributors": [{"site_id": "SVT02306", "company": "Severn Trent Water", "site_name": "SHREWSBURY -THE MOUNT/THORNHILL RD (CSO)", "receiving_watercourse": "RIVER SEVERN", "lat": 52.71504836, "lon": -2.78281156, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:03:36+00:00", "latest_event_start": "2026-10-04T09:12:22+00:00", "latest_event_end": "2026-10-04T09:27:29+00:00", "lta_spills": 52.16999816894531, "spill_hours": 46.88083267211914, "snap_confidence": "high", "distance_km": 3.4, "lake_distance_km": 0.0, "travel_h": 1.9, "weight": 0.84, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.122, 0.02, 0.156], "now_contribution": 0.268}, {"site_id": "SVT00007", "company": "Severn Trent Water", "site_name": "SHREWSBURY - 5 SEVERN TERRACE (CSO)", "receiving_watercourse": "RIVER SEVERN ", "lat": 52.71148396, "lon": -2.7529656, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:03:36+00:00", "latest_event_start": "2026-09-30T05:11:54+00:00", "latest_event_end": "2026-09-30T06:10:18+00:00", "lta_spills": 63.400001525878906, "spill_hours": 33.68916702270508, "snap_confidence": "high", "distance_km": 0.3, "lake_distance_km": 0.0, "travel_h": 0.2, "weight": 0.985, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.153, 0.017, 0.177], "now_contribution": 0.0}, {"site_id": "SVT00490", "company": "Severn Trent Water", "site_name": "SHREWSBURY - CASTLE FOREGATE (CSO)", "receiving_watercourse": "BAGLEY BROOK", "lat": 52.71496362, "lon": -2.75003524, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:03:36+00:00", "latest_event_start": "2026-08-30T19:57:32+00:00", "latest_event_end": "2026-08-30T20:19:59+00:00", "lta_spills": 60.0, "spill_hours": 51.25, "snap_confidence": "high", "distance_km": 0.6, "lake_distance_km": 0.0, "travel_h": 0.3, "weight": 0.971, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.146, 0.012, 0.171], "now_contribution": 0.0}, {"site_id": "SVT00643", "company": "Severn Trent Water", "site_name": "SHREWSBURY - COTON HILL (THE FLASH) (CSO)", "receiving_watercourse": "RIVER SEVERN", "lat": 52.7158615, "lon": -2.75586851, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:03:36+00:00", "latest_event_start": "2026-08-30T20:17:43+00:00", "latest_event_end": "2026-08-30T20:22:51+00:00", "lta_spills": 37.0, "spill_hours": 6.543333530426025, "snap_confidence": "high", "distance_km": 0.9, "lake_distance_km": 0.0, "travel_h": 0.5, "weight": 0.96, "p_spill_today": 0.002, "p_spill_tomorrow": 0.003, "p_spill_days": [0.002, 0.003, 0.096, 0.019, 0.107], "now_contribution": 0.0}, {"site_id": "SVT02540", "company": "Severn Trent Water", "site_name": "FRANKWELL - WHITE HORSE PASSAGE (CSO)", "receiving_watercourse": "RIVER SEVERN", "lat": 52.71036405, "lon": -2.75660237, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:03:36+00:00", "latest_event_start": "2026-05-26T16:50:37+00:00", "latest_event_end": "2026-05-26T16:57:47+00:00", "lta_spills": 3.7100000381469727, "spill_hours": 0.7441666722297668, "snap_confidence": "high", "distance_km": 0.0, "lake_distance_km": 0.0, "travel_h": 0.0, "weight": 0.997, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.01, 0.003, 0.013], "now_contribution": 0.0}, {"site_id": "SVT02073", "company": "Severn Trent Water", "site_name": "SHREWSBURY -SMITHFIELD RD/ROUSHILL (CSO)", "receiving_watercourse": "RIVER SEVERN", "lat": 52.71057379, "lon": -2.75472615, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:03:36+00:00", "latest_event_start": "2026-08-30T19:55:41+00:00", "latest_event_end": "2026-08-30T20:10:43+00:00", "lta_spills": 27.5, "spill_hours": 8.129166603088379, "snap_confidence": "high", "distance_km": 0.1, "lake_distance_km": 0.0, "travel_h": 0.1, "weight": 0.992, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.07, 0.009, 0.075], "now_contribution": 0.0}, {"site_id": "SVT02727", "company": "Severn Trent Water", "site_name": "SHREWSBURY - COTON HILL 75 (CSO)", "receiving_watercourse": "TRIBUTARY OF BOURN BROOK", "lat": 52.71257856, "lon": -2.75188906, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:03:36+00:00", "latest_event_start": null, "latest_event_end": null, "lta_spills": 24.329999923706055, "spill_hours": 9.596388816833496, "snap_confidence": "high", "distance_km": 0.4, "lake_distance_km": 0.0, "travel_h": 0.2, "weight": 0.979, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.057, 0.004, 0.056], "now_contribution": 0.0}, {"site_id": "SVT02299", "company": "Severn Trent Water", "site_name": "BICTON - THE OVAL (SSO)", "receiving_watercourse": "TRIBUTARY OF RIVER SEVERN", "lat": 52.72995894, "lon": -2.81664966, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:03:36+00:00", "latest_event_start": "2026-08-27T13:31:07+00:00", "latest_event_end": "2026-08-27T14:51:41+00:00", "lta_spills": 25.5, "spill_hours": 160.0316619873047, "snap_confidence": "low", "distance_km": 15.2, "lake_distance_km": 0.0, "travel_h": 8.4, "weight": 0.345, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.091, 0.008, 0.109], "now_contribution": 0.0}, {"site_id": "SVT00304", "company": "Severn Trent Water", "site_name": "BOMERE HEATH STW (SSTO)", "receiving_watercourse": "LEATON BROOK", "lat": 52.75935428, "lon": -2.78216861, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:03:36+00:00", "latest_event_start": "2026-03-17T22:40:23+00:00", "latest_event_end": "2026-03-17T22:59:09+00:00", "lta_spills": 75.83000183105469, "spill_hours": 998.2633056640625, "snap_confidence": "high", "distance_km": 10.7, "lake_distance_km": 0.0, "travel_h": 5.9, "weight": 0.009, "p_spill_today": 0.003, "p_spill_tomorrow": 0.013, "p_spill_days": [0.003, 0.013, 0.19, 0.049, 0.194], "now_contribution": 0.0}, {"site_id": "SVT01754", "company": "Severn Trent Water", "site_name": "PANT-PLAS CERRIG (STW)", "receiving_watercourse": "RIVER VYRNWY", "lat": 52.77774033, "lon": -3.0826729, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:03:36+00:00", "latest_event_start": "2026-03-12T21:39:32+00:00", "latest_event_end": "2026-03-12T21:49:35+00:00", "lta_spills": 36.0, "spill_hours": 150.3522186279297, "snap_confidence": "high", "distance_km": 50.9, "lake_distance_km": 0.0, "travel_h": 28.3, "weight": 0.011, "p_spill_today": 0.009, "p_spill_tomorrow": 0.002, "p_spill_days": [0.009, 0.002, 0.101, 0.016, 0.12], "now_contribution": 0.0}], "guide": {"checked": "2026-10-03", "how": "desk", "facts": [{"topic": "parking", "text": "Shropshire Council's Frankwell Riverside car park (Frankwell Quay, SY3 8HQ) has 79 spaces. It charges \u00a31.20 an hour from 8am to 6pm, minimum one hour, maximum stay \u00a33.60 for three hours; it is free on Sundays and bank holidays. No entry between midnight and 5am. The council's page does not mention the bathing site.", "status": "confirmed", "source": "https://next.shropshire.gov.uk/parking/find-my-nearest-car-park/shrewsbury-frankwell-riverside/", "source_name": "Shropshire Council"}, {"topic": "path", "text": "The bathing site is easy to reach on foot or by bicycle from the main road.", "status": "confirmed", "source": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukg2200-36071", "source_name": "Environment Agency bathing water profile"}, {"topic": "entry", "text": "Entry is on the northern bank by the canoe launch ramp, next to Frankwell Riverside car park, just upstream of Frankwell Footbridge.", "status": "confirmed", "source": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukg2200-36071", "source_name": "Environment Agency bathing water profile"}, {"topic": "rules", "text": "The bathing site stretches from the north river bend to the boat entry/exit ramp, which is downstream of the entry point.", "status": "confirmed", "source": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukg2200-36071", "source_name": "Environment Agency bathing water profile"}], "photos": []}, "algae": {"date": "2026-09-22", "level": 0, "phrase": "none seen", "result": "No material present", "n_checks": 21, "n_seen": 4, "n_objectionable": 0, "season": 2026}, "lab_sample": {"taken_at": "2026-09-22T15:17+01:00", "ecoli": 400}, "classification": {"class": "poor", "year": 2025, "history": [[2025, "poor"], [2024, "poor"]], "url": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukg2200-36071"}, "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 19, "sunrise": "07:19", "sunset": "18:38"}, {"date": "2026-10-06", "tmax": 19, "sunrise": "07:20", "sunset": "18:36"}, {"date": "2026-10-07", "tmax": 13, "sunrise": "07:22", "sunset": "18:34"}, {"date": "2026-10-08", "tmax": 14, "sunrise": "07:24", "sunset": "18:31"}, {"date": "2026-10-09", "tmax": 17, "sunrise": "07:26", "sunset": "18:29"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "bw-ukd6300-40752", "name": "Sandy Lane, Chester", "kind": "river", "river": "River Dee", "source": "designated", "notes": "Environment Agency designated bathing water", "lat": 53.18744, "lon": -2.87007, "query": {"lat": 53.18744, "lon": -2.87007, "issued_at": "2026-10-05T03:12:57.300633+01:00"}, "location": {"mode": "river", "watercourse": "River Dee", "snap_distance_m": 42, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "on river", "snapped": {"lat": 53.18743, "lon": -2.87071}}, "river_state": {"station": "Countess Way, Abbot's Mead", "river": "Finchett's Gutter", "level_m": 0.952, "typical_low_m": null, "typical_high_m": 1.85, "index": null, "label": "unknown", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "10441", "measure": "067647-level-stage-i-15_min-m", "distance_km": 2.9, "same_river": false}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 0, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 10}, "days": [{"date": "2026-10-05", "risk": 0.004, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.5, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.134}, {"date": "2026-10-06", "risk": 0.006, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.006, "rain_48h_mm": 0.5, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.164}, {"date": "2026-10-07", "risk": 0.055, "label": "low", "expected_spilling_overflows": 1.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.055, "rain_48h_mm": 6.3, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.446}, {"date": "2026-10-08", "risk": 0.024, "label": "low", "expected_spilling_overflows": 0.4, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.024, "rain_48h_mm": 7.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.474}, {"date": "2026-10-09", "risk": 0.059, "label": "low", "expected_spilling_overflows": 0.9, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.059, "rain_48h_mm": 5.4, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.441}], "upstream_summary": {"overflows": 10, "with_live_feed": 0, "without_live_feed": 10, "sum_weight": 2.822, "history_days": 3, "max_travel_h": 27.7}, "contributors": [{"site_id": "DCW00021", "company": "Dwr Cymru Welsh Water", "site_name": "Chester Belgrave Park", "receiving_watercourse": "River Dee", "lat": 53.17730026966742, "lon": -2.8800793585078663, "status": -2, "has_live": false, "data_state": "no_feed", "feed_updated_at": null, "latest_event_start": null, "latest_event_end": null, "lta_spills": 0.25, "spill_hours": 0.0, "snap_confidence": "high", "distance_km": 1.4, "lake_distance_km": 0.0, "travel_h": 0.8, "weight": 0.931, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.004, 0.002, 0.004], "now_contribution": 0.0}, {"site_id": "DCW00057", "company": "Dwr Cymru Welsh Water", "site_name": "Chester Greenbank", "receiving_watercourse": "River Dee", "lat": 53.175329193326455, "lon": -2.881624931068379, "status": -2, "has_live": false, "data_state": "no_feed", "feed_updated_at": null, "latest_event_start": null, "latest_event_end": null, "lta_spills": 0.0, "spill_hours": 0.0, "snap_confidence": "high", "distance_km": 1.6, "lake_distance_km": 0.0, "travel_h": 0.9, "weight": 0.922, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.009, 0.003, 0.009], "now_contribution": 0.0}, {"site_id": "DCW00044", "company": "Dwr Cymru Welsh Water", "site_name": "Chester Eccleston", "receiving_watercourse": "River Dee", "lat": 53.15807390875215, "lon": -2.8749899063395463, "status": -2, "has_live": false, "data_state": "no_feed", "feed_updated_at": null, "latest_event_start": null, "latest_event_end": null, "lta_spills": 7.714285850524902, "spill_hours": 88.0, "snap_confidence": "high", "distance_km": 3.6, "lake_distance_km": 0.0, "travel_h": 2.0, "weight": 0.836, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.032, 0.007, 0.036], "now_contribution": 0.0}, {"site_id": "DCW00012", "company": "Dwr Cymru Welsh Water", "site_name": "Aldford CSO", "receiving_watercourse": "Aldford Brook", "lat": 53.12980589134075, "lon": -2.8659561088781524, "status": -2, "has_live": false, "data_state": "no_feed", "feed_updated_at": null, "latest_event_start": null, "latest_event_end": null, "lta_spills": 85.80000305175781, "spill_hours": 330.25, "snap_confidence": "high", "distance_km": 8.1, "lake_distance_km": 0.0, "travel_h": 4.5, "weight": 0.074, "p_spill_today": 0.002, "p_spill_tomorrow": 0.032, "p_spill_days": [0.002, 0.032, 0.248, 0.063, 0.231], "now_contribution": 0.0}, {"site_id": "DCW00037", "company": "Dwr Cymru Welsh Water", "site_name": "Tattenhall", "receiving_watercourse": "Golborne Brook", "lat": 53.12731549906393, "lon": -2.780212463040275, "status": -2, "has_live": false, "data_state": "no_feed", "feed_updated_at": null, "latest_event_start": null, "latest_event_end": null, "lta_spills": 80.71428680419922, "spill_hours": 336.0, "snap_confidence": "high", "distance_km": 15.7, "lake_distance_km": 0.0, "travel_h": 8.7, "weight": 0.017, "p_spill_today": 0.003, "p_spill_tomorrow": 0.054, "p_spill_days": [0.003, 0.054, 0.26, 0.155, 0.226], "now_contribution": 0.0}, {"site_id": "DCW00098", "company": "Dwr Cymru Welsh Water", "site_name": "Saighton", "receiving_watercourse": "Tributary of Powsey Brook", "lat": 53.150383011509604, "lon": -2.8279413531143973, "status": -2, "has_live": false, "data_state": "no_feed", "feed_updated_at": null, "latest_event_start": null, "latest_event_end": null, "lta_spills": 91.5, "spill_hours": 182.5, "snap_confidence": "medium", "distance_km": 7.1, "lake_distance_km": 0.0, "travel_h": 3.9, "weight": 0.009, "p_spill_today": 0.007, "p_spill_tomorrow": 0.01, "p_spill_days": [0.007, 0.01, 0.228, 0.043, 0.207], "now_contribution": 0.0}, {"site_id": "DCW00080", "company": "Dwr Cymru Welsh Water", "site_name": "Tattenhall Millbrook Park", "receiving_watercourse": "Millbrook", "lat": 53.12314685467853, "lon": -2.772964152048167, "status": -2, "has_live": false, "data_state": "no_feed", "feed_updated_at": null, "latest_event_start": null, "latest_event_end": null, "lta_spills": 4.333333492279053, "spill_hours": 19.25, "snap_confidence": "high", "distance_km": 16.5, "lake_distance_km": 0.0, "travel_h": 9.2, "weight": 0.015, "p_spill_today": 0.001, "p_spill_tomorrow": 0.005, "p_spill_days": [0.001, 0.005, 0.025, 0.015, 0.025], "now_contribution": 0.0}, {"site_id": "DCW00117", "company": "Dwr Cymru Welsh Water", "site_name": "Chester Huntington Rake & Pickle", "receiving_watercourse": "Caldy Brook", "lat": 53.17232884814646, "lon": -2.861695853773949, "status": -2, "has_live": false, "data_state": "no_feed", "feed_updated_at": null, "latest_event_start": null, "latest_event_end": null, "lta_spills": 2.6666667461395264, "spill_hours": 23.5, "snap_confidence": "high", "distance_km": 2.2, "lake_distance_km": 0.0, "travel_h": 1.2, "weight": 0.012, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.008, 0.002, 0.008], "now_contribution": 0.0}, {"site_id": "DCW00039", "company": "Dwr Cymru Welsh Water", "site_name": "Tilston", "receiving_watercourse": "Carden Brook", "lat": 53.05964467904948, "lon": -2.8150239684613605, "status": -2, "has_live": false, "data_state": "no_feed", "feed_updated_at": null, "latest_event_start": null, "latest_event_end": null, "lta_spills": 35.375, "spill_hours": 21.5, "snap_confidence": "high", "distance_km": 19.4, "lake_distance_km": 0.0, "travel_h": 10.8, "weight": 0.006, "p_spill_today": 0.004, "p_spill_tomorrow": 0.029, "p_spill_days": [0.004, 0.029, 0.139, 0.069, 0.119], "now_contribution": 0.0}, {"site_id": "DCW00073", "company": "Dwr Cymru Welsh Water", "site_name": "Malpas Whitchurch Road", "receiving_watercourse": "Unnamed Tributary of Wych Brook", "lat": 53.01719685916118, "lon": -2.756549590917753, "status": -2, "has_live": false, "data_state": "no_feed", "feed_updated_at": null, "latest_event_start": null, "latest_event_end": null, "lta_spills": 16.5, "spill_hours": 12.75, "snap_confidence": "low", "distance_km": 49.8, "lake_distance_km": 0.0, "travel_h": 27.7, "weight": 0.001, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.044, 0.009, 0.038], "now_contribution": 0.0}], "guide": {"checked": "2026-10-04", "how": "desk", "facts": [{"topic": "parking", "text": "Free parking is available, and there are good public transport links into Chester city centre.", "status": "confirmed", "source": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukd6300-40752", "source_name": "Environment Agency bathing water profile"}, {"topic": "parking", "text": "Sandy Lane Park (Sandy Lane, Chester CH3 5UL) has vehicle access off Sandy Lane into a surfaced car park for about 40 cars. The council's page does not mention the bathing site.", "status": "confirmed", "source": "https://www.cheshirewestandchester.gov.uk/residents/leisure-parks-and-events/parks-and-open-spaces/parks-and-open-spaces-chester/sandy-lane-park-and-aqua-park", "source_name": "Cheshire West and Chester Council"}, {"topic": "path", "text": "Sandy Lane is in east Chester, running south from Boughton, a short walk from the city centre. The bathing water is next to Sandy Lane Park.", "status": "confirmed", "source": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukd6300-40752", "source_name": "Environment Agency bathing water profile"}, {"topic": "entry", "text": "The east bank is a shallow slope into the water, with a concrete slipway at the northern end for wheeled access.", "status": "confirmed", "source": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukd6300-40752", "source_name": "Environment Agency bathing water profile"}, {"topic": "toilets", "text": "Sandy Lane Park has managed toilets.", "status": "confirmed", "source": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukd6300-40752", "source_name": "Environment Agency bathing water profile"}, {"topic": "toilets", "text": "At Sandy Lane Park, the Aqua Park and toilets open only in the summer season (April to August), 11am to 5pm. An attendant keeps the toilets and park clean. The council's page does not mention the bathing site.", "status": "confirmed", "source": "https://www.cheshirewestandchester.gov.uk/residents/leisure-parks-and-events/parks-and-open-spaces/parks-and-open-spaces-chester/sandy-lane-park-and-aqua-park", "source_name": "Cheshire West and Chester Council"}, {"topic": "toilets", "text": "The council lists Sandy Lane Chester toilets (Sandy Lane, CH3 5UU) with Radar key access, changing facilities and separate men's and women's toilets. The council's page does not mention the bathing site.", "status": "confirmed", "source": "https://www.cheshirewestandchester.gov.uk/residents/streets-and-open-spaces/public-toilets", "source_name": "Cheshire West and Chester Council"}, {"topic": "rules", "text": "A small ferry crosses the river at the north end of the bathing water to The Meadows. There are life buoys on each side of the river.", "status": "confirmed", "source": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukd6300-40752", "source_name": "Environment Agency bathing water profile"}, {"topic": "rules", "text": "The Sandy Lane Ferry carries passengers across the Dee from Sandy Lane to the Meadows every weekend from 23 May 2026 to the last Sunday in September, 10.30am to 4.30pm. Fares each way: adults \u00a31; children, dogs and bikes 50p. The council's page does not mention the bathing site.", "status": "confirmed", "source": "https://www.cheshirewestandchester.gov.uk/residents/leisure-parks-and-events/parks-and-open-spaces/parks-and-open-spaces-chester/sandy-lane-park-and-aqua-park", "source_name": "Cheshire West and Chester Council"}, {"topic": "rules", "text": "Cheshire West and Chester Council says swimming in the River Dee currently isn't encouraged, because the river can contain sewage, livestock contamination and pollution from farming or industry. It says this in its section on the Sandy Lane bathing water.", "status": "confirmed", "source": "https://www.cheshirewestandchester.gov.uk/residents/leisure-parks-and-events/parks-and-open-spaces/river-dee", "source_name": "Cheshire West and Chester Council"}], "photos": []}, "algae": {"date": "2026-09-15", "level": 0, "phrase": "none seen", "result": "No material present", "n_checks": 18, "n_seen": 0, "n_objectionable": 0, "season": 2026}, "lab_sample": {"taken_at": "2026-09-25T10:14+01:00", "ecoli": 240}, "classification": {"url": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukd6300-40752"}, "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 19, "sunrise": "07:19", "sunset": "18:38"}, {"date": "2026-10-06", "tmax": 17, "sunrise": "07:21", "sunset": "18:36"}, {"date": "2026-10-07", "tmax": 13, "sunrise": "07:23", "sunset": "18:34"}, {"date": "2026-10-08", "tmax": 13, "sunrise": "07:25", "sunset": "18:31"}, {"date": "2026-10-09", "tmax": 16, "sunrise": "07:26", "sunset": "18:29"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "bw-ukd1203-45625", "name": "Windermere, Lakeside YMCA", "kind": "lake", "river": null, "source": "designated", "notes": "Environment Agency designated bathing water", "lat": 54.3004, "lon": -2.96146, "query": {"lat": 54.3004, "lon": -2.96146, "issued_at": "2026-10-05T03:12:57.560741+01:00"}, "location": {"mode": "lake", "watercourse": "Windermere (S Basin)", "snap_distance_m": 467, "form": "lake", "lake_area_km2": 6.1, "lake_source": "polygon", "adopted_main_channel": false, "placement": null, "snapped": {"lat": 54.30121, "lon": -2.95443}}, "river_state": {"station": "Far Sawrey", "river": "Windermere", "level_m": 0.52, "typical_low_m": 0.228, "typical_high_m": 1.0, "index": 0.38, "label": "normal", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "5164", "measure": "735225-level-stage-i-15_min-m", "distance_km": 6.0, "same_river": true}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": false, "season_validated_months": [5, 6, 7, 8, 9], "note": "Not validated on lakes: no ranking skill in the fitting data (16 exceedances in 803 lake samples)."}, "now": {"risk": 0.001, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 2, "monitored_upstream": 6, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.004, "label": "low", "expected_spilling_overflows": 0.4, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 1.1, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.04}, {"date": "2026-10-06", "risk": 0.001, "label": "low", "expected_spilling_overflows": 0.6, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 4.1, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.023}, {"date": "2026-10-07", "risk": 0.002, "label": "low", "expected_spilling_overflows": 0.3, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.001, "rain_48h_mm": 5.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.027}, {"date": "2026-10-08", "risk": 0.002, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.002, "rain_48h_mm": 2.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.034}, {"date": "2026-10-09", "risk": 0.001, "label": "low", "expected_spilling_overflows": 0.9, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.001, "rain_48h_mm": 4.8, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.021}], "upstream_summary": {"overflows": 6, "with_live_feed": 6, "without_live_feed": 0, "sum_weight": 0.035, "history_days": 4, "max_travel_h": 50.9}, "contributors": [{"site_id": "UUP00804", "company": "United Utilities", "site_name": "Glebe Road PS", "receiving_watercourse": "Lake Windermere", "lat": 54.3581441719415, "lon": -2.9322067438749, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-06-01T21:52:15.400000+00:00", "latest_event_end": "2026-06-01T21:58:25.500000+00:00", "lta_spills": 36.71428680419922, "spill_hours": 190.87916564941406, "snap_confidence": "high", "distance_km": 0.0, "lake_distance_km": 6.7, "travel_h": 37.3, "weight": 0.02, "p_spill_today": 0.002, "p_spill_tomorrow": 0.041, "p_spill_days": [0.002, 0.041, 0.007, 0.003, 0.052], "now_contribution": 0.0}, {"site_id": "UUP01370", "company": "United Utilities", "site_name": "NEAR SAWREY WwTW", "receiving_watercourse": "Cunsey Beck", "lat": 54.3475811651577, "lon": -2.9768434330522, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-09-18T07:39:17.400000+00:00", "latest_event_end": null, "lta_spills": 100.0, "spill_hours": 1352.5611572265625, "snap_confidence": "high", "distance_km": 3.2, "lake_distance_km": 3.9, "travel_h": 23.4, "weight": 0.007, "p_spill_today": 0.034, "p_spill_tomorrow": 0.087, "p_spill_days": [0.034, 0.087, 0.055, 0.023, 0.199], "now_contribution": 0.0}, {"site_id": "UUP00919", "company": "United Utilities", "site_name": "Hawkshead Pumping Station (Site ID HWKSH) (LAK0107)", "receiving_watercourse": "Black Beck", "lat": 54.3727941314382, "lon": -2.9940523368901, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-10-02T22:59:48.600000+00:00", "latest_event_end": "2026-10-02T23:08:33.200000+00:00", "lta_spills": 141.875, "spill_hours": 1825.2188720703125, "snap_confidence": "high", "distance_km": 6.5, "lake_distance_km": 3.9, "travel_h": 25.2, "weight": 0.003, "p_spill_today": 0.064, "p_spill_tomorrow": 0.164, "p_spill_days": [0.064, 0.164, 0.097, 0.05, 0.235], "now_contribution": 0.0}, {"site_id": "UUP00114", "company": "United Utilities", "site_name": "AMBLESIDE WwTW", "receiving_watercourse": "River Rothay", "lat": 54.4288753185906, "lon": -2.9709158486915, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-03-24T15:40:12.400000+00:00", "latest_event_end": "2026-03-25T23:54:13.800000+00:00", "lta_spills": 61.57143020629883, "spill_hours": 983.0338745117188, "snap_confidence": "high", "distance_km": 7.9, "lake_distance_km": 7.8, "travel_h": 47.5, "weight": 0.003, "p_spill_today": 0.018, "p_spill_tomorrow": 0.071, "p_spill_days": [0.018, 0.071, 0.035, 0.014, 0.104], "now_contribution": 0.0}, {"site_id": "UUP00829", "company": "United Utilities", "site_name": "Grasmere Waste Water Treatment Works", "receiving_watercourse": "Grasmere Lake", "lat": 54.4526409716062, "lon": -3.0206800859213, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-10-04T20:06:00+00:00", "latest_event_end": "2026-10-04T20:08:00+00:00", "lta_spills": 83.71428680419922, "spill_hours": 407.6333312988281, "snap_confidence": "high", "distance_km": 14.1, "lake_distance_km": 7.8, "travel_h": 50.9, "weight": 0.0, "p_spill_today": 0.293, "p_spill_tomorrow": 0.223, "p_spill_days": [0.293, 0.223, 0.05, 0.015, 0.228], "now_contribution": 0.0}, {"site_id": "UUP00702", "company": "United Utilities", "site_name": "Elterwater pumping station (ELTER) (LAK0025)", "receiving_watercourse": "Great Langdale Beck", "lat": 54.4334433491738, "lon": -3.0376235488447, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-06-05T02:08:00+00:00", "latest_event_end": "2026-06-05T02:12:00+00:00", "lta_spills": 39.85714340209961, "spill_hours": 423.1805419921875, "snap_confidence": "high", "distance_km": 12.5, "lake_distance_km": 7.8, "travel_h": 50.0, "weight": 0.001, "p_spill_today": 0.011, "p_spill_tomorrow": 0.049, "p_spill_days": [0.011, 0.049, 0.013, 0.004, 0.077], "now_contribution": 0.0}], "guide": {"checked": "2026-10-03", "how": "desk", "facts": [{"topic": "entry", "text": "The Environment Agency describes the bathing water as a shallow sloping beach of shingle and gravel on the western edge of the south basin, with broadleaved woodland reaching the water in places.", "status": "confirmed", "source": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukd1203-45625", "source_name": "Environment Agency bathing water profile"}, {"topic": "rules", "text": "The National Park Authority says swimming is allowed on Windermere. Powered craft must be registered, and there is a 10 nautical mph speed limit, or 6 in some places. The page is about the whole lake and does not name the bathing site.", "status": "confirmed", "source": "https://lakedistrict.gov.uk/explore/things-to-do/on-the-water/lakes-activities-guide/", "source_name": "Lake District National Park Authority"}], "photos": []}, "algae": {"date": "2026-09-17", "level": 0, "phrase": "none seen", "result": "No material present", "n_checks": 22, "n_seen": 3, "n_objectionable": 0, "season": 2026}, "lab_sample": {"taken_at": "2026-09-17T13:07+01:00", "ecoli": 18}, "classification": {"class": "excellent", "year": 2025, "history": [[2025, "excellent"], [2024, "excellent"], [2023, "excellent"], [2022, "excellent"], [2021, "excellent"], [2019, "excellent"], [2018, "excellent"], [2017, "excellent"], [2016, "excellent"], [2015, "excellent"], [2014, "excellent"], [2013, "excellent"], [2012, "excellent"], [2011, "good"], [2010, "excellent"], [2009, "excellent"], [2008, "excellent"], [2007, "excellent"], [2006, "excellent"], [2005, "excellent"], [2004, "excellent"]], "url": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukd1203-45625"}, "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 17, "sunrise": "07:21", "sunset": "18:38"}, {"date": "2026-10-06", "tmax": 15, "sunrise": "07:23", "sunset": "18:35"}, {"date": "2026-10-07", "tmax": 12, "sunrise": "07:24", "sunset": "18:33"}, {"date": "2026-10-08", "tmax": 13, "sunrise": "07:26", "sunset": "18:30"}, {"date": "2026-10-09", "tmax": 14, "sunrise": "07:28", "sunset": "18:28"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "bw-ukd1203-45650", "name": "Windermere, Millerground Landing", "kind": "lake", "river": null, "source": "designated", "notes": "Environment Agency designated bathing water", "lat": 54.38071, "lon": -2.92254, "query": {"lat": 54.38071, "lon": -2.92254, "issued_at": "2026-10-05T03:12:57.817785+01:00"}, "location": {"mode": "lake", "watercourse": "Windermere (N Basin)", "snap_distance_m": 46, "form": "lake", "lake_area_km2": 8.7, "lake_source": "polygon", "adopted_main_channel": false, "placement": null, "snapped": {"lat": 54.38111, "lon": -2.92271}}, "river_state": {"station": "Far Sawrey", "river": "Windermere", "level_m": 0.52, "typical_low_m": 0.228, "typical_high_m": 1.0, "index": 0.38, "label": "normal", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "5164", "measure": "735225-level-stage-i-15_min-m", "distance_km": 3.3, "same_river": true}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": false, "season_validated_months": [5, 6, 7, 8, 9], "note": "Not validated on lakes: no ranking skill in the fitting data (16 exceedances in 803 lake samples)."}, "now": {"risk": 0.001, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 1, "monitored_upstream": 4, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.003, "label": "low", "expected_spilling_overflows": 0.3, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 1.5, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.036}, {"date": "2026-10-06", "risk": 0.003, "label": "low", "expected_spilling_overflows": 0.4, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.002, "rain_48h_mm": 3.9, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.031}, {"date": "2026-10-07", "risk": 0.004, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.004, "rain_48h_mm": 4.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.037}, {"date": "2026-10-08", "risk": 0.001, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.001, "rain_48h_mm": 1.6, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.033}, {"date": "2026-10-09", "risk": 0.003, "label": "low", "expected_spilling_overflows": 0.5, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.003, "rain_48h_mm": 4.7, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.028}], "upstream_summary": {"overflows": 4, "with_live_feed": 4, "without_live_feed": 0, "sum_weight": 0.135, "history_days": 3, "max_travel_h": 33.4}, "contributors": [{"site_id": "UUP00804", "company": "United Utilities", "site_name": "Glebe Road PS", "receiving_watercourse": "Lake Windermere", "lat": 54.3581441719415, "lon": -2.9322067438749, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-06-01T21:52:15.400000+00:00", "latest_event_end": "2026-06-01T21:58:25.500000+00:00", "lta_spills": 36.71428680419922, "spill_hours": 190.87916564941406, "snap_confidence": "high", "distance_km": 0.0, "lake_distance_km": 2.6, "travel_h": 14.3, "weight": 0.117, "p_spill_today": 0.002, "p_spill_tomorrow": 0.041, "p_spill_days": [0.002, 0.041, 0.007, 0.003, 0.052], "now_contribution": 0.0}, {"site_id": "UUP00114", "company": "United Utilities", "site_name": "AMBLESIDE WwTW", "receiving_watercourse": "River Rothay", "lat": 54.4288753185906, "lon": -2.9709158486915, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-03-24T15:40:12.400000+00:00", "latest_event_end": "2026-03-25T23:54:13.800000+00:00", "lta_spills": 61.57143020629883, "spill_hours": 983.0338745117188, "snap_confidence": "high", "distance_km": 1.4, "lake_distance_km": 5.2, "travel_h": 29.9, "weight": 0.012, "p_spill_today": 0.018, "p_spill_tomorrow": 0.071, "p_spill_days": [0.018, 0.071, 0.035, 0.014, 0.104], "now_contribution": 0.0}, {"site_id": "UUP00829", "company": "United Utilities", "site_name": "Grasmere Waste Water Treatment Works", "receiving_watercourse": "Grasmere Lake", "lat": 54.4526409716062, "lon": -3.0206800859213, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-10-04T20:06:00+00:00", "latest_event_end": "2026-10-04T20:08:00+00:00", "lta_spills": 83.71428680419922, "spill_hours": 407.6333312988281, "snap_confidence": "high", "distance_km": 7.7, "lake_distance_km": 5.2, "travel_h": 33.4, "weight": 0.001, "p_spill_today": 0.293, "p_spill_tomorrow": 0.223, "p_spill_days": [0.293, 0.223, 0.05, 0.015, 0.228], "now_contribution": 0.001}, {"site_id": "UUP00702", "company": "United Utilities", "site_name": "Elterwater pumping station (ELTER) (LAK0025)", "receiving_watercourse": "Great Langdale Beck", "lat": 54.4334433491738, "lon": -3.0376235488447, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-06-05T02:08:00+00:00", "latest_event_end": "2026-06-05T02:12:00+00:00", "lta_spills": 39.85714340209961, "spill_hours": 423.1805419921875, "snap_confidence": "high", "distance_km": 6.0, "lake_distance_km": 5.2, "travel_h": 32.5, "weight": 0.004, "p_spill_today": 0.011, "p_spill_tomorrow": 0.049, "p_spill_days": [0.011, 0.049, 0.013, 0.004, 0.077], "now_contribution": 0.0}], "guide": {"checked": "2026-10-03", "how": "desk", "facts": [{"topic": "parking", "text": "The same April 2018 National Trust statement says a small free layby by the gate to Low Millerground holds about 8 cars.", "status": "confirmed", "source": "https://nt.global.ssl.fastly.net/binaries/content/assets/website/national/regions/lake-district/places/stagshaw-garden-and-ambleside/pdf/stagshaw-garden-and-ambleside-access-statement.pdf", "source_name": "National Trust"}, {"topic": "parking", "text": "The National Park Authority lists Hammarbank pay and display car park, 600 metres north-west of Windermere town, as handy for short walks to the Millerground lakeshore and woodlands.", "status": "confirmed", "source": "https://lakedistrict.gov.uk/explore/visitor-facilities/car-parks-and-parking/", "source_name": "Lake District National Park Authority"}, {"topic": "path", "text": "The National Trust's access statement (dated April 2018) says the route down to Low Millerground is steep but well surfaced. It says the lakeshore path is mostly level, with some narrow sections and drops to the shore.", "status": "confirmed", "source": "https://nt.global.ssl.fastly.net/binaries/content/assets/website/national/regions/lake-district/places/stagshaw-garden-and-ambleside/pdf/stagshaw-garden-and-ambleside-access-statement.pdf", "source_name": "National Trust"}, {"topic": "entry", "text": "The Environment Agency says the beach at Millerground is very shallow sloping and made of gravel, with larger rocks towards the water's edge.", "status": "confirmed", "source": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukd1203-45650", "source_name": "Environment Agency bathing water profile"}, {"topic": "toilets", "text": "The town council runs toilets at Rayrigg Meadow car park (Millerground), open 7am to 7pm, with a Changing Places room opened by Radar key. Its toilets cost 60p, contactless only; Radar key holders use them free.", "status": "confirmed", "source": "https://www.windermere-tc.gov.uk/council-services/public-toilets/", "source_name": "Windermere and Bowness Town Council"}, {"topic": "rules", "text": "The National Park Authority says swimming is allowed on Windermere. Powered craft must be registered, and there is a 10 nautical mph speed limit, or 6 in some places. The page is about the whole lake and does not name the bathing site.", "status": "confirmed", "source": "https://lakedistrict.gov.uk/explore/things-to-do/on-the-water/lakes-activities-guide/", "source_name": "Lake District National Park Authority"}], "photos": []}, "algae": {"date": "2026-09-17", "level": 0, "phrase": "none seen", "result": "No material present", "n_checks": 21, "n_seen": 2, "n_objectionable": 0, "season": 2026}, "lab_sample": {"taken_at": "2026-09-17T11:30+01:00", "ecoli": 27}, "classification": {"class": "excellent", "year": 2025, "history": [[2025, "excellent"], [2024, "excellent"], [2023, "excellent"], [2022, "excellent"], [2021, "excellent"], [2019, "excellent"], [2018, "excellent"], [2017, "excellent"], [2016, "excellent"], [2015, "excellent"], [2014, "excellent"], [2013, "excellent"], [2012, "good"], [2011, "good"], [2010, "good"], [2009, "good"], [2008, "good"], [2007, "good"], [2006, "good"], [2005, "sufficient"], [2004, "good"]], "url": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukd1203-45650"}, "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 17, "sunrise": "07:21", "sunset": "18:38"}, {"date": "2026-10-06", "tmax": 16, "sunrise": "07:23", "sunset": "18:35"}, {"date": "2026-10-07", "tmax": 12, "sunrise": "07:24", "sunset": "18:33"}, {"date": "2026-10-08", "tmax": 12, "sunrise": "07:26", "sunset": "18:30"}, {"date": "2026-10-09", "tmax": 13, "sunrise": "07:28", "sunset": "18:28"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "bw-ukd1203-45675", "name": "Windermere, Rayrigg Meadow", "kind": "lake", "river": null, "source": "designated", "notes": "Environment Agency designated bathing water", "lat": 54.37816, "lon": -2.9225, "query": {"lat": 54.37816, "lon": -2.9225, "issued_at": "2026-10-05T03:12:58.041449+01:00"}, "location": {"mode": "lake", "watercourse": "Windermere (N Basin)", "snap_distance_m": 322, "form": "lake", "lake_area_km2": 8.7, "lake_source": "polygon", "adopted_main_channel": false, "placement": null, "snapped": {"lat": 54.38097, "lon": -2.92368}}, "river_state": {"station": "Far Sawrey", "river": "Windermere", "level_m": 0.52, "typical_low_m": 0.228, "typical_high_m": 1.0, "index": 0.38, "label": "normal", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "5164", "measure": "735225-level-stage-i-15_min-m", "distance_km": 3.0, "same_river": true}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": false, "season_validated_months": [5, 6, 7, 8, 9], "note": "Not validated on lakes: no ranking skill in the fitting data (16 exceedances in 803 lake samples)."}, "now": {"risk": 0.001, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 1, "monitored_upstream": 4, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.004, "label": "low", "expected_spilling_overflows": 0.3, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 1.5, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.036}, {"date": "2026-10-06", "risk": 0.003, "label": "low", "expected_spilling_overflows": 0.4, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.003, "rain_48h_mm": 3.9, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.032}, {"date": "2026-10-07", "risk": 0.004, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.004, "rain_48h_mm": 4.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.036}, {"date": "2026-10-08", "risk": 0.001, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.001, "rain_48h_mm": 1.6, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.033}, {"date": "2026-10-09", "risk": 0.004, "label": "low", "expected_spilling_overflows": 0.5, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.004, "rain_48h_mm": 4.7, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.03}], "upstream_summary": {"overflows": 4, "with_live_feed": 4, "without_live_feed": 0, "sum_weight": 0.147, "history_days": 3, "max_travel_h": 34.7}, "contributors": [{"site_id": "UUP00804", "company": "United Utilities", "site_name": "Glebe Road PS", "receiving_watercourse": "Lake Windermere", "lat": 54.3581441719415, "lon": -2.9322067438749, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-06-01T21:52:15.400000+00:00", "latest_event_end": "2026-06-01T21:58:25.500000+00:00", "lta_spills": 36.71428680419922, "spill_hours": 190.87916564941406, "snap_confidence": "high", "distance_km": 0.0, "lake_distance_km": 2.3, "travel_h": 12.8, "weight": 0.132, "p_spill_today": 0.002, "p_spill_tomorrow": 0.041, "p_spill_days": [0.002, 0.041, 0.007, 0.003, 0.052], "now_contribution": 0.0}, {"site_id": "UUP00114", "company": "United Utilities", "site_name": "AMBLESIDE WwTW", "receiving_watercourse": "River Rothay", "lat": 54.4288753185906, "lon": -2.9709158486915, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-03-24T15:40:12.400000+00:00", "latest_event_end": "2026-03-25T23:54:13.800000+00:00", "lta_spills": 61.57143020629883, "spill_hours": 983.0338745117188, "snap_confidence": "high", "distance_km": 1.4, "lake_distance_km": 5.5, "travel_h": 31.2, "weight": 0.011, "p_spill_today": 0.018, "p_spill_tomorrow": 0.071, "p_spill_days": [0.018, 0.071, 0.035, 0.014, 0.104], "now_contribution": 0.0}, {"site_id": "UUP00829", "company": "United Utilities", "site_name": "Grasmere Waste Water Treatment Works", "receiving_watercourse": "Grasmere Lake", "lat": 54.4526409716062, "lon": -3.0206800859213, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-10-04T20:06:00+00:00", "latest_event_end": "2026-10-04T20:08:00+00:00", "lta_spills": 83.71428680419922, "spill_hours": 407.6333312988281, "snap_confidence": "high", "distance_km": 7.7, "lake_distance_km": 5.5, "travel_h": 34.7, "weight": 0.001, "p_spill_today": 0.293, "p_spill_tomorrow": 0.223, "p_spill_days": [0.293, 0.223, 0.05, 0.015, 0.228], "now_contribution": 0.001}, {"site_id": "UUP00702", "company": "United Utilities", "site_name": "Elterwater pumping station (ELTER) (LAK0025)", "receiving_watercourse": "Great Langdale Beck", "lat": 54.4334433491738, "lon": -3.0376235488447, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-06-05T02:08:00+00:00", "latest_event_end": "2026-06-05T02:12:00+00:00", "lta_spills": 39.85714340209961, "spill_hours": 423.1805419921875, "snap_confidence": "high", "distance_km": 6.0, "lake_distance_km": 5.5, "travel_h": 33.8, "weight": 0.004, "p_spill_today": 0.011, "p_spill_tomorrow": 0.049, "p_spill_days": [0.011, 0.049, 0.013, 0.004, 0.077], "now_contribution": 0.0}], "guide": {"checked": "2026-10-03", "how": "desk", "facts": [{"topic": "parking", "text": "Rayrigg Meadow car park (LA23 1BP) is open all day, seven days a week, with charges from 8am to 8pm. It has 45 general and 5 disabled spaces, no height limit, and takes coins or pay by phone (code 9902).", "status": "confirmed", "source": "https://www.westmorlandandfurness.gov.uk/parking-streets-and-transport/parking/find-car-park-near-you/rayrigg-meadow-car-park", "source_name": "Westmorland and Furness Council"}, {"topic": "parking", "text": "The car park charges \u00a32.60 for up to 1 hour, \u00a34.40 up to 2 hours, \u00a35.80 up to 3, \u00a37.40 up to 4, \u00a38.80 up to 6 and \u00a310.60 all day. Motorcycles park free, and Blue Badge holders get an extra free hour with a clock disc.", "status": "confirmed", "source": "https://www.westmorlandandfurness.gov.uk/parking-streets-and-transport/parking/find-car-park-near-you/rayrigg-meadow-car-park", "source_name": "Westmorland and Furness Council"}, {"topic": "path", "text": "The council says Rayrigg Meadow has an accessible path to the lake shore.", "status": "confirmed", "source": "https://www.westmorlandandfurness.gov.uk/parks-culture-and-leisure/parks-and-open-spaces/parks-and-public-gardens/rayrigg-meadow", "source_name": "Westmorland and Furness Council"}, {"topic": "entry", "text": "The Environment Agency says the beach at Rayrigg Meadow is shallow sloping and made of gravel, with larger rocks towards the water's edge.", "status": "confirmed", "source": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukd1203-45675", "source_name": "Environment Agency bathing water profile"}, {"topic": "entry", "text": "The council lists lake frontage with public jetties and swimming areas among the facilities at Rayrigg Meadow.", "status": "confirmed", "source": "https://www.westmorlandandfurness.gov.uk/parks-culture-and-leisure/parks-and-open-spaces/parks-and-public-gardens/rayrigg-meadow", "source_name": "Westmorland and Furness Council"}, {"topic": "toilets", "text": "The town council runs toilets at Rayrigg Meadow car park, open 7am to 7pm, with a Changing Places room opened by Radar key. Its toilets cost 60p, contactless only; Radar key holders use them free.", "status": "confirmed", "source": "https://www.windermere-tc.gov.uk/council-services/public-toilets/", "source_name": "Windermere and Bowness Town Council"}, {"topic": "rules", "text": "The National Park Authority says swimming is allowed on Windermere. Powered craft must be registered, and there is a 10 nautical mph speed limit, or 6 in some places. The page is about the whole lake and does not name the bathing site.", "status": "confirmed", "source": "https://lakedistrict.gov.uk/explore/things-to-do/on-the-water/lakes-activities-guide/", "source_name": "Lake District National Park Authority"}], "photos": []}, "algae": {"date": "2026-09-17", "level": 0, "phrase": "none seen", "result": "No material present", "n_checks": 21, "n_seen": 2, "n_objectionable": 0, "season": 2026}, "lab_sample": {"taken_at": "2026-09-17T11:40+01:00", "ecoli": 18}, "classification": {"class": "excellent", "year": 2025, "history": [[2025, "excellent"], [2024, "excellent"], [2023, "excellent"], [2022, "excellent"], [2021, "excellent"], [2019, "excellent"], [2018, "excellent"], [2017, "excellent"], [2016, "excellent"], [2015, "excellent"]], "url": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukd1203-45675"}, "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 17, "sunrise": "07:21", "sunset": "18:38"}, {"date": "2026-10-06", "tmax": 16, "sunrise": "07:23", "sunset": "18:35"}, {"date": "2026-10-07", "tmax": 12, "sunrise": "07:24", "sunset": "18:33"}, {"date": "2026-10-08", "tmax": 12, "sunrise": "07:26", "sunset": "18:30"}, {"date": "2026-10-09", "tmax": 13, "sunrise": "07:28", "sunset": "18:28"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "bw-ukd1203-45700", "name": "Windermere, Fellfoot", "kind": "lake", "river": null, "source": "designated", "notes": "Environment Agency designated bathing water", "lat": 54.27452, "lon": -2.95377, "query": {"lat": 54.27452, "lon": -2.95377, "issued_at": "2026-10-05T03:12:58.261228+01:00"}, "location": {"mode": "lake", "watercourse": "Windermere (S Basin)", "snap_distance_m": 43, "form": "lake", "lake_area_km2": 6.1, "lake_source": "polygon", "adopted_main_channel": false, "placement": null, "snapped": {"lat": 54.2746, "lon": -2.95442}}, "river_state": {"station": "Far Sawrey", "river": "Windermere", "level_m": 0.52, "typical_low_m": 0.228, "typical_high_m": 1.0, "index": 0.38, "label": "normal", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "5164", "measure": "735225-level-stage-i-15_min-m", "distance_km": 8.7, "same_river": true}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": false, "season_validated_months": [5, 6, 7, 8, 9], "note": "Not validated on lakes: no ranking skill in the fitting data (16 exceedances in 803 lake samples)."}, "now": {"risk": 0.001, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 2, "monitored_upstream": 6, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.003, "label": "low", "expected_spilling_overflows": 0.4, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 1.1, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.035}, {"date": "2026-10-06", "risk": 0.001, "label": "low", "expected_spilling_overflows": 0.6, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 4.1, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.023}, {"date": "2026-10-07", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.3, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 5.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.024}, {"date": "2026-10-08", "risk": 0.001, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.001, "rain_48h_mm": 2.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.03}, {"date": "2026-10-09", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.9, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 4.8, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.021}], "upstream_summary": {"overflows": 6, "with_live_feed": 6, "without_live_feed": 0, "sum_weight": 0.011, "history_days": 4, "max_travel_h": 66.1}, "contributors": [{"site_id": "UUP00804", "company": "United Utilities", "site_name": "Glebe Road PS", "receiving_watercourse": "Lake Windermere", "lat": 54.3581441719415, "lon": -2.9322067438749, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-06-01T21:52:15.400000+00:00", "latest_event_end": "2026-06-01T21:58:25.500000+00:00", "lta_spills": 36.71428680419922, "spill_hours": 190.87916564941406, "snap_confidence": "high", "distance_km": 0.0, "lake_distance_km": 9.4, "travel_h": 52.5, "weight": 0.006, "p_spill_today": 0.002, "p_spill_tomorrow": 0.041, "p_spill_days": [0.002, 0.041, 0.007, 0.003, 0.052], "now_contribution": 0.0}, {"site_id": "UUP00919", "company": "United Utilities", "site_name": "Hawkshead Pumping Station (Site ID HWKSH) (LAK0107)", "receiving_watercourse": "Black Beck", "lat": 54.3727941314382, "lon": -2.9940523368901, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-10-02T22:59:48.600000+00:00", "latest_event_end": "2026-10-02T23:08:33.200000+00:00", "lta_spills": 141.875, "spill_hours": 1825.2188720703125, "snap_confidence": "high", "distance_km": 6.5, "lake_distance_km": 6.7, "travel_h": 40.7, "weight": 0.001, "p_spill_today": 0.064, "p_spill_tomorrow": 0.164, "p_spill_days": [0.064, 0.164, 0.097, 0.05, 0.235], "now_contribution": 0.0}, {"site_id": "UUP01370", "company": "United Utilities", "site_name": "NEAR SAWREY WwTW", "receiving_watercourse": "Cunsey Beck", "lat": 54.3475811651577, "lon": -2.9768434330522, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-09-18T07:39:17.400000+00:00", "latest_event_end": null, "lta_spills": 100.0, "spill_hours": 1352.5611572265625, "snap_confidence": "high", "distance_km": 3.2, "lake_distance_km": 6.7, "travel_h": 38.9, "weight": 0.002, "p_spill_today": 0.034, "p_spill_tomorrow": 0.087, "p_spill_days": [0.034, 0.087, 0.055, 0.023, 0.199], "now_contribution": 0.0}, {"site_id": "UUP00114", "company": "United Utilities", "site_name": "AMBLESIDE WwTW", "receiving_watercourse": "River Rothay", "lat": 54.4288753185906, "lon": -2.9709158486915, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-03-24T15:40:12.400000+00:00", "latest_event_end": "2026-03-25T23:54:13.800000+00:00", "lta_spills": 61.57143020629883, "spill_hours": 983.0338745117188, "snap_confidence": "high", "distance_km": 7.9, "lake_distance_km": 10.5, "travel_h": 62.6, "weight": 0.001, "p_spill_today": 0.018, "p_spill_tomorrow": 0.071, "p_spill_days": [0.018, 0.071, 0.035, 0.014, 0.104], "now_contribution": 0.0}, {"site_id": "UUP00829", "company": "United Utilities", "site_name": "Grasmere Waste Water Treatment Works", "receiving_watercourse": "Grasmere Lake", "lat": 54.4526409716062, "lon": -3.0206800859213, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-10-04T20:06:00+00:00", "latest_event_end": "2026-10-04T20:08:00+00:00", "lta_spills": 83.71428680419922, "spill_hours": 407.6333312988281, "snap_confidence": "high", "distance_km": 14.1, "lake_distance_km": 10.5, "travel_h": 66.1, "weight": 0.0, "p_spill_today": 0.293, "p_spill_tomorrow": 0.223, "p_spill_days": [0.293, 0.223, 0.05, 0.015, 0.228], "now_contribution": 0.0}, {"site_id": "UUP00702", "company": "United Utilities", "site_name": "Elterwater pumping station (ELTER) (LAK0025)", "receiving_watercourse": "Great Langdale Beck", "lat": 54.4334433491738, "lon": -3.0376235488447, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-06-05T02:08:00+00:00", "latest_event_end": "2026-06-05T02:12:00+00:00", "lta_spills": 39.85714340209961, "spill_hours": 423.1805419921875, "snap_confidence": "high", "distance_km": 12.5, "lake_distance_km": 10.5, "travel_h": 65.2, "weight": 0.0, "p_spill_today": 0.011, "p_spill_tomorrow": 0.049, "p_spill_days": [0.011, 0.049, 0.013, 0.004, 0.077], "now_contribution": 0.0}], "guide": {"checked": "2026-10-03", "how": "desk", "facts": [{"topic": "parking", "text": "Parking costs \u00a37 for 2 hours, \u00a38.50 for 4 hours or \u00a310 all day, paid by cash at the machine or the JustPark app (location code 998931). National Trust members park free.", "status": "confirmed", "source": "https://www.nationaltrust.org.uk/visit/lake-district/fell-foot", "source_name": "National Trust"}, {"topic": "parking", "text": "There are North, South and Active Base car parks, with 10 disabled spaces between them. Parking is ticketless with number plate recognition, and Blue Badge holders park free after telling the Welcome Team.", "status": "confirmed", "source": "https://www.nationaltrust.org.uk/visit/lake-district/fell-foot/access-at-fell-foot", "source_name": "National Trust"}, {"topic": "path", "text": "The Environment Agency says a National Trust park leads down to the bathing water at the lake edge.", "status": "confirmed", "source": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukd1203-45700", "source_name": "Environment Agency bathing water profile"}, {"topic": "path", "text": "Paths from the North and South car parks run downhill to the Boathouse caf\u00e9 and the lakeshore. There is no shuttle from the car parks, and some routes in the park have steps.", "status": "confirmed", "source": "https://www.nationaltrust.org.uk/visit/lake-district/fell-foot/access-at-fell-foot", "source_name": "National Trust"}, {"topic": "path", "text": "The Stagecoach number 6 bus runs all year and stops right outside the park entrance at the 'Fell Foot Country Park' stop. The National Trust advises against the X6 to Newby Bridge because that stretch of the A592 has no pavement.", "status": "confirmed", "source": "https://www.nationaltrust.org.uk/visit/lake-district/fell-foot", "source_name": "National Trust"}, {"topic": "path", "text": "A Windermere Lake Cruises ferry runs between Lakeside and Fell Foot from 23 May to 27 September 2026.", "status": "confirmed", "source": "https://www.nationaltrust.org.uk/visit/lake-district/fell-foot", "source_name": "National Trust"}, {"topic": "entry", "text": "The Environment Agency says a gravel beach is left exposed when the lake level is low.", "status": "confirmed", "source": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukd1203-45700", "source_name": "Environment Agency bathing water profile"}, {"topic": "toilets", "text": "Toilets are in the North car park (reached by steps) and next to the Boathouse caf\u00e9, with baby changing. Accessible toilets are in the North car park and at the Active Base, where you ask caf\u00e9 or office staff for a free key fob.", "status": "confirmed", "source": "https://www.nationaltrust.org.uk/visit/lake-district/fell-foot/access-at-fell-foot", "source_name": "National Trust"}, {"topic": "toilets", "text": "A Changing Places facility is in the boatshed next to the Boathouse Caf\u00e9. It needs a Radar key, which you can borrow from the caf\u00e9.", "status": "confirmed", "source": "https://www.nationaltrust.org.uk/visit/lake-district/fell-foot", "source_name": "National Trust"}, {"topic": "changing", "text": "The Active Base is a changing building with showers, lockers and underfloor heating. Day passes cost from \u00a32 at the caf\u00e9.", "status": "confirmed", "source": "https://www.nationaltrust.org.uk/visit/lake-district/fell-foot/activities-on-lake-windermere-at-fell-foot", "source_name": "National Trust"}, {"topic": "fees", "text": "Active Base annual passes cost \u00a383 and are arranged by email. The Active Base is only staffed on Tuesdays.", "status": "confirmed", "source": "https://www.nationaltrust.org.uk/visit/lake-district/fell-foot/activities-on-lake-windermere-at-fell-foot", "source_name": "National Trust"}, {"topic": "rules", "text": "The National Trust says people swim at Fell Foot and asks swimmers to be sensible, follow safety advice and know their limits. It points swimmers to the National Park's swimming guide.", "status": "confirmed", "source": "https://www.nationaltrust.org.uk/visit/lake-district/fell-foot/activities-on-lake-windermere-at-fell-foot", "source_name": "National Trust"}, {"topic": "rules", "text": "A boat channel runs along the Fell Foot foreshore, marked by red and yellow buoys; keep out of the way of boats using it. A seasonal ferry to Lakeside also crosses the lake slightly to the north.", "status": "confirmed", "source": "https://www.nationaltrust.org.uk/visit/lake-district/fell-foot/water-safety-at-fell-foot", "source_name": "National Trust"}, {"topic": "rules", "text": "The National Park Authority says swimming is allowed on Windermere. Powered craft must be registered, and there is a 10 nautical mph speed limit, or 6 in some places. The page is about the whole lake and does not name the bathing site.", "status": "confirmed", "source": "https://lakedistrict.gov.uk/explore/things-to-do/on-the-water/lakes-activities-guide/", "source_name": "Lake District National Park Authority"}], "photos": []}, "algae": {"date": "2026-09-17", "level": 0, "phrase": "none seen", "result": "No material present", "n_checks": 22, "n_seen": 2, "n_objectionable": 0, "season": 2026}, "lab_sample": {"taken_at": "2026-09-17T12:40+01:00", "ecoli": 18}, "classification": {"class": "excellent", "year": 2025, "history": [[2025, "excellent"], [2024, "excellent"], [2023, "excellent"], [2022, "excellent"], [2021, "excellent"], [2019, "excellent"], [2018, "excellent"], [2017, "excellent"], [2016, "excellent"], [2015, "excellent"], [2014, "good"], [2013, "good"], [2012, "good"], [2011, "good"], [2010, "good"], [2009, "sufficient"], [2008, "sufficient"], [2007, "good"], [2006, "excellent"], [2005, "excellent"], [2004, "excellent"]], "url": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukd1203-45700"}, "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 17, "sunrise": "07:21", "sunset": "18:38"}, {"date": "2026-10-06", "tmax": 15, "sunrise": "07:23", "sunset": "18:35"}, {"date": "2026-10-07", "tmax": 12, "sunrise": "07:24", "sunset": "18:33"}, {"date": "2026-10-08", "tmax": 13, "sunrise": "07:26", "sunset": "18:31"}, {"date": "2026-10-09", "tmax": 14, "sunrise": "07:28", "sunset": "18:28"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "bw-ukd1230-45725", "name": "Coniston Water, Brown Howe", "kind": "lake", "river": null, "source": "designated", "notes": "Environment Agency designated bathing water", "lat": 54.31134, "lon": -3.09122, "query": {"lat": 54.31134, "lon": -3.09122, "issued_at": "2026-10-05T03:12:58.519075+01:00"}, "location": {"mode": "lake", "watercourse": "Coniston Water", "snap_distance_m": 189, "form": "lake", "lake_area_km2": 4.8, "lake_source": "polygon", "adopted_main_channel": false, "placement": null, "snapped": {"lat": 54.31115, "lon": -3.08833}}, "river_state": {"station": "Brown Howe", "river": "Coniston Water", "level_m": 0.831, "typical_low_m": 0.429, "typical_high_m": 1.382, "index": 0.42, "label": "normal", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "5165", "measure": "737536-level-stage-i-15_min-m", "distance_km": 0.4, "same_river": true}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": false, "season_validated_months": [5, 6, 7, 8, 9], "note": "Not validated on lakes: no ranking skill in the fitting data (16 exceedances in 803 lake samples)."}, "now": {"risk": 0.002, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 2, "monitored_upstream": 2, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.004, "label": "low", "expected_spilling_overflows": 0.6, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.8, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.042}, {"date": "2026-10-06", "risk": 0.006, "label": "low", "expected_spilling_overflows": 0.8, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.002, "rain_48h_mm": 4.5, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.036}, {"date": "2026-10-07", "risk": 0.006, "label": "low", "expected_spilling_overflows": 0.3, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.004, "rain_48h_mm": 5.4, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.039}, {"date": "2026-10-08", "risk": 0.003, "label": "low", "expected_spilling_overflows": 0.2, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.003, "rain_48h_mm": 1.7, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.041}, {"date": "2026-10-09", "risk": 0.005, "label": "low", "expected_spilling_overflows": 0.7, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.005, "rain_48h_mm": 6.5, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.03}], "upstream_summary": {"overflows": 2, "with_live_feed": 2, "without_live_feed": 0, "sum_weight": 0.027, "history_days": 3, "max_travel_h": 33.4}, "contributors": [{"site_id": "UUP01954", "company": "United Utilities", "site_name": "TORVER WwTW", "receiving_watercourse": "Tributary of Torver Beck", "lat": 54.3358586331777, "lon": -3.1062192188226, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-10-02T21:14:00+00:00", "latest_event_end": "2026-10-02T21:44:00+00:00", "lta_spills": 81.0, "spill_hours": 316.23529052734375, "snap_confidence": "high", "distance_km": 2.5, "lake_distance_km": 1.1, "travel_h": 7.6, "weight": 0.02, "p_spill_today": 0.044, "p_spill_tomorrow": 0.167, "p_spill_days": [0.044, 0.167, 0.033, 0.009, 0.244], "now_contribution": 0.001}, {"site_id": "UUP00534", "company": "United Utilities", "site_name": "Coniston WwTW", "receiving_watercourse": "Church Beck", "lat": 54.3642465384594, "lon": -3.0677361682585, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-10-02T21:40:00+00:00", "latest_event_end": "2026-10-02T22:36:00+00:00", "lta_spills": 168.125, "spill_hours": 1765.0947265625, "snap_confidence": "high", "distance_km": 0.1, "lake_distance_km": 6.0, "travel_h": 33.4, "weight": 0.007, "p_spill_today": 0.605, "p_spill_tomorrow": 0.671, "p_spill_days": [0.605, 0.671, 0.225, 0.145, 0.433], "now_contribution": 0.002}], "guide": {"checked": "2026-10-03", "how": "desk", "facts": [{"topic": "parking", "text": "Brown Howe car park on the south-west shore of Coniston Water is pay and display, taking coins, cards or RingGo (car park ID 37300). It has seasonal toilets, including disabled.", "status": "confirmed", "source": "https://lakedistrict.gov.uk/explore/visitor-facilities/car-parks-and-parking/", "source_name": "Lake District National Park Authority"}, {"topic": "entry", "text": "The Environment Agency says Brown Howe is on the south-western shore of Coniston Water and has a gravel beach.", "status": "confirmed", "source": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukd1230-45725", "source_name": "Environment Agency bathing water profile"}, {"topic": "toilets", "text": "Brown Howe car park (National Park Authority) has toilets with baby changing. They are closed in the winter months.", "status": "confirmed", "source": "https://lakedistrict.gov.uk/explore/visitor-facilities/public-toilets/", "source_name": "Lake District National Park Authority"}, {"topic": "rules", "text": "The National Park Authority says swimming is allowed on Coniston Water, and powered craft are allowed with a 10mph speed limit. The page is about the whole lake and does not name the bathing site.", "status": "confirmed", "source": "https://lakedistrict.gov.uk/explore/things-to-do/on-the-water/lakes-activities-guide/", "source_name": "Lake District National Park Authority"}], "photos": []}, "algae": {"date": "2026-09-13", "level": 0, "phrase": "none seen", "result": "No material present", "n_checks": 19, "n_seen": 1, "n_objectionable": 0, "season": 2026}, "lab_sample": {"taken_at": "2026-09-16T11:55+01:00", "ecoli": 91}, "classification": {"class": "good", "year": 2025, "history": [[2025, "good"], [2024, "good"]], "url": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukd1230-45725"}, "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 17, "sunrise": "07:21", "sunset": "18:38"}, {"date": "2026-10-06", "tmax": 15, "sunrise": "07:23", "sunset": "18:36"}, {"date": "2026-10-07", "tmax": 12, "sunrise": "07:25", "sunset": "18:33"}, {"date": "2026-10-08", "tmax": 13, "sunrise": "07:27", "sunset": "18:31"}, {"date": "2026-10-09", "tmax": 14, "sunrise": "07:29", "sunset": "18:29"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "bw-ukd1230-45750", "name": "Coniston Water, Boating Centre", "kind": "lake", "river": null, "source": "designated", "notes": "Environment Agency designated bathing water", "lat": 54.36396, "lon": -3.06608, "query": {"lat": 54.36396, "lon": -3.06608, "issued_at": "2026-10-05T03:12:58.685923+01:00"}, "location": {"mode": "lake", "watercourse": "Coniston Water", "snap_distance_m": 84, "form": "lake", "lake_area_km2": 4.8, "lake_source": "polygon", "adopted_main_channel": false, "placement": null, "snapped": {"lat": 54.36323, "lon": -3.06642}}, "river_state": {"station": "Brown Howe", "river": "Coniston Water", "level_m": 0.831, "typical_low_m": 0.429, "typical_high_m": 1.382, "index": 0.42, "label": "normal", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "5165", "measure": "737536-level-stage-i-15_min-m", "distance_km": 6.5, "same_river": true}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": false, "season_validated_months": [5, 6, 7, 8, 9], "note": "Not validated on lakes: no ranking skill in the fitting data (16 exceedances in 803 lake samples)."}, "now": {"risk": 0.001, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 1, "monitored_upstream": 2, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.052, "label": "low", "expected_spilling_overflows": 0.6, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 3.5, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.065}, {"date": "2026-10-06", "risk": 0.058, "label": "low", "expected_spilling_overflows": 0.8, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.056, "rain_48h_mm": 8.4, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.062}, {"date": "2026-10-07", "risk": 0.021, "label": "low", "expected_spilling_overflows": 0.3, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.021, "rain_48h_mm": 6.1, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.057}, {"date": "2026-10-08", "risk": 0.013, "label": "low", "expected_spilling_overflows": 0.2, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.013, "rain_48h_mm": 1.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.061}, {"date": "2026-10-09", "risk": 0.037, "label": "low", "expected_spilling_overflows": 0.7, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.037, "rain_48h_mm": 6.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.053}], "upstream_summary": {"overflows": 2, "with_live_feed": 2, "without_live_feed": 0, "sum_weight": 0.09, "history_days": 3, "max_travel_h": 29.1}, "contributors": [{"site_id": "UUP00534", "company": "United Utilities", "site_name": "Coniston WwTW", "receiving_watercourse": "Church Beck", "lat": 54.3642465384594, "lon": -3.0677361682585, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-10-02T21:40:00+00:00", "latest_event_end": "2026-10-02T22:36:00+00:00", "lta_spills": 168.125, "spill_hours": 1765.0947265625, "snap_confidence": "high", "distance_km": 0.1, "lake_distance_km": 0.1, "travel_h": 0.5, "weight": 0.086, "p_spill_today": 0.605, "p_spill_tomorrow": 0.671, "p_spill_days": [0.605, 0.671, 0.225, 0.145, 0.433], "now_contribution": 0.0}, {"site_id": "UUP01954", "company": "United Utilities", "site_name": "TORVER WwTW", "receiving_watercourse": "Tributary of Torver Beck", "lat": 54.3358586331777, "lon": -3.1062192188226, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-10-02T21:14:00+00:00", "latest_event_end": "2026-10-02T21:44:00+00:00", "lta_spills": 81.0, "spill_hours": 316.23529052734375, "snap_confidence": "high", "distance_km": 2.5, "lake_distance_km": 5.0, "travel_h": 29.1, "weight": 0.004, "p_spill_today": 0.044, "p_spill_tomorrow": 0.167, "p_spill_days": [0.044, 0.167, 0.033, 0.009, 0.244], "now_contribution": 0.001}], "guide": {"checked": "2026-10-03", "how": "desk", "facts": [{"topic": "parking", "text": "Car park charges apply 9am to 6pm: up to 2 hours \u00a35, 3 hours \u00a35, 4 hours \u00a36.50, 5 hours \u00a37, all day (24 hours) \u00a38.50. They apply to all vehicles, including blue badge holders. EV charging points are available.", "status": "confirmed", "source": "https://www.conistonboatingcentre.co.uk/visiting-information/location-and-travel/", "source_name": "Coniston Boating Centre"}, {"topic": "parking", "text": "The National Park Authority lists the Boating Centre car park as pay and display with coins, cards or RingGo (car park ID 37314), plus toilets including disabled, coach parking and EV chargers.", "status": "confirmed", "source": "https://lakedistrict.gov.uk/explore/visitor-facilities/car-parks-and-parking/", "source_name": "Lake District National Park Authority"}, {"topic": "path", "text": "Buses serve Coniston village: the Stagecoach 505 from Kendal via Ambleside and Hawkshead, and the X12 from Ulverston via Torver. From the village it is about half a mile on foot to the lakeshore and the Boating Centre.", "status": "confirmed", "source": "https://www.conistonboatingcentre.co.uk/visiting-information/location-and-travel/", "source_name": "Coniston Boating Centre"}, {"topic": "entry", "text": "The Environment Agency says the site is on the north-western shore of Coniston Water and has a gravel beach.", "status": "confirmed", "source": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukd1230-45750", "source_name": "Environment Agency bathing water profile"}, {"topic": "toilets", "text": "Toilets are next to the Boating Centre car park.", "status": "confirmed", "source": "https://www.conistonboatingcentre.co.uk/visiting-information/location-and-travel/", "source_name": "Coniston Boating Centre"}, {"topic": "toilets", "text": "The National Park Authority lists toilets with baby changing at the Coniston Boating Centre car park.", "status": "confirmed", "source": "https://lakedistrict.gov.uk/explore/visitor-facilities/public-toilets/", "source_name": "Lake District National Park Authority"}, {"topic": "rules", "text": "The Boating Centre says you are welcome to swim from it. It warns that Coniston Water is busy with motorboats, sailing boats and other craft, and advises a route along the shoreline and making yourself visible.", "status": "confirmed", "source": "https://www.conistonboatingcentre.co.uk/visiting-information/", "source_name": "Coniston Boating Centre"}, {"topic": "rules", "text": "The National Park Authority says swimming is allowed on Coniston Water, and powered craft are allowed with a 10mph speed limit. The page is about the whole lake and does not name the bathing site.", "status": "confirmed", "source": "https://lakedistrict.gov.uk/explore/things-to-do/on-the-water/lakes-activities-guide/", "source_name": "Lake District National Park Authority"}], "photos": []}, "algae": {"date": "2026-09-16", "level": 0, "phrase": "none seen", "result": "No material present", "n_checks": 20, "n_seen": 0, "n_objectionable": 0, "season": 2026}, "lab_sample": {"taken_at": "2026-09-16T11:16+01:00", "ecoli": 91}, "classification": {"class": "sufficient", "year": 2025, "history": [[2025, "sufficient"], [2024, "poor"]], "url": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukd1230-45750"}, "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 17, "sunrise": "07:21", "sunset": "18:38"}, {"date": "2026-10-06", "tmax": 15, "sunrise": "07:23", "sunset": "18:36"}, {"date": "2026-10-07", "tmax": 12, "sunrise": "07:25", "sunset": "18:33"}, {"date": "2026-10-08", "tmax": 12, "sunrise": "07:27", "sunset": "18:31"}, {"date": "2026-10-09", "tmax": 13, "sunrise": "07:29", "sunset": "18:28"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "bw-ukd1230-45775", "name": "Coniston Water, Monk Coniston", "kind": "lake", "river": null, "source": "designated", "notes": "Environment Agency designated bathing water", "lat": 54.37179, "lon": -3.05435, "query": {"lat": 54.37179, "lon": -3.05435, "issued_at": "2026-10-05T03:12:58.848887+01:00"}, "location": {"mode": "lake", "watercourse": "Coniston Water", "snap_distance_m": 159, "form": "lake", "lake_area_km2": 4.8, "lake_source": "polygon", "adopted_main_channel": false, "placement": null, "snapped": {"lat": 54.37179, "lon": -3.0568}}, "river_state": {"station": "Brown Howe", "river": "Coniston Water", "level_m": 0.831, "typical_low_m": 0.429, "typical_high_m": 1.382, "index": 0.42, "label": "normal", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "5165", "measure": "737536-level-stage-i-15_min-m", "distance_km": 7.6, "same_river": true}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": false, "season_validated_months": [5, 6, 7, 8, 9], "note": "Not validated on lakes: no ranking skill in the fitting data (16 exceedances in 803 lake samples)."}, "now": {"risk": 0.002, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 2, "monitored_upstream": 2, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.029, "label": "low", "expected_spilling_overflows": 0.6, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 3.5, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.055}, {"date": "2026-10-06", "risk": 0.034, "label": "low", "expected_spilling_overflows": 0.8, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.025, "rain_48h_mm": 8.4, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.053}, {"date": "2026-10-07", "risk": 0.019, "label": "low", "expected_spilling_overflows": 0.3, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.019, "rain_48h_mm": 6.1, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.055}, {"date": "2026-10-08", "risk": 0.009, "label": "low", "expected_spilling_overflows": 0.2, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.009, "rain_48h_mm": 1.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.056}, {"date": "2026-10-09", "risk": 0.018, "label": "low", "expected_spilling_overflows": 0.7, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.018, "rain_48h_mm": 6.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.044}], "upstream_summary": {"overflows": 2, "with_live_feed": 2, "without_live_feed": 0, "sum_weight": 0.055, "history_days": 3, "max_travel_h": 35.1}, "contributors": [{"site_id": "UUP00534", "company": "United Utilities", "site_name": "Coniston WwTW", "receiving_watercourse": "Church Beck", "lat": 54.3642465384594, "lon": -3.0677361682585, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-10-02T21:40:00+00:00", "latest_event_end": "2026-10-02T22:36:00+00:00", "lta_spills": 168.125, "spill_hours": 1765.0947265625, "snap_confidence": "high", "distance_km": 0.1, "lake_distance_km": 1.2, "travel_h": 6.9, "weight": 0.053, "p_spill_today": 0.605, "p_spill_tomorrow": 0.671, "p_spill_days": [0.605, 0.671, 0.225, 0.145, 0.433], "now_contribution": 0.002}, {"site_id": "UUP01954", "company": "United Utilities", "site_name": "TORVER WwTW", "receiving_watercourse": "Tributary of Torver Beck", "lat": 54.3358586331777, "lon": -3.1062192188226, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-10-02T21:14:00+00:00", "latest_event_end": "2026-10-02T21:44:00+00:00", "lta_spills": 81.0, "spill_hours": 316.23529052734375, "snap_confidence": "high", "distance_km": 2.5, "lake_distance_km": 6.1, "travel_h": 35.1, "weight": 0.002, "p_spill_today": 0.044, "p_spill_tomorrow": 0.167, "p_spill_days": [0.044, 0.167, 0.033, 0.009, 0.244], "now_contribution": 0.001}], "guide": {"checked": "2026-10-03", "how": "desk", "facts": [{"topic": "parking", "text": "Monk Coniston car park on the northern lakeshore is pay and display, taking coins, cards or RingGo (car park ID 37307). It has seasonal toilets, including disabled.", "status": "confirmed", "source": "https://lakedistrict.gov.uk/explore/visitor-facilities/car-parks-and-parking/", "source_name": "Lake District National Park Authority"}, {"topic": "parking", "text": "Monk Coniston car park (postcode LA21 8AH) is reached by turning off the A593 onto the B5285 before Coniston village, then after 1 km taking the minor road signed Coniston East Shore Road.", "status": "confirmed", "source": "https://lakedistrict.gov.uk/route/monk-coniston/", "source_name": "Lake District National Park Authority"}, {"topic": "path", "text": "A step-free Miles without Stiles route (3.66 km, about 1.5 hours) links the lakeshore at Monk Coniston with Coniston village, served by the 505 and X12 buses. Leaving the car park you cross the road to a footpath behind the hedge.", "status": "confirmed", "source": "https://lakedistrict.gov.uk/route/monk-coniston/", "source_name": "Lake District National Park Authority"}, {"topic": "entry", "text": "The Environment Agency says Monk Coniston, on the northern shore of Coniston Water, has a grassed area and a gravel beach.", "status": "confirmed", "source": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukd1230-45775", "source_name": "Environment Agency bathing water profile"}, {"topic": "toilets", "text": "There are toilets at Monk Coniston car park. They close in winter, and the disabled cubicle needs a Radar key.", "status": "confirmed", "source": "https://lakedistrict.gov.uk/route/monk-coniston/", "source_name": "Lake District National Park Authority"}, {"topic": "rules", "text": "The National Park Authority says swimming is allowed on Coniston Water, and powered craft are allowed with a 10mph speed limit. The page is about the whole lake and does not name the bathing site.", "status": "confirmed", "source": "https://lakedistrict.gov.uk/explore/things-to-do/on-the-water/lakes-activities-guide/", "source_name": "Lake District National Park Authority"}], "photos": []}, "algae": {"date": "2026-09-16", "level": 0, "phrase": "none seen", "result": "No material present", "n_checks": 20, "n_seen": 0, "n_objectionable": 0, "season": 2026}, "lab_sample": {"taken_at": "2026-09-16T11:16+01:00", "ecoli": 91}, "classification": {"class": "good", "year": 2025, "history": [[2025, "good"], [2024, "excellent"]], "url": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukd1230-45775"}, "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 17, "sunrise": "07:21", "sunset": "18:38"}, {"date": "2026-10-06", "tmax": 15, "sunrise": "07:23", "sunset": "18:36"}, {"date": "2026-10-07", "tmax": 12, "sunrise": "07:25", "sunset": "18:33"}, {"date": "2026-10-08", "tmax": 12, "sunrise": "07:27", "sunset": "18:31"}, {"date": "2026-10-09", "tmax": 13, "sunrise": "07:29", "sunset": "18:28"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "bw-ukd1101-45800", "name": "Derwent Water at Crow Park", "kind": "lake", "river": null, "source": "designated", "notes": "Environment Agency designated bathing water", "lat": 54.59499, "lon": -3.14218, "query": {"lat": 54.59499, "lon": -3.14218, "issued_at": "2026-10-05T03:12:59.015629+01:00"}, "location": {"mode": "lake", "watercourse": "Derwent Water", "snap_distance_m": 617, "form": "lake", "lake_area_km2": 5.3, "lake_source": "polygon", "adopted_main_channel": false, "placement": null, "snapped": {"lat": 54.59327, "lon": -3.15125}}, "river_state": {"station": "Portinscale", "river": "River Derwent", "level_m": 0.697, "typical_low_m": 0.307, "typical_high_m": 1.327, "index": 0.38, "label": "normal", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "5174", "measure": "751007-level-stage-i-15_min-m", "distance_km": 1.5, "same_river": true}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": false, "season_validated_months": [5, 6, 7, 8, 9], "note": "Not validated on lakes: no ranking skill in the fitting data (16 exceedances in 803 lake samples)."}, "now": {"risk": 0.012, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 3, "monitored_upstream": 3, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.004, "label": "low", "expected_spilling_overflows": 0.2, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 1.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.038}, {"date": "2026-10-06", "risk": 0.007, "label": "low", "expected_spilling_overflows": 0.2, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.001, "rain_48h_mm": 3.5, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.041}, {"date": "2026-10-07", "risk": 0.009, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.009, "rain_48h_mm": 3.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.047}, {"date": "2026-10-08", "risk": 0.003, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.003, "rain_48h_mm": 1.5, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.037}, {"date": "2026-10-09", "risk": 0.004, "label": "low", "expected_spilling_overflows": 0.3, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.004, "rain_48h_mm": 5.4, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.031}], "upstream_summary": {"overflows": 3, "with_live_feed": 3, "without_live_feed": 0, "sum_weight": 0.124, "history_days": 2, "max_travel_h": 23.0}, "contributors": [{"site_id": "UUP00823", "company": "United Utilities", "site_name": "Grange Bridge (200mtrs downstream)", "receiving_watercourse": "River Derwent", "lat": 54.5481537640636, "lon": -3.1532359360361, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-10-02T18:40:00+00:00", "latest_event_end": "2026-10-02T23:36:00+00:00", "lta_spills": 60.44444274902344, "spill_hours": 465.1499938964844, "snap_confidence": "high", "distance_km": 2.4, "lake_distance_km": 3.5, "travel_h": 20.6, "weight": 0.069, "p_spill_today": 0.059, "p_spill_tomorrow": 0.083, "p_spill_days": [0.059, 0.083, 0.031, 0.036, 0.175], "now_contribution": 0.007}, {"site_id": "UUP01690", "company": "United Utilities", "site_name": "ROSTHWAITE WwTW", "receiving_watercourse": "Tributary of River Derwent", "lat": 54.5252390436148, "lon": -3.1528987934992, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-10-02T20:34:00+00:00", "latest_event_end": "2026-10-02T21:06:00+00:00", "lta_spills": 33.5, "spill_hours": 46.61666488647461, "snap_confidence": "high", "distance_km": 5.4, "lake_distance_km": 3.5, "travel_h": 22.3, "weight": 0.029, "p_spill_today": 0.017, "p_spill_tomorrow": 0.031, "p_spill_days": [0.017, 0.031, 0.004, 0.005, 0.068], "now_contribution": 0.003}, {"site_id": "UUP01875", "company": "United Utilities", "site_name": "STONETHWAITE WwTW", "receiving_watercourse": "An unnamed tributary of Stonethwaite Beck", "lat": 54.5173099615387, "lon": -3.1455691400588, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-10-02T21:40:29.300000+00:00", "latest_event_end": "2026-10-02T21:50:39.100000+00:00", "lta_spills": 45.71428680419922, "spill_hours": 247.2677764892578, "snap_confidence": "high", "distance_km": 6.8, "lake_distance_km": 3.5, "travel_h": 23.0, "weight": 0.026, "p_spill_today": 0.098, "p_spill_tomorrow": 0.097, "p_spill_days": [0.098, 0.097, 0.023, 0.009, 0.089], "now_contribution": 0.003}], "guide": {"checked": "2026-10-03", "how": "desk", "facts": [{"topic": "parking", "text": "Lakeside long stay car park, Keswick, CA12 5DJ: 253 spaces, 6 for disabled drivers. \u00a33.80 up to 2 hours, \u00a36.50 up to 3, \u00a39 up to 6, \u00a311.40 up to 12; cash, contactless or phone (location 712223). The council's page does not mention Crow Park.", "status": "confirmed", "source": "https://www.cumberland.gov.uk/parking-roads-and-transport/parking/find-car-park-near-you/lakeside-long-stay-car-park-keswick", "source_name": "Cumberland Council"}, {"topic": "entry", "text": "A grassed area and a gravel beach.", "status": "confirmed", "source": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukd1101-45800", "source_name": "Environment Agency bathing water profile"}, {"topic": "toilets", "text": "Public toilets at Lakeside car park, Keswick: 50p, card payment only at present. The council's page does not mention Crow Park.", "status": "confirmed", "source": "https://www.cumberland.gov.uk/your-environment/find-public-toilet/lakeside-car-park-keswick-public-toilets", "source_name": "Cumberland Council"}, {"topic": "rules", "text": "Derwent Water is busy with boats: the National Park Authority asks swimmers to keep close to the shore and be visible with a tow float.", "status": "confirmed", "source": "https://lakedistrict.gov.uk/explore/places-to-go/explore-derwentwater-and-keswick/on-the-water-around-derwent-water/", "source_name": "Lake District National Park Authority"}], "photos": []}, "algae": {"date": "2026-09-13", "level": 0, "phrase": "none seen", "result": "No material present", "n_checks": 21, "n_seen": 0, "n_objectionable": 0, "season": 2026}, "lab_sample": {"taken_at": "2026-09-13T12:27+01:00", "ecoli": 630}, "classification": {"class": "poor", "year": 2025, "history": [[2025, "poor"], [2024, "poor"]], "url": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukd1101-45800"}, "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 17, "sunrise": "07:22", "sunset": "18:38"}, {"date": "2026-10-06", "tmax": 14, "sunrise": "07:24", "sunset": "18:36"}, {"date": "2026-10-07", "tmax": 11, "sunrise": "07:25", "sunset": "18:33"}, {"date": "2026-10-08", "tmax": 11, "sunrise": "07:27", "sunset": "18:31"}, {"date": "2026-10-09", "tmax": 13, "sunrise": "07:29", "sunset": "18:29"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "bw-ukd4308-46501", "name": "River Ribble at Edisford Bridge", "kind": "river", "river": "River Ribble", "source": "designated", "notes": "Environment Agency designated bathing water", "lat": 53.86847, "lon": -2.41728, "query": {"lat": 53.86847, "lon": -2.41728, "issued_at": "2026-10-05T03:12:59.194880+01:00"}, "location": {"mode": "river", "watercourse": "River Ribble", "snap_distance_m": 19, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "on river", "snapped": {"lat": 53.86858, "lon": -2.4175}}, "river_state": {"station": "Low Moor", "river": "River Ribble", "level_m": 0.409, "typical_low_m": 0.202, "typical_high_m": 3.3, "index": 0.07, "label": "low", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "5091", "measure": "710301-level-stage-i-15_min-m", "distance_km": 0.5, "same_river": true}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 2, "monitored_upstream": 24, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.018, "label": "low", "expected_spilling_overflows": 0.5, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 1.1, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.226}, {"date": "2026-10-06", "risk": 0.118, "label": "low", "expected_spilling_overflows": 2.7, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.106, "rain_48h_mm": 3.9, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.461}, {"date": "2026-10-07", "risk": 0.218, "label": "moderate", "expected_spilling_overflows": 3.9, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.218, "source": {"site_id": "UUP00795", "site_name": "GISBURN WwTW", "receiving_watercourse": "River Ribble", "status": 0, "distance_km": 16.4, "lake_distance_km": 0.0, "travel_h": 9.1, "share": 0.44, "spread_over": 7}, "rain_48h_mm": 10.5, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.629}, {"date": "2026-10-08", "risk": 0.132, "label": "low", "expected_spilling_overflows": 0.6, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.132, "rain_48h_mm": 7.7, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.64}, {"date": "2026-10-09", "risk": 0.152, "label": "moderate", "expected_spilling_overflows": 3.4, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.152, "source": {"site_id": "UUP00795", "site_name": "GISBURN WwTW", "receiving_watercourse": "River Ribble", "status": 0, "distance_km": 16.4, "lake_distance_km": 0.0, "travel_h": 9.1, "share": 0.447, "spread_over": 6}, "rain_48h_mm": 5.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.497}], "upstream_summary": {"overflows": 25, "with_live_feed": 24, "without_live_feed": 1, "sum_weight": 1.416, "history_days": 3, "max_travel_h": 27.8}, "contributors": [{"site_id": "UUP00795", "company": "United Utilities", "site_name": "GISBURN WwTW", "receiving_watercourse": "River Ribble", "lat": 53.9414844365925, "lon": -2.2772221205196, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-09-30T18:07:18.200000+00:00", "latest_event_end": "2026-09-30T18:12:29.500000+00:00", "lta_spills": 135.14285278320312, "spill_hours": 515.600830078125, "snap_confidence": "high", "distance_km": 16.4, "lake_distance_km": 0.0, "travel_h": 9.1, "weight": 0.303, "p_spill_today": 0.039, "p_spill_tomorrow": 0.27, "p_spill_days": [0.039, 0.27, 0.379, 0.079, 0.329], "now_contribution": 0.0}, {"site_id": "UUP00796", "company": "United Utilities", "site_name": "GISBURN WwTW", "receiving_watercourse": "River Ribble", "lat": 53.9414844365925, "lon": -2.2772221205196, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-08-24T08:11:15.500000+00:00", "latest_event_end": "2026-08-24T08:11:16.800000+00:00", "lta_spills": 63.66666793823242, "spill_hours": 144.07333374023438, "snap_confidence": "high", "distance_km": 16.4, "lake_distance_km": 0.0, "travel_h": 9.1, "weight": 0.303, "p_spill_today": 0.007, "p_spill_tomorrow": 0.082, "p_spill_days": [0.007, 0.082, 0.16, 0.016, 0.127], "now_contribution": 0.0}, {"site_id": "UUP01858", "company": "United Utilities", "site_name": "Stirk House Hotel PS", "receiving_watercourse": "Wheatley Beck a tributary of the River Ribble", "lat": 53.93113592404, "lon": -2.2826361262572, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-09-19T07:18:00+00:00", "latest_event_end": "2026-09-19T08:00:00+00:00", "lta_spills": 52.5, "spill_hours": 416.3072204589844, "snap_confidence": "high", "distance_km": 15.0, "lake_distance_km": 0.0, "travel_h": 8.3, "weight": 0.323, "p_spill_today": 0.011, "p_spill_tomorrow": 0.075, "p_spill_days": [0.011, 0.075, 0.137, 0.021, 0.112], "now_contribution": 0.0}, {"site_id": "UUP02003", "company": "United Utilities", "site_name": "WADDINGTON WwTW", "receiving_watercourse": "Bashall Brook", "lat": 53.8829084867939, "lon": -2.4228731901254, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-10-01T01:42:24.100000+00:00", "latest_event_end": "2026-10-01T02:08:02.200000+00:00", "lta_spills": 188.8333282470703, "spill_hours": 1935.216064453125, "snap_confidence": "high", "distance_km": 2.2, "lake_distance_km": 0.0, "travel_h": 1.2, "weight": 0.046, "p_spill_today": 0.06, "p_spill_tomorrow": 0.324, "p_spill_days": [0.06, 0.324, 0.393, 0.152, 0.352], "now_contribution": 0.0}, {"site_id": "UUP01737", "company": "United Utilities", "site_name": "SETTLE WwTW", "receiving_watercourse": "River Ribble", "lat": 54.0532665022994, "lon": -2.294738597153, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-09-12T08:58:00+00:00", "latest_event_end": "2026-09-12T09:58:00+00:00", "lta_spills": 82.16666412353516, "spill_hours": 446.0333251953125, "snap_confidence": "high", "distance_km": 37.3, "lake_distance_km": 0.0, "travel_h": 20.7, "weight": 0.055, "p_spill_today": 0.07, "p_spill_tomorrow": 0.156, "p_spill_days": [0.07, 0.156, 0.223, 0.015, 0.215], "now_contribution": 0.0}, {"site_id": "UUP01532", "company": "United Utilities", "site_name": "Penny Bridge CSO", "receiving_watercourse": "River Ribble", "lat": 54.0650548718403, "lon": -2.2849215672374, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-08-12T13:22:40+00:00", "latest_event_end": "2026-08-12T13:26:47+00:00", "lta_spills": 46.0, "spill_hours": 36.56305694580078, "snap_confidence": "high", "distance_km": 39.0, "lake_distance_km": 0.0, "travel_h": 21.7, "weight": 0.045, "p_spill_today": 0.037, "p_spill_tomorrow": 0.071, "p_spill_days": [0.037, 0.071, 0.126, 0.017, 0.122], "now_contribution": 0.0}, {"site_id": "UUP02199", "company": "United Utilities", "site_name": "Bolton by Bowland", "receiving_watercourse": "Skirden Beck", "lat": 53.9393719657865, "lon": -2.3305234195354, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-09-10T11:22:00+00:00", "latest_event_end": "2026-09-10T11:26:00+00:00", "lta_spills": 12.5, "spill_hours": 129.73333740234375, "snap_confidence": "high", "distance_km": 13.4, "lake_distance_km": 0.0, "travel_h": 7.4, "weight": 0.052, "p_spill_today": 0.004, "p_spill_tomorrow": 0.046, "p_spill_days": [0.004, 0.046, 0.081, 0.01, 0.075], "now_contribution": 0.0}, {"site_id": "UUP00454", "company": "United Utilities", "site_name": "Chatburn (Ribble Lane) PS", "receiving_watercourse": "Chatburn Brook", "lat": 53.8981384453605, "lon": -2.3548498597315, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-09-18T21:22:00+00:00", "latest_event_end": "2026-09-18T23:20:00+00:00", "lta_spills": 86.0, "spill_hours": 685.0336303710938, "snap_confidence": "high", "distance_km": 6.8, "lake_distance_km": 0.0, "travel_h": 3.8, "weight": 0.021, "p_spill_today": 0.014, "p_spill_tomorrow": 0.15, "p_spill_days": [0.014, 0.15, 0.23, 0.033, 0.209], "now_contribution": 0.0}, {"site_id": "UUP00789", "company": "United Utilities", "site_name": "Gildersleets Lane CSO", "receiving_watercourse": "River Ribble", "lat": 54.0590936018671, "lon": -2.2934356502891, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2025-12-07T02:14:00+00:00", "latest_event_end": "2025-12-07T02:16:00+00:00", "lta_spills": 0.6666666865348816, "spill_hours": 0.2666666805744171, "snap_confidence": "high", "distance_km": 38.1, "lake_distance_km": 0.0, "travel_h": 21.1, "weight": 0.047, "p_spill_today": 0.001, "p_spill_tomorrow": 0.002, "p_spill_days": [0.001, 0.002, 0.004, 0.002, 0.003], "now_contribution": 0.0}, {"site_id": "UUP00311", "company": "United Utilities", "site_name": "Bridge End CSO", "receiving_watercourse": "River Ribble via a surface water sewer", "lat": 54.0723786855258, "lon": -2.281533518888, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-08-19T23:04:00+00:00", "latest_event_end": "2026-08-19T23:40:00+00:00", "lta_spills": 8.0, "spill_hours": 0.0, "snap_confidence": "high", "distance_km": 40.0, "lake_distance_km": 0.0, "travel_h": 22.2, "weight": 0.043, "p_spill_today": 0.001, "p_spill_tomorrow": 0.002, "p_spill_days": [0.001, 0.002, 0.004, 0.001, 0.004], "now_contribution": 0.0}], "guide": {"checked": "2026-10-03", "how": "desk", "facts": [{"topic": "parking", "text": "Public parking is at Edisford Road car park. Disabled spaces at the riverside car park are for blue badge holders only, behind a barrier that needs a security card (\u00a320 refundable deposit from The Platform Gallery, Clitheroe).", "status": "confirmed", "source": "https://www.ribblevalley.gov.uk/parks-open-spaces/edisford-bridge", "source_name": "Ribble Valley Borough Council"}, {"topic": "parking", "text": "Edisford Road car park is a short-stay car park on Edisford Road, opposite Ribblesdale pool (sat nav BB7 3LA), with 233 pay and display spaces and 8 disabled spaces. The car park page does not mention the bathing site.", "status": "confirmed", "source": "https://www.ribblevalley.gov.uk/car-parks/car-parks-parking/6", "source_name": "Ribble Valley Borough Council"}, {"topic": "parking", "text": "Riverside car park is disabled-only, next to the River Ribble at Edisford Bridge. Parking is free for up to 3 hours (operating Monday to Sunday 8am to 6pm). Entry needs a barrier card, issued on proof of disability at the Platform Gallery, Clitheroe, for a \u00a320 returnable deposit.", "status": "confirmed", "source": "https://www.ribblevalley.gov.uk/car-parks/car-parks-parking/15", "source_name": "Ribble Valley Borough Council"}, {"topic": "entry", "text": "When the river level is low, a gently sloping shingle beach is exposed.", "status": "confirmed", "source": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukd4308-46501", "source_name": "Environment Agency bathing water profile"}, {"topic": "toilets", "text": "There is a Changing Places toilet at Edisford Bridge, open 24 hours a day, 7 days a week; a Radar key is needed.", "status": "confirmed", "source": "https://www.ribblevalley.gov.uk/parks-open-spaces/edisford-bridge", "source_name": "Ribble Valley Borough Council"}, {"topic": "changing", "text": "The Changing Places toilet has hoists, showers, grab rails, adult-sized changing benches, privacy screens and space for carers.", "status": "confirmed", "source": "https://www.ribblevalley.gov.uk/parks-open-spaces/edisford-bridge", "source_name": "Ribble Valley Borough Council"}, {"topic": "fees", "text": "Edisford Road car park charges Monday to Sunday 8am to 6pm: up to 30 minutes \u00a31.00, up to 1 hour \u00a31.40, 1 to 2 hours \u00a32.20, 2 to 3 hours \u00a33.30, 3 to 5 hours \u00a34.10, over 5 hours \u00a35.10. The car park page does not mention the bathing site.", "status": "confirmed", "source": "https://www.ribblevalley.gov.uk/car-parks/car-parks-parking/6", "source_name": "Ribble Valley Borough Council"}], "photos": []}, "algae": {"date": "2026-09-10", "level": 0, "phrase": "none seen", "result": "No material present", "n_checks": 21, "n_seen": 0, "n_objectionable": 0, "season": 2026}, "lab_sample": {"taken_at": "2026-09-10T12:00+01:00", "ecoli": 580}, "classification": {"class": "poor", "year": 2025, "history": [[2025, "poor"], [2024, "poor"]], "url": "https://environment.data.gov.uk/bwq/profiles/profile.html?site=ukd4308-46501"}, "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 18, "sunrise": "07:18", "sunset": "18:36"}, {"date": "2026-10-06", "tmax": 16, "sunrise": "07:20", "sunset": "18:33"}, {"date": "2026-10-07", "tmax": 12, "sunrise": "07:22", "sunset": "18:31"}, {"date": "2026-10-08", "tmax": 13, "sunrise": "07:24", "sunset": "18:29"}, {"date": "2026-10-09", "tmax": 14, "sunrise": "07:25", "sunset": "18:26"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "lune-devils-bridge", "name": "River Lune, Devil's Bridge, Kirkby Lonsdale", "kind": "river", "river": "River Lune", "source": "curated", "notes": "", "lat": 54.1984, "lon": -2.5907, "query": {"lat": 54.1984, "lon": -2.5907, "issued_at": "2026-10-05T03:12:59.538565+01:00"}, "location": {"mode": "river", "watercourse": "River Lune", "snap_distance_m": 1, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "on river", "snapped": {"lat": 54.1984, "lon": -2.59068}}, "river_state": {"station": "Killington", "river": "River Lune", "level_m": 0.492, "typical_low_m": 0.17, "typical_high_m": 2.3, "index": 0.15, "label": "normal", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "5077", "measure": "722421-level-stage-i-15_min-m", "distance_km": 12.4, "same_river": true, "rise_6h_m": 0.038, "rise_from": "2026-10-04T20:15:00Z", "rise_to": "2026-10-05T01:45:00Z"}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.005, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 2, "monitored_upstream": 12, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.017, "label": "low", "expected_spilling_overflows": 0.8, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.9, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.213}, {"date": "2026-10-06", "risk": 0.035, "label": "low", "expected_spilling_overflows": 2.2, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.021, "rain_48h_mm": 3.7, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.365}, {"date": "2026-10-07", "risk": 0.061, "label": "low", "expected_spilling_overflows": 1.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.061, "rain_48h_mm": 10.3, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.527}, {"date": "2026-10-08", "risk": 0.024, "label": "low", "expected_spilling_overflows": 0.3, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.024, "rain_48h_mm": 7.5, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.51}, {"date": "2026-10-09", "risk": 0.02, "label": "low", "expected_spilling_overflows": 1.4, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.02, "rain_48h_mm": 5.4, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.358}], "upstream_summary": {"overflows": 12, "with_live_feed": 12, "without_live_feed": 0, "sum_weight": 1.381, "history_days": 3, "max_travel_h": 25.2}, "contributors": [{"site_id": "UUP00418", "company": "United Utilities", "site_name": "CASTERTON WwTW", "receiving_watercourse": "River Lune", "lat": 54.2102624872336, "lon": -2.5878199643035, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": null, "latest_event_end": null, "lta_spills": 15.333333015441895, "spill_hours": 0.0, "snap_confidence": "high", "distance_km": 2.0, "lake_distance_km": 0.0, "travel_h": 1.1, "weight": 0.909, "p_spill_today": 0.001, "p_spill_tomorrow": 0.002, "p_spill_days": [0.001, 0.002, 0.002, 0.001, 0.003], "now_contribution": 0.0}, {"site_id": "UUP01905", "company": "United Utilities", "site_name": "TEBAY WwTW", "receiving_watercourse": "River Lune", "lat": 54.4200308690576, "lon": -2.5976481071419, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-10-02T22:24:00+00:00", "latest_event_end": "2026-10-02T22:28:00+00:00", "lta_spills": 141.1999969482422, "spill_hours": 639.873046875, "snap_confidence": "high", "distance_km": 32.2, "lake_distance_km": 0.0, "travel_h": 17.9, "weight": 0.068, "p_spill_today": 0.157, "p_spill_tomorrow": 0.519, "p_spill_days": [0.157, 0.519, 0.201, 0.067, 0.193], "now_contribution": 0.005}, {"site_id": "UUP01904", "company": "United Utilities", "site_name": "Tebay Sewage PS", "receiving_watercourse": "River Lune", "lat": 54.4411128162546, "lon": -2.5943626440238, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-06-01T19:38:00+00:00", "latest_event_end": "2026-06-01T20:02:00+00:00", "lta_spills": 87.5, "spill_hours": 593.0999755859375, "snap_confidence": "high", "distance_km": 35.1, "lake_distance_km": 0.0, "travel_h": 19.5, "weight": 0.037, "p_spill_today": 0.067, "p_spill_tomorrow": 0.308, "p_spill_days": [0.067, 0.308, 0.108, 0.026, 0.116], "now_contribution": 0.0}, {"site_id": "UUP01733", "company": "United Utilities", "site_name": "SEDBERGH WwTW", "receiving_watercourse": "River Rawthey", "lat": 54.3148396918423, "lon": -2.537663183478, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-09-18T16:36:00+00:00", "latest_event_end": "2026-09-18T18:48:00+00:00", "lta_spills": 53.599998474121094, "spill_hours": 431.86083984375, "snap_confidence": "high", "distance_km": 19.7, "lake_distance_km": 0.0, "travel_h": 10.9, "weight": 0.088, "p_spill_today": 0.022, "p_spill_tomorrow": 0.077, "p_spill_days": [0.022, 0.077, 0.077, 0.011, 0.082], "now_contribution": 0.0}, {"site_id": "UUP00769", "company": "United Utilities", "site_name": "Galloper Pool PS", "receiving_watercourse": "Galloper Pool", "lat": 54.435366691659, "lon": -2.5950502272666, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-07-10T18:18:00.980000+00:00", "latest_event_end": "2026-07-10T19:17:50.151000+00:00", "lta_spills": 87.5, "spill_hours": 53.21111297607422, "snap_confidence": "high", "distance_km": 34.0, "lake_distance_km": 0.0, "travel_h": 18.9, "weight": 0.059, "p_spill_today": 0.04, "p_spill_tomorrow": 0.143, "p_spill_days": [0.04, 0.143, 0.034, 0.005, 0.079], "now_contribution": 0.0}, {"site_id": "UUP01345", "company": "United Utilities", "site_name": "Mortar Pits CSO", "receiving_watercourse": "River Rawthey via surface water sewer", "lat": 54.3201275608068, "lon": -2.5205139164672, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-10-02T12:42:00+00:00", "latest_event_end": "2026-10-02T13:02:00+00:00", "lta_spills": 26.5, "spill_hours": 17.633333206176758, "snap_confidence": "high", "distance_km": 21.8, "lake_distance_km": 0.0, "travel_h": 12.1, "weight": 0.076, "p_spill_today": 0.012, "p_spill_tomorrow": 0.043, "p_spill_days": [0.012, 0.043, 0.027, 0.006, 0.056], "now_contribution": 0.0}, {"site_id": "UUP01738", "company": "United Utilities", "site_name": "Settlebeck (Sedbergh) Combined Sewer Overflow", "receiving_watercourse": "River Rawthey", "lat": 54.3216652411686, "lon": -2.5182272483805, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-08-30T14:34:00+00:00", "latest_event_end": "2026-08-30T14:40:00+00:00", "lta_spills": 2.0, "spill_hours": 0.10000000149011612, "snap_confidence": "high", "distance_km": 22.0, "lake_distance_km": 0.0, "travel_h": 12.2, "weight": 0.075, "p_spill_today": 0.001, "p_spill_tomorrow": 0.002, "p_spill_days": [0.001, 0.002, 0.002, 0.001, 0.002], "now_contribution": 0.0}, {"site_id": "UUP01809", "company": "United Utilities", "site_name": "Adjacent Cross Keys Inn", "receiving_watercourse": "Unnamed tributary of River Lune", "lat": 54.433481183458, "lon": -2.5928646454158, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-06-01T19:26:00+00:00", "latest_event_end": "2026-06-01T19:30:00+00:00", "lta_spills": 2.5, "spill_hours": 3.9666666984558105, "snap_confidence": "high", "distance_km": 33.8, "lake_distance_km": 0.0, "travel_h": 18.8, "weight": 0.06, "p_spill_today": 0.002, "p_spill_tomorrow": 0.021, "p_spill_days": [0.002, 0.021, 0.004, 0.002, 0.005], "now_contribution": 0.0}, {"site_id": "UUP00630", "company": "United Utilities", "site_name": "DENT WwTW", "receiving_watercourse": "River Dee", "lat": 54.2809237203184, "lon": -2.459044928554, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-10-02T23:04:00+00:00", "latest_event_end": "2026-10-02T23:18:00+00:00", "lta_spills": 111.80000305175781, "spill_hours": 318.8833312988281, "snap_confidence": "high", "distance_km": 27.5, "lake_distance_km": 0.0, "travel_h": 15.3, "weight": 0.003, "p_spill_today": 0.166, "p_spill_tomorrow": 0.34, "p_spill_days": [0.166, 0.34, 0.304, 0.029, 0.309], "now_contribution": 0.0}, {"site_id": "UUP01479", "company": "United Utilities", "site_name": "ORTON WwTW", "receiving_watercourse": "Chapel Beck", "lat": 54.4631412307649, "lon": -2.5737011928709, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-08-12T13:52:24+00:00", "latest_event_end": null, "lta_spills": 133.8000030517578, "spill_hours": 1149.0836181640625, "snap_confidence": "high", "distance_km": 38.4, "lake_distance_km": 0.0, "travel_h": 21.3, "weight": 0.003, "p_spill_today": 0.219, "p_spill_tomorrow": 0.358, "p_spill_days": [0.219, 0.358, 0.225, 0.097, 0.292], "now_contribution": 0.0}], "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 17, "sunrise": "07:19", "sunset": "18:36"}, {"date": "2026-10-06", "tmax": 16, "sunrise": "07:21", "sunset": "18:34"}, {"date": "2026-10-07", "tmax": 12, "sunrise": "07:23", "sunset": "18:31"}, {"date": "2026-10-08", "tmax": 12, "sunrise": "07:25", "sunset": "18:29"}, {"date": "2026-10-09", "tmax": 13, "sunrise": "07:27", "sunset": "18:27"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "lune-crook-o-lune", "name": "River Lune, Crook o' Lune, Caton", "kind": "river", "river": "River Lune", "source": "curated", "notes": "", "lat": 54.0747, "lon": -2.7315, "query": {"lat": 54.0747, "lon": -2.7315, "issued_at": "2026-10-05T03:12:59.911928+01:00"}, "location": {"mode": "river", "watercourse": "River Lune", "snap_distance_m": 3, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "moved to river", "snapped": {"lat": 54.07468, "lon": -2.73153}}, "river_state": {"station": "Caton", "river": "River Lune", "level_m": 0.539, "typical_low_m": 0.28, "typical_high_m": 3.6, "index": 0.08, "label": "low", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "5029", "measure": "724629-level-stage-i-15_min-m", "distance_km": 1.0, "same_river": true, "rise_6h_m": -0.014, "rise_from": "2026-10-04T20:15:00Z", "rise_to": "2026-10-05T01:45:00Z"}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.034, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 8, "monitored_upstream": 26, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.158, "label": "moderate", "expected_spilling_overflows": 2.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "source": {"site_id": "UUP00427", "site_name": "CATON WwTW", "receiving_watercourse": "River Lune", "status": 0, "distance_km": 1.0, "lake_distance_km": 0.0, "travel_h": 0.5, "share": 0.502, "spread_over": 7}, "rain_48h_mm": 0.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.291}, {"date": "2026-10-06", "risk": 0.233, "label": "moderate", "expected_spilling_overflows": 3.4, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.203, "source": {"site_id": "UUP00427", "site_name": "CATON WwTW", "receiving_watercourse": "River Lune", "status": 0, "distance_km": 1.0, "lake_distance_km": 0.0, "travel_h": 0.5, "share": 0.47, "spread_over": 7}, "rain_48h_mm": 3.1, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.484}, {"date": "2026-10-07", "risk": 0.3, "label": "moderate", "expected_spilling_overflows": 3.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.3, "source": {"site_id": "UUP00427", "site_name": "CATON WwTW", "receiving_watercourse": "River Lune", "status": 0, "distance_km": 1.0, "lake_distance_km": 0.0, "travel_h": 0.5, "share": 0.479, "spread_over": 8}, "rain_48h_mm": 10.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.653}, {"date": "2026-10-08", "risk": 0.105, "label": "low", "expected_spilling_overflows": 0.5, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.105, "rain_48h_mm": 7.4, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.605}, {"date": "2026-10-09", "risk": 0.269, "label": "moderate", "expected_spilling_overflows": 3.2, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.269, "source": {"site_id": "UUP00427", "site_name": "CATON WwTW", "receiving_watercourse": "River Lune", "status": 0, "distance_km": 1.0, "lake_distance_km": 0.0, "travel_h": 0.5, "share": 0.495, "spread_over": 6}, "rain_48h_mm": 4.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.53}], "upstream_summary": {"overflows": 26, "with_live_feed": 26, "without_live_feed": 0, "sum_weight": 3.082, "history_days": 3, "max_travel_h": 31.5}, "contributors": [{"site_id": "UUP00427", "company": "United Utilities", "site_name": "CATON WwTW", "receiving_watercourse": "River Lune", "lat": 54.0810010104569, "lon": -2.7234013837691, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-09-18T14:57:29.800000+00:00", "latest_event_end": "2026-09-18T20:22:01.100000+00:00", "lta_spills": 78.28571319580078, "spill_hours": 838.2808227539062, "snap_confidence": "high", "distance_km": 1.0, "lake_distance_km": 0.0, "travel_h": 0.5, "weight": 0.953, "p_spill_today": 0.088, "p_spill_tomorrow": 0.124, "p_spill_days": [0.088, 0.124, 0.166, 0.032, 0.153], "now_contribution": 0.0}, {"site_id": "UUP01941", "company": "United Utilities", "site_name": "Thurtell Cottages CSO", "receiving_watercourse": "River Lune", "lat": 54.0809139021383, "lon": -2.7229413229416, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-09-18T15:30:00+00:00", "latest_event_end": "2026-09-18T17:11:12.100000+00:00", "lta_spills": 37.11111068725586, "spill_hours": 65.26667022705078, "snap_confidence": "high", "distance_km": 1.0, "lake_distance_km": 0.0, "travel_h": 0.5, "weight": 0.952, "p_spill_today": 0.042, "p_spill_tomorrow": 0.051, "p_spill_days": [0.042, 0.051, 0.069, 0.009, 0.083], "now_contribution": 0.0}, {"site_id": "UUP01077", "company": "United Utilities", "site_name": "KIRKBY LONSDALE WwTW", "receiving_watercourse": "River Lune", "lat": 54.1952364426169, "lon": -2.5912847609338, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-10-02T22:46:00+00:00", "latest_event_end": "2026-10-02T23:46:00+00:00", "lta_spills": 65.80000305175781, "spill_hours": 350.5666809082031, "snap_confidence": "high", "distance_km": 21.3, "lake_distance_km": 0.0, "travel_h": 11.8, "weight": 0.203, "p_spill_today": 0.06, "p_spill_tomorrow": 0.111, "p_spill_days": [0.06, 0.111, 0.125, 0.014, 0.142], "now_contribution": 0.01}, {"site_id": "UUP01078", "company": "United Utilities", "site_name": "KIRKBY LONSDALE WwTW", "receiving_watercourse": "River Lune", "lat": 54.1952364426169, "lon": -2.5912847609338, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-10-02T22:12:53.900000+00:00", "latest_event_end": "2026-10-02T23:14:48.100000+00:00", "lta_spills": 58.400001525878906, "spill_hours": 87.29861450195312, "snap_confidence": "high", "distance_km": 21.3, "lake_distance_km": 0.0, "travel_h": 11.8, "weight": 0.203, "p_spill_today": 0.047, "p_spill_tomorrow": 0.083, "p_spill_days": [0.047, 0.083, 0.098, 0.011, 0.108], "now_contribution": 0.01}, {"site_id": "UUP02179", "company": "United Utilities", "site_name": "Wray Wastewater Treatment Works (WRAYZ) (017270020)", "receiving_watercourse": "River Hindburn", "lat": 54.1074167513352, "lon": -2.6115997709075, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-10-03T11:24:45.700000+00:00", "latest_event_end": "2026-10-03T11:52:38.400000+00:00", "lta_spills": 176.57142639160156, "spill_hours": 368.4069519042969, "snap_confidence": "high", "distance_km": 13.2, "lake_distance_km": 0.0, "travel_h": 7.3, "weight": 0.056, "p_spill_today": 0.261, "p_spill_tomorrow": 0.291, "p_spill_days": [0.261, 0.291, 0.328, 0.05, 0.305], "now_contribution": 0.005}, {"site_id": "UUP00418", "company": "United Utilities", "site_name": "CASTERTON WwTW", "receiving_watercourse": "River Lune", "lat": 54.2102624872336, "lon": -2.5878199643035, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": null, "latest_event_end": null, "lta_spills": 15.333333015441895, "spill_hours": 0.0, "snap_confidence": "high", "distance_km": 23.6, "lake_distance_km": 0.0, "travel_h": 13.1, "weight": 0.182, "p_spill_today": 0.001, "p_spill_tomorrow": 0.002, "p_spill_days": [0.001, 0.002, 0.002, 0.001, 0.003], "now_contribution": 0.0}, {"site_id": "UUP00989", "company": "United Utilities", "site_name": "HORNBY WwTW", "receiving_watercourse": "River Wenning", "lat": 54.10967875601, "lon": -2.6431414384838, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-10-02T23:16:08.200000+00:00", "latest_event_end": "2026-10-02T23:16:21.900000+00:00", "lta_spills": 38.0, "spill_hours": 0.253888875246048, "snap_confidence": "high", "distance_km": 10.1, "lake_distance_km": 0.0, "travel_h": 5.6, "weight": 0.151, "p_spill_today": 0.012, "p_spill_tomorrow": 0.022, "p_spill_days": [0.012, 0.022, 0.034, 0.005, 0.034], "now_contribution": 0.005}, {"site_id": "UUP00954", "company": "United Utilities", "site_name": "HIGH BENTHAM WwTW", "receiving_watercourse": "River Wenning", "lat": 54.1170009058552, "lon": -2.5233176452134, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-10-02T13:02:00+00:00", "latest_event_end": "2026-10-02T13:18:00+00:00", "lta_spills": 105.66666412353516, "spill_hours": 131.21444702148438, "snap_confidence": "high", "distance_km": 20.5, "lake_distance_km": 0.0, "travel_h": 11.4, "weight": 0.046, "p_spill_today": 0.186, "p_spill_tomorrow": 0.229, "p_spill_days": [0.186, 0.229, 0.255, 0.017, 0.259], "now_contribution": 0.0}, {"site_id": "UUP00377", "company": "United Utilities", "site_name": "BURTON-IN-LONSDALE WwTW", "receiving_watercourse": "River Greta", "lat": 54.1419394584299, "lon": -2.5379905533254, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-10-02T23:14:26.900000+00:00", "latest_event_end": "2026-10-02T23:28:01.100000+00:00", "lta_spills": 116.19999694824219, "spill_hours": 164.8272247314453, "snap_confidence": "high", "distance_km": 21.5, "lake_distance_km": 0.0, "travel_h": 11.9, "weight": 0.043, "p_spill_today": 0.172, "p_spill_tomorrow": 0.212, "p_spill_days": [0.172, 0.212, 0.244, 0.023, 0.248], "now_contribution": 0.002}, {"site_id": "UUP00955", "company": "United Utilities", "site_name": "HIGH BENTHAM WwTW", "receiving_watercourse": "River Wenning", "lat": 54.1170009058552, "lon": -2.5233176452134, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-09-17T03:38:04+00:00", "latest_event_end": "2026-09-17T08:59:28.100000+00:00", "lta_spills": 95.19999694824219, "spill_hours": 670.9627685546875, "snap_confidence": "high", "distance_km": 20.5, "lake_distance_km": 0.0, "travel_h": 11.4, "weight": 0.046, "p_spill_today": 0.137, "p_spill_tomorrow": 0.185, "p_spill_days": [0.137, 0.185, 0.212, 0.024, 0.222], "now_contribution": 0.0}], "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 17, "sunrise": "07:20", "sunset": "18:37"}, {"date": "2026-10-06", "tmax": 16, "sunrise": "07:21", "sunset": "18:35"}, {"date": "2026-10-07", "tmax": 12, "sunrise": "07:23", "sunset": "18:32"}, {"date": "2026-10-08", "tmax": 13, "sunrise": "07:25", "sunset": "18:30"}, {"date": "2026-10-09", "tmax": 14, "sunrise": "07:27", "sunset": "18:28"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "wharfe-bolton-abbey", "name": "River Wharfe, Bolton Abbey (Cavendish Pavilion)", "kind": "river", "river": "River Wharfe", "source": "curated", "notes": "Do not swim at the Strid, 1 km upstream", "lat": 53.987, "lon": -1.889, "query": {"lat": 53.987, "lon": -1.889, "issued_at": "2026-10-05T03:13:00.412596+01:00"}, "location": {"mode": "river", "watercourse": "River Wharfe", "snap_distance_m": 176, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "on river", "snapped": {"lat": 53.98567, "lon": -1.88754}}, "river_state": {"station": "Addingham", "river": "River Wharfe", "level_m": 0.294, "typical_low_m": 0.189, "typical_high_m": 1.87, "index": 0.06, "label": "low", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "8001", "measure": "F1903-level-stage-i-15_min-m", "distance_km": 5.5, "same_river": true, "rise_6h_m": -0.009, "rise_from": "2026-10-04T20:15:00Z", "rise_to": "2026-10-05T01:45:00Z"}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.002, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 1, "monitored_upstream": 6, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.014, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.7, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.194}, {"date": "2026-10-06", "risk": 0.077, "label": "low", "expected_spilling_overflows": 0.4, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.07, "rain_48h_mm": 4.3, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.434}, {"date": "2026-10-07", "risk": 0.139, "label": "low", "expected_spilling_overflows": 0.7, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.139, "rain_48h_mm": 10.6, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.598}, {"date": "2026-10-08", "risk": 0.073, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.073, "rain_48h_mm": 7.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.581}, {"date": "2026-10-09", "risk": 0.104, "label": "low", "expected_spilling_overflows": 0.6, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.104, "rain_48h_mm": 4.4, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.452}], "upstream_summary": {"overflows": 6, "with_live_feed": 6, "without_live_feed": 0, "sum_weight": 1.561, "history_days": 2, "max_travel_h": 14.7}, "contributors": [{"site_id": "YWS00177", "company": "Yorkshire Water", "site_name": "BURNSALL CAR PK/CSO", "receiving_watercourse": "River Wharfe", "lat": 54.04514, "lon": -1.952927, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2026-09-08T00:19:44+00:00", "latest_event_end": "2026-09-08T00:47:47+00:00", "lta_spills": 43.16999816894531, "spill_hours": 135.73333740234375, "snap_confidence": "high", "distance_km": 10.8, "lake_distance_km": 0.0, "travel_h": 6.0, "weight": 0.415, "p_spill_today": 0.011, "p_spill_tomorrow": 0.094, "p_spill_days": [0.011, 0.094, 0.129, 0.028, 0.113], "now_contribution": 0.0}, {"site_id": "YWS00185", "company": "Yorkshire Water", "site_name": "GRASSINGTON/STW", "receiving_watercourse": "River Wharfe", "lat": 54.062414, "lon": -1.99173, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2026-09-17T04:30:52+00:00", "latest_event_end": "2026-09-17T04:45:49+00:00", "lta_spills": 62.5, "spill_hours": 55.0, "snap_confidence": "high", "distance_km": 14.7, "lake_distance_km": 0.0, "travel_h": 8.2, "weight": 0.308, "p_spill_today": 0.022, "p_spill_tomorrow": 0.091, "p_spill_days": [0.022, 0.091, 0.159, 0.021, 0.137], "now_contribution": 0.0}, {"site_id": "YWS00190", "company": "Yorkshire Water", "site_name": "HEBDEN/STW", "receiving_watercourse": "River Wharfe", "lat": 54.055541, "lon": -1.960385, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2025-07-08T12:14:05+00:00", "latest_event_end": "2025-07-08T12:15:06+00:00", "lta_spills": 29.829999923706055, "spill_hours": 2.0999999046325684, "snap_confidence": "high", "distance_km": 12.4, "lake_distance_km": 0.0, "travel_h": 6.9, "weight": 0.378, "p_spill_today": 0.006, "p_spill_tomorrow": 0.031, "p_spill_days": [0.006, 0.031, 0.046, 0.009, 0.047], "now_contribution": 0.0}, {"site_id": "YWS01311", "company": "Yorkshire Water", "site_name": "LINTON/CSO", "receiving_watercourse": "River Wharfe", "lat": 54.064985, "lon": -1.995977, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2026-08-20T00:08:00+00:00", "latest_event_end": "2026-08-20T00:30:00+00:00", "lta_spills": 30.670000076293945, "spill_hours": 71.5, "snap_confidence": "high", "distance_km": 15.4, "lake_distance_km": 0.0, "travel_h": 8.5, "weight": 0.3, "p_spill_today": 0.011, "p_spill_tomorrow": 0.057, "p_spill_days": [0.011, 0.057, 0.092, 0.006, 0.086], "now_contribution": 0.0}, {"site_id": "YWS00187", "company": "Yorkshire Water", "site_name": "KETTLEWELL/STW", "receiving_watercourse": "River Wharfe", "lat": 54.144271, "lon": -2.049104, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2026-10-02T13:54:34+00:00", "latest_event_end": "2026-10-02T14:03:49+00:00", "lta_spills": 61.83000183105469, "spill_hours": 98.75, "snap_confidence": "high", "distance_km": 26.4, "lake_distance_km": 0.0, "travel_h": 14.7, "weight": 0.08, "p_spill_today": 0.025, "p_spill_tomorrow": 0.104, "p_spill_days": [0.025, 0.104, 0.171, 0.023, 0.148], "now_contribution": 0.002}, {"site_id": "YWS00186", "company": "Yorkshire Water", "site_name": "KETTLEWELL/STW", "receiving_watercourse": "River Wharfe", "lat": 54.143642, "lon": -2.048797, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2026-09-19T10:57:37+00:00", "latest_event_end": "2026-09-19T10:59:32+00:00", "lta_spills": 29.329999923706055, "spill_hours": 62.75, "snap_confidence": "high", "distance_km": 26.3, "lake_distance_km": 0.0, "travel_h": 14.6, "weight": 0.08, "p_spill_today": 0.011, "p_spill_tomorrow": 0.052, "p_spill_days": [0.011, 0.052, 0.089, 0.014, 0.082], "now_contribution": 0.0}], "guide": {"checked": "2026-10-03", "how": "desk", "facts": [{"topic": "parking", "text": "Riverside Car Park (sat nav BD23 6AN) is beside the River Wharfe, with half a mile of riverside frontage. The Cavendish Pavilion sits at the top of the car park, at the entrance to Strid Wood.", "status": "confirmed", "source": "https://boltonabbey.com/bolton-abbey-parking/", "source_name": "Bolton Abbey Estate"}, {"topic": "parking", "text": "A car parking ticket costs \u00a312.50 and covers Bolton Abbey Village, Riverside and Strid Wood car parks; you can move between all three during the day.", "status": "confirmed", "source": "https://boltonabbey.com/ticketing-page/", "source_name": "Bolton Abbey Estate"}, {"topic": "parking", "text": "An annual season ticket costs \u00a3150, or \u00a3125 if renewed before it expires. It gives daily free admission to one estate car park during opening hours.", "status": "confirmed", "source": "https://boltonabbey.com/bolton-abbey-season-tickets/", "source_name": "Bolton Abbey Estate"}, {"topic": "parking", "text": "The car park kiosks take card payment only. Pre-booking is advised but not essential, to guarantee your preferred arrival time.", "status": "confirmed", "source": "https://boltonabbey.com/your-visit/faqs/", "source_name": "Bolton Abbey Estate"}, {"topic": "path", "text": "From Riverside Car Park there is easy access along the riverside and through Strid Wood to the Strid.", "status": "confirmed", "source": "https://boltonabbey.com/bolton-abbey-parking/", "source_name": "Bolton Abbey Estate"}, {"topic": "path", "text": "The estate map gives the walk from the Village Shop in Bolton Abbey village to the Cavendish Pavilion as 1.9 km (1.25 miles), about 30 to 40 minutes, and from the Priory as 1.5 km, about 30 minutes.", "status": "confirmed", "source": "https://boltonabbey.com/your-visit/bolton-abbey-map/", "source_name": "Bolton Abbey Estate"}, {"topic": "toilets", "text": "There are adapted toilets in each of the estate car parks. The page does not mention the river or swimming.", "status": "confirmed", "source": "https://boltonabbey.com/your-visit/accessibility/", "source_name": "Bolton Abbey Estate"}, {"topic": "hours", "text": "The Bolton Abbey Estate is open all year. Visitors may stay until the car parks are locked.", "status": "confirmed", "source": "https://boltonabbey.com/your-visit/faqs/", "source_name": "Bolton Abbey Estate"}, {"topic": "rules", "text": "Asked whether you can swim in the river, the estate says the Wharfe is fast flowing with strong undercurrents and levels that rise and fall very quickly, and that swimming is not recommended.", "status": "confirmed", "source": "https://boltonabbey.com/your-visit/faqs/", "source_name": "Bolton Abbey Estate"}, {"topic": "rules", "text": "Rubber dinghies and canoes may only be put on the river between the Cavendish Pavilion Bridge and the Stepping Stones, at the owner's risk.", "status": "confirmed", "source": "https://boltonabbey.com/your-visit/faqs/", "source_name": "Bolton Abbey Estate"}], "photos": []}, "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 17, "sunrise": "07:16", "sunset": "18:34"}, {"date": "2026-10-06", "tmax": 15, "sunrise": "07:18", "sunset": "18:31"}, {"date": "2026-10-07", "tmax": 12, "sunrise": "07:20", "sunset": "18:29"}, {"date": "2026-10-08", "tmax": 12, "sunrise": "07:22", "sunset": "18:27"}, {"date": "2026-10-09", "tmax": 14, "sunrise": "07:23", "sunset": "18:24"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "wharfe-burnsall", "name": "River Wharfe, Burnsall", "kind": "river", "river": "River Wharfe", "source": "curated", "notes": "", "lat": 54.047, "lon": -1.953, "query": {"lat": 54.047, "lon": -1.953, "issued_at": "2026-10-05T03:13:00.646035+01:00"}, "location": {"mode": "river", "watercourse": "River Wharfe", "snap_distance_m": 155, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": true, "placement": "on river", "snapped": {"lat": 54.04569, "lon": -1.95223}}, "river_state": {"station": "Netherside Hall", "river": "River Wharfe", "level_m": 0.398, "typical_low_m": 0.3, "typical_high_m": 2.2, "index": 0.05, "label": "low", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "8276", "measure": "F1906-level-stage-i-15_min-m", "distance_km": 6.0, "same_river": true, "rise_6h_m": -0.009, "rise_from": "2026-10-04T20:15:00Z", "rise_to": "2026-10-05T01:45:00Z"}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 5, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.032, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 1.4, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.271}, {"date": "2026-10-06", "risk": 0.143, "label": "low", "expected_spilling_overflows": 0.3, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.138, "rain_48h_mm": 7.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.541}, {"date": "2026-10-07", "risk": 0.239, "label": "moderate", "expected_spilling_overflows": 0.6, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.239, "source": {"site_id": "YWS00185", "site_name": "GRASSINGTON/STW", "receiving_watercourse": "River Wharfe", "status": 0, "distance_km": 3.8, "lake_distance_km": 0.0, "travel_h": 2.1, "share": 0.443, "spread_over": 4}, "rain_48h_mm": 13.5, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.675}, {"date": "2026-10-08", "risk": 0.066, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.066, "rain_48h_mm": 7.9, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.593}, {"date": "2026-10-09", "risk": 0.207, "label": "moderate", "expected_spilling_overflows": 0.5, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.207, "source": {"site_id": "YWS00185", "site_name": "GRASSINGTON/STW", "receiving_watercourse": "River Wharfe", "status": 0, "distance_km": 3.8, "lake_distance_km": 0.0, "travel_h": 2.1, "share": 0.43, "spread_over": 4}, "rain_48h_mm": 4.4, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.509}], "upstream_summary": {"overflows": 5, "with_live_feed": 5, "without_live_feed": 0, "sum_weight": 2.772, "history_days": 2, "max_travel_h": 8.6}, "contributors": [{"site_id": "YWS00185", "company": "Yorkshire Water", "site_name": "GRASSINGTON/STW", "receiving_watercourse": "River Wharfe", "lat": 54.062414, "lon": -1.99173, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2026-09-17T04:30:52+00:00", "latest_event_end": "2026-09-17T04:45:49+00:00", "lta_spills": 62.5, "spill_hours": 55.0, "snap_confidence": "high", "distance_km": 3.8, "lake_distance_km": 0.0, "travel_h": 2.1, "weight": 0.746, "p_spill_today": 0.022, "p_spill_tomorrow": 0.091, "p_spill_days": [0.022, 0.091, 0.159, 0.021, 0.137], "now_contribution": 0.0}, {"site_id": "YWS00190", "company": "Yorkshire Water", "site_name": "HEBDEN/STW", "receiving_watercourse": "River Wharfe", "lat": 54.055541, "lon": -1.960385, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2025-07-08T12:14:05+00:00", "latest_event_end": "2025-07-08T12:15:06+00:00", "lta_spills": 29.829999923706055, "spill_hours": 2.0999999046325684, "snap_confidence": "high", "distance_km": 1.5, "lake_distance_km": 0.0, "travel_h": 0.9, "weight": 0.914, "p_spill_today": 0.006, "p_spill_tomorrow": 0.031, "p_spill_days": [0.006, 0.031, 0.046, 0.009, 0.047], "now_contribution": 0.0}, {"site_id": "YWS01311", "company": "Yorkshire Water", "site_name": "LINTON/CSO", "receiving_watercourse": "River Wharfe", "lat": 54.064985, "lon": -1.995977, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2026-08-20T00:08:00+00:00", "latest_event_end": "2026-08-20T00:30:00+00:00", "lta_spills": 30.670000076293945, "spill_hours": 71.5, "snap_confidence": "high", "distance_km": 4.5, "lake_distance_km": 0.0, "travel_h": 2.5, "weight": 0.726, "p_spill_today": 0.011, "p_spill_tomorrow": 0.057, "p_spill_days": [0.011, 0.057, 0.092, 0.006, 0.086], "now_contribution": 0.0}, {"site_id": "YWS00187", "company": "Yorkshire Water", "site_name": "KETTLEWELL/STW", "receiving_watercourse": "River Wharfe", "lat": 54.144271, "lon": -2.049104, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2026-10-02T13:54:34+00:00", "latest_event_end": "2026-10-02T14:03:49+00:00", "lta_spills": 61.83000183105469, "spill_hours": 98.75, "snap_confidence": "high", "distance_km": 15.5, "lake_distance_km": 0.0, "travel_h": 8.6, "weight": 0.193, "p_spill_today": 0.025, "p_spill_tomorrow": 0.104, "p_spill_days": [0.025, 0.104, 0.171, 0.023, 0.148], "now_contribution": 0.0}, {"site_id": "YWS00186", "company": "Yorkshire Water", "site_name": "KETTLEWELL/STW", "receiving_watercourse": "River Wharfe", "lat": 54.143642, "lon": -2.048797, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2026-09-19T10:57:37+00:00", "latest_event_end": "2026-09-19T10:59:32+00:00", "lta_spills": 29.329999923706055, "spill_hours": 62.75, "snap_confidence": "high", "distance_km": 15.4, "lake_distance_km": 0.0, "travel_h": 8.6, "weight": 0.193, "p_spill_today": 0.011, "p_spill_tomorrow": 0.052, "p_spill_days": [0.011, 0.052, 0.089, 0.014, 0.082], "now_contribution": 0.0}], "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 16, "sunrise": "07:16", "sunset": "18:34"}, {"date": "2026-10-06", "tmax": 15, "sunrise": "07:18", "sunset": "18:31"}, {"date": "2026-10-07", "tmax": 12, "sunrise": "07:20", "sunset": "18:29"}, {"date": "2026-10-08", "tmax": 12, "sunrise": "07:22", "sunset": "18:27"}, {"date": "2026-10-09", "tmax": 13, "sunrise": "07:24", "sunset": "18:24"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "wharfe-appletreewick", "name": "River Wharfe, Appletreewick", "kind": "river", "river": "River Wharfe", "source": "curated", "notes": "", "lat": 54.0331, "lon": -1.9207, "query": {"lat": 54.0331, "lon": -1.9207, "issued_at": "2026-10-05T03:13:00.930034+01:00"}, "location": {"mode": "river", "watercourse": "River Wharfe", "snap_distance_m": 5, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "on river", "snapped": {"lat": 54.03306, "lon": -1.92071}}, "river_state": {"station": "Addingham", "river": "River Wharfe", "level_m": 0.294, "typical_low_m": 0.189, "typical_high_m": 1.87, "index": 0.06, "label": "low", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "8001", "measure": "F1903-level-stage-i-15_min-m", "distance_km": 11.1, "same_river": true, "rise_6h_m": -0.009, "rise_from": "2026-10-04T20:15:00Z", "rise_to": "2026-10-05T01:45:00Z"}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 6, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.029, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.7, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.23}, {"date": "2026-10-06", "risk": 0.159, "label": "moderate", "expected_spilling_overflows": 0.4, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.153, "source": {"site_id": "YWS00177", "site_name": "BURNSALL CAR PK/CSO", "receiving_watercourse": "River Wharfe", "status": 0, "distance_km": 3.1, "lake_distance_km": 0.0, "travel_h": 1.7, "share": 0.389, "spread_over": 4}, "rain_48h_mm": 4.3, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.49}, {"date": "2026-10-07", "risk": 0.252, "label": "moderate", "expected_spilling_overflows": 0.7, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.252, "source": {"site_id": "YWS00177", "site_name": "BURNSALL CAR PK/CSO", "receiving_watercourse": "River Wharfe", "status": 0, "distance_km": 3.1, "lake_distance_km": 0.0, "travel_h": 1.7, "share": 0.336, "spread_over": 5}, "rain_48h_mm": 10.6, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.647}, {"date": "2026-10-08", "risk": 0.085, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.085, "rain_48h_mm": 7.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.593}, {"date": "2026-10-09", "risk": 0.213, "label": "moderate", "expected_spilling_overflows": 0.6, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.213, "source": {"site_id": "YWS00177", "site_name": "BURNSALL CAR PK/CSO", "receiving_watercourse": "River Wharfe", "status": 0, "distance_km": 3.1, "lake_distance_km": 0.0, "travel_h": 1.7, "share": 0.345, "spread_over": 4}, "rain_48h_mm": 4.4, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.511}], "upstream_summary": {"overflows": 6, "with_live_feed": 6, "without_live_feed": 0, "sum_weight": 2.776, "history_days": 2, "max_travel_h": 10.4}, "contributors": [{"site_id": "YWS00177", "company": "Yorkshire Water", "site_name": "BURNSALL CAR PK/CSO", "receiving_watercourse": "River Wharfe", "lat": 54.04514, "lon": -1.952927, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2026-09-08T00:19:44+00:00", "latest_event_end": "2026-09-08T00:47:47+00:00", "lta_spills": 43.16999816894531, "spill_hours": 135.73333740234375, "snap_confidence": "high", "distance_km": 3.1, "lake_distance_km": 0.0, "travel_h": 1.7, "weight": 0.738, "p_spill_today": 0.011, "p_spill_tomorrow": 0.094, "p_spill_days": [0.011, 0.094, 0.129, 0.028, 0.113], "now_contribution": 0.0}, {"site_id": "YWS00185", "company": "Yorkshire Water", "site_name": "GRASSINGTON/STW", "receiving_watercourse": "River Wharfe", "lat": 54.062414, "lon": -1.99173, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2026-09-17T04:30:52+00:00", "latest_event_end": "2026-09-17T04:45:49+00:00", "lta_spills": 62.5, "spill_hours": 55.0, "snap_confidence": "high", "distance_km": 7.0, "lake_distance_km": 0.0, "travel_h": 3.9, "weight": 0.549, "p_spill_today": 0.022, "p_spill_tomorrow": 0.091, "p_spill_days": [0.022, 0.091, 0.159, 0.021, 0.137], "now_contribution": 0.0}, {"site_id": "YWS00190", "company": "Yorkshire Water", "site_name": "HEBDEN/STW", "receiving_watercourse": "River Wharfe", "lat": 54.055541, "lon": -1.960385, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2025-07-08T12:14:05+00:00", "latest_event_end": "2025-07-08T12:15:06+00:00", "lta_spills": 29.829999923706055, "spill_hours": 2.0999999046325684, "snap_confidence": "high", "distance_km": 4.7, "lake_distance_km": 0.0, "travel_h": 2.6, "weight": 0.673, "p_spill_today": 0.006, "p_spill_tomorrow": 0.031, "p_spill_days": [0.006, 0.031, 0.046, 0.009, 0.047], "now_contribution": 0.0}, {"site_id": "YWS01311", "company": "Yorkshire Water", "site_name": "LINTON/CSO", "receiving_watercourse": "River Wharfe", "lat": 54.064985, "lon": -1.995977, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2026-08-20T00:08:00+00:00", "latest_event_end": "2026-08-20T00:30:00+00:00", "lta_spills": 30.670000076293945, "spill_hours": 71.5, "snap_confidence": "high", "distance_km": 7.6, "lake_distance_km": 0.0, "travel_h": 4.2, "weight": 0.534, "p_spill_today": 0.011, "p_spill_tomorrow": 0.057, "p_spill_days": [0.011, 0.057, 0.092, 0.006, 0.086], "now_contribution": 0.0}, {"site_id": "YWS00187", "company": "Yorkshire Water", "site_name": "KETTLEWELL/STW", "receiving_watercourse": "River Wharfe", "lat": 54.144271, "lon": -2.049104, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2026-10-02T13:54:34+00:00", "latest_event_end": "2026-10-02T14:03:49+00:00", "lta_spills": 61.83000183105469, "spill_hours": 98.75, "snap_confidence": "high", "distance_km": 18.6, "lake_distance_km": 0.0, "travel_h": 10.4, "weight": 0.142, "p_spill_today": 0.025, "p_spill_tomorrow": 0.104, "p_spill_days": [0.025, 0.104, 0.171, 0.023, 0.148], "now_contribution": 0.0}, {"site_id": "YWS00186", "company": "Yorkshire Water", "site_name": "KETTLEWELL/STW", "receiving_watercourse": "River Wharfe", "lat": 54.143642, "lon": -2.048797, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2026-09-19T10:57:37+00:00", "latest_event_end": "2026-09-19T10:59:32+00:00", "lta_spills": 29.329999923706055, "spill_hours": 62.75, "snap_confidence": "high", "distance_km": 18.6, "lake_distance_km": 0.0, "travel_h": 10.3, "weight": 0.142, "p_spill_today": 0.011, "p_spill_tomorrow": 0.052, "p_spill_days": [0.011, 0.052, 0.089, 0.014, 0.082], "now_contribution": 0.0}], "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 17, "sunrise": "07:16", "sunset": "18:34"}, {"date": "2026-10-06", "tmax": 15, "sunrise": "07:18", "sunset": "18:31"}, {"date": "2026-10-07", "tmax": 12, "sunrise": "07:20", "sunset": "18:29"}, {"date": "2026-10-08", "tmax": 12, "sunrise": "07:22", "sunset": "18:27"}, {"date": "2026-10-09", "tmax": 13, "sunrise": "07:24", "sunset": "18:24"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "wharfe-linton-falls", "name": "River Wharfe, Linton Falls, Grassington", "kind": "river", "river": "River Wharfe", "source": "curated", "notes": "", "lat": 54.068, "lon": -2.0, "query": {"lat": 54.068, "lon": -2.0, "issued_at": "2026-10-05T03:13:01.154910+01:00"}, "location": {"mode": "river", "watercourse": "River Wharfe", "snap_distance_m": 167, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "on river", "snapped": {"lat": 54.0669, "lon": -2.00174}}, "river_state": {"station": "Netherside Hall", "river": "River Wharfe", "level_m": 0.398, "typical_low_m": 0.3, "typical_high_m": 2.2, "index": 0.05, "label": "low", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "8276", "measure": "F1906-level-stage-i-15_min-m", "distance_km": 2.1, "same_river": true, "rise_6h_m": -0.009, "rise_from": "2026-10-04T20:15:00Z", "rise_to": "2026-10-05T01:45:00Z"}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 2, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.009, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 1.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.187}, {"date": "2026-10-06", "risk": 0.038, "label": "low", "expected_spilling_overflows": 0.2, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.036, "rain_48h_mm": 3.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.359}, {"date": "2026-10-07", "risk": 0.07, "label": "low", "expected_spilling_overflows": 0.3, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.07, "rain_48h_mm": 10.1, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.533}, {"date": "2026-10-08", "risk": 0.027, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.027, "rain_48h_mm": 7.9, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.531}, {"date": "2026-10-09", "risk": 0.055, "label": "low", "expected_spilling_overflows": 0.2, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.055, "rain_48h_mm": 3.8, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.389}], "upstream_summary": {"overflows": 2, "with_live_feed": 2, "without_live_feed": 0, "sum_weight": 0.606, "history_days": 2, "max_travel_h": 5.9}, "contributors": [{"site_id": "YWS00187", "company": "Yorkshire Water", "site_name": "KETTLEWELL/STW", "receiving_watercourse": "River Wharfe", "lat": 54.144271, "lon": -2.049104, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2026-10-02T13:54:34+00:00", "latest_event_end": "2026-10-02T14:03:49+00:00", "lta_spills": 61.83000183105469, "spill_hours": 98.75, "snap_confidence": "high", "distance_km": 10.6, "lake_distance_km": 0.0, "travel_h": 5.9, "weight": 0.302, "p_spill_today": 0.025, "p_spill_tomorrow": 0.104, "p_spill_days": [0.025, 0.104, 0.171, 0.023, 0.148], "now_contribution": 0.0}, {"site_id": "YWS00186", "company": "Yorkshire Water", "site_name": "KETTLEWELL/STW", "receiving_watercourse": "River Wharfe", "lat": 54.143642, "lon": -2.048797, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2026-09-19T10:57:37+00:00", "latest_event_end": "2026-09-19T10:59:32+00:00", "lta_spills": 29.329999923706055, "spill_hours": 62.75, "snap_confidence": "high", "distance_km": 10.5, "lake_distance_km": 0.0, "travel_h": 5.8, "weight": 0.303, "p_spill_today": 0.011, "p_spill_tomorrow": 0.052, "p_spill_days": [0.011, 0.052, 0.089, 0.014, 0.082], "now_contribution": 0.0}], "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 16, "sunrise": "07:17", "sunset": "18:34"}, {"date": "2026-10-06", "tmax": 15, "sunrise": "07:19", "sunset": "18:32"}, {"date": "2026-10-07", "tmax": 11, "sunrise": "07:20", "sunset": "18:29"}, {"date": "2026-10-08", "tmax": 11, "sunrise": "07:22", "sunset": "18:27"}, {"date": "2026-10-09", "tmax": 13, "sunrise": "07:24", "sunset": "18:25"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "ure-aysgarth", "name": "River Ure, Aysgarth Falls", "kind": "river", "river": "River Ure", "source": "curated", "notes": "", "lat": 54.2925, "lon": -1.9855, "query": {"lat": 54.2925, "lon": -1.9855, "issued_at": "2026-10-05T03:13:01.337644+01:00"}, "location": {"mode": "river", "watercourse": "River Ure", "snap_distance_m": 1, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "on river", "snapped": {"lat": 54.2925, "lon": -1.98551}}, "river_state": {"station": "Bainbridge", "river": "River Ure", "level_m": 0.377, "typical_low_m": 0.051, "typical_high_m": 2.0, "index": 0.17, "label": "normal", "observed_at": "2026-10-05T01:30:00Z", "age_hours": 0.7, "stale": false, "rloi": "8011", "measure": "L2208-level-stage-i-15_min-m", "distance_km": 7.9, "same_river": true, "rise_6h_m": -0.004, "rise_from": "2026-10-04T20:15:00Z", "rise_to": "2026-10-05T01:30:00Z"}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.009, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 1, "monitored_upstream": 4, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.012, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.5, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.176}, {"date": "2026-10-06", "risk": 0.06, "label": "low", "expected_spilling_overflows": 0.5, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.055, "rain_48h_mm": 1.8, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.336}, {"date": "2026-10-07", "risk": 0.084, "label": "low", "expected_spilling_overflows": 0.5, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.084, "rain_48h_mm": 10.8, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.549}, {"date": "2026-10-08", "risk": 0.033, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.033, "rain_48h_mm": 9.5, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.573}, {"date": "2026-10-09", "risk": 0.052, "label": "low", "expected_spilling_overflows": 0.5, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.052, "rain_48h_mm": 3.6, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.38}], "upstream_summary": {"overflows": 4, "with_live_feed": 4, "without_live_feed": 0, "sum_weight": 0.425, "history_days": 2, "max_travel_h": 9.7}, "contributors": [{"site_id": "YWS00300", "company": "Yorkshire Water", "site_name": "HAWES/STW", "receiving_watercourse": "River Ure", "lat": 54.307697, "lon": -2.191921, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2026-10-02T22:47:38+00:00", "latest_event_end": "2026-10-02T23:57:30+00:00", "lta_spills": 93.5, "spill_hours": 371.5, "snap_confidence": "high", "distance_km": 16.3, "lake_distance_km": 0.0, "travel_h": 9.0, "weight": 0.222, "p_spill_today": 0.057, "p_spill_tomorrow": 0.28, "p_spill_days": [0.057, 0.28, 0.232, 0.025, 0.209], "now_contribution": 0.009}, {"site_id": "YWS00311", "company": "Yorkshire Water", "site_name": "BAINBRIDGE/STW", "receiving_watercourse": "River Bain", "lat": 54.309875, "lon": -2.101559, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2026-09-15T08:47:16+00:00", "latest_event_end": "2026-09-15T08:56:36+00:00", "lta_spills": 78.16999816894531, "spill_hours": 138.75, "snap_confidence": "high", "distance_km": 9.7, "lake_distance_km": 0.0, "travel_h": 5.4, "weight": 0.117, "p_spill_today": 0.026, "p_spill_tomorrow": 0.169, "p_spill_days": [0.026, 0.169, 0.247, 0.029, 0.206], "now_contribution": 0.0}, {"site_id": "YWS00286", "company": "Yorkshire Water", "site_name": "ASKRIGG/STW", "receiving_watercourse": "Paddock Beck", "lat": 54.309798, "lon": -2.084498, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2026-08-30T17:55:40+00:00", "latest_event_end": "2026-08-30T17:56:39+00:00", "lta_spills": 15.829999923706055, "spill_hours": 19.25, "snap_confidence": "high", "distance_km": 8.3, "lake_distance_km": 0.0, "travel_h": 4.6, "weight": 0.06, "p_spill_today": 0.003, "p_spill_tomorrow": 0.035, "p_spill_days": [0.003, 0.035, 0.051, 0.009, 0.045], "now_contribution": 0.0}, {"site_id": "YWS00316", "company": "Yorkshire Water", "site_name": "THE HOLME BRIDGE/CSO", "receiving_watercourse": "Gayle Beck", "lat": 54.304044, "lon": -2.194963, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2026-03-12T17:17:00+00:00", "latest_event_end": "2026-03-12T17:42:00+00:00", "lta_spills": 0.6700000166893005, "spill_hours": 0.0, "snap_confidence": "high", "distance_km": 17.4, "lake_distance_km": 0.0, "travel_h": 9.7, "weight": 0.026, "p_spill_today": 0.001, "p_spill_tomorrow": 0.005, "p_spill_days": [0.001, 0.005, 0.004, 0.002, 0.003], "now_contribution": 0.0}], "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 17, "sunrise": "07:17", "sunset": "18:34"}, {"date": "2026-10-06", "tmax": 15, "sunrise": "07:19", "sunset": "18:31"}, {"date": "2026-10-07", "tmax": 12, "sunrise": "07:20", "sunset": "18:29"}, {"date": "2026-10-08", "tmax": 12, "sunrise": "07:22", "sunset": "18:27"}, {"date": "2026-10-09", "tmax": 14, "sunrise": "07:24", "sunset": "18:24"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "ribble-stainforth-force", "name": "River Ribble, Stainforth Force", "kind": "river", "river": "River Ribble", "source": "curated", "notes": "", "lat": 54.102, "lon": -2.279, "query": {"lat": 54.102, "lon": -2.279, "issued_at": "2026-10-05T03:13:01.554256+01:00"}, "location": {"mode": "river", "watercourse": "River Ribble", "snap_distance_m": 114, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "on river", "snapped": {"lat": 54.10166, "lon": -2.28064}}, "river_state": {"station": "Locks Weir", "river": "River Ribble", "level_m": 0.176, "typical_low_m": 0.105, "typical_high_m": 1.4, "index": 0.05, "label": "low", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "5086", "measure": "710151-level-stage-i-15_min-m", "distance_km": 2.0, "same_river": true, "rise_6h_m": -0.001, "rise_from": "2026-10-04T20:15:00Z", "rise_to": "2026-10-05T01:45:00Z"}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 0, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.033, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.203}, {"date": "2026-10-06", "risk": 0.102, "label": "low", "expected_spilling_overflows": 0.2, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.097, "rain_48h_mm": 3.8, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.437}, {"date": "2026-10-07", "risk": 0.148, "label": "low", "expected_spilling_overflows": 0.2, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.148, "rain_48h_mm": 11.3, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.61}, {"date": "2026-10-08", "risk": 0.034, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.034, "rain_48h_mm": 7.7, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.541}, {"date": "2026-10-09", "risk": 0.132, "label": "low", "expected_spilling_overflows": 0.2, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.132, "rain_48h_mm": 5.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.486}], "upstream_summary": {"overflows": 1, "with_live_feed": 0, "without_live_feed": 1, "sum_weight": 0.629, "history_days": 2, "max_travel_h": 3.3}, "contributors": [{"site_id": "UUP00990", "company": "United Utilities", "site_name": "HORTON-IN-RIBBLESDALE WwTW", "receiving_watercourse": "River Ribble", "lat": 54.1446011768373, "lon": -2.2967198164609, "status": -1, "has_live": true, "data_state": "offline", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-10-02T07:52:22.500000+00:00", "latest_event_end": null, "lta_spills": 111.0, "spill_hours": 433.42138671875, "snap_confidence": "high", "distance_km": 5.9, "lake_distance_km": 0.0, "travel_h": 3.3, "weight": 0.629, "p_spill_today": 0.06, "p_spill_tomorrow": 0.179, "p_spill_days": [0.06, 0.179, 0.245, 0.024, 0.239], "now_contribution": 0.0}], "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 16, "sunrise": "07:18", "sunset": "18:35"}, {"date": "2026-10-06", "tmax": 14, "sunrise": "07:20", "sunset": "18:33"}, {"date": "2026-10-07", "tmax": 11, "sunrise": "07:22", "sunset": "18:30"}, {"date": "2026-10-08", "tmax": 11, "sunrise": "07:23", "sunset": "18:28"}, {"date": "2026-10-09", "tmax": 12, "sunrise": "07:25", "sunset": "18:26"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "gordale-janets-foss", "name": "Janet's Foss, Gordale Beck, Malham", "kind": "river", "river": "Gordale Beck", "source": "curated", "notes": "", "lat": 54.068, "lon": -2.137, "query": {"lat": 54.068, "lon": -2.137, "issued_at": "2026-10-05T03:13:01.713878+01:00"}, "location": {"mode": "river", "watercourse": "Gordale Beck", "snap_distance_m": 158, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "on river", "snapped": {"lat": 54.0676, "lon": -2.13468}}, "river_state": {"station": "Gargrave High Street", "river": "River Aire", "level_m": 0.241, "typical_low_m": 0.201, "typical_high_m": 1.5, "index": 0.03, "label": "low", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "9471", "measure": "F1509-level-stage-i-15_min-m", "distance_km": 9.6, "same_river": false}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 0, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 1.3, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.12}, {"date": "2026-10-06", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 6.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.21}, {"date": "2026-10-07", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 15.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.301}, {"date": "2026-10-08", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 10.3, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.347}, {"date": "2026-10-09", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 4.7, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.184}], "upstream_summary": {"overflows": 0, "with_live_feed": 0, "without_live_feed": 0, "sum_weight": 0.0, "history_days": 1, "max_travel_h": 0.0}, "contributors": [], "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 16, "sunrise": "07:17", "sunset": "18:35"}, {"date": "2026-10-06", "tmax": 14, "sunrise": "07:19", "sunset": "18:32"}, {"date": "2026-10-07", "tmax": 11, "sunrise": "07:21", "sunset": "18:30"}, {"date": "2026-10-08", "tmax": 11, "sunrise": "07:23", "sunset": "18:27"}, {"date": "2026-10-09", "tmax": 12, "sunrise": "07:25", "sunset": "18:25"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "semerwater", "name": "Semerwater", "kind": "lake", "river": null, "source": "curated", "notes": "", "lat": 54.279, "lon": -2.133, "query": {"lat": 54.279, "lon": -2.133, "issued_at": "2026-10-05T03:13:01.871194+01:00"}, "location": {"mode": "lake", "watercourse": "Semer Water", "snap_distance_m": 207, "form": "lake", "lake_area_km2": 0.3, "lake_source": "polygon", "adopted_main_channel": false, "placement": null, "snapped": {"lat": 54.27976, "lon": -2.1301}}, "river_state": {"station": "Bainbridge", "river": "River Ure", "level_m": 0.377, "typical_low_m": 0.051, "typical_high_m": 2.0, "index": 0.17, "label": "normal", "observed_at": "2026-10-05T01:30:00Z", "age_hours": 0.7, "stale": false, "rloi": "8011", "measure": "L2208-level-stage-i-15_min-m", "distance_km": 4.1, "same_river": false}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": false, "season_validated_months": [5, 6, 7, 8, 9], "note": "Not validated on lakes: no ranking skill in the fitting data (16 exceedances in 803 lake samples)."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 0, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 1.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.027}, {"date": "2026-10-06", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 3.4, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.024}, {"date": "2026-10-07", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 11.3, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.018}, {"date": "2026-10-08", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 9.1, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.029}, {"date": "2026-10-09", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 3.9, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.022}], "upstream_summary": {"overflows": 0, "with_live_feed": 0, "without_live_feed": 0, "sum_weight": 0.0, "history_days": 1, "max_travel_h": 0.0}, "contributors": [], "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 16, "sunrise": "07:17", "sunset": "18:34"}, {"date": "2026-10-06", "tmax": 14, "sunrise": "07:19", "sunset": "18:32"}, {"date": "2026-10-07", "tmax": 11, "sunrise": "07:21", "sunset": "18:30"}, {"date": "2026-10-08", "tmax": 11, "sunrise": "07:23", "sunset": "18:27"}, {"date": "2026-10-09", "tmax": 13, "sunrise": "07:25", "sunset": "18:25"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "ullswater-glenridding", "name": "Ullswater, Glenridding", "kind": "lake", "river": null, "source": "curated", "notes": "", "lat": 54.544, "lon": -2.948, "query": {"lat": 54.544, "lon": -2.948, "issued_at": "2026-10-05T03:13:01.935488+01:00"}, "location": {"mode": "lake", "watercourse": "Glenridding Beck", "snap_distance_m": 354, "form": "lake", "lake_area_km2": null, "lake_source": "centreline", "adopted_main_channel": false, "placement": null, "snapped": {"lat": 54.5459, "lon": -2.94361}}, "river_state": {"station": "Glenridding Village", "river": "Glenridding Beck", "level_m": 0.258, "typical_low_m": 0.048, "typical_high_m": 1.0, "index": 0.22, "label": "normal", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "9113", "measure": "761515-level-stage-i-15_min-m", "distance_km": 0.2, "same_river": true}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": false, "season_validated_months": [5, 6, 7, 8, 9], "note": "Not validated on lakes: no ranking skill in the fitting data (16 exceedances in 803 lake samples)."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 1, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.024, "label": "low", "expected_spilling_overflows": 0.3, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 3.9, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.052}, {"date": "2026-10-06", "risk": 0.019, "label": "low", "expected_spilling_overflows": 0.2, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.017, "rain_48h_mm": 7.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.049}, {"date": "2026-10-07", "risk": 0.006, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.006, "rain_48h_mm": 4.8, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.041}, {"date": "2026-10-08", "risk": 0.002, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.002, "rain_48h_mm": 1.5, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.039}, {"date": "2026-10-09", "risk": 0.019, "label": "low", "expected_spilling_overflows": 0.2, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.019, "rain_48h_mm": 4.4, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.047}], "upstream_summary": {"overflows": 1, "with_live_feed": 1, "without_live_feed": 0, "sum_weight": 0.093, "history_days": 2, "max_travel_h": 2.4}, "contributors": [{"site_id": "UUP00808", "company": "United Utilities", "site_name": "GLENRIDDING WwTW", "receiving_watercourse": "Glenridding Beck", "lat": 54.5429774769697, "lon": -2.952910279731, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-10-02T23:22:50.800000+00:00", "latest_event_end": "2026-10-02T23:35:17.500000+00:00", "lta_spills": 65.57142639160156, "spill_hours": 144.16111755371094, "snap_confidence": "high", "distance_km": 0.7, "lake_distance_km": 0.4, "travel_h": 2.4, "weight": 0.093, "p_spill_today": 0.258, "p_spill_tomorrow": 0.199, "p_spill_days": [0.258, 0.199, 0.054, 0.022, 0.218], "now_contribution": 0.0}], "guide": {"checked": "2026-10-03", "how": "desk", "facts": [{"topic": "parking", "text": "Glenridding car park is pay and display (coins and cards) with coach parking, EV chargers, toilets including disabled, and the Tourist Information Centre.", "status": "confirmed", "source": "https://lakedistrict.gov.uk/explore/visitor-facilities/car-parks-and-parking/", "source_name": "Lake District National Park Authority"}, {"topic": "parking", "text": "Pier and Jenkins Field car park in Glenridding is pay and display and has toilets.", "status": "confirmed", "source": "https://lakedistrict.gov.uk/explore/visitor-facilities/car-parks-and-parking/", "source_name": "Lake District National Park Authority"}, {"topic": "parking", "text": "Glenridding car park can also be paid by RingGo, car park ID 37316.", "status": "confirmed", "source": "https://lakedistrict.gov.uk/explore/visitor-facilities/car-parks-and-parking/", "source_name": "Lake District National Park Authority"}, {"topic": "path", "text": "The Ullswater Information Centre is next to the large visitor car park in Glenridding (Beckside Car Park, CA11 0PD), on the west shore. The 508 bus stops in the car park, 100 yards from the centre.", "status": "confirmed", "source": "https://lakedistrict.gov.uk/explore/information-centres/ullswater-information-centre/", "source_name": "Lake District National Park Authority"}, {"topic": "path", "text": "Ullswater Steamers run all year between Pooley Bridge and Glenridding Pier, which is 100 m from the information centre.", "status": "confirmed", "source": "https://lakedistrict.gov.uk/explore/information-centres/ullswater-information-centre/", "source_name": "Lake District National Park Authority"}, {"topic": "toilets", "text": "There are public toilets in Glenridding's main car park next to the Ullswater Information Centre, with baby changing if you have a RADAR key or ask staff. Jenkins Field also has toilets.", "status": "confirmed", "source": "https://lakedistrict.gov.uk/explore/visitor-facilities/public-toilets/", "source_name": "Lake District National Park Authority"}, {"topic": "rules", "text": "Swimming is allowed on Ullswater. Canoes, kayaks, paddleboards, rowing and sailing boats are allowed, and powered craft too, with a 10 mph speed limit.", "status": "confirmed", "source": "https://lakedistrict.gov.uk/explore/things-to-do/on-the-water/lakes-activities-guide/", "source_name": "Lake District National Park Authority"}, {"topic": "rules", "text": "The park authority lists Ullswater among the busier lakes, with motorboats, sailing boats and other craft. It recommends swimming along the shoreline and making yourself visible.", "status": "confirmed", "source": "https://lakedistrict.gov.uk/explore/things-to-do/on-the-water/swimming-in-the-lake-district/", "source_name": "Lake District National Park Authority"}], "photos": []}, "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 16, "sunrise": "07:21", "sunset": "18:37"}, {"date": "2026-10-06", "tmax": 14, "sunrise": "07:23", "sunset": "18:35"}, {"date": "2026-10-07", "tmax": 11, "sunrise": "07:25", "sunset": "18:33"}, {"date": "2026-10-08", "tmax": 11, "sunrise": "07:26", "sunset": "18:30"}, {"date": "2026-10-09", "tmax": 12, "sunrise": "07:28", "sunset": "18:28"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "ullswater-pooley-bridge", "name": "Ullswater, Pooley Bridge", "kind": "lake", "river": null, "source": "curated", "notes": "", "lat": 54.61, "lon": -2.816, "query": {"lat": 54.61, "lon": -2.816, "issued_at": "2026-10-05T03:13:02.121318+01:00"}, "location": {"mode": "lake", "watercourse": null, "snap_distance_m": 587, "form": "lake", "lake_area_km2": null, "lake_source": "centreline", "adopted_main_channel": false, "placement": null, "snapped": {"lat": 54.61073, "lon": -2.825}}, "river_state": {"station": "Pooley Bridge", "river": "River Eamont", "level_m": 0.555, "typical_low_m": 0.147, "typical_high_m": 1.1, "index": 0.43, "label": "normal", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "5168", "measure": "761605-level-stage-i-15_min-m", "distance_km": 0.8, "same_river": null}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": false, "season_validated_months": [5, 6, 7, 8, 9], "note": "Not validated on lakes: no ranking skill in the fitting data (16 exceedances in 803 lake samples)."}, "now": {"risk": 0.001, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 1, "monitored_upstream": 1, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.001, "label": "low", "expected_spilling_overflows": 0.3, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.9, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.028}, {"date": "2026-10-06", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.2, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 3.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.024}, {"date": "2026-10-07", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 4.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.024}, {"date": "2026-10-08", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 1.7, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.031}, {"date": "2026-10-09", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.2, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 3.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.023}], "upstream_summary": {"overflows": 1, "with_live_feed": 1, "without_live_feed": 0, "sum_weight": 0.001, "history_days": 4, "max_travel_h": 61.0}, "contributors": [{"site_id": "UUP00808", "company": "United Utilities", "site_name": "GLENRIDDING WwTW", "receiving_watercourse": "Glenridding Beck", "lat": 54.5429774769697, "lon": -2.952910279731, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-10-02T23:22:50.800000+00:00", "latest_event_end": "2026-10-02T23:35:17.500000+00:00", "lta_spills": 65.57142639160156, "spill_hours": 144.16111755371094, "snap_confidence": "high", "distance_km": 0.7, "lake_distance_km": 10.9, "travel_h": 61.0, "weight": 0.001, "p_spill_today": 0.258, "p_spill_tomorrow": 0.199, "p_spill_days": [0.258, 0.199, 0.054, 0.022, 0.218], "now_contribution": 0.001}], "guide": {"checked": "2026-10-03", "how": "desk", "facts": [{"topic": "parking", "text": "Eusemere car park at Pooley Bridge is pay and display, coins and cards, or RingGo (car park ID 37310).", "status": "confirmed", "source": "https://lakedistrict.gov.uk/explore/visitor-facilities/car-parks-and-parking/", "source_name": "Lake District National Park Authority"}, {"topic": "parking", "text": "Dunmallard Hill car park at Pooley Bridge is pay and display, coins and cards, or RingGo (car park ID 37309).", "status": "confirmed", "source": "https://lakedistrict.gov.uk/explore/visitor-facilities/car-parks-and-parking/", "source_name": "Lake District National Park Authority"}, {"topic": "path", "text": "A Miles Without Stiles route (start postcode CA10 2NN) runs 0.9 km each way along the Ullswater shore from the car park entrance, south past Dunmere, through gates and over two short steep ramps. The page does not mention swimming.", "status": "confirmed", "source": "https://lakedistrict.gov.uk/route/pooley-bridge-to-gale-bay/", "source_name": "Lake District National Park Authority"}, {"topic": "entry", "text": "At the end of the route a rough path, unsuitable for pushchairs and wheelchairs, continues 150 m to a gate and a raised boardwalk onto the shingle shore of Gale Bay. The page does not mention swimming.", "status": "confirmed", "source": "https://lakedistrict.gov.uk/route/pooley-bridge-to-gale-bay/", "source_name": "Lake District National Park Authority"}, {"topic": "toilets", "text": "Pooley Bridge has public toilets behind the Information Centre.", "status": "confirmed", "source": "https://lakedistrict.gov.uk/explore/visitor-facilities/public-toilets/", "source_name": "Lake District National Park Authority"}, {"topic": "rules", "text": "Swimming is allowed on Ullswater. Canoes, kayaks, paddleboards, rowing and sailing boats are allowed, and powered craft too, with a 10 mph speed limit.", "status": "confirmed", "source": "https://lakedistrict.gov.uk/explore/things-to-do/on-the-water/lakes-activities-guide/", "source_name": "Lake District National Park Authority"}, {"topic": "rules", "text": "The park authority lists Ullswater among the busier lakes, with motorboats, sailing boats and other craft. It recommends swimming along the shoreline and making yourself visible.", "status": "confirmed", "source": "https://lakedistrict.gov.uk/explore/things-to-do/on-the-water/swimming-in-the-lake-district/", "source_name": "Lake District National Park Authority"}], "photos": []}, "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 17, "sunrise": "07:20", "sunset": "18:37"}, {"date": "2026-10-06", "tmax": 12, "sunrise": "07:22", "sunset": "18:34"}, {"date": "2026-10-07", "tmax": 11, "sunrise": "07:24", "sunset": "18:32"}, {"date": "2026-10-08", "tmax": 11, "sunrise": "07:26", "sunset": "18:30"}, {"date": "2026-10-09", "tmax": 13, "sunrise": "07:28", "sunset": "18:27"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "buttermere", "name": "Buttermere", "kind": "lake", "river": null, "source": "curated", "notes": "", "lat": 54.539, "lon": -3.268, "query": {"lat": 54.539, "lon": -3.268, "issued_at": "2026-10-05T03:13:02.315310+01:00"}, "location": {"mode": "lake", "watercourse": null, "snap_distance_m": 557, "form": "lake", "lake_area_km2": null, "lake_source": "centreline", "adopted_main_channel": false, "placement": null, "snapped": {"lat": 54.53487, "lon": -3.27286}}, "river_state": {"station": "Scalehill Upper Lorton Valley", "river": "River Cocker", "level_m": 0.775, "typical_low_m": 0.312, "typical_high_m": 0.973, "index": 0.7, "label": "high", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "5123", "measure": "751612-level-stage-i-15_min-m", "distance_km": 5.6, "same_river": null}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": false, "season_validated_months": [5, 6, 7, 8, 9], "note": "Not validated on lakes: no ranking skill in the fitting data (16 exceedances in 803 lake samples)."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 0, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 2.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.025}, {"date": "2026-10-06", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 3.8, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.024}, {"date": "2026-10-07", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 2.4, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.028}, {"date": "2026-10-08", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 1.8, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.026}, {"date": "2026-10-09", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 6.9, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.02}], "upstream_summary": {"overflows": 0, "with_live_feed": 0, "without_live_feed": 0, "sum_weight": 0.0, "history_days": 1, "max_travel_h": 0.0}, "contributors": [], "guide": {"checked": "2026-10-03", "how": "desk", "facts": [{"topic": "parking", "text": "The National Trust car park for Buttermere lake and village is just outside the hamlet, 300 yards towards Cockermouth (sat nav CA13 9UZ).", "status": "confirmed", "source": "https://www.nationaltrust.org.uk/visit/lake-district/buttermere-valley", "source_name": "National Trust"}, {"topic": "parking", "text": "There is also a park authority car park in Buttermere village: pay and display, coins and cards or RingGo (ID 37311), with toilets including disabled. The valley gets congested at peak times; park only in designated car parks.", "status": "confirmed", "source": "https://lakedistrict.gov.uk/explore/visitor-facilities/car-parks-and-parking/", "source_name": "Lake District National Park Authority"}, {"topic": "parking", "text": "National Trust car park charges are \u00a37 up to 2 hours, \u00a38 up to 4 hours and \u00a39.50 all day. Charges apply at all times.", "status": "confirmed", "source": "https://www.nationaltrust.org.uk/visit/lake-district/buttermere-valley/car-parks-in-the-buttermere-valley", "source_name": "National Trust"}, {"topic": "parking", "text": "National Trust members park free by scanning their card. Non-members should bring change, as poor mobile signal means card or phone payment is not possible at every car park; some take the JustPark app.", "status": "confirmed", "source": "https://www.nationaltrust.org.uk/visit/lake-district/buttermere-valley/car-parks-in-the-buttermere-valley", "source_name": "National Trust"}, {"topic": "parking", "text": "The National Trust does not allow overnight parking in its Buttermere Valley car parks.", "status": "confirmed", "source": "https://www.nationaltrust.org.uk/visit/lake-district/buttermere-valley", "source_name": "National Trust"}, {"topic": "path", "text": "From the National Trust car park you can walk to Buttermere itself or to Crummock Water.", "status": "confirmed", "source": "https://www.nationaltrust.org.uk/visit/lake-district/buttermere-valley", "source_name": "National Trust"}, {"topic": "path", "text": "A lakeshore path circles Buttermere for 4.5 miles (7 km), with one short stretch on the road and one rock step where you may need your hands.", "status": "confirmed", "source": "https://www.nationaltrust.org.uk/visit/lake-district/buttermere-valley/things-to-do-in-buttermere-valley", "source_name": "National Trust"}, {"topic": "path", "text": "Each year a short stretch of permissive footpath along the north edge of the lake is closed from the start of April to the end of June to protect nesting sandpipers; waymarked alternatives are offered.", "status": "confirmed", "source": "https://www.nationaltrust.org.uk/visit/lake-district/buttermere-valley/things-to-do-in-buttermere-valley", "source_name": "National Trust"}, {"topic": "toilets", "text": "There is a public toilet in Buttermere, with a small fee.", "status": "confirmed", "source": "https://www.nationaltrust.org.uk/visit/lake-district/buttermere-valley", "source_name": "National Trust"}, {"topic": "toilets", "text": "The Buttermere car park toilet is run by the park authority, with baby changing if you have a RADAR key.", "status": "confirmed", "source": "https://lakedistrict.gov.uk/explore/visitor-facilities/public-toilets/", "source_name": "Lake District National Park Authority"}, {"topic": "rules", "text": "Swimming is allowed on Buttermere. The park authority lists canoes, kayaks, paddleboards and rowing boats as allowed with a permit; sailing boats and powered craft are not allowed.", "status": "confirmed", "source": "https://lakedistrict.gov.uk/explore/things-to-do/on-the-water/lakes-activities-guide/", "source_name": "Lake District National Park Authority"}, {"topic": "rules", "text": "The park authority lists Buttermere among the quieter lakes best for swimming, with few or no motorboats.", "status": "confirmed", "source": "https://lakedistrict.gov.uk/explore/things-to-do/on-the-water/swimming-in-the-lake-district/", "source_name": "Lake District National Park Authority"}, {"topic": "rules", "text": "The National Trust says boating permits for Buttermere are suspended on Natural England's advice, and no permits will be issued until further guidance.", "status": "confirmed", "source": "https://www.nationaltrust.org.uk/visit/lake-district/buttermere-valley/boating-and-fishing-in-the-buttermere-valley", "source_name": "National Trust"}, {"topic": "rules", "text": "The National Trust asks swimmers and paddlers to follow Check, Clean, Dry, cleaning wetsuits, costumes and kit, to stop invasive species spreading between lakes.", "status": "confirmed", "source": "https://www.nationaltrust.org.uk/visit/lake-district/buttermere-valley/boating-and-fishing-in-the-buttermere-valley", "source_name": "National Trust"}], "photos": []}, "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 16, "sunrise": "07:22", "sunset": "18:39"}, {"date": "2026-10-06", "tmax": 13, "sunrise": "07:24", "sunset": "18:36"}, {"date": "2026-10-07", "tmax": 10, "sunrise": "07:26", "sunset": "18:34"}, {"date": "2026-10-08", "tmax": 11, "sunrise": "07:28", "sunset": "18:31"}, {"date": "2026-10-09", "tmax": 12, "sunrise": "07:30", "sunset": "18:29"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "crummock-water", "name": "Crummock Water", "kind": "lake", "river": null, "source": "curated", "notes": "", "lat": 54.558, "lon": -3.302, "query": {"lat": 54.558, "lon": -3.302, "issued_at": "2026-10-05T03:13:02.394082+01:00"}, "location": {"mode": "lake", "watercourse": "Crummock Water", "snap_distance_m": 108, "form": "lake", "lake_area_km2": 2.6, "lake_source": "polygon", "adopted_main_channel": false, "placement": null, "snapped": {"lat": 54.5578, "lon": -3.30363}}, "river_state": {"station": "Scalehill Upper Lorton Valley", "river": "River Cocker", "level_m": 0.775, "typical_low_m": 0.312, "typical_high_m": 0.973, "index": 0.7, "label": "high", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "5123", "measure": "751612-level-stage-i-15_min-m", "distance_km": 2.7, "same_river": false}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": false, "season_validated_months": [5, 6, 7, 8, 9], "note": "Not validated on lakes: no ranking skill in the fitting data (16 exceedances in 803 lake samples)."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 0, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.4, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.03}, {"date": "2026-10-06", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 3.4, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.023}, {"date": "2026-10-07", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 3.6, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.027}, {"date": "2026-10-08", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 1.8, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.026}, {"date": "2026-10-09", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 6.6, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.02}], "upstream_summary": {"overflows": 0, "with_live_feed": 0, "without_live_feed": 0, "sum_weight": 0.0, "history_days": 1, "max_travel_h": 0.0}, "contributors": [], "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 16, "sunrise": "07:22", "sunset": "18:39"}, {"date": "2026-10-06", "tmax": 13, "sunrise": "07:24", "sunset": "18:36"}, {"date": "2026-10-07", "tmax": 11, "sunrise": "07:26", "sunset": "18:34"}, {"date": "2026-10-08", "tmax": 11, "sunrise": "07:28", "sunset": "18:32"}, {"date": "2026-10-09", "tmax": 13, "sunrise": "07:30", "sunset": "18:29"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "wastwater", "name": "Wastwater", "kind": "lake", "river": null, "source": "curated", "notes": "", "lat": 54.439, "lon": -3.296, "query": {"lat": 54.439, "lon": -3.296, "issued_at": "2026-10-05T03:13:02.462466+01:00"}, "location": {"mode": "lake", "watercourse": "Wast Water", "snap_distance_m": 204, "form": "lake", "lake_area_km2": 2.8, "lake_source": "polygon", "adopted_main_channel": false, "placement": null, "snapped": {"lat": 54.4401, "lon": -3.29851}}, "river_state": {"station": "Galesyke", "river": "River Irt", "level_m": 0.601, "typical_low_m": 0.25, "typical_high_m": 0.85, "index": 0.58, "label": "normal", "observed_at": "2026-10-05T01:30:00Z", "age_hours": 0.7, "stale": false, "rloi": "5182", "measure": "743008-level-stage-i-15_min-m", "distance_km": 3.1, "same_river": false}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": false, "season_validated_months": [5, 6, 7, 8, 9], "note": "Not validated on lakes: no ranking skill in the fitting data (16 exceedances in 803 lake samples)."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 0, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 1.3, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.026}, {"date": "2026-10-06", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 3.6, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.024}, {"date": "2026-10-07", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 2.6, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.029}, {"date": "2026-10-08", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.9, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.028}, {"date": "2026-10-09", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 8.4, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.019}], "upstream_summary": {"overflows": 0, "with_live_feed": 0, "without_live_feed": 0, "sum_weight": 0.0, "history_days": 1, "max_travel_h": 0.0}, "contributors": [], "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 16, "sunrise": "07:22", "sunset": "18:39"}, {"date": "2026-10-06", "tmax": 14, "sunrise": "07:24", "sunset": "18:37"}, {"date": "2026-10-07", "tmax": 11, "sunrise": "07:26", "sunset": "18:34"}, {"date": "2026-10-08", "tmax": 11, "sunrise": "07:28", "sunset": "18:32"}, {"date": "2026-10-09", "tmax": 13, "sunrise": "07:30", "sunset": "18:29"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "grasmere", "name": "Grasmere (lake)", "kind": "lake", "river": null, "source": "curated", "notes": "", "lat": 54.45, "lon": -3.02, "query": {"lat": 54.45, "lon": -3.02, "issued_at": "2026-10-05T03:13:02.529335+01:00"}, "location": {"mode": "lake", "watercourse": "Grasmere", "snap_distance_m": 52, "form": "lake", "lake_area_km2": 0.6, "lake_source": "polygon", "adopted_main_channel": false, "placement": null, "snapped": {"lat": 54.44985, "lon": -3.02077}}, "river_state": {"station": "Grasmere Broadgate Meadow", "river": "River Rothay", "level_m": -0.025, "typical_low_m": 0.15, "typical_high_m": 1.0, "index": -0.21, "label": "low", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "9418", "measure": "735003-level-stage-i-15_min-m", "distance_km": 1.2, "same_river": false}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": false, "season_validated_months": [5, 6, 7, 8, 9], "note": "Not validated on lakes: no ranking skill in the fitting data (16 exceedances in 803 lake samples)."}, "now": {"risk": 0.074, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 1, "monitored_upstream": 1, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.03, "label": "low", "expected_spilling_overflows": 0.3, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 1.5, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.065}, {"date": "2026-10-06", "risk": 0.024, "label": "low", "expected_spilling_overflows": 0.2, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.022, "rain_48h_mm": 3.7, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.056}, {"date": "2026-10-07", "risk": 0.006, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.006, "rain_48h_mm": 3.4, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.042}, {"date": "2026-10-08", "risk": 0.002, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.002, "rain_48h_mm": 1.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.036}, {"date": "2026-10-09", "risk": 0.022, "label": "low", "expected_spilling_overflows": 0.2, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.022, "rain_48h_mm": 4.7, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.049}], "upstream_summary": {"overflows": 1, "with_live_feed": 1, "without_live_feed": 0, "sum_weight": 0.104, "history_days": 2, "max_travel_h": 1.6}, "contributors": [{"site_id": "UUP00829", "company": "United Utilities", "site_name": "Grasmere Waste Water Treatment Works", "receiving_watercourse": "Grasmere Lake", "lat": 54.4526409716062, "lon": -3.0206800859213, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-10-04T20:06:00+00:00", "latest_event_end": "2026-10-04T20:08:00+00:00", "lta_spills": 83.71428680419922, "spill_hours": 407.6333312988281, "snap_confidence": "high", "distance_km": 0.0, "lake_distance_km": 0.3, "travel_h": 1.6, "weight": 0.104, "p_spill_today": 0.293, "p_spill_tomorrow": 0.223, "p_spill_days": [0.293, 0.223, 0.05, 0.015, 0.228], "now_contribution": 0.074}], "guide": {"checked": "2026-10-03", "how": "desk", "facts": [{"topic": "parking", "text": "White Moss Upper car park at Rydal is pay in car park; its toilets are beside the lower car park, 100 m across the main road. White Moss Lower is also pay in car park and has toilets. The page does not mention the lake or swimming.", "status": "confirmed", "source": "https://lakedistrict.gov.uk/explore/visitor-facilities/car-parks-and-parking/", "source_name": "Lake District National Park Authority"}, {"topic": "path", "text": "From the lower White Moss Common car park a smooth path crosses a footbridge and runs by the River Rothay to Penny Rock Wood. Wheelchair and pushchair users take the right-hand route; others can take steps down to the Grasmere outflow bridge for a view of the lake. The page does not mention swimming.", "status": "confirmed", "source": "https://lakedistrict.gov.uk/route/white-moss-common/", "source_name": "Lake District National Park Authority"}, {"topic": "entry", "text": "The National Trust's Grasmere lakeshore walk passes Penny Rock Beach, which it suggests for stone-skimming. The page does not mention swimming.", "status": "confirmed", "source": "https://www.nationaltrust.org.uk/visit/lake-district/allan-bank-and-grasmere/walking-at-allan-bank-and-grasmere", "source_name": "National Trust"}, {"topic": "toilets", "text": "There are toilets with baby changing 40 m from the lower White Moss Common car park. The page does not mention swimming.", "status": "confirmed", "source": "https://lakedistrict.gov.uk/route/white-moss-common/", "source_name": "Lake District National Park Authority"}, {"topic": "rules", "text": "Swimming is allowed on Grasmere. Canoes, kayaks and paddleboards are allowed; rowing boats, sailing boats and powered craft are not. There is no access to the islands. The contact is Lowther Estates.", "status": "confirmed", "source": "https://lakedistrict.gov.uk/explore/things-to-do/on-the-water/lakes-activities-guide/", "source_name": "Lake District National Park Authority"}, {"topic": "rules", "text": "The park authority says Grasmere lake is great for swimming and rowing because motor boats are prohibited.", "status": "confirmed", "source": "https://lakedistrict.gov.uk/explore/places-to-go/explore-grasmere-and-rydal/", "source_name": "Lake District National Park Authority"}], "photos": []}, "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 17, "sunrise": "07:21", "sunset": "18:38"}, {"date": "2026-10-06", "tmax": 15, "sunrise": "07:23", "sunset": "18:35"}, {"date": "2026-10-07", "tmax": 11, "sunrise": "07:25", "sunset": "18:33"}, {"date": "2026-10-08", "tmax": 12, "sunrise": "07:27", "sunset": "18:31"}, {"date": "2026-10-09", "tmax": 12, "sunrise": "07:29", "sunset": "18:28"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "rydal-water", "name": "Rydal Water", "kind": "lake", "river": null, "source": "curated", "notes": "", "lat": 54.447, "lon": -2.989, "query": {"lat": 54.447, "lon": -2.989, "issued_at": "2026-10-05T03:13:02.671803+01:00"}, "location": {"mode": "lake", "watercourse": "Rydal Water", "snap_distance_m": 32, "form": "lake", "lake_area_km2": 0.3, "lake_source": "polygon", "adopted_main_channel": false, "placement": null, "snapped": {"lat": 54.44728, "lon": -2.98902}}, "river_state": {"station": "Jeffy Knotts", "river": "River Brathay", "level_m": 1.097, "typical_low_m": 0.447, "typical_high_m": 1.754, "index": 0.5, "label": "normal", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "5161", "measure": "735123-level-stage-i-15_min-m", "distance_km": 2.8, "same_river": false}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": false, "season_validated_months": [5, 6, 7, 8, 9], "note": "Not validated on lakes: no ranking skill in the fitting data (16 exceedances in 803 lake samples)."}, "now": {"risk": 0.068, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 1, "monitored_upstream": 1, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.019, "label": "low", "expected_spilling_overflows": 0.3, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 1.5, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.057}, {"date": "2026-10-06", "risk": 0.016, "label": "low", "expected_spilling_overflows": 0.2, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.011, "rain_48h_mm": 3.7, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.051}, {"date": "2026-10-07", "risk": 0.007, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.007, "rain_48h_mm": 3.4, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.043}, {"date": "2026-10-08", "risk": 0.002, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.002, "rain_48h_mm": 1.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.035}, {"date": "2026-10-09", "risk": 0.012, "label": "low", "expected_spilling_overflows": 0.2, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.012, "rain_48h_mm": 4.7, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.041}], "upstream_summary": {"overflows": 1, "with_live_feed": 1, "without_live_feed": 0, "sum_weight": 0.068, "history_days": 2, "max_travel_h": 6.3}, "contributors": [{"site_id": "UUP00829", "company": "United Utilities", "site_name": "Grasmere Waste Water Treatment Works", "receiving_watercourse": "Grasmere Lake", "lat": 54.4526409716062, "lon": -3.0206800859213, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-10-04T20:06:00+00:00", "latest_event_end": "2026-10-04T20:08:00+00:00", "lta_spills": 83.71428680419922, "spill_hours": 407.6333312988281, "snap_confidence": "high", "distance_km": 2.1, "lake_distance_km": 0.9, "travel_h": 6.3, "weight": 0.068, "p_spill_today": 0.293, "p_spill_tomorrow": 0.223, "p_spill_days": [0.293, 0.223, 0.05, 0.015, 0.228], "now_contribution": 0.068}], "guide": {"checked": "2026-10-03", "how": "desk", "facts": [{"topic": "parking", "text": "Pelter Bridge car park at Rydal is pay and display, coins and cards or RingGo (ID 37305). It is small and often very busy; the page suggests White Moss Common, Grasmere village or sometimes Ambleside Cricket Club instead. The page does not mention the lake or swimming.", "status": "confirmed", "source": "https://lakedistrict.gov.uk/explore/visitor-facilities/car-parks-and-parking/", "source_name": "Lake District National Park Authority"}, {"topic": "parking", "text": "White Moss Upper car park is pay in car park; its toilets are beside the lower car park, 100 m across the main road. White Moss Lower is also pay in car park and has toilets. The page does not mention the lake or swimming.", "status": "confirmed", "source": "https://lakedistrict.gov.uk/explore/visitor-facilities/car-parks-and-parking/", "source_name": "Lake District National Park Authority"}, {"topic": "path", "text": "A route of 1.5 km each way, with some steep slopes, runs from the lower White Moss Common car park over the White Moss Bridge and through woodland, crossing small fords, to the shore of Rydal Water at Jobson's Close. The page does not mention swimming.", "status": "confirmed", "source": "https://lakedistrict.gov.uk/route/white-moss-common-to-steps-end/", "source_name": "Lake District National Park Authority"}, {"topic": "path", "text": "Another start is Pelter Bridge car park: follow the minor road steeply uphill to a gate, then take the track down to Rydal Water. The page does not mention swimming.", "status": "confirmed", "source": "https://lakedistrict.gov.uk/route/white-moss-common-to-steps-end/", "source_name": "Lake District National Park Authority"}, {"topic": "path", "text": "A well-maintained, low-level path runs along the shores of Rydal Water, with places for picnics and paddling. The page does not mention swimming.", "status": "confirmed", "source": "https://www.nationaltrust.org.uk/visit/lake-district/allan-bank-and-grasmere/walking-at-allan-bank-and-grasmere", "source_name": "National Trust"}, {"topic": "toilets", "text": "There are toilets with baby changing 40 m from the White Moss Common car park. The page does not mention swimming.", "status": "confirmed", "source": "https://lakedistrict.gov.uk/route/white-moss-common-to-steps-end/", "source_name": "Lake District National Park Authority"}, {"topic": "rules", "text": "Swimming is allowed on Rydal Water, for individual recreational swimming only. Canoes, kayaks, paddleboards, rowing boats, sailing boats and powered craft are not allowed. The contact is Rydal Estates.", "status": "confirmed", "source": "https://lakedistrict.gov.uk/explore/things-to-do/on-the-water/lakes-activities-guide/", "source_name": "Lake District National Park Authority"}, {"topic": "rules", "text": "The park authority describes Rydal Water as a quiet lake ideal for a stroll, a climb up Loughrigg Fell or a swim, and increasingly popular for wild swimming.", "status": "confirmed", "source": "https://lakedistrict.gov.uk/explore/places-to-go/explore-grasmere-and-rydal/", "source_name": "Lake District National Park Authority"}], "photos": []}, "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 17, "sunrise": "07:21", "sunset": "18:38"}, {"date": "2026-10-06", "tmax": 15, "sunrise": "07:23", "sunset": "18:35"}, {"date": "2026-10-07", "tmax": 11, "sunrise": "07:25", "sunset": "18:33"}, {"date": "2026-10-08", "tmax": 12, "sunrise": "07:27", "sunset": "18:30"}, {"date": "2026-10-09", "tmax": 13, "sunrise": "07:28", "sunset": "18:28"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "loughrigg-tarn", "name": "Loughrigg Tarn", "kind": "lake", "river": null, "source": "curated", "notes": "", "lat": 54.4372, "lon": -3.0093, "query": {"lat": 54.4372, "lon": -3.0093, "issued_at": "2026-10-05T03:13:02.812768+01:00"}, "location": {"mode": "lake", "watercourse": null, "snap_distance_m": 883, "form": "lake", "lake_area_km2": null, "lake_source": "centreline", "adopted_main_channel": false, "placement": null, "snapped": {"lat": 54.44464, "lon": -3.01402}}, "river_state": {"station": "Jeffy Knotts", "river": "River Brathay", "level_m": 1.097, "typical_low_m": 0.447, "typical_high_m": 1.754, "index": 0.5, "label": "normal", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "5161", "measure": "735123-level-stage-i-15_min-m", "distance_km": 2.2, "same_river": null}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": false, "season_validated_months": [5, 6, 7, 8, 9], "note": "Not validated on lakes: no ranking skill in the fitting data (16 exceedances in 803 lake samples)."}, "now": {"risk": 0.06, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 1, "monitored_upstream": 1, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.015, "label": "low", "expected_spilling_overflows": 0.3, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 1.5, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.054}, {"date": "2026-10-06", "risk": 0.015, "label": "low", "expected_spilling_overflows": 0.2, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.008, "rain_48h_mm": 3.7, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.05}, {"date": "2026-10-07", "risk": 0.007, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.007, "rain_48h_mm": 3.4, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.044}, {"date": "2026-10-08", "risk": 0.002, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.002, "rain_48h_mm": 1.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.036}, {"date": "2026-10-09", "risk": 0.008, "label": "low", "expected_spilling_overflows": 0.2, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.008, "rain_48h_mm": 4.7, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.037}], "upstream_summary": {"overflows": 1, "with_live_feed": 1, "without_live_feed": 0, "sum_weight": 0.06, "history_days": 2, "max_travel_h": 10.3}, "contributors": [{"site_id": "UUP00829", "company": "United Utilities", "site_name": "Grasmere Waste Water Treatment Works", "receiving_watercourse": "Grasmere Lake", "lat": 54.4526409716062, "lon": -3.0206800859213, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-10-04T20:06:00+00:00", "latest_event_end": "2026-10-04T20:08:00+00:00", "lta_spills": 83.71428680419922, "spill_hours": 407.6333312988281, "snap_confidence": "high", "distance_km": 0.0, "lake_distance_km": 1.9, "travel_h": 10.3, "weight": 0.06, "p_spill_today": 0.293, "p_spill_tomorrow": 0.223, "p_spill_days": [0.293, 0.223, 0.05, 0.015, 0.228], "now_contribution": 0.06}], "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 15, "sunrise": "07:21", "sunset": "18:38"}, {"date": "2026-10-06", "tmax": 13, "sunrise": "07:23", "sunset": "18:35"}, {"date": "2026-10-07", "tmax": 10, "sunrise": "07:25", "sunset": "18:33"}, {"date": "2026-10-08", "tmax": 10, "sunrise": "07:27", "sunset": "18:30"}, {"date": "2026-10-09", "tmax": 11, "sunrise": "07:28", "sunset": "18:28"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "derwent-water-calfclose", "name": "Derwent Water, Calfclose Bay", "kind": "lake", "river": null, "source": "curated", "notes": "", "lat": 54.586, "lon": -3.133, "query": {"lat": 54.586, "lon": -3.133, "issued_at": "2026-10-05T03:13:02.969291+01:00"}, "location": {"mode": "lake", "watercourse": null, "snap_distance_m": 245, "form": "lake", "lake_area_km2": null, "lake_source": "centreline", "adopted_main_channel": false, "placement": null, "snapped": {"lat": 54.58738, "lon": -3.13595}}, "river_state": {"station": "Greta Bridge", "river": "River Greta", "level_m": 1.137, "typical_low_m": 0.948, "typical_high_m": 2.7, "index": 0.11, "label": "low", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "5060", "measure": "750832-level-stage-i-15_min-m", "distance_km": 2.1, "same_river": null}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": false, "season_validated_months": [5, 6, 7, 8, 9], "note": "Not validated on lakes: no ranking skill in the fitting data (16 exceedances in 803 lake samples)."}, "now": {"risk": 0.025, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 3, "monitored_upstream": 3, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.014, "label": "low", "expected_spilling_overflows": 0.2, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 1.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.054}, {"date": "2026-10-06", "risk": 0.024, "label": "low", "expected_spilling_overflows": 0.2, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.009, "rain_48h_mm": 3.5, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.056}, {"date": "2026-10-07", "risk": 0.022, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.022, "rain_48h_mm": 3.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.061}, {"date": "2026-10-08", "risk": 0.009, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.009, "rain_48h_mm": 1.5, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.051}, {"date": "2026-10-09", "risk": 0.023, "label": "low", "expected_spilling_overflows": 0.3, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.023, "rain_48h_mm": 5.4, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.049}], "upstream_summary": {"overflows": 3, "with_live_feed": 3, "without_live_feed": 0, "sum_weight": 0.383, "history_days": 2, "max_travel_h": 17.8}, "contributors": [{"site_id": "UUP00823", "company": "United Utilities", "site_name": "Grange Bridge (200mtrs downstream)", "receiving_watercourse": "River Derwent", "lat": 54.5481537640636, "lon": -3.1532359360361, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-10-02T18:40:00+00:00", "latest_event_end": "2026-10-02T23:36:00+00:00", "lta_spills": 60.44444274902344, "spill_hours": 465.1499938964844, "snap_confidence": "high", "distance_km": 2.4, "lake_distance_km": 2.5, "travel_h": 15.4, "weight": 0.213, "p_spill_today": 0.059, "p_spill_tomorrow": 0.083, "p_spill_days": [0.059, 0.083, 0.031, 0.036, 0.175], "now_contribution": 0.014}, {"site_id": "UUP01690", "company": "United Utilities", "site_name": "ROSTHWAITE WwTW", "receiving_watercourse": "Tributary of River Derwent", "lat": 54.5252390436148, "lon": -3.1528987934992, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-10-02T20:34:00+00:00", "latest_event_end": "2026-10-02T21:06:00+00:00", "lta_spills": 33.5, "spill_hours": 46.61666488647461, "snap_confidence": "high", "distance_km": 5.4, "lake_distance_km": 2.5, "travel_h": 17.0, "weight": 0.091, "p_spill_today": 0.017, "p_spill_tomorrow": 0.031, "p_spill_days": [0.017, 0.031, 0.004, 0.005, 0.068], "now_contribution": 0.006}, {"site_id": "UUP01875", "company": "United Utilities", "site_name": "STONETHWAITE WwTW", "receiving_watercourse": "An unnamed tributary of Stonethwaite Beck", "lat": 54.5173099615387, "lon": -3.1455691400588, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-10-02T21:40:29.300000+00:00", "latest_event_end": "2026-10-02T21:50:39.100000+00:00", "lta_spills": 45.71428680419922, "spill_hours": 247.2677764892578, "snap_confidence": "high", "distance_km": 6.8, "lake_distance_km": 2.5, "travel_h": 17.8, "weight": 0.079, "p_spill_today": 0.098, "p_spill_tomorrow": 0.097, "p_spill_days": [0.098, 0.097, 0.023, 0.009, 0.089], "now_contribution": 0.006}], "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 17, "sunrise": "07:22", "sunset": "18:38"}, {"date": "2026-10-06", "tmax": 14, "sunrise": "07:23", "sunset": "18:36"}, {"date": "2026-10-07", "tmax": 11, "sunrise": "07:25", "sunset": "18:33"}, {"date": "2026-10-08", "tmax": 11, "sunrise": "07:27", "sunset": "18:31"}, {"date": "2026-10-09", "tmax": 13, "sunrise": "07:29", "sunset": "18:28"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "elter-water", "name": "Elter Water", "kind": "lake", "river": null, "source": "curated", "notes": "", "lat": 54.43, "lon": -3.033, "query": {"lat": 54.43, "lon": -3.033, "issued_at": "2026-10-05T03:13:03.159609+01:00"}, "location": {"mode": "lake", "watercourse": "Elter Water", "snap_distance_m": 168, "form": "lake", "lake_area_km2": 0.1, "lake_source": "polygon", "adopted_main_channel": false, "placement": null, "snapped": {"lat": 54.4285, "lon": -3.03271}}, "river_state": {"station": "Grasmere Broadgate Meadow", "river": "River Rothay", "level_m": -0.025, "typical_low_m": 0.15, "typical_high_m": 1.0, "index": -0.21, "label": "low", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "9418", "measure": "735003-level-stage-i-15_min-m", "distance_km": 3.5, "same_river": false}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": false, "season_validated_months": [5, 6, 7, 8, 9], "note": "Not validated on lakes: no ranking skill in the fitting data (16 exceedances in 803 lake samples)."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 1, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.006, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 1.5, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.042}, {"date": "2026-10-06", "risk": 0.017, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.017, "rain_48h_mm": 3.7, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.052}, {"date": "2026-10-07", "risk": 0.007, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.007, "rain_48h_mm": 3.4, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.043}, {"date": "2026-10-08", "risk": 0.002, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.002, "rain_48h_mm": 1.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.038}, {"date": "2026-10-09", "risk": 0.027, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.027, "rain_48h_mm": 4.7, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.051}], "upstream_summary": {"overflows": 1, "with_live_feed": 1, "without_live_feed": 0, "sum_weight": 0.397, "history_days": 2, "max_travel_h": 3.2}, "contributors": [{"site_id": "UUP00702", "company": "United Utilities", "site_name": "Elterwater pumping station (ELTER) (LAK0025)", "receiving_watercourse": "Great Langdale Beck", "lat": 54.4334433491738, "lon": -3.0376235488447, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-06-05T02:08:00+00:00", "latest_event_end": "2026-06-05T02:12:00+00:00", "lta_spills": 39.85714340209961, "spill_hours": 423.1805419921875, "snap_confidence": "high", "distance_km": 0.9, "lake_distance_km": 0.5, "travel_h": 3.2, "weight": 0.397, "p_spill_today": 0.011, "p_spill_tomorrow": 0.049, "p_spill_days": [0.011, 0.049, 0.013, 0.004, 0.077], "now_contribution": 0.0}], "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 17, "sunrise": "07:21", "sunset": "18:38"}, {"date": "2026-10-06", "tmax": 15, "sunrise": "07:23", "sunset": "18:35"}, {"date": "2026-10-07", "tmax": 11, "sunrise": "07:25", "sunset": "18:33"}, {"date": "2026-10-08", "tmax": 12, "sunrise": "07:27", "sunset": "18:31"}, {"date": "2026-10-09", "tmax": 13, "sunrise": "07:29", "sunset": "18:28"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "blea-tarn", "name": "Blea Tarn, Langdale", "kind": "lake", "river": null, "source": "curated", "notes": "", "lat": 54.42, "lon": -3.087, "query": {"lat": 54.42, "lon": -3.087, "issued_at": "2026-10-05T03:13:03.306811+01:00"}, "location": {"mode": "lake", "watercourse": null, "snap_distance_m": 1047, "form": "lake", "lake_area_km2": null, "lake_source": "centreline", "adopted_main_channel": false, "placement": null, "snapped": {"lat": 54.42896, "lon": -3.09192}}, "river_state": {"station": "Coniston Church Bridge", "river": "Church Beck", "level_m": 0.792, "typical_low_m": 0.7, "typical_high_m": 1.5, "index": 0.12, "label": "low", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "9409", "measure": "737526-level-stage-i-15_min-m", "distance_km": 5.7, "same_river": null}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": false, "season_validated_months": [5, 6, 7, 8, 9], "note": "Not validated on lakes: no ranking skill in the fitting data (16 exceedances in 803 lake samples)."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 0, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 3.5, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.022}, {"date": "2026-10-06", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 8.4, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.02}, {"date": "2026-10-07", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 6.1, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.025}, {"date": "2026-10-08", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 1.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.031}, {"date": "2026-10-09", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 6.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.02}], "upstream_summary": {"overflows": 0, "with_live_feed": 0, "without_live_feed": 0, "sum_weight": 0.0, "history_days": 1, "max_travel_h": 0.0}, "contributors": [], "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 16, "sunrise": "07:21", "sunset": "18:38"}, {"date": "2026-10-06", "tmax": 15, "sunrise": "07:23", "sunset": "18:36"}, {"date": "2026-10-07", "tmax": 11, "sunrise": "07:25", "sunset": "18:33"}, {"date": "2026-10-08", "tmax": 12, "sunrise": "07:27", "sunset": "18:31"}, {"date": "2026-10-09", "tmax": 12, "sunrise": "07:29", "sunset": "18:28"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "duddon-birks-bridge", "name": "River Duddon, Birks Bridge", "kind": "river", "river": "River Duddon", "source": "curated", "notes": "", "lat": 54.372, "lon": -3.19, "query": {"lat": 54.372, "lon": -3.19, "issued_at": "2026-10-05T03:13:03.379717+01:00"}, "location": {"mode": "river", "watercourse": "River Duddon", "snap_distance_m": 225, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "on river", "snapped": {"lat": 54.37092, "lon": -3.18707}}, "river_state": {"station": "Ulpha", "river": "River Duddon", "level_m": 0.551, "typical_low_m": 0.244, "typical_high_m": 1.5, "index": 0.24, "label": "normal", "observed_at": "2026-10-04T15:00:00Z", "age_hours": 11.2, "stale": false, "rloi": "5142", "measure": "740101-level-stage-i-15_min-m", "distance_km": 3.8, "same_river": true}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 0, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 2.5, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.146}, {"date": "2026-10-06", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 6.3, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.219}, {"date": "2026-10-07", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 4.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.217}, {"date": "2026-10-08", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 1.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.116}, {"date": "2026-10-09", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 8.4, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.231}], "upstream_summary": {"overflows": 0, "with_live_feed": 0, "without_live_feed": 0, "sum_weight": 0.0, "history_days": 1, "max_travel_h": 0.0}, "contributors": [], "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 15, "sunrise": "07:22", "sunset": "18:39"}, {"date": "2026-10-06", "tmax": 14, "sunrise": "07:24", "sunset": "18:36"}, {"date": "2026-10-07", "tmax": 10, "sunrise": "07:25", "sunset": "18:34"}, {"date": "2026-10-08", "tmax": 10, "sunrise": "07:27", "sunset": "18:31"}, {"date": "2026-10-09", "tmax": 12, "sunrise": "07:29", "sunset": "18:29"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "eden-armathwaite", "name": "River Eden, Armathwaite", "kind": "river", "river": "River Eden", "source": "curated", "notes": "", "lat": 54.8068, "lon": -2.7682, "query": {"lat": 54.8068, "lon": -2.7682, "issued_at": "2026-10-05T03:13:03.456541+01:00"}, "location": {"mode": "river", "watercourse": "River Eden", "snap_distance_m": 2, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "on river", "snapped": {"lat": 54.80679, "lon": -2.76818}}, "river_state": {"station": "Great Corby", "river": "River Eden", "level_m": 0.695, "typical_low_m": 0.41, "typical_high_m": 3.36, "index": 0.1, "label": "low", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "5058", "measure": "762505-level-stage-i-15_min-m", "distance_km": 10.1, "same_river": true, "rise_6h_m": -0.017, "rise_from": "2026-10-04T20:15:00Z", "rise_to": "2026-10-05T01:45:00Z"}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.136, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 31, "monitored_upstream": 60, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.05, "label": "low", "expected_spilling_overflows": 0.8, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.8, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.264}, {"date": "2026-10-06", "risk": 0.135, "label": "low", "expected_spilling_overflows": 2.4, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.123, "rain_48h_mm": 2.5, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.426}, {"date": "2026-10-07", "risk": 0.13, "label": "low", "expected_spilling_overflows": 1.3, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.13, "rain_48h_mm": 2.1, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.433}, {"date": "2026-10-08", "risk": 0.076, "label": "low", "expected_spilling_overflows": 0.6, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.076, "rain_48h_mm": 1.3, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.327}, {"date": "2026-10-09", "risk": 0.399, "label": "moderate", "expected_spilling_overflows": 6.3, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.399, "source": {"site_id": "UUP01155", "site_name": "LITTLE SALKELD WwTW", "receiving_watercourse": "The River Eden", "status": 0, "distance_km": 14.1, "lake_distance_km": 0.0, "travel_h": 7.8, "share": 0.229, "spread_over": 8}, "rain_48h_mm": 5.6, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.608}], "upstream_summary": {"overflows": 60, "with_live_feed": 60, "without_live_feed": 0, "sum_weight": 5.218, "history_days": 3, "max_travel_h": 30.6}, "contributors": [{"site_id": "UUP01155", "company": "United Utilities", "site_name": "LITTLE SALKELD WwTW", "receiving_watercourse": "The River Eden", "lat": 54.723108749037, "lon": -2.6820127251582, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-08-29T16:30:57.100000+00:00", "latest_event_end": "2026-08-29T17:32:28.900000+00:00", "lta_spills": 158.1666717529297, "spill_hours": 1013.8322143554688, "snap_confidence": "high", "distance_km": 14.1, "lake_distance_km": 0.0, "travel_h": 7.8, "weight": 0.501, "p_spill_today": 0.023, "p_spill_tomorrow": 0.072, "p_spill_days": [0.023, 0.072, 0.068, 0.055, 0.3], "now_contribution": 0.0}, {"site_id": "UUP00687", "company": "United Utilities", "site_name": "EDENHALL VILLAGE & HOTEL WwTW", "receiving_watercourse": "A tributary of River Eden", "lat": 54.6866470770082, "lon": -2.6792920052899, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-10-02T21:04:48.300000+00:00", "latest_event_end": "2026-10-02T23:02:24.100000+00:00", "lta_spills": 136.1999969482422, "spill_hours": 574.721923828125, "snap_confidence": "high", "distance_km": 20.3, "lake_distance_km": 0.0, "travel_h": 11.3, "weight": 0.348, "p_spill_today": 0.011, "p_spill_tomorrow": 0.08, "p_spill_days": [0.011, 0.08, 0.043, 0.029, 0.295], "now_contribution": 0.016}, {"site_id": "UUP00843", "company": "United Utilities", "site_name": "GREAT SALKELD WwTW", "receiving_watercourse": "River Eden", "lat": 54.7209099847083, "lon": -2.6894277752801, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-10-02T21:20:13.400000+00:00", "latest_event_end": "2026-10-02T22:23:37+00:00", "lta_spills": 83.625, "spill_hours": 147.87472534179688, "snap_confidence": "high", "distance_km": 14.6, "lake_distance_km": 0.0, "travel_h": 8.1, "weight": 0.49, "p_spill_today": 0.003, "p_spill_tomorrow": 0.043, "p_spill_days": [0.003, 0.043, 0.009, 0.005, 0.191], "now_contribution": 0.017}, {"site_id": "UUP00216", "company": "United Utilities", "site_name": "CSO behind Lager's Store", "receiving_watercourse": "Harrow Beck, a Tributary of the River Eden Via SWS", "lat": 54.7492179953389, "lon": -2.7051343462947, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-10-02T22:00:00+00:00", "latest_event_end": "2026-10-02T22:04:00+00:00", "lta_spills": 58.20000076293945, "spill_hours": 67.96666717529297, "snap_confidence": "high", "distance_km": 9.4, "lake_distance_km": 0.0, "travel_h": 5.2, "weight": 0.628, "p_spill_today": 0.005, "p_spill_tomorrow": 0.043, "p_spill_days": [0.005, 0.043, 0.016, 0.011, 0.142], "now_contribution": 0.017}, {"site_id": "UUP01123", "company": "United Utilities", "site_name": "Lazonby PS and CSO", "receiving_watercourse": "River Eden", "lat": 54.7527629252628, "lon": -2.6982042687549, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-10-02T20:42:00+00:00", "latest_event_end": "2026-10-02T22:26:00+00:00", "lta_spills": 65.66666412353516, "spill_hours": 60.06666564941406, "snap_confidence": "high", "distance_km": 9.4, "lake_distance_km": 0.0, "travel_h": 5.2, "weight": 0.628, "p_spill_today": 0.011, "p_spill_tomorrow": 0.044, "p_spill_days": [0.011, 0.044, 0.015, 0.008, 0.114], "now_contribution": 0.018}, {"site_id": "UUP01087", "company": "United Utilities", "site_name": "KIRKOSWALD WwTW", "receiving_watercourse": "Tributary of the River Eden", "lat": 54.763685183317, "lon": -2.7053861038641, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-10-02T21:11:09.800000+00:00", "latest_event_end": "2026-10-02T22:32:35.900000+00:00", "lta_spills": 20.200000762939453, "spill_hours": 94.70361328125, "snap_confidence": "high", "distance_km": 7.9, "lake_distance_km": 0.0, "travel_h": 4.4, "weight": 0.685, "p_spill_today": 0.004, "p_spill_tomorrow": 0.021, "p_spill_days": [0.004, 0.021, 0.008, 0.005, 0.055], "now_contribution": 0.018}, {"site_id": "UUP01110", "company": "United Utilities", "site_name": "Langwathby CSO", "receiving_watercourse": "River Eden", "lat": 54.7011244073004, "lon": -2.6761356212023, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-10-02T23:28:00+00:00", "latest_event_end": "2026-10-02T23:36:00+00:00", "lta_spills": 87.33333587646484, "spill_hours": 166.7436065673828, "snap_confidence": "high", "distance_km": 18.6, "lake_distance_km": 0.0, "travel_h": 10.3, "weight": 0.374, "p_spill_today": 0.002, "p_spill_tomorrow": 0.04, "p_spill_days": [0.002, 0.04, 0.009, 0.005, 0.172], "now_contribution": 0.017}, {"site_id": "UUP01111", "company": "United Utilities", "site_name": "LANGWATHBY WwTW", "receiving_watercourse": "River Eden", "lat": 54.6999915265732, "lon": -2.6858146949124, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-03-24T15:25:38.920000+00:00", "latest_event_end": "2026-03-24T19:31:53.212000+00:00", "lta_spills": 67.83333587646484, "spill_hours": 270.8313903808594, "snap_confidence": "high", "distance_km": 17.9, "lake_distance_km": 0.0, "travel_h": 9.9, "weight": 0.389, "p_spill_today": 0.002, "p_spill_tomorrow": 0.03, "p_spill_days": [0.002, 0.03, 0.006, 0.004, 0.113], "now_contribution": 0.0}, {"site_id": "UUP02193", "company": "United Utilities", "site_name": "CULGAITH WWTW", "receiving_watercourse": "River Eden", "lat": 54.6590075007184, "lon": -2.6200195659446, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-10-02T21:45:30.100000+00:00", "latest_event_end": "2026-10-02T23:30:44.300000+00:00", "lta_spills": 39.0, "spill_hours": 232.5130615234375, "snap_confidence": "high", "distance_km": 25.8, "lake_distance_km": 0.0, "travel_h": 14.4, "weight": 0.142, "p_spill_today": 0.002, "p_spill_tomorrow": 0.02, "p_spill_days": [0.002, 0.02, 0.008, 0.005, 0.12], "now_contribution": 0.009}, {"site_id": "UUP00403", "company": "United Utilities", "site_name": "Carleton Hall Templebank CSO", "receiving_watercourse": "River Eamont", "lat": 54.6573210275934, "lon": -2.7291178545383, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-10-02T21:06:00+00:00", "latest_event_end": "2026-10-03T00:02:00+00:00", "lta_spills": 116.71428680419922, "spill_hours": 605.9891967773438, "snap_confidence": "high", "distance_km": 31.5, "lake_distance_km": 0.0, "travel_h": 17.5, "weight": 0.056, "p_spill_today": 0.008, "p_spill_tomorrow": 0.056, "p_spill_days": [0.008, 0.056, 0.023, 0.016, 0.258], "now_contribution": 0.005}], "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 17, "sunrise": "07:20", "sunset": "18:37"}, {"date": "2026-10-06", "tmax": 12, "sunrise": "07:22", "sunset": "18:34"}, {"date": "2026-10-07", "tmax": 12, "sunrise": "07:24", "sunset": "18:32"}, {"date": "2026-10-08", "tmax": 12, "sunrise": "07:26", "sunset": "18:29"}, {"date": "2026-10-09", "tmax": 13, "sunrise": "07:28", "sunset": "18:27"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "eden-lazonby", "name": "River Eden, Lazonby", "kind": "river", "river": "River Eden", "source": "curated", "notes": "", "lat": 54.755, "lon": -2.702, "query": {"lat": 54.755, "lon": -2.702, "issued_at": "2026-10-05T03:13:04.085856+01:00"}, "location": {"mode": "river", "watercourse": "River Eden", "snap_distance_m": 103, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "on river", "snapped": {"lat": 54.75506, "lon": -2.7004}}, "river_state": {"station": "Temple Sowerby", "river": "River Eden", "level_m": 0.315, "typical_low_m": 0.2, "typical_high_m": 3.0, "index": 0.04, "label": "low", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "5138", "measure": "760502-level-stage-i-15_min-m", "distance_km": 13.1, "same_river": true, "rise_6h_m": -0.012, "rise_from": "2026-10-04T20:15:00Z", "rise_to": "2026-10-05T01:45:00Z"}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.079, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 28, "monitored_upstream": 65, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.063, "label": "low", "expected_spilling_overflows": 1.2, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 1.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.301}, {"date": "2026-10-06", "risk": 0.233, "label": "moderate", "expected_spilling_overflows": 4.6, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.225, "source": {"site_id": "UUP01155", "site_name": "LITTLE SALKELD WwTW", "receiving_watercourse": "The River Eden", "status": 0, "distance_km": 5.0, "lake_distance_km": 0.0, "travel_h": 2.8, "share": 0.203, "spread_over": 7}, "rain_48h_mm": 3.5, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.51}, {"date": "2026-10-07", "risk": 0.167, "label": "moderate", "expected_spilling_overflows": 3.2, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.167, "source": {"site_id": "UUP01155", "site_name": "LITTLE SALKELD WwTW", "receiving_watercourse": "The River Eden", "status": 0, "distance_km": 5.0, "lake_distance_km": 0.0, "travel_h": 2.8, "share": 0.304, "spread_over": 15}, "rain_48h_mm": 3.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.495}, {"date": "2026-10-08", "risk": 0.11, "label": "low", "expected_spilling_overflows": 1.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.11, "rain_48h_mm": 1.5, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.375}, {"date": "2026-10-09", "risk": 0.639, "label": "high", "expected_spilling_overflows": 8.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.639, "source": {"site_id": "UUP01155", "site_name": "LITTLE SALKELD WwTW", "receiving_watercourse": "The River Eden", "status": 0, "distance_km": 5.0, "lake_distance_km": 0.0, "travel_h": 2.8, "share": 0.237, "spread_over": 7}, "rain_48h_mm": 4.7, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.651}], "upstream_summary": {"overflows": 65, "with_live_feed": 65, "without_live_feed": 0, "sum_weight": 7.177, "history_days": 3, "max_travel_h": 32.6}, "contributors": [{"site_id": "UUP01155", "company": "United Utilities", "site_name": "LITTLE SALKELD WwTW", "receiving_watercourse": "The River Eden", "lat": 54.723108749037, "lon": -2.6820127251582, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-08-29T16:30:57.100000+00:00", "latest_event_end": "2026-08-29T17:32:28.900000+00:00", "lta_spills": 158.1666717529297, "spill_hours": 1013.8322143554688, "snap_confidence": "high", "distance_km": 5.0, "lake_distance_km": 0.0, "travel_h": 2.8, "weight": 0.791, "p_spill_today": 0.023, "p_spill_tomorrow": 0.072, "p_spill_days": [0.023, 0.072, 0.068, 0.055, 0.3], "now_contribution": 0.0}, {"site_id": "UUP00687", "company": "United Utilities", "site_name": "EDENHALL VILLAGE & HOTEL WwTW", "receiving_watercourse": "A tributary of River Eden", "lat": 54.6866470770082, "lon": -2.6792920052899, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-10-02T21:04:48.300000+00:00", "latest_event_end": "2026-10-02T23:02:24.100000+00:00", "lta_spills": 136.1999969482422, "spill_hours": 574.721923828125, "snap_confidence": "high", "distance_km": 11.2, "lake_distance_km": 0.0, "travel_h": 6.2, "weight": 0.557, "p_spill_today": 0.011, "p_spill_tomorrow": 0.08, "p_spill_days": [0.011, 0.08, 0.043, 0.029, 0.295], "now_contribution": 0.018}, {"site_id": "UUP00843", "company": "United Utilities", "site_name": "GREAT SALKELD WwTW", "receiving_watercourse": "River Eden", "lat": 54.7209099847083, "lon": -2.6894277752801, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-10-02T21:20:13.400000+00:00", "latest_event_end": "2026-10-02T22:23:37+00:00", "lta_spills": 83.625, "spill_hours": 147.87472534179688, "snap_confidence": "high", "distance_km": 5.5, "lake_distance_km": 0.0, "travel_h": 3.1, "weight": 0.773, "p_spill_today": 0.003, "p_spill_tomorrow": 0.043, "p_spill_days": [0.003, 0.043, 0.009, 0.005, 0.191], "now_contribution": 0.0}, {"site_id": "UUP00216", "company": "United Utilities", "site_name": "CSO behind Lager's Store", "receiving_watercourse": "Harrow Beck, a Tributary of the River Eden Via SWS", "lat": 54.7492179953389, "lon": -2.7051343462947, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-10-02T22:00:00+00:00", "latest_event_end": "2026-10-02T22:04:00+00:00", "lta_spills": 58.20000076293945, "spill_hours": 67.96666717529297, "snap_confidence": "high", "distance_km": 0.3, "lake_distance_km": 0.0, "travel_h": 0.1, "weight": 0.988, "p_spill_today": 0.005, "p_spill_tomorrow": 0.043, "p_spill_days": [0.005, 0.043, 0.016, 0.011, 0.142], "now_contribution": 0.0}, {"site_id": "UUP01123", "company": "United Utilities", "site_name": "Lazonby PS and CSO", "receiving_watercourse": "River Eden", "lat": 54.7527629252628, "lon": -2.6982042687549, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-10-02T20:42:00+00:00", "latest_event_end": "2026-10-02T22:26:00+00:00", "lta_spills": 65.66666412353516, "spill_hours": 60.06666564941406, "snap_confidence": "high", "distance_km": 0.3, "lake_distance_km": 0.0, "travel_h": 0.2, "weight": 0.987, "p_spill_today": 0.011, "p_spill_tomorrow": 0.044, "p_spill_days": [0.011, 0.044, 0.015, 0.008, 0.114], "now_contribution": 0.0}, {"site_id": "UUP01110", "company": "United Utilities", "site_name": "Langwathby CSO", "receiving_watercourse": "River Eden", "lat": 54.7011244073004, "lon": -2.6761356212023, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-10-02T23:28:00+00:00", "latest_event_end": "2026-10-02T23:36:00+00:00", "lta_spills": 87.33333587646484, "spill_hours": 166.7436065673828, "snap_confidence": "high", "distance_km": 9.5, "lake_distance_km": 0.0, "travel_h": 5.3, "weight": 0.598, "p_spill_today": 0.002, "p_spill_tomorrow": 0.04, "p_spill_days": [0.002, 0.04, 0.009, 0.005, 0.172], "now_contribution": 0.018}, {"site_id": "UUP01111", "company": "United Utilities", "site_name": "LANGWATHBY WwTW", "receiving_watercourse": "River Eden", "lat": 54.6999915265732, "lon": -2.6858146949124, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-03-24T15:25:38.920000+00:00", "latest_event_end": "2026-03-24T19:31:53.212000+00:00", "lta_spills": 67.83333587646484, "spill_hours": 270.8313903808594, "snap_confidence": "high", "distance_km": 8.8, "lake_distance_km": 0.0, "travel_h": 4.9, "weight": 0.621, "p_spill_today": 0.002, "p_spill_tomorrow": 0.03, "p_spill_days": [0.002, 0.03, 0.006, 0.004, 0.113], "now_contribution": 0.0}, {"site_id": "UUP02193", "company": "United Utilities", "site_name": "CULGAITH WWTW", "receiving_watercourse": "River Eden", "lat": 54.6590075007184, "lon": -2.6200195659446, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-10-02T21:45:30.100000+00:00", "latest_event_end": "2026-10-02T23:30:44.300000+00:00", "lta_spills": 39.0, "spill_hours": 232.5130615234375, "snap_confidence": "high", "distance_km": 16.7, "lake_distance_km": 0.0, "travel_h": 9.3, "weight": 0.248, "p_spill_today": 0.002, "p_spill_tomorrow": 0.02, "p_spill_days": [0.002, 0.02, 0.008, 0.005, 0.12], "now_contribution": 0.01}, {"site_id": "UUP00592", "company": "United Utilities", "site_name": "CULGAITH WwTW", "receiving_watercourse": "River Eden", "lat": 54.6590075007184, "lon": -2.6200195659446, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-03-12T14:48:55+00:00", "latest_event_end": "2026-03-12T15:47:35.200000+00:00", "lta_spills": 21.5, "spill_hours": 48.149444580078125, "snap_confidence": "high", "distance_km": 16.7, "lake_distance_km": 0.0, "travel_h": 9.3, "weight": 0.248, "p_spill_today": 0.002, "p_spill_tomorrow": 0.016, "p_spill_days": [0.002, 0.016, 0.008, 0.005, 0.099], "now_contribution": 0.0}, {"site_id": "UUP00268", "company": "United Utilities", "site_name": "BOLTON (PENRITH) WwTW", "receiving_watercourse": "River Eden", "lat": 54.6048652163973, "lon": -2.5544858307446, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-10-02T21:38:00+00:00", "latest_event_end": "2026-10-02T22:58:00+00:00", "lta_spills": 83.57142639160156, "spill_hours": 156.09750366210938, "snap_confidence": "high", "distance_km": 26.5, "lake_distance_km": 0.0, "travel_h": 14.7, "weight": 0.094, "p_spill_today": 0.002, "p_spill_tomorrow": 0.052, "p_spill_days": [0.002, 0.052, 0.018, 0.008, 0.26], "now_contribution": 0.006}], "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 18, "sunrise": "07:20", "sunset": "18:36"}, {"date": "2026-10-06", "tmax": 13, "sunrise": "07:22", "sunset": "18:34"}, {"date": "2026-10-07", "tmax": 11, "sunrise": "07:24", "sunset": "18:31"}, {"date": "2026-10-08", "tmax": 11, "sunrise": "07:26", "sunset": "18:29"}, {"date": "2026-10-09", "tmax": 12, "sunrise": "07:28", "sunset": "18:26"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "tees-low-force", "name": "River Tees, Low Force", "kind": "river", "river": "River Tees", "source": "curated", "notes": "", "lat": 54.6463, "lon": -2.1511, "query": {"lat": 54.6463, "lon": -2.1511, "issued_at": "2026-10-05T03:13:04.747921+01:00"}, "location": {"mode": "river", "watercourse": "River Tees", "snap_distance_m": 2, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "on river", "snapped": {"lat": 54.6463, "lon": -2.15113}}, "river_state": {"station": "Middleton", "river": "River Tees", "level_m": 0.503, "typical_low_m": 0.368, "typical_high_m": 1.8, "index": 0.09, "label": "low", "observed_at": "2026-10-04T08:00:00Z", "age_hours": 18.2, "stale": false, "rloi": "8138", "measure": "F3505-level-stage-i-15_min-m", "distance_km": 5.4, "same_river": true}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 0, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 4.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.176}, {"date": "2026-10-06", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 9.1, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.256}, {"date": "2026-10-07", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 10.4, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.27}, {"date": "2026-10-08", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 5.5, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.259}, {"date": "2026-10-09", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 4.9, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.187}], "upstream_summary": {"overflows": 0, "with_live_feed": 0, "without_live_feed": 0, "sum_weight": 0.0, "history_days": 1, "max_travel_h": 0.0}, "contributors": [], "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 16, "sunrise": "07:18", "sunset": "18:34"}, {"date": "2026-10-06", "tmax": 14, "sunrise": "07:20", "sunset": "18:32"}, {"date": "2026-10-07", "tmax": 11, "sunrise": "07:22", "sunset": "18:29"}, {"date": "2026-10-08", "tmax": 10, "sunrise": "07:23", "sunset": "18:27"}, {"date": "2026-10-09", "tmax": 13, "sunrise": "07:25", "sunset": "18:24"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "coquet-rothbury", "name": "River Coquet, Rothbury", "kind": "river", "river": "River Coquet", "source": "curated", "notes": "", "lat": 55.309, "lon": -1.911, "query": {"lat": 55.309, "lon": -1.911, "issued_at": "2026-10-05T03:13:04.862652+01:00"}, "location": {"mode": "river", "watercourse": "River Coquet", "snap_distance_m": 118, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "on river", "snapped": {"lat": 55.30794, "lon": -1.91085}}, "river_state": {"station": "Rothbury", "river": "River Coquet", "level_m": 0.288, "typical_low_m": 0.261, "typical_high_m": 1.8, "index": 0.02, "label": "low", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "8173", "measure": "022009-level-stage-i-15_min-m", "distance_km": 1.0, "same_river": true, "rise_6h_m": -0.006, "rise_from": "2026-10-04T20:15:00Z", "rise_to": "2026-10-05T01:45:00Z"}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.009, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 2, "monitored_upstream": 8, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.002, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.091}, {"date": "2026-10-06", "risk": 0.004, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.004, "rain_48h_mm": 1.3, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.171}, {"date": "2026-10-07", "risk": 0.004, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.004, "rain_48h_mm": 1.4, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.194}, {"date": "2026-10-08", "risk": 0.004, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.004, "rain_48h_mm": 0.1, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.116}, {"date": "2026-10-09", "risk": 0.037, "label": "low", "expected_spilling_overflows": 0.3, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.037, "rain_48h_mm": 3.9, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.365}], "upstream_summary": {"overflows": 8, "with_live_feed": 8, "without_live_feed": 0, "sum_weight": 1.066, "history_days": 2, "max_travel_h": 13.8}, "contributors": [{"site_id": "NWL00667", "company": "Northumbrian Water", "site_name": "HEPPLE STW", "receiving_watercourse": "River Coquet", "lat": 55.29636, "lon": -2.01887, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:05:33.450000+00:00", "latest_event_start": "2026-09-27T18:14:00+00:00", "latest_event_end": "2026-09-27T18:18:00+00:00", "lta_spills": 6.599999904632568, "spill_hours": 23.133333206176758, "snap_confidence": "high", "distance_km": 10.5, "lake_distance_km": 0.0, "travel_h": 5.8, "weight": 0.439, "p_spill_today": 0.001, "p_spill_tomorrow": 0.002, "p_spill_days": [0.001, 0.002, 0.002, 0.003, 0.023], "now_contribution": 0.0}, {"site_id": "NWL00645", "company": "Northumbrian Water", "site_name": "HARBOTTLE SEWAGE TREATMENT WORKS", "receiving_watercourse": "River Coquet", "lat": 55.33568, "lon": -2.09865, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:05:33.450000+00:00", "latest_event_start": "2026-10-02T20:16:00+00:00", "latest_event_end": "2026-10-02T20:22:00+00:00", "lta_spills": 62.79999923706055, "spill_hours": 48.266109466552734, "snap_confidence": "high", "distance_km": 21.8, "lake_distance_km": 0.0, "travel_h": 12.1, "weight": 0.202, "p_spill_today": 0.002, "p_spill_tomorrow": 0.013, "p_spill_days": [0.002, 0.013, 0.004, 0.004, 0.12], "now_contribution": 0.008}, {"site_id": "NWL01382", "company": "Northumbrian Water", "site_name": "THROPTON SPS", "receiving_watercourse": "Wreigh Burn", "lat": 55.31424, "lon": -1.95365, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:05:33.450000+00:00", "latest_event_start": "2026-04-15T17:41:59+00:00", "latest_event_end": "2026-04-15T18:05:59+00:00", "lta_spills": 20.600000381469727, "spill_hours": 57.61666488647461, "snap_confidence": "high", "distance_km": 4.4, "lake_distance_km": 0.0, "travel_h": 2.4, "weight": 0.203, "p_spill_today": 0.001, "p_spill_tomorrow": 0.002, "p_spill_days": [0.001, 0.002, 0.002, 0.002, 0.031], "now_contribution": 0.0}, {"site_id": "NWL01381", "company": "Northumbrian Water", "site_name": "THROPTON AND SNITTER STW", "receiving_watercourse": "Wreigh Burn", "lat": 55.31867, "lon": -1.95757, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:05:33.450000+00:00", "latest_event_start": "2026-08-20T02:03:23+00:00", "latest_event_end": "2026-08-20T07:14:37+00:00", "lta_spills": 40.79999923706055, "spill_hours": 258.5480651855469, "snap_confidence": "high", "distance_km": 5.1, "lake_distance_km": 0.0, "travel_h": 2.8, "weight": 0.148, "p_spill_today": 0.002, "p_spill_tomorrow": 0.011, "p_spill_days": [0.002, 0.011, 0.005, 0.006, 0.082], "now_contribution": 0.0}, {"site_id": "NWL00929", "company": "Northumbrian Water", "site_name": "NETHERTON STW", "receiving_watercourse": "Netherton Burn", "lat": 55.36133, "lon": -2.01401, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:05:33.450000+00:00", "latest_event_start": "2026-09-08T12:50:20+00:00", "latest_event_end": "2026-09-08T13:08:40+00:00", "lta_spills": 6.670000076293945, "spill_hours": 2.6624999046325684, "snap_confidence": "high", "distance_km": 15.2, "lake_distance_km": 0.0, "travel_h": 8.4, "weight": 0.032, "p_spill_today": 0.001, "p_spill_tomorrow": 0.002, "p_spill_days": [0.001, 0.002, 0.001, 0.002, 0.013], "now_contribution": 0.0}, {"site_id": "NWL00927", "company": "Northumbrian Water", "site_name": "NETHERTON CSO", "receiving_watercourse": "Netherton Burn", "lat": 55.36178, "lon": -2.01767, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:05:33.450000+00:00", "latest_event_start": "2026-10-02T20:21:59+00:00", "latest_event_end": "2026-10-02T20:27:59+00:00", "lta_spills": 12.289999961853027, "spill_hours": 3.566666603088379, "snap_confidence": "high", "distance_km": 15.5, "lake_distance_km": 0.0, "travel_h": 8.6, "weight": 0.029, "p_spill_today": 0.001, "p_spill_tomorrow": 0.002, "p_spill_days": [0.001, 0.002, 0.001, 0.002, 0.018], "now_contribution": 0.001}, {"site_id": "NWL01576", "company": "Northumbrian Water", "site_name": "ALWINTON STW", "receiving_watercourse": "Hosedon Burn", "lat": 55.34945, "lon": -2.12692, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:05:33.450000+00:00", "latest_event_start": "2026-09-03T17:37:59+00:00", "latest_event_end": "2026-09-03T17:43:59+00:00", "lta_spills": 0.0, "spill_hours": 0.0, "snap_confidence": "high", "distance_km": 24.8, "lake_distance_km": 0.0, "travel_h": 13.8, "weight": 0.007, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.001, 0.001, 0.005], "now_contribution": 0.0}, {"site_id": "NWL01577", "company": "Northumbrian Water", "site_name": "ALWINTON STW", "receiving_watercourse": "Hosedon Burn", "lat": 55.34945, "lon": -2.12692, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:05:33.450000+00:00", "latest_event_start": "2024-08-23T05:14:59+00:00", "latest_event_end": "2024-08-23T05:29:59+00:00", "lta_spills": 13.0, "spill_hours": 0.0, "snap_confidence": "high", "distance_km": 24.8, "lake_distance_km": 0.0, "travel_h": 13.8, "weight": 0.007, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.002, 0.002, 0.012], "now_contribution": 0.0}], "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 17, "sunrise": "07:17", "sunset": "18:33"}, {"date": "2026-10-06", "tmax": 13, "sunrise": "07:19", "sunset": "18:30"}, {"date": "2026-10-07", "tmax": 12, "sunrise": "07:21", "sunset": "18:28"}, {"date": "2026-10-08", "tmax": 11, "sunrise": "07:23", "sunset": "18:25"}, {"date": "2026-10-09", "tmax": 14, "sunrise": "07:25", "sunset": "18:23"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "allen-plankey-mill", "name": "River Allen, Plankey Mill", "kind": "river", "river": "River Allen", "source": "curated", "notes": "", "lat": 54.953, "lon": -2.3215, "query": {"lat": 54.953, "lon": -2.3215, "issued_at": "2026-10-05T03:13:05.093739+01:00"}, "location": {"mode": "river", "watercourse": "River Allen", "snap_distance_m": 3, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "on river", "snapped": {"lat": 54.95298, "lon": -2.32153}}, "river_state": {"station": "Hindley Wrae Ford", "river": "River West Allen", "level_m": 0.019, "typical_low_m": 0.087, "typical_high_m": 0.533, "index": -0.15, "label": "low", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "8367", "measure": "023058-level-reservoir_level-i-15_min-m", "distance_km": 3.8, "same_river": true, "rise_6h_m": 0.001, "rise_from": "2026-10-04T20:15:00Z", "rise_to": "2026-10-05T01:45:00Z"}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.01, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 2, "monitored_upstream": 6, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.006, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 1.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.179}, {"date": "2026-10-06", "risk": 0.013, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.011, "rain_48h_mm": 3.1, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.291}, {"date": "2026-10-07", "risk": 0.013, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.013, "rain_48h_mm": 2.1, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.286}, {"date": "2026-10-08", "risk": 0.011, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.011, "rain_48h_mm": 0.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.162}, {"date": "2026-10-09", "risk": 0.04, "label": "low", "expected_spilling_overflows": 0.3, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.04, "rain_48h_mm": 3.9, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.37}], "upstream_summary": {"overflows": 6, "with_live_feed": 6, "without_live_feed": 0, "sum_weight": 0.785, "history_days": 2, "max_travel_h": 6.1}, "contributors": [{"site_id": "NWL00034", "company": "Northumbrian Water", "site_name": "ALLENDALE STW", "receiving_watercourse": "River East Allen", "lat": 54.90769, "lon": -2.26963, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:05:33.450000+00:00", "latest_event_start": "2026-10-03T01:50:12+00:00", "latest_event_end": "2026-10-03T01:50:14+00:00", "lta_spills": 145.6699981689453, "spill_hours": 1865.320556640625, "snap_confidence": "high", "distance_km": 9.1, "lake_distance_km": 0.0, "travel_h": 5.0, "weight": 0.248, "p_spill_today": 0.021, "p_spill_tomorrow": 0.05, "p_spill_days": [0.021, 0.05, 0.047, 0.039, 0.168], "now_contribution": 0.009}, {"site_id": "NWL00883", "company": "Northumbrian Water", "site_name": "MILL COTTAGE CSO", "receiving_watercourse": "River East Allen", "lat": 54.90437, "lon": -2.26587, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:05:33.450000+00:00", "latest_event_start": null, "latest_event_end": null, "lta_spills": 0.0, "spill_hours": 0.0, "snap_confidence": "high", "distance_km": 9.6, "lake_distance_km": 0.0, "travel_h": 5.3, "weight": 0.243, "p_spill_today": 0.001, "p_spill_tomorrow": 0.002, "p_spill_days": [0.001, 0.002, 0.002, 0.002, 0.007], "now_contribution": 0.0}, {"site_id": "NWL01373", "company": "Northumbrian Water", "site_name": "THE PETH CSO", "receiving_watercourse": "River East Allen", "lat": 54.89666, "lon": -2.2585, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:05:33.450000+00:00", "latest_event_start": null, "latest_event_end": null, "lta_spills": 0.0, "spill_hours": 0.0, "snap_confidence": "high", "distance_km": 11.0, "lake_distance_km": 0.0, "travel_h": 6.1, "weight": 0.201, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.001, 0.001, 0.002], "now_contribution": 0.0}, {"site_id": "NWL00285", "company": "Northumbrian Water", "site_name": "CHURCH DENE CSO", "receiving_watercourse": "Tributary of River Burn", "lat": 54.89831, "lon": -2.25326, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:05:33.450000+00:00", "latest_event_start": "2026-10-02T22:19:59+00:00", "latest_event_end": "2026-10-02T22:41:59+00:00", "lta_spills": 42.5, "spill_hours": 160.88333129882812, "snap_confidence": "high", "distance_km": 10.7, "lake_distance_km": 0.0, "travel_h": 6.0, "weight": 0.036, "p_spill_today": 0.008, "p_spill_tomorrow": 0.029, "p_spill_days": [0.008, 0.029, 0.009, 0.004, 0.072], "now_contribution": 0.001}, {"site_id": "NWL01031", "company": "Northumbrian Water", "site_name": "PHILIPBURN DENE PS", "receiving_watercourse": "Philip Burn", "lat": 54.90027, "lon": -2.25056, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:05:33.450000+00:00", "latest_event_start": "2026-03-24T17:24:20.103000+00:00", "latest_event_end": "2026-03-24T19:11:40.103000+00:00", "lta_spills": 18.0, "spill_hours": 40.56388854980469, "snap_confidence": "high", "distance_km": 11.0, "lake_distance_km": 0.0, "travel_h": 6.1, "weight": 0.036, "p_spill_today": 0.002, "p_spill_tomorrow": 0.01, "p_spill_days": [0.002, 0.01, 0.003, 0.003, 0.044], "now_contribution": 0.0}, {"site_id": "NWL00261", "company": "Northumbrian Water", "site_name": "CATTON LEA CSO", "receiving_watercourse": "Tributary of River East Allen", "lat": 54.9111, "lon": -2.2681, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:05:33.450000+00:00", "latest_event_start": "2024-04-09T19:00:00+00:00", "latest_event_end": "2024-04-09T19:15:00+00:00", "lta_spills": 0.10000000149011612, "spill_hours": 0.0, "snap_confidence": "high", "distance_km": 9.4, "lake_distance_km": 0.0, "travel_h": 5.2, "weight": 0.02, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.001, 0.001, 0.003], "now_contribution": 0.0}], "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 17, "sunrise": "07:19", "sunset": "18:35"}, {"date": "2026-10-06", "tmax": 13, "sunrise": "07:21", "sunset": "18:32"}, {"date": "2026-10-07", "tmax": 11, "sunrise": "07:22", "sunset": "18:30"}, {"date": "2026-10-08", "tmax": 12, "sunrise": "07:24", "sunset": "18:27"}, {"date": "2026-10-09", "tmax": 12, "sunrise": "07:26", "sunset": "18:25"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "derwent-slippery-stones", "name": "River Derwent, Slippery Stones (Howden)", "kind": "river", "river": "River Derwent", "source": "curated", "notes": "", "lat": 53.4527, "lon": -1.7467, "query": {"lat": 53.4527, "lon": -1.7467, "issued_at": "2026-10-05T03:13:05.300377+01:00"}, "location": {"mode": "river", "watercourse": "River Derwent", "snap_distance_m": 3, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "on river", "snapped": {"lat": 53.45269, "lon": -1.74674}}, "river_state": {"station": "Yorkshire Bridge", "river": "River Derwent", "level_m": 0.297, "typical_low_m": 0.302, "typical_high_m": 0.5, "index": -0.03, "label": "low", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "2097", "measure": "4001-level-stage-i-15_min-mASD", "distance_km": 10.4, "same_river": true, "rise_6h_m": 0.0, "rise_from": "2026-10-04T20:15:00Z", "rise_to": "2026-10-05T01:45:00Z"}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 0, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.6, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.1}, {"date": "2026-10-06", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 2.5, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.151}, {"date": "2026-10-07", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 25.3, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.348}, {"date": "2026-10-08", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 23.4, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.487}, {"date": "2026-10-09", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 3.6, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.166}], "upstream_summary": {"overflows": 0, "with_live_feed": 0, "without_live_feed": 0, "sum_weight": 0.0, "history_days": 1, "max_travel_h": 0.0}, "contributors": [], "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 16, "sunrise": "07:15", "sunset": "18:34"}, {"date": "2026-10-06", "tmax": 16, "sunrise": "07:17", "sunset": "18:31"}, {"date": "2026-10-07", "tmax": 11, "sunrise": "07:19", "sunset": "18:29"}, {"date": "2026-10-08", "tmax": 11, "sunrise": "07:21", "sunset": "18:27"}, {"date": "2026-10-09", "tmax": 14, "sunrise": "07:22", "sunset": "18:24"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "dove-dovedale", "name": "River Dove, Dovedale stepping stones", "kind": "river", "river": "River Dove", "source": "curated", "notes": "", "lat": 53.054, "lon": -1.786, "query": {"lat": 53.054, "lon": -1.786, "issued_at": "2026-10-05T03:13:05.380481+01:00"}, "location": {"mode": "river", "watercourse": "River Dove", "snap_distance_m": 113, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "on river", "snapped": {"lat": 53.05399, "lon": -1.78431}}, "river_state": {"station": "Izaak Walton", "river": "River Dove", "level_m": 0.0, "typical_low_m": 0.271, "typical_high_m": 0.59, "index": -0.85, "label": "low", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "2119", "measure": "4046-level-stage-i-15_min-mASD", "distance_km": 0.3, "same_river": true, "rise_6h_m": 0.0, "rise_from": "2026-10-04T21:15:00Z", "rise_to": "2026-10-05T01:45:00Z"}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 3, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.002, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.6, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.12}, {"date": "2026-10-06", "risk": 0.003, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.002, "rain_48h_mm": 1.1, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.153}, {"date": "2026-10-07", "risk": 0.034, "label": "low", "expected_spilling_overflows": 0.3, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.034, "rain_48h_mm": 8.1, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.444}, {"date": "2026-10-08", "risk": 0.021, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.021, "rain_48h_mm": 7.5, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.503}, {"date": "2026-10-09", "risk": 0.029, "label": "low", "expected_spilling_overflows": 0.3, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.029, "rain_48h_mm": 5.3, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.38}], "upstream_summary": {"overflows": 3, "with_live_feed": 3, "without_live_feed": 0, "sum_weight": 0.466, "history_days": 2, "max_travel_h": 12.2}, "contributors": [{"site_id": "SVT01071", "company": "Severn Trent Water", "site_name": "HARTINGTON STW (SSTO)", "receiving_watercourse": "TRIBUTARY OF RIVER DOVE", "lat": 53.14028027, "lon": -1.81900322, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:03:36+00:00", "latest_event_start": "2026-08-28T12:21:40+00:00", "latest_event_end": "2026-08-28T12:30:20+00:00", "lta_spills": 63.0, "spill_hours": 182.4227752685547, "snap_confidence": "high", "distance_km": 14.5, "lake_distance_km": 0.0, "travel_h": 8.0, "weight": 0.174, "p_spill_today": 0.011, "p_spill_tomorrow": 0.01, "p_spill_days": [0.011, 0.01, 0.2, 0.015, 0.148], "now_contribution": 0.0}, {"site_id": "SVT02723", "company": "Severn Trent Water", "site_name": "EARL STERNDALE STW (CSO)", "receiving_watercourse": "GLUTTON BROOK", "lat": 53.14805225, "lon": -1.81672785, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:03:36+00:00", "latest_event_start": "2026-09-18T16:39:13+00:00", "latest_event_end": "2026-09-18T17:36:42+00:00", "lta_spills": null, "spill_hours": 9.75777816772461, "snap_confidence": "high", "distance_km": 15.7, "lake_distance_km": 0.0, "travel_h": 8.7, "weight": 0.165, "p_spill_today": 0.003, "p_spill_tomorrow": 0.002, "p_spill_days": [0.003, 0.002, 0.09, 0.006, 0.085], "now_contribution": 0.0}, {"site_id": "SVT00692", "company": "Severn Trent Water", "site_name": "CROWDECOTE (CSO)", "receiving_watercourse": "RIVER DOVE", "lat": 53.1834903, "lon": -1.85175721, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:03:36+00:00", "latest_event_start": "2026-08-26T15:14:12+00:00", "latest_event_end": "2026-08-26T15:40:48+00:00", "lta_spills": 3.8299999237060547, "spill_hours": 15.522500038146973, "snap_confidence": "high", "distance_km": 22.0, "lake_distance_km": 0.0, "travel_h": 12.2, "weight": 0.127, "p_spill_today": 0.004, "p_spill_tomorrow": 0.002, "p_spill_days": [0.004, 0.002, 0.019, 0.004, 0.021], "now_contribution": 0.0}], "guide": {"checked": "2026-10-03", "how": "desk", "facts": [{"topic": "parking", "text": "Dovedale Car Park is reached via Thorpe and the A515 (postcode DE6 2AY, grid ref SK 1465 5095).", "status": "confirmed", "source": "https://www.peakdistrict.gov.uk/visiting/miles-without-stiles/dovedale", "source_name": "Peak District National Park Authority"}, {"topic": "parking", "text": "Dovedale car park uses number-plate recognition, and you can pay by bank card or coins. Minibuses and coaches are not allowed in Dovedale car park.", "status": "confirmed", "source": "https://www.nationaltrust.org.uk/visit/peak-district-derbyshire/ilam-park-dovedale-and-the-white-peak", "source_name": "National Trust"}, {"topic": "parking", "text": "Parking is free for National Trust members. Non-members pay \u00a36 for up to 4 hours or \u00a38 for over 4 hours. Tickets cannot be moved between the Dovedale and Ilam Park car parks.", "status": "confirmed", "source": "https://www.nationaltrust.org.uk/visit/peak-district-derbyshire/ilam-park-dovedale-and-the-white-peak", "source_name": "National Trust"}, {"topic": "path", "text": "An access-for-all route runs 640 m from Dovedale Car Park to the Stepping Stones: at the car park entrance take the road with the vehicle restriction sign, then follow the river.", "status": "confirmed", "source": "https://www.peakdistrict.gov.uk/visiting/miles-without-stiles/dovedale", "source_name": "Peak District National Park Authority"}, {"topic": "path", "text": "You can walk across the fields from Ilam Park to Dovedale; it is 1\u00bd miles to the stepping stones. Keep dogs on a short lead near farm animals.", "status": "confirmed", "source": "https://www.nationaltrust.org.uk/visit/peak-district-derbyshire/ilam-park-dovedale-and-the-white-peak/things-to-do-at-ilam-park-dovedale-and-the-white-peak", "source_name": "National Trust"}, {"topic": "path", "text": "After heavy rain the stepping stones can be impassable because of flooding.", "status": "confirmed", "source": "https://www.nationaltrust.org.uk/visit/peak-district-derbyshire/ilam-park-dovedale-and-the-white-peak/ilam-park-to-dovedale-stepping-stones-trail", "source_name": "National Trust"}, {"topic": "entry", "text": "The National Trust says many visitors stop near the stepping stones for a picnic or a paddle. The page mentions paddling, not swimming.", "status": "confirmed", "source": "https://www.nationaltrust.org.uk/visit/peak-district-derbyshire/ilam-park-dovedale-and-the-white-peak/ilam-park-to-dovedale-stepping-stones-trail", "source_name": "National Trust"}, {"topic": "toilets", "text": "Dovedale toilets are near the concession stands at the car park. Hours: summer 8.30am to 7pm (1 Apr to 31 Oct), winter given as 8.30pm to 5pm (1 Nov to 31 Mar). The disabled toilet at the rear is open 24 hours. Cost 50p per user.", "status": "confirmed", "source": "https://www.peakdistrict.gov.uk/visiting/planning-your-visit/toilets", "source_name": "Peak District National Park Authority"}, {"topic": "toilets", "text": "The park authority charges 50p per entry at its refurbished Dovedale toilets. Payment is contactless only.", "status": "confirmed", "source": "https://www.peakdistrict.gov.uk/visiting/planning-your-visit/toilets", "source_name": "Peak District National Park Authority"}, {"topic": "hours", "text": "The trail page says Dovedale car park closes promptly at 7:30pm.", "status": "confirmed", "source": "https://www.nationaltrust.org.uk/visit/peak-district-derbyshire/ilam-park-dovedale-and-the-white-peak/ilam-park-to-dovedale-stepping-stones-trail", "source_name": "National Trust"}, {"topic": "rules", "text": "The park authority says many rivers are privately owned, have fishing rights or are protected for wildlife. Swimming, canoeing, kayaking, inflatables and SUP are not permitted unless on-site signs show it, in designated areas. The page does not name Dovedale or the River Dove.", "status": "confirmed", "source": "https://www.peakdistrict.gov.uk/visiting/planning-your-visit/swimming", "source_name": "Peak District National Park Authority"}, {"topic": "rules", "text": "The park authority advises entering open water only as part of a supervised, organised event, and says there are no lifeguards or water patrols in the open countryside. The page does not name Dovedale.", "status": "confirmed", "source": "https://www.peakdistrict.gov.uk/visiting/planning-your-visit/swimming", "source_name": "Peak District National Park Authority"}], "photos": []}, "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 18, "sunrise": "07:15", "sunset": "18:34"}, {"date": "2026-10-06", "tmax": 17, "sunrise": "07:17", "sunset": "18:32"}, {"date": "2026-10-07", "tmax": 12, "sunrise": "07:18", "sunset": "18:29"}, {"date": "2026-10-08", "tmax": 12, "sunrise": "07:20", "sunset": "18:27"}, {"date": "2026-10-09", "tmax": 15, "sunrise": "07:22", "sunset": "18:25"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "hatchmere", "name": "Hatchmere, Delamere", "kind": "lake", "river": null, "source": "curated", "notes": "", "lat": 53.245, "lon": -2.672, "query": {"lat": 53.245, "lon": -2.672, "issued_at": "2026-10-05T03:13:05.547017+01:00"}, "location": {"mode": "lake", "watercourse": "Hatch Mere", "snap_distance_m": 5, "form": "lake", "lake_area_km2": 0.0, "lake_source": "polygon", "adopted_main_channel": false, "placement": null, "snapped": {"lat": 53.24502, "lon": -2.67193}}, "river_state": {"station": "Pickerings Cut", "river": "River Weaver", "level_m": 4.727, "typical_low_m": 4.665, "typical_high_m": 5.5, "index": 0.07, "label": "low", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "5198", "measure": "682223-level-stage-i-15_min-m", "distance_km": 4.7, "same_river": false}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": false, "season_validated_months": [5, 6, 7, 8, 9], "note": "Not validated on lakes: no ranking skill in the fitting data (16 exceedances in 803 lake samples)."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 0, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 1.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.027}, {"date": "2026-10-06", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 1.5, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.028}, {"date": "2026-10-07", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 9.3, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.018}, {"date": "2026-10-08", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 10.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.024}, {"date": "2026-10-09", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 5.4, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.021}], "upstream_summary": {"overflows": 0, "with_live_feed": 0, "without_live_feed": 0, "sum_weight": 0.0, "history_days": 1, "max_travel_h": 0.0}, "contributors": [], "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 18, "sunrise": "07:19", "sunset": "18:37"}, {"date": "2026-10-06", "tmax": 16, "sunrise": "07:20", "sunset": "18:35"}, {"date": "2026-10-07", "tmax": 12, "sunrise": "07:22", "sunset": "18:33"}, {"date": "2026-10-08", "tmax": 13, "sunrise": "07:24", "sunset": "18:31"}, {"date": "2026-10-09", "tmax": 15, "sunrise": "07:26", "sunset": "18:28"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "wye-hereford", "name": "River Wye, Bishop's Meadow, Hereford", "kind": "river", "river": "River Wye", "source": "curated", "notes": "", "lat": 52.051, "lon": -2.717, "query": {"lat": 52.051, "lon": -2.717, "issued_at": "2026-10-05T03:13:05.604235+01:00"}, "location": {"mode": "river", "watercourse": "River Wye", "snap_distance_m": 188, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "on river", "snapped": {"lat": 52.05266, "lon": -2.7175}}, "river_state": {"station": "Old Wye Bridge", "river": "River Wye", "level_m": 0.26, "typical_low_m": 0.096, "typical_high_m": 3.3, "index": 0.05, "label": "low", "observed_at": "2026-10-05T01:30:00Z", "age_hours": 0.7, "stale": false, "rloi": "4017", "measure": "055807_TG_320-level-stage-i-15_min-mASD", "distance_km": 0.2, "same_river": true, "rise_6h_m": -0.024, "rise_from": "2026-10-04T20:15:00Z", "rise_to": "2026-10-05T01:30:00Z"}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 0, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 14}, "days": [{"date": "2026-10-05", "risk": 0.009, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.139}, {"date": "2026-10-06", "risk": 0.009, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.009, "rain_48h_mm": 0.1, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.145}, {"date": "2026-10-07", "risk": 0.117, "label": "low", "expected_spilling_overflows": 0.3, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.117, "rain_48h_mm": 2.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.392}, {"date": "2026-10-08", "risk": 0.027, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.027, "rain_48h_mm": 2.1, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.337}, {"date": "2026-10-09", "risk": 0.307, "label": "moderate", "expected_spilling_overflows": 0.8, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.307, "source": {"site_id": "DCW00055", "site_name": "Hereford Beneath Greyfriars Bridge", "receiving_watercourse": "River Wye", "status": -2, "distance_km": 0.2, "lake_distance_km": 0.0, "travel_h": 0.1, "share": 0.31, "spread_over": 5}, "rain_48h_mm": 6.3, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.587}], "upstream_summary": {"overflows": 14, "with_live_feed": 0, "without_live_feed": 14, "sum_weight": 6.663, "history_days": 2, "max_travel_h": 18.5}, "contributors": [{"site_id": "DCW00055", "company": "Dwr Cymru Welsh Water", "site_name": "Hereford Beneath Greyfriars Bridge", "receiving_watercourse": "River Wye", "lat": 52.05231451449576, "lon": -2.7199264822697695, "status": -2, "has_live": false, "data_state": "no_feed", "feed_updated_at": null, "latest_event_start": null, "latest_event_end": null, "lta_spills": 47.125, "spill_hours": 32.25, "snap_confidence": "high", "distance_km": 0.2, "lake_distance_km": 0.0, "travel_h": 0.1, "weight": 0.905, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.044, 0.005, 0.119], "now_contribution": 0.0}, {"site_id": "DCW00109", "company": "Dwr Cymru Welsh Water", "site_name": "St Martins Allotments CSO Hereford", "receiving_watercourse": "River Wye", "lat": 52.051801377079364, "lon": -2.7200348976074498, "status": -2, "has_live": false, "data_state": "no_feed", "feed_updated_at": null, "latest_event_start": null, "latest_event_end": null, "lta_spills": 33.22222137451172, "spill_hours": 96.25, "snap_confidence": "high", "distance_km": 0.2, "lake_distance_km": 0.0, "travel_h": 0.1, "weight": 0.904, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.049, 0.008, 0.114], "now_contribution": 0.0}, {"site_id": "DCW00016", "company": "Dwr Cymru Welsh Water", "site_name": "Hereford Belmont Roundabout", "receiving_watercourse": "River Wye", "lat": 52.05175642756373, "lon": -2.7200341747891033, "status": -2, "has_live": false, "data_state": "no_feed", "feed_updated_at": null, "latest_event_start": null, "latest_event_end": null, "lta_spills": 18.33333396911621, "spill_hours": 50.75, "snap_confidence": "high", "distance_km": 0.2, "lake_distance_km": 0.0, "travel_h": 0.1, "weight": 0.904, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.017, 0.003, 0.052], "now_contribution": 0.0}, {"site_id": "DCW00128", "company": "Dwr Cymru Welsh Water", "site_name": "Hereford Cycle Track CSO, Hereford", "receiving_watercourse": "River Wye", "lat": 52.052761892949206, "lon": -2.7232149698512726, "status": -2, "has_live": false, "data_state": "no_feed", "feed_updated_at": null, "latest_event_start": null, "latest_event_end": null, "lta_spills": 6.0, "spill_hours": 4.0, "snap_confidence": "high", "distance_km": 0.3, "lake_distance_km": 0.0, "travel_h": 0.2, "weight": 0.898, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.006, 0.003, 0.016], "now_contribution": 0.0}, {"site_id": "DCW00122", "company": "Dwr Cymru Welsh Water", "site_name": "Whitecross Road CSO", "receiving_watercourse": "River Wye", "lat": 52.05277964266048, "lon": -2.726175714836001, "status": -2, "has_live": false, "data_state": "no_feed", "feed_updated_at": null, "latest_event_start": null, "latest_event_end": null, "lta_spills": 2.799999952316284, "spill_hours": 0.75, "snap_confidence": "high", "distance_km": 0.6, "lake_distance_km": 0.0, "travel_h": 0.3, "weight": 0.89, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.002, 0.002, 0.006], "now_contribution": 0.0}, {"site_id": "DCW00005", "company": "Dwr Cymru Welsh Water", "site_name": "Hereford Broomy Hill/Belvedere Lane", "receiving_watercourse": "River Wye", "lat": 52.05165499818395, "lon": -2.727761624665908, "status": -2, "has_live": false, "data_state": "no_feed", "feed_updated_at": null, "latest_event_start": null, "latest_event_end": null, "lta_spills": 2.4000000953674316, "spill_hours": 0.25, "snap_confidence": "high", "distance_km": 0.7, "lake_distance_km": 0.0, "travel_h": 0.4, "weight": 0.884, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.006, 0.003, 0.015], "now_contribution": 0.0}, {"site_id": "DCW00031", "company": "Dwr Cymru Welsh Water", "site_name": "Plough Lane Hereford CSO", "receiving_watercourse": "River Wye", "lat": 52.0485664376687, "lon": -2.734317154183928, "status": -2, "has_live": false, "data_state": "no_feed", "feed_updated_at": null, "latest_event_start": null, "latest_event_end": null, "lta_spills": 26.0, "spill_hours": 19.0, "snap_confidence": "high", "distance_km": 1.2, "lake_distance_km": 0.0, "travel_h": 0.7, "weight": 0.864, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.008, 0.003, 0.061], "now_contribution": 0.0}, {"site_id": "DCW00015", "company": "Dwr Cymru Welsh Water", "site_name": "Barton Road CSO, Hereford", "receiving_watercourse": "Yazor Brook", "lat": 52.053703503657964, "lon": -2.723609359198315, "status": -2, "has_live": false, "data_state": "no_feed", "feed_updated_at": null, "latest_event_start": null, "latest_event_end": null, "lta_spills": 11.857142448425293, "spill_hours": 4.0, "snap_confidence": "high", "distance_km": 0.3, "lake_distance_km": 0.0, "travel_h": 0.2, "weight": 0.082, "p_spill_today": 0.001, "p_spill_tomorrow": 0.002, "p_spill_days": [0.001, 0.002, 0.01, 0.004, 0.027], "now_contribution": 0.0}, {"site_id": "DCW00081", "company": "Dwr Cymru Welsh Water", "site_name": "Widemarsh Common Road CSO, Hereford", "receiving_watercourse": "Widemarsh Brook", "lat": 52.06273556516264, "lon": -2.721275617891573, "status": -2, "has_live": false, "data_state": "no_feed", "feed_updated_at": null, "latest_event_start": null, "latest_event_end": null, "lta_spills": 5.5, "spill_hours": 0.75, "snap_confidence": "high", "distance_km": 1.1, "lake_distance_km": 0.0, "travel_h": 0.6, "weight": 0.08, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.004, 0.003, 0.013], "now_contribution": 0.0}, {"site_id": "DCW00010", "company": "Dwr Cymru Welsh Water", "site_name": "Hereford Three Elms Road/Ferndale Road", "receiving_watercourse": "Yazor Brook", "lat": 52.0635470050086, "lon": -2.7383263681373173, "status": -2, "has_live": false, "data_state": "no_feed", "feed_updated_at": null, "latest_event_start": null, "latest_event_end": null, "lta_spills": 13.125, "spill_hours": 11.5, "snap_confidence": "high", "distance_km": 2.1, "lake_distance_km": 0.0, "travel_h": 1.2, "weight": 0.076, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.008, 0.002, 0.023], "now_contribution": 0.0}], "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 20, "sunrise": "07:18", "sunset": "18:39"}, {"date": "2026-10-06", "tmax": 20, "sunrise": "07:20", "sunset": "18:36"}, {"date": "2026-10-07", "tmax": 14, "sunrise": "07:21", "sunset": "18:34"}, {"date": "2026-10-08", "tmax": 14, "sunrise": "07:23", "sunset": "18:32"}, {"date": "2026-10-09", "tmax": 18, "sunrise": "07:25", "sunset": "18:30"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "wye-symonds-yat", "name": "River Wye, Symonds Yat", "kind": "river", "river": "River Wye", "source": "curated", "notes": "", "lat": 51.844, "lon": -2.642, "query": {"lat": 51.844, "lon": -2.642, "issued_at": "2026-10-05T03:13:05.861208+01:00"}, "location": {"mode": "river", "watercourse": "River Wye", "snap_distance_m": 88, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "on river", "snapped": {"lat": 51.84355, "lon": -2.64305}}, "river_state": {"station": "Lydbrook", "river": "River Wye", "level_m": 1.069, "typical_low_m": 0.42, "typical_high_m": 4.0, "index": 0.18, "label": "normal", "observed_at": "2026-10-05T01:30:00Z", "age_hours": 0.7, "stale": false, "rloi": "2196", "measure": "2320-level-stage-i-15_min-mASD", "distance_km": 4.5, "same_river": true}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 0, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 14}, "days": [{"date": "2026-10-05", "risk": 0.004, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.111}, {"date": "2026-10-06", "risk": 0.004, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.002, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.11}, {"date": "2026-10-07", "risk": 0.024, "label": "low", "expected_spilling_overflows": 0.2, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.024, "rain_48h_mm": 2.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.279}, {"date": "2026-10-08", "risk": 0.019, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.019, "rain_48h_mm": 2.1, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.309}, {"date": "2026-10-09", "risk": 0.101, "label": "low", "expected_spilling_overflows": 0.8, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.101, "rain_48h_mm": 6.1, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.489}], "upstream_summary": {"overflows": 14, "with_live_feed": 0, "without_live_feed": 14, "sum_weight": 2.317, "history_days": 3, "max_travel_h": 28.9}, "contributors": [{"site_id": "DCW00072", "company": "Dwr Cymru Welsh Water", "site_name": "Lydbrook WwTW", "receiving_watercourse": "River Wye", "lat": 51.84929674482287, "lon": -2.6072185858881496, "status": -2, "has_live": false, "data_state": "no_feed", "feed_updated_at": null, "latest_event_start": null, "latest_event_end": null, "lta_spills": 25.33333396911621, "spill_hours": 251.5, "snap_confidence": "high", "distance_km": 7.7, "lake_distance_km": 0.0, "travel_h": 4.3, "weight": 0.513, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.019, 0.004, 0.075], "now_contribution": 0.0}, {"site_id": "DCW00071", "company": "Dwr Cymru Welsh Water", "site_name": "Lower Lydbrook (River Wye)", "receiving_watercourse": "River Wye", "lat": 51.8495041882463, "lon": -2.585822359430943, "status": -2, "has_live": false, "data_state": "no_feed", "feed_updated_at": null, "latest_event_start": null, "latest_event_end": null, "lta_spills": 0.6666666865348816, "spill_hours": 0.25, "snap_confidence": "high", "distance_km": 10.0, "lake_distance_km": 0.0, "travel_h": 5.6, "weight": 0.428, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.002, 0.003, 0.01], "now_contribution": 0.0}, {"site_id": "DCW00097", "company": "Dwr Cymru Welsh Water", "site_name": "Ruardean Village", "receiving_watercourse": "Unnamed Tribuatary of Lodgegrove Brook", "lat": 51.85403392754256, "lon": -2.578912035538828, "status": -2, "has_live": false, "data_state": "no_feed", "feed_updated_at": null, "latest_event_start": null, "latest_event_end": null, "lta_spills": 51.400001525878906, "spill_hours": 426.25, "snap_confidence": "high", "distance_km": 10.9, "lake_distance_km": 0.0, "travel_h": 6.0, "weight": 0.413, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.022, 0.005, 0.096], "now_contribution": 0.0}, {"site_id": "DCW00063", "company": "Dwr Cymru Welsh Water", "site_name": "Hope And Anchor CSO Wye St. Ross-On-Wye", "receiving_watercourse": "River Wye", "lat": 51.91414951386379, "lon": -2.5893968570657164, "status": -2, "has_live": false, "data_state": "no_feed", "feed_updated_at": null, "latest_event_start": null, "latest_event_end": null, "lta_spills": 66.0, "spill_hours": 273.5, "snap_confidence": "high", "distance_km": 23.2, "lake_distance_km": 0.0, "travel_h": 12.9, "weight": 0.201, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.032, 0.005, 0.14], "now_contribution": 0.0}, {"site_id": "DCW00096", "company": "Dwr Cymru Welsh Water", "site_name": "Lower Cleeve (Sw Of Ross-On-Wye)", "receiving_watercourse": "River Wye", "lat": 51.90864970265301, "lon": -2.606565373793758, "status": -2, "has_live": false, "data_state": "no_feed", "feed_updated_at": null, "latest_event_start": null, "latest_event_end": null, "lta_spills": 26.25, "spill_hours": 99.0, "snap_confidence": "high", "distance_km": 21.6, "lake_distance_km": 0.0, "travel_h": 12.0, "weight": 0.219, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.011, 0.004, 0.071], "now_contribution": 0.0}, {"site_id": "DCW00123", "company": "Dwr Cymru Welsh Water", "site_name": "Wilton SPS", "receiving_watercourse": "River Wye", "lat": 51.911136873567585, "lon": -2.6054649700890566, "status": -2, "has_live": false, "data_state": "no_feed", "feed_updated_at": null, "latest_event_start": null, "latest_event_end": null, "lta_spills": 8.777777671813965, "spill_hours": 26.75, "snap_confidence": "high", "distance_km": 21.9, "lake_distance_km": 0.0, "travel_h": 12.2, "weight": 0.217, "p_spill_today": 0.001, "p_spill_tomorrow": 0.002, "p_spill_days": [0.001, 0.002, 0.008, 0.004, 0.051], "now_contribution": 0.0}, {"site_id": "DCW00062", "company": "Dwr Cymru Welsh Water", "site_name": "Ross-On-Wye Homs Road", "receiving_watercourse": "River Wye", "lat": 51.916654942069975, "lon": -2.5882083765541317, "status": -2, "has_live": false, "data_state": "no_feed", "feed_updated_at": null, "latest_event_start": null, "latest_event_end": null, "lta_spills": 43.16666793823242, "spill_hours": 61.25, "snap_confidence": "high", "distance_km": 23.5, "lake_distance_km": 0.0, "travel_h": 13.1, "weight": 0.199, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.02, 0.005, 0.094], "now_contribution": 0.0}, {"site_id": "DCW00018", "company": "Dwr Cymru Welsh Water", "site_name": "Ross-On-Wye Brampton Street", "receiving_watercourse": "Rudhall Brook", "lat": 51.917247096897555, "lon": -2.581222626048972, "status": -2, "has_live": false, "data_state": "no_feed", "feed_updated_at": null, "latest_event_start": null, "latest_event_end": null, "lta_spills": 49.0, "spill_hours": 22.0, "snap_confidence": "high", "distance_km": 24.4, "lake_distance_km": 0.0, "travel_h": 13.5, "weight": 0.027, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.018, 0.005, 0.103], "now_contribution": 0.0}, {"site_id": "DCW00020", "company": "Dwr Cymru Welsh Water", "site_name": "Ross-On-Wye Cawdor Arch", "receiving_watercourse": "Rudhall Brook", "lat": 51.91856391855784, "lon": -2.5840167607820237, "status": -2, "has_live": false, "data_state": "no_feed", "feed_updated_at": null, "latest_event_start": null, "latest_event_end": null, "lta_spills": 23.875, "spill_hours": 10.25, "snap_confidence": "high", "distance_km": 24.2, "lake_distance_km": 0.0, "travel_h": 13.4, "weight": 0.027, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.006, 0.003, 0.046], "now_contribution": 0.0}, {"site_id": "DCW00048", "company": "Dwr Cymru Welsh Water", "site_name": "Fownhope", "receiving_watercourse": "River Wye", "lat": 52.00286940165303, "lon": -2.6195653334139886, "status": -2, "has_live": false, "data_state": "no_feed", "feed_updated_at": null, "latest_event_start": null, "latest_event_end": null, "lta_spills": 5.111111164093018, "spill_hours": 29.75, "snap_confidence": "high", "distance_km": 51.9, "lake_distance_km": 0.0, "travel_h": 28.9, "weight": 0.024, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.004, 0.003, 0.026], "now_contribution": 0.0}], "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 21, "sunrise": "07:17", "sunset": "18:39"}, {"date": "2026-10-06", "tmax": 21, "sunrise": "07:19", "sunset": "18:36"}, {"date": "2026-10-07", "tmax": 14, "sunrise": "07:21", "sunset": "18:34"}, {"date": "2026-10-08", "tmax": 14, "sunrise": "07:22", "sunset": "18:32"}, {"date": "2026-10-09", "tmax": 19, "sunrise": "07:24", "sunset": "18:30"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "avon-warleigh-weir", "name": "River Avon, Warleigh Weir, Bath", "kind": "river", "river": "River Avon", "source": "curated", "notes": "", "lat": 51.3766, "lon": -2.3006, "query": {"lat": 51.3766, "lon": -2.3006, "issued_at": "2026-10-05T03:13:06.104619+01:00"}, "location": {"mode": "river", "watercourse": "River Avon", "snap_distance_m": 2, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "on river", "snapped": {"lat": 51.3766, "lon": -2.30063}}, "river_state": {"station": "Bathford", "river": "River Avon", "level_m": 0.727, "typical_low_m": 0.699, "typical_high_m": 2.5, "index": 0.02, "label": "low", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "3041", "measure": "53129-level-stage-i-15_min-m", "distance_km": 2.9, "same_river": true, "rise_6h_m": 0.004, "rise_from": "2026-10-04T20:15:00Z", "rise_to": "2026-10-05T01:45:00Z"}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 173, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.016, "label": "low", "expected_spilling_overflows": 0.3, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.157}, {"date": "2026-10-06", "risk": 0.016, "label": "low", "expected_spilling_overflows": 0.3, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.011, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.158}, {"date": "2026-10-07", "risk": 0.149, "label": "low", "expected_spilling_overflows": 4.4, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.149, "rain_48h_mm": 1.9, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.395}, {"date": "2026-10-08", "risk": 0.107, "label": "low", "expected_spilling_overflows": 0.9, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.107, "rain_48h_mm": 2.1, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.423}, {"date": "2026-10-09", "risk": 0.6, "label": "high", "expected_spilling_overflows": 23.4, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.6, "source": {"site_id": "WXW00449", "site_name": "FRESHFORD STORM TANK", "receiving_watercourse": "BRISTOL AVON", "status": 0, "distance_km": 4.5, "lake_distance_km": 0.0, "travel_h": 2.5, "share": 0.108, "spread_over": 37}, "rain_48h_mm": 12.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.736}], "upstream_summary": {"overflows": 185, "with_live_feed": 173, "without_live_feed": 12, "sum_weight": 10.449, "history_days": 3, "max_travel_h": 31.4}, "contributors": [{"site_id": "WXW00449", "company": "Wessex Water", "site_name": "FRESHFORD STORM TANK", "receiving_watercourse": "BRISTOL AVON", "lat": 51.34407806459564, "lon": -2.302482664060349, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:17+00:00", "latest_event_start": "2026-06-22T21:51:00+00:00", "latest_event_end": "2026-06-22T21:52:00+00:00", "lta_spills": 37.66666793823242, "spill_hours": 360.999267578125, "snap_confidence": "high", "distance_km": 4.5, "lake_distance_km": 0.0, "travel_h": 2.5, "weight": 0.687, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.037, 0.008, 0.152], "now_contribution": 0.0}, {"site_id": "WXW00686", "company": "Wessex Water", "site_name": "BRADFORD-ON-AVON MARKET STREET JUNCTION WITH CHURCH STREET", "receiving_watercourse": "RIVER AVON (VIA SWS)", "lat": 51.34719810763626, "lon": -2.2510670402429795, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:17+00:00", "latest_event_start": "2026-09-08T10:02:00+00:00", "latest_event_end": "2026-09-08T10:14:00+00:00", "lta_spills": 48.44444274902344, "spill_hours": 53.065093994140625, "snap_confidence": "high", "distance_km": 9.1, "lake_distance_km": 0.0, "travel_h": 5.0, "weight": 0.346, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.04, 0.007, 0.224], "now_contribution": 0.0}, {"site_id": "WXW00884", "company": "Wessex Water", "site_name": "BRADFORD-ON-AVON CULVER STREET RECREATION PARK", "receiving_watercourse": "RIVER AVON", "lat": 51.34334631139255, "lon": -2.256404829110466, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:17+00:00", "latest_event_start": "2026-06-22T18:25:00+00:00", "latest_event_end": "2026-06-22T18:27:00+00:00", "lta_spills": 53.0, "spill_hours": 10.650256156921387, "snap_confidence": "high", "distance_km": 8.5, "lake_distance_km": 0.0, "travel_h": 4.7, "weight": 0.354, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.036, 0.01, 0.209], "now_contribution": 0.0}, {"site_id": "WXW01270", "company": "Wessex Water", "site_name": "WINSLEY STORM TANK", "receiving_watercourse": "RIVER AVON(S)", "lat": 51.33930342724275, "lon": -2.296038422608988, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:17+00:00", "latest_event_start": "2026-06-22T19:06:00+00:00", "latest_event_end": "2026-06-22T20:14:00+00:00", "lta_spills": 16.33333396911621, "spill_hours": 20.083147048950195, "snap_confidence": "high", "distance_km": 5.4, "lake_distance_km": 0.0, "travel_h": 3.0, "weight": 0.661, "p_spill_today": 0.001, "p_spill_tomorrow": 0.002, "p_spill_days": [0.001, 0.002, 0.013, 0.005, 0.096], "now_contribution": 0.0}, {"site_id": "WXW00979", "company": "Wessex Water", "site_name": "FRESHFORD FIELDS OFF ROSEMARY LANE", "receiving_watercourse": "RIVER FROME", "lat": 51.33480112153891, "lon": -2.3090577021304663, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:17+00:00", "latest_event_start": "2026-09-30T21:32:00+00:00", "latest_event_end": "2026-09-30T21:34:00+00:00", "lta_spills": 49.66666793823242, "spill_hours": 63.23320007324219, "snap_confidence": "high", "distance_km": 6.6, "lake_distance_km": 0.0, "travel_h": 3.7, "weight": 0.237, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.043, 0.004, 0.221], "now_contribution": 0.0}, {"site_id": "WSX10094", "company": "Wessex Water", "site_name": null, "receiving_watercourse": "RIVER AVON", "lat": 51.34602133135539, "lon": -2.2467618487504355, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:17+00:00", "latest_event_start": "2026-06-22T17:22:00+00:00", "latest_event_end": "2026-06-22T17:46:00+00:00", "lta_spills": null, "spill_hours": null, "snap_confidence": "high", "distance_km": 9.4, "lake_distance_km": 0.0, "travel_h": 5.2, "weight": 0.341, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.025, 0.005, 0.133], "now_contribution": 0.0}, {"site_id": "WSX10043", "company": "Wessex Water", "site_name": null, "receiving_watercourse": "RIVER AVON", "lat": 51.34458839235465, "lon": -2.24402623810711, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:17+00:00", "latest_event_start": null, "latest_event_end": null, "lta_spills": null, "spill_hours": null, "snap_confidence": "high", "distance_km": 9.7, "lake_distance_km": 0.0, "travel_h": 5.4, "weight": 0.337, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.025, 0.005, 0.133], "now_contribution": 0.0}, {"site_id": "WSX10008", "company": "Wessex Water", "site_name": null, "receiving_watercourse": "River Avon", "lat": 51.34316708915696, "lon": -2.235548075507326, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:17+00:00", "latest_event_start": null, "latest_event_end": null, "lta_spills": null, "spill_hours": null, "snap_confidence": "high", "distance_km": 10.3, "lake_distance_km": 0.0, "travel_h": 5.7, "weight": 0.328, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.025, 0.005, 0.133], "now_contribution": 0.0}, {"site_id": "WXW00996", "company": "Wessex Water", "site_name": "BRADFORD-ON-AVON MARKET STREET/ SILVER STREET JUNCTION", "receiving_watercourse": "RIVER AVON (VIA SWS)", "lat": 51.34719810763626, "lon": -2.2510670402429795, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:17+00:00", "latest_event_start": "2026-06-22T17:26:00+00:00", "latest_event_end": "2026-06-22T17:56:00+00:00", "lta_spills": 12.428571701049805, "spill_hours": 48.26690673828125, "snap_confidence": "high", "distance_km": 9.1, "lake_distance_km": 0.0, "travel_h": 5.0, "weight": 0.346, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.015, 0.003, 0.112], "now_contribution": 0.0}, {"site_id": "WXW00936", "company": "Wessex Water", "site_name": "RODE STORM TANK", "receiving_watercourse": "SOMERSET FROME(S)", "lat": 51.28973628656941, "lon": -2.282538828925128, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:17+00:00", "latest_event_start": "2026-08-29T14:04:00+00:00", "latest_event_end": "2026-08-29T15:10:00+00:00", "lta_spills": 65.85713958740234, "spill_hours": 522.283447265625, "snap_confidence": "high", "distance_km": 15.2, "lake_distance_km": 0.0, "travel_h": 8.5, "weight": 0.154, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.051, 0.009, 0.243], "now_contribution": 0.0}], "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 20, "sunrise": "07:16", "sunset": "18:37"}, {"date": "2026-10-06", "tmax": 20, "sunrise": "07:17", "sunset": "18:35"}, {"date": "2026-10-07", "tmax": 15, "sunrise": "07:19", "sunset": "18:33"}, {"date": "2026-10-08", "tmax": 14, "sunrise": "07:21", "sunset": "18:31"}, {"date": "2026-10-09", "tmax": 18, "sunrise": "07:22", "sunset": "18:29"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "frome-tellisford-weir", "name": "River Frome, Tellisford Weir", "kind": "river", "river": "River Frome", "source": "curated", "notes": "", "lat": 51.2979, "lon": -2.2808, "query": {"lat": 51.2979, "lon": -2.2808, "issued_at": "2026-10-05T03:13:07.268807+01:00"}, "location": {"mode": "river", "watercourse": "River Frome", "snap_distance_m": 2, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "on river", "snapped": {"lat": 51.2979, "lon": -2.28083}}, "river_state": {"station": "Tellisford", "river": "Somerset Frome", "level_m": 0.505, "typical_low_m": 0.542, "typical_high_m": 3.2, "index": -0.01, "label": "low", "observed_at": "2026-10-05T01:30:00Z", "age_hours": 0.7, "stale": false, "rloi": "3049", "measure": "53120-level-stage-i-15_min-mASD", "distance_km": 1.0, "same_river": true, "rise_6h_m": -0.006, "rise_from": "2026-10-04T20:15:00Z", "rise_to": "2026-10-05T01:30:00Z"}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 36, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.011, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.144}, {"date": "2026-10-06", "risk": 0.012, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.01, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.147}, {"date": "2026-10-07", "risk": 0.143, "label": "low", "expected_spilling_overflows": 0.9, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.143, "rain_48h_mm": 2.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.407}, {"date": "2026-10-08", "risk": 0.065, "label": "low", "expected_spilling_overflows": 0.2, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.065, "rain_48h_mm": 2.4, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.405}, {"date": "2026-10-09", "risk": 0.533, "label": "high", "expected_spilling_overflows": 4.6, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.533, "source": {"site_id": "WXW00936", "site_name": "RODE STORM TANK", "receiving_watercourse": "SOMERSET FROME(S)", "status": 0, "distance_km": 1.0, "lake_distance_km": 0.0, "travel_h": 0.6, "share": 0.328, "spread_over": 13}, "rain_48h_mm": 11.3, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.713}], "upstream_summary": {"overflows": 38, "with_live_feed": 36, "without_live_feed": 2, "sum_weight": 7.165, "history_days": 2, "max_travel_h": 15.4}, "contributors": [{"site_id": "WXW00936", "company": "Wessex Water", "site_name": "RODE STORM TANK", "receiving_watercourse": "SOMERSET FROME(S)", "lat": 51.28973628656941, "lon": -2.282538828925128, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:17+00:00", "latest_event_start": "2026-08-29T14:04:00+00:00", "latest_event_end": "2026-08-29T15:10:00+00:00", "lta_spills": 65.85713958740234, "spill_hours": 522.283447265625, "snap_confidence": "high", "distance_km": 1.0, "lake_distance_km": 0.0, "travel_h": 0.6, "weight": 0.933, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.051, 0.009, 0.243], "now_contribution": 0.0}, {"site_id": "WXW00120", "company": "Wessex Water", "site_name": "BECKINGTON STORM TANK", "receiving_watercourse": "RIVER FROME", "lat": 51.26658909645268, "lon": -2.293428501270845, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:17+00:00", "latest_event_start": "2026-02-18T21:55:00+00:00", "latest_event_end": "2026-02-18T21:56:00+00:00", "lta_spills": 31.33333396911621, "spill_hours": 131.5999755859375, "snap_confidence": "high", "distance_km": 4.7, "lake_distance_km": 0.0, "travel_h": 2.6, "weight": 0.758, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.036, 0.009, 0.165], "now_contribution": 0.0}, {"site_id": "WXW00935", "company": "Wessex Water", "site_name": "RODE BARROW FARM TANK", "receiving_watercourse": "TRIB OF THE RIVER FROME", "lat": 51.286514392967895, "lon": -2.284382684617836, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:17+00:00", "latest_event_start": "2025-12-18T15:50:00+00:00", "latest_event_end": "2025-12-18T15:52:00+00:00", "lta_spills": 4.0, "spill_hours": 7.066693305969238, "snap_confidence": "high", "distance_km": 1.4, "lake_distance_km": 0.0, "travel_h": 0.8, "weight": 0.917, "p_spill_today": 0.001, "p_spill_tomorrow": 0.002, "p_spill_days": [0.001, 0.002, 0.017, 0.005, 0.109], "now_contribution": 0.0}, {"site_id": "WXW00062", "company": "Wessex Water", "site_name": "FROME ADDERWELL CLOSE", "receiving_watercourse": "RIVER FROME (VIA SWS)", "lat": 51.22335859765987, "lon": -2.312891623999638, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:17+00:00", "latest_event_start": "2026-08-31T02:50:00+00:00", "latest_event_end": "2026-08-31T03:10:00+00:00", "lta_spills": 63.0, "spill_hours": 106.76482391357422, "snap_confidence": "high", "distance_km": 13.5, "lake_distance_km": 0.0, "travel_h": 7.5, "weight": 0.185, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.083, 0.011, 0.226], "now_contribution": 0.0}, {"site_id": "WXW00654", "company": "Wessex Water", "site_name": "FROME LOWER KEYFORD", "receiving_watercourse": "TRIB OF RIVER FROME (VIA SWS)", "lat": 51.22248074285668, "lon": -2.3203562382422147, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:17+00:00", "latest_event_start": "2026-08-31T02:58:00+00:00", "latest_event_end": "2026-08-31T03:06:00+00:00", "lta_spills": 61.57143020629883, "spill_hours": 81.19845581054688, "snap_confidence": "high", "distance_km": 13.6, "lake_distance_km": 0.0, "travel_h": 7.6, "weight": 0.184, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.075, 0.008, 0.222], "now_contribution": 0.0}, {"site_id": "WXW01245", "company": "Wessex Water", "site_name": "FROME WHATCOMBE ROAD NO 20", "receiving_watercourse": "RIVER FROME VIA SWS", "lat": 51.23627957291062, "lon": -2.3262001094499616, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:17+00:00", "latest_event_start": "2026-08-31T02:44:00+00:00", "latest_event_end": "2026-08-31T02:48:00+00:00", "lta_spills": 38.0, "spill_hours": 10.232613563537598, "snap_confidence": "high", "distance_km": 10.3, "lake_distance_km": 0.0, "travel_h": 5.7, "weight": 0.284, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.037, 0.01, 0.133], "now_contribution": 0.0}, {"site_id": "WXW00454", "company": "Wessex Water", "site_name": "FROME WELSHMILL LANE STORM TANKS STORM TANK", "receiving_watercourse": "RIVER FROME(S)", "lat": 51.236672874520295, "lon": -2.325772866343715, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:17+00:00", "latest_event_start": "2026-08-29T14:12:00+00:00", "latest_event_end": "2026-08-29T15:02:00+00:00", "lta_spills": 27.0, "spill_hours": 60.09965515136719, "snap_confidence": "high", "distance_km": 10.4, "lake_distance_km": 0.0, "travel_h": 5.8, "weight": 0.284, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.036, 0.007, 0.132], "now_contribution": 0.0}, {"site_id": "WXW01297", "company": "Wessex Water", "site_name": "FROME FARRANT ROAD NEAR YOUTH CENTRE", "receiving_watercourse": "RIVER FROME", "lat": 51.237257527148465, "lon": -2.3287540305315617, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:17+00:00", "latest_event_start": "2026-08-29T13:54:00+00:00", "latest_event_end": "2026-08-29T14:14:00+00:00", "lta_spills": 36.57143020629883, "spill_hours": 6.833653450012207, "snap_confidence": "high", "distance_km": 10.1, "lake_distance_km": 0.0, "travel_h": 5.6, "weight": 0.287, "p_spill_today": 0.001, "p_spill_tomorrow": 0.002, "p_spill_days": [0.001, 0.002, 0.035, 0.005, 0.125], "now_contribution": 0.0}, {"site_id": "WXW00333", "company": "Wessex Water", "site_name": "FROME COURT HOUSE KING STREET", "receiving_watercourse": "RIVER FROME", "lat": 51.23151658696091, "lon": -2.318690206828017, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:17+00:00", "latest_event_start": "2026-08-29T14:00:00+00:00", "latest_event_end": "2026-08-29T14:12:00+00:00", "lta_spills": 28.14285659790039, "spill_hours": 5.566080093383789, "snap_confidence": "high", "distance_km": 11.4, "lake_distance_km": 0.0, "travel_h": 6.4, "weight": 0.271, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.021, 0.007, 0.116], "now_contribution": 0.0}, {"site_id": "WXW01335", "company": "Wessex Water", "site_name": "FROME WELSHMILL LANE INLET 2", "receiving_watercourse": "RIVER FROME(S)", "lat": 51.23675881049178, "lon": -2.3252438000145874, "status": -2, "has_live": false, "data_state": "offline", "feed_updated_at": null, "latest_event_start": null, "latest_event_end": null, "lta_spills": 0.0, "spill_hours": 0.0, "snap_confidence": "high", "distance_km": 10.4, "lake_distance_km": 0.0, "travel_h": 5.8, "weight": 0.283, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.004, 0.002, 0.021], "now_contribution": 0.0}], "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 20, "sunrise": "07:16", "sunset": "18:37"}, {"date": "2026-10-06", "tmax": 20, "sunrise": "07:17", "sunset": "18:35"}, {"date": "2026-10-07", "tmax": 14, "sunrise": "07:19", "sunset": "18:33"}, {"date": "2026-10-08", "tmax": 14, "sunrise": "07:20", "sunset": "18:31"}, {"date": "2026-10-09", "tmax": 18, "sunrise": "07:22", "sunset": "18:29"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "dart-spitchwick", "name": "River Dart, Spitchwick (Deeper Marsh)", "kind": "river", "river": "River Dart", "source": "curated", "notes": "", "lat": 50.5253, "lon": -3.8145, "query": {"lat": 50.5253, "lon": -3.8145, "issued_at": "2026-10-05T03:13:07.637736+01:00"}, "location": {"mode": "river", "watercourse": "River Dart", "snap_distance_m": 14, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "moved to river", "snapped": {"lat": 50.52522, "lon": -3.81464}}, "river_state": {"station": "Austins Bridge", "river": "River Dart", "level_m": 0.311, "typical_low_m": 0.291, "typical_high_m": 1.8, "index": 0.01, "label": "low", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "3216", "measure": "46122-level-stage-i-15_min-m", "distance_km": 6.4, "same_river": true, "rise_6h_m": 0.004, "rise_from": "2026-10-04T20:15:00Z", "rise_to": "2026-10-05T01:45:00Z"}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 3, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.009, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.1, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.146}, {"date": "2026-10-06", "risk": 0.005, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.003, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.121}, {"date": "2026-10-07", "risk": 0.018, "label": "low", "expected_spilling_overflows": 0.4, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.018, "rain_48h_mm": 0.6, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.202}, {"date": "2026-10-08", "risk": 0.03, "label": "low", "expected_spilling_overflows": 0.4, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.03, "rain_48h_mm": 0.6, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.244}, {"date": "2026-10-09", "risk": 0.083, "label": "low", "expected_spilling_overflows": 1.6, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.083, "rain_48h_mm": 7.7, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.501}], "upstream_summary": {"overflows": 3, "with_live_feed": 3, "without_live_feed": 0, "sum_weight": 0.24, "history_days": 2, "max_travel_h": 11.7}, "contributors": [{"site_id": "SBB00985", "company": "South West Water", "site_name": "PRINCETOWN STW_SO_PRINCETOWN", "receiving_watercourse": "BLACKBROOK RIVER(S)", "lat": 50.550137, "lon": -3.981588, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:07:27.150000+00:00", "latest_event_start": "2026-09-30T02:19:05+00:00", "latest_event_end": "2026-09-30T04:04:52+00:00", "lta_spills": 125.75, "spill_hours": 1150.1300048828125, "snap_confidence": "high", "distance_km": 19.0, "lake_distance_km": 0.0, "travel_h": 10.6, "weight": 0.082, "p_spill_today": 0.05, "p_spill_tomorrow": 0.032, "p_spill_days": [0.05, 0.032, 0.174, 0.171, 0.703], "now_contribution": 0.0}, {"site_id": "SBB00119", "company": "South West Water", "site_name": "BLACKBROOK NORTH_CSO_PRINCETOWN", "receiving_watercourse": "BLACK BROOK RIVER (S)", "lat": 50.550797, "lon": -3.990368, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:07:27.150000+00:00", "latest_event_start": "2026-09-30T01:38:05.170000+00:00", "latest_event_end": "2026-09-30T03:26:05.200000+00:00", "lta_spills": 119.75, "spill_hours": 723.1300048828125, "snap_confidence": "high", "distance_km": 21.0, "lake_distance_km": 0.0, "travel_h": 11.7, "weight": 0.076, "p_spill_today": 0.013, "p_spill_tomorrow": 0.008, "p_spill_days": [0.013, 0.008, 0.116, 0.123, 0.545], "now_contribution": 0.0}, {"site_id": "SBB00986", "company": "South West Water", "site_name": "PRINCETOWN STW_SSO_PRINCETOWN", "receiving_watercourse": "BLACKBROOK RIVER(S)", "lat": 50.550137, "lon": -3.981588, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:07:27.150000+00:00", "latest_event_start": "2026-06-06T08:57:51+00:00", "latest_event_end": "2026-06-06T13:58:01+00:00", "lta_spills": 44.25, "spill_hours": 1134.77001953125, "snap_confidence": "high", "distance_km": 19.0, "lake_distance_km": 0.0, "travel_h": 10.6, "weight": 0.082, "p_spill_today": 0.018, "p_spill_tomorrow": 0.016, "p_spill_days": [0.018, 0.016, 0.075, 0.09, 0.39], "now_contribution": 0.0}], "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 20, "sunrise": "07:21", "sunset": "18:44"}, {"date": "2026-10-06", "tmax": 19, "sunrise": "07:23", "sunset": "18:42"}, {"date": "2026-10-07", "tmax": 14, "sunrise": "07:24", "sunset": "18:40"}, {"date": "2026-10-08", "tmax": 13, "sunrise": "07:26", "sunset": "18:38"}, {"date": "2026-10-09", "tmax": 18, "sunrise": "07:27", "sunset": "18:36"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "dart-sharrah-pool", "name": "River Dart, Sharrah Pool", "kind": "river", "river": "River Dart", "source": "curated", "notes": "", "lat": 50.5301, "lon": -3.8401, "query": {"lat": 50.5301, "lon": -3.8401, "issued_at": "2026-10-05T03:13:07.816985+01:00"}, "location": {"mode": "river", "watercourse": "River Dart", "snap_distance_m": 1, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "on river", "snapped": {"lat": 50.5301, "lon": -3.84011}}, "river_state": {"station": "Bellever", "river": "East Dart River", "level_m": 0.457, "typical_low_m": 0.451, "typical_high_m": 1.5, "index": 0.01, "label": "low", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "3215", "measure": "46123-level-2-i-15_min-m", "distance_km": 7.1, "same_river": true, "rise_6h_m": -0.002, "rise_from": "2026-10-04T20:15:00Z", "rise_to": "2026-10-05T01:45:00Z"}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 3, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.01, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.1, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.151}, {"date": "2026-10-06", "risk": 0.006, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.003, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.126}, {"date": "2026-10-07", "risk": 0.024, "label": "low", "expected_spilling_overflows": 0.4, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.024, "rain_48h_mm": 0.6, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.216}, {"date": "2026-10-08", "risk": 0.036, "label": "low", "expected_spilling_overflows": 0.4, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.036, "rain_48h_mm": 0.6, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.254}, {"date": "2026-10-09", "risk": 0.109, "label": "low", "expected_spilling_overflows": 1.6, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.109, "rain_48h_mm": 7.7, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.522}], "upstream_summary": {"overflows": 3, "with_live_feed": 3, "without_live_feed": 0, "sum_weight": 0.29, "history_days": 2, "max_travel_h": 9.7}, "contributors": [{"site_id": "SBB00985", "company": "South West Water", "site_name": "PRINCETOWN STW_SO_PRINCETOWN", "receiving_watercourse": "BLACKBROOK RIVER(S)", "lat": 50.550137, "lon": -3.981588, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:07:27.150000+00:00", "latest_event_start": "2026-09-30T02:19:05+00:00", "latest_event_end": "2026-09-30T04:04:52+00:00", "lta_spills": 125.75, "spill_hours": 1150.1300048828125, "snap_confidence": "high", "distance_km": 15.5, "lake_distance_km": 0.0, "travel_h": 8.6, "weight": 0.099, "p_spill_today": 0.05, "p_spill_tomorrow": 0.032, "p_spill_days": [0.05, 0.032, 0.174, 0.171, 0.703], "now_contribution": 0.0}, {"site_id": "SBB00119", "company": "South West Water", "site_name": "BLACKBROOK NORTH_CSO_PRINCETOWN", "receiving_watercourse": "BLACK BROOK RIVER (S)", "lat": 50.550797, "lon": -3.990368, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:07:27.150000+00:00", "latest_event_start": "2026-09-30T01:38:05.170000+00:00", "latest_event_end": "2026-09-30T03:26:05.200000+00:00", "lta_spills": 119.75, "spill_hours": 723.1300048828125, "snap_confidence": "high", "distance_km": 17.5, "lake_distance_km": 0.0, "travel_h": 9.7, "weight": 0.091, "p_spill_today": 0.013, "p_spill_tomorrow": 0.008, "p_spill_days": [0.013, 0.008, 0.116, 0.123, 0.545], "now_contribution": 0.0}, {"site_id": "SBB00986", "company": "South West Water", "site_name": "PRINCETOWN STW_SSO_PRINCETOWN", "receiving_watercourse": "BLACKBROOK RIVER(S)", "lat": 50.550137, "lon": -3.981588, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:07:27.150000+00:00", "latest_event_start": "2026-06-06T08:57:51+00:00", "latest_event_end": "2026-06-06T13:58:01+00:00", "lta_spills": 44.25, "spill_hours": 1134.77001953125, "snap_confidence": "high", "distance_km": 15.5, "lake_distance_km": 0.0, "travel_h": 8.6, "weight": 0.099, "p_spill_today": 0.018, "p_spill_tomorrow": 0.016, "p_spill_days": [0.018, 0.016, 0.075, 0.09, 0.39], "now_contribution": 0.0}], "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 18, "sunrise": "07:21", "sunset": "18:44"}, {"date": "2026-10-06", "tmax": 18, "sunrise": "07:23", "sunset": "18:42"}, {"date": "2026-10-07", "tmax": 14, "sunrise": "07:24", "sunset": "18:40"}, {"date": "2026-10-08", "tmax": 12, "sunrise": "07:26", "sunset": "18:38"}, {"date": "2026-10-09", "tmax": 17, "sunrise": "07:28", "sunset": "18:36"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "plym-cadover-bridge", "name": "River Plym, Cadover Bridge", "kind": "river", "river": "River Plym", "source": "curated", "notes": "", "lat": 50.464, "lon": -4.028, "query": {"lat": 50.464, "lon": -4.028, "issued_at": "2026-10-05T03:13:07.988921+01:00"}, "location": {"mode": "river", "watercourse": "River Plym", "snap_distance_m": 126, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "on river", "snapped": {"lat": 50.46323, "lon": -4.02929}}, "river_state": {"station": "Carnwood", "river": "River Plym", "level_m": 0.179, "typical_low_m": 0.164, "typical_high_m": 1.6, "index": 0.01, "label": "low", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "3197", "measure": "47121-level-stage-i-15_min-m", "distance_km": 5.3, "same_river": true}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 0, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.089}, {"date": "2026-10-06", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.079}, {"date": "2026-10-07", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 1.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.112}, {"date": "2026-10-08", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 1.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.126}, {"date": "2026-10-09", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 20.1, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.317}], "upstream_summary": {"overflows": 0, "with_live_feed": 0, "without_live_feed": 0, "sum_weight": 0.0, "history_days": 1, "max_travel_h": 0.0}, "contributors": [], "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 17, "sunrise": "07:22", "sunset": "18:45"}, {"date": "2026-10-06", "tmax": 18, "sunrise": "07:24", "sunset": "18:43"}, {"date": "2026-10-07", "tmax": 14, "sunrise": "07:25", "sunset": "18:41"}, {"date": "2026-10-08", "tmax": 12, "sunrise": "07:27", "sunset": "18:39"}, {"date": "2026-10-09", "tmax": 16, "sunrise": "07:28", "sunset": "18:37"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "teign-fingle-bridge", "name": "River Teign, Fingle Bridge", "kind": "river", "river": "River Teign", "source": "curated", "notes": "", "lat": 50.696, "lon": -3.778, "query": {"lat": 50.696, "lon": -3.778, "issued_at": "2026-10-05T03:13:08.067904+01:00"}, "location": {"mode": "river", "watercourse": "River Teign", "snap_distance_m": 145, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "on river", "snapped": {"lat": 50.69503, "lon": -3.77937}}, "river_state": {"station": "Chagford Drogo Iron Bridge", "river": "River Teign", "level_m": 1.133, "typical_low_m": 1.279, "typical_high_m": 2.1, "index": -0.18, "label": "low", "observed_at": "2026-10-05T01:30:00Z", "age_hours": 0.7, "stale": false, "rloi": "9459", "measure": "E84409-level-stage-i-15_min-mASD", "distance_km": 2.4, "same_river": true, "rise_6h_m": -0.002, "rise_from": "2026-10-04T20:15:00Z", "rise_to": "2026-10-05T01:30:00Z"}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 9, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.002, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 1.6, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.178}, {"date": "2026-10-06", "risk": 0.003, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.003, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.104}, {"date": "2026-10-07", "risk": 0.02, "label": "low", "expected_spilling_overflows": 0.2, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.02, "rain_48h_mm": 1.5, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.248}, {"date": "2026-10-08", "risk": 0.032, "label": "low", "expected_spilling_overflows": 0.2, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.032, "rain_48h_mm": 1.5, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.313}, {"date": "2026-10-09", "risk": 0.172, "label": "moderate", "expected_spilling_overflows": 1.4, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.172, "source": {"site_id": "SBB00227", "site_name": "CHAGFORD MAIN STW_SSO_CHAGFORD", "receiving_watercourse": "RIVER TEIGN", "status": 0, "distance_km": 5.9, "lake_distance_km": 0.0, "travel_h": 3.3, "share": 0.604, "spread_over": 5}, "rain_48h_mm": 14.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.633}], "upstream_summary": {"overflows": 9, "with_live_feed": 9, "without_live_feed": 0, "sum_weight": 1.378, "history_days": 2, "max_travel_h": 6.9}, "contributors": [{"site_id": "SBB00227", "company": "South West Water", "site_name": "CHAGFORD MAIN STW_SSO_CHAGFORD", "receiving_watercourse": "RIVER TEIGN", "lat": 50.678637, "lon": -3.840354, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:07:27.150000+00:00", "latest_event_start": "2026-07-16T14:07:50.420000+00:00", "latest_event_end": "2026-07-16T14:08:00.420000+00:00", "lta_spills": 52.75, "spill_hours": 336.04998779296875, "snap_confidence": "high", "distance_km": 5.9, "lake_distance_km": 0.0, "travel_h": 3.3, "weight": 0.493, "p_spill_today": 0.002, "p_spill_tomorrow": 0.003, "p_spill_days": [0.002, 0.003, 0.027, 0.043, 0.246], "now_contribution": 0.0}, {"site_id": "SBB01410", "company": "South West Water", "site_name": "SEWER TRACK_CSO_CHAGFORD", "receiving_watercourse": "RIVER TEIGN", "lat": 50.675685, "lon": -3.840493, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:07:27.150000+00:00", "latest_event_start": "2026-02-27T21:22:05.170000+00:00", "latest_event_end": "2026-02-27T21:24:05.170000+00:00", "lta_spills": 0.3333333432674408, "spill_hours": 0.07999999821186066, "snap_confidence": "high", "distance_km": 6.2, "lake_distance_km": 0.0, "travel_h": 3.5, "weight": 0.486, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.001, 0.002, 0.009], "now_contribution": 0.0}, {"site_id": "SBB00376", "company": "South West Water", "site_name": "DREWSTEIGNTON STW_SO_CHAGFORD", "receiving_watercourse": "FINGLE BROOK", "lat": 50.709208, "lon": -3.788861, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:07:27.150000+00:00", "latest_event_start": "2026-09-30T13:12:41+00:00", "latest_event_end": "2026-09-30T13:16:01+00:00", "lta_spills": 93.75, "spill_hours": 70.41000366210938, "snap_confidence": "high", "distance_km": 2.5, "lake_distance_km": 0.0, "travel_h": 1.4, "weight": 0.11, "p_spill_today": 0.002, "p_spill_tomorrow": 0.003, "p_spill_days": [0.002, 0.003, 0.04, 0.058, 0.342], "now_contribution": 0.0}, {"site_id": "SBB00517", "company": "South West Water", "site_name": "GREENACRES_CSO_CHAGFORD", "receiving_watercourse": "TRIB OF THE RIVER TEIGN", "lat": 50.672344, "lon": -3.84591, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:07:27.150000+00:00", "latest_event_start": "2026-09-30T02:54:05.200000+00:00", "latest_event_end": "2026-09-30T03:28:05.200000+00:00", "lta_spills": 115.42857360839844, "spill_hours": 1651.27001953125, "snap_confidence": "high", "distance_km": 7.0, "lake_distance_km": 0.0, "travel_h": 3.9, "weight": 0.053, "p_spill_today": 0.003, "p_spill_tomorrow": 0.006, "p_spill_days": [0.003, 0.006, 0.033, 0.043, 0.26], "now_contribution": 0.0}, {"site_id": "SBB01243", "company": "South West Water", "site_name": "THROWLEIGH STW_SO_THROWLEIGH", "receiving_watercourse": "UNNAMED WATERCOURSE(S)", "lat": 50.699471, "lon": -3.876147, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:07:27.150000+00:00", "latest_event_start": "2026-06-09T16:56:51+00:00", "latest_event_end": "2026-06-09T16:59:20+00:00", "lta_spills": 24.75, "spill_hours": 56.560001373291016, "snap_confidence": "high", "distance_km": 12.4, "lake_distance_km": 0.0, "travel_h": 6.9, "weight": 0.038, "p_spill_today": 0.002, "p_spill_tomorrow": 0.003, "p_spill_days": [0.002, 0.003, 0.019, 0.019, 0.239], "now_contribution": 0.0}, {"site_id": "SBB00225", "company": "South West Water", "site_name": "CHAGFORD FIRE 1_CSO_CHAGFORD", "receiving_watercourse": "TRIB OF RIVER TEIGN", "lat": 50.67585, "lon": -3.834583, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:07:27.150000+00:00", "latest_event_start": "2026-08-30T16:08:05.170000+00:00", "latest_event_end": "2026-08-30T16:10:05.170000+00:00", "lta_spills": 28.714284896850586, "spill_hours": 29.59000015258789, "snap_confidence": "high", "distance_km": 5.6, "lake_distance_km": 0.0, "travel_h": 3.1, "weight": 0.05, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.017, 0.027, 0.16], "now_contribution": 0.0}, {"site_id": "SBB00226", "company": "South West Water", "site_name": "CHAGFORD FIRE 2_CSO_CHAGFORD", "receiving_watercourse": "TRIB OF THE RIVER TEIGN", "lat": 50.676309, "lon": -3.834035, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:07:27.150000+00:00", "latest_event_start": "2026-08-27T04:34:05.200000+00:00", "latest_event_end": "2026-08-27T04:36:05.200000+00:00", "lta_spills": 30.0, "spill_hours": 3.7699999809265137, "snap_confidence": "high", "distance_km": 5.6, "lake_distance_km": 0.0, "travel_h": 3.1, "weight": 0.05, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.009, 0.018, 0.139], "now_contribution": 0.0}, {"site_id": "SBB00046", "company": "South West Water", "site_name": "BROOMHILL SPS_PSCSOEO_CHAGFORD", "receiving_watercourse": "RIVER TEIGN (S)", "lat": 50.679052, "lon": -3.831169, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:07:27.150000+00:00", "latest_event_start": "2024-11-24T09:08:41+00:00", "latest_event_end": "2024-11-24T23:29:22+00:00", "lta_spills": 0.75, "spill_hours": 0.0, "snap_confidence": "high", "distance_km": 5.3, "lake_distance_km": 0.0, "travel_h": 2.9, "weight": 0.051, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.001, 0.001, 0.005], "now_contribution": 0.0}, {"site_id": "SBB00759", "company": "South West Water", "site_name": "MELDON RD_CSO_CHAGFORD", "receiving_watercourse": "RIVER TEIGN (S)", "lat": 50.67005, "lon": -3.843131, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:07:27.150000+00:00", "latest_event_start": "2026-07-20T09:03:48.100000+00:00", "latest_event_end": "2026-07-20T09:03:50.100000+00:00", "lta_spills": 6.0, "spill_hours": 3.5299999713897705, "snap_confidence": "high", "distance_km": 7.4, "lake_distance_km": 0.0, "travel_h": 4.1, "weight": 0.047, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.002, 0.004, 0.046], "now_contribution": 0.0}], "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 19, "sunrise": "07:21", "sunset": "18:44"}, {"date": "2026-10-06", "tmax": 18, "sunrise": "07:23", "sunset": "18:42"}, {"date": "2026-10-07", "tmax": 14, "sunrise": "07:24", "sunset": "18:40"}, {"date": "2026-10-08", "tmax": 13, "sunrise": "07:26", "sunset": "18:37"}, {"date": "2026-10-09", "tmax": 16, "sunrise": "07:28", "sunset": "18:35"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "barle-tarr-steps", "name": "River Barle, Tarr Steps", "kind": "river", "river": "River Barle", "source": "curated", "notes": "", "lat": 51.077, "lon": -3.618, "query": {"lat": 51.077, "lon": -3.618, "issued_at": "2026-10-05T03:13:08.275932+01:00"}, "location": {"mode": "river", "watercourse": "River Barle", "snap_distance_m": 24, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "on river", "snapped": {"lat": 51.07716, "lon": -3.61775}}, "river_state": {"station": "Brushford", "river": "River Barle", "level_m": 0.247, "typical_low_m": 0.179, "typical_high_m": 1.5, "index": 0.05, "label": "low", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "3257", "measure": "45121-level-stage-i-15_min-mASD", "distance_km": 8.6, "same_river": true, "rise_6h_m": -0.001, "rise_from": "2026-10-04T20:15:00Z", "rise_to": "2026-10-05T01:45:00Z"}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 0, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.079}, {"date": "2026-10-06", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.079}, {"date": "2026-10-07", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 3.9, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.171}, {"date": "2026-10-08", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 4.1, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.22}, {"date": "2026-10-09", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 16.3, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.294}], "upstream_summary": {"overflows": 0, "with_live_feed": 0, "without_live_feed": 0, "sum_weight": 0.0, "history_days": 1, "max_travel_h": 0.0}, "contributors": [], "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 17, "sunrise": "07:21", "sunset": "18:43"}, {"date": "2026-10-06", "tmax": 18, "sunrise": "07:22", "sunset": "18:41"}, {"date": "2026-10-07", "tmax": 14, "sunrise": "07:24", "sunset": "18:39"}, {"date": "2026-10-08", "tmax": 12, "sunrise": "07:26", "sunset": "18:36"}, {"date": "2026-10-09", "tmax": 15, "sunrise": "07:27", "sunset": "18:34"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "cam-grantchester", "name": "River Cam, Grantchester Meadows", "kind": "river", "river": "River Cam", "source": "curated", "notes": "", "lat": 52.1874, "lon": 0.1021, "query": {"lat": 52.1874, "lon": 0.1021, "issued_at": "2026-10-05T03:13:08.355708+01:00"}, "location": {"mode": "river", "watercourse": "River Cam", "snap_distance_m": 1, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "on river", "snapped": {"lat": 52.1874, "lon": 0.10209}}, "river_state": {"station": "Cambridge Jesus Lock", "river": "River Cam", "level_m": 0.72, "typical_low_m": 0.637, "typical_high_m": 0.74, "index": 0.81, "label": "high", "observed_at": "2026-10-05T01:00:00Z", "age_hours": 1.2, "stale": false, "rloi": "6192", "measure": "E60501-level-stage-i-15_min-mASD", "distance_km": 3.1, "same_river": true, "rise_6h_m": 0.001, "rise_from": "2026-10-04T20:15:00Z", "rise_to": "2026-10-05T01:00:00Z"}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 21, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.004, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.111}, {"date": "2026-10-06", "risk": 0.005, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.004, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.117}, {"date": "2026-10-07", "risk": 0.15, "label": "low", "expected_spilling_overflows": 2.3, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.15, "rain_48h_mm": 3.8, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.465}, {"date": "2026-10-08", "risk": 0.07, "label": "low", "expected_spilling_overflows": 0.3, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.07, "rain_48h_mm": 8.1, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.521}, {"date": "2026-10-09", "risk": 0.133, "label": "low", "expected_spilling_overflows": 1.5, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.133, "rain_48h_mm": 9.7, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.591}], "upstream_summary": {"overflows": 22, "with_live_feed": 21, "without_live_feed": 1, "sum_weight": 1.127, "history_days": 2, "max_travel_h": 20.8}, "contributors": [{"site_id": "AWS01557", "company": "Anglian Water", "site_name": "Foxton WRC (Cambs)", "receiving_watercourse": "River Rhee", "lat": 52.126589, "lon": 0.045763557, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-02-25T15:08:37+00:00", "latest_event_end": "2026-02-25T15:38:40+00:00", "lta_spills": 145.0, "spill_hours": 1644.5, "snap_confidence": "high", "distance_km": 10.9, "lake_distance_km": 0.0, "travel_h": 6.1, "weight": 0.225, "p_spill_today": 0.011, "p_spill_tomorrow": 0.015, "p_spill_days": [0.011, 0.015, 0.351, 0.092, 0.276], "now_contribution": 0.0}, {"site_id": "AWS00569", "company": "Anglian Water", "site_name": "HASLINGFIELD-STW", "receiving_watercourse": "River Rhee NT", "lat": 52.158877, "lon": 0.081309135, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-08-29T19:19:44+00:00", "latest_event_end": "2026-08-29T19:20:05+00:00", "lta_spills": 83.83000183105469, "spill_hours": 383.25, "snap_confidence": "high", "distance_km": 4.2, "lake_distance_km": 0.0, "travel_h": 2.3, "weight": 0.333, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.235, 0.025, 0.215], "now_contribution": 0.0}, {"site_id": "AWS00056", "company": "Anglian Water", "site_name": "BARRINGTON-SLID LA #2 OV", "receiving_watercourse": "Trib River Rhee", "lat": 52.12706, "lon": 0.039356819, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-09-27T23:02:30+00:00", "latest_event_end": "2026-09-27T23:07:41+00:00", "lta_spills": 39.0, "spill_hours": 15.75, "snap_confidence": "high", "distance_km": 11.4, "lake_distance_km": 0.0, "travel_h": 6.3, "weight": 0.19, "p_spill_today": 0.002, "p_spill_tomorrow": 0.003, "p_spill_days": [0.002, 0.003, 0.122, 0.026, 0.097], "now_contribution": 0.0}, {"site_id": "AWS00489", "company": "Anglian Water", "site_name": "GREAT CHESTERFORD STW", "receiving_watercourse": "River Cam", "lat": 52.073832, "lon": 0.1846064, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-09-07T05:23:17+00:00", "latest_event_end": "2026-09-07T05:55:21+00:00", "lta_spills": 2.3299999237060547, "spill_hours": 0.5, "snap_confidence": "high", "distance_km": 22.1, "lake_distance_km": 0.0, "travel_h": 12.3, "weight": 0.084, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.011, 0.001, 0.003], "now_contribution": 0.0}, {"site_id": "AWS00022", "company": "Anglian Water", "site_name": "Arrington Water Recycling Centre", "receiving_watercourse": "Trib River Cam", "lat": 52.130107, "lon": -0.061317504, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-08-27T08:29:57+00:00", "latest_event_end": "2026-08-27T08:33:42+00:00", "lta_spills": 18.829999923706055, "spill_hours": 6.25, "snap_confidence": "medium", "distance_km": 20.7, "lake_distance_km": 0.0, "travel_h": 11.5, "weight": 0.065, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.037, 0.003, 0.041], "now_contribution": 0.0}, {"site_id": "AWS00747", "company": "Anglian Water", "site_name": "LT CHESTERFORD-TPS", "receiving_watercourse": "R Cam", "lat": 52.053907, "lon": 0.20668038, "status": -1, "has_live": true, "data_state": "offline", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-08-27T18:06:31+00:00", "latest_event_end": "2026-08-27T18:32:38+00:00", "lta_spills": 8.0, "spill_hours": 0.0, "snap_confidence": "high", "distance_km": 25.9, "lake_distance_km": 0.0, "travel_h": 14.4, "weight": 0.062, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.056, 0.004, 0.016], "now_contribution": 0.0}, {"site_id": "AWS00739", "company": "Anglian Water", "site_name": "LINTON STW", "receiving_watercourse": "River Granta NT", "lat": 52.107356, "lon": 0.26174622, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-09-13T04:19:21+00:00", "latest_event_end": "2026-09-13T04:35:37+00:00", "lta_spills": 11.5, "spill_hours": 20.5, "snap_confidence": "high", "distance_km": 21.8, "lake_distance_km": 0.0, "travel_h": 12.1, "weight": 0.036, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.101, 0.004, 0.048], "now_contribution": 0.0}, {"site_id": "AWS00738", "company": "Anglian Water", "site_name": "LINTON-RECREATION GROUND TPS", "receiving_watercourse": "River Granta", "lat": 52.099849, "lon": 0.27333951, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-08-24T13:44:27+00:00", "latest_event_end": "2026-08-24T13:48:43+00:00", "lta_spills": 1.0, "spill_hours": 0.5, "snap_confidence": "high", "distance_km": 23.3, "lake_distance_km": 0.0, "travel_h": 12.9, "weight": 0.034, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.01, 0.002, 0.003], "now_contribution": 0.0}, {"site_id": "AWS00050", "company": "Anglian Water", "site_name": "BARLEY STW", "receiving_watercourse": "TRIB OF FOWLMERE STREAM", "lat": 52.032888, "lon": 0.046002718, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-10-01T13:50:15+00:00", "latest_event_end": "2026-10-01T13:55:40+00:00", "lta_spills": 24.0, "spill_hours": 36.766666412353516, "snap_confidence": "high", "distance_km": 25.5, "lake_distance_km": 0.0, "travel_h": 14.2, "weight": 0.006, "p_spill_today": 0.001, "p_spill_tomorrow": 0.002, "p_spill_days": [0.001, 0.002, 0.295, 0.015, 0.08], "now_contribution": 0.0}, {"site_id": "AWS00833", "company": "Anglian Water", "site_name": "MELBOURN STW", "receiving_watercourse": "MEL BROOK LEADING TO R RHEE", "lat": 52.093368, "lon": 0.011542187, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-10-02T08:47:11+00:00", "latest_event_end": "2026-10-02T08:47:33+00:00", "lta_spills": 61.83000183105469, "spill_hours": 58.75, "snap_confidence": "high", "distance_km": 17.4, "lake_distance_km": 0.0, "travel_h": 9.7, "weight": 0.008, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.187, 0.023, 0.138], "now_contribution": 0.0}], "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 22, "sunrise": "07:07", "sunset": "18:27"}, {"date": "2026-10-06", "tmax": 21, "sunrise": "07:08", "sunset": "18:25"}, {"date": "2026-10-07", "tmax": 16, "sunrise": "07:10", "sunset": "18:23"}, {"date": "2026-10-08", "tmax": 14, "sunrise": "07:12", "sunset": "18:20"}, {"date": "2026-10-09", "tmax": 17, "sunrise": "07:14", "sunset": "18:18"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "great-ouse-houghton", "name": "River Great Ouse, Houghton Mill", "kind": "river", "river": "River Great Ouse", "source": "curated", "notes": "", "lat": 52.3283, "lon": -0.1143, "query": {"lat": 52.3283, "lon": -0.1143, "issued_at": "2026-10-05T03:13:08.700421+01:00"}, "location": {"mode": "river", "watercourse": "River Great Ouse", "snap_distance_m": 177, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": true, "placement": "on river", "snapped": {"lat": 52.32751, "lon": -0.11656}}, "river_state": {"station": "Houghton", "river": "River Great Ouse", "level_m": 0.251, "typical_low_m": 0.256, "typical_high_m": 0.452, "index": -0.03, "label": "low", "observed_at": "2026-10-05T01:00:00Z", "age_hours": 1.2, "stale": false, "rloi": "6176", "measure": "E21163-level-stage-i-15_min-mASD", "distance_km": 0.5, "same_river": true, "rise_6h_m": -0.019, "rise_from": "2026-10-04T20:15:00Z", "rise_to": "2026-10-05T01:00:00Z"}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 43, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.005, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.116}, {"date": "2026-10-06", "risk": 0.005, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.004, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.118}, {"date": "2026-10-07", "risk": 0.103, "label": "low", "expected_spilling_overflows": 2.2, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.103, "rain_48h_mm": 1.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.334}, {"date": "2026-10-08", "risk": 0.04, "label": "low", "expected_spilling_overflows": 0.3, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.04, "rain_48h_mm": 4.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.391}, {"date": "2026-10-09", "risk": 0.151, "label": "moderate", "expected_spilling_overflows": 3.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.151, "source": {"site_id": "AWS00564", "site_name": "Hartford Road Combined Sewer Overflow", "receiving_watercourse": "RIVER GREAT OUSE", "status": 0, "distance_km": 4.6, "lake_distance_km": 0.0, "travel_h": 2.5, "share": 0.513, "spread_over": 4}, "rain_48h_mm": 9.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.584}], "upstream_summary": {"overflows": 44, "with_live_feed": 43, "without_live_feed": 1, "sum_weight": 3.511, "history_days": 3, "max_travel_h": 30.9}, "contributors": [{"site_id": "AWS00631", "company": "Anglian Water", "site_name": "HUNTINGDON (GODMANCHESTER) STW", "receiving_watercourse": "Bedford Ouse NT", "lat": 52.334115, "lon": -0.14458353, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-02-20T23:34:09+00:00", "latest_event_end": "2026-02-20T23:38:33+00:00", "lta_spills": 22.0, "spill_hours": 43.5, "snap_confidence": "high", "distance_km": 2.1, "lake_distance_km": 0.0, "travel_h": 1.2, "weight": 0.909, "p_spill_today": 0.001, "p_spill_tomorrow": 0.002, "p_spill_days": [0.001, 0.002, 0.039, 0.006, 0.063], "now_contribution": 0.0}, {"site_id": "AWS00564", "company": "Anglian Water", "site_name": "Hartford Road Combined Sewer Overflow", "receiving_watercourse": "RIVER GREAT OUSE", "lat": 52.330084, "lon": -0.17439812, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-09-13T05:33:48+00:00", "latest_event_end": "2026-09-13T05:34:57+00:00", "lta_spills": 44.0, "spill_hours": 30.33333396911621, "snap_confidence": "high", "distance_km": 4.6, "lake_distance_km": 0.0, "travel_h": 2.5, "weight": 0.81, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.079, 0.009, 0.11], "now_contribution": 0.0}, {"site_id": "AWS01575", "company": "Anglian Water", "site_name": "Huntingdon Sapley Rd CSO", "receiving_watercourse": "River Great Ouse", "lat": 52.336585, "lon": -0.15764662, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-05-26T20:59:00+00:00", "latest_event_end": "2026-05-26T21:43:00+00:00", "lta_spills": 0.0, "spill_hours": 0.0, "snap_confidence": "high", "distance_km": 3.1, "lake_distance_km": 0.0, "travel_h": 1.7, "weight": 0.865, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.003, 0.001, 0.005], "now_contribution": 0.0}, {"site_id": "AWS01259", "company": "Anglian Water", "site_name": "ST NEOTS STW", "receiving_watercourse": "River Ouse", "lat": 52.243591, "lon": -0.25435171, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-07-02T08:22:37+00:00", "latest_event_end": "2026-07-02T08:24:20+00:00", "lta_spills": 5.329999923706055, "spill_hours": 1.6333333253860474, "snap_confidence": "high", "distance_km": 18.5, "lake_distance_km": 0.0, "travel_h": 10.3, "weight": 0.227, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.01, 0.004, 0.015], "now_contribution": 0.0}, {"site_id": "AWS01258", "company": "Anglian Water", "site_name": "St. Neots - Market Square CSO", "receiving_watercourse": "River Great Ouse", "lat": 52.227074, "lon": -0.2720429, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-09-23T20:27:52+00:00", "latest_event_end": "2026-09-23T20:32:31+00:00", "lta_spills": 27.139999389648438, "spill_hours": 1.399999976158142, "snap_confidence": "high", "distance_km": 21.1, "lake_distance_km": 0.0, "travel_h": 11.7, "weight": 0.202, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.036, 0.003, 0.045], "now_contribution": 0.0}, {"site_id": "AWS00124", "company": "Anglian Water", "site_name": "BRAMPTON PS", "receiving_watercourse": "Brampton Brook", "lat": 52.329006, "lon": -0.24082082, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2025-07-26T15:22:45+00:00", "latest_event_end": "2025-07-26T15:23:16+00:00", "lta_spills": 0.5, "spill_hours": 0.0, "snap_confidence": "high", "distance_km": 9.5, "lake_distance_km": 0.0, "travel_h": 5.3, "weight": 0.139, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.002, 0.001, 0.003], "now_contribution": 0.0}, {"site_id": "AWS00678", "company": "Anglian Water", "site_name": "KIMBOLTON STW", "receiving_watercourse": "RIVER KYM", "lat": 52.275234, "lon": -0.36441963, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-08-29T17:13:35+00:00", "latest_event_end": "2026-08-29T20:24:00+00:00", "lta_spills": 69.75, "spill_hours": 221.26666259765625, "snap_confidence": "high", "distance_km": 32.6, "lake_distance_km": 0.0, "travel_h": 18.1, "weight": 0.03, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.153, 0.012, 0.19], "now_contribution": 0.0}, {"site_id": "AWS01310", "company": "Anglian Water", "site_name": "HAIL WESTON-FORD END TPS", "receiving_watercourse": "River Kym", "lat": 52.246524, "lon": -0.29072563, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-08-29T15:31:02+00:00", "latest_event_end": "2026-08-29T16:51:34+00:00", "lta_spills": 13.0, "spill_hours": 15.25, "snap_confidence": "high", "distance_km": 23.6, "lake_distance_km": 0.0, "travel_h": 13.1, "weight": 0.055, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.023, 0.004, 0.032], "now_contribution": 0.0}, {"site_id": "AWS01359", "company": "Anglian Water", "site_name": "GREAT STAUGHTON-CAUSEWAY TPS", "receiving_watercourse": "River Kym", "lat": 52.268019, "lon": -0.34988336, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-08-29T15:49:56+00:00", "latest_event_end": "2026-08-29T20:22:15+00:00", "lta_spills": 53.66999816894531, "spill_hours": 288.25, "snap_confidence": "high", "distance_km": 30.6, "lake_distance_km": 0.0, "travel_h": 17.0, "weight": 0.035, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.074, 0.009, 0.115], "now_contribution": 0.0}, {"site_id": "AWS00164", "company": "Anglian Water", "site_name": "BUCKDEN STW", "receiving_watercourse": "TRIBUTARY OF DIDDINGTON BROOK", "lat": 52.288498, "lon": -0.24252862, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-10-01T21:21:13+00:00", "latest_event_end": "2026-10-01T21:37:25+00:00", "lta_spills": 116.0, "spill_hours": 730.7333374023438, "snap_confidence": "high", "distance_km": 14.0, "lake_distance_km": 0.0, "travel_h": 7.8, "weight": 0.014, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.183, 0.021, 0.246], "now_contribution": 0.0}], "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 22, "sunrise": "07:08", "sunset": "18:28"}, {"date": "2026-10-06", "tmax": 21, "sunrise": "07:09", "sunset": "18:26"}, {"date": "2026-10-07", "tmax": 16, "sunrise": "07:11", "sunset": "18:23"}, {"date": "2026-10-08", "tmax": 14, "sunrise": "07:13", "sunset": "18:21"}, {"date": "2026-10-09", "tmax": 18, "sunrise": "07:15", "sunset": "18:19"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "waveney-outney-common", "name": "River Waveney, Outney Common, Bungay", "kind": "river", "river": "River Waveney", "source": "curated", "notes": "", "lat": 52.459, "lon": 1.43, "query": {"lat": 52.459, "lon": 1.43, "issued_at": "2026-10-05T03:13:09.267785+01:00"}, "location": {"mode": "river", "watercourse": "River Waveney", "snap_distance_m": 208, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "on river", "snapped": {"lat": 52.4572, "lon": 1.42917}}, "river_state": {"station": "Beccles Quay", "river": "River Waveney", "level_m": 0.206, "typical_low_m": 0.0, "typical_high_m": 1.1, "index": 0.19, "label": "normal", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "6204", "measure": "E27431-level-tidal_level-i-15_min-mAOD", "distance_km": 9.1, "same_river": true, "rise_6h_m": -0.236, "rise_from": "2026-10-04T20:15:00Z", "rise_to": "2026-10-05T01:45:00Z"}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 24, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.002, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.099}, {"date": "2026-10-06", "risk": 0.002, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.002, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.098}, {"date": "2026-10-07", "risk": 0.079, "label": "low", "expected_spilling_overflows": 1.4, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.079, "rain_48h_mm": 6.1, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.468}, {"date": "2026-10-08", "risk": 0.02, "label": "low", "expected_spilling_overflows": 0.2, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.02, "rain_48h_mm": 14.6, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.5}, {"date": "2026-10-09", "risk": 0.041, "label": "low", "expected_spilling_overflows": 0.9, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.041, "rain_48h_mm": 11.9, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.556}], "upstream_summary": {"overflows": 24, "with_live_feed": 24, "without_live_feed": 0, "sum_weight": 2.256, "history_days": 3, "max_travel_h": 27.3}, "contributors": [{"site_id": "AWS00373", "company": "Anglian Water", "site_name": "BUNGAY-EARSHAM STREET SSO", "receiving_watercourse": "River Waveney", "lat": 52.455813, "lon": 1.4332327, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2025-11-01T04:57:49+00:00", "latest_event_end": "2025-11-01T05:01:38+00:00", "lta_spills": 17.170000076293945, "spill_hours": 1.0, "snap_confidence": "high", "distance_km": 0.3, "lake_distance_km": 0.0, "travel_h": 0.2, "weight": 0.98, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.045, 0.003, 0.021], "now_contribution": 0.0}, {"site_id": "AWS00173", "company": "Anglian Water", "site_name": "BUNGAY-BOYSCOTT LA SP", "receiving_watercourse": "WOLDS DYKE, R WAVENEY", "lat": 52.449382, "lon": 1.4378843, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-09-20T18:23:50+00:00", "latest_event_end": "2026-09-20T18:33:16+00:00", "lta_spills": 13.0, "spill_hours": 0.0, "snap_confidence": "high", "distance_km": 1.1, "lake_distance_km": 0.0, "travel_h": 0.6, "weight": 0.947, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.033, 0.005, 0.019], "now_contribution": 0.0}, {"site_id": "AWS00421", "company": "Anglian Water", "site_name": "EYE-KINGS BR LOWGATE ST TPS", "receiving_watercourse": "THE RIVER DOVE", "lat": 52.317753, "lon": 1.1494014, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-09-12T18:06:48+00:00", "latest_event_end": "2026-09-12T18:06:48+00:00", "lta_spills": 0.0, "spill_hours": 0.0, "snap_confidence": "high", "distance_km": 34.9, "lake_distance_km": 0.0, "travel_h": 19.4, "weight": 0.033, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.02, 0.004, 0.009], "now_contribution": 0.0}, {"site_id": "AWS00561", "company": "Anglian Water", "site_name": "HARLESTON STW", "receiving_watercourse": "Starston Beck River Waveney  N", "lat": 52.408625, "lon": 1.3066883, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-06-09T15:55:14+00:00", "latest_event_end": "2026-06-09T15:55:14+00:00", "lta_spills": 14.0, "spill_hours": 13.25, "snap_confidence": "high", "distance_km": 14.2, "lake_distance_km": 0.0, "travel_h": 7.9, "weight": 0.028, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.096, 0.007, 0.029], "now_contribution": 0.0}, {"site_id": "AWS00560", "company": "Anglian Water", "site_name": "HARLESTON STW", "receiving_watercourse": "Starston Beck River Waveney  N", "lat": 52.407929, "lon": 1.306798, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-03-24T22:39:31+00:00", "latest_event_end": "2026-03-24T22:39:42+00:00", "lta_spills": 6.0, "spill_hours": 24.100000381469727, "snap_confidence": "high", "distance_km": 14.2, "lake_distance_km": 0.0, "travel_h": 7.9, "weight": 0.028, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.044, 0.005, 0.028], "now_contribution": 0.0}, {"site_id": "AWS00949", "company": "Anglian Water", "site_name": "OCCOLD-TPS", "receiving_watercourse": "TRIB R DOVE", "lat": 52.298586, "lon": 1.1531746, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-08-19T19:17:56+00:00", "latest_event_end": "2026-08-19T19:34:12+00:00", "lta_spills": 6.5, "spill_hours": 31.5, "snap_confidence": "medium", "distance_km": 37.3, "lake_distance_km": 0.0, "travel_h": 20.7, "weight": 0.026, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.037, 0.009, 0.029], "now_contribution": 0.0}, {"site_id": "AWS01015", "company": "Anglian Water", "site_name": "PULHAM ST MARY STW", "receiving_watercourse": "Starston Beck", "lat": 52.418132, "lon": 1.2486352, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-08-18T00:50:42+00:00", "latest_event_end": "2026-08-18T01:56:33+00:00", "lta_spills": 17.0, "spill_hours": 71.86666870117188, "snap_confidence": "high", "distance_km": 18.9, "lake_distance_km": 0.0, "travel_h": 10.5, "weight": 0.023, "p_spill_today": 0.001, "p_spill_tomorrow": 0.002, "p_spill_days": [0.001, 0.002, 0.109, 0.013, 0.055], "now_contribution": 0.0}, {"site_id": "AWS01370", "company": "Anglian Water", "site_name": "THORNDON-STANDWELL GN TPS", "receiving_watercourse": "TRIBUTARY OF THE RIVER DOVE", "lat": 52.289335, "lon": 1.129051, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-06-02T16:28:53+00:00", "latest_event_end": "2026-06-02T16:41:13+00:00", "lta_spills": 13.600000381469727, "spill_hours": 23.75, "snap_confidence": "high", "distance_km": 38.9, "lake_distance_km": 0.0, "travel_h": 21.6, "weight": 0.022, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.06, 0.009, 0.032], "now_contribution": 0.0}, {"site_id": "AWS00339", "company": "Anglian Water", "site_name": "DISS STW", "receiving_watercourse": "THE RIVER WAVENEY NT", "lat": 52.371047, "lon": 1.1135217, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-06-11T16:52:22+00:00", "latest_event_end": "2026-06-11T17:01:40+00:00", "lta_spills": 28.0, "spill_hours": 13.5, "snap_confidence": "high", "distance_km": 34.3, "lake_distance_km": 0.0, "travel_h": 19.0, "weight": 0.022, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.076, 0.008, 0.06], "now_contribution": 0.0}, {"site_id": "AWS01424", "company": "Anglian Water", "site_name": "DISS, Victoria Road CSO", "receiving_watercourse": "RIVER WAVENEY", "lat": 52.371678, "lon": 1.1114062, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2025-02-25T04:26:13+00:00", "latest_event_end": "2025-02-25T04:26:35+00:00", "lta_spills": 28.0, "spill_hours": 0.0, "snap_confidence": "high", "distance_km": 34.4, "lake_distance_km": 0.0, "travel_h": 19.1, "weight": 0.022, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.013, 0.002, 0.012], "now_contribution": 0.0}], "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 22, "sunrise": "07:02", "sunset": "18:22"}, {"date": "2026-10-06", "tmax": 21, "sunrise": "07:03", "sunset": "18:19"}, {"date": "2026-10-07", "tmax": 14, "sunrise": "07:05", "sunset": "18:17"}, {"date": "2026-10-08", "tmax": 13, "sunrise": "07:07", "sunset": "18:15"}, {"date": "2026-10-09", "tmax": 16, "sunrise": "07:09", "sunset": "18:13"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "stour-dedham", "name": "River Stour, Dedham", "kind": "river", "river": "River Stour", "source": "curated", "notes": "", "lat": 51.96, "lon": 0.995, "query": {"lat": 51.96, "lon": 0.995, "issued_at": "2026-10-05T03:13:09.634331+01:00"}, "location": {"mode": "river", "watercourse": "River Stour", "snap_distance_m": 425, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": true, "placement": "on river", "snapped": {"lat": 51.96366, "lon": 0.99676}}, "river_state": {"station": "Langham", "river": "River Stour", "level_m": 0.21, "typical_low_m": 0.205, "typical_high_m": 1.3, "index": 0.0, "label": "low", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "6137", "measure": "E22678-level-stage-i-15_min-mASD", "distance_km": 4.0, "same_river": true, "rise_6h_m": 0.01, "rise_from": "2026-10-04T20:15:00Z", "rise_to": "2026-10-05T01:45:00Z"}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 21, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.001, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.08}, {"date": "2026-10-06", "risk": 0.001, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.08}, {"date": "2026-10-07", "risk": 0.01, "label": "low", "expected_spilling_overflows": 0.9, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.01, "rain_48h_mm": 4.3, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.294}, {"date": "2026-10-08", "risk": 0.017, "label": "low", "expected_spilling_overflows": 0.2, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.017, "rain_48h_mm": 7.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.413}, {"date": "2026-10-09", "risk": 0.012, "label": "low", "expected_spilling_overflows": 0.8, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.012, "rain_48h_mm": 7.3, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.378}], "upstream_summary": {"overflows": 21, "with_live_feed": 21, "without_live_feed": 0, "sum_weight": 0.878, "history_days": 3, "max_travel_h": 31.6}, "contributors": [{"site_id": "AWS00178", "company": "Anglian Water", "site_name": "BURES HAMLET-SP", "receiving_watercourse": "River Stour", "lat": 51.972677, "lon": 0.77346019, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-04-08T08:31:05+00:00", "latest_event_end": "2026-04-08T08:31:24+00:00", "lta_spills": 1.0, "spill_hours": 2.75, "snap_confidence": "high", "distance_km": 22.1, "lake_distance_km": 0.0, "travel_h": 12.3, "weight": 0.187, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.009, 0.003, 0.009], "now_contribution": 0.0}, {"site_id": "AWS00491", "company": "Anglian Water", "site_name": "GREAT CORNARD STW", "receiving_watercourse": "CORNARD BLACK BROOK", "lat": 52.014805, "lon": 0.74108603, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2024-12-03T10:34:05+00:00", "latest_event_end": "2024-12-03T10:34:05+00:00", "lta_spills": 0.0, "spill_hours": 0.0, "snap_confidence": "high", "distance_km": 29.6, "lake_distance_km": 0.0, "travel_h": 16.4, "weight": 0.12, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.013, 0.002, 0.01], "now_contribution": 0.0}, {"site_id": "AWS00547", "company": "Anglian Water", "site_name": "HADLEIGH STW", "receiving_watercourse": "River Brett NT", "lat": 52.034855, "lon": 0.95791938, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-06-02T11:02:58+00:00", "latest_event_end": "2026-06-02T11:04:38+00:00", "lta_spills": 17.5, "spill_hours": 0.0, "snap_confidence": "high", "distance_km": 14.2, "lake_distance_km": 0.0, "travel_h": 7.9, "weight": 0.107, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.022, 0.004, 0.025], "now_contribution": 0.0}, {"site_id": "AWS00544", "company": "Anglian Water", "site_name": "HADLEIGH STW", "receiving_watercourse": "River Brett", "lat": 52.035021, "lon": 0.95740538, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-08-29T18:38:30+00:00", "latest_event_end": "2026-08-29T19:28:44+00:00", "lta_spills": 5.5, "spill_hours": 13.5, "snap_confidence": "high", "distance_km": 14.2, "lake_distance_km": 0.0, "travel_h": 7.9, "weight": 0.107, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.017, 0.004, 0.02], "now_contribution": 0.0}, {"site_id": "AWS01331", "company": "Anglian Water", "site_name": "Sudbury Great Eastern Road Terminal Pumping Station", "receiving_watercourse": "RIVER STOUR", "lat": 52.034881, "lon": 0.73239906, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-08-31T09:02:43+00:00", "latest_event_end": "2026-09-01T10:26:15+00:00", "lta_spills": 19.709999084472656, "spill_hours": 34.900001525878906, "snap_confidence": "high", "distance_km": 32.2, "lake_distance_km": 0.0, "travel_h": 17.9, "weight": 0.106, "p_spill_today": 0.001, "p_spill_tomorrow": 0.002, "p_spill_days": [0.001, 0.002, 0.077, 0.011, 0.067], "now_contribution": 0.0}, {"site_id": "AWS01333", "company": "Anglian Water", "site_name": "Sudbury The Croft CSO", "receiving_watercourse": "RIVER STOUR", "lat": 52.041526, "lon": 0.72507516, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-08-29T17:12:24+00:00", "latest_event_end": "2026-08-29T18:27:01+00:00", "lta_spills": 17.56999969482422, "spill_hours": 0.7666666507720947, "snap_confidence": "high", "distance_km": 34.0, "lake_distance_km": 0.0, "travel_h": 18.9, "weight": 0.095, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.035, 0.004, 0.025], "now_contribution": 0.0}, {"site_id": "AWS00323", "company": "Anglian Water", "site_name": "DEDHAM STW", "receiving_watercourse": "DEDHAM MILL TAIL-TRIB RV STOUR", "lat": 51.962796, "lon": 0.99675918, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-09-17T10:51:55+00:00", "latest_event_end": "2026-09-17T10:51:55+00:00", "lta_spills": 22.170000076293945, "spill_hours": 10.0, "snap_confidence": "high", "distance_km": 0.1, "lake_distance_km": 0.0, "travel_h": 0.1, "weight": 0.037, "p_spill_today": 0.001, "p_spill_tomorrow": 0.002, "p_spill_days": [0.001, 0.002, 0.04, 0.008, 0.046], "now_contribution": 0.0}, {"site_id": "AWS00109", "company": "Anglian Water", "site_name": "BOXFORD STW", "receiving_watercourse": "THE RIVER BOX", "lat": 52.020587, "lon": 0.86461543, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-02-20T19:41:33+00:00", "latest_event_end": "2026-02-20T21:19:09+00:00", "lta_spills": 13.399999618530273, "spill_hours": 46.5, "snap_confidence": "high", "distance_km": 15.7, "lake_distance_km": 0.0, "travel_h": 8.7, "weight": 0.021, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.052, 0.008, 0.054], "now_contribution": 0.0}, {"site_id": "AWS01306", "company": "Anglian Water", "site_name": "BOXFORD-STONE ST TPS", "receiving_watercourse": "THE RIVER BOX", "lat": 52.022167, "lon": 0.86252976, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-03-14T08:45:01+00:00", "latest_event_end": "2026-03-14T09:15:01+00:00", "lta_spills": 1.0, "spill_hours": 0.0, "snap_confidence": "high", "distance_km": 15.9, "lake_distance_km": 0.0, "travel_h": 8.8, "weight": 0.021, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.002, 0.001, 0.001], "now_contribution": 0.0}, {"site_id": "AWS01573", "company": "Anglian Water", "site_name": "BOXTED-COTTAGE (SUFFOLK) STW", "receiving_watercourse": "River Glem", "lat": 52.124113, "lon": 0.66829584, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:11:35.873000+00:00", "latest_event_start": "2026-02-16T21:02:42+00:00", "latest_event_end": "2026-02-16T21:21:04+00:00", "lta_spills": 3.0, "spill_hours": 39.75, "snap_confidence": "high", "distance_km": 48.7, "lake_distance_km": 0.0, "travel_h": 27.1, "weight": 0.013, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.016, 0.003, 0.013], "now_contribution": 0.0}], "water_temp": {"temp_c": 15.1, "observed_at": "2026-10-04T21:06:17Z", "age_hours": 5.1, "quality": "Unchecked", "station": "Boxtedmill", "where": "at Boxtedmill", "river": "Stour", "station_id": "E06651A", "url": "https://environment.data.gov.uk/hydrology/station/E06651A", "distance_km": 5.0, "direction": "upstream", "river_km": 7.4}, "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 22, "sunrise": "07:03", "sunset": "18:24"}, {"date": "2026-10-06", "tmax": 21, "sunrise": "07:05", "sunset": "18:22"}, {"date": "2026-10-07", "tmax": 14, "sunrise": "07:06", "sunset": "18:19"}, {"date": "2026-10-08", "tmax": 13, "sunrise": "07:08", "sunset": "18:17"}, {"date": "2026-10-09", "tmax": 17, "sunrise": "07:10", "sunset": "18:15"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "thames-lechlade", "name": "River Thames, Lechlade", "kind": "river", "river": "River Thames", "source": "curated", "notes": "", "lat": 51.692, "lon": -1.689, "query": {"lat": 51.692, "lon": -1.689, "issued_at": "2026-10-05T03:13:10.054843+01:00"}, "location": {"mode": "river", "watercourse": "River Thames", "snap_distance_m": 13, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "on river", "snapped": {"lat": 51.69211, "lon": -1.68902}}, "river_state": {"station": "Hannington Bridge", "river": "River Thames", "level_m": 1.961, "typical_low_m": 2.07, "typical_high_m": 3.81, "index": -0.06, "label": "low", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "7024", "measure": "0569TH-level-stage-i-15_min-mASD", "distance_km": 5.2, "same_river": true, "rise_6h_m": 0.003, "rise_from": "2026-10-04T20:15:00Z", "rise_to": "2026-10-05T01:45:00Z"}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 20, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.079}, {"date": "2026-10-06", "risk": 0.001, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.079}, {"date": "2026-10-07", "risk": 0.007, "label": "low", "expected_spilling_overflows": 1.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.007, "rain_48h_mm": 3.3, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.245}, {"date": "2026-10-08", "risk": 0.006, "label": "low", "expected_spilling_overflows": 0.3, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.006, "rain_48h_mm": 4.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.298}, {"date": "2026-10-09", "risk": 0.02, "label": "low", "expected_spilling_overflows": 3.2, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.02, "rain_48h_mm": 10.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.432}], "upstream_summary": {"overflows": 21, "with_live_feed": 20, "without_live_feed": 1, "sum_weight": 0.205, "history_days": 2, "max_travel_h": 19.9}, "contributors": [{"site_id": "TWL00178", "company": "Thames Water", "site_name": "Fairford STW", "receiving_watercourse": "River Coln", "lat": 51.70190122356323, "lon": -1.774807436538416, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-03-15T22:30:00+00:00", "latest_event_end": "2026-03-15T23:15:00+00:00", "lta_spills": 111.12999725341797, "spill_hours": 2234.75, "snap_confidence": "high", "distance_km": 8.8, "lake_distance_km": 0.0, "travel_h": 4.9, "weight": 0.035, "p_spill_today": 0.003, "p_spill_tomorrow": 0.006, "p_spill_days": [0.003, 0.006, 0.047, 0.024, 0.252], "now_contribution": 0.0}, {"site_id": "TWL00368", "company": "Thames Water", "site_name": "Shrivenham STW", "receiving_watercourse": "Tuckmill Brook", "lat": 51.60645474630702, "lon": -1.6461848980582126, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-03-05T23:00:00+00:00", "latest_event_end": "2026-03-06T00:30:00+00:00", "lta_spills": 46.630001068115234, "spill_hours": 945.75, "snap_confidence": "high", "distance_km": 17.4, "lake_distance_km": 0.0, "travel_h": 9.7, "weight": 0.022, "p_spill_today": 0.003, "p_spill_tomorrow": 0.005, "p_spill_days": [0.003, 0.005, 0.092, 0.028, 0.171], "now_contribution": 0.0}, {"site_id": "TWL00227", "company": "Thames Water", "site_name": "Highworth STW", "receiving_watercourse": "Westrop Brook", "lat": 51.64233916800237, "lon": -1.7154177138870101, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-08-29T13:45:00+00:00", "latest_event_end": "2026-08-29T18:30:00+00:00", "lta_spills": 42.5, "spill_hours": 340.5, "snap_confidence": "high", "distance_km": 9.0, "lake_distance_km": 0.0, "travel_h": 5.0, "weight": 0.016, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.076, 0.012, 0.151], "now_contribution": 0.0}, {"site_id": "TWL00010", "company": "Thames Water", "site_name": "Ampney St Peter STW", "receiving_watercourse": "Ampney Brook", "lat": 51.705562809323474, "lon": -1.880432409335653, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-05-05T10:00:00+00:00", "latest_event_end": "2026-05-05T10:30:00+00:00", "lta_spills": 92.29000091552734, "spill_hours": 1436.0, "snap_confidence": "high", "distance_km": 25.3, "lake_distance_km": 0.0, "travel_h": 14.1, "weight": 0.006, "p_spill_today": 0.005, "p_spill_tomorrow": 0.008, "p_spill_days": [0.005, 0.008, 0.055, 0.024, 0.291], "now_contribution": 0.0}, {"site_id": "TWL00402", "company": "Thames Water", "site_name": "Swindon STW", "receiving_watercourse": "River Ray", "lat": 51.572768078874475, "lon": -1.8174358204964358, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-02-08T21:15:00+00:00", "latest_event_end": "2026-02-08T23:45:00+00:00", "lta_spills": 38.380001068115234, "spill_hours": 287.75, "snap_confidence": "high", "distance_km": 26.7, "lake_distance_km": 0.0, "travel_h": 14.8, "weight": 0.012, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.059, 0.01, 0.148], "now_contribution": 0.0}, {"site_id": "TWL00422", "company": "Thames Water", "site_name": "Wanborough STW", "receiving_watercourse": "Liden Brook", "lat": 51.55897600110803, "lon": -1.710601011229014, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-03-13T23:00:00+00:00", "latest_event_end": "2026-03-13T23:30:00+00:00", "lta_spills": 68.87999725341797, "spill_hours": 822.25, "snap_confidence": "high", "distance_km": 23.8, "lake_distance_km": 0.0, "travel_h": 13.2, "weight": 0.007, "p_spill_today": 0.004, "p_spill_tomorrow": 0.006, "p_spill_days": [0.004, 0.006, 0.145, 0.029, 0.252], "now_contribution": 0.0}, {"site_id": "TWL00249", "company": "Thames Water", "site_name": "Kilda Road (Highworth) SPS", "receiving_watercourse": "Westrop Brook", "lat": 51.635425926462375, "lon": -1.7196512953391205, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": null, "latest_event_end": null, "lta_spills": 0.12999999523162842, "spill_hours": 0.0, "snap_confidence": "high", "distance_km": 9.4, "lake_distance_km": 0.0, "travel_h": 5.2, "weight": 0.016, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.001, 0.001, 0.002], "now_contribution": 0.0}, {"site_id": "TWL00130", "company": "Thames Water", "site_name": "Hannington", "receiving_watercourse": "Bydemill Ditch", "lat": 51.63971044548375, "lon": -1.7453471486728491, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-03-12T23:15:00+00:00", "latest_event_end": "2026-03-12T23:45:00+00:00", "lta_spills": 12.75, "spill_hours": 13.75, "snap_confidence": "medium", "distance_km": 10.1, "lake_distance_km": 0.0, "travel_h": 5.6, "weight": 0.016, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.02, 0.004, 0.067], "now_contribution": 0.0}, {"site_id": "TWL00246", "company": "Thames Water", "site_name": "Kempsford STW", "receiving_watercourse": "Dudgrove Stream", "lat": 51.67634001171198, "lon": -1.7617734848519047, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-05-21T20:30:00+00:00", "latest_event_end": "2026-05-21T21:30:00+00:00", "lta_spills": 2.130000114440918, "spill_hours": 0.0, "snap_confidence": "high", "distance_km": 6.0, "lake_distance_km": 0.0, "travel_h": 3.4, "weight": 0.014, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.001, 0.001, 0.008], "now_contribution": 0.0}, {"site_id": "TWL00362", "company": "Thames Water", "site_name": "Sevenhampton STW", "receiving_watercourse": "Tributary of River Cole", "lat": 51.60885070534077, "lon": -1.6993089052876678, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-06-03T20:15:00+00:00", "latest_event_end": "2026-06-05T08:00:00+00:00", "lta_spills": 76.56999969482422, "spill_hours": 2055.25, "snap_confidence": "high", "distance_km": 17.7, "lake_distance_km": 0.0, "travel_h": 9.9, "weight": 0.005, "p_spill_today": 0.004, "p_spill_tomorrow": 0.006, "p_spill_days": [0.004, 0.006, 0.163, 0.036, 0.253], "now_contribution": 0.0}], "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 20, "sunrise": "07:14", "sunset": "18:35"}, {"date": "2026-10-06", "tmax": 20, "sunrise": "07:15", "sunset": "18:33"}, {"date": "2026-10-07", "tmax": 15, "sunrise": "07:17", "sunset": "18:30"}, {"date": "2026-10-08", "tmax": 14, "sunrise": "07:19", "sunset": "18:28"}, {"date": "2026-10-09", "tmax": 19, "sunrise": "07:20", "sunset": "18:26"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "thames-buscot-weir", "name": "River Thames, Buscot Weir", "kind": "river", "river": "River Thames", "source": "curated", "notes": "", "lat": 51.679, "lon": -1.665, "query": {"lat": 51.679, "lon": -1.665, "issued_at": "2026-10-05T03:13:10.408034+01:00"}, "location": {"mode": "river", "watercourse": "River Thames", "snap_distance_m": 254, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": true, "placement": "on river", "snapped": {"lat": 51.68054, "lon": -1.66228}}, "river_state": {"station": "Hannington Bridge", "river": "River Thames", "level_m": 1.961, "typical_low_m": 2.07, "typical_high_m": 3.81, "index": -0.06, "label": "low", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "7024", "measure": "0569TH-level-stage-i-15_min-mASD", "distance_km": 6.1, "same_river": true, "rise_6h_m": 0.003, "rise_from": "2026-10-04T20:15:00Z", "rise_to": "2026-10-05T01:45:00Z"}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 21, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.079}, {"date": "2026-10-06", "risk": 0.001, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.079}, {"date": "2026-10-07", "risk": 0.006, "label": "low", "expected_spilling_overflows": 1.2, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.006, "rain_48h_mm": 3.3, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.241}, {"date": "2026-10-08", "risk": 0.006, "label": "low", "expected_spilling_overflows": 0.3, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.006, "rain_48h_mm": 4.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.296}, {"date": "2026-10-09", "risk": 0.018, "label": "low", "expected_spilling_overflows": 3.3, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.018, "rain_48h_mm": 10.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.425}], "upstream_summary": {"overflows": 22, "with_live_feed": 21, "without_live_feed": 1, "sum_weight": 0.195, "history_days": 2, "max_travel_h": 21.7}, "contributors": [{"site_id": "TWL00178", "company": "Thames Water", "site_name": "Fairford STW", "receiving_watercourse": "River Coln", "lat": 51.70190122356323, "lon": -1.774807436538416, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-03-15T22:30:00+00:00", "latest_event_end": "2026-03-15T23:15:00+00:00", "lta_spills": 111.12999725341797, "spill_hours": 2234.75, "snap_confidence": "high", "distance_km": 12.0, "lake_distance_km": 0.0, "travel_h": 6.7, "weight": 0.029, "p_spill_today": 0.003, "p_spill_tomorrow": 0.006, "p_spill_days": [0.003, 0.006, 0.047, 0.024, 0.252], "now_contribution": 0.0}, {"site_id": "TWL00368", "company": "Thames Water", "site_name": "Shrivenham STW", "receiving_watercourse": "Tuckmill Brook", "lat": 51.60645474630702, "lon": -1.6461848980582126, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-03-05T23:00:00+00:00", "latest_event_end": "2026-03-06T00:30:00+00:00", "lta_spills": 46.630001068115234, "spill_hours": 945.75, "snap_confidence": "high", "distance_km": 20.7, "lake_distance_km": 0.0, "travel_h": 11.5, "weight": 0.019, "p_spill_today": 0.003, "p_spill_tomorrow": 0.005, "p_spill_days": [0.003, 0.005, 0.092, 0.028, 0.171], "now_contribution": 0.0}, {"site_id": "TWL00263", "company": "Thames Water", "site_name": "Lechlade STW", "receiving_watercourse": "River Leach", "lat": 51.69222105683498, "lon": -1.6730047486361153, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-06-14T16:00:00+00:00", "latest_event_end": "2026-06-14T18:30:00+00:00", "lta_spills": 35.75, "spill_hours": 161.25, "snap_confidence": "high", "distance_km": 2.8, "lake_distance_km": 0.0, "travel_h": 1.5, "weight": 0.021, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.054, 0.009, 0.146], "now_contribution": 0.0}, {"site_id": "TWL00227", "company": "Thames Water", "site_name": "Highworth STW", "receiving_watercourse": "Westrop Brook", "lat": 51.64233916800237, "lon": -1.7154177138870101, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-08-29T13:45:00+00:00", "latest_event_end": "2026-08-29T18:30:00+00:00", "lta_spills": 42.5, "spill_hours": 340.5, "snap_confidence": "high", "distance_km": 12.2, "lake_distance_km": 0.0, "travel_h": 6.8, "weight": 0.014, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.076, 0.012, 0.151], "now_contribution": 0.0}, {"site_id": "TWL00010", "company": "Thames Water", "site_name": "Ampney St Peter STW", "receiving_watercourse": "Ampney Brook", "lat": 51.705562809323474, "lon": -1.880432409335653, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-05-05T10:00:00+00:00", "latest_event_end": "2026-05-05T10:30:00+00:00", "lta_spills": 92.29000091552734, "spill_hours": 1436.0, "snap_confidence": "high", "distance_km": 28.6, "lake_distance_km": 0.0, "travel_h": 15.9, "weight": 0.005, "p_spill_today": 0.005, "p_spill_tomorrow": 0.008, "p_spill_days": [0.005, 0.008, 0.055, 0.024, 0.291], "now_contribution": 0.0}, {"site_id": "TWL00402", "company": "Thames Water", "site_name": "Swindon STW", "receiving_watercourse": "River Ray", "lat": 51.572768078874475, "lon": -1.8174358204964358, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-02-08T21:15:00+00:00", "latest_event_end": "2026-02-08T23:45:00+00:00", "lta_spills": 38.380001068115234, "spill_hours": 287.75, "snap_confidence": "high", "distance_km": 29.9, "lake_distance_km": 0.0, "travel_h": 16.6, "weight": 0.01, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.059, 0.01, 0.148], "now_contribution": 0.0}, {"site_id": "TWL00422", "company": "Thames Water", "site_name": "Wanborough STW", "receiving_watercourse": "Liden Brook", "lat": 51.55897600110803, "lon": -1.710601011229014, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-03-13T23:00:00+00:00", "latest_event_end": "2026-03-13T23:30:00+00:00", "lta_spills": 68.87999725341797, "spill_hours": 822.25, "snap_confidence": "high", "distance_km": 27.1, "lake_distance_km": 0.0, "travel_h": 15.0, "weight": 0.006, "p_spill_today": 0.004, "p_spill_tomorrow": 0.006, "p_spill_days": [0.004, 0.006, 0.145, 0.029, 0.252], "now_contribution": 0.0}, {"site_id": "TWL00249", "company": "Thames Water", "site_name": "Kilda Road (Highworth) SPS", "receiving_watercourse": "Westrop Brook", "lat": 51.635425926462375, "lon": -1.7196512953391205, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": null, "latest_event_end": null, "lta_spills": 0.12999999523162842, "spill_hours": 0.0, "snap_confidence": "high", "distance_km": 12.6, "lake_distance_km": 0.0, "travel_h": 7.0, "weight": 0.014, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.001, 0.001, 0.002], "now_contribution": 0.0}, {"site_id": "TWL00130", "company": "Thames Water", "site_name": "Hannington", "receiving_watercourse": "Bydemill Ditch", "lat": 51.63971044548375, "lon": -1.7453471486728491, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-03-12T23:15:00+00:00", "latest_event_end": "2026-03-12T23:45:00+00:00", "lta_spills": 12.75, "spill_hours": 13.75, "snap_confidence": "medium", "distance_km": 13.4, "lake_distance_km": 0.0, "travel_h": 7.4, "weight": 0.013, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.02, 0.004, 0.067], "now_contribution": 0.0}, {"site_id": "TWL00246", "company": "Thames Water", "site_name": "Kempsford STW", "receiving_watercourse": "Dudgrove Stream", "lat": 51.67634001171198, "lon": -1.7617734848519047, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-05-21T20:30:00+00:00", "latest_event_end": "2026-05-21T21:30:00+00:00", "lta_spills": 2.130000114440918, "spill_hours": 0.0, "snap_confidence": "high", "distance_km": 9.3, "lake_distance_km": 0.0, "travel_h": 5.2, "weight": 0.012, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.001, 0.001, 0.008], "now_contribution": 0.0}], "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 20, "sunrise": "07:13", "sunset": "18:35"}, {"date": "2026-10-06", "tmax": 20, "sunrise": "07:15", "sunset": "18:32"}, {"date": "2026-10-07", "tmax": 15, "sunrise": "07:17", "sunset": "18:30"}, {"date": "2026-10-08", "tmax": 14, "sunrise": "07:18", "sunset": "18:28"}, {"date": "2026-10-09", "tmax": 19, "sunrise": "07:20", "sunset": "18:26"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "thames-clifton-hampden", "name": "River Thames, Clifton Hampden", "kind": "river", "river": "River Thames", "source": "curated", "notes": "", "lat": 51.654, "lon": -1.21, "query": {"lat": 51.654, "lon": -1.21, "issued_at": "2026-10-05T03:13:10.857113+01:00"}, "location": {"mode": "river", "watercourse": "River Thames", "snap_distance_m": 43, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "on river", "snapped": {"lat": 51.65396, "lon": -1.21062}}, "river_state": {"station": "Sutton Courtenay", "river": "River Thames", "level_m": 2.033, "typical_low_m": 1.911, "typical_high_m": 3.51, "index": 0.08, "label": "low", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "7084", "measure": "1800TH-level-stage-i-15_min-mASD", "distance_km": 3.1, "same_river": true, "rise_6h_m": 0.006, "rise_from": "2026-10-04T20:15:00Z", "rise_to": "2026-10-05T01:45:00Z"}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 39, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.001, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.079}, {"date": "2026-10-06", "risk": 0.001, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.079}, {"date": "2026-10-07", "risk": 0.01, "label": "low", "expected_spilling_overflows": 3.2, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.01, "rain_48h_mm": 4.8, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.305}, {"date": "2026-10-08", "risk": 0.016, "label": "low", "expected_spilling_overflows": 0.6, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.016, "rain_48h_mm": 7.5, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.419}, {"date": "2026-10-09", "risk": 0.019, "label": "low", "expected_spilling_overflows": 5.6, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.019, "rain_48h_mm": 10.8, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.449}], "upstream_summary": {"overflows": 40, "with_live_feed": 39, "without_live_feed": 1, "sum_weight": 0.538, "history_days": 3, "max_travel_h": 32.9}, "contributors": [{"site_id": "TWL00273", "company": "Thames Water", "site_name": "Heyford Hill Lane (Littlemore) SPS", "receiving_watercourse": "River Thames", "lat": 51.72232643369785, "lon": -1.2413683008486514, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-04-13T10:16:00+00:00", "latest_event_end": "2026-04-13T10:20:00+00:00", "lta_spills": 6.860000133514404, "spill_hours": 6.066666603088379, "snap_confidence": "high", "distance_km": 20.3, "lake_distance_km": 0.0, "travel_h": 11.3, "weight": 0.278, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.018, 0.004, 0.036], "now_contribution": 0.0}, {"site_id": "TWL00075", "company": "Thames Water", "site_name": "Cassington STW", "receiving_watercourse": "River Thames", "lat": 51.78678346598992, "lon": -1.328144694755258, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2024-10-01T20:15:00+00:00", "latest_event_end": "2024-10-01T23:45:00+00:00", "lta_spills": 15.289999961853027, "spill_hours": 0.0, "snap_confidence": "high", "distance_km": 32.6, "lake_distance_km": 0.0, "travel_h": 18.1, "weight": 0.087, "p_spill_today": 0.001, "p_spill_tomorrow": 0.002, "p_spill_days": [0.001, 0.002, 0.012, 0.005, 0.037], "now_contribution": 0.0}, {"site_id": "TWL00244", "company": "Thames Water", "site_name": "Islip STW", "receiving_watercourse": "River Ray", "lat": 51.82098487705463, "lon": -1.2310070130642639, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-08-29T18:30:00+00:00", "latest_event_end": "2026-08-29T19:30:00+00:00", "lta_spills": 34.5, "spill_hours": 696.75, "snap_confidence": "high", "distance_km": 35.8, "lake_distance_km": 0.0, "travel_h": 19.9, "weight": 0.035, "p_spill_today": 0.004, "p_spill_tomorrow": 0.006, "p_spill_days": [0.004, 0.006, 0.101, 0.026, 0.155], "now_contribution": 0.0}, {"site_id": "TWL00162", "company": "Thames Water", "site_name": "Drayton STW", "receiving_watercourse": "Ginge Brook", "lat": 51.63657224390336, "lon": -1.303489744545657, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-04-26T10:00:00+00:00", "latest_event_end": "2026-04-26T15:15:00+00:00", "lta_spills": 72.5, "spill_hours": 639.25, "snap_confidence": "high", "distance_km": 9.9, "lake_distance_km": 0.0, "travel_h": 5.5, "weight": 0.017, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.21, 0.025, 0.248], "now_contribution": 0.0}, {"site_id": "TWL00085", "company": "Thames Water", "site_name": "Charlton-on-Otmoor STW", "receiving_watercourse": "River Ray", "lat": 51.83895356587386, "lon": -1.1758353447017191, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-02-27T09:00:00+00:00", "latest_event_end": "2026-02-27T10:00:00+00:00", "lta_spills": 70.75, "spill_hours": 813.75, "snap_confidence": "high", "distance_km": 40.7, "lake_distance_km": 0.0, "travel_h": 22.6, "weight": 0.02, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.103, 0.018, 0.17], "now_contribution": 0.0}, {"site_id": "TWL00385", "company": "Thames Water", "site_name": "Standlake STW", "receiving_watercourse": "River Windrush", "lat": 51.71793218465847, "lon": -1.4165993533840946, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-03-18T21:00:00+00:00", "latest_event_end": "2026-03-19T10:30:00+00:00", "lta_spills": 59.630001068115234, "spill_hours": 2213.75, "snap_confidence": "high", "distance_km": 48.4, "lake_distance_km": 0.0, "travel_h": 26.9, "weight": 0.007, "p_spill_today": 0.018, "p_spill_tomorrow": 0.025, "p_spill_days": [0.018, 0.025, 0.263, 0.104, 0.361], "now_contribution": 0.0}, {"site_id": "TWL00155", "company": "Thames Water", "site_name": "Didcot STW", "receiving_watercourse": "Moor Ditch", "lat": 51.61897625885054, "lon": -1.2495928218551884, "status": -1, "has_live": true, "data_state": "offline", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": null, "latest_event_end": null, "lta_spills": 55.0, "spill_hours": 338.75, "snap_confidence": "high", "distance_km": 5.3, "lake_distance_km": 0.0, "travel_h": 3.0, "weight": 0.011, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.112, 0.022, 0.189], "now_contribution": 0.0}, {"site_id": "TWL00323", "company": "Thames Water", "site_name": "Oxford STW", "receiving_watercourse": "Pottery Stream", "lat": 51.715871656435596, "lon": -1.2168683999404226, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-06-02T07:30:00+00:00", "latest_event_end": "2026-06-03T00:30:00+00:00", "lta_spills": 81.62999725341797, "spill_hours": 590.5, "snap_confidence": "high", "distance_km": 20.3, "lake_distance_km": 0.0, "travel_h": 11.3, "weight": 0.007, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.19, 0.022, 0.25], "now_contribution": 0.0}, {"site_id": "TWL00013", "company": "Thames Water", "site_name": "Appleton STW", "receiving_watercourse": "Marcham Brook", "lat": 51.695120007252164, "lon": -1.3694360169360122, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-02-23T22:00:00+00:00", "latest_event_end": "2026-02-23T22:30:00+00:00", "lta_spills": 85.0, "spill_hours": 159.25, "snap_confidence": "high", "distance_km": 22.2, "lake_distance_km": 0.0, "travel_h": 12.3, "weight": 0.004, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.211, 0.016, 0.287], "now_contribution": 0.0}, {"site_id": "TWL00387", "company": "Thames Water", "site_name": "Stanford in the Vale STW", "receiving_watercourse": "River Ock", "lat": 51.63390418179744, "lon": -1.5040829237712445, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-01-22T18:00:00+00:00", "latest_event_end": "2026-01-23T00:45:00+00:00", "lta_spills": 2.3299999237060547, "spill_hours": 6.25, "snap_confidence": "high", "distance_km": 30.4, "lake_distance_km": 0.0, "travel_h": 16.9, "weight": 0.011, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.005, 0.002, 0.019], "now_contribution": 0.0}], "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 21, "sunrise": "07:12", "sunset": "18:33"}, {"date": "2026-10-06", "tmax": 21, "sunrise": "07:13", "sunset": "18:31"}, {"date": "2026-10-07", "tmax": 16, "sunrise": "07:15", "sunset": "18:28"}, {"date": "2026-10-08", "tmax": 14, "sunrise": "07:17", "sunset": "18:26"}, {"date": "2026-10-09", "tmax": 19, "sunrise": "07:18", "sunset": "18:24"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "thames-henley", "name": "River Thames, Henley-on-Thames", "kind": "river", "river": "River Thames", "source": "curated", "notes": "", "lat": 51.5383, "lon": -0.9005, "query": {"lat": 51.5383, "lon": -0.9005, "issued_at": "2026-10-05T03:13:11.525657+01:00"}, "location": {"mode": "river", "watercourse": "River Thames", "snap_distance_m": 14, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "on river", "snapped": {"lat": 51.5383, "lon": -0.9003}}, "river_state": {"station": "Hambleden Lock", "river": "River Thames", "level_m": 0.085, "typical_low_m": 0.063, "typical_high_m": 0.363, "index": 0.07, "label": "low", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "9660", "measure": "2496TH-level-stage-i-15_min-mASD", "distance_km": 3.1, "same_river": true, "rise_6h_m": -0.002, "rise_from": "2026-10-04T20:15:00Z", "rise_to": "2026-10-05T01:45:00Z"}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 51, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.002, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.3, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.11}, {"date": "2026-10-06", "risk": 0.002, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.002, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.093}, {"date": "2026-10-07", "risk": 0.095, "label": "low", "expected_spilling_overflows": 6.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.095, "rain_48h_mm": 10.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.544}, {"date": "2026-10-08", "risk": 0.029, "label": "low", "expected_spilling_overflows": 0.8, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.029, "rain_48h_mm": 13.9, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.553}, {"date": "2026-10-09", "risk": 0.06, "label": "low", "expected_spilling_overflows": 6.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.06, "rain_48h_mm": 11.1, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.542}], "upstream_summary": {"overflows": 51, "with_live_feed": 51, "without_live_feed": 0, "sum_weight": 1.617, "history_days": 3, "max_travel_h": 32.6}, "contributors": [{"site_id": "TWL00191", "company": "Thames Water", "site_name": "Friday Street (Henley) SPS", "receiving_watercourse": "River Thames", "lat": 51.53800356545565, "lon": -0.9012675228205963, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-09-02T06:30:00+00:00", "latest_event_end": "2026-09-02T06:38:00+00:00", "lta_spills": 7.5, "spill_hours": 9.766666412353516, "snap_confidence": "high", "distance_km": 0.0, "lake_distance_km": 0.0, "travel_h": 0.0, "weight": 0.998, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.06, 0.003, 0.027], "now_contribution": 0.0}, {"site_id": "TWL00428", "company": "Thames Water", "site_name": "Wargrave STW", "receiving_watercourse": "River Loddon", "lat": 51.48972638604681, "lon": -0.8832713911231942, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-02-16T08:30:00+00:00", "latest_event_end": "2026-02-16T09:45:00+00:00", "lta_spills": 18.139999389648438, "spill_hours": 120.75, "snap_confidence": "high", "distance_km": 7.3, "lake_distance_km": 0.0, "travel_h": 4.1, "weight": 0.307, "p_spill_today": 0.001, "p_spill_tomorrow": 0.002, "p_spill_days": [0.001, 0.002, 0.121, 0.011, 0.098], "now_contribution": 0.0}, {"site_id": "TWL00345", "company": "Thames Water", "site_name": "Caversham (Reading) SPS", "receiving_watercourse": "River Thames", "lat": 51.464746061854264, "lon": -0.9534135929894877, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2024-02-01T12:34:00+00:00", "latest_event_end": "2024-02-01T12:40:00+00:00", "lta_spills": 0.5, "spill_hours": 0.0, "snap_confidence": "high", "distance_km": 14.3, "lake_distance_km": 0.0, "travel_h": 7.9, "weight": 0.123, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.002, 0.001, 0.002], "now_contribution": 0.0}, {"site_id": "TWL00176", "company": "Thames Water", "site_name": "New Mill STW", "receiving_watercourse": "River Blackwater", "lat": 51.35986034495244, "lon": -0.909844290697512, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-03-18T19:45:00+00:00", "latest_event_end": "2026-03-18T20:15:00+00:00", "lta_spills": 35.43000030517578, "spill_hours": 324.75, "snap_confidence": "high", "distance_km": 29.0, "lake_distance_km": 0.0, "travel_h": 16.1, "weight": 0.026, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.18, 0.023, 0.141], "now_contribution": 0.0}, {"site_id": "TWL00199", "company": "Thames Water", "site_name": "Goring STW", "receiving_watercourse": "River Thames", "lat": 51.53944110743414, "lon": -1.1378549201194386, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": null, "latest_event_end": null, "lta_spills": 0.12999999523162842, "spill_hours": 0.0, "snap_confidence": "high", "distance_km": 34.6, "lake_distance_km": 0.0, "travel_h": 19.2, "weight": 0.033, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.009, 0.002, 0.012], "now_contribution": 0.0}, {"site_id": "TWL00343", "company": "Thames Water", "site_name": "Reading STW", "receiving_watercourse": "Foudry Brook", "lat": 51.43097481732181, "lon": -0.9782088158085716, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-03-29T16:30:00+00:00", "latest_event_end": "2026-03-29T17:00:00+00:00", "lta_spills": 16.709999084472656, "spill_hours": 168.5, "snap_confidence": "high", "distance_km": 18.2, "lake_distance_km": 0.0, "travel_h": 10.1, "weight": 0.026, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.122, 0.006, 0.105], "now_contribution": 0.0}, {"site_id": "TWL00306", "company": "Thames Water", "site_name": "Mortimer STW", "receiving_watercourse": "Foudry Brook", "lat": 51.37550204458162, "lon": -1.0321742323217087, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-08-12T16:00:00+00:00", "latest_event_end": "2026-08-12T17:30:00+00:00", "lta_spills": 85.5, "spill_hours": 689.25, "snap_confidence": "high", "distance_km": 27.9, "lake_distance_km": 0.0, "travel_h": 15.5, "weight": 0.009, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.294, 0.036, 0.272], "now_contribution": 0.0}, {"site_id": "TWL00216", "company": "Thames Water", "site_name": "Hartley Wintney STW", "receiving_watercourse": "Tributary of River Whitewater", "lat": 51.31634485516407, "lon": -0.9009749758360743, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-03-16T10:15:00+00:00", "latest_event_end": "2026-03-16T10:45:00+00:00", "lta_spills": 31.290000915527344, "spill_hours": 300.25, "snap_confidence": "high", "distance_km": 35.0, "lake_distance_km": 0.0, "travel_h": 19.4, "weight": 0.013, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.173, 0.024, 0.141], "now_contribution": 0.0}, {"site_id": "TWL00186", "company": "Thames Water", "site_name": "Fleet STW", "receiving_watercourse": "Fleet Brook", "lat": 51.30188447568704, "lon": -0.8466661289966022, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-02-16T00:30:00+00:00", "latest_event_end": "2026-02-16T01:00:00+00:00", "lta_spills": 77.0, "spill_hours": 524.75, "snap_confidence": "high", "distance_km": 40.3, "lake_distance_km": 0.0, "travel_h": 22.4, "weight": 0.004, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.322, 0.043, 0.245], "now_contribution": 0.0}, {"site_id": "TWL00309", "company": "Thames Water", "site_name": "Newbury STW", "receiving_watercourse": "River Kennet", "lat": 51.397094617857974, "lon": -1.2841339409727315, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-03-14T15:08:00+00:00", "latest_event_end": "2026-03-14T15:12:00+00:00", "lta_spills": 45.43000030517578, "spill_hours": 381.20001220703125, "snap_confidence": "high", "distance_km": 46.3, "lake_distance_km": 0.0, "travel_h": 25.7, "weight": 0.009, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.108, 0.022, 0.14], "now_contribution": 0.0}], "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 21, "sunrise": "07:10", "sunset": "18:32"}, {"date": "2026-10-06", "tmax": 21, "sunrise": "07:12", "sunset": "18:30"}, {"date": "2026-10-07", "tmax": 15, "sunrise": "07:14", "sunset": "18:27"}, {"date": "2026-10-08", "tmax": 14, "sunrise": "07:15", "sunset": "18:25"}, {"date": "2026-10-09", "tmax": 19, "sunrise": "07:17", "sunset": "18:23"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "thames-hurley", "name": "River Thames, Hurley", "kind": "river", "river": "River Thames", "source": "curated", "notes": "", "lat": 51.549, "lon": -0.812, "query": {"lat": 51.549, "lon": -0.812, "issued_at": "2026-10-05T03:13:12.245716+01:00"}, "location": {"mode": "river", "watercourse": "River Thames", "snap_distance_m": 327, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": true, "placement": "on river", "snapped": {"lat": 51.55188, "lon": -0.81295}}, "river_state": {"station": "Temple Lock", "river": "River Thames", "level_m": 0.02, "typical_low_m": 0.051, "typical_high_m": 0.208, "index": -0.2, "label": "low", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "9659", "measure": "2498TH-level-stage-i-15_min-mASD", "distance_km": 1.3, "same_river": true, "rise_6h_m": 0.003, "rise_from": "2026-10-04T20:15:00Z", "rise_to": "2026-10-05T01:45:00Z"}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 44, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.002, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.107}, {"date": "2026-10-06", "risk": 0.002, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.002, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.095}, {"date": "2026-10-07", "risk": 0.056, "label": "low", "expected_spilling_overflows": 5.3, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.056, "rain_48h_mm": 10.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.504}, {"date": "2026-10-08", "risk": 0.038, "label": "low", "expected_spilling_overflows": 0.7, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.038, "rain_48h_mm": 13.9, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.571}, {"date": "2026-10-09", "risk": 0.038, "label": "low", "expected_spilling_overflows": 5.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.038, "rain_48h_mm": 11.1, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.507}], "upstream_summary": {"overflows": 44, "with_live_feed": 44, "without_live_feed": 0, "sum_weight": 1.875, "history_days": 3, "max_travel_h": 33.0}, "contributors": [{"site_id": "TWL00209", "company": "Thames Water", "site_name": "Hambleden STW", "receiving_watercourse": "River Thames", "lat": 51.55656699193865, "lon": -0.8676429079355638, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-02-16T10:45:00+00:00", "latest_event_end": "2026-02-16T12:15:00+00:00", "lta_spills": 5.75, "spill_hours": 0.0, "snap_confidence": "high", "distance_km": 5.0, "lake_distance_km": 0.0, "travel_h": 2.8, "weight": 0.799, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.009, 0.001, 0.006], "now_contribution": 0.0}, {"site_id": "TWL00191", "company": "Thames Water", "site_name": "Friday Street (Henley) SPS", "receiving_watercourse": "River Thames", "lat": 51.53800356545565, "lon": -0.9012675228205963, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-09-02T06:30:00+00:00", "latest_event_end": "2026-09-02T06:38:00+00:00", "lta_spills": 7.5, "spill_hours": 9.766666412353516, "snap_confidence": "high", "distance_km": 9.4, "lake_distance_km": 0.0, "travel_h": 5.2, "weight": 0.652, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.06, 0.003, 0.027], "now_contribution": 0.0}, {"site_id": "TWL00428", "company": "Thames Water", "site_name": "Wargrave STW", "receiving_watercourse": "River Loddon", "lat": 51.48972638604681, "lon": -0.8832713911231942, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-02-16T08:30:00+00:00", "latest_event_end": "2026-02-16T09:45:00+00:00", "lta_spills": 18.139999389648438, "spill_hours": 120.75, "snap_confidence": "high", "distance_km": 16.7, "lake_distance_km": 0.0, "travel_h": 9.3, "weight": 0.231, "p_spill_today": 0.001, "p_spill_tomorrow": 0.002, "p_spill_days": [0.001, 0.002, 0.121, 0.011, 0.098], "now_contribution": 0.0}, {"site_id": "TWL00345", "company": "Thames Water", "site_name": "Caversham (Reading) SPS", "receiving_watercourse": "River Thames", "lat": 51.464746061854264, "lon": -0.9534135929894877, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2024-02-01T12:34:00+00:00", "latest_event_end": "2024-02-01T12:40:00+00:00", "lta_spills": 0.5, "spill_hours": 0.0, "snap_confidence": "high", "distance_km": 23.7, "lake_distance_km": 0.0, "travel_h": 13.1, "weight": 0.071, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.002, 0.001, 0.002], "now_contribution": 0.0}, {"site_id": "TWL00176", "company": "Thames Water", "site_name": "New Mill STW", "receiving_watercourse": "River Blackwater", "lat": 51.35986034495244, "lon": -0.909844290697512, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-03-18T19:45:00+00:00", "latest_event_end": "2026-03-18T20:15:00+00:00", "lta_spills": 35.43000030517578, "spill_hours": 324.75, "snap_confidence": "high", "distance_km": 38.4, "lake_distance_km": 0.0, "travel_h": 21.3, "weight": 0.018, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.18, 0.023, 0.141], "now_contribution": 0.0}, {"site_id": "TWL00343", "company": "Thames Water", "site_name": "Reading STW", "receiving_watercourse": "Foudry Brook", "lat": 51.43097481732181, "lon": -0.9782088158085716, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-03-29T16:30:00+00:00", "latest_event_end": "2026-03-29T17:00:00+00:00", "lta_spills": 16.709999084472656, "spill_hours": 168.5, "snap_confidence": "high", "distance_km": 27.6, "lake_distance_km": 0.0, "travel_h": 15.3, "weight": 0.02, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.122, 0.006, 0.105], "now_contribution": 0.0}, {"site_id": "TWL00306", "company": "Thames Water", "site_name": "Mortimer STW", "receiving_watercourse": "Foudry Brook", "lat": 51.37550204458162, "lon": -1.0321742323217087, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-08-12T16:00:00+00:00", "latest_event_end": "2026-08-12T17:30:00+00:00", "lta_spills": 85.5, "spill_hours": 689.25, "snap_confidence": "high", "distance_km": 37.3, "lake_distance_km": 0.0, "travel_h": 20.7, "weight": 0.007, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.294, 0.036, 0.272], "now_contribution": 0.0}, {"site_id": "TWL00216", "company": "Thames Water", "site_name": "Hartley Wintney STW", "receiving_watercourse": "Tributary of River Whitewater", "lat": 51.31634485516407, "lon": -0.9009749758360743, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-03-16T10:15:00+00:00", "latest_event_end": "2026-03-16T10:45:00+00:00", "lta_spills": 31.290000915527344, "spill_hours": 300.25, "snap_confidence": "high", "distance_km": 44.4, "lake_distance_km": 0.0, "travel_h": 24.7, "weight": 0.01, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.173, 0.024, 0.141], "now_contribution": 0.0}, {"site_id": "TWL00199", "company": "Thames Water", "site_name": "Goring STW", "receiving_watercourse": "River Thames", "lat": 51.53944110743414, "lon": -1.1378549201194386, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": null, "latest_event_end": null, "lta_spills": 0.12999999523162842, "spill_hours": 0.0, "snap_confidence": "high", "distance_km": 43.9, "lake_distance_km": 0.0, "travel_h": 24.4, "weight": 0.015, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.009, 0.002, 0.012], "now_contribution": 0.0}, {"site_id": "TWL00186", "company": "Thames Water", "site_name": "Fleet STW", "receiving_watercourse": "Fleet Brook", "lat": 51.30188447568704, "lon": -0.8466661289966022, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-02-16T00:30:00+00:00", "latest_event_end": "2026-02-16T01:00:00+00:00", "lta_spills": 77.0, "spill_hours": 524.75, "snap_confidence": "high", "distance_km": 49.7, "lake_distance_km": 0.0, "travel_h": 27.6, "weight": 0.003, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.322, 0.043, 0.245], "now_contribution": 0.0}], "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 22, "sunrise": "07:10", "sunset": "18:31"}, {"date": "2026-10-06", "tmax": 21, "sunrise": "07:12", "sunset": "18:29"}, {"date": "2026-10-07", "tmax": 15, "sunrise": "07:13", "sunset": "18:27"}, {"date": "2026-10-08", "tmax": 14, "sunrise": "07:15", "sunset": "18:25"}, {"date": "2026-10-09", "tmax": 19, "sunrise": "07:17", "sunset": "18:23"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "thames-port-meadow", "name": "River Thames, Port Meadow, Oxford", "kind": "river", "river": "River Thames", "source": "curated", "notes": "", "lat": 51.7715, "lon": -1.2905, "query": {"lat": 51.7715, "lon": -1.2905, "issued_at": "2026-10-05T03:13:12.958743+01:00"}, "location": {"mode": "river", "watercourse": "River Thames", "snap_distance_m": 77, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "moved to river", "snapped": {"lat": 51.77165, "lon": -1.28941}}, "river_state": {"station": "Farmoor", "river": "River Thames", "level_m": 0.821, "typical_low_m": 0.5, "typical_high_m": 1.3, "index": 0.4, "label": "normal", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "7047", "measure": "1100TH-level-stage-i-15_min-mASD", "distance_km": 5.4, "same_river": true, "rise_6h_m": -0.005, "rise_from": "2026-10-04T20:15:00Z", "rise_to": "2026-10-05T01:45:00Z"}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 27, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.002, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.097}, {"date": "2026-10-06", "risk": 0.002, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.002, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.1}, {"date": "2026-10-07", "risk": 0.021, "label": "low", "expected_spilling_overflows": 2.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.021, "rain_48h_mm": 2.6, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.294}, {"date": "2026-10-08", "risk": 0.021, "label": "low", "expected_spilling_overflows": 0.4, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.021, "rain_48h_mm": 4.3, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.369}, {"date": "2026-10-09", "risk": 0.053, "label": "low", "expected_spilling_overflows": 4.6, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.053, "rain_48h_mm": 8.3, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.486}], "upstream_summary": {"overflows": 29, "with_live_feed": 27, "without_live_feed": 2, "sum_weight": 1.127, "history_days": 3, "max_travel_h": 32.9}, "contributors": [{"site_id": "TWL00075", "company": "Thames Water", "site_name": "Cassington STW", "receiving_watercourse": "River Thames", "lat": 51.78678346598992, "lon": -1.328144694755258, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2024-10-01T20:15:00+00:00", "latest_event_end": "2024-10-01T23:45:00+00:00", "lta_spills": 15.289999961853027, "spill_hours": 0.0, "snap_confidence": "high", "distance_km": 4.7, "lake_distance_km": 0.0, "travel_h": 2.6, "weight": 0.807, "p_spill_today": 0.001, "p_spill_tomorrow": 0.002, "p_spill_days": [0.001, 0.002, 0.012, 0.005, 0.037], "now_contribution": 0.0}, {"site_id": "TWL00110", "company": "Thames Water", "site_name": "Combe STW", "receiving_watercourse": "River Evenlode", "lat": 51.83731130028229, "lon": -1.4114292925401069, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-08-29T16:15:00+00:00", "latest_event_end": "2026-08-29T18:30:00+00:00", "lta_spills": 59.880001068115234, "spill_hours": 356.5, "snap_confidence": "high", "distance_km": 19.8, "lake_distance_km": 0.0, "travel_h": 11.0, "weight": 0.077, "p_spill_today": 0.001, "p_spill_tomorrow": 0.002, "p_spill_days": [0.001, 0.002, 0.082, 0.008, 0.172], "now_contribution": 0.0}, {"site_id": "TWL00385", "company": "Thames Water", "site_name": "Standlake STW", "receiving_watercourse": "River Windrush", "lat": 51.71793218465847, "lon": -1.4165993533840946, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-03-18T21:00:00+00:00", "latest_event_end": "2026-03-19T10:30:00+00:00", "lta_spills": 59.630001068115234, "spill_hours": 2213.75, "snap_confidence": "high", "distance_km": 20.5, "lake_distance_km": 0.0, "travel_h": 11.4, "weight": 0.034, "p_spill_today": 0.018, "p_spill_tomorrow": 0.025, "p_spill_days": [0.018, 0.025, 0.263, 0.104, 0.361], "now_contribution": 0.0}, {"site_id": "TWL00184", "company": "Thames Water", "site_name": "Finstock STW", "receiving_watercourse": "River Evenlode", "lat": 51.84998416190806, "lon": -1.4670134463039366, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-02-16T08:45:00+00:00", "latest_event_end": "2026-02-16T12:15:00+00:00", "lta_spills": 24.8799991607666, "spill_hours": 143.75, "snap_confidence": "high", "distance_km": 27.8, "lake_distance_km": 0.0, "travel_h": 15.4, "weight": 0.051, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.019, 0.006, 0.122], "now_contribution": 0.0}, {"site_id": "TWL00462", "company": "Thames Water", "site_name": "Woodstock STW", "receiving_watercourse": "River Glyme", "lat": 51.85694067030124, "lon": -1.3485904560829582, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-03-01T11:30:00+00:00", "latest_event_end": "2026-03-01T12:15:00+00:00", "lta_spills": 38.43000030517578, "spill_hours": 89.25, "snap_confidence": "high", "distance_km": 18.8, "lake_distance_km": 0.0, "travel_h": 10.5, "weight": 0.044, "p_spill_today": 0.001, "p_spill_tomorrow": 0.002, "p_spill_days": [0.001, 0.002, 0.063, 0.007, 0.117], "now_contribution": 0.0}, {"site_id": "TWL00024", "company": "Thames Water", "site_name": "Bampton STW", "receiving_watercourse": "Shill Brook", "lat": 51.722501748219976, "lon": -1.5338058407969262, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-08-27T14:45:00+00:00", "latest_event_end": "2026-08-27T16:45:00+00:00", "lta_spills": 76.75, "spill_hours": 926.0, "snap_confidence": "high", "distance_km": 28.5, "lake_distance_km": 0.0, "travel_h": 15.8, "weight": 0.017, "p_spill_today": 0.003, "p_spill_tomorrow": 0.005, "p_spill_days": [0.003, 0.005, 0.164, 0.029, 0.256], "now_contribution": 0.0}, {"site_id": "TWL00083", "company": "Thames Water", "site_name": "Charlbury STW", "receiving_watercourse": "River Evenlode", "lat": 51.8700408708531, "lon": -1.488708417668178, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-02-18T23:30:00+00:00", "latest_event_end": "2026-02-19T01:30:00+00:00", "lta_spills": 14.880000114440918, "spill_hours": 52.0, "snap_confidence": "high", "distance_km": 31.3, "lake_distance_km": 0.0, "travel_h": 17.4, "weight": 0.042, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.01, 0.004, 0.067], "now_contribution": 0.0}, {"site_id": "TWL00389", "company": "Thames Water", "site_name": "Stanton Harcourt STW", "receiving_watercourse": "Harcourt Brook", "lat": 51.75115648214668, "lon": -1.3902407460013493, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-03-15T00:00:00+00:00", "latest_event_end": "2026-03-15T00:30:00+00:00", "lta_spills": 68.5, "spill_hours": 709.25, "snap_confidence": "high", "distance_km": 11.5, "lake_distance_km": 0.0, "travel_h": 6.4, "weight": 0.005, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.096, 0.013, 0.2], "now_contribution": 0.0}, {"site_id": "TWL00042", "company": "Thames Water", "site_name": "Bledington STW", "receiving_watercourse": "Bledington Brook ", "lat": 51.903319476884135, "lon": -1.6370258794346932, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-04-13T13:30:00+00:00", "latest_event_end": "2026-04-13T14:00:00+00:00", "lta_spills": 71.43000030517578, "spill_hours": 946.75, "snap_confidence": "high", "distance_km": 51.3, "lake_distance_km": 0.0, "travel_h": 28.5, "weight": 0.004, "p_spill_today": 0.003, "p_spill_tomorrow": 0.005, "p_spill_days": [0.003, 0.005, 0.058, 0.022, 0.234], "now_contribution": 0.0}, {"site_id": "TWL00098", "company": "Thames Water", "site_name": "Church Hanborough STW", "receiving_watercourse": "Hanborough Stream", "lat": 51.813369142469305, "lon": -1.3888212252422436, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-03-16T21:30:00+00:00", "latest_event_end": "2026-03-17T00:15:00+00:00", "lta_spills": 83.5, "spill_hours": 1236.0, "snap_confidence": "low", "distance_km": 9.9, "lake_distance_km": 0.0, "travel_h": 5.5, "weight": 0.004, "p_spill_today": 0.002, "p_spill_tomorrow": 0.003, "p_spill_days": [0.002, 0.003, 0.091, 0.02, 0.203], "now_contribution": 0.0}], "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 21, "sunrise": "07:12", "sunset": "18:33"}, {"date": "2026-10-06", "tmax": 20, "sunrise": "07:14", "sunset": "18:31"}, {"date": "2026-10-07", "tmax": 16, "sunrise": "07:15", "sunset": "18:29"}, {"date": "2026-10-08", "tmax": 14, "sunrise": "07:17", "sunset": "18:26"}, {"date": "2026-10-09", "tmax": 18, "sunrise": "07:19", "sunset": "18:24"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "ouse-barcombe-mills", "name": "River Ouse (Sussex), Barcombe Mills", "kind": "river", "river": "River Ouse", "source": "curated", "notes": "", "lat": 50.9086, "lon": 0.0298, "query": {"lat": 50.9086, "lon": 0.0298, "issued_at": "2026-10-05T03:13:13.413743+01:00"}, "location": {"mode": "river", "watercourse": "River Ouse", "snap_distance_m": 235, "form": "tidalRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "on river", "snapped": {"lat": 50.90915, "lon": 0.03302}}, "river_state": {"station": "Barcombe", "river": "River Ouse", "level_m": 2.509, "typical_low_m": 1.8, "typical_high_m": 5.7, "index": 0.18, "label": "normal", "observed_at": "2026-10-05T01:30:00Z", "age_hours": 0.7, "stale": false, "rloi": "9249", "measure": "E8371-level-stage-i-15_min-mAOD", "distance_km": 0.9, "same_river": true, "rise_6h_m": -0.006, "rise_from": "2026-10-04T20:15:00Z", "rise_to": "2026-10-05T01:30:00Z"}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 46, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.002, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.096}, {"date": "2026-10-06", "risk": 0.002, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.002, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.098}, {"date": "2026-10-07", "risk": 0.018, "label": "low", "expected_spilling_overflows": 0.7, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.018, "rain_48h_mm": 1.7, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.25}, {"date": "2026-10-08", "risk": 0.012, "label": "low", "expected_spilling_overflows": 0.2, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.012, "rain_48h_mm": 3.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.291}, {"date": "2026-10-09", "risk": 0.057, "label": "low", "expected_spilling_overflows": 2.9, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.057, "rain_48h_mm": 6.7, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.465}], "upstream_summary": {"overflows": 47, "with_live_feed": 46, "without_live_feed": 1, "sum_weight": 1.506, "history_days": 2, "max_travel_h": 19.3}, "contributors": [{"site_id": "SWS00602", "company": "Southern Water", "site_name": "NEWICK SSO - 115728", "receiving_watercourse": "OUSE", "lat": 50.979708, "lon": 0.029155, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-04T22:56:30+00:00", "latest_event_start": "2026-02-07T10:16:56+00:00", "latest_event_end": "2026-02-07T12:56:31+00:00", "lta_spills": 20.290000915527344, "spill_hours": 63.98611068725586, "snap_confidence": "high", "distance_km": 12.0, "lake_distance_km": 0.0, "travel_h": 6.7, "weight": 0.27, "p_spill_today": 0.001, "p_spill_tomorrow": 0.002, "p_spill_days": [0.001, 0.002, 0.009, 0.004, 0.049], "now_contribution": 0.0}, {"site_id": "SWS00601", "company": "Southern Water", "site_name": "NEWICK CSO - 115996", "receiving_watercourse": "OUSE", "lat": 50.979708, "lon": 0.029155, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-04T22:56:30+00:00", "latest_event_start": "2026-09-08T11:12:19+00:00", "latest_event_end": "2026-09-09T00:00:00+00:00", "lta_spills": 17.860000610351562, "spill_hours": 36.17166519165039, "snap_confidence": "high", "distance_km": 12.0, "lake_distance_km": 0.0, "travel_h": 6.7, "weight": 0.27, "p_spill_today": 0.001, "p_spill_tomorrow": 0.002, "p_spill_days": [0.001, 0.002, 0.009, 0.004, 0.049], "now_contribution": 0.0}, {"site_id": "SWS00746", "company": "Southern Water", "site_name": "SCAYNES HILL SSO - 115742", "receiving_watercourse": "OUSE", "lat": 51.004561, "lon": -0.035757, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-04T22:56:30+00:00", "latest_event_start": "2026-02-19T20:34:51+00:00", "latest_event_end": "2026-02-19T21:38:59+00:00", "lta_spills": 39.11000061035156, "spill_hours": 291.06915283203125, "snap_confidence": "high", "distance_km": 20.7, "lake_distance_km": 0.0, "travel_h": 11.5, "weight": 0.136, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.023, 0.005, 0.084], "now_contribution": 0.0}, {"site_id": "SWS00745", "company": "Southern Water", "site_name": "SCAYNES HILL CSO - 116199", "receiving_watercourse": "OUSE", "lat": 51.004561, "lon": -0.035757, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-04T22:56:30+00:00", "latest_event_start": "2024-09-23T06:54:22+00:00", "latest_event_end": "2024-09-23T07:04:47+00:00", "lta_spills": 1.6699999570846558, "spill_hours": 0.0, "snap_confidence": "high", "distance_km": 20.7, "lake_distance_km": 0.0, "travel_h": 11.5, "weight": 0.136, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.001, 0.001, 0.002], "now_contribution": 0.0}, {"site_id": "SWS00039", "company": "Southern Water", "site_name": "BARCOMBE NEW SSO - 115373", "receiving_watercourse": "OUSE", "lat": 50.932266, "lon": 0.011007, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-04T22:56:30+00:00", "latest_event_start": "2026-06-09T14:35:13+00:00", "latest_event_end": "2026-06-10T00:07:30+00:00", "lta_spills": 69.11000061035156, "spill_hours": 510.11639404296875, "snap_confidence": "high", "distance_km": 6.4, "lake_distance_km": 0.0, "travel_h": 3.6, "weight": 0.071, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.092, 0.011, 0.145], "now_contribution": 0.0}, {"site_id": "SWS00054", "company": "Southern Water", "site_name": "BELL LANE UCKFIELD CEO - 108349", "receiving_watercourse": "UCK", "lat": 50.968191, "lon": 0.090611, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-04T22:56:30+00:00", "latest_event_start": "2026-02-03T19:00:36+00:00", "latest_event_end": "2026-02-03T19:28:59+00:00", "lta_spills": 5.329999923706055, "spill_hours": 14.070555686950684, "snap_confidence": "high", "distance_km": 11.3, "lake_distance_km": 0.0, "travel_h": 6.3, "weight": 0.097, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.003, 0.003, 0.015], "now_contribution": 0.0}, {"site_id": "SWS00431", "company": "Southern Water", "site_name": "HIGH STREET UCKFIELD CSO - 108371", "receiving_watercourse": "UCK", "lat": 50.968723, "lon": 0.096048, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-04T22:56:30+00:00", "latest_event_start": "2026-09-08T11:24:00+00:00", "latest_event_end": "2026-09-08T11:46:00+00:00", "lta_spills": 35.66999816894531, "spill_hours": 40.05555725097656, "snap_confidence": "high", "distance_km": 11.6, "lake_distance_km": 0.0, "travel_h": 6.5, "weight": 0.096, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.024, 0.003, 0.094], "now_contribution": 0.0}, {"site_id": "SWS00131", "company": "Southern Water", "site_name": "BUXTED SSO - 115400", "receiving_watercourse": "UCK", "lat": 50.993139, "lon": 0.1285, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-04T22:56:30+00:00", "latest_event_start": "2026-02-19T03:59:30+00:00", "latest_event_end": "2026-02-19T04:15:47+00:00", "lta_spills": 66.55999755859375, "spill_hours": 170.58389282226562, "snap_confidence": "high", "distance_km": 16.0, "lake_distance_km": 0.0, "travel_h": 8.9, "weight": 0.039, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.07, 0.007, 0.152], "now_contribution": 0.0}, {"site_id": "SWS00100", "company": "Southern Water", "site_name": "BRITTS FARM BUXTED CEO - 110192", "receiving_watercourse": "TRIB OF TICKERAGE STREAM", "lat": 50.98894673795428, "lon": 0.1399683596544563, "status": -2, "has_live": false, "data_state": "offline", "feed_updated_at": null, "latest_event_start": null, "latest_event_end": null, "lta_spills": 0.0, "spill_hours": 0.0, "snap_confidence": "medium", "distance_km": 15.2, "lake_distance_km": 0.0, "travel_h": 8.4, "weight": 0.025, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.002, 0.001, 0.006], "now_contribution": 0.0}, {"site_id": "SWS00791", "company": "Southern Water", "site_name": "SOUTH STREET CHAILEY CEO - 108337", "receiving_watercourse": "LONGFORD STREAM", "lat": 50.949344, "lon": -0.020005, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-04T22:56:30+00:00", "latest_event_start": "2026-01-27T10:15:51+00:00", "latest_event_end": "2026-01-27T10:37:30+00:00", "lta_spills": 4.0, "spill_hours": 8.067777633666992, "snap_confidence": "medium", "distance_km": 12.9, "lake_distance_km": 0.0, "travel_h": 7.2, "weight": 0.023, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.005, 0.002, 0.01], "now_contribution": 0.0}], "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 20, "sunrise": "07:06", "sunset": "18:29"}, {"date": "2026-10-06", "tmax": 21, "sunrise": "07:08", "sunset": "18:26"}, {"date": "2026-10-07", "tmax": 15, "sunrise": "07:09", "sunset": "18:24"}, {"date": "2026-10-08", "tmax": 14, "sunrise": "07:11", "sunset": "18:22"}, {"date": "2026-10-09", "tmax": 20, "sunrise": "07:12", "sunset": "18:20"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "medway-tonbridge", "name": "River Medway, Tonbridge", "kind": "river", "river": "River Medway", "source": "curated", "notes": "", "lat": 51.196, "lon": 0.274, "query": {"lat": 51.196, "lon": 0.274, "issued_at": "2026-10-05T03:13:13.896453+01:00"}, "location": {"mode": "river", "watercourse": "River Medway", "snap_distance_m": 47, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "on river", "snapped": {"lat": 51.19558, "lon": 0.27405}}, "river_state": {"station": "Town Lock", "river": "River Medway", "level_m": 1.103, "typical_low_m": 0.882, "typical_high_m": 1.66, "index": 0.28, "label": "normal", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "1090", "measure": "E1550-level-stage-i-15_min-mASD", "distance_km": 0.3, "same_river": true, "rise_6h_m": 0.001, "rise_from": "2026-10-04T20:15:00Z", "rise_to": "2026-10-05T01:45:00Z"}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 64, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.003, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.106}, {"date": "2026-10-06", "risk": 0.003, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.003, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.107}, {"date": "2026-10-07", "risk": 0.05, "label": "low", "expected_spilling_overflows": 1.4, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.05, "rain_48h_mm": 1.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.287}, {"date": "2026-10-08", "risk": 0.026, "label": "low", "expected_spilling_overflows": 0.3, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.026, "rain_48h_mm": 3.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.332}, {"date": "2026-10-09", "risk": 0.101, "label": "low", "expected_spilling_overflows": 4.4, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.101, "rain_48h_mm": 5.7, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.495}], "upstream_summary": {"overflows": 67, "with_live_feed": 64, "without_live_feed": 3, "sum_weight": 2.271, "history_days": 3, "max_travel_h": 24.6}, "contributors": [{"site_id": "SWS00657", "company": "Southern Water", "site_name": "PENSHURST CSO - 115997", "receiving_watercourse": "MEDWAY", "lat": 51.173322, "lon": 0.18958, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-04T22:56:30+00:00", "latest_event_start": "2026-09-11T04:21:40+00:00", "latest_event_end": "2026-09-11T04:40:01+00:00", "lta_spills": 66.55999755859375, "spill_hours": 350.2613830566406, "snap_confidence": "high", "distance_km": 8.9, "lake_distance_km": 0.0, "travel_h": 4.9, "weight": 0.6, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.077, 0.011, 0.143], "now_contribution": 0.0}, {"site_id": "SWS00290", "company": "Southern Water", "site_name": "ENSFIELD ROAD LEIGH CEO - 108669", "receiving_watercourse": "THE RIVER MEDWAY", "lat": 51.187882573139206, "lon": 0.21714782093702892, "status": -2, "has_live": false, "data_state": "offline", "feed_updated_at": null, "latest_event_start": null, "latest_event_end": null, "lta_spills": 0.0, "spill_hours": 0.0, "snap_confidence": "high", "distance_km": 5.0, "lake_distance_km": 0.0, "travel_h": 2.8, "weight": 0.719, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.002, 0.002, 0.005], "now_contribution": 0.0}, {"site_id": "SWS00153", "company": "Southern Water", "site_name": "CHAFFORD LANE FORDCOMBE CEO - 108599", "receiving_watercourse": "MEDWAY", "lat": 51.140469, "lon": 0.166866, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-04T22:56:30+00:00", "latest_event_start": "2025-04-04T10:26:52+00:00", "latest_event_end": "2025-04-04T10:30:37+00:00", "lta_spills": 2.5, "spill_hours": 0.0, "snap_confidence": "high", "distance_km": 14.8, "lake_distance_km": 0.0, "travel_h": 8.2, "weight": 0.228, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.002, 0.002, 0.004], "now_contribution": 0.0}, {"site_id": "SWS00407", "company": "Southern Water", "site_name": "HAWDEN ROAD TONBRIDGE CSO - 108736", "receiving_watercourse": "HILDEN BROOK", "lat": 51.197754, "lon": 0.271328, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-04T22:56:30+00:00", "latest_event_start": "2026-09-08T11:28:00+00:00", "latest_event_end": "2026-09-08T11:56:00+00:00", "lta_spills": 27.329999923706055, "spill_hours": 16.75, "snap_confidence": "high", "distance_km": 0.4, "lake_distance_km": 0.0, "travel_h": 0.2, "weight": 0.089, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.028, 0.003, 0.073], "now_contribution": 0.0}, {"site_id": "SWS00281", "company": "Southern Water", "site_name": "EDENBRIDGE SSO - 115738", "receiving_watercourse": "EDEN", "lat": 51.198885, "lon": 0.079998, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-04T22:56:30+00:00", "latest_event_start": "2026-09-08T11:12:33+00:00", "latest_event_end": "2026-09-08T16:11:56+00:00", "lta_spills": 53.66999816894531, "spill_hours": 415.6622314453125, "snap_confidence": "high", "distance_km": 24.6, "lake_distance_km": 0.0, "travel_h": 13.7, "weight": 0.085, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.04, 0.008, 0.093], "now_contribution": 0.0}, {"site_id": "SWS00433", "company": "Southern Water", "site_name": "HILDEN BRIDGE CEO - 108812", "receiving_watercourse": "HILDEN BROOK", "lat": 51.203498, "lon": 0.267316, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-04T22:56:30+00:00", "latest_event_start": "2026-02-03T18:36:42+00:00", "latest_event_end": "2026-02-03T23:43:53+00:00", "lta_spills": 9.4399995803833, "spill_hours": 61.483890533447266, "snap_confidence": "high", "distance_km": 1.2, "lake_distance_km": 0.0, "travel_h": 0.7, "weight": 0.045, "p_spill_today": 0.001, "p_spill_tomorrow": 0.002, "p_spill_days": [0.001, 0.002, 0.016, 0.005, 0.039], "now_contribution": 0.0}, {"site_id": "SWS00500", "company": "Southern Water", "site_name": "LEIGH ROAD HILDENBOROUGH CSO - 109117", "receiving_watercourse": "A TRIB OF THE RIVER MEDWAY", "lat": 51.21068706780968, "lon": 0.24745190880388815, "status": -2, "has_live": false, "data_state": "offline", "feed_updated_at": null, "latest_event_start": null, "latest_event_end": null, "lta_spills": 0.7799999713897705, "spill_hours": 0.0, "snap_confidence": "medium", "distance_km": 2.0, "lake_distance_km": 0.0, "travel_h": 1.1, "weight": 0.044, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.001, 0.001, 0.001], "now_contribution": 0.0}, {"site_id": "SWS00434", "company": "Southern Water", "site_name": "HILDEN PARK ROAD HILDENBOROUGH CEO - 108655", "receiving_watercourse": "HILDEN BROOK", "lat": 51.206928, "lon": 0.255973, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-04T22:56:30+00:00", "latest_event_start": "2026-09-08T11:26:35+00:00", "latest_event_end": "2026-09-08T15:51:21+00:00", "lta_spills": 41.439998626708984, "spill_hours": 73.6661148071289, "snap_confidence": "high", "distance_km": 2.4, "lake_distance_km": 0.0, "travel_h": 1.3, "weight": 0.034, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.039, 0.008, 0.087], "now_contribution": 0.0}, {"site_id": "SWS00189", "company": "Southern Water", "site_name": "COLDHARBOUR LANE HILDENBOROUGH REAR 30 CSO - 108612", "receiving_watercourse": "HILDEN BROOK", "lat": 51.219392, "lon": 0.254635, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-04T22:56:30+00:00", "latest_event_start": "2026-09-08T19:32:00+00:00", "latest_event_end": "2026-09-08T19:34:00+00:00", "lta_spills": 9.5, "spill_hours": 232.78334045410156, "snap_confidence": "high", "distance_km": 4.5, "lake_distance_km": 0.0, "travel_h": 2.5, "weight": 0.031, "p_spill_today": 0.001, "p_spill_tomorrow": 0.002, "p_spill_days": [0.001, 0.002, 0.02, 0.005, 0.058], "now_contribution": 0.0}, {"site_id": "SWS00190", "company": "Southern Water", "site_name": "COLDHARBOUR LANE HILDENBOROUGH CEO - 108613", "receiving_watercourse": "HILDEN BROOK", "lat": 51.220773, "lon": 0.252984, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-04T22:56:30+00:00", "latest_event_start": "2026-09-08T12:04:27+00:00", "latest_event_end": "2026-09-08T13:00:00+00:00", "lta_spills": 66.88999938964844, "spill_hours": 520.451416015625, "snap_confidence": "high", "distance_km": 4.9, "lake_distance_km": 0.0, "travel_h": 2.7, "weight": 0.021, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.073, 0.016, 0.142], "now_contribution": 0.0}], "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 22, "sunrise": "07:05", "sunset": "18:27"}, {"date": "2026-10-06", "tmax": 21, "sunrise": "07:07", "sunset": "18:25"}, {"date": "2026-10-07", "tmax": 15, "sunrise": "07:09", "sunset": "18:23"}, {"date": "2026-10-08", "tmax": 14, "sunrise": "07:10", "sunset": "18:21"}, {"date": "2026-10-09", "tmax": 20, "sunrise": "07:12", "sunset": "18:19"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "osm-ullswater-sandwick", "name": "Ullswater, near Sandwick", "kind": "lake", "river": null, "source": "openstreetmap", "notes": "Location \u00a9 OpenStreetMap contributors", "lat": 54.57432, "lon": -2.91114, "osm_id": "node/14066536782", "query": {"lat": 54.57432, "lon": -2.91114, "issued_at": "2026-10-05T03:13:14.492485+01:00"}, "location": {"mode": "lake", "watercourse": "Ullswater", "snap_distance_m": 371, "form": "lake", "lake_area_km2": 8.8, "lake_source": "polygon", "adopted_main_channel": false, "placement": null, "snapped": {"lat": 54.57115, "lon": -2.90933}}, "river_state": {"station": "Glenridding Steamer Pier", "river": "Ullswater", "level_m": 0.807, "typical_low_m": 0.434, "typical_high_m": 2.05, "index": 0.23, "label": "normal", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "5166", "measure": "761514-level-stage-i-15_min-m", "distance_km": 4.0, "same_river": true}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": false, "season_validated_months": [5, 6, 7, 8, 9], "note": "Not validated on lakes: no ranking skill in the fitting data (16 exceedances in 803 lake samples)."}, "now": {"risk": 0.001, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 1, "monitored_upstream": 1, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.002, "label": "low", "expected_spilling_overflows": 0.3, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 1.3, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.03}, {"date": "2026-10-06", "risk": 0.002, "label": "low", "expected_spilling_overflows": 0.2, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 4.3, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.027}, {"date": "2026-10-07", "risk": 0.001, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.001, "rain_48h_mm": 3.9, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.029}, {"date": "2026-10-08", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.9, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.031}, {"date": "2026-10-09", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.2, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 3.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.023}], "upstream_summary": {"overflows": 1, "with_live_feed": 1, "without_live_feed": 0, "sum_weight": 0.008, "history_days": 2, "max_travel_h": 21.5}, "contributors": [{"site_id": "UUP00808", "company": "United Utilities", "site_name": "GLENRIDDING WwTW", "receiving_watercourse": "Glenridding Beck", "lat": 54.5429774769697, "lon": -2.952910279731, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-10-02T23:22:50.800000+00:00", "latest_event_end": "2026-10-02T23:35:17.500000+00:00", "lta_spills": 65.57142639160156, "spill_hours": 144.16111755371094, "snap_confidence": "high", "distance_km": 0.7, "lake_distance_km": 3.8, "travel_h": 21.5, "weight": 0.008, "p_spill_today": 0.258, "p_spill_tomorrow": 0.199, "p_spill_days": [0.258, 0.199, 0.054, 0.022, 0.218], "now_contribution": 0.001}], "access": {"status": "unconfirmed", "checked_at": "2026-10-03", "text": "The Lake District authority allows swimming in this lake. Access and permission at this particular entry point have not been confirmed; check the bank, current signs and boat traffic.", "url": "https://lakedistrict.gov.uk/explore/things-to-do/on-the-water/lakes-activities-guide/"}, "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 16, "sunrise": "07:21", "sunset": "18:37"}, {"date": "2026-10-06", "tmax": 14, "sunrise": "07:23", "sunset": "18:35"}, {"date": "2026-10-07", "tmax": 11, "sunrise": "07:24", "sunset": "18:32"}, {"date": "2026-10-08", "tmax": 11, "sunrise": "07:26", "sunset": "18:30"}, {"date": "2026-10-09", "tmax": 12, "sunrise": "07:28", "sunset": "18:28"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "osm-windermere-waterhead", "name": "Windermere, Waterhead, Ambleside", "kind": "lake", "river": null, "source": "openstreetmap", "notes": "Location \u00a9 OpenStreetMap contributors", "lat": 54.41897, "lon": -2.96235, "osm_id": "node/11146689325", "query": {"lat": 54.41897, "lon": -2.96235, "issued_at": "2026-10-05T03:13:14.663531+01:00"}, "location": {"mode": "lake", "watercourse": "Windermere (N Basin)", "snap_distance_m": 330, "form": "lake", "lake_area_km2": 8.7, "lake_source": "polygon", "adopted_main_channel": false, "placement": null, "snapped": {"lat": 54.41619, "lon": -2.9606}}, "river_state": {"station": "Far Sawrey", "river": "Windermere", "level_m": 0.52, "typical_low_m": 0.228, "typical_high_m": 1.0, "index": 0.38, "label": "normal", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "5164", "measure": "735225-level-stage-i-15_min-m", "distance_km": 7.5, "same_river": true}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": false, "season_validated_months": [5, 6, 7, 8, 9], "note": "Not validated on lakes: no ranking skill in the fitting data (16 exceedances in 803 lake samples)."}, "now": {"risk": 0.005, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 1, "monitored_upstream": 4, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.006, "label": "low", "expected_spilling_overflows": 0.3, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 1.5, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.042}, {"date": "2026-10-06", "risk": 0.009, "label": "low", "expected_spilling_overflows": 0.4, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.008, "rain_48h_mm": 3.7, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.043}, {"date": "2026-10-07", "risk": 0.005, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.005, "rain_48h_mm": 3.4, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.04}, {"date": "2026-10-08", "risk": 0.002, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.002, "rain_48h_mm": 1.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.039}, {"date": "2026-10-09", "risk": 0.012, "label": "low", "expected_spilling_overflows": 0.5, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.012, "rain_48h_mm": 4.7, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.041}], "upstream_summary": {"overflows": 4, "with_live_feed": 4, "without_live_feed": 0, "sum_weight": 0.153, "history_days": 3, "max_travel_h": 38.7}, "contributors": [{"site_id": "UUP00114", "company": "United Utilities", "site_name": "AMBLESIDE WwTW", "receiving_watercourse": "River Rothay", "lat": 54.4288753185906, "lon": -2.9709158486915, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-03-24T15:40:12.400000+00:00", "latest_event_end": "2026-03-25T23:54:13.800000+00:00", "lta_spills": 61.57143020629883, "spill_hours": 983.0338745117188, "snap_confidence": "high", "distance_km": 1.4, "lake_distance_km": 0.4, "travel_h": 3.2, "weight": 0.096, "p_spill_today": 0.018, "p_spill_tomorrow": 0.071, "p_spill_days": [0.018, 0.071, 0.035, 0.014, 0.104], "now_contribution": 0.0}, {"site_id": "UUP00829", "company": "United Utilities", "site_name": "Grasmere Waste Water Treatment Works", "receiving_watercourse": "Grasmere Lake", "lat": 54.4526409716062, "lon": -3.0206800859213, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-10-04T20:06:00+00:00", "latest_event_end": "2026-10-04T20:08:00+00:00", "lta_spills": 83.71428680419922, "spill_hours": 407.6333312988281, "snap_confidence": "high", "distance_km": 7.7, "lake_distance_km": 0.4, "travel_h": 6.7, "weight": 0.005, "p_spill_today": 0.293, "p_spill_tomorrow": 0.223, "p_spill_days": [0.293, 0.223, 0.05, 0.015, 0.228], "now_contribution": 0.005}, {"site_id": "UUP00702", "company": "United Utilities", "site_name": "Elterwater pumping station (ELTER) (LAK0025)", "receiving_watercourse": "Great Langdale Beck", "lat": 54.4334433491738, "lon": -3.0376235488447, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-06-05T02:08:00+00:00", "latest_event_end": "2026-06-05T02:12:00+00:00", "lta_spills": 39.85714340209961, "spill_hours": 423.1805419921875, "snap_confidence": "high", "distance_km": 6.0, "lake_distance_km": 0.4, "travel_h": 5.7, "weight": 0.034, "p_spill_today": 0.011, "p_spill_tomorrow": 0.049, "p_spill_days": [0.011, 0.049, 0.013, 0.004, 0.077], "now_contribution": 0.0}, {"site_id": "UUP00804", "company": "United Utilities", "site_name": "Glebe Road PS", "receiving_watercourse": "Lake Windermere", "lat": 54.3581441719415, "lon": -2.9322067438749, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:56:54.962000+00:00", "latest_event_start": "2026-06-01T21:52:15.400000+00:00", "latest_event_end": "2026-06-01T21:58:25.500000+00:00", "lta_spills": 36.71428680419922, "spill_hours": 190.87916564941406, "snap_confidence": "high", "distance_km": 0.0, "lake_distance_km": 7.0, "travel_h": 38.7, "weight": 0.018, "p_spill_today": 0.002, "p_spill_tomorrow": 0.041, "p_spill_days": [0.002, 0.041, 0.007, 0.003, 0.052], "now_contribution": 0.0}], "access": {"status": "unconfirmed", "checked_at": "2026-10-03", "text": "The Lake District authority allows swimming in this lake. Access and permission at this particular entry point have not been confirmed; check the bank, current signs and boat traffic.", "url": "https://lakedistrict.gov.uk/explore/things-to-do/on-the-water/lakes-activities-guide/"}, "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 17, "sunrise": "07:21", "sunset": "18:38"}, {"date": "2026-10-06", "tmax": 15, "sunrise": "07:23", "sunset": "18:35"}, {"date": "2026-10-07", "tmax": 12, "sunrise": "07:25", "sunset": "18:33"}, {"date": "2026-10-08", "tmax": 12, "sunrise": "07:26", "sunset": "18:30"}, {"date": "2026-10-09", "tmax": 13, "sunrise": "07:28", "sunset": "18:28"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "osm-wharfe-greenholme", "name": "River Wharfe, Greenholme, Burley-in-Wharfedale", "kind": "river", "river": "River Wharfe", "source": "openstreetmap", "notes": "Location \u00a9 OpenStreetMap contributors", "lat": 53.92277, "lon": -1.74892, "osm_id": "node/9141700491", "query": {"lat": 53.92277, "lon": -1.74892, "issued_at": "2026-10-05T03:13:14.892114+01:00"}, "location": {"mode": "river", "watercourse": "River Wharfe", "snap_distance_m": 7, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "on river", "snapped": {"lat": 53.92271, "lon": -1.74892}}, "river_state": {"station": "Otley", "river": "River Wharfe", "level_m": 0.388, "typical_low_m": 0.36, "typical_high_m": 1.2, "index": 0.03, "label": "low", "observed_at": "2026-10-05T01:30:00Z", "age_hours": 0.7, "stale": false, "rloi": "8156", "measure": "L2009-level-stage-i-15_min-m", "distance_km": 4.0, "same_river": true, "rise_6h_m": -0.004, "rise_from": "2026-10-04T20:15:00Z", "rise_to": "2026-10-05T01:30:00Z"}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.05, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 2, "monitored_upstream": 24, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.023, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.172}, {"date": "2026-10-06", "risk": 0.171, "label": "moderate", "expected_spilling_overflows": 0.9, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.165, "source": {"site_id": "YWS00173", "site_name": "BEN RHYDDING/STW", "receiving_watercourse": "River Wharfe", "status": 0, "distance_km": 2.3, "lake_distance_km": 0.0, "travel_h": 1.3, "share": 0.142, "spread_over": 12}, "rain_48h_mm": 2.4, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.429}, {"date": "2026-10-07", "risk": 0.683, "label": "high", "expected_spilling_overflows": 2.8, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.683, "source": {"site_id": "YWS00173", "site_name": "BEN RHYDDING/STW", "receiving_watercourse": "River Wharfe", "status": 0, "distance_km": 2.3, "lake_distance_km": 0.0, "travel_h": 1.3, "share": 0.192, "spread_over": 10}, "rain_48h_mm": 9.6, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.741}, {"date": "2026-10-08", "risk": 0.284, "label": "moderate", "expected_spilling_overflows": 0.4, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.284, "source": {"site_id": "YWS00173", "site_name": "BEN RHYDDING/STW", "receiving_watercourse": "River Wharfe", "status": 0, "distance_km": 2.3, "lake_distance_km": 0.0, "travel_h": 1.3, "share": 0.172, "spread_over": 12}, "rain_48h_mm": 7.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.69}, {"date": "2026-10-09", "risk": 0.648, "label": "high", "expected_spilling_overflows": 2.5, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.648, "source": {"site_id": "YWS00173", "site_name": "BEN RHYDDING/STW", "receiving_watercourse": "River Wharfe", "status": 0, "distance_km": 2.3, "lake_distance_km": 0.0, "travel_h": 1.3, "share": 0.198, "spread_over": 9}, "rain_48h_mm": 3.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.602}], "upstream_summary": {"overflows": 25, "with_live_feed": 24, "without_live_feed": 1, "sum_weight": 8.932, "history_days": 2, "max_travel_h": 23.9}, "contributors": [{"site_id": "YWS00173", "company": "Yorkshire Water", "site_name": "BEN RHYDDING/STW", "receiving_watercourse": "River Wharfe", "lat": 53.921722, "lon": -1.777046, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2026-09-04T05:01:21+00:00", "latest_event_end": "2026-09-04T05:04:32+00:00", "lta_spills": 122.83000183105469, "spill_hours": 1758.5, "snap_confidence": "high", "distance_km": 2.3, "lake_distance_km": 0.0, "travel_h": 1.3, "weight": 0.864, "p_spill_today": 0.007, "p_spill_tomorrow": 0.032, "p_spill_days": [0.007, 0.032, 0.24, 0.055, 0.225], "now_contribution": 0.0}, {"site_id": "YWS00171", "company": "Yorkshire Water", "site_name": "WYVIL CRESCENT/CSO", "receiving_watercourse": "River Wharfe", "lat": 53.929104, "lon": -1.794246, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2026-09-08T14:47:31+00:00", "latest_event_end": "2026-09-08T15:26:28+00:00", "lta_spills": 87.66999816894531, "spill_hours": 594.75, "snap_confidence": "high", "distance_km": 4.0, "lake_distance_km": 0.0, "travel_h": 2.2, "weight": 0.779, "p_spill_today": 0.002, "p_spill_tomorrow": 0.026, "p_spill_days": [0.002, 0.026, 0.199, 0.022, 0.172], "now_contribution": 0.0}, {"site_id": "YWS00175", "company": "Yorkshire Water", "site_name": "ILKLEY/STW/6XDWF OVERFLOW", "receiving_watercourse": "RIVER WHARFE", "lat": 53.93184879382003, "lon": -1.8126306946018829, "status": -2, "has_live": false, "data_state": "offline", "feed_updated_at": null, "latest_event_start": null, "latest_event_end": null, "lta_spills": 81.16999816894531, "spill_hours": 298.29998779296875, "snap_confidence": "high", "distance_km": 5.3, "lake_distance_km": 0.0, "travel_h": 2.9, "weight": 0.713, "p_spill_today": 0.002, "p_spill_tomorrow": 0.032, "p_spill_days": [0.002, 0.032, 0.202, 0.016, 0.178], "now_contribution": 0.0}, {"site_id": "YWS00174", "company": "Yorkshire Water", "site_name": "ILKLEY/STW/3XDWF OVERFLOW", "receiving_watercourse": "River Wharfe", "lat": 53.931885, "lon": -1.812509, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2026-03-27T03:43:05+00:00", "latest_event_end": "2026-03-27T03:43:19+00:00", "lta_spills": 77.0, "spill_hours": 726.9666748046875, "snap_confidence": "high", "distance_km": 5.3, "lake_distance_km": 0.0, "travel_h": 2.9, "weight": 0.714, "p_spill_today": 0.002, "p_spill_tomorrow": 0.026, "p_spill_days": [0.002, 0.026, 0.191, 0.025, 0.178], "now_contribution": 0.0}, {"site_id": "YWS01032", "company": "Yorkshire Water", "site_name": "WHEATLEY LANE/2 CSO", "receiving_watercourse": "River Wharfe", "lat": 53.929104, "lon": -1.794231, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2026-09-04T01:02:04+00:00", "latest_event_end": "2026-09-04T02:08:34+00:00", "lta_spills": 64.5, "spill_hours": 255.0, "snap_confidence": "high", "distance_km": 4.0, "lake_distance_km": 0.0, "travel_h": 2.2, "weight": 0.779, "p_spill_today": 0.002, "p_spill_tomorrow": 0.03, "p_spill_days": [0.002, 0.03, 0.148, 0.015, 0.137], "now_contribution": 0.0}, {"site_id": "YWS00674", "company": "Yorkshire Water", "site_name": "RIVADALE VIEW/CSO", "receiving_watercourse": "River Wharfe", "lat": 53.928606, "lon": -1.819894, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2026-05-08T15:36:24+00:00", "latest_event_end": "2026-05-08T15:39:23+00:00", "lta_spills": 48.5, "spill_hours": 48.25, "snap_confidence": "high", "distance_km": 6.0, "lake_distance_km": 0.0, "travel_h": 3.3, "weight": 0.69, "p_spill_today": 0.002, "p_spill_tomorrow": 0.02, "p_spill_days": [0.002, 0.02, 0.122, 0.02, 0.123], "now_contribution": 0.0}, {"site_id": "YWS02298", "company": "Yorkshire Water", "site_name": null, "receiving_watercourse": "#N/A", "lat": 53.930426, "lon": -1.79957, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2026-10-03T11:44:25+00:00", "latest_event_end": "2026-10-03T12:16:00+00:00", "lta_spills": null, "spill_hours": null, "snap_confidence": "high", "distance_km": 4.4, "lake_distance_km": 0.0, "travel_h": 2.4, "weight": 0.749, "p_spill_today": 0.002, "p_spill_tomorrow": 0.021, "p_spill_days": [0.002, 0.021, 0.1, 0.018, 0.107], "now_contribution": 0.049}, {"site_id": "YWS01033", "company": "Yorkshire Water", "site_name": "WYVILL ROAD/CSO", "receiving_watercourse": "River Wharfe", "lat": 53.929235, "lon": -1.797215, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2023-06-23T06:45:00+00:00", "latest_event_end": "2023-06-23T06:46:00+00:00", "lta_spills": 0.33000001311302185, "spill_hours": 0.0, "snap_confidence": "high", "distance_km": 4.2, "lake_distance_km": 0.0, "travel_h": 2.3, "weight": 0.773, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.002, 0.001, 0.003], "now_contribution": 0.0}, {"site_id": "YWS00176", "company": "Yorkshire Water", "site_name": "ILKLEY MIDDLETON/CSO", "receiving_watercourse": "River Wharfe", "lat": 53.932214, "lon": -1.816437, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2026-03-31T03:49:56+00:00", "latest_event_end": "2026-03-31T04:18:39+00:00", "lta_spills": 36.0, "spill_hours": 214.5, "snap_confidence": "high", "distance_km": 5.5, "lake_distance_km": 0.0, "travel_h": 3.1, "weight": 0.706, "p_spill_today": 0.002, "p_spill_tomorrow": 0.02, "p_spill_days": [0.002, 0.02, 0.097, 0.018, 0.103], "now_contribution": 0.0}, {"site_id": "YWS00145", "company": "Yorkshire Water", "site_name": "ADDINGHAM/NO 1 SPS/PRELIMINARY TREATMENT-STW/6XDWF OVERFLOW", "receiving_watercourse": "Low Mills Mill Race", "lat": 53.937041, "lon": -1.864397, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2026-04-20T10:14:24+00:00", "latest_event_end": "2026-04-20T10:19:34+00:00", "lta_spills": 47.66999816894531, "spill_hours": 61.0, "snap_confidence": "high", "distance_km": 9.6, "lake_distance_km": 0.0, "travel_h": 5.3, "weight": 0.56, "p_spill_today": 0.003, "p_spill_tomorrow": 0.022, "p_spill_days": [0.003, 0.022, 0.129, 0.02, 0.119], "now_contribution": 0.0}], "access": {"status": "unconfirmed", "checked_at": "2026-10-03", "text": "Permission to enter the water at this point has not been confirmed. A mapped swimming place or public footpath does not establish swimming permission. Check current signs and the landowner's rules."}, "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 18, "sunrise": "07:15", "sunset": "18:33"}, {"date": "2026-10-06", "tmax": 16, "sunrise": "07:17", "sunset": "18:31"}, {"date": "2026-10-07", "tmax": 13, "sunrise": "07:19", "sunset": "18:28"}, {"date": "2026-10-08", "tmax": 13, "sunrise": "07:21", "sunset": "18:26"}, {"date": "2026-10-09", "tmax": 15, "sunrise": "07:23", "sunset": "18:24"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "osm-rivelin-plunge-pool", "name": "River Rivelin, plunge pool, Rivelin Valley", "kind": "river", "river": "River Rivelin", "source": "openstreetmap", "notes": "Location \u00a9 OpenStreetMap contributors", "lat": 53.38169, "lon": -1.56, "osm_id": "way/1317352569", "query": {"lat": 53.38169, "lon": -1.56, "issued_at": "2026-10-05T03:13:15.263139+01:00"}, "location": {"mode": "river", "watercourse": "River Rivelin", "snap_distance_m": 2, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "on river", "snapped": {"lat": 53.38171, "lon": -1.56001}}, "river_state": {"station": "Loxley Rowell Bridge", "river": "River Loxley", "level_m": 0.074, "typical_low_m": 0.061, "typical_high_m": 0.56, "index": 0.03, "label": "low", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "8249", "measure": "F0513-level-stage-i-15_min-m", "distance_km": 2.4, "same_river": false}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 1, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.008, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.5, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.16}, {"date": "2026-10-06", "risk": 0.027, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.027, "rain_48h_mm": 3.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.33}, {"date": "2026-10-07", "risk": 0.067, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.067, "rain_48h_mm": 16.1, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.586}, {"date": "2026-10-08", "risk": 0.008, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.008, "rain_48h_mm": 13.4, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.537}, {"date": "2026-10-09", "risk": 0.039, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.039, "rain_48h_mm": 3.6, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.36}], "upstream_summary": {"overflows": 1, "with_live_feed": 1, "without_live_feed": 0, "sum_weight": 0.856, "history_days": 2, "max_travel_h": 0.4}, "contributors": [{"site_id": "YWS00002", "company": "Yorkshire Water", "site_name": "ROCHESTER ROAD/CSO", "receiving_watercourse": "Unnamed Trib Of Black Brook (via public sewer)", "lat": 53.373649, "lon": -1.560168, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T01:42:32+00:00", "latest_event_start": "2026-08-30T21:20:28+00:00", "latest_event_end": "2026-08-31T00:16:10+00:00", "lta_spills": 13.670000076293945, "spill_hours": 44.75, "snap_confidence": "high", "distance_km": 0.7, "lake_distance_km": 0.0, "travel_h": 0.4, "weight": 0.856, "p_spill_today": 0.009, "p_spill_tomorrow": 0.032, "p_spill_days": [0.009, 0.032, 0.079, 0.009, 0.046], "now_contribution": 0.0}], "access": {"status": "unconfirmed", "checked_at": "2026-10-03", "text": "Permission to enter the water at this point has not been confirmed. A mapped swimming place or public footpath does not establish swimming permission. Check current signs and the landowner's rules."}, "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 18, "sunrise": "07:14", "sunset": "18:33"}, {"date": "2026-10-06", "tmax": 18, "sunrise": "07:16", "sunset": "18:31"}, {"date": "2026-10-07", "tmax": 13, "sunrise": "07:18", "sunset": "18:28"}, {"date": "2026-10-08", "tmax": 13, "sunrise": "07:20", "sunset": "18:26"}, {"date": "2026-10-09", "tmax": 15, "sunrise": "07:22", "sunset": "18:24"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "osm-burbage-padley-gorge", "name": "Burbage Brook, Padley Gorge", "kind": "river", "river": "Burbage Brook", "source": "openstreetmap", "notes": "Location \u00a9 OpenStreetMap contributors", "lat": 53.3186, "lon": -1.61385, "osm_id": "way/1296709877", "query": {"lat": 53.3186, "lon": -1.61385, "issued_at": "2026-10-05T03:13:15.496150+01:00"}, "location": {"mode": "river", "watercourse": "Burbage Brook", "snap_distance_m": 1, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "on river", "snapped": {"lat": 53.31859, "lon": -1.61384}}, "river_state": {"station": "Mytham Bridge", "river": "River Derwent", "level_m": 0.77, "typical_low_m": 0.777, "typical_high_m": 3.2, "index": -0.0, "label": "low", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "2230", "measure": "4037-level-stage-i-15_min-mASD", "distance_km": 5.0, "same_river": false}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 0, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.4, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.094}, {"date": "2026-10-06", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.9, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.114}, {"date": "2026-10-07", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 9.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.239}, {"date": "2026-10-08", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 8.8, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.322}, {"date": "2026-10-09", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 3.3, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.161}], "upstream_summary": {"overflows": 0, "with_live_feed": 0, "without_live_feed": 0, "sum_weight": 0.0, "history_days": 1, "max_travel_h": 0.0}, "contributors": [], "access": {"status": "restricted_guidance", "checked_at": "2026-10-03", "text": "The Peak District authority says river swimming requires explicit on-site signs and designated areas. Permission at this point has not been confirmed. Check the signs and the landowner's rules before entering.", "url": "https://www.peakdistrict.gov.uk/visiting/planning-your-visit/swimming"}, "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 17, "sunrise": "07:15", "sunset": "18:33"}, {"date": "2026-10-06", "tmax": 17, "sunrise": "07:16", "sunset": "18:31"}, {"date": "2026-10-07", "tmax": 12, "sunrise": "07:18", "sunset": "18:29"}, {"date": "2026-10-08", "tmax": 12, "sunrise": "07:20", "sunset": "18:26"}, {"date": "2026-10-09", "tmax": 14, "sunrise": "07:22", "sunset": "18:24"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "osm-wye-chee-dale", "name": "River Wye, Chee Dale, Derbyshire", "kind": "river", "river": "River Wye", "source": "openstreetmap", "notes": "Location \u00a9 OpenStreetMap contributors", "lat": 53.25426, "lon": -1.81488, "osm_id": "node/12015669309", "query": {"lat": 53.25426, "lon": -1.81488, "issued_at": "2026-10-05T03:13:15.647570+01:00"}, "location": {"mode": "river", "watercourse": "River Wye", "snap_distance_m": 0, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "on river", "snapped": {"lat": 53.25426, "lon": -1.81488}}, "river_state": {"station": "Buxton", "river": "River Wye", "level_m": 0.068, "typical_low_m": 0.16, "typical_high_m": 1.16, "index": -0.09, "label": "low", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "2162", "measure": "4197-level-stage-i-15_min-mASD", "distance_km": 5.9, "same_river": true, "rise_6h_m": -0.003, "rise_from": "2026-10-04T20:15:00Z", "rise_to": "2026-10-05T01:45:00Z"}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 2, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.001, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.7, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.103}, {"date": "2026-10-06", "risk": 0.001, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.001, "rain_48h_mm": 1.1, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.134}, {"date": "2026-10-07", "risk": 0.009, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.009, "rain_48h_mm": 8.3, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.353}, {"date": "2026-10-08", "risk": 0.003, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.003, "rain_48h_mm": 7.9, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.385}, {"date": "2026-10-09", "risk": 0.009, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.009, "rain_48h_mm": 6.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.322}], "upstream_summary": {"overflows": 2, "with_live_feed": 2, "without_live_feed": 0, "sum_weight": 0.478, "history_days": 2, "max_travel_h": 4.6}, "contributors": [{"site_id": "SVT00444", "company": "Severn Trent Water", "site_name": "BUXTON - THE SQUARE (SO)", "receiving_watercourse": "RIVER WYE", "lat": 53.25825017, "lon": -1.91630104, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:03:36+00:00", "latest_event_start": "2026-08-26T15:41:14+00:00", "latest_event_end": "2026-08-26T15:45:43+00:00", "lta_spills": 0.6000000238418579, "spill_hours": 0.1041666641831398, "snap_confidence": "high", "distance_km": 8.4, "lake_distance_km": 0.0, "travel_h": 4.6, "weight": 0.239, "p_spill_today": 0.002, "p_spill_tomorrow": 0.005, "p_spill_days": [0.002, 0.005, 0.035, 0.006, 0.038], "now_contribution": 0.0}, {"site_id": "SVT01767", "company": "Severn Trent Water", "site_name": "BUXTON - PAVILION GARDENS (CSO)", "receiving_watercourse": "RIVER WYE", "lat": 53.25820524, "lon": -1.91631612, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:03:36+00:00", "latest_event_start": "2025-10-31T15:23:29+00:00", "latest_event_end": "2025-10-31T15:34:25+00:00", "lta_spills": 0.800000011920929, "spill_hours": 0.18222221732139587, "snap_confidence": "high", "distance_km": 8.4, "lake_distance_km": 0.0, "travel_h": 4.6, "weight": 0.239, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.007, 0.002, 0.008], "now_contribution": 0.0}], "access": {"status": "restricted_guidance", "checked_at": "2026-10-03", "text": "The Peak District authority says river swimming requires explicit on-site signs and designated areas. Permission at this point has not been confirmed. Check the signs and the landowner's rules before entering.", "url": "https://www.peakdistrict.gov.uk/visiting/planning-your-visit/swimming"}, "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 17, "sunrise": "07:15", "sunset": "18:34"}, {"date": "2026-10-06", "tmax": 16, "sunrise": "07:17", "sunset": "18:32"}, {"date": "2026-10-07", "tmax": 12, "sunrise": "07:19", "sunset": "18:29"}, {"date": "2026-10-08", "tmax": 11, "sunrise": "07:21", "sunset": "18:27"}, {"date": "2026-10-09", "tmax": 14, "sunrise": "07:22", "sunset": "18:25"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "osm-dane-three-shires-head", "name": "River Dane, Panniers Pool, Three Shires Head", "kind": "river", "river": "River Dane", "source": "openstreetmap", "notes": "Location \u00a9 OpenStreetMap contributors", "lat": 53.21374, "lon": -1.98745, "osm_id": "way/784263352", "query": {"lat": 53.21374, "lon": -1.98745, "issued_at": "2026-10-05T03:13:15.801783+01:00"}, "location": {"mode": "river", "watercourse": "River Dane", "snap_distance_m": 2, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "on river", "snapped": {"lat": 53.21373, "lon": -1.98748}}, "river_state": {"station": "Hug Bridge", "river": "River Dane", "level_m": 0.153, "typical_low_m": 0.172, "typical_high_m": 0.476, "index": -0.06, "label": "low", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "5073", "measure": "681003-level-stage-i-15_min-m", "distance_km": 9.2, "same_river": true, "rise_6h_m": 0.0, "rise_from": "2026-10-04T20:15:00Z", "rise_to": "2026-10-05T01:45:00Z"}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 0, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 2.9, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.154}, {"date": "2026-10-06", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 5.5, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.214}, {"date": "2026-10-07", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 11.8, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.269}, {"date": "2026-10-08", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 9.5, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.323}, {"date": "2026-10-09", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 6.8, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.212}], "upstream_summary": {"overflows": 0, "with_live_feed": 0, "without_live_feed": 0, "sum_weight": 0.0, "history_days": 1, "max_travel_h": 0.0}, "contributors": [], "access": {"status": "restricted_guidance", "checked_at": "2026-10-03", "text": "The Peak District authority says river swimming requires explicit on-site signs and designated areas. Permission at this point has not been confirmed. Check the signs and the landowner's rules before entering.", "url": "https://www.peakdistrict.gov.uk/visiting/planning-your-visit/swimming"}, "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 16, "sunrise": "07:16", "sunset": "18:35"}, {"date": "2026-10-06", "tmax": 14, "sunrise": "07:18", "sunset": "18:32"}, {"date": "2026-10-07", "tmax": 10, "sunrise": "07:19", "sunset": "18:30"}, {"date": "2026-10-08", "tmax": 10, "sunrise": "07:21", "sunset": "18:28"}, {"date": "2026-10-09", "tmax": 12, "sunrise": "07:23", "sunset": "18:26"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "osm-lathkill-dale", "name": "River Lathkill, Lathkill Dale, Over Haddon", "kind": "river", "river": "River Lathkill", "source": "openstreetmap", "notes": "Location \u00a9 OpenStreetMap contributors", "lat": 53.19044, "lon": -1.68894, "osm_id": "way/833901448", "query": {"lat": 53.19044, "lon": -1.68894, "issued_at": "2026-10-05T03:13:15.870833+01:00"}, "location": {"mode": "river", "watercourse": "River Lathkill", "snap_distance_m": 43, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "on river", "snapped": {"lat": 53.19081, "lon": -1.68873}}, "river_state": {"station": "Ashford in the Water", "river": "River Wye", "level_m": 0.255, "typical_low_m": 0.267, "typical_high_m": 0.75, "index": -0.02, "label": "low", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "2110", "measure": "4023-level-stage-i-15_min-mASD", "distance_km": 4.5, "same_river": false}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 0, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.5, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.097}, {"date": "2026-10-06", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.9, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.115}, {"date": "2026-10-07", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 8.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.229}, {"date": "2026-10-08", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 7.8, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.306}, {"date": "2026-10-09", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 4.4, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.179}], "upstream_summary": {"overflows": 0, "with_live_feed": 0, "without_live_feed": 0, "sum_weight": 0.0, "history_days": 1, "max_travel_h": 0.0}, "contributors": [], "access": {"status": "restricted_guidance", "checked_at": "2026-10-03", "text": "The Peak District authority says river swimming requires explicit on-site signs and designated areas. Permission at this point has not been confirmed. Check the signs and the landowner's rules before entering.", "url": "https://www.peakdistrict.gov.uk/visiting/planning-your-visit/swimming"}, "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 18, "sunrise": "07:15", "sunset": "18:34"}, {"date": "2026-10-06", "tmax": 17, "sunrise": "07:16", "sunset": "18:31"}, {"date": "2026-10-07", "tmax": 12, "sunrise": "07:18", "sunset": "18:29"}, {"date": "2026-10-08", "tmax": 12, "sunrise": "07:20", "sunset": "18:27"}, {"date": "2026-10-09", "tmax": 15, "sunrise": "07:22", "sunset": "18:24"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "osm-bradford-youlgrave", "name": "River Bradford, Bradford Dale, Youlgrave", "kind": "river", "river": "River Bradford", "source": "openstreetmap", "notes": "Location \u00a9 OpenStreetMap contributors", "lat": 53.17316, "lon": -1.68596, "osm_id": "way/833670616", "query": {"lat": 53.17316, "lon": -1.68596, "issued_at": "2026-10-05T03:13:15.946005+01:00"}, "location": {"mode": "river", "watercourse": "River Bradford", "snap_distance_m": 4, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "on river", "snapped": {"lat": 53.17312, "lon": -1.68595}}, "river_state": {"station": "Ashford in the Water", "river": "River Wye", "level_m": 0.255, "typical_low_m": 0.267, "typical_high_m": 0.75, "index": -0.02, "label": "low", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "2110", "measure": "4023-level-stage-i-15_min-mASD", "distance_km": 6.3, "same_river": false}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 0, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.5, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.097}, {"date": "2026-10-06", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.9, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.115}, {"date": "2026-10-07", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 8.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.229}, {"date": "2026-10-08", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 7.8, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.306}, {"date": "2026-10-09", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 4.4, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.179}], "upstream_summary": {"overflows": 0, "with_live_feed": 0, "without_live_feed": 0, "sum_weight": 0.0, "history_days": 1, "max_travel_h": 0.0}, "contributors": [], "access": {"status": "restricted_guidance", "checked_at": "2026-10-03", "text": "The Peak District authority says river swimming requires explicit on-site signs and designated areas. Permission at this point has not been confirmed. Check the signs and the landowner's rules before entering.", "url": "https://www.peakdistrict.gov.uk/visiting/planning-your-visit/swimming"}, "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 18, "sunrise": "07:15", "sunset": "18:34"}, {"date": "2026-10-06", "tmax": 17, "sunrise": "07:16", "sunset": "18:31"}, {"date": "2026-10-07", "tmax": 12, "sunrise": "07:18", "sunset": "18:29"}, {"date": "2026-10-08", "tmax": 12, "sunrise": "07:20", "sunset": "18:27"}, {"date": "2026-10-09", "tmax": 15, "sunrise": "07:22", "sunset": "18:24"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "osm-great-ouse-overcote", "name": "River Great Ouse, Overcote", "kind": "river", "river": "River Great Ouse", "source": "openstreetmap", "notes": "Location \u00a9 OpenStreetMap contributors", "lat": 52.32303, "lon": -0.0039, "osm_id": "way/1209706748", "error": "forecast failed: open-meteo request failed", "access": {"status": "unconfirmed", "checked_at": "2026-10-03", "text": "Permission to enter the water at this point has not been confirmed. A mapped swimming place or public footpath does not establish swimming permission. Check current signs and the landowner's rules."}, "river_state": null, "flow_state": null, "flood_alerts": []}, {"id": "osm-thames-long-bridges", "name": "River Thames, Long Bridges, Oxford", "kind": "river", "river": "River Thames", "source": "openstreetmap", "notes": "Location \u00a9 OpenStreetMap contributors", "lat": 51.73783, "lon": -1.24522, "osm_id": "node/7740065665", "query": {"lat": 51.73783, "lon": -1.24522, "issued_at": "2026-10-05T03:14:27.128431+01:00"}, "location": {"mode": "river", "watercourse": "River Thames", "snap_distance_m": 90, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "on river", "snapped": {"lat": 51.73857, "lon": -1.2447}}, "river_state": {"station": "Sutton Courtenay", "river": "River Thames", "level_m": 2.033, "typical_low_m": 1.911, "typical_high_m": 3.51, "index": 0.08, "label": "low", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "7084", "measure": "1800TH-level-stage-i-15_min-mASD", "distance_km": 10.0, "same_river": true, "rise_6h_m": 0.006, "rise_from": "2026-10-04T20:15:00Z", "rise_to": "2026-10-05T01:45:00Z"}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 43, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.002, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.091}, {"date": "2026-10-06", "risk": 0.002, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.001, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.093}, {"date": "2026-10-07", "risk": 0.019, "label": "low", "expected_spilling_overflows": 3.2, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.019, "rain_48h_mm": 4.8, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.343}, {"date": "2026-10-08", "risk": 0.021, "label": "low", "expected_spilling_overflows": 0.6, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.021, "rain_48h_mm": 7.5, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.44}, {"date": "2026-10-09", "risk": 0.039, "label": "low", "expected_spilling_overflows": 6.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.039, "rain_48h_mm": 10.8, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.5}], "upstream_summary": {"overflows": 44, "with_live_feed": 43, "without_live_feed": 1, "sum_weight": 0.757, "history_days": 3, "max_travel_h": 32.8}, "contributors": [{"site_id": "TWL00075", "company": "Thames Water", "site_name": "Cassington STW", "receiving_watercourse": "River Thames", "lat": 51.78678346598992, "lon": -1.328144694755258, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2024-10-01T20:15:00+00:00", "latest_event_end": "2024-10-01T23:45:00+00:00", "lta_spills": 15.289999961853027, "spill_hours": 0.0, "snap_confidence": "high", "distance_km": 10.3, "lake_distance_km": 0.0, "travel_h": 5.7, "weight": 0.375, "p_spill_today": 0.001, "p_spill_tomorrow": 0.002, "p_spill_days": [0.001, 0.002, 0.012, 0.005, 0.037], "now_contribution": 0.0}, {"site_id": "TWL00244", "company": "Thames Water", "site_name": "Islip STW", "receiving_watercourse": "River Ray", "lat": 51.82098487705463, "lon": -1.2310070130642639, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-08-29T18:30:00+00:00", "latest_event_end": "2026-08-29T19:30:00+00:00", "lta_spills": 34.5, "spill_hours": 696.75, "snap_confidence": "high", "distance_km": 13.5, "lake_distance_km": 0.0, "travel_h": 7.5, "weight": 0.087, "p_spill_today": 0.004, "p_spill_tomorrow": 0.006, "p_spill_days": [0.004, 0.006, 0.101, 0.026, 0.155], "now_contribution": 0.0}, {"site_id": "TWL00085", "company": "Thames Water", "site_name": "Charlton-on-Otmoor STW", "receiving_watercourse": "River Ray", "lat": 51.83895356587386, "lon": -1.1758353447017191, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-02-27T09:00:00+00:00", "latest_event_end": "2026-02-27T10:00:00+00:00", "lta_spills": 70.75, "spill_hours": 813.75, "snap_confidence": "high", "distance_km": 18.4, "lake_distance_km": 0.0, "travel_h": 10.2, "weight": 0.052, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.103, 0.018, 0.17], "now_contribution": 0.0}, {"site_id": "TWL00385", "company": "Thames Water", "site_name": "Standlake STW", "receiving_watercourse": "River Windrush", "lat": 51.71793218465847, "lon": -1.4165993533840946, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-03-18T21:00:00+00:00", "latest_event_end": "2026-03-19T10:30:00+00:00", "lta_spills": 59.630001068115234, "spill_hours": 2213.75, "snap_confidence": "high", "distance_km": 26.1, "lake_distance_km": 0.0, "travel_h": 14.5, "weight": 0.017, "p_spill_today": 0.018, "p_spill_tomorrow": 0.025, "p_spill_days": [0.018, 0.025, 0.263, 0.104, 0.361], "now_contribution": 0.0}, {"site_id": "TWL00110", "company": "Thames Water", "site_name": "Combe STW", "receiving_watercourse": "River Evenlode", "lat": 51.83731130028229, "lon": -1.4114292925401069, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-08-29T16:15:00+00:00", "latest_event_end": "2026-08-29T18:30:00+00:00", "lta_spills": 59.880001068115234, "spill_hours": 356.5, "snap_confidence": "high", "distance_km": 25.3, "lake_distance_km": 0.0, "travel_h": 14.1, "weight": 0.034, "p_spill_today": 0.001, "p_spill_tomorrow": 0.002, "p_spill_days": [0.001, 0.002, 0.082, 0.008, 0.172], "now_contribution": 0.0}, {"site_id": "TWL00223", "company": "Thames Water", "site_name": "Upper Heyford STW", "receiving_watercourse": "River Cherwell", "lat": 51.92517300787871, "lon": -1.284779946492097, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": null, "latest_event_end": null, "lta_spills": 38.630001068115234, "spill_hours": 302.5, "snap_confidence": "high", "distance_km": 36.7, "lake_distance_km": 0.0, "travel_h": 20.4, "weight": 0.031, "p_spill_today": 0.001, "p_spill_tomorrow": 0.002, "p_spill_days": [0.001, 0.002, 0.052, 0.006, 0.099], "now_contribution": 0.0}, {"site_id": "TWL00184", "company": "Thames Water", "site_name": "Finstock STW", "receiving_watercourse": "River Evenlode", "lat": 51.84998416190806, "lon": -1.4670134463039366, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-02-16T08:45:00+00:00", "latest_event_end": "2026-02-16T12:15:00+00:00", "lta_spills": 24.8799991607666, "spill_hours": 143.75, "snap_confidence": "high", "distance_km": 33.3, "lake_distance_km": 0.0, "travel_h": 18.5, "weight": 0.022, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.019, 0.006, 0.122], "now_contribution": 0.0}, {"site_id": "TWL00462", "company": "Thames Water", "site_name": "Woodstock STW", "receiving_watercourse": "River Glyme", "lat": 51.85694067030124, "lon": -1.3485904560829582, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-03-01T11:30:00+00:00", "latest_event_end": "2026-03-01T12:15:00+00:00", "lta_spills": 38.43000030517578, "spill_hours": 89.25, "snap_confidence": "high", "distance_km": 24.4, "lake_distance_km": 0.0, "travel_h": 13.6, "weight": 0.022, "p_spill_today": 0.001, "p_spill_tomorrow": 0.002, "p_spill_days": [0.001, 0.002, 0.063, 0.007, 0.117], "now_contribution": 0.0}, {"site_id": "TWL00024", "company": "Thames Water", "site_name": "Bampton STW", "receiving_watercourse": "Shill Brook", "lat": 51.722501748219976, "lon": -1.5338058407969262, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-08-27T14:45:00+00:00", "latest_event_end": "2026-08-27T16:45:00+00:00", "lta_spills": 76.75, "spill_hours": 926.0, "snap_confidence": "high", "distance_km": 34.0, "lake_distance_km": 0.0, "travel_h": 18.9, "weight": 0.008, "p_spill_today": 0.003, "p_spill_tomorrow": 0.005, "p_spill_days": [0.003, 0.005, 0.164, 0.029, 0.256], "now_contribution": 0.0}, {"site_id": "TWL00083", "company": "Thames Water", "site_name": "Charlbury STW", "receiving_watercourse": "River Evenlode", "lat": 51.8700408708531, "lon": -1.488708417668178, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-02-18T23:30:00+00:00", "latest_event_end": "2026-02-19T01:30:00+00:00", "lta_spills": 14.880000114440918, "spill_hours": 52.0, "snap_confidence": "high", "distance_km": 36.8, "lake_distance_km": 0.0, "travel_h": 20.5, "weight": 0.018, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.01, 0.004, 0.067], "now_contribution": 0.0}], "access": {"status": "unconfirmed", "checked_at": "2026-10-03", "text": "Oxford City Council lists Longbridges among places receiving water-safety signs and discourages wild swimming. Check the current signs; listing this place does not confirm permission or a maintained entry point.", "url": "https://www.oxford.gov.uk/news/article/1860/new-signage-to-be-installed-to-improve-water-safety-in-oxford"}, "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 21, "sunrise": "07:12", "sunset": "18:33"}, {"date": "2026-10-06", "tmax": 21, "sunrise": "07:13", "sunset": "18:31"}, {"date": "2026-10-07", "tmax": 16, "sunrise": "07:15", "sunset": "18:29"}, {"date": "2026-10-08", "tmax": 14, "sunrise": "07:17", "sunset": "18:26"}, {"date": "2026-10-09", "tmax": 18, "sunrise": "07:18", "sunset": "18:24"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "osm-wey-waverley", "name": "River Wey, Waverley, near Farnham", "kind": "river", "river": "River Wey", "source": "openstreetmap", "notes": "Location \u00a9 OpenStreetMap contributors", "lat": 51.2076, "lon": -0.76378, "osm_id": "node/13866355847", "query": {"lat": 51.2076, "lon": -0.76378, "issued_at": "2026-10-05T03:14:27.709197+01:00"}, "location": {"mode": "river", "watercourse": "River Wey (North Branch)", "snap_distance_m": 2, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "on river", "snapped": {"lat": 51.20761, "lon": -0.76375}}, "river_state": {"station": "Tilford", "river": "River Wey", "level_m": 0.166, "typical_low_m": 0.139, "typical_high_m": 1.4, "index": 0.02, "label": "low", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "7231", "measure": "3040TH-level-stage-i-15_min-mASD", "distance_km": 3.0, "same_river": true, "rise_6h_m": 0.003, "rise_from": "2026-10-04T20:15:00Z", "rise_to": "2026-10-05T01:45:00Z"}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 5, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.002, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.112}, {"date": "2026-10-06", "risk": 0.003, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.002, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.101}, {"date": "2026-10-07", "risk": 0.132, "label": "low", "expected_spilling_overflows": 0.5, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.132, "rain_48h_mm": 7.7, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.537}, {"date": "2026-10-08", "risk": 0.044, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.044, "rain_48h_mm": 10.9, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.548}, {"date": "2026-10-09", "risk": 0.121, "label": "low", "expected_spilling_overflows": 0.4, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.121, "rain_48h_mm": 9.8, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.577}], "upstream_summary": {"overflows": 5, "with_live_feed": 5, "without_live_feed": 0, "sum_weight": 1.608, "history_days": 2, "max_travel_h": 11.6}, "contributors": [{"site_id": "TWL00434", "company": "Thames Water", "site_name": "Waverley Lane (Farnham) SPS", "receiving_watercourse": "Bourne Stream", "lat": 51.206863312279964, "lon": -0.770019887863271, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-01-27T08:45:00+00:00", "latest_event_end": "2026-01-27T10:30:00+00:00", "lta_spills": 12.569999694824219, "spill_hours": 32.5, "snap_confidence": "high", "distance_km": 0.4, "lake_distance_km": 0.0, "travel_h": 0.2, "weight": 0.976, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.07, 0.008, 0.068], "now_contribution": 0.0}, {"site_id": "TWL00035", "company": "Thames Water", "site_name": "Bentley STW", "receiving_watercourse": "River Wey", "lat": 51.18674892620332, "lon": -0.8710061838484069, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-02-09T00:15:00+00:00", "latest_event_end": "2026-02-09T00:45:00+00:00", "lta_spills": 79.13999938964844, "spill_hours": 24.0, "snap_confidence": "high", "distance_km": 11.3, "lake_distance_km": 0.0, "travel_h": 6.3, "weight": 0.337, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.206, 0.032, 0.162], "now_contribution": 0.0}, {"site_id": "TWL00232", "company": "Thames Water", "site_name": "Holybourne (Alton) SPS", "receiving_watercourse": "River Wey", "lat": 51.15978930407483, "lon": -0.9501757314782194, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-02-09T08:15:00+00:00", "latest_event_end": "2026-02-09T13:00:00+00:00", "lta_spills": 7.710000038146973, "spill_hours": 77.0, "snap_confidence": "high", "distance_km": 19.6, "lake_distance_km": 0.0, "travel_h": 10.9, "weight": 0.148, "p_spill_today": 0.001, "p_spill_tomorrow": 0.002, "p_spill_days": [0.001, 0.002, 0.068, 0.011, 0.059], "now_contribution": 0.0}, {"site_id": "TWL00182", "company": "Thames Water", "site_name": "Farnham STW", "receiving_watercourse": "Tributary of Farnham Park", "lat": 51.22480452135266, "lon": -0.774410857655614, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2026-06-02T06:15:00+00:00", "latest_event_end": "2026-06-02T09:15:00+00:00", "lta_spills": 35.86000061035156, "spill_hours": 269.25, "snap_confidence": "high", "distance_km": 3.2, "lake_distance_km": 0.0, "travel_h": 1.8, "weight": 0.093, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.128, 0.022, 0.115], "now_contribution": 0.0}, {"site_id": "TWL00310", "company": "Thames Water", "site_name": "Newman Lane (Alton) SPS", "receiving_watercourse": "River Wey", "lat": 51.153701769208006, "lon": -0.9633258469929966, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:08:51+00:00", "latest_event_start": "2024-05-03T10:15:00+00:00", "latest_event_end": "2024-05-03T11:00:00+00:00", "lta_spills": 11.140000343322754, "spill_hours": 0.0, "snap_confidence": "high", "distance_km": 20.8, "lake_distance_km": 0.0, "travel_h": 11.6, "weight": 0.054, "p_spill_today": 0.001, "p_spill_tomorrow": 0.002, "p_spill_days": [0.001, 0.002, 0.048, 0.006, 0.033], "now_contribution": 0.0}], "access": {"status": "unconfirmed", "checked_at": "2026-10-03", "text": "Permission to enter the water at this point has not been confirmed. A mapped swimming place or public footpath does not establish swimming permission. Check current signs and the landowner's rules."}, "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 21, "sunrise": "07:10", "sunset": "18:32"}, {"date": "2026-10-06", "tmax": 21, "sunrise": "07:11", "sunset": "18:29"}, {"date": "2026-10-07", "tmax": 15, "sunrise": "07:13", "sunset": "18:27"}, {"date": "2026-10-08", "tmax": 14, "sunrise": "07:14", "sunset": "18:25"}, {"date": "2026-10-09", "tmax": 20, "sunrise": "07:16", "sunset": "18:23"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "osm-test-chilbolton", "name": "River Test, Chilbolton Cow Common", "kind": "river", "river": "River Test", "source": "openstreetmap", "notes": "Location \u00a9 OpenStreetMap contributors", "lat": 51.15903, "lon": -1.44483, "osm_id": "node/12601753079", "query": {"lat": 51.15903, "lon": -1.44483, "issued_at": "2026-10-05T03:14:27.892174+01:00"}, "location": {"mode": "river", "watercourse": "River Test", "snap_distance_m": 9, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "on river", "snapped": {"lat": 51.15902, "lon": -1.4447}}, "river_state": {"station": "Wherwell", "river": "River Test", "level_m": 0.179, "typical_low_m": 0.3, "typical_high_m": 0.5, "index": -0.6, "label": "low", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "1161", "measure": "E13810-level-stage-i-15_min-mASD", "distance_km": 0.9, "same_river": true, "rise_6h_m": -0.001, "rise_from": "2026-10-04T20:15:00Z", "rise_to": "2026-10-05T01:45:00Z"}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 0, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.079}, {"date": "2026-10-06", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.079}, {"date": "2026-10-07", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 5.4, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.193}, {"date": "2026-10-08", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 6.7, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.252}, {"date": "2026-10-09", "risk": 0.0, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 9.7, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.247}], "upstream_summary": {"overflows": 0, "with_live_feed": 0, "without_live_feed": 0, "sum_weight": 0.0, "history_days": 1, "max_travel_h": 0.0}, "contributors": [], "access": {"status": "unconfirmed", "checked_at": "2026-10-03", "text": "Permission to enter the water at this point has not been confirmed. A mapped swimming place or public footpath does not establish swimming permission. Check current signs and the landowner's rules."}, "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 21, "sunrise": "07:12", "sunset": "18:34"}, {"date": "2026-10-06", "tmax": 21, "sunrise": "07:14", "sunset": "18:32"}, {"date": "2026-10-07", "tmax": 15, "sunrise": "07:15", "sunset": "18:30"}, {"date": "2026-10-08", "tmax": 14, "sunrise": "07:17", "sunset": "18:28"}, {"date": "2026-10-09", "tmax": 19, "sunrise": "07:19", "sunset": "18:26"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "osm-itchen-compton-lock", "name": "River Itchen, Compton Lock", "kind": "river", "river": "River Itchen", "source": "openstreetmap", "notes": "Location \u00a9 OpenStreetMap contributors", "lat": 51.02718, "lon": -1.32219, "osm_id": "way/186891192", "query": {"lat": 51.02718, "lon": -1.32219, "issued_at": "2026-10-05T03:14:27.968385+01:00"}, "location": {"mode": "river", "watercourse": "River Itchen", "snap_distance_m": 3, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "on river", "snapped": {"lat": 51.0272, "lon": -1.32222}}, "river_state": {"station": "Wharf Mill", "river": "River Itchen", "level_m": 0.347, "typical_low_m": 0.319, "typical_high_m": 0.81, "index": 0.06, "label": "low", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "1059", "measure": "E12470-level-stage-i-15_min-mASD", "distance_km": 3.6, "same_river": true, "rise_6h_m": -0.002, "rise_from": "2026-10-04T20:15:00Z", "rise_to": "2026-10-05T01:45:00Z"}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 6, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.001, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.079}, {"date": "2026-10-06", "risk": 0.001, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.001, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.079}, {"date": "2026-10-07", "risk": 0.032, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.032, "rain_48h_mm": 8.8, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.447}, {"date": "2026-10-08", "risk": 0.01, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.01, "rain_48h_mm": 10.1, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.456}, {"date": "2026-10-09", "risk": 0.038, "label": "low", "expected_spilling_overflows": 0.2, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.038, "rain_48h_mm": 9.7, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.479}], "upstream_summary": {"overflows": 6, "with_live_feed": 6, "without_live_feed": 0, "sum_weight": 0.798, "history_days": 2, "max_travel_h": 11.6}, "contributors": [{"site_id": "SWS00399", "company": "Southern Water", "site_name": "HARESTOCK SSO - 115789", "receiving_watercourse": "ITCHEN", "lat": 51.079933, "lon": -1.297891, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-04T22:56:30+00:00", "latest_event_start": "2026-03-22T21:47:00+00:00", "latest_event_end": "2026-03-22T21:52:00+00:00", "lta_spills": 19.670000076293945, "spill_hours": 31.827777862548828, "snap_confidence": "high", "distance_km": 6.9, "lake_distance_km": 0.0, "travel_h": 3.9, "weight": 0.488, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.069, 0.008, 0.081], "now_contribution": 0.0}, {"site_id": "SWS00344", "company": "Southern Water", "site_name": "GARNIER ROAD WINCHESTER CEO - 108433", "receiving_watercourse": "ITCHEN", "lat": 51.051004, "lon": -1.317589, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-04T22:56:30+00:00", "latest_event_start": "2026-02-11T23:59:00+00:00", "latest_event_end": "2026-02-12T02:35:00+00:00", "lta_spills": 1.1699999570846558, "spill_hours": 6.651111125946045, "snap_confidence": "high", "distance_km": 2.9, "lake_distance_km": 0.0, "travel_h": 1.6, "weight": 0.161, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.014, 0.001, 0.015], "now_contribution": 0.0}, {"site_id": "SWS00804", "company": "Southern Water", "site_name": "SPRING GARDENS ALRESFORD CEO - 108484", "receiving_watercourse": "TRIBUTARY OF THE RIVER ITCHEN", "lat": 51.08093, "lon": -1.1751, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-04T22:56:30+00:00", "latest_event_start": "2025-06-19T12:02:00+00:00", "latest_event_end": "2025-06-19T12:55:00+00:00", "lta_spills": 1.3300000429153442, "spill_hours": 0.0, "snap_confidence": "high", "distance_km": 18.1, "lake_distance_km": 0.0, "travel_h": 10.0, "weight": 0.057, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.004, 0.001, 0.005], "now_contribution": 0.0}, {"site_id": "SWS00585", "company": "Southern Water", "site_name": "MORESTEAD ROAD WINCHESTER SSO - 115740", "receiving_watercourse": "SEWAGE FARM", "lat": 51.049066, "lon": -1.294078, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-04T22:56:30+00:00", "latest_event_start": "2026-06-02T13:36:27+00:00", "latest_event_end": "2026-06-03T09:31:16+00:00", "lta_spills": 2.2200000286102295, "spill_hours": 0.0, "snap_confidence": "low", "distance_km": 2.8, "lake_distance_km": 0.0, "travel_h": 1.6, "weight": 0.037, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.006, 0.002, 0.008], "now_contribution": 0.0}, {"site_id": "SWS00983", "company": "Southern Water", "site_name": "MORESTEAD ROAD WINCHESTER PUMPED SSO - 116368", "receiving_watercourse": "SEWAGE FARM", "lat": 51.049066, "lon": -1.294078, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-04T22:56:30+00:00", "latest_event_start": "2026-02-22T01:38:47+00:00", "latest_event_end": "2026-02-22T01:41:49+00:00", "lta_spills": 14.0, "spill_hours": 13.744722366333008, "snap_confidence": "low", "distance_km": 2.8, "lake_distance_km": 0.0, "travel_h": 1.6, "weight": 0.037, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.041, 0.005, 0.055], "now_contribution": 0.0}, {"site_id": "SWS00593", "company": "Southern Water", "site_name": "NEW ALRESFORD SSO - 115779", "receiving_watercourse": "UNDERGROUND STRATA", "lat": 51.071017, "lon": -1.159576, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-04T22:56:30+00:00", "latest_event_start": "2024-11-13T14:13:58+00:00", "latest_event_end": "2024-11-14T13:12:33+00:00", "lta_spills": 2.3299999237060547, "spill_hours": 0.0, "snap_confidence": "low", "distance_km": 20.9, "lake_distance_km": 0.0, "travel_h": 11.6, "weight": 0.018, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.003, 0.001, 0.003], "now_contribution": 0.0}], "access": {"status": "unconfirmed", "checked_at": "2026-10-03", "text": "Permission to enter the water at this point has not been confirmed. A mapped swimming place or public footpath does not establish swimming permission. Check current signs and the landowner's rules."}, "water_temp": {"temp_c": 14.1, "observed_at": "2026-10-05T02:00:26Z", "age_hours": 0.2, "quality": "Unchecked", "station": "Gaters Mill", "where": "at Gaters Mill", "river": "Itchen", "station_id": "E20007A", "url": "https://environment.data.gov.uk/hydrology/station/E20007A", "distance_km": 10.1, "direction": "downstream", "river_km": 13.1}, "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 21, "sunrise": "07:12", "sunset": "18:34"}, {"date": "2026-10-06", "tmax": 21, "sunrise": "07:13", "sunset": "18:32"}, {"date": "2026-10-07", "tmax": 15, "sunrise": "07:15", "sunset": "18:30"}, {"date": "2026-10-08", "tmax": 14, "sunrise": "07:16", "sunset": "18:27"}, {"date": "2026-10-09", "tmax": 19, "sunrise": "07:18", "sunset": "18:25"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "osm-teign-drogo-weir", "name": "River Teign, Drogo Weir", "kind": "river", "river": "River Teign", "source": "openstreetmap", "notes": "Location \u00a9 OpenStreetMap contributors", "lat": 50.69205, "lon": -3.81044, "osm_id": "way/1088847217", "query": {"lat": 50.69205, "lon": -3.81044, "issued_at": "2026-10-05T03:14:28.178630+01:00"}, "location": {"mode": "river", "watercourse": "River Teign", "snap_distance_m": 3, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "on river", "snapped": {"lat": 50.69203, "lon": -3.81041}}, "river_state": {"station": "Chagford Drogo Iron Bridge", "river": "River Teign", "level_m": 1.133, "typical_low_m": 1.279, "typical_high_m": 2.1, "index": -0.18, "label": "low", "observed_at": "2026-10-05T01:30:00Z", "age_hours": 0.7, "stale": false, "rloi": "9459", "measure": "E84409-level-stage-i-15_min-mASD", "distance_km": 0.1, "same_river": true, "rise_6h_m": -0.002, "rise_from": "2026-10-04T20:15:00Z", "rise_to": "2026-10-05T01:30:00Z"}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 8, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.002, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 1.6, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.184}, {"date": "2026-10-06", "risk": 0.004, "label": "low", "expected_spilling_overflows": 0.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.003, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.109}, {"date": "2026-10-07", "risk": 0.021, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.021, "rain_48h_mm": 1.5, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.252}, {"date": "2026-10-08", "risk": 0.034, "label": "low", "expected_spilling_overflows": 0.2, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.034, "rain_48h_mm": 1.5, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.317}, {"date": "2026-10-09", "risk": 0.19, "label": "moderate", "expected_spilling_overflows": 1.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.19, "source": {"site_id": "SBB00227", "site_name": "CHAGFORD MAIN STW_SSO_CHAGFORD", "receiving_watercourse": "RIVER TEIGN", "status": 0, "distance_km": 3.2, "lake_distance_km": 0.0, "travel_h": 1.8, "share": 0.753, "spread_over": 4}, "rain_48h_mm": 14.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.641}], "upstream_summary": {"overflows": 8, "with_live_feed": 8, "without_live_feed": 0, "sum_weight": 1.63, "history_days": 2, "max_travel_h": 5.4}, "contributors": [{"site_id": "SBB00227", "company": "South West Water", "site_name": "CHAGFORD MAIN STW_SSO_CHAGFORD", "receiving_watercourse": "RIVER TEIGN", "lat": 50.678637, "lon": -3.840354, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:07:27.150000+00:00", "latest_event_start": "2026-07-16T14:07:50.420000+00:00", "latest_event_end": "2026-07-16T14:08:00.420000+00:00", "lta_spills": 52.75, "spill_hours": 336.04998779296875, "snap_confidence": "high", "distance_km": 3.2, "lake_distance_km": 0.0, "travel_h": 1.8, "weight": 0.634, "p_spill_today": 0.002, "p_spill_tomorrow": 0.003, "p_spill_days": [0.002, 0.003, 0.027, 0.043, 0.246], "now_contribution": 0.0}, {"site_id": "SBB01410", "company": "South West Water", "site_name": "SEWER TRACK_CSO_CHAGFORD", "receiving_watercourse": "RIVER TEIGN", "lat": 50.675685, "lon": -3.840493, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:07:27.150000+00:00", "latest_event_start": "2026-02-27T21:22:05.170000+00:00", "latest_event_end": "2026-02-27T21:24:05.170000+00:00", "lta_spills": 0.3333333432674408, "spill_hours": 0.07999999821186066, "snap_confidence": "high", "distance_km": 3.5, "lake_distance_km": 0.0, "travel_h": 2.0, "weight": 0.624, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.001, 0.002, 0.009], "now_contribution": 0.0}, {"site_id": "SBB00517", "company": "South West Water", "site_name": "GREENACRES_CSO_CHAGFORD", "receiving_watercourse": "TRIB OF THE RIVER TEIGN", "lat": 50.672344, "lon": -3.84591, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:07:27.150000+00:00", "latest_event_start": "2026-09-30T02:54:05.200000+00:00", "latest_event_end": "2026-09-30T03:28:05.200000+00:00", "lta_spills": 115.42857360839844, "spill_hours": 1651.27001953125, "snap_confidence": "high", "distance_km": 4.3, "lake_distance_km": 0.0, "travel_h": 2.4, "weight": 0.068, "p_spill_today": 0.003, "p_spill_tomorrow": 0.006, "p_spill_days": [0.003, 0.006, 0.033, 0.043, 0.26], "now_contribution": 0.0}, {"site_id": "SBB01243", "company": "South West Water", "site_name": "THROWLEIGH STW_SO_THROWLEIGH", "receiving_watercourse": "UNNAMED WATERCOURSE(S)", "lat": 50.699471, "lon": -3.876147, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:07:27.150000+00:00", "latest_event_start": "2026-06-09T16:56:51+00:00", "latest_event_end": "2026-06-09T16:59:20+00:00", "lta_spills": 24.75, "spill_hours": 56.560001373291016, "snap_confidence": "high", "distance_km": 9.7, "lake_distance_km": 0.0, "travel_h": 5.4, "weight": 0.048, "p_spill_today": 0.002, "p_spill_tomorrow": 0.003, "p_spill_days": [0.002, 0.003, 0.019, 0.019, 0.239], "now_contribution": 0.0}, {"site_id": "SBB00225", "company": "South West Water", "site_name": "CHAGFORD FIRE 1_CSO_CHAGFORD", "receiving_watercourse": "TRIB OF RIVER TEIGN", "lat": 50.67585, "lon": -3.834583, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:07:27.150000+00:00", "latest_event_start": "2026-08-30T16:08:05.170000+00:00", "latest_event_end": "2026-08-30T16:10:05.170000+00:00", "lta_spills": 28.714284896850586, "spill_hours": 29.59000015258789, "snap_confidence": "high", "distance_km": 2.9, "lake_distance_km": 0.0, "travel_h": 1.6, "weight": 0.065, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.017, 0.027, 0.16], "now_contribution": 0.0}, {"site_id": "SBB00226", "company": "South West Water", "site_name": "CHAGFORD FIRE 2_CSO_CHAGFORD", "receiving_watercourse": "TRIB OF THE RIVER TEIGN", "lat": 50.676309, "lon": -3.834035, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:07:27.150000+00:00", "latest_event_start": "2026-08-27T04:34:05.200000+00:00", "latest_event_end": "2026-08-27T04:36:05.200000+00:00", "lta_spills": 30.0, "spill_hours": 3.7699999809265137, "snap_confidence": "high", "distance_km": 2.9, "lake_distance_km": 0.0, "travel_h": 1.6, "weight": 0.065, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.009, 0.018, 0.139], "now_contribution": 0.0}, {"site_id": "SBB00046", "company": "South West Water", "site_name": "BROOMHILL SPS_PSCSOEO_CHAGFORD", "receiving_watercourse": "RIVER TEIGN (S)", "lat": 50.679052, "lon": -3.831169, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:07:27.150000+00:00", "latest_event_start": "2024-11-24T09:08:41+00:00", "latest_event_end": "2024-11-24T23:29:22+00:00", "lta_spills": 0.75, "spill_hours": 0.0, "snap_confidence": "high", "distance_km": 2.5, "lake_distance_km": 0.0, "travel_h": 1.4, "weight": 0.066, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.001, 0.001, 0.005], "now_contribution": 0.0}, {"site_id": "SBB00759", "company": "South West Water", "site_name": "MELDON RD_CSO_CHAGFORD", "receiving_watercourse": "RIVER TEIGN (S)", "lat": 50.67005, "lon": -3.843131, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:07:27.150000+00:00", "latest_event_start": "2026-07-20T09:03:48.100000+00:00", "latest_event_end": "2026-07-20T09:03:50.100000+00:00", "lta_spills": 6.0, "spill_hours": 3.5299999713897705, "snap_confidence": "high", "distance_km": 4.7, "lake_distance_km": 0.0, "travel_h": 2.6, "weight": 0.06, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.002, 0.004, 0.046], "now_contribution": 0.0}], "access": {"status": "unconfirmed", "checked_at": "2026-10-03", "text": "The National Trust describes Drogo Weir on its walking route. That does not establish permission to swim. This point is beside a weir; the pollution forecast does not assess the weir, currents or access.", "url": "https://www.nationaltrust.org.uk/visit/devon/castle-drogo/teign-gorge-classic-circuit"}, "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 19, "sunrise": "07:21", "sunset": "18:44"}, {"date": "2026-10-06", "tmax": 19, "sunrise": "07:23", "sunset": "18:42"}, {"date": "2026-10-07", "tmax": 14, "sunrise": "07:24", "sunset": "18:40"}, {"date": "2026-10-08", "tmax": 13, "sunrise": "07:26", "sunset": "18:38"}, {"date": "2026-10-09", "tmax": 16, "sunrise": "07:28", "sunset": "18:35"}], "credit": "Weather data by Open-Meteo.com"}}, {"id": "osm-dart-dartington", "name": "River Dart, Dartington Pontoon", "kind": "river", "river": "River Dart", "source": "openstreetmap", "notes": "Location \u00a9 OpenStreetMap contributors", "lat": 50.4394, "lon": -3.69136, "osm_id": "way/1531988215", "query": {"lat": 50.4394, "lon": -3.69136, "issued_at": "2026-10-05T03:14:28.376609+01:00"}, "location": {"mode": "river", "watercourse": "River Dart", "snap_distance_m": 6, "form": "inlandRiver", "lake_area_km2": null, "lake_source": null, "adopted_main_channel": false, "placement": "on river", "snapped": {"lat": 50.43941, "lon": -3.69128}}, "river_state": {"station": "Austins Bridge", "river": "River Dart", "level_m": 0.311, "typical_low_m": 0.291, "typical_high_m": 1.8, "index": 0.01, "label": "low", "observed_at": "2026-10-05T01:45:00Z", "age_hours": 0.5, "stale": false, "rloi": "3216", "measure": "46122-level-stage-i-15_min-m", "distance_km": 6.6, "same_river": true, "rise_6h_m": 0.004, "rise_from": "2026-10-04T20:15:00Z", "rise_to": "2026-10-05T01:45:00Z"}, "assumptions": {"river_velocity_ms": 0.5, "lake_velocity_ms": 0.05, "t90_hours": 30.0, "max_upstream_km": 60.0, "recent_spill_hours": 48.0, "model": "United Utilities 2023-2025 (refit on all years; verified on 2025 before refit)", "lead_calibration": true, "version": "spill=808da63d;cal=9b3cc24c;ecoli=55b5d280;code=0.1.0+8a2c1cc;rain=open-meteo-forecast", "ecoli_model": {"target": "E. coli > 900 cfu/100 ml", "fitted_on": "EA inland designated bathing waters with monitored overflows upstream", "n_samples": 1548, "loyo_brier": 0.0908}}, "ecoli_scope": {"water_body_validated": true, "season_validated_months": [5, 6, 7, 8, 9], "note": "Validated on Environment Agency river bathing waters, May-September; other sites and months are extrapolation."}, "now": {"risk": 0.0, "label": "low", "clears_at": null, "clears_by": null, "discharging_upstream": 0, "recent_upstream": 0, "monitored_upstream": 20, "feed_down_upstream": 0, "feed_down": [], "stale_upstream": 0, "feed_stale": [], "no_feed_upstream": 0}, "days": [{"date": "2026-10-05", "risk": 0.014, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.0, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.151}, {"date": "2026-10-06", "risk": 0.014, "label": "low", "expected_spilling_overflows": 0.1, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.01, "rain_48h_mm": 0.0, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.151}, {"date": "2026-10-07", "risk": 0.036, "label": "low", "expected_spilling_overflows": 0.6, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.036, "rain_48h_mm": 0.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.204}, {"date": "2026-10-08", "risk": 0.091, "label": "low", "expected_spilling_overflows": 1.0, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.091, "rain_48h_mm": 0.2, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.257}, {"date": "2026-10-09", "risk": 0.327, "label": "moderate", "expected_spilling_overflows": 3.9, "data_status": "ok", "rain_missing_share": 0.0, "in_validated_season": false, "risk_from_later_spills": 0.327, "source": {"site_id": "SBB00178", "site_name": "KILBURY STW_SSO_BUCKFASTLEIGH", "receiving_watercourse": "RIVER DART", "status": 0, "distance_km": 10.2, "lake_distance_km": 0.0, "travel_h": 5.7, "share": 0.388, "spread_over": 4}, "rain_48h_mm": 3.6, "rain_48h_coverage": 1.0, "p_ecoli_gt900": 0.53}], "upstream_summary": {"overflows": 20, "with_live_feed": 20, "without_live_feed": 0, "sum_weight": 2.815, "history_days": 2, "max_travel_h": 23.5}, "contributors": [{"site_id": "SBB00178", "company": "South West Water", "site_name": "KILBURY STW_SSO_BUCKFASTLEIGH", "receiving_watercourse": "RIVER DART", "lat": 50.47876134983121, "lon": -3.761258047565168, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:07:27.150000+00:00", "latest_event_start": "2026-05-01T13:55:29+00:00", "latest_event_end": "2026-05-01T14:13:17+00:00", "lta_spills": 114.33333587646484, "spill_hours": 1405.72998046875, "snap_confidence": "high", "distance_km": 10.2, "lake_distance_km": 0.0, "travel_h": 5.7, "weight": 0.576, "p_spill_today": 0.009, "p_spill_tomorrow": 0.012, "p_spill_days": [0.009, 0.012, 0.039, 0.074, 0.301], "now_contribution": 0.0}, {"site_id": "SBB00179", "company": "South West Water", "site_name": "KILBURY STW_SO_BUCKFASTLEIGH", "receiving_watercourse": "RIVER DART", "lat": 50.47876134983121, "lon": -3.761258047565168, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:07:27.150000+00:00", "latest_event_start": "2026-09-30T21:58:23+00:00", "latest_event_end": "2026-09-30T22:12:08+00:00", "lta_spills": 114.16666412353516, "spill_hours": 803.4400024414062, "snap_confidence": "high", "distance_km": 10.2, "lake_distance_km": 0.0, "travel_h": 5.7, "weight": 0.576, "p_spill_today": 0.004, "p_spill_tomorrow": 0.006, "p_spill_days": [0.004, 0.006, 0.023, 0.063, 0.288], "now_contribution": 0.0}, {"site_id": "SBB01166", "company": "South West Water", "site_name": "STAVERTON STW_SSO_STAVERTON", "receiving_watercourse": "RIVER DART", "lat": 50.46001556158437, "lon": -3.6973014694034636, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:07:27.150000+00:00", "latest_event_start": "2026-03-13T00:23:21+00:00", "latest_event_end": "2026-03-13T02:23:01+00:00", "lta_spills": 21.66666603088379, "spill_hours": 295.45001220703125, "snap_confidence": "high", "distance_km": 3.4, "lake_distance_km": 0.0, "travel_h": 1.9, "weight": 0.811, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.002, 0.01, 0.054], "now_contribution": 0.0}, {"site_id": "SBB00885", "company": "South West Water", "site_name": "OLD WOOLLEN MILL_CSO_BUCKFASTLEIGH", "receiving_watercourse": "RIVER DART", "lat": 50.490609, "lon": -3.774669, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:07:27.150000+00:00", "latest_event_start": "2026-01-29T21:40:05.170000+00:00", "latest_event_end": "2026-01-29T22:18:05.170000+00:00", "lta_spills": 10.333333015441895, "spill_hours": 41.70000076293945, "snap_confidence": "high", "distance_km": 11.9, "lake_distance_km": 0.0, "travel_h": 6.6, "weight": 0.445, "p_spill_today": 0.001, "p_spill_tomorrow": 0.001, "p_spill_days": [0.001, 0.001, 0.003, 0.008, 0.049], "now_contribution": 0.0}, {"site_id": "SBB00985", "company": "South West Water", "site_name": "PRINCETOWN STW_SO_PRINCETOWN", "receiving_watercourse": "BLACKBROOK RIVER(S)", "lat": 50.550137, "lon": -3.981588, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:07:27.150000+00:00", "latest_event_start": "2026-09-30T02:19:05+00:00", "latest_event_end": "2026-09-30T04:04:52+00:00", "lta_spills": 125.75, "spill_hours": 1150.1300048828125, "snap_confidence": "high", "distance_km": 40.2, "lake_distance_km": 0.0, "travel_h": 22.3, "weight": 0.016, "p_spill_today": 0.05, "p_spill_tomorrow": 0.032, "p_spill_days": [0.05, 0.032, 0.174, 0.171, 0.703], "now_contribution": 0.0}, {"site_id": "SBB00119", "company": "South West Water", "site_name": "BLACKBROOK NORTH_CSO_PRINCETOWN", "receiving_watercourse": "BLACK BROOK RIVER (S)", "lat": 50.550797, "lon": -3.990368, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:07:27.150000+00:00", "latest_event_start": "2026-09-30T01:38:05.170000+00:00", "latest_event_end": "2026-09-30T03:26:05.200000+00:00", "lta_spills": 119.75, "spill_hours": 723.1300048828125, "snap_confidence": "high", "distance_km": 42.2, "lake_distance_km": 0.0, "travel_h": 23.5, "weight": 0.015, "p_spill_today": 0.013, "p_spill_tomorrow": 0.008, "p_spill_days": [0.013, 0.008, 0.116, 0.123, 0.545], "now_contribution": 0.0}, {"site_id": "SBB00986", "company": "South West Water", "site_name": "PRINCETOWN STW_SSO_PRINCETOWN", "receiving_watercourse": "BLACKBROOK RIVER(S)", "lat": 50.550137, "lon": -3.981588, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:07:27.150000+00:00", "latest_event_start": "2026-06-06T08:57:51+00:00", "latest_event_end": "2026-06-06T13:58:01+00:00", "lta_spills": 44.25, "spill_hours": 1134.77001953125, "snap_confidence": "high", "distance_km": 40.2, "lake_distance_km": 0.0, "travel_h": 22.3, "weight": 0.016, "p_spill_today": 0.018, "p_spill_tomorrow": 0.016, "p_spill_days": [0.018, 0.016, 0.075, 0.09, 0.39], "now_contribution": 0.0}, {"site_id": "SBB00581", "company": "South West Water", "site_name": "HOLNE STW_SO_HOLNE", "receiving_watercourse": "HOLY BROOK", "lat": 50.502545, "lon": -3.822922, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:07:27.150000+00:00", "latest_event_start": "2026-09-30T21:14:41+00:00", "latest_event_end": "2026-09-30T21:27:31+00:00", "lta_spills": 129.0, "spill_hours": 1405.25, "snap_confidence": "high", "distance_km": 16.1, "lake_distance_km": 0.0, "travel_h": 8.9, "weight": 0.015, "p_spill_today": 0.01, "p_spill_tomorrow": 0.014, "p_spill_days": [0.01, 0.014, 0.039, 0.07, 0.291], "now_contribution": 0.0}, {"site_id": "SBB00350", "company": "South West Water", "site_name": "DARTINGTON C_CSO_DARTINGTON", "receiving_watercourse": "BIDWELL BROOK", "lat": 50.444735525788445, "lon": -3.702810972738758, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:07:27.150000+00:00", "latest_event_start": "2026-02-27T07:10:05.200000+00:00", "latest_event_end": "2026-02-27T09:10:05.170000+00:00", "lta_spills": 42.66666793823242, "spill_hours": 270.8699951171875, "snap_confidence": "high", "distance_km": 1.2, "lake_distance_km": 0.0, "travel_h": 0.7, "weight": 0.042, "p_spill_today": 0.002, "p_spill_tomorrow": 0.002, "p_spill_days": [0.002, 0.002, 0.004, 0.02, 0.054], "now_contribution": 0.0}, {"site_id": "SBB01058", "company": "South West Water", "site_name": "SCORRITON STW_SO_SCORRITON", "receiving_watercourse": "HOLY BROOK(S)", "lat": 50.502887, "lon": -3.8240629999999998, "status": 0, "has_live": true, "data_state": "live", "feed_updated_at": "2026-10-05T02:07:27.150000+00:00", "latest_event_start": "2026-09-29T22:23:31+00:00", "latest_event_end": "2026-09-29T23:21:41+00:00", "lta_spills": 109.4000015258789, "spill_hours": 1836.7900390625, "snap_confidence": "high", "distance_km": 16.2, "lake_distance_km": 0.0, "travel_h": 9.0, "weight": 0.013, "p_spill_today": 0.011, "p_spill_tomorrow": 0.018, "p_spill_days": [0.011, 0.018, 0.046, 0.091, 0.324], "now_contribution": 0.0}], "access": {"status": "unconfirmed", "checked_at": "2026-10-03", "text": "Permission to enter the water at this point has not been confirmed. A mapped swimming place or public footpath does not establish swimming permission. Check current signs and the landowner's rules."}, "flow_state": null, "flood_alerts": [], "weather": {"days": [{"date": "2026-10-05", "tmax": 20, "sunrise": "07:21", "sunset": "18:44"}, {"date": "2026-10-06", "tmax": 19, "sunrise": "07:22", "sunset": "18:42"}, {"date": "2026-10-07", "tmax": 15, "sunrise": "07:24", "sunset": "18:39"}, {"date": "2026-10-08", "tmax": 14, "sunrise": "07:25", "sunset": "18:37"}, {"date": "2026-10-09", "tmax": 19, "sunrise": "07:27", "sunset": "18:35"}], "credit": "Weather data by Open-Meteo.com"}}]}