diff --git a/README.md b/README.md index bf37bad..cdc979b 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,77 @@ # ESBO-ETC +A modular exposure time calculator for the ESBO telescope. -A modular exposure time calculator for the ESBO telescope. \ No newline at end of file +## 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 +`` + +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 ``. Each target consists of the basic tag +`` 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 ``, ``, and some instrument specific tags. + +##### BlackBodyTarget +`` + +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 +`` + +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 +`` + +Each optical component consists of the basic tag `` 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 +` + +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 \ No newline at end of file