Colorado River at Lees Ferry, AZ
Custom dates & interval
What is this?
Instantaneous discharge (green line) in cubic feet per second, and gage height (blue line) in feet where the station reports stage. Readings the source or our ingest flagged for quality plot in red. Scroll or pinch to zoom, drag to pan, and click any point for the full reading.Each point is the reported instantaneous discharge \(q_t\). To convert to gallons per minute: $$1\ \mathrm{CFS} = 448.831\ \mathrm{gal/min}$$
What is this?
A flow-duration curve for the trailing 24 hours: every qualifying reading is ranked and plotted against the percentage of the window it was equaled or exceeded, on a log flow axis. The red dot marks the latest reading. Reading the curve: 125 CFS at the 30% mark means flow sat at or above 125 CFS for 30% of the window.Sort the \(n\) unflagged readings from highest to lowest, \(q_1 \ge q_2 \ge \dots \ge q_n\). The exceedance percentage of the reading ranked \(i\) is $$P_i = \frac{i}{n} \times 100\%$$ — the share of the window during which flow was at \(q_i\) or above. The red dot places the latest reading at the fraction of readings greater than or equal to it. Zero and negative discharge values are excluded (the flow axis is logarithmic), and the curve is drawn only when at least five qualifying readings exist.
What is this?
How the last 24 hours of readings distribute across the observed flow range: each bar counts the readings that fell in that CFS bin. The spread of the histogram is a quick read on within-day variability — diurnal snowmelt cycles, storm response, or gate changes all widen it. Red segments are flagged readings.The window's readings are split into 10 equal-width bins between the minimum and maximum observed flow: $$h = \frac{q_{\max} - q_{\min}}{10}$$ Bin \(k\) covers \([\,q_{\min} + kh,\ q_{\min} + (k+1)h\,)\); the last bin also includes its upper edge so \(q_{\max}\) is counted. When every reading shares a single value, one unit-width bin is drawn instead.
What is this?
Discharge (green) and gage height (blue, where reported) over the selected date range. The dashed line is a trailing moving average over the window set above; flagged readings plot in red and are excluded from it. Zoom, pan, and click points as on the Today view.The dashed line is a trailing simple moving average. With a rolling window of \(d\) days at a chart interval of \(\Delta t\) minutes, the window spans \(w = \max(1,\ \mathrm{round}(d \cdot 1440 / \Delta t))\) readings, and each plotted value is $$\mathrm{SMA}_t = \frac{1}{n_t} \sum_{k=t-w+1}^{t} q_k$$ where \(n_t \le w\) because missing readings are skipped rather than treated as zero.
What is this?
Daily mean flow for every year of record, overlaid on a shared month-day axis; the current year is drawn heaviest. Vertical separation between traces on a given date is the year-to-year difference in flow at that point in the season.Each point is one day's mean of the unflagged readings, $$\bar{q}_D = \frac{1}{|D|} \sum_{t \in D} q_t$$ plotted at the same month-day position for every year so the same calendar date lines up vertically across years. Daily means are computed on UTC calendar days as stored in the daily summary table.
What is this?
The same year-over-year overlay for gage height (ft). Stage can be the more relevant series when the rating curve is uncertain, or when depth itself is the operational question — fish passage, intake submergence, bank clearance. Shown only for stations that report stage.Each point is one day's mean stage over the unflagged readings, \(\bar{h}_D = \frac{1}{|D|} \sum_{t \in D} h_t\), with this year's date matched against the same month-day one year earlier. As with the flow comparison, days are UTC calendar days.
What is this?
The shaded band spans each day's minimum and maximum flow; the center line is the daily mean. Band width is a direct read on within-day variability — diversion schedules, hydropeaking, and storm pulses all show up as wide days.For each calendar day \(D\), only unflagged readings count. The band spans \(\min_{t \in D} q_t\) to \(\max_{t \in D} q_t\) and the center line is the daily mean $$\bar{q}_D = \frac{1}{|D|} \sum_{t \in D} q_t$$ where \(|D|\) is the number of readings that day. Unlike the year-over-year charts, days here are bucketed in your selected display timezone, so a day's mean can differ slightly from the UTC-day value used there.
What is this?
The flow-duration curve for the selected period: qualifying readings ranked and plotted against the percentage of the period they were equaled or exceeded, on a log flow axis. A steep curve indicates flashy, runoff-driven response; a flat one, strong baseflow or regulation. The red dot marks the most recent reading.Sort the \(n\) unflagged readings from highest to lowest, \(q_1 \ge q_2 \ge \dots \ge q_n\). The exceedance percentage of the reading ranked \(i\) is $$P_i = \frac{i}{n} \times 100\%$$ — the share of the period during which flow was at \(q_i\) or above. Zero and negative discharge values are excluded (the flow axis is logarithmic), and the curve is drawn only when at least five qualifying readings exist.
What is this?
Each dot is a reading the detector flagged: red for z-score outliers relative to the trailing 30 days, orange for step changes exceeding the percent threshold, gray for source-flagged data-quality sentinels. The axis spans the full selected range, so quiet days keep their place and clusters stand out. The thresholds above control sensitivity.Z-score: each reading is compared against the mean \(\mu_t\) and sample standard deviation \(s_t\) of the unflagged readings in the trailing 30 days (the reading itself excluded): $$z_t = \frac{q_t - \mu_t}{s_t}$$ and flagged when \(|z_t|\) meets the Z threshold above (default 3).
Sudden change: consecutive readings are compared as $$\Delta_t = \frac{q_t - q_{t-1}}{\max(q_{t-1},\ 1)}$$ and flagged when \(|\Delta_t|\) meets the % change threshold above (default 0.5 = 50%). The floor of 1 CFS in the denominator keeps near-zero baseflow from producing huge, meaningless ratios.
| Type | Timestamp | Flow (CFS) | Detail |
|---|
Get alerted when Colorado River at Lees Ferry, AZ moves
A monitor watches this gage and sends an email when flow crosses a threshold you set, or when it detects an abrupt change on its own — no need to keep checking this page.
Monitors are part of GageLog's paid plans.
Is Colorado River at Lees Ferry, AZ running high or low this year?
This tab answers that. It charts every year of data we hold for this gage — today's flow against the historical range for the date, each year overlaid on one seasonal axis, and year-by-year totals — so wet years, dry years, and "about normal" are obvious at a glance.
Browsing without an account covers the last 7 days. Year-over-year comparisons come with a free account.
| Timestamp | Flow (CFS) | Flagged | Quality Codeⓘ |
|---|---|---|---|
| Loading… | |||
Archived history is a paid feature
Readings older than the retention window live in long-term storage. Sign up to restore a gage's full history on demand. How restore works →
Nearby gages
| Gage | Source | State | Distance |
|---|---|---|---|
| Colorado River At Lees Ferry | NOAA NWPS | AZ | 0.1 km |
| Paria River At Lees Ferry | NOAA NWPS | AZ | 1.0 km |
| Paria River at Lees Ferry, AZ | USGS NWIS | AZ | 1.1 km |
| Paria River Near Kanab, Utah | USGS NWIS | UT | 39.1 km |
| Little Colorado River above Mouth near Desert View, AZ | USGS NWIS | AZ | 76.3 km |
| Kanab Creek Near Kanab, UT | USGS NWIS | UT | 89.2 km |
| Moenkopi Wash at Moenkopi, AZ | USGS NWIS | AZ | 91.2 km |
| Moenkopi Wash Near Tuba City | NOAA NWPS | AZ | 91.2 km |
| Colorado River Near Grand Canyon Village | NOAA NWPS | AZ | 95.8 km |
| Colorado River near Grand Canyon, AZ | USGS NWIS | AZ | 95.8 km |