Parameter files explained¶
Introduction¶
To run tiptop you need two things: to execute the function and to create a parameter file. This section explaines what should your parameter file contain and the various parameters you can set. You can already find example parameter files in the github .
The parameter files are divided in sections and they can contain multiple parameter. It is very important that each parameter be placed in the appropriate section. The section starts with its name between ‘[]’ and ends either with the end of file or with the next section. The order they are placed in the file does not matter.
The mandatory sections and their content are:
Note
In the current state if the parameter file is not found there won’t be an error message and the code will do something. It is unclear what the code does in that case.
[telescope]¶
- TelescopeDiameter¶
Required, type : float, Set the outer diameter of the telescope pupil in unit of meters.
- ObscurationRatio¶
Required?, type : float, Defines the central obstruction due to the secondary as a ratio of the TelescopeDiameter
- Resolution¶
Required, type : int, Number of pixels across the pupil diameter
- ZenithAngle¶
Optional, type : float, Default: 0.0, Set the pointing direction of the telescope in degree
- TechnicalFoV¶
Optional, type : float, default: ‘’, set the size of the technical field of view
- PathPupil¶
Optional, type : str, default: ‘’, path to the pupil model in .fits file (if provided, the pupil model is interpolated).if absent or ‘’, not used
- PathStaticOn¶
Optional, type : str, default: ‘’, path to a map of static aberrations (nm) in .fits file. if absent or ‘’, not used
- PathStaticOff¶
Optional, type : str, default: ‘’, No clue what this does. if absent or ‘’, not used
- PathStaticPos¶
Optional, type : str, default: ‘’, No clue
- PathApodizer¶
Optional, type : str, default: ‘’, Path to a fits file that contain a binary map corresponding to a pupil apodizer (TBC). if absent or ‘’, not used
- PathStatModes¶
Optional, type : str, default: ‘’, path to a .fits file that contain a cube of map of mode in amplitude which lead to a rms of 1 in nanometer of static aberation. if absent or ‘’, not used. Unsure how this works.
- coeficientOfTheStaticMode¶
Optional, type : str, default: ‘’, place holder (TBC) need to find how does the pathStatModes fits file work.
[atmosphere]¶
- Seeing¶
Required, type : float, Set the seeing at Zenith in arcsec. Might need fixing. seeing looks like it is converted to R0
- Wavelength¶
Optional, type : float, Default : 500e-9, Wavelength of definition of the atmosphere statistics
- L0¶
Optional, type : float, Default : 25.0, Outer Scale of the atmosphere in meters
- Cn2Weights¶
Optional, type : list of float, Default : [1], Relative contribution of each layer. The sum of all the list element must be 1. Must have the same length as
Cn2Heights,WindSpeedandWindDirection.
- Cn2Heights¶
Optional, type : list of float, Default : [0.0], altitude of layers in meters. Must have the same length as
Cn2Weights,WindSpeedandWindDirection.
- WindSpeed¶
Optionnal, Type : list of float, Default : [0.0], Wind speed values for each layer in m/s. Must have the same length as
Cn2Weights,Cn2HeightsandWindDirection.
- WindDirection¶
Optionnal, Type : list of float, Default : [0.0], wind direction for each layer in degrees. 0 degree is ?? then anticlockwise. Must have the same length as
Cn2Weights,Cn2HeightsandWindSpeed.
- r0_Value¶
Optionnal, type : float, set the atmospere Fried parameter. Might need fixing. temporary use:
R0_Value=0 and the seeing to the wanted value.
- testWindspeed¶
Optionnal, type : float, test variable that should not be here? Required at the moment, for LO (which requires it) because the LO requires the average windspeed. If set to zero takes the average of WindSpeed weighted by the Cn2Weights.
[sources_science]¶
- Wavelength¶
Required, Type : list of float or float, list of central wavelengths for each frame in meters. you can have more than one science target. needs explaining why the science sources can be multiple. (polychromatic? several targets? you can set many taget of the same wavelength by only setting more than one Zenith and Azimuth but leaving the wavelength as a float. It produces one PSF per target. The number of PSF is the number of wavelength times the number of Azimuth/Zenith couple.
- Zenith¶
Required?, Type : list of float, Zenithal coordinate in arcsec of Wavelength sources given in
Wavelength. Must be the same length asAzimuth
- Azimuth¶
Required?, Type : list of float, Azimuthal coordinate in degree of Wavelength sources given in
Wavelength. Must be the same length asZenith
[sources_HO]¶
Typically the wavelength is the same for all guide star (at least in Laser guide star)
- Wavelength¶
Required, type : float, Sensing wavelength for Hight Order modes in meters
- Zenith¶
Required?, Type : list of float, Zenithal coordinate of each guide stars in arcsec. Must be the same length as
Azimuth
- Azimuth¶
Required?, Type : list of float, Azimuthal coordinate in degree of each guide stars. Must be the same length as
Zenith
- Height¶
Optional, Type : float, Default : 0.0, altitude of the guide stars (0 if infinite). Consider that all guide star are at the same heigh.
[sources_LO]¶
- Wavelength¶
Required, type : float, Sensing wavelength for Low Order modes in meters
- Zenith¶
Required?, Type : list of float, Zenithal coordinate of each guide stars in arcsec. Must be the same length as
Azimuth
- Azimuth¶
Required?, Type : list of float, Azimuthal coordinate in degree of each guide stars. Must be the same length as
Zenith
[sensor_science]¶
- PixelScale¶
Required, type : float, pixel/spaxel scale in mili arcsec
- FieldOfView¶
Required?, type : float, Default : 150, Field of view of the camera in pixel/spaxel. need confirmation on the optionality of this paramiter.
We have examples of the following parameters being set but we do not understand if they are used in the science sensor case. (none of these are used for the science detector, initialised for one specific class but has no effect.). Binning = 1 NumberPhotons = [1500] SpotFWHM = [[0.0, 0.0, 0.0]] SpectralBandwidth = 0 Transmittance = [1.0] Dispersion = [[0.0],[0.0]] SigmaRON = [0.1] Dark = 0.0 SkyBackground = 0.0 Gain = 1.0 ExcessNoiseFactor = 1.0 Wavelength = [0.55e-06] if the wavelength is specified here it is ignored. FieldOfView = 1024
[sensor_HO]¶
Used regardless of the WFS, desired behaviour,
- NumberLenslets¶
Required, type: list of int, Number of WFS lenslets. Used the same way in Shack-Hartmann wavefront sensor and Pyramid. Also used for noise computation if NoiseVariance is not set.
- SizeLenslets¶
Required, type: list of float, Size of WFS lenslets in meters. used, why a list of float? This overrides the ratio between telescope size and Number of lenslet used to compute the matrix size.
Shack-Hartmann requirement
- PixelScale¶
Required, type: int, High Order WFS pixel scale in [mas], unclear what are the units if we chose a pyramid wavefront sensor
- FieldOfView¶
Required, type: int, Number of pixels on the detector. TODOI : change this behaviour as it makes no sense. Guido found that this is divided by NumberLenslet. Used for the noise.
- NumberPhotons¶
Required, type: list of int, Flux return in [nph/frame/subaperture]
- SigmaRON¶
Required, type: float, read-out noise std in [e-], used only if the NoiseVariance is not set.
- WfsType¶
Optional, type: str, default : ‘Shack-Hartmann’, type of wavefront sensor used for the High Order sensing
- Modulation¶
Optional, type: float, default : None, If the chosen wavefront sensor is the
'Pyramid', Spot modulation radius in lambda/D units. This is gnored if the WFS is ‘Shack-Hartmann’
- Binning = 1¶
Optional, type: int, default: 1, Binning factor of the detector, only used in the pyramid case, optionnal for pyramid
- SpotFWHM¶
Optional, type: list of list of float, defaut: [[0.0, 0.0, 0.0]], Not used High Order spot scale in mili arcsec. Why list of list and why three?
- SpectralBandwidth¶
Optional, type: float, default: 0.0, Not used Spectral bandwidth of the filter (imaging mode)? why specific to the imaging mode? what is the effect?
- Transmittance = [1.0]¶
Optional, type: list of float, default: [1.0], Used for PSF computation and flux scaling but not with noise computation Transmittance at the considered wavelengths for polychromatic mode. How do you set polychromatic mode? Each element can not have a value superior to 1?
- Dispersion = [[0.0],[0.0]]¶
Optional, type: apparently list of list of float?, default: [[0.0,0.0]], Dispersion x/y at the considered wavelength in pixel. Must be the same size than
Transmittance. Chromatic dispertion for PSF computation only. In HarmoniSCAO_1 first the default and the thing given are not even the same shape but on top the default breaks the must be the same size as the transmitance… Also sorry for my ignorance: dispersion of what? Isn’t this maybe redundant with SpotFWHM ?
- Dark¶
Optional, type: float, default: 0.0, not used dark current in [e-/s/pix]
- SkyBackground¶
Optional, type: float, default: 0.0, not used Sky background [e-/s/pix]
- Gain¶
Optional, type: float, default:1.0, used Pixel gain. do you mean camera gain?
- ExcessNoiseFactor¶
Optional, type: float, default: 2.0, used excess noise factor. Why the hell would you by default have excess noise?
- NoiseVariance¶
Optional, type: unknown, Default : None?, Noise Variance in rd2. If not empty, this value overwrites the analytical noise variance calculation.
- Algorithm¶
Optional, type: str, defaut:’wcog’, not used, even if it actually has a default value. The default seems to be normal center of gravity. CoG computation algorithm, What are the other options?
- WindowRadiusWCoG¶
Optional, type: int?, default: 2, not used Number of pixels for ?windiwing? the low order WFS pixels
- ThresholdWCoG¶
Optional, type: float?, default: 0.0, not used Threshold Number of pixels for windowing the low order WFS pixels
- NewValueThrPix¶
Optional, type: float, default: 0.0, not used, New value for pixels lower than ThresholdWCoG. Is there a reason to want to force these values to something else?
[sensor_LO]¶
- PixelScale¶
Required, type: float, LO WFS pixel scale in [mas]
- FieldOfView¶
Required, type: int, not used. Number of pixels per subaperture
- NumberPhotons¶
Required, type: list of int, detected flux in [nph/frame/subaperture] Must be the same length as NumberLenslet
- NumberLenslets¶
Required, type: list of int, number of WFS lenslets Must be the same length as NumberPhotons
- Binning¶
Optional, type: int, default: 1, not used binning factor of the detector
- SpotFWHM¶
Optional, type: list of list of int, default: [[0.0, 0.0, 0.0]], not used Low Order spot scale in [mas]
- SigmaRON¶
Optional, type: float, default: 0.0, read out noise in [e-]
- Dark¶
Optional, type: float, default: 0.0, dark current[e-/s/pix]
- SkyBackground¶
Optional, type: float, default: 0.0, sky background [e-/s/pix]
- Gain¶
Optional, type: float, default: 1.0, not used camera gain
- ExcessNoiseFactor¶
Optional, type: float, default: 2.0, excess noise factor
- Algorithm¶
Optional, type: str, default: ‘wcog’, not used CoG computation algorithm
- WindowRadiusWCoG¶
Optional, type: int, default: 1,2 used instead of field of view Number of pixels for windiwing the low order WFS pixels
- ThresholdWCoG¶
Optional, type: float, default: 0.0, Threshold Number of pixels for windowing the low order WFS pixels
- NewValueThrPix¶
Optional, type: float, default: 0.0, New value for pixels lower than threshold.
[DM]¶
- NumberActuators¶
Required, type: list of int, not used Number of actuator on the pupil diameter. why a list of int? Must be the same length as DmPitchs
- DmPitchs¶
Required, type: list of float, DM actuators pitch in meters, on the meta pupil at the conjugasion altitude, used for fitting error computation. Must be the same length as NumberActuators?
- InfModel = 'gaussian'¶
Optional, type: str, default: ‘gaussian’, DM influence function model. Not used in tiptop but used in the psf reconstruction. What are the other possible one?
- InfCoupling¶
Optional, type: list of float, default: 0.0, DM influence function model mechanical coupling. used in the psf reconstruction. Unclear to me what this does. Must be the same length as NumberActuators?
- DmHeights¶
Optional, type: list of float, default: [0.0], DM altitude in meters Must be the same length as NumberActuators and DmPitchs
- OptimizationZenith¶
Optional, type: float, default: [0.0], Zenith position in arcsec of the direction in which the AO correction is optimized. Must be the same length as OptimisationAzimuth and OptimizationWeight These are for wide field AO system, should be a requirement for MCAO and GLAO
- OptimizationAzimuth¶
Optional, type: list of float, default: [0.0], Azimuth in degrees of the direction in which the AO correction is optimized Must be the same length as OptimizationZenith and OptimizationWeight These are for wide field AO system, should be a requirement for MCAO and GLAO
- OptimizationWeight¶
Optional, type: float, default: [1.0], Weights of the optimisation directions Must be the same length as OptimizationZenith and OptimizationAzimuth These are for wide field AO system, should be a requirement for MCAO and GLAO
- OptimizationConditioning¶
Optional, type: float, default: 1.0e2, Matrix Conditioning threshold in the truncated SVD inversion.
- NumberReconstructedLayers¶
Optional, type: int, default: 10, Only used for wide field AO system, (meaning more than one guide star is defined) Number of reconstructed layers for tomographic systems. Shouldn’t this be defaulted to 1 for SCAO sakes?
- AoArea¶
Optional, type: str, default: ‘circle’, Shape of the AO-corrected area. Any other options are not defined and will give a squarre correction area.
[RTC]¶
- LoopGain_HO¶
Required, type: float, High Order Loop gain
- SensorFrameRate_HO¶
Required, type: float, High Order loop frequency in [Hz]
- LoopDelaySteps_HO¶
Required, type: int, High Order loop delay in [frame]
- LoopGain_LO¶
Optional, type: float?, default: None, not used, auto matically optimized by tiptop. Low Order loop gain
- SensorFrameRate_LO¶
Optional, type: float, default: None, Loop frequency in [Hz]
- LoopDelaySteps_LO¶
Optional, type: int, default: None, Low Order loop delays in [frames]