Inputs

MeqSilhouette accepts as inputs various telescope, sky, and observation parameters in different formats. The master input file is a JSON parset containing many input parameters. Sample input files and settings can be found in the data subdirectory. Each input file type is explained in detail below.

JSON parset file

The input parset file is in JSON format with parameters that are loosely grouped into the following sets:

  • General I/O parameters

  • Measurement Set (MS) parameters (prefixed ms_)

  • Imaging parameters (prefixed im_)

  • Tropospheric parameters (prefixed trop_)

  • Antenna pointing error parameters (prefixed pointing_)

  • Bandpass corruption parameters (prefixed bandpass_)

Parameters in JSON parset file

Parameter

Type

Units

Explanation

outdirname

string

Output directory with absolute or relative path. Must be writable.

input_fitsimage

string

Directory containing sky models in FITS image format or ASCII/Tigger-LSM file containing the source list with absolute or relative path. See Sky models.

input_fitspol

bool

Indicate that the FITS sky models are polarised. Used only when input_fitsimage is a directory containing FITS sky models.

input_changroups

int

The number of groups into which the total number of frequency channels must be divided. Used only when input_fitsimage is a directory containing FITS sky models. Must be equal to the number of frequencies for which the FITS files are present.

output_to_logfile

bool

Write output messages to logfile instead of to the terminal.

add_thermal_noise

bool

Add baseline-dependent thermal noise, calculated using station SEFDs obtained from station_info file.

exportuvfits

bool

Export MS to UVFITS format.

station_info

string

Name of the file containing individual station information such as SEFD, coherence time, primary beam model etc., with absolute or relative path. See Station and site information.

bandpass_enabled

bool

Add complex bandpass corruptions.

bandpass_table

string

Name of the ASCII file containing bandpass gain amplitudes for each station for a set of frequencies with absolute or relative path. Each line consists of the station name and a string containing the bandpass amplitude for both polarisations in the format (bpass_ampl_pol1, bpass_ampl_pol2) for each representative frequency. Each column represents a frequency value in GHz. The phases are generated randomly between -30 and +30 degrees.

bandpass_freq_interp_order

int

Order of spline interpolation. Integer between 1 and 5.

bandpass_makeplots

bool

Generate bandpass plots.

elevation_limit

double

radians

Flag visibilities below this elevation limit.

corr_quantbits

int

Number of bits used for quantisation by the correlator (e.g. 2 for four levels). Used to compute correlator efficiency.

predict_oversampling

int

Oversampling factor to improve the accuracy of forward modelling with WSClean. Must be an odd number (e.g. 8191).

predict_seed

int

Seed for random number generation for realising corruptions, except the atmosphere. Set to -1 to disable reproducible realisations.

atm_seed

int

Seed for random number generation for realising the atmosphere. Set to -1 to disable reproducible realisations.

ms_antenna_table

string

Name of CASA ANTENNA table to use for creating the MS, with absolute or relative path.

ms_datacolumn

string

Name of the MS column to write the output visibilities to. Commonly used values are ‘DATA’, ‘CORRECTED_DATA’, or ‘MODEL_DATA’.

ms_RA

double

degrees

Right Ascension of the pointing centre of the observation.

ms_DEC

double

degrees

Declination of the pointing centre of the observation.

ms_polproducts

string

Specify the polarisation feed type in CASA recognisable format (e.g. ‘RR RL LR LL’ or ‘XX XY YX YY’).

ms_nu

double

GHz

Centre frequency of the bandpass.

ms_dnu

double

GHz

Bandwidth of the spectral window.

ms_nchan

int

Number of channels.

ms_obslength

double

hours

Duration of the observation.

ms_tint

double

seconds

Integration time.

ms_StartTime

string

Starting time of the observation (e.g. ‘UTC,2017/04/01/00:00:00.00’).

ms_nscan

int

Number of scans in the observation.

ms_scan_lag

double

hours

DEPRECATED. Left intact for backward compatibility.

ms_makeplots

bool

Generate plots of the data such as uv-coverage and uv-distance sensitivity bins.

ms_correctCASAoffset

bool

In a two-step process, correct for the spurious offset introduced by CASA to the start-time of the observation. Simulate an MS of the same duration as the required observation (but with a much longer integration time) to calculate this offset and adjust the start-time by this value to create an MS that starts at the required time.

make_image

bool

Make dirty image using lwimager. The im_ parameters are used only when this parameter is True.

im_cellsize

multi

Cell size to be used for imaging with units (e.g. ‘3e-6arcsec’).

im_npix

int

pixels

Image size.

im_stokes

string

Stokes parameter to image. Allowed values are ‘I’, ‘Q’, ‘U’, or ‘V’.

im_weight

string

Weighting scheme to use for imaging. Allowed values are ‘uniform’, ‘natural’, or ‘briggs’.

trop_enabled

bool

Enable corruptions by the troposphere. The other trop_ parameters are used only when this parameter is True.

trop_wetonly

bool

Simulate only the wet component (i.e. the component due to water vapour).

trop_attenuate

bool

Enable attenuation by the troposphere.

trop_noise

bool

Include sky noise from the troposphere.

trop_turbulence

bool

Add Kolmogorov turbulence to the simulated visibility phases.

trop_mean_delay

bool

Add mean (i.e. non-turbulent) delays due to the mean tropospheric component (both dry and wet).

trop_percentage_calibration_error

float

DEPRECATED. Left intact for backward compatibility.

trop_fixdelays

bool

