CLI

Below can be found the command line interface, usage and command line argument description, of the three main RFI simulation scripts and any additional relevant scripts.

Pycraf Python script

Calculate RFI propagation

usage: SKA_low_RFI_propagation.py [-h] [--transmitters TRANSMITTERS]
                                  [--set_freq SET_FREQ] [--freq FREQ]
                                  [--set_bandwidth SET_BANDWIDTH]
                                  [--bandwidth BANDWIDTH]
                                  [--n_channels N_CHANNELS]
                                  [--frequency_range FREQUENCY_RANGE FREQUENCY_RANGE]
                                  [--az_calc AZ_CALC] [--trans_out TRANS_OUT]
                                  [--non_below_el NON_BELOW_EL]
                                  [--srtm_directory SRTM_DIRECTORY]
                                  [--antenna_file ANTENNA_FILE] [--rmax RMAX]
                                  [--station_skip STATION_SKIP]
                                  [--output_dir OUTPUT_DIR]
                                  [--array_centre ARRAY_CENTRE]
                                  [--plot_attenuation PLOT_ATTENUATION]
                                  [--n_time_chunks N_TIME_CHUNKS]
                                  [--frequency_variable FREQUENCY_VARIABLE]
                                  [--time_variable TIME_VARIABLE]
                                  [--omega OMEGA] [--temperature TEMPERATURE]
                                  [--pressure PRESSURE]
                                  [--timepercent TIMEPERCENT]
                                  [--height_rg HEIGHT_RG] [--diam DIAM]
                                  [--zones ZONES] [--hprof_step HPROF_STEP]

Named Arguments

--transmitters

Location of input csv file containing transmitter properties.

--set_freq

Choose the central frequency with –freq, otherwise read it from the csv file

--freq

Central frequency (MHz)

--set_bandwidth

Choose the bandwidth with –bandwidth, otherwise read it from the csv file

--bandwidth

Bandwidth (MHz)

--n_channels

Number of frequency channels. (Must match nchannels_per_chunk for RFI simulation run)

--frequency_range

Frequency range (MHz)

--az_calc

Calculate and output the Az/El of the transmitter

--trans_out

Name of output transmitter list. File-type not required. If ‘infile’ will supplement the input name of the input transmitter file. If not full path, it will be written to output_dir directory.

--non_below_el

If transmitter elevation to array centre < 0 deg, remove from list and do not simulate.

--srtm_directory

Directory for the SRTM files required by pycraf for terrain information.

--antenna_file

Location of text files with antenna locations

--rmax

Maximum distance of station from centre (m)

--station_skip

Decimate stations by this factor

--output_dir

Default directory to write attenuation outputs

--array_centre

List containing name, latitude (degs), longitude (degs) for the SKA Low array centre

--plot_attenuation

Output plot of attenuation values for each transmitter at the array centre.

--n_time_chunks

Number of time samples to simulate. (Same as the RASCIL-based part’s –nintegrations_per_chunk arg.)

--frequency_variable

Simulate frequency-variable RFI signal?

--time_variable

Simulate time-variable RFI signal?

--omega

Fraction of path over sea. See pycraf documentation.

--temperature

Assumed temperature (K). See pycraf documentation.

--pressure

Assumed pressure (hPa). See pycraf documentation.

--timepercent

Time percent. See pycraf documentation and P.452 report.

--height_rg

Assumed height of receiver above ground (m). See pycraf documentation.

--diam

Assumed diameter of transmitter (m). See pycraf documentation.

--zones

List of clutter types for transmitter and receiver, default is unknown. See pycraf documentation.

--hprof_step

Distance resolution of the calculated solution. See pycraf documentation.

OSKAR Python script

Calculate beam gain for SKA1-Low

usage: oskar_sim_beam_gain_sing.py [-h] [--ra RA] [--declination DECLINATION]
                                   [--indir INDIR] [--outdir OUTDIR]
                                   [--oskar_path OSKAR_PATH]
                                   [--telescope_path TELESCOPE_PATH]
                                   [--input_hdf_file INPUT_HDF_FILE]
                                   [--transmitters TRANSMITTERS]
                                   [--set_freq SET_FREQ] [--freq FREQ]
                                   [--set_bandwidth SET_BANDWIDTH]
                                   [--bandwidth BANDWIDTH]
                                   [--N_channels N_CHANNELS]
                                   [--frequency_range FREQUENCY_RANGE FREQUENCY_RANGE]
                                   [--choose_range CHOOSE_RANGE]
                                   [--beam_gain_out BEAM_GAIN_OUT]

Named Arguments

--ra

Right Ascension (deg)

--declination

Declination

--indir

Directory where transmitter Az_El or HDF5 files are stored

--outdir

Directory to store results

