The 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.


Class diagram for the sb_definition module

# JSON modelled specifically by sb_definition
  "sbd_id": "sbi-mvp01-20200325-00001",
  "telescope": "ska_mid",
  "interface": "",
  "metadata": {
    "version": 1,
    "created_by": "Liz Bartlett",
    "created_on": "2022-03-28T15:43:53.971548",
    "last_modified_on": null,
    "last_modified_by": null
  "activities": ...
  "dish_allocations": ...
  "csp_configurations": ...
  "dish_configurations" : ...
  "field_configurations": ...
  "sdp_configuration": ...
  "scan_definitions": ...
  "scan_sequence": [
    "A", "B", "B", "A"

The entities.scheduling_block_entity module defines a simple Python representation of the scheduling block that contains the details of the observation

class SBDefinition(*, interface: Optional[str] = '', sbd_id: Optional[str] = None, telescope: Optional[ska_oso_pdm.entities.common.sb_definition.TelescopeType] = None, metadata: Optional[ska_oso_pdm.entities.common.sb_definition.MetaData] = None, activities: Optional[Dict[str, ska_oso_pdm.entities.common.procedures.PythonProcedure]] = None, field_configurations: Optional[List[ska_oso_pdm.entities.common.field_configuration.FieldConfiguration]] = None, scan_definitions: Optional[List[ska_oso_pdm.entities.common.scan_definition.ScanDefinition]] = None, scan_sequence: Optional[List[str]] = None, sdp_configuration: Optional[ska_oso_pdm.entities.sdp.sdp_configuration.SDPConfiguration] = None, dish_configurations: Optional[List[]] = None, csp_configurations: Optional[List[ska_oso_pdm.entities.csp.common.CSPConfiguration]] = None, dish_allocations: Optional[] = None, mccs_allocation: Optional[ska_oso_pdm.entities.mccs.mccs_allocation.MCCSAllocation] = None, subarray_beam_configurations: Optional[List[ska_oso_pdm.entities.mccs.subarray_beam_configuration.SubarrayBeamConfiguration]] = None, target_beam_configurations: Optional[List[ska_oso_pdm.entities.mccs.target_beam_configuration.TargetBeamConfiguration]] = None)[source]

SKA scheduling block

class TelescopeType[source]

TelescopeType represents which telescope is being used

class MetaData(*, version: Optional[int] = 1, created_on: Optional[datetime.datetime] = None, created_by: Optional[str] = None, last_modified_on: Optional[datetime.datetime] = None, last_modified_by: Optional[str] = None)[source]

MetaData Class