How Flowcast works
Flowcast takes public stream-gauge data from the U.S. Geological Survey and puts it in plain language. Everything on this site is computed from that data; nothing is estimated by hand.
Where the data comes from
- Current flow: the latest reported discharge (USGS parameter 00060, cubic feet per second) from the USGS Water Data API “latest-continuous” collection, typically updated every 15–60 minutes.
- 7-day trend: the same gauge's “continuous” readings for the past nine days, shown in Pacific time.
- History: the gauge's full record of USGS daily mean discharge (the “daily” collection), which for most gauges goes back several decades, some back to the early 1900s.
Real-time readings are provisional: USGS may revise them after review. Flows at gauges below dams or diversions are influenced by people, not just weather, and are flagged on each river page.
How a status is chosen
Flowcast compares today's flow with that same gauge's own history for this time of year. It pools every daily mean flow within ±7 days of today's calendar date across all years on record, then finds where the current reading ranks. That rank is the seasonal percentile: the 50th percentile is a typical flow for the date, the 90th is higher than 90% of historical days. Flowcast also computes an annual percentile versus every day on record, so a small rise in a dry season is not mistaken for a flood.
| Status | Rule |
|---|---|
| Blown out | Annual percentile ≥ 97 (higher than 97% of every day on record), or seasonal percentile > 97 and annual percentile ≥ 80. |
| Use caution | Seasonal percentile > 90 and annual percentile ≥ 60. |
| High but doable | Seasonal percentile > 75 and annual percentile ≥ 50. |
| Too low | Seasonal percentile ≤ 10, annual percentile ≤ 40, and flow ≤ 85% of the seasonal median. |
| Fishable/Floatable | Everything else: the flow is within the range this gauge normally sees at this time of year. |
Two checks guard against over-reading small differences: on very steady gauges (for example spring-fed rivers) “Too low” and the “High” statuses also require the flow to differ from the seasonal median by at least 14%. A gauge whose reading is older than 48 hours is shown as “No current data”.
What the statuses are not
- They are not safety ratings. A gauge measures flow at one spot; hazards, weather, clarity, wood, rapids, and dam releases are not captured.
- They are not craft-specific. A drift boat, raft, kayak, and wading angler each have different limits. The configuration supports per-river fixed cfs thresholds, but none are set yet because Flowcast has no sourced values.
- The short explanations (“fast, pushy water,” “shallow riffles”) are general descriptions of what higher or lower flows typically mean, not observations of a specific river.
- River notes and “typical uses” on each page are hand-written general descriptions, not USGS data.
Data quality rules
- Only plain stream gauges (USGS site type ST) that report discharge are included. Tidal or estuary gauges are excluded.
- Any negative, null or non-numeric discharge value is discarded; a gauge with negative readings in the past nine days is excluded.
- A gauge needs at least 10 years of daily data for the time of year to be scored.
Coverage
This version covers 39 gauges in Oregon and Washington. 0 candidate gauges failed these checks in the latest run and are not shown.
Disclaimer
Data from the U.S. Geological Survey (USGS). Readings are provisional and subject to revision. Flowcast statuses are automated comparisons with each gauge's own history, not safety ratings or fishing reports. Check local conditions, weather, regulations and closures before you go. Rivers can change quickly.
Contact: [email protected] (placeholder).