Genius Level

Every input, formula, threshold, and applied calculation in SHA's river/weather/forecast/run intelligence stack. One scroll, no clicks, no caches. Designed to be diagnostic-first, educational-second.

Storm Watch 🌧️ Rain Saturday · 51% See /storms →

1 · Live snapshot — Cuyahoga River @ Independence

The single most recent river_conditions row for this river. Fed every 15 min by the rivers:update command which combines USGS instantaneous values (flow, gauge height, water temp, parameter 00045 for rain bucket) with OpenWeather current conditions (air temp, weather, wind, humidity, barometric pressure).

Flow rate
471 cfs
Gauge height
3.19 ft
Water temp
75.4°F
Clarity
Clear
Air temp
78.3°F
Sky
Clear
Wind
11.5 mph NNE
Precip 1h
0"
Humidity
59%
Barometric
1016 hPa
Lat / lon
41.3953, -81.6298
Primary USGS gauge
04208000
Captured Sep 11 3:30pm EDT

2 · Recommendation breakdown

The fishing rating shown on each river page comes from FishingRecommendationService::getRecommendation(). Four independently scored components plus a barometric-pressure modifier produce a 0–11 raw score, which is clamped and cut into Excellent / Good / Fair / Poor. Below is the live decomposition for this river.

good score = 7.95 / 11

"Dropping nicely at 471 CFS, water is clear, 75°F — prime summer feeding temp. The river is giving you a chance today. Flow is coming down — the sweet spot is approaching. Legend Has It, He's Still Mending."

Per-component contribution

Component Points Why
flow 4
temp 1
clarity 3
weather -0.05
pressure 0
flow_value 471
temp_value 75.4
clarity_value Clear

Barometric pressure analyzer

Trend
stable
Δ hPa/hr
Score modifier
+0
Sample size
30 pts

Scoring rules

flow
In optimal zone = 4 · within 30% = 3 · within 60% = 2 · outside = 1 · above p95×1.5 = 0 (blown).
temp
38–55°F = 3 (prime: covers winter holdover + spring run) · 33–58°F = 2 · 30–62°F = 1 · outside = 0.
clarity
Stained = 3 (steelhead green) · Clear = 2 · Muddy = 0.
weather
Cloudy/Overcast = 1 · else = 0.
pressure
Rapidly falling = +2 · falling = +1 · stable = 0 · rising = -1 · rapidly rising = -1.
rating_cuts
Excellent ≥ 9 · Good ≥ 6 · Fair ≥ 3 · Poor < 3 (max 11 after clamp).

3 · Statistics engine

Cached in river_flow_stats, regenerated nightly at 03:00 ET by flow:compute-stats. The pipeline pulls a 3-year window of hourly- downsampled USGS flow, removes Tukey outliers at 3× IQR on log-flow, then computes percentiles, a 20-bin log-space histogram, Q-Q quantiles vs. a fitted normal, and (if ≥ 20 historical "Good" reports exist) promotes the optimal zone from a heuristic p15–p30 to the empirical p10–p90 of those reports.

Window
3 yr
Sample size
2,092
Mean / median
529 / 467 cfs
Min / max
284 / 3,030

Percentile distribution

Pcfs
pp5316
pp10332
pp25371
pp50467
pp75687
pp901,049
pp951,333
Optimal zone (manual)
0 – 0 cfs

Flow distribution histogram (log-space, 3 yr)

284 3,030 cfs

Green bars overlap the optimal zone. Bars are equal-width in log-flow space.

Today's flow placement

p0 (low) p50 p99 (high) p75

Current flow 471 cfs sits at the p75 of the 3-year record. Green band = optimal zone.

Stats computed Sep 11 3:00am

4 · Weather integration

Three independent feeds power the per-river weather story. NWS gridpoint forecasts (refreshed every 3 hours) supply 7-day periods + 48 hours of hourly data. AHPS stage forecasts give 5-day predicted flow / gauge height. SPC convective outlooks tier the river's lat/lon by tornado / wind / hail risk for days 1–3. Active alerts are de-duplicated against expired headlines.

