Data sources
| Source | Data | Access |
|---|---|---|
| PULS (via the EPA's open WFS) | Rain-driven discharges, treatment plants, overflow volumes | Open, no login |
| DMI Open Data | Precipitation, wind, sea temperature | Open, no login |
| Danish Environmental Portal (Kemidata) | Bathing water samples (E. coli, enterococci), master data | Open, no login |
| The EPA's WFS | Bathing water classification (all 1,031 sites) | Open, no login |
| Overflow event feed (HOFOR / PULS / utility) | Registered overflow events with timestamps (data contract overloeb-events.v1) | Source-tagged per event |
| Municipalities & utilities | Wastewater plans, context data | Public documents |
These registers are themselves aggregating systems: they collect reports from municipalities, utilities, industry and the national monitoring programme for the aquatic environment and nature (NOVANA). We draw on the official, aggregating sources — not the individual reporter — and always show the specific source and a timestamp on every data point; the full reporting chain is documented at each source. Where a particular actor is responsible for a data point — for example the utility behind a registered overflow — it is named there, on the point itself, not as a combined list here.
The risk indicator: what we know, and what we estimate
There is no open, national source for municipalities' current bathing advisories. The platform therefore builds its own indicator — and says precisely what it is: Green means the latest municipal sample was below the limit values and that no rain/overflow signal is present — always with the sample date. Yellow ("elevated risk") is our estimate, triggered by a sample above the limit value or by heavy rain combined with registered discharges near the beach — always with the reasoning shown. Red ("advised against") comes solely from the authorities, e.g. a site classified "Poor", where the municipality must advise against bathing. Thresholds and accuracy are published and versioned here on the method page.
Measured or calculated?
Many overflow figures in the public registers are calculated annual values, not direct measurements. We do not hide this — it is stated on each individual data point. Where we estimate ourselves (e.g. discharged volume from duration and capacity), the result is always shown with an uncertainty range and never as an exact figure.
Fair comparison
Absolute figures favour small municipalities and penalise large ones. Rankings therefore always show context (population, sewered area) and rain-normalised key figures (volume per mm of rainfall), so comparisons are not distorted by geography or weather.
The actors' voice
Any municipality, utility or company mentioned on the platform can have an official response shown on its profile. Errors are corrected quickly and transparently with a visible change log.
Proximity is not causation
When the platform shows the "nearest registered discharge" or links an overflow event to a bathing site, the connection is geographic distance — not a hydrological model of whether the water actually flows from the discharge to the beach. It is a deliberately transparent simplification. A verified upstream coupling will be added only once the validation work supports it.
What we do not do
- We do not conclude that laws have been broken — we show official figures alongside official requirements.
- We do not use value-laden labels about actors.
- We do not show data without source and timestamp.
Open code, open method
The platform's calculation methods are published here on the site, and the API behind the views will be freely available, so media, researchers and authorities can build on the work.
This page is versioned. Thresholds and accuracy are updated here as the platform develops.