Timing Projection Methodology
Every 5 minutes, Steelhead Addiction projects what each Steelhead Alley river is about to do over the next 18 hours, and surfaces the result as a Timing badge next to the current Rating on every river page. This page explains how that projection is computed, what each state means, and where the inputs come from.
By looking ahead at rising and falling water levels, our modeling helps anglers target the optimal fishing windows. Timing projections should always be used alongside the current rating to determine when conditions are best for fishing.
Live Example: Buffalo Creek
low
none
The 7 Timing States
| State | Technical Definition | Angler Meaning | Badge Display |
|---|---|---|---|
| opening | Flow is moving into the optimal window. | Inflection point is ahead; fishable window is starting. | Renders (Green) |
| closing | Flow is currently inside the optimal window, but projected to leave it. | River is fishable now but the window is ending soon. | Renders (Yellow) |
| blown | Flow is above the optimal window and peak is ahead or no recovery within 18h. | River is high and muddy. Not fishable. | Renders (Red) |
| recovering | Flow is dropping back toward fishable, but clarity typically lags flow. | Water dropping; watch clarity before driving out. | Renders (Cyan) |
| low | Flow is below the optimal window and projected to remain below it. | Water is low and clear; fish will be skittish. | Renders (Gray) |
| stable | Flow is inside the optimal window and projected to remain inside it. | Holding steady in optimal range. Current rating is stable. | Silent |
| unknown | Insufficient signals or confidence is below floor (0.2). | No reliable projection; rely purely on the current rating. | Silent |
Next-Event Indicators
When a state transition is imminent, the projector identifies the next inflection point within the 18-hour window:
| Event Indicator | Definition |
|---|---|
| rises_into_range | Flow is projected to rise into the optimal window from below. |
| drops_into_range | Flow is projected to fall into the optimal window from above (the drop). |
| rises_above_range | Flow is projected to rise above the optimal range, blowing the river out. |
| drops_below_range | Flow is projected to drop below the optimal fishable range. |
| peaks | Flow is projected to hit its maximum storm peak and begin receding. |
How Confidence is Computed
Confidence is a 0.0 – 1.0 score that blends four factors: how trustworthy the strongest input source is, how far ahead in time we're projecting, how well a flow trend can be fit to the recent 24-hour data, and how active the regional storm lifecycle is.
High (0.8+)
Trust the projection. Strongly backed by NWS AHPS forecast points or high-correlation regressions.
Moderate (0.5–0.8)
Projection is directional. Combine with current ratings before making a final trip choice.
Low (Below 0.4)
Do not commit to the timing. Default purely to the river's current Rating.
Data Signal Cascade
The projector gathers four primary input signals to construct the sub-daily hydrologic projection:
-
1. NWS AHPS (Advanced Hydrologic Prediction Service)
Where available, we fetch official NOAA/NWS river forecast graphs. These are highly accurate, hydrologist-reviewed data points. Not all Steelhead Alley streams have AHPS monitoring stations.
-
2. Storm Pulses
We maintain a database of storm events. When future precipitation (QPF) is projected, our system applies a custom pulse signature that scales the expected rise rate based on historical storm impact.
-
3. Recent Flow Regression
We calculate a log-linear regression on the past 24 hours of USGS or state gauge readings. This extracts the natural recession rate or rise rate and is highly reliable for short-horizon projections when the gauge is online.
-
4. Storm Lifecycle Context
Our system monitors regional weather conditions to determine the storm phase (quiet, watching, active, recovering). This context modulates the confidence score rather than driving the flow projection curve directly.
UI Integration
- River Show Pages: Renders as an inline badge (e.g.
Low water,Closing ~4h) adjacent to the main rating. Hovering or clicking reveals confidence and sources. - Smart Gauge: Displays a dashed 18-hour projection curve extending from the "NOW" indicator.
- Day Analysis Chart: The flow timeline is stretched to 90 hours, showing a dashed future projection with crossing markers when events occur.
- Explorer Map: Hovering over a river pin shows the timing badge directly inside the popup.
- Public API: Accessible via the
timingJSON payload on our public API endpoints.
Frequently Asked Questions
How often does the projection update?
Projections are updated every 5 minutes server-side through cache invalidation, utilizing fresh feeds from NWS AHPS forecast points, rain gauges, and NWS QPF predictions.
What's the difference between stable and low?
stable means flow is currently inside the optimal window and projected to stay there for 18 hours. low means flow is currently below the optimal window and projected to stay below for 18 hours. Both describe steady projections; the difference is whether the steady level is inside or below the optimal flow window. For trip advice, combine timing.state with the river's current rating and is_fishable — Timing answers what flow will do, not whether you should fish.
What's the difference between Timing and the current Rating?
Current Rating tells you what the river is doing right now (e.g. Excellent, Good, Fair, Poor). The Timing projection looks ahead over the next 18 hours to tell you how that window is changing.
What if confidence is low?
If the timing confidence is low (below 0.4), you should discount the projected timing trend and rely primarily on the river's current Rating.
Why doesn't the projection go beyond 18 hours?
Hydrologic modeling confidence degrades rapidly past the 18-hour mark for small, steep tributaries. For multi-day planning, use our 7-day Index Forecast instead.