Brooks Groves
Featured Project View on GitHub β†’

USGS Β· Sierra Nevada Β· Tuolumne Β· Merced Β· Stanislaus Β· Bluesky

γ€° streamchaser

"You don't chase the water. You read it."

Groveland, California sits at 2,800 feet on the western slope of the Sierra Nevada, halfway between the Central Valley floor and Yosemite Valley. The Tuolumne River runs through the canyon a thousand feet below town. Big Creek drains the hills right behind the fire station. Cherry Creek drops out of the high country from the north, cold and fast, before it meets the mainstem below.

This bot watches ten gauges across three Sierra Nevada watersheds β€” simultaneously, around the clock β€” and says nothing unless something is worth saying. When a storm moves through the Sierra, you can watch it travel gauge by gauge, from the granite headwaters at Happy Isles and Hetch Hetchy down to the valley floor at Modesto. Monday's spike at Hetch Hetchy becomes Thursday's flood warning at Modesto.

Dual threshold systems: absolute cfs thresholds for large regulated rivers, proportional thresholds for small unregulated streams like Big Creek and Cherry Creek. Over 400 years of combined USGS record across all ten gauges.

Python USGS NWIS GitHub Actions Bluesky API Matplotlib
Watch the Rivers Live β†’ Follow on Bluesky β†’ GitHub β†’
Gauges monitored
10
Tuolumne Β· Merced Β· Stanislaus + local tributaries
Update frequency
1hr
GitHub Actions cron Β· free tier Β· ~600 min/month
Combined USGS record
400+
years across all ten gauges
The hometown gauge
Big Creek
no dams Β· pure signal Β· the canary in the watershed
High country canary
Cherry Ck
spikes first Β· drops fast Β· drains the granite
How a Storm Moves Through the Sierra

Reading the Hydrograph

Hours 0–6 Happy Isles & Hetch Hetchy respond first. They drain bare granite above 4,000 feet β€” thin soil, nowhere for the rain to go but down. When a storm hits, these show it within hours.
Hours 6–18 Cherry Creek β€” the high-country canary β€” spikes fast and drops fast. It's the warning shot for the local watershed, draining terrain that doesn't forgive. Big Creek follows close behind with no dams to buffer anything.
Hours 12–24 Grand Canyon of the Tuolumne and Early Intake catch the pulse as it consolidates in the canyon. This is where you start to see the full shape of the hydrograph forming.
Days 2–3 Pohono Bridge shows the Merced doing its own thing β€” Yosemite Valley floods independently of the Tuolumne, and the two watersheds don't always move together.
Days 3–5 LaGrange and Modesto tell you what the valley is actually going to receive β€” after the reservoirs have taken their cut, after the diversions have started, after the pulse has smoothed out over days of travel. Monday's spike at Hetch Hetchy becomes Thursday's flood warning at Modesto.
The Ten Gauges
Gauge Watershed Character Mode
Hetch Hetchy Tuolumne Headwaters Β· first to spike Β· below O'Shaughnessy Dam Absolute
Grand Canyon Tuolumne Wild canyon reach Β· above valley influence Absolute
Early Intake Tuolumne Pre–Don Pedro Β· above Cherry Creek confluence Absolute
LaGrange Dam Tuolumne Below all major dams Β· what enters the valley Absolute
Modesto Tuolumne Valley floor Β· the bottom line for Central Valley water Absolute
Happy Isles Merced Raw Yosemite backcountry signal Β· above Pohono Bridge Absolute
Pohono Bridge Merced Classic Yosemite Valley gauge Β· spectacular in flood years Absolute
Ripon Stanislaus Valley floor Β· below New Melones Reservoir Absolute
Big Creek @ Whites Gulch Local The hometown gauge Β· no dams Β· pure signal Β· the canary Proportional
Cherry Creek NR Early Intake Local High-country canary Β· spikes first Β· drains the granite Proportional
Alert Thresholds

Large / Regulated Rivers

🟑 Elevated β‰₯ 200 cfs Β· active snowmelt or moderate storm response
🟠 High β‰₯ 1,000 cfs Β· significant flood potential β€” monitor closely
πŸ”΄ Flood β‰₯ 5,000 cfs Β· major flood event
πŸ“ˆ Peak New 7-day peak set within 2 hours

