About Western Flows

How we collect data, calculate flow status, and decide when to raise alerts.

What is Western Flows?

Western Flows is a free, daily-updated dashboard that shows real-time streamflow conditions for 454+ active USGS stream gauges across California. It's designed for anglers, kayakers, hikers, water managers, and anyone who wants to quickly understand whether a river is safe and fishable — without digging through raw USGS data tables.

Every page is generated once per day from live APIs. There are no user accounts, no trackers, and no ads. Raw data is always one click away via the USGS link on each gauge page.

Data Sources

USGS Water Services — Instantaneous Values (IV)

The primary data source. The USGS National Water Information System publishes 15-minute streamflow (discharge, in cubic feet per second) and water temperature readings from thousands of stream gauges nationwide. We query the IV API for the last 7 days of readings for every active California gauge. This data is the gold standard for real-time river conditions.

USGS Statistics Service — Historical Daily Percentiles

To put today's flow in historical context, we fetch the full 365-day record of daily statistics from the USGS Statistics Service. For each day of the year, USGS computes percentile thresholds (10th, 25th, 50th, 75th, 90th) from all available years of record — typically 30–80+ years per gauge. We apply a 15-day centered rolling average to smooth out day-to-day noise, then compare today's observed flow to the resulting smoothed percentile bands.

Open-Meteo — Weather Forecasts

3-day weather forecasts (temperature, precipitation probability, wind, weather description) are sourced from the Open-Meteo Forecast API at each gauge's GPS coordinates. We also pull hourly data for an 8-hour surface pressure trend, which is used as a proxy for incoming weather systems. Open-Meteo is a free, open-source weather API using high-resolution NWP models. Sunrise and sunset times on each day card come from the same API request.

GloFAS / Open-Meteo Flood API — 7-Day Flow Forecast

For larger rivers, we show a 7-day modeled flow forecast from the Global Flood Awareness System (GloFAS), accessed via the Open-Meteo Flood API. GloFAS is an ECMWF ensemble model and does not assimilate real-time USGS gauge observations, so its absolute CFS values are approximate. We apply two plausibility filters: (1) if the model's day-1 forecast is less than 20% or more than 5× the current USGS observation, the forecast is suppressed as unreliable; (2) streams with a smoothed historical median below 10 cfs are excluded entirely, since GloFAS routing resolution does not reliably represent very small drainages. When shown, the forecast is most useful for identifying directional trends (rising/falling) over the coming week.

CFS vs. Gage Height (Feet)

USGS gauges typically record two measurements: discharge (in cubic feet per second, or CFS) and gage height (in feet, also called stage). Western Flows uses CFS exclusively because it represents the actual volume of water moving through the channel per unit of time — making it directly comparable across different rivers, regardless of channel shape or width.

Gage height is how high the water surface is above an arbitrary reference point (the datum) at that specific gauge. It varies by channel geometry and is not comparable between gauges: 4 feet at one gauge may be a trickle while 4 feet at another is a flood. CFS removes this ambiguity and is the right unit for cross-gauge comparisons and historical percentile calculations.

How Flow Status is Calculated

Each gauge is assigned a flow status based on a Flow Ratio (R) — the ratio of current CFS to the smoothed historical median CFS for today's date. Using a ratio rather than an absolute threshold means the same scale works equally for a 5 cfs desert creek and a 50,000 cfs Sierra river.

Flow Ratio (R) Status What it means
R > 3.0 Flow Extremely High 3× above typical. High velocity, turbid water, significant flood risk.
1.5 – 3.0 Flow Moderately High Elevated above typical. Powerful flows and reduced water clarity.
0.5 – 1.5 Flow Conditions Normal Within typical seasonal range for this time of year.
0.2 – 0.5 Flow Moderately Low Below average. Low, clear water in shallower reaches.
R < 0.2 Flow Extremely Low Critically low. Risk of thermal stress, aquatic stress, or dry sections.

Very small streams (<20 cfs) are always flagged as extremely low regardless of ratio, since trickle flows represent stressful conditions even at typical seasonal levels.