AHPS predicted flow (limited gauge coverage)
+24h 427 cfs · 3 ft · Sep 12 2pm
+48h 387 cfs · 2.9 ft · Sep 13 2pm
+72h 387 cfs · 2.9 ft · Sep 14 2pm
gauge INDO1 · issued Sep 11 11:16am
SPC convective tier
Day 1: · Day 2: · Day 3:
— = no convective risk over this point today (data fetched ✓)
Active NWS alerts
none active

NWS 7-day forecast

Period Temp Wind Forecast
Today 81°F 2 to 6 mph NE Sunny
Tonight 62°F 6 mph E Partly Cloudy
Saturday 83°F 5 to 8 mph S Chance Rain Showers
Saturday Night 66°F 6 mph SW Chance Showers And Thunderstorms then Mostly Cloudy
Sunday 83°F 3 to 9 mph W Mostly Sunny then Slight Chance Showers And Thunderstorms
Sunday Night 62°F 3 to 7 mph N Slight Chance Showers And Thunderstorms
Monday 78°F 7 mph NE Slight Chance Rain Showers then Partly Sunny
Fetched Sep 11 2:00pm

5 · Run indicator (alley-wide)

Latest 24h average lake-surface temp from NDBC buoys + C-MAN stations, compared against 7-day delta and 55°F threshold crossing detection. State changes drive copy on every river page.

Lake Erie

off_season
surface temp 74.9°F · 7d Δ -1.8°F · day 10 in state
snapshot 2026-09-11
Latest buoy reads (24h)
NDBC-45142 73.8°F Sep 11 3:00pm
NDBC-MRHO1 76.3°F Sep 11 2:48pm
NDBC-FAIO1 75.2°F Sep 11 2:48pm
NDBC-CNDO1 74.3°F Sep 11 2:48pm
NDBC-MRHO1 76.3°F Sep 11 2:42pm
NDBC-FAIO1 75.2°F Sep 11 2:42pm

Lake Ontario

off_season
surface temp 70.4°F · 7d Δ -0.4°F · day 10 in state
snapshot 2026-09-11
Latest buoy reads (24h)
NDBC-45139 71.4°F Sep 11 3:00pm
NDBC-45012 71.2°F Sep 11 2:50pm
NDBC-45012 71.4°F Sep 11 2:40pm
NDBC-45012 71.2°F Sep 11 2:30pm
NDBC-45012 71.2°F Sep 11 2:20pm
NDBC-45012 71.2°F Sep 11 2:10pm

Seven-state classifier

pre_run_fall
Fish staging in lake; tribs empty.
run_starting_fall
First fish entering tribs (fall pulse).
run_active_fall
Active fall run.
holdover
Fish wintering in tribs between fall + spring.
run_starting_spring
Spring run starting (post-holdover surge).
run_active_spring
Active spring run.
run_ending
Drop-back; spawned fish leaving for the lake.
off_season
Lake-bound; tribs warm; warmwater season.

6 · Storm detection (alley-wide)

ActiveStormDetector fires four parallel triggers against river_precip_observations, NWS active alerts, and 6-hour flow deltas. Any single trigger flips the storm card to active; severity is then classified by the most aggressive signal across all 31 rivers. Precip readings flow from a 4-source priority chain — fresher, more accurate sources override stale ones.

QUIET
active
0
recovering
6
watching
0
quiet
25

Selected river lifecycle

Cuyahoga River @ Independence
quiet 90% confidence
Open river page
Signals fired
none
Expected at
-
Last pulse ended
-

Storm lifecycle state transitions

QUIET -> WATCHING
Forecast precip estimate >= 0.30" in 24h, NWS watch/warning, SPC MRGL+, or AHPS predicted flow >= 2x current flow.
WATCHING -> ACTIVE
Any active storm bucket fires: heavy rate >= 0.5 in/hr in 30 min, broad rain >= 3 rivers over 0.10"/hr, NWS alert, or flow rise >= 1.5x vs 6h ago.
ACTIVE -> RECOVERING
A storm pulse ended within the last 72h and the river has not returned to baseline.
RECOVERING -> QUIET
Pulse returned to baseline and current flow is <= optimal high x 1.15.

