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: floatThe 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 ism
.
wl_max¶
The maximal wavelength to consider in the computations.
<wl_max val="5" val_unit="um"/>
- Attributes:
- val: floatThe 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 ism
.
wl_delta¶
optional – The wavelength grid size to be used for the computations.
<wl_delta val="5" val_unit="um"/>
- Attributes:
- val: floatThe 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 ism
.
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: floatThe 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 isdimensionless
.
d_aperture¶
The diameter of the telescope aperture.
<d_aperture val="2.3" val_unit="m"/>
- Attributes:
- val: floatThe 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 ism
.
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: strThe 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: floatThe 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 isarcsec
.
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 iss
.
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:
- type: strThe type of the target. Currently, only BlackBodyTarget and FileTarget are supported.
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: floatThe 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 isK
. - mag: float, optional = NoneThe 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 ismag
. - band: str, optionalThe 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, optionalThe law used for the black body emission. This can be either
Planck
for using Planck’s law orRJ
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: strThe 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: strThe 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: strThe path to the file containing the spectral transmittance coefficients. For details on the required file structure see also Reading CSV-Files.
- emission: str, optionalThe 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, optionalThe 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: strPath to a file containing the output of ATRAN.
- altitude: floatThe 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: floatThe 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: floatThe 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, optionalThe 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, optionalThe 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, optionalThe number of atmospheric layers for the call to ATRAN.
- zenith_angle: float, optionalThe 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, optionalThe resolution for smoothing for the call to ATRAN (0 for no smoothing).
- temp: float, optionalThe 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, optionalThe 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: floatThe 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 isK
. - emissivity: float, optionalThe 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, optionalThe 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, optionalThe temperature of the mirror for the thermal emission.
- temp_unit: str, optionalThe unit of the mirror’s temperature. This has to be one of [
K
,Celsius
]. The default isK
. - obstruction: float, optionalThe obstruction factor of the mirror as ratio of the areas Aobstructor / Amirror.
- obstructor_temp: float, optionalThe temperature of the obstructing component for the thermal emission.
- obstructor_temp_unit: str, optionalThe unit of the obstructing component’s temperature. This has to be one of [
K
,Celsius
]. The default isK
. - obstructor_emissivity: float, optionalThe 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, optionalThe 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, optionalThe temperature of the lens for the thermal emission.
- temp_unit: str, optionalThe unit of the lens’ temperature. This has to be one of [
K
,Celsius
]. The default isK
. - obstruction: float, optionalThe obstruction factor of the lens as ratio of the areas Aobstructor / Alens.
- obstructor_temp: float, optionalThe temperature of the obstructing component for the thermal emission.
- obstructor_temp_unit: str, optionalThe unit of the obstructing component’s temperature. This has to be one of [
K
,Celsius
]. The default isK
. - obstructor_emissivity: float, optionalThe 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, optionalThe 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, optionalThe temperature of the beam splitter for the thermal emission.
- temp_unit: str, optionalThe unit of the beam splitter’s temperature. This has to be one of [
K
,Celsius
]. The default isK
. - obstruction: float, optionalThe obstruction factor of the beam splitter as ratio of the areas Aobstructor / Abeam splitter.
- obstructor_temp: float, optionalThe temperature of the obstructing component for the thermal emission.
- obstructor_temp_unit: str, optionalThe unit of the obstructing component’s temperature. This has to be one of [
K
,Celsius
]. The default isK
. - obstructor_emissivity: float, optionalThe 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: strThe spectral Band of the filter. This has to be one of [
U
,B
,V
,R
,I
,J
,H
,K
,L
,M
,N
] - start: floatThe start wavelength of the pass band of the filter.
- start_unit: strThe unit of the start wavelength. This has to be one of [
m
,cm
,mm
,um
,nm
,pm
]. The default ism
. - end: floatThe end wavelength of the pass band of the filter.
- end_unit: strThe unit of the end wavelength. This has to be one of [
m
,cm
,mm
,um
,nm
,pm
]. The default ism
. - emissivity: str, optionalThe 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: floatThe temperature of the beam splitter for the thermal emission.
- temp_unit: str, optionalThe unit of the beam splitter’s temperature. This has to be one of [
K
,Celsius
]. The default isK
. - obstruction: float, optionalThe obstruction factor of the beam splitter as ratio of the areas Aobstructor / Afilter.
- obstructor_temp: float, optionalThe temperature of the obstructing component for the thermal emission.
- obstructor_temp_unit: str, optionalThe unit of the obstructing component’s temperature. This has to be one of [
K
,Celsius
]. The default isK
. - obstructor_emissivity: float, optionalThe 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: strThe 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: floatThe 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: floatThe 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: floatPSF’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: floatThe 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 ism
.
dark_current¶
The dark current of a detector pixel.
<dark_current val="0.6" val_unit="electron / (pix * s)"/>
- Attributes:
- val: floatThe 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: floatThe 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: floatThe 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: strThe 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: floatThe 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: floatThe 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: floatThe 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: floatThe 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: floatThe 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: floatThe 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: floatThe 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: floatThe 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: floatThe 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>
|