--oskar_path

Path to the singularity SIF file for OSKAR

--telescope_path

Path to telescope model directory

--input_hdf_file

HDF5 file located in –indir, which contains necessary coordinate information for each RFI source.If not specified, use individual az/el and transmitter files located in –indir.

--transmitters

CSV file containing transmitter properties; not used with HFD data

--set_freq

Choose the central frequency with –freq, otherwise read it from the CSV file;not used when input is an HDF5 file.

--freq

Central frequency (MHz); not used when input is an HDF5 file.

--set_bandwidth

Choose the bandwidth with –bandwidth, otherwise read it from the CSV file; not used when input is an HDF5 file.

--bandwidth

Bandwidth (MHz); not used when input is an HDF5 file.

--N_channels

Number of frequency channels (must match nchannels_per_chunk for RFI simulation run); not used when input is an HDF5 file.

--frequency_range

Frequency range (MHz); not used when input is an HDF5 file.

--choose_range

use channels over full frequency range given. If False, default to only over specified bandwidth. If full frequency range larger than bandwidth number of output channels will be those within the bandwidth only. Not used when input is an HDF5 file.

--beam_gain_out

Starting name of output beam gain file for each transmitter. Directory and file-type not required. Not used when input is an HDF5 file.

RASCIL Python script

Simulate RFI data with RASCIL

usage: simulate_low_rfi_visibility_propagation.py [-h] [--seed SEED]
                                                  [--noise NOISE] [--ra RA]
                                                  [--declination DECLINATION]
                                                  [--nchannels_per_chunk NCHANNELS_PER_CHUNK]
                                                  [--channel_average CHANNEL_AVERAGE]
                                                  [--frequency_range FREQUENCY_RANGE FREQUENCY_RANGE]
                                                  [--time_average TIME_AVERAGE]
                                                  [--integration_time INTEGRATION_TIME]
                                                  [--time_range TIME_RANGE TIME_RANGE]
                                                  [--input_file INPUT_FILE]
                                                  [--use_beamgain USE_BEAMGAIN]
                                                  [--beamgain_hdf_file BEAMGAIN_HDF_FILE]
                                                  [--beamgain_dir BEAMGAIN_DIR]
                                                  [--use_antfile USE_ANTFILE]
                                                  [--antenna_file ANTENNA_FILE]
                                                  [--write_ms WRITE_MS]
                                                  [--msout MSOUT]
                                                  [--output_dir OUTPUT_DIR]
                                                  [--use_dask USE_DASK]

Named Arguments

--seed

Random number seed

--noise

Add random noise to the visibility samples?

--ra

Right Ascension (degrees)

--declination

Declination (degrees)

--nchannels_per_chunk

Number of channels in a chunk

--channel_average

Number of channels in a chunk to average

--frequency_range

Frequency range (Hz)

--time_average

Number of integrations in a chunk to average

--integration_time

Integration time (s)

--time_range

Hourangle range (hours)

--input_file

Full path to the HDF5 file, which contains necessary RFI information for each RFI source.

--use_beamgain

Use beam gain values in calculation

--beamgain_hdf_file

HDF5 file with beam gain, transmitter, frequency, and pointing (RA, DEC) information.

--beamgain_dir

Folder containing multiple Numpy files or the HDF file with beam gain information.

--use_antfile

Use the antenna file in the rfi data in calculation, otherwise use from RASCIL

--antenna_file

txt file containing antenna locations

--write_ms

Write measurement set?

--msout

Name for MeasurementSet

--output_dir

Output directory for storing files

--use_dask

Use dask to distribute processing?

Power Spectrum Python script

Display power spectrum of image

usage: power_spectrum.py [-h] [--image IMAGE]
                         [--signal_channel SIGNAL_CHANNEL]
                         [--noise_channel NOISE_CHANNEL]
                         [--resolution RESOLUTION]

Named Arguments

--image

Image name

--signal_channel

Channel containing both signal and noise

--noise_channel

Channel containing noise only

--resolution

Resolution in radians needed for conversion to K

RFI Interface

Usage:
    rfi_source_signal_interface.py tv_antenna --transmitters=<transmitter-csv> [<n_channels> <freq_start> <freq_end>]
    rfi_source_signal_interface.py aircraft
    rfi_source_signal_interface.py (-h | --help)

Arguments:
    # if tv_antenna
    --transmitters=<transmitter-csv>      Location of input CSV file containing TV transmitter properties

Options:
    -h --help           Show this screen.

    # if any of the following is provided, all three has to be provided as a CLI argument
    <n_channels>        Number of frequency channels. Default: 3
    <freq_start>        Start of Frequency range [MHz]. Default: 170.5
    <freq_end>          End of Frequency range [MHz]. Default: 184.5