Storm Lifecycle State Matrix

River State Severity Signals Confidence Headline
Ashtabula River quiet - - 90% -
Black River quiet - - 90% -
Black River (Watertown) quiet - - 90% -
Brandy Run near Girard quiet - - 90% -
Buffalo Creek quiet - - 90% -
Canadaway Creek quiet - - 90% -
Cattaraugus Creek recovering severe recent_pulse_unreturned 82% Storm ended 46h ago; peak was 2,190 cfs; now at 186% of baseline.
Cazenovia Creek quiet - - 90% -
Chagrin River @ Willoughby quiet - - 90% -
Chautauqua Creek quiet - - 90% -
Conneaut Creek quiet - - 90% -
Crooked Creek quiet - - 90% -
Cuyahoga River @ Independence quiet - - 90% -
Eighteen Mile Creek quiet - - 90% -
Eighteenmile Creek (Niagara) quiet - - 90% -
Elk Creek quiet - - 90% -
Euclid Creek quiet - - 90% -
Genesee River recovering moderate recent_pulse_unreturned 82% Storm ended 52h ago; peak was 1,690 cfs; now at 146% of baseline.
Grand River near Painesville quiet - - 90% -
Huron River quiet - - 90% -
Irondequoit Creek recovering moderate recent_pulse_unreturned 82% Storm ended 52h ago; peak was 275 cfs; now at 120% of baseline.
Johnson Creek recovering moderate recent_pulse_unreturned 82% Storm ended 46h ago; peak was 173 cfs; now at 133% of baseline.
Oak Orchard Creek quiet - - 90% -
Rocky River near Berea quiet - - 90% -
Salmon River quiet - - 90% -
Sandy Creek (Adams) recovering moderate recent_pulse_unreturned 82% Storm ended 45h ago; peak was 151 cfs; now at 195% of baseline.
Sandy Creek (Hamlin) quiet - - 90% -
Silver Creek quiet - - 90% -
Twenty Mile Creek quiet - - 90% -
Vermilion River @ Vermilion recovering severe recent_pulse_unreturned 82% Storm ended 49h ago; peak was 40 cfs; now at 197% of baseline.
Walnut Creek quiet - - 90% -

Precipitation rate — last 24 hours (NWS publishes in 6h intervals; USGS hourly where available)

Alley average Wettest single river Broad-rain trigger Heavy-MRMS trigger
in/hr 0.00 0.10 0.12 4:00pm 2:00pm

Y axis is in/hr precipitation, auto-scaled but always includes the broad-rain trigger so quiet days still have context. The cyan line is the alley-wide average; gray ticks above each cyan dot show how high the single wettest river was running at that observation. When cyan crosses amber → broad-front rain. When a gray tick crosses red → one river is in a heavy cell. Sparse points are real — NWS gridpoint QPE only updates every 6 hours per river; the hourly USGS rows fill in for the handful of rivers whose gauges publish precipitation.

Triggers

Trigger 1A — Heavy MRMS rate
≥ 1 river over 0.5 in/hr in last 30 min.
Trigger 1B — Broad rain
≥ 3 rivers with precipitation_1h > 0.10".
Trigger 2 — NWS alert
≥ 1 active alert covering any river.
Trigger 3 — Flow rise
≥ 1 river with current flow ≥ 1.5× flow 6 hours ago.

Severity classifier

severe
NWS Extreme/Severe alert · MRMS ≥ 1.0 in/hr · ≥ 5 rivers rising · ≥ 8 raining · ≥ 3 heavy MRMS rivers
moderate
Any active alert · MRMS ≥ 0.5 in/hr · ≥ 1 rising · ≥ 5 raining
light
Default when active but none of the above

Precipitation source priority

  1. mrms — Open-Meteo Lite (15-min observations) — 10 min staleness window
  2. usgs — USGS parameter 00045 from gauges with rain buckets — 30 min
  3. nws_obs — NWS gridpoint quantitativePrecipitation past intervals — 90 min
  4. nws_fcst — NWS gridpoint forecast (final fallback) — 240 min

7 · Alley Index (alley-wide)

