TMC CentralNode
Overview
Sub-array resource allocation is achieved via communication with a TMC
CentralNode device. The centralnode
package models the JSON input and
responses for TMC CentralNode commands. The contents of this package are
shown in the figure below.
Classes in the assign_resources.py module model the arguments for the
CentralNode.AssignResources()
command.
Classes in the release_resources.py module model the arguments for the
CentralNode.ReleaseResources()
command.
assign_resources.py
The assign_resources.py
module models the the JSON input and response
for a CentralNode.AssignResources()
command.
Example PI16 JSON input modelled by AssignResourcesRequest
for MID:
{
"interface":"https://schema.skao.int/ska-tmc-assignresources/2.1",
"transaction_id":"txn-....-00001",
"subarray_id":1,
"dish":{
"receptor_ids":[
"0001"
]
},
"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.5.0"
},
"sbi_ids":[
"sbi-test-20220916-00000"
],
"parameters":{
}
}
]
}
}
For PI14 JSON, Please refer confluence schema page
Example JSON response modelled by AssignResourcesResponse
for MID:
{
"dish": {
"receptor_ids_allocated": ["0001", "0002"]
}
}
Example JSON input modelled by AssignResourcesRequest
for LOW:
{
"interface": "https://schema.skao.int/ska-low-tmc-assignresources/3.2",
"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.5.0"
},
"sbi_ids": [
"sbi-test-20220916-00000"
],
"parameters": {}
}
]
}
}
release_resources.py
The release_resources.py
module models the input JSON for a
CentralNode.ReleaseResources()
command.
Example ReleaseResourcesRequest JSON that requests specific dishes be released from a sub-array:
{
"interface": "https://schema.skao.int/ska-tmc-releaseresources/2.1",
"transaction_id": "txn-mvp01-20200325-00001",
"subarray_id": 1,
"receptor_ids": ["0001", "0002"]
}
Example JSON that requests all sub-array resources be released:
{
"interface": "https://schema.skao.int/ska-tmc-releaseresources/2.1",
"transaction_id": "txn-mvp01-20200325-00001",
"subarray_id": 1,
"release_all": true
}
Example JSON that requests all sub-array resources be released for LOW:
{
"interface": "https://schema.skao.int/ska-low-tmc-releaseresources/3.0",
"subarray_id": 1,
"release_all": true,
"transaction_id": "txn-....-00001"
}