Coding Projects

In the process of working with the 1D stellar evolution code MESA (Modules for Experiments in Stellar Astrophysics), I've written several helper utilites to more easily access data and to ease the process of starting MESA projects, installing and updating MESA, and other little tasks. All of these are open source projects hosted on GitHub.


MesaReader is a tool for accessing data in MESA output files for use in analysis and plotting. Versions are available for Python (intended to work with NumPy and Matplotlib) and Ruby (intended to work with Tioga).


MesaScript is a DSL (Domain Specific Language) for creating inlists in MESA. Inlists are typically static input files that do not allow for the use of variables, conditional statements, loops, or other niceties of computer languages. MesaScript gives inlists a more flexible, declarative syntax while sprinkling in the full power of the Ruby programming language, allowing for the automated creation of complex inlists. It's perfect for parameter space studies where large numbers of inlists must be created where only a few parameters change.

MESA Command Line Tools

MESA command line tools, or mesa_cli, is, as you may guess, a command line tool that does various tasks associated with working with MESA. This tool is currently under development, but as of the last update to this site, it implements the following features via simple, one-line commands:

  • Determines current MESA version number
  • Summoning defaults files for different namelists
  • Installing a new version of MESA, updating login scripts (bash only)
  • Creation of a fresh work directory with a new name and optional MesaScript file
  • Copying of test suite cases with "de-test-suitification"
  • "Pointing" of general inlists named "inlist" to specific inlists

Planned development will add installation functionality to c shell users as well. Other feature requests are welcome!

Course Notes

After getting sick of taking bad hand-written notes for long enough, I decided to start bringing my laptop to my graduate courses to typeset my notes on the fly. As it turns out, other students were interested in having access to those notes, so they are now available on github as well.

Graduate Astrophysics

Most of these notes are not sufficiently proof-read and lack figures that were drawin in the class, so they are not considered complete with the possible exception of the notes for PHYS 232: Stellar Structure, which I sat through twice. Notes are available for the following astrophysics graduate courses:

Undergraduate Astrophysics

I also took notes for two of the undergraduate courses I was a teaching assistant for. These, too, have not been fully vetted and should be considered incomplete. Still, you may find them useful.