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

Union[None, dict[str, any]] gateau.simulator.simulator.initialise (self, float t_obs, float az0, float el0, Union[Callable, list[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", bool return_full=False)
 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)
 Run a gateau simulation. More...
 

Detailed Description

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

Function Documentation

◆ initialise()

Union[None, dict[str, any]] gateau.simulator.simulator.initialise (   self,
float  t_obs,
float  az0,
float  el0,
Union[Callable, list[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",
bool   return_full = False 
)

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 (first) scan pattern, in degrees.
el0Central elevation value for the (first) 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. The 'scan_func' argument can also be a list of function handles. In this case, the first function in the list is evaluated using az0 and el0 as supplied to this function. Then, the output is passed to the next function handle in the list.
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'.
return_fullBoolean determining whether extra output is returned. This extra output might be useful when you want to process the actual gateau output further. Defaults to False.
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 
)

Run a gateau simulation.

This is the main routine of gateau and should be called after filling all dictionaries and running the 'initialise' method.

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.