Tools to query ESO skymodel¶
- class qmostetc.eso.SkyModel(wavelength=<Quantity [ 360., 1000.] nm>, binsize=<Quantity 0.1 nm>)¶
ESO Sky model query tool
This simple class can be used to query the ESO sky model from
https://www.eso.org/observing/etc/skycalc/skycalc.htm
The ESO sky model is a web application based on the Cerro Paranal Advanced Sky Model, which was developed in particular to be used in the ESO Exposure Time Calculators.
After the creation of a
SkyModel
object, the parameters may be adjusted by setting the properties documented below. The table can be retrieved with the methodget_fits()
.If the environment variable ESO_CACHE is set, its path is used to cache the ESO queries.
- Parameters:
- wavelength
astropy.units.Quantity
Wavelength range to query [nm]
- binsize
astropy.units.Quantity
Size of wavelength bins [nm]. Linear binning is used.
- wavelength
Examples
Retrieve the standard sky data for a gray brightness (half moon), with airmass=1 (zenith):
>>> import astropy.units as u >>> from astropy.table import Table >>> from qmostetc.eso import SkyModel >>> skymodel = SkyModel((350, 1000)*u.nm, 0.1*u.nm) >>> skymodel.altitude = 90*u.deg >>> skymodel.moonlight = True >>> skymodel.moon_sun_sep = 90*u.deg >>> skymodel.moon_target_sep = 45*u.deg >>> skymodel.moon_altitude = 45*u.deg >>> skymodel.starlight = True >>> skymodel.zodiac = True >>> skymodel.lines = True >>> skymodel.airglow = True >>> tbl = Table(skymodel.get_result()) >>> print(tbl['lam', 'flux', 'trans']) lam flux trans nm ph / (arcsec2 m2 s um) ------ ---------------------- ------------------ 350.0 366.448038622599 0.6009243971774372 350.1 384.84294761300964 0.6012587267506433 ... ... ... 999.9 542.5174221971154 0.9807591881785823 1000.0 542.3131359284246 0.9803135462218374 Length = 6501 rows
- property wavelength¶
astropy.units.Quantity
: Wavelength range [nm]
- property altitude¶
astropy.units.Quantity
: Target altitude [deg]Setting the altitude implicitly also sets the airmass
- property moon_sun_sep¶
astropy.units.Quantity
: Moon-Sun separation [deg]
- property moon_target_sep¶
astropy.units.Quantity
: Moon-Target separation [deg]
- property moon_altitude¶
astropy.units.Quantity
: Moon altitude [deg]
- property ecl_lat¶
astropy.units.Quantity
: Ecliptic latitude of target [deg]
- property ecl_lon¶
astropy.units.Quantity
: Ecliptic longitude of target [deg]
- get_fits()¶
Retrieve the resulting data file as a FITS HDU
- get_result()¶
Retrieve the resulting data file as a QTable
- Returns:
astropy.io.table.QTable
FITS table according to ESO specs for the sky model. Columns:
lam: Vacuum wavelength [nm]
flux: sky emission radiance flux [ph/(s m² µm arcsec²)]
dflux1: sky emission -1 σ flux uncertainty
dflux2: sky emission +1 σ flux uncertainty
trans: sky transmission
dtrans1: sky transmission -1 σ uncertainty
dtrans2: sky transmission +1 σ uncertainty
Individual emission columns:
flux_sml: scattered moonlight [ph/(s m² µm arcsec²)]
flux_ssl: scattered starlight [ph/(s m² µm arcsec²)]
flux_zl: zodiacal light [ph/(s m² µm arcsec²)]
flux_tie: telescope/instrument thermal emission [ph/(s m² µm arcsec²)]
flux_tme: molecular emission lower atmosphere [ph/(s m² µm arcsec²)]
flux_ael: airglow emission Lines [ph/(s m² µm arcsec²)]
flux_arc: airglow/residual emission [ph/(s m² µm arcsec²)]
Individual transmission columns:
trans_o3: ozone uv/optical absorption
trans_ma: molecular absorption
trans_rs: rayleigh scattering
trans_ms: mie scattering