Creek Page Title & Buffalo Card Standardization
#ffffff) to match the landing page style (previously cyan #4fc3f7)Buffalo River Dashboard
/buffalo/ dashboard — Buffalo River Dashboard page with 5 mainstem gauge cards (Boxley, Ponca, Pruitt, St. Joe, Harriet), 2 tributary signal separator cards (Richland Creek, Bear Creek), interactive Leaflet.js HUC12 rainfall map, zone rainfall table, flood/propagation alert banners, rise prediction and recession countdown sections per gaugebuffalo_output.json data source — pushed by ScriptPi every 15 min, contains 7 gauge readings, 37 HUC12 QPE values, 8-zone rainfall aggregates, per-gauge rise predictions, recession countdowns, propagation alerts, and flood risk levelsbuffalo_huc12_simple.geojson (136KB, 37 features) served from new /static/ directorybuffalo_only: true) filtered from /gauges/ table and landing page cards/counts/watersheds/ — "Buffalo QPF" family drainages (pruitt_zone, stjoe_zone, bear_creek_zone, harriet_zone) filtered from the watersheds pagenav_button_footer() bottom row alongside Guide, Changelog, and Suggestionsnav_button_footer() blue button gridRichland Creek Dashboard & Neural Net Predictors
/richland/ dashboard — Richland Creek Watershed Intelligence page (USGS 07055875) with gauge status card, recession countdown, two-zone watershed rainfall table (Upper Richland + Falling Water + Combined), physics predictor card, and LSTM neural net forecast card (8 horizons)/richland/analysis/ placeholder routes — "Nightly analysis coming soon" index page; date routes return 404richland_output.json data source — pushed by ScriptPi every 15 min, contains gauge data, two-zone rainfall, physics prediction, and neural net prediction/cossatot/ — 12-horizon LSTM forecast with peak CFS, forecast timeline table, threshold crossings, and data quality indicatorsrender_nn_card() helper — renders identical card layout for both rivers; shows peak forecast, per-hour timeline with peak row highlighted, CFS-to-level threshold crossings, and QPE/ASOS data quality footer; handles null (initializing), error, stale (>90 min), and active states/cossatot/ — "Rise Prediction" / "Prediction" headers changed to "Physics Predictor" with gear emoji across all card states (active, quiet, no data)nav_button_footer() used across all pages; renamed Cossatot link to matchCOSSATOT_LEVEL_COLORS renamed to LEVEL_COLORS, COSSATOT_TREND_SYMBOLS renamed to TREND_SYMBOLS (used by both river dashboards)NN_THRESHOLDS (CFS-to-level mappings per basin: Richland 500/1000/1500, Cossatot 150/730/1800), NN_LEVEL_COLORS (gray/green/blue for Too Low/Optimal/High), is_nn_stale() helperDMZPI_ARCH_4_7_26.md supersedes DMZPI_ARCH_3_11_26.mdLanding Page & Route Restructure
- New landing page at / — mobile-first dark theme with site title, orientation blurb, live status summary, and dynamic creek condition cards
- Creek cards show all Optimal gauges (green) or, if none, all Low but Floatable gauges (yellow); "All Quiet" message when no creeks are runnable
- Status summary line shows gauge and watershed condition counts with color-coded text
- Tool navigation grid — four main buttons (Gauges, Watersheds, Cossatot Predictor, Buffalo Study) plus secondary links (Guide, Changelog, Suggest a Creek)
- Gauge table moved from / to /gauges/ — all table logic unchanged
- Temporary legacy link on landing page points to /gauges/ for returning users
- New /guide/ placeholder page — "Coming Soon" with back link to home
- Back link audit — watersheds, changelog, study, and suggest pages link back to /gauges/; error pages and Cossatot nav link to / (landing)
- Last updated timestamp on landing page converted from UTC to Central time
Four-Color Unification - Unified color language across creek levels, prediction status, and recent rain: Red (nothing) / Yellow (maybe) / Green (go) / Blue (lots) - Prediction status expanded to four tiers: No Alert (red), Watch (yellow), Warning (green), Flood (blue) - Recent Rain column now shows 7-day precipitation total in inches with color-coded background, replacing category labels (MOIST/SEMI-DRY/DROUGHT) - Recent Rain multipliers updated: <0.25" = 1.4x trigger, <0.75" = 1.2x, <1.50" = 1.0x, ≥1.50" = 0.9x - FLOOD status triggers at 200% of effective trigger threshold — indicates exceptional rainfall - Micro-creek lag display: Drainages with 0-1 hour lag now show "NOW" instead of numeric range - Signal alerts updated with lag-aware messaging (micro-creeks show "NOW", mainstem rivers show hours)
Drainage Trigger & Timing Calibration - Adkins: 2.0" / 4hr → 2.5" / 6hr - Boen Gulf: 2.0" / 4hr → 2.5" / 6hr - Upper Buffalo: window 6hr → 12hr, lag 4-6hr → 6-8hr - Beech Creek: 1.5" → 2.0" - Upper Kings: 1.5" → 2.0" - Osage: 1.5" / 4hr → 2.5" / 6hr - Richland Main: window 6hr → 12hr - Falling Water: 1.5" / 6hr → 1.75" / 12hr - Upper Cossatot: window 6hr → 12hr - Upper Big Piney: window 6hr → 24hr, lag 10-12hr → 12-16hr - EFLB: 1.5" → 2.0" - Pine Creek OK: window 6hr → 12hr
Cosmetic Updates - Renamed "DRY" status to "QUIET" on the Watersheds page and in alert bar logic (same red styling, new CSS class .st-quiet). - Renamed "Conditions" column to "Recent Rain" and changed from styled badge spans to full-cell background coloring (matching the Status column style). - Updated status_colors/status_text_colors dicts to use "QUIET" key.
Sticky Status Hold - WATCH and WARNING statuses now hold for the duration of a drainage's lag time plus a 2-hour buffer before clearing, preventing premature status downgrade before water reaches the gauge.
Antecedent Dryness System - New "Conditions" column on Watersheds page showing MOIST, SEMI-DRY, or DROUGHT based on recent rainfall history. - Trigger thresholds automatically increase during dry conditions: +15% for SEMI-DRY, +30% for DROUGHT. - Dryness is computed from rolling 7-day and 30-day precipitation totals per drainage. - Trigger column on Watersheds page now shows the effective (adjusted) trigger value.
Cossatot Drainage Update - Upper Cossatot trigger raised from 1.00" to 1.25" in 6 hours. - Upper Cossatot lag time updated from 3-6 hours to 8-10 hours based on observed March 5 event.
YAML Sync - Creek and drainage definitions now automatically sync from ScriptPi to DMZPi every 15 minutes, ensuring single source of truth.
Changelog - Added this changelog page, accessible from the footer of both dashboard pages.
Baseline version. All prior changes consolidated.
WATCH / WARNING Terminology - Renamed "TRIGGER" status to "WARNING" to align with NWS conventions. - WATCH threshold raised from 50% to 75% of trigger value to reduce false positives.
Color Scheme Standardization - Watersheds page: RED = DRY (no go), YELLOW = WATCH (maybe), GREEN = WARNING (go time). - Main creek page: Watershed radar column and alert bar colors match the same scheme. - Alert bar is now green for WARNING, yellow for WATCH-only.
Drainage Trigger Updates - Bobtail Creek: 1.5" → 2.0" in 6hr - Long Devils Fork: 1.5" / 4hr → 2.5" / 6hr - Big Devils Fork: 1.5" / 4hr → 2.5" / 6hr - West Fork Shop Creek: 2.0" / 4hr → 2.5" / 6hr - Thomas Creek: 2.0" / 4hr → 2.5" / 6hr