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

<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. 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. All astropy units defined here can be used.

<tag_name val="10 s"/>
<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 Example Configuration.

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

The tag common groups common configuration parameters and is therefore mandatory.

wl_min

The minimal wavelength to consider in the computations.

<wl_min val="3" val_unit="um"/>
Attributes:
  • val: float
    The value of the minimal wavelength.
  • val_unit: str, optional = “m”
    The unit of the minimal wavelength. This has to be one of [m, cm, mm, um, nm, pm, Hz, kHZ, MHz, GHz, THz]. The default is m.

wl_max

The maximal wavelength to consider in the computations.

<wl_max val="5" val_unit="um"/>
Attributes:
  • val: float
    The value of the maximal wavelength.
  • val_unit: str, optional = “m”
    The unit of the maximal wavelength. This has to be one of [m, cm, mm, um, nm, pm, Hz, kHZ, MHz, GHz, THz]. The default is m.

wl_delta

optional – The wavelength grid size to be used for the computations.

<wl_delta val="5" val_unit="um"/>
Attributes:
  • val: float
    The value of the wavelength grid size.
  • val_unit: str, optional = “m”
    The unit of the wavelength grid size. This has to be one of [m, cm, mm, um, nm, pm, Hz, kHZ, MHz, GHz, THz]. The default is m.

res

optional – The spectral resolution to be used for the computations. The central wavelength as defined by the average of the parameters wl_min and wl_max will be used to compute the wavelength grid size.

<res val="1000" val_unit=""/>
Attributes:
  • val: float
    The value of the spectral resolution.
  • val_unit: str, optional = “”
    The unit of the spectral resolution. This has to be emtpy (dimensionless) or one of [m/s, km/s]. The default is dimensionless.

Note

Either wl_delta or res must be given in the configuration. This parameters controls the accuracy of the integration of spectral quantities which is necessary for example for the imaging detector. Therefore, the user has to balance between computational effort and precision.

d_aperture

The diameter of the telescope aperture.

<d_aperture val="2.3" val_unit="m"/>
Attributes:
  • val: float
    The value of the telescope aperture diameter.
  • val_unit: str, optional = “m”
    The unit of the telescope aperture diameter. This has to be one of [m, cm, mm, um, nm, pm]. The default is m.

psf

optional – The PSF used for the computations. This can be either read from a Zemax/FITS-file or approximated by a (obstructed) airy disk. In case of a FITS-file, the PSF must be included as a 2D map. The header keywords XPIXSZ and YPIXSZ can be used to define the grid size of the PSF in microns. Otherwise, the keyword PSFSCALE can be used to define the FOV per PSF pixel in arcsec/pixel. The keywords XPSFCTR and YPSFCTR can be used to define the center point of the PSF, if the PSF is not centered on the grid.

<psf type="Airy" osf="10" osf_unit=""/>
<psf type="FITS" val="data/psf.fits" osf="10" osf_unit=""/>
<psf type="Zemax" val="data/psf.txt" osf="10" osf_unit=""/>
Attributes:
  • type: str = “Airy”
    The PSF to be used for the computations. This can be either the path to a Zemax file or the keyword Airy to for an airy disk as PSF.
  • val: str
    The path to the file to be read.
  • osf: float = “10”
    The oversampling factor to be used to calculate the contained energy and the PSF with jitter.
  • osf_unit: str, optional = “”
    The unit of the oversampling factor. This has to be emtpy (dimensionless). The default is dimensionless.

jitter_sigma

optional – The pointing jitter sigma.

<jitter_sigma val="2" val_unit="arcsec"/>
Attributes:
  • val: float
    The value of the pointing jitter sigma.
  • val_unit: str, optional = “arcsec”
    The unit of the pointing jitter sigma. This has to be one of [arcsec, arcmin, degree, radians]. The default is arcsec.

output

optional – Output settings for the results of the computation (see also Output).

<output path="output" format="fits"/>
Attributes:
  • path: str = “.”
    The path to the output directory.
  • format: str = “CSV”
    The format to be used for outputting the signal and noise contributions. This has to be one of [FITS, CSV].

exposure_time

optional – The exposure time(s) for the computations.

<exposure_time val="0.1" val_unit="s"/>
<exposure_time val="0.1, 0.2, 0.3" val_unit="s"/>
<exposure_time val="data/exposure_time.csv"/>
Attributes:
  • val: (float, str)
    The exposure time(s) to be used for the computations. This can be either a single value, a comma separated list of values or the path to a CSV-file containing a single column of exposure time values. For details on the required file structure see also Reading CSV-Files.
  • val_unit: str, optional = “s”
    The unit of the exposure time. This has to be one of [ns, us, ms, s, min, h]. If the path to a file is provided, this parameter must be omitted. The default is s.

