Gateau User Manual
Atmospheric simulation of astronomical signals
Public Simulator Reference

These simulator functions are used to set up and run simulations in gateau. More...

Functions

None gateau.simulator.simulator.initialise (self, float t_obs, float az0, float el0, Callable scan_func, dict[str, any] instrument_dict, dict[str, any] telescope_dict, dict[str, any] atmosphere_dict, dict[str, any] source_dict, Union[list[dict[str, any]], str] cascade_list, str cascade_yaml="cascade.yaml")
 Initialise a gateau setup. More...
 
None gateau.simulator.simulator.run (self, Union[str, Path] outname="out", bool overwrite=False, str outscale="Tb", int seed=0, bool use_photon_noise=True, bool use_rad_trans=True, bool use_pink_noise=None)
 Run a gateau simulation. More...
 

Detailed Description

These simulator functions are used to set up and run simulations in gateau.

Function Documentation

◆ initialise()

None gateau.simulator.simulator.initialise (   self,
float  t_obs,
float  az0,
float  el0,
Callable  scan_func,
dict[str, any]  instrument_dict,
dict[str, any]  telescope_dict,
dict[str, any]  atmosphere_dict,
dict[str, any]  source_dict,
Union[list[dict[str, any]], str]  cascade_list,
str   cascade_yaml = "cascade.yaml" 
)

Initialise a gateau setup.

THis function needs to be called before running a simulation. Here, a lot of intermediary user-supplied quantities are converted into quantities used by gateau.

Parameters
t_obsTotal observation time for simulation, in seconds.
az0Central azimuth value for the scan pattern, in degrees.
el0Central elevation value for the scan pattern, in degrees.
scan_funcFunction handle of the function defining the scan pattern. First argument must be a Numpy array consisting of timestamps. Second and third argument must be scalars or Numpy arrays containing central azimuth and elevation values, respectively.
instrument_dictDictionary containing instrument specification.
telescope_dictDictionary containing telescope specification.
atmosphere_dictDictionary containing atmosphere specification.
source_dictDictionary containing source specification.
cascade_listList containing the cascade to be used. Can also be a string containg the path to the folder containing a cascade .yaml file.
cascade_yamlName of .yaml file containing cascade. Only used if 'cascade_list' is a string containing a folder with a cascade .yaml. Defaults to 'cascade.yaml'.
Returns
Dictionary containing the aperture efficiency and atmospheric transmission. The latter is evaluated using the PWV0 supplied in the atmosphere dictionary. Both quantities are averaged over the spectral shape of each channel. The dictionary is only returned when 'return_full' is True.

◆ run()

None gateau.simulator.simulator.run (   self,
Union[str, Path]   outname = "out",
bool   overwrite = False,
str   outscale = "Tb",
int   seed = 0,
bool   use_photon_noise = True,
bool   use_rad_trans = True,
bool   use_pink_noise = None 
)

Run a gateau simulation.

This is the main routine of gateau and should be called after filling all dictionaries and running the 'initialise' method. The last three arguments starting with 'use_...' are useful for debugging or characterisation of gateau. For regular simulations, these should not be changed.

Parameters
outnameName of output hdf5 file. If a path, will place output in the path. Defaults to 'out', which will place the output in 'out.hdf5' in your working directory.
overwriteWhether to overwrite existing output directories. If False (default), a prompt will appear to either overwrite or terminate simulation.
outscaleStore output in brightness temperature [K] or power [W]. Accepts "Tb" or "P". Defaults to "Tb".
seedSeed for photon and pink noise generation. Defaults to 0, which will internally be converted to a random seed using the current time.
use_photon_noiseEnable photon noise calculation. Useful for debugging. Defaults to True, which enables photon noise.
use_rad_transEnable radiative transfer to calculate received power from sky. Defaults to True, which enables the radiative transfer.
use_pink_noiseEnable pink noise calculation. This toggle is extra, because setting the "pink_level" field in the instrument dictionary already decides whether or not to use pink noise. This toggle is just here to explicitly enable/disable it, even when the field is set. Defaults to None, which will leave the decision whether or not to enable pink noise to whether or not the "pink_level" field is filled.