SteelheadTracker

Columbia Basin Steelhead Migration Dashboard
Loading...
Data: DART, PTAGIS, USGS

Daily Passage — Bonneville Dam Live

Day-of-year overlay across all years. Toggle between raw counts, 7-day, and 14-day averages.
Loading chart...

Daily Passage — Lower Granite Dam Live

Last dam on the Snake River before fish enter tributaries. Key indicator for Clearwater, Salmon, and Grande Ronde runs.
Loading chart...

Annual Run Size by Dam

Total steelhead passage at each major Columbia & Snake River dam, 2010–present.
Loading chart...

Cumulative Run Timing — Bonneville

What percentage of the run has passed by each day? Compare this year's pace to historical.
Loading chart...

Cumulative Run Timing — Lower Granite

Snake River cumulative timing. Fish arrive later here than at Bonneville due to upstream travel.
Loading chart...

Run Timing by River New

BON cumulative passage split by river destination fraction. Shows estimated per-river timing based on expansion-weighted basin data. Use dropdown to isolate individual rivers.
Loading chart...

Basin Destination by Migration Year New

Expansion-weighted adult steelhead by destination river. Uses PIT tag expansion factors to estimate total returns, not just raw tag counts.
Loading chart...

Returning Adults by Drainage Beta

Expansion-weighted adult returns by drainage for recent years. Same data source as Basin Destination — uses PIT expansion weights.
Loading chart...

Hatchery vs Wild — Bonneville

Origin composition from DART. "Steelhead" = hatchery-origin, "Wild Steelhead" = wild-origin.
Loading chart...

Hatchery vs Wild — Lower Granite

Snake River origin split. Lower Granite sees a higher wild proportion than Bonneville.
Loading chart...

Adult Length Distribution

Size distribution of returning adults by river system. Bimodal peaks often correspond to 1-ocean vs 2-ocean fish.
Loading chart...

Adult Length vs Ocean Age New

Each point is one fish measured as a juvenile and again as a returning adult. X = ocean age (years), Y = adult fork length (mm). Colored by ocean class. Use dropdown to filter by river.
Loading chart...

Daily Adult PIT Detections by River Live

First-time unique PIT tag entries at tributary monitoring sites (entry gate arrays). Each subplot shows one river system with current year (solid) vs previous year (dotted). Thick line = 7-day rolling average.
Loading chart...

Flow Forecast & Fish Influx Prediction Coming Soon

NOAA 8-day river flow forecast and experimental fish influx prediction model. Available in Phase 3 with live server deployment.

Requires live API connection — coming with Raspberry Pi integration

About SteelheadTracker

SteelheadTracker is a passion project that tracks Columbia Basin steelhead migration using publicly available data from DART (Columbia Basin Research), PTAGIS (PIT Tag Information System), USGS (water data), and NOAA (weather forecasts).

Data Sources:

  • DART — Dam passage counts (daily & annual)
  • PTAGIS — PIT tag detection data (individual fish tracking)
  • USGS — Streamflow and water temperature
  • NOAA — River flow forecasts

How It Works:

A build script fetches the latest DART dam passage data and combines it with precomputed PIT tag analysis (basin destinations, growth, origin classification). Charts are rendered client-side using Plotly.js — no server computation needed.

Methodology Notes:

  • Migration Year (MY) = July 1 through June 30 (e.g., MY2026 = Jul 2025 – Jun 2026)
  • H/W classification from DART uses the "Wild Steelhead" column reported by dam operators
  • PIT-based H/W uses release site information to infer hatchery vs wild origin
  • Basin destinations are based on post-dam PIT detections at tributary sites
  • Charts marked "Beta" are under active development and may have known limitations

Built by Paul Van Valkenburg | steelheadtracker.com