Method versionv1
Published7 October 2026
Implementationhydro_roostcount.js

1. What the figure is

HydroRoost returns a minimum confirmed count for an area over a period, derived from reports made by observers who may be counting the same site on different nights, or the same site from different banks on the same night.

It is a floor, not an estimate. The claim is that at least this many birds, or this many nests, were present, because that many were counted at once. It is not a population estimate, it is not a modelled figure, and it carries no confidence interval.

Anyone quoting the figure should quote it with that qualification. Hydroscape does so wherever it appears, including on every exported report.

2. What is counted

Two things, kept separate at every stage, because they are different units and mixing them makes both unreadable.

Site typeUnitSeasonTime of day
Overnight roostBirdsNovember to February30 minutes before dusk, or first light
ColonyNestsMarch to JulyDaylight, when nests can be seen

A roost count is a count of birds arriving at or leaving a fixed overnight site. A colony count is a count of nests, which is the standard unit for breeding numbers and is reported as apparently occupied nests. The form will not let a count be filed without a site type, and the unit follows from the site type rather than from the observer.

3. The method in one sentence

Divide the area into fixed 500 m cells, take the highest single report in each cell in each calendar month, add those together for that month, and report the best month in the period.

4. The three stages

The order is the method.

Stage 1. Deduplicate within cell and month

Inside one cell, in one calendar month, the single highest report is kept and the rest are discarded. Two observers at either end of one tree line, or the same observer walking the bank twice in a week, produce one figure, not several.

Stage 2. Sum across cells

The retained figures are added together across every cell in the area. Separate roosts stay separate.

Stage 3. Peak across months

Each month in the period produces a total. The highest is reported, with the month named. Averaging months would understate a population that is present seasonally.

5. Why 500 m, when the sighting method uses 2 km

The two figures count different things and they fail in opposite directions.

A sighting is a bird somewhere on a water. Eight anglers spread along one 1.5 km lake watching the same flock of forty produce eight reports of one flock. The cell has to be wide enough to swallow the lake, or the method counts that flock eight times. That is what the 2 km cell is for.

A roost is a fixed place. Birds return to the same trees night after night, and what is being counted is a site rather than a flock that moved. Two roosts 1.2 km apart are two roosts. Under a 2 km cell they collapse into one and the larger erases the smaller. At national scale that is the dominant error, because roosts cluster along a valley or a reservoir chain, and a coarse grid quietly deletes most of them.

So the direction of safety reverses. For sightings, merge too much. For roosts, merge too little. 500 m is the smallest cell that still absorbs the repeat counting that actually happens at a roost, which is one observer walking the bank or two observers at either end of one tree line. Below 500 m those start splitting and the figure inflates.

CellBehaviour against the records held on 6 October 2026
250 mOver-splits. The same tree line reported from two banks counts twice.
500 mChosen.
1 kmStarts merging neighbouring waters on the same reservoir.
2 kmMerges roosts along a whole valley into one.

500 m is a resolution choice rather than a measurement, and the number it produces is still a floor.

6. Grid definition and reference latitude

Cells are a fixed partition of space, not a buffer around each report, so the same records always produce the same cells.

Longitude has to be scaled to a latitude. Scaling at each point's own latitude turns the grid into a fan and cells stop being a fixed partition. A single fixed reference holds true across one country but not across a continent: at 42N a cell scaled at 54N is about a quarter too wide, and at 65N about a quarter too narrow.

Each drawn area therefore gets its own reference latitude, taken from the centre of that area. The grid inside any one area is a true fixed partition, correctly sized for where it sits, and two areas at different latitudes each get their own correct grid. The reference latitude used is printed on every figure and every export.

One consequence, stated rather than hidden: a single area spanning more than roughly 10 degrees of latitude cannot be gridded honestly by this method. Drawing the whole of Europe as one shape returns a warning and asks for it to be split. Several smaller areas are both more accurate and the intended way to use it.

7. Evidence and verification

A photograph can be attached to any count and is strongly encouraged for a new site or an unusually high figure. Photographs are passed to automated image analysis, which returns an independent reading of species presence and, where the image allows, a count. Both the observer figure and the automated figure are stored and shown side by side. Neither overwrites the other.

The automated reading is an aid to a coordinator checking a surprising number. It is not an arbiter, it is not used to alter a submitted count, and a count without a photograph is not treated as lesser.

Every figure in the register can be traced back to the individual reports that produced it, with date, time, coordinates, observer and photograph. A coordinator who distrusts a total can open the records behind it.

8. Counting groups

A coordinated count is issued a group PIN. Entering it at the start of a session tags every count submitted in that session to that group. The PIN is never written to the record.

Records can then be filtered and exported by group, so a national organiser can retrieve their own returns cleanly while those returns still contribute to the same dataset. Groups do not restrict what anyone can see and they do not partition the data. They are an attribution mechanism, not a wall.

9. Limitations

10. Cost, ownership and access

There is no charge. Not for the apps, not for an account, and not for the data. Hydroscape does not sell, trade or broker records, and there is no paid tier that unlocks figures, exports or reports.

Hydroscape is not run as a data business. The cormorant argument has run on opinion for decades because the evidence base is thin and fragmented. That changes only if counting is easy enough that people do it and consistent enough that the numbers hold up, and neither happens behind a paywall.

Contributors and coordinators can export their own records at any time, as CSV for analysis or as PDF for submission. Aggregate figures are published openly on the live data map. Where a research group or a national organiser needs the underlying records for a count they are coordinating, those are provided on request at no cost.

11. Data protection and security

Data is encrypted at rest with AES-256 and in transit over TLS. Access is enforced by server-side rules rather than by the application, so a user reaches only their own records and administrative functions require a verified claim. The site runs no analytics cookies, no advertising trackers and no third-party tracking scripts.

Ecological records, meaning coordinates, counts, site type, species and date, are held as scientific data and retained indefinitely. Personal identifiers are held separately from them and can be removed on request without affecting the count. The full policy is set out in the privacy policy. A current security audit is available to any organisation that needs one for its own review.

12. Reproducibility

The implementation is hydro_roostcount.js, served unminified. The parameters above are the defaults it uses. Anyone holding the same records can reproduce the same figure, and anyone who believes the calibration is wrong can see exactly what was chosen and argue with it.

13. Citation

Hydroscape-Group Ltd (2026). HydroRoost method, version 1. Available at https://www.hydroscape-group.co.uk/hydroroost-method.html

Figures taken from Hydroscape should be cited as a minimum confirmed count, with the period and the area stated, and should not be presented as a population estimate.

14. Contributing a count

The reporting form is at Roost & Colony Count and works in 23 languages. It runs in a browser and can be installed to a phone home screen from the install page or from Google Play. It works without a signal and uploads when one returns.

Coordinators running an organised count should contact info@hydroscape-group.co.uk for a group PIN and, where useful, guidance material for volunteers.