Options

options

Parse all configuration options from the config.ini file for the current site. Additionally, parse the hdw.dat and restrict.dat files of the current site for other configuration information.

See https://borealis.readthedocs.io/en/latest/source/config_options.html for detailed descriptions of each configuration option.

class src.utils.options.Options[source]

Bases: object

Parses all configuration options from the config.ini, hdw.dat, and restrict.dat files for the current site.

Raises errors if invalid configuration options are detected, e.g. two TX channels connected to the same antenna, or two USRPs have the same IP address.

__init__(
brian_to_driver_identity='BRIAN_DRIVER_IDEN',
brian_to_dspbegin_identity='BRIAN_DSPBEGIN_IDEN',
brian_to_dspend_identity='BRIAN_DSPEND_IDEN',
brian_to_radctrl_identity='BRIAN_RADCTRL_IDEN',
driver_to_brian_identity='DRIVER_BRIAN_IDEN',
driver_to_dsp_identity='DRIVER_DSP_IDEN',
driver_to_mainaffinity_identity='DRIVER_MAINAFFINITY_IDEN',
driver_to_radctrl_identity='DRIVER_RADCTRL_IDEN',
driver_to_rxaffinity_identity='DRIVER_RXAFFINITY_IDEN',
driver_to_txaffinity_identity='DRIVER_TXAFFINITY_IDEN',
dspbegin_to_brian_identity='DSPBEGIN_BRIAN_IDEN',
dspend_to_brian_identity='DSPEND_BRIAN_IDEN',
dsp_to_driver_identity='DSP_DRIVER_IDEN',
dsp_to_dw_identity='DSP_DW_IDEN',
dsp_to_exphan_identity='DSP_EXPHAN_IDEN',
dsp_to_radctrl_identity='DSP_RADCTRL_IDEN',
dsp_cfs_identity='DSP_CFS_IDEN',
dw_to_dsp_identity='DW_DSP_IDEN',
dw_to_radctrl_identity='DW_RADCTRL_IDEN',
dw_to_rt_identity='DW_RT_IDEN',
dw_cfs_identity='DW_CFS_IDEN',
exphan_to_dsp_identity='EXPHAN_DSP_IDEN',
exphan_to_radctrl_identity='EXPHAN_RADCTRL_IDEN',
mainaffinity_to_driver_identity='MAINAFFINITY_DRIVER_IDEN',
radctrl_to_brian_identity='RADCTRL_BRIAN_IDEN',
radctrl_to_driver_identity='RADCTRL_DRIVER_IDEN',
radctrl_to_dsp_identity='RADCTRL_DSP_IDEN',
radctrl_cfs_identity='RADCTRL_CFS_IDEN',
radctrl_to_dw_identity='RADCTRL_DW_IDEN',
radctrl_to_exphan_identity='RADCTRL_EXPHAN_IDEN',
rt_to_dw_identity='RT_DW_IDEN',
rxaffinity_to_driver_identity='RXAFFINITY_DRIVER_IDEN',
txaffinity_to_driver_identity='TXAFFINITY_DRIVER_IDEN',
)
Parameters:
  • brian_to_driver_identity (str)

  • brian_to_dspbegin_identity (str)

  • brian_to_dspend_identity (str)

  • brian_to_radctrl_identity (str)

  • driver_to_brian_identity (str)

  • driver_to_dsp_identity (str)

  • driver_to_mainaffinity_identity (str)

  • driver_to_radctrl_identity (str)

  • driver_to_rxaffinity_identity (str)

  • driver_to_txaffinity_identity (str)

  • dspbegin_to_brian_identity (str)

  • dspend_to_brian_identity (str)

  • dsp_to_driver_identity (str)

  • dsp_to_dw_identity (str)

  • dsp_to_exphan_identity (str)

  • dsp_to_radctrl_identity (str)

  • dsp_cfs_identity (str)

  • dw_to_dsp_identity (str)

  • dw_to_radctrl_identity (str)

  • dw_to_rt_identity (str)

  • dw_cfs_identity (str)

  • exphan_to_dsp_identity (str)

  • exphan_to_radctrl_identity (str)

  • mainaffinity_to_driver_identity (str)

  • radctrl_to_brian_identity (str)

  • radctrl_to_driver_identity (str)

  • radctrl_to_dsp_identity (str)

  • radctrl_cfs_identity (str)

  • radctrl_to_dw_identity (str)

  • radctrl_to_exphan_identity (str)

  • rt_to_dw_identity (str)

  • rxaffinity_to_driver_identity (str)

  • txaffinity_to_driver_identity (str)