Percentile Bands (Historical Context)

Below the flow status badge, each gauge page shows which historical percentile band today's flow falls in for this date. This tells you whether current conditions are unusual for the time of year — independent of the status label.

Below 10th Percentile Drier than 90% of historical years for this date
Below 25th Percentile Drier than 75% of historical years for this date
25th–75th Percentile Normal range — typical for this time of year
Above 75th Percentile Wetter than 75% of historical years for this date
Above 90th Percentile Wetter than 90% of historical years for this date

Percentile data is only shown when USGS has sufficient historical record for that gauge and date. Roughly 80% of gauges display a percentile badge on any given day.

Alert Thresholds

Flash Rise Warning

Triggered when flow increases more than 20% within a 4-hour window. Rapid rises can indicate upstream dam releases, sudden rainfall, or debris-dam breaks. Conditions can change faster than you can safely exit the water.

Thermal Stress Warning

Triggered when water temperature exceeds 68°F (20°C). Above this threshold, dissolved oxygen levels drop and aquatic organisms — especially salmonids — experience physiological stress. This is a meaningful ecological threshold and a widely used reference point in California water quality standards.

Ice-Affected Data

When USGS qualifies readings with an ice condition code, a banner appears on that gauge's page. Ice in the stilling well or around the sensor can cause dramatically distorted flow readings — both falsely high and falsely low — that do not reflect actual streamflow.

Equipment Issue

Shown when USGS flags readings with an equipment malfunction qualifier. Data may be unreliable until the issue is resolved. Check the USGS gauge page directly for current status and any field technician notes.

System Insights

Each gauge page shows up to three System Insights — short, evidence-based observations derived by cross-referencing two or more independent data sources. Insights never assign causes; they describe what the data shows. All are optional and only appear when the underlying data supports them.

Flash Rise Flow rose more than 20% in 4 hours. Rapid changes can indicate upstream releases, rainfall, or debris events.
Cold Water Water temperature is below 50°F. Cold water holds more dissolved oxygen but presents hypothermia risk.
Thermal Stress Water temperature exceeds 68°F. Dissolved oxygen declines and aquatic organisms experience physiological stress.
Precip × Flow Recent precipitation forecast coincides with observed flow above median. Both sources suggest elevated conditions.
Percentile Trend Current flow has crossed a percentile band threshold (p10, p25, p75, p90) within the past 7 days, indicating a meaningful shift from recent conditions.
Model Divergence The GloFAS 7-day flow forecast diverges significantly from the current observed flow, suggesting model uncertainty for this gauge and period.
Stable Flow Flow volatility has been very low over the past 4 hours and the river is running near median. Unusually steady conditions.
Near-Zero Flow Current flow is near zero — the stream may be dry, impounded, or diverted at the gauge location.

Update Schedule & Data Freshness

The site is rebuilt once per day. Each gauge page displays a timestamp showing when flow and temperature readings were last recorded by USGS. USGS publishes new 15-minute readings continuously, but our site does not update in real time — there is typically a lag of several hours between the latest USGS reading and what is shown here.

If the daily build cannot reach the USGS API (e.g., due to a service outage), the site falls back to the most recently cached data. A banner at the top of every affected page shows the date of the cached data so you always know how fresh the information is.

Weather forecasts from Open-Meteo are also cached. If the weather API is unavailable, the previous day's forecast is displayed with a staleness notice.

Provisional vs. Approved Data

When a gauge page shows a Provisional Data badge, it means USGS has not yet reviewed and approved those readings. Provisional data is typically reviewed within a year of collection, but in the interim it may be subject to revision. Most real-time data starts as provisional.

Approved (non-provisional) data has been reviewed by a USGS hydrologist and is considered the official record.

Limitations & Disclaimer

Western Flows is an informational tool built on third-party data. It is not an official safety service. Flow conditions can change rapidly, especially during storms, snowmelt events, and dam operations not reflected in gauge readings. Always exercise independent judgment before entering any waterway.

This site is not affiliated with USGS, CDFW, or any government agency. Use at your own risk.