Open source

Software

A paper describes a result; software lets someone else reproduce and extend it. Nearly everything I have built in research has ended up as an installable, documented, publicly maintained package.

5 of these are archived on Zenodo with a DOI. Each DOI below is a concept DOI: it always resolves to the newest release, so citing it does not go stale. Versions shown are refreshed automatically.

Libraries I maintain

Core scientific Python projects with millions of users, where I share responsibility for review, releases and long-term direction.

Maintainer

Matplotlib

The plotting library underneath most of scientific Python. I review and merge changes across the codebase, with a focus on the rendering and colour-mapping internals.

doi:10.5281/zenodo.592536 v3.11.1

Repository

Maintainer

Cartopy

Cartographic projections and geospatial plotting for Python, built on top of Matplotlib. Used across the atmospheric, oceanographic and Earth science communities.

doi:10.5281/zenodo.1182735 v0.24.1

Repository

Packages I wrote

Domain tools that came directly out of the research, generalized enough for other people to use.

bezpy

Reading and working with the magnetotelluric, magnetic observatory and transmission-line data used in geoelectric hazard analysis. Written during my USGS postdoc and now used well beyond it.

Geoelectric hazardsPython

doi:10.5281/zenodo.3765860 v0.1.1

Repository

pysecs

Spherical Elementary Current Systems: decomposes magnetic field observations into divergence-free basis functions, so interpolation and machine learning respect the underlying physics by construction.

Magnetic fieldsPython

doi:10.5281/zenodo.14511595 v0.4.0

Repository

pymsis

A Python interface to the NRLMSIS empirical atmosphere models. Wraps the original Fortran so the model can be called from a notebook, a web API or an operational pipeline without a compiler in the loop.

AtmospherePython / Fortran

doi:10.5281/zenodo.5348502 v0.12.0

Repository

enlilviz

Visualization of Enlil solar wind model output — the animations and interactive plots space weather forecasters use in operational environments.

Solar windPython

Not archived on Zenodo

Repository

msis-api

The serverless API behind the MSIS Visualizer, turning a Fortran atmospheric model into something a browser can query directly.

CloudServerless

Not archived on Zenodo

Repository

Citing this software

If any of these were useful in your work, please cite the archived release rather than a bare URL — it is what makes the contribution countable.

Package Concept DOI (cite this) Latest Released
Matplotlib 10.5281/zenodo.592536 v3.11.1 2026-07-18
Cartopy 10.5281/zenodo.1182735 v0.24.1 2024-10-08
bezpy 10.5281/zenodo.3765860 v0.1.1 2023-09-30
pysecs 10.5281/zenodo.14511595 v0.4.0 2026-07-10
pymsis 10.5281/zenodo.5348502 v0.12.0 2025-11-26

Reproducible research

Papers published together with the code that produced them.

All repositories on GitHub