snr

optional – The signal to noise ration (SNR) for the computations.

<snr val="10" val_unit=""/>
<snr val="10, 20, 30" val_unit=""/>
<snr val="data/snr.csv"/>
Attributes:
  • val: (float, str)
    The SNR(s) to be used for the computations. This can be either a single value, a comma separated list of values or the path to a CSV-file containing a single column of SNR values. For details on the required file structure see also Reading CSV-Files.
  • val_unit: str, optional = “”
    The unit of the exposure time. This has to be emtpy (dimensionless). If the path to a file is provided, this parameter must be omitted. The default is dimensionless.

Note

The two parameters exposure_time and snr control the desired output of the computations. If only the exposure time is given, the corresponding signal to noise ration will be calculated and vice versa. If both the exposure time and the SNR is given as well as a black body target, the sensitivity will be calculated as limiting apparent magnitude.

Target

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 <astroscene>. Each target consists of the basic tag <target> and possible other target-type specific attributes. Each target can be either modelled as a point source or as an infinitely extended target. 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 parameters psf, jitter_sigma, and some instrument specific parameters.

<target type="BlackBodyTarget"/>
Attributes:

BlackBodyTarget

Model a target as a black body of a given temperature and apparent magnitude.

<target type="BlackBodyTarget" temp="5778" temp_unit="K" mag="10" mag_unit="mag" band="B" size="point" law="Planck"/>
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.
  • mag: float, optional = None
    The apparent magnitude of the black body in magnitudes. In case of None or magnitude per solid angle, an extended target is assumed.
  • mag_unit: str, optional = “mag”
    The unit of the black body’s magnitude. This has to be [mag, mag / arcsec**2, mag / sr]. The default is mag.
  • band: str, optional
    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].
  • law: str, optional
    The law used for the black body emission. This can be either Planck for using Planck’s law or RJ for using the Rayleigh-Jeans approximation of Planck’s law.

FileTarget

Create a target from a file containing the spectral flux densities or, in case of an extended source, the spectral radiance of the target.

<target type="FileTarget" val="PathToFile" size="point"/>
Attributes:
  • val: str
    The path to the file containing the spectral flux densities / radiances. For details on the required file structure see also Reading CSV-Files.

Optical components

Each optical component consists of the basic tag <optical_component> and the attribute type and possible other component-specific attributes.

<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.

<optical_component type="Atmosphere" transmittance="PathToTransmittanceFile" emission="PathToEmissionFile"/>
<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 Reading CSV-Files.
  • emission: str, optional
    The path to the file containing the spectral radiance of the emission. For details on the required file structure see also Reading CSV-Files.
  • 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.

<optical_component type="Atmosphere" transmittance="PathToATRANFile" temp="200" temp_unit="K"/>
<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.

<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 Reading CSV-Files.

CosmicBackground

This component allows to model generic black body noise sources like the cosmic background.

<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.

<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 Reading CSV-Files.
  • emissivity: str, optional
    The path to the file containing the spectral emissivity coefficients. For details on the required file structure see also Reading CSV-Files. 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 Aobstructor / Amirror.
  • 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.

<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 Reading CSV-Files.
  • emissivity: str, optional
    The path to the file containing the spectral emissivity coefficients. For details on the required file structure see also Reading CSV-Files. 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 Aobstructor / Alens.
  • 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.

<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 Reading CSV-Files.
  • emissivity: str, optional
    The path to the file containing the spectral emissivity coefficients. For details on the required file structure see also Reading CSV-Files. 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 Aobstructor / Abeam 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.

<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"/>
<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"/>
<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 Reading CSV-Files.
  • 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 Reading CSV-Files. 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 Aobstructor / Afilter.
  • 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.

Sensor

Currently, ESBO-ETC only supports detectors of the type Imager.

<sensor type="">
Attributes:
  • type: str
    The type of the detector. Has to be one of [Imager].

Imager

