************************** Building the Configuration ************************** 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 `this tutorial `_. Each parameter of the configuration is defined by a XML-tag which is indicated by .. code-block:: xml 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. Most numeric attributes require a unit which has to be defined as a second attribute with the suffix *_unit* which is also shown in the example below. All astropy units defined `here `_ can be used. .. code-block:: xml 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`. Basic Structure =============== 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. :: 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: Target ====== .. include:: target.rst Optical components ================== .. include:: optical_components.rst Sensor ====== .. 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 (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. +-----------------+------------------------------+ | wavelength [nm] | emission [W/(nm\*m^2\*sr)] | +=================+==============================+ | 200 | 1.345e-15 | +-----------------+------------------------------+ | 201 | 1.364e-15 | +-----------------+------------------------------+ | ... | ... | +-----------------+------------------------------+ .. _example_config: Example Configuration ===================== .. code-block:: xml :linenos: