ESBO-ETC/docs/source/configuration/optical_components.rst

239 lines
13 KiB
ReStructuredText

Each optical component consists of the basic tag ``<optical_component>`` and the attribute ``type`` and possible other
component-specific attributes.
.. code-block:: xml
<optical_component type="Mirror"/>
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.
The atmospheric transmittance is read from a CSV file.
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
<optical_component type="Atmosphere" transmittance="PathToTransmittanceFile" emission="PathToEmissionFile"/>
.. code-block:: xml
<optical_component type="Atmosphere" transmittance="PathToTransmittanceFile" temp="200" temp_unit="K"/>
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`.
* | **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.
ATRAN
----------
This component uses the atmospheric transmission calculator ATRAN to model the behaviour of the atmosphere
It is possible to read the transmittance of the atmosphere from an output file of ATRAN or call the webversion of ATRAN to compute the transmission profile.
The atmospheric emission is computed as a grey body radiator of a given temperature and emissivity = 1 - transmission.
.. code-block:: xml
<optical_component type="Atmosphere" transmittance="PathToATRANFile" temp="200" temp_unit="K"/>
.. code-block:: xml
<optical_component type="Atmosphere" altitude="41000" altitude_unit="ft" wl_min="16" wl_min_unit="um"
wl_max="24" wl_max_unit="um" latitude="39" latitude_unit="degree" water_vapor="0"
water_vapor_unit="um" n_layers="2" zenith_angle="0" zenith_angle_unit="degree" resolution="0"
temp="240" temp_unit="K"/>
Attributes:
* | **transmittance:** 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).
* | **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
<optical_component type="StrayLight" emission="PathToEmissionFile"/>
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
<optical_component type="CosmicBackground" temp="2.7" temp_unit="K" emissivity="1.0"/>
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
<optical_component type="Mirror" reflectance="PathToReflectance" emissivity="PathToEmissivity" temp="70" temp_unit="K" obstruction="0.2" obstructor_temp="70" obstructor_temp_unit="K" obstructor_emissivity="0.9"/>
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
<optical_component type="Lens" transmittance="PathToTransmittance" emissivity="PathToEmissivity" temp="70" temp_unit="K" obstruction="0.2" obstructor_temp="70" obstructor_temp_unit="K" obstructor_emissivity="0.9"/>
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
<optical_component type="BeamSplitter" transmittance="PathToTransmittance" emissivity="PathToEmissivity" temp="70" temp_unit="K" obstruction="0.2" obstructor_temp="70" obstructor_temp_unit="K" obstructor_emissivity="0.9"/>
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
<optical_component type="Filter" transmittance="PathToTransmittance" emissivity="PathToEmissivity" temp="70" temp_unit="K" obstruction="0.2" obstructor_temp="70" obstructor_temp_unit="K" obstructor_emissivity="0.9"/>
.. code-block:: xml
<optical_component type="Filter" band="M" emissivity="PathToEmissivity" temp="70" temp_unit="K" obstruction="0.2" obstructor_temp="70" obstructor_temp_unit="K" obstructor_emissivity="0.9"/>
.. code-block:: xml
<optical_component type="Filter" start="400" start_unit="nm" end="480" end_unit="nm" emissivity="PathToEmissivity" temp="70" temp_unit="K" obstruction="0.2" obstructor_temp="70" obstructor_temp_unit="K" obstructor_emissivity="0.9"/>
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.