Brooks Groves
🐟 Featured Project View on GitHub β†’

GBIF Β· Great Basin Β· Endangered Fishes Β· Paleolakes

🐟 Survivors of an Inland Sea

Fifteen thousand years ago, Lake Lahontan covered 22,800 kmΒ² of the western Great Basin. Pyramid Lake is what’s left, and its fish are survivors: the cui-ui, a lake sucker that lives nowhere else on Earth, and the Lahontan cutthroat trout that set the 41-pound world record. This project floods today’s terrain to the ancient 1,335 m shoreline and maps every GBIF record of five native fishes over it.

"The biggest cutthroat trout in the world disappeared from its lake in the 1940s, and turned up again in a creek 300 miles away."

Derby Dam, the dry bed of Winnemucca Lake, the fishway at Marble Bluff, and the Pilot Peak trout that DNA from a UNR lab proved were the lost Pyramid Lake giants. With a look back at heat shock proteins in fish from my own UNR days.

Python GBIF Downloads API Copernicus GLO-90 OpenStreetMap SciPy GitHub Actions
Read the Post β†’ Cui-ui GBIF Download β†’
Lake Lahontan
22,800 kmΒ²
at its 1,335 m highstand Β· ~15,000 years ago
Native fishes mapped
5
cui-ui Β· cutthroat Β· tui chub Β· sucker Β· redside
Cui-ui records in the old lake
87%
of 62 GBIF records Β· found only in Pyramid Lake
World-record cutthroat
41 lb
Johnny Skimmerhorn Β· Pyramid Lake Β· 1925
Cui-ui lifespan
40+ yrs
endangered since March 1967
🐟 Golden Trout Β· Kern Plateau View on GitHub β†’

GBIF Β· Sierra Nevada Β· Native Trout Β· Stocking History

🐟 Two Creeks of Gold

California’s state fish evolved in just two streams on the Kern Plateau: Golden Trout Creek and the South Fork Kern. In 1876 a coffee can carried 13 of them over the Sierra crest, and a century of pack trains and hatcheries spread them into high lakes across the West. This project maps every GBIF record of the golden trout and the threatened Little Kern golden trout over Copernicus terrain.

"It is only a question of time, a very few years at most, when the golden trout of Volcano Creek will become practically exterminated unless it receives protection."

Only 288 of 1,133 records are on the Kern Plateau; Idaho alone has 333. Plus hybrids, brown trout, cattle in the meadows, and creeks that hit 26 Β°C in summer.

Python GBIF Downloads API Copernicus GLO-30 OpenStreetMap GeoPandas GitHub Actions
Read the Post β†’ GBIF Download (DOI) β†’
Native streams
2
Golden Trout Creek Β· South Fork Kern River
Occurrence records
1,133
GBIF Β· 1876–2026 Β· 288 on the Kern Plateau
Most records
Idaho
333 Β· more than the plateau itself
State fish since
1947
California
Hottest meadow water
26.3 Β°C
Mulkey Meadows Β· NusslΓ© et al. 2015
🪨 Pikas Β· The American West View on GitHub β†’

GBIF Β· Museum Specimens Β· Climate Β· Elevation

🪨 What’s Up With the Pikas?

The American pika can die after a couple of hours at 28–30 °C, which made it the poster animal of climate change in the mountains. Field resurveys disagree on how worried to be. This project pulls all 16,891 GBIF records of Ochotona princeps, adds the ground elevation under each one, and goes back to 276 museum localities collected between 1871 and 1949 to ask whether anyone has recorded a pika there since 2000.

"Where pikas are still being found, they’re being found where they always were. The places they’re most often missing from are the low ones."

Comparing all old records with all new ones says pikas moved 246 m uphill, but that mostly measures where hikers go. Matched site by site, the old localities that have been re-found have modern records at nearly the same elevation, and the lowest third for their latitude are re-found far less often: 39%, against 62% and 59%.

Python GBIF Downloads API Copernicus GLO-30 scikit-learn GeoPandas GitHub Actions
Read the Post β†’ Part 2: Washington β†’ GBIF Download (DOI) β†’
Occurrence records
16,891
GBIF Β· 1871–2026 Β· specimens + iNaturalist
Old sites checked
276
pre-1950 museum localities Β· located to 2 km
Re-found since 2000
54%
a pika record within 3 km Β· median 33 m higher
Low sites re-found
39%
lowest third for their latitude Β· vs 59% for the highest
Lowest pikas
~sea level
Columbia River Gorge Β· eating moss
🦎 Anoles Β· Guadeloupe View on GitHub β†’

GBIF Β· Guadeloupe Β· Island Evolution Β· Species Distribution

🦎 ANOLE-WATCH

One lizard, stranded on six islands, became six species. ANOLE-WATCH maps every GBIF record of the Anolis marmoratus complex across Guadeloupe and its satellite islets: the Marie-Galante giant, the golden-eyed anole of Petite Terre, and the Kahouanne anole, whose entire range is two rocks off Basse-Terre.

