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;

  • Targets and field positions, describing which points to observe on the sky;

  • 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);

  • CSP (Central Signal Processing) correlator configurations to be used;

  • SDP (Science Data Processor) script, version and parameters to use;

  • Scan information, which describes which CSP/dish/MCCS/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.

../../_images/ska_oso_pdm_sb_definition.svg

Class diagram for the sb_definition module

{
  "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",
    "pdm_version": "27.4.0"
  },
  "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"
          }
        }
      }
    }
  },
  "targets": [
    {
      "target_id": "target-12345",
      "name": "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": "icrs",
        "ra_str": "21:08:47.92",
        "dec_str": "-88:57:22.9",
        "epoch": 2000.0,
        "parallax": 0.0,
        "pm_dec": 0.0,
        "pm_ra": 0.0
      },
      "radial_velocity": {
        "quantity": {
          "value": -12.345,
          "unit": "km / s"
        },
        "definition": "OPTICAL",
        "reference_frame": "LSRK",
        "redshift": 1.23
      },
      "tied_array_beams": {
        "pst_beams": [
          {
            "beam_id": 1,
            "beam_name": "PSR J0024-7204R",
            "beam_coordinate": {
              "kind": "icrs",
              "ra_str": "00:24:05.670",
              "dec_str": "-72:04:52.62",
              "pm_ra": 4.8,
              "pm_dec": -3.3,
              "parallax": 0.0,
              "epoch": 2000.0
            },
            "stn_weights": [1.0, 1.0]
          },
          {
            "beam_id": 2,
            "beam_name": "PSR J0024-7204W",
            "beam_coordinate": {
              "kind": "icrs",
              "ra_str": "00:24:06.0580",
              "dec_str": "-72:04:49.088",
              "pm_ra": 6.1,
              "pm_dec": -2.6,
              "parallax": 0.0,
              "epoch": 2000.0
            },
            "stn_weights": [1.0, 1.0]
          }
        ]
      }
    },
    {
      "target_id": "target-67890",
      "name": "M83",
      "pointing_pattern": {
        "active": "SinglePointParameters",
        "parameters": [
          {
            "kind": "SinglePointParameters",
            "offset_x_arcsec": 0.0,
            "offset_y_arcsec": 0.0
          }
        ]
      },
      "reference_coordinate": {
        "kind": "icrs",
        "ra_str": "13:37:00.919",
        "dec_str": "-29:51:56.74",
        "epoch": 2000.0,
        "pm_ra": 0.0,
        "pm_dec": 0.0,
        "parallax": 0.0
      },
      "radial_velocity": {
        "quantity": {
          "value": 0.0,
          "unit": "km / s"
        },
        "definition": "RADIO",
        "reference_frame": "LSRK",
        "redshift": 0.0
      },
      "tied_array_beams": {
        "pst_beams": [
          {
            "beam_id": 1,
            "beam_name": "PSR J0024-7204R",
            "beam_coordinate": {
              "kind": "icrs",
              "ra_str": "00:24:05.670",
              "dec_str": "-72:04:52.62",
              "pm_ra": 4.8,
              "pm_dec": -3.3,
              "parallax": 0.0,
              "epoch": 2000.0
            },
            "stn_weights": [1.0, 1.0]
          },
          {
            "beam_id": 2,
            "beam_name": "PSR J0024-7204W",
            "beam_coordinate": {
              "kind": "icrs",
              "ra_str": "00:24:06.0580",
              "dec_str": "-72:04:49.088",
              "pm_ra": 6.1,
              "pm_dec": -2.6,
              "parallax": 0.0,
              "epoch": 2000.0
            },
            "stn_weights": [1.0, 1.0]
          }
        ]
      }
    }
  ],
  "csp_configurations": [
    {
      "config_id": "csp-configuration-12345",
      "name": "csp config 123",
      "subarray": {
        "subarray_name": "science period 23"
      },
      "common": {
        "subarray_id": 1,
        "band_5_tuning": [
          5.85,
          7.25
        ]
      },
      "midcbf": {
        "frequency_band": "1",
        "subbands": [
          {
            "band_5_tuning": 12.3e9,
            "frequency_slice_offset": {
              "value": 0,
              "unit": "MHz"
            },
            "correlation_spws": [
              {
                "spw_id": 1,
                "logical_fsp_ids": [
                  1,
                  2
                ],
                "receptors":["SKA063", "SKA001", "SKA100"],
                "zoom_factor": 1,
                "centre_frequency": 800e6,
                "number_of_channels": 20000,
                "channel_averaging_factor": 1,
                "time_integration_factor": 1
              }
            ],
            "pst_spws": [
              {
                "spw_id": 2,
                "logical_fsp_ids": [
                  3
                ],
                "centre_frequency": 396291840,
                "number_of_channels": 3700
              }
            ]
          }
        ]
      }
    }
  ],
  "dish_allocations": {
    "dish_ids": ["SKA100", "SKA001", "SKA063", "SKA036"],
    "dish_allocation_id": "dish-allocation-74519",
    "selected_subarray_definition": "AA0.5"
  },
  "observing_constraints": {
    "sun_separation": {
      "min": {
        "value": 30.0,
        "unit": "arcmin"
      }
    },
    "moon_separation": {
      "min": {
        "value": 45.0,
        "unit": "arcsec"
      }
    },
    "jupiter_separation": {
      "min": {
        "value": 12.0,
        "unit": "deg"
      }
    },
    "altitude": {
      "min": {
        "value": 0.5,
        "unit": "rad"
      },
      "max": {
        "value": 80.0,
        "unit": "deg"
      }
    },
    "lst": {
      "start": {
        "value": 1.0,
        "unit": "hourangle"
      },
      "end": {
        "value": 3.14159,
        "unit": "rad"
      }
    },
    "minimum_receptors": 16,
    "required_receptors": [
      "SKA001",
      "SKA036",
      "SKA063"
    ]
  }
}

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: ~ska_oso_pdm._shared.atoms.TelescopeType | None = None, validate_against: ~ska_oso_pdm._shared.atoms.ValidationArrayAssembly | None = None, metadata: ~ska_oso_pdm._shared.metadata.Metadata | None = None, prj_ref: str | None = None, ob_ref: str | None = None, activities: dict[str, ~ska_oso_pdm.sb_definition.procedures.InlineScript | ~ska_oso_pdm.sb_definition.procedures.FilesystemScript | ~ska_oso_pdm.sb_definition.procedures.GitScript] | None = <factory>, targets: list[~ska_oso_pdm._shared.target.Target] | None = <factory>, observing_constraints: ~ska_oso_pdm.sb_definition.observing_constraints.ObservingConstraints | None = None, qa_threshold_overrides: ~ska_oso_pdm.sb_definition.qa_threshold_overrides.QAThresholdOverrides | None = None, csp_configurations: list[~ska_oso_pdm.sb_definition.csp.csp_configuration.CSPConfiguration] | None = <factory>, dish_allocations: ~ska_oso_pdm.sb_definition.dish.dish_allocation.DishAllocation | None = None, mccs_allocation: ~ska_oso_pdm.sb_definition.mccs.mccs_allocation.MCCSAllocation | None = None, sdp_configurations: list[~ska_oso_pdm.sb_definition.sdp.sdp_configuration.SDPConfiguration] | None = <factory>)[source]

SKA scheduling block