ESBO-ETC/README.md
2020-05-20 15:33:05 +02:00

12 KiB

ESBO-ETC

A modular exposure time calculator for the ESBO telescope.

Introduction

This repository contains the source code of the ESBO-ETC, a highly modular exposure time calculator.

ESBO-ETC aims on modelling the physical aspect of light coming from a target through optical components (e.g. atmosphere, mirrors, lenses, ...) on the detector. The set up of this so called optical pipeline can be individually defined using a configuration file. Additionally, the thermal emission of optical components, the obstruction of components as well as different PSFs including pointing jitter can be considered.

Finally, ESBO-ETC allows the computation of either the necessary exposure time for a desired SNR, the SNR for a given exposure time or, in case of a BlackBodyTarget, the sensitivity as the minimum apparent magnitude for a given exposure time and SNR. All computations support a batch-mode, allowing to compute multiple scenarios at once.

Features

ESBO-ETC offers many different optical components and features which will be explained in the following.

Targets

<target type="" size=""/>

Currently ESBO-ETC supports the following two different types of targets. A configuration can contain only one target which has to be contained in the container <astroscene>. Each target consists of the basic tag <target> and possible other target-type specific attributes.

  • type: The type of the target. Currently, only BlackBodyTarget and FileTarget are supported.
  • size: The size of the target which can be either point or extended. In case of a point-source, a PSF will be used to determine the irradiance of each pixel. In case of a extended source, a uniform PSF is assumed, ignoring the tags <psf>, <jitter>, and some instrument specific tags.
BlackBodyTarget

<target type="BlackBodyTarget" temp="5778" temp_unit="K" mag="10" mag_unit="mag" band="B" size="point"/>

Model a target as a black body of a given temperature and magnitude.

  • temp: The temperature of the black body.
  • temp_unit optional: The unit of the black body's temperature. This has to be one of [K, Celsius]. The default is K.
  • mag: The apparent magnitude of the black body in magnitudes.
  • mag_unit optional: The unit of the black body's magnitude. This has to be mag. The default is mag.
  • band: The band used for fitting the black body's flux density to Vega's flux density. This has to be one of [U, B, V, R, I, J, H, K, L, M, N].
FileTarget

<target type="FileTarget" val="PathToFile" size="point"/>

Create a target from a file containing the spectral flux densities of the target.

  • val: The path to the file containing the spectral flux densities. For details on the required structure see section Reading spectral quantities from files.

Optical Components

<optical_component type=""/>

Each optical component consists of the basic tag <optical_component> and the attribute type and possible other component-specific attributes.

  • type: The type of the optical component. This can be one of the following types.
Atmosphere

<optical_component type="Atmosphere" transmittance="PathToTransmittanceFile" emission="PathToEmissionFile"/>

This component models the behaviour of an atmosphere which has a spectral transmittance and a spectral emission.

  • transmittance: The path to the file containing the spectral transmittance coefficients. For details on the required structure see section Reading spectral quantities from files.
  • emission optional: The path to the file containing the spectral radiance of the emission. For details on the required structure see section Reading spectral quantities from files.
StrayLight

<optical_component type="StrayLight" emission="PathToEmissionFile"/>

This component allows to model generic noise sources like stray light or zodiacal light from a file containing the spectral radiance of the emission.

  • emission optional: The path to the file containing the spectral radiance of the emission. For details on the required structure see section Reading spectral quantities from files.
Mirror

<optical_component type="Mirror" reflectance="PathToReflectance" emissivity="PathToEmissivity" temp="70" temp_unit="K" obstruction="0.2" obstructor_temp="70" obstructor_temp_unit="K" obstructor_emissivity="0.9"/>

Model a mirror including the mirror's thermal emission as well as possible obstruction of the mirror and the thermal emission of the obstructing component.

  • reflectance: The path to the file containing the spectral reflectance coefficients. For details on the required structure see section Reading spectral quantities from files.
  • emissivity: The path to the file containing the spectral emissivity coefficients. For details on the required structure see section Reading spectral quantities from files.
  • temp optional: The temperature of the mirror for the thermal emission.
  • temp_unit optional: The unit of the mirror's temperature. This has to be one of [K, Celsius]. The default is K.
  • obstruction optional: The obstruction factor of the mirror as ratio of the areas Aobstructor / Amirror.
  • obstructor_temp optional: The temperature of the obstructing component for the thermal emission.
  • obstructor_temp_unit optional: The unit of the obstructing component's temperature. This has to be one of [K, Celsius]. The default is K.
  • obstructor_emissivity optional: The emissivity of the obstructing component for the thermal emission. Valid ranges are 0.0 - 1.0. The default is 1.
Lens

<optical_component type="Lens" transmittance="PathToTransmittance" emissivity="PathToEmissivity" temp="70" temp_unit="K" obstruction="0.2" obstructor_temp="70" obstructor_temp_unit="K" obstructor_emissivity="0.9"/>

