ska-sdp-assignres
SDP assign resources 1.1
Example
{
"execution_block": {
"eb_id": "eb-mvp01-20210623-00000",
"max_length": 100.0,
"context": {},
"beams": [{
"beam_id": "vis0",
"function": "visibilities"
}, {
"beam_id": "pss1",
"search_beam_id": 1,
"function": "pulsar search"
}, {
"beam_id": "pss2",
"search_beam_id": 2,
"function": "pulsar search"
}, {
"beam_id": "pst1",
"timing_beam_id": 1,
"function": "pulsar timing"
}, {
"beam_id": "pst2",
"timing_beam_id": 2,
"function": "pulsar timing"
}, {
"beam_id": "vlbi1",
"vlbi_beam_id": 1,
"function": "vlbi"
}],
"scan_types": [{
"scan_type_id": ".default",
"beams": {
"vis0": {
"channels_id": "vis_channels",
"polarisations_id": "all"
},
"pss1": {
"field_id": "pss_field_0",
"channels_id": "pulsar_channels",
"polarisations_id": "all"
},
"pss2": {
"field_id": "pss_field_1",
"channels_id": "pulsar_channels",
"polarisations_id": "all"
},
"pst1": {
"field_id": "pst_field_0",
"channels_id": "pulsar_channels",
"polarisations_id": "all"
},
"pst2": {
"field_id": "pst_field_1",
"channels_id": "pulsar_channels",
"polarisations_id": "all"
},
"vlbi": {
"field_id": "vlbi_field",
"channels_id": "vlbi_channels",
"polarisations_id": "all"
}
}
}, {
"scan_type_id": "target:a",
"derive_from": ".default",
"beams": {
"vis0": {
"field_id": "field_a"
}
}
}],
"channels": [{
"channels_id": "vis_channels",
"spectral_windows": [{
"spectral_window_id": "fsp_1_channels",
"count": 744,
"start": 0,
"stride": 2,
"freq_min": 350000000.0,
"freq_max": 368000000.0,
"link_map": [
[0, 0],
[200, 1],
[744, 2],
[944, 3]
]
}, {
"spectral_window_id": "fsp_2_channels",
"count": 744,
"start": 2000,
"stride": 1,
"freq_min": 360000000.0,
"freq_max": 368000000.0,
"link_map": [
[2000, 4],
[2200, 5]
]
}, {
"spectral_window_id": "zoom_window_1",
"count": 744,
"start": 4000,
"stride": 1,
"freq_min": 360000000.0,
"freq_max": 361000000.0,
"link_map": [
[4000, 6],
[4200, 7]
]
}]
}, {
"channels_id": "pulsar_channels",
"spectral_windows": [{
"spectral_window_id": "pulsar_fsp_channels",
"count": 744,
"start": 0,
"freq_min": 350000000.0,
"freq_max": 368000000.0
}]
}],
"polarisations": [{
"polarisations_id": "all",
"corr_type": ["XX", "XY", "YY", "YX"]
}],
"fields": [{
"field_id": "field_a",
"phase_dir": {
"target_name": "target_a",
"reference_frame": "icrs",
"attrs": {
"c1": 201.365,
"c2": -43.0191667
}
},
"pointing_fqdn": "low-tmc/telstate/0/pointing"
}, {
"field_id": "field_b",
"phase_dir": {
"target_name": "Zenith",
"reference_frame": "altaz",
"attrs": {
"c1": 180.0,
"c2": 90.0
}
},
"pointing_fqdn": "low-tmc/telstate/0/pointing"
}, {
"field_id": "field_c",
"phase_dir": {
"target_name": "Cass-A",
"reference_frame": "galactic",
"attrs": {
"c1": 111.734745,
"c2": -2.12957
}
},
"pointing_fqdn": "low-tmc/telstate/0/pointing"
}, {
"field_id": "field_d",
"phase_dir": {
"target_name": "Sun",
"reference_frame": "special"
},
"pointing_fqdn": "low-tmc/telstate/0/pointing"
}, {
"field_id": "field_e",
"phase_dir": {
"target_name": "ISS (ZARYA)",
"reference_frame": "tle",
"attrs": {
"line1": "1 25544U 98067A 08264.51782528 -.00002182 00000-0 -11606-4 0 2927",
"line2": "2 25544 51.6416 247.4627 0006703 130.5360 325.0288 15.72125391563537"
}
},
"pointing_fqdn": "low-tmc/telstate/0/pointing"
}]
},
"processing_blocks": [{
"pb_id": "pb-mvp01-20210623-00000",
"sbi_ids": ["sbi-mvp01-20200325-00001"],
"script": {
"kind": "realtime",
"name": "vis_receive",
"version": "0.1.0"
},
"parameters": {}
}, {
"pb_id": "pb-mvp01-20210623-00001",
"sbi_ids": ["sbi-mvp01-20200325-00001"],
"script": {
"kind": "realtime",
"name": "test_realtime",
"version": "0.1.0"
},
"parameters": {}
}, {
"pb_id": "pb-mvp01-20210623-00002",
"sbi_ids": ["sbi-mvp01-20200325-00002"],
"script": {
"kind": "batch",
"name": "ical",
"version": "0.1.0"
},
"parameters": {},
"dependencies": [{
"pb_id": "pb-mvp01-20210623-00000",
"kind": ["visibilities"]
}]
}, {
"pb_id": "pb-mvp01-20210623-00003",
"sbi_ids": ["sbi-mvp01-20200325-00001", "sbi-mvp01-20200325-00002"],
"script": {
"kind": "batch",
"name": "dpreb",
"version": "0.1.0"
},
"parameters": {},
"dependencies": [{
"pb_id": "pb-mvp01-20210623-00002",
"kind": ["calibration"]
}, {
"purpose": ["visibilities"],
"flow_key": {
"pb_id": "pb-mvp01-20320715-00001",
"kind": "data-product",
"name": "test-flow"
}
}]
}],
"resources": {
"receptors": ["SKA001", "SKA036", "SKA063", "SKA100"]
}
}
Used for assigning resources to an SDP subarray.
As concrete resource usage for the SDP depend strongly on the underlying processing script, this fully parameterises all processing blocks to be executed. This especially means that in contrast to most other sub-systems, SDP processing deployments might persist across scans (and scan configuration) boundaries.
type |
object |
|||
properties |
||||
|
type |
string |
||
|
type |
string |
||
|
Execution block |
|||
|
SDP external resources 1.1 |
|||
External resources |
||||
type |
object |
|||
properties |
||||
|
type |
array |
||
items |
type |
string |
||
additionalProperties |
True |
|||
|
Processing blocks |
|||
type |
array |
|||
items |
A Processing Block is an atomic unit of data processing for the purpose of SDP’s internal scheduler. Each PB references a processing script and together with the associated execution block provides all parameters necessary to carry out scheduling - both on TM’s side for observation planning and on SDP’s side - as well as enable processing to locate all required inputs once it is in progress. PBs are used for both real-time and deferred, batch, processing. An execution block will often contain many Processing Blocks, for example for ingest, self-calibration and Data Product preparation. |
|||
additionalProperties |
True |
|||
Execution_block_1.1
type |
object |
||||||
properties |
|||||||
|
type |
string |
|||||
|
Maximum observation length in seconds. Used to ensure that enough buffer capacity is available to capture data. Resource assignment might fail if we do not have enough space to guarantee that all data could be captured. |
||||||
type |
number |
||||||
|
Free-form information from OET, see ADR-54 |
||||||
type |
object |
||||||
|
Beam parameters |
||||||
type |
array |
||||||
items |
Beam parameters for the purpose of the Science Data Processor. |
||||||
|
Scan types. Associates scans with per-beam fields & channel configurations |
||||||
type |
array |
||||||
items |
Scan type 1.1 |
||||||
type |
object |
||||||
properties |
|||||||
|
Scan type ID |
||||||
type |
string |
||||||
|
ID of scan type this scan type derives from |
||||||
type |
string |
||||||
|
Scan type beams 1.1 |
||||||
Beams |
|||||||
type |
object |
||||||
properties |
|||||||
|
Scan type beam 1.1 |
||||||
type |
object |
||||||
properties |
|||||||
|
Field ID |
||||||
type |
string |
||||||
|
Channels ID |
||||||
type |
string |
||||||
|
Polarisations ID |
||||||
type |
string |
||||||
additionalProperties |
True |
||||||
additionalProperties |
True |
||||||
additionalProperties |
True |
||||||
|
Channels |
||||||
type |
array |
||||||
items |
Spectral windows per channel configuration. |
||||||
|
Polarisation definitions |
||||||
type |
array |
||||||
items |
polarisation 1.1 |
||||||
Polarisation definition. |
|||||||
type |
object |
||||||
properties |
|||||||
|
type |
string |
|||||
|
type |
array |
|||||
items |
type |
string |
|||||
additionalProperties |
True |
||||||
|
Fields / targets |
||||||
type |
array |
||||||
items |
fields 1.1 |
||||||
Fields / Targets |
|||||||
type |
object |
||||||
properties |
|||||||
|
type |
string |
|||||
|
type |
string |
|||||
|
Sky direction |
||||||
A union of the various standard sky direction representations supported by SKA, as defined in ADR-63. |
|||||||
anyOf |
ICRS sky direction 1.1 |
||||||
A sky direction defined in the ICRS reference frame. |
|||||||
type |
object |
||||||
properties |
|||||||
|
A name for the target. If reference_frame is ‘special’ or ‘tle’ then the name might be of a solar system body or a satellite in Earth orbit. |
||||||
type |
string |
||||||
|
Validation is case-insensitive. |
||||||
type |
string |
||||||
|
|
||||||
Attributes for an ICRS sky direction |
|||||||
type |
object |
||||||
properties |
|||||||
|
The longitude coordinate, specifying degrees right ascension in the ICRS reference frame. Value must be in the range 0 <= c1 < 360. |
||||||
type |
number |
||||||
|
The latitude coordinate, specifying degrees declination in the ICRS reference frame. Value must be in the range -90 <= c2 <= 90. |
||||||
type |
number |
||||||
|
Longitudinal proper motion of target, measured in arcseconds per year. |
||||||
type |
number |
||||||
default |
0.0 |
||||||
|
Latitudinal proper motion of target, measured in arcseconds per year. |
||||||
type |
number |
||||||
default |
0.0 |
||||||
|
Epoch of proper motion, giving the date when the proper motion offset was zero. |
||||||
type |
number |
||||||
default |
2000.0 |
||||||
|
The parallax in seconds of arc. |
||||||
type |
number |
||||||
default |
0.0 |
||||||
|
Radial velocity along the line of sight in m/s. |
||||||
type |
number |
||||||
default |
0.0 |
||||||
additionalProperties |
True |
||||||
additionalProperties |
True |
||||||
AltAz sky direction 1.1 |
|||||||
A sky direction defined in the AltAz reference frame |
|||||||
type |
object |
||||||
properties |
|||||||
|
A name for the target. If reference_frame is ‘special’ or ‘tle’ then the name might be of a solar system body or a satellite in Earth orbit. |
||||||
type |
string |
||||||
|
Validation is case-insensitive. |
||||||
type |
string |
||||||
|
|
||||||
Allowed attributes for an AltAz sky direction |
|||||||
type |
object |
||||||
properties |
|||||||
|
The azimuth coordinate in degrees. Value must be in the range 0 <= c1 < 360. |
||||||
type |
number |
||||||
|
The elevation coordinate in degrees. Value must be in the range 0 <= c2 <= 90. |
||||||
type |
number |
||||||
additionalProperties |
True |
||||||
additionalProperties |
True |
||||||
Galactic sky direction 1.1 |
|||||||
A sky direction defined in the Galactic reference frame. |
|||||||
type |
object |
||||||
properties |
|||||||
|
A name for the target. If reference_frame is ‘special’ or ‘tle’ then the name might be of a solar system body or a satellite in Earth orbit. |
||||||
type |
string |
||||||
|
Validation is case-insensitive. |
||||||
type |
string |
||||||
|
|
||||||
Attributes for a Galactic sky direction |
|||||||
type |
object |
||||||
properties |
|||||||
|
The longitude coordinate, specifying degrees right ascension in the Galactic reference frame. Value must be in the range 0 <= c1 < 360. |
||||||
type |
number |
||||||
|
The latitude coordinate, specifying degrees declination in the Galactic reference frame. Value must be in the range -90 <= c2 <= 90. |
||||||
type |
number |
||||||
|
Longitudinal proper motion of target, measured in arcseconds per year. |
||||||
type |
number |
||||||
default |
0.0 |
||||||
|
Latitudinal proper motion of target, measured in arcseconds per year. |
||||||
type |
number |
||||||
default |
0.0 |
||||||
|
Epoch of proper motion, giving the date when the proper motion offset was zero. |
||||||
type |
number |
||||||
default |
2000.0 |
||||||
|
The parallax in seconds of arc. |
||||||
type |
number |
||||||
default |
0.0 |
||||||
|
Radial velocity along the line of sight in m/s. |
||||||
type |
number |
||||||
default |
0.0 |
||||||
additionalProperties |
True |
||||||
additionalProperties |
True |
||||||
Special sky direction 1.1 |
|||||||
A sky direction whose coordinates are defined in Katpoint. |
|||||||
type |
object |
||||||
properties |
|||||||
|
A name for the target. This should be the name of a resolvable entity in Katpoint, for example, the name of a solar system body. |
||||||
type |
string |
||||||
|
Must be “special” for a catalogue sky direction. Validation is case-insensitive. |
||||||
type |
string |
||||||
additionalProperties |
True |
||||||
Two-Line Element sky direction 1.1 |
|||||||
A sky direction defined by a Two-Line Element (TLE) set. |
|||||||
type |
object |
||||||
properties |
|||||||
|
A name for the target. For a TLE sky direction, this could be the name of a satellite in orbit. |
||||||
type |
string |
||||||
|
Validation is case-insensitive. |
||||||
type |
string |
||||||
|
|
||||||
Attributes for a TLE sky direction. |
|||||||
type |
object |
||||||
properties |
|||||||
|
First line of a two-line element (TLE) sky direction. |
||||||
type |
string |
||||||
|
Second line of a two-line element (TLE) sky direction. |
||||||
type |
string |
||||||
additionalProperties |
True |
||||||
additionalProperties |
True |
||||||
additionalProperties |
True |
||||||
additionalProperties |
True |
||||||
Beam_1.1
Beam parameters for the purpose of the Science Data Processor.
type |
object |
|
properties |
||
|
Name to identify the beam within the SDP configuration. |
|
type |
string |
|
|
Identifies the type and origin of the generated beam data. This corresponds to a certain kind of calibration or receive functionality SDP is meant to provide for it. Possible options:
|
|
type |
string |
|
|
type |
integer |
|
type |
integer |
|
type |
integer |
|
type |
integer |
additionalProperties |
True |
|
Scan_channels_1.1
Spectral windows per channel configuration.
type |
object |
|||
properties |
||||
|
type |
string |
||
|
type |
array |
||
items |
Spectral window 1.1 |
|||
type |
object |
|||
properties |
||||
|
type |
string |
||
|
Number of channels |
|||
type |
integer |
|||
|
First channel ID |
|||
type |
integer |
|||
|
Distance between subsequent channel IDs |
|||
type |
integer |
|||
|
Lower bound of first channel |
|||
type |
number |
|||
|
Upper bound of last channel |
|||
type |
number |
|||
|
Channel map that specifies which network link is going to get used to send channels to SDP. Intended to allow SDP to optimise network and receive node configuration. |
|||
type |
array |
|||
items |
||||
additionalProperties |
True |
|||
additionalProperties |
True |
|||
Processing_block_1.1
A Processing Block is an atomic unit of data processing for the purpose of SDP’s internal scheduler. Each PB references a processing script and together with the associated execution block provides all parameters necessary to carry out scheduling - both on TM’s side for observation planning and on SDP’s side - as well as enable processing to locate all required inputs once it is in progress.
PBs are used for both real-time and deferred, batch, processing. An execution block will often contain many Processing Blocks, for example for ingest, self-calibration and Data Product preparation.
type |
object |
|||||
properties |
||||||
|
Unique identifier for this processing block. |
|||||
type |
string |
|||||
|
script 1.1 |
|||||
Specification of the workflow to be executed along with configuration parameters for the workflow. |
||||||
type |
object |
|||||
properties |
||||||
|
The kind of processing script (realtime or batch) |
|||||
type |
string |
|||||
|
The name of the processing script |
|||||
type |
string |
|||||
|
Version of the processing script. Uses semantic versioning. |
|||||
type |
string |
|||||
additionalProperties |
True |
|||||
|
Configuration parameters needed to execute the workflow. As these parameters will be workflow specific, this is left as an object to be specified by the workflow definition. |
|||||
type |
object |
|||||
|
Scheduling block instances that the processing block belongs to. |
|||||
type |
array |
|||||
items |
type |
string |
||||
|
A processing block might have a dependency between itself and other processing blocks or between itself and flows, which means that one processing block requires something from other processing blocks or flows to run - typically an intermediate Data Product. This generally means that:
|
|||||
type |
array |
|||||
items |
Dependency 1.1 |
|||||
anyOf |
type |
object |
||||
properties |
||||||
|
type |
string |
||||
|
type |
array |
||||
items |
type |
string |
||||
additionalProperties |
True |
|||||
type |
object |
|||||
properties |
||||||
|
type |
array |
||||
items |
type |
string |
||||
|
Flow dependency 1.1 |
|||||
type |
object |
|||||
properties |
||||||
|
type |
string |
||||
|
type |
string |
||||
|
type |
string |
||||
additionalProperties |
True |
|||||
additionalProperties |
True |
|||||
additionalProperties |
True |
|||||
SDP assign resources 1.0
Example
{
"execution_block": {
"eb_id": "eb-mvp01-20210623-00000",
"max_length": 100.0,
"context": {},
"beams": [{
"beam_id": "vis0",
"function": "visibilities"
}, {
"beam_id": "pss1",
"search_beam_id": 1,
"function": "pulsar search"
}, {
"beam_id": "pss2",
"search_beam_id": 2,
"function": "pulsar search"
}, {
"beam_id": "pst1",
"timing_beam_id": 1,
"function": "pulsar timing"
}, {
"beam_id": "pst2",
"timing_beam_id": 2,
"function": "pulsar timing"
}, {
"beam_id": "vlbi1",
"vlbi_beam_id": 1,
"function": "vlbi"
}],
"scan_types": [{
"scan_type_id": ".default",
"beams": {
"vis0": {
"channels_id": "vis_channels",
"polarisations_id": "all"
},
"pss1": {
"field_id": "pss_field_0",
"channels_id": "pulsar_channels",
"polarisations_id": "all"
},
"pss2": {
"field_id": "pss_field_1",
"channels_id": "pulsar_channels",
"polarisations_id": "all"
},
"pst1": {
"field_id": "pst_field_0",
"channels_id": "pulsar_channels",
"polarisations_id": "all"
},
"pst2": {
"field_id": "pst_field_1",
"channels_id": "pulsar_channels",
"polarisations_id": "all"
},
"vlbi": {
"field_id": "vlbi_field",
"channels_id": "vlbi_channels",
"polarisations_id": "all"
}
}
}, {
"scan_type_id": "target:a",
"derive_from": ".default",
"beams": {
"vis0": {
"field_id": "field_a"
}
}
}],
"channels": [{
"channels_id": "vis_channels",
"spectral_windows": [{
"spectral_window_id": "fsp_1_channels",
"count": 744,
"start": 0,
"stride": 2,
"freq_min": 350000000.0,
"freq_max": 368000000.0,
"link_map": [
[0, 0],
[200, 1],
[744, 2],
[944, 3]
]
}, {
"spectral_window_id": "fsp_2_channels",
"count": 744,
"start": 2000,
"stride": 1,
"freq_min": 360000000.0,
"freq_max": 368000000.0,
"link_map": [
[2000, 4],
[2200, 5]
]
}, {
"spectral_window_id": "zoom_window_1",
"count": 744,
"start": 4000,
"stride": 1,
"freq_min": 360000000.0,
"freq_max": 361000000.0,
"link_map": [
[4000, 6],
[4200, 7]
]
}]
}, {
"channels_id": "pulsar_channels",
"spectral_windows": [{
"spectral_window_id": "pulsar_fsp_channels",
"count": 744,
"start": 0,
"freq_min": 350000000.0,
"freq_max": 368000000.0
}]
}],
"polarisations": [{
"polarisations_id": "all",
"corr_type": ["XX", "XY", "YY", "YX"]
}],
"fields": [{
"field_id": "field_a",
"phase_dir": {
"target_name": "target_a",
"reference_frame": "icrs",
"attrs": {
"c1": 201.365,
"c2": -43.0191667
}
},
"pointing_fqdn": "low-tmc/telstate/0/pointing"
}, {
"field_id": "field_b",
"phase_dir": {
"target_name": "Zenith",
"reference_frame": "altaz",
"attrs": {
"c1": 180.0,
"c2": 90.0
}
},
"pointing_fqdn": "low-tmc/telstate/0/pointing"
}, {
"field_id": "field_c",
"phase_dir": {
"target_name": "Cass-A",
"reference_frame": "galactic",
"attrs": {
"c1": 111.734745,
"c2": -2.12957
}
},
"pointing_fqdn": "low-tmc/telstate/0/pointing"
}, {
"field_id": "field_d",
"phase_dir": {
"target_name": "Sun",
"reference_frame": "special"
},
"pointing_fqdn": "low-tmc/telstate/0/pointing"
}, {
"field_id": "field_e",
"phase_dir": {
"target_name": "ISS (ZARYA)",
"reference_frame": "tle",
"attrs": {
"line1": "1 25544U 98067A 08264.51782528 -.00002182 00000-0 -11606-4 0 2927",
"line2": "2 25544 51.6416 247.4627 0006703 130.5360 325.0288 15.72125391563537"
}
},
"pointing_fqdn": "low-tmc/telstate/0/pointing"
}]
},
"processing_blocks": [{
"pb_id": "pb-mvp01-20210623-00000",
"sbi_ids": ["sbi-mvp01-20200325-00001"],
"script": {
"kind": "realtime",
"name": "vis_receive",
"version": "0.1.0"
},
"parameters": {}
}, {
"pb_id": "pb-mvp01-20210623-00001",
"sbi_ids": ["sbi-mvp01-20200325-00001"],
"script": {
"kind": "realtime",
"name": "test_realtime",
"version": "0.1.0"
},
"parameters": {}
}, {
"pb_id": "pb-mvp01-20210623-00002",
"sbi_ids": ["sbi-mvp01-20200325-00002"],
"script": {
"kind": "batch",
"name": "ical",
"version": "0.1.0"
},
"parameters": {},
"dependencies": [{
"pb_id": "pb-mvp01-20210623-00000",
"kind": ["visibilities"]
}]
}, {
"pb_id": "pb-mvp01-20210623-00003",
"sbi_ids": ["sbi-mvp01-20200325-00001", "sbi-mvp01-20200325-00002"],
"script": {
"kind": "batch",
"name": "dpreb",
"version": "0.1.0"
},
"parameters": {},
"dependencies": [{
"pb_id": "pb-mvp01-20210623-00002",
"kind": ["calibration"]
}]
}],
"resources": {
"receptors": ["SKA001", "SKA036", "SKA063", "SKA100"]
}
}
Used for assigning resources to an SDP subarray.
As concrete resource usage for the SDP depend strongly on the underlying processing script, this fully parameterises all processing blocks to be executed. This especially means that in contrast to most other sub-systems, SDP processing deployments might persist across scans (and scan configuration) boundaries.
type |
object |
|||
properties |
||||
|
type |
string |
||
|
type |
string |
||
|
Execution block |
|||
|
SDP external resources 1.0 |
|||
External resources |
||||
type |
object |
|||
properties |
||||
|
type |
array |
||
items |
type |
string |
||
additionalProperties |
True |
|||
|
Processing blocks |
|||
type |
array |
|||
items |
A Processing Block is an atomic unit of data processing for the purpose of SDP’s internal scheduler. Each PB references a processing script and together with the associated execution block provides all parameters necessary to carry out scheduling - both on TM’s side for observation planning and on SDP’s side - as well as enable processing to locate all required inputs once it is in progress. PBs are used for both real-time and deferred, batch, processing. An execution block will often contain many Processing Blocks, for example for ingest, self-calibration and Data Product preparation. |
|||
additionalProperties |
True |
|||
Execution_block_1.0
type |
object |
||||||
properties |
|||||||
|
type |
string |
|||||
|
Maximum observation length in seconds. Used to ensure that enough buffer capacity is available to capture data. Resource assignment might fail if we do not have enough space to guarantee that all data could be captured. |
||||||
type |
number |
||||||
|
Free-form information from OET, see ADR-54 |
||||||
type |
object |
||||||
|
Beam parameters |
||||||
type |
array |
||||||
items |
Beam parameters for the purpose of the Science Data Processor. |
||||||
|
Scan types. Associates scans with per-beam fields & channel configurations |
||||||
type |
array |
||||||
items |
Scan type 1.0 |
||||||
type |
object |
||||||
properties |
|||||||
|
Scan type ID |
||||||
type |
string |
||||||
|
ID of scan type this scan type derives from |
||||||
type |
string |
||||||
|
Scan type beams 1.0 |
||||||
Beams |
|||||||
type |
object |
||||||
properties |
|||||||
|
Scan type beam 1.0 |
||||||
type |
object |
||||||
properties |
|||||||
|
Field ID |
||||||
type |
string |
||||||
|
Channels ID |
||||||
type |
string |
||||||
|
Polarisations ID |
||||||
type |
string |
||||||
additionalProperties |
True |
||||||
additionalProperties |
True |
||||||
additionalProperties |
True |
||||||
|
Channels |
||||||
type |
array |
||||||
items |
Spectral windows per channel configuration. |
||||||
|
Polarisation definitions |
||||||
type |
array |
||||||
items |
polarisation 1.0 |
||||||
Polarisation definition. |
|||||||
type |
object |
||||||
properties |
|||||||
|
type |
string |
|||||
|
type |
array |
|||||
items |
type |
string |
|||||
additionalProperties |
True |
||||||
|
Fields / targets |
||||||
type |
array |
||||||
items |
fields 1.0 |
||||||
Fields / Targets |
|||||||
type |
object |
||||||
properties |
|||||||
|
type |
string |
|||||
|
type |
string |
|||||
|
Sky direction |
||||||
A union of the various standard sky direction representations supported by SKA, as defined in ADR-63. |
|||||||
anyOf |
ICRS sky direction 1.0 |
||||||
A sky direction defined in the ICRS reference frame. |
|||||||
type |
object |
||||||
properties |
|||||||
|
A name for the target. If reference_frame is ‘special’ or ‘tle’ then the name might be of a solar system body or a satellite in Earth orbit. |
||||||
type |
string |
||||||
|
Validation is case-insensitive. |
||||||
type |
string |
||||||
|
|
||||||
Attributes for an ICRS sky direction |
|||||||
type |
object |
||||||
properties |
|||||||
|
The longitude coordinate, specifying degrees right ascension in the ICRS reference frame. Value must be in the range 0 <= c1 < 360. |
||||||
type |
number |
||||||
|
The latitude coordinate, specifying degrees declination in the ICRS reference frame. Value must be in the range -90 <= c2 <= 90. |
||||||
type |
number |
||||||
|
Longitudinal proper motion of target, measured in arcseconds per year. |
||||||
type |
number |
||||||
default |
0.0 |
||||||
|
Latitudinal proper motion of target, measured in arcseconds per year. |
||||||
type |
number |
||||||
default |
0.0 |
||||||
|
Epoch of proper motion, giving the date when the proper motion offset was zero. |
||||||
type |
number |
||||||
default |
2000.0 |
||||||
|
The parallax in seconds of arc. |
||||||
type |
number |
||||||
default |
0.0 |
||||||
|
Radial velocity along the line of sight in m/s. |
||||||
type |
number |
||||||
default |
0.0 |
||||||
additionalProperties |
True |
||||||
additionalProperties |
True |
||||||
AltAz sky direction 1.0 |
|||||||
A sky direction defined in the AltAz reference frame |
|||||||
type |
object |
||||||
properties |
|||||||
|
A name for the target. If reference_frame is ‘special’ or ‘tle’ then the name might be of a solar system body or a satellite in Earth orbit. |
||||||
type |
string |
||||||
|
Validation is case-insensitive. |
||||||
type |
string |
||||||
|
|
||||||
Allowed attributes for an AltAz sky direction |
|||||||
type |
object |
||||||
properties |
|||||||
|
The azimuth coordinate in degrees. Value must be in the range 0 <= c1 < 360. |
||||||
type |
number |
||||||
|
The elevation coordinate in degrees. Value must be in the range 0 <= c2 <= 90. |
||||||
type |
number |
||||||
additionalProperties |
True |
||||||
additionalProperties |
True |
||||||
Galactic sky direction 1.0 |
|||||||
A sky direction defined in the Galactic reference frame. |
|||||||
type |
object |
||||||
properties |
|||||||
|
A name for the target. If reference_frame is ‘special’ or ‘tle’ then the name might be of a solar system body or a satellite in Earth orbit. |
||||||
type |
string |
||||||
|
Validation is case-insensitive. |
||||||
type |
string |
||||||
|
|
||||||
Attributes for a Galactic sky direction |
|||||||
type |
object |
||||||
properties |
|||||||
|
The longitude coordinate, specifying degrees right ascension in the Galactic reference frame. Value must be in the range 0 <= c1 < 360. |
||||||
type |
number |
||||||
|
The latitude coordinate, specifying degrees declination in the Galactic reference frame. Value must be in the range -90 <= c2 <= 90. |
||||||
type |
number |
||||||
|
Longitudinal proper motion of target, measured in arcseconds per year. |
||||||
type |
number |
||||||
default |
0.0 |
||||||
|
Latitudinal proper motion of target, measured in arcseconds per year. |
||||||
type |
number |
||||||
default |
0.0 |
||||||
|
Epoch of proper motion, giving the date when the proper motion offset was zero. |
||||||
type |
number |
||||||
default |
2000.0 |
||||||
|
The parallax in seconds of arc. |
||||||
type |
number |
||||||
default |
0.0 |
||||||
|
Radial velocity along the line of sight in m/s. |
||||||
type |
number |
||||||
default |
0.0 |
||||||
additionalProperties |
True |
||||||
additionalProperties |
True |
||||||
Special sky direction 1.0 |
|||||||
A sky direction whose coordinates are defined in Katpoint. |
|||||||
type |
object |
||||||
properties |
|||||||
|
A name for the target. This should be the name of a resolvable entity in Katpoint, for example, the name of a solar system body. |
||||||
type |
string |
||||||
|
Must be “special” for a catalogue sky direction. Validation is case-insensitive. |
||||||
type |
string |
||||||
additionalProperties |
True |
||||||
Two-Line Element sky direction 1.0 |
|||||||
A sky direction defined by a Two-Line Element (TLE) set. |
|||||||
type |
object |
||||||
properties |
|||||||
|
A name for the target. For a TLE sky direction, this could be the name of a satellite in orbit. |
||||||
type |
string |
||||||
|
Validation is case-insensitive. |
||||||
type |
string |
||||||
|
|
||||||
Attributes for a TLE sky direction. |
|||||||
type |
object |
||||||
properties |
|||||||
|
First line of a two-line element (TLE) sky direction. |
||||||
type |
string |
||||||
|
Second line of a two-line element (TLE) sky direction. |
||||||
type |
string |
||||||
additionalProperties |
True |
||||||
additionalProperties |
True |
||||||
additionalProperties |
True |
||||||
additionalProperties |
True |
||||||
Beam_1.0
Beam parameters for the purpose of the Science Data Processor.
type |
object |
|
properties |
||
|
Name to identify the beam within the SDP configuration. |
|
type |
string |
|
|
Identifies the type and origin of the generated beam data. This corresponds to a certain kind of calibration or receive functionality SDP is meant to provide for it. Possible options:
|
|
type |
string |
|
|
type |
integer |
|
type |
integer |
|
type |
integer |
|
type |
integer |
additionalProperties |
True |
|
Scan_channels_1.0
Spectral windows per channel configuration.
type |
object |
|||
properties |
||||
|
type |
string |
||
|
type |
array |
||
items |
Spectral window 1.0 |
|||
type |
object |
|||
properties |
||||
|
type |
string |
||
|
Number of channels |
|||
type |
integer |
|||
|
First channel ID |
|||
type |
integer |
|||
|
Distance between subsequent channel IDs |
|||
type |
integer |
|||
|
Lower bound of first channel |
|||
type |
number |
|||
|
Upper bound of last channel |
|||
type |
number |
|||
|
Channel map that specifies which network link is going to get used to send channels to SDP. Intended to allow SDP to optimise network and receive node configuration. |
|||
type |
array |
|||
items |
||||
additionalProperties |
True |
|||
additionalProperties |
True |
|||
Processing_block_1.0
A Processing Block is an atomic unit of data processing for the purpose of SDP’s internal scheduler. Each PB references a processing script and together with the associated execution block provides all parameters necessary to carry out scheduling - both on TM’s side for observation planning and on SDP’s side - as well as enable processing to locate all required inputs once it is in progress.
PBs are used for both real-time and deferred, batch, processing. An execution block will often contain many Processing Blocks, for example for ingest, self-calibration and Data Product preparation.
type |
object |
||||
properties |
|||||
|
Unique identifier for this processing block. |
||||
type |
string |
||||
|
script 1.0 |
||||
Specification of the workflow to be executed along with configuration parameters for the workflow. |
|||||
type |
object |
||||
properties |
|||||
|
The kind of processing script (realtime or batch) |
||||
type |
string |
||||
|
The name of the processing script |
||||
type |
string |
||||
|
Version of the processing script. Uses semantic versioning. |
||||
type |
string |
||||
additionalProperties |
True |
||||
|
Configuration parameters needed to execute the workflow. As these parameters will be workflow specific, this is left as an object to be specified by the workflow definition. |
||||
type |
object |
||||
|
A dependency between processing blocks means that one processing block requires something from the other processing block to run - typically an intermediate Data Product. This generally means that
As processing blocks might have many different outputs, the dependency “kind” can be used to specify how this dependency is meant to be interpreted (e.g. “visibilities”, “calibration”…) |
||||
type |
array |
||||
items |
Processing block dependency 1.0 |
||||
type |
object |
||||
properties |
|||||
|
type |
string |
|||
|
type |
array |
|||
items |
type |
string |
|||
additionalProperties |
True |
||||
|
Scheduling block instances that the processing block belongs to. |
||||
type |
array |
||||
items |
type |
string |
|||
additionalProperties |
True |
||||
SDP assign resources 0.5
Example
{
"execution_block": {
"eb_id": "eb-mvp01-20210623-00000",
"max_length": 100.0,
"context": {},
"beams": [{
"beam_id": "vis0",
"function": "visibilities"
}, {
"beam_id": "pss1",
"search_beam_id": 1,
"function": "pulsar search"
}, {
"beam_id": "pss2",
"search_beam_id": 2,
"function": "pulsar search"
}, {
"beam_id": "pst1",
"timing_beam_id": 1,
"function": "pulsar timing"
}, {
"beam_id": "pst2",
"timing_beam_id": 2,
"function": "pulsar timing"
}, {
"beam_id": "vlbi1",
"vlbi_beam_id": 1,
"function": "vlbi"
}],
"scan_types": [{
"scan_type_id": ".default",
"beams": {
"vis0": {
"channels_id": "vis_channels",
"polarisations_id": "all"
},
"pss1": {
"field_id": "pss_field_0",
"channels_id": "pulsar_channels",
"polarisations_id": "all"
},
"pss2": {
"field_id": "pss_field_1",
"channels_id": "pulsar_channels",
"polarisations_id": "all"
},
"pst1": {
"field_id": "pst_field_0",
"channels_id": "pulsar_channels",
"polarisations_id": "all"
},
"pst2": {
"field_id": "pst_field_1",
"channels_id": "pulsar_channels",
"polarisations_id": "all"
},
"vlbi": {
"field_id": "vlbi_field",
"channels_id": "vlbi_channels",
"polarisations_id": "all"
}
}
}, {
"scan_type_id": "target:a",
"derive_from": ".default",
"beams": {
"vis0": {
"field_id": "field_a"
}
}
}],
"channels": [{
"channels_id": "vis_channels",
"spectral_windows": [{
"spectral_window_id": "fsp_1_channels",
"count": 744,
"start": 0,
"stride": 2,
"freq_min": 350000000.0,
"freq_max": 368000000.0,
"link_map": [
[0, 0],
[200, 1],
[744, 2],
[944, 3]
]
}, {
"spectral_window_id": "fsp_2_channels",
"count": 744,
"start": 2000,
"stride": 1,
"freq_min": 360000000.0,
"freq_max": 368000000.0,
"link_map": [
[2000, 4],
[2200, 5]
]
}, {
"spectral_window_id": "zoom_window_1",
"count": 744,
"start": 4000,
"stride": 1,
"freq_min": 360000000.0,
"freq_max": 361000000.0,
"link_map": [
[4000, 6],
[4200, 7]
]
}]
}, {
"channels_id": "pulsar_channels",
"spectral_windows": [{
"spectral_window_id": "pulsar_fsp_channels",
"count": 744,
"start": 0,
"freq_min": 350000000.0,
"freq_max": 368000000.0
}]
}],
"polarisations": [{
"polarisations_id": "all",
"corr_type": ["XX", "XY", "YY", "YX"]
}],
"fields": [{
"field_id": "field_a",
"phase_dir": {
"ra": [123, 0.1],
"dec": [80, 0.1],
"reference_time": "...",
"reference_frame": "ICRF3"
},
"pointing_fqdn": "low-tmc/telstate/0/pointing"
}]
},
"processing_blocks": [{
"pb_id": "pb-mvp01-20210623-00000",
"sbi_ids": ["sbi-mvp01-20200325-00001"],
"script": {
"kind": "realtime",
"name": "vis_receive",
"version": "0.1.0"
},
"parameters": {}
}, {
"pb_id": "pb-mvp01-20210623-00001",
"sbi_ids": ["sbi-mvp01-20200325-00001"],
"script": {
"kind": "realtime",
"name": "test_realtime",
"version": "0.1.0"
},
"parameters": {}
}, {
"pb_id": "pb-mvp01-20210623-00002",
"sbi_ids": ["sbi-mvp01-20200325-00002"],
"script": {
"kind": "batch",
"name": "ical",
"version": "0.1.0"
},
"parameters": {},
"dependencies": [{
"pb_id": "pb-mvp01-20210623-00000",
"kind": ["visibilities"]
}]
}, {
"pb_id": "pb-mvp01-20210623-00003",
"sbi_ids": ["sbi-mvp01-20200325-00001", "sbi-mvp01-20200325-00002"],
"script": {
"kind": "batch",
"name": "dpreb",
"version": "0.1.0"
},
"parameters": {},
"dependencies": [{
"pb_id": "pb-mvp01-20210623-00002",
"kind": ["calibration"]
}]
}],
"resources": {
"receptors": ["SKA001", "SKA036", "SKA063", "SKA100"]
}
}
Used for assigning resources to an SDP subarray.
As concrete resource usage for the SDP depend strongly on the underlying processing script, this fully parameterises all processing blocks to be executed. This especially means that in contrast to most other sub-systems, SDP processing deployments might persist across scans (and scan configuration) boundaries.
type |
object |
|||
properties |
||||
|
type |
string |
||
|
type |
string |
||
|
Execution block |
|||
|
SDP external resources 0.5 |
|||
External resources |
||||
type |
object |
|||
properties |
||||
|
type |
array |
||
items |
type |
string |
||
additionalProperties |
True |
|||
|
Processing blocks |
|||
type |
array |
|||
items |
A Processing Block is an atomic unit of data processing for the purpose of SDP’s internal scheduler. Each PB references a processing script and together with the associated execution block provides all parameters necessary to carry out scheduling - both on TM’s side for observation planning and on SDP’s side - as well as enable processing to locate all required inputs once it is in progress. PBs are used for both real-time and deferred, batch, processing. An execution block will often contain many Processing Blocks, for example for ingest, self-calibration and Data Product preparation. |
|||
additionalProperties |
True |
|||
Execution_block_0.5
type |
object |
|||||
properties |
||||||
|
type |
string |
||||
|
Maximum observation length in seconds. Used to ensure that enough buffer capacity is available to capture data. Resource assignment might fail if we do not have enough space to guarantee that all data could be captured. |
|||||
type |
number |
|||||
|
Free-form information from OET, see ADR-54 |
|||||
type |
object |
|||||
|
Beam parameters |
|||||
type |
array |
|||||
items |
Beam parameters for the purpose of the Science Data Processor. |
|||||
|
Scan types. Associates scans with per-beam fields & channel configurations |
|||||
type |
array |
|||||
items |
Scan type 0.5 |
|||||
type |
object |
|||||
properties |
||||||
|
Scan type ID |
|||||
type |
string |
|||||
|
ID of scan type this scan type derives from |
|||||
type |
string |
|||||
|
Scan type beams 0.5 |
|||||
Beams |
||||||
type |
object |
|||||
properties |
||||||
|
Scan type beam 0.5 |
|||||
type |
object |
|||||
properties |
||||||
|
Field ID |
|||||
type |
string |
|||||
|
Channels ID |
|||||
type |
string |
|||||
|
Polarisations ID |
|||||
type |
string |
|||||
additionalProperties |
True |
|||||
additionalProperties |
True |
|||||
additionalProperties |
True |
|||||
|
Channels |
|||||
type |
array |
|||||
items |
Spectral windows per channel configuration. |
|||||
|
Polarisation definitions |
|||||
type |
array |
|||||
items |
polarisation 0.5 |
|||||
Polarisation definition. |
||||||
type |
object |
|||||
properties |
||||||
|
type |
string |
||||
|
type |
array |
||||
items |
type |
string |
||||
additionalProperties |
True |
|||||
|
Fields / targets |
|||||
type |
array |
|||||
items |
fields 0.5 |
|||||
Fields / Targets |
||||||
type |
object |
|||||
properties |
||||||
|
type |
string |
||||
|
phase_dir 0.5 |
|||||
Phase direction |
||||||
type |
object |
|||||
properties |
||||||
|
type |
array |
||||
items |
||||||
|
type |
array |
||||
items |
||||||
|
type |
string |
||||
|
const |
ICRF3 |
||||
additionalProperties |
True |
|||||
|
type |
string |
||||
additionalProperties |
True |
|||||
additionalProperties |
True |
|||||
Beam_0.5
Beam parameters for the purpose of the Science Data Processor.
type |
object |
|
properties |
||
|
Name to identify the beam within the SDP configuration. |
|
type |
string |
|
|
Identifies the type and origin of the generated beam data. This corresponds to a certain kind of calibration or receive functionality SDP is meant to provide for it. Possible options:
|
|
type |
string |
|
|
type |
integer |
|
type |
integer |
|
type |
integer |
|
type |
integer |
additionalProperties |
True |
|
Scan_channels_0.5
Spectral windows per channel configuration.
type |
object |
|||
properties |
||||
|
type |
string |
||
|
type |
array |
||
items |
Spectral window 0.5 |
|||
type |
object |
|||
properties |
||||
|
type |
string |
||
|
Number of channels |
|||
type |
integer |
|||
|
First channel ID |
|||
type |
integer |
|||
|
Distance between subsequent channel IDs |
|||
type |
integer |
|||
|
Lower bound of first channel |
|||
type |
number |
|||
|
Upper bound of last channel |
|||
type |
number |
|||
|
Channel map that specifies which network link is going to get used to send channels to SDP. Intended to allow SDP to optimise network and receive node configuration. |
|||
type |
array |
|||
items |
||||
additionalProperties |
True |
|||
additionalProperties |
True |
|||
Processing_block_0.5
A Processing Block is an atomic unit of data processing for the purpose of SDP’s internal scheduler. Each PB references a processing script and together with the associated execution block provides all parameters necessary to carry out scheduling - both on TM’s side for observation planning and on SDP’s side - as well as enable processing to locate all required inputs once it is in progress.
PBs are used for both real-time and deferred, batch, processing. An execution block will often contain many Processing Blocks, for example for ingest, self-calibration and Data Product preparation.
type |
object |
||||
properties |
|||||
|
Unique identifier for this processing block. |
||||
type |
string |
||||
|
script 0.5 |
||||
Specification of the workflow to be executed along with configuration parameters for the workflow. |
|||||
type |
object |
||||
properties |
|||||
|
The kind of processing script (realtime or batch) |
||||
type |
string |
||||
|
The name of the processing script |
||||
type |
string |
||||
|
Version of the processing script. Uses semantic versioning. |
||||
type |
string |
||||
additionalProperties |
True |
||||
|
Configuration parameters needed to execute the workflow. As these parameters will be workflow specific, this is left as an object to be specified by the workflow definition. |
||||
type |
object |
||||
|
A dependency between processing blocks means that one processing block requires something from the other processing block to run - typically an intermediate Data Product. This generally means that
As processing blocks might have many different outputs, the dependency “kind” can be used to specify how this dependency is meant to be interpreted (e.g. “visibilities”, “calibration”…) |
||||
type |
array |
||||
items |
Processing block dependency 0.5 |
||||
type |
object |
||||
properties |
|||||
|
type |
string |
|||
|
type |
array |
|||
items |
type |
string |
|||
additionalProperties |
True |
||||
|
Scheduling block instances that the processing block belongs to. |
||||
type |
array |
||||
items |
type |
string |
|||
additionalProperties |
True |
||||
SDP assign resources 0.4
Example
{
"execution_block": {
"eb_id": "eb-mvp01-20210623-00000",
"max_length": 100.0,
"context": {},
"beams": [{
"beam_id": "vis0",
"function": "visibilities"
}, {
"beam_id": "pss1",
"search_beam_id": 1,
"function": "pulsar search"
}, {
"beam_id": "pss2",
"search_beam_id": 2,
"function": "pulsar search"
}, {
"beam_id": "pst1",
"timing_beam_id": 1,
"function": "pulsar timing"
}, {
"beam_id": "pst2",
"timing_beam_id": 2,
"function": "pulsar timing"
}, {
"beam_id": "vlbi1",
"vlbi_beam_id": 1,
"function": "vlbi"
}],
"scan_types": [{
"scan_type_id": ".default",
"beams": {
"vis0": {
"channels_id": "vis_channels",
"polarisations_id": "all"
},
"pss1": {
"field_id": "pss_field_0",
"channels_id": "pulsar_channels",
"polarisations_id": "all"
},
"pss2": {
"field_id": "pss_field_1",
"channels_id": "pulsar_channels",
"polarisations_id": "all"
},
"pst1": {
"field_id": "pst_field_0",
"channels_id": "pulsar_channels",
"polarisations_id": "all"
},
"pst2": {
"field_id": "pst_field_1",
"channels_id": "pulsar_channels",
"polarisations_id": "all"
},
"vlbi": {
"field_id": "vlbi_field",
"channels_id": "vlbi_channels",
"polarisations_id": "all"
}
}
}, {
"scan_type_id": "target:a",
"derive_from": ".default",
"beams": {
"vis0": {
"field_id": "field_a"
}
}
}],
"channels": [{
"channels_id": "vis_channels",
"spectral_windows": [{
"spectral_window_id": "fsp_1_channels",
"count": 744,
"start": 0,
"stride": 2,
"freq_min": 350000000.0,
"freq_max": 368000000.0,
"link_map": [
[0, 0],
[200, 1],
[744, 2],
[944, 3]
]
}, {
"spectral_window_id": "fsp_2_channels",
"count": 744,
"start": 2000,
"stride": 1,
"freq_min": 360000000.0,
"freq_max": 368000000.0,
"link_map": [
[2000, 4],
[2200, 5]
]
}, {
"spectral_window_id": "zoom_window_1",
"count": 744,
"start": 4000,
"stride": 1,
"freq_min": 360000000.0,
"freq_max": 361000000.0,
"link_map": [
[4000, 6],
[4200, 7]
]
}]
}, {
"channels_id": "pulsar_channels",
"spectral_windows": [{
"spectral_window_id": "pulsar_fsp_channels",
"count": 744,
"start": 0,
"freq_min": 350000000.0,
"freq_max": 368000000.0
}]
}],
"polarisations": [{
"polarisations_id": "all",
"corr_type": ["XX", "XY", "YY", "YX"]
}],
"fields": [{
"field_id": "field_a",
"phase_dir": {
"ra": [123, 0.1],
"dec": [80, 0.1],
"reference_time": "...",
"reference_frame": "ICRF3"
},
"pointing_fqdn": "low-tmc/telstate/0/pointing"
}]
},
"processing_blocks": [{
"pb_id": "pb-mvp01-20210623-00000",
"sbi_ids": ["sbi-mvp01-20200325-00001"],
"script": {
"kind": "realtime",
"name": "vis_receive",
"version": "0.1.0"
},
"parameters": {}
}, {
"pb_id": "pb-mvp01-20210623-00001",
"sbi_ids": ["sbi-mvp01-20200325-00001"],
"script": {
"kind": "realtime",
"name": "test_realtime",
"version": "0.1.0"
},
"parameters": {}
}, {
"pb_id": "pb-mvp01-20210623-00002",
"sbi_ids": ["sbi-mvp01-20200325-00002"],
"script": {
"kind": "batch",
"name": "ical",
"version": "0.1.0"
},
"parameters": {},
"dependencies": [{
"pb_id": "pb-mvp01-20210623-00000",
"kind": ["visibilities"]
}]
}, {
"pb_id": "pb-mvp01-20210623-00003",
"sbi_ids": ["sbi-mvp01-20200325-00001", "sbi-mvp01-20200325-00002"],
"script": {
"kind": "batch",
"name": "dpreb",
"version": "0.1.0"
},
"parameters": {},
"dependencies": [{
"pb_id": "pb-mvp01-20210623-00002",
"kind": ["calibration"]
}]
}],
"resources": {
"receptors": ["SKA001", "SKA036", "SKA063", "SKA100"]
}
}
Used for assigning resources to an SDP subarray.
As concrete resource usage for the SDP depend strongly on the underlying processing script, this fully parameterises all processing blocks to be executed. This especially means that in contrast to most other sub-systems, SDP processing deployments might persist across scans (and scan configuration) boundaries.
type |
object |
|||
properties |
||||
|
type |
string |
||
|
type |
string |
||
|
Execution block |
|||
|
SDP external resources 0.4 |
|||
External resources |
||||
type |
object |
|||
properties |
||||
|
type |
array |
||
items |
type |
string |
||
additionalProperties |
True |
|||
|
Processing blocks |
|||
type |
array |
|||
items |
A Processing Block is an atomic unit of data processing for the purpose of SDP’s internal scheduler. Each PB references a processing script and together with the associated execution block provides all parameters necessary to carry out scheduling - both on TM’s side for observation planning and on SDP’s side - as well as enable processing to locate all required inputs once it is in progress. PBs are used for both real-time and deferred, batch, processing. An execution block will often contain many Processing Blocks, for example for ingest, self-calibration and Data Product preparation. |
|||
additionalProperties |
True |
|||
Execution_block_0.4
type |
object |
|||||
properties |
||||||
|
type |
string |
||||
|
Maximum observation length in seconds. Used to ensure that enough buffer capacity is available to capture data. Resource assignment might fail if we do not have enough space to guarantee that all data could be captured. |
|||||
type |
number |
|||||
|
Free-form information from OET, see ADR-54 |
|||||
type |
object |
|||||
|
Beam parameters |
|||||
type |
array |
|||||
items |
Beam parameters for the purpose of the Science Data Processor. |
|||||
|
Scan types. Associates scans with per-beam fields & channel configurations |
|||||
type |
array |
|||||
items |
Scan type 0.4 |
|||||
type |
object |
|||||
properties |
||||||
|
Scan type ID |
|||||
type |
string |
|||||
|
ID of scan type this scan type derives from |
|||||
type |
string |
|||||
|
Scan type beams 0.4 |
|||||
Beams |
||||||
type |
object |
|||||
properties |
||||||
|
Scan type beam 0.4 |
|||||
type |
object |
|||||
properties |
||||||
|
Field ID |
|||||
type |
string |
|||||
|
Channels ID |
|||||
type |
string |
|||||
|
Polarisations ID |
|||||
type |
string |
|||||
additionalProperties |
True |
|||||
additionalProperties |
True |
|||||
additionalProperties |
True |
|||||
|
Channels |
|||||
type |
array |
|||||
items |
Spectral windows per channel configuration. |
|||||
|
Polarisation definitions |
|||||
type |
array |
|||||
items |
polarisation 0.4 |
|||||
Polarisation definition. |
||||||
type |
object |
|||||
properties |
||||||
|
type |
string |
||||
|
type |
array |
||||
items |
type |
string |
||||
additionalProperties |
True |
|||||
|
Fields / targets |
|||||
type |
array |
|||||
items |
fields 0.4 |
|||||
Fields / Targets |
||||||
type |
object |
|||||
properties |
||||||
|
type |
string |
||||
|
phase_dir 0.4 |
|||||
Phase direction |
||||||
type |
object |
|||||
properties |
||||||
|
type |
array |
||||
items |
||||||
|
type |
array |
||||
items |
||||||
|
type |
string |
||||
|
const |
ICRF3 |
||||
additionalProperties |
True |
|||||
|
type |
string |
||||
additionalProperties |
True |
|||||
additionalProperties |
True |
|||||
Beam_0.4
Beam parameters for the purpose of the Science Data Processor.
type |
object |
|
properties |
||
|
Name to identify the beam within the SDP configuration. |
|
type |
string |
|
|
Identifies the type and origin of the generated beam data. This corresponds to a certain kind of calibration or receive functionality SDP is meant to provide for it. Possible options:
|
|
type |
string |
|
|
type |
integer |
|
type |
integer |
|
type |
integer |
|
type |
integer |
additionalProperties |
True |
|
Scan_channels_0.4
Spectral windows per channel configuration.
type |
object |
|||
properties |
||||
|
type |
string |
||
|
type |
array |
||
items |
Spectral window 0.4 |
|||
type |
object |
|||
properties |
||||
|
type |
string |
||
|
Number of channels |
|||
type |
integer |
|||
|
First channel ID |
|||
type |
integer |
|||
|
Distance between subsequent channel IDs |
|||
type |
integer |
|||
|
Lower bound of first channel |
|||
type |
number |
|||
|
Upper bound of last channel |
|||
type |
number |
|||
|
Channel map that specifies which network link is going to get used to send channels to SDP. Intended to allow SDP to optimise network and receive node configuration. |
|||
type |
array |
|||
items |
||||
additionalProperties |
True |
|||
additionalProperties |
True |
|||
Processing_block_0.4
A Processing Block is an atomic unit of data processing for the purpose of SDP’s internal scheduler. Each PB references a processing script and together with the associated execution block provides all parameters necessary to carry out scheduling - both on TM’s side for observation planning and on SDP’s side - as well as enable processing to locate all required inputs once it is in progress.
PBs are used for both real-time and deferred, batch, processing. An execution block will often contain many Processing Blocks, for example for ingest, self-calibration and Data Product preparation.
type |
object |
||||
properties |
|||||
|
Unique identifier for this processing block. |
||||
type |
string |
||||
|
script 0.4 |
||||
Specification of the workflow to be executed along with configuration parameters for the workflow. |
|||||
type |
object |
||||
properties |
|||||
|
The kind of processing script (realtime or batch) |
||||
type |
string |
||||
|
The name of the processing script |
||||
type |
string |
||||
|
Version of the processing script. Uses semantic versioning. |
||||
type |
string |
||||
additionalProperties |
True |
||||
|
Configuration parameters needed to execute the workflow. As these parameters will be workflow specific, this is left as an object to be specified by the workflow definition. |
||||
type |
object |
||||
|
A dependency between processing blocks means that one processing block requires something from the other processing block to run - typically an intermediate Data Product. This generally means that
As processing blocks might have many different outputs, the dependency “kind” can be used to specify how this dependency is meant to be interpreted (e.g. “visibilities”, “calibration”…) |
||||
type |
array |
||||
items |
Processing block dependency 0.4 |
||||
type |
object |
||||
properties |
|||||
|
type |
string |
|||
|
type |
array |
|||
items |
type |
string |
|||
additionalProperties |
True |
||||
|
Scheduling block instances that the processing block belongs to. |
||||
type |
array |
||||
items |
type |
string |
|||
additionalProperties |
True |
||||
SDP assign resources 0.3
Example
{
"eb_id": "eb-mvp01-20210623-00000",
"max_length": 100.0,
"scan_types": [{
"scan_type_id": "science",
"reference_frame": "ICRS",
"ra": "02:42:40.771",
"dec": "-00:00:47.84",
"channels": [{
"count": 744,
"start": 0,
"stride": 2,
"freq_min": 350000000.0,
"freq_max": 368000000.0,
"link_map": [
[0, 0],
[200, 1],
[744, 2],
[944, 3]
]
}, {
"count": 744,
"start": 2000,
"stride": 1,
"freq_min": 360000000.0,
"freq_max": 368000000.0,
"link_map": [
[2000, 4],
[2200, 5]
]
}]
}, {
"scan_type_id": "calibration",
"reference_frame": "ICRS",
"ra": "12:29:06.699",
"dec": "02:03:08.598",
"channels": [{
"count": 744,
"start": 0,
"stride": 2,
"freq_min": 350000000.0,
"freq_max": 368000000.0,
"link_map": [
[0, 0],
[200, 1],
[744, 2],
[944, 3]
]
}, {
"count": 744,
"start": 2000,
"stride": 1,
"freq_min": 360000000.0,
"freq_max": 368000000.0,
"link_map": [
[2000, 4],
[2200, 5]
]
}]
}],
"processing_blocks": [{
"pb_id": "pb-mvp01-20210623-00000",
"workflow": {
"kind": "realtime",
"name": "vis_receive",
"version": "0.1.0"
},
"parameters": {}
}, {
"pb_id": "pb-mvp01-20210623-00001",
"workflow": {
"kind": "realtime",
"name": "test_realtime",
"version": "0.1.0"
},
"parameters": {}
}, {
"pb_id": "pb-mvp01-20210623-00002",
"workflow": {
"kind": "batch",
"name": "ical",
"version": "0.1.0"
},
"parameters": {},
"dependencies": [{
"pb_id": "pb-mvp01-20210623-00000",
"kind": ["visibilities"]
}]
}, {
"pb_id": "pb-mvp01-20210623-00003",
"workflow": {
"kind": "batch",
"name": "dpreb",
"version": "0.1.0"
},
"parameters": {},
"dependencies": [{
"pb_id": "pb-mvp01-20210623-00002",
"kind": ["calibration"]
}]
}]
}
Used for assigning resources to an SDP subarray.
As concrete resource usage for the SDP depend strongly on the underlying processing script, this fully parameterises all processing blocks to be executed. This especially means that in contrast to most other sub-systems, SDP processing deployments might persist across scans (and scan configuration) boundaries.
type |
object |
|
properties |
||
|
type |
string |
|
type |
string |
|
Execution block ID to associate with processing |
|
type |
string |
|
|
Hint about the maximum observation length to support by the SDP. Used for ensuring that enough buffer capacity is available to capture measurements. Resources assignment might fail if we do not have enough space to guarantee that all data could be captured. |
|
type |
number |
|
|
Scan types to be supported on subarray |
|
type |
array |
|
items |
A scan configuration for SDP. Once AssignResources has been performed successfully, subsequent Configure commands can select from these scan types in order to coordinate SDP with other sub-systems participating in the observation - for instance to switch between targets, or perform special calibration scans. |
|
|
type |
array |
items |
A Processing Block is an atomic unit of data processing for the purpose of SDP’s internal scheduler. Each PB references a processing script and together with the associated execution block provides all parameters necessary to carry out scheduling - both on TM’s side for observation planning and on SDP’s side - as well as enable processing to locate all required inputs once it is in progress. PBs are used for both real-time and deferred, batch, processing. An execution block will often contain many Processing Blocks, for example for ingest, self-calibration and Data Product preparation. |
|
additionalProperties |
True |
|
Scan_type_0.3
A scan configuration for SDP. Once AssignResources has been performed successfully, subsequent Configure commands can select from these scan types in order to coordinate SDP with other sub-systems participating in the observation - for instance to switch between targets, or perform special calibration scans.
type |
object |
|
properties |
||
|
type |
string |
|
Specification of the reference frame or system for a set of pointing coordinates (see ADR-49) |
|
type |
string |
|
|
Right Ascension in degrees (see ADR-49) |
|
type |
string |
|
|
Declination in degrees (see ADR-49) |
|
type |
string |
|
|
type |
array |
items |
Informs SDP ingest about the expected channel configuration, especially which frequencies are expected to be mapped to which channel ID. Note that channel IDs are not guaranteed to be continuous, so this might involve gaps and/or strides. |
|
additionalProperties |
True |
|
Scan_channels_0.3
Informs SDP ingest about the expected channel configuration, especially which frequencies are expected to be mapped to which channel ID. Note that channel IDs are not guaranteed to be continuous, so this might involve gaps and/or strides.
type |
object |
|
properties |
||
|
Number of channels |
|
type |
integer |
|
|
First channel ID |
|
type |
integer |
|
|
Distance between subsequent channel IDs |
|
type |
integer |
|
|
Lower bound of first channel |
|
type |
number |
|
|
Upper bound of last channel |
|
type |
number |
|
|
Channel map that specifies which network link is going to get used to send channels to SDP. Intended to allow SDP to optimise network and receive node configuration. |
|
type |
array |
|
items |
||
additionalProperties |
True |
|
Processing_block_0.3
A Processing Block is an atomic unit of data processing for the purpose of SDP’s internal scheduler. Each PB references a processing script and together with the associated execution block provides all parameters necessary to carry out scheduling - both on TM’s side for observation planning and on SDP’s side - as well as enable processing to locate all required inputs once it is in progress.
PBs are used for both real-time and deferred, batch, processing. An execution block will often contain many Processing Blocks, for example for ingest, self-calibration and Data Product preparation.
type |
object |
||||
properties |
|||||
|
Unique identifier for this processing block. |
||||
type |
string |
||||
|
workflow 0.3 |
||||
Specification of the workflow to be executed along with configuration parameters for the workflow. |
|||||
type |
object |
||||
properties |
|||||
|
The kind of processing script (realtime or batch) |
||||
type |
string |
||||
|
The name of the processing script |
||||
type |
string |
||||
|
Version of the processing script. Uses semantic versioning. |
||||
type |
string |
||||
additionalProperties |
True |
||||
|
Configuration parameters needed to execute the workflow. As these parameters will be workflow specific, this is left as an object to be specified by the workflow definition. |
||||
type |
object |
||||
|
A dependency between processing blocks means that one processing block requires something from the other processing block to run - typically an intermediate Data Product. This generally means that
As processing blocks might have many different outputs, the dependency “kind” can be used to specify how this dependency is meant to be interpreted (e.g. “visibilities”, “calibration”…) |
||||
type |
array |
||||
items |
Processing block dependency 0.3 |
||||
type |
object |
||||
properties |
|||||
|
type |
string |
|||
|
type |
array |
|||
items |
type |
string |
|||
additionalProperties |
True |
||||
additionalProperties |
True |
||||
SDP assign resources 0.2
Example
{
"id": "sbi-mvp01-20200325-00001",
"max_length": 100.0,
"scan_types": [{
"id": "science",
"coordinate_system": "ICRS",
"ra": "02:42:40.771",
"dec": "-00:00:47.84",
"channels": [{
"count": 744,
"start": 0,
"stride": 2,
"freq_min": 350000000.0,
"freq_max": 368000000.0,
"link_map": [
[0, 0],
[200, 1],
[744, 2],
[944, 3]
]
}, {
"count": 744,
"start": 2000,
"stride": 1,
"freq_min": 360000000.0,
"freq_max": 368000000.0,
"link_map": [
[2000, 4],
[2200, 5]
]
}]
}, {
"id": "calibration",
"coordinate_system": "ICRS",
"ra": "12:29:06.699",
"dec": "02:03:08.598",
"channels": [{
"count": 744,
"start": 0,
"stride": 2,
"freq_min": 350000000.0,
"freq_max": 368000000.0,
"link_map": [
[0, 0],
[200, 1],
[744, 2],
[944, 3]
]
}, {
"count": 744,
"start": 2000,
"stride": 1,
"freq_min": 360000000.0,
"freq_max": 368000000.0,
"link_map": [
[2000, 4],
[2200, 5]
]
}]
}],
"processing_blocks": [{
"id": "pb-mvp01-20200325-00001",
"workflow": {
"type": "realtime",
"id": "vis_receive",
"version": "0.1.0"
},
"parameters": {}
}, {
"id": "pb-mvp01-20200325-00002",
"workflow": {
"type": "realtime",
"id": "test_realtime",
"version": "0.1.0"
},
"parameters": {}
}, {
"id": "pb-mvp01-20200325-00003",
"workflow": {
"type": "batch",
"id": "ical",
"version": "0.1.0"
},
"parameters": {},
"dependencies": [{
"pb_id": "pb-mvp01-20200325-00001",
"type": ["visibilities"]
}]
}, {
"id": "pb-mvp01-20200325-00004",
"workflow": {
"type": "batch",
"id": "dpreb",
"version": "0.1.0"
},
"parameters": {},
"dependencies": [{
"pb_id": "pb-mvp01-20200325-00003",
"type": ["calibration"]
}]
}]
}
type |
object |
|
properties |
||
|
type |
string |
|
type |
string |
|
type |
number |
|
Scan types to be supported on subarray |
|
type |
array |
|
items |
||
|
type |
array |
items |
A Processing Block is an atomic unit of data processing for the purpose of SDP’s internal scheduler. Each PB references a processing script and together with the associated execution block provides all parameters necessary to carry out scheduling - both on TM’s side for observation planning and on SDP’s side - as well as enable processing to locate all required inputs once it is in progress. PBs are used for both real-time and deferred, batch, processing. An execution block will often contain many Processing Blocks, for example for ingest, self-calibration and Data Product preparation. |
|
additionalProperties |
True |
|
Scan_type_0.2
type |
object |
||
properties |
|||
|
type |
string |
|
|
allOf |
const |
ICRS |
|
type |
string |
|
|
type |
string |
|
|
type |
array |
|
items |
Informs SDP ingest about the expected channel configuration, especially which frequencies are expected to be mapped to which channel ID. Note that channel IDs are not guaranteed to be continuous, so this might involve gaps and/or strides. |
||
additionalProperties |
True |
||
Scan_channels_0.2
Informs SDP ingest about the expected channel configuration, especially which frequencies are expected to be mapped to which channel ID. Note that channel IDs are not guaranteed to be continuous, so this might involve gaps and/or strides.
type |
object |
|
properties |
||
|
Number of channels |
|
type |
integer |
|
|
First channel ID |
|
type |
integer |
|
|
Distance between subsequent channel IDs |
|
type |
integer |
|
|
Lower bound of first channel |
|
type |
number |
|
|
Upper bound of last channel |
|
type |
number |
|
|
Channel map that specifies which network link is going to get used to send channels to SDP. Intended to allow SDP to optimise network and receive node configuration. |
|
type |
array |
|
items |
||
additionalProperties |
True |
|
Processing_block_0.2
A Processing Block is an atomic unit of data processing for the purpose of SDP’s internal scheduler. Each PB references a processing script and together with the associated execution block provides all parameters necessary to carry out scheduling - both on TM’s side for observation planning and on SDP’s side - as well as enable processing to locate all required inputs once it is in progress.
PBs are used for both real-time and deferred, batch, processing. An execution block will often contain many Processing Blocks, for example for ingest, self-calibration and Data Product preparation.
type |
object |
||||
properties |
|||||
|
type |
string |
|||
|
type |
object |
|||
properties |
|||||
|
type |
string |
|||
|
type |
string |
|||
|
type |
string |
|||
additionalProperties |
True |
||||
|
type |
object |
|||
|
type |
array |
|||
items |
Processing block dependency 0.2 |
||||
type |
object |
||||
properties |
|||||
|
type |
string |
|||
|
type |
array |
|||
items |
type |
string |
|||
additionalProperties |
True |
||||
additionalProperties |
True |
||||
SDP assign resources 0.1
type |
object |
|
properties |
||
|
type |
string |
|
type |
string |
|
type |
number |
|
Scan types to be supported on subarray |
|
type |
array |
|
items |
||
|
type |
array |
items |
A Processing Block is an atomic unit of data processing for the purpose of SDP’s internal scheduler. Each PB references a processing script and together with the associated execution block provides all parameters necessary to carry out scheduling - both on TM’s side for observation planning and on SDP’s side - as well as enable processing to locate all required inputs once it is in progress. PBs are used for both real-time and deferred, batch, processing. An execution block will often contain many Processing Blocks, for example for ingest, self-calibration and Data Product preparation. |
|
additionalProperties |
True |
|
Scan_type_0.1
type |
object |
||
properties |
|||
|
type |
string |
|
|
allOf |
const |
ICRS |
|
type |
string |
|
|
type |
string |
|
|
type |
array |
|
items |
Informs SDP ingest about the expected channel configuration, especially which frequencies are expected to be mapped to which channel ID. Note that channel IDs are not guaranteed to be continuous, so this might involve gaps and/or strides. |
||
additionalProperties |
True |
||
Scan_channels_0.1
Informs SDP ingest about the expected channel configuration, especially which frequencies are expected to be mapped to which channel ID. Note that channel IDs are not guaranteed to be continuous, so this might involve gaps and/or strides.
type |
object |
|
properties |
||
|
Number of channels |
|
type |
integer |
|
|
First channel ID |
|
type |
integer |
|
|
Distance between subsequent channel IDs |
|
type |
integer |
|
|
Lower bound of first channel |
|
type |
number |
|
|
Upper bound of last channel |
|
type |
number |
|
|
Channel map that specifies which network link is going to get used to send channels to SDP. Intended to allow SDP to optimise network and receive node configuration. |
|
type |
array |
|
items |
||
additionalProperties |
True |
|
Processing_block_0.1
A Processing Block is an atomic unit of data processing for the purpose of SDP’s internal scheduler. Each PB references a processing script and together with the associated execution block provides all parameters necessary to carry out scheduling - both on TM’s side for observation planning and on SDP’s side - as well as enable processing to locate all required inputs once it is in progress.
PBs are used for both real-time and deferred, batch, processing. An execution block will often contain many Processing Blocks, for example for ingest, self-calibration and Data Product preparation.
type |
object |
||||
properties |
|||||
|
type |
string |
|||
|
type |
object |
|||
properties |
|||||
|
type |
string |
|||
|
type |
string |
|||
|
type |
string |
|||
additionalProperties |
True |
||||
|
type |
object |
|||
|
type |
array |
|||
items |
Processing block dependency 0.1 |
||||
type |
object |
||||
properties |
|||||
|
type |
string |
|||
|
type |
array |
|||
items |
type |
string |
|||
additionalProperties |
True |
||||
additionalProperties |
True |
||||