Selected Publications

Inferring large-scale processes that drive biodiversity hinges on understanding the phylogenetic and spatial pattern of species richness. However, clades and geographic regions are accumulating newly described species at an uneven rate, potentially affecting the stability of currently observed diversity patterns. Here, we present a probabilistic model of species discovery to assess the uncertainty in diversity levels among clades and regions. We use a Bayesian time series regression to estimate the long-term trend in the rate of …
PNAS 114:14, 3666-3671, 2017

Recent Publications

More Publications

Recent Posts

More Posts

As a small project before I change careers, I’ve gone back to exploring the fossil record of the Ordovician and Silurian through the lens of how well does lithology predict the observed diversity or richness of fossils. This exploration requires data from the Macrostrat and Paleobiology Database databases. While these two databases share a lot of similar ideas, they are not directly linked. Instead, Macrostrat entries have information linking them to PBDB occurrences and collections.


For the last few months I have been working on an online textbook/short-course on analytical paleobiology. The goal of this project is to develop a series of tutorials and how-to guides that are suitable to teach from as individual 2-hour lessons. These lessons are meant to serve launching points for further learning, and not as fully comprehensive reference tools (suggested readings are listed at the top of each lesson). Throughout the text I emphasize critically thinking about your data and using domain knowledge to shape and drive our analyses.


In my spare time I play Warhammer 40k, a game that involves rolling a lot of six-sided dice. My largest army are the Dark Angels, a major chapter of space marines. Because I’ve wanted to grow my R skills, I finally wrote my first R package mathhammr. This lightweight package is a collection functions for simulating collections of dice rolls. The recently released Bolter Discipline beta rule for 40k is the perfect opportunity to demonstrate the package.


Macrostrat is a data service I’ve written [about before]({{< relref “/post/macrostrat.html” >}}). Today I’m going to explaining how to get the fancy geological unit polygons you see when go to their interactive geological maps. This is not covered or documented in the Macrostrat API – I only figured it out through snooping, determination, and careful skimming of the sift source code. The goal of this “how-to” is to get the map for at least one geological unit.


In this post I’m going to dive deeper in to Macrostrat and start looking at genus diversity of geological units; this is the first follow-up on my previous post. Like before, the code used to generate all the figures etc. is available here. Our initial data call is exactly the same as my previous post; I’m looking for geological units with Permian sediments: Unfortunately this API call does not return useful information about what fossils are found in the geologic unit, only how many.



Teaching Material for Analytical Paleobiology

Online Textbook and Tutorials

Functional diversity

Changes to the composition of a species pool over time

Species Extinction Risk

Differences in species duration associated with functional traits