Page to collect info for Zeljko & Joachim Moeyens on
- generating atmospheres,
- then magnitudes for stellar SEDs,
- and finding out how well one can recover input atmospheric parameters from comparison of those magnitudes with standard magnitudes.
Atmospheres can be generated using some of the code https://stash.lsstcorp.org/projects/SIM/repos/sims_selfcal/browse (I need to talk to Peter about what/how was translated from cgit the original repos).
But more likely you will find the code in this repo https://dev.lsstcorp.org/cgit/LSST/sims/doc.git/ more useful.
Read section 5.2 of the calibration paper : https://dev.lsstcorp.org/cgit/LSST/sims/doc.git/tree/level2/calib_plan.pdf (especially note equation 29 which introduces the various atmospheric components and their coefficients which we use to model the atmospheric throughput as a function of wavelength).
Once you understand the idea of the various atmospheric components/templates and the coefficients that go with them, go have a look at the code here https://dev.lsstcorp.org/cgit/LSST/sims/doc.git/tree/level2/code/AtmoComp.py which will let you recreate atmospheres with any combination of coefficients at any airmass. Note this is not truly as accurate as a MODTRAN calculation of the atmospheric throughput.
To understand the proper scaling / values for the C parameters, the directories
- https://dev.lsstcorp.org/cgit/LSST/sims/doc.git/tree/photo_err/atmosphere_lynne/ozone (for ozone)
- https://dev.lsstcorp.org/cgit/LSST/sims/doc.git/tree/photo_err/atmosphere_lynne/ozone (for H2O)
- https://dev.lsstcorp.org/cgit/LSST/sims/doc.git/tree/photo_err/atmosphere_lynne/aerosol (for aerosol)
will be useful. You could take the biggest/smallest values of the ozone/H2O/aerosol* values from each of these directories and try to vary the relevant C parameters in AtmoComp.py code to recreate the relevant range. Then you'd not only have a guess at what the expected range should be, you'd have the relative scaling in (deltaC) vs. (delta physical parameter). (i.e. if you vary C from 0.5 to 1.5 to recreate the water vapor change from 1 to 7 mm, then if you wanted to do water vapor of 10 mm, you'd go up to C=2.0). Note that the aerosol range in the directory may not match the physical expected range (we made the aerosol plots before the aerosol data from the site was available .. so you'd just use the directory values to calibrate C and then you could use the plots in the level 2 calibration paper to figure out what the physical range should be).
Then go look at the code here https://dev.lsstcorp.org/cgit/LSST/sims/doc.git/tree/level2/code/plot_dmags.py (for which you will need to install sims_photUtils .. see Catalogs and MAF installation instructions). The code in plot_dmags.py will need to be updated as there have been some small changes in sims_photUtils from the time that the code was originally written - I think this should come down to simply changing the import statements to point at lsst.sims.photUtils instead of lsst.sims.catalogs.measures - but you probably will want to modify it somewhat to generate exactly what output you want. In general, this code will let you calculate the magnitude of a set of kurucz models (plus others like MLT stars) and make plots of the color-color relations or differences in magnitude between standard/non-standard atmospheres.
From there, (fitting the resulting stellar magnitudes and determining what input parameters you used for the atmosphere), I do not have existing code, but I'm sure Zeljko can fill in some astroML methods to use.