Skip to content

CryptoThaler/SEMHRA

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

SEMHRA - SE Montana Hydrological Resource Agent - 🦞 CrawDaddy 2.0

Real-time USGS river monitoring dashboard for Park & Gallatin Counties, Montana.

License USGS NWS

Live Demo

Open index.html in any browser — no build step, no server, no dependencies to install.

Or deploy to GitHub Pages:

  1. Push this repo
  2. Settings → Pages → Source: main branch → /root
  3. Your dashboard is live at https://yourusername.github.io/crawdaddy/

What It Does

Monitors 10 USGS streamgage stations across two Montana counties with live data:

Park County (5 stations)

USGS ID Station River
06191500 Corwin Springs Yellowstone River
06192500 Near Livingston Yellowstone River
06192980 Ab Smith Cr, nr Wilsall Shields River
06193500 At Clyde Park Shields River
06195600 Nr Livingston Shields River

Gallatin County (5 stations)

USGS ID Station River
06043120 Ab Deer Cr, nr Big Sky Gallatin River
06043500 Nr Gallatin Gateway Gallatin River
06048000 At Bozeman East Gallatin River
06048650 Ab WRF, nr Bozeman East Gallatin River
06052500 At Logan Gallatin River

Data Sources

  • Streamflow: USGS Water Services API — Instantaneous Values (15-min intervals)
    • Discharge (ft³/s), Gage height (ft), Water temperature (°C)
  • Weather: NWS API — Current observations + forecast
  • Fallback: Seed data from Feb 15, 2026 if APIs are unreachable

How It Works

index.html
├── React 18 (CDN)
├── Recharts (CDN) 
├── Babel Standalone (CDN, for JSX transpilation)
├── USGS NWIS API (fetch → parse → render)
├── NWS Weather API (points → observations → forecast)
└── Seed data fallback (embedded)

Single file. Zero build. Zero dependencies. Just HTML + CDN-loaded libraries.

On load, the app:

  1. Shows seed data immediately (cached USGS readings)
  2. Attempts live fetch from waterservices.usgs.gov
  3. If successful, replaces seed with live data + 24hr sparklines
  4. Auto-refreshes every 2 minutes
  5. Falls back to seed if USGS is unreachable

USGS API Reference

The app queries this endpoint:

https://waterservices.usgs.gov/nwis/iv/?format=json
  &sites=06191500,06192500,06192980,06193500,06195600,06043120,06043500,06048000,06048650,06052500
  &parameterCd=00060,00065,00010
  &siteStatus=active
  &period=P1D

Parameter codes:

  • 00060 — Discharge (streamflow), cubic feet per second
  • 00065 — Gage height, feet
  • 00010 — Water temperature, degrees Celsius

Deployment Options

GitHub Pages (simplest)

git init
git add index.html README.md
git commit -m "CrawDaddy 2.0"
git remote add origin https://github.com/YOU/crawdaddy.git
git push -u origin main
# Enable Pages in repo settings

Any Static Host

Just upload index.html. Works on Netlify, Vercel, Cloudflare Pages, S3, or any web server.

Local

# Just open it
open index.html

# Or serve it
python3 -m http.server 8000
# → http://localhost:8000

Notes

  • Some stations are seasonal — Shields River at Clyde Park (06193500), Shields River ab Smith Cr (06192980), and East Gallatin at Bozeman (06048000) may show as offline during winter months
  • All USGS data is provisional and subject to revision
  • The USGS API is free, requires no API key, and supports CORS
  • The NWS API requires a User-Agent header but no key

License

MIT — Data from USGS and NWS is public domain.

About

South East Montana Hydrological Resource Agent (Gallatin & Park County H20)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages