About 240 million years ago, central Nevada was the floor of a warm sea, and ichthyosaurs swam in it: marine reptiles shaped like dolphins, some as long as a bus. Their bones are in the limestone of the Humboldt Range, the Augusta Mountains and the Shoshone Mountains, where Berlin–Ichthyosaur State Park keeps the great Shonisaurus, Nevada’s state fossil. PaleoWave was one of my first machine-learning projects: teach a model what the ground looks like where ichthyosaurs have been found, then ask it where else that ground is.

The PaleoWave flag: an ichthyosaur leaping over a wave beside the outline of Nevada, teal on gold

The project’s flag. It deserved a page to fly over.

This fall I came back to it, the way I’ve been coming back to all my early projects: give it a real page, wire it to live data, and re-check every number it claims from the files in the repository. PaleoWave got all three. The page has a map of the known ichthyosaur places, the model’s fifty targets and the Triassic rocks, plus the terrain close-ups and the geology. Every Monday a GitHub Action asks the Paleobiology Database what it lists for Nevada now, so the page will notice if anyone records an ichthyosaur somewhere the model has never seen.

The first live check had news

The model was trained on 30 PBDB records. The first weekly check found 28. The two missing are both Omphalosaurus, an odd, crushing-toothed marine reptile that PBDB no longer files under ichthyosaurs. Nothing new turned up, but the page now says so, every week, in plain words.

Re-checking the numbers

The re-check was the humbling part. My old README was confident, and three of its headline claims held up less well than they looked. I’ve put the arithmetic in a script anyone can rerun.

Thirty records, eighteen places. To test the model I’d held out one record at a time and asked whether the model still recognised it. But six of the records come from a single spot, the site J. C. Merriam described in 1906, and several others come in pairs. Hold one out and its twins are still in training, so of course the model recognises it. Holding out whole places instead, the earlier model recognises 7 of 16 places it hadn’t seen, not the 89% I’d been quoting.

Ruggedness, measured twice. The old README called terrain ruggedness “the single strongest predictor.” It turns out ruggedness at the fossil sites came from an 8 m elevation model with one formula, and at the comparison points from an 18 m download with another. Per unit of slope it reads 7.7 at the fossil sites and 1.9 everywhere else, so the model was partly learning the difference between my two measuring sticks. The third version fixed that by sampling everything the same way. But it only re-ranked the candidates the first two versions had found.

Inside the formation? I’d written that the model scored “every candidate pixel within the formation.” None of the fifty targets is actually on the Triassic marine rocks of the state geologic map; the median is 18 km away. In fairness to past me, that 1:500,000 map is too coarse to filter on: only 7 of the 30 known records land on it either.

Three terrain panels for an early top target: a hillshade, a topographic position map and a slope map, with the target at the foot of a steep range

The first version’s favourite target, where steep range meets fan. Close-ups like this one are on the page for twenty targets.

What still holds

Quite a lot, actually. Tested the stricter way, the model still tells fossil terrain from random terrain well (an AUC of 0.87), and it flags only about 2% of random comparison points. It has learned something real about where Nevada’s ichthyosaurs come out of the ground: low and middling elevations in rugged, dissected ranges, more often in basins and on lower slopes than on ridge crests, which is where erosion strips the old sea floor. It just knows eighteen places, and nobody has walked its targets yet.

So the page calls them what they are: places to go and look, not predictions. The top one sits in a small basin about 14 km from the nearest known site, and the second is 50 km from any known site, which makes it either the most interesting or the most wrong.

Terrain panels for the current top target, sitting in a shallow basin

The current top target: a shallow basin, the kind of place the model has learned to like.

If you go: vertebrate fossils on federal land can only be collected under a permit, and collecting at Berlin–Ichthyosaur State Park isn’t allowed at all. Photograph a find in place, note where it is, and tell the BLM. A bone left in the ground with good notes is worth far more than one in a backpack. And carry more water than you think.

What’s next

The to-do list writes itself. Score the whole Triassic outcrop with the third version instead of re-ranking old candidates. Test on whole places, and whole ranges, held out together. Swap in the finer 1:250,000 county geologic maps, so “is this even Triassic rock?” becomes a real filter. And keep after the museums: the Cincinnati Museum Center holds fifteen Cymbospondylus from the Augusta Mountains with only rough coordinates online, and I’ve asked for the real ones.

I like this version of PaleoWave better. It knows less than it used to say it did, and it shows its homework. Where it’s right, that’s worth more.

Update, later the same day: version 4. I took my own to-do list. Version 4 searches only the Triassic marine formations on the state's 1:250,000 map, formation by formation, then looks for that rock bare and eroding in Sentinel-2 summer imagery, on BLM land. Tested by leaving each known place out, the known places land, at the median, in the top 14% of the searchable ground, and 8 of 9 in the top quarter: a real signal, if a modest one. There are forty new places to look, each with a close-up, on the page. Two corrections came with it. My first v4 run looked much better than that, but I'd scored each known place at the barest ground nearby, which no random spot got the benefit of. And the “coarse 1:500,000 map” above wasn't really the problem: the layer the old model used had simply left out the Luning and Gabbs rocks.

Code, notebooks and every number: github.com/bdgroves/project-paleowave. Known localities from the Paleobiology Database; elevation from USGS 3DEP; geology from the Nevada state geologic map via the USGS State Geologic Map Compilation.


Go deeper

🎧 Listen & watch

Episode 85: Ichthyosaurs — Palaeocast, 7 January 2018, about 1 hr 10 min. Ben Moon and Fiann Smithwick of the University of Bristol on how ichthyosaurs lived, hunted and got their colour.

📄 Read

Kelley, N.P., Irmis, R.B., dePolo, P.E., Noble, P.J., Montague-Judd, D., Little, H., Blundell, J., Rasmussen, C., Percival, L.M.E., Mather, T.A. & Pyenson, N.D. (2022). Grouping behavior in a Triassic marine apex predator. Current Biology 32(24), 5398–5405.e3.

Sander, P.M., Griebeler, E.M., Klein, N., Vélez-Juarbe, J., Wintrich, T., Revell, L.J. & Schmitz, L. (2021). Early giant reveals faster evolution of large body size in ichthyosaurs than in cetaceans. Science 374(6575), eabf5787.

Fröbisch, N.B., Fröbisch, J., Sander, P.M., Schmitz, L. & Rieppel, O. (2013). Macropredatory ichthyosaur from the Middle Triassic and the origin of modern trophic networks. Proceedings of the National Academy of Sciences 110(4), 1393–1397.

McGowan, C. & Motani, R. (1999). A reinterpretation of the Upper Triassic ichthyosaur Shonisaurus. Journal of Vertebrate Paleontology 19(1), 42–49.

Anemone, R.L., Emerson, C.W. & Conroy, G.C. (2011). Finding fossils in new ways: an artificial neural network approach to predicting the location of productive fossil localities. Evolutionary Anthropology 20(5), 169–180.

Valavi, R., Elith, J., Lahoz-Monfort, J.J. & Guillera-Arroita, G. (2019). blockCV: an R package for generating spatially or environmentally separated folds for k-fold cross-validation of species distribution models. Methods in Ecology and Evolution 10(2), 225–232.

📊 Data & agencies

Paleobiology Database — the known localities, checked every Monday. · Berlin–Ichthyosaur State Park — Nevada State Parks; Fossil House tours, no collecting.

BLM Paleontological Resources — the rules for public land, and who to tell. · Nevada Bureau of Mines and Geology — Nevada’s state geological survey and its maps.

USGS 3DEP — the elevation. · USGS State Geologic Map Compilation — the statewide geology. · Copernicus Sentinel-2 — the summer imagery behind version 4.

PaleoWave — the live page and its forty places to look. · project-paleowave — this project’s code and the re-check script.