What this is
A window into 39 seasons of California public-refuge waterfowl hunting (1987–2025): where hunters do well, which weather brings the birds, and how success moves through the season. Everything is built from the same harvest reports and weather record used by the refuge-harvest prediction model, but here it's yours to slice by hand.
The data
Each record is one hunt-day: a single refuge on a single date, with how many hunters checked in, how many birds they took home, and the weather that day. The dashboard holds 49,005 hunt-days across 41 refuges and 39 seasons — about 3.4 million hunter-days and 6.9 million birds.
| Layer | Source | Notes |
|---|---|---|
| Harvest & hunters | California public-refuge waterfowl hunt result reports (CDFW) | Per refuge, per shoot day, 1987–2025 |
| Daily weather | Open-Meteo ERA5 reanalysis archive | High temp, wind, cloud/precip, pressure — sampled at each refuge's check-station coordinates |
| Moon | Computed (astronomical illumination) | Fraction of the moon lit that date |
Only the regular Oct–Jan season is included. Weather comes from a reanalysis grid (~25 km cells) at approximate check-station coordinates, so treat it as "the weather in that part of the valley," not a reading at your blind.
How success is measured
The single yardstick is birds per hunter — total birds divided by total hunter-days for whatever set of days your filters select. It is always hunter-weighted: a refuge with 400,000 hunter-days and one with 900 are pooled by summing birds and summing hunters, never by averaging each day's rate. That keeps a single lucky low-traffic day from masquerading as a great refuge.
±1.96·√birds ÷ hunters). With millions of hunter-days the
whole-valley average is pinned down tightly (the band rounds to ±0.00); zoom into one refuge in one
weather condition and the band widens, telling you how much to trust that number. Wide band =
thin evidence.
Leaderboard & map
Bars view
Refuges ranked by birds per hunter for the current filters, colored by region, with the 95% band drawn as a whisker at the end of each bar. The Ranking cutoff control hides refuges with too few hunter-days so the leaderboard reflects repeatable success, not small-sample noise.
Map view
The same refuges placed on California. Bubble size = hunter-days (how much hunting happens there) and bubble color = birds per hunter relative to the current average — green is above average, red is below, using a diverging scale centered on the average shown in the caption. Because Central Valley refuges sit close together, bubbles overlap; hover any one to read its exact numbers, and note the two Southern California clusters (Salton Sea / Imperial) which sit on a different flyway.
Toggle between the two with the Bars / Map switch on that card. In either view, click a refuge to focus it — the weather and seasonal panels below then describe only that refuge.
Success across weather patterns
Eight small charts break success down by weather: sky, wind direction, daytime high, wind speed, cold-front swing, barometer trend, moon, and precipitation. Each bar is birds per hunter for days in that band, with a 95% whisker; the dashed gold line is the current overall average so you can see which conditions beat it. Click any bar to filter the whole dashboard to that condition.
Each panel is a proper cross-filter: it reflects every other filter you've set but ignores its own, so all of its bands stay visible. Selecting "Cold front" in one panel, for instance, reshapes the other seven and the leaderboard, letting you ask "which refuge shoots best on a cold front in mid-November?"
Success through the season
Birds per hunter by half-month, from the October opener through late January. When you've focused a refuge or picked specific regions, a dashed gray line shows the all-refuge average under the same conditions, so you can see whether your pick peaks earlier, later, or higher than the valley as a whole. The shaded green band is the 95% range; the highlighted vertical stripe marks the date window you've selected in the filters.
Filters & cross-filtering
- Region — include/exclude the five regions. At least one stays on.
- Dates (half-month) — narrow to a window, e.g. Nov 16–31 through Dec 16–31. The seasonal chart always shows the full arc and simply highlights your window.
- Seasons — restrict the year range (1987–88 … 2025–26) to compare eras.
- Ranking cutoff — minimum hunter-days for a refuge to appear in the bars leaderboard.
- Clicked bars — any weather band or focused refuge becomes an active filter, shown as a removable chip under "Filters." Reset clears everything.
All filters combine (logical AND). The chips row always tells you exactly what's active.
Weather band definitions
Continuous weather is folded into hunter-meaningful bands. Exact cutoffs:
| Pattern | Bands | Definition |
|---|---|---|
| Sky | Clear · Cloudy · Rain · Snow | From the day's weather code |
| Wind direction | N · E · S · W | Dominant direction the wind came from |
| Daytime high | Cold <50°F · Cool 50–60 · Mild 60–70 · Warm 70+ | Daily maximum temperature |
| Wind speed | Calm <5 mph · Light 5–8 · Breezy 8–13 · Windy 13+ | Peak gust for the day |
| Cold-front swing | Warm-up · Steady · Cold front | 3-day change in high temp: cold front = ≥4°F drop, warm-up = ≥4°F rise |
| Barometer | Falling · Steady · Rising | 3-day pressure change: falling/rising = ≥3 hPa |
| Moon | Dark <25% · Half 25–75% · Bright 75%+ | Fraction of moon illuminated |
| Precipitation | Dry · Wet | Wet = any measurable rain/snow (>0.01") |
How not to fool yourself
- Openers run hot. Early-season birds haven't been pressured, so the first half-months read high everywhere. That's a calendar effect, not a weather one — hold the date window fixed before comparing weather.
- Mind the sample. Trust wide error bars less. Narrow filters onto one small refuge and a rate can swing on a handful of days. The ranking cutoff exists for exactly this.
- Per hunter, not per hunt. Rates are birds per hunter-day; party sizes and blind quality vary within a refuge.
- Weather is coarse and regional. ERA5 at approximate coordinates ≠ your blind. Wind direction especially is a broad daily summary.
- Two flyways. Southern California refuges (Salton Sea, Imperial) behave differently from the Central Valley; comparing them head-to-head can mislead.
- Correlations aren't additive. Great weather in the wrong week still won't beat a mediocre day at the season's peak.
Glossary
- Hunt-day — one refuge on one date.
- Hunter-day — one hunter checked in for one hunt-day; the denominator for every rate.
- Birds per hunter — total birds ÷ total hunter-days over the selected days.
- 95% band — plausible range for the true rate given the sample size; wider = less certain.
- Half-month — the season split into 8 two-week buckets, Oct 1–15 through Jan 16–31.
- Region — Sacramento Valley, San Joaquin Valley, Northeastern California, Suisun Marsh & Delta, Southern California.
- Focus — clicking a refuge to make the weather and seasonal panels describe only it.