Insert time-invariant delays computed by taking the mean over the spectral window.

trop_fixdelay_max_picosec

int

picoseconds

DEPRECATED. Maximum absolute value of the constant delays generated when trop_fixdelays=True in picoseconds. Used mainly for testing specific calibration experiments such as fringe-fitting. Regardless of the value of this parameter, the delays are computed by averaging over a spectral window.

trop_makeplots

bool

Generate troposphere-related plots such as zenith opacity, elevation-dependent transmission, zenith sky temperature, and turbulent phase errors and delays.

pointing_enabled

bool

Enable pointing errors. The other pointing_ parameters are used only when this parameters is True.

pointing_time_per_mispoint

float

minutes

Generate new pointing error per station every this minute.

pointing_makeplots

bool

Generate pointing offset-related plots.

uvjones_g_on

bool

Add time-varying station-based complex gains (G-Jones). The per-station values to be used to generate the gains are read from the station_info file.

uvjones_d_on

bool

Add instrumental polarisation. Polarisation leakage (D-Jones) and parallactic angle rotation (P-Jones) are added. The per-station values to be used to generate the leakage values are read from the station_info file.

parang_corrected

bool

Indicate if the correction for parallactic angle rotation has already been made. If True, rotate the visibilities by twice the field angle. If False, perform parallactic angle rotation correction before introducing polarisation leakage (D-Jones) (Leppanen et al. 1995).

Sky models

The parameter input_fitsimage points to sky models in one of three formats that are recognisable by MeqSilhouette.

FITS format

Sky models in FITS format are forward-modelled using WSClean under the hood. The directory pointed to by input_fitsimage must contain all FITS files that constitute the sky model, named according to the following convention:

  • If there is no time-variability or polarisation, then input_fitsimage contains only one FITS image named t0000-model.fits.

  • If the sky model is time-variable, the FITS files named txxxx-model.fits, where xxxx=0000, 0001, … . The total number of unique times in the MS are divided evenly into N groups, where N is the number of times for which FITS files are present.

  • If the sky model is polarised, the FITS images are named txxxx-[IQUV]-model.fits, representing each Stokes component [I, Q, U, V]. All Stokes components must be present for each time and frequency.

  • If the sky model is frequency-variable, the FITS files are named t0000-yyyy-model.fits, where yyyy=0000, 0001, … . The number of frequencies must be equal to input_changroups.

Following WSClean, MeqSilhouette does not care about the actual frequencies in the FITS headers. This means that the input channels in the MS will be divided evenly into input_changroups groups and each FITS image along the frequency axis will be used to predict visibilities into the appropriate group, regardless of the frequencies in the FITS headers.

Putting all of the above together, a time and frequency varible polarised sky model will consist of a series of FITS files named txxxx-yyyy-[I,Q,U,V]-model.fits, where xxxx=0000, 0001, …. (as many as needed to replicate intrinsic source variability) and yyyy=0000, 0001, …. (must be equal to input_changroups).

Note

WSClean can predict visibilities only into the MODEL_DATA column. MeqSilhouette will copy them into ms_datacolumn, after which the signal corruptions are applied only to ms_datacolumn. Hence, the uncorrupted visibilities are available in MODEL_DATA column for inspection. If MeqTrees is used instead, the uncorrupted visibilities from ms_datacolumn are copied to MODEL_DATA.

ASCII / Tigger LSM format

The ASCII / Tigger LSM file with extensions .txt / .lsm.html respectively, are sky model files recognisable by the tigger-lsm module used by MeqTrees. This file contains a list of sources, with each row corresponding to one source. The columns are as shown in the figure below:

MeqTrees compatible LSM format

Note

It is recommended to use FITS images as inputs (in which case WSClean is used for predicting visibilities) for EHT simulations. MeqTrees has been observed to occasionally give rise to precision errors of up to ~1 micro-arcsecond. Hence, when using ASCII / Tigger LSM files, additional sanity checks must be performed to ensure that the source positions are not offset from the expected values. This is an outstanding issue with MeqTrees and will be resolved in a future version.

Station and site information

The parameter station_info points to an ASCII file containing additional information about the participating stations and the site weather parameters for generating the Jones matrices for corrupting the visibilities. Each row corresponds to one station. The details of each column are given below.

Station and site information

Column

Type

Units

Explanation

station

string

Station name or code.

sefd

float

Jansky

System Equivalent Flux Density.

pwv

float

millimetres

Precipitable water vapour.

gpress

float

millibar

Ground pressure at site.

gtemp

float

Kelvin

Ground temperature at site.

c_time

float

seconds

Tropospheric coherence time.

ptg_rms

float

arcseconds

RMS error in pointing.

PB_FWHM230

float

arcseconds

Full Width at Half-Maximum of the primary beam.

PB_model

string

Geometric model to be used for the primary beam (‘gaussian’ and ‘cos3’ are available; hardwired to gaussian for now).

ap_eff

float

Aperture efficiency.

g[RL]_mean, g[RL]_std

float

Mean and standard deviation of the normal distribution from which to draw time-varying real/imag parts of the G-Jones terms for R and L feeds.

d[RL]_mean, d[RL]_std

float

Mean and standard deviation of the normal distribution from which to draw frequency-varying real/imag parts of the D-Jones terms for R and L feeds.

feed_angle

float

degrees

Initial feed angle offset.

mount

string

Mount type of each station. Valid values are ‘ALT-AZ’, ‘ALT-AZ+NASMYTH-R’, ‘ALT-AZ+NASMYTH-L’.