The Imager sensor type allows to model a generic imaging sensor which uses a pixel based array to create only spatially resolved images. The imager-component contains several parameters which are explained in the following.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
<sensor type="Imager">
    <f_number val="13" val_unit=""/>
    <pixel_geometry val="1024, 1024" val_unit="pix"/>
    <center_offset val="0.0, 0.0" val_unit="pix"/>
    <pixel>
        <quantum_efficiency val="data/ccd/QE.txt"/>
        <pixel_size val="6.5" val_unit="um"/>
        <dark_current val="0.6" val_unit="electron / (pix * s)"/>
        <sigma_read_out val="1.4" val_unit="electron(1/2) / pix"/>
        <well_capacity val="30000" val_unit="electron"/>
    </pixel>
    <photometric_aperture>
        <shape val="circle"/>
        <contained_energy val="80"/>
        <aperture_size val="100" val_unit="pix"/>
    </photometric_aperture>
</sensor>

f_number

The working focal number of the instrument.

<f_number val="13" val_unit=""/>
Attributes:
  • val: float
    The value of the working focal number of the instrument.
  • val_unit: str, optional = “”
    The unit of the working focal number of the instrument. This has to be emtpy (dimensionless).

pixel_geometry

The geometry of the sensor’s pixel array.

<pixel_geometry val="1024, 1024" val_unit="pix"/>
Attributes:
  • val: float
    The geometry of the sensor’s pixel array as a comma separated list of the number of pixels per dimension (X, Y).
  • val_unit: str, optional = “pix”
    The unit of the geometry of the sensor’s pixel array. This has to be pix.

center_offset

The PSF’s center offset from the arithmetical center of the detector array which is defined as half of the number of pixels per dimension as defined in pixel_geometry

<center_offset val="0.0, 0.0" val_unit="pix"/>
Attributes:
  • val: float
    PSF’s center offset as a comma separated list of the offset in pixels per dimension (X, Y).
  • val_unit: str, optional = “pix”
    The unit of the PSF’s center offset. This has to be pix.

pixel

The pixel-container contains parameters which apply to all pixels of the sensor array.

1
2
3
4
5
6
7
<pixel>
    <quantum_efficiency val="data/ccd/QE.txt"/>
    <pixel_size val="6.5" val_unit="um"/>
    <dark_current val="0.6" val_unit="electron / (pix * s)"/>
    <sigma_read_out val="1.4" val_unit="electron(1/2) / pix"/>
    <well_capacity val="30000" val_unit="electron"/>
</pixel>
quantum_efficiency

The quantum efficiency of a detector pixel.

<quantum_efficiency val="data/ccd/QE.txt"/>
Attributes:
  • val: (float, str)
    Either the value of the quantum efficiency or the path to the file containing the quantum efficiency values. For details on the required file structure see also Reading CSV-Files.
  • val_unit: str, optional = “electron / photon”
    The unit of the edge length of a detector pixel. This has to be electron / photon.
pixel_size

The spatial size of each detector pixel. Each pixel is assumed to be of quadratic.

<pixel_size val="6.5" val_unit="um"/>
Attributes:
  • val: float
    The value of the edge length of a detector pixel.
  • val_unit: str, optional = “m”
    The unit of the edge length of a detector pixel. This has to be one of [m, cm, mm, um, nm, pm]. The default is m.
dark_current

The dark current of a detector pixel.

<dark_current val="0.6" val_unit="electron / (pix * s)"/>
Attributes:
  • val: float
    The value of the dark current of a detector pixel.
  • val_unit: str, optional = “electron / (pix * s)”
    The unit of the dark current of a detector pixel. This has to be electron / (pix * s).
sigma_read_out

The read out noise of a detector pixel.

<sigma_read_out val="1.4" val_unit="electron(1/2) / pix"/>
Attributes:
  • val: float
    The value of the read out noise of a detector pixel.
  • val_unit: str, optional = “electron(1/2) / pix”
    The unit of the read out noise of a detector pixel. This has to be electron(1/2) / pix.
well_capacity

The well capacity of a detector pixel.

<well_capacity val="30000" val_unit="electron"/>
Attributes:
  • val: float
    The value of the well capacity of a detector pixel.
  • val_unit: str, optional = “electron”
    The unit of the well capacity of a detector pixel. This has to be electron.

photometric_aperture

optional

The photometric_aperture-container contains parameters for the photometric aperture of the observation. This container is only required, if the Target has the shape point.

1
2
3
4
5
<photometric_aperture/>
    <shape val="circle"/>
    <contained_energy val="80"/>
    <aperture_size val="100" val_unit="pix"/>
</photometric_aperture>
shape

The shape of the photometric aperture which will be placed around the center of the PSF which is defined by center_offset. After the radius of the photometric aperture was calculated using a disk for the given contained_energy, this radius will be used as radius or edge length of the photometric aperture shape.

