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

Note

The ‘field’ key section with “c1 & c2” are required under timing beams -> beams for PST beams delay generation.

PSS beams delay model

This delay model is calculated for each of the PSS 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 30 PSS beams per subarray. Please refer Observation Execution APIs section for the specific details of the APIs.

Note

In order to publish PSS Delay polynomial the “beam” key is required with “ra” and “dec” keys in all the PSS beams data

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.

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}

Following example shows a PSS 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}