NASA’s Planetary Spectrum Generator (PSG) is a handy tool for modeling spectra including that of our own atmosphere. With a little effort, one can swap out the line lists it uses to define the spectral absorption features making. This was convenient because I wanted to model telluric water vapor features in an effort to validate the new 2020 HITRAN water vapor line lists. To compare to the high resolution data (R>500,000) I had over a wide wavelength range, PSG was a bit clunky to use in batch settings.

In an effort to make it easier to use, I developed a Python wrapper for running the PSG API. This allows a user to acquire telluric spectra based on the time and location of an astronomical observation in batch and generates a summary plot of the result. This wrapper can be found here.
The final comparison between the model and the data was ultimately used to catch some errors in the line lists and was included in the HITRAN 2020 paper published in the Journal of Quantitative Spectroscopy & Radiative Transfer. Ultimately we showed the new line lists do a better job fitting our telluric data, for water vapor in the optical at least. There are still a lot of discrepancies, which are hard to correct if using an molecular model to inform the energy transitions since one edit to the model to better fit one line may disrupt a swarm of other lines.

This effort was a pretty cool by product of the work I had done previously on extracting telluric spectra from solar data taken with a Fourier transform spectrometer, which can be read about here. Telluric datasets from sea-level with crazy high resolutions at crazy high SNR are an excellent way to test large discrepancies in our line lists because we have a huge amount of optical depth that allows us to see absorption features that otherwise hard to probe. For smaller discrepancies, it’s somewhat harder to distinguish what is actually due to errors in the assumed pressure and temperature curve of the atmosphere, which can shift lines differently.

