ska-tmc-assignresources

Mid TMC assign resources 2.1

Example JSON.

{
    "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",
        "execution_block": {
            "eb_id": "eb-mvp01-20210623-00000",
            "max_length": 100.0,
            "context": {},
            "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 timing"
            }, {
                "beam_id": "pst2",
                "timing_beam_id": 2,
                "function": "pulsar timing"
            }, {
                "beam_id": "vlbi1",
                "vlbi_beam_id": 1,
                "function": "vlbi"
            }],
            "scan_types": [{
                "scan_type_id": ".default",
                "beams": {
                    "vis0": {
                        "channels_id": "vis_channels",
                        "polarisations_id": "all"
                    },
                    "pss1": {
                        "field_id": "pss_field_0",
                        "channels_id": "pulsar_channels",
                        "polarisations_id": "all"
                    },
                    "pss2": {
                        "field_id": "pss_field_1",
                        "channels_id": "pulsar_channels",
                        "polarisations_id": "all"
                    },
                    "pst1": {
                        "field_id": "pst_field_0",
                        "channels_id": "pulsar_channels",
                        "polarisations_id": "all"
                    },
                    "pst2": {
                        "field_id": "pst_field_1",
                        "channels_id": "pulsar_channels",
                        "polarisations_id": "all"
                    },
                    "vlbi": {
                        "field_id": "vlbi_field",
                        "channels_id": "vlbi_channels",
                        "polarisations_id": "all"
                    }
                }
            }, {
                "scan_type_id": "target:a",
                "derive_from": ".default",
                "beams": {
                    "vis0": {
                        "field_id": "field_a"
                    }
                }
            }],
            "channels": [{
                "channels_id": "vis_channels",
                "spectral_windows": [{
                    "spectral_window_id": "fsp_1_channels",
                    "count": 744,
                    "start": 0,
                    "stride": 2,
                    "freq_min": 350000000.0,
                    "freq_max": 368000000.0,
                    "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.0,
                    "freq_max": 368000000.0,
                    "link_map": [
                        [2000, 4],
                        [2200, 5]
                    ]
                }, {
                    "spectral_window_id": "zoom_window_1",
                    "count": 744,
                    "start": 4000,
                    "stride": 1,
                    "freq_min": 360000000.0,
                    "freq_max": 361000000.0,
                    "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.0,
                    "freq_max": 368000000.0
                }]
            }],
            "polarisations": [{
                "polarisations_id": "all",
                "corr_type": ["XX", "XY", "YY", "YX"]
            }],
            "fields": [{
                "field_id": "field_a",
                "phase_dir": {
                    "ra": [123, 0.1],
                    "dec": [80, 0.1],
                    "reference_time": "...",
                    "reference_frame": "ICRF3"
                },
                "pointing_fqdn": "low-tmc/telstate/0/pointing"
            }]
        },
        "processing_blocks": [{
            "pb_id": "pb-mvp01-20210623-00000",
            "sbi_ids": ["sbi-mvp01-20200325-00001"],
            "script": {
                "kind": "realtime",
                "name": "vis_receive",
                "version": "0.1.0"
            },
            "parameters": {}
        }, {
            "pb_id": "pb-mvp01-20210623-00001",
            "sbi_ids": ["sbi-mvp01-20200325-00001"],
            "script": {
                "kind": "realtime",
                "name": "test_realtime",
                "version": "0.1.0"
            },
            "parameters": {}
        }, {
            "pb_id": "pb-mvp01-20210623-00002",
            "sbi_ids": ["sbi-mvp01-20200325-00002"],
            "script": {
                "kind": "batch",
                "name": "ical",
                "version": "0.1.0"
            },
            "parameters": {},
            "dependencies": [{
                "pb_id": "pb-mvp01-20210623-00000",
                "kind": ["visibilities"]
            }]
        }, {
            "pb_id": "pb-mvp01-20210623-00003",
            "sbi_ids": ["sbi-mvp01-20200325-00001", "sbi-mvp01-20200325-00002"],
            "script": {
                "kind": "batch",
                "name": "dpreb",
                "version": "0.1.0"
            },
            "parameters": {},
            "dependencies": [{
                "pb_id": "pb-mvp01-20210623-00002",
                "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
        }
    }
}

https://schema.skao.int/ska-tmc-assignresources/2.1

type

object

properties

  • interface

URI of JSON schema applicable to this JSON payload.

type

string

  • transaction_id

A transaction id specific to the command

type

string

default

null

  • subarray_id

ID of sub-array targeted by this resource allocation request

type

integer

  • dish

Mid Telescope specification for Dish allocation.

type

object

properties

  • receptor_ids

Receptor ids of dishes

type

array

items

type

string

additionalProperties

False

  • sdp

sdp block for assignres version 0.4

type

object

properties

  • interface

type

string

default

null

  • transaction_id

type

string

pattern

^txn\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$

default

null

  • execution_block

Execution block

default

null

Execution block 0.4

  • resources

External resources

type

object

default

null

properties

  • receptors

type

array

default

null

items

anyOf

type

string

pattern

^C([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-1][0-9]|22[0-4])$

type

string

pattern

^[ENS]([1-9]|1[0-6])-[1-6]$

type

string

pattern

^FS([1-9]|[1-9][0-9]|[1-4][0-9][0-9]|50[0-9]|51[0-2])(\.\S+)?$

type

string

pattern

^SKA((?!000)0[0-9][0-9]|1[0-2][0-9]|13[0-3])$

type

string

pattern

^MKT0([0-5][0-9]|6[0-3])$

additionalProperties

True

  • processing_blocks

Processing blocks

type

array

default

null

items

A Processing Block is an atomic unit of data processing for the purpose of SDP’s internal scheduler. Each PB references a processing script and together with the associated execution block provides all parameters necessary to carry out scheduling - both on TM’s side for observation planning and on SDP’s side - as well as enable processing to locate all required inputs once it is in progress.

PBs are used for both real-time and deferred, batch, processing. An execution block will often contain many Processing Blocks, for example for ingest, self-calibration and Data Product preparation.

Processing block 0.4

additionalProperties

False

additionalProperties

False

Execution block 0.4

type

object

properties

  • eb_id

type

string

pattern

^eb\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$

  • max_length

type

number

  • context

Free-form information from OET, see ADR-54

  • beams

Beam parameters

type

array

items

Beam parameters for the purpose of the Science Data Processor.

Beam 0.4

  • scan_types

Scan types. Associates scans with per-beam fields & channel configurations

type

array

items

type

object

properties

  • scan_type_id

type

string

  • derive_from

type

string

  • beams

type

object

additionalProperties

False

  • channels

Channels

type

array

items

Spectral windows per channel configuration.

Scan channels 0.4

  • polarisations

Polarisation definitions

type

array

items

Polarisation definition.

type

object

properties

  • polarisations_id

type

string

  • corr_type

type

array

items

type

string

additionalProperties

False

  • fields

Fields / targets

type

array

items

Fields / Targets

type

object

properties

  • field_id

type

string

  • phase_dir

Phase direction

type

object

properties

  • ra

type

array

items

  • dec

type

array

items

  • reference_time

type

string

  • reference_frame

const

ICRF3

additionalProperties

False

  • pointing_fqdn

type

string

additionalProperties

False

additionalProperties

False

Beam 0.4

Beam parameters for the purpose of the Science Data Processor.

type

object

properties

  • beam_id

Name to identify the beam within the SDP configuration.

type

string

  • function

Identifies the type and origin of the generated beam data. This corresponds to a certain kind of calibration or receive functionality SDP is meant to provide for it.

Possible options:

  • visibilities: Correlated voltages from CBF used for calibration and imaging

  • pulsar search: SDP provides calibrations for tied-array beam as well as post-processes and delivers pulsar search data products

  • pulsar timing: SDP provides calibrations for tied-array beam as well as post-processes and delivers pulsar timing data products

  • vlbi: SDP provides calibrations for tied-array beam

  • transient buffer: SDP receives and delivers transient buffer data dumps

enum

visibilities, pulsar search, pulsar timing, vlbi, transient buffer

  • search_beam_id

type

integer

default

null

  • timing_beam_id

type

integer

default

null

  • vlbi_beam_id

type

integer

default

null

additionalProperties

False

Scan channels 0.4

Spectral windows per channel configuration.

type

object

properties

  • channels_id

  • spectral_windows

type

array

items

type

object

properties

  • spectral_window_id

  • count

Number of channels

type

integer

  • start

First channel ID

type

integer

  • stride

Distance between subsequent channel IDs

type

integer

default

null

  • freq_min

Lower bound of first channel

type

number

  • freq_max

Upper bound of last channel

type

number

  • link_map

Channel map that specifies which network link is going to get used to send channels to SDP. Intended to allow SDP to optimise network and receive node configuration.

type

array

default

null

items

additionalProperties

False

additionalProperties

False

Processing block 0.4

A Processing Block is an atomic unit of data processing for the purpose of SDP’s internal scheduler. Each PB references a processing script and together with the associated execution block provides all parameters necessary to carry out scheduling - both on TM’s side for observation planning and on SDP’s side - as well as enable processing to locate all required inputs once it is in progress.

PBs are used for both real-time and deferred, batch, processing. An execution block will often contain many Processing Blocks, for example for ingest, self-calibration and Data Product preparation.

type

object

properties

  • pb_id

Unique identifier for this processing block.

type

string

pattern

^pb\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$

  • script

Specification of the workflow to be executed along with configuration parameters for the workflow.

type

object

properties

  • kind

The kind of processing script (realtime or batch)

allOf

type

string

enum

realtime, batch

  • name

The name of the processing script

type

string

  • version

Version of the processing script. Uses semantic versioning.

type

string

additionalProperties

False

  • parameters

Configuration parameters needed to execute the workflow. As these parameters will be workflow specific, this is left as an object to be specified by the workflow definition.

type

object

default

null

  • dependencies

A dependency between processing blocks means that one processing block requires something from the other processing block to run - typically an intermediate Data Product. This generally means that

  1. The dependent processing block might only be able to start once the dependency has been fulfilled

  2. Data associated with the dependency must be kept alive until the dependent processing block is finished.

As processing blocks might have many different outputs, the dependency “kind” can be used to specify how this dependency is meant to be interpreted (e.g. “visibilities”, “calibration”…)

type

array

default

null

items

type

object

properties

  • pb_id

type

string

pattern

^pb\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$

  • kind

type

array

items

type

string

additionalProperties

False

  • sbi_ids

Scheduling block instances that the processing block belongs to.

type

array

default

null

items

type

string

pattern

^sbi\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$

additionalProperties

False