Low TMC assign resources 3.0
Example JSON.
{
"interface": "https://schema.skao.int/ska-low-tmc-assignresources/3.0",
"transaction_id": "txn-....-00001",
"subarray_id": 1,
"mccs": {
"subarray_beam_ids": [1],
"station_ids": [
[1, 2]
],
"channel_blocks": [3]
},
"sdp": {
"interface": "https://schema.skao.int/ska-sdp-assignres/0.4",
"resources": {
"receptors": ["SKA001", "SKA002", "SKA003", "SKA004"]
},
"execution_block": {
"eb_id": "eb-test-20220916-00000",
"context": {},
"max_length": 3600.0,
"beams": [{
"beam_id": "vis0",
"function": "visibilities"
}],
"scan_types": [{
"scan_type_id": ".default",
"beams": {
"vis0": {
"channels_id": "vis_channels",
"polarisations_id": "all"
}
}
}, {
"scan_type_id": "target:a",
"derive_from": ".default",
"beams": {
"vis0": {
"field_id": "field_a"
}
}
}, {
"scan_type_id": "calibration:b",
"derive_from": ".default",
"beams": {
"vis0": {
"field_id": "field_b"
}
}
}],
"channels": [{
"channels_id": "vis_channels",
"spectral_windows": [{
"spectral_window_id": "fsp_1_channels",
"count": 4,
"start": 0,
"stride": 2,
"freq_min": 350000000.0,
"freq_max": 368000000.0,
"link_map": [
[0, 0],
[200, 1],
[744, 2],
[944, 3]
]
}]
}],
"polarisations": [{
"polarisations_id": "all",
"corr_type": ["XX", "XY", "YX", "YY"]
}],
"fields": [{
"field_id": "field_a",
"phase_dir": {
"ra": [123.0],
"dec": [-60.0],
"reference_time": "...",
"reference_frame": "ICRF3"
},
"pointing_fqdn": "..."
}, {
"field_id": "field_b",
"phase_dir": {
"ra": [123.0],
"dec": [-60.0],
"reference_time": "...",
"reference_frame": "ICRF3"
},
"pointing_fqdn": "..."
}]
},
"processing_blocks": [{
"pb_id": "pb-test-20220916-00000",
"script": {
"kind": "realtime",
"name": "test-receive-addresses",
"version": "0.6.1"
},
"sbi_ids": ["sbi-test-20220916-00000"],
"parameters": {
"time-to-ready": 5
}
}]
},
"csp": {
"interface": "https://schema.skao.int/ska-low-csp-assignresources/2.0",
"common": {
"subarray_id": 1
},
"lowcbf": {
"resources": [{
"device": "fsp_01",
"shared": true,
"fw_image": "pst",
"fw_mode": "unused"
}, {
"device": "p4_01",
"shared": true,
"fw_image": "p4.bin",
"fw_mode": "p4"
}]
}
}
}
type |
object |
|||||
properties |
||||||
|
URI of JSON schema applicable to this JSON payload. |
|||||
type |
string |
|||||
|
A transaction id specific to the command |
|||||
type |
string |
|||||
default |
null |
|||||
|
ID of sub-array targeted by this resource allocation request |
|||||
type |
integer |
|||||
|
MCCS specification for resource allocation. |
|||||
type |
object |
|||||
properties |
||||||
|
IDs of the MCCS sub-array beams to allocate to this subarray. Each ID must be between 1 and 48, the maximum number of sub-array beams. As of PI10, only one MCCS sub-array beam can be configured per allocation request. Multiple beams must be allocated via multiple allocation requests. |
|||||
type |
array |
|||||
items |
type |
integer |
||||
|
IDs of MCCS stations to allocate to this sub-array beam. Each ID must be between 1 and 512, the maximum number of stations. |
|||||
type |
array |
|||||
items |
type |
array |
||||
items |
type |
integer |
||||
|
Number of channel blocks to allocate to this sub-array beam. Maximum number of channel blocks = 48. |
|||||
type |
array |
|||||
items |
type |
integer |
||||
additionalProperties |
False |
|||||
|
SDP configuration specification |
|||||
type |
object |
|||||
properties |
||||||
|
type |
string |
||||
default |
null |
|||||
|
type |
string |
||||
pattern |
^txn\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
|||||
default |
null |
|||||
|
Execution block |
|||||
default |
null |
|||||
|
External resources |
|||||
type |
object |
|||||
default |
null |
|||||
properties |
||||||
|
type |
array |
||||
default |
null |
|||||
items |
anyOf |
type |
string |
|||
pattern |
^C([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-1][0-9]|22[0-4])$ |
|||||
type |
string |
|||||
pattern |
^[ENS]([1-9]|1[0-6])-[1-6]$ |
|||||
type |
string |
|||||
pattern |
^FS([1-9]|[1-9][0-9]|[1-4][0-9][0-9]|50[0-9]|51[0-2])(\.\S+)?$ |
|||||
type |
string |
|||||
pattern |
^SKA((?!000)0[0-9][0-9]|1[0-2][0-9]|13[0-3])$ |
|||||
type |
string |
|||||
pattern |
^MKT0([0-5][0-9]|6[0-3])$ |
|||||
additionalProperties |
True |
|||||
|
Processing blocks |
|||||
type |
array |
|||||
default |
null |
|||||
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 |
False |
|||||
|
CSP configuration specification |
|||||
type |
object |
|||||
default |
null |
|||||
properties |
||||||
|
URI of JSON schema for this command’s JSON payload. |
|||||
type |
string |
|||||
|
LOWCSP subarray id arguments |
|||||
type |
object |
|||||
properties |
||||||
|
subarray id |
|||||
type |
integer |
|||||
additionalProperties |
False |
|||||
|
Low CBF resources |
|||||
type |
object |
|||||
properties |
||||||
|
array of LOWCBF resources |
|||||
type |
array |
|||||
items |
||||||
additionalProperties |
False |
|||||
|
Assign section for PST sub-system |
|||||
type |
object |
|||||
default |
null |
|||||
properties |
||||||
|
List of PST beam Ids to assign to the subarray. |
|||||
type |
array |
|||||
items |
type |
integer |
||||
additionalProperties |
False |
|||||
|
Assign section for PSS sub-system |
|||||
type |
object |
|||||
default |
null |
|||||
properties |
||||||
|
List of PSS beam Ids to assign to the subarray. |
|||||
type |
array |
|||||
items |
type |
integer |
||||
additionalProperties |
False |
|||||
additionalProperties |
False |
|||||
additionalProperties |
False |
|||||
Execution block 0.4
type |
object |
||||
properties |
|||||
|
type |
string |
|||
pattern |
^eb\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
||||
|
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 |
type |
object |
|||
properties |
|||||
|
type |
string |
|||
|
type |
string |
|||
|
type |
object |
|||
additionalProperties |
False |
||||
|
Channels |
||||
type |
array |
||||
items |
Spectral windows per channel configuration. |
||||
|
Polarisation definitions |
||||
type |
array |
||||
items |
Polarisation definition. |
||||
type |
object |
||||
properties |
|||||
|
type |
string |
|||
|
type |
array |
|||
items |
type |
string |
|||
additionalProperties |
False |
||||
|
Fields / targets |
||||
type |
array |
||||
items |
Fields / Targets |
||||
type |
object |
||||
properties |
|||||
|
type |
string |
|||
|
Phase direction |
||||
type |
object |
||||
properties |
|||||
|
type |
array |
|||
items |
|||||
|
type |
array |
|||
items |
|||||
|
type |
string |
|||
|
const |
ICRF3 |
|||
additionalProperties |
False |
||||
|
type |
string |
|||
additionalProperties |
False |
||||
additionalProperties |
False |
||||
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:
|
|
enum |
visibilities, pulsar search, pulsar timing, vlbi, transient buffer |
|
|
type |
integer |
default |
null |
|
|
type |
integer |
default |
null |
|
|
type |
integer |
default |
null |
|
additionalProperties |
False |
|
Scan channels 0.4
Spectral windows per channel configuration.
type |
object |
|||
properties |
||||
|
type |
string |
||
|
type |
array |
||
items |
type |
object |
||
properties |
||||
|
type |
string |
||
|
Number of channels |
|||
type |
integer |
|||
|
First channel ID |
|||
type |
integer |
|||
|
Distance between subsequent channel IDs |
|||
type |
integer |
|||
default |
null |
|||
|
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 |
|||
default |
null |
|||
items |
||||
additionalProperties |
False |
|||
additionalProperties |
False |
|||
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 |
||||
pattern |
^pb\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
||||
|
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) |
||||
allOf |
type |
string |
|||
enum |
realtime, batch |
||||
|
The name of the processing script |
||||
type |
string |
||||
|
Version of the processing script. Uses semantic versioning. |
||||
type |
string |
||||
additionalProperties |
False |
||||
|
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 |
||||
default |
null |
||||
|
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 |
||||
default |
null |
||||
items |
type |
object |
|||
properties |
|||||
|
type |
string |
|||
pattern |
^pb\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
||||
|
type |
array |
|||
items |
type |
string |
|||
additionalProperties |
False |
||||
|
Scheduling block instances that the processing block belongs to. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
string |
|||
pattern |
^sbi\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
||||
additionalProperties |
False |
||||
LOWCBF resources 0.1
type |
object |
|
properties |
||
|
Name of FSP or P4 device |
|
type |
string |
|
|
Whether device is shared with other subarrays |
|
type |
boolean |
|
|
Name of firmware image to load on device |
|
type |
string |
|
default |
null |
|
|
Mode in which firmware runs |
|
type |
string |
|
default |
null |
|
additionalProperties |
False |
|