How Hydrionis decides which water a gauge is on
A river page that says "these gauges are on this river" is making a claim, and a reader cannot tell by looking whether it came from a regulator’s own assignment or from someone parsing station names. This is the method behind every such claim on Hydrionis: what counts as evidence, what is deliberately excluded, how a relationship is versioned, and what happens to the gauges no publisher will vouch for.
What counts as evidence
One thing does: the organisation that operates a gauge saying, in a record it publishes about that gauge, which water it is on. Everything below is a variation on that, and nothing else qualifies.
The tiers are ordered by how directly the publisher makes the statement, and are declared in full even though only the strongest is currently used — so that anything weaker added later has to announce itself as weaker rather than arriving as an equal.
| Tier | What it rests on | In use |
|---|---|---|
| Tier A | Stated by the publisher | 3,257 |
| Tier B | Spatial join against published boundaries | 0 |
| Tier C | Proximity, within a stated tolerance | 0 |
The rules, and what each rests on
Each rule reads one field of one publisher’s station register. The rule, its version, the field it read and the date it read it travel with every relationship it produces.
| Rule | Gauges | Version | Evidence |
|---|---|---|---|
| usgs-huc8-subbasin | 1,732 | 1.0.0 · 2026-08-26 | USGS site service, huc_cd field — https://waterservices.usgs.gov/nwis/site/ ; named from the USGS Watershed Boundary Dataset 8-digit HU (Subbasin) layer — https://hydro.nationalmap.gov/arcgis/rest/services/wbd/MapServer/4 |
| hubeau-sandre-cours-eau | 863 | 1.0.0 · 2026-08-26 | Hub'Eau hydrometry site reference, libelle_cours_eau, code_cours_eau and surface_bv fields — https://hubeau.eaufrance.fr/api/v2/hydrometrie/referentiel/sites |
| ea-hydrology-river-name | 356 | 1.0.0 · 2026-08-26 | Environment Agency hydrology station register, riverName field — https://environment.data.gov.uk/hydrology/id/stations |
| sepa-station-river-name | 306 | 1.0.0 · 2026-08-26 | SEPA KiWIS station list, river_name and catchment_name fields — https://timeseries.sepa.org.uk/KiWIS/KiWIS |
| Stated during ingestion | 2,979 | With the observations | Two publishers name the water on the record ingestion already reads, so the relationship arrives with the values rather than through a derivation. It is the same evidence by a different route, and neither route is ranked above the other. |
What is deliberately excluded
Name matching, in every form. It was considered and left out, and the reason is that a tier which exists will be used. “Thames at Kingston” and “Thames Water” both contain Thames; the Aller and the Alster differ by two letters and two hundred kilometres. A river page built on parsed station names would be indistinguishable, to a reader, from one built on a regulator’s own assignment — which is precisely what makes it unacceptable rather than merely imprecise.
Inference from a display name. The canonical type of a water body is derived from the evidence that linked it, never from how its name reads. A United States hydrologic unit called “Upper Colorado River” is a drainage area containing that river’s tributaries, and is typed as a subbasin however confidently the name suggests otherwise.
A spatial tier, for now. One was prototyped in Sprint 7 against an authoritative, openly licensed national river water body layer, and was not shipped. The service’s coordinate handling could not be validated to a standard that would justify publishing a river name, and a spatial join that is wrong is not less wrong for having come from a government GIS. Tiers B and C remain declared and unused.
Gauges that stay unresolved
909 river gauges are held without a water body, and are reported that way rather than filled in. An honestly unresolved gauge is better than a wrong river, and it is also better than a right river obtained improperly.
| Jurisdiction | Unresolved gauges |
|---|---|
| Ireland | 450 |
| Netherlands | 381 |
| France | 29 |
| Sweden | 28 |
| United States | 18 |
| Scotland | 3 |
The two largest blocks have different causes. The Irish network’s water bodies are published, on a site whose click-through agreement grants no reuse licence — so the relationship exists and Hydrionis may not use it. Rijkswaterstaat publishes a code, a name and a coordinate for each of its locations and no water body of any kind, so for the Netherlands the relationship is not published at all.
Versioning and correction
The linkage is a materialised derivation, committed to the repository, and not recomputed when a page is built. That is partly for speed and mostly for governance: a relationship recomputed on every build is one that can change without anyone deciding it should. If a publisher renames a river, the change appears as a reviewable difference in a committed file, with a generation date and a method version beside it, rather than as a page that quietly says something new.
Each rule carries its own version, bumped when a change alters what its linkages mean rather than merely how they are computed. A gauge’s profile page states which rule linked it, what that rule read, and when.
Data behind this
Every figure above is computed from these datasets at build time rather than written into the text. If the underlying record changes, this page changes with it.
Citation
Hydrionis (2026), How Hydrionis decides which water a gauge is on, version 1.0. Retrieved from https://hydrionis.com/research/how-hydrionis-links-a-gauge-to-a-water-body/