ska_oso_pdm.entities.sdp¶
The sdp package contains modules that model SB entities concerned with SDHP resource allocation and pipeline workflow configuration. The contents of the module are presented in the diagram below.
An example serialisation of this model to JSON is shown below.
# JSON modelled specifically by entities in the sdp package
...
"sdp_configuration": {
"eb_id": "eb-mvp01-20200325-00001",
"max_length": 100.0,
"scan_types": [{
"scan_type_id": "science_A",
"target": "my science target",
"channels": [{
"count": 744,
"start": 0,
"stride": 2,
"freq_min": 0.35e9,
"freq_max": 0.368e9,
"link_map": [[0,0],[200,1],[744,2],[944,3]]
},
{
"count": 744,
"start": 2000,
"stride": 1,
"freq_min": 0.36e9,
"freq_max": 0.368e9,
"link_map": [[2000,4],[2200,5]]
}]},
{
"scan_type_id": "calibration_B",
"target": "my calibrator target",
"channels": [{
"count": 744,
"start": 0,
"stride": 2,
"freq_min": 0.35e9,
"freq_max": 0.368e9,
"link_map": [[0,0],[200,1],[744,2],[944,3]]
},
{
"count": 744,
"start": 2000,
"stride": 1,
"freq_min": 0.36e9,
"freq_max": 0.368e9,
"link_map": [[2000,4],[2200,5]]
}]}],
"processing_blocks": [{
"pb_id": "pb-mvp01-20200325-00001",
"workflow": {
"name": "vis_receive",
"kind": "realtime",
"version": "0.1.0"
},
"parameters": {}
},
{
"pb_id": "pb-mvp01-20200325-00002",
"workflow": {
"name": "test_receive_addresses",
"kind": "realtime",
"version": "0.3.2"
},
"parameters": {}
},
{
"pb_id": "pb-mvp01-20200325-00003",
"workflow": {
"name": "ical",
"kind": "batch",
"version": "0.1.0"
},
"parameters": {},
"dependencies": [{
"pb_id": "pb-mvp01-20200325-00001",
"kind": ["visibilities"]
}]
},
{
"pb_id": "pb-mvp01-20200325-00004",
"workflow": {
"name": "dpreb",
"kind": "batch",
"version": "0.1.0"
},
"parameters": {},
"dependencies": [{
"kind": ["calibration"],
"pb_id": "pb-mvp01-20200325-00003"
}]
}
]
},
"sdpConfiguration": {
"eb_id": "eb-mvp01-20200325-00001",
"max_length": 100.0,
"scan_types": [
{
"scan_type_id": "science_A",
"target": "beam #1",
"channels": [{
"count": 744, "start": 0, "stride": 2,
"freq_min": 0.35e9,
"freq_max": 0.368e9,
"link_map": [[0, 0], [200, 1], [744, 2], [944, 3]]
},
{
"count": 744, "start": 2000, "stride": 1,
"freq_min": 0.36e9,
"freq_max": 0.368e9,
"link_map": [[2000, 4], [2200, 5]]
}]
},
{
"scan_type_id": "calibration_B",
"target": "bandpass calibrator",
"channels": [{
"count": 744, "start": 0, "stride": 2,
"freq_min": 0.35e9,
"freq_max": 0.368e9,
"link_map": [[0, 0], [200, 1], [744, 2], [944, 3]]
},
{
"count": 744, "start": 2000, "stride": 1,
"freq_min": 0.36e9,
"freq_max": 0.368e9,
"link_map": [[2000, 4], [2200, 5]]
}]
}
],
"processing_blocks": [
{
"pb_id": "pb-mvp01-20200325-00001",
"workflow": {"name": "vis_receive", "kind": "realtime", "version": "0.1.0"},
"parameters": {}
},
{
"pb_id": "pb-mvp01-20200325-00003",
"workflow": {"name": "ical", "kind": "batch", "version": "0.1.0"},
"parameters": {},
"dependencies": [
{"pb_id": "pb-mvp01-20200325-00001", "kind": ["visibilities"]}
]
}
]
},
...
The ska_oso_pdm.entities.common.sdp.sdp_configuration module defines a Python object model for the SDP configuration JSON string passed to CentralNode.AssignResources.
-
class
SDPConfiguration
(eb_id: str, max_length: float, scan_types: List[ska_oso_pdm.entities.sdp.scan_type.ScanType], processing_blocks: List[ska_oso_pdm.entities.sdp.processing_block.ProcessingBlock])[source]¶ SDPConfiguration captures the SDP resources and pipeline configuration required to process an execution block.
The entities.sdp.scan_type module defines a Python representation of a scan type for SDP configuration.
-
class
ScanType
(scan_type_id: str, target_id: str, channels: List[ska_oso_pdm.entities.sdp.scan_type.Channel])[source]¶ Class to hold ScanType configuration
-
ScanTypeID
¶ alias of
builtins.str
-
class
Channel
(count: int, start: int, stride: int, freq_min: float, freq_max: float, link_map: List[Tuple])[source]¶ Class to hold Channels for ScanType
The entities.sdp.processing_block module defines a Python representation of a processing block for SDP configuration.
-
class
Workflow
(name: str, kind: str, version: str)[source]¶ Class to hold Workflow for ProcessingBlock