My favorite part of my job is writing software to support astronomical instrumentation and the research done by other astronomers. That joy is largely what led me to my current role on the NEID software team, where I am continuing my years of experience working on the reduction and analysis of spectroscopic data, even extending my work to influence the extreme precision radial velocity (EPRV) community at large.

NEID Data Reduction Pipeline

I have significantly contributed to the NEID pipeline. Beyond addressing issues and helping to restart the instrument after the June 2022 wildfire shutdown, my main contributions to the pipeline have been rewriting its telluric model creation and wavelength calibration modules.

Telluric Modeling

In version 1.3 of the NEID pipeline, I introduced a new telluric model generation routine. Large swaths of light in the visible and infrared are absorbed by Earth’s atmosphere, contaminating our astronomical observations. However, we can generate a model of how the atmosphere absorbs the light and provide a correction to the spectra. This is a difficult problem though!

Details about and examples of the new telluric model can be found on this documentation page, but to summarize:

  • I remade the telluric model grid using LBLRTM to remove issues we were encountering with the sampling of the model spectra.
  • I parameterized NEID’s non-Gaussian instrument profile using laser frequency comb observations across the spectrum.
  • I implemented a variable kernel convolution to convolve the telluric model with NEID’s variable instrument profile, generating an accurate representation of how NEID sees telluric absorption.
  • I added functionality to simultaneously fit for the precipitable water vapor column using multiple regions of the spectrum.

There is still work to be done, though, including accounting for asymmetries in NEID’s instrument profile (which all spectrometers have!) and a more efficient convolution.

Standalone Telluric Model Module

I created a standalone version of the NEID pipeline’s telluric module that is available on my GitHub at eprv_telluric_correction. This is primarily designed for use with HPF, which greatly benefits because its near infrared bandpass has much more telluric contamination.

Wavelength Calibration

Wavelength calibration is perhaps the most important step in a pipeline for EPRV instruments. Without a precise and stable wavelength calibration, you cannot measure stellar radial velocitites to the precision required for detecting and characterizing exoplanets!

In version 1.4 of the NEID pipeline, I completely refactored the complex wavelength calibration module to be more maintainable, readable, and most importantly more extensible for future improvement to the constituent wavelength calibration algorithms.

In version 1.5 of the NEID pipeline, I leveraged the refactor to add a new wavelength calibration mode that better handles poor calibration data, providing our users with higher quality data, particularly during times when our calibration sources are struggling.

You can find more details about the wavelength calibration module in this documentation page.

The EPRV Community Data Format Standard and Translators

As a member of the collaboration to create a standardized EPRV data format, I am the primary developer of the code to translate native NEID data into the standard format. The package with the translator code, which works on many EPRV instruments, can be found in the repository RVData. There is thorough documentation about the standard format and the translator code, including a tutorial on using NEID data in the standard format. This code is pip installable, and just had its v1.0.0 release!

Tull Coudé Spectrograph Reduction and Analysis Pipeline

While a grad student at UT Austin, I wrote a reduction pipeline for the Tull coudé spectrograph on the Harlan J. Smith 2.7-m telescope at McDonald Observatory. The original pipeline was written in python 2.7 and is still on my GitHub at coudereduction.

In 2023, I finally got around to updating the pipeline: writing it in python 3, making it more user friendly, and implementing its steps in a more modular way. This version of the pipeline can be found on my GitHub at tull_coude_reduction (with documentation). As of now, the pipeline runs from processing the raw CCD images to measuring radial velocities from extracted and wavelength calibrated stellar spectra.

Miscellaneous

Orbits Code

I wrote code for a Planetary Astrophysics class in grad school to take in parameters of a planetary system and output observable quantities such as the stellar RV, astrometric orbits, and transit times. My version can be found as HW1_Orbits on my GitHub. I haven’t gone back and edited the code since I created it (I was an early grad student so it might be a little rough), but it might still be useful to take a look at for people needing to generate planetary system observations!

Minor Contributions

  • saphires is a code developed by Ben Tofflemire (a TESS Pipeline Scientist at SETI) that implements broadening functions to measure radial velocities from high resolution spectra. This code is great! Broadening functions are a very useful tool for measuring RVs and understanding stellar spectra, and there are great discussions of why in the saphires documentation.
  • comove is a code devloped by Adam Kraus (my Ph.D. advisor and UT Austin professor) to use Gaia to search for comoving companions to any input star. It searches through a whole bunch of catalogues to provide plots with which one can assess whether or not a star is a member of a larger stellar association or not. It is super useful for searching for unidentified and/or loose young stellar populations.

Future Plans

  • Creating a package to measure the equivalent width of the Helium 10830 Angstrom triplet from HPF spectra. This would be a public release of the code used to measure EWs presented in my paper on the Helium triplet in young stars. My hope is that you could point to any HPF spectrum of a (late F through early M) star and output a Helium EW!
  • Expanding the telluric correction package to work on more instruments than just HPF.