About Me
Last updated: 2026-01-01
I am a PhD atmospheric scientist with a keen interest in scientific programming and open-source software.
Currently, I am working as a Scientific Software Engineer for NOAA ARL (as a contractor, employed by ERT, Inc.). As of 2025-04-03, my position was de-scoped from the contract, but I may be able to return to work for ARL via the CISESS Cooperative Institute soon. Our group primarily works on research and development for the National Air Quality Forecast, focusing on surface processes like emission and deposition. I develop and maintain projects such as the model evaluation tools MONET, MONETIO, and MELODIES MONET, and the atmospheric emissions system NEXUS. I am also part of a team developing a chemistry component for atmospheric modeling systems.
From fall 2024, I also have a partial appointment at Texas A&M University as a Research Scientist.
This year, I hope to advance some of my music-related personal projects. For example:
- continue developing PyABC2 and work on applications such as: a personal tune db, tune set suggestion, search, ...
- collect chords I like in/on different tunings/instruments
- continue making videos
Projects
I have contributed in (mostly) small ways to different parts of the open-source scientific programming ecosystem (including xarray, pandas, fortran-lang, etc.). Here, I list some of my personal programming/software projects.
🎵 Music-related
-
PyABC2— extract some information from tunes in ABC notation and work with musical notes and keys -
stringcalc— calculations for string instruments, including string suggestions -
thrower-segovia-diagrams— remaking Sean Thrower's Segovia Scales diagrams -
melplot— plot melodeon layout diagrams -
trad-setlist-helper— use data from The Session to generate melody incipts for a list of tune sets
🌥 Science-related
Some closely related to my current NOAA work, some less so
-
TAMS— MCS tracking and analysis in Python, a project with Kelly Núñez Ocasio -
uscrn— Python package for loading U.S. Climate Reference Network data into pandas and xarray, with variable attributes and descriptions and examples -
epa-regions-python— EPA region definitions with GeoPandas / regionmask, for assigning point or gridded data -
very-basic-nuopc-example— NUOPC toy model experiments -
xrframes— make animations from xarray objects, similar to jbusecke/xmovie
🌳 Older science-related
Some science-related projects from during my PhD
-
crt1d— implements a variety of 1-D canopy radiative transfer schemes and provides a framework for using them easily and tools for comparing their results -
vorts— integrating a system of point vortices with different languages and numerical methods - zmoon.github.io/bonanmodeling/ — code samples from the textbook Climate Change and Terrestrial Ecosystem Modeling (2019) organized and executed, with outputs provided
-
screen3— Python wrapper for the EPA SCREEN3 point source dispersion model -
blpd— Lagrangian (stochastic) particle dispersion with Python+Numba to model bees finding floral scents -
boxmod— simple chemical box model and mechanism analysis tools -
savefigs— provides a function to automatically save all open Matplotlib figures -
CLM-ml-mb— multi-band radiative transfer in Gordon Bonan's 1-D canopy model
🗃️ Misc.
Not specifically/directly science- or music-related
- zmoon.github.io/FortranTipBrowser/ — Sphinx site for the @FortranTip tips
-
nbv— read-only viewing of Jupyter Notebooks in the web browser using nbconvert -
aoc— my Advent of Code solutions, currently mainly Python, + some Julia and Fortran