2020-03-26 17:42:46 +01:00
|
|
|
# ESBO-ETC
|
2020-05-20 11:32:24 +02:00
|
|
|
A modular exposure time calculator for the ESBO telescope.
|
2020-03-26 17:42:46 +01:00
|
|
|
|
2020-05-20 11:32:24 +02:00
|
|
|
## 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 components 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_.
|
|
|
|
|
|
|
|
#### 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.
|
|
|
|
|
|
|
|
## Running ESBO-ETC
|
|
|
|
|
|
|
|
## Configuration File
|
|
|
|
|
|
|
|
## Extending ESBO-ETC
|