"A channel a few kilometers wide can be as much of a wall as a mountain range."

The data had its own mysteries. Sixty-nine records were parked on a generic "Guadeloupe" point, and the golden-eyed anole turned up 60 km from home because Petite Terre and Les Saintes both have an island called Terre-de-Haut. Quality flags set those aside without deleting them, and a GitHub Action refreshes everything weekly.

Python GBIF API D3 Leaflet GitHub Actions pixi
View Story Map β†’ Read the Post β†’
Species mapped
6
one mainland lineage Β· five island endemics
Occurrence records
2,914
GBIF Β· incl. iNaturalist Β· refreshed weekly
Rarest species
21
records Β· A. kahouannensis Β· two islets
Records flagged
96
centroid-parked or off-island Β· kept, not deleted
Largest
~12 cm
snout–vent Β· A. ferreus males Β· Marie-Galante
🐾 Kangaroo Rats Β· Death Valley View on GitHub β†’

iNaturalist Β· Death Valley Β· Citizen Science Β· Species Distribution

🐾 DIPODOMYS

An interactive data portrait of the two kangaroo rat species that share Death Valley β€” Dipodomys deserti (the desert specialist) and D. merriami (the continent-wide generalist). Live occurrence data from iNaturalist on every page load. Leaflet map with MarkerCluster, temporal analysis showing the citizen science explosion after 2012, and elevation charts revealing the microhabitat partitioning between species.

"It is two in the morning at Badwater Basin. The temperature has dropped to 95Β°F. A small, pale mammal launches itself across the salt flat in a series of long bipedal bounds β€” five feet per leap, tail spinning for balance, landing in silence. It will not drink water tonight. It never does."

One HTML file. No frameworks, no build system, no cached data. Six API calls on page load, everything rendered client-side. The design philosophy mirrors the ecology: specialization where it matters, nothing extraneous.

Vanilla JS Leaflet MarkerCluster Chart.js iNaturalist API Esri Dark Gray Canvas GitHub Pages
View Live Site β†’ Read the Build Post β†’
Species covered
2
D. deserti Β· D. merriami Β· Death Valley
Data source
iNaturalist
Live API Β· research-grade only Β· community science
Hottest place on Earth
134Β°F
Furnace Creek record Β· July 1913 Β· D. deserti thrives here
Years of desert adaptation
5M+
Mojave evolution Β· never consumes free water
Escape jump distance
9 ft
Bipedal saltation Β· rattlesnake-proof
The Two Strategies
The Specialist
Dipodomys deserti
Desert Kangaroo Rat
Pale as bleached sand. Five hind toes. Lives almost exclusively on open, firm sandy flats β€” requires loose, wind-deposited sand for burrowing. Will not venture onto rocky substrate. Range barely extends beyond the Mojave. Has bet everything on one extreme habitat, and been winning for millions of years.
The Generalist
Dipodomys merriami
Merriam's Kangaroo Rat
Smaller, darker. Four hind toes. Most widespread kangaroo rat in North America. Desert scrub, sagebrush steppe, bajadas, Joshua tree woodland, rocky slopes. California to Texas. Where deserti specialized, merriami generalized β€” the tradeoff shows. Merriami is everywhere. Deserti is only here, in exactly this kind of place.
Background

The Citizen Science Revolution

iNaturalist has fundamentally changed what is possible in ecological research. A dataset that would have required years of fieldwork can now be assembled in seconds via API call. The temporal analysis in DIPODOMYS shows the explosion clearly β€” a flat line of museum specimen records from the early 20th century, modest upticks from mid-century field surveys, then a near-vertical spike after 2012 as iNaturalist reached critical mass.

But the bias is real and worth naming: we know more about where these animals were seen in 2023 than in 1983 not because their range changed, but because observer coverage changed. Understanding what the data doesn't show is as important as understanding what it does.

Habitat Partitioning

Where the two species meet β€” as they do across Death Valley's sandy flats β€” they partition microhabitats. Deserti takes the open dunes. Merriami works the surrounding scrub. The boundary is ecological, not geographic β€” drawn in seed patches and burrow densities and nightly foraging circuits.

The elevation chart in DIPODOMYS shows this directly: deserti clusters near and below sea level on the valley floor. Merriami spreads across a wider elevation range, turning up on bajadas, in canyons, on the surrounding ranges. Two species, same valley, different vertical worlds.

Related Work
Background Reading
🌿
iNaturalist β€” inaturalist.org
The largest community science biodiversity platform. Every observation in DIPODOMYS came from here.
πŸ“š
Animal Diversity Web β€” animaldiversity.org
University of Michigan natural history database. Primary reference for physiological adaptation data.
πŸ›°οΈ
Microsoft Planetary Computer β€” planetarycomputer.microsoft.com
Free access to Sentinel-2, Landsat, and other Earth observation datasets. Used in Sentinel Stockpile and applicable to habitat mapping.