Simulating atmospheric transmissions

I was looking into the basics of simulating an atmospheric transmission (with libRadtran, but that’s not particularly important): what parameters it needed, which to vary, and how they could be linked to OpSim run data. I found the slides for a thesis defense by Alexandre Boucaud, though there are no accompanying papers that I could find (and the thesis itself is not online):

around slide 40 there’s details of an atmosphere simulator linked to seasonal variations in various quantities of interest (ozone, water vapor, …).

I googled the name of one of the python scripts mentioned and found it within this LSST sims git repository:

Does anyone (especially @ljones) know if this code is still in working order? It appears to have DM stack like structure - is it available in the stack (it’s not in my version, but maybe I didn’t install the relevant package)?

Also is there any documentation of this simulation that’s not on a power point slide!

Hi Alexandra,

The code is not especially out of date, but was eventually not used for the goal we had in mind at the start. We were originally going to attempt to do a full simulation calibration, taking stellar spectra, and generating a throughput curve that included variations in atmospheric transmission with visits and the hardware response variation across the focal plane for each opsim pointing, to produce “as observed” magnitudes for stars across the sky to input into a calibration pipeline. While this may eventually be done, we got some distance toward the goal but eventually decided that was not necessary at the time - instead we looked at the variation in each throughput component, looking at the timescale, spatial scale, and range of variation, and compared this to the available calibration data. The result of that analysis is the Level 2 Photometric Calibration Document, basically.

There are some more relevant pieces of code and data in the photometry documents repo ( This has some of the documentation that you’re looking for (in the level2 calibration document, where it talks about details of the atmosphere in particular …, although probably not everything you’d wish.

So, to get more directly to your question:
It’s not particularly out of date, but was never smoothed out to the level of other simulation pieces of code. Some updates may be needed to talk to newer opsim runs, but it doesn’t have any dependencies on other LSST packages that need to be fixed. It’s not distributed as part of the sims or LSST stack (packages in lsst-sims are not distributed). You can however git clone it and use it just like another LSST package:
… git clone the repo, cd sims_transmission, eups declare sims_transmission -t $USER’, ‘setup sims_transmission -t $USER’ …

Like I said, it was never smoothed out to the same level as other pieces of sims code. I’m not sure it’s exactly set up to do what you want to do… the ideas are all there, but they’re a little buried. The parameters that are output are for MODTRAN. From what I remember, Alexandre and his group were pretty happy with the ozone simulation, but the aerosol simulation was still little rougher (on the other hand, it is the only simulation we have).

If you do end up using this, it would be great to know and we’d request that you push any updates or improvements back to the repo. I’d be happy to help as I can.