Return type:

None

aggregator_log_level: str

Level for remote aggregator logging.

Supported levels are DEBUG, VERBOSE, INFO, WARNING, ERROR, CRITICAL, and NOTSET, or a numeric value between 0 and 50.

altitude: float
analog_atten_stages: int
analog_rx_attenuator: float
analog_rx_rise: float
beam_sep: float
boresight: float
boresight_shift: float
brian_to_driver_identity: str = 'BRIAN_DRIVER_IDEN'
brian_to_dspbegin_identity: str = 'BRIAN_DSPBEGIN_IDEN'
brian_to_dspend_identity: str = 'BRIAN_DSPEND_IDEN'
brian_to_radctrl_identity: str = 'BRIAN_RADCTRL_IDEN'
console_log_level: str

Level for console logging.

Supported levels are DEBUG, VERBOSE, INFO, WARNING, ERROR, CRITICAL, and NOTSET, or a numeric value between 0 and 50.

data_directory: str

Location of output data files, e.g. "/data/borealis_data"

default_freq: int
driver_to_brian_identity: str = 'DRIVER_BRIAN_IDEN'
driver_to_dsp_identity: str = 'DRIVER_DSP_IDEN'
driver_to_mainaffinity_identity: str = 'DRIVER_MAINAFFINITY_IDEN'
driver_to_radctrl_identity: str = 'DRIVER_RADCTRL_IDEN'
driver_to_rxaffinity_identity: str = 'DRIVER_RXAFFINITY_IDEN'
driver_to_txaffinity_identity: str = 'DRIVER_TXAFFINITY_IDEN'
dsp_cfs_identity: str = 'DSP_CFS_IDEN'
dsp_to_driver_identity: str = 'DSP_DRIVER_IDEN'
dsp_to_dw_identity: str = 'DSP_DW_IDEN'
dsp_to_exphan_identity: str = 'DSP_EXPHAN_IDEN'
dsp_to_radctrl_identity: str = 'DSP_RADCTRL_IDEN'
dspbegin_to_brian_identity: str = 'DSPBEGIN_BRIAN_IDEN'
dspend_to_brian_identity: str = 'DSPEND_BRIAN_IDEN'
dw_cfs_identity: str = 'DW_CFS_IDEN'
dw_to_dsp_identity: str = 'DW_DSP_IDEN'
dw_to_radctrl_identity: str = 'DW_RADCTRL_IDEN'
dw_to_rt_identity: str = 'DW_RT_IDEN'
exphan_to_dsp_identity: str = 'EXPHAN_DSP_IDEN'
exphan_to_radctrl_identity: str = 'EXPHAN_RADCTRL_IDEN'
geo_lat: float
geo_long: float
hdw_path: str

Path to SuperDARN hardware files, e.g. "/usr/local/hdw"

intf_antenna_count: int

Total number of interferometer array antennas

intf_antenna_locations: ndarray

[x, y, z] coordinates for each antenna in the interferometer array, relative to the center-point of the main array, in meters. Example:

{
    "0": [-22.86, 0.0, 0.0],
    "1": [-7.62, 0.0, 0.0],
    "2": [7.62, 0.0, 0.0],
    "3": [22.86, 0.0, 0.0]
}
intf_antenna_spacing: float

Distance between adjacent antennas in interferometer array [m]

intf_offset: list[float]
log_aggregator_addr: str

Network address of remote log aggregator

log_aggregator_bool: bool

Flag to enable remote log aggregation

log_aggregator_port: int

Port of remote log aggregator

log_console_bool: bool

Flag to enable console logging

log_directory: str