Percentile rank of today's underlying conditions composite (mean of per-river fishing scores 0–100) against the historical record on this calendar window (±15 days, all years). Below 10 comparable days in the window the Index falls back to the raw underlying score so the page always shows a meaningful number.

Today
62
Underlying
54
Rivers active / total
31 / 31
Date
2026-09-11 00:00:00

Band cuts

BandCutMeaning
Excellent ≥ 90 Top 10% of comparable days ever recorded.
Good ≥ 70 Top 30%.
Average ≥ 30 Middle 40%.
Poor ≥ 10 Bottom 30%.
Blown ≥ 0 Bottom 10%.

Last 30 days

Older → newer left to right. Color follows band cuts.

8 · Forecast verification (alley-wide)

Most-recent NWS prediction for each (river, date) in the last 14 days, sorted past→future. The verifier joins each prediction to MAX/MIN(air_temp_f) + MAX(precipitation_1h) from river_conditions on that date. Δ column compares observed vs predicted. Known upstream gap: predicted precipitation inches are unreliable (NWS forecast text rarely includes a clean inches value, so the snapshotter falls back to 0). Use precip probability as the better forecast signal.

Date River Predicted (hi/lo · precip) Observed (hi/lo · max 1h) Δ vs predicted
2026-09-17 Ashtabula River 77°/— · 59% POP · 14 mph N (future — not yet verifiable)
2026-09-17 Black River 80°/— · 64% POP · 13 mph N (future — not yet verifiable)
2026-09-17 Black River (Watertown) 73°/— · 49% POP · 8 mph N (future — not yet verifiable)
2026-09-17 Brandy Run near Girard 76°/— · 60% POP · 10 mph N (future — not yet verifiable)
2026-09-17 Buffalo Creek 75°/— · 54% POP · 7 mph SW (future — not yet verifiable)
2026-09-17 Canadaway Creek 76°/— · 57% POP · 12 mph SW (future — not yet verifiable)
2026-09-17 Cattaraugus Creek 77°/— · 60% POP · 7 mph SW (future — not yet verifiable)
2026-09-17 Cazenovia Creek 76°/— · 55% POP · 7 mph SW (future — not yet verifiable)
2026-09-17 Chagrin River @ Willoughby 80°/— · 60% POP · 12 mph N (future — not yet verifiable)
2026-09-17 Chautauqua Creek 75°/— · 58% POP · 13 mph N (future — not yet verifiable)
2026-09-17 Conneaut Creek 76°/— · 57% POP · 12 mph N (future — not yet verifiable)
2026-09-17 Crooked Creek 77°/— · 59% POP · 9 mph NE (future — not yet verifiable)
2026-09-17 Cuyahoga River @ Independence 82°/— · 62% POP · 12 mph N (future — not yet verifiable)
2026-09-17 Eighteen Mile Creek 75°/— · 56% POP · 7 mph SW (future — not yet verifiable)
2026-09-17 Eighteenmile Creek (Niagara) 75°/— · 51% POP · 10 mph N (future — not yet verifiable)
2026-09-17 Elk Creek 76°/— · 59% POP · 10 mph N (future — not yet verifiable)
2026-09-17 Euclid Creek 79°/— · 61% POP · 12 mph N (future — not yet verifiable)
2026-09-17 Genesee River 75°/— · 56% POP · 9 mph N (future — not yet verifiable)
2026-09-17 Grand River near Painesville 79°/— · 61% POP · 13 mph N (future — not yet verifiable)
2026-09-17 Huron River 80°/— · 64% POP · 12 mph N (future — not yet verifiable)
2026-09-17 Irondequoit Creek 76°/— · 57% POP · 9 mph NW (future — not yet verifiable)
2026-09-17 Johnson Creek 72°/— · 52% POP · 10 mph N (future — not yet verifiable)
2026-09-17 Oak Orchard Creek 74°/— · 52% POP · 10 mph N (future — not yet verifiable)
2026-09-17 Rocky River near Berea 80°/— · 63% POP · 15 mph N (future — not yet verifiable)
2026-09-17 Salmon River 74°/— · 55% POP · 7 mph S (future — not yet verifiable)
2026-09-17 Sandy Creek (Adams) 73°/— · 50% POP · 8 mph N (future — not yet verifiable)
2026-09-17 Sandy Creek (Hamlin) 74°/— · 52% POP · 10 mph N (future — not yet verifiable)
2026-09-17 Silver Creek 75°/— · 56% POP · 10 mph SW (future — not yet verifiable)
2026-09-17 Twenty Mile Creek 75°/— · 58% POP · 12 mph N (future — not yet verifiable)
2026-09-17 Vermilion River @ Vermilion 79°/— · 64% POP · 13 mph N (future — not yet verifiable)
2026-09-17 Walnut Creek 76°/— · 59% POP · 13 mph N (future — not yet verifiable)
2026-09-16 Ashtabula River 76°/65° · 55% POP · 14 mph NE (future — not yet verifiable)
2026-09-16 Black River 80°/64° · 51% POP · 9 mph NE (future — not yet verifiable)
2026-09-16 Black River (Watertown) 73°/55° · 27% POP · 7 mph NE (future — not yet verifiable)
2026-09-16 Brandy Run near Girard 76°/62° · 55% POP · 8 mph NE (future — not yet verifiable)
2026-09-16 Buffalo Creek 75°/59° · 46% POP · 5 mph NE (future — not yet verifiable)
2026-09-16 Canadaway Creek 74°/60° · 54% POP · 9 mph NE (future — not yet verifiable)
2026-09-16 Cattaraugus Creek 76°/60° · 55% POP · 5 mph NE (future — not yet verifiable)
2026-09-16 Cazenovia Creek 75°/59° · 47% POP · 5 mph NE (future — not yet verifiable)
2026-09-16 Chagrin River @ Willoughby 80°/64° · 51% POP · 8 mph NE (future — not yet verifiable)
2026-09-16 Chautauqua Creek 74°/63° · 54% POP · 9 mph NE (future — not yet verifiable)
2026-09-16 Conneaut Creek 76°/65° · 55% POP · 9 mph NE (future — not yet verifiable)
2026-09-16 Crooked Creek 76°/63° · 55% POP · 8 mph NE (future — not yet verifiable)
2026-09-16 Cuyahoga River @ Independence 82°/66° · 50% POP · 8 mph NE (future — not yet verifiable)
2026-09-16 Eighteen Mile Creek 74°/59° · 51% POP · 5 mph NE (future — not yet verifiable)
2026-09-16 Eighteenmile Creek (Niagara) 74°/58° · 42% POP · 8 mph NE (future — not yet verifiable)
2026-09-16 Elk Creek 75°/64° · 54% POP · 9 mph NE (future — not yet verifiable)
2026-09-16 Euclid Creek 79°/66° · 51% POP · 9 mph NE (future — not yet verifiable)
2026-09-16 Genesee River 73°/59° · 36% POP · 8 mph NE (future — not yet verifiable)
2026-09-16 Grand River near Painesville 78°/62° · 53% POP · 9 mph NE (future — not yet verifiable)
2026-09-16 Huron River 80°/65° · 49% POP · 9 mph NE (future — not yet verifiable)
2026-09-16 Irondequoit Creek 74°/59° · 36% POP · 7 mph NE (future — not yet verifiable)
2026-09-16 Johnson Creek 71°/60° · 36% POP · 8 mph NE (future — not yet verifiable)
2026-09-16 Oak Orchard Creek 72°/59° · 36% POP · 8 mph NE (future — not yet verifiable)
2026-09-16 Rocky River near Berea 80°/65° · 51% POP · 12 mph NE (future — not yet verifiable)
2026-09-16 Salmon River 74°/55° · 35% POP · 5 mph NE (future — not yet verifiable)
2026-09-16 Sandy Creek (Adams) 72°/55° · 29% POP · 8 mph NE (future — not yet verifiable)
2026-09-16 Sandy Creek (Hamlin) 73°/58° · 36% POP · 8 mph NE (future — not yet verifiable)
2026-09-16 Silver Creek 74°/60° · 54% POP · 7 mph NE (future — not yet verifiable)
2026-09-16 Twenty Mile Creek 74°/65° · 55% POP · 9 mph NE (future — not yet verifiable)
2026-09-16 Vermilion River @ Vermilion 78°/64° · 52% POP · 9 mph NE (future — not yet verifiable)
2026-09-16 Walnut Creek 75°/65° · 54% POP · 13 mph NE (future — not yet verifiable)
2026-09-15 Ashtabula River 82°/66° · 61% POP · 18 mph W (future — not yet verifiable)
2026-09-15 Black River 86°/66° · 47% POP · 16 mph W (future — not yet verifiable)
2026-09-15 Black River (Watertown) 77°/60° · 63% POP · 18 mph SW (future — not yet verifiable)
2026-09-15 Brandy Run near Girard 82°/63° · 65% POP · 14 mph SW (future — not yet verifiable)
2026-09-15 Buffalo Creek 82°/62° · 65% POP · 13 mph SW (future — not yet verifiable)
2026-09-15 Canadaway Creek 81°/62° · 65% POP · 17 mph SW (future — not yet verifiable)
2026-09-15 Cattaraugus Creek 82°/62° · 65% POP · 12 mph SW (future — not yet verifiable)
2026-09-15 Cazenovia Creek 82°/62° · 65% POP · 13 mph SW (future — not yet verifiable)
2026-09-15 Chagrin River @ Willoughby 87°/66° · 56% POP · 14 mph W (future — not yet verifiable)
2026-09-15 Chautauqua Creek 80°/64° · 65% POP · 18 mph SW (future — not yet verifiable)
2026-09-15 Conneaut Creek 82°/66° · 63% POP · 17 mph SW (future — not yet verifiable)
2026-09-15 Crooked Creek 83°/64° · 64% POP · 14 mph SW (future — not yet verifiable)
2026-09-15 Cuyahoga River @ Independence 88°/67° · 48% POP · 14 mph W (future — not yet verifiable)
2026-09-15 Eighteen Mile Creek 81°/62° · 66% POP · 12 mph SW (future — not yet verifiable)
2026-09-15 Eighteenmile Creek (Niagara) 82°/61° · 64% POP · 20 mph W (future — not yet verifiable)
2026-09-15 Elk Creek 82°/65° · 64% POP · 16 mph SW (future — not yet verifiable)
2026-09-15 Euclid Creek 85°/67° · 55% POP · 14 mph W (future — not yet verifiable)
2026-09-15 Genesee River 83°/62° · 65% POP · 16 mph SW (future — not yet verifiable)
Total snapshots in archive: 28594 · 80 shown (last 14 days, most-recent prediction per (river, date))