<shape val="circle"/>
Attributes:
  • val: str
    The shape of the photometric aperture. This has to be one of [circle, square].
contained_energy

optional

The energy to be contained within the photometric aperture. This value will used for the computation of the radius of the photometric aperture.

<contained_energy val="80"/>
Attributes:
  • val: (float, str)
    The energy to be contained within the photometric aperture. This can be either the percentage of contained energy or one of [Peak, FWHM, Min].
aperture_size

optional

The radius respectively the edge length of the photometric aperture in pixels. If this parameter is given, the contained_energy parameter will be ignored.

<aperture_size val="100" val_unit="pix"/>
Attributes:
  • val: float
    The radius respectively the edge length of the photometric aperture.
  • val_unit: str, optional = “pix”
    The unit of the radius respectively the edge length of the photometric aperture. This has to be pix.

Heterodyne

The heterodyne sensor type allows to model a generic DSB heterodyne radio receiver which uses an local oscillator and an mixer to create spectral images. The heterodyne-component contains several parameters which are explained in the following. All parameters are defined according to the Guide to GREAT.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
<sensor type="Heterodyne">
    <aperture_efficiency val="0.55" val_unit=""/>
    <main_beam_efficiency val="0.67" val_unit=""/>
    <receiver_temp val="1050" val_unit="K"/>
    <eta_fss val="0.97" val_unit=""/>
    <lambda_line val="157.774" val_unit="um"/>
    <lambda_local_oscillator val="158" val_unit="um"/>
    <kappa val="1" val_unit=""/>
    <n_on val="10" val_unit=""/>
</sensor>

aperture_efficiency

The aperture efficiency of the instrument.

<aperture_efficiency val="0.55" val_unit=""/>
Attributes:
  • val: float
    The value of the aperture efficiency of the instrument.
  • val_unit: str, optional = “”
    The unit of the aperture efficiency of the instrument. This has to be emtpy (dimensionless).

main_beam_efficiency

The main beam efficiency of the instrument.

<main_beam_efficiency val="0.67" val_unit=""/>
Attributes:
  • val: float
    The value of the main beam efficiency of the instrument.
  • val_unit: str, optional = “”
    The unit of the main beam efficiency of the instrument. This has to be emtpy (dimensionless).

receiver_temp

The receiver’s noise temperature.

<receiver_temp val="1050" val_unit="K"/>
Attributes:
  • val: float
    The receiver’s noise temperature.
  • val_unit: str, optional = “K”
    The unit of the receiver temperature. This has to be on of [K, Celsius].

eta_fss

The forward scattering efficiency of the detector.

<eta_fss val="0.97" val_unit=""/>
Attributes:
  • val: float
    The forward scattering efficiency of the detector.
  • val_unit: str, optional = “”
    The unit of the forward scattering efficiency of the instrument. This has to be emtpy (dimensionless).

lambda_line

The wavelength or frequency of the observed line.

<lambda_line val="157.774" val_unit="um"/>
Attributes:
  • val: float
    The wavelength of the observed line.
  • val_unit: str, optional = “m”
    The unit of the observed line wavelength. This has to be on of [nm, um, mm, cm, m, Hz, kHZ, MHz, GHz, THz].

lambda_local_oscillator

The wavelength or frequency of the local oscillator. This parameter is optional. If no value is given, the noise temperature of the signal band is doubled.

<lambda_local_oscillator val="158" val_unit="um"/>
Attributes:
  • val: float
    The wavelength of the local oscillator.
  • val_unit: str, optional = “m”
    The unit of the local oscillator wavelength. This has to be on of [nm, um, mm, cm, m, Hz, kHZ, MHz, GHz, THz].

kappa

The instrument’s backend degradation factor.

<kappa val="1" val_unit=""/>
Attributes:
  • val: float
    The instrument’s backend degradation factor.
  • val_unit: str, optional = “”
    The unit of the backend degradation factor. This has to be emtpy (dimensionless).

n_on

The number of on-source observations per off-source observation.

<n_on val="10" val_unit=""/>
Attributes:
  • val: float
    The number of on-source observations per off-source observation.
  • val_unit: str, optional = “”
    The unit of the number of on-source observations per off-source observation. This has to be emtpy (dimensionless).

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 Configuration

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<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>
        <target type="BlackBodyTarget" temp="5778" temp_unit="K" mag="10" mag_unit="mag" band="B"
                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>