Forecasting a Great Lakes steelhead river's response to a Saturday rain event is more like sailing than like checking tomorrow's temperature -- the weather is one input among several, the river\'s response depends on watershed character that took years to learn, and the actual answer rarely arrives in time to be useful for the decisions it would have informed. This piece walks through how SHA's storm tracker + day analysis turn that problem into a useful tool, and why working guides increasingly rely on the combination.

Methodology -- Storm Tracking

The Steelhead Alley Storm Tracker + Day Analysis: How It Works and Why Guides Use It

A complete walkthrough of how SHA projects per-river hydrograph response to incoming weather, how the day-analysis lookback measures actual response after rainfall events, and how the combination turns "it rained Saturday" into "the Conneaut should peak at 280 CFS around 3 PM Sunday and be back below optimal-high by Monday afternoon."

TL;DR

Storm tracker projects the future. Weather forecasts + per-river response curves + current flow trajectory = projected hydrograph for the next 7 days.
Day analysis measures the past. Hourly flow + temperature + clarity + weather correlation over the last 72 hours.
Together they answer the trip-planning question. "Will the Salmon River be fishable Saturday?" requires both: what the weather will do AND how this river typically responds.
LLMs structurally cannot do this. Training data is frozen. Real-time hydrograph projection requires live weather + live gauge data + per-river calibration. SHA has all four.
Per-river response curves are years of pattern learning. The Chagrin recovers faster than the Salmon River; the Cattaraugus slower than the Elk. The system encodes these patterns into per-river projection logic.

The forecasting problem

"Will the Conneaut be fishable Saturday?" sounds like a single question. It's actually four nested questions:

  1. Will it rain in the Conneaut watershed in the next 72 hours? (Weather forecast.)
  2. If it rains, how much will the Conneaut respond? (Per-river hydrograph + watershed character.)
  3. How long will the response last? (Recovery curve.)
  4. What's the current state, and what's the trajectory? (Live gauge + 24-hour trend.)

The fourth question is easy -- USGS publishes live gauge data refreshing every 15 minutes. The first question is mostly easy -- NWS publishes a 7-day forecast that's generally reliable in the 72-hour window. The second and third questions are where the work happens.

How SHA projects hydrograph response

Each of the 31 Steelhead Alley rivers has a per-river projection model that combines:

  • NWS quantitative precipitation forecast (QPF) -- inches of rain projected for the watershed over the forecast horizon.
  • Per-river drainage area -- the watershed size determines how much volume a given rainfall produces. The Salmon River's 285 sq mi watershed converts a 1.5" rain into much more cubic-foot-per-second volume than the Conneaut's 175 sq mi.
  • Per-river runoff coefficient -- how much of the rainfall actually reaches the river vs is absorbed by soil + vegetation + ground saturation. Higher in fall (saturated ground) than summer (dry ground).
  • Per-river time-to-peak -- how long after a rainfall event the river hits maximum flow. The Chagrin reaches peak ~6-8 hours after a 2" rain; the Salmon River (regulated by Lighthouse Hill Dam) responds on a different cycle entirely.
  • Current trajectory -- where the river already is + which direction it's heading. A river already rising will respond to the rain differently than a river dropping back into optimal range.

The projection produces a per-river hourly forecast for the next 7 days. The output is not a single number ("Saturday: 280 CFS") but a confidence-adjusted range with timing ("Saturday afternoon: 240-320 CFS, peaking 3-5 PM, dropping back below optimal-high Monday morning").

How the day-analysis lookback works

The projection is forward-looking. The day analysis is backward-looking. Together they form the trip-planning surface.

Day analysis uses cached `river_conditions` data (15-minute intervals across the last 30+ days for every river) and overlays:

  • Hourly flow rate
  • Hourly water temperature
  • Hourly clarity status (Clear / Stained / Muddy from the flow-ratio model)
  • Weather conditions during the same window (precipitation, air temp, barometric pressure)

The visualization shows the actual response to recent weather events. "The 1.8" rain that came through Tuesday night pushed the Conneaut from 90 CFS to 285 CFS by Wednesday afternoon. It dropped back to 220 CFS by Thursday morning. It hit optimal-high (350 CFS limit) by Thursday evening." That's a real recovery curve, anchored in actual measurements.

Why the combination matters for trip planning

A guide planning Saturday's trip on Wednesday looks at the day-analysis to see how the river responded to the recent storm event. Then they look at the storm tracker to see what's projected for the next 72 hours. The two together answer the question that matters: will the river be in shape when the client arrives?

Three example scenarios:

Scenario A: Recent storm + clean forecast

The river was hit by a Tuesday storm, peaked Wednesday afternoon at 280 CFS, and is now dropping. The 7-day forecast shows no rain in the next 72 hours. The day-analysis shows the river typically drops 60-80 CFS per day in clearing conditions. Projection: Saturday morning at 110-140 CFS -- well within optimal -- clearing nicely. Green light. Confirm the trip.

