SeeingModel

class rubin_sim.site_models.SeeingModel(filter_list=['u', 'g', 'r', 'i', 'z', 'y'], eff_wavelens=None, telescope_seeing=0.25, optical_design_seeing=0.08, camera_seeing=0.3, raw_seeing_wavelength=500, efd_seeing='FWHM_500')

Bases: object

LSST FWHM calculations for FWHM_effective and FWHM_geometric.

Calculations of the delivered values are based on equations in Document-20160 (“Atmospheric and Delivered Image Quality in OpSim” by Bo Xin, George Angeli, Zeljko Ivezic) An example of the calculation of delivered image seeing from DIMM FWHM_500 is available in https://smtn-002.lsst.io/#calculating-m5-values-in-the-lsst-operations-simulator

Parameters:
filter_listlist [str], opt

List of the filter bandpasses for which to calculate delivered FWHM_effective and FWHM_geometric Default [‘u’, ‘g’, ‘r’, ‘i’, ‘z’, ‘y’]

eff_wavelenslist [float] or None, opt

Effective wavelengths for those bandpasses, in nanometers. If None, the SeeingModel will read the throughput curves from disk ($RUBIN_SIM_DATA_DIR/throughputs/baseline/total_[f].dat) and calculate effective wavelengths.

telescope_seeingfloat, opt

The contribution to the delivered FWHM from the telescope, in arcseconds. Default 0.25”

optical_design_seeingfloat, opt

The contribution to the seeing from the optical design, in arcseconds. Default 0.08 arcseconds

camera_seeingfloat, opt

The contribution to the seeing from the camera, in arcseconds. Default 0.30 arcseconds

raw_seeing_wavelengthfloat, opt

The wavelength of the DIMM-delivered equivalent FWHM, in nanometers. Default 500nm.

efd_seeingstr, opt

The name of the DIMM FWHM measurements in the efd / conditions object. Default FWHM_500

Methods Summary

__call__(fwhm_z, airmass)

Calculate the seeing values FWHM_eff and FWHM_geom at the given airmasses, for the specified effective wavelengths, given FWHM_zenith (typically FWHM_500).

config_info()

Deprecated.

configure()

Deprecated.

fwhm_eff_to_fwhm_geom(fwhm_eff)

Calculate FWHM_geom from FWHM_eff.

fwhm_geom_to_fwhm_eff(fwhm_geom)

Calculate FWHM_eff from FWHM_geom.

Methods Documentation

__call__(fwhm_z, airmass)

Calculate the seeing values FWHM_eff and FWHM_geom at the given airmasses, for the specified effective wavelengths, given FWHM_zenith (typically FWHM_500).

FWHM_geom represents the geometric size of the PSF; FWHM_eff represents the FWHM of a single gaussian which encloses the same number of pixels as N_eff (the number of pixels enclosed in the actual PSF – this is the value to use when calculating SNR).

FWHM_geom(”) = 0.822 * FWHM_eff(”) + 0.052”

The FWHM_eff includes a contribution from the system and from the atmosphere. Both of these are expected to scale with airmass^0.6 and with (500(nm)/wavelength(nm))^0.3. FWHM_eff = 1.16 * sqrt(FWHM_sys**2 + 1.04*FWHM_atm**2)

Parameters:
fwhm_z: `float`, or efdData `dict`

FWHM at zenith (arcsec).

airmass: `float`, `np.array`, or targetDict `dict`

Airmass (unitless).

Returns:
FWHMeff, FWHMGeomdict of {numpy.ndarray, numpy.ndarray}

FWHMeff, FWHMgeom: both are the same shape numpy.ndarray. If airmass is a single value, FWHMeff & FWHMgeom are 1-d arrays, with the same order as eff_wavelen (i.e. eff_wavelen[0] = u, then FWHMeff[0] = u). If airmass is a numpy array, FWHMeff and FWHMgeom are 2-d arrays, in the order of <filter><airmass> (i.e. eff_wavelen[0] = u, 1-d array over airmass range).

config_info()

Deprecated. Report configuration parameters and version information.

configure()

Deprecated. Configure through the init method.

static fwhm_eff_to_fwhm_geom(fwhm_eff)

Calculate FWHM_geom from FWHM_eff.

Parameters:
fwhm_efffloat or np.ndarray
Returns:
FWHM_geomfloat or np.ndarray
static fwhm_geom_to_fwhm_eff(fwhm_geom)

Calculate FWHM_eff from FWHM_geom.

Parameters:
fwhm_geomfloat or np.ndarray
Returns:
FWHM_efffloat or np.ndarray