Directory in which to store JSON log files, e.g. "/data/borealis_logs"

log_logfile_bool: bool

Flag to enable JSON file logging

logfile_log_level: str

Level for JSON logfile logging.

Supported levels are DEBUG, VERBOSE, INFO, WARNING, ERROR, CRITICAL, and NOTSET, or a numeric value between 0 and 50.

main_antenna_count: int

Total number of main array antennas

main_antenna_locations: ndarray

[x, y, z] coordinates for each antenna in the main array, relative to the center-point of the main array, in meters. Example:

{
    "0": [-114.3, 0.0, 0.0],
    "1": [-99.06, 0.0, 0.0],
    ...,
    "14": [99.06, 0.0, 0.0],
    "15": [114.3, 0.0, 0.0]
}
main_antenna_spacing: float

Distance between adjacent antennas in main array [m]

mainaffinity_to_driver_identity: str = 'MAINAFFINITY_DRIVER_IDEN'
max_beams: int
max_filter_taps_per_stage: int

Maximum number of filter taps allowed in any DecimationStage of a DecimationScheme

max_filtering_stages: int

Maximum number of filter stages allowed in a DecimationScheme

max_freq: float

Maximum operating frequency [Hz]

max_output_sample_rate: float

Maximum output sampling rate [Hz]

max_range_gates: int
max_rx_sample_rate: float

Maximum USRP RX sampling rate [Hz]

max_tx_sample_rate: float

Maximum USRP TX sample rate [Hz]

max_usrp_dac_amplitude: float

Max amplitude of USRP TX samples [V]

min_freq: float

Minimum operating frequency [Hz]

min_pulse_length: float

Minimum pulse duration [μs]. Dependent on AGC hold time

min_pulse_separation: float

Minimum separation before pulses are digitally combined [μs]

min_tau_spacing_length: float

Minimum duration between pulses in a pulse sequence [μs]

n200_addrs: list[str]
n200_count: int
num_beams: int

Default number of beam directions to scan

num_ranges: int

Default number of range gates

phase_sign: int
pulse_buffer_name: str

Shared memory name for the TX sample buffer

pulse_buffer_size: int

Size of TX pulse buffer, per TX channel [bytes]

pulse_ramp_time: float

Linear ramp time for the pulse [s]

radctrl_cfs_identity: str = 'RADCTRL_CFS_IDEN'
radctrl_to_brian_identity: str = 'RADCTRL_BRIAN_IDEN'
radctrl_to_driver_identity: str = 'RADCTRL_DRIVER_IDEN'
radctrl_to_dsp_identity: str = 'RADCTRL_DSP_IDEN'
radctrl_to_dw_identity: str = 'RADCTRL_DW_IDEN'
radctrl_to_exphan_identity: str = 'RADCTRL_EXPHAN_IDEN'
rawacf_format: str

Output format for rawacf files. Either "hdf5" or "dmap"

realtime_address: str

Network address to serve DMAP data over, e.g. tcp://eth0:9696

restricted_ranges: list[tuple[int, int]]
ringbuffer_name: str

Shared memory name for the RX sample buffer

router_address: str

Internal network address used for IPC, e.g. tcp://127.0.0.1:9696

rt_to_dw_identity: str = 'RT_DW_IDEN'
rx_intf_antennas: list[int]

Interferometer antennas connected to USRP RX channels.

rx_main_antennas: list[int]

Main antennas connected to RX channels

rxaffinity_to_driver_identity: str = 'RXAFFINITY_DRIVER_IDEN'
scan_direction: str

Scan direction, “clockwise” or “counterclockwise”

site_id: str

Standard 3-letter ID of the radar, e.g. "sas"

standard_antenna_positions: bool

Flag for standard (uniformly spaced) antennas

status: int
tdiff_a: float
tdiff_b: float
tr_window_time: float

Duration to window on either side of TX pulse for T/R signal [s]

tx_main_antennas: list[int]

Main antennas connected to TX channels

txaffinity_to_driver_identity: str = 'TXAFFINITY_DRIVER_IDEN'
usrp_master_clock_rate: float

E.g. "1.00E+08"

velocity_sign: int