Delay Model Calculations

The TMC is responsible for calculation and distribution of the delay models during the observations execution. TMC calculates delay models for 3 types of beams. These are:

  • Subarray a.k.a station beams

  • Pulsar Timing (PST) beams

  • Pulsar search (PSS) beams

The delay model calculations are done separately for each of the subarray. As per TMC architecture, the CSP Subarray Leaf Node is responsible for calculating all types of delay models within the subarray. The delay calculations are performed in a separate subprocess running under the CSP Subarray Leaf Node. The calculation is triggrred as part of processing the Configure command. The calculation is stopped as part of processing the End command.

Subarray/ Station beams delay model

This delay model is calculated for each station or substation in the subarray. As of now, the terms station beam and subarray beam are interchangable. This is because the mapping between a station beam and a subarray beam is 1:1 in current implementation of MCCS. Please refer MCCS documentation for more details. The contents of the delay model are:

  • Subarray id

  • Configuration id

  • Timestamp from which the delay model is valid

  • Validity period of the delays in seconds.

  • Cadence of delay model generation in seconds

  • For each station and/or substation

    • Station id

    • Substation id

    • Coefficients of 5th order x ploynomial

    • Offset of y ploynomial (in nanoseconds. Currently hard coded to 0.0)

Note

Currently TMC supports four subarray beams per subarray. Please refer Observation Execution APIs section for the specific details of the APIs.

PST beams delay model

This delay model is calculated for each of the PST beam assigned to a subarray. The contents of the delay model are:

  • Subarray id

  • Configuration id

  • Timestamp from which the delay model is valid

  • Validity period of the delays in seconds.

  • Cadence of delay model generation in seconds

  • For each station and/or substation

    • Station id

    • Coefficients of 5th order x ploynomial

    • Offset of y ploynomial (in nanoseconds. Currently hard coded to 0.0)

Note

Currently TMC supports two PST beams per subarray. Please refer Observation Execution APIs section for the specific details of the APIs.

PSS beams delay model

This feature is not yet implemented.

Delay model Format

The delay model is provided in the form of JSON string. The primary consumers of the delay models are CBF, PST and PSS devices. It is also expected that the delays models should be available to anyone who wants for monitoring or any other purpose. Thus, the delay models are exposed in the form of Tango attributes. These attribute publish the delay model as a json string. Any interested consumer can subscribe to the change events of thse attributes.

CSP low delaymodel 1.1

https://schema.skao.int/ska-low-csp-delaymodel/1.1

type

object

properties

  • cadence_sec

The time in seconds between updates/publications of the

delay polynomials.

Type: float

Range: Non-zero positive number

type

number

  • config_id

A string, should be the same as the equivalent value in the last “configure” JSON. If not it indicates that these are not yet valid polys for the current configuration.

Type: str

type

string

  • interface

URI of JSON schema applicable to this JSON payload. Type: str

type

string

  • start_validity_sec

Time when delay model becomes valid Start point of polynomial validity no sensible default. It indicates an epoch, which could be anytime.

Type: float

type

number

  • station_beam_delays

type

array

items

station_beam_delays_1.1

  • subarray

The subarray for which the delay polynomials apply to.

Type: int

Range: Integer from 1-16 inclusive

type

integer

  • validity_period_sec

Validity period of the delay model (starting at epoch) [s]

Type: float

Range: Non-zero positive number

type

number

additionalProperties

True

station_beam_delays_1.1

type

object

properties

  • station_id

The station ids for which the delay polynomials apply to.

Type: int Range: Integer from 1-512 inclusive

type

integer

  • substation_id

The substation ids for which the delay polynomials apply to.

Type: int

type

integer

  • xypol_coeffs_ns

X coefficient set Delay Model is specified as coefficients for a 5th order polynomial. Coefficients of the polynomial are specified as an array. The delay at time t, where t is measured with respect the beginning of the validity interval is calculated as:

d(t) = c0 + c1*t + c2*t^2 + c3*t^3 + c4*t^4 + c5*t^5

Units for coefficients c0,c1,..c5: ns/s^k where k=0,1,..5

Type: float

Range for coefficients: 64 bit number

type

array

items

type

number

  • ypol_offset_ns

Offset for the Y polarisation

Type: float

type

number

additionalProperties

True

Following example shows a subarray beam delay model:

 1{
 2  "interface": "https://schema.skao.int/ska-low-csp-delaymodel/1.1",
 3  "start_validity_sec": 805557541.088861,
 4  "cadence_sec": 300.0,
 5  "validity_period_sec": 600.0,
 6  "config_id": "sbi-mvp01-20200325-00001-science_A",
 7  "subarray": 1,
 8  "station_beam_delays": [
 9    {
10      "station_id": 1,
11      "substation_id": 0,
12      "xypol_coeffs_ns": [
13        "#p1",
14        "#p2",
15        "#p3",
16        "#p4",
17        "#p5",
18        "#p6"
19      ],
20      "ypol_offset_ns": 0.0
21    },
22    {
23      "station_id": 2,
24      "substation_id": 0,
25      "xypol_coeffs_ns": [
26        "#p1",
27        "#p2",
28        "#p3",
29        "#p4",
30        "#p5",
31        "#p6"
32      ],
33      "ypol_offset_ns": 0.0
34    },
35    {
36      "station_id": 3,
37      "substation_id": 0,
38      "xypol_coeffs_ns": [
39        "#p1",
40        "#p2",
41        "#p3",
42        "#p4",
43        "#p5",
44        "#p6"
45      ],
46      "ypol_offset_ns": 0.0
47    },
48    {
49      "station_id": 4,
50      "substation_id": 0,
51      "xypol_coeffs_ns": [
52        "#p1",
53        "#p2",
54        "#p3",
55        "#p4",
56        "#p5",
57        "#p6"
58      ],
59      "ypol_offset_ns": 0.0
60    },
61    {
62      "station_id": 5,
63      "substation_id": 0,
64      "xypol_coeffs_ns": [
65        "#p1",
66        "#p2",
67        "#p3",
68        "#p4",
69        "#p5",
70        "#p6"
71      ],
72      "ypol_offset_ns": 0.0
73    },
74    {
75      "station_id": 6,
76      "substation_id": 0,
77      "xypol_coeffs_ns": [
78        "#p1",
79        "#p2",
80        "#p3",
81        "#p4",
82        "#p5",
83        "#p6"
84      ],
85      "ypol_offset_ns": 0.0
86    }
87  ]
88}

Following example shows a PST beam delay model:

 1{
 2  "interface": "https://schema.skao.int/ska-low-csp-delaymodel/1.1",
 3  "start_validity_sec": 0.1,
 4  "cadence_sec": 0.1,
 5  "validity_period_sec": 0.1,
 6  "config_id": "",
 7  "subarray": 1,
 8  "station_beam_delays": [
 9    {
10      "station_id": 1,
11      "substation_id": 1,
12      "xypol_coeffs_ns": [],
13      "ypol_offset_ns": 0.0
14    },
15    {
16      "station_id": 1,
17      "substation_id": 1,
18      "xypol_coeffs_ns": [],
19      "ypol_offset_ns": 0.0
20    }
21  ]
22}