JSON schema and example for PSS Configure version 1.4
PSS configuration schema 1.4
Example (PSS configuration for scan 1.4)
{
"interface": "https://schema.skao.int/ska-pss-configure/1.4",
"transaction_id": "txn-control-00001",
"beam": [{
"beam_id": 1,
"reference_frame": "ICRS",
"ra": 82.75,
"dec": 21.0,
"centre_frequency": 1400.0,
"beam_delay_centre": 0.0,
"dest_host": "192.168.178.25",
"dest_port": 9021
}, {
"beam_id": 2,
"reference_frame": "ICRS",
"ra": 84.25,
"dec": 21.5,
"centre_frequency": 1400.0,
"beam_delay_centre": 0.0,
"dest_host": "192.168.178.26",
"dest_port": 9021
}],
"common": {
"config_id": "sbi-mvp01-20200325-00001-science_A",
"subarray_id": 1,
"frequency_band": "low",
"eb_id": "eb-x449-20231105-34696"
},
"config_id": 1,
"cheetah": [{
"cheetah_id": 1,
"beams": [{
"beam": {
"active": true,
"sinks": {
"channels": {
"sps_events": {
"active": true,
"sink": [{
"sink_id": "spccl_files"
}, {
"sink_id": "candidate_files"
}]
}
},
"sink_configs": {
"spccl_files": {
"extension": ".spccl",
"dir": "/tmp/beam1",
"sink_id": "spccl_files"
},
"spccl_sigproc_files": {
"spectra_per_file": 0,
"dir": "/tmp/beam1",
"extension": ".fil",
"candidate_window": {
"ms_before": 500.0,
"ms_after": 1000.0
},
"sink_id": "candidate_files"
}
}
},
"source": {
"sigproc": {
"file": "filterbank1.fil",
"chunk_samples": 1024,
"default-nbits": 8,
"active": true
},
"udp_low": {
"number_of_threads": 2,
"spectra_per_chunk": 2048,
"number_of_channels": 7776,
"max_buffers": 1,
"active": false
},
"udp_low_lite": {
"number_of_threads": 10,
"spectra_per_chunk": 32768,
"number_of_channels": 432,
"max_buffers": 3,
"active": false
}
},
"beam_id": 1
}
}, {
"beam": {
"active": false,
"sinks": {
"channels": {
"sps_events": {
"active": true,
"sink": [{
"sink_id": "spccl_files"
}, {
"sink_id": "candidate_files"
}]
}
},
"sink_configs": {
"spccl_files": {
"extension": ".spccl",
"dir": "/tmp/beam2",
"sink_id": "spccl_files"
},
"spccl_sigproc_files": {
"spectra_per_file": 0,
"dir": "/tmp/beam2",
"extension": ".fil",
"candidate_window": {
"ms_before": 500.0,
"ms_after": 1000.0
},
"sink_id": "candidate_files"
}
}
},
"source": {
"sigproc": {
"file": "filterbank2.fil",
"chunk_samples": 1024,
"default-nbits": 8,
"active": true
},
"udp_low": {
"number_of_threads": 2,
"spectra_per_chunk": 2048,
"number_of_channels": 7776,
"max_buffers": 1,
"active": false
},
"udp_low_lite": {
"number_of_threads": 10,
"spectra_per_chunk": 32768,
"number_of_channels": 432,
"max_buffers": 3,
"active": false
}
},
"beam_id": 2
}
}, {
"beam": {
"active": false,
"sinks": {
"channels": {
"sps_events": {
"active": true,
"sink": [{
"sink_id": "spccl_files"
}, {
"sink_id": "candidate_files"
}]
}
},
"sink_configs": {
"spccl_files": {
"extension": ".spccl",
"dir": "/tmp/beam3",
"sink_id": "spccl_files"
},
"spccl_sigproc_files": {
"spectra_per_file": 0,
"dir": "/tmp/beam3",
"extension": ".fil",
"candidate_window": {
"ms_before": 500.0,
"ms_after": 1000.0
},
"sink_id": "candidate_files"
}
}
},
"source": {
"sigproc": {
"file": "filterbank3.fil",
"chunk_samples": 1024,
"default-nbits": 8,
"active": true
},
"udp_low": {
"number_of_threads": 2,
"spectra_per_chunk": 2048,
"number_of_channels": 7776,
"max_buffers": 1,
"active": false
},
"udp_low_lite": {
"number_of_threads": 10,
"spectra_per_chunk": 32768,
"number_of_channels": 432,
"max_buffers": 3,
"active": false
}
},
"beam_id": 3
}
}],
"psbc": {
"dump_time": 540
},
"acceleration": {
"fdas": {
"pool_id": "default",
"priority": 0,
"active": false,
"labyrinth": {
"active": true,
"threshold": 10.0
}
}
},
"sift": {
"pool_id": "default",
"priority": 2,
"strong_sift": {
"active": false,
"num_candidate_harmonics": 8,
"match_factor": 0.001,
"dm_match_range": 2
}
}
}, {
"cheetah_id": 3,
"beams": [{
"beam": {
"active": true,
"sinks": {
"channels": {
"sps_events": {
"active": true,
"sink": [{
"sink_id": "spccl_files"
}, {
"sink_id": "candidate_files"
}]
}
},
"sink_configs": {
"spccl_files": {
"extension": ".spccl",
"dir": "/tmp/beam1",
"sink_id": "spccl_files"
},
"spccl_sigproc_files": {
"spectra_per_file": 0,
"dir": "/tmp/beam1",
"extension": ".fil",
"candidate_window": {
"ms_before": 500.0,
"ms_after": 1000.0
},
"sink_id": "candidate_files"
}
}
},
"source": {
"sigproc": {
"file": "filterbank1.fil",
"chunk_samples": 1024,
"default-nbits": 8,
"active": true
},
"udp_low": {
"number_of_threads": 2,
"spectra_per_chunk": 2048,
"number_of_channels": 7776,
"max_buffers": 1,
"active": false
},
"udp_low_lite": {
"number_of_threads": 10,
"spectra_per_chunk": 32768,
"number_of_channels": 432,
"max_buffers": 3,
"active": false
}
},
"beam_id": 1
}
}, {
"beam": {
"active": false,
"sinks": {
"channels": {
"sps_events": {
"active": true,
"sink": [{
"sink_id": "spccl_files"
}, {
"sink_id": "candidate_files"
}]
}
},
"sink_configs": {
"spccl_files": {
"extension": ".spccl",
"dir": "/tmp/beam2",
"sink_id": "spccl_files"
},
"spccl_sigproc_files": {
"spectra_per_file": 0,
"dir": "/tmp/beam2",
"extension": ".fil",
"candidate_window": {
"ms_before": 500.0,
"ms_after": 1000.0
},
"sink_id": "candidate_files"
}
}
},
"source": {
"sigproc": {
"file": "filterbank2.fil",
"chunk_samples": 1024,
"default-nbits": 8,
"active": true
},
"udp_low": {
"number_of_threads": 2,
"spectra_per_chunk": 2048,
"number_of_channels": 7776,
"max_buffers": 1,
"active": false
},
"udp_low_lite": {
"number_of_threads": 10,
"spectra_per_chunk": 32768,
"number_of_channels": 432,
"max_buffers": 3,
"active": false
}
},
"beam_id": 2
}
}, {
"beam": {
"active": false,
"sinks": {
"channels": {
"sps_events": {
"active": true,
"sink": [{
"sink_id": "spccl_files"
}, {
"sink_id": "candidate_files"
}]
}
},
"sink_configs": {
"spccl_files": {
"extension": ".spccl",
"dir": "/tmp/beam3",
"sink_id": "spccl_files"
},
"spccl_sigproc_files": {
"spectra_per_file": 0,
"dir": "/tmp/beam3",
"extension": ".fil",
"candidate_window": {
"ms_before": 500.0,
"ms_after": 1000.0
},
"sink_id": "candidate_files"
}
}
},
"source": {
"sigproc": {
"file": "filterbank3.fil",
"chunk_samples": 1024,
"default-nbits": 8,
"active": true
},
"udp_low": {
"number_of_threads": 2,
"spectra_per_chunk": 2048,
"number_of_channels": 7776,
"max_buffers": 1,
"active": false
},
"udp_low_lite": {
"number_of_threads": 10,
"spectra_per_chunk": 32768,
"number_of_channels": 432,
"max_buffers": 3,
"active": false
}
},
"beam_id": 3
}
}],
"psbc": {
"dump_time": 540
},
"acceleration": {
"fdas": {
"pool_id": "default",
"priority": 0,
"active": false,
"labyrinth": {
"active": true,
"threshold": 10.0
}
}
},
"sift": {
"pool_id": "default",
"priority": 2,
"strong_sift": {
"active": false,
"num_candidate_harmonics": 8,
"match_factor": 0.001,
"dm_match_range": 2
}
}
}, {
"cheetah_id": 5,
"beams": [{
"beam": {
"active": true,
"sinks": {
"channels": {
"sps_events": {
"active": true,
"sink": [{
"sink_id": "spccl_files"
}, {
"sink_id": "candidate_files"
}]
}
},
"sink_configs": {
"spccl_files": {
"extension": ".spccl",
"dir": "/tmp/beam1",
"sink_id": "spccl_files"
},
"spccl_sigproc_files": {
"spectra_per_file": 0,
"dir": "/tmp/beam1",
"extension": ".fil",
"candidate_window": {
"ms_before": 500.0,
"ms_after": 1000.0
},
"sink_id": "candidate_files"
}
}
},
"source": {
"sigproc": {
"file": "filterbank1.fil",
"chunk_samples": 1024,
"default-nbits": 8,
"active": true
},
"udp_low": {
"number_of_threads": 2,
"spectra_per_chunk": 2048,
"number_of_channels": 7776,
"max_buffers": 1,
"active": false
},
"udp_low_lite": {
"number_of_threads": 10,
"spectra_per_chunk": 32768,
"number_of_channels": 432,
"max_buffers": 3,
"active": false
}
},
"beam_id": 1
}
}, {
"beam": {
"active": false,
"sinks": {
"channels": {
"sps_events": {
"active": true,
"sink": [{
"sink_id": "spccl_files"
}, {
"sink_id": "candidate_files"
}]
}
},
"sink_configs": {
"spccl_files": {
"extension": ".spccl",
"dir": "/tmp/beam2",
"sink_id": "spccl_files"
},
"spccl_sigproc_files": {
"spectra_per_file": 0,
"dir": "/tmp/beam2",
"extension": ".fil",
"candidate_window": {
"ms_before": 500.0,
"ms_after": 1000.0
},
"sink_id": "candidate_files"
}
}
},
"source": {
"sigproc": {
"file": "filterbank2.fil",
"chunk_samples": 1024,
"default-nbits": 8,
"active": true
},
"udp_low": {
"number_of_threads": 2,
"spectra_per_chunk": 2048,
"number_of_channels": 7776,
"max_buffers": 1,
"active": false
},
"udp_low_lite": {
"number_of_threads": 10,
"spectra_per_chunk": 32768,
"number_of_channels": 432,
"max_buffers": 3,
"active": false
}
},
"beam_id": 2
}
}, {
"beam": {
"active": false,
"sinks": {
"channels": {
"sps_events": {
"active": true,
"sink": [{
"sink_id": "spccl_files"
}, {
"sink_id": "candidate_files"
}]
}
},
"sink_configs": {
"spccl_files": {
"extension": ".spccl",
"dir": "/tmp/beam3",
"sink_id": "spccl_files"
},
"spccl_sigproc_files": {
"spectra_per_file": 0,
"dir": "/tmp/beam3",
"extension": ".fil",
"candidate_window": {
"ms_before": 500.0,
"ms_after": 1000.0
},
"sink_id": "candidate_files"
}
}
},
"source": {
"sigproc": {
"file": "filterbank3.fil",
"chunk_samples": 1024,
"default-nbits": 8,
"active": true
},
"udp_low": {
"number_of_threads": 2,
"spectra_per_chunk": 2048,
"number_of_channels": 7776,
"max_buffers": 1,
"active": false
},
"udp_low_lite": {
"number_of_threads": 10,
"spectra_per_chunk": 32768,
"number_of_channels": 432,
"max_buffers": 3,
"active": false
}
},
"beam_id": 3
}
}],
"psbc": {
"dump_time": 540
},
"acceleration": {
"fdas": {
"pool_id": "default",
"priority": 0,
"active": false,
"labyrinth": {
"active": true,
"threshold": 10.0
}
}
},
"sift": {
"pool_id": "default",
"priority": 2,
"strong_sift": {
"active": false,
"num_candidate_harmonics": 8,
"match_factor": 0.001,
"dm_match_range": 2
}
}
}],
"ddtr": {
"cpu": {
"active": false
},
"fpga": {
"active": false
},
"gpu_bruteforce": {
"active": false,
"copy_dmtrials_to_host": true
},
"klotski": {
"active": true
},
"klotski_bruteforce": {
"active": false
},
"dedispersion": [{
"start": 0.0,
"end": 100.0,
"step": 0.1
}, {
"start": 100.0,
"end": 300.0,
"step": 0.2
}, {
"start": 300.0,
"end": 700.0,
"step": 0.4
}, {
"start": 700.0,
"end": 1500.0,
"step": 0.8
}, {
"start": 1500.0,
"end": 3100.0,
"step": 1.6
}],
"dedispersion_samples": 131072
},
"sps": {
"cpu": {
"active": false,
"samples_per_iteration": 1,
"number_of_widths": 1
},
"threshold": 8.0,
"klotski": {
"active": true,
"pulse_widths": "1,2,4,8,16,32,64,128"
},
"klotski_bruteforce": {
"active": false,
"pulse_widths": "1,2,4,8,16,32,64,128"
}
}
}
Top-level control configuration for PSS
type |
object |
|||
properties |
||||
|
URI of JSON schema for this command’s JSON payload. |
|||
type |
string |
|||
|
A transaction id specific to the control command |
|||
type |
string |
|||
|
type |
array |
||
items |
||||
|
Common section, containing the parameters and the sections belonging to all CSP subsystems. This section is forwarded to all sub-elements. |
|||
|
Configuration ID |
|||
type |
integer |
|||
|
||||
|
||||
|
Cheetah application configs for each machine |
|||
type |
array |
|||
items |
PSS configuration schema 1.4 |
|||
type |
object |
|||
properties |
||||
|
Pipeline ID for the cheetah instance. |
|||
type |
integer |
|||
|
Configuration for the PSS Beamforming Collector (PSBC) |
|||
|
Top-level acceleration configuration |
|||
|
Top-level SIFT stage configuration |
|||
|
List of up to 3 beams |
|||
type |
array |
|||
items |
||||
additionalProperties |
True |
|||
additionalProperties |
True |
|||
PSS_beam_config_1.4
type |
object |
||
properties |
|||
|
Search Beam ID. |
||
type |
integer |
||
|
Right Ascension of sub-array beam target, in degrees. |
||
type |
number |
||
|
Declination of sub-array beam target, in degrees. |
||
type |
number |
||
|
reference frame for pointing coordinates |
||
type |
string |
||
|
Centre frequency of the search beam. |
||
type |
number |
||
|
Beam delay center, relative to the array delay center. |
||
anyOf |
type |
number |
|
type |
string |
||
|
Per beam destination host address for PSS output. |
||
type |
string |
||
|
Per beam destination port for PSS output. |
||
type |
integer |
||
additionalProperties |
True |
||
Common_configuration_schema_2.0
Common section, containing the parameters and the sections belonging to all CSP subsystems. This section is forwarded to all sub-elements.
type |
object |
|
properties |
||
|
type |
string |
|
Subarray number |
|
type |
integer |
|
|
Execution block ID to associate scan configs to an observation. This ID is used for associating generated data, especially data products, for a given observation. Multiple scans can be linked to one observation and this ID is used as metadata to associate the data products from all scans of the same observation. This ID does not have to be unique for a scan configuration but should be unique for different observations. For example, all the data and weights files will have an EB_ID header value populated with the value supplied in this field. |
|
type |
string |
|
|
Frequency band applies for all the receptors (VCCs) that belong to the sub-array. The value of ‘low’ is used to only within SKA Low. As this field is a mandatory field but bands 1, 2, 3, 4, 5a and 5b only make sense for SKA Mid. |
|
type |
string |
|
additionalProperties |
True |
|
PSS_ddtr_config_1.4
type |
object |
||
properties |
|||
|
dedispersion of time frequency data on CPU. |
||
type |
object |
||
properties |
|||
|
type |
boolean |
|
additionalProperties |
True |
||
|
Dedispersion of time frequency data on CPU. |
||
type |
object |
||
properties |
|||
|
type |
boolean |
|
additionalProperties |
True |
||
|
A GPU brute force algorithm to perform DDTR. |
||
type |
object |
||
properties |
|||
|
type |
boolean |
|
|
type |
boolean |
|
additionalProperties |
True |
||
|
A Klotski algorithm to perform DDTR. |
||
type |
object |
||
properties |
|||
|
type |
boolean |
|
additionalProperties |
True |
||
|
A Klotski brute force algorithm to perform DDTR. |
||
type |
object |
||
properties |
|||
|
type |
boolean |
|
additionalProperties |
True |
||
|
type |
array |
|
items |
|||
|
max samples to process in each call to the dedisperser |
||
type |
integer |
||
additionalProperties |
True |
||
PSS_dedispersion_config_1.4
type |
object |
|
properties |
||
|
start DM in cm^-3 pc. |
|
type |
number |
|
|
end DM in cm^-3 pc (inclusive). |
|
type |
number |
|
|
DM step size in cm^-3 pc. |
|
type |
number |
|
additionalProperties |
True |
|
PSS_sps_config_1.4
type |
object |
||
properties |
|||
|
dedispersion of time frequency data on CPU. |
||
type |
object |
||
properties |
|||
|
type |
boolean |
|
|
type |
integer |
|
|
type |
integer |
|
additionalProperties |
True |
||
|
single pulse detection threshold in sigmas. |
||
type |
number |
||
|
|||
|
|||
additionalProperties |
True |
||
PSS_klotski_config_1.4
type |
object |
|
properties |
||
|
Enable klotski sps mode. |
|
type |
boolean |
|
|
Matched filter widths (in bins). |
|
type |
string |
|
additionalProperties |
True |
|
PSS_PSBC_schema_1.4
Configuration for the PSS Beamforming Collector (PSBC)
type |
object |
|
properties |
||
|
Time interval (in seconds) at which beamformed data is dumped |
|
type |
integer |
|
additionalProperties |
True |
|
PSS_acceleration_schema_1.4
Top-level acceleration configuration
type |
object |
properties |
|
|
FDAS configuration |
additionalProperties |
True |
PSS_FDAS_schema_1.4
Configuration for the FDAS acceleration stage
type |
object |
|
properties |
||
|
Name of the processing pool to use |
|
type |
string |
|
|
Scheduling priority for FDAS tasks |
|
type |
integer |
|
|
Whether FDAS processing is active |
|
type |
boolean |
|
|
Labyrinth sub-configuration |
|
additionalProperties |
True |
|
PSS_labyrinth_schema_1.4
Configuration for the Labyrinth acceleration algorithm
type |
object |
|
properties |
||
|
Whether the labyrinth algorithm is enabled |
|
type |
boolean |
|
|
Threshold parameter for candidate detection |
|
type |
number |
|
additionalProperties |
True |
|
PSS_sift_schema_1.4
Top-level SIFT stage configuration
type |
object |
|
properties |
||
|
Pool ID to assign sift processing |
|
type |
string |
|
|
Execution priority of the sift stage |
|
type |
integer |
|
|
Configuration block for the strong sift logic |
|
additionalProperties |
True |
|
PSS_strong_sift_schema_1.4
Configuration for the strong SIFT algorithm
type |
object |
|
properties |
||
|
Whether the strong_sift stage is active |
|
type |
boolean |
|
|
Number of harmonics to consider per candidate |
|
type |
integer |
|
|
Factor to scale thresholding match window |
|
type |
number |
|
|
Allowed range in dispersion measure for match filtering |
|
type |
integer |
|
additionalProperties |
True |
|
PSS_beams_config_1.4
type |
object |
properties |
|
|
|
additionalProperties |
True |
PSS_pss_beam_config_1.4
type |
object |
|
properties |
||
|
enable this beam. |
|
type |
boolean |
|
|
Beam ID |
|
type |
integer |
|
|
||
|
||
additionalProperties |
True |
|
PSS_sinks_config_1.4
type |
object |
properties |
|
|
|
|
|
additionalProperties |
True |
PSS_channels_config_1.4
type |
object |
properties |
|
|
|
additionalProperties |
True |
PSS_sps_events_config_1.4
type |
object |
|||
properties |
||||
|
activate the channel. |
|||
type |
boolean |
|||
|
List of sink ids for sps_events. |
|||
type |
array |
|||
items |
Sink configuration schema 1.4 |
|||
Sink configuration for PSS |
||||
type |
object |
|||
properties |
||||
|
Sink ID |
|||
type |
string |
|||
additionalProperties |
True |
|||
additionalProperties |
True |
|||
PSS_sink_configs_config_1.4
type |
object |
properties |
|
|
|
|
|
additionalProperties |
True |
PSS_spccl_files_config_1.4
type |
object |
|
properties |
||
|
extension. |
|
type |
string |
|
|
directory. |
|
type |
string |
|
|
Sink ID |
|
type |
string |
|
additionalProperties |
True |
|
PSS_spccl_sigproc_files_config_1.4
type |
object |
|
properties |
||
|
spectra per file. |
|
type |
integer |
|
|
directory. |
|
type |
string |
|
|
extension. |
|
type |
string |
|
|
||
|
Sink ID |
|
type |
string |
|
additionalProperties |
True |
|
PSS_candidate_window_config_1.4
type |
object |
|
properties |
||
|
Number of milliseconds before the candidate start. |
|
type |
number |
|
|
Number of milliseconds after the candidate end time. |
|
type |
number |
|
additionalProperties |
True |
|
PSS_source_config_1.4
type |
object |
properties |
|
|
|
|
|
|
|
additionalProperties |
True |
PSS_sigproc_config_1.4
type |
object |
|
properties |
||
|
specify the sigproc file(s) to read as input data. |
|
type |
string |
|
|
the number of time samples in each chunk. |
|
type |
integer |
|
|
specify the default number of bits to use. |
|
type |
integer |
|
|
enable udp low |
|
type |
boolean |
|
additionalProperties |
True |
|
PSS_UDP_config_1.4
type |
object |
|
properties |
||
|
the number of threads to run LOW ingest services |
|
type |
integer |
|
|
the number of time slices in each chunk. |
|
type |
integer |
|
|
Total number of frequency channels. |
|
type |
integer |
|
|
the max number of udp packet buffers to use. |
|
type |
integer |
|
|
enable udp low |
|
type |
boolean |
|
additionalProperties |
True |
|