ska_oso_pdm.sb_definition.sb_definition
The ska_oso_pdm.sb_definition.sb_definition module models SB data model entities concerned with the high-level composition of a Scheduling Block. An SB defines everything needed to schedule and perform an observation, for instance:
Target telescope
Dish allocations to sub-arrays (for SKA MID);
Dish configurations (receiver bands, etc., for SKA MID);
MCCS resource allocations to sub-arrays (for SKA LOW);
Sub-array Beam configurations (channels, antenna weights etc., for SKA LOW);
Target Beam configuration, defining the required Target for subarray beam configuration (for SKA LOW);
Targets and field positions, describing which points to observe on the sky;
CSP (Central Signal Processing) correlator configurations to be used;
SDHP configuration, defining the required pipeline workflows for the observation;
Scan information, which describes which CSP/SDHP/dish/target configurations to be used for each scan;
Scan sequence describing the sequence of scans constituting the observation.
as well as:
SB metadata (author, creation date and version number, as well as edit history);
SB script execution requirements;
The contents of the module are presented in the diagram below.
{
"interface": "https://schema.skao.int/ska-oso-pdm-sbd/0.1",
"sbd_id": "sbi-mvp01-20200325-00001",
"telescope": "ska_mid",
"metadata": {
"version": 1,
"created_by": "Liz Bartlett",
"created_on": "2022-03-28T15:43:53.971548Z",
"last_modified_on": "2022-03-28T15:43:53.971548Z",
"last_modified_by": "Liz Bartlett"
},
"activities": {
"allocate": {
"kind": "filesystem",
"path": "file:///path/to/allocatescript.py",
"function_args": {
"init": {
"args": [
"posarg1",
"posarg2"
],
"kwargs": {
"argname": "argval"
}
},
"main": {
"args": [
"posarg1",
"posarg2"
],
"kwargs": {
"argname": "argval"
}
}
}
},
"observe": {
"kind": "git",
"path": "git://relative/path/to/scriptinsiderepo.py",
"repo": "https://gitlab.com/script_repo/operational_scripts",
"branch": "main",
"function_args": {
"init": {
"args": [
"posarg1",
"posarg2"
],
"kwargs": {
"argname": "argval"
}
},
"main": {
"args": [
"posarg1",
"posarg2"
],
"kwargs": {
"argname": "argval"
}
}
}
}
},
"scan_definitions": [
{
"scan_definition_id": "calibrator scan",
"scan_duration": 60000,
"target_ref": "Polaris Australis",
"dish_configuration_ref": "dish config 123",
"scan_type_ref": "calibration_B",
"csp_configuration_ref": "csp config 123",
"pointing_correction": "MAINTAIN"
},
{
"scan_duration": 60000,
"target_ref": "M83",
"dish_configuration_ref": "dish config 123",
"scan_type_ref": "science_A",
"scan_definition_id": "science scan",
"csp_configuration_ref": "csp config 123",
"pointing_correction": "UPDATE"
}
],
"scan_sequence": [
"calibrator scan",
"science scan",
"science scan",
"calibrator scan"
],
"targets": [
{
"target_id": "Polaris Australis",
"pointing_pattern": {
"active": "FivePointParameters",
"parameters": [
{
"kind": "FivePointParameters",
"offset_arcsec": 5.0
},
{
"kind": "RasterParameters",
"row_length_arcsec": 1.23,
"row_offset_arcsec": 4.56,
"n_rows": 2,
"pa": 7.89,
"unidirectional": true
},
{
"kind": "StarRasterParameters",
"row_length_arcsec": 1.23,
"n_rows": 2,
"row_offset_angle": 4.56,
"unidirectional": true
}
]
},
"reference_coordinate": {
"kind": "equatorial",
"ra": "21:08:47.92",
"dec": "-88:57:22.9",
"reference_frame": "icrs",
"unit": [
"hourangle",
"deg"
]
},
"radial_velocity": {
"quantity": {
"value": -12.345,
"unit": "km / s"
},
"definition": "OPTICAL",
"reference_frame": "LSRK",
"redshift": 1.23
}
},
{
"target_id": "M83",
"pointing_pattern": {
"active": "SinglePointParameters",
"parameters": [
{
"kind": "SinglePointParameters",
"offset_x_arcsec": 0.0,
"offset_y_arcsec": 0.0
}
]
},
"reference_coordinate": {
"kind": "equatorial",
"ra": "13:37:00.919",
"dec": "-29:51:56.74",
"reference_frame": "icrs",
"unit": [
"hourangle",
"deg"
]
},
"radial_velocity": {
"quantity": {
"value": 0.0,
"unit": "km / s"
},
"definition": "RADIO",
"reference_frame": "LSRK",
"redshift": 0.0
}
}
],
"sdp_configuration": {
"execution_block": {
"eb_id": "eb-mvp01-20200325-00001",
"max_length": 100.0,
"context": {
"foo": "bar",
"baz": 123
},
"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 search"
},
{
"beam_id": "pst2",
"timing_beam_id": 2,
"function": "pulsar search"
},
{
"beam_id": "vlbi",
"vlbi_beam_id": 1,
"function": "vlbi"
}
],
"scan_types": [
{
"scan_type_id": ".default",
"beams": [
{
"beam_ref": "vis0",
"channels_ref": "vis_channels",
"polarisations_ref": "all"
},
{
"beam_ref": "pss1",
"field_ref": "M83",
"channels_ref": "pulsar_channels",
"polarisations_ref": "all"
},
{
"beam_ref": "pss2",
"field_ref": "Polaris Australis",
"channels_ref": "pulsar_channels",
"polarisations_ref": "all"
},
{
"beam_ref": "pst1",
"field_ref": "M83",
"channels_ref": "pulsar_channels",
"polarisations_ref": "all"
},
{
"beam_ref": "pst2",
"field_ref": "Polaris Australis",
"channels_ref": "pulsar_channels",
"polarisations_ref": "all"
},
{
"beam_ref": "vlbi",
"field_ref": "Polaris Australis",
"channels_ref": "vlbi_channels",
"polarisations_ref": "all"
}
]
},
{
"scan_type_id": ".default",
"derive_from": ".default",
"beams": [
{
"beam_ref": "vis0",
"field_ref": "M83"
}
]
}
],
"channels": [
{
"channels_id": "vis_channels",
"spectral_windows": [
{
"spectral_window_id": "fsp_1_channels",
"count": 744,
"start": 0,
"stride": 2,
"freq_min": 350000000,
"freq_max": 368000000,
"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,
"freq_max": 368000000,
"link_map": [
[
2000,
4
],
[
2200,
5
]
]
},
{
"spectral_window_id": "zoom_window_1",
"count": 744,
"start": 4000,
"stride": 1,
"freq_min": 360000000,
"freq_max": 361000000,
"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,
"freq_max": 368000000
}
]
}
],
"polarisations": [
{
"polarisations_id": "all",
"corr_type": [
"XX",
"XY",
"YY",
"YX"
]
}
]
},
"processing_blocks": [
{
"pb_id": "pb-mvp01-20200325-00001",
"sbi_refs": [
"sbi-mvp01-20200325-00001"
],
"script": {
"version": "0.1.0",
"name": "vis_receive",
"kind": "realtime"
}
},
{
"pb_id": "pb-mvp01-20200325-00002",
"sbi_refs": [
"sbi-mvp01-20200325-00001"
],
"script": {
"version": "0.1.0",
"name": "test_realtime",
"kind": "realtime"
}
},
{
"pb_id": "pb-mvp01-20200325-00003",
"sbi_refs": [
"sbi-mvp01-20200325-00001"
],
"script": {
"version": "0.1.0",
"name": "ical",
"kind": "batch"
},
"dependencies": [
{
"pb_ref": "pb-mvp01-20200325-00001",
"kind": [
"visibilities"
]
}
]
},
{
"pb_id": "pb-mvp01-20200325-00004",
"sbi_refs": [
"sbi-mvp01-20200325-00001"
],
"script": {
"version": "0.1.0",
"name": "dpreb",
"kind": "batch"
},
"dependencies": [
{
"pb_ref": "pb-mvp01-20200325-00003",
"kind": [
"calibration"
]
}
]
}
],
"resources": {
"csp_links": [
1,
2,
3,
4
],
"receptors": [
"FS4",
"FS8",
"FS16",
"FS17",
"FS22",
"FS23",
"FS30",
"FS31",
"FS32",
"FS33",
"FS36",
"FS52",
"FS56",
"FS57",
"FS59",
"FS62",
"FS66",
"FS69",
"FS70",
"FS72",
"FS73",
"FS78",
"FS80",
"FS88",
"FS89",
"FS90",
"FS91",
"FS98",
"FS108",
"FS111",
"FS132",
"FS144",
"FS146",
"FS158",
"FS165",
"FS167",
"FS176",
"FS183",
"FS193",
"FS200",
"FS345",
"FS346",
"FS347",
"FS348",
"FS349",
"FS350",
"FS351",
"FS352",
"FS353",
"FS354",
"FS355",
"FS356",
"FS429",
"FS430",
"FS431",
"FS432",
"FS433",
"FS434",
"FS465",
"FS466",
"FS467",
"FS468",
"FS469",
"FS470"
],
"receive_nodes": 10
}
},
"csp_configurations": [
{
"config_id": "csp config 123",
"subarray": {
"subarray_name": "science period 23"
},
"common": {
"subarray_id": 1,
"band_5_tuning": [
5.85,
7.25
]
},
"cbf": {
"fsps": [
{
"fsp_id": 1,
"function_mode": "CORR",
"frequency_slice_id": 1,
"integration_factor": 1,
"zoom_factor": 0,
"channel_averaging_map": [
[
0,
2
],
[
744,
0
]
],
"channel_offset": 0,
"output_link_map": [
[
0,
0
],
[
200,
1
]
]
},
{
"fsp_id": 2,
"function_mode": "CORR",
"frequency_slice_id": 2,
"integration_factor": 1,
"zoom_factor": 1,
"zoom_window_tuning": 650000
}
]
}
}
],
"dish_allocations": {
"receptor_ids": [
"0001",
"0002"
]
},
"dish_configurations": [
{
"dish_configuration_id": "dish config 123",
"receiver_band": "5a"
}
]
}
The ska_oso_pdm.sb_definition_sb_definition module defines a simple Python representation of the scheduling block that contains the details of the observation
- class SBDefinition(*, interface: str | None = 'https://schema.skao.int/ska-oso-pdm-sbd/0.1', sbd_id: str | None = None, name: str | None = None, description: str | None = None, telescope: TelescopeType | None = None, metadata: Metadata | None = None, prj_ref: str | None = None, activities: Dict[str, InlineScript | FilesystemScript | GitScript] | None = None, targets: List[Target] | None = None, scan_definitions: List[ScanDefinition] | None = None, scan_sequence: List[str] | None = None, sdp_configuration: SDPConfiguration | None = None, dish_configurations: List[DishConfiguration] | None = None, csp_configurations: List[CSPConfiguration] | None = None, dish_allocations: DishAllocation | None = None, mccs_allocation: MCCSAllocation | None = None, subarray_beam_configurations: List[SubarrayBeamConfiguration] | None = None, target_beam_configurations: List[TargetBeamConfiguration] | None = None)[source]
SKA scheduling block