Small / Unregulated Streams

⚑ Rising β‰₯ 10% of historical mean per hour
πŸ“Š Above normal Current flow > p75 historical percentile
🏜 Going dry Flow < 1.0 cfs
πŸ’§ Returning Was dry yesterday, now rising
Mountain Lakes Β· rebuilt October 2026 GitHub β†’

Sentinel-2 Β· Landsat Β· Forel-Ule Β· Planetary Computer Β· pixi

πŸ”οΈ ALPINE-WATCH

Seventeen Sierra Nevada and Cascade lakes watched from space, from Tahoe and Crater Lake to Kibbie and Many Island Lake in the Yosemite backcountry, where no sampling boat will ever go. Every clear Sentinel-2 pass gives each lake a colour on the Forel-Ule scale and a chlorophyll index; Sentinel-2 dates ice-out each spring; Landsat measures summer surface temperature.

Each lake is judged against its own past, not one number for every lake, with smoke, cloud and ice screened out, and ground samples from the Water Quality Portal where they exist. A map, a card for every lake, and its summers on one page.

Open the dashboard β†’ Read the story β†’ GitHub β†’
More Hydrology Work All on GitHub β†’

Snowflake · dbt · AI Agent · Groveland

🏞 The Creek That Isn't There

Big Creek — the hometown gage above — runs dry a third of the time, then floods 200-to-1. What a tested dbt model and an AI warehouse agent turned up about the creek behind my house.

Read the Post →

USGS Β· Leaflet Β· Sierra Nevada Β· Historical

πŸ’§ Sierra Streamflow Monitor

8 USGS stream gages on the Merced, Tuolumne and Stanislaus. Each day compared with every year since 1981, a water-year review, and what past El Niños did to these rivers. Updated hourly.

View dashboard β†’

SNOTEL Β· NASA MODIS Β· Cascades Β· Snowpack

❄️ Rainier Snowpack Monitor

Ten SNOTEL snow stations, NASA MODIS and Sentinel-2, and the Paradise webcams, checked every hour, with four decades of winters and what El NiΓ±o has meant here. The water in the river starts here.

View dashboard β†’

FORTRAN Β· NOAA CO-OPS Β· Tides Β· Puget Sound

🌊 PUGET-TIDES

Eight NOAA tide gauges from Neah Bay to Tacoma, every six hours. FORTRAN builds the tide from 37 harmonic constituents and matches NOAA’s tables to the minute, measures the storm surge against 1991–2020, and looks a year ahead for king tides and daylight minus tides.

View project β†’

COBOL Β· Python Β· USGS Β· GitHub Actions Β· 1959 β†’ 2026

πŸ“Ÿ sierra-flow-cobol

Two COBOL programs: one builds the normal flow for every day of the year from 30 years of USGS data with the SORT verb, the other checks eight Sierra rivers against it each morning and prints a 132-column report. First ran on Artemis II launch day.

View project β†’

C# Β· .NET Β· SQL Server Β· COBOL Β· Parallel run

πŸ“Ÿ The SIERRA-FLOW Handoff

SIERRA-FLOW handed from COBOL to C#: its rules written down, the job rebuilt, and both run side by side on every night it has ever run until they print the same bytes. SQL Server checks them a third time, and logs every value USGS revises.

View project β†’

River Gauges Β· NOAA NWPS Β· Rainier Β· Lahar

πŸŒ‹ lahar-watch Rivers

Ten NOAA gauges on the Puyallup, Carbon, White and Nisqually, the rivers a Rainier lahar would follow: seven days of stage and flow, NOAA’s forecast, and flood stage. A lahar would arrive as a wall, far faster than any flood.

View dashboard β†’

Limnology Β· Lake Tahoe Β· TEON Β· USGS Β· SQL

πŸ”΅ secchi

Lake Tahoe and the forest around it on one live page: sondes in the lake, weather, soil and tree sensors in the woods, and USGS stream gauges. About 12 million observations from UNR’s new TEON network since June 2024, in a store anyone can query with SQL.

View dashboard β†’