River Gauge Readings (Full Observed Series)

Every observed stage and flow reading at every NWS river gauge, at each gauge's own reporting interval (usually 15 minutes, 5 at some): stage in feet and flow in cubic feet per second.

Native record
river gauge x observed reading
15-minute publication cadence
Evidence
Observed market data
Published observations from the named source
Time basis
Point-in-time records
UTC · observed_at

Overview

This is the complete observed record; the 15-minute gauge snapshots keep only the latest reading at each snapshot and miss readings from gauges that transmit in batches. Flow is the physical driver of hydroelectric output, and a gauge upstream of a dam leads the plant by the river's travel time. Stage is relative to each gauge's own datum and is not comparable between gauges; flow is. Source: NOAA National Water Prediction Service.

Query contract

Keep one row per (lid, observed_at); take argMax(value, ingested_at) where a reading was loaded twice.

Analysis rules

  • Compare flow_cfs across gauges, never stage_ft: stage is relative to each gauge's own datum.
  • Reporting intervals differ by gauge; resample to a common step before comparing gauges.

Interpretation

  • A gauge near a plant is not necessarily on the plant's river. Name the gauge and the distance rather than asserting the plant's inflow.
  • Readings are provisional and can be revised by the operating agency.

Access

Query from your own tools

Use the guarded HTTP endpoint directly, or connect an MCP client and load the dataset contract with describe_data before calling query_data.

HTTP endpoint
POST /api/v1/datasets/nwps_observations/query

Schema5

Column
Type
lidLowCardinality(String)
observed_atDateTime64(6, 'UTC')
stage_ftNullable(Float64)
flow_cfsNullable(Float64)
ingested_atDateTime64(6, 'UTC')

Sample data

lidobserved_atstage_ftflow_cfsingested_at
BNEM52026-09-19 17:45:00.0000001.832026-09-19 17:35:53.957283
PILM52026-09-19 17:45:00.0000001.522026-09-19 17:44:06.664609
RCOM52026-09-19 17:45:00.0000001.932026-09-19 17:44:41.042682
PVHC12026-09-19 17:36:00.0000006.032026-09-19 17:44:29.537807
NAGN72026-09-19 17:35:00.000000-0.852026-09-19 17:42:56.319863
NADV22026-09-19 17:35:00.0000002.162026-09-19 17:42:56.319863
NELN72026-09-19 17:35:00.000000-0.332026-09-19 17:43:08.848408
NNRN72026-09-19 17:35:00.0000003.182026-09-19 17:43:20.329670
NSFN72026-09-19 17:35:00.0000006.442026-09-19 17:43:20.329670
PKCN72026-09-19 17:35:00.0000005.192026-09-19 17:44:06.664609
POIN72026-09-19 17:35:00.0000000.152026-09-19 17:44:18.426324
PCKN72026-09-19 17:35:00.000000-0.382026-09-19 17:43:54.742681
PGHN72026-09-19 17:35:00.0000001.672026-09-19 17:43:54.742681
PGBN72026-09-19 17:35:00.0000009.142026-09-19 17:43:54.742681
NTAN72026-09-19 17:35:00.000000-0.242026-09-19 17:43:20.329670
OIBN72026-09-19 17:35:00.0000001.752026-09-19 17:43:32.157220
OKRS12026-09-19 17:35:00.0000004.572026-09-19 17:43:32.157220
PSUV22026-09-19 17:35:00.0000001.412026-09-19 17:44:29.537807
PWET22026-09-19 17:35:00.00000002026-09-19 17:44:29.537807
QUCN72026-09-19 17:35:00.0000000.422026-09-19 17:44:29.537807
RBDN72026-09-19 17:35:00.0000001.282026-09-19 17:44:29.537807
WMWN72026-09-19 17:35:00.0000007.12026-09-19 17:48:30.680019
WOOM22026-09-19 17:35:00.000000235.92026-09-19 17:48:30.680019
WRPN72026-09-19 17:35:00.00000015.462026-09-19 17:48:30.680019
RCLN72026-09-19 17:35:00.0000003.342026-09-19 17:44:41.042682

Coverage

100.0% complete0 gap days31 days with data
Show coverage history
Coverage: 100.0%Days with data: 31Gaps: 0
2026
gaplessmore