9 · Conditions archive (alley-wide)

Tiered retention so the database doesn't grow unbounded but the long-history aggregates that power the Alley Index, forecast verifier, and storm-pulse detector remain intact. Raw river_conditions prune weekly via rivers:clean; hourly + daily rollups are forever.

Retention policy

raw river_conditions
90 days (pruned weekly via rivers:clean)
gauge_readings
90 days
lake_temp_snapshots
forever (small volume)
precip_observations
raw 90 days; hourly + daily rollups forever
ahps_forecasts
forever
alley_index_snapshots
forever
spc_outlooks
forever
nws_alerts
forever (with ended_at marker)

Row counts (live)

river_conditions 492,808
gauge_readings 983,289
lake_temp_snapshots 64,419
precip_observations 21,854
ahps_forecasts 3,699
alley_index_snapshots 228
spc_outlooks 35
nws_alerts 1,022

10 · Data sources & cadence (operational)

Every external feed feeding SHA's intelligence stack, with the artisan command that drives it, last-fetch timestamp, and total row count. If a "last_at" is hours behind cadence, that source is stalled.

Source Cadence Driver Last at Rows
USGS instantaneous values 15 min rivers:update Sep 11 3:30pm 983,289
OpenWeather current 15 min rivers:update Sep 11 3:30pm 492,808
NWS 7-day + hourly forecast 3 hours forecasts:fetch Sep 11 2:01pm 32
NWS AHPS predicted flow 6 hours ahps:fetch Sep 11 11:16am 3,699
NWS active alerts 15 min alerts:fetch-nws Sep 9 8:03pm 1,022
SPC convective outlooks 3 hours spc:fetch-outlook Sep 11 2:15pm 35
NDBC + C-MAN lake temps 1 hour noaa:fetch-buoys Sep 11 3:00pm 64,419
River precip (USGS / NWS / MRMS-Lite) 5–60 min rivers:update + precip:fetch-nws + local Open-Meteo worker Sep 11 2:00pm 21,854
Alley Index snapshot hourly + daily 04:50 ET index:compute Sep 11 3:42pm 228
Run state classifier daily 06:30 ET run-state:compute Sep 10 232

