River Forecasts (Official Hydrographs)

The official River Forecast Center hydrograph at every NWS forecast point, one row per issuance and valid time: forecast stage in feet and flow in cubic feet per second, typically six-hourly steps several days ahead.

One row per
forecast point x issuance x valid time
Hourly (as issued) cadence
Evidence
Forecast data
Forward-looking values with an explicit issue time
Time basis
Point-in-time records
UTC · valid_at

Overview

Every issuance is kept, so the latest issued_at at or before a moment is the forecast as it stood then, and comparing issuances shows how a crest forecast moved. Flow forecast at a gauge upstream of a dam is a forecast of the plant's water; a crest above flood stage is a forecast of riverside exposure. Source: NOAA National Water Prediction Service.

Query contract
For one gauge's forecast as of a moment take the newest issued_at at or before it, then every valid_at row of that issuance.
Analysis rules
Never mix issuances in one curve; group by (lid, issued_at).Join to nwps.gauge_registry on lid for thresholds; compare stage_ft only to the same gauge's thresholds.
Interpretation
Only official forecast points appear; most gauges have no forecast.A forecast is the River Forecast Center's judgement, including its rainfall assumptions, not an observation.

Access

Download
Query it in SQL, download it, or read it with an API key. Download data
MCP
Connect an MCP client and load the contract with describe_data before calling query_data.ERCOT MCPCAISO MCPNYISO MCPPJM MCPSPP MCPMISO MCPISO-NE MCPBPA MCPAPI reference
HTTP endpoint
POST /api/v1/datasets/nwps_forecasts/query
Full history
Delivered to Snowflake, Databricks or your own storage on a schedule by Data services.
More coverage

Schema

6 columns
ColumnType
lidLowCardinality(String)
issued_atDateTime64(6, 'UTC')
valid_atDateTime64(6, 'UTC')
stage_ftNullable(Float64)
flow_cfsNullable(Float64)
ingested_atDateTime64(6, 'UTC')

Sample data

lidissued_atvalid_atstage_ftflow_cfsingested_at
CMSM72026-10-28 14:17:00.0000002026-11-25 12:00:00.000000-3.9∅2026-10-28 15:41:40.629210
HRNM72026-10-28 14:17:00.0000002026-11-25 12:00:00.0000000.9238002026-10-28 15:41:40.629210
JFFM72026-10-28 14:17:00.0000002026-11-25 12:00:00.000000-0.5∅2026-10-28 15:41:40.629210
OMHN12026-10-28 14:28:00.0000002026-11-25 12:00:00.0000007110002026-10-28 15:41:40.629210
NEBN12026-10-28 14:28:00.0000002026-11-25 12:00:00.0000004.5170002026-10-28 15:41:40.629210
SCLM72026-10-28 14:17:00.0000002026-11-25 12:00:00.0000004.5∅2026-10-28 15:41:40.629210
SSCN12026-10-28 14:19:00.0000002026-11-25 12:00:00.0000004.4105002026-10-28 15:41:40.629210
WHGM72026-10-28 14:17:00.0000002026-11-25 12:00:00.000000-1.2∅2026-10-28 15:41:40.629210
CMSM72026-10-28 14:17:00.0000002026-11-25 06:00:00.000000-3.9∅2026-10-28 15:41:40.629210
HRNM72026-10-28 14:17:00.0000002026-11-25 06:00:00.0000000.9238002026-10-28 15:41:40.629210
JFFM72026-10-28 14:17:00.0000002026-11-25 06:00:00.000000-0.5∅2026-10-28 15:41:40.629210
NEBN12026-10-28 14:28:00.0000002026-11-25 06:00:00.0000004.6175002026-10-28 15:41:40.629210
OMHN12026-10-28 14:28:00.0000002026-11-25 06:00:00.0000007110002026-10-28 15:41:40.629210
SCLM72026-10-28 14:17:00.0000002026-11-25 06:00:00.0000004.5∅2026-10-28 15:41:40.629210
SSCN12026-10-28 14:19:00.0000002026-11-25 06:00:00.0000004.3103002026-10-28 15:41:40.629210
WHGM72026-10-28 14:17:00.0000002026-11-25 06:00:00.000000-1.2∅2026-10-28 15:41:40.629210
CMSM72026-10-28 14:17:00.0000002026-11-25 00:00:00.000000-3.8∅2026-10-28 15:41:40.629210
HRNM72026-10-28 14:17:00.0000002026-11-25 00:00:00.0000000.9238002026-10-28 15:41:40.629210
JFFM72026-10-28 14:17:00.0000002026-11-25 00:00:00.000000-0.5∅2026-10-28 15:41:40.629210
OMHN12026-10-28 14:28:00.0000002026-11-25 00:00:00.0000007110002026-10-28 15:41:40.629210
NEBN12026-10-28 14:28:00.0000002026-11-25 00:00:00.0000004.6175002026-10-28 15:41:40.629210
SCLM72026-10-28 14:17:00.0000002026-11-25 00:00:00.0000004.5∅2026-10-28 15:41:40.629210
SSCN12026-10-28 14:19:00.0000002026-11-25 00:00:00.0000004.3103002026-10-28 15:41:40.629210
WHGM72026-10-28 14:17:00.0000002026-11-25 00:00:00.000000-1.2∅2026-10-28 15:41:40.629210
CMSM72026-10-28 14:17:00.0000002026-11-24 18:00:00.000000-3.8∅2026-10-28 15:41:40.629210

Coverage

Complete
100.0%
Gap days
0
Days with data
69
Show coverage history
Coverage: 100.0%Days with data: 69Gaps: 0
2026
gaplessmore