Buggin field notes · Reading river data

How to Read USGS River Flow Charts for Fly Fishing

A USGS river flow chart shows how much water passes a monitoring location over time. For fly fishing, first confirm the station and units, then read the current level, recent trend, and seasonal context. CFS is useful planning information; it is not a wading-safety rating or a fishing score.

What is CFS, and what does a gauge measure?

CFS means cubic feet per second: a volume passing a point each second. Imagine a box one foot long, one foot wide, and one foot high. One such volume per second is 1 CFS. It is a rate of discharge, not the speed of the water. The USGS glossary defines the unit and distinguishes it from other water measurements.

A gauge commonly measures water-surface height, called stage or gage height. USGS also makes field discharge measurements and uses a station-specific relationship to estimate continuous streamflow from stage. Additional sensors may report water temperature and other measurements; not every station reports every parameter. See USGS’s description of streamflow measurement.

Three measurements anglers commonly see on a USGS river chart
MeasurementCommon display unitHow to interpret it
Discharge / streamflowCFS (ft³/s)Volume per second passing the gauge; use it to compare levels on the same river.
Gage height / stageFeet (ft)Water-surface elevation above a local reference datum; not the depth of your crossing.
Water temperature°F or °CTemperature at the sensor and time shown; confirm the unit and distance from your reach.

Why gage height is not river depth

A stage of 4 feet does not mean the channel is 4 feet deep everywhere, or even at your access point. The reference zero belongs to that gauge. A different station’s 4-foot reading cannot be compared as if it used the same riverbed reference.

The stage-discharge relationship, or rating curve, depends on the local channel. It can change as sediment, vegetation, or floods alter that channel. Doubling stage therefore does not mean doubling discharge. For fishing decisions, use the published discharge series rather than trying to calculate CFS from a height reading.

How to read a river flow graph: a live example

This chart uses USGS 06043120, the Gallatin River above Deer Creek near Big Sky, Montana. Its identity, three reported measurements, and historical series were checked against the USGS API for this guide. The line updates with available observations, so it will not always show a dramatic rise or fall.

Data: USGS 06043120, Gallatin River above Deer Creek, near Big Sky, Montana. Provisional measurements may be revised. Temperature is operated seasonally, March–October; gaps and delayed readings are not zeroes. Open the full chart.
  1. Confirm the station. Read its name and position. A gauge above an important tributary may not describe the water below that tributary.
  2. Read both axes. The horizontal axis is time; the vertical axis is discharge in CFS. Check how much time and flow each interval represents.
  3. Check the latest timestamp. The observation time matters more than the time you opened the page.
  4. Trace the slope. Follow the line from left to right. Rising values indicate increasing discharge; falling values indicate decreasing discharge. Touch or hover for readings.
  5. Change the time range. Compare 24H with 7D or 30D. A small wiggle on a short chart may be insignificant within the longer pattern.

Check the scale each time you change the period. Automatic vertical scaling can make a small change look steep. A gap means observations are missing or unavailable, not that the river stopped flowing. The existing chart’s 24-hour trend also requires sufficient recent observations; “unavailable” should remain an unknown.

For temperature, open the temperature-chart example. This Gallatin sensor’s temperature record is seasonal, March–October. Buggin Charts displays available measurements and quality notes; it does not fill a missing winter temperature record with a forecast.

Seasonal runoff and tailwater releases

On a snowmelt-driven river, warming weather can produce a broad seasonal increase with shorter daily pulses. NWS runoff guidance explains that melting snow can infiltrate the ground or become streamflow. Rain on an active snowpack can complicate the pattern. High spring flow is not automatically unusual, and a modest winter rise may be a substantial change for that season.

A tailwater can rise under a clear sky because reservoir operations control its release. Repeated step changes may be consistent with operational changes, but a graph alone does not prove the cause. Check the dam operator’s published information and local warning signs rather than treating yesterday’s pattern as a release schedule.

The timing at the gauge and timing at your reach may differ. Do not assume a downstream reading will warn you before water rises below a dam. Keep an exit that does not depend on crossing a channel, and follow operator safety instructions. A temperature benefit below a reservoir does not make the release hydraulically safe.

Compare current flows with historical conditions

Start with the same station and the same season. The USGS explanation of percentiles describes how a reading can be ranked against historical conditions for that calendar date. A median is the middle of the comparison distribution; it is not the arithmetic average and not the best fishing flow.

For instance, a reading near the 90th percentile is high relative to the chosen historical comparison, not “90 percent of bank-full.” A lower-than-normal snowmelt flow may still be too much for a familiar crossing. An unusually low summer flow can raise fish-care concerns even if access looks easy.

Match the statistic as well as the station. An instantaneous observation and a daily mean summarize different things. Check the reference period, record length, and whether dams or diversions have changed the river. The 30-day view here is recent history; it does not display a multi-year percentile baseline. Follow the chart’s USGS attribution link for the station’s longer record and available statistics.

USGS data limitations and a useful trip-planning routine

Real-time USGS measurements are generally provisional and can be revised. Ice, debris, channel changes, and equipment problems can affect a record. Transmission delays and sensor outages also mean the newest displayed value may not describe the river now. A flat line deserves a timestamp check before it is interpreted as stability.

Gauges do not usually tell you local water clarity, whether an access road is open, or where a submerged obstacle lies. They measure particular locations, and an ungauged tributary can change conditions below the station. Use weather alerts, agency notices, and observations on the bank alongside the data.

Before leaving, choose your reach, locate the relevant gauge, read the level and trend, then check weather and temperature. Recheck on arrival and keep a second option if conditions differ. For a rain event, use the rain and runoff guide to interpret what changed.

The Gallatin River fishing forecast adds fishing context to available river and weather signals. To select another station or share a graph, open the existing Buggin chart generator. Use the measurements to ask better questions about the river, then let the actual conditions determine the day.

Sources and further reading

Sources checked October 20, 2026. Fishing examples are starting tactics, not promises of feeding activity.