Model a lens including the lens' thermal emission as well as possible obstruction of the lens and the thermal emission of the obstructing component.

  • transmittance: The path to the file containing the spectral transmittance coefficients. For details on the required structure see section Reading spectral quantities from files.
  • emissivity: The path to the file containing the spectral emissivity coefficients. For details on the required structure see section Reading spectral quantities from files.
  • temp optional: The temperature of the lens for the thermal emission.
  • temp_unit optional: The unit of the lens' temperature. This has to be one of [K, Celsius]. The default is K.
  • obstruction optional: The obstruction factor of the lens as ratio of the areas Aobstructor / Alens.
  • obstructor_temp optional: The temperature of the obstructing component for the thermal emission.
  • obstructor_temp_unit optional: The unit of the obstructing component's temperature. This has to be one of [K, Celsius]. The default is K.
  • obstructor_emissivity optional: The emissivity of the obstructing component for the thermal emission. Valid ranges are 0.0 - 1.0. The default is 1.
BeamSplitter

<optical_component type="BeamSplitter" transmittance="PathToTransmittance" emissivity="PathToEmissivity" temp="70" temp_unit="K" obstruction="0.2" obstructor_temp="70" obstructor_temp_unit="K" obstructor_emissivity="0.9"/>

Model a beam splitter including the beam splitter's thermal emission as well as possible obstruction of the beam splitter and the thermal emission of the obstructing component.

  • transmittance: The path to the file containing the spectral transmittance coefficients. For details on the required structure see section Reading spectral quantities from files.
  • emissivity: The path to the file containing the spectral emissivity coefficients. For details on the required structure see section Reading spectral quantities from files.
  • temp optional: The temperature of the beam splitter for the thermal emission.
  • temp_unit optional: The unit of the beam splitter's temperature. This has to be one of [K, Celsius]. The default is K.
  • obstruction optional: The obstruction factor of the beam splitter as ratio of the areas Aobstructor / Abeam splitter.
  • obstructor_temp optional: The temperature of the obstructing component for the thermal emission.
  • obstructor_temp_unit optional: The unit of the obstructing component's temperature. This has to be one of [K, Celsius]. The default is K.
  • obstructor_emissivity optional: The emissivity of the obstructing component for the thermal emission. Valid ranges are 0.0 - 1.0. The default is 1.
Filter

<optical_component type="Filter" transmittance="PathToTransmittance" emissivity="PathToEmissivity" temp="70" temp_unit="K" obstruction="0.2" obstructor_temp="70" obstructor_temp_unit="K" obstructor_emissivity="0.9"/>

<optical_component type="Filter" band="M" emissivity="PathToEmissivity" temp="70" temp_unit="K" obstruction="0.2" obstructor_temp="70" obstructor_temp_unit="K" obstructor_emissivity="0.9"/>

<optical_component type="Filter" start="400" start_unit="nm" end="480" end_unit="nm" emissivity="PathToEmissivity" temp="70" temp_unit="K" obstruction="0.2" obstructor_temp="70" obstructor_temp_unit="K" obstructor_emissivity="0.9"/>

Model a beam splitter including the beam splitter's thermal emission as well as possible obstruction of the beam splitter and the thermal emission of the obstructing component.

  • transmittance: The path to the file containing the spectral transmittance coefficients. For details on the required structure see section Reading spectral quantities from files.
  • band: The spectral Band of the filter. This has to be one of [U, B, V, R, I, J, H, K, L, M, N]
  • start: The start wavelength of the pass band of the filter.
  • start_unit: The unit of the start wavelength. This has to be one of [m, cm, mm, um, nm, pm]. The default is m.
  • end: The end wavelength of the pass band of the filter.
  • end_unit: The unit of the end wavelength. This has to be one of [m, cm, mm, um, nm, pm]. The default is m.
  • emissivity: The path to the file containing the spectral emissivity coefficients. For details on the required structure see section Reading spectral quantities from files.
  • temp optional: The temperature of the beam splitter for the thermal emission.
  • temp_unit optional: The unit of the beam splitter's temperature. This has to be one of [K, Celsius]. The default is K.
  • obstruction optional: The obstruction factor of the beam splitter as ratio of the areas Aobstructor / Abeam splitter.
  • obstructor_temp optional: The temperature of the obstructing component for the thermal emission.
  • obstructor_temp_unit optional: The unit of the obstructing component's temperature. This has to be one of [K, Celsius]. The default is K.
  • obstructor_emissivity optional: The emissivity of the obstructing component for the thermal emission. Valid ranges are 0.0 - 1.0. The default is 1.

Detectors

Other Features

Reading spectral quantities from files

The format of a file has to be either structured text (e.g. CSV) or astropy ECSV and will be automatically detected. In case of structured text, the units of the columns have to be defined in the column header within square brackets (e.g. "wavelength [nm]"). The file must contain two columns with units: wavelength and the spectral quantity:

wavelength [nm] emission [W/(nm*m^2*sr)]
200 1.345e-15
201 2.234e-15
... ...

Running ESBO-ETC

Configuration File

Extending ESBO-ETC