Each optical component consists of the basic tag ```` and the attribute ``type`` and possible other component-specific attributes. .. code-block:: xml Attributes: * | **type:** str | The type of the optical component. This can be one of the following types. Atmosphere ---------- This component models the behaviour of an atmosphere which has a spectral transmittance and a spectral emission. It is possible to read the transmittance of the atmosphere from a CSV file, from an output file of ATRAN or call the webversion of ATRAN to compute the transmission profile. The atmospheric emission can bei either read from a CSV file or computed as a grey body radiator of a given temperature and emissivity = 1 - transmission. .. code-block:: xml .. code-block:: xml .. code-block:: xml Attributes: * | **transmittance:** str | The path to the file containing the spectral transmittance coefficients. For details on the required file structure see also :ref:`reading_csv`. * | **atran:** str | Path to a file containing the output of ATRAN. * | **altitude:** float | The observatory altitude for the call to ATRAN. * | **altitude_unit:** str, *optional* = "ft" | The unit of the observatory altitude for the call to ATRAN. * | **wl_min:** float | The minimum wavelength for the call to ATRAN. * | **wl_min_unit:** str, *optional* = "um" | The unit of the minimum wavelength for the call to ATRAN. * | **wl_max:** float | The maximum wavelength for the call to ATRAN. * | **wl_max_unit:** str, *optional* = "um" | The unit of the maximum wavelength for the call to ATRAN. * | **latitude:** float, *optional* | The observatory latitude for the call to ATRAN. * | **latitude_unit:** str, *optional* = "degree" | The unit of the observatory latitude for the call to ATRAN. * | **water_vapor:** float, *optional* | The water vapor overburden for the call to ATRAN. * | **water_vapor_unit:** str, *optional* = "um" | The unit of the water vapor overburden for the call to ATRAN. * | **n_layers:** float, *optional* | The number of atmospheric layers for the call to ATRAN. * | **zenith_angle:** float, *optional* | The zenith angle for the call to ATRAN. * | **zenith_angle_unit:** str, *optional* = "degree" | The unit of the zenith angle for the call to ATRAN (0 is towards the zenith). * | **resolution:** float, *optional* | The resolution for smoothing for the call to ATRAN (0 for no smoothing). * | **emission:** str, *optional* | The path to the file containing the spectral radiance of the emission. For details on the required file structure see also :ref:`reading_csv`. * | **temp:** float, *optional* | The atmospheric temperature used for grey body emission. * | **temp_unit:** str, *optional* = "K" | Unit of the atmospheric temperature used for black body emission using the complement of the transmittance. StrayLight ---------- This component allows to model generic noise sources like stray light or zodiacal light from a file containing the spectral radiance of the emission. .. code-block:: xml Attributes: * | **emission:** str, *optional* | The path to the file containing the spectral radiance of the emission. For details on the required file structure see also :ref:`reading_csv`. CosmicBackground ---------------- This component allows to model generic black body noise sources like the cosmic background. .. code-block:: xml Attributes: * | **temp:** float | The temperature of the black body. * | **temp_unit:** str, *optional* = "K" | The unit of the black body's temperature. This has to be one of [``K``, ``Celsius``]. The default is ``K``. * | **emissivity:** float, *optional* | The emissivity of the cosmic background. Mirror ------ 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. .. code-block:: xml Attributes: * | **reflectance:** [str, float] | Either a floating point value for the reflectance or a path to the file containing the spectral reflectance coefficients. For details on the required file structure see also :ref:`reading_csv`. * | **emissivity:** str, *optional* | The path to the file containing the spectral emissivity coefficients. For details on the required file structure see also :ref:`reading_csv`. If not given, 1 - reflectance is used. * | **temp:** float, *optional* | The temperature of the mirror for the thermal emission. * | **temp_unit:** str, *optional* | The unit of the mirror's temperature. This has to be one of [``K``, ``Celsius``]. The default is ``K``. * | **obstruction:** float, *optional* | The obstruction factor of the mirror as ratio of the areas A\ :sub:`obstructor` / A\ :sub:`mirror`. * | **obstructor_temp:** float, *optional* | The temperature of the obstructing component for the thermal emission. * | **obstructor_temp_unit:** str, *optional* | The unit of the obstructing component's temperature. This has to be one of [``K``, ``Celsius``]. The default is ``K``. * | **obstructor_emissivity:** float, *optional* | The emissivity of the obstructing component for the thermal emission. Valid ranges are 0.0 - 1.0. The default is 1.0. Lens ---- Model a lens including the lens' thermal emission as well as possible obstruction of the lens and the thermal emission of the obstructing component. .. code-block:: xml Attributes: * | **transmittance:** [str, float] | Either a floating point value for the transmittance or a path to the file containing the spectral transmittance coefficients. For details on the required file structure see also :ref:`reading_csv`. * | **emissivity:** str, *optional* | The path to the file containing the spectral emissivity coefficients. For details on the required file structure see also :ref:`reading_csv`. If not given, 1 - transmittance is used. * | **temp:** float, *optional* | The temperature of the lens for the thermal emission. * | **temp_unit:** str, *optional* | The unit of the lens' temperature. This has to be one of [``K``, ``Celsius``]. The default is ``K``. * | **obstruction:** float, *optional* | The obstruction factor of the lens as ratio of the areas A\ :sub:`obstructor` / A\ :sub:`lens`. * | **obstructor_temp:** float, *optional* | The temperature of the obstructing component for the thermal emission. * | **obstructor_temp_unit:** str, *optional* | The unit of the obstructing component's temperature. This has to be one of [``K``, ``Celsius``]. The default is ``K``. * | **obstructor_emissivity:** float, *optional* | The emissivity of the obstructing component for the thermal emission. Valid ranges are 0.0 - 1.0. The default is 1.0. BeamSplitter ------------ 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. .. code-block:: xml Attributes: * | **transmittance:** [str, float] | Either a floating point value for the transmittance or a path to the file containing the spectral transmittance coefficients. For details on the required file structure see also :ref:`reading_csv`. * | **emissivity:** str, *optional* | The path to the file containing the spectral emissivity coefficients. For details on the required file structure see also :ref:`reading_csv`. If not given, 1 - transmittance is used. * | **temp:** float, *optional* | The temperature of the beam splitter for the thermal emission. * | **temp_unit:** str, *optional* | The unit of the beam splitter's temperature. This has to be one of [``K``, ``Celsius``]. The default is ``K``. * | **obstruction:** float, *optional* | The obstruction factor of the beam splitter as ratio of the areas A\ :sub:`obstructor` / A\ :sub:`beam splitter`. * | **obstructor_temp:** float, *optional* | The temperature of the obstructing component for the thermal emission. * | **obstructor_temp_unit:** str, *optional* | The unit of the obstructing component's temperature. This has to be one of [``K``, ``Celsius``]. The default is ``K``. * | **obstructor_emissivity:** float, *optional* | The emissivity of the obstructing component for the thermal emission. Valid ranges are 0.0 - 1.0. The default is 1.0. Filter ------ 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. .. code-block:: xml .. code-block:: xml .. code-block:: xml Attributes: * | **transmittance:** [str, float] | Either a floating point value for the transmittance or a path to the file containing the spectral transmittance coefficients. For details on the required file structure see also :ref:`reading_csv`. * | **band:** str | The spectral Band of the filter. This has to be one of [``U``, ``B``, ``V``, ``R``, ``I``, ``J``, ``H``, ``K``, ``L``, ``M``, ``N``] * | **start:** float | The start wavelength of the pass band of the filter. * | **start_unit:** str | The unit of the start wavelength. This has to be one of [``m``, ``cm``, ``mm``, ``um``, ``nm``, ``pm``]. The default is ``m``. * | **end:** float | The end wavelength of the pass band of the filter. * | **end_unit:** str | The unit of the end wavelength. This has to be one of [``m``, ``cm``, ``mm``, ``um``, ``nm``, ``pm``]. The default is ``m``. * | **emissivity:** str, *optional* | The path to the file containing the spectral emissivity coefficients. For details on the required file structure see also :ref:`reading_csv`. If not given, 1 - transmittance is used. * | **temp:** float | The temperature of the beam splitter for the thermal emission. * | **temp_unit:** str, *optional* | The unit of the beam splitter's temperature. This has to be one of [``K``, ``Celsius``]. The default is ``K``. * | **obstruction:** float, *optional* | The obstruction factor of the beam splitter as ratio of the areas A\ :sub:`obstructor` / A\ :sub:`filter`. * | **obstructor_temp:** float, *optional* | The temperature of the obstructing component for the thermal emission. * | **obstructor_temp_unit:** str, *optional* | The unit of the obstructing component's temperature. This has to be one of [``K``, ``Celsius``]. The default is ``K``. * | **obstructor_emissivity:** float, *optional* | The emissivity of the obstructing component for the thermal emission. Valid ranges are 0.0 - 1.0. The default is 1.0.