Skip to content

Open Data

US river gauge day-of-year norms

For every day of the year, at every gauge, the flow you would expect: the median, the quartiles and the tails, measured across the gauge's whole published record. USGS serves this one gauge at a time. This is all of it at once.

520,723

Daily norms

1,134

Gauges

2

Parameters

1889

Record reaches back to

Released 16 September 2026. Licensed CC BY 4.0, which means you can copy it, change it and sell work built on it, as long as you credit the source.

What this adds to what is already out there

USGS computes these percentiles and publishes them free. It serves them one gauge at a time, through an API that answers a single site per request, which means that anyone who wants a national picture has to make the requests themselves and stitch the answers together. That is the entire job this file does for you. The numbers are USGS numbers and we have not recomputed, smoothed or adjusted any of them.

Read this before you use it

  • A gauge height is not comparable between gauges. A flow is.

    Stage is measured against each gauge's own arbitrary datum, so "4.2 ft" at one gauge and "4.2 ft" at the next describe nothing in common. This is not a rounding problem, it is what the number means. The percentile columns are the fix and the reason this file exists: a reading at the 12th percentile for August 10 is a fact you can act on at any gauge. Compare percentiles, never raw stage.

  • Record lengths differ enormously, and short records make weak percentiles.

    The median flow series covers 57 years and the longest reaches back to 1889, but the shortest covers a single year. A percentile drawn from one year of observations is arithmetic, not climatology. Every row carries begin_yr, end_yr and count_nu, the number of observations behind that day's distribution, so filter on them before you trust a number.

  • The 5th and 95th percentiles are present on 74 percent of rows, not all of them.

    The tail breakpoints were added to this corpus after the middle ones, and the refresh has not reached every gauge. p10 through p90 are populated on every row. p05 and p95 are blank where they have not been fetched yet, and blank means missing rather than zero.

  • Flow and stage are different populations, not two columns of one.

    Discharge is reported at 1,100 gauges and stage at 343, and the stage records are much shorter on average. Filter on parameter before you aggregate, or you will pool cubic feet per second with feet.

  • It is a snapshot, and USGS keeps measuring.

    These percentiles were fetched on the release date shown above and they shift as each gauge adds another year to its record. For a live reading, or for a gauge that is not in this file, go to the USGS service directly. This file is for the shape of a normal year, not for what the river is doing right now.

  • It is 1,134 gauges, not the national network.

    USGS operates roughly 11,000 streamgauges. The ones here are the ones that report on rivers our network covers, so the coverage is concentrated where people paddle and thin where they do not. It is not a sample of the national network and should not be treated as one.

Where it comes from

Every row is a response from the USGS daily statistics service for one gauge and one parameter, stored as returned. The gauge set is the gauges that report on rivers our network covers, which is why it is 1,134 rather than the roughly 11,000 gauges USGS operates. Station names and coordinates come from the NWIS site record for the same gauge.

ParameterRowsGaugesTerms
USGS daily statistics service: streamflow

Discharge in cubic feet per second. The comparable parameter: a percentile at one gauge means the same thing as a percentile at another.

398,5591,100US government work. Public domain, no restriction.
USGS daily statistics service: gauge height

Gauge height in feet, measured against a datum that is local to each gauge. Raw values are not comparable between gauges. The percentiles are.

122,164343US government work. Public domain, no restriction.

USGS data is a work of the United States government and carries no copyright. Our compilation is licensed CC BY 4.0, which asks for a credit; the underlying measurements ask for nothing.

What is in each row

One row per gauge, per parameter, per calendar day: 520,723 rows over 1,134 gauges. Each carries the 5th through 95th percentiles, the mean, the record maximum and minimum with the years they happened, the number of observations behind the distribution, and the first and last year of the record. Gauge names and coordinates live in the small gauges file rather than being repeated on every row; join the two on station_id, which is the USGS site number. Full field definitions, formats and source links live in datapackage.json, which is a standard Frictionless descriptor, so most data tooling can read the release without any of this page.

How to cite it

Paddling Hubs (2026). US river gauge day-of-year norms [Data set]. Assembled from the USGS daily statistics service. https://paddlinghubs.com/data/river-gauge-norms

A link back to this page satisfies the licence. If you build something with it we would like to see it, and we will link to you from here.

In your pocket

Take every launch with you.

Free, no account needed. Put-in maps, named river reaches, and your trip log in your pocket.

  • Every launch in your pocket

  • Named reaches with class ratings on the map

  • Log your paddles in one timeline

  • Find the next put-in wherever you roam

The Paddling Hubs app dashboard

For operators

Run your paddling business?
Launch your branded surface.

Get your own branded surface in the Paddling Hubs app and a directory listing in minutes. Bookings, digital waivers, and your whole operation live in one cockpit.