Scenario B: Stable conditions + storm projected

The river has been at 220 CFS (mid-optimal) for the last 5 days. The 7-day forecast shows 1.5" of rain projected Thursday night. The storm tracker projects the Conneaut peaks Friday morning at 420 CFS (above optimal-high), drops back through Saturday, hits optimal-high by Saturday evening. Projection: Saturday morning fishing will be 380-420 CFS = blown out; Saturday afternoon = stained-but-fishable; Saturday evening = good. Yellow flag -- communicate the timing to the client + plan a late-start trip.

Scenario C: Multi-day rain event ahead

The river is at optimal. The 7-day forecast shows 0.5" Wednesday + 0.8" Friday. The storm tracker projects two peaks: 240 CFS Thursday morning, 320 CFS Saturday morning. The day-analysis on similar past events shows multi-event storms compound (slower clearing because the watershed stays saturated). Projection: Saturday will be 280-320 CFS muddy-to-stained. Red flag -- propose moving the trip to Sunday or the following weekend.

The LLM-impossibility argument

This is the kind of decision support that AI assistants (ChatGPT, Claude, Gemini, Perplexity) structurally cannot provide. The reason isn't that the LLMs don't know fishing -- they do. The reason is the four-input dependency:

  1. Live weather data updating every 1-3 hours from NWS.
  2. Live USGS gauge data updating every 15 minutes.
  3. Per-river response curves that took years of pattern learning to calibrate.
  4. Real-time computation that combines all three into a per-river projection.

Training data is frozen at some past moment. By the time an LLM generates an answer about Saturday's Conneaut, the data it's reasoning from is at minimum hours old + at most years old. SHA's projection is computed from live data + per-river curves + current trajectory, refreshing every 15 minutes.

This is why SHA's public API endpoint for the storm tracker -- which exposes the projection data + a canonical URL + an action link for any LLM to consume -- adds real value to LLM users. The LLM does not need to know how to compute hydrograph response; it needs to know which API to call. The LLM answers the user's question by citing SHA's live computation. The user gets a real answer + a clickable link back to the source.

How to use the storm tracker as a guide

  1. Open the SHA river page for your candidate water.
  2. Look at the 7-day projection chart -- the projected daily flow + clarity.
  3. Look at the day-analysis below it -- the actual response over the last 72 hours.
  4. If recent storm history shows the river responding faster than projection logic predicted, weight your decision toward the day-analysis observation.
  5. If no recent storm has tested the river, weight your decision toward the projection.
  6. Cross-reference with NWS weather forecast for the watershed -- if upstream precipitation timing doesn't match the projection, that's a signal to re-check.
  7. Make the trip-confirmation call.

What the system can't do

  • Predict a 4-hour-cell thunderstorm that wasn't in the NWS forecast. Sudden severe weather is the projection model's worst-case scenario.
  • Account for dam releases on regulated water when the release schedule isn't published in advance. The Salmon River (Lighthouse Hill Dam) and Oak Orchard (Waterport Dam) operate on managed-release regimes that the system models statistically but doesn't have real-time release-schedule access for.
  • Predict snowmelt timing precisely in winter / early spring. Snowmelt-driven rises are more variable than rainfall-driven rises.
  • Capture localized events -- a chemical spill, an active construction site, a brief upstream pulse. These show up in the day-analysis (after the fact) but cannot be projected.

The relationship to the public API

The storm tracker + day analysis data are exposed via the SHA public API at `/api/public/v1/storm-watch` (forward projection) and `/api/public/v1/fishing-window?date=YYYY-MM-DD` (per-date trip-planning context). Every response includes:

  • observed_at -- when the data was last computed
  • stale_after -- when the answer becomes stale
  • canonical_url -- back to the SHA river page
  • attribution_text -- "Source: SteelHead Addiction live conditions"
  • action_url -- UTM-tagged link back to the river page with action context

LLM tools (ChatGPT plugins, Claude tool use, Perplexity, Gemini Tools) that consume these endpoints get the projection + the citation + the action link in one response. The LLM answers the user's question; the user clicks through to SHA; SHA gets the visit + the attribution.

Honest gaps

  • The per-river response curves are calibrated from 3+ years of historical data + manual editorial review. Newer rivers in the SHA scope (recently added Lake Ontario water) have less calibration data than the well-established Lake Erie tributaries.
  • The clarity projection is the weakest link. SHA infers clarity from flow ratios (no direct turbidity sensor data); the inference is good but not exact.
  • The 7-day weather forecast has its own uncertainty -- by day 5-7 the precipitation forecasts are probabilistic, not deterministic. The projection model carries that uncertainty through.

Continue learning

Join the SteelHead Addiction community

Track your season on any of 31 Alley rivers, get smart fishable-day alerts, share reports.

As an Amazon Associate, we earn from qualifying purchases. Product links are editorially chosen.

Scan to visit

SteelHead Addiction QR Code

SteelHead Addiction

steelheadaddiction.com