11 · Constants reference (every threshold in one place)

Every magic number that drives a SHA decision, with the file it lives in. Edit the source to change a threshold — this page reflects the live code path. Grouped by subsystem.

Group Constant Value Where
Flow scoring In optimal zone 4 points IndexCalculatorService::scoreCondition
Flow scoring Within 30% of optimal 3 points IndexCalculatorService::scoreCondition
Flow scoring Within 60% of optimal 2 points IndexCalculatorService::scoreCondition
Flow scoring Above p95 × 1.5 Blown (0) IndexCalculatorService::scoreCondition
Temp scoring Prime band (winter + spring) 38–55°F = 3 FishingRecommendationService::analyzeTemperature
Temp scoring Good band 33–58°F = 2 FishingRecommendationService::analyzeTemperature
Temp scoring Marginal band 30–62°F = 1 FishingRecommendationService::analyzeTemperature
Clarity Clear / Stained ratio < 1.4× p50 RiverMonitorService::determineClarity
Clarity Stained / Muddy ratio < 2.8× p50 RiverMonitorService::determineClarity
Pressure Rapidly falling ≤ -1.0 hPa/hr PressureService
Pressure Falling ≤ -0.3 hPa/hr PressureService
Pressure Score modifier (rapidly falling) +2 points PressureService
Storm card Heavy-MRMS threshold 0.5 in/hr ActiveStormDetector::HEAVY_RATE_INCHES_PER_HOUR
Storm card Heavy-MRMS lookback 30 min ActiveStormDetector::HEAVY_RATE_LOOKBACK_MINUTES
Storm card Broad-rain threshold 0.10"/hr ActiveStormDetector::RAIN_THRESHOLD_INCHES
Storm card Broad-rain river count ≥ 3 ActiveStormDetector::MIN_RAIN_RIVERS
Storm card Flow-rise factor 1.5× vs 6h ago ActiveStormDetector::FLOW_RISE_FACTOR
Storm lifecycle Watching forecast precip ≥ 0.30" in 24h StormLifecycleService::forecastPrecipSignal
Storm lifecycle Watching AHPS rise ≥ 2× current flow StormLifecycleService::watchingSignals
Storm lifecycle Recovery lookback 72 hours StormLifecycleService::recoveringSignal
Storm lifecycle Recovery normalized flow ≤ optimal high × 1.15 StormLifecycleService::flowIsNormalized
Run indicator Lake threshold 55°F RunStateClassifier
Alley Index Calendar window ±15 days, all years IndexPercentileService::WINDOW_DAYS
Alley Index Min pool for percentile 10 days IndexPercentileService::MIN_POOL
Alley Index Excellent band ≥ 90 IndexPercentileService::descriptorFor
Alley Index Good band 70–89 IndexPercentileService::descriptorFor
Alley Index Average band 30–69 IndexPercentileService::descriptorFor
Alley Index Poor band 10–29 IndexPercentileService::descriptorFor
Alley Index Blown band 0–9 IndexPercentileService::descriptorFor
Forecast verify Snapshot time Daily 05:15 ET routes/console.php
Optimal zone Empirical promotion threshold ≥ 20 Good reports RiverFlowStatistics
Stats engine Window 3 years RiverFlowStatistics
Stats engine Outlier removal 3× IQR on log-flow RiverFlowStatistics
Stats engine Histogram bins 20 (log-space) RiverFlowStatistics
Genius Level — every figure on this page comes from a live query. Page reload = data refresh.

Scan to visit

SteelHead Addiction QR Code

SteelHead Addiction

steelheadaddiction.com