2020-05-25 17:00:28 +02:00
|
|
|
**************************
|
|
|
|
Building the Configuration
|
|
|
|
**************************
|
2020-05-26 22:10:48 +02:00
|
|
|
ESBO-ETC has to be configured by a XML-file. For basic information on XML and how to edit XML-files, have a look at
|
2020-05-27 10:15:28 +02:00
|
|
|
`this tutorial <https://www.w3schools.com/xml/default.asp>`_.
|
|
|
|
Each parameter of the configuration is defined by a XML-tag which is indicated by
|
|
|
|
|
|
|
|
.. code-block:: xml
|
|
|
|
|
|
|
|
<tag_name/>
|
|
|
|
|
|
|
|
A parameter can contain multiple attributes which are defined as key-value-pairs and some of them may be optional.
|
|
|
|
All attribute values must be quoted as in the example below. The required types shown in the documentation refer to the unquoted value.
|
2020-10-23 13:27:59 +02:00
|
|
|
Most numeric attributes require a unit which can be either included in the value or defined as a second attribute with the suffix *_unit*.
|
|
|
|
The documentation uses the latter case for clarity. Both cases are shown as examples below.
|
2020-05-27 10:15:28 +02:00
|
|
|
All astropy units defined `here <https://docs.astropy.org/en/stable/units/>`_ can be used.
|
|
|
|
|
2020-10-23 13:27:59 +02:00
|
|
|
.. code-block:: xml
|
|
|
|
|
|
|
|
<tag_name val="10 s"/>
|
|
|
|
|
2020-05-27 10:15:28 +02:00
|
|
|
.. code-block:: xml
|
|
|
|
|
|
|
|
<tag_name val="10" val_unit="s"/>
|
|
|
|
|
|
|
|
The tree structure of the configuration file is explained below.
|
|
|
|
|
|
|
|
During the initialization of the program, the configuration is checked and possible errors reported with recommendations on how to fix the errors.
|
|
|
|
The attributes in the documentation below are the minimal attributes. This means, that additional attributes like *comment* can be added
|
|
|
|
without breaking the configuration. This can be helpful to document tags as shown in the :ref:`example_config`.
|
2020-05-25 17:00:28 +02:00
|
|
|
|
|
|
|
Basic Structure
|
2020-05-26 22:10:48 +02:00
|
|
|
===============
|
|
|
|
The basic structure of the configuration file is shown in the following tree. The configuration structure starts with a
|
|
|
|
root element which is divided into common paramaters, astroscene, common_optics and instrument. This basic structure has
|
|
|
|
to be used and must not be changed.
|
2020-05-25 17:00:28 +02:00
|
|
|
|
2020-05-26 22:10:48 +02:00
|
|
|
::
|
|
|
|
|
|
|
|
root
|
|
|
|
├── common
|
|
|
|
│ └── Common configuration parameters
|
|
|
|
├── astroscene
|
|
|
|
│ └── Components outside of the telescope like target, atmosphere, ...
|
|
|
|
├── common_optics
|
|
|
|
│ └── Common components for all sensors like mirrors, lenses, ...
|
|
|
|
└── instrument
|
|
|
|
└── The sensor and its configuration parameters
|
|
|
|
|
|
|
|
Common
|
|
|
|
======
|
|
|
|
|
|
|
|
.. include:: common.rst
|
|
|
|
|
|
|
|
.. _target:
|
2020-05-25 17:00:28 +02:00
|
|
|
|
|
|
|
Target
|
2020-05-26 22:10:48 +02:00
|
|
|
======
|
|
|
|
|
|
|
|
.. include:: target.rst
|
2020-05-25 17:00:28 +02:00
|
|
|
|
|
|
|
Optical components
|
2020-05-26 22:10:48 +02:00
|
|
|
==================
|
|
|
|
|
|
|
|
.. include:: optical_components.rst
|
2020-05-25 17:00:28 +02:00
|
|
|
|
|
|
|
Sensor
|
2020-05-26 22:10:48 +02:00
|
|
|
======
|
|
|
|
|
|
|
|
.. include:: sensor.rst
|
|
|
|
|
|
|
|
.. _reading_csv:
|
|
|
|
|
|
|
|
Reading CSV-Files
|
|
|
|
=================
|
|
|
|
|
|
|
|
The format of a file has to be either structured text (e.g. CSV) or astropy ECSV. The format of the file will be automatically detected during read.
|
|
|
|
In case of structured text, the units of the columns have to be defined in the column header within square brackets
|
2020-10-06 12:15:06 +02:00
|
|
|
(e.g. "wavelength [nm]"). The file must contain two columns with units: wavelength/frequency and the spectral quantity.
|
|
|
|
The first column can be either a wavelength or a frequency.
|
2020-05-26 22:10:48 +02:00
|
|
|
|
|
|
|
+-----------------+------------------------------+
|
|
|
|
| wavelength [nm] | emission [W/(nm\*m^2\*sr)] |
|
|
|
|
+=================+==============================+
|
|
|
|
| 200 | 1.345e-15 |
|
|
|
|
+-----------------+------------------------------+
|
|
|
|
| 201 | 1.364e-15 |
|
|
|
|
+-----------------+------------------------------+
|
|
|
|
| ... | ... |
|
|
|
|
+-----------------+------------------------------+
|
|
|
|
|
2020-05-27 10:15:28 +02:00
|
|
|
.. _example_config:
|
|
|
|
|
2020-05-26 22:10:48 +02:00
|
|
|
Example Configuration
|
|
|
|
=====================
|
|
|
|
|
|
|
|
.. code-block:: xml
|
|
|
|
:linenos:
|
|
|
|
|
|
|
|
<root>
|
|
|
|
<common>
|
|
|
|
<wl_min val="3" val_unit="um" comment="Shortest wavelength used for binning input spectra"/>
|
|
|
|
<wl_max val="5" val_unit="um" comment="Shortest wavelength used for binning input spectra"/>
|
|
|
|
<wl_delta val="1" val_unit="nm" comment="Wavelength increment used for binning input spectra"/>
|
|
|
|
<d_aperture val="0.5" val_unit="m" comment="Diameter of the telescope aperture"/>
|
|
|
|
<psf val="Airy" osf="10" osf_unit="" comment="PSF of the optical system. Can be Airy or a file"/>
|
|
|
|
<jitter_sigma val="10" val_unit="arcsec" comment="Sigma of the telescope jitter"/>
|
|
|
|
<output path="output" format="fits" comment="Output directory to store output files"/>
|
|
|
|
<exposure_time val="0.1, 1.2" val_unit="s" comment="The exposure time"/>
|
|
|
|
</common>
|
|
|
|
|
|
|
|
<astroscene>
|
2020-09-08 10:23:40 +02:00
|
|
|
<target type="BlackBodyTarget" temp="5778" temp_unit="K" mag="10" mag_unit="mag" band="B"
|
2020-05-26 22:10:48 +02:00
|
|
|
comment="Modeling the sun as mag 10 star. Size can be point or extended"/>
|
|
|
|
<optical_component type="Atmosphere" transmittance="data/atmosphere/ESBO-DS_transmittance.txt"
|
|
|
|
emission="data/atmosphere/ESBO-DS_emission.txt" comment="Including the atmosphere"/>
|
|
|
|
</astroscene>
|
|
|
|
|
|
|
|
<common_optics>
|
|
|
|
<optical_component type="Mirror" reflectance="data/mirror/Reflectance_UV-enhanced-aluminium-mirror.txt"
|
|
|
|
emissivity="0" temp="70" temp_unit="K" obstruction="0.0" comment="M1"/>
|
|
|
|
<optical_component type="Mirror" reflectance="data/mirror/Reflectance_UV-enhanced-aluminium-mirror.txt"
|
|
|
|
emissivity="0" temp="70" temp_unit="K" comment="M2"/>
|
|
|
|
<optical_component type="Mirror" reflectance="data/mirror/Reflectance_UV-enhanced-aluminium-mirror.txt"
|
|
|
|
emissivity="0" temp="70" temp_unit="K" comment="M3"/>
|
|
|
|
<optical_component type="Filter" band="M"
|
|
|
|
emissivity="data/filter/emissivity.csv" temp="70" temp_unit="K" comment="Filter wheel"/>
|
|
|
|
</common_optics>
|
|
|
|
|
|
|
|
<instrument>
|
|
|
|
<optical_component type="Mirror" reflectance="data/lens/Reflectance_UV-enhanced-aluminium-mirror.txt"
|
|
|
|
emissivity="0" temp="70" temp_unit="K" comment="M4"/>
|
|
|
|
<sensor type="Imager">
|
|
|
|
<f_number val="13" val_unit="" comment="The working f/#"/>
|
|
|
|
<pixel_geometry val="1024, 1024" val_unit="pix" comment="Pixel geometry"/>
|
|
|
|
<center_offset val="0.0, 0.0" val_unit="pix" comment="Shift of the array center"/>
|
|
|
|
<pixel>
|
|
|
|
<quantum_efficiency val="data/ccd/QE.txt" comment="Quantum efficiency of the detector"/>
|
|
|
|
<pixel_size val="6.5" val_unit="um"/>
|
|
|
|
<dark_current val="0.6" val_unit="electron / (pix * s)" comment="Detector dark current"/>
|
|
|
|
<sigma_read_out val="1.4" val_unit="electron(1/2) / pix" comment="Detector readout noise in e-rms"/>
|
|
|
|
<well_capacity val="30000" val_unit="electron" comment="Well capacity of a pixel"/>
|
|
|
|
</pixel>
|
|
|
|
<photometric_aperture comment="The photometric aperture used to calculate signal and noise.">
|
|
|
|
<shape val="circle" comment="Shape of the photometric aperture. Can be square / circle"/>
|
|
|
|
<contained_energy val="80" comment="Contained energy for calculating the SNR"/>
|
|
|
|
</photometric_aperture>
|
|
|
|
</sensor>
|
|
|
|
</instrument>
|
|
|
|
</root>
|