SKA Telescope Model
Library for retrieving and working with SKA Telescope Model information. What we are concerned with is enabling different SKA sub-systems to agree about information - such as shared assumptions about:
the physical location of telescope receptors (i.e. dishes or stations), or
configuration of the correlator and its connections to links, or
internal configuration templates for sub-systems
This sort of information evolves relatively slowly and is in many cases too voluminous to be exchanged between systems in real time. On the other hand, especially for information characterising knowledge about the telescope, we will need to evolve it independently of the software development lifecycle.
For this purpose, this library provides:
Means to access versioned telescope model data
Schemas to check whether telescope model data is valid
Ways for interpret and transform telescope model information
Installation
Install using pip
from the SKAO central artefact repository:
pip install --extra-index-url https://artefact.skao.int/repository/pypi-internal/simple ska-telmodel
SKA Telescope Model
Library for retrieving and working with SKA Telescope Model information. What we are concerned with is enabling different SKA sub-systems to agree about information - such as shared assumptions about:
the physical location of telescope receptors (i.e. dishes or stations), or
configuration of the correlator and its connections to links, or
internal configuration templates for sub-systems
This sort of information evolves relatively slowly and is in many cases too voluminous to be exchanged between systems in real time. On the other hand, especially for information characterising knowledge about the telescope, we will need to evolve it independently of the software development lifecycle.
For this purpose, this library provides:
Means to access versioned telescope model data
Schemas to check whether telescope model data is valid
Ways for interpret and transform telescope model information
Installation
Install using pip
from the SKAO central artefact repository:
pip install --extra-index-url https://artefact.skao.int/repository/pypi-internal/simple ska-telmodel
Change Log
All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.
1.16.0
Decoupling of Semantic Validation and OSD functionalities from ska-telmodel
These have been added into a new repo ska-ost-osd and exposed as a service
1.15.1
Created Configure schema for Low OSO-TMC.
Unit test cases to verify the validations for added Low OSO-TMC Configure schema.
Updated documentation for Low OSO-TMC latest schema.
fix get_low_csp_common() function to allow TMC to get proper schema
1.15.0
Update Mid Delay Model format to comply with ADR-88
1.14.1
Allow the same k value be used by multiple receptors in Mid CBF InitSysParams.
1.14.0
Created schema for Low CSP.
Moved PST schema in a separate folder and created its own URI.
Nakshatra changes implemented in Low CSP/CBF.
Reorganization of the documentation structure.
Added CSP LOW delaymodel json schema as per ADR-88.
Unit test cases to verify the validations for added CSP LOW delay model schema.
Updated documentation for CSP LOW delaymodel.
1.13.0
Added initial version of Observatory Static Data.
Integrated Observatory Static Data (OSD) with existing semantic validation framework.
1.12.0
Extended support of semantic validation for Scheduling Block Definition.
Updated existing semantic validation test-cases.
Updated documentation for CSP LOW assignresources command.
1.11.2
Updated datatype of epoch in delayModel to float
1.11.1
Updated PST Flow Through configuration
1.11.0
Added new schema section for TMC LOW commands
Added initial Semantic Validation for LOW observing setup
1.10.0
Added new schema section for midcbf InitSysParams command
Added schema and test cases for midcbf InitSysParams command
1.9.2
Added new field z_pos to antenna_geojson structure
Added documentation for station and antenna geojson
1.9.1
Mid cbf scan_id changed from string to integer (SKB-254)
Added tutorials to restructured documentation
Support shortened “car:” URI scheme (defaults to “gitlab.com/ska-telescope/” prefix and “#tmdata” segment)
1.9.0
Adds support for partial configuration with Target-offset parameters to enable 5-point calibration scans. (BTN-2052)
Adds a new module for semantic validation of Low telescope configuration. (NAK-673)
1.8.2
Bugfix: ‘simpleeval’ and ‘astropy’ are required in production, not only as development dependencies.
1.8.1
Update receptor validation and example values to match ADR-32
Added optional eb_id to CSP common schema
1.8.0
Fixed semantic validation issue on receptor_id and fsp_id for AA0.5 schema.
Add new “car://” backend type that behaves like “nexus://”, but enforces that data comes from artefact repository
Fix handling of the CAR_RAW_REPOSITORY_URL to fix behaviour in CI pipelines
Added station_id to version 1.1 of the receptor schema
Renamed station_name to station_label in version 1.1 of the receptor schema
Added the various changes required to the update scripts
Add documentation for Mid.CBF command schema
1.7.0
Added new semantic validation support for AA0.5 schema
1.6.0
Add schemas for Low CBF configuration commands
Add receptor_id to version 2.1 of TMC release resource schema
1.5.0
Add version 2.1 of SKA-MID assign,configure,release,scan schema to support standardised keys.
1.4.1
PST schema updates following review
1.4.0
Added telescope model data interface to query sources of truth on matters of static telescope information
Added layout schemas in support to provide data for delay modelling. Including schemas for geocentric, geodectic and local positions, and fixed delays.
Added delay model schema to CSP
Refactored CSP version code for config to use common version check function
1.3.3
SDP schema refactoring
Implement SDP scan metadata required for multi-scan support (version 0.4, including new ReleaseResources schema)
Add receive address propagation support for PSS & PST
Introduced CSP schemas and examples: assignresources, scan, endscan, and releaseresources
1.3.2
Using standard SKAO CI stages now
Substantial internal code refactoring - build schemas incrementally
Add PST (Pulsar Timing) configuration schemas to CSP
Add PSS (Pulsar Search) configuration schemas to CSP
1.3.1
Update values in example file for CSP Configure schema
Enhance CSP Schema version check logic
1.3.0
Add version 2.0 of CSP Configure schema to support standardised keys (ADR-35)
Add version 2.0 of TMC schemas for SKA-Low to support standardised keys (ADR-35)
1.2.0
Add version 0.3 of SDP schemas to support standardised keys (ADR-35)
1.1.0
Introduce TMC configuration to the TMC SubArrayNode.Configure schema
1.0.0
Introduced schema for TMC CentralNode and TMC SubArrayNode, currently just for SKA LOW.
Introduced schema for MCCSController and MCCSSubarray
0.3.0
Generate schema description into Sphinx documentation instead of using bootprint
Replaces specialised validation routines by a general one that selects the schema by the URI.
0.2.0
Implementation of changes in CSP configuration string according ADR-18
Especially add stubs for PSS and PST configuration
Rework version handling to use URIs as suggested by ADR-22
0.1.4
Accept raw dictionaries instead of strings
0.1.3
Added SDP schema verifications
0.1.2
Added CSP schema verification
0.1.1
Renamed outputChannelOffset to fspChannelOffset
0.1.0
Initial release
Added CSP interface generation
Getting Started
Installation
Install using pip
from the SKAO central artefact repository:
$ pip install --extra-index-url https://artefact.skao.int/repository/pypi-internal/simple ska-telmodel
Simple usage
List data
You can now use the command line utility to list default telescope model data:
$ ska-telmodel ls
instrument/mccs-configuration/station_export_w2.json
instrument/mccs-configuration/antenna_export_w2.json
instrument/ska1_low/layout/low-layout.json
instrument/ska1_low/layout/data.json
instrument/ska1_low/layout/README.md
[...]
You can achieve the same thing from Python as follows:
from ska_telmodel.data import TMData
for key in TMData(): print(key)
Retrieve data
You can easily retrieve data from the command line as well:
$ ska-telmodel cat instrument/ska1_low/layout/README.md
SKA Low layout
--------------
[...]
Again, the same can be achieved from Python:
from ska_telmodel.data import TMData
print(TMData()['instrument/ska1_low/layout/README.md'].get().decode())
For JSON or YAML data, you can especially retrieve it parsed:
print(TMData()['software/tango/ska_wide/Guidelines.yaml'].get_dict())
# -> [{'class': None, [...]
Data sources
Local directory
ska-telmodel
has a number of default data sources built-in, which we have
been querying above. However, you can override this. For instance, you can use
a local directory as a source:
$ mkdir tmdata_demo
$ echo Test! > tmdata_demo/test.txt
$ ska-telmodel ls --sources=file://tmdata_demo
test.txt
$ ska-telmodel cat --sources=file://tmdata_demo test.txt
Test!
This works similarly from Python:
from ska_telmodel.data import TMData
tmdata = TMData(['file://tmdata_demo'])
print(tmdata['test.txt'].get().decode())
# -> Test!
A useful pattern is to use this to create a local copy of telescope model data
(see ska_telmodel.cli.cmd_cp()
).
Gitlab & CAR sources
You can also use any Gitlab directory as a source:
$ ska-telmodel ls --sources=gitlab://gitlab.com/ska-telescope/ska-telmodel?master#tmdata/software
UserWarning: gitlab://gitlab.com/ska-telescope/ska-telmodel?master#tmdata/software not cached in SKA CAR - make sure to add tmdata CI!
warnings.warn(warning)
tango/dsh/DishManager.yaml
tango/ska_wide/Guidelines.yaml
tango/ska_wide/SKABaseDevice.yaml
tango/ska_wide/SKAMaster.yaml
This is useful for development, but as the warning indicates should not be used seriously, as Gitlab will eventually start blocking these kinds of requests. A better approach is to use the SKAO central artefact repository (CAR) as the source:
$ ska-telmodel ls --sources=car:ska-telmodel?master
instrument/ska1_mid/validation/mid-validation-constants.json
software/tango/ska_wide/Guidelines.yaml
software/tango/ska_wide/SKAMaster.yaml
software/tango/ska_wide/SKABaseDevice.yaml
software/tango/dsh/DishManager.yaml
Using the car:
URI we are now referring to an archive artefact, typically
mirroring the contents of a repository (see Adding a New Gitlab Data Source).
Dynamic sources
The source URIs given above point to dynamic branches (master
), which means
that the results of queries against telescope model data might change. For
instance we can go:
$ echo Test! > tmdata_demo/test.txt
$ git switch -c my_test_branch
$ git add tmdata_demo/test.txt; git commit -m "Telescope model data test"; git push my_test_branch origin
$ export SKA_TELMODEL_SOURCES=gitlab://gitlab.com/ska-telescope/ska-telmodel?my_test_branch#tmdata_demo
$ ska-telmodel ls
test.txt
$ ska-telmodel cat test.txt
Test!
$ echo Test2! > tmdata_demo/test.txt
$ git add tmdata_demo/test.txt; git commit -m "Telescope model data test 2"; git push my_test_branch origin
$ ska-telmodel cat test.txt
Test!
$ ska-telmodel cat --update test.txt
Test2!
Note that the result of our query changed - albeit only after we passed
--update
, which forced a refresh of the cache. A CAR data source would have
the same behaviour if a new package was uploaded by a CI pipeline.
In Python we would achieve the equivalent as follows:
from ska_telmodel.data import TMData
sources = ['gitlab://gitlab.com/ska-telescope/ska-telmodel?my_test_branch#tmdata_demo']
tmdata = TMData(sources, update=True)
print(['test.txt'].get().decode())
Pinning dynamic sources
This dynamic behaviour might be useful in development, but when running code in testing or production, we would like more reproduceability. This is why it is a good idea to “pin” dynamic sources to a specific version. One approach is to refer to a fixed “tag”:
$ ska-telmodel --sources=car:ska-telmodel?1.5.0 ls
software/tango/ska_wide/Guidelines.yaml
software/tango/ska_wide/SKAMaster.yaml
software/tango/ska_wide/SKABaseDevice.yaml
software/tango/dsh/DishManager.yaml
Now we are effectively referring to a “telescope model data release”, which is permanently stored in the CAR and will always give the same result. Note that every repository publishing telescope model data might have its own independent version history, and there’s especially no connection to the version of the telescope model data library.
Another approach is to “pin” sources, which resolves them to hashes:
$ export `ska-telmodel -U pin`
Using car:ska-telmodel-data?~9d576afb2f8980bab1fea5d82fa80ddfa91fba21
Using car:ska-telmodel?~719f0146df1de15dfaaa1780847de656ce35c29a
Using car:mccs/ska-low-mccs?~6d98ac66b188d9943b2af19e3e5f2f317da384e8
$ echo $SKA_TELMODEL_SOURCES
car:ska-telmodel-data?~9d576afb2f8980bab1fea5d82fa80ddfa91fba21,car:ska-telmodel?~719f0146df1de15dfaaa1780847de656ce35c29a,car:mccs/ska-low-mccs?~6d98ac66b188d9943b2af19e3e5f2f317da384e8
In Python we would achieve the same as follows:
from ska_telmodel.data import TMData
sources = TMData(update=True).get_sources(pinned=True)
print(sources)
# -> ['car:ska-telmodel-data?~9d576afb2f8980bab1fea5d82fa80ddfa91fba21', 'car:ska-telmodel?~719f0146df1de15dfaaa1780847de656ce35c29a', 'car:mccs/ska-low-mccs?~6d98ac66b188d9943b2af19e3e5f2f317da384e8']
At this point we would be able to pass sources
to a different component
(e.g. a configured sub-system):
# Set telescope model data to use, issue call to other component
config['sources'] = tmdata.get_sources(pinned=True)
config['layout_key'] = 'instrument/ska1_low/layout/data.json'
otherComponent.Command(json.dumps(config))
Now another component (e.g. Tango device) could get the data pointed at as follows:
def Commnand(self, config_str):
config = json.loads(config_str)
tmdata = TMData(config['sources'])
layout = tmdata[config['layout_key']]
At this point we could be sure that the second piece of code has exactly the same view of telescope model data - regardless of any updates to telescope model data that might have happened in the meantime.
Permanently adding or changing files
In Dynamic sources we used a Gitlab source to quickly add a
file, but this is not how you would add files to telescope model data
permanently. As explained in the last section, to add data long-term
we want to make them part of telescope model data “releases” persisted
in the central artefact repository (such as
car:ska-telmodel?1.5.0
).
The idea is that any SKAO repository can release such telescope model data packages, similar to how any repository can publish (say) Python packages. For instance, the following repositories currently publish telescope model data:
https://gitlab.com/ska-telescope/ska-telmodel - telescope model data directly associated with the telescope model library (data for semantic validation)
https://gitlab.com/ska-telescope/ska-telmodel-data - shared information about the telescope, such as receptor positions
https://gitlab.com/ska-telescope/mccs/ska-low-mccs - MCCS configuration information
You can view the information coming from these repositories as usual:
$ ska-telmodel --sources=car:mccs/ska-low-mccs?master ls
instrument/mccs-configuration/station_export_w2.json
instrument/mccs-configuration/antenna_export_w2.json
To add your own information, you need to:
Identify the repository to add the information to. If your telescope model data does not fit into an existing repostory that publishes telescope model data, check Adding a New Gitlab Data Source for how to set up a new repository to publish telescope model data.
Add the data to the
tmdata
folder in the repository, e.g. using a merge request. Make sure you choose a good path within it, because it will be global, see Data. Once merged, you should be able to see your file usingska-telmodel --sources=car:ska-your-repo?main
(assuming your main branch is calledmain
, otherwisemaster
)Optional: Release your repository (i.e. create a tag) to create a versioned telescope model data package, which can then be accessed using
ska-telmodel --sources=car:ska-your-repo?a.b.c
wherea.b.c
is the release version.
Further information
For more in-depth guides, check Usage Guide. There is also an
SKAO Slack channel for helping users and developers of the SKA
telescope model - #help-telmodel
.
Usage Guide
Data
Telescope model data is stored as objects identified as keys. Each key takes the following form:
[domain]/([sub-domain]/)*[name].[type]
Where
[domain]/
specifies the coarse top-level telescope model data domain.[sub-domain]/
provides further hierarchical data sub-categories[name]
associates a name with the telescope model data.[type]
identifies the file type, which is used to identify the kind of file contents. The library currently supportsjson
andyaml
.
Names should be chosen for being self-describing and stable long-term. Top-level domains:
environment/... # Environment telescopes are deployed in
instrument/... # Telescopes and their equipment
software/... # Software deployed to the telescopes
To retrieve a particular piece of data from the telescope model,
csimply construct an ska_telmodel.data.TMData
object and
use the []
operator to access:
from ska_telmodel.data import TMData
tmdata = TMData()
print(tmdata['instrument/ska1_low/layout/low-layout.json'].get_dict())
This works because the telescope model comes with a number of default
sources that will be checked for matching telescope model
data. ska_telmodel.data.TMObject.get_dict()
automatically
parses and converts JSON and YAML documents, but you can also get the
raw data using ska_telmodel.data.TMObject.get()
, or open or
copy the contents as a file using
ska_telmodel.data.TMObject.open()
or
ska_telmodel.data.TMObject.copy()
respectively.
To get an idea what is contained in a particumlar part of the telescope
model data tree, simply iterate over it (equivalent to
ska_telmodel.cli.cmd_ls()
):
from ska_telmodel.data import TMData
tmdata = TMData()
for key in tmdata['instrument']:
print(key)
Logically, the []
operator constructs a sub-set of all
telescope model data. If the key is a valid object name (i.e. has an
extension, so contains a '.'
) this subset is assumed to contain
only a single object, and the []
operator will return a
ska_telmodel.data.TMObject
instance.
Data Sources
Telescope model data can be retrieved from a list of sources, which can
be specified to the ska_telmodel.data.TMData
constructor,
using the SKA_TELMODEL_SOURCES
environment variable or left to
in-built ska_telmodel.data.sources.DEFAULT_SOURCES
. Each
source is represented as an URI that specifies the source of truth for
some portion of telescope model data.
The following telescope model data backends are currently supported:
mem://?[key1]=[value1]&[key2]=[value2]
(seeska_telmodel.data.backend.MemoryBackend
)
file://[absolute path]
(seeska_telmodel.data.backend.FilesystemBackend
)
gitlab://[gitlab server]/[project name]?[branch]#[directory]
(seeska_telmodel.data.backend.GitlabBackend
)
car://[gitlab server]/[project name]?[branch]#[directory]
(seeska_telmodel.data.backend.CARBackend
)
The simplest example would be to utilise
ska_telmodel.data.backend.MemoryBackend
to set a key
directly:
from ska_telmodel.data import TMData
tmdata = TMData(['mem://?test.txt=test_data'])
print(tmdata['test.txt']) # -> b"test_data\n"
This can also be configured using environment variables:
import os
from ska_telmodel.data import TMData
os.environ['SKA_TELMODEL_SOURCES'] = 'mem://?test.txt=test_data'
tmdata = TMData()
print(tmdata['test.txt']) # -> b"test_data\n"
You would typically do this from outside your program, see the
documentation for ska_telmodel.cli.cmd_pin()
and
ska_telmodel.cli.cmd_cp()
for examples.
A more complex example would be to retrieve data from Gitlab using
ska_telmodel.data.backend.GitlabBackend
:
from ska_telmodel.data import TMData
gl_uri = 'car://gitlab.com/ska-telescope/ska-telmodel?master#tmdata'
tmdata = TMData([gl_uri])
print(tmdata['software/tango/dsh/DishManager.yaml'])
This will retrieve data directly from the telescope model library repository.
Note that external telescope model data sources using
ska_telmodel.data.backend.GitlabBackend
or
ska_telmodel.data.backend.CARBackend
will cache data locally in
order to prevent repeated requests to servers. This means that if we reference
a Gitlab branch (like master
in the example), the telescope model data in
the cache might go out of sync with the server.
This is intentional, as it means that we provide a consistent view of telescope
model data as long as possible. It is generally best to use “pinned” sources
(see ska_telmodel.cli.cmd_pin()
), but in day-to-day usage, you can
simply use the -U
flag as documented in Command Line Usage or (less preferably) the
update
option to ska_telmodel.data.TMData
to occassionally
refresh the cache as needed. The library will occassionally check for and warn
about stale caches.
Adding a New Gitlab Data Source
If you want others to be able to view data in your GitLab repository
using ska_telmodel.data.backend.GitlabBackend
or
ska_telmodel.data.backend.CARBackend
, first you
will need to place the data you wish to export in a top level
dictionary in your repo named tmdata
. For example:
/tmdata/instrument/mccs_configuration/config_file_low.json
/tmdata/instrument/mccs_configuration/config_file_mid.json
Important to note:
Try to use a directory structure that is compatible with domains (see above) and is reasonably likely to remain stable.
Currently only .json and .yaml files are accepted, and you should have schemas associated with them.
Next add telescope model data support to your top-level Makefile
as documented in https://developer.skao.int/projects/ska-cicd-makefile/en/latest/README.html :
include .make/tmdata.mk
At this point you should be able to verify that make tmdata-package
will
result in both a tmtree.json
and a tmdata.tar.gz
file getting created
in build/tmdata
. Next add the packaging and publishing stage to your Gitlab
pipeline by adding the following lines to the .gitlab-ci.yml
file as documented in
https://developer.skao.int/projects/templates-repository/en/latest/README.html
:
- project: 'ska-telescope/templates-repository'
file: 'gitlab-ci/includes/tmdata.gitlab-ci.yml'
Now once you merge these changes into the main
branch, others will be able
to access this data by specifying your repository as the source:
$ ska-telmodel --sources=car:mccs/ska-low-mccs?main ls
instrument/mccs_configuration/config_file_low.json
instrument/mccs_configuration/config_file_mid.json
Branches other than main
will also work, just adjust the URL
accordingly. However by default the GitLab pipeline will only
upload the TMData package to the artefact repository on the main branch
as well as tags.
If you want the data to be accessible without passing command line
parameters, make a merge request to the ska-telmodel repository
( https://gitlab.com/ska-telescope/ska-telmodel ) that adds your
repository address the src/ska_telmodel/data/source.py
file.
This makes your telescope model data available “globally”:
$ ska_telmodel ls
[...]
instrument/mccs_configuration/config_file_low.json
instrument/mccs_configuration/config_file_mid.json
Schemas
Schemas check JSON-like objects for conformance, e.g. nested
dictionaries containing primitives and lists. They especially have a
JSON schema representation - though
ska_telmodel.schema.validate()
will generally implement more
thorough checks.
All schemas are identified by an URI of the form:
https://schema.skao.int/ska-[subsystem]-[interface]/[major].[minor]
The entire URI should be lower-case alphanumerical. The
[subsystem]
identifies the leading party for maintaining the
schema, and [interface]
the concrete interface
implemented. Depending on context, this might either be data produced
or consumed by the sub-system in question.
Versioning should follow semantic versions: Changes in minor version indicate backwards-compatible changes such as adding new fields or otherwise introducing additional accepted schemas. Changes that break backwards compatibility should change the major version.
You can use the URIs with ska_telmodel.schema.validate()
to
validate data:
from ska_telmodel.data import TMData
from ska_telmodel.schema import validate
uri = "https://schema.skao.int/ska-telmodel-layout-location/0.0"
layout_dict = TMData()['instrument/ska1_low/layout/low-layout.json'].get_dict()
validate(uri, layout_dict)
Furthermore you can use ska_telmodel.schema.example_by_uri()
to retrieve examples of certain schemas (which are replicated in the
schema section of this documentation).
Command Line Usage
The library provides the ska-telmodel
command line utility that
can be used to perform basic data retrieval and validation
tasks. Usage examples:
ska-telmodel [-vULS<uris>] cat [<key>]
ska-telmodel [-vULS<uris>] cp [-R] <key> [<path>]
ska-telmodel [-vULS<uris>] ls [<prefix>]
ska-telmodel [-vULS<uris>] pin
ska-telmodel [-vULS<uris>] validate [-tR] <key/path>
ska-telmodel help [<command>]
Options:
-L, --local Equivalent to "--sources=file://."
-R, --recursive Copy / validate keys or files recursively
-S <uris>, --sources <uris>
Set telescope model data sources of truth
(','-separated list of URIs)
-t, --strict Strict validation mode
-U, --update Update source list
-v, --verbose Verbose mode
See Data Sources for explanations about telescope model data sources.
- ska_telmodel.cli.cmd_cat(args, data)[source]
Retrieves and prints the telescope model data identifed by the given key to stdout.
Usage:
ska-telmodel [-vUs<uris>] cat [<key>]
Use
ska-telmodel ls
to obtain a list of valid keys.How exactly the object is retrieved depends on the backend and the state of the cache. For a GitLab backend, the typical behaviour is to download a tarball either from the SKAO central artefact repository, or from GitLab directly. The latter should be avoided and will generate a warning.
- ska_telmodel.cli.cmd_cp(args, srcs)[source]
Retrieves specified telescope model data, and copies it to the given path.
Usage:
ska-telmodel [-vUs<uris>] cp [-R] <key> [<path>]
If
-R
is given, the key can be a key directory, in which all keys that start with<path>/
will be copied. Note that you can especially give the empty string (""
) as<key>
, in which case all available telescope model data will be copied.This is especially useful for serving telescope model data either partially or completely from storage. For instance:
$ ska-telmodel cp -UR "" tmdata $ export SKA_TELMODEL_SOURCES=file://$(pwd)/tmdata
Would completely mirror the telescope model to the given location.
- ska_telmodel.cli.cmd_ls(args, data)[source]
List telescope model keys with a particular prefix
Usage:
ska-telmodel [-vUs<uris>] ls [<prefix>]
- ska_telmodel.cli.cmd_pin(args, data)[source]
Generates a “pinned” telescope model data source list, where all URIs replaced such that they will uniquely identify the contents of the telescope model data repository.
Usage:
ska-telmodel [-vUs<uris>] pin
After pinning, the source list precisely identifies the contents of the all telescope model data. For instance, this will replace GitLab URIs like
gitlab://gitlab.com/grp/proj#path
withgitlab://gitlab.com/grp/proj?[commit]#path
, therefore baking in the exact commit referenced. You can set pinned sources in the environment as follows:$ export $(ska-telmodel pin -U) $ export $(ska-telmodel pin -US [custom sources])
This will especially prevent the ska-telmodel tool from infrequently (once a day) re-checking whether cached telescope model data contents is still current. The
-U
flag forces the cache refresh, which is generally a good idea before pinning.
- ska_telmodel.cli.cmd_validate(args, srcs)[source]
Validates given keys (or files) against applicable schemas from the telescope model library
Usage:
ska-telmodel [-vUs<uris>] validate [-tlR] [<key/path>]*
If
-R
is given, the key can be a key directory, in which all keys that start with<path>/
will be copied. Note that you can especially give the empty string (""
) as<key>
, in which case all available telescope model data will be copied.This is especially useful for serving telescope model data either partially or completely from storage. For instance:
$ ska-telmodel cp -R "" tmdata $ export SKA_TELMODEL_SOURCES=file://$(pwd)/tmdata
Would completely mirror the telescope model to the given location.
Schema Development
The Telescope Model is developed jointly by all teams working on the SKA telescope. To make this work, all changes will have to be tested thoroughly and pass a code review via merge request.
Testing should ensure that all code paths are checked, i.e. we want to reach 100% coverage. We also aim to minimise regressions of any kind. This means that most code and data should be versioned within the Telescope Model, with old behaviour staying supported until a sufficient depreciation period has passed.
Adding a new schema (version)
To add a new interface, you will have to adjust a number of places in
the library. For a new SKA interface <interface>
with <elem>
as
the leading sub-system, do the following steps:
Add this:
<ELEM>_<INTERFACE>_PREFIX = "https://schema.skao.int/ska-<elem>-<interface>/"`
to
src/ska_telmodel/<elem>/version.py
. This is the interface namespace URI.Add a
get_<elem>_<interface>_schema(version: str, strict: bool)
function tosrc/ska_telmodel/<elem>/schema.py
, returning an appropriateSchema
object. Consult https://pypi.org/project/schema/ for how to write such schemas. Please add documentation as far as possible, this will be put both into the JSON schema as well as the documentation.Adjust
schema_by_uri
insrc/ska_telmodel/schema.py
to callget_<elem>_<interface>_schema
for schemas starting with<ELEM>_<INTERFACE>_PREFIX
so that your schema can be found.Add a documentation file
docs/src/ska_<elem>_<interface>.rst
with a line along the lines of.. ska-schema:: https://schema.skao.int/ska-<elem>-<interface>/<ver>
to ensure documentation is generated
If you just want to add new schema version, skip steps (1) and (3) and extend existing definitions in the remaining steps.
Adding a new example
It is a good idea to always provide an up-to-date example for every schema version. Assuming the schema is defined, the steps are fairly similar:
Add a
get_<elem>_<interface>_example(version :str)
function tosrc/ska_telmodel/<elem>/examples.py
, returning andict
. If you have multiple examples, you can add astr
parameter to select the appropriate one.Adjust
example_by_uri
insrc/ska_telmodel/schema.py
to callget_<elem>_<interface>_example
for schemas starting with<ELEM>_<INTERFACE>_PREFIX
so that your example can be found.Add your example to
docs/src/ska_<elem>_<interface>.rst
by adding a line like.. ska-schema-example:: https://schema.skao.int/ska-<elem>-<interface>/<ver>
inside the
.. ska-schema
block of the appropriate version
Last steps
Import the newly added
<ELEM>_<INTERFACE>_PREFIX
from version,get_<elem>_<interface>_schema
from schema andget_<elem>_<interface>_example
from examples intosrc/ska_telmodel/<elem>/__init__.py
file.Finally add tests in
test_<elem>_schemas.py
to ensure test coverage. This is especially easy if you add an example to the schema (see above sub-section).
Code Style
This project uses automated code formatting using the Black Code Formatter, isort as well as custom bowler refactoring rules .
To ensure that all code is formatted as required, run the following before you commit:
$ pip install black isort bowler # if needed
$ make python-format
API reference
ska_telmodel.data
- class ska_telmodel.data.TMData(source_uris: Optional[list[str]] = None, prefix: str = '', update: bool = False, backend_pars: dict = {})[source]
Represents a tree of telescope model data.
Data is retrieved from specified
sources
(or using default sources if not passed). Depending on backend, this might cause data to be loaded from remote locations, such as the SKAO central artefact repository or Gitlab.Objects of this class provide a hierarchical
dict
/h5py
-like interface. For instance, you can print all objects with keys starting withinstrument/layout
as follows:layouts = tmdata['instrument/layout'] for key in layouts: print(f"Data for {key}: ", layouts[key].get())
This works because
__getitem__()
will redirect toget_subtree()
orget()
depending on whether a valid key is passed (i.e. it has an extension). TheTMObject
object can then be used to access the underlying telescope model data.- Parameters:
source_uris – List of telescope model data sources. If not passed, defaults to
SKA_TELMODEL_SOURCES
enviroment variable, then in-builtDEFAULT_SOURCES
.prefix – Key prefix for sub-tree selection
update – Update cached data sources (if any)
backend_pars – Extra parameters to specific backend (types)
- get(key: str) TMObject [source]
Returns the telescope model object with the given key
- Parameters:
key – Key to retrive. Must be a valid telescope model key (i.e. have a file type extension)
- Returns:
TMObject
object- Raises:
KeyError
if object doesn’t exist
- get_sources(pinned: bool = False) list[str] [source]
Returns list of source URIs
- Parameters:
pinned – Attempt to return URIs that will continue to refer to this specific version of telescope model data. E.g. for GitLab URIs, this replaces tags or branches by the concrete commit hash.
- Returns:
list of sources
- class ska_telmodel.data.TMObject(source: TMDataBackend, key: str)[source]
Represents a telescope model data object. Provides a number of ways to access the data.
- Parameters:
source – Backend to use to retrieve object data
key – Key associated with object
ska_telmodel.schema
Support for validating and generating examples for SKA telescope model schemas.
- class ska_telmodel.schema.SchemaUri(version: str)[source]
Convenience class for manipulating version URIs.
- Parameters:
version – Interface URI
- ska_telmodel.schema.example_by_uri(version: str, *args) dict [source]
Generates an example for a particular schema
- Parameters:
version – Interface URI
args – Extra parameters depending on interface (strings)
- Returns:
Dictionary
- ska_telmodel.schema.schema_by_uri(version: str, strict: int = 1, **kwargs) Schema [source]
Looks up interface schema based on interface identifier
- Parameters:
version – Interface URI
strict – Strictness level
- Returns:
Interface schema
- ska_telmodel.schema.validate(version: Optional[str], config: dict, strictness: int = 1)[source]
Validate a dictionary against schema
Will automatically determine the schema to check against
- Parameters:
version – Interface with version
config – Dictionary to validate
strictness –
Strictness level (0: permissive warnings, 1: permissive errors + strict warnings, 2: strict errors).
Note that with strictness level 2, a lot of generally harmless schema violations will cause an exception to be raised. This is generally inadvisable in production consumer code (“be liberal in what you accept”!).
- Raises:
SchemaError – Raised if the object fails permissive checks at strictness level 1. At strictness level 2, raised if the object fails any schema check.
Internals
ska_telmodel._common
- class ska_telmodel._common.TMSchema(schema: Optional[Any] = None, error=None, ignore_extra_keys: bool = False, name: Optional[str] = None, description: Optional[str] = None, as_reference: bool = False, version: Optional[str] = None, strict: bool = False)[source]
Wrapper on top of schema.Schema for incremental schema build-up.
- find_field_recursive(name: str) Optional[TMSchema] [source]
Recursively finds a field of the given name in the schema
If the key exists multiple times, an arbitrary item will get returned. Note that to be returned by this function, the field must be in a TMSchema - if the schema is specified as a dictionary, it won’t be found.
- Parameters:
name – Name of the field to look for
- Returns:
A schema containing the given key
- ska_telmodel._common.get_unique_id_schema(strict: bool, type_re: str = '[a-z0-9]+') Schema [source]
Return schema for unique identifier.
- Parameters:
type_re – Restricts ID type(s) to accept.
- ska_telmodel._common.interface_uri(prefix: str, *versions: int) str [source]
Make an URI from the given prefix and versions
- Parameters:
prefix – Schema URI prefix. Must end in ‘/’
versions – Components of the version
ska_telmodel.channel_map
Tools for working with JSON compressed channel maps.
The SKA is meant to have a large number of channels, which means that any type of per-channel configuration might become very cumbersome to transfer and reason about. To prevent such issues we are using a simple run-length encoding to “compress” the representation. The idea is that if we write:
[ [0,0], [200,1], [400, 3] ]
We essentially mean the dictionary:
{ 0: 0, 1: 0, ..., 199:0, 200:1, ..., 399:1, 400: 3, ...}
Furthermore runs of numbers are supported, by adding an increment:
[ [0,0,1], [200,1] ]
Means:
{ 0: 0, 1: 1, 2:2, ..., 199:100, 200:1, ...}
- ska_telmodel.channel_map.channel_map_at(channel_map: List[list], channel: int, make_entry: bool = False) Any [source]
Query a value from a channel map
- Parameters:
channel_map – Queried map
channel – Channel ID to query
make_entry – Return an channel map entry (including increment) instead of just the value
- Returns:
Value from map
- ska_telmodel.channel_map.shift_channel_map(channel_map: List[list], channel_shift: int) List[list] [source]
Shift a channel map by some channel distance
- Parameters:
channel_map – Channel map to use
channel_shift – Shift to apply
- ska_telmodel.channel_map.split_channel_map(channel_map: List[list], first_channel: int, channel_group_steps: int, rebase_groups: Optional[int] = None, minimum_groups: int = 0) List[List[list]] [source]
Split a channel map using a constant channel step length
- Parameters:
channel_map – Channel map to split. Each entry is expected to have the start channel in the first field, and mapped data in the remaining entries
first_channel – First channel to appear in the map
channel_group_steps – Chunks to split the channel map into
rebase_groups – Start every group at given channel index (None: left as-is)
minimum_groups – Minimum number of groups to return
- Returns:
List of channel maps
- ska_telmodel.channel_map.split_channel_map_at(channel_map: List[list], channel_groups: List[int], rebase_groups: Optional[int] = None) List[List[list]] [source]
Split a channel map at certain points
- Parameters:
channel_map – Channel map to split. Each entry is expected to have the start channel in the first field, and mapped data in the remaining entries
channel_groups – Boundaries between channel groups. The n-th returned channel map will cover channels channel_groups[n]..channel_groups[n+1]-1. Needs to have at least two entries.
rebase_groups – Start every group at given channel index (None: left as-is)
- Returns:
List of channel maps
ska_telmodel.data
- class ska_telmodel.data.backend.CARBackend(uri: str, *args, **kwargs)[source]
Represents data in (a mirror of) the SKA central artefact repository. Permissible URI formats:
car:[project name]?[branch]#[directory] car://[gitlab server]/[project name]?[branch]#[directory]
So for instance:
car:ska-telmodel?master car://gitlab.com/ska-telescope/ska-telmodel?master#tmdata
The source of truth might still be Gitlab, yet this backend will only work with artefacts that have been uploaded to the CAR. The short form URI will be expanded into the long form automatically.
- class ska_telmodel.data.backend.FilesystemBackend(uri: str, update: bool = False)[source]
Retrieves data from a locally accessible file system. URI format:
file://[absolute path]
Note that changes to the file system are outside of our control. Consistency must be ensured externally.
- classmethod backend_name() str [source]
Returns the name of the backend.
Will be used for the scheme in URIs to identify the backend type of a telescope model data source.
- copy(key: str, dest: str)[source]
Write key contents to a file.
Raises KeyError if the key does not exist
- Parameters:
key – Key to query
dest – Path of destination file
- exists(key: str) bool [source]
Check whether a given key exists.
- Parameters:
key – Key to query
- Returns:
True if key exists
- get(key: str) bytes [source]
Get the data stored with the given key
- Parameters:
key – Key to query
- Returns:
Bytes stored at key
- get_uri(pinned: bool) str [source]
Returns URI for this telescope model data backend
- Parameters:
pinned – Attempt to return an URI that will continue to refer to this specific version of telescope model data
- Returns:
URI identifying data source
- class ska_telmodel.data.backend.GitlabBackend(uri: str, update: bool = False, gl: gitlab.Gitlab = None, try_nexus: bool = True, nexus_url: str = None, env=None)[source]
Represents data in a GitLab repository. URI format:
gitlab://[gitlab server]/[project name]?[branch]#[directory]
So for instance:
gitlab://gitlab.com/ska-telescope/ska-telmodel?master#tmdata
Would refer to data contained in the
ska-telmodel
repository itself.Repositories accessed in this way should make sure to activate the
tmdata
standard continuous integration stages (see https://gitlab.com/ska-telescope/templates-repository ) to ensure that telescope model data is cached in the SKAO central artefact repository. Once that has been done, this library will never actually query GitLab directly.Furthermore, this backend will cache all loaded data locally, including resolved Gitlab references (like
master
in the example above). This especially means that once instantiated, the version of data will be “pinned” even between different instances (and processes). Use theupdate
parameter toska_telmodel.data.TMData
orGitlabBackend
respectively to refresh the local cache.- classmethod backend_name() str [source]
Returns the name of the backend.
Will be used for the scheme in URIs to identify the backend type of a telescope model data source.
- copy(key: str, dest: str)[source]
Write key contents to a file.
Raises KeyError if the key does not exist
- Parameters:
key – Key to query
dest – Path of destination file
- exists(key: str) bytes [source]
Check whether a given key exists.
- Parameters:
key – Key to query
- Returns:
True if key exists
- get(key: str) bytes [source]
Get the data stored with the given key
- Parameters:
key – Key to query
- Returns:
Data stored at key, or None if it doesn’t exist
- get_uri(pinned: bool) str [source]
Returns URI for this telescope model data backend
- Parameters:
pinned – Attempt to return an URI that will continue to refer to this specific version of telescope model data
- Returns:
URI identifying data source
- class ska_telmodel.data.backend.MemoryBackend(uri: str, update: bool = False)[source]
Represents in-memory data. URIs should look as follows:
mem://?[key1]=[value1]&[key2]=[value2]
This will directly set the given telescope model data keys to the given values. Useful for testing, and overriding single values in telescope model data.
- classmethod backend_name() str [source]
Returns the name of the backend.
Will be used for the scheme in URIs to identify the backend type of a telescope model data source.
- get(key: str) bytes [source]
Get the data stored with the given key
- Parameters:
key – Key to query
- Returns:
Bytes stored at key
- class ska_telmodel.data.backend.TMDataBackend(uri: str, update: bool = False)[source]
Base class for telescope model data backends
Sub-classes should override
backend_name()
, then utilisetelmodel_backend()
to register the telescope model data backend. A minimal implementation should furthermore providelist_keys()
andget()
.- abstract classmethod backend_name() str [source]
Returns the name of the backend.
Will be used for the scheme in URIs to identify the backend type of a telescope model data source.
- copy(key: str, dest: str)[source]
Write key contents to a file.
Raises KeyError if the key does not exist
- Parameters:
key – Key to query
dest – Path of destination file
- exists(key: str) bool [source]
Check whether a given key exists.
- Parameters:
key – Key to query
- Returns:
True if key exists
- abstract get(key: str) bytes [source]
Get the data stored with the given key
- Parameters:
key – Key to query
- Returns:
Data stored at key, or None if it doesn’t exist
- get_uri(pinned: bool) str [source]
Returns URI for this telescope model data backend
- Parameters:
pinned – Attempt to return an URI that will continue to refer to this specific version of telescope model data
- Returns:
URI identifying data source
- abstract list_keys(key_prefix: str = '') Iterable[str] [source]
List children keys
Yields all keys with prefix “{key_prefix}/” in ascending order. Exception is if the path is empty, in which case all available keys are listed.
- Parameters:
key_prefix – Path to query
- open(key: str) IO[bytes] [source]
Access data at given key as a file-like object
Raises KeyError if the key does not exist
- Parameters:
key – Key to query
ska_telmodel.csp
- ska_telmodel.csp.config.add_midcbf_visibility_receive_addresses(csp_config: dict, scan_receive_addrs: dict, csp_interface_version: str, sdp_interface_version: str) dict [source]
Add SDP visibility receive addresses into mid-cbf configuration
- Parameters:
csp_config – CSP input configuration
scan_receive_addrs – SDP receive addresses for scan
csp_interface_version – CSP interface version to assume
sdp_interface_version – SDP interface version to assume
- Returns:
New CSP configuration
- ska_telmodel.csp.config.add_pss_receive_addresses(csp_config: dict, scan_receive_addrs: dict, csp_interface_version: str, sdp_interface_version: str) dict [source]
Add SDP visibility receive addresses into pulsar search configuration
- Parameters:
csp_config – CSP input configuration
scan_receive_addrs – SDP receive addresses for scan
csp_interface_version – CSP interface version to assume
sdp_interface_version – SDP interface version to assume
- Returns:
New CSP configuration
- ska_telmodel.csp.config.add_pst_receive_addresses(csp_config: dict, scan_receive_addrs: dict, csp_interface_version: str, sdp_interface_version: str) dict [source]
Add SDP visibility receive addresses into pulsar timing configuration
- Parameters:
scan_trype – Scan type executed
csp_config – CSP input configuration
sdp_receive_addrs – SDP receive addresses for scan
- Returns:
New CSP configuration
- ska_telmodel.csp.config.add_receive_addresses(scan_type: str, csp_config: dict, scan_receive_addrs: dict, csp_interface_version: str, sdp_interface_version: str) dict [source]
Add SDP visibility receive addresses into CSP configuration
- Parameters:
csp_config – CSP input configuration
scan_receive_addrs – SDP receive addresses for scan
csp_interface_version – CSP interface version to assume
sdp_interface_version – SDP interface version to assume
- Returns:
New CSP configuration
- ska_telmodel.csp.config.get_fsp_channel_offset(csp_config_in: dict) int [source]
Determines first channel ID within an FSP
- ska_telmodel.csp.config.get_fsp_output_channel_offset(fsp_config: dict, fsp_id: str, fsp_ch_offset: str) int [source]
Determines the FSP channel offset. Either read from the dictionary or reconstructed.
- Parameters:
fsp_config – FSP configuration structure
fsp_id – Position of FSP in configuration
fsp_ch_offset – Name of FSP channel offset field
- ska_telmodel.csp.examples.get_csp_assignresources_example(version: str) dict [source]
Generate example of CSP assignresources argument
- Parameters:
version – Version URI of configuration format
- ska_telmodel.csp.examples.get_csp_config_example(version: str, scan: Optional[str] = None) dict [source]
Generate examples for CSP configuration strings
- Parameters:
version – Version URI of configuration format
scan – Includes SDP receive addresses for a scan? None means that this is “template” configuration as passed to TMC. Valid parameters: cal_a, science_a
- ska_telmodel.csp.examples.get_csp_delaymodel_example(version: str) dict [source]
Generate example of CSP delay model argument
- Parameters:
version – Version URI of configuration format
- ska_telmodel.csp.examples.get_csp_endscan_example(version: str) dict [source]
Generate example of CSP endscan argument
- Parameters:
version – Version URI of configuration format
- ska_telmodel.csp.examples.get_csp_low_delaymodel_example(version: str) dict [source]
Generate example of CSP low delay model argument
- Parameters:
version – Version URI of configuration format
- ska_telmodel.csp.examples.get_csp_releaseresources_example(version: str) dict [source]
Generate example of CSP releaseresources argument
- Parameters:
version – Version URI of configuration format
- ska_telmodel.csp.examples.get_csp_scan_example(version: str) dict [source]
Generate example of CSP scan argument
- Parameters:
version – Version URI of configuration format
Interface module for generating CSP configuration.
Handles parsing and validation of inputs and passes them on to the
internal configuration functions in config
.
- ska_telmodel.csp.interface.make_csp_config(csp_interface_version: str, sdp_interface_version: str, scan_type: str, csp_config_str: Union[str, dict], sdp_receive_addrs_map_str: Union[str, dict]) str [source]
Generate CSP scan configuration for a scan using SDP receive addresses.
This should be used right before CSP is configured so that data streams are sent to the right ingest nodes.
- Parameters:
csp_interface_version – Version of CSP interface (URI)
sdp_interface_version – Version of SDP interface (URI)
scan_type – Type of scan to configure
csp_config_in – General CSP configuration
sdp_receive_addrs – Receive addresses map for scan types, generated by SDP
- Returns:
A validated JSON string with CSP configuration.
- Raise:
ValueError when the input JSON configuration fails validation.
Used for checking CSP configuration strings for conformance
- ska_telmodel.csp.schema.get_cbf_config_schema(version: str, strict: bool) Schema [source]
Correlator and Beamformer configuration schema
- Parameters:
version – Interface Version URI
strict – Schema strictness
- Returns:
the JSON Schema for the MID.CBF configuration.
- ska_telmodel.csp.schema.get_common_config_schema(version: str, strict: bool) Schema [source]
CSP Subarray common configuration schema. This section is valid for Mid CSP because it includes some parameters that are Mid CBF specific. The set of parameters that are common to Mid and Low CSP, are retrieved by the _get_common_config_schema method defined in the common_schema python module.
- Parameters:
version – Interface Version URI
strict – Schema strictness
- Returns:
the JSON Schema for the CSP subarray common configuration (ADR-18).
- ska_telmodel.csp.schema.get_csp_assignresources_schema(version: str, strict: bool) Schema [source]
Returns the schema to verify the CSP assignresources command.
- Parameters:
version – Interface version URI
strict – Strict mode. If true, refuse even harmless schema violations (like extra keys). DO NOT USE FOR INPUT VALIDATION!
- Returns:
The JSON Schema for the command.
- Raise:
ValueError exception on invalid JSON Schema URI.
- ska_telmodel.csp.schema.get_csp_config_schema(version: str, strict: bool) Schema [source]
Returns a schema to verify a CSP configuration
- Parameters:
version – Interface version
strict – Strict mode - refuse even harmless schema violations (like extra keys). DO NOT USE FOR INPUT VALIDATION!
- Returns:
The JSON Schema for the CSP configuration.
- Raise:
ValueError exception on mismatch major version or invalid JSON Schema URI
- ska_telmodel.csp.schema.get_csp_delay_details_schema(version: str, strict: bool) Schema [source]
Returns the schema with the CSP delay details
- Parameters:
version – Interface version URI
strict – Strict mode. If true, refuse even harmless schema violations (like extra keys). DO NOT USE FOR INPUT VALIDATION!
- Returns:
The JSON Schema for the command.
- Raise:
ValueError exception on invalid JSON Schema URI.
- ska_telmodel.csp.schema.get_csp_delaymodel_schema(version: str, strict: bool) Schema [source]
Returns the schema to verify the CSP delaymodel command.
- Parameters:
version – Interface version URI
strict – Strict mode. If true, refuse even harmless schema violations (like extra keys). DO NOT USE FOR INPUT VALIDATION!
- Returns:
The JSON Schema for the command.
- Raise:
ValueError exception on invalid JSON Schema URI.
- ska_telmodel.csp.schema.get_csp_endscan_schema(version: str, strict: bool) Schema [source]
Returns the schema to verify the CSP endscan command.
- Parameters:
version – Interface version URI
strict – Strict mode. If true, refuse even harmless schema violations (like extra keys). DO NOT USE FOR INPUT VALIDATION!
- Returns:
The JSON Schema for the command.
- Raise:
ValueError exception on invalid JSON Schema URI.
- ska_telmodel.csp.schema.get_csp_low_delaymodel_schema(version: str, strict: bool) Schema [source]
Returns the schema to verify the CSP low delaymodel command.
- Parameters:
version – Interface version URI
strict – Strict mode. If true, refuse even harmless schema violations (like extra keys). DO NOT USE FOR INPUT VALIDATION!
- Returns:
The JSON Schema for the command.
- Raise:
ValueError exception on invalid JSON Schema URI.
- ska_telmodel.csp.schema.get_csp_poly_info_schema(version: str, strict: bool) Schema [source]
Returns the schema with the CSP delay details
- Parameters:
version – Interface version URI
strict – Strict mode. If true, refuse even harmless schema violations (like extra keys). DO NOT USE FOR INPUT VALIDATION!
- Returns:
The JSON Schema for the command.
- Raise:
ValueError exception on invalid JSON Schema URI.
- ska_telmodel.csp.schema.get_csp_releaseresources_schema(version: str, strict: bool) Schema [source]
Returns the schema to verify the CSP releaseresources command.
- Parameters:
version – Interface version URI
strict – Strict mode. If true, refuse even harmless schema violations (like extra keys). DO NOT USE FOR INPUT VALIDATION!
- Returns:
The JSON Schema for the command.
- Raise:
ValueError exception on invalid JSON Schema URI.
- ska_telmodel.csp.schema.get_csp_scan_schema(version: str, strict: bool) Schema [source]
Returns the schema to verify the CSP scan command.
- Parameters:
version – Interface version URI
strict – Strict mode. If true, refuse even harmless schema violations (like extra keys). DO NOT USE FOR INPUT VALIDATION!
- Returns:
The JSON Schema for the command.
- Raise:
ValueError exception on invalid JSON Schema URI.
- ska_telmodel.csp.schema.get_fsp_config_schema(version: str, strict: bool)[source]
Frequency slice processor configuration schema
- Parameters:
version – Interface Version URI
strict – Schema strictness
- Returns:
the JSON schema for the MID.CBF FSP configuration.
- ska_telmodel.csp.schema.get_low_csp_station_beam_details_schema(version: str, strict: bool) Schema [source]
Returns the schema with the Low CSP delay details
- Parameters:
version – Interface version URI
strict – Strict mode. If true, refuse even harmless schema violations (like extra keys). DO NOT USE FOR INPUT VALIDATION!
- Returns:
The JSON Schema for the command.
- Raise:
ValueError exception on invalid JSON Schema URI.
- ska_telmodel.csp.schema.get_search_window_config_schema(version: str, strict: bool) Schema [source]
SearchWindow configuration schema
- Parameters:
version – Interface Version URI
strict – Schema strictness
- Returns:
the JSON Schema for the MID.CBF SearchWindow configuration.
- ska_telmodel.csp.schema.get_subarray_config_schema(version: str, strict: bool) Schema [source]
CSP Subarray configuration schema
- Parameters:
version – Interface Version URI
strict – Schema strictness
- Returns:
the JSON Schema for the CSP subarray specific configuraiton.
- ska_telmodel.csp.schema.get_vlbi_config_schema(version: str, strict: bool)[source]
VLBI specific items
- Parameters:
version – Interface Version URI
strict – Schema strictness
- Returns:
the JSON schema for the MID.CBF VLBI configuration.
csp.validators module defines constants and functions for validating CSP fields in schemas.
- ska_telmodel.csp.validators.validate_integration_factor(integration_factor: int) bool [source]
Checks if the integration_factor is valid.
- Parameters:
integration_factor – Integration time for correlation products
- Returns:
True if integration_factor is valid
- ska_telmodel.csp.version.check_csp_interface_version(version: str, allowed_prefixes: Union[str, List[str]] = ['https://schema.skao.int/ska-csp-assignresources/', 'https://schema.skao.int/ska-csp-configure/', 'https://schema.skao.int/ska-csp-scan/', 'https://schema.skao.int/ska-csp-endscan/', 'https://schema.skao.int/ska-csp-releaseresources/', 'https://schema.skao.int/ska-csp-delaymodel/', 'https://schema.skao.int/ska-mid-csp-delaymodel/', 'https://schema.skao.int/ska-low-csp-delaymodel/']) str [source]
Check CSP interface version.
Checks that the interface URI has one of the allowed prefixes. If it does, the version number is returned. If not, a ValueError exception is raised.
- Parameters:
version – CSP interface URI
allowed_prefixes – allowed URI prefix(es)
- Returns:
version number
- ska_telmodel.csp.version.csp_config_versions(min_ver=None, max_ver=None)[source]
Returns a list of CSP configuration interface version URIs
- Parameters:
min_ver – Tuple of minimum version to return
max_ver – Tuple of maximum version to return
- ska_telmodel.csp.version.normalize_csp_config_version(csp_interface_version: Union[int, str], csp_config: Optional[dict] = None)[source]
Provides a standard interface version for configure
- Parameters:
csp_interface_version – External guess at the interface version
csp_config – Example configuration to derive version from
- Returns:
Canonical URI of interface version
ska_telmodel.pst
- ska_telmodel.pst.examples.get_pst_config_example(version: str, scan_type: Optional[str] = None) dict [source]
Generate examples for PST configuration strings
This will delegate to the appropriate telescope example (i.e. Mid or Low) depending on the prefix of the
scan_type
parameter. If thescan_type
is prefixed withmid_
then a SKAMid PST scan config example is returned else a SKALow PST scan config example is returned.- Valid values of
scan_type
are: pst_scan_vr
pst_scan_pt
pst_scan_ft
pst_scan_ds
low_pst_scan_vr
low_pst_scan_pt
low_pst_scan_ft
low_pst_scan_ds
mid_pst_scan_vr
mid_pst_scan_pt
mid_pst_scan_ft
mid_pst_scan_ds
- Parameters:
version – Version URI of configuration format
scan – Includes SDP receive addresses for a scan? None means that this is “template” configuration as passed to TMC.
- Valid values of
Examples specifically for SKALow
- ska_telmodel.pst.low_examples.get_low_pst_config_example(version: str, scan_type: Optional[str] = None) dict [source]
Generate examples for SKALow PST configuration strings
- Parameters:
version – Version URI of configuration format
scan – Includes SDP receive addresses for a scan? None means that this is “template” configuration as passed to TMC. Valid parameters: pst_scan_vr, pst_scan_pt, pst_scan_ft, and pst_scan_ds
Examples specifically for SKAMid
- ska_telmodel.pst.mid_examples.get_mid_pst_config_example(version: str, scan_type: Optional[str] = None) dict [source]
Generate examples for SKAMid PST configuration strings
- Parameters:
version – Version URI of configuration format
scan – Includes SDP receive addresses for a scan? None means that this is “template” configuration as passed to TMC. Valid parameters: pst_scan_vr, pst_scan_pt, pst_scan_ft, and pst_scan_ds
Used for checking CSP configuration strings for conformance
- ska_telmodel.pst.schema.get_pst_beam_config_schema(version: str, strict: bool) TMSchema [source]
Pulsar Timing specific beam configuration
- Parameters:
version – Interface Version URI
strict – Schema strictness
- Returns:
the JSON Schema for the PST beam configuration.
- ska_telmodel.pst.schema.get_pst_config_schema(version: str, strict: bool) TMSchema [source]
Return the PST configure schema.
This PST schema could be used to validate the JSON script received during configuration.This schema includes the common section with the mandatory fields.
- Parameters:
version – Interface Version URI
strict – Schema strictness
- Returns:
the JSON Schema for the PST configuration.
- ska_telmodel.pst.schema.get_pst_scan_config_schema(version: str, strict: bool, beamid_required=True) TMSchema [source]
Pulsar Timing specific scan configuration
- Parameters:
version – Interface Version URI
strict – Schema strictness
- Returns:
the JSON Schema for the PST scan configuration.
- ska_telmodel.pst.version.check_interface_version(version: str, allowed_prefixes: Union[str, List[str]] = ['https://schema.skao.int/ska-pst-configure/']) str [source]
Check PST interface version.
Checks that the interface URI has one of the allowed prefixes. If it does, the version number is returned. If not, a ValueError exception is raised.
- Parameters:
version – PST interface URI
allowed_prefixes – allowed URI prefix(es)
- Returns:
version number
ska_telmodel.sdp
Define schemas for SDP commands.
Miscellaneous schemas that probably should be moved somewhere else.
- ska_telmodel.sdp.common.ALL_RECEPTORS = Or(Regex('^C([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-1][0-9]|22[0-4])$'), Regex('^[ENS]([1-9]|1[0-6])-[1-6]$'), Regex('^FS([1-9]|[1-9][0-9]|[1-4][0-9][0-9]|50[0-9]|51[0-2])(\\.\\S+)?$'), Regex('^SKA((?!000)0[0-9][0-9]|1[0-2][0-9]|13[0-3])$'), Regex('^MKT0([0-5][0-9]|6[0-3])$'))
All receptors.
- ska_telmodel.sdp.common.LOW_CORE = Regex('^C([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-1][0-9]|22[0-4])$')
LOW core receptors, 1-224
- ska_telmodel.sdp.common.LOW_DIRS = Regex('^[ENS]([1-9]|1[0-6])-[1-6]$')
LOW east/north/south receptors.
- ska_telmodel.sdp.common.LOW_FS = Regex('^FS([1-9]|[1-9][0-9]|[1-4][0-9][0-9]|50[0-9]|51[0-2])(\\.\\S+)?$')
LOW FS 1-512, plus optional substations.
- ska_telmodel.sdp.common.MID_MKT = Regex('^MKT0([0-5][0-9]|6[0-3])$')
MID Meerkat, 000-063.
- ska_telmodel.sdp.common.MID_SKA = Regex('^SKA((?!000)0[0-9][0-9]|1[0-2][0-9]|13[0-3])$')
MID SKA, 001-133.
- ska_telmodel.sdp.common.get_beam_function_pattern(strict: bool)[source]
Get pattern for SDP beam functions
As used for SDP configuration - i.e. basically a kind of data that the SKA SDP needs to receive.
- Returns:
A string pattern suitable for use in schemas
- ska_telmodel.sdp.common.get_receptor_schema(strict: bool) Schema [source]
Return schema for receptors.
- Parameters:
strict – check names if set
- Returns:
schema
- ska_telmodel.sdp.examples.get_sdp_assignres_example(version: Union[int, str]) dict [source]
Generate example of SDP assign resources argument.
- Parameters:
version – SDP assign resources version
- Returns:
Example dictionary
- ska_telmodel.sdp.examples.get_sdp_configure_example(version: Union[int, str], scan_type: str = 'science') dict [source]
Generate example of SDP configure argument.
- Parameters:
version – SDP configure version
scan_type – Scan type to configure. “new_calibration” declares a new scan in-line.
- Returns:
Example dictionary
- ska_telmodel.sdp.examples.get_sdp_recvaddrs_example(version: Union[int, str]) dict [source]
Generate example of SDP receive addresses map.
- Parameters:
version – SDP receive addresses version
- Returns:
Example dictionary
- ska_telmodel.sdp.examples.get_sdp_releaseres_example(version: Union[int, str]) dict [source]
Generate example of SDP release resources argument.
- Parameters:
version – SDP release resources version
- Returns:
Example dictionary
- ska_telmodel.sdp.examples.get_sdp_scan_example(version: Union[int, str], scan_id: int = 1) dict [source]
Generate example of SDP scan argument.
- Parameters:
version – SDP scan version
scan_id – Scan ID to start
- Returns:
Example dictionary
Define processing blocks schemas.
Defines receive addresses schema.
Used for checking SDP strings for conformance.
- ska_telmodel.sdp.version.CALL_SIG
Call signature for schemas.
- ska_telmodel.sdp.version.PREFIXES_TYPE
The type af allowed prefixes.
- class ska_telmodel.sdp.version.SchemaFactory(prefix: Optional[str] = None, allowed_prefixes: Optional[Union[str, Sequence[str]]] = None)[source]
Get the right schema for a type based on its version.
- get_schema(version: SdpVersion, strict: bool) Schema [source]
Get the schema for this version.
If strict, an exact match is required. Otherwise, the last minor version matching the major version is accepted. It is assumed that a version is of the form version.subversion.
- Parameters:
version – SDP version object
strict – whether strict or not
- Returns:
the matching schema
- class ska_telmodel.sdp.version.SdpVersion(version: Union[int, str], prefix: Optional[str] = None, allowed_prefixes: Optional[Union[str, Sequence[str]]] = None)[source]
Wrapper around the normalise/check functions and stores the results.
- Parameters:
version – SDP interface version
prefix – schema prefix
allowed_prefixes – allowed URI prefix(es)
- Returns:
version object
- ska_telmodel.sdp.version.check_sdp_interface_version(version: str, allowed_prefixes: Optional[Union[str, Sequence[str]]] = None) str [source]
Check SDP interface version.
Checks that the interface URI has one of the allowed prefixes. If it does, the version number is returned. If not, a ValueError exception is raised.
- Parameters:
version – SDP interface URI
allowed_prefixes – allowed URI prefix(es)
- Returns:
version number
- ska_telmodel.sdp.version.normalise_sdp_interface_version(version: Union[int, str], prefix: str) str [source]
Normalise SDP interface version.
Converts deprecated integer version number into a schema URI, where the prefix specifies which schema to use. If the version is a string, it is assumed to be a schema URI and it is returned unchanged.
- Parameters:
version – SDP interface version
prefix – schema prefix
- Returns:
SDP interface URI
Central Signal Processor schemas
Schemas used for commands for Mid and Low CSP LMC.
Some of these schemas are also used by Mid.CBF. See Mid CBF schemas for details.
Central Signal Processor schemas
Schemas used for commands for Mid CSP LMC.
ska-csp-assignresources
CSP assignresources 2.2
Example JSON
{
"interface": "https://schema.skao.int/ska-csp-assignresources/2.2",
"subarray_id": 1,
"dish": {
"receptor_ids": ["SKA001", "SKA036"]
}
}
type |
object |
|||
properties |
||||
|
URI of JSON schema applicable to this JSON payload. |
|||
type |
string |
|||
|
The Subarray ID that the list of receptors will be assigned to. For Mid, there are a maximum of 16 subarrays. |
|||
type |
integer |
|||
|
type |
object |
||
properties |
||||
|
The list of receptors that will be assigned to the Subarray ID. Receptor IDs can be any string, not necessarily numbers. Valid receptor IDs include: SKA dishes: “SKAnnn”, where nnn is a zero padded integer in the range of 001 to 133. MeerKAT dishes: “MKTnnn”, where nnn is a zero padded integer in the range of 000 to 063. |
|||
type |
array |
|||
items |
type |
string |
||
pattern |
|
|||
additionalProperties |
False |
|||
additionalProperties |
False |
ska-csp-configure
CSP config 2.5
Example (TMC input for science_a visibility scan)
{
"interface": "https://schema.skao.int/ska-csp-configure/2.0",
"subarray": {
"subarray_name": "science period 23"
},
"common": {
"config_id": "sbi-mvp01-20200325-00001-science_A",
"frequency_band": "1",
"subarray_id": 1
},
"cbf": {
"fsp": [{
"fsp_id": 1,
"function_mode": "CORR",
"frequency_slice_id": 1,
"integration_factor": 1,
"zoom_factor": 0,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 0,
"output_link_map": [
[0, 0],
[200, 1]
]
}, {
"fsp_id": 2,
"function_mode": "CORR",
"frequency_slice_id": 2,
"integration_factor": 1,
"zoom_factor": 1,
"zoom_window_tuning": 650000,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 744,
"output_link_map": [
[0, 4],
[200, 5]
]
}],
"vlbi": {}
},
"pst": {}
}
Example (CSP configuration for science_a visibility scan)
{
"interface": "https://schema.skao.int/ska-csp-configure/2.0",
"subarray": {
"subarray_name": "science period 23"
},
"common": {
"config_id": "sbi-mvp01-20200325-00001-science_A",
"frequency_band": "1",
"subarray_id": 1
},
"cbf": {
"fsp": [{
"fsp_id": 1,
"function_mode": "CORR",
"frequency_slice_id": 1,
"integration_factor": 1,
"zoom_factor": 0,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 0,
"output_link_map": [
[0, 0],
[200, 1]
],
"output_host": [
[0, "192.168.0.1"],
[400, "192.168.0.2"]
],
"output_mac": [
[0, "06-00-00-00-00-00"]
],
"output_port": [
[0, 9000, 1],
[400, 9000, 1]
]
}, {
"fsp_id": 2,
"function_mode": "CORR",
"frequency_slice_id": 2,
"integration_factor": 1,
"zoom_factor": 1,
"zoom_window_tuning": 650000,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 744,
"output_link_map": [
[0, 4],
[200, 5]
],
"output_host": [
[0, "192.168.0.3"],
[400, "192.168.0.4"]
],
"output_mac": [
[0, "06-00-00-00-00-01"]
],
"output_port": [
[0, 9000, 1],
[400, 9000, 1]
]
}],
"vlbi": {}
},
"pst": {}
}
Example (CSP configuration for cal_a visibility scan)
{
"interface": "https://schema.skao.int/ska-csp-configure/2.0",
"subarray": {
"subarray_name": "science period 23"
},
"common": {
"config_id": "sbi-mvp01-20200325-00001-science_A",
"frequency_band": "1",
"subarray_id": 1
},
"cbf": {
"fsp": [{
"fsp_id": 1,
"function_mode": "CORR",
"frequency_slice_id": 1,
"integration_factor": 1,
"zoom_factor": 0,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 0,
"output_link_map": [
[0, 0],
[200, 1]
],
"output_host": [
[0, "192.168.1.1"]
],
"output_port": [
[0, 9000, 1]
]
}, {
"fsp_id": 2,
"function_mode": "CORR",
"frequency_slice_id": 2,
"integration_factor": 1,
"zoom_factor": 1,
"zoom_window_tuning": 650000,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 744,
"output_link_map": [
[0, 4],
[200, 5]
],
"output_host": [
[0, "192.168.1.1"]
],
"output_port": [
[0, 9744, 1]
]
}],
"vlbi": {}
},
"pst": {}
}
Example (CSP configuration for PSS scan)
{
"interface": "https://schema.skao.int/ska-csp-configure/2.1",
"subarray": {
"subarray_name": "science period 23"
},
"common": {
"config_id": "sbi-mvp01-20200325-00001-science_A",
"frequency_band": "1",
"subarray_id": 1
},
"cbf": {
"fsp": [{
"fsp_id": 1,
"function_mode": "PSS-BF",
"frequency_slice_id": 1,
"integration_factor": 1,
"zoom_factor": 0
}, {
"fsp_id": 2,
"function_mode": "CORR",
"frequency_slice_id": 1,
"integration_factor": 1,
"zoom_factor": 0
}],
"search_window": [{
"search_window_id": 0,
"search_window_tuning": 1000,
"tdc_enable": true
}]
},
"pss": {
"beam_bandwidth": 300,
"channels_per_beam": 4096,
"acceleration_search": false,
"single_pulse_search": true,
"integration_time": 600,
"acc_range": 0,
"number_of_trials": 0,
"time_resolution": 4,
"ps_dm": 1000.0,
"sps_dm": 1000.0,
"timesample_per_block": 28125000,
"sub_bands": 64,
"buffer_size": 18,
"hsum_control": 16,
"cxft_control": {},
"cand_sift": {},
"cand_output": {},
"sp_threshold": 10.0,
"sp_opt_pars": {},
"dred_beam_stats": {},
"cdos_control": {},
"fldo_control": {
"phase_split": true,
"channel_scale": true,
"max_phases": 16
},
"rfim_control": {},
"beam": [{
"beam_id": 1,
"reference_frame": "ICRS",
"ra": 82.75,
"dec": 21.0,
"centre_frequency": 1400.0,
"beam_delay_centre": 0.0,
"dest_host": "192.168.178.25",
"dest_port": 9021
}, {
"beam_id": 2,
"reference_frame": "ICRS",
"ra": 84.25,
"dec": 21.5,
"centre_frequency": 1400.0,
"beam_delay_centre": 0.0,
"dest_host": "192.168.178.26",
"dest_port": 9021
}]
}
}
Example (CSP configuration for PST beam configuration)
{
"interface": "https://schema.skao.int/ska-csp-configure/2.3",
"subarray": {
"subarray_name": "science period 23"
},
"common": {
"config_id": "sbi-mvp01-20200325-00001-science_A",
"frequency_band": "1",
"subarray_id": 1
},
"cbf": {
"fsp": [{
"fsp_id": 1,
"function_mode": "CORR",
"frequency_slice_id": 1,
"integration_factor": 1,
"zoom_factor": 0,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 0,
"output_link_map": [
[0, 0],
[200, 1]
]
}, {
"fsp_id": 2,
"function_mode": "CORR",
"frequency_slice_id": 2,
"integration_factor": 1,
"zoom_factor": 1,
"zoom_window_tuning": 650000,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 744,
"output_link_map": [
[0, 4],
[200, 5]
]
}],
"vlbi": {}
},
"pst": {
"beam": {}
}
}
Example (CSP configuration for PST pulsar timing scan)
{
"interface": "https://schema.skao.int/ska-csp-configure/2.3",
"subarray": {
"subarray_name": "science period 23"
},
"common": {
"config_id": "sbi-mvp01-20200325-00001-science_A",
"frequency_band": "1",
"subarray_id": 1,
"eb_id": "eb-m001-20230712-56789"
},
"cbf": {
"fsp": [{
"fsp_id": 1,
"function_mode": "CORR",
"frequency_slice_id": 1,
"integration_factor": 1,
"zoom_factor": 0,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 0,
"output_link_map": [
[0, 0],
[200, 1]
]
}, {
"fsp_id": 2,
"function_mode": "CORR",
"frequency_slice_id": 2,
"integration_factor": 1,
"zoom_factor": 1,
"zoom_window_tuning": 650000,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 744,
"output_link_map": [
[0, 4],
[200, 5]
]
}],
"vlbi": {}
},
"pst": {
"scan": {
"activation_time": "2022-01-19T23:07:45Z",
"timing_beam_id": "1",
"bits_per_sample": 32,
"num_of_polarizations": 2,
"udp_nsamp": 4,
"wt_nsamp": 4,
"udp_nchan": 185,
"num_frequency_channels": 13021,
"centre_frequency": 700000000.0,
"total_bandwidth": 700000000.0,
"observation_mode": "PULSAR_TIMING",
"observer_id": "jdoe",
"project_id": "project1",
"pointing_id": "pointing1",
"source": "J1921+2153",
"itrf": [5109360.133, 2006852.586, -3238948.127],
"receiver_id": "receiver3",
"feed_polarization": "CIRC",
"feed_handedness": 1,
"feed_angle": 1.234,
"feed_tracking_mode": "FA",
"feed_position_angle": 10.0,
"oversampling_ratio": [8, 7],
"coordinates": {
"equinox": 2000.0,
"ra": "19:21:44.815",
"dec": "21:53:02.400"
},
"max_scan_length": 10000.5,
"subint_duration": 30.0,
"receptors": ["SKA001", "SKA036"],
"receptor_weights": [0.4, 0.6],
"num_rfi_frequency_masks": 0,
"rfi_frequency_masks": [],
"destination_address": ["192.168.178.26", 9021],
"num_channelization_stages": 2,
"channelization_stages": [{
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 4,
"oversampling_ratio": [10, 9]
}, {
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 4096,
"oversampling_ratio": [8, 7]
}],
"pt": {
"dispersion_measure": 100.0,
"rotation_measure": 0.0,
"ephemeris": "",
"pulsar_phase_predictor": "",
"output_frequency_channels": 1,
"output_phase_bins": 64,
"num_sk_config": 1,
"sk_config": [{
"sk_range": [0.8, 0.9],
"sk_integration_limit": 100,
"sk_excision_limit": 25.0
}],
"target_snr": 0.0
}
}
}
}
Example (CSP configuration for PST dynamic spectrum scan)
{
"interface": "https://schema.skao.int/ska-csp-configure/2.3",
"subarray": {
"subarray_name": "science period 23"
},
"common": {
"config_id": "sbi-mvp01-20200325-00001-science_A",
"frequency_band": "1",
"subarray_id": 1,
"eb_id": "eb-m001-20230712-56789"
},
"cbf": {
"fsp": [{
"fsp_id": 1,
"function_mode": "CORR",
"frequency_slice_id": 1,
"integration_factor": 1,
"zoom_factor": 0,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 0,
"output_link_map": [
[0, 0],
[200, 1]
]
}, {
"fsp_id": 2,
"function_mode": "CORR",
"frequency_slice_id": 2,
"integration_factor": 1,
"zoom_factor": 1,
"zoom_window_tuning": 650000,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 744,
"output_link_map": [
[0, 4],
[200, 5]
]
}],
"vlbi": {}
},
"pst": {
"scan": {
"activation_time": "2022-01-19T23:07:45Z",
"timing_beam_id": "1",
"bits_per_sample": 32,
"num_of_polarizations": 2,
"udp_nsamp": 4,
"wt_nsamp": 4,
"udp_nchan": 185,
"num_frequency_channels": 13021,
"centre_frequency": 700000000.0,
"total_bandwidth": 700000000.0,
"observation_mode": "DYNAMIC_SPECTRUM",
"observer_id": "jdoe",
"project_id": "project1",
"pointing_id": "pointing1",
"source": "J1921+2153",
"itrf": [5109360.133, 2006852.586, -3238948.127],
"receiver_id": "receiver3",
"feed_polarization": "CIRC",
"feed_handedness": 1,
"feed_angle": 1.234,
"feed_tracking_mode": "FA",
"feed_position_angle": 10.0,
"oversampling_ratio": [8, 7],
"coordinates": {
"equinox": 2000.0,
"ra": "19:21:44.815",
"dec": "21:53:02.400"
},
"max_scan_length": 13000.2,
"subint_duration": 30.0,
"receptors": ["SKA001", "SKA036"],
"receptor_weights": [0.4, 0.6],
"num_rfi_frequency_masks": 0,
"rfi_frequency_masks": [],
"destination_address": ["192.168.178.26", 9021],
"num_channelization_stages": 2,
"channelization_stages": [{
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 4,
"oversampling_ratio": [10, 9]
}, {
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 4096,
"oversampling_ratio": [8, 7]
}],
"ds": {
"dispersion_measure": 100.0,
"output_frequency_channels": 1,
"stokes_parameters": "Q",
"num_bits_out": 16,
"time_decimation_factor": 10,
"frequency_decimation_factor": 4,
"requantisation_scale": 1.0,
"requantisation_length": 1.0
}
}
}
}
Example (CSP configuration for PST flow through scan)
{
"interface": "https://schema.skao.int/ska-csp-configure/2.5",
"subarray": {
"subarray_name": "science period 23"
},
"common": {
"config_id": "sbi-mvp01-20200325-00001-science_A",
"frequency_band": "1",
"subarray_id": 1,
"eb_id": "eb-m001-20230712-56789"
},
"cbf": {
"fsp": [{
"fsp_id": 1,
"function_mode": "CORR",
"frequency_slice_id": 1,
"integration_factor": 1,
"zoom_factor": 0,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 0,
"output_link_map": [
[0, 0],
[200, 1]
]
}, {
"fsp_id": 2,
"function_mode": "CORR",
"frequency_slice_id": 2,
"integration_factor": 1,
"zoom_factor": 1,
"zoom_window_tuning": 650000,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 744,
"output_link_map": [
[0, 4],
[200, 5]
]
}],
"vlbi": {}
},
"pst": {
"scan": {
"activation_time": "2022-01-19T23:07:45Z",
"timing_beam_id": "1",
"bits_per_sample": 32,
"num_of_polarizations": 2,
"udp_nsamp": 4,
"wt_nsamp": 4,
"udp_nchan": 185,
"num_frequency_channels": 13021,
"centre_frequency": 700000000.0,
"total_bandwidth": 700000000.0,
"observation_mode": "FLOW_THROUGH",
"observer_id": "jdoe",
"project_id": "project1",
"pointing_id": "pointing1",
"source": "J1921+2153",
"itrf": [5109360.133, 2006852.586, -3238948.127],
"receiver_id": "receiver3",
"feed_polarization": "CIRC",
"feed_handedness": 1,
"feed_angle": 1.234,
"feed_tracking_mode": "FA",
"feed_position_angle": 10.0,
"oversampling_ratio": [8, 7],
"coordinates": {
"equinox": 2000.0,
"ra": "19:21:44.815",
"dec": "21:53:02.400"
},
"max_scan_length": 20000.0,
"subint_duration": 30.0,
"receptors": ["SKA001", "SKA036"],
"receptor_weights": [0.4, 0.6],
"num_rfi_frequency_masks": 0,
"rfi_frequency_masks": [],
"destination_address": ["192.168.178.26", 9021],
"num_channelization_stages": 2,
"channelization_stages": [{
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 4,
"oversampling_ratio": [10, 9]
}, {
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 4096,
"oversampling_ratio": [8, 7]
}],
"ft": {
"num_bits_out": 4,
"channels": [0, 24299],
"polarizations": "Both",
"requantisation_scale": 1.0,
"requantisation_init_time": 1.0
}
}
}
}
Example (CSP configuration for PST voltage recording scan)
{
"interface": "https://schema.skao.int/ska-csp-configure/2.4",
"subarray": {
"subarray_name": "science period 23"
},
"common": {
"config_id": "sbi-mvp01-20200325-00001-science_A",
"frequency_band": "1",
"subarray_id": 1,
"eb_id": "eb-m001-20230712-56789"
},
"cbf": {
"fsp": [{
"fsp_id": 1,
"function_mode": "CORR",
"frequency_slice_id": 1,
"integration_factor": 1,
"zoom_factor": 0,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 0,
"output_link_map": [
[0, 0],
[200, 1]
]
}, {
"fsp_id": 2,
"function_mode": "CORR",
"frequency_slice_id": 2,
"integration_factor": 1,
"zoom_factor": 1,
"zoom_window_tuning": 650000,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 744,
"output_link_map": [
[0, 4],
[200, 5]
]
}],
"vlbi": {}
},
"pst": {
"scan": {
"activation_time": "2022-01-19T23:07:45Z",
"timing_beam_id": "1",
"bits_per_sample": 32,
"num_of_polarizations": 2,
"udp_nsamp": 4,
"wt_nsamp": 4,
"udp_nchan": 185,
"num_frequency_channels": 13021,
"centre_frequency": 700000000.0,
"total_bandwidth": 700000000.0,
"observation_mode": "VOLTAGE_RECORDER",
"observer_id": "jdoe",
"project_id": "project1",
"pointing_id": "pointing1",
"source": "J1921+2153",
"itrf": [5109360.133, 2006852.586, -3238948.127],
"receiver_id": "receiver3",
"feed_polarization": "LIN",
"feed_handedness": 1,
"feed_angle": 1.234,
"feed_tracking_mode": "FA",
"feed_position_angle": 10.0,
"oversampling_ratio": [8, 7],
"coordinates": {
"equinox": 2000.0,
"ra": "19:21:44.815",
"dec": "21:53:02.400"
},
"max_scan_length": 20000.0,
"subint_duration": 30.0,
"receptors": ["SKA001", "SKA036"],
"receptor_weights": [0.4, 0.6],
"num_channelization_stages": 2,
"channelization_stages": [{
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 4,
"oversampling_ratio": [10, 9]
}, {
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 4096,
"oversampling_ratio": [8, 7]
}]
}
}
}
type |
object |
||
properties |
|||
|
type |
string |
|
|
subarray section, containing the parameters relevant only for the current sub-array device. This section is not forwarded to any subelement. |
||
type |
object |
||
default |
null |
||
properties |
|||
|
Name and scope of current subarray the sub-array. |
||
type |
string |
||
additionalProperties |
False |
||
|
Common section, containing the parameters and the sections belonging to all CSP subsystems. This section is forwarded to all sub-elements. |
||
|
Correlator and Beamformer specific parameters. This section contains the parameters relevant only for CBF sub-element. This section is forwarded only to CBF subelement. Most of it to be borrowed from IICD |
||
|
default |
null |
|
|
Pulsar Timing specific parameters. To be borrowed from IICD |
||
type |
object |
||
default |
null |
||
properties |
|||
|
Pulsar Timing specific scan configuration parameters. |
||
default |
null |
||
|
Pulsar Timing specific beam configuration parameters. As of version 2.3 this schema has no elements and is deprecated |
||
default |
null |
||
additionalProperties |
False |
||
additionalProperties |
False |
Common configuration schema 2.5
Common section, containing the parameters and the sections belonging to all CSP subsystems. This section is forwarded to all sub-elements.
type |
object |
||
properties |
|||
|
type |
string |
|
default |
null |
||
|
Subarray number |
||
type |
integer |
||
|
Execution block ID to associate scan configs to an observation. This ID is used for associating generated data, especially data products, for a given observation. Multiple scans can be linked to one observation and this ID is used as metadata to associate the data products from all scans of the same observation. This ID does not have to be unique for a scan configuration but should be unique for different observations. For example, all the data and weights files will have an EB_ID header value populated with the value supplied in this field. |
||
type |
string |
||
pattern |
^eb\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
||
default |
null |
||
|
Center frequency for the Band-of-Interest. Required if Band is 5a or 5b; not specified for other Bands (not configurable for Band 1, 2, 3 and 4). Input for Band 5a and 5b consists of two 2.5 GHz streams; the center frequency can be independently tuned for each stream. The following nomenclature is used to refer to Band 5a and 5b streams: 5a1, 5a2, 5b1, 5b2. |
||
type |
array |
||
default |
null |
||
items |
type |
number |
|
|
Frequency band applies for all the receptors (VCCs) that belong to the sub-array. The value of ‘low’ is used to only within SKA Low. As this field is a mandatory field but bands 1, 2, 3, 4, 5a and 5b only make sense for SKA Mid. |
||
type |
string |
||
pattern |
^(1|2|3|4|5(a|b)|low)$ |
||
additionalProperties |
False |
CBF config 2.5
Correlator and Beamformer specific parameters. This section contains the parameters relevant only for CBF sub-element. This section is forwarded only to CBF subelement. Most of it to be borrowed from IICD
type |
object |
|
properties |
||
|
Optionally, an offset can be specified so that the entire observed band is shifted (to accommodate a Zoom Window that crosses a ‘natural’ Frequency Slice boundary). If specified, applies for all the receptors in the sub-array. Bands 1, 2, 3 and 4: input from the receptor consists of a single data stream; the Frequency Band Offset (FBO) should be specified for Stream 1 only. Bands 5a and 5b: input from the receptor consists of two data streams; the FBO can be specified for each stream independently. Note: For Band 5a and 5b the frequency shift is performed by the receptor (DISH). Note: This is optional and does not need to be implemented in PI3, but would be great for demo; if Team Buttons is looking for opportunities to showcase interesting GUIs, Zoom Windows are perfect opportunity (would require TMC and CSP to support these two parameters, corrBandwidth values > 0 and zoom window tuning.) |
|
type |
integer |
|
default |
null |
|
|
See frequencyBandOffsetStream1 |
|
type |
integer |
|
default |
null |
|
|
FQDN of TMC.DelayModel TANGO attribute which exposes delay values for all the dishes assigned to a Subarray in JSON format. Delay values are updated every 10 seconds. |
|
type |
string |
|
default |
null |
|
|
The same model applies for all receptors that belong to the subarray. Delivered by TMC using publish-subscribe mechanism (see ICD Section 3.8.8.5.3). The Doppler phase correction, by default, applies only to the CSP_Mid Processing Mode Correlation; optionally may apply to other Processing Modes as well. |
|
type |
string |
|
default |
null |
|
|
Specified as needed in advance of the scan start and/or during the scan. Delivered using publish-subscribe mechanism (see ICD Section 3.8.8.5.7). |
|
type |
object |
|
default |
null |
|
properties |
||
additionalProperties |
True |
|
|
type |
array |
items |
||
|
Very Long Baseline Interferometry specific parameters. To be borrowed from IICD This section contains the parameters relevant only for VLBI. This section is forwarded only to CSP subelement. |
|
default |
null |
|
|
type |
array |
default |
null |
|
items |
Up to two 300 MHz Search Windows can be optionally configured and used as input for Transient Data Capture and/or Pulsar Search beam-forming. |
|
additionalProperties |
False |
FSP config 2.5
type |
object |
||||
properties |
|||||
|
type |
integer |
|||
|
allOf |
type |
string |
||
enum |
CORR, PSS-BF, PST-BF, VLBI |
||||
|
Optionally a subset of receptors to be correlated can be specified. If not specified, all receptors that belong to the subarray are cross-correlated (i.e. visibilities for all the baselines in the subarray are generated and transmitted to SDP). Valid receptor IDs include: SKA dishes: “SKAnnn”, where nnn is a zero padded integer in the range of 001 to 133. MeerKAT dishes: “MKTnnn”, where nnn is a zero padded integer in the range of 000 to 063. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
string |
|||
pattern |
|
||||
|
Frequency Slice to be processed on this FSP (valid range depends on the Frequency Band). |
||||
type |
integer |
||||
|
Bandwidth to be correlated calculated as FSBW/2n, where n is in range [0..6]. When n=0 the full Frequency Slice bandwidth is correlated. BW > 0 implies ‘Zoom Window’ configuration; the spectral Zoom Window tuning must be specified. |
||||
type |
integer |
||||
|
The Zoom Window tuning provided in absolute terms as RF center frequency. Based on that, CSP_Mid calculates tuning within the data stream received from the receptor. Must be selected so that the entire Zoom Window is within the Frequency Slice. If partially out of the FS a warning is generated. If completely outside of the FS an exception is generated. Step size <= 0.01MHz. The Frequency Band Offset can be used to shift the entire observed band in order to accommodate a Zoom Window that spans across a Frequency Slice boundary. |
||||
type |
integer |
||||
default |
null |
||||
|
Integration time for the correlation products, defines multiple of 140 milliseconds. |
||||
type |
integer |
||||
|
Table of up to 20 x 2 integers. Each of entries contains:
Explanation: Each FSP produces 14880 (TBC) fine channels across the correlated bandwidth (Frequency Slice or Zoom Window). Channels are evenly spaced in frequency. TM shall provide the table that for each FSP and each group of 744 channels (there are 20 groups per FSP) indicates the channel averaging factor. More precisely, for each group the TMC provided table specifies:
If no entry is present for an FSP, the averaging settings of the previous FSP are still applicable. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
type |
integer |
|||
|
Channel ID to use for visibilities of the first channel produced by this FSP. For example, if the channel offset is 5000 the first channel group would span IDs 5000-5743. Note that this offset does not apply to channel maps in this structure (such as channelAveragingMap or outputHost). |
||||
type |
integer |
||||
default |
null |
||||
|
Output links to emit visibilities on for every channel, given as a list of start channel ID to link ID. Where no value is given for concrete channel, the previous value should be used. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
anyOf |
type |
integer |
||
type |
string |
||||
|
Output host to send visibilities to for every channel, given as a list of start channel ID to host IP addresses in dot-decimal notation. Where no value is given for a concrete channel, the previous value should be used. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
anyOf |
type |
integer |
||
type |
string |
||||
|
Output port to send visibilities to for every channel, given as a list of start channel ID to port number. Where no value is given for a concrete channel, the previous value should be used. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
type |
integer |
|||
|
Output MAC address to send visibilities to for every channel, given as a list of start channel ID to IEEE 802 MAC addresses. Where no value is given for a concrete channel, the previous value should be used. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
anyOf |
type |
integer |
||
type |
string |
||||
additionalProperties |
False |
VLBI config 2.5
Very Long Baseline Interferometry specific parameters. To be borrowed from IICD This section contains the parameters relevant only for VLBI. This section is forwarded only to CSP subelement.
type |
object |
|
properties |
||
|
type |
string |
additionalProperties |
False |
Search window config 2.5
Up to two 300 MHz Search Windows can be optionally configured and used as input for Transient Data Capture and/or Pulsar Search beam-forming.
type |
object |
|||
properties |
||||
|
Identifier of the 300MHz Search Window. Unique within a sub-array. |
|||
type |
integer |
|||
|
The Search Window tuning is provided in absolute terms as RF center frequency. The Search Window must be placed within the observed band. If partially out of the observed Band a warning is generated. If completely outside of the observed Band an exception is generated. |
|||
type |
integer |
|||
|
Enable / disable Transient Data Capturefor the Search Window. |
|||
type |
boolean |
|||
|
Number of bits per sample (for the Transient Data Capture). Required if TDC is enabled, otherwise not specified. |
|||
type |
integer |
|||
default |
null |
|||
|
Users can trade the period of time for which data are saved and transmitted for the sample bit-width and/or the number of Search Windows. The exact information regarding the memory capacity per receptor and supported range will be provided in construction. The epoch is specified in the command that triggers TDC off-loading (transmission of data). |
|||
type |
integer |
|||
default |
null |
|||
|
see tdcPeriodBeforeEpoch |
|||
type |
integer |
|||
default |
null |
|||
|
Destination addresses (MAC, IP, port) for off-loading of the content of the Transient Data Capture Buffer, specified per receptor. The destination addresses for the content of the Transient Data Capture can be provided either as a part of the scan configuration or by the command that triggers transmission of the captured data. The latter, if provided, overrides previously set addresses. Required if TDC is enabled, otherwise not specified. |
|||
type |
array |
|||
default |
null |
|||
items |
anyOf |
type |
integer |
|
type |
string |
|||
additionalProperties |
False |
PSS configuration 2.5
type |
object |
||
properties |
|||
|
Beam bandwidth (MHz) |
||
type |
integer |
||
|
Number of channels per beam |
||
type |
integer |
||
|
Processing Mode: Acceleration Search (a.k.a. Pulsar Search) and Single Pulse Search (a.k.a. Transient Search) can be performed concurrently. |
||
type |
boolean |
||
|
Processing Mode: Acceleration Search (a.k.a. Pulsar Search) and Single Pulse Search (a.k.a. Transient Search) can be performed concurrently. |
||
type |
boolean |
||
|
Scan duration. |
||
type |
integer |
||
|
Range in source acceleration to be searched. |
||
type |
integer |
||
default |
null |
||
|
Number of trials to be performed. |
||
type |
integer |
||
|
Time resolution of input data. |
||
type |
integer |
||
|
Dispersion corretion for acceleration search. |
||
type |
number |
||
|
Dispersion corretion for transient search. |
||
type |
number |
||
|
Number of time samples in each block of data. |
||
type |
integer |
||
|
Number of frequency band groups summed up during folding. |
||
type |
integer |
||
|
Size of the buffer receiving raw data. (2**buffer_size) |
||
type |
integer |
||
|
Number of the “harmonic folds” on the initial Fourier power-spectrum summed up. |
||
type |
integer |
||
|
CXFT control parameters. |
||
type |
object |
||
|
Constraints on matches between candidates. |
||
type |
object |
||
|
Define data sinks and subscriber to be notified. |
||
type |
object |
||
|
Threshold for a single pulse trigger. (Tuned to system noise and RFI env.) |
||
type |
number |
||
|
Single pulse optimization parameters. |
||
type |
object |
||
|
DRED: statistics of spectra to derive the normalization factors. |
||
type |
object |
||
|
CDOS: control parameters and related statistical data. |
||
type |
object |
||
|
RFIM control parameters. |
||
type |
object |
||
|
FLDO control parameters. |
||
type |
object |
||
properties |
|||
|
type |
boolean |
|
|
type |
boolean |
|
|
type |
integer |
|
additionalProperties |
True |
||
|
type |
array |
|
items |
|||
additionalProperties |
False |
PSS beam config 2.5
type |
object |
||
properties |
|||
|
Search Beam ID. |
||
type |
integer |
||
|
Right Ascension of sub-array beam target, in degrees. |
||
type |
number |
||
default |
null |
||
|
Declination of sub-array beam target, in degrees. |
||
type |
number |
||
default |
null |
||
|
reference frame for pointing coordinates |
||
default |
null |
||
allOf |
type |
string |
|
enum |
ICRS, HORIZON |
||
|
Centre frequency of the search beam. |
||
type |
number |
||
|
Beam delay center, relative to the array delay center. |
||
anyOf |
type |
number |
|
type |
string |
||
|
Per beam destination host address for PSS output. |
||
type |
string |
||
default |
null |
||
|
Per beam destination port for PSS output. |
||
type |
integer |
||
default |
null |
||
additionalProperties |
False |
PST scan configuration 2.5
Pulsar Timing specific scan configuration parameters.
type |
object |
|||
properties |
||||
|
Date and time when to start the PST reconfiguration. Units: UTC timestamp Keyword: ACTIVATION_TIME |
|||
type |
string |
|||
|
Identifier assigned by LMC/TM used to identify the beam configuraiton. PST selects which PST server to use for this scan and timing beam, and provides a mapping from the timing beam identifier by the TM to PST capability id. Keyword: BEAM |
|||
type |
string |
|||
default |
null |
|||
|
The number of bits per complex-values time sample in the CBF output data. Valid values are 16, 24, or 32. Keyword: NBIT |
|||
type |
integer |
|||
|
The number of polarizations in the CBF output data. Valid values are 1 or 2. Keyword: NPOL |
|||
type |
integer |
|||
|
The number of time samples for each single polarization and the a single frequency in each UDP packet sent by CBF. Note: this must be an integer multiple of WT_NSMAP Range: 4 (Low), 32 (Mid) Keyword: UDP_NSAMP |
|||
type |
integer |
|||
|
The number of time samples described by as single relative weight. There is a unique relative weight for each frequency channel, and each relative weight describes both polarizations. Range: 4 (Low), 32 (Mid) Keyword: WT_NSAMP |
|||
type |
integer |
|||
|
The number of contiguous frequency channels in each UDP packet sent by CBF. Range: 24 (Low), 185 (Mid) Keyword: UDP_NCHAN |
|||
type |
integer |
|||
|
The total number of frequency channels into which the total critical bandwidth has been divided. This must be an integer multiple of udp_nchan Range: 1 to 82944 Keyword: OBSNCHAN |
|||
type |
integer |
|||
|
Centre frequency of to the total (critical) bandwidth spanned by the frequency channels. Units: Hz Range: 50e6 to 12800e6 Keyword: OBSFREQ |
|||
type |
number |
|||
|
Total (critical) bandwidth spanned by the channels of the observation. Low: 0.00361 to 300 MHz Mid: 0.053.76 to 2500 MHz Units: Hz Range: 3610 to 2.5e9 Keyword: OBSBW |
|||
type |
number |
|||
|
The observation mode used for the scan. The value VOLTAGE_RECORDER is added for AA0.5, while the other values will be needed for in the future for data processing. Keyword: OBSMODE |
|||
allOf |
type |
string |
||
enum |
PULSAR_TIMING, DYNAMIC_SPECTRUM, FLOW_THROUGH, VOLTAGE_RECORDER |
|||
|
The observer in charge of the observations. Keyword: OBSERVER |
|||
type |
string |
|||
|
The project that the observations are for. Keyword: PROJID |
|||
type |
string |
|||
|
The ID for the sub-array pointing. Keyword: PNT_ID |
|||
type |
string |
|||
|
The name of the source. Keyword: SRC_NAME |
|||
type |
string |
|||
|
The International Terrestrial Reference Frame (ITRF) coordinates of the telescope delay centre. Units: metres Keyword: ITRF |
|||
type |
array |
|||
items |
type |
number |
||
|
The receiver name or ID (instrument). Keyword: FRONTEND |
|||
type |
string |
|||
|
The native polarization of feed. Range: LIN or CIRC Keyword: FD_POLN |
|||
allOf |
type |
string |
||
enum |
LIN, CIRC |
|||
|
Code for sense of feed. For value of +1 for XYZ forming RH set with Z in the direction of propagation. Looking up into the feed of a prime-focus receiver or at the sky). For FD_HAND = +1, the rotation from A (or X) to B (or Y) is counter clockwise or in the direction of increasing Feed Angle (FA) or Position Angle (PA). For circular feeds, FD_HAND = +1 for IEEE LCP on the A (or X) probe. Range: -1 or +1 Keyword: FD_HAND |
|||
allOf |
type |
integer |
||
enum |
-1, 1 |
|||
|
Feed angle of the E-vector for an equal in-phase response from the A(X) and B(Y) probes, measured in the direction of increasing feed angle or position angle (clockwise when looking down on a prime focuse receiver). Units: degrees Range: -180 to 180. Keyword: FD_SANG |
|||
type |
number |
|||
|
The tracking mode for the feed:
Range: FA, CPA, SPA, or TPA Keyword: FD_MODE |
|||
allOf |
type |
string |
||
enum |
FA, CPA, SPA, TPA |
|||
|
The requested angle of feed reference. For feed_mode = ‘FA’ this is respect to the telescope’s reference frame (feed_angle = 0), and for feed_mode = ‘CPA’ this is with respect to the celestial north (parallic angle = 0) or with respect to the Galactic north for coordinate_mode = ‘GALACTIC’. Range: -180 to +180. Keyword: FA_REQ |
|||
type |
number |
|||
|
The oversampling ratio expressed as a fraction as an array of int, with the first value the numerator and the second is the denominator. (e.g. 8/7 is assigned as [8,7]). Range: 8/7 or 4/3 Keyword: OVERSAMP |
|||
type |
array |
|||
items |
type |
integer |
||
|
The tied-array beam’s tracking co-ordinates. As of version 2.2 of the schema this only handles equitorial tracking which means uses RA/Dec J2000.0 coords but PST may support different tracking modes and coordinates the future. |
|||
|
The maximum length of the observation. Units: seconds Range: 30 - 43200 Keyword: SCANLEN_MAX |
|||
type |
number |
|||
|
The length of each output sub-integration. Units: seconds Range: 1 - 60 Keyword: OUTSUBINT |
|||
type |
number |
|||
|
An array of receptor IDs for the receptors included in the sub-array. Keyword: ANTENNA |
|||
type |
array |
|||
items |
type |
string |
||
|
Weight for each receptor. Range: 0 - 1.0 Keyword: ANT_WEIGHTS |
|||
type |
array |
|||
items |
type |
number |
||
|
The number of frequency ranges to be masked. Range: 0 - 1024 Keyword: NMASK |
|||
type |
integer |
|||
default |
0 |
|||
|
A two-dimensional array of length of num_frequency_mask of known RFI frequency ranges to excise from the data. The array contains mask pairs of [f_min, f_max] pairs for known frequency ranges containing RFI not excised by the CBF. The overall dimension of this array is num_frequency_mask x 2. Units: Hz Keyword: FREQ_MASK |
|||
type |
array |
|||
default |
null |
|||
items |
type |
array |
||
items |
type |
number |
||
|
The destination address for the PST output data. Includes IPv4 Address, port number. |
|||
type |
array |
|||
default |
null |
|||
items |
anyOf |
type |
string |
|
type |
integer |
|||
|
Identifier for a test vectore that will be present in the tied-array beam data stream beam CBF and PST. Keyword: TEST_VECTOR |
|||
type |
string |
|||
default |
null |
|||
|
Pulsar Timing specific parameters for the ‘PULSAR_TIMING’ mode configuration. |
|||
default |
null |
|||
|
Pulsar Timing specific parameters for the ‘DYNAMIC_SPECTRUM’ mode configuration. |
|||
default |
null |
|||
|
Pulsar Timing specific parameters for the ‘FLOW_THROUGH’ mode configuration. |
|||
default |
null |
|||
|
The number of stages used to channelize the data: e.g. * for Low, there are 2 stages: 1 in LFAA and 1 in CBF * for Mid, there are 2 stages: 1 in FSP and 1 in PST BF. Keyword: NSTAGE |
|||
type |
integer |
|||
|
List of configuration for each channelization stage. |
|||
type |
array |
|||
items |
Pulsar Timing specific parameters for channelization stage configuration. |
|||
additionalProperties |
False |
PST RA_Dec coordinates 2.5
Pulsar Timing specific parameters for RA/Dec tracking coordinates.
type |
object |
|
properties |
||
|
The coordinate epoch. This can be in Julian date or Modified Julian Date. Units: years Range: >= 2000 Keyword: EQUINOX |
|
type |
number |
|
default |
2000.0 |
|
|
The Right Accession (RA) of the coordinates used for tracking. Valid formats is ‘hh:mm:ss.sss’ or ‘ddd.ddd’ Keyword: STT_CTD1 |
|
type |
string |
|
|
The declination (Dec) of the coordinates used for tracking. Valid formats is ‘hh:mm:ss.sss’ or ‘ddd.ddd’ Keyword: STT_CTD2 |
|
type |
string |
|
additionalProperties |
False |
PST ‘PULSAR_TIMING’ mode configuration 2.5
Pulsar Timing specific parameters for the ‘PULSAR_TIMING’ mode configuration.
type |
object |
|
properties |
||
|
The dispersion measure for coherent/inchoerent de-dispersion. Units: pccm^-3 Range: 0 - 100000 Keyword: DM |
|
type |
number |
|
|
The rotation measure for phase-coherent Faraday rotation correction. Units: radians per metre squared Keyword: RM |
|
type |
number |
|
default |
null |
|
|
The ephemeris of the pulsar being observed. Units: PSRCAT compatible ASCII string Keyword: EPHEMERIS |
|
type |
string |
|
|
Pulsar phase predictor generated from ephemeris. Units: TEMPO2 compatible ASCII string Keyword: PREDICTOR |
|
type |
string |
|
|
The number of output frequency channels. This must be between 1 and the number of observation channels. Keyword: OUTNCHAN |
|
type |
integer |
|
|
The number of output phase bins. Range: 64 - 2048 Keyword: OUTNBIN |
|
type |
integer |
|
|
The number of spectral kurtosis (SK) configurations to apply. Keyword: N_SK |
|
type |
integer |
|
|
List of spectral kurtosis configurations. |
|
type |
array |
|
items |
Pulsar Timing specific parameters for the spectral kurtosis (SK) for the ‘PULSAR_TIMING’ mode. |
|
|
The signal-to-noise ratio (SNR) of the on-pulse flux for the scan. May be used to prematurely end a scan when the integrated SNR reaches the target. A value of 0 indicates there is no limit. Keyword: TARGET_SNR |
|
type |
number |
|
additionalProperties |
False |
PST spectral kurtosis configuration 2.5
Pulsar Timing specific parameters for the spectral kurtosis (SK) for the ‘PULSAR_TIMING’ mode.
type |
object |
||
properties |
|||
|
Frequency ranges for each spectral kurtosis (SK) configuration. Units: Hz Keyword: SK_RNG |
||
type |
array |
||
items |
type |
number |
|
|
The number of input time samples integrated into each spectral kurtosis (SK) statistic. Range: 64 - 1024 Keyword: SK_INTS |
||
type |
integer |
||
|
Spectral kurtosis excision limits (RFI threshold) in units of standard deviations. Range: 1 - 100 Keyword: SK_EXIS |
||
type |
number |
||
additionalProperties |
False |
PST ‘DYNAMIC_SPECTRUM’ mode configuration 2.5
Pulsar Timing specific parameters for the ‘DYNAMIC_SPECTRUM’ mode configuration.
type |
object |
||
properties |
|||
|
The dispersion measture for coherent/inchoerent de-dispersion. This is only required for pulsar timing and dynamic spectrum modes. Range: [0, 100000] Keyword: DM |
||
type |
number |
||
|
The rotation measure for phase-coherent Faraday rotation correction. Units: radians per metre squared Keyword: RM |
||
type |
number |
||
default |
null |
||
|
The number of output frequency channels. This must be between 1 and the number of observation channels. Keyword: OUTNCHAN |
||
type |
integer |
||
|
The Stokes parameters to output when in Dynamic spectrum mode. Range: string with a combination of I, Q, U, and V. Keyword: STOKES_FB |
||
type |
string |
||
|
The number of bits per output sample. Range: 1, 2, 4, 8, 16 or 32 Keyword: NBIT_OUT |
||
allOf |
type |
integer |
|
enum |
1, 2, 4, 8, 16, 32 |
||
|
The number of input samples per output time sample when in Dynamic Spectrum mode. Keyword: TDEC_FB |
||
type |
integer |
||
|
The number of input frequency channels incoherently added to each output frequency channel in Dynamic Spectrum. This is required in addition to output_frequency_channels because some frequency channels may be merged coherently to increase temporal resolution. Keyword: FDEC_FB |
||
type |
integer |
||
|
The number of spectral kurtosis (SK) configurations to apply. Keyword: N_SK |
||
type |
integer |
||
default |
null |
||
|
List of spectral kurtosis configurations. |
||
type |
array |
||
default |
null |
||
items |
Pulsar Timing specific parameters for the spectral kurtosis (SK) for the ‘PULSAR_TIMING’ mode. |
||
|
Scale factor to govern the dynamic range for fixed precision output to be applied during re-quantisation. Keyword: DIGITIZER_SCALE |
||
type |
number |
||
|
Length of data to be used when determining the scaling factors used for fixed precision output during re-quantisation. Units: seconds Keyword: DIGITIZER_LENGTH |
||
type |
number |
||
additionalProperties |
False |
PST ‘FLOW_THROUGH’ mode configuration 2.5
Pulsar Timing specific parameters for the ‘FLOW_THROUGH’ mode configuration.
type |
object |
||
properties |
|||
|
The number of bits per output sample. Range: 1, 2, 4, 8, 16 or 32 Keyword: NBIT_OUT |
||
allOf |
type |
integer |
|
enum |
1, 2, 4, 8, 16, 32 |
||
|
The indices of the first and last (inclusive) frequency channels that define the single contiguous range of frequency channels to be recorded. Keyword: CHAN_FT |
||
type |
array |
||
items |
type |
integer |
|
|
Scale factor applied during re-quantisation that modifies the dynamic range of the fixed precision output. By default, for 2, 4, and 8 bits per sample, data will be scaled to minimize scattered power by adopting the Optimum Input Threshold Spacing for a Uniform Digitizer defined in Table 3 of Jenet & Anderson (1998; PASP 110:1467). For 16 and 32 bits per sample, by default the data will be scaled such that the maximum fixed precision output value (2^{num_bits_out-1}) corresponds to 6 times the standard deviation. For all num_bits_out, the standard deviation is that of either the real or imaginary part of each complex-valued sample. The default scale factor is computed such that, after multiplication by this scale factor, the data would satisfy the conditions described above. This default scale factor is multiplied by requantisation_scale. Therefore, a requantisation_scale value greater than 1 increases the value of the floating point data before it is cast to a fixed precision value, thereby reducing the overhead available to represent RFI and increasing the probability of clipping. Keyword: DIGITIZER_SCALE |
||
type |
number |
||
|
The polarizations to be recorded. Valid values: A, B, or Both Keyword: POLN_FT |
||
allOf |
type |
string |
|
enum |
A, B, Both |
||
|
Time interval spanned by data used at the start of a scan to determine the scale factors applied before re-quantisation. Units: seconds Keyword: DIGITIZER_INIT_TIME |
||
type |
number |
||
additionalProperties |
False |
PST channelization stage configuration 2.5
Pulsar Timing specific parameters for channelization stage configuration.
type |
object |
||
properties |
|||
|
Total number of taps in the prototype filter (i.e. over all arms) used in the stage. Keyword: NSTAP_k |
||
type |
integer |
||
|
An array of filter coefficients that define the (time domain) response function of the prototype filter used in the stage. Length of this is num_filter_taps. Keyword: COEFF_k |
||
type |
array |
||
items |
type |
number |
|
|
The number of frequency channels output by each polyphase filter bank (PFB) for this stage. Keyword: NCHAN_PFB_k |
||
type |
integer |
||
|
The oversampling ratio expressed as a fraction as an array of int, with the first value the numerator and the second is the denominator. (e.g. 8/7 is assigned as [8,7]). Keyword: OVERSAMP_k |
||
type |
array |
||
items |
type |
integer |
|
additionalProperties |
False |
PST beam configuration 2.5
Pulsar Timing specific beam configuration parameters.
As of version 2.3 this schema has no elements and is deprecated
type |
object |
properties |
|
additionalProperties |
False |
CSP config 2.4
Example (TMC input for science_a visibility scan)
{
"interface": "https://schema.skao.int/ska-csp-configure/2.0",
"subarray": {
"subarray_name": "science period 23"
},
"common": {
"config_id": "sbi-mvp01-20200325-00001-science_A",
"frequency_band": "1",
"subarray_id": 1
},
"cbf": {
"fsp": [{
"fsp_id": 1,
"function_mode": "CORR",
"frequency_slice_id": 1,
"integration_factor": 1,
"zoom_factor": 0,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 0,
"output_link_map": [
[0, 0],
[200, 1]
]
}, {
"fsp_id": 2,
"function_mode": "CORR",
"frequency_slice_id": 2,
"integration_factor": 1,
"zoom_factor": 1,
"zoom_window_tuning": 650000,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 744,
"output_link_map": [
[0, 4],
[200, 5]
]
}],
"vlbi": {}
},
"pst": {}
}
Example (CSP configuration for science_a visibility scan)
{
"interface": "https://schema.skao.int/ska-csp-configure/2.0",
"subarray": {
"subarray_name": "science period 23"
},
"common": {
"config_id": "sbi-mvp01-20200325-00001-science_A",
"frequency_band": "1",
"subarray_id": 1
},
"cbf": {
"fsp": [{
"fsp_id": 1,
"function_mode": "CORR",
"frequency_slice_id": 1,
"integration_factor": 1,
"zoom_factor": 0,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 0,
"output_link_map": [
[0, 0],
[200, 1]
],
"output_host": [
[0, "192.168.0.1"],
[400, "192.168.0.2"]
],
"output_mac": [
[0, "06-00-00-00-00-00"]
],
"output_port": [
[0, 9000, 1],
[400, 9000, 1]
]
}, {
"fsp_id": 2,
"function_mode": "CORR",
"frequency_slice_id": 2,
"integration_factor": 1,
"zoom_factor": 1,
"zoom_window_tuning": 650000,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 744,
"output_link_map": [
[0, 4],
[200, 5]
],
"output_host": [
[0, "192.168.0.3"],
[400, "192.168.0.4"]
],
"output_mac": [
[0, "06-00-00-00-00-01"]
],
"output_port": [
[0, 9000, 1],
[400, 9000, 1]
]
}],
"vlbi": {}
},
"pst": {}
}
Example (CSP configuration for cal_a visibility scan)
{
"interface": "https://schema.skao.int/ska-csp-configure/2.0",
"subarray": {
"subarray_name": "science period 23"
},
"common": {
"config_id": "sbi-mvp01-20200325-00001-science_A",
"frequency_band": "1",
"subarray_id": 1
},
"cbf": {
"fsp": [{
"fsp_id": 1,
"function_mode": "CORR",
"frequency_slice_id": 1,
"integration_factor": 1,
"zoom_factor": 0,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 0,
"output_link_map": [
[0, 0],
[200, 1]
],
"output_host": [
[0, "192.168.1.1"]
],
"output_port": [
[0, 9000, 1]
]
}, {
"fsp_id": 2,
"function_mode": "CORR",
"frequency_slice_id": 2,
"integration_factor": 1,
"zoom_factor": 1,
"zoom_window_tuning": 650000,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 744,
"output_link_map": [
[0, 4],
[200, 5]
],
"output_host": [
[0, "192.168.1.1"]
],
"output_port": [
[0, 9744, 1]
]
}],
"vlbi": {}
},
"pst": {}
}
Example (CSP configuration for PSS scan)
{
"interface": "https://schema.skao.int/ska-csp-configure/2.1",
"subarray": {
"subarray_name": "science period 23"
},
"common": {
"config_id": "sbi-mvp01-20200325-00001-science_A",
"frequency_band": "1",
"subarray_id": 1
},
"cbf": {
"fsp": [{
"fsp_id": 1,
"function_mode": "PSS-BF",
"frequency_slice_id": 1,
"integration_factor": 1,
"zoom_factor": 0
}, {
"fsp_id": 2,
"function_mode": "CORR",
"frequency_slice_id": 1,
"integration_factor": 1,
"zoom_factor": 0
}],
"search_window": [{
"search_window_id": 0,
"search_window_tuning": 1000,
"tdc_enable": true
}]
},
"pss": {
"beam_bandwidth": 300,
"channels_per_beam": 4096,
"acceleration_search": false,
"single_pulse_search": true,
"integration_time": 600,
"acc_range": 0,
"number_of_trials": 0,
"time_resolution": 4,
"ps_dm": 1000.0,
"sps_dm": 1000.0,
"timesample_per_block": 28125000,
"sub_bands": 64,
"buffer_size": 18,
"hsum_control": 16,
"cxft_control": {},
"cand_sift": {},
"cand_output": {},
"sp_threshold": 10.0,
"sp_opt_pars": {},
"dred_beam_stats": {},
"cdos_control": {},
"fldo_control": {
"phase_split": true,
"channel_scale": true,
"max_phases": 16
},
"rfim_control": {},
"beam": [{
"beam_id": 1,
"reference_frame": "ICRS",
"ra": 82.75,
"dec": 21.0,
"centre_frequency": 1400.0,
"beam_delay_centre": 0.0,
"dest_host": "192.168.178.25",
"dest_port": 9021
}, {
"beam_id": 2,
"reference_frame": "ICRS",
"ra": 84.25,
"dec": 21.5,
"centre_frequency": 1400.0,
"beam_delay_centre": 0.0,
"dest_host": "192.168.178.26",
"dest_port": 9021
}]
}
}
Example (CSP configuration for PST beam configuration)
{
"interface": "https://schema.skao.int/ska-csp-configure/2.3",
"subarray": {
"subarray_name": "science period 23"
},
"common": {
"config_id": "sbi-mvp01-20200325-00001-science_A",
"frequency_band": "1",
"subarray_id": 1
},
"cbf": {
"fsp": [{
"fsp_id": 1,
"function_mode": "CORR",
"frequency_slice_id": 1,
"integration_factor": 1,
"zoom_factor": 0,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 0,
"output_link_map": [
[0, 0],
[200, 1]
]
}, {
"fsp_id": 2,
"function_mode": "CORR",
"frequency_slice_id": 2,
"integration_factor": 1,
"zoom_factor": 1,
"zoom_window_tuning": 650000,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 744,
"output_link_map": [
[0, 4],
[200, 5]
]
}],
"vlbi": {}
},
"pst": {
"beam": {}
}
}
Example (CSP configuration for PST pulsar timing scan)
{
"interface": "https://schema.skao.int/ska-csp-configure/2.3",
"subarray": {
"subarray_name": "science period 23"
},
"common": {
"config_id": "sbi-mvp01-20200325-00001-science_A",
"frequency_band": "1",
"subarray_id": 1,
"eb_id": "eb-m001-20230712-56789"
},
"cbf": {
"fsp": [{
"fsp_id": 1,
"function_mode": "CORR",
"frequency_slice_id": 1,
"integration_factor": 1,
"zoom_factor": 0,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 0,
"output_link_map": [
[0, 0],
[200, 1]
]
}, {
"fsp_id": 2,
"function_mode": "CORR",
"frequency_slice_id": 2,
"integration_factor": 1,
"zoom_factor": 1,
"zoom_window_tuning": 650000,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 744,
"output_link_map": [
[0, 4],
[200, 5]
]
}],
"vlbi": {}
},
"pst": {
"scan": {
"activation_time": "2022-01-19T23:07:45Z",
"timing_beam_id": "1",
"bits_per_sample": 32,
"num_of_polarizations": 2,
"udp_nsamp": 4,
"wt_nsamp": 4,
"udp_nchan": 185,
"num_frequency_channels": 13021,
"centre_frequency": 700000000.0,
"total_bandwidth": 700000000.0,
"observation_mode": "PULSAR_TIMING",
"observer_id": "jdoe",
"project_id": "project1",
"pointing_id": "pointing1",
"source": "J1921+2153",
"itrf": [5109360.133, 2006852.586, -3238948.127],
"receiver_id": "receiver3",
"feed_polarization": "CIRC",
"feed_handedness": 1,
"feed_angle": 1.234,
"feed_tracking_mode": "FA",
"feed_position_angle": 10.0,
"oversampling_ratio": [8, 7],
"coordinates": {
"equinox": 2000.0,
"ra": "19:21:44.815",
"dec": "21:53:02.400"
},
"max_scan_length": 10000.5,
"subint_duration": 30.0,
"receptors": ["SKA001", "SKA036"],
"receptor_weights": [0.4, 0.6],
"num_rfi_frequency_masks": 0,
"rfi_frequency_masks": [],
"destination_address": ["192.168.178.26", 9021],
"num_channelization_stages": 2,
"channelization_stages": [{
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 4,
"oversampling_ratio": [10, 9]
}, {
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 4096,
"oversampling_ratio": [8, 7]
}],
"pt": {
"dispersion_measure": 100.0,
"rotation_measure": 0.0,
"ephemeris": "",
"pulsar_phase_predictor": "",
"output_frequency_channels": 1,
"output_phase_bins": 64,
"num_sk_config": 1,
"sk_config": [{
"sk_range": [0.8, 0.9],
"sk_integration_limit": 100,
"sk_excision_limit": 25.0
}],
"target_snr": 0.0
}
}
}
}
Example (CSP configuration for PST dynamic spectrum scan)
{
"interface": "https://schema.skao.int/ska-csp-configure/2.3",
"subarray": {
"subarray_name": "science period 23"
},
"common": {
"config_id": "sbi-mvp01-20200325-00001-science_A",
"frequency_band": "1",
"subarray_id": 1,
"eb_id": "eb-m001-20230712-56789"
},
"cbf": {
"fsp": [{
"fsp_id": 1,
"function_mode": "CORR",
"frequency_slice_id": 1,
"integration_factor": 1,
"zoom_factor": 0,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 0,
"output_link_map": [
[0, 0],
[200, 1]
]
}, {
"fsp_id": 2,
"function_mode": "CORR",
"frequency_slice_id": 2,
"integration_factor": 1,
"zoom_factor": 1,
"zoom_window_tuning": 650000,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 744,
"output_link_map": [
[0, 4],
[200, 5]
]
}],
"vlbi": {}
},
"pst": {
"scan": {
"activation_time": "2022-01-19T23:07:45Z",
"timing_beam_id": "1",
"bits_per_sample": 32,
"num_of_polarizations": 2,
"udp_nsamp": 4,
"wt_nsamp": 4,
"udp_nchan": 185,
"num_frequency_channels": 13021,
"centre_frequency": 700000000.0,
"total_bandwidth": 700000000.0,
"observation_mode": "DYNAMIC_SPECTRUM",
"observer_id": "jdoe",
"project_id": "project1",
"pointing_id": "pointing1",
"source": "J1921+2153",
"itrf": [5109360.133, 2006852.586, -3238948.127],
"receiver_id": "receiver3",
"feed_polarization": "CIRC",
"feed_handedness": 1,
"feed_angle": 1.234,
"feed_tracking_mode": "FA",
"feed_position_angle": 10.0,
"oversampling_ratio": [8, 7],
"coordinates": {
"equinox": 2000.0,
"ra": "19:21:44.815",
"dec": "21:53:02.400"
},
"max_scan_length": 13000.2,
"subint_duration": 30.0,
"receptors": ["SKA001", "SKA036"],
"receptor_weights": [0.4, 0.6],
"num_rfi_frequency_masks": 0,
"rfi_frequency_masks": [],
"destination_address": ["192.168.178.26", 9021],
"num_channelization_stages": 2,
"channelization_stages": [{
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 4,
"oversampling_ratio": [10, 9]
}, {
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 4096,
"oversampling_ratio": [8, 7]
}],
"ds": {
"dispersion_measure": 100.0,
"output_frequency_channels": 1,
"stokes_parameters": "Q",
"num_bits_out": 16,
"time_decimation_factor": 10,
"frequency_decimation_factor": 4,
"requantisation_scale": 1.0,
"requantisation_length": 1.0
}
}
}
}
Example (CSP configuration for PST flow through scan)
{
"interface": "https://schema.skao.int/ska-csp-configure/2.4",
"subarray": {
"subarray_name": "science period 23"
},
"common": {
"config_id": "sbi-mvp01-20200325-00001-science_A",
"frequency_band": "1",
"subarray_id": 1,
"eb_id": "eb-m001-20230712-56789"
},
"cbf": {
"fsp": [{
"fsp_id": 1,
"function_mode": "CORR",
"frequency_slice_id": 1,
"integration_factor": 1,
"zoom_factor": 0,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 0,
"output_link_map": [
[0, 0],
[200, 1]
]
}, {
"fsp_id": 2,
"function_mode": "CORR",
"frequency_slice_id": 2,
"integration_factor": 1,
"zoom_factor": 1,
"zoom_window_tuning": 650000,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 744,
"output_link_map": [
[0, 4],
[200, 5]
]
}],
"vlbi": {}
},
"pst": {
"scan": {
"activation_time": "2022-01-19T23:07:45Z",
"timing_beam_id": "1",
"bits_per_sample": 32,
"num_of_polarizations": 2,
"udp_nsamp": 4,
"wt_nsamp": 4,
"udp_nchan": 185,
"num_frequency_channels": 13021,
"centre_frequency": 700000000.0,
"total_bandwidth": 700000000.0,
"observation_mode": "FLOW_THROUGH",
"observer_id": "jdoe",
"project_id": "project1",
"pointing_id": "pointing1",
"source": "J1921+2153",
"itrf": [5109360.133, 2006852.586, -3238948.127],
"receiver_id": "receiver3",
"feed_polarization": "CIRC",
"feed_handedness": 1,
"feed_angle": 1.234,
"feed_tracking_mode": "FA",
"feed_position_angle": 10.0,
"oversampling_ratio": [8, 7],
"coordinates": {
"equinox": 2000.0,
"ra": "19:21:44.815",
"dec": "21:53:02.400"
},
"max_scan_length": 20000.0,
"subint_duration": 30.0,
"receptors": ["SKA001", "SKA036"],
"receptor_weights": [0.4, 0.6],
"num_rfi_frequency_masks": 0,
"rfi_frequency_masks": [],
"destination_address": ["192.168.178.26", 9021],
"num_channelization_stages": 2,
"channelization_stages": [{
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 4,
"oversampling_ratio": [10, 9]
}, {
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 4096,
"oversampling_ratio": [8, 7]
}],
"ft": {
"num_bits_out": 32,
"num_channels": 1,
"channels": [1],
"requantisation_scale": 1.0,
"requantisation_length": 1.0
}
}
}
}
Example (CSP configuration for PST voltage recording scan)
{
"interface": "https://schema.skao.int/ska-csp-configure/2.4",
"subarray": {
"subarray_name": "science period 23"
},
"common": {
"config_id": "sbi-mvp01-20200325-00001-science_A",
"frequency_band": "1",
"subarray_id": 1,
"eb_id": "eb-m001-20230712-56789"
},
"cbf": {
"fsp": [{
"fsp_id": 1,
"function_mode": "CORR",
"frequency_slice_id": 1,
"integration_factor": 1,
"zoom_factor": 0,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 0,
"output_link_map": [
[0, 0],
[200, 1]
]
}, {
"fsp_id": 2,
"function_mode": "CORR",
"frequency_slice_id": 2,
"integration_factor": 1,
"zoom_factor": 1,
"zoom_window_tuning": 650000,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 744,
"output_link_map": [
[0, 4],
[200, 5]
]
}],
"vlbi": {}
},
"pst": {
"scan": {
"activation_time": "2022-01-19T23:07:45Z",
"timing_beam_id": "1",
"bits_per_sample": 32,
"num_of_polarizations": 2,
"udp_nsamp": 4,
"wt_nsamp": 4,
"udp_nchan": 185,
"num_frequency_channels": 13021,
"centre_frequency": 700000000.0,
"total_bandwidth": 700000000.0,
"observation_mode": "VOLTAGE_RECORDER",
"observer_id": "jdoe",
"project_id": "project1",
"pointing_id": "pointing1",
"source": "J1921+2153",
"itrf": [5109360.133, 2006852.586, -3238948.127],
"receiver_id": "receiver3",
"feed_polarization": "LIN",
"feed_handedness": 1,
"feed_angle": 1.234,
"feed_tracking_mode": "FA",
"feed_position_angle": 10.0,
"oversampling_ratio": [8, 7],
"coordinates": {
"equinox": 2000.0,
"ra": "19:21:44.815",
"dec": "21:53:02.400"
},
"max_scan_length": 20000.0,
"subint_duration": 30.0,
"receptors": ["SKA001", "SKA036"],
"receptor_weights": [0.4, 0.6],
"num_channelization_stages": 2,
"channelization_stages": [{
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 4,
"oversampling_ratio": [10, 9]
}, {
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 4096,
"oversampling_ratio": [8, 7]
}]
}
}
}
type |
object |
||
properties |
|||
|
type |
string |
|
|
subarray section, containing the parameters relevant only for the current sub-array device. This section is not forwarded to any subelement. |
||
type |
object |
||
default |
null |
||
properties |
|||
|
Name and scope of current subarray the sub-array. |
||
type |
string |
||
additionalProperties |
False |
||
|
Common section, containing the parameters and the sections belonging to all CSP subsystems. This section is forwarded to all sub-elements. |
||
|
Correlator and Beamformer specific parameters. This section contains the parameters relevant only for CBF sub-element. This section is forwarded only to CBF subelement. Most of it to be borrowed from IICD |
||
|
default |
null |
|
|
Pulsar Timing specific parameters. To be borrowed from IICD |
||
type |
object |
||
default |
null |
||
properties |
|||
|
Pulsar Timing specific scan configuration parameters. |
||
default |
null |
||
|
Pulsar Timing specific beam configuration parameters. As of version 2.3 this schema has no elements and is deprecated |
||
default |
null |
||
additionalProperties |
False |
||
additionalProperties |
False |
Common configuration schema 2.4
Common section, containing the parameters and the sections belonging to all CSP subsystems. This section is forwarded to all sub-elements.
type |
object |
||
properties |
|||
|
type |
string |
|
default |
null |
||
|
Subarray number |
||
type |
integer |
||
|
Execution block ID to associate scan configs to an observation. This ID is used for associating generated data, especially data products, for a given observation. Multiple scans can be linked to one observation and this ID is used as metadata to associate the data products from all scans of the same observation. This ID does not have to be unique for a scan configuration but should be unique for different observations. For example, all the data and weights files will have an EB_ID header value populated with the value supplied in this field. |
||
type |
string |
||
pattern |
^eb\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
||
default |
null |
||
|
Center frequency for the Band-of-Interest. Required if Band is 5a or 5b; not specified for other Bands (not configurable for Band 1, 2, 3 and 4). Input for Band 5a and 5b consists of two 2.5 GHz streams; the center frequency can be independently tuned for each stream. The following nomenclature is used to refer to Band 5a and 5b streams: 5a1, 5a2, 5b1, 5b2. |
||
type |
array |
||
default |
null |
||
items |
type |
number |
|
|
Frequency band applies for all the receptors (VCCs) that belong to the sub-array. The value of ‘low’ is used to only within SKA Low. As this field is a mandatory field but bands 1, 2, 3, 4, 5a and 5b only make sense for SKA Mid. |
||
type |
string |
||
pattern |
^(1|2|3|4|5(a|b)|low)$ |
||
additionalProperties |
False |
CBF config 2.4
Correlator and Beamformer specific parameters. This section contains the parameters relevant only for CBF sub-element. This section is forwarded only to CBF subelement. Most of it to be borrowed from IICD
type |
object |
|
properties |
||
|
Optionally, an offset can be specified so that the entire observed band is shifted (to accommodate a Zoom Window that crosses a ‘natural’ Frequency Slice boundary). If specified, applies for all the receptors in the sub-array. Bands 1, 2, 3 and 4: input from the receptor consists of a single data stream; the Frequency Band Offset (FBO) should be specified for Stream 1 only. Bands 5a and 5b: input from the receptor consists of two data streams; the FBO can be specified for each stream independently. Note: For Band 5a and 5b the frequency shift is performed by the receptor (DISH). Note: This is optional and does not need to be implemented in PI3, but would be great for demo; if Team Buttons is looking for opportunities to showcase interesting GUIs, Zoom Windows are perfect opportunity (would require TMC and CSP to support these two parameters, corrBandwidth values > 0 and zoom window tuning.) |
|
type |
integer |
|
default |
null |
|
|
See frequencyBandOffsetStream1 |
|
type |
integer |
|
default |
null |
|
|
FQDN of TMC.DelayModel TANGO attribute which exposes delay values for all the dishes assigned to a Subarray in JSON format. Delay values are updated every 10 seconds. |
|
type |
string |
|
default |
null |
|
|
The same model applies for all receptors that belong to the subarray. Delivered by TMC using publish-subscribe mechanism (see ICD Section 3.8.8.5.3). The Doppler phase correction, by default, applies only to the CSP_Mid Processing Mode Correlation; optionally may apply to other Processing Modes as well. |
|
type |
string |
|
default |
null |
|
|
Specified as needed in advance of the scan start and/or during the scan. Delivered using publish-subscribe mechanism (see ICD Section 3.8.8.5.7). |
|
type |
object |
|
default |
null |
|
properties |
||
additionalProperties |
True |
|
|
type |
array |
items |
||
|
Very Long Baseline Interferometry specific parameters. To be borrowed from IICD This section contains the parameters relevant only for VLBI. This section is forwarded only to CSP subelement. |
|
default |
null |
|
|
type |
array |
default |
null |
|
items |
Up to two 300 MHz Search Windows can be optionally configured and used as input for Transient Data Capture and/or Pulsar Search beam-forming. |
|
additionalProperties |
False |
FSP config 2.4
type |
object |
||||
properties |
|||||
|
type |
integer |
|||
|
allOf |
type |
string |
||
enum |
CORR, PSS-BF, PST-BF, VLBI |
||||
|
Optionally a subset of receptors to be correlated can be specified. If not specified, all receptors that belong to the subarray are cross-correlated (i.e. visibilities for all the baselines in the subarray are generated and transmitted to SDP). Valid receptor IDs include: SKA dishes: “SKAnnn”, where nnn is a zero padded integer in the range of 001 to 133. MeerKAT dishes: “MKTnnn”, where nnn is a zero padded integer in the range of 000 to 063. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
string |
|||
pattern |
|
||||
|
Frequency Slice to be processed on this FSP (valid range depends on the Frequency Band). |
||||
type |
integer |
||||
|
Bandwidth to be correlated calculated as FSBW/2n, where n is in range [0..6]. When n=0 the full Frequency Slice bandwidth is correlated. BW > 0 implies ‘Zoom Window’ configuration; the spectral Zoom Window tuning must be specified. |
||||
type |
integer |
||||
|
The Zoom Window tuning provided in absolute terms as RF center frequency. Based on that, CSP_Mid calculates tuning within the data stream received from the receptor. Must be selected so that the entire Zoom Window is within the Frequency Slice. If partially out of the FS a warning is generated. If completely outside of the FS an exception is generated. Step size <= 0.01MHz. The Frequency Band Offset can be used to shift the entire observed band in order to accommodate a Zoom Window that spans across a Frequency Slice boundary. |
||||
type |
integer |
||||
default |
null |
||||
|
Integration time for the correlation products, defines multiple of 140 milliseconds. |
||||
type |
integer |
||||
|
Table of up to 20 x 2 integers. Each of entries contains:
Explanation: Each FSP produces 14880 (TBC) fine channels across the correlated bandwidth (Frequency Slice or Zoom Window). Channels are evenly spaced in frequency. TM shall provide the table that for each FSP and each group of 744 channels (there are 20 groups per FSP) indicates the channel averaging factor. More precisely, for each group the TMC provided table specifies:
If no entry is present for an FSP, the averaging settings of the previous FSP are still applicable. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
type |
integer |
|||
|
Channel ID to use for visibilities of the first channel produced by this FSP. For example, if the channel offset is 5000 the first channel group would span IDs 5000-5743. Note that this offset does not apply to channel maps in this structure (such as channelAveragingMap or outputHost). |
||||
type |
integer |
||||
default |
null |
||||
|
Output links to emit visibilities on for every channel, given as a list of start channel ID to link ID. Where no value is given for concrete channel, the previous value should be used. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
anyOf |
type |
integer |
||
type |
string |
||||
|
Output host to send visibilities to for every channel, given as a list of start channel ID to host IP addresses in dot-decimal notation. Where no value is given for a concrete channel, the previous value should be used. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
anyOf |
type |
integer |
||
type |
string |
||||
|
Output port to send visibilities to for every channel, given as a list of start channel ID to port number. Where no value is given for a concrete channel, the previous value should be used. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
type |
integer |
|||
|
Output MAC address to send visibilities to for every channel, given as a list of start channel ID to IEEE 802 MAC addresses. Where no value is given for a concrete channel, the previous value should be used. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
anyOf |
type |
integer |
||
type |
string |
||||
additionalProperties |
False |
VLBI config 2.4
Very Long Baseline Interferometry specific parameters. To be borrowed from IICD This section contains the parameters relevant only for VLBI. This section is forwarded only to CSP subelement.
type |
object |
|
properties |
||
|
type |
string |
additionalProperties |
False |
Search window config 2.4
Up to two 300 MHz Search Windows can be optionally configured and used as input for Transient Data Capture and/or Pulsar Search beam-forming.
type |
object |
|||
properties |
||||
|
Identifier of the 300MHz Search Window. Unique within a sub-array. |
|||
type |
integer |
|||
|
The Search Window tuning is provided in absolute terms as RF center frequency. The Search Window must be placed within the observed band. If partially out of the observed Band a warning is generated. If completely outside of the observed Band an exception is generated. |
|||
type |
integer |
|||
|
Enable / disable Transient Data Capturefor the Search Window. |
|||
type |
boolean |
|||
|
Number of bits per sample (for the Transient Data Capture). Required if TDC is enabled, otherwise not specified. |
|||
type |
integer |
|||
default |
null |
|||
|
Users can trade the period of time for which data are saved and transmitted for the sample bit-width and/or the number of Search Windows. The exact information regarding the memory capacity per receptor and supported range will be provided in construction. The epoch is specified in the command that triggers TDC off-loading (transmission of data). |
|||
type |
integer |
|||
default |
null |
|||
|
see tdcPeriodBeforeEpoch |
|||
type |
integer |
|||
default |
null |
|||
|
Destination addresses (MAC, IP, port) for off-loading of the content of the Transient Data Capture Buffer, specified per receptor. The destination addresses for the content of the Transient Data Capture can be provided either as a part of the scan configuration or by the command that triggers transmission of the captured data. The latter, if provided, overrides previously set addresses. Required if TDC is enabled, otherwise not specified. |
|||
type |
array |
|||
default |
null |
|||
items |
anyOf |
type |
integer |
|
type |
string |
|||
additionalProperties |
False |
PSS configuration 2.4
type |
object |
||
properties |
|||
|
Beam bandwidth (MHz) |
||
type |
integer |
||
|
Number of channels per beam |
||
type |
integer |
||
|
Processing Mode: Acceleration Search (a.k.a. Pulsar Search) and Single Pulse Search (a.k.a. Transient Search) can be performed concurrently. |
||
type |
boolean |
||
|
Processing Mode: Acceleration Search (a.k.a. Pulsar Search) and Single Pulse Search (a.k.a. Transient Search) can be performed concurrently. |
||
type |
boolean |
||
|
Scan duration. |
||
type |
integer |
||
|
Range in source acceleration to be searched. |
||
type |
integer |
||
default |
null |
||
|
Number of trials to be performed. |
||
type |
integer |
||
|
Time resolution of input data. |
||
type |
integer |
||
|
Dispersion corretion for acceleration search. |
||
type |
number |
||
|
Dispersion corretion for transient search. |
||
type |
number |
||
|
Number of time samples in each block of data. |
||
type |
integer |
||
|
Number of frequency band groups summed up during folding. |
||
type |
integer |
||
|
Size of the buffer receiving raw data. (2**buffer_size) |
||
type |
integer |
||
|
Number of the “harmonic folds” on the initial Fourier power-spectrum summed up. |
||
type |
integer |
||
|
CXFT control parameters. |
||
type |
object |
||
|
Constraints on matches between candidates. |
||
type |
object |
||
|
Define data sinks and subscriber to be notified. |
||
type |
object |
||
|
Threshold for a single pulse trigger. (Tuned to system noise and RFI env.) |
||
type |
number |
||
|
Single pulse optimization parameters. |
||
type |
object |
||
|
DRED: statistics of spectra to derive the normalization factors. |
||
type |
object |
||
|
CDOS: control parameters and related statistical data. |
||
type |
object |
||
|
RFIM control parameters. |
||
type |
object |
||
|
FLDO control parameters. |
||
type |
object |
||
properties |
|||
|
type |
boolean |
|
|
type |
boolean |
|
|
type |
integer |
|
additionalProperties |
True |
||
|
type |
array |
|
items |
|||
additionalProperties |
False |
PSS beam config 2.4
type |
object |
||
properties |
|||
|
Search Beam ID. |
||
type |
integer |
||
|
Right Ascension of sub-array beam target, in degrees. |
||
type |
number |
||
default |
null |
||
|
Declination of sub-array beam target, in degrees. |
||
type |
number |
||
default |
null |
||
|
reference frame for pointing coordinates |
||
default |
null |
||
allOf |
type |
string |
|
enum |
ICRS, HORIZON |
||
|
Centre frequency of the search beam. |
||
type |
number |
||
|
Beam delay center, relative to the array delay center. |
||
anyOf |
type |
number |
|
type |
string |
||
|
Per beam destination host address for PSS output. |
||
type |
string |
||
default |
null |
||
|
Per beam destination port for PSS output. |
||
type |
integer |
||
default |
null |
||
additionalProperties |
False |
PST scan configuration 2.4
Pulsar Timing specific scan configuration parameters.
type |
object |
|||
properties |
||||
|
Date and time when to start the PST reconfiguration. Units: UTC timestamp Keyword: ACTIVATION_TIME |
|||
type |
string |
|||
|
Identifier assigned by LMC/TM used to identify the beam configuraiton. PST selects which PST server to use for this scan and timing beam, and provides a mapping from the timing beam identifier by the TM to PST capability id. Keyword: BEAM |
|||
type |
string |
|||
default |
null |
|||
|
The number of bits per complex-values time sample in the CBF output data. Valid values are 16, 24, or 32. Keyword: NBIT |
|||
type |
integer |
|||
|
The number of polarizations in the CBF output data. Valid values are 1 or 2. Keyword: NPOL |
|||
type |
integer |
|||
|
The number of time samples for each single polarization and the a single frequency in each UDP packet sent by CBF. Note: this must be an integer multiple of WT_NSMAP Range: 4 (Low), 32 (Mid) Keyword: UDP_NSAMP |
|||
type |
integer |
|||
|
The number of time samples described by as single relative weight. There is a unique relative weight for each frequency channel, and each relative weight describes both polarizations. Range: 4 (Low), 32 (Mid) Keyword: WT_NSAMP |
|||
type |
integer |
|||
|
The number of contiguous frequency channels in each UDP packet sent by CBF. Range: 24 (Low), 185 (Mid) Keyword: UDP_NCHAN |
|||
type |
integer |
|||
|
The total number of frequency channels into which the total critical bandwidth has been divided. This must be an integer multiple of udp_nchan Range: 1 to 82944 Keyword: OBSNCHAN |
|||
type |
integer |
|||
|
Centre frequency of to the total (critical) bandwidth spanned by the frequency channels. Units: Hz Range: 50e6 to 12800e6 Keyword: OBSFREQ |
|||
type |
number |
|||
|
Total (critical) bandwidth spanned by the channels of the observation. Low: 0.00361 to 300 MHz Mid: 0.053.76 to 2500 MHz Units: Hz Range: 3610 to 2.5e9 Keyword: OBSBW |
|||
type |
number |
|||
|
The observation mode used for the scan. The value VOLTAGE_RECORDER is added for AA0.5, while the other values will be needed for in the future for data processing. Keyword: OBSMODE |
|||
allOf |
type |
string |
||
enum |
PULSAR_TIMING, DYNAMIC_SPECTRUM, FLOW_THROUGH, VOLTAGE_RECORDER |
|||
|
The observer in charge of the observations. Keyword: OBSERVER |
|||
type |
string |
|||
|
The project that the observations are for. Keyword: PROJID |
|||
type |
string |
|||
|
The ID for the sub-array pointing. Keyword: PNT_ID |
|||
type |
string |
|||
|
The name of the source. Keyword: SRC_NAME |
|||
type |
string |
|||
|
The International Terrestrial Reference Frame (ITRF) coordinates of the telescope delay centre. Units: metres Keyword: ITRF |
|||
type |
array |
|||
items |
type |
number |
||
|
The receiver name or ID (instrument). Keyword: FRONTEND |
|||
type |
string |
|||
|
The native polarization of feed. Range: LIN or CIRC Keyword: FD_POLN |
|||
allOf |
type |
string |
||
enum |
LIN, CIRC |
|||
|
Code for sense of feed. For value of +1 for XYZ forming RH set with Z in the direction of propagation. Looking up into the feed of a prime-focus receiver or at the sky). For FD_HAND = +1, the rotation from A (or X) to B (or Y) is counter clockwise or in the direction of increasing Feed Angle (FA) or Position Angle (PA). For circular feeds, FD_HAND = +1 for IEEE LCP on the A (or X) probe. Range: -1 or +1 Keyword: FD_HAND |
|||
allOf |
type |
integer |
||
enum |
-1, 1 |
|||
|
Feed angle of the E-vector for an equal in-phase response from the A(X) and B(Y) probes, measured in the direction of increasing feed angle or position angle (clockwise when looking down on a prime focuse receiver). Units: degrees Range: -180 to 180. Keyword: FD_SANG |
|||
type |
number |
|||
|
The tracking mode for the feed:
Range: FA, CPA, SPA, or TPA Keyword: FD_MODE |
|||
allOf |
type |
string |
||
enum |
FA, CPA, SPA, TPA |
|||
|
The requested angle of feed reference. For feed_mode = ‘FA’ this is respect to the telescope’s reference frame (feed_angle = 0), and for feed_mode = ‘CPA’ this is with respect to the celestial north (parallic angle = 0) or with respect to the Galactic north for coordinate_mode = ‘GALACTIC’. Range: -180 to +180. Keyword: FA_REQ |
|||
type |
number |
|||
|
The oversampling ratio expressed as a fraction as an array of int, with the first value the numerator and the second is the denominator. (e.g. 8/7 is assigned as [8,7]). Range: 8/7 or 4/3 Keyword: OVERSAMP |
|||
type |
array |
|||
items |
type |
integer |
||
|
The tied-array beam’s tracking co-ordinates. As of version 2.2 of the schema this only handles equitorial tracking which means uses RA/Dec J2000.0 coords but PST may support different tracking modes and coordinates the future. |
|||
|
The maximum length of the observation. Units: seconds Range: 30 - 43200 Keyword: SCANLEN_MAX |
|||
type |
number |
|||
|
The length of each output sub-integration. Units: seconds Range: 1 - 60 Keyword: OUTSUBINT |
|||
type |
number |
|||
|
An array of receptor IDs for the receptors included in the sub-array. Keyword: ANTENNA |
|||
type |
array |
|||
items |
type |
string |
||
|
Weight for each receptor. Range: 0 - 1.0 Keyword: ANT_WEIGHTS |
|||
type |
array |
|||
items |
type |
number |
||
|
The number of frequency ranges to be masked. Range: 0 - 1024 Keyword: NMASK |
|||
type |
integer |
|||
default |
0 |
|||
|
A two-dimensional array of length of num_frequency_mask of known RFI frequency ranges to excise from the data. The array contains mask pairs of [f_min, f_max] pairs for known frequency ranges containing RFI not excised by the CBF. The overall dimension of this array is num_frequency_mask x 2. Units: Hz Keyword: FREQ_MASK |
|||
type |
array |
|||
default |
null |
|||
items |
type |
array |
||
items |
type |
number |
||
|
The destination address for the PST output data. Includes IPv4 Address, port number. |
|||
type |
array |
|||
default |
null |
|||
items |
anyOf |
type |
string |
|
type |
integer |
|||
|
Identifier for a test vectore that will be present in the tied-array beam data stream beam CBF and PST. Keyword: TEST_VECTOR |
|||
type |
string |
|||
default |
null |
|||
|
Pulsar Timing specific parameters for the ‘PULSAR_TIMING’ mode configuration. |
|||
default |
null |
|||
|
Pulsar Timing specific parameters for the ‘DYNAMIC_SPECTRUM’ mode configuration. |
|||
default |
null |
|||
|
Pulsar Timing specific parameters for the ‘FLOW_THROUGH’ mode configuration. |
|||
default |
null |
|||
|
The number of stages used to channelize the data: e.g. * for Low, there are 2 stages: 1 in LFAA and 1 in CBF * for Mid, there are 2 stages: 1 in FSP and 1 in PST BF. Keyword: NSTAGE |
|||
type |
integer |
|||
|
List of configuration for each channelization stage. |
|||
type |
array |
|||
items |
Pulsar Timing specific parameters for channelization stage configuration. |
|||
additionalProperties |
False |
PST RA_Dec coordinates 2.4
Pulsar Timing specific parameters for RA/Dec tracking coordinates.
type |
object |
|
properties |
||
|
The coordinate epoch. This can be in Julian date or Modified Julian Date. Units: years Range: >= 2000 Keyword: EQUINOX |
|
type |
number |
|
default |
2000.0 |
|
|
The Right Accession (RA) of the coordinates used for tracking. Valid formats is ‘hh:mm:ss.sss’ or ‘ddd.ddd’ Keyword: STT_CTD1 |
|
type |
string |
|
|
The declination (Dec) of the coordinates used for tracking. Valid formats is ‘hh:mm:ss.sss’ or ‘ddd.ddd’ Keyword: STT_CTD2 |
|
type |
string |
|
additionalProperties |
False |
PST ‘PULSAR_TIMING’ mode configuration 2.4
Pulsar Timing specific parameters for the ‘PULSAR_TIMING’ mode configuration.
type |
object |
|
properties |
||
|
The dispersion measure for coherent/inchoerent de-dispersion. Units: pccm^-3 Range: 0 - 100000 Keyword: DM |
|
type |
number |
|
|
The rotation measure for phase-coherent Faraday rotation correction. Units: radians per metre squared Keyword: RM |
|
type |
number |
|
default |
null |
|
|
The ephemeris of the pulsar being observed. Units: PSRCAT compatible ASCII string Keyword: EPHEMERIS |
|
type |
string |
|
|
Pulsar phase predictor generated from ephemeris. Units: TEMPO2 compatible ASCII string Keyword: PREDICTOR |
|
type |
string |
|
|
The number of output frequency channels. This must be between 1 and the number of observation channels. Keyword: OUTNCHAN |
|
type |
integer |
|
|
The number of output phase bins. Range: 64 - 2048 Keyword: OUTNBIN |
|
type |
integer |
|
|
The number of spectral kurtosis (SK) configurations to apply. Keyword: N_SK |
|
type |
integer |
|
|
List of spectral kurtosis configurations. |
|
type |
array |
|
items |
Pulsar Timing specific parameters for the spectral kurtosis (SK) for the ‘PULSAR_TIMING’ mode. |
|
|
The signal-to-noise ratio (SNR) of the on-pulse flux for the scan. May be used to prematurely end a scan when the integrated SNR reaches the target. A value of 0 indicates there is no limit. Keyword: TARGET_SNR |
|
type |
number |
|
additionalProperties |
False |
PST spectral kurtosis configuration 2.4
Pulsar Timing specific parameters for the spectral kurtosis (SK) for the ‘PULSAR_TIMING’ mode.
type |
object |
||
properties |
|||
|
Frequency ranges for each spectral kurtosis (SK) configuration. Units: Hz Keyword: SK_RNG |
||
type |
array |
||
items |
type |
number |
|
|
The number of input time samples integrated into each spectral kurtosis (SK) statistic. Range: 64 - 1024 Keyword: SK_INTS |
||
type |
integer |
||
|
Spectral kurtosis excision limits (RFI threshold) in units of standard deviations. Range: 1 - 100 Keyword: SK_EXIS |
||
type |
number |
||
additionalProperties |
False |
PST ‘DYNAMIC_SPECTRUM’ mode configuration 2.4
Pulsar Timing specific parameters for the ‘DYNAMIC_SPECTRUM’ mode configuration.
type |
object |
||
properties |
|||
|
The dispersion measture for coherent/inchoerent de-dispersion. This is only required for pulsar timing and dynamic spectrum modes. Range: [0, 100000] Keyword: DM |
||
type |
number |
||
|
The rotation measure for phase-coherent Faraday rotation correction. Units: radians per metre squared Keyword: RM |
||
type |
number |
||
default |
null |
||
|
The number of output frequency channels. This must be between 1 and the number of observation channels. Keyword: OUTNCHAN |
||
type |
integer |
||
|
The Stokes parameters to output when in Dynamic spectrum mode. Range: string with a combination of I, Q, U, and V. Keyword: STOKES_FB |
||
type |
string |
||
|
The number of bits per output sample. Range: 1, 2, 4, 8, 16 or 32 Keyword: NBIT_OUT |
||
allOf |
type |
integer |
|
enum |
1, 2, 4, 8, 16, 32 |
||
|
The number of input samples per output time sample when in Dynamic Spectrum mode. Keyword: TDEC_FB |
||
type |
integer |
||
|
The number of input frequency channels incoherently added to each output frequency channel in Dynamic Spectrum. This is required in addition to output_frequency_channels because some frequency channels may be merged coherently to increase temporal resolution. Keyword: FDEC_FB |
||
type |
integer |
||
|
The number of spectral kurtosis (SK) configurations to apply. Keyword: N_SK |
||
type |
integer |
||
default |
null |
||
|
List of spectral kurtosis configurations. |
||
type |
array |
||
default |
null |
||
items |
Pulsar Timing specific parameters for the spectral kurtosis (SK) for the ‘PULSAR_TIMING’ mode. |
||
|
Scale factor to govern the dynamic range for fixed precision output to be applied during re-quantisation. Keyword: DIGITIZER_SCALE |
||
type |
number |
||
|
Length of data to be used when determining the scaling factors used for fixed precision output during re-quantisation. Units: seconds Keyword: DIGITIZER_LENGTH |
||
type |
number |
||
additionalProperties |
False |
PST ‘FLOW_THROUGH’ mode configuration 2.4
Pulsar Timing specific parameters for the ‘FLOW_THROUGH’ mode configuration.
type |
object |
||
properties |
|||
|
The number of bits per output sample. Range: 1, 2, 4, 8, 16 or 32 Keyword: NBIT_OUT |
||
allOf |
type |
integer |
|
enum |
1, 2, 4, 8, 16, 32 |
||
|
The indices of the first and last (inclusive) frequency channels that define the single contiguous range of frequency channels to be recorded. Keyword: CHAN_FT |
||
type |
array |
||
items |
type |
integer |
|
|
Scale factor applied during re-quantisation that modifies the dynamic range of the fixed precision output. By default, for 2, 4, and 8 bits per sample, data will be scaled to minimize scattered power by adopting the Optimum Input Threshold Spacing for a Uniform Digitizer defined in Table 3 of Jenet & Anderson (1998; PASP 110:1467). For 16 and 32 bits per sample, by default the data will be scaled such that the maximum fixed precision output value (2^{num_bits_out-1}) corresponds to 6 times the standard deviation. For all num_bits_out, the standard deviation is that of either the real or imaginary part of each complex-valued sample. The default scale factor is computed such that, after multiplication by this scale factor, the data would satisfy the conditions described above. This default scale factor is multiplied by requantisation_scale. Therefore, a requantisation_scale value greater than 1 increases the value of the floating point data before it is cast to a fixed precision value, thereby reducing the overhead available to represent RFI and increasing the probability of clipping. Keyword: DIGITIZER_SCALE |
||
type |
number |
||
|
The number of input channels to be recorded. This value must be less than or equal to the output_frequency_channels. Keyword: NCHAN_FT |
||
type |
integer |
||
|
Length of data to be used when determining the scaling factors used for fixed precision output during re-quantisation. Units: seconds Keyword: DIGITIZER_LENGTH |
||
type |
number |
||
additionalProperties |
False |
PST channelization stage configuration 2.4
Pulsar Timing specific parameters for channelization stage configuration.
type |
object |
||
properties |
|||
|
Total number of taps in the prototype filter (i.e. over all arms) used in the stage. Keyword: NSTAP_k |
||
type |
integer |
||
|
An array of filter coefficients that define the (time domain) response function of the prototype filter used in the stage. Length of this is num_filter_taps. Keyword: COEFF_k |
||
type |
array |
||
items |
type |
number |
|
|
The number of frequency channels output by each polyphase filter bank (PFB) for this stage. Keyword: NCHAN_PFB_k |
||
type |
integer |
||
|
The oversampling ratio expressed as a fraction as an array of int, with the first value the numerator and the second is the denominator. (e.g. 8/7 is assigned as [8,7]). Keyword: OVERSAMP_k |
||
type |
array |
||
items |
type |
integer |
|
additionalProperties |
False |
PST beam configuration 2.4
Pulsar Timing specific beam configuration parameters.
As of version 2.3 this schema has no elements and is deprecated
type |
object |
properties |
|
additionalProperties |
False |
CSP config 2.3
Example (TMC input for science_a visibility scan)
{
"interface": "https://schema.skao.int/ska-csp-configure/2.0",
"subarray": {
"subarray_name": "science period 23"
},
"common": {
"config_id": "sbi-mvp01-20200325-00001-science_A",
"frequency_band": "1",
"subarray_id": 1
},
"cbf": {
"fsp": [{
"fsp_id": 1,
"function_mode": "CORR",
"frequency_slice_id": 1,
"integration_factor": 1,
"zoom_factor": 0,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 0,
"output_link_map": [
[0, 0],
[200, 1]
]
}, {
"fsp_id": 2,
"function_mode": "CORR",
"frequency_slice_id": 2,
"integration_factor": 1,
"zoom_factor": 1,
"zoom_window_tuning": 650000,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 744,
"output_link_map": [
[0, 4],
[200, 5]
]
}],
"vlbi": {}
},
"pst": {}
}
Example (CSP configuration for science_a visibility scan)
{
"interface": "https://schema.skao.int/ska-csp-configure/2.0",
"subarray": {
"subarray_name": "science period 23"
},
"common": {
"config_id": "sbi-mvp01-20200325-00001-science_A",
"frequency_band": "1",
"subarray_id": 1
},
"cbf": {
"fsp": [{
"fsp_id": 1,
"function_mode": "CORR",
"frequency_slice_id": 1,
"integration_factor": 1,
"zoom_factor": 0,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 0,
"output_link_map": [
[0, 0],
[200, 1]
],
"output_host": [
[0, "192.168.0.1"],
[400, "192.168.0.2"]
],
"output_mac": [
[0, "06-00-00-00-00-00"]
],
"output_port": [
[0, 9000, 1],
[400, 9000, 1]
]
}, {
"fsp_id": 2,
"function_mode": "CORR",
"frequency_slice_id": 2,
"integration_factor": 1,
"zoom_factor": 1,
"zoom_window_tuning": 650000,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 744,
"output_link_map": [
[0, 4],
[200, 5]
],
"output_host": [
[0, "192.168.0.3"],
[400, "192.168.0.4"]
],
"output_mac": [
[0, "06-00-00-00-00-01"]
],
"output_port": [
[0, 9000, 1],
[400, 9000, 1]
]
}],
"vlbi": {}
},
"pst": {}
}
Example (CSP configuration for cal_a visibility scan)
{
"interface": "https://schema.skao.int/ska-csp-configure/2.0",
"subarray": {
"subarray_name": "science period 23"
},
"common": {
"config_id": "sbi-mvp01-20200325-00001-science_A",
"frequency_band": "1",
"subarray_id": 1
},
"cbf": {
"fsp": [{
"fsp_id": 1,
"function_mode": "CORR",
"frequency_slice_id": 1,
"integration_factor": 1,
"zoom_factor": 0,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 0,
"output_link_map": [
[0, 0],
[200, 1]
],
"output_host": [
[0, "192.168.1.1"]
],
"output_port": [
[0, 9000, 1]
]
}, {
"fsp_id": 2,
"function_mode": "CORR",
"frequency_slice_id": 2,
"integration_factor": 1,
"zoom_factor": 1,
"zoom_window_tuning": 650000,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 744,
"output_link_map": [
[0, 4],
[200, 5]
],
"output_host": [
[0, "192.168.1.1"]
],
"output_port": [
[0, 9744, 1]
]
}],
"vlbi": {}
},
"pst": {}
}
Example (CSP configuration for PSS scan)
{
"interface": "https://schema.skao.int/ska-csp-configure/2.1",
"subarray": {
"subarray_name": "science period 23"
},
"common": {
"config_id": "sbi-mvp01-20200325-00001-science_A",
"frequency_band": "1",
"subarray_id": 1
},
"cbf": {
"fsp": [{
"fsp_id": 1,
"function_mode": "PSS-BF",
"frequency_slice_id": 1,
"integration_factor": 1,
"zoom_factor": 0
}, {
"fsp_id": 2,
"function_mode": "CORR",
"frequency_slice_id": 1,
"integration_factor": 1,
"zoom_factor": 0
}],
"search_window": [{
"search_window_id": 0,
"search_window_tuning": 1000,
"tdc_enable": true
}]
},
"pss": {
"beam_bandwidth": 300,
"channels_per_beam": 4096,
"acceleration_search": false,
"single_pulse_search": true,
"integration_time": 600,
"acc_range": 0,
"number_of_trials": 0,
"time_resolution": 4,
"ps_dm": 1000.0,
"sps_dm": 1000.0,
"timesample_per_block": 28125000,
"sub_bands": 64,
"buffer_size": 18,
"hsum_control": 16,
"cxft_control": {},
"cand_sift": {},
"cand_output": {},
"sp_threshold": 10.0,
"sp_opt_pars": {},
"dred_beam_stats": {},
"cdos_control": {},
"fldo_control": {
"phase_split": true,
"channel_scale": true,
"max_phases": 16
},
"rfim_control": {},
"beam": [{
"beam_id": 1,
"reference_frame": "ICRS",
"ra": 82.75,
"dec": 21.0,
"centre_frequency": 1400.0,
"beam_delay_centre": 0.0,
"dest_host": "192.168.178.25",
"dest_port": 9021
}, {
"beam_id": 2,
"reference_frame": "ICRS",
"ra": 84.25,
"dec": 21.5,
"centre_frequency": 1400.0,
"beam_delay_centre": 0.0,
"dest_host": "192.168.178.26",
"dest_port": 9021
}]
}
}
Example (CSP configuration for PST beam configuration)
{
"interface": "https://schema.skao.int/ska-csp-configure/2.3",
"subarray": {
"subarray_name": "science period 23"
},
"common": {
"config_id": "sbi-mvp01-20200325-00001-science_A",
"frequency_band": "1",
"subarray_id": 1
},
"cbf": {
"fsp": [{
"fsp_id": 1,
"function_mode": "CORR",
"frequency_slice_id": 1,
"integration_factor": 1,
"zoom_factor": 0,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 0,
"output_link_map": [
[0, 0],
[200, 1]
]
}, {
"fsp_id": 2,
"function_mode": "CORR",
"frequency_slice_id": 2,
"integration_factor": 1,
"zoom_factor": 1,
"zoom_window_tuning": 650000,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 744,
"output_link_map": [
[0, 4],
[200, 5]
]
}],
"vlbi": {}
},
"pst": {
"beam": {}
}
}
Example (CSP configuration for PST pulsar timing scan)
{
"interface": "https://schema.skao.int/ska-csp-configure/2.3",
"subarray": {
"subarray_name": "science period 23"
},
"common": {
"config_id": "sbi-mvp01-20200325-00001-science_A",
"frequency_band": "1",
"subarray_id": 1
},
"cbf": {
"fsp": [{
"fsp_id": 1,
"function_mode": "CORR",
"frequency_slice_id": 1,
"integration_factor": 1,
"zoom_factor": 0,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 0,
"output_link_map": [
[0, 0],
[200, 1]
]
}, {
"fsp_id": 2,
"function_mode": "CORR",
"frequency_slice_id": 2,
"integration_factor": 1,
"zoom_factor": 1,
"zoom_window_tuning": 650000,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 744,
"output_link_map": [
[0, 4],
[200, 5]
]
}],
"vlbi": {}
},
"pst": {
"scan": {
"activation_time": "2022-01-19T23:07:45Z",
"bits_per_sample": 32,
"num_of_polarizations": 2,
"udp_nsamp": 4,
"wt_nsamp": 4,
"udp_nchan": 185,
"num_frequency_channels": 13021,
"centre_frequency": 700000000.0,
"total_bandwidth": 700000000.0,
"observation_mode": "PULSAR_TIMING",
"observer_id": "jdoe",
"project_id": "project1",
"pointing_id": "pointing1",
"source": "J1921+2153",
"itrf": [5109360.133, 2006852.586, -3238948.127],
"receiver_id": "receiver3",
"feed_polarization": "CIRC",
"feed_handedness": 1,
"feed_angle": 1.234,
"feed_tracking_mode": "FA",
"feed_position_angle": 10.0,
"oversampling_ratio": [8, 7],
"coordinates": {
"equinox": 2000.0,
"ra": "19:21:44.815",
"dec": "21:53:02.400"
},
"max_scan_length": 10000.5,
"subint_duration": 30.0,
"receptors": ["SKA001", "SKA036"],
"receptor_weights": [0.4, 0.6],
"num_rfi_frequency_masks": 0,
"rfi_frequency_masks": [],
"destination_address": ["192.168.178.26", 9021],
"num_channelization_stages": 2,
"channelization_stages": [{
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 4,
"oversampling_ratio": [10, 9]
}, {
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 4096,
"oversampling_ratio": [8, 7]
}],
"pt": {
"dispersion_measure": 100.0,
"rotation_measure": 0.0,
"ephemeris": "",
"pulsar_phase_predictor": "",
"output_frequency_channels": 1,
"output_phase_bins": 64,
"num_sk_config": 1,
"sk_config": [{
"sk_range": [0.8, 0.9],
"sk_integration_limit": 100,
"sk_excision_limit": 25.0
}],
"target_snr": 0.0
}
}
}
}
Example (CSP configuration for PST dynamic spectrum scan)
{
"interface": "https://schema.skao.int/ska-csp-configure/2.3",
"subarray": {
"subarray_name": "science period 23"
},
"common": {
"config_id": "sbi-mvp01-20200325-00001-science_A",
"frequency_band": "1",
"subarray_id": 1
},
"cbf": {
"fsp": [{
"fsp_id": 1,
"function_mode": "CORR",
"frequency_slice_id": 1,
"integration_factor": 1,
"zoom_factor": 0,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 0,
"output_link_map": [
[0, 0],
[200, 1]
]
}, {
"fsp_id": 2,
"function_mode": "CORR",
"frequency_slice_id": 2,
"integration_factor": 1,
"zoom_factor": 1,
"zoom_window_tuning": 650000,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 744,
"output_link_map": [
[0, 4],
[200, 5]
]
}],
"vlbi": {}
},
"pst": {
"scan": {
"activation_time": "2022-01-19T23:07:45Z",
"bits_per_sample": 32,
"num_of_polarizations": 2,
"udp_nsamp": 4,
"wt_nsamp": 4,
"udp_nchan": 185,
"num_frequency_channels": 13021,
"centre_frequency": 700000000.0,
"total_bandwidth": 700000000.0,
"observation_mode": "DYNAMIC_SPECTRUM",
"observer_id": "jdoe",
"project_id": "project1",
"pointing_id": "pointing1",
"source": "J1921+2153",
"itrf": [5109360.133, 2006852.586, -3238948.127],
"receiver_id": "receiver3",
"feed_polarization": "CIRC",
"feed_handedness": 1,
"feed_angle": 1.234,
"feed_tracking_mode": "FA",
"feed_position_angle": 10.0,
"oversampling_ratio": [8, 7],
"coordinates": {
"equinox": 2000.0,
"ra": "19:21:44.815",
"dec": "21:53:02.400"
},
"max_scan_length": 13000.2,
"subint_duration": 30.0,
"receptors": ["SKA001", "SKA036"],
"receptor_weights": [0.4, 0.6],
"num_rfi_frequency_masks": 0,
"rfi_frequency_masks": [],
"destination_address": ["192.168.178.26", 9021],
"num_channelization_stages": 2,
"channelization_stages": [{
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 4,
"oversampling_ratio": [10, 9]
}, {
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 4096,
"oversampling_ratio": [8, 7]
}],
"ds": {
"dispersion_measure": 100.0,
"output_frequency_channels": 1,
"stokes_parameters": "Q",
"num_bits_out": 16,
"time_decimation_factor": 10,
"frequency_decimation_factor": 4,
"requantisation_scale": 1.0,
"requantisation_length": 1.0
}
}
}
}
Example (CSP configuration for PST flow through scan)
{
"interface": "https://schema.skao.int/ska-csp-configure/2.3",
"subarray": {
"subarray_name": "science period 23"
},
"common": {
"config_id": "sbi-mvp01-20200325-00001-science_A",
"frequency_band": "1",
"subarray_id": 1
},
"cbf": {
"fsp": [{
"fsp_id": 1,
"function_mode": "CORR",
"frequency_slice_id": 1,
"integration_factor": 1,
"zoom_factor": 0,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 0,
"output_link_map": [
[0, 0],
[200, 1]
]
}, {
"fsp_id": 2,
"function_mode": "CORR",
"frequency_slice_id": 2,
"integration_factor": 1,
"zoom_factor": 1,
"zoom_window_tuning": 650000,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 744,
"output_link_map": [
[0, 4],
[200, 5]
]
}],
"vlbi": {}
},
"pst": {
"scan": {
"activation_time": "2022-01-19T23:07:45Z",
"bits_per_sample": 32,
"num_of_polarizations": 2,
"udp_nsamp": 4,
"wt_nsamp": 4,
"udp_nchan": 185,
"num_frequency_channels": 13021,
"centre_frequency": 700000000.0,
"total_bandwidth": 700000000.0,
"observation_mode": "FLOW_THROUGH",
"observer_id": "jdoe",
"project_id": "project1",
"pointing_id": "pointing1",
"source": "J1921+2153",
"itrf": [5109360.133, 2006852.586, -3238948.127],
"receiver_id": "receiver3",
"feed_polarization": "CIRC",
"feed_handedness": 1,
"feed_angle": 1.234,
"feed_tracking_mode": "FA",
"feed_position_angle": 10.0,
"oversampling_ratio": [8, 7],
"coordinates": {
"equinox": 2000.0,
"ra": "19:21:44.815",
"dec": "21:53:02.400"
},
"max_scan_length": 20000.0,
"subint_duration": 30.0,
"receptors": ["SKA001", "SKA036"],
"receptor_weights": [0.4, 0.6],
"num_rfi_frequency_masks": 0,
"rfi_frequency_masks": [],
"destination_address": ["192.168.178.26", 9021],
"num_channelization_stages": 2,
"channelization_stages": [{
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 4,
"oversampling_ratio": [10, 9]
}, {
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 4096,
"oversampling_ratio": [8, 7]
}],
"ft": {
"num_bits_out": 32,
"num_channels": 1,
"channels": [1],
"requantisation_scale": 1.0,
"requantisation_length": 1.0
}
}
}
}
Example (CSP configuration for PST voltage recording scan)
{
"interface": "https://schema.skao.int/ska-csp-configure/2.3",
"subarray": {
"subarray_name": "science period 23"
},
"common": {
"config_id": "sbi-mvp01-20200325-00001-science_A",
"frequency_band": "1",
"subarray_id": 1
},
"cbf": {
"fsp": [{
"fsp_id": 1,
"function_mode": "CORR",
"frequency_slice_id": 1,
"integration_factor": 1,
"zoom_factor": 0,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 0,
"output_link_map": [
[0, 0],
[200, 1]
]
}, {
"fsp_id": 2,
"function_mode": "CORR",
"frequency_slice_id": 2,
"integration_factor": 1,
"zoom_factor": 1,
"zoom_window_tuning": 650000,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 744,
"output_link_map": [
[0, 4],
[200, 5]
]
}],
"vlbi": {}
},
"pst": {
"scan": {
"activation_time": "2022-01-19T23:07:45Z",
"bits_per_sample": 32,
"num_of_polarizations": 2,
"udp_nsamp": 4,
"wt_nsamp": 4,
"udp_nchan": 185,
"num_frequency_channels": 13021,
"centre_frequency": 700000000.0,
"total_bandwidth": 700000000.0,
"observation_mode": "VOLTAGE_RECORDER",
"observer_id": "jdoe",
"project_id": "project1",
"pointing_id": "pointing1",
"source": "J1921+2153",
"itrf": [5109360.133, 2006852.586, -3238948.127],
"receiver_id": "receiver3",
"feed_polarization": "LIN",
"feed_handedness": 1,
"feed_angle": 1.234,
"feed_tracking_mode": "FA",
"feed_position_angle": 10.0,
"oversampling_ratio": [8, 7],
"coordinates": {
"equinox": 2000.0,
"ra": "19:21:44.815",
"dec": "21:53:02.400"
},
"max_scan_length": 20000.0,
"subint_duration": 30.0,
"receptors": ["SKA001", "SKA036"],
"receptor_weights": [0.4, 0.6],
"num_channelization_stages": 2,
"channelization_stages": [{
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 4,
"oversampling_ratio": [10, 9]
}, {
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 4096,
"oversampling_ratio": [8, 7]
}]
}
}
}
type |
object |
||
properties |
|||
|
type |
string |
|
|
subarray section, containing the parameters relevant only for the current sub-array device. This section is not forwarded to any subelement. |
||
type |
object |
||
default |
null |
||
properties |
|||
|
Name and scope of current subarray the sub-array. |
||
type |
string |
||
additionalProperties |
False |
||
|
Common section, containing the parameters and the sections belonging to all CSP subsystems. This section is forwarded to all sub-elements. |
||
|
Correlator and Beamformer specific parameters. This section contains the parameters relevant only for CBF sub-element. This section is forwarded only to CBF subelement. Most of it to be borrowed from IICD |
||
|
default |
null |
|
|
Pulsar Timing specific parameters. To be borrowed from IICD |
||
type |
object |
||
default |
null |
||
properties |
|||
|
Pulsar Timing specific scan configuration parameters. |
||
default |
null |
||
|
Pulsar Timing specific beam configuration parameters. As of version 2.3 this schema has no elements and is deprecated |
||
default |
null |
||
additionalProperties |
False |
||
additionalProperties |
False |
Common configuration schema 2.3
Common section, containing the parameters and the sections belonging to all CSP subsystems. This section is forwarded to all sub-elements.
type |
object |
||
properties |
|||
|
type |
string |
|
default |
null |
||
|
Subarray number |
||
type |
integer |
||
|
Execution block ID to associate scan configs to an observation. This ID is used for associating generated data, especially data products, for a given observation. Multiple scans can be linked to one observation and this ID is used as metadata to associate the data products from all scans of the same observation. This ID does not have to be unique for a scan configuration but should be unique for different observations. For example, all the data and weights files will have an EB_ID header value populated with the value supplied in this field. |
||
type |
string |
||
pattern |
^eb\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
||
default |
null |
||
|
Center frequency for the Band-of-Interest. Required if Band is 5a or 5b; not specified for other Bands (not configurable for Band 1, 2, 3 and 4). Input for Band 5a and 5b consists of two 2.5 GHz streams; the center frequency can be independently tuned for each stream. The following nomenclature is used to refer to Band 5a and 5b streams: 5a1, 5a2, 5b1, 5b2. |
||
type |
array |
||
default |
null |
||
items |
type |
number |
|
|
Frequency band applies for all the receptors (VCCs) that belong to the sub-array. |
||
type |
string |
||
pattern |
^(1|2|3|4|5(a|b))$ |
||
additionalProperties |
False |
CBF config 2.3
Correlator and Beamformer specific parameters. This section contains the parameters relevant only for CBF sub-element. This section is forwarded only to CBF subelement. Most of it to be borrowed from IICD
type |
object |
|
properties |
||
|
Optionally, an offset can be specified so that the entire observed band is shifted (to accommodate a Zoom Window that crosses a ‘natural’ Frequency Slice boundary). If specified, applies for all the receptors in the sub-array. Bands 1, 2, 3 and 4: input from the receptor consists of a single data stream; the Frequency Band Offset (FBO) should be specified for Stream 1 only. Bands 5a and 5b: input from the receptor consists of two data streams; the FBO can be specified for each stream independently. Note: For Band 5a and 5b the frequency shift is performed by the receptor (DISH). Note: This is optional and does not need to be implemented in PI3, but would be great for demo; if Team Buttons is looking for opportunities to showcase interesting GUIs, Zoom Windows are perfect opportunity (would require TMC and CSP to support these two parameters, corrBandwidth values > 0 and zoom window tuning.) |
|
type |
integer |
|
default |
null |
|
|
See frequencyBandOffsetStream1 |
|
type |
integer |
|
default |
null |
|
|
FQDN of TMC.DelayModel TANGO attribute which exposes delay values for all the dishes assigned to a Subarray in JSON format. Delay values are updated every 10 seconds. |
|
type |
string |
|
default |
null |
|
|
The same model applies for all receptors that belong to the subarray. Delivered by TMC using publish-subscribe mechanism (see ICD Section 3.8.8.5.3). The Doppler phase correction, by default, applies only to the CSP_Mid Processing Mode Correlation; optionally may apply to other Processing Modes as well. |
|
type |
string |
|
default |
null |
|
|
Specified as needed in advance of the scan start and/or during the scan. Delivered using publish-subscribe mechanism (see ICD Section 3.8.8.5.7). |
|
type |
object |
|
default |
null |
|
properties |
||
additionalProperties |
True |
|
|
type |
array |
items |
||
|
Very Long Baseline Interferometry specific parameters. To be borrowed from IICD This section contains the parameters relevant only for VLBI. This section is forwarded only to CSP subelement. |
|
default |
null |
|
|
type |
array |
default |
null |
|
items |
Up to two 300 MHz Search Windows can be optionally configured and used as input for Transient Data Capture and/or Pulsar Search beam-forming. |
|
additionalProperties |
False |
FSP config 2.3
type |
object |
||||
properties |
|||||
|
type |
integer |
|||
|
allOf |
type |
string |
||
enum |
CORR, PSS-BF, PST-BF, VLBI |
||||
|
Optionally a subset of receptors to be correlated can be specified. If not specified, all receptors that belong to the subarray are cross-correlated (i.e. visibilities for all the baselines in the subarray are generated and transmitted to SDP). Valid receptor IDs include: SKA dishes: “SKAnnn”, where nnn is a zero padded integer in the range of 001 to 133. MeerKAT dishes: “MKTnnn”, where nnn is a zero padded integer in the range of 000 to 063. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
string |
|||
pattern |
|
||||
|
Frequency Slice to be processed on this FSP (valid range depends on the Frequency Band). |
||||
type |
integer |
||||
|
Bandwidth to be correlated calculated as FSBW/2n, where n is in range [0..6]. When n=0 the full Frequency Slice bandwidth is correlated. BW > 0 implies ‘Zoom Window’ configuration; the spectral Zoom Window tuning must be specified. |
||||
type |
integer |
||||
|
The Zoom Window tuning provided in absolute terms as RF center frequency. Based on that, CSP_Mid calculates tuning within the data stream received from the receptor. Must be selected so that the entire Zoom Window is within the Frequency Slice. If partially out of the FS a warning is generated. If completely outside of the FS an exception is generated. Step size <= 0.01MHz. The Frequency Band Offset can be used to shift the entire observed band in order to accommodate a Zoom Window that spans across a Frequency Slice boundary. |
||||
type |
integer |
||||
default |
null |
||||
|
Integration time for the correlation products, defines multiple of 140 milliseconds. |
||||
type |
integer |
||||
|
Table of up to 20 x 2 integers. Each of entries contains:
Explanation: Each FSP produces 14880 (TBC) fine channels across the correlated bandwidth (Frequency Slice or Zoom Window). Channels are evenly spaced in frequency. TM shall provide the table that for each FSP and each group of 744 channels (there are 20 groups per FSP) indicates the channel averaging factor. More precisely, for each group the TMC provided table specifies:
If no entry is present for an FSP, the averaging settings of the previous FSP are still applicable. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
type |
integer |
|||
|
Channel ID to use for visibilities of the first channel produced by this FSP. For example, if the channel offset is 5000 the first channel group would span IDs 5000-5743. Note that this offset does not apply to channel maps in this structure (such as channelAveragingMap or outputHost). |
||||
type |
integer |
||||
default |
null |
||||
|
Output links to emit visibilities on for every channel, given as a list of start channel ID to link ID. Where no value is given for concrete channel, the previous value should be used. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
anyOf |
type |
integer |
||
type |
string |
||||
|
Output host to send visibilities to for every channel, given as a list of start channel ID to host IP addresses in dot-decimal notation. Where no value is given for a concrete channel, the previous value should be used. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
anyOf |
type |
integer |
||
type |
string |
||||
|
Output port to send visibilities to for every channel, given as a list of start channel ID to port number. Where no value is given for a concrete channel, the previous value should be used. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
type |
integer |
|||
|
Output MAC address to send visibilities to for every channel, given as a list of start channel ID to IEEE 802 MAC addresses. Where no value is given for a concrete channel, the previous value should be used. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
anyOf |
type |
integer |
||
type |
string |
||||
additionalProperties |
False |
VLBI config 2.3
Very Long Baseline Interferometry specific parameters. To be borrowed from IICD This section contains the parameters relevant only for VLBI. This section is forwarded only to CSP subelement.
type |
object |
|
properties |
||
|
type |
string |
additionalProperties |
False |
Search window config 2.3
Up to two 300 MHz Search Windows can be optionally configured and used as input for Transient Data Capture and/or Pulsar Search beam-forming.
type |
object |
|||
properties |
||||
|
Identifier of the 300MHz Search Window. Unique within a sub-array. |
|||
type |
integer |
|||
|
The Search Window tuning is provided in absolute terms as RF center frequency. The Search Window must be placed within the observed band. If partially out of the observed Band a warning is generated. If completely outside of the observed Band an exception is generated. |
|||
type |
integer |
|||
|
Enable / disable Transient Data Capturefor the Search Window. |
|||
type |
boolean |
|||
|
Number of bits per sample (for the Transient Data Capture). Required if TDC is enabled, otherwise not specified. |
|||
type |
integer |
|||
default |
null |
|||
|
Users can trade the period of time for which data are saved and transmitted for the sample bit-width and/or the number of Search Windows. The exact information regarding the memory capacity per receptor and supported range will be provided in construction. The epoch is specified in the command that triggers TDC off-loading (transmission of data). |
|||
type |
integer |
|||
default |
null |
|||
|
see tdcPeriodBeforeEpoch |
|||
type |
integer |
|||
default |
null |
|||
|
Destination addresses (MAC, IP, port) for off-loading of the content of the Transient Data Capture Buffer, specified per receptor. The destination addresses for the content of the Transient Data Capture can be provided either as a part of the scan configuration or by the command that triggers transmission of the captured data. The latter, if provided, overrides previously set addresses. Required if TDC is enabled, otherwise not specified. |
|||
type |
array |
|||
default |
null |
|||
items |
anyOf |
type |
integer |
|
type |
string |
|||
additionalProperties |
False |
PSS configuration 2.3
type |
object |
||
properties |
|||
|
Beam bandwidth (MHz) |
||
type |
integer |
||
|
Number of channels per beam |
||
type |
integer |
||
|
Processing Mode: Acceleration Search (a.k.a. Pulsar Search) and Single Pulse Search (a.k.a. Transient Search) can be performed concurrently. |
||
type |
boolean |
||
|
Processing Mode: Acceleration Search (a.k.a. Pulsar Search) and Single Pulse Search (a.k.a. Transient Search) can be performed concurrently. |
||
type |
boolean |
||
|
Scan duration. |
||
type |
integer |
||
|
Range in source acceleration to be searched. |
||
type |
integer |
||
default |
null |
||
|
Number of trials to be performed. |
||
type |
integer |
||
|
Time resolution of input data. |
||
type |
integer |
||
|
Dispersion corretion for acceleration search. |
||
type |
number |
||
|
Dispersion corretion for transient search. |
||
type |
number |
||
|
Number of time samples in each block of data. |
||
type |
integer |
||
|
Number of frequency band groups summed up during folding. |
||
type |
integer |
||
|
Size of the buffer receiving raw data. (2**buffer_size) |
||
type |
integer |
||
|
Number of the “harmonic folds” on the initial Fourier power-spectrum summed up. |
||
type |
integer |
||
|
CXFT control parameters. |
||
type |
object |
||
|
Constraints on matches between candidates. |
||
type |
object |
||
|
Define data sinks and subscriber to be notified. |
||
type |
object |
||
|
Threshold for a single pulse trigger. (Tuned to system noise and RFI env.) |
||
type |
number |
||
|
Single pulse optimization parameters. |
||
type |
object |
||
|
DRED: statistics of spectra to derive the normalization factors. |
||
type |
object |
||
|
CDOS: control parameters and related statistical data. |
||
type |
object |
||
|
RFIM control parameters. |
||
type |
object |
||
|
FLDO control parameters. |
||
type |
object |
||
properties |
|||
|
type |
boolean |
|
|
type |
boolean |
|
|
type |
integer |
|
additionalProperties |
True |
||
|
type |
array |
|
items |
|||
additionalProperties |
False |
PSS beam config 2.3
type |
object |
||
properties |
|||
|
Search Beam ID. |
||
type |
integer |
||
|
Right Ascension of sub-array beam target, in degrees. |
||
type |
number |
||
default |
null |
||
|
Declination of sub-array beam target, in degrees. |
||
type |
number |
||
default |
null |
||
|
reference frame for pointing coordinates |
||
default |
null |
||
allOf |
type |
string |
|
enum |
ICRS, HORIZON |
||
|
Centre frequency of the search beam. |
||
type |
number |
||
|
Beam delay center, relative to the array delay center. |
||
anyOf |
type |
number |
|
type |
string |
||
|
Per beam destination host address for PSS output. |
||
type |
string |
||
default |
null |
||
|
Per beam destination port for PSS output. |
||
type |
integer |
||
default |
null |
||
additionalProperties |
False |
PST scan configuration 2.3
Pulsar Timing specific scan configuration parameters.
type |
object |
|||
properties |
||||
|
Date and time when to start the PST reconfiguration. Units: UTC timestamp Keyword: ACTIVATION_TIME |
|||
type |
string |
|||
|
Identifier assigned by LMC/TM used to identify the beam configuraiton. PST selects which PST server to use for this scan and timing beam, and provides a mapping from the timing beam identifier by the TM to PST capability id. Keyword: BEAM |
|||
type |
string |
|||
default |
null |
|||
|
The number of bits per complex-values time sample in the CBF output data. Valid values are 16, 24, or 32. Keyword: NBIT |
|||
type |
integer |
|||
|
The number of polarizations in the CBF output data. Valid values are 1 or 2. Keyword: NPOL |
|||
type |
integer |
|||
|
The number of time samples for each single polarization and the a single frequency in each UDP packet sent by CBF. Note: this must be an integer multiple of WT_NSMAP Range: 4 (Low), 32 (Mid) Keyword: UDP_NSAMP |
|||
type |
integer |
|||
|
The number of time samples described by as single relative weight. There is a unique relative weight for each frequency channel, and each relative weight describes both polarizations. Range: 4 (Low), 32 (Mid) Keyword: WT_NSAMP |
|||
type |
integer |
|||
|
The number of contiguous frequency channels in each UDP packet sent by CBF. Range: 24 (Low), 185 (Mid) Keyword: UDP_NCHAN |
|||
type |
integer |
|||
|
The total number of frequency channels into which the total critical bandwidth has been divided. This must be an integer multiple of udp_nchan Range: 1 to 82944 Keyword: OBSNCHAN |
|||
type |
integer |
|||
|
Centre frequency of to the total (critical) bandwidth spanned by the frequency channels. Units: Hz Range: 50e6 to 12800e6 Keyword: OBSFREQ |
|||
type |
number |
|||
|
Total (critical) bandwidth spanned by the channels of the observation. Low: 0.00361 to 300 MHz Mid: 0.053.76 to 2500 MHz Units: Hz Range: 3610 to 2.5e9 Keyword: OBSBW |
|||
type |
number |
|||
|
The observation mode used for the scan. The value VOLTAGE_RECORDER is added for AA0.5, while the other values will be needed for in the future for data processing. Keyword: OBSMODE |
|||
allOf |
type |
string |
||
enum |
PULSAR_TIMING, DYNAMIC_SPECTRUM, FLOW_THROUGH, VOLTAGE_RECORDER |
|||
|
The observer in charge of the observations. Keyword: OBSERVER |
|||
type |
string |
|||
|
The project that the observations are for. Keyword: PROJID |
|||
type |
string |
|||
|
The ID for the sub-array pointing. Keyword: PNT_ID |
|||
type |
string |
|||
|
The name of the source. Keyword: SRC_NAME |
|||
type |
string |
|||
|
The International Terrestrial Reference Frame (ITRF) coordinates of the telescope delay centre. Units: metres Keyword: ITRF |
|||
type |
array |
|||
items |
type |
number |
||
|
The receiver name or ID (instrument). Keyword: FRONTEND |
|||
type |
string |
|||
|
The native polarization of feed. Range: LIN or CIRC Keyword: FD_POLN |
|||
allOf |
type |
string |
||
enum |
LIN, CIRC |
|||
|
Code for sense of feed. For value of +1 for XYZ forming RH set with Z in the direction of propagation. Looking up into the feed of a prime-focus receiver or at the sky). For FD_HAND = +1, the rotation from A (or X) to B (or Y) is counter clockwise or in the direction of increasing Feed Angle (FA) or Position Angle (PA). For circular feeds, FD_HAND = +1 for IEEE LCP on the A (or X) probe. Range: -1 or +1 Keyword: FD_HAND |
|||
allOf |
type |
integer |
||
enum |
-1, 1 |
|||
|
Feed angle of the E-vector for an equal in-phase response from the A(X) and B(Y) probes, measured in the direction of increasing feed angle or position angle (clockwise when looking down on a prime focuse receiver). Units: degrees Range: -180 to 180. Keyword: FD_SANG |
|||
type |
number |
|||
|
The tracking mode for the feed:
Range: FA, CPA, SPA, or TPA Keyword: FD_MODE |
|||
allOf |
type |
string |
||
enum |
FA, CPA, SPA, TPA |
|||
|
The requested angle of feed reference. For feed_mode = ‘FA’ this is respect to the telescope’s reference frame (feed_angle = 0), and for feed_mode = ‘CPA’ this is with respect to the celestial north (parallic angle = 0) or with respect to the Galactic north for coordinate_mode = ‘GALACTIC’. Range: -180 to +180. Keyword: FA_REQ |
|||
type |
number |
|||
|
The oversampling ratio expressed as a fraction as an array of int, with the first value the numerator and the second is the denominator. (e.g. 8/7 is assigned as [8,7]). Range: 8/7 or 4/3 Keyword: OVERSAMP |
|||
type |
array |
|||
items |
type |
integer |
||
|
The tied-array beam’s tracking co-ordinates. As of version 2.2 of the schema this only handles equitorial tracking which means uses RA/Dec J2000.0 coords but PST may support different tracking modes and coordinates the future. |
|||
|
The maximum length of the observation. Units: seconds Range: 30 - 43200 Keyword: SCANLEN_MAX |
|||
type |
number |
|||
|
The length of each output sub-integration. Units: seconds Range: 1 - 60 Keyword: OUTSUBINT |
|||
type |
number |
|||
|
An array of receptor IDs for the receptors included in the sub-array. Keyword: ANTENNA |
|||
type |
array |
|||
items |
type |
string |
||
|
Weight for each receptor. Range: 0 - 1.0 Keyword: ANT_WEIGHTS |
|||
type |
array |
|||
items |
type |
number |
||
|
The number of frequency ranges to be masked. Range: 0 - 1024 Keyword: NMASK |
|||
type |
integer |
|||
default |
0 |
|||
|
A two-dimensional array of length of num_frequency_mask of known RFI frequency ranges to excise from the data. The array contains mask pairs of [f_min, f_max] pairs for known frequency ranges containing RFI not excised by the CBF. The overall dimension of this array is num_frequency_mask x 2. Units: Hz Keyword: FREQ_MASK |
|||
type |
array |
|||
default |
null |
|||
items |
type |
array |
||
items |
type |
number |
||
|
The destination address for the PST output data. Includes IPv4 Address, port number. |
|||
type |
array |
|||
default |
null |
|||
items |
anyOf |
type |
string |
|
type |
integer |
|||
|
Identifier for a test vectore that will be present in the tied-array beam data stream beam CBF and PST. Keyword: TEST_VECTOR |
|||
type |
string |
|||
default |
null |
|||
|
Pulsar Timing specific parameters for the ‘PULSAR_TIMING’ mode configuration. |
|||
default |
null |
|||
|
Pulsar Timing specific parameters for the ‘DYNAMIC_SPECTRUM’ mode configuration. |
|||
default |
null |
|||
|
Pulsar Timing specific parameters for the ‘FLOW_THROUGH’ mode configuration. |
|||
default |
null |
|||
|
The number of stages used to channelize the data: e.g. * for Low, there are 2 stages: 1 in LFAA and 1 in CBF * for Mid, there are 2 stages: 1 in FSP and 1 in PST BF. Keyword: NSTAGE |
|||
type |
integer |
|||
|
List of configuration for each channelization stage. |
|||
type |
array |
|||
items |
Pulsar Timing specific parameters for channelization stage configuration. |
|||
additionalProperties |
False |
PST RA_Dec coordinates 2.3
Pulsar Timing specific parameters for RA/Dec tracking coordinates.
type |
object |
|
properties |
||
|
The coordinate epoch. This can be in Julian date or Modified Julian Date. Units: years Range: >= 2000 Keyword: EQUINOX |
|
type |
number |
|
default |
2000.0 |
|
|
The Right Accession (RA) of the coordinates used for tracking. Valid formats is ‘hh:mm:ss.sss’ or ‘ddd.ddd’ Keyword: STT_CTD1 |
|
type |
string |
|
|
The declination (Dec) of the coordinates used for tracking. Valid formats is ‘hh:mm:ss.sss’ or ‘ddd.ddd’ Keyword: STT_CTD2 |
|
type |
string |
|
additionalProperties |
False |
PST ‘PULSAR_TIMING’ mode configuration 2.3
Pulsar Timing specific parameters for the ‘PULSAR_TIMING’ mode configuration.
type |
object |
|
properties |
||
|
The dispersion measure for coherent/inchoerent de-dispersion. Units: pccm^-3 Range: 0 - 100000 Keyword: DM |
|
type |
number |
|
|
The rotation measure for phase-coherent Faraday rotation correction. Units: radians per metre squared Keyword: RM |
|
type |
number |
|
default |
null |
|
|
The ephemeris of the pulsar being observed. Units: PSRCAT compatible ASCII string Keyword: EPHEMERIS |
|
type |
string |
|
|
Pulsar phase predictor generated from ephemeris. Units: TEMPO2 compatible ASCII string Keyword: PREDICTOR |
|
type |
string |
|
|
The number of output frequency channels. This must be between 1 and the number of observation channels. Keyword: OUTNCHAN |
|
type |
integer |
|
|
The number of output phase bins. Range: 64 - 2048 Keyword: OUTNBIN |
|
type |
integer |
|
|
The number of spectral kurtosis (SK) configurations to apply. Keyword: N_SK |
|
type |
integer |
|
|
List of spectral kurtosis configurations. |
|
type |
array |
|
items |
Pulsar Timing specific parameters for the spectral kurtosis (SK) for the ‘PULSAR_TIMING’ mode. |
|
|
The signal-to-noise ratio (SNR) of the on-pulse flux for the scan. May be used to prematurely end a scan when the integrated SNR reaches the target. A value of 0 indicates there is no limit. Keyword: TARGET_SNR |
|
type |
number |
|
additionalProperties |
False |
PST spectral kurtosis configuration 2.3
Pulsar Timing specific parameters for the spectral kurtosis (SK) for the ‘PULSAR_TIMING’ mode.
type |
object |
||
properties |
|||
|
Frequency ranges for each spectral kurtosis (SK) configuration. Units: Hz Keyword: SK_RNG |
||
type |
array |
||
items |
type |
number |
|
|
The number of input time samples integrated into each spectral kurtosis (SK) statistic. Range: 64 - 1024 Keyword: SK_INTS |
||
type |
integer |
||
|
Spectral kurtosis excision limits (RFI threshold) in units of standard deviations. Range: 1 - 100 Keyword: SK_EXIS |
||
type |
number |
||
additionalProperties |
False |
PST ‘DYNAMIC_SPECTRUM’ mode configuration 2.3
Pulsar Timing specific parameters for the ‘DYNAMIC_SPECTRUM’ mode configuration.
type |
object |
||
properties |
|||
|
The dispersion measture for coherent/inchoerent de-dispersion. This is only required for pulsar timing and dynamic spectrum modes. Range: [0, 100000] Keyword: DM |
||
type |
number |
||
|
The rotation measure for phase-coherent Faraday rotation correction. Units: radians per metre squared Keyword: RM |
||
type |
number |
||
default |
null |
||
|
The number of output frequency channels. This must be between 1 and the number of observation channels. Keyword: OUTNCHAN |
||
type |
integer |
||
|
The Stokes parameters to output when in Dynamic spectrum mode. Range: string with a combination of I, Q, U, and V. Keyword: STOKES_FB |
||
type |
string |
||
|
The number of bits per output sample. Range: 1, 2, 4, 8, 16 or 32 Keyword: NBIT_OUT |
||
allOf |
type |
integer |
|
enum |
1, 2, 4, 8, 16, 32 |
||
|
The number of input samples per output time sample when in Dynamic Spectrum mode. Keyword: TDEC_FB |
||
type |
integer |
||
|
The number of input frequency channels incoherently added to each output frequency channel in Dynamic Spectrum. This is required in addition to output_frequency_channels because some frequency channels may be merged coherently to increase temporal resolution. Keyword: FDEC_FB |
||
type |
integer |
||
|
The number of spectral kurtosis (SK) configurations to apply. Keyword: N_SK |
||
type |
integer |
||
default |
null |
||
|
List of spectral kurtosis configurations. |
||
type |
array |
||
default |
null |
||
items |
Pulsar Timing specific parameters for the spectral kurtosis (SK) for the ‘PULSAR_TIMING’ mode. |
||
|
Scale factor to govern the dynamic range for fixed precision output to be applied during re-quantisation. Keyword: DIGITIZER_SCALE |
||
type |
number |
||
|
Length of data to be used when determining the scaling factors used for fixed precision output during re-quantisation. Units: seconds Keyword: DIGITIZER_LENGTH |
||
type |
number |
||
additionalProperties |
False |
PST ‘FLOW_THROUGH’ mode configuration 2.3
Pulsar Timing specific parameters for the ‘FLOW_THROUGH’ mode configuration.
type |
object |
||
properties |
|||
|
The number of bits per output sample. Range: 1, 2, 4, 8, 16 or 32 Keyword: NBIT_OUT |
||
allOf |
type |
integer |
|
enum |
1, 2, 4, 8, 16, 32 |
||
|
The indices of the first and last (inclusive) frequency channels that define the single contiguous range of frequency channels to be recorded. Keyword: CHAN_FT |
||
type |
array |
||
items |
type |
integer |
|
|
Scale factor applied during re-quantisation that modifies the dynamic range of the fixed precision output. By default, for 2, 4, and 8 bits per sample, data will be scaled to minimize scattered power by adopting the Optimum Input Threshold Spacing for a Uniform Digitizer defined in Table 3 of Jenet & Anderson (1998; PASP 110:1467). For 16 and 32 bits per sample, by default the data will be scaled such that the maximum fixed precision output value (2^{num_bits_out-1}) corresponds to 6 times the standard deviation. For all num_bits_out, the standard deviation is that of either the real or imaginary part of each complex-valued sample. The default scale factor is computed such that, after multiplication by this scale factor, the data would satisfy the conditions described above. This default scale factor is multiplied by requantisation_scale. Therefore, a requantisation_scale value greater than 1 increases the value of the floating point data before it is cast to a fixed precision value, thereby reducing the overhead available to represent RFI and increasing the probability of clipping. Keyword: DIGITIZER_SCALE |
||
type |
number |
||
|
The number of input channels to be recorded. This value must be less than or equal to the output_frequency_channels. Keyword: NCHAN_FT |
||
type |
integer |
||
|
Length of data to be used when determining the scaling factors used for fixed precision output during re-quantisation. Units: seconds Keyword: DIGITIZER_LENGTH |
||
type |
number |
||
additionalProperties |
False |
PST channelization stage configuration 2.3
Pulsar Timing specific parameters for channelization stage configuration.
type |
object |
||
properties |
|||
|
Total number of taps in the prototype filter (i.e. over all arms) used in the stage. Keyword: NSTAP_k |
||
type |
integer |
||
|
An array of filter coefficients that define the (time domain) response function of the prototype filter used in the stage. Length of this is num_filter_taps. Keyword: COEFF_k |
||
type |
array |
||
items |
type |
number |
|
|
The number of frequency channels output by each polyphase filter bank (PFB) for this stage. Keyword: NCHAN_PFB_k |
||
type |
integer |
||
|
The oversampling ratio expressed as a fraction as an array of int, with the first value the numerator and the second is the denominator. (e.g. 8/7 is assigned as [8,7]). Keyword: OVERSAMP_k |
||
type |
array |
||
items |
type |
integer |
|
additionalProperties |
False |
PST beam configuration 2.3
Pulsar Timing specific beam configuration parameters.
As of version 2.3 this schema has no elements and is deprecated
type |
object |
properties |
|
additionalProperties |
False |
CSP config 2.2
Example (TMC input for science_a visibility scan)
{
"interface": "https://schema.skao.int/ska-csp-configure/2.0",
"subarray": {
"subarray_name": "science period 23"
},
"common": {
"config_id": "sbi-mvp01-20200325-00001-science_A",
"frequency_band": "1",
"subarray_id": 1
},
"cbf": {
"fsp": [{
"fsp_id": 1,
"function_mode": "CORR",
"frequency_slice_id": 1,
"integration_factor": 1,
"zoom_factor": 0,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 0,
"output_link_map": [
[0, 0],
[200, 1]
]
}, {
"fsp_id": 2,
"function_mode": "CORR",
"frequency_slice_id": 2,
"integration_factor": 1,
"zoom_factor": 1,
"zoom_window_tuning": 650000,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 744,
"output_link_map": [
[0, 4],
[200, 5]
]
}],
"vlbi": {}
},
"pst": {}
}
Example (CSP configuration for science_a visibility scan)
{
"interface": "https://schema.skao.int/ska-csp-configure/2.0",
"subarray": {
"subarray_name": "science period 23"
},
"common": {
"config_id": "sbi-mvp01-20200325-00001-science_A",
"frequency_band": "1",
"subarray_id": 1
},
"cbf": {
"fsp": [{
"fsp_id": 1,
"function_mode": "CORR",
"frequency_slice_id": 1,
"integration_factor": 1,
"zoom_factor": 0,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 0,
"output_link_map": [
[0, 0],
[200, 1]
],
"output_host": [
[0, "192.168.0.1"],
[400, "192.168.0.2"]
],
"output_mac": [
[0, "06-00-00-00-00-00"]
],
"output_port": [
[0, 9000, 1],
[400, 9000, 1]
]
}, {
"fsp_id": 2,
"function_mode": "CORR",
"frequency_slice_id": 2,
"integration_factor": 1,
"zoom_factor": 1,
"zoom_window_tuning": 650000,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 744,
"output_link_map": [
[0, 4],
[200, 5]
],
"output_host": [
[0, "192.168.0.3"],
[400, "192.168.0.4"]
],
"output_mac": [
[0, "06-00-00-00-00-01"]
],
"output_port": [
[0, 9000, 1],
[400, 9000, 1]
]
}],
"vlbi": {}
},
"pst": {}
}
Example (CSP configuration for cal_a visibility scan)
{
"interface": "https://schema.skao.int/ska-csp-configure/2.0",
"subarray": {
"subarray_name": "science period 23"
},
"common": {
"config_id": "sbi-mvp01-20200325-00001-science_A",
"frequency_band": "1",
"subarray_id": 1
},
"cbf": {
"fsp": [{
"fsp_id": 1,
"function_mode": "CORR",
"frequency_slice_id": 1,
"integration_factor": 1,
"zoom_factor": 0,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 0,
"output_link_map": [
[0, 0],
[200, 1]
],
"output_host": [
[0, "192.168.1.1"]
],
"output_port": [
[0, 9000, 1]
]
}, {
"fsp_id": 2,
"function_mode": "CORR",
"frequency_slice_id": 2,
"integration_factor": 1,
"zoom_factor": 1,
"zoom_window_tuning": 650000,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 744,
"output_link_map": [
[0, 4],
[200, 5]
],
"output_host": [
[0, "192.168.1.1"]
],
"output_port": [
[0, 9744, 1]
]
}],
"vlbi": {}
},
"pst": {}
}
Example (CSP configuration for PSS scan)
{
"interface": "https://schema.skao.int/ska-csp-configure/2.1",
"subarray": {
"subarray_name": "science period 23"
},
"common": {
"config_id": "sbi-mvp01-20200325-00001-science_A",
"frequency_band": "1",
"subarray_id": 1
},
"cbf": {
"fsp": [{
"fsp_id": 1,
"function_mode": "PSS-BF",
"frequency_slice_id": 1,
"integration_factor": 1,
"zoom_factor": 0
}, {
"fsp_id": 2,
"function_mode": "CORR",
"frequency_slice_id": 1,
"integration_factor": 1,
"zoom_factor": 0
}],
"search_window": [{
"search_window_id": 0,
"search_window_tuning": 1000,
"tdc_enable": true
}]
},
"pss": {
"beam_bandwidth": 300,
"channels_per_beam": 4096,
"acceleration_search": false,
"single_pulse_search": true,
"integration_time": 600,
"acc_range": 0,
"number_of_trials": 0,
"time_resolution": 4,
"ps_dm": 1000.0,
"sps_dm": 1000.0,
"timesample_per_block": 28125000,
"sub_bands": 64,
"buffer_size": 18,
"hsum_control": 16,
"cxft_control": {},
"cand_sift": {},
"cand_output": {},
"sp_threshold": 10.0,
"sp_opt_pars": {},
"dred_beam_stats": {},
"cdos_control": {},
"fldo_control": {
"phase_split": true,
"channel_scale": true,
"max_phases": 16
},
"rfim_control": {},
"beam": [{
"beam_id": 1,
"reference_frame": "ICRS",
"ra": 82.75,
"dec": 21.0,
"centre_frequency": 1400.0,
"beam_delay_centre": 0.0,
"dest_host": "192.168.178.25",
"dest_port": 9021
}, {
"beam_id": 2,
"reference_frame": "ICRS",
"ra": 84.25,
"dec": 21.5,
"centre_frequency": 1400.0,
"beam_delay_centre": 0.0,
"dest_host": "192.168.178.26",
"dest_port": 9021
}]
}
}
Example (CSP configuration for PST beam configuration)
{
"interface": "https://schema.skao.int/ska-csp-configure/2.2",
"subarray": {
"subarray_name": "science period 23"
},
"common": {
"config_id": "sbi-mvp01-20200325-00001-science_A",
"frequency_band": "1",
"subarray_id": 1
},
"cbf": {
"fsp": [{
"fsp_id": 1,
"function_mode": "CORR",
"frequency_slice_id": 1,
"integration_factor": 1,
"zoom_factor": 0,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 0,
"output_link_map": [
[0, 0],
[200, 1]
]
}, {
"fsp_id": 2,
"function_mode": "CORR",
"frequency_slice_id": 2,
"integration_factor": 1,
"zoom_factor": 1,
"zoom_window_tuning": 650000,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 744,
"output_link_map": [
[0, 4],
[200, 5]
]
}],
"vlbi": {}
},
"pst": {
"beam": {
"activation_time": "2022-01-19T23:07:45Z",
"num_channelization_stages": 2,
"channelization_stages": [{
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 4,
"oversampling_ratio": [10, 9]
}, {
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 4096,
"oversampling_ratio": [8, 7]
}]
}
}
}
Example (CSP configuration for PST pulsar timing scan)
{
"interface": "https://schema.skao.int/ska-csp-configure/2.2",
"subarray": {
"subarray_name": "science period 23"
},
"common": {
"config_id": "sbi-mvp01-20200325-00001-science_A",
"frequency_band": "1",
"subarray_id": 1
},
"cbf": {
"fsp": [{
"fsp_id": 1,
"function_mode": "CORR",
"frequency_slice_id": 1,
"integration_factor": 1,
"zoom_factor": 0,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 0,
"output_link_map": [
[0, 0],
[200, 1]
]
}, {
"fsp_id": 2,
"function_mode": "CORR",
"frequency_slice_id": 2,
"integration_factor": 1,
"zoom_factor": 1,
"zoom_window_tuning": 650000,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 744,
"output_link_map": [
[0, 4],
[200, 5]
]
}],
"vlbi": {}
},
"pst": {
"scan": {
"activation_time": "2022-01-19T23:07:45Z",
"timing_beam_id": "beam1",
"capability": "capability1",
"scan_id": 1,
"bits_per_sample": 32,
"num_of_polarizations": 2,
"udp_nsamp": 4,
"wt_nsamp": 4,
"udp_nchan": 185,
"num_frequency_channels": 13021,
"centre_frequency": 700000000.0,
"total_bandwidth": 700000000.0,
"observation_mode": "PULSAR_TIMING",
"observer_id": "jdoe",
"project_id": "project1",
"pointing_id": "pointing1",
"subarray_id": "subarray42",
"source": "J1921+2153",
"itrf": [5109360.133, 2006852.586, -3238948.127],
"receiver_id": "receiver3",
"feed_polarization": "CIRC",
"feed_handedness": 1,
"feed_angle": 1.234,
"feed_tracking_mode": "FA",
"feed_position_angle": 10.0,
"oversampling_ratio": [8, 7],
"coordinates": {
"equinox": 2000.0,
"ra": "19:21:44.815",
"dec": "21:53:02.400"
},
"max_scan_length": 10000.5,
"subint_duration": 30.0,
"receptors": ["SKA001", "SKA036"],
"receptor_weights": [0.4, 0.6],
"num_rfi_frequency_masks": 0,
"rfi_frequency_masks": [],
"destination_address": ["192.168.178.26", 9021],
"pt": {
"dispersion_measure": 100.0,
"rotation_measure": 0.0,
"ephemeris": "",
"pulsar_phase_predictor": "",
"output_frequency_channels": 1,
"output_phase_bins": 64,
"num_sk_config": 1,
"sk_config": [{
"sk_range": [0.8, 0.9],
"sk_integration_limit": 100,
"sk_excision_limit": 25.0
}],
"target_snr": 0.0
}
}
}
}
Example (CSP configuration for PST dynamic spectrum scan)
{
"interface": "https://schema.skao.int/ska-csp-configure/2.2",
"subarray": {
"subarray_name": "science period 23"
},
"common": {
"config_id": "sbi-mvp01-20200325-00001-science_A",
"frequency_band": "1",
"subarray_id": 1
},
"cbf": {
"fsp": [{
"fsp_id": 1,
"function_mode": "CORR",
"frequency_slice_id": 1,
"integration_factor": 1,
"zoom_factor": 0,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 0,
"output_link_map": [
[0, 0],
[200, 1]
]
}, {
"fsp_id": 2,
"function_mode": "CORR",
"frequency_slice_id": 2,
"integration_factor": 1,
"zoom_factor": 1,
"zoom_window_tuning": 650000,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 744,
"output_link_map": [
[0, 4],
[200, 5]
]
}],
"vlbi": {}
},
"pst": {
"scan": {
"activation_time": "2022-01-19T23:07:45Z",
"timing_beam_id": "beam1",
"capability": "capability1",
"scan_id": 1,
"bits_per_sample": 32,
"num_of_polarizations": 2,
"udp_nsamp": 4,
"wt_nsamp": 4,
"udp_nchan": 185,
"num_frequency_channels": 13021,
"centre_frequency": 700000000.0,
"total_bandwidth": 700000000.0,
"observation_mode": "DYNAMIC_SPECTRUM",
"observer_id": "jdoe",
"project_id": "project1",
"pointing_id": "pointing1",
"subarray_id": "subarray42",
"source": "J1921+2153",
"itrf": [5109360.133, 2006852.586, -3238948.127],
"receiver_id": "receiver3",
"feed_polarization": "CIRC",
"feed_handedness": 1,
"feed_angle": 1.234,
"feed_tracking_mode": "FA",
"feed_position_angle": 10.0,
"oversampling_ratio": [8, 7],
"coordinates": {
"equinox": 2000.0,
"ra": "19:21:44.815",
"dec": "21:53:02.400"
},
"max_scan_length": 13000.2,
"subint_duration": 30.0,
"receptors": ["SKA001", "SKA036"],
"receptor_weights": [0.4, 0.6],
"num_rfi_frequency_masks": 0,
"rfi_frequency_masks": [],
"destination_address": ["192.168.178.26", 9021],
"ds": {
"dispersion_measure": 100.0,
"output_frequency_channels": 1,
"stokes_parameters": "Q",
"num_bits_out": 16,
"time_decimation_factor": 10,
"frequency_decimation_factor": 4,
"requantisation_scale": 1.0,
"requantisation_length": 1.0
}
}
}
}
Example (CSP configuration for PST flow through scan)
{
"interface": "https://schema.skao.int/ska-csp-configure/2.2",
"subarray": {
"subarray_name": "science period 23"
},
"common": {
"config_id": "sbi-mvp01-20200325-00001-science_A",
"frequency_band": "1",
"subarray_id": 1
},
"cbf": {
"fsp": [{
"fsp_id": 1,
"function_mode": "CORR",
"frequency_slice_id": 1,
"integration_factor": 1,
"zoom_factor": 0,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 0,
"output_link_map": [
[0, 0],
[200, 1]
]
}, {
"fsp_id": 2,
"function_mode": "CORR",
"frequency_slice_id": 2,
"integration_factor": 1,
"zoom_factor": 1,
"zoom_window_tuning": 650000,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 744,
"output_link_map": [
[0, 4],
[200, 5]
]
}],
"vlbi": {}
},
"pst": {
"scan": {
"activation_time": "2022-01-19T23:07:45Z",
"timing_beam_id": "beam1",
"capability": "capability1",
"scan_id": 1,
"bits_per_sample": 32,
"num_of_polarizations": 2,
"udp_nsamp": 4,
"wt_nsamp": 4,
"udp_nchan": 185,
"num_frequency_channels": 13021,
"centre_frequency": 700000000.0,
"total_bandwidth": 700000000.0,
"observation_mode": "FLOW_THROUGH",
"observer_id": "jdoe",
"project_id": "project1",
"pointing_id": "pointing1",
"subarray_id": "subarray42",
"source": "J1921+2153",
"itrf": [5109360.133, 2006852.586, -3238948.127],
"receiver_id": "receiver3",
"feed_polarization": "CIRC",
"feed_handedness": 1,
"feed_angle": 1.234,
"feed_tracking_mode": "FA",
"feed_position_angle": 10.0,
"oversampling_ratio": [8, 7],
"coordinates": {
"equinox": 2000.0,
"ra": "19:21:44.815",
"dec": "21:53:02.400"
},
"max_scan_length": 20000.0,
"subint_duration": 30.0,
"receptors": ["SKA001", "SKA036"],
"receptor_weights": [0.4, 0.6],
"num_rfi_frequency_masks": 0,
"rfi_frequency_masks": [],
"destination_address": ["192.168.178.26", 9021],
"ft": {
"num_bits_out": 32,
"num_channels": 1,
"channels": [1],
"requantisation_scale": 1.0,
"requantisation_length": 1.0
}
}
}
}
type |
object |
||
properties |
|||
|
type |
string |
|
|
subarray section, containing the parameters relevant only for the current sub-array device. This section is not forwarded to any subelement. |
||
type |
object |
||
default |
null |
||
properties |
|||
|
Name and scope of current subarray the sub-array. |
||
type |
string |
||
additionalProperties |
False |
||
|
Common section, containing the parameters and the sections belonging to all CSP subsystems. This section is forwarded to all sub-elements. |
||
|
Correlator and Beamformer specific parameters. This section contains the parameters relevant only for CBF sub-element. This section is forwarded only to CBF subelement. Most of it to be borrowed from IICD |
||
|
default |
null |
|
|
Pulsar Timing specific parameters. To be borrowed from IICD |
||
type |
object |
||
default |
null |
||
properties |
|||
|
Pulsar Timing specific scan configuration parameters. |
||
default |
null |
||
|
Pulsar Timing specific beam configuration parameters. As of version 2.3 this schema has no elements and is deprecated |
||
default |
null |
||
additionalProperties |
False |
||
additionalProperties |
False |
Common configuration schema 2.2
Common section, containing the parameters and the sections belonging to all CSP subsystems. This section is forwarded to all sub-elements.
type |
object |
||
properties |
|||
|
type |
string |
|
default |
null |
||
|
Subarray number |
||
type |
integer |
||
|
Execution block ID to associate scan configs to an observation. This ID is used for associating generated data, especially data products, for a given observation. Multiple scans can be linked to one observation and this ID is used as metadata to associate the data products from all scans of the same observation. This ID does not have to be unique for a scan configuration but should be unique for different observations. For example, all the data and weights files will have an EB_ID header value populated with the value supplied in this field. |
||
type |
string |
||
pattern |
^eb\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
||
default |
null |
||
|
Center frequency for the Band-of-Interest. Required if Band is 5a or 5b; not specified for other Bands (not configurable for Band 1, 2, 3 and 4). Input for Band 5a and 5b consists of two 2.5 GHz streams; the center frequency can be independently tuned for each stream. The following nomenclature is used to refer to Band 5a and 5b streams: 5a1, 5a2, 5b1, 5b2. |
||
type |
array |
||
default |
null |
||
items |
type |
number |
|
|
Frequency band applies for all the receptors (VCCs) that belong to the sub-array. |
||
type |
string |
||
pattern |
^(1|2|3|4|5(a|b))$ |
||
additionalProperties |
False |
CBF config 2.2
Correlator and Beamformer specific parameters. This section contains the parameters relevant only for CBF sub-element. This section is forwarded only to CBF subelement. Most of it to be borrowed from IICD
type |
object |
|
properties |
||
|
Optionally, an offset can be specified so that the entire observed band is shifted (to accommodate a Zoom Window that crosses a ‘natural’ Frequency Slice boundary). If specified, applies for all the receptors in the sub-array. Bands 1, 2, 3 and 4: input from the receptor consists of a single data stream; the Frequency Band Offset (FBO) should be specified for Stream 1 only. Bands 5a and 5b: input from the receptor consists of two data streams; the FBO can be specified for each stream independently. Note: For Band 5a and 5b the frequency shift is performed by the receptor (DISH). Note: This is optional and does not need to be implemented in PI3, but would be great for demo; if Team Buttons is looking for opportunities to showcase interesting GUIs, Zoom Windows are perfect opportunity (would require TMC and CSP to support these two parameters, corrBandwidth values > 0 and zoom window tuning.) |
|
type |
integer |
|
default |
null |
|
|
See frequencyBandOffsetStream1 |
|
type |
integer |
|
default |
null |
|
|
FQDN of TMC.DelayModel TANGO attribute which exposes delay values for all the dishes assigned to a Subarray in JSON format. Delay values are updated every 10 seconds. |
|
type |
string |
|
default |
null |
|
|
The same model applies for all receptors that belong to the subarray. Delivered by TMC using publish-subscribe mechanism (see ICD Section 3.8.8.5.3). The Doppler phase correction, by default, applies only to the CSP_Mid Processing Mode Correlation; optionally may apply to other Processing Modes as well. |
|
type |
string |
|
default |
null |
|
|
Specified as needed in advance of the scan start and/or during the scan. Delivered using publish-subscribe mechanism (see ICD Section 3.8.8.5.7). |
|
type |
object |
|
default |
null |
|
properties |
||
additionalProperties |
True |
|
|
type |
array |
items |
||
|
Very Long Baseline Interferometry specific parameters. To be borrowed from IICD This section contains the parameters relevant only for VLBI. This section is forwarded only to CSP subelement. |
|
default |
null |
|
|
type |
array |
default |
null |
|
items |
Up to two 300 MHz Search Windows can be optionally configured and used as input for Transient Data Capture and/or Pulsar Search beam-forming. |
|
additionalProperties |
False |
FSP config 2.2
type |
object |
||||
properties |
|||||
|
type |
integer |
|||
|
allOf |
type |
string |
||
enum |
CORR, PSS-BF, PST-BF, VLBI |
||||
|
Optionally a subset of receptors to be correlated can be specified. If not specified, all receptors that belong to the subarray are cross-correlated (i.e. visibilities for all the baselines in the subarray are generated and transmitted to SDP). Valid receptor IDs include: SKA dishes: “SKAnnn”, where nnn is a zero padded integer in the range of 001 to 133. MeerKAT dishes: “MKTnnn”, where nnn is a zero padded integer in the range of 000 to 063. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
string |
|||
pattern |
|
||||
|
Frequency Slice to be processed on this FSP (valid range depends on the Frequency Band). |
||||
type |
integer |
||||
|
Bandwidth to be correlated calculated as FSBW/2n, where n is in range [0..6]. When n=0 the full Frequency Slice bandwidth is correlated. BW > 0 implies ‘Zoom Window’ configuration; the spectral Zoom Window tuning must be specified. |
||||
type |
integer |
||||
|
The Zoom Window tuning provided in absolute terms as RF center frequency. Based on that, CSP_Mid calculates tuning within the data stream received from the receptor. Must be selected so that the entire Zoom Window is within the Frequency Slice. If partially out of the FS a warning is generated. If completely outside of the FS an exception is generated. Step size <= 0.01MHz. The Frequency Band Offset can be used to shift the entire observed band in order to accommodate a Zoom Window that spans across a Frequency Slice boundary. |
||||
type |
integer |
||||
default |
null |
||||
|
Integration time for the correlation products, defines multiple of 140 milliseconds. |
||||
type |
integer |
||||
|
Table of up to 20 x 2 integers. Each of entries contains:
Explanation: Each FSP produces 14880 (TBC) fine channels across the correlated bandwidth (Frequency Slice or Zoom Window). Channels are evenly spaced in frequency. TM shall provide the table that for each FSP and each group of 744 channels (there are 20 groups per FSP) indicates the channel averaging factor. More precisely, for each group the TMC provided table specifies:
If no entry is present for an FSP, the averaging settings of the previous FSP are still applicable. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
type |
integer |
|||
|
Channel ID to use for visibilities of the first channel produced by this FSP. For example, if the channel offset is 5000 the first channel group would span IDs 5000-5743. Note that this offset does not apply to channel maps in this structure (such as channelAveragingMap or outputHost). |
||||
type |
integer |
||||
default |
null |
||||
|
Output links to emit visibilities on for every channel, given as a list of start channel ID to link ID. Where no value is given for concrete channel, the previous value should be used. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
anyOf |
type |
integer |
||
type |
string |
||||
|
Output host to send visibilities to for every channel, given as a list of start channel ID to host IP addresses in dot-decimal notation. Where no value is given for a concrete channel, the previous value should be used. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
anyOf |
type |
integer |
||
type |
string |
||||
|
Output port to send visibilities to for every channel, given as a list of start channel ID to port number. Where no value is given for a concrete channel, the previous value should be used. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
type |
integer |
|||
|
Output MAC address to send visibilities to for every channel, given as a list of start channel ID to IEEE 802 MAC addresses. Where no value is given for a concrete channel, the previous value should be used. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
anyOf |
type |
integer |
||
type |
string |
||||
additionalProperties |
False |
VLBI config 2.2
Very Long Baseline Interferometry specific parameters. To be borrowed from IICD This section contains the parameters relevant only for VLBI. This section is forwarded only to CSP subelement.
type |
object |
|
properties |
||
|
type |
string |
additionalProperties |
False |
Search window config 2.2
Up to two 300 MHz Search Windows can be optionally configured and used as input for Transient Data Capture and/or Pulsar Search beam-forming.
type |
object |
|||
properties |
||||
|
Identifier of the 300MHz Search Window. Unique within a sub-array. |
|||
type |
integer |
|||
|
The Search Window tuning is provided in absolute terms as RF center frequency. The Search Window must be placed within the observed band. If partially out of the observed Band a warning is generated. If completely outside of the observed Band an exception is generated. |
|||
type |
integer |
|||
|
Enable / disable Transient Data Capturefor the Search Window. |
|||
type |
boolean |
|||
|
Number of bits per sample (for the Transient Data Capture). Required if TDC is enabled, otherwise not specified. |
|||
type |
integer |
|||
default |
null |
|||
|
Users can trade the period of time for which data are saved and transmitted for the sample bit-width and/or the number of Search Windows. The exact information regarding the memory capacity per receptor and supported range will be provided in construction. The epoch is specified in the command that triggers TDC off-loading (transmission of data). |
|||
type |
integer |
|||
default |
null |
|||
|
see tdcPeriodBeforeEpoch |
|||
type |
integer |
|||
default |
null |
|||
|
Destination addresses (MAC, IP, port) for off-loading of the content of the Transient Data Capture Buffer, specified per receptor. The destination addresses for the content of the Transient Data Capture can be provided either as a part of the scan configuration or by the command that triggers transmission of the captured data. The latter, if provided, overrides previously set addresses. Required if TDC is enabled, otherwise not specified. |
|||
type |
array |
|||
default |
null |
|||
items |
anyOf |
type |
integer |
|
type |
string |
|||
additionalProperties |
False |
PSS configuration 2.2
type |
object |
||
properties |
|||
|
Beam bandwidth (MHz) |
||
type |
integer |
||
|
Number of channels per beam |
||
type |
integer |
||
|
Processing Mode: Acceleration Search (a.k.a. Pulsar Search) and Single Pulse Search (a.k.a. Transient Search) can be performed concurrently. |
||
type |
boolean |
||
|
Processing Mode: Acceleration Search (a.k.a. Pulsar Search) and Single Pulse Search (a.k.a. Transient Search) can be performed concurrently. |
||
type |
boolean |
||
|
Scan duration. |
||
type |
integer |
||
|
Range in source acceleration to be searched. |
||
type |
integer |
||
default |
null |
||
|
Number of trials to be performed. |
||
type |
integer |
||
|
Time resolution of input data. |
||
type |
integer |
||
|
Dispersion corretion for acceleration search. |
||
type |
number |
||
|
Dispersion corretion for transient search. |
||
type |
number |
||
|
Number of time samples in each block of data. |
||
type |
integer |
||
|
Number of frequency band groups summed up during folding. |
||
type |
integer |
||
|
Size of the buffer receiving raw data. (2**buffer_size) |
||
type |
integer |
||
|
Number of the “harmonic folds” on the initial Fourier power-spectrum summed up. |
||
type |
integer |
||
|
CXFT control parameters. |
||
type |
object |
||
|
Constraints on matches between candidates. |
||
type |
object |
||
|
Define data sinks and subscriber to be notified. |
||
type |
object |
||
|
Threshold for a single pulse trigger. (Tuned to system noise and RFI env.) |
||
type |
number |
||
|
Single pulse optimization parameters. |
||
type |
object |
||
|
DRED: statistics of spectra to derive the normalization factors. |
||
type |
object |
||
|
CDOS: control parameters and related statistical data. |
||
type |
object |
||
|
RFIM control parameters. |
||
type |
object |
||
|
FLDO control parameters. |
||
type |
object |
||
properties |
|||
|
type |
boolean |
|
|
type |
boolean |
|
|
type |
integer |
|
additionalProperties |
True |
||
|
type |
array |
|
items |
|||
additionalProperties |
False |
PSS beam config 2.2
type |
object |
||
properties |
|||
|
Search Beam ID. |
||
type |
integer |
||
|
Right Ascension of sub-array beam target, in degrees. |
||
type |
number |
||
default |
null |
||
|
Declination of sub-array beam target, in degrees. |
||
type |
number |
||
default |
null |
||
|
reference frame for pointing coordinates |
||
default |
null |
||
allOf |
type |
string |
|
enum |
ICRS, HORIZON |
||
|
Centre frequency of the search beam. |
||
type |
number |
||
|
Beam delay center, relative to the array delay center. |
||
anyOf |
type |
number |
|
type |
string |
||
|
Per beam destination host address for PSS output. |
||
type |
string |
||
default |
null |
||
|
Per beam destination port for PSS output. |
||
type |
integer |
||
default |
null |
||
additionalProperties |
False |
PST scan configuration 2.2
Pulsar Timing specific scan configuration parameters.
type |
object |
|||
properties |
||||
|
Date and time when to start the PST reconfiguration. Units: UTC timestamp Keyword: ACTIVATION_TIME |
|||
type |
string |
|||
|
Identifier of the capability PST Beam to be used for this configuration. Keyword: CAPABILITY |
|||
type |
string |
|||
|
The identifier for the scan to be configured. This is a 64bits long. Keyword: SCAN_ID |
|||
type |
integer |
|||
|
The ID for the sub-array. Keyword: SUBARRAY_ID |
|||
type |
string |
|||
|
Identifier assigned by LMC/TM used to identify the beam configuraiton. PST selects which PST server to use for this scan and timing beam, and provides a mapping from the timing beam identifier by the TM to PST capability id. Keyword: BEAM |
|||
type |
string |
|||
default |
null |
|||
|
The number of bits per complex-values time sample in the CBF output data. Valid values are 16, 24, or 32. Keyword: NBIT |
|||
type |
integer |
|||
|
The number of polarizations in the CBF output data. Valid values are 1 or 2. Keyword: NPOL |
|||
type |
integer |
|||
|
The number of time samples for each single polarization and the a single frequency in each UDP packet sent by CBF. Note: this must be an integer multiple of WT_NSMAP Range: 4 (Low), 32 (Mid) Keyword: UDP_NSAMP |
|||
type |
integer |
|||
|
The number of time samples described by as single relative weight. There is a unique relative weight for each frequency channel, and each relative weight describes both polarizations. Range: 4 (Low), 32 (Mid) Keyword: WT_NSAMP |
|||
type |
integer |
|||
|
The number of contiguous frequency channels in each UDP packet sent by CBF. Range: 24 (Low), 185 (Mid) Keyword: UDP_NCHAN |
|||
type |
integer |
|||
|
The total number of frequency channels into which the total critical bandwidth has been divided. This must be an integer multiple of udp_nchan Range: 1 to 82944 Keyword: OBSNCHAN |
|||
type |
integer |
|||
|
Centre frequency of to the total (critical) bandwidth spanned by the frequency channels. Units: Hz Range: 50e6 to 12800e6 Keyword: OBSFREQ |
|||
type |
number |
|||
|
Total (critical) bandwidth spanned by the channels of the observation. Low: 0.00361 to 300 MHz Mid: 0.053.76 to 2500 MHz Units: Hz Range: 3610 to 2.5e9 Keyword: OBSBW |
|||
type |
number |
|||
|
The observation mode used for the scan. Range: PULSAR_TIMING, DYNAMIC_SPECTRUM, or FLOW_THROUGH Keyword: OBSMODE |
|||
allOf |
type |
string |
||
enum |
PULSAR_TIMING, DYNAMIC_SPECTRUM, FLOW_THROUGH |
|||
|
The observer in charge of the observations. Keyword: OBSERVER |
|||
type |
string |
|||
|
The project that the observations are for. Keyword: PROJID |
|||
type |
string |
|||
|
The ID for the sub-array pointing. Keyword: PNT_ID |
|||
type |
string |
|||
|
The name of the source. Keyword: SRC_NAME |
|||
type |
string |
|||
|
The International Terrestrial Reference Frame (ITRF) coordinates of the telescope delay centre. Units: metres Keyword: ITRF |
|||
type |
array |
|||
items |
type |
number |
||
|
The receiver name or ID (instrument). Keyword: FRONTEND |
|||
type |
string |
|||
|
The native polarization of feed. Range: LIN or CIRC Keyword: FD_POLN |
|||
allOf |
type |
string |
||
enum |
LIN, CIRC |
|||
|
Code for sense of feed. For value of +1 for XYZ forming RH set with Z in the direction of propagation. Looking up into the feed of a prime-focus receiver or at the sky). For FD_HAND = +1, the rotation from A (or X) to B (or Y) is counter clockwise or in the direction of increasing Feed Angle (FA) or Position Angle (PA). For circular feeds, FD_HAND = +1 for IEEE LCP on the A (or X) probe. Range: -1 or +1 Keyword: FD_HAND |
|||
allOf |
type |
integer |
||
enum |
-1, 1 |
|||
|
Feed angle of the E-vector for an equal in-phase response from the A(X) and B(Y) probes, measured in the direction of increasing feed angle or position angle (clockwise when looking down on a prime focuse receiver). Units: degrees Range: -180 to 180. Keyword: FD_SANG |
|||
type |
number |
|||
|
The tracking mode for the feed:
Range: FA, CPA, SPA, or TPA Keyword: FD_MODE |
|||
allOf |
type |
string |
||
enum |
FA, CPA, SPA, TPA |
|||
|
The requested angle of feed reference. For feed_mode = ‘FA’ this is respect to the telescope’s reference frame (feed_angle = 0), and for feed_mode = ‘CPA’ this is with respect to the celestial north (parallic angle = 0) or with respect to the Galactic north for coordinate_mode = ‘GALACTIC’. Range: -180 to +180. Keyword: FA_REQ |
|||
type |
number |
|||
|
The oversampling ratio expressed as a fraction as an array of int, with the first value the numerator and the second is the denominator. (e.g. 8/7 is assigned as [8,7]). Range: 8/7 or 4/3 Keyword: OVERSAMP |
|||
type |
array |
|||
items |
type |
integer |
||
|
The tied-array beam’s tracking co-ordinates. As of version 2.2 of the schema this only handles equitorial tracking which means uses RA/Dec J2000.0 coords but PST may support different tracking modes and coordinates the future. |
|||
|
The maximum length of the observation. Units: seconds Range: 30 - 43200 Keyword: SCANLEN_MAX |
|||
type |
number |
|||
|
The length of each output sub-integration. Units: seconds Range: 1 - 60 Keyword: OUTSUBINT |
|||
type |
number |
|||
|
An array of receptor IDs for the receptors included in the sub-array. Keyword: ANTENNA |
|||
type |
array |
|||
items |
type |
string |
||
|
Weight for each receptor. Range: 0 - 1.0 Keyword: ANT_WEIGHTS |
|||
type |
array |
|||
items |
type |
number |
||
|
The number of frequency ranges to be masked. Range: 0 - 1024 Keyword: NMASK |
|||
type |
integer |
|||
default |
0 |
|||
|
A two-dimensional array of length of num_frequency_mask of known RFI frequency ranges to excise from the data. The array contains mask pairs of [f_min, f_max] pairs for known frequency ranges containing RFI not excised by the CBF. The overall dimension of this array is num_frequency_mask x 2. Units: Hz Keyword: FREQ_MASK |
|||
type |
array |
|||
default |
null |
|||
items |
type |
array |
||
items |
type |
number |
||
|
Operation mode for the injected calibration:
Range: [OFF, SYNC, EXT1, EXT2] Keyword: CAL_MODE |
|||
default |
null |
|||
allOf |
type |
string |
||
enum |
OFF, SYNC, EXT1, EXT2 |
|||
|
The modulation frequency for the injected calibration signal. Range: 0.001 - 1000 Units: Hertz Keyword: CAL_FREQ |
|||
type |
number |
|||
default |
null |
|||
|
Duty cycle for the injected calibration signal. Range: 0.0 - 1.0 Keyword: CAL_DCYC |
|||
type |
number |
|||
default |
null |
|||
|
The calibration phase with respect to time. Phase of the leasing edge of the injected calibration signal in calibration SYNC mode. Range: 0.0 - 1.0 Keyword: CAL_PHS |
|||
type |
number |
|||
default |
null |
|||
|
The number of pulses in one period of the calibration phase. Keyword: CAL_NPHS |
|||
type |
number |
|||
default |
null |
|||
|
The destination address for the PST output data. Includes IPv4 Address, port number. |
|||
type |
array |
|||
default |
null |
|||
items |
anyOf |
type |
string |
|
type |
integer |
|||
|
Identifier for a test vectore that will be present in the tied-array beam data stream beam CBF and PST. Keyword: TEST_VECTOR |
|||
type |
string |
|||
default |
null |
|||
|
Pulsar Timing specific parameters for the ‘PULSAR_TIMING’ mode configuration. |
|||
default |
null |
|||
|
Pulsar Timing specific parameters for the ‘DYNAMIC_SPECTRUM’ mode configuration. |
|||
default |
null |
|||
|
Pulsar Timing specific parameters for the ‘FLOW_THROUGH’ mode configuration. |
|||
default |
null |
|||
additionalProperties |
False |
PST RA_Dec coordinates 2.2
Pulsar Timing specific parameters for RA/Dec tracking coordinates.
type |
object |
|
properties |
||
|
The coordinate epoch. This can be in Julian date or Modified Julian Date. Units: years Range: >= 2000 Keyword: EQUINOX |
|
type |
number |
|
default |
2000.0 |
|
|
The Right Accession (RA) of the coordinates used for tracking. Valid formats is ‘hh:mm:ss.sss’ or ‘ddd.ddd’ Keyword: STT_CTD1 |
|
type |
string |
|
|
The declination (Dec) of the coordinates used for tracking. Valid formats is ‘hh:mm:ss.sss’ or ‘ddd.ddd’ Keyword: STT_CTD2 |
|
type |
string |
|
additionalProperties |
False |
PST ‘PULSAR_TIMING’ mode configuration 2.2
Pulsar Timing specific parameters for the ‘PULSAR_TIMING’ mode configuration.
type |
object |
|
properties |
||
|
The dispersion measure for coherent/inchoerent de-dispersion. Units: pccm^-3 Range: 0 - 100000 Keyword: DM |
|
type |
number |
|
|
The rotation measure for phase-coherent Faraday rotation correction. Units: radians per metre squared Keyword: RM |
|
type |
number |
|
default |
null |
|
|
The ephemeris of the pulsar being observed. Units: PSRCAT compatible ASCII string Keyword: EPHEMERIS |
|
type |
string |
|
|
Pulsar phase predictor generated from ephemeris. Units: TEMPO2 compatible ASCII string Keyword: PREDICTOR |
|
type |
string |
|
|
The number of output frequency channels. This must be between 1 and the number of observation channels. Keyword: OUTNCHAN |
|
type |
integer |
|
|
The number of output phase bins. Range: 64 - 2048 Keyword: OUTNBIN |
|
type |
integer |
|
|
The number of spectral kurtosis (SK) configurations to apply. Keyword: N_SK |
|
type |
integer |
|
|
List of spectral kurtosis configurations. |
|
type |
array |
|
items |
Pulsar Timing specific parameters for the spectral kurtosis (SK) for the ‘PULSAR_TIMING’ mode. |
|
|
The signal-to-noise ratio (SNR) of the on-pulse flux for the scan. May be used to prematurely end a scan when the integrated SNR reaches the target. A value of 0 indicates there is no limit. Keyword: TARGET_SNR |
|
type |
number |
|
additionalProperties |
False |
PST spectral kurtosis configuration 2.2
Pulsar Timing specific parameters for the spectral kurtosis (SK) for the ‘PULSAR_TIMING’ mode.
type |
object |
||
properties |
|||
|
Frequency ranges for each spectral kurtosis (SK) configuration. Units: Hz Keyword: SK_RNG |
||
type |
array |
||
items |
type |
number |
|
|
The number of input time samples integrated into each spectral kurtosis (SK) statistic. Range: 64 - 1024 Keyword: SK_INTS |
||
type |
integer |
||
|
Spectral kurtosis excision limits (RFI threshold) in units of standard deviations. Range: 1 - 100 Keyword: SK_EXIS |
||
type |
number |
||
additionalProperties |
False |
PST ‘DYNAMIC_SPECTRUM’ mode configuration 2.2
Pulsar Timing specific parameters for the ‘DYNAMIC_SPECTRUM’ mode configuration.
type |
object |
||
properties |
|||
|
The dispersion measture for coherent/inchoerent de-dispersion. This is only required for pulsar timing and dynamic spectrum modes. Range: [0, 100000] Keyword: DM |
||
type |
number |
||
|
The rotation measure for phase-coherent Faraday rotation correction. Units: radians per metre squared Keyword: RM |
||
type |
number |
||
default |
null |
||
|
The number of output frequency channels. This must be between 1 and the number of observation channels. Keyword: OUTNCHAN |
||
type |
integer |
||
|
The Stokes parameters to output when in Dynamic spectrum mode. Range: string with a combination of I, Q, U, and V. Keyword: STOKES_FB |
||
type |
string |
||
|
The number of bits per output sample. Range: 1, 2, 4, 8, 16 or 32 Keyword: NBIT_OUT |
||
allOf |
type |
integer |
|
enum |
1, 2, 4, 8, 16, 32 |
||
|
The number of input samples per output time sample when in Dynamic Spectrum mode. Keyword: TDEC_FB |
||
type |
integer |
||
|
The number of input frequency channels incoherently added to each output frequency channel in Dynamic Spectrum. This is required in addition to output_frequency_channels because some frequency channels may be merged coherently to increase temporal resolution. Keyword: FDEC_FB |
||
type |
integer |
||
|
The number of spectral kurtosis (SK) configurations to apply. Keyword: N_SK |
||
type |
integer |
||
default |
null |
||
|
List of spectral kurtosis configurations. |
||
type |
array |
||
default |
null |
||
items |
Pulsar Timing specific parameters for the spectral kurtosis (SK) for the ‘PULSAR_TIMING’ mode. |
||
|
Scale factor to govern the dynamic range for fixed precision output to be applied during re-quantisation. Keyword: DIGITIZER_SCALE |
||
type |
number |
||
|
Length of data to be used when determining the scaling factors used for fixed precision output during re-quantisation. Units: seconds Keyword: DIGITIZER_LENGTH |
||
type |
number |
||
additionalProperties |
False |
PST ‘FLOW_THROUGH’ mode configuration 2.2
Pulsar Timing specific parameters for the ‘FLOW_THROUGH’ mode configuration.
type |
object |
||
properties |
|||
|
The number of bits per output sample. Range: 1, 2, 4, 8, 16 or 32 Keyword: NBIT_OUT |
||
allOf |
type |
integer |
|
enum |
1, 2, 4, 8, 16, 32 |
||
|
The indices of the first and last (inclusive) frequency channels that define the single contiguous range of frequency channels to be recorded. Keyword: CHAN_FT |
||
type |
array |
||
items |
type |
integer |
|
|
Scale factor applied during re-quantisation that modifies the dynamic range of the fixed precision output. By default, for 2, 4, and 8 bits per sample, data will be scaled to minimize scattered power by adopting the Optimum Input Threshold Spacing for a Uniform Digitizer defined in Table 3 of Jenet & Anderson (1998; PASP 110:1467). For 16 and 32 bits per sample, by default the data will be scaled such that the maximum fixed precision output value (2^{num_bits_out-1}) corresponds to 6 times the standard deviation. For all num_bits_out, the standard deviation is that of either the real or imaginary part of each complex-valued sample. The default scale factor is computed such that, after multiplication by this scale factor, the data would satisfy the conditions described above. This default scale factor is multiplied by requantisation_scale. Therefore, a requantisation_scale value greater than 1 increases the value of the floating point data before it is cast to a fixed precision value, thereby reducing the overhead available to represent RFI and increasing the probability of clipping. Keyword: DIGITIZER_SCALE |
||
type |
number |
||
|
The number of input channels to be recorded. This value must be less than or equal to the output_frequency_channels. Keyword: NCHAN_FT |
||
type |
integer |
||
|
Length of data to be used when determining the scaling factors used for fixed precision output during re-quantisation. Units: seconds Keyword: DIGITIZER_LENGTH |
||
type |
number |
||
additionalProperties |
False |
PST beam configuration 2.2
Pulsar Timing specific beam configuration parameters.
As of version 2.3 this schema has no elements and is deprecated
type |
object |
|
properties |
||
|
Date and time when to start the PST reconfiguration in UTC. Keyword: ACTIVATION_TIME |
|
type |
string |
|
|
The number of stages used to channelize the data: e.g. * for Low, there are 2 stages: 1 in LFAA and 1 in CBF * for Mid, there are 2 stages: 1 in FSP and 1 in PST BF. Keyword: NSTAGE |
|
type |
integer |
|
|
List of configuration for each channelization stage. |
|
type |
array |
|
items |
Pulsar Timing specific parameters for channelization stage configuration. |
|
additionalProperties |
False |
PST channelization stage configuration 2.2
Pulsar Timing specific parameters for channelization stage configuration.
type |
object |
||
properties |
|||
|
Total number of taps in the prototype filter (i.e. over all arms) used in the stage. Keyword: NSTAP_k |
||
type |
integer |
||
|
An array of filter coefficients that define the (time domain) response function of the prototype filter used in the stage. Length of this is num_filter_taps. Keyword: COEFF_k |
||
type |
array |
||
items |
type |
number |
|
|
The number of frequency channels output by each polyphase filter bank (PFB) for this stage. Keyword: NCHAN_PFB_k |
||
type |
integer |
||
|
The oversampling ratio expressed as a fraction as an array of int, with the first value the numerator and the second is the denominator. (e.g. 8/7 is assigned as [8,7]). Keyword: OVERSAMP_k |
||
type |
array |
||
items |
type |
integer |
|
additionalProperties |
False |
CSP config 2.1
Example (TMC input for science_a visibility scan)
{
"interface": "https://schema.skao.int/ska-csp-configure/2.0",
"subarray": {
"subarray_name": "science period 23"
},
"common": {
"config_id": "sbi-mvp01-20200325-00001-science_A",
"frequency_band": "1",
"subarray_id": 1
},
"cbf": {
"fsp": [{
"fsp_id": 1,
"function_mode": "CORR",
"frequency_slice_id": 1,
"integration_factor": 1,
"zoom_factor": 0,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 0,
"output_link_map": [
[0, 0],
[200, 1]
]
}, {
"fsp_id": 2,
"function_mode": "CORR",
"frequency_slice_id": 2,
"integration_factor": 1,
"zoom_factor": 1,
"zoom_window_tuning": 650000,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 744,
"output_link_map": [
[0, 4],
[200, 5]
]
}],
"vlbi": {}
},
"pst": {}
}
Example (CSP configuration for science_a visibility scan)
{
"interface": "https://schema.skao.int/ska-csp-configure/2.0",
"subarray": {
"subarray_name": "science period 23"
},
"common": {
"config_id": "sbi-mvp01-20200325-00001-science_A",
"frequency_band": "1",
"subarray_id": 1
},
"cbf": {
"fsp": [{
"fsp_id": 1,
"function_mode": "CORR",
"frequency_slice_id": 1,
"integration_factor": 1,
"zoom_factor": 0,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 0,
"output_link_map": [
[0, 0],
[200, 1]
],
"output_host": [
[0, "192.168.0.1"],
[400, "192.168.0.2"]
],
"output_mac": [
[0, "06-00-00-00-00-00"]
],
"output_port": [
[0, 9000, 1],
[400, 9000, 1]
]
}, {
"fsp_id": 2,
"function_mode": "CORR",
"frequency_slice_id": 2,
"integration_factor": 1,
"zoom_factor": 1,
"zoom_window_tuning": 650000,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 744,
"output_link_map": [
[0, 4],
[200, 5]
],
"output_host": [
[0, "192.168.0.3"],
[400, "192.168.0.4"]
],
"output_mac": [
[0, "06-00-00-00-00-01"]
],
"output_port": [
[0, 9000, 1],
[400, 9000, 1]
]
}],
"vlbi": {}
},
"pst": {}
}
Example (CSP configuration for cal_a visibility scan)
{
"interface": "https://schema.skao.int/ska-csp-configure/2.0",
"subarray": {
"subarray_name": "science period 23"
},
"common": {
"config_id": "sbi-mvp01-20200325-00001-science_A",
"frequency_band": "1",
"subarray_id": 1
},
"cbf": {
"fsp": [{
"fsp_id": 1,
"function_mode": "CORR",
"frequency_slice_id": 1,
"integration_factor": 1,
"zoom_factor": 0,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 0,
"output_link_map": [
[0, 0],
[200, 1]
],
"output_host": [
[0, "192.168.1.1"]
],
"output_port": [
[0, 9000, 1]
]
}, {
"fsp_id": 2,
"function_mode": "CORR",
"frequency_slice_id": 2,
"integration_factor": 1,
"zoom_factor": 1,
"zoom_window_tuning": 650000,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 744,
"output_link_map": [
[0, 4],
[200, 5]
],
"output_host": [
[0, "192.168.1.1"]
],
"output_port": [
[0, 9744, 1]
]
}],
"vlbi": {}
},
"pst": {}
}
Example (CSP configuration for PSS scan)
{
"interface": "https://schema.skao.int/ska-csp-configure/2.1",
"subarray": {
"subarray_name": "science period 23"
},
"common": {
"config_id": "sbi-mvp01-20200325-00001-science_A",
"frequency_band": "1",
"subarray_id": 1
},
"cbf": {
"fsp": [{
"fsp_id": 1,
"function_mode": "PSS-BF",
"frequency_slice_id": 1,
"integration_factor": 1,
"zoom_factor": 0
}, {
"fsp_id": 2,
"function_mode": "CORR",
"frequency_slice_id": 1,
"integration_factor": 1,
"zoom_factor": 0
}],
"search_window": [{
"search_window_id": 0,
"search_window_tuning": 1000,
"tdc_enable": true
}]
},
"pss": {
"beam_bandwidth": 300,
"channels_per_beam": 4096,
"acceleration_search": false,
"single_pulse_search": true,
"integration_time": 600,
"acc_range": 0,
"number_of_trials": 0,
"time_resolution": 4,
"ps_dm": 1000.0,
"sps_dm": 1000.0,
"timesample_per_block": 28125000,
"sub_bands": 64,
"buffer_size": 18,
"hsum_control": 16,
"cxft_control": {},
"cand_sift": {},
"cand_output": {},
"sp_threshold": 10.0,
"sp_opt_pars": {},
"dred_beam_stats": {},
"cdos_control": {},
"fldo_control": {
"phase_split": true,
"channel_scale": true,
"max_phases": 16
},
"rfim_control": {},
"beam": [{
"beam_id": 1,
"reference_frame": "ICRS",
"ra": 82.75,
"dec": 21.0,
"centre_frequency": 1400.0,
"beam_delay_centre": 0.0,
"dest_host": "192.168.178.25",
"dest_port": 9021
}, {
"beam_id": 2,
"reference_frame": "ICRS",
"ra": 84.25,
"dec": 21.5,
"centre_frequency": 1400.0,
"beam_delay_centre": 0.0,
"dest_host": "192.168.178.26",
"dest_port": 9021
}]
}
}
type |
object |
||
properties |
|||
|
type |
string |
|
|
subarray section, containing the parameters relevant only for the current sub-array device. This section is not forwarded to any subelement. |
||
type |
object |
||
default |
null |
||
properties |
|||
|
Name and scope of current subarray the sub-array. |
||
type |
string |
||
additionalProperties |
False |
||
|
Common section, containing the parameters and the sections belonging to all CSP subsystems. This section is forwarded to all sub-elements. |
||
|
Correlator and Beamformer specific parameters. This section contains the parameters relevant only for CBF sub-element. This section is forwarded only to CBF subelement. Most of it to be borrowed from IICD |
||
|
default |
null |
|
|
Pulsar Timing specific parameters. To be borrowed from IICD |
||
type |
object |
||
default |
null |
||
properties |
|||
|
type |
string |
|
default |
null |
||
additionalProperties |
False |
||
additionalProperties |
False |
Common configuration schema 2.1
Common section, containing the parameters and the sections belonging to all CSP subsystems. This section is forwarded to all sub-elements.
type |
object |
||
properties |
|||
|
type |
string |
|
default |
null |
||
|
Subarray number |
||
type |
integer |
||
|
Execution block ID to associate scan configs to an observation. This ID is used for associating generated data, especially data products, for a given observation. Multiple scans can be linked to one observation and this ID is used as metadata to associate the data products from all scans of the same observation. This ID does not have to be unique for a scan configuration but should be unique for different observations. For example, all the data and weights files will have an EB_ID header value populated with the value supplied in this field. |
||
type |
string |
||
pattern |
^eb\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
||
default |
null |
||
|
Center frequency for the Band-of-Interest. Required if Band is 5a or 5b; not specified for other Bands (not configurable for Band 1, 2, 3 and 4). Input for Band 5a and 5b consists of two 2.5 GHz streams; the center frequency can be independently tuned for each stream. The following nomenclature is used to refer to Band 5a and 5b streams: 5a1, 5a2, 5b1, 5b2. |
||
type |
array |
||
default |
null |
||
items |
type |
number |
|
|
Frequency band applies for all the receptors (VCCs) that belong to the sub-array. |
||
type |
string |
||
pattern |
^(1|2|3|4|5(a|b))$ |
||
additionalProperties |
False |
CBF config 2.1
Correlator and Beamformer specific parameters. This section contains the parameters relevant only for CBF sub-element. This section is forwarded only to CBF subelement. Most of it to be borrowed from IICD
type |
object |
|
properties |
||
|
Optionally, an offset can be specified so that the entire observed band is shifted (to accommodate a Zoom Window that crosses a ‘natural’ Frequency Slice boundary). If specified, applies for all the receptors in the sub-array. Bands 1, 2, 3 and 4: input from the receptor consists of a single data stream; the Frequency Band Offset (FBO) should be specified for Stream 1 only. Bands 5a and 5b: input from the receptor consists of two data streams; the FBO can be specified for each stream independently. Note: For Band 5a and 5b the frequency shift is performed by the receptor (DISH). Note: This is optional and does not need to be implemented in PI3, but would be great for demo; if Team Buttons is looking for opportunities to showcase interesting GUIs, Zoom Windows are perfect opportunity (would require TMC and CSP to support these two parameters, corrBandwidth values > 0 and zoom window tuning.) |
|
type |
integer |
|
default |
null |
|
|
See frequencyBandOffsetStream1 |
|
type |
integer |
|
default |
null |
|
|
FQDN of TMC.DelayModel TANGO attribute which exposes delay values for all the dishes assigned to a Subarray in JSON format. Delay values are updated every 10 seconds. |
|
type |
string |
|
default |
null |
|
|
The same model applies for all receptors that belong to the subarray. Delivered by TMC using publish-subscribe mechanism (see ICD Section 3.8.8.5.3). The Doppler phase correction, by default, applies only to the CSP_Mid Processing Mode Correlation; optionally may apply to other Processing Modes as well. |
|
type |
string |
|
default |
null |
|
|
Specified as needed in advance of the scan start and/or during the scan. Delivered using publish-subscribe mechanism (see ICD Section 3.8.8.5.7). |
|
type |
object |
|
default |
null |
|
properties |
||
additionalProperties |
True |
|
|
type |
array |
items |
||
|
Very Long Baseline Interferometry specific parameters. To be borrowed from IICD This section contains the parameters relevant only for VLBI. This section is forwarded only to CSP subelement. |
|
default |
null |
|
|
type |
array |
default |
null |
|
items |
Up to two 300 MHz Search Windows can be optionally configured and used as input for Transient Data Capture and/or Pulsar Search beam-forming. |
|
additionalProperties |
False |
FSP config 2.1
type |
object |
||||
properties |
|||||
|
type |
integer |
|||
|
allOf |
type |
string |
||
enum |
CORR, PSS-BF, PST-BF, VLBI |
||||
|
Optionally a subset of receptors to be correlated can be specified. If not specified, all receptors that belong to the subarray are cross-correlated (i.e. visibilities for all the baselines in the subarray are generated and transmitted to SDP). Valid receptor IDs include: SKA dishes: “SKAnnn”, where nnn is a zero padded integer in the range of 001 to 133. MeerKAT dishes: “MKTnnn”, where nnn is a zero padded integer in the range of 000 to 063. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
string |
|||
pattern |
|
||||
|
Frequency Slice to be processed on this FSP (valid range depends on the Frequency Band). |
||||
type |
integer |
||||
|
Bandwidth to be correlated calculated as FSBW/2n, where n is in range [0..6]. When n=0 the full Frequency Slice bandwidth is correlated. BW > 0 implies ‘Zoom Window’ configuration; the spectral Zoom Window tuning must be specified. |
||||
type |
integer |
||||
|
The Zoom Window tuning provided in absolute terms as RF center frequency. Based on that, CSP_Mid calculates tuning within the data stream received from the receptor. Must be selected so that the entire Zoom Window is within the Frequency Slice. If partially out of the FS a warning is generated. If completely outside of the FS an exception is generated. Step size <= 0.01MHz. The Frequency Band Offset can be used to shift the entire observed band in order to accommodate a Zoom Window that spans across a Frequency Slice boundary. |
||||
type |
integer |
||||
default |
null |
||||
|
Integration time for the correlation products, defines multiple of 140 milliseconds. |
||||
type |
integer |
||||
|
Table of up to 20 x 2 integers. Each of entries contains:
Explanation: Each FSP produces 14880 (TBC) fine channels across the correlated bandwidth (Frequency Slice or Zoom Window). Channels are evenly spaced in frequency. TM shall provide the table that for each FSP and each group of 744 channels (there are 20 groups per FSP) indicates the channel averaging factor. More precisely, for each group the TMC provided table specifies:
If no entry is present for an FSP, the averaging settings of the previous FSP are still applicable. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
type |
integer |
|||
|
Channel ID to use for visibilities of the first channel produced by this FSP. For example, if the channel offset is 5000 the first channel group would span IDs 5000-5743. Note that this offset does not apply to channel maps in this structure (such as channelAveragingMap or outputHost). |
||||
type |
integer |
||||
default |
null |
||||
|
Output links to emit visibilities on for every channel, given as a list of start channel ID to link ID. Where no value is given for concrete channel, the previous value should be used. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
anyOf |
type |
integer |
||
type |
string |
||||
|
Output host to send visibilities to for every channel, given as a list of start channel ID to host IP addresses in dot-decimal notation. Where no value is given for a concrete channel, the previous value should be used. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
anyOf |
type |
integer |
||
type |
string |
||||
|
Output port to send visibilities to for every channel, given as a list of start channel ID to port number. Where no value is given for a concrete channel, the previous value should be used. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
type |
integer |
|||
|
Output MAC address to send visibilities to for every channel, given as a list of start channel ID to IEEE 802 MAC addresses. Where no value is given for a concrete channel, the previous value should be used. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
anyOf |
type |
integer |
||
type |
string |
||||
additionalProperties |
False |
VLBI config 2.1
Very Long Baseline Interferometry specific parameters. To be borrowed from IICD This section contains the parameters relevant only for VLBI. This section is forwarded only to CSP subelement.
type |
object |
|
properties |
||
|
type |
string |
additionalProperties |
False |
Search window config 2.1
Up to two 300 MHz Search Windows can be optionally configured and used as input for Transient Data Capture and/or Pulsar Search beam-forming.
type |
object |
|||
properties |
||||
|
Identifier of the 300MHz Search Window. Unique within a sub-array. |
|||
type |
integer |
|||
|
The Search Window tuning is provided in absolute terms as RF center frequency. The Search Window must be placed within the observed band. If partially out of the observed Band a warning is generated. If completely outside of the observed Band an exception is generated. |
|||
type |
integer |
|||
|
Enable / disable Transient Data Capturefor the Search Window. |
|||
type |
boolean |
|||
|
Number of bits per sample (for the Transient Data Capture). Required if TDC is enabled, otherwise not specified. |
|||
type |
integer |
|||
default |
null |
|||
|
Users can trade the period of time for which data are saved and transmitted for the sample bit-width and/or the number of Search Windows. The exact information regarding the memory capacity per receptor and supported range will be provided in construction. The epoch is specified in the command that triggers TDC off-loading (transmission of data). |
|||
type |
integer |
|||
default |
null |
|||
|
see tdcPeriodBeforeEpoch |
|||
type |
integer |
|||
default |
null |
|||
|
Destination addresses (MAC, IP, port) for off-loading of the content of the Transient Data Capture Buffer, specified per receptor. The destination addresses for the content of the Transient Data Capture can be provided either as a part of the scan configuration or by the command that triggers transmission of the captured data. The latter, if provided, overrides previously set addresses. Required if TDC is enabled, otherwise not specified. |
|||
type |
array |
|||
default |
null |
|||
items |
anyOf |
type |
integer |
|
type |
string |
|||
additionalProperties |
False |
PSS configuration 2.1
type |
object |
||
properties |
|||
|
Beam bandwidth (MHz) |
||
type |
integer |
||
|
Number of channels per beam |
||
type |
integer |
||
|
Processing Mode: Acceleration Search (a.k.a. Pulsar Search) and Single Pulse Search (a.k.a. Transient Search) can be performed concurrently. |
||
type |
boolean |
||
|
Processing Mode: Acceleration Search (a.k.a. Pulsar Search) and Single Pulse Search (a.k.a. Transient Search) can be performed concurrently. |
||
type |
boolean |
||
|
Scan duration. |
||
type |
integer |
||
|
Range in source acceleration to be searched. |
||
type |
integer |
||
default |
null |
||
|
Number of trials to be performed. |
||
type |
integer |
||
|
Time resolution of input data. |
||
type |
integer |
||
|
Dispersion corretion for acceleration search. |
||
type |
number |
||
|
Dispersion corretion for transient search. |
||
type |
number |
||
|
Number of time samples in each block of data. |
||
type |
integer |
||
|
Number of frequency band groups summed up during folding. |
||
type |
integer |
||
|
Size of the buffer receiving raw data. (2**buffer_size) |
||
type |
integer |
||
|
Number of the “harmonic folds” on the initial Fourier power-spectrum summed up. |
||
type |
integer |
||
|
CXFT control parameters. |
||
type |
object |
||
|
Constraints on matches between candidates. |
||
type |
object |
||
|
Define data sinks and subscriber to be notified. |
||
type |
object |
||
|
Threshold for a single pulse trigger. (Tuned to system noise and RFI env.) |
||
type |
number |
||
|
Single pulse optimization parameters. |
||
type |
object |
||
|
DRED: statistics of spectra to derive the normalization factors. |
||
type |
object |
||
|
CDOS: control parameters and related statistical data. |
||
type |
object |
||
|
RFIM control parameters. |
||
type |
object |
||
|
FLDO control parameters. |
||
type |
object |
||
properties |
|||
|
type |
boolean |
|
|
type |
boolean |
|
|
type |
integer |
|
additionalProperties |
True |
||
|
type |
array |
|
items |
|||
additionalProperties |
False |
PSS beam config 2.1
type |
object |
||
properties |
|||
|
Search Beam ID. |
||
type |
integer |
||
|
Right Ascension of sub-array beam target, in degrees. |
||
type |
number |
||
default |
null |
||
|
Declination of sub-array beam target, in degrees. |
||
type |
number |
||
default |
null |
||
|
reference frame for pointing coordinates |
||
default |
null |
||
allOf |
type |
string |
|
enum |
ICRS, HORIZON |
||
|
Centre frequency of the search beam. |
||
type |
number |
||
|
Beam delay center, relative to the array delay center. |
||
anyOf |
type |
number |
|
type |
string |
||
|
Per beam destination host address for PSS output. |
||
type |
string |
||
default |
null |
||
|
Per beam destination port for PSS output. |
||
type |
integer |
||
default |
null |
||
additionalProperties |
False |
CSP config 2.0
Example (TMC input)
{
"interface": "https://schema.skao.int/ska-csp-configure/2.0",
"subarray": {
"subarray_name": "science period 23"
},
"common": {
"config_id": "sbi-mvp01-20200325-00001-science_A",
"frequency_band": "1",
"subarray_id": 1
},
"cbf": {
"fsp": [{
"fsp_id": 1,
"function_mode": "CORR",
"frequency_slice_id": 1,
"integration_factor": 1,
"zoom_factor": 0,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 0,
"output_link_map": [
[0, 0],
[200, 1]
]
}, {
"fsp_id": 2,
"function_mode": "CORR",
"frequency_slice_id": 2,
"integration_factor": 1,
"zoom_factor": 1,
"zoom_window_tuning": 650000,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 744,
"output_link_map": [
[0, 4],
[200, 5]
]
}],
"vlbi": {}
},
"pst": {}
}
Example (CSP configuration for science_a scan)
{
"interface": "https://schema.skao.int/ska-csp-configure/2.0",
"subarray": {
"subarray_name": "science period 23"
},
"common": {
"config_id": "sbi-mvp01-20200325-00001-science_A",
"frequency_band": "1",
"subarray_id": 1
},
"cbf": {
"fsp": [{
"fsp_id": 1,
"function_mode": "CORR",
"frequency_slice_id": 1,
"integration_factor": 1,
"zoom_factor": 0,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 0,
"output_link_map": [
[0, 0],
[200, 1]
],
"output_host": [
[0, "192.168.0.1"],
[400, "192.168.0.2"]
],
"output_mac": [
[0, "06-00-00-00-00-00"]
],
"output_port": [
[0, 9000, 1],
[400, 9000, 1]
]
}, {
"fsp_id": 2,
"function_mode": "CORR",
"frequency_slice_id": 2,
"integration_factor": 1,
"zoom_factor": 1,
"zoom_window_tuning": 650000,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 744,
"output_link_map": [
[0, 4],
[200, 5]
],
"output_host": [
[0, "192.168.0.3"],
[400, "192.168.0.4"]
],
"output_mac": [
[0, "06-00-00-00-00-01"]
],
"output_port": [
[0, 9000, 1],
[400, 9000, 1]
]
}],
"vlbi": {}
},
"pst": {}
}
Example (CSP configuration for cal_a scan)
{
"interface": "https://schema.skao.int/ska-csp-configure/2.0",
"subarray": {
"subarray_name": "science period 23"
},
"common": {
"config_id": "sbi-mvp01-20200325-00001-science_A",
"frequency_band": "1",
"subarray_id": 1
},
"cbf": {
"fsp": [{
"fsp_id": 1,
"function_mode": "CORR",
"frequency_slice_id": 1,
"integration_factor": 1,
"zoom_factor": 0,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 0,
"output_link_map": [
[0, 0],
[200, 1]
],
"output_host": [
[0, "192.168.1.1"]
],
"output_port": [
[0, 9000, 1]
]
}, {
"fsp_id": 2,
"function_mode": "CORR",
"frequency_slice_id": 2,
"integration_factor": 1,
"zoom_factor": 1,
"zoom_window_tuning": 650000,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 744,
"output_link_map": [
[0, 4],
[200, 5]
],
"output_host": [
[0, "192.168.1.1"]
],
"output_port": [
[0, 9744, 1]
]
}],
"vlbi": {}
},
"pst": {}
}
type |
object |
||
properties |
|||
|
type |
string |
|
|
subarray section, containing the parameters relevant only for the current sub-array device. This section is not forwarded to any subelement. |
||
type |
object |
||
default |
null |
||
properties |
|||
|
Name and scope of current subarray the sub-array. |
||
type |
string |
||
additionalProperties |
False |
||
|
Common section, containing the parameters and the sections belonging to all CSP subsystems. This section is forwarded to all sub-elements. |
||
|
Correlator and Beamformer specific parameters. This section contains the parameters relevant only for CBF sub-element. This section is forwarded only to CBF subelement. Most of it to be borrowed from IICD |
||
|
default |
null |
|
|
Pulsar Timing specific parameters. To be borrowed from IICD |
||
type |
object |
||
default |
null |
||
properties |
|||
|
type |
string |
|
default |
null |
||
additionalProperties |
False |
||
additionalProperties |
False |
Common configuration schema 2.0
Common section, containing the parameters and the sections belonging to all CSP subsystems. This section is forwarded to all sub-elements.
type |
object |
||
properties |
|||
|
type |
string |
|
default |
null |
||
|
Subarray number |
||
type |
integer |
||
|
Execution block ID to associate scan configs to an observation. This ID is used for associating generated data, especially data products, for a given observation. Multiple scans can be linked to one observation and this ID is used as metadata to associate the data products from all scans of the same observation. This ID does not have to be unique for a scan configuration but should be unique for different observations. For example, all the data and weights files will have an EB_ID header value populated with the value supplied in this field. |
||
type |
string |
||
pattern |
^eb\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
||
default |
null |
||
|
Center frequency for the Band-of-Interest. Required if Band is 5a or 5b; not specified for other Bands (not configurable for Band 1, 2, 3 and 4). Input for Band 5a and 5b consists of two 2.5 GHz streams; the center frequency can be independently tuned for each stream. The following nomenclature is used to refer to Band 5a and 5b streams: 5a1, 5a2, 5b1, 5b2. |
||
type |
array |
||
default |
null |
||
items |
type |
number |
|
|
Frequency band applies for all the receptors (VCCs) that belong to the sub-array. |
||
type |
string |
||
pattern |
^(1|2|3|4|5(a|b))$ |
||
additionalProperties |
False |
CBF config 2.0
Correlator and Beamformer specific parameters. This section contains the parameters relevant only for CBF sub-element. This section is forwarded only to CBF subelement. Most of it to be borrowed from IICD
type |
object |
|
properties |
||
|
Optionally, an offset can be specified so that the entire observed band is shifted (to accommodate a Zoom Window that crosses a ‘natural’ Frequency Slice boundary). If specified, applies for all the receptors in the sub-array. Bands 1, 2, 3 and 4: input from the receptor consists of a single data stream; the Frequency Band Offset (FBO) should be specified for Stream 1 only. Bands 5a and 5b: input from the receptor consists of two data streams; the FBO can be specified for each stream independently. Note: For Band 5a and 5b the frequency shift is performed by the receptor (DISH). Note: This is optional and does not need to be implemented in PI3, but would be great for demo; if Team Buttons is looking for opportunities to showcase interesting GUIs, Zoom Windows are perfect opportunity (would require TMC and CSP to support these two parameters, corrBandwidth values > 0 and zoom window tuning.) |
|
type |
integer |
|
default |
null |
|
|
See frequencyBandOffsetStream1 |
|
type |
integer |
|
default |
null |
|
|
FQDN of TMC.DelayModel TANGO attribute which exposes delay values for all the dishes assigned to a Subarray in JSON format. Delay values are updated every 10 seconds. |
|
type |
string |
|
default |
null |
|
|
The same model applies for all receptors that belong to the subarray. Delivered by TMC using publish-subscribe mechanism (see ICD Section 3.8.8.5.3). The Doppler phase correction, by default, applies only to the CSP_Mid Processing Mode Correlation; optionally may apply to other Processing Modes as well. |
|
type |
string |
|
default |
null |
|
|
Specified as needed in advance of the scan start and/or during the scan. Delivered using publish-subscribe mechanism (see ICD Section 3.8.8.5.7). |
|
type |
object |
|
default |
null |
|
properties |
||
additionalProperties |
True |
|
|
type |
array |
items |
||
|
Very Long Baseline Interferometry specific parameters. To be borrowed from IICD This section contains the parameters relevant only for VLBI. This section is forwarded only to CSP subelement. |
|
default |
null |
|
|
type |
array |
default |
null |
|
items |
Up to two 300 MHz Search Windows can be optionally configured and used as input for Transient Data Capture and/or Pulsar Search beam-forming. |
|
additionalProperties |
False |
FSP config 2.0
type |
object |
||||
properties |
|||||
|
type |
integer |
|||
|
allOf |
type |
string |
||
enum |
CORR, PSS-BF, PST-BF, VLBI |
||||
|
Optionally a subset of receptors to be correlated can be specified. If not specified, all receptors that belong to the subarray are cross-correlated (i.e. visibilities for all the baselines in the subarray are generated and transmitted to SDP). Valid receptor IDs include: SKA dishes: “SKAnnn”, where nnn is a zero padded integer in the range of 001 to 133. MeerKAT dishes: “MKTnnn”, where nnn is a zero padded integer in the range of 000 to 063. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
string |
|||
pattern |
|
||||
|
Frequency Slice to be processed on this FSP (valid range depends on the Frequency Band). |
||||
type |
integer |
||||
|
Bandwidth to be correlated calculated as FSBW/2n, where n is in range [0..6]. When n=0 the full Frequency Slice bandwidth is correlated. BW > 0 implies ‘Zoom Window’ configuration; the spectral Zoom Window tuning must be specified. |
||||
type |
integer |
||||
|
The Zoom Window tuning provided in absolute terms as RF center frequency. Based on that, CSP_Mid calculates tuning within the data stream received from the receptor. Must be selected so that the entire Zoom Window is within the Frequency Slice. If partially out of the FS a warning is generated. If completely outside of the FS an exception is generated. Step size <= 0.01MHz. The Frequency Band Offset can be used to shift the entire observed band in order to accommodate a Zoom Window that spans across a Frequency Slice boundary. |
||||
type |
integer |
||||
default |
null |
||||
|
Integration time for the correlation products, defines multiple of 140 milliseconds. |
||||
type |
integer |
||||
|
Table of up to 20 x 2 integers. Each of entries contains:
Explanation: Each FSP produces 14880 (TBC) fine channels across the correlated bandwidth (Frequency Slice or Zoom Window). Channels are evenly spaced in frequency. TM shall provide the table that for each FSP and each group of 744 channels (there are 20 groups per FSP) indicates the channel averaging factor. More precisely, for each group the TMC provided table specifies:
If no entry is present for an FSP, the averaging settings of the previous FSP are still applicable. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
type |
integer |
|||
|
Channel ID to use for visibilities of the first channel produced by this FSP. For example, if the channel offset is 5000 the first channel group would span IDs 5000-5743. Note that this offset does not apply to channel maps in this structure (such as channelAveragingMap or outputHost). |
||||
type |
integer |
||||
default |
null |
||||
|
Output links to emit visibilities on for every channel, given as a list of start channel ID to link ID. Where no value is given for concrete channel, the previous value should be used. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
anyOf |
type |
integer |
||
type |
string |
||||
|
Output host to send visibilities to for every channel, given as a list of start channel ID to host IP addresses in dot-decimal notation. Where no value is given for a concrete channel, the previous value should be used. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
anyOf |
type |
integer |
||
type |
string |
||||
|
Output port to send visibilities to for every channel, given as a list of start channel ID to port number. Where no value is given for a concrete channel, the previous value should be used. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
type |
integer |
|||
|
Output MAC address to send visibilities to for every channel, given as a list of start channel ID to IEEE 802 MAC addresses. Where no value is given for a concrete channel, the previous value should be used. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
anyOf |
type |
integer |
||
type |
string |
||||
additionalProperties |
False |
VLBI config 2.0
Very Long Baseline Interferometry specific parameters. To be borrowed from IICD This section contains the parameters relevant only for VLBI. This section is forwarded only to CSP subelement.
type |
object |
|
properties |
||
|
type |
string |
additionalProperties |
False |
Search window config 2.0
Up to two 300 MHz Search Windows can be optionally configured and used as input for Transient Data Capture and/or Pulsar Search beam-forming.
type |
object |
|||
properties |
||||
|
Identifier of the 300MHz Search Window. Unique within a sub-array. |
|||
type |
integer |
|||
|
The Search Window tuning is provided in absolute terms as RF center frequency. The Search Window must be placed within the observed band. If partially out of the observed Band a warning is generated. If completely outside of the observed Band an exception is generated. |
|||
type |
integer |
|||
|
Enable / disable Transient Data Capturefor the Search Window. |
|||
type |
boolean |
|||
|
Number of bits per sample (for the Transient Data Capture). Required if TDC is enabled, otherwise not specified. |
|||
type |
integer |
|||
default |
null |
|||
|
Users can trade the period of time for which data are saved and transmitted for the sample bit-width and/or the number of Search Windows. The exact information regarding the memory capacity per receptor and supported range will be provided in construction. The epoch is specified in the command that triggers TDC off-loading (transmission of data). |
|||
type |
integer |
|||
default |
null |
|||
|
see tdcPeriodBeforeEpoch |
|||
type |
integer |
|||
default |
null |
|||
|
Destination addresses (MAC, IP, port) for off-loading of the content of the Transient Data Capture Buffer, specified per receptor. The destination addresses for the content of the Transient Data Capture can be provided either as a part of the scan configuration or by the command that triggers transmission of the captured data. The latter, if provided, overrides previously set addresses. Required if TDC is enabled, otherwise not specified. |
|||
type |
array |
|||
default |
null |
|||
items |
anyOf |
type |
integer |
|
type |
string |
|||
additionalProperties |
False |
PSS configuration 2.0
type |
object |
|
properties |
||
|
type |
string |
default |
null |
|
additionalProperties |
False |
CSP config 1.0
Example (TMC input)
{
"interface": "https://schema.skatelescope.org/ska-csp-configure/1.0",
"subarray": {
"subarrayName": "science period 23"
},
"common": {
"id": "sbi-mvp01-20200325-00001-science_A",
"frequencyBand": "1",
"subarrayID": 1
},
"cbf": {
"fsp": [{
"fspID": 1,
"functionMode": "CORR",
"frequencySliceID": 1,
"integrationTime": 1400,
"corrBandwidth": 0,
"channelAveragingMap": [
[0, 2],
[744, 0]
],
"fspChannelOffset": 0,
"outputLinkMap": [
[0, 0],
[200, 1]
]
}, {
"fspID": 2,
"functionMode": "CORR",
"frequencySliceID": 2,
"integrationTime": 1400,
"corrBandwidth": 0,
"channelAveragingMap": [
[0, 2],
[744, 0]
],
"fspChannelOffset": 744,
"outputLinkMap": [
[0, 4],
[200, 5]
]
}],
"vlbi": {}
}
}
Example (CSP configuration for science_a scan)
{
"interface": "https://schema.skatelescope.org/ska-csp-configure/1.0",
"subarray": {
"subarrayName": "science period 23"
},
"common": {
"id": "sbi-mvp01-20200325-00001-science_A",
"frequencyBand": "1",
"subarrayID": 1
},
"cbf": {
"fsp": [{
"fspID": 1,
"functionMode": "CORR",
"frequencySliceID": 1,
"integrationTime": 1400,
"corrBandwidth": 0,
"channelAveragingMap": [
[0, 2],
[744, 0]
],
"fspChannelOffset": 0,
"outputLinkMap": [
[0, 0],
[200, 1]
],
"outputHost": [
[0, "192.168.0.1"],
[400, "192.168.0.2"]
],
"outputMac": [
[0, "06-00-00-00-00-00"]
],
"outputPort": [
[0, 9000, 1],
[400, 9000, 1]
]
}, {
"fspID": 2,
"functionMode": "CORR",
"frequencySliceID": 2,
"integrationTime": 1400,
"corrBandwidth": 0,
"channelAveragingMap": [
[0, 2],
[744, 0]
],
"fspChannelOffset": 744,
"outputLinkMap": [
[0, 4],
[200, 5]
],
"outputHost": [
[0, "192.168.0.3"],
[400, "192.168.0.4"]
],
"outputMac": [
[0, "06-00-00-00-00-01"]
],
"outputPort": [
[0, 9000, 1],
[400, 9000, 1]
]
}],
"vlbi": {}
}
}
Example (CSP configuration for cal_a scan)
{
"interface": "https://schema.skatelescope.org/ska-csp-configure/1.0",
"subarray": {
"subarrayName": "science period 23"
},
"common": {
"id": "sbi-mvp01-20200325-00001-science_A",
"frequencyBand": "1",
"subarrayID": 1
},
"cbf": {
"fsp": [{
"fspID": 1,
"functionMode": "CORR",
"frequencySliceID": 1,
"integrationTime": 1400,
"corrBandwidth": 0,
"channelAveragingMap": [
[0, 2],
[744, 0]
],
"fspChannelOffset": 0,
"outputLinkMap": [
[0, 0],
[200, 1]
],
"outputHost": [
[0, "192.168.1.1"]
],
"outputPort": [
[0, 9000, 1]
]
}, {
"fspID": 2,
"functionMode": "CORR",
"frequencySliceID": 2,
"integrationTime": 1400,
"corrBandwidth": 0,
"channelAveragingMap": [
[0, 2],
[744, 0]
],
"fspChannelOffset": 744,
"outputLinkMap": [
[0, 4],
[200, 5]
],
"outputHost": [
[0, "192.168.1.1"]
],
"outputPort": [
[0, 9744, 1]
]
}],
"vlbi": {}
}
}
type |
object |
||
properties |
|||
|
type |
string |
|
default |
null |
||
|
subarray section, containing the parameters relevant only for the current sub-array device. This section is not forwarded to any subelement. |
||
type |
object |
||
default |
null |
||
properties |
|||
|
Name and scope of current subarray the sub-array. |
||
type |
string |
||
additionalProperties |
False |
||
|
Common section, containing the parameters and the sections belonging to all CSP subsystems. This section is forwarded to all sub-elements. |
||
|
Correlator and Beamformer specific parameters. This section contains the parameters relevant only for CBF sub-element. This section is forwarded only to CBF subelement. Most of it to be borrowed from IICD |
||
|
default |
null |
|
|
Pulsar Timing specific parameters. To be borrowed from IICD |
||
type |
object |
||
default |
null |
||
properties |
|||
|
type |
string |
|
default |
null |
||
additionalProperties |
False |
||
additionalProperties |
False |
Common configuration schema 1.0
Common section, containing the parameters and the sections belonging to all CSP subsystems. This section is forwarded to all sub-elements.
type |
object |
||
properties |
|||
|
type |
string |
|
default |
null |
||
|
Execution block ID to associate scan configs to an observation. This ID is used for associating generated data, especially data products, for a given observation. Multiple scans can be linked to one observation and this ID is used as metadata to associate the data products from all scans of the same observation. This ID does not have to be unique for a scan configuration but should be unique for different observations. For example, all the data and weights files will have an EB_ID header value populated with the value supplied in this field. |
||
type |
string |
||
pattern |
^eb\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
||
default |
null |
||
|
Center frequency for the Band-of-Interest. Required if Band is 5a or 5b; not specified for other Bands (not configurable for Band 1, 2, 3 and 4). Input for Band 5a and 5b consists of two 2.5 GHz streams; the center frequency can be independently tuned for each stream. The following nomenclature is used to refer to Band 5a and 5b streams: 5a1, 5a2, 5b1, 5b2. |
||
type |
array |
||
default |
null |
||
items |
type |
number |
|
|
Frequency band applies for all the receptors (VCCs) that belong to the sub-array. |
||
type |
string |
||
pattern |
^(1|2|3|4|5(a|b))$ |
||
|
Subarray number |
||
type |
integer |
||
additionalProperties |
False |
CBF config 1.0
Correlator and Beamformer specific parameters. This section contains the parameters relevant only for CBF sub-element. This section is forwarded only to CBF subelement. Most of it to be borrowed from IICD
type |
object |
|
properties |
||
|
Optionally, an offset can be specified so that the entire observed band is shifted (to accommodate a Zoom Window that crosses a ‘natural’ Frequency Slice boundary). If specified, applies for all the receptors in the sub-array. Bands 1, 2, 3 and 4: input from the receptor consists of a single data stream; the Frequency Band Offset (FBO) should be specified for Stream 1 only. Bands 5a and 5b: input from the receptor consists of two data streams; the FBO can be specified for each stream independently. Note: For Band 5a and 5b the frequency shift is performed by the receptor (DISH). Note: This is optional and does not need to be implemented in PI3, but would be great for demo; if Team Buttons is looking for opportunities to showcase interesting GUIs, Zoom Windows are perfect opportunity (would require TMC and CSP to support these two parameters, corrBandwidth values > 0 and zoom window tuning.) |
|
type |
integer |
|
default |
null |
|
|
See frequencyBandOffsetStream1 |
|
type |
integer |
|
default |
null |
|
|
FQDN of TMC.DelayModel TANGO attribute which exposes delay values for all the dishes assigned to a Subarray in JSON format. Delay values are updated every 10 seconds. |
|
type |
string |
|
default |
null |
|
|
The same model applies for all receptors that belong to the subarray. Delivered by TMC using publish-subscribe mechanism (see ICD Section 3.8.8.5.3). The Doppler phase correction, by default, applies only to the CSP_Mid Processing Mode Correlation; optionally may apply to other Processing Modes as well. |
|
type |
string |
|
default |
null |
|
|
Specified as needed in advance of the scan start and/or during the scan. Delivered using publish-subscribe mechanism (see ICD Section 3.8.8.5.7). |
|
type |
object |
|
default |
null |
|
properties |
||
additionalProperties |
True |
|
|
type |
array |
items |
||
|
Very Long Baseline Interferometry specific parameters. To be borrowed from IICD This section contains the parameters relevant only for VLBI. This section is forwarded only to CSP subelement. |
|
default |
null |
|
|
type |
array |
default |
null |
|
items |
Up to two 300 MHz Search Windows can be optionally configured and used as input for Transient Data Capture and/or Pulsar Search beam-forming. |
|
additionalProperties |
False |
FSP config 1.0
type |
object |
||||
properties |
|||||
|
type |
integer |
|||
|
allOf |
type |
string |
||
enum |
CORR, PSS-BF, PST-BF, VLBI |
||||
|
Optionally a subset of receptors to be correlated can be specified. If not specified, all receptors that belong to the subarray are cross-correlated (i.e. visibilities for all the baselines in the subarray are generated and transmitted to SDP). Valid receptor IDs include: SKA dishes: “SKAnnn”, where nnn is a zero padded integer in the range of 001 to 133. MeerKAT dishes: “MKTnnn”, where nnn is a zero padded integer in the range of 000 to 063. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
string |
|||
pattern |
|
||||
|
Frequency Slice to be processed on this FSP (valid range depends on the Frequency Band). |
||||
type |
integer |
||||
|
Bandwidth to be correlated calculated as FSBW/2n, where n is in range [0..6]. When n=0 the full Frequency Slice bandwidth is correlated. BW > 0 implies ‘Zoom Window’ configuration; the spectral Zoom Window tuning must be specified. |
||||
type |
integer |
||||
|
The Zoom Window tuning provided in absolute terms as RF center frequency. Based on that, CSP_Mid calculates tuning within the data stream received from the receptor. Must be selected so that the entire Zoom Window is within the Frequency Slice. If partially out of the FS a warning is generated. If completely outside of the FS an exception is generated. Step size <= 0.01MHz. The Frequency Band Offset can be used to shift the entire observed band in order to accommodate a Zoom Window that spans across a Frequency Slice boundary. |
||||
type |
integer |
||||
default |
null |
||||
|
Integration time for the correlation products, defines multiple of 140 milliseconds. |
||||
const |
1400 |
||||
|
Table of up to 20 x 2 integers. Each of entries contains:
Explanation: Each FSP produces 14880 (TBC) fine channels across the correlated bandwidth (Frequency Slice or Zoom Window). Channels are evenly spaced in frequency. TM shall provide the table that for each FSP and each group of 744 channels (there are 20 groups per FSP) indicates the channel averaging factor. More precisely, for each group the TMC provided table specifies:
If no entry is present for an FSP, the averaging settings of the previous FSP are still applicable. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
type |
integer |
|||
|
Channel ID to use for visibilities of the first channel produced by this FSP. For example, if the channel offset is 5000 the first channel group would span IDs 5000-5743. Note that this offset does not apply to channel maps in this structure (such as channelAveragingMap or outputHost). |
||||
type |
integer |
||||
default |
null |
||||
|
Output links to emit visibilities on for every channel, given as a list of start channel ID to link ID. Where no value is given for concrete channel, the previous value should be used. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
anyOf |
type |
integer |
||
type |
string |
||||
|
Output host to send visibilities to for every channel, given as a list of start channel ID to host IP addresses in dot-decimal notation. Where no value is given for a concrete channel, the previous value should be used. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
anyOf |
type |
integer |
||
type |
string |
||||
|
Output port to send visibilities to for every channel, given as a list of start channel ID to port number. Where no value is given for a concrete channel, the previous value should be used. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
type |
integer |
|||
|
Output MAC address to send visibilities to for every channel, given as a list of start channel ID to IEEE 802 MAC addresses. Where no value is given for a concrete channel, the previous value should be used. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
anyOf |
type |
integer |
||
type |
string |
||||
additionalProperties |
False |
VLBI config 1.0
Very Long Baseline Interferometry specific parameters. To be borrowed from IICD This section contains the parameters relevant only for VLBI. This section is forwarded only to CSP subelement.
type |
object |
|
properties |
||
|
type |
string |
additionalProperties |
False |
Search window config 1.0
Up to two 300 MHz Search Windows can be optionally configured and used as input for Transient Data Capture and/or Pulsar Search beam-forming.
type |
object |
|||
properties |
||||
|
Identifier of the 300MHz Search Window. Unique within a sub-array. |
|||
type |
integer |
|||
|
The Search Window tuning is provided in absolute terms as RF center frequency. The Search Window must be placed within the observed band. If partially out of the observed Band a warning is generated. If completely outside of the observed Band an exception is generated. |
|||
type |
integer |
|||
|
Enable / disable Transient Data Capturefor the Search Window. |
|||
type |
boolean |
|||
|
Number of bits per sample (for the Transient Data Capture). Required if TDC is enabled, otherwise not specified. |
|||
type |
integer |
|||
default |
null |
|||
|
Users can trade the period of time for which data are saved and transmitted for the sample bit-width and/or the number of Search Windows. The exact information regarding the memory capacity per receptor and supported range will be provided in construction. The epoch is specified in the command that triggers TDC off-loading (transmission of data). |
|||
type |
integer |
|||
default |
null |
|||
|
see tdcPeriodBeforeEpoch |
|||
type |
integer |
|||
default |
null |
|||
|
Destination addresses (MAC, IP, port) for off-loading of the content of the Transient Data Capture Buffer, specified per receptor. The destination addresses for the content of the Transient Data Capture can be provided either as a part of the scan configuration or by the command that triggers transmission of the captured data. The latter, if provided, overrides previously set addresses. Required if TDC is enabled, otherwise not specified. |
|||
type |
array |
|||
default |
null |
|||
items |
anyOf |
type |
integer |
|
type |
string |
|||
additionalProperties |
False |
PSS configuration 1.0
type |
object |
|
properties |
||
|
type |
string |
default |
null |
|
additionalProperties |
False |
CSP config 0.1
Example (TMC input)
{
"id": "sbi-mvp01-20200325-00001-science_A",
"frequencyBand": "1",
"fsp": [{
"fspID": 1,
"functionMode": "CORR",
"frequencySliceID": 1,
"integrationTime": 1400,
"corrBandwidth": 0,
"channelAveragingMap": [
[0, 2],
[744, 0]
],
"fspChannelOffset": 0,
"outputLinkMap": [
[0, 0],
[200, 1]
]
}, {
"fspID": 2,
"functionMode": "CORR",
"frequencySliceID": 2,
"integrationTime": 1400,
"corrBandwidth": 0,
"channelAveragingMap": [
[0, 2],
[744, 0]
],
"fspChannelOffset": 744,
"outputLinkMap": [
[0, 4],
[200, 5]
]
}]
}
Example (CSP configuration for science_a scan)
{
"id": "sbi-mvp01-20200325-00001-science_A",
"frequencyBand": "1",
"fsp": [{
"fspID": 1,
"functionMode": "CORR",
"frequencySliceID": 1,
"integrationTime": 1400,
"corrBandwidth": 0,
"channelAveragingMap": [
[0, 2],
[744, 0]
],
"fspChannelOffset": 0,
"outputLinkMap": [
[0, 0],
[200, 1]
],
"outputHost": [
[0, "192.168.0.1"],
[400, "192.168.0.2"]
],
"outputMac": [
[0, "06-00-00-00-00-00"]
],
"outputPort": [
[0, 9000, 1],
[400, 9000, 1]
]
}, {
"fspID": 2,
"functionMode": "CORR",
"frequencySliceID": 2,
"integrationTime": 1400,
"corrBandwidth": 0,
"channelAveragingMap": [
[0, 2],
[744, 0]
],
"fspChannelOffset": 744,
"outputLinkMap": [
[0, 4],
[200, 5]
],
"outputHost": [
[0, "192.168.0.3"],
[400, "192.168.0.4"]
],
"outputMac": [
[0, "06-00-00-00-00-01"]
],
"outputPort": [
[0, 9000, 1],
[400, 9000, 1]
]
}]
}
Example (CSP configuration for cal_a scan)
{
"id": "sbi-mvp01-20200325-00001-science_A",
"frequencyBand": "1",
"fsp": [{
"fspID": 1,
"functionMode": "CORR",
"frequencySliceID": 1,
"integrationTime": 1400,
"corrBandwidth": 0,
"channelAveragingMap": [
[0, 2],
[744, 0]
],
"fspChannelOffset": 0,
"outputLinkMap": [
[0, 0],
[200, 1]
],
"outputHost": [
[0, "192.168.1.1"]
],
"outputPort": [
[0, 9000, 1]
]
}, {
"fspID": 2,
"functionMode": "CORR",
"frequencySliceID": 2,
"integrationTime": 1400,
"corrBandwidth": 0,
"channelAveragingMap": [
[0, 2],
[744, 0]
],
"fspChannelOffset": 744,
"outputLinkMap": [
[0, 4],
[200, 5]
],
"outputHost": [
[0, "192.168.1.1"]
],
"outputPort": [
[0, 9744, 1]
]
}]
}
type |
object |
||
properties |
|||
|
type |
string |
|
default |
null |
||
|
Execution block ID to associate scan configs to an observation. This ID is used for associating generated data, especially data products, for a given observation. Multiple scans can be linked to one observation and this ID is used as metadata to associate the data products from all scans of the same observation. This ID does not have to be unique for a scan configuration but should be unique for different observations. For example, all the data and weights files will have an EB_ID header value populated with the value supplied in this field. |
||
type |
string |
||
pattern |
^eb\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
||
default |
null |
||
|
Center frequency for the Band-of-Interest. Required if Band is 5a or 5b; not specified for other Bands (not configurable for Band 1, 2, 3 and 4). Input for Band 5a and 5b consists of two 2.5 GHz streams; the center frequency can be independently tuned for each stream. The following nomenclature is used to refer to Band 5a and 5b streams: 5a1, 5a2, 5b1, 5b2. |
||
type |
array |
||
default |
null |
||
items |
type |
number |
|
|
Frequency band applies for all the receptors (VCCs) that belong to the sub-array. |
||
type |
string |
||
pattern |
^(1|2|3|4|5(a|b))$ |
||
|
type |
array |
|
items |
|||
additionalProperties |
False |
FSP config 0.1
type |
object |
||||
properties |
|||||
|
type |
integer |
|||
|
allOf |
type |
string |
||
enum |
CORR, PSS-BF, PST-BF, VLBI |
||||
|
Optionally a subset of receptors to be correlated can be specified. If not specified, all receptors that belong to the subarray are cross-correlated (i.e. visibilities for all the baselines in the subarray are generated and transmitted to SDP). Valid receptor IDs include: SKA dishes: “SKAnnn”, where nnn is a zero padded integer in the range of 001 to 133. MeerKAT dishes: “MKTnnn”, where nnn is a zero padded integer in the range of 000 to 063. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
string |
|||
pattern |
|
||||
|
Frequency Slice to be processed on this FSP (valid range depends on the Frequency Band). |
||||
type |
integer |
||||
|
Bandwidth to be correlated calculated as FSBW/2n, where n is in range [0..6]. When n=0 the full Frequency Slice bandwidth is correlated. BW > 0 implies ‘Zoom Window’ configuration; the spectral Zoom Window tuning must be specified. |
||||
type |
integer |
||||
|
The Zoom Window tuning provided in absolute terms as RF center frequency. Based on that, CSP_Mid calculates tuning within the data stream received from the receptor. Must be selected so that the entire Zoom Window is within the Frequency Slice. If partially out of the FS a warning is generated. If completely outside of the FS an exception is generated. Step size <= 0.01MHz. The Frequency Band Offset can be used to shift the entire observed band in order to accommodate a Zoom Window that spans across a Frequency Slice boundary. |
||||
type |
integer |
||||
default |
null |
||||
|
Integration time for the correlation products, defines multiple of 140 milliseconds. |
||||
const |
1400 |
||||
|
Table of up to 20 x 2 integers. Each of entries contains:
Explanation: Each FSP produces 14880 (TBC) fine channels across the correlated bandwidth (Frequency Slice or Zoom Window). Channels are evenly spaced in frequency. TM shall provide the table that for each FSP and each group of 744 channels (there are 20 groups per FSP) indicates the channel averaging factor. More precisely, for each group the TMC provided table specifies:
If no entry is present for an FSP, the averaging settings of the previous FSP are still applicable. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
type |
integer |
|||
|
Channel ID to use for visibilities of the first channel produced by this FSP. For example, if the channel offset is 5000 the first channel group would span IDs 5000-5743. Note that this offset does not apply to channel maps in this structure (such as channelAveragingMap or outputHost). |
||||
type |
integer |
||||
default |
null |
||||
|
Output links to emit visibilities on for every channel, given as a list of start channel ID to link ID. Where no value is given for concrete channel, the previous value should be used. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
anyOf |
type |
integer |
||
type |
string |
||||
|
Output host to send visibilities to for every channel, given as a list of start channel ID to host IP addresses in dot-decimal notation. Where no value is given for a concrete channel, the previous value should be used. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
anyOf |
type |
integer |
||
type |
string |
||||
|
Output port to send visibilities to for every channel, given as a list of start channel ID to port number. Where no value is given for a concrete channel, the previous value should be used. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
type |
integer |
|||
|
Output MAC address to send visibilities to for every channel, given as a list of start channel ID to IEEE 802 MAC addresses. Where no value is given for a concrete channel, the previous value should be used. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
anyOf |
type |
integer |
||
type |
string |
||||
additionalProperties |
False |
ska-csp-scan
CSP scan 2.2
Example JSON
{
"interface": "https://schema.skao.int/ska-csp-scan/2.2",
"scan_id": 7
}
type |
object |
|
properties |
||
|
URI of JSON schema applicable to this JSON payload. |
|
type |
string |
|
|
Scan ID to associate with the data. |
|
type |
integer |
|
additionalProperties |
False |
ska-csp-endscan
CSP endscan 2.2
Example JSON
{
"interface": "https://schema.skao.int/ska-csp-endscan/2.2",
"scan_id": 15
}
type |
object |
|
properties |
||
|
URI of JSON schema applicable to this JSON payload. |
|
type |
string |
|
|
Scan ID to end. |
|
type |
integer |
|
additionalProperties |
False |
ska-csp-releaseresources
CSP releaseresources 2.2
Example JSON
{
"interface": "https://schema.skao.int/ska-csp-releaseresources/2.2",
"subarray_id": 1,
"release_all": true,
"receptor_ids": ["SKA001", "SKA036"]
}
type |
object |
||
properties |
|||
|
URI of JSON schema applicable to this JSON payload. |
||
type |
string |
||
|
Subarray ID which will have its resource(s) released. |
||
type |
integer |
||
|
Set to true if you wish to release all resources assigned to the Subarray. |
||
type |
boolean |
||
default |
null |
||
|
The list of receptors that will be released from the Subarray ID. Receptor IDs can be any string, not necessarily numbers. Valid receptor IDs include: SKA dishes: “SKAnnn”, where nnn is a zero padded integer in the range of 001 to 133. MeerKAT dishes: “MKTnnn”, where nnn is a zero padded integer in the range of 000 to 063. |
||
type |
array |
||
default |
null |
||
items |
type |
string |
|
pattern |
|
||
additionalProperties |
False |
ska-csp-delaymodel
CSP delaymodel 3.0
Example JSON
{
"interface": "https://schema.skao.int/ska-mid-csp-delaymodel/3.0",
"start_validity_sec": 748656000.0,
"cadence_sec": 10.0,
"validity_period_sec": 30.0,
"config_id": "sbi-mvp01-20200325-00001-science_A",
"subarray": 2,
"receptor_delays": [{
"receptor": "SKA001",
"xypol_coeffs_ns": [750.0, 0.0046, -2e-06, -4.1e-12, 9e-16, -1.9e-19],
"ypol_offset_ns": -0.1
}, {
"receptor": "SKA002",
"xypol_coeffs_ns": [750.0, 0.0046, -2e-06, -4.1e-12, 9e-16, -1.9e-19],
"ypol_offset_ns": -0.1
}]
}
type |
object |
|
properties |
||
|
URI of JSON schema applicable to this JSON payload. |
|
type |
string |
|
|
Time when delay model becomes valid (when Mid.CBF shall apply the new model), specified as the number of seconds since the 1999-12-31T23:59:28Z UTC (SKA epoch). Range: Non-zero positive number |
|
type |
number |
|
|
The time in SI seconds of the planned validity period of the delay model, measured from start_validity_sec. Also indicates that the next delay model should be issued no more than cadence_sec later than the current delay model that was issued. This is a configurable field and may change during operations, but the expected value for Mid.CBF is 10 seconds. Mid.CBF will expect the next delay model it receives to have a start_validity_sec <= (current start_validity_sec + cadence_sec). If such a delay model does not arrive, Mid.CBF will continue to use the current delay model, up to the maximum acceptable validity period, which is validity_period_sec. At that point, if a new delay model still hasn’t arrived, Mid.CBF will stop processing (including outputting products) and will issue an error message. Range: Non-zero positive number |
|
type |
number |
|
|
The maximum acceptable delay model validity period in SI seconds, starting at start_validity_sec. This is a configurable field and may change during operations, but the expected value for Mid.CBF is 30 seconds. If Mid.CBF has not received, as expected, a new delay model with a new start_validity_sec <= (start_validity_sec + cadence_sec), it will continue to use the current delay model for up to validity_period_sec seconds. At that point, if a new delay model still hasn’t arrived, Mid.CBF will stop processing (including outputting products) and will issue an error message. Range: Non-zero positive number |
|
type |
number |
|
|
The configuration ID of the scan that this delay model applies to. Corresponds to “config_id” provided in the scan configuration. This field is used to ensure that the CBF does not use delay models from a previous observation at the start of a new observation. |
|
type |
string |
|
|
The subarray to which the delay models apply. Range: Integer from 1-16 inclusive |
|
type |
integer |
|
|
type |
array |
items |
||
additionalProperties |
False |
delay details 3.0
type |
object |
||
properties |
|||
|
The Receptor (Dish) ID to which the xypol_coeffs_ns and ypol_offset_ns apply. Valid receptor IDs include: SKA dishes: “SKAnnn”, where nnn is a zero padded integer in the range of 001 to 133. MeerKAT dishes: “MKTnnn”, where nnn is a zero padded integer in the range of 000 to 063. |
||
type |
string |
||
pattern |
|
||
|
The delay model for a receptor is specified as a set of coefficients for a 5th order polynomial. Coefficients of the polynomial are specified as an array. The Coefficients apply to both X and Y polarizations. 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 ns=nanoseconds s=seconds Type: 64 bit floating point number |
||
type |
array |
||
items |
type |
number |
|
|
Constant delay offset of polarization Y with respect to polarization X, in nanoseconds. Type: 64 bit floating point number |
||
type |
number |
||
additionalProperties |
False |
CSP delaymodel 2.2
Example JSON
{
"interface": "https://schema.skao.int/ska-csp-delaymodel/2.2",
"epoch": 12345678.123456,
"validity_period": 10.0,
"delay_details": [{
"receptor": "SKA001",
"poly_info": [{
"polarization": "X",
"coeffs": [1.01, 1.02, 1.03, 1.04, 1.05, 1.06]
}, {
"polarization": "Y",
"coeffs": [1.1, 1.2, 1.3, 1.4, 1.5, 1.6]
}]
}, {
"receptor": "SKA100",
"poly_info": [{
"polarization": "X",
"coeffs": [1.101, 1.102, 1.103, 1.104, 1.105, 1.106]
}, {
"polarization": "Y",
"coeffs": [1.11, 1.12, 1.13, 1.14, 1.15, 1.16]
}]
}]
}
type |
object |
|
properties |
||
|
URI of JSON schema applicable to this JSON payload. |
|
type |
string |
|
|
Time when delay model becomes valid (when Mid.CBF shall apply the new model) specified as an offset in seconds, expressed as a float number, from 1999-12-31T23:59:28Z UTC (which is called the ‘SKA epoch’). Range: 64-bit number |
|
type |
number |
|
|
validity period of the delay model (starting at epoch) [s] Range: positive number |
|
type |
number |
|
|
type |
array |
items |
||
additionalProperties |
False |
delay details 2.2
type |
object |
|
properties |
||
|
The Receptor (Dish) ID to which the poly_info coeffs apply. Valid receptor IDs include: SKA dishes: “SKAnnn”, where nnn is a zero padded integer in the range of 001 to 133. MeerKAT dishes: “MKTnnn”, where nnn is a zero padded integer in the range of 000 to 063. Range: any string |
|
type |
string |
|
pattern |
|
|
|
type |
array |
items |
||
additionalProperties |
False |
poly info 2.2
type |
object |
||
properties |
|||
|
Polarization of the delay model entry Range: X or Y |
||
type |
string |
||
|
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 Range for coefficients: 64 bit number |
||
type |
array |
||
items |
type |
number |
|
additionalProperties |
False |
ska-csp-low-delaymodel
CSP low delaymodel 1.0
Example JSON
{
"interface": "https://schema.skao.int/ska-low-csp-delaymodel/1.0",
"start_validity_sec": 748656000.0,
"cadence_sec": 10.0,
"validity_period_sec": 600.0,
"config_id": "sbi-mvp02-20200325-00001-science_A",
"station_beam": 5,
"subarray": 2,
"station_beam_delays": [{
"station_id": 512,
"substation_id": 3,
"xypol_coeffs_ns": [750.0, 0.0046, -2e-06, -4.1e-12, 9e-16, -1.9e-19],
"ypol_offset_ns": -0.1
}, {
"station_id": 1,
"substation_id": 0,
"xypol_coeffs_ns": [750.0, 0.0046, -2e-06, -4.1e-12, 9e-16, -1.9e-19],
"ypol_offset_ns": 0.5
}]
}
type |
object |
|
properties |
||
|
URI of JSON schema applicable to this JSON payload. Type: str |
|
type |
string |
|
|
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 |
|
|
Type: float Range: Non-zero positive number |
|
type |
number |
|
|
Validity period of the delay model (starting at epoch) [s] Type: float Range: Non-zero positive number |
|
type |
number |
|
|
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 |
|
|
The station beams for which the delay polynomials apply to. Type: int Range: Integer from 1-48 inclusive |
|
type |
integer |
|
|
The subarray for which the delay polynomials apply to. Type: int Range: Integer from 1-16 inclusive |
|
type |
integer |
|
|
type |
array |
items |
||
additionalProperties |
False |
station beam delays 1.0
type |
object |
||
properties |
|||
|
The station ids for which the delay polynomials apply to. Type: int Range: Integer from 1-512 inclusive |
||
type |
integer |
||
|
The substation ids for which the delay polynomials apply to. Type: int |
||
type |
integer |
||
|
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 |
|
|
Offset for the Y polarisation Type: float |
||
type |
number |
||
additionalProperties |
False |
Low Central Signal Processor schemas
Schemas used for commands for LOW CSP LMC.
ska-low-csp-assignresources
LOWCSP assign resources 3.0
Example (LOW CSP assignresources JSON v. 3.0)
{
"interface": "https://schema.skao.int/ska-low-csp-assignresources/3.0",
"common": {
"subarray_id": 1
},
"lowcbf": {},
"pss": {
"beams_id": [1, 2, 3]
},
"pst": {
"beams_id": [1]
}
}
type |
object |
|||
properties |
||||
|
URI of JSON schema for this command’s JSON payload. |
|||
type |
string |
|||
|
LOWCSP subarray id arguments |
|||
type |
object |
|||
properties |
||||
|
subarray id |
|||
type |
integer |
|||
additionalProperties |
False |
|||
|
Low CBF resources |
|||
|
Assign section for PST sub-system |
|||
type |
object |
|||
default |
null |
|||
properties |
||||
|
List of PST beam Ids to assign to the subarray. |
|||
type |
array |
|||
items |
type |
integer |
||
additionalProperties |
False |
|||
|
Assign section for PSS sub-system |
|||
type |
object |
|||
default |
null |
|||
properties |
||||
|
List of PSS beam Ids to assign to the subarray. |
|||
type |
array |
|||
items |
type |
integer |
||
additionalProperties |
False |
|||
additionalProperties |
False |
LOWCBF assign resources 0.2
type |
object |
|
properties |
||
|
LOWCBF assign resources (unused, empty) |
|
type |
string |
|
default |
null |
|
additionalProperties |
False |
LOWCSP assign resources 2.0
Example (LOW CSP assignresources JSON v. 2.0)
{
"interface": "https://schema.skao.int/ska-low-csp-assignresources/2.0",
"common": {
"subarray_id": 1
},
"lowcbf": {
"resources": [{
"device": "fsp_01",
"shared": true,
"fw_image": "pst",
"fw_mode": "unused"
}, {
"device": "p4_01",
"shared": true,
"fw_image": "p4.bin",
"fw_mode": "p4"
}]
},
"pss": {
"beams_id": [1, 2, 3]
},
"pst": {
"beams_id": [1]
}
}
type |
object |
|||
properties |
||||
|
URI of JSON schema for this command’s JSON payload. |
|||
type |
string |
|||
|
LOWCSP subarray id arguments |
|||
type |
object |
|||
properties |
||||
|
subarray id |
|||
type |
integer |
|||
additionalProperties |
False |
|||
|
Low CBF resources |
|||
type |
object |
|||
properties |
||||
|
array of LOWCBF resources |
|||
type |
array |
|||
items |
||||
additionalProperties |
False |
|||
|
Assign section for PST sub-system |
|||
type |
object |
|||
default |
null |
|||
properties |
||||
|
List of PST beam Ids to assign to the subarray. |
|||
type |
array |
|||
items |
type |
integer |
||
additionalProperties |
False |
|||
|
Assign section for PSS sub-system |
|||
type |
object |
|||
default |
null |
|||
properties |
||||
|
List of PSS beam Ids to assign to the subarray. |
|||
type |
array |
|||
items |
type |
integer |
||
additionalProperties |
False |
|||
additionalProperties |
False |
LOWCBF resources 0.1
type |
object |
|
properties |
||
|
Name of FSP or P4 device |
|
type |
string |
|
|
Whether device is shared with other subarrays |
|
type |
boolean |
|
|
Name of firmware image to load on device |
|
type |
string |
|
default |
null |
|
|
Mode in which firmware runs |
|
type |
string |
|
default |
null |
|
additionalProperties |
False |
ska-low-csp-configure
Examples for the different versions of the configure schema
JSON schema and example for Configure version 4.0
This schema includes the changes performed by the Nakshatra team to fix the incompatibilities between the different published and used schemas.
LOWCSP configure 4.0
Example (LOW CSP Configuration for CBF 1.0, PST 2.5)
{
"interface": "https://schema.skao.int/ska-low-csp-configure/4.0",
"subarray": {
"subarray_name": "science period 23"
},
"common": {
"config_id": "sbi-mvp01-20200325-00001-science_A",
"subarray_id": 1,
"eb_id": "eb-x449-20231105-34696"
},
"lowcbf": {
"stations": {
"stns": [
[1, 1],
[2, 1],
[3, 1],
[4, 1],
[5, 1],
[6, 1]
],
"stn_beams": [{
"stn_beam_id": 1,
"freq_ids": [400],
"delay_poly": "tango://delays.skao.int/low/stn-beam/1"
}]
},
"vis": {
"fsp": {
"function_mode": "vis",
"fsp_ids": [1]
},
"stn_beams": [{
"stn_beam_id": 1,
"host": [
[0, "192.168.0.1"]
],
"port": [
[0, 9000, 1]
],
"mac": [
[0, "02-03-04-0a-0b-0c"]
],
"integration_ms": 849
}]
}
},
"pss": {},
"pst": {
"beams": []
}
}
Low CSP specific parameters. This section contains the parameters relevant to configure the Low CSP sub-system.
type |
object |
||
properties |
|||
|
URI of JSON schema for this command’sJSON payload.. |
||
type |
string |
||
|
Subarray elements |
||
type |
object |
||
default |
null |
||
properties |
|||
|
Name and scope of current subarray the sub-array. |
||
type |
string |
||
additionalProperties |
False |
||
|
Common section, containing the parameters and the sections belonging to all CSP subsystems. This section is forwarded to all sub-elements. |
||
|
Correlator and Beamformer specific parameters. This section contains the parameters relevant only for CBF sub-system. This section is forwarded only to CBF subelement. |
||
default |
null |
||
|
Section with parameters to configure the PSS sub-system |
||
default |
null |
||
|
Section with parameters to configure the PST sub-system. |
||
default |
null |
||
additionalProperties |
False |
Common configuration schema 4.0
Common section, containing the parameters and the sections belonging to all CSP subsystems. This section is forwarded to all sub-elements.
type |
object |
|
properties |
||
|
type |
string |
default |
null |
|
|
Subarray number |
|
type |
integer |
|
|
Execution block ID to associate scan configs to an observation. This ID is used for associating generated data, especially data products, for a given observation. Multiple scans can be linked to one observation and this ID is used as metadata to associate the data products from all scans of the same observation. This ID does not have to be unique for a scan configuration but should be unique for different observations. For example, all the data and weights files will have an EB_ID header value populated with the value supplied in this field. |
|
type |
string |
|
pattern |
^eb\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
|
default |
null |
|
additionalProperties |
False |
LOWCBF subarray configurescan 1.0
Correlator and Beamformer specific parameters. This section contains the parameters relevant only for CBF sub-system. This section is forwarded only to CBF subelement.
type |
object |
||||
properties |
|||||
|
Subarray Stations and station beam inputdescriptions |
||||
|
PST beam outputs descriptions |
||||
default |
null |
||||
|
PSS beam outputs descriptions |
||||
type |
string |
||||
default |
null |
||||
|
Visibility output descriptions |
||||
type |
object |
||||
default |
null |
||||
properties |
|||||
|
FSPs used for correlation |
||||
type |
object |
||||
properties |
|||||
|
Firmware name |
||||
type |
string |
||||
|
List of IDs (integer) |
||||
type |
array |
||||
items |
type |
integer |
|||
additionalProperties |
False |
||||
|
SDP visibility destinations |
||||
type |
array |
||||
items |
|||||
additionalProperties |
False |
||||
|
Zoom visibility output descriptions |
||||
type |
string |
||||
default |
null |
||||
additionalProperties |
False |
Subarray stations and station beams 1.0
Station and station beams parameters
type |
object |
||||
properties |
|||||
|
type |
array |
|||
items |
type |
array |
|||
items |
type |
integer |
|||
|
type |
array |
|||
items |
type |
object |
|||
properties |
|||||
|
station beam id |
||||
type |
integer |
||||
|
list of station beam frequency ids |
||||
type |
array |
||||
items |
type |
integer |
|||
|
URL |
||||
type |
string |
||||
additionalProperties |
False |
||||
additionalProperties |
False |
outer 1.0
type |
object |
|||
properties |
||||
|
inner |
|||
type |
array |
|||
items |
||||
|
FSPs used by PST |
|||
type |
object |
|||
properties |
||||
|
Firmware name |
|||
type |
string |
|||
|
List of IDs (integer) |
|||
type |
array |
|||
items |
type |
integer |
||
additionalProperties |
False |
|||
additionalProperties |
False |
PST beams description 1.0
type |
object |
||
properties |
|||
|
Station beam ID for pst beamforming |
||
type |
integer |
||
|
PST beam ID |
||
type |
integer |
||
|
Jones matrix source URI |
||
type |
string |
||
|
weights for each station |
||
type |
array |
||
items |
type |
number |
|
|
Master enable for RFI flagging |
||
type |
array |
||
default |
null |
||
items |
type |
boolean |
|
|
Freqency IDs to be always flagged |
||
type |
array |
||
default |
null |
||
items |
type |
integer |
|
|
Frequency IDs to be dynamically flagged |
||
type |
array |
||
default |
null |
||
items |
type |
integer |
|
|
Parameter for dynamic flagging |
||
type |
number |
||
default |
null |
||
|
Delay polynomial source URI |
||
type |
string |
||
additionalProperties |
False |
Station beams to correlate 1.0
type |
object |
||||
properties |
|||||
|
Station Beam ID |
||||
type |
integer |
||||
|
milliseconds integration |
||||
type |
integer |
||||
|
SDP channel & IP Address |
||||
type |
array |
||||
items |
type |
array |
|||
items |
anyOf |
type |
integer |
||
type |
string |
||||
|
SDP chan & UDP port, stride |
||||
type |
array |
||||
items |
type |
array |
|||
items |
type |
integer |
|||
|
SDP channel & server MAC |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
anyOf |
type |
integer |
||
type |
string |
||||
additionalProperties |
False |
PSS configuration 2.0
type |
object |
|
properties |
||
|
type |
string |
default |
null |
|
additionalProperties |
False |
LOW PST configure 2.5
Main configuration for the Low CSP Pulsar timing sub-system
type |
object |
|||
properties |
||||
|
List of PST Beams IDs to configure |
|||
type |
array |
|||
items |
Parameters to configure the PST sub-system |
|||
type |
object |
|||
properties |
||||
|
Configuration for a PST beam ID |
|||
type |
integer |
|||
|
Parameters to configure the scan |
|||
|
Parameter to configure the beam |
|||
default |
null |
|||
additionalProperties |
False |
|||
additionalProperties |
False |
PST scan configuration 2.5
Pulsar Timing specific scan configuration parameters.
type |
object |
|||
properties |
||||
|
Date and time when to start the PST reconfiguration. Units: UTC timestamp Keyword: ACTIVATION_TIME |
|||
type |
string |
|||
|
Identifier assigned by LMC/TM used to identify the beam configuraiton. PST selects which PST server to use for this scan and timing beam, and provides a mapping from the timing beam identifier by the TM to PST capability id. Keyword: BEAM |
|||
type |
string |
|||
default |
null |
|||
|
The number of bits per complex-values time sample in the CBF output data. Valid values are 16, 24, or 32. Keyword: NBIT |
|||
type |
integer |
|||
|
The number of polarizations in the CBF output data. Valid values are 1 or 2. Keyword: NPOL |
|||
type |
integer |
|||
|
The number of time samples for each single polarization and the a single frequency in each UDP packet sent by CBF. Note: this must be an integer multiple of WT_NSMAP Range: 4 (Low), 32 (Mid) Keyword: UDP_NSAMP |
|||
type |
integer |
|||
|
The number of time samples described by as single relative weight. There is a unique relative weight for each frequency channel, and each relative weight describes both polarizations. Range: 4 (Low), 32 (Mid) Keyword: WT_NSAMP |
|||
type |
integer |
|||
|
The number of contiguous frequency channels in each UDP packet sent by CBF. Range: 24 (Low), 185 (Mid) Keyword: UDP_NCHAN |
|||
type |
integer |
|||
|
The total number of frequency channels into which the total critical bandwidth has been divided. This must be an integer multiple of udp_nchan Range: 1 to 82944 Keyword: OBSNCHAN |
|||
type |
integer |
|||
|
Centre frequency of to the total (critical) bandwidth spanned by the frequency channels. Units: Hz Range: 50e6 to 12800e6 Keyword: OBSFREQ |
|||
type |
number |
|||
|
Total (critical) bandwidth spanned by the channels of the observation. Low: 0.00361 to 300 MHz Mid: 0.053.76 to 2500 MHz Units: Hz Range: 3610 to 2.5e9 Keyword: OBSBW |
|||
type |
number |
|||
|
The observation mode used for the scan. The value VOLTAGE_RECORDER is added for AA0.5, while the other values will be needed for in the future for data processing. Keyword: OBSMODE |
|||
allOf |
type |
string |
||
enum |
PULSAR_TIMING, DYNAMIC_SPECTRUM, FLOW_THROUGH, VOLTAGE_RECORDER |
|||
|
The observer in charge of the observations. Keyword: OBSERVER |
|||
type |
string |
|||
|
The project that the observations are for. Keyword: PROJID |
|||
type |
string |
|||
|
The ID for the sub-array pointing. Keyword: PNT_ID |
|||
type |
string |
|||
|
The name of the source. Keyword: SRC_NAME |
|||
type |
string |
|||
|
The International Terrestrial Reference Frame (ITRF) coordinates of the telescope delay centre. Units: metres Keyword: ITRF |
|||
type |
array |
|||
items |
type |
number |
||
|
The receiver name or ID (instrument). Keyword: FRONTEND |
|||
type |
string |
|||
|
The native polarization of feed. Range: LIN or CIRC Keyword: FD_POLN |
|||
allOf |
type |
string |
||
enum |
LIN, CIRC |
|||
|
Code for sense of feed. For value of +1 for XYZ forming RH set with Z in the direction of propagation. Looking up into the feed of a prime-focus receiver or at the sky). For FD_HAND = +1, the rotation from A (or X) to B (or Y) is counter clockwise or in the direction of increasing Feed Angle (FA) or Position Angle (PA). For circular feeds, FD_HAND = +1 for IEEE LCP on the A (or X) probe. Range: -1 or +1 Keyword: FD_HAND |
|||
allOf |
type |
integer |
||
enum |
-1, 1 |
|||
|
Feed angle of the E-vector for an equal in-phase response from the A(X) and B(Y) probes, measured in the direction of increasing feed angle or position angle (clockwise when looking down on a prime focuse receiver). Units: degrees Range: -180 to 180. Keyword: FD_SANG |
|||
type |
number |
|||
|
The tracking mode for the feed:
Range: FA, CPA, SPA, or TPA Keyword: FD_MODE |
|||
allOf |
type |
string |
||
enum |
FA, CPA, SPA, TPA |
|||
|
The requested angle of feed reference. For feed_mode = ‘FA’ this is respect to the telescope’s reference frame (feed_angle = 0), and for feed_mode = ‘CPA’ this is with respect to the celestial north (parallic angle = 0) or with respect to the Galactic north for coordinate_mode = ‘GALACTIC’. Range: -180 to +180. Keyword: FA_REQ |
|||
type |
number |
|||
|
The oversampling ratio expressed as a fraction as an array of int, with the first value the numerator and the second is the denominator. (e.g. 8/7 is assigned as [8,7]). Range: 8/7 or 4/3 Keyword: OVERSAMP |
|||
type |
array |
|||
items |
type |
integer |
||
|
The tied-array beam’s tracking co-ordinates. As of version 2.2 of the schema this only handles equitorial tracking which means uses RA/Dec J2000.0 coords but PST may support different tracking modes and coordinates the future. |
|||
|
The maximum length of the observation. Units: seconds Range: 30 - 43200 Keyword: SCANLEN_MAX |
|||
type |
number |
|||
|
The length of each output sub-integration. Units: seconds Range: 1 - 60 Keyword: OUTSUBINT |
|||
type |
number |
|||
|
An array of receptor IDs for the receptors included in the sub-array. Keyword: ANTENNA |
|||
type |
array |
|||
items |
type |
string |
||
|
Weight for each receptor. Range: 0 - 1.0 Keyword: ANT_WEIGHTS |
|||
type |
array |
|||
items |
type |
number |
||
|
The number of frequency ranges to be masked. Range: 0 - 1024 Keyword: NMASK |
|||
type |
integer |
|||
default |
0 |
|||
|
A two-dimensional array of length of num_frequency_mask of known RFI frequency ranges to excise from the data. The array contains mask pairs of [f_min, f_max] pairs for known frequency ranges containing RFI not excised by the CBF. The overall dimension of this array is num_frequency_mask x 2. Units: Hz Keyword: FREQ_MASK |
|||
type |
array |
|||
default |
null |
|||
items |
type |
array |
||
items |
type |
number |
||
|
The destination address for the PST output data. Includes IPv4 Address, port number. |
|||
type |
array |
|||
default |
null |
|||
items |
anyOf |
type |
string |
|
type |
integer |
|||
|
Identifier for a test vectore that will be present in the tied-array beam data stream beam CBF and PST. Keyword: TEST_VECTOR |
|||
type |
string |
|||
default |
null |
|||
|
Pulsar Timing specific parameters for the ‘PULSAR_TIMING’ mode configuration. |
|||
default |
null |
|||
|
Pulsar Timing specific parameters for the ‘DYNAMIC_SPECTRUM’ mode configuration. |
|||
default |
null |
|||
|
Pulsar Timing specific parameters for the ‘FLOW_THROUGH’ mode configuration. |
|||
default |
null |
|||
|
The number of stages used to channelize the data: e.g. * for Low, there are 2 stages: 1 in LFAA and 1 in CBF * for Mid, there are 2 stages: 1 in FSP and 1 in PST BF. Keyword: NSTAGE |
|||
type |
integer |
|||
|
List of configuration for each channelization stage. |
|||
type |
array |
|||
items |
Pulsar Timing specific parameters for channelization stage configuration. |
|||
additionalProperties |
False |
PST RA_Dec coordinates 2.5
Pulsar Timing specific parameters for RA/Dec tracking coordinates.
type |
object |
|
properties |
||
|
The coordinate epoch. This can be in Julian date or Modified Julian Date. Units: years Range: >= 2000 Keyword: EQUINOX |
|
type |
number |
|
default |
2000.0 |
|
|
The Right Accession (RA) of the coordinates used for tracking. Valid formats is ‘hh:mm:ss.sss’ or ‘ddd.ddd’ Keyword: STT_CTD1 |
|
type |
string |
|
|
The declination (Dec) of the coordinates used for tracking. Valid formats is ‘hh:mm:ss.sss’ or ‘ddd.ddd’ Keyword: STT_CTD2 |
|
type |
string |
|
additionalProperties |
False |
PST ‘PULSAR_TIMING’ mode configuration 2.5
Pulsar Timing specific parameters for the ‘PULSAR_TIMING’ mode configuration.
type |
object |
|
properties |
||
|
The dispersion measure for coherent/inchoerent de-dispersion. Units: pccm^-3 Range: 0 - 100000 Keyword: DM |
|
type |
number |
|
|
The rotation measure for phase-coherent Faraday rotation correction. Units: radians per metre squared Keyword: RM |
|
type |
number |
|
default |
null |
|
|
The ephemeris of the pulsar being observed. Units: PSRCAT compatible ASCII string Keyword: EPHEMERIS |
|
type |
string |
|
|
Pulsar phase predictor generated from ephemeris. Units: TEMPO2 compatible ASCII string Keyword: PREDICTOR |
|
type |
string |
|
|
The number of output frequency channels. This must be between 1 and the number of observation channels. Keyword: OUTNCHAN |
|
type |
integer |
|
|
The number of output phase bins. Range: 64 - 2048 Keyword: OUTNBIN |
|
type |
integer |
|
|
The number of spectral kurtosis (SK) configurations to apply. Keyword: N_SK |
|
type |
integer |
|
|
List of spectral kurtosis configurations. |
|
type |
array |
|
items |
Pulsar Timing specific parameters for the spectral kurtosis (SK) for the ‘PULSAR_TIMING’ mode. |
|
|
The signal-to-noise ratio (SNR) of the on-pulse flux for the scan. May be used to prematurely end a scan when the integrated SNR reaches the target. A value of 0 indicates there is no limit. Keyword: TARGET_SNR |
|
type |
number |
|
additionalProperties |
False |
PST spectral kurtosis configuration 2.5
Pulsar Timing specific parameters for the spectral kurtosis (SK) for the ‘PULSAR_TIMING’ mode.
type |
object |
||
properties |
|||
|
Frequency ranges for each spectral kurtosis (SK) configuration. Units: Hz Keyword: SK_RNG |
||
type |
array |
||
items |
type |
number |
|
|
The number of input time samples integrated into each spectral kurtosis (SK) statistic. Range: 64 - 1024 Keyword: SK_INTS |
||
type |
integer |
||
|
Spectral kurtosis excision limits (RFI threshold) in units of standard deviations. Range: 1 - 100 Keyword: SK_EXIS |
||
type |
number |
||
additionalProperties |
False |
PST ‘DYNAMIC_SPECTRUM’ mode configuration 2.5
Pulsar Timing specific parameters for the ‘DYNAMIC_SPECTRUM’ mode configuration.
type |
object |
||
properties |
|||
|
The dispersion measture for coherent/inchoerent de-dispersion. This is only required for pulsar timing and dynamic spectrum modes. Range: [0, 100000] Keyword: DM |
||
type |
number |
||
|
The rotation measure for phase-coherent Faraday rotation correction. Units: radians per metre squared Keyword: RM |
||
type |
number |
||
default |
null |
||
|
The number of output frequency channels. This must be between 1 and the number of observation channels. Keyword: OUTNCHAN |
||
type |
integer |
||
|
The Stokes parameters to output when in Dynamic spectrum mode. Range: string with a combination of I, Q, U, and V. Keyword: STOKES_FB |
||
type |
string |
||
|
The number of bits per output sample. Range: 1, 2, 4, 8, 16 or 32 Keyword: NBIT_OUT |
||
allOf |
type |
integer |
|
enum |
1, 2, 4, 8, 16, 32 |
||
|
The number of input samples per output time sample when in Dynamic Spectrum mode. Keyword: TDEC_FB |
||
type |
integer |
||
|
The number of input frequency channels incoherently added to each output frequency channel in Dynamic Spectrum. This is required in addition to output_frequency_channels because some frequency channels may be merged coherently to increase temporal resolution. Keyword: FDEC_FB |
||
type |
integer |
||
|
The number of spectral kurtosis (SK) configurations to apply. Keyword: N_SK |
||
type |
integer |
||
default |
null |
||
|
List of spectral kurtosis configurations. |
||
type |
array |
||
default |
null |
||
items |
Pulsar Timing specific parameters for the spectral kurtosis (SK) for the ‘PULSAR_TIMING’ mode. |
||
|
Scale factor to govern the dynamic range for fixed precision output to be applied during re-quantisation. Keyword: DIGITIZER_SCALE |
||
type |
number |
||
|
Length of data to be used when determining the scaling factors used for fixed precision output during re-quantisation. Units: seconds Keyword: DIGITIZER_LENGTH |
||
type |
number |
||
additionalProperties |
False |
PST ‘FLOW_THROUGH’ mode configuration 2.5
Pulsar Timing specific parameters for the ‘FLOW_THROUGH’ mode configuration.
type |
object |
||
properties |
|||
|
The number of bits per output sample. Range: 1, 2, 4, 8, 16 or 32 Keyword: NBIT_OUT |
||
allOf |
type |
integer |
|
enum |
1, 2, 4, 8, 16, 32 |
||
|
The indices of the first and last (inclusive) frequency channels that define the single contiguous range of frequency channels to be recorded. Keyword: CHAN_FT |
||
type |
array |
||
items |
type |
integer |
|
|
Scale factor applied during re-quantisation that modifies the dynamic range of the fixed precision output. By default, for 2, 4, and 8 bits per sample, data will be scaled to minimize scattered power by adopting the Optimum Input Threshold Spacing for a Uniform Digitizer defined in Table 3 of Jenet & Anderson (1998; PASP 110:1467). For 16 and 32 bits per sample, by default the data will be scaled such that the maximum fixed precision output value (2^{num_bits_out-1}) corresponds to 6 times the standard deviation. For all num_bits_out, the standard deviation is that of either the real or imaginary part of each complex-valued sample. The default scale factor is computed such that, after multiplication by this scale factor, the data would satisfy the conditions described above. This default scale factor is multiplied by requantisation_scale. Therefore, a requantisation_scale value greater than 1 increases the value of the floating point data before it is cast to a fixed precision value, thereby reducing the overhead available to represent RFI and increasing the probability of clipping. Keyword: DIGITIZER_SCALE |
||
type |
number |
||
|
The polarizations to be recorded. Valid values: A, B, or Both Keyword: POLN_FT |
||
allOf |
type |
string |
|
enum |
A, B, Both |
||
|
Time interval spanned by data used at the start of a scan to determine the scale factors applied before re-quantisation. Units: seconds Keyword: DIGITIZER_INIT_TIME |
||
type |
number |
||
additionalProperties |
False |
PST channelization stage configuration 2.5
Pulsar Timing specific parameters for channelization stage configuration.
type |
object |
||
properties |
|||
|
Total number of taps in the prototype filter (i.e. over all arms) used in the stage. Keyword: NSTAP_k |
||
type |
integer |
||
|
An array of filter coefficients that define the (time domain) response function of the prototype filter used in the stage. Length of this is num_filter_taps. Keyword: COEFF_k |
||
type |
array |
||
items |
type |
number |
|
|
The number of frequency channels output by each polyphase filter bank (PFB) for this stage. Keyword: NCHAN_PFB_k |
||
type |
integer |
||
|
The oversampling ratio expressed as a fraction as an array of int, with the first value the numerator and the second is the denominator. (e.g. 8/7 is assigned as [8,7]). Keyword: OVERSAMP_k |
||
type |
array |
||
items |
type |
integer |
|
additionalProperties |
False |
PST beam configuration 2.5
Pulsar Timing specific beam configuration parameters.
As of version 2.3 this schema has no elements and is deprecated
type |
object |
properties |
|
additionalProperties |
False |
JSON schema and example for Configure version 3.1
LOWCSP configure 3.1
Example (LOW CSP Configuration for CBF 0.2)
{
"interface": "https://schema.skao.int/ska-low-csp-configure/3.1",
"subarray": {
"subarray_name": "science period 23"
},
"common": {
"config_id": "sbi-mvp01-20200325-00001-science_A",
"subarray_id": 1,
"eb_id": "eb-x449-20231105-34696"
},
"lowcbf": {
"stations": {
"stns": [
[1, 1],
[2, 1],
[3, 1],
[4, 1],
[5, 1],
[6, 1]
],
"stn_beams": [{
"beam_id": 1,
"freq_ids": [400],
"delay_poly": "tango://delays.skao.int/low/stn-beam/1"
}]
},
"vis": {
"fsp": {
"firmware": "vis",
"fsp_ids": [1]
},
"stn_beams": [{
"stn_beam_id": 1,
"host": [
[0, "192.168.0.1"]
],
"port": [
[0, 9000, 1]
],
"mac": [
[0, "02-03-04-0a-0b-0c"]
],
"integration_ms": 849
}]
}
},
"pss": {},
"pst": {
"beams": []
}
}
Example (CSP configuration for PST flow through scan 2.5)
{
"interface": "https://schema.skao.int/ska-low-csp-configure/3.1",
"subarray": {
"subarray_name": "science period 23"
},
"common": {
"config_id": "sbi-mvp01-20200325-00001-science_A",
"subarray_id": 1,
"eb_id": "eb-x449-20231105-34696"
},
"lowcbf": {
"stations": {
"stns": [
[1, 1],
[2, 1],
[3, 1],
[4, 1],
[5, 1],
[6, 1]
],
"stn_beams": [{
"beam_id": 1,
"freq_ids": [400],
"delay_poly": "tango://delays.skao.int/low/stn-beam/1"
}]
},
"timing_beams": {
"fsp": {
"firmware": "pst",
"fsp_ids": [2]
},
"beams": [{
"pst_beam_id": 1,
"stn_beam_id": 1,
"stn_weights": [0.9, 1.0, 1.0, 1.0, 0.9, 1.0],
"delay_poly": "tango://delays.skao.int/low/stn-beam/1",
"jones": "tango://jones.skao.int/low/stn-beam/1"
}]
},
"vis": {
"fsp": {
"firmware": "vis",
"fsp_ids": [1]
},
"stn_beams": [{
"stn_beam_id": 1,
"host": [
[0, "192.168.0.1"]
],
"port": [
[0, 9000, 1]
],
"mac": [
[0, "02-03-04-0a-0b-0c"]
],
"integration_ms": 849
}]
}
},
"pst": {
"beams": [{
"beam_id": 1,
"scan": {
"activation_time": "2022-01-19T23:07:45Z",
"bits_per_sample": 32,
"num_of_polarizations": 2,
"udp_nsamp": 32,
"wt_nsamp": 32,
"udp_nchan": 24,
"num_frequency_channels": 432,
"centre_frequency": 200000000.0,
"total_bandwidth": 1562500.0,
"observation_mode": "FLOW_THROUGH",
"observer_id": "jdoe",
"project_id": "project1",
"pointing_id": "pointing1",
"source": "J1921+2153",
"itrf": [5109360.133, 2006852.586, -3238948.127],
"receiver_id": "receiver3",
"feed_polarization": "CIRC",
"feed_handedness": 1,
"feed_angle": 1.234,
"feed_tracking_mode": "FA",
"feed_position_angle": 10.0,
"oversampling_ratio": [8, 7],
"coordinates": {
"equinox": 2000.0,
"ra": "19:21:44.815",
"dec": "21:53:02.400"
},
"max_scan_length": 20000.0,
"subint_duration": 30.0,
"receptors": ["receptor1", "receptor2"],
"receptor_weights": [0.4, 0.6],
"num_rfi_frequency_masks": 0,
"rfi_frequency_masks": [],
"destination_address": ["192.168.178.26", 9021],
"num_channelization_stages": 2,
"channelization_stages": [{
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 1024,
"oversampling_ratio": [32, 27]
}, {
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 256,
"oversampling_ratio": [4, 3]
}],
"ft": {
"num_bits_out": 4,
"channels": [0, 24299],
"polarizations": "Both",
"requantisation_scale": 1.0,
"requantisation_init_time": 1.0
}
}
}]
}
}
Example (CSP configuration for PST pulsar timing scan 2.5)
{
"interface": "https://schema.skao.int/ska-low-csp-configure/3.1",
"subarray": {
"subarray_name": "science period 23"
},
"common": {
"config_id": "sbi-mvp01-20200325-00001-science_A",
"subarray_id": 1,
"eb_id": "eb-x449-20231105-34696"
},
"lowcbf": {
"stations": {
"stns": [
[1, 1],
[2, 1],
[3, 1],
[4, 1],
[5, 1],
[6, 1]
],
"stn_beams": [{
"beam_id": 1,
"freq_ids": [400],
"delay_poly": "tango://delays.skao.int/low/stn-beam/1"
}]
},
"timing_beams": {
"fsp": {
"firmware": "pst",
"fsp_ids": [2]
},
"beams": [{
"pst_beam_id": 1,
"stn_beam_id": 1,
"stn_weights": [0.9, 1.0, 1.0, 1.0, 0.9, 1.0],
"delay_poly": "tango://delays.skao.int/low/stn-beam/1",
"jones": "tango://jones.skao.int/low/stn-beam/1"
}]
},
"vis": {
"fsp": {
"firmware": "vis",
"fsp_ids": [1]
},
"stn_beams": [{
"stn_beam_id": 1,
"host": [
[0, "192.168.0.1"]
],
"port": [
[0, 9000, 1]
],
"mac": [
[0, "02-03-04-0a-0b-0c"]
],
"integration_ms": 849
}]
}
},
"pst": {
"beams": [{
"beam_id": 1,
"scan": {
"activation_time": "2022-01-19T23:07:45Z",
"bits_per_sample": 32,
"num_of_polarizations": 2,
"udp_nsamp": 32,
"wt_nsamp": 32,
"udp_nchan": 24,
"num_frequency_channels": 432,
"centre_frequency": 200000000.0,
"total_bandwidth": 1562500.0,
"observation_mode": "PULSAR_TIMING",
"observer_id": "jdoe",
"project_id": "project1",
"pointing_id": "pointing1",
"source": "J1921+2153",
"itrf": [5109360.133, 2006852.586, -3238948.127],
"receiver_id": "receiver3",
"feed_polarization": "CIRC",
"feed_handedness": 1,
"feed_angle": 1.234,
"feed_tracking_mode": "FA",
"feed_position_angle": 10.0,
"oversampling_ratio": [8, 7],
"coordinates": {
"equinox": 2000.0,
"ra": "19:21:44.815",
"dec": "21:53:02.400"
},
"max_scan_length": 10000.5,
"subint_duration": 30.0,
"receptors": ["receptor1", "receptor2"],
"receptor_weights": [0.4, 0.6],
"num_rfi_frequency_masks": 0,
"rfi_frequency_masks": [],
"destination_address": ["192.168.178.26", 9021],
"num_channelization_stages": 2,
"channelization_stages": [{
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 1024,
"oversampling_ratio": [32, 27]
}, {
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 256,
"oversampling_ratio": [4, 3]
}],
"pt": {
"dispersion_measure": 100.0,
"rotation_measure": 0.0,
"ephemeris": "",
"pulsar_phase_predictor": "",
"output_frequency_channels": 1,
"output_phase_bins": 64,
"num_sk_config": 1,
"sk_config": [{
"sk_range": [0.8, 0.9],
"sk_integration_limit": 100,
"sk_excision_limit": 25.0
}],
"target_snr": 0.0
}
}
}]
}
}
Example (CSP configuration for PST voltage recorder scan 2.5)
{
"interface": "https://schema.skao.int/ska-low-csp-configure/3.1",
"subarray": {
"subarray_name": "science period 23"
},
"common": {
"config_id": "sbi-mvp01-20200325-00001-science_A",
"subarray_id": 1,
"eb_id": "eb-x449-20231105-34696"
},
"lowcbf": {
"stations": {
"stns": [
[1, 1],
[2, 1],
[3, 1],
[4, 1],
[5, 1],
[6, 1]
],
"stn_beams": [{
"beam_id": 1,
"freq_ids": [400],
"delay_poly": "tango://delays.skao.int/low/stn-beam/1"
}]
},
"timing_beams": {
"fsp": {
"firmware": "pst",
"fsp_ids": [2]
},
"beams": [{
"pst_beam_id": 1,
"stn_beam_id": 1,
"stn_weights": [0.9, 1.0, 1.0, 1.0, 0.9, 1.0],
"delay_poly": "tango://delays.skao.int/low/stn-beam/1",
"jones": "tango://jones.skao.int/low/stn-beam/1"
}]
},
"vis": {
"fsp": {
"firmware": "vis",
"fsp_ids": [1]
},
"stn_beams": [{
"stn_beam_id": 1,
"host": [
[0, "192.168.0.1"]
],
"port": [
[0, 9000, 1]
],
"mac": [
[0, "02-03-04-0a-0b-0c"]
],
"integration_ms": 849
}]
}
},
"pst": {
"beams": [{
"beam_id": 1,
"scan": {
"activation_time": "2022-01-19T23:07:45Z",
"bits_per_sample": 32,
"num_of_polarizations": 2,
"udp_nsamp": 32,
"wt_nsamp": 32,
"udp_nchan": 24,
"num_frequency_channels": 432,
"centre_frequency": 200000000.0,
"total_bandwidth": 1562500.0,
"observation_mode": "VOLTAGE_RECORDER",
"observer_id": "jdoe",
"project_id": "project1",
"pointing_id": "pointing1",
"source": "J1921+2153",
"itrf": [5109360.133, 2006852.586, -3238948.127],
"receiver_id": "receiver3",
"feed_polarization": "LIN",
"feed_handedness": 1,
"feed_angle": 1.234,
"feed_tracking_mode": "FA",
"feed_position_angle": 10.0,
"oversampling_ratio": [8, 7],
"coordinates": {
"equinox": 2000.0,
"ra": "19:21:44.815",
"dec": "21:53:02.400"
},
"max_scan_length": 20000.0,
"subint_duration": 30.0,
"receptors": ["receptor1", "receptor2"],
"receptor_weights": [0.4, 0.6],
"num_channelization_stages": 2,
"channelization_stages": [{
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 1024,
"oversampling_ratio": [32, 27]
}, {
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 256,
"oversampling_ratio": [4, 3]
}]
}
}]
}
}
Example (CSP configuration for PST dynamic spectrum scan 2.5)
{
"interface": "https://schema.skao.int/ska-low-csp-configure/3.1",
"subarray": {
"subarray_name": "science period 23"
},
"common": {
"config_id": "sbi-mvp01-20200325-00001-science_A",
"subarray_id": 1,
"eb_id": "eb-x449-20231105-34696"
},
"lowcbf": {
"stations": {
"stns": [
[1, 1],
[2, 1],
[3, 1],
[4, 1],
[5, 1],
[6, 1]
],
"stn_beams": [{
"beam_id": 1,
"freq_ids": [400],
"delay_poly": "tango://delays.skao.int/low/stn-beam/1"
}]
},
"timing_beams": {
"fsp": {
"firmware": "pst",
"fsp_ids": [2]
},
"beams": [{
"pst_beam_id": 1,
"stn_beam_id": 1,
"stn_weights": [0.9, 1.0, 1.0, 1.0, 0.9, 1.0],
"delay_poly": "tango://delays.skao.int/low/stn-beam/1",
"jones": "tango://jones.skao.int/low/stn-beam/1"
}]
},
"vis": {
"fsp": {
"firmware": "vis",
"fsp_ids": [1]
},
"stn_beams": [{
"stn_beam_id": 1,
"host": [
[0, "192.168.0.1"]
],
"port": [
[0, 9000, 1]
],
"mac": [
[0, "02-03-04-0a-0b-0c"]
],
"integration_ms": 849
}]
}
},
"pst": {
"beams": [{
"beam_id": 1,
"scan": {
"activation_time": "2022-01-19T23:07:45Z",
"bits_per_sample": 32,
"num_of_polarizations": 2,
"udp_nsamp": 32,
"wt_nsamp": 32,
"udp_nchan": 24,
"num_frequency_channels": 432,
"centre_frequency": 200000000.0,
"total_bandwidth": 1562500.0,
"observation_mode": "DYNAMIC_SPECTRUM",
"observer_id": "jdoe",
"project_id": "project1",
"pointing_id": "pointing1",
"source": "J1921+2153",
"itrf": [5109360.133, 2006852.586, -3238948.127],
"receiver_id": "receiver3",
"feed_polarization": "CIRC",
"feed_handedness": 1,
"feed_angle": 1.234,
"feed_tracking_mode": "FA",
"feed_position_angle": 10.0,
"oversampling_ratio": [8, 7],
"coordinates": {
"equinox": 2000.0,
"ra": "19:21:44.815",
"dec": "21:53:02.400"
},
"max_scan_length": 13000.2,
"subint_duration": 30.0,
"receptors": ["receptor1", "receptor2"],
"receptor_weights": [0.4, 0.6],
"num_rfi_frequency_masks": 0,
"rfi_frequency_masks": [],
"destination_address": ["192.168.178.26", 9021],
"num_channelization_stages": 2,
"channelization_stages": [{
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 1024,
"oversampling_ratio": [32, 27]
}, {
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 256,
"oversampling_ratio": [4, 3]
}],
"ds": {
"dispersion_measure": 100.0,
"output_frequency_channels": 1,
"stokes_parameters": "Q",
"num_bits_out": 16,
"time_decimation_factor": 10,
"frequency_decimation_factor": 4,
"requantisation_scale": 1.0,
"requantisation_length": 1.0
}
}
}]
}
}
Low CSP specific parameters. This section contains the parameters relevant to configure the Low CSP sub-system.
type |
object |
||
properties |
|||
|
URI of JSON schema for this command’sJSON payload.. |
||
type |
string |
||
|
Subarray elements |
||
type |
object |
||
default |
null |
||
properties |
|||
|
Name and scope of current subarray the sub-array. |
||
type |
string |
||
additionalProperties |
False |
||
|
Common section, containing the parameters and the sections belonging to all CSP subsystems. This section is forwarded to all sub-elements. |
||
|
Correlator and Beamformer specific parameters. This section contains the parameters relevant only for CBF sub-system. This section is forwarded only to CBF subelement. |
||
default |
null |
||
|
Section with parameters to configure the PSS sub-system |
||
default |
null |
||
|
Section with parameters to configure the PST sub-system. |
||
default |
null |
||
additionalProperties |
False |
Common configuration schema 3.1
Common section, containing the parameters and the sections belonging to all CSP subsystems. This section is forwarded to all sub-elements.
type |
object |
|
properties |
||
|
type |
string |
default |
null |
|
|
Subarray number |
|
type |
integer |
|
|
Execution block ID to associate scan configs to an observation. This ID is used for associating generated data, especially data products, for a given observation. Multiple scans can be linked to one observation and this ID is used as metadata to associate the data products from all scans of the same observation. This ID does not have to be unique for a scan configuration but should be unique for different observations. For example, all the data and weights files will have an EB_ID header value populated with the value supplied in this field. |
|
type |
string |
|
pattern |
^eb\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
|
default |
null |
|
additionalProperties |
False |
LOWCBF subarray configurescan 0.2
Correlator and Beamformer specific parameters. This section contains the parameters relevant only for CBF sub-system. This section is forwarded only to CBF subelement.
type |
object |
||||
properties |
|||||
|
Subarray Stations and station beam inputdescriptions |
||||
|
PST beam outputs descriptions |
||||
default |
null |
||||
|
PSS beam outputs descriptions |
||||
type |
string |
||||
default |
null |
||||
|
Visibility output descriptions |
||||
type |
object |
||||
default |
null |
||||
properties |
|||||
|
FSPs used for correlation |
||||
type |
object |
||||
properties |
|||||
|
Firmware name |
||||
type |
string |
||||
|
List of IDs (integer) |
||||
type |
array |
||||
items |
type |
integer |
|||
additionalProperties |
False |
||||
|
SDP visibility destinations |
||||
type |
array |
||||
items |
|||||
additionalProperties |
False |
||||
|
Zoom visibility output descriptions |
||||
type |
string |
||||
default |
null |
||||
additionalProperties |
False |
Subarray stations and station beams 0.2
Station and station beams parameters
type |
object |
||||
properties |
|||||
|
type |
array |
|||
items |
type |
array |
|||
items |
type |
integer |
|||
|
type |
array |
|||
items |
type |
object |
|||
properties |
|||||
|
station beam id |
||||
type |
integer |
||||
|
list of station beam frequency ids |
||||
type |
array |
||||
items |
type |
integer |
|||
|
URL |
||||
type |
string |
||||
additionalProperties |
False |
||||
additionalProperties |
False |
outer 0.2
type |
object |
|||
properties |
||||
|
inner |
|||
type |
array |
|||
items |
||||
|
FSPs used by PST |
|||
type |
object |
|||
properties |
||||
|
Firmware name |
|||
type |
string |
|||
|
List of IDs (integer) |
|||
type |
array |
|||
items |
type |
integer |
||
additionalProperties |
False |
|||
additionalProperties |
False |
PST beams description 0.2
type |
object |
||
properties |
|||
|
Station beam ID for pst beamforming |
||
type |
integer |
||
|
PST beam ID |
||
type |
integer |
||
|
Jones matrix source URI |
||
type |
string |
||
|
weights for each station |
||
type |
array |
||
items |
type |
number |
|
|
Master enable for RFI flagging |
||
type |
array |
||
default |
null |
||
items |
type |
boolean |
|
|
Freqency IDs to be always flagged |
||
type |
array |
||
default |
null |
||
items |
type |
integer |
|
|
Frequency IDs to be dynamically flagged |
||
type |
array |
||
default |
null |
||
items |
type |
integer |
|
|
Parameter for dynamic flagging |
||
type |
number |
||
default |
null |
||
|
Delay polynomial source URI |
||
type |
string |
||
additionalProperties |
False |
Station beams to correlate 0.2
type |
object |
||||
properties |
|||||
|
Station Beam ID |
||||
type |
integer |
||||
|
milliseconds integration |
||||
type |
integer |
||||
|
SDP channel & IP Address |
||||
type |
array |
||||
items |
type |
array |
|||
items |
anyOf |
type |
integer |
||
type |
string |
||||
|
SDP chan & UDP port, stride |
||||
type |
array |
||||
items |
type |
array |
|||
items |
type |
integer |
|||
|
SDP channel & server MAC |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
anyOf |
type |
integer |
||
type |
string |
||||
additionalProperties |
False |
PSS configuration 2.0
type |
object |
|
properties |
||
|
type |
string |
default |
null |
|
additionalProperties |
False |
LOW PST configure 2.5
Main configuration for the Low CSP Pulsar timing sub-system
type |
object |
|||
properties |
||||
|
List of PST Beams IDs to configure |
|||
type |
array |
|||
items |
Parameters to configure the PST sub-system |
|||
type |
object |
|||
properties |
||||
|
Configuration for a PST beam ID |
|||
type |
integer |
|||
|
Parameters to configure the scan |
|||
|
Parameter to configure the beam |
|||
default |
null |
|||
additionalProperties |
False |
|||
additionalProperties |
False |
PST scan configuration 2.5
Pulsar Timing specific scan configuration parameters.
type |
object |
|||
properties |
||||
|
Date and time when to start the PST reconfiguration. Units: UTC timestamp Keyword: ACTIVATION_TIME |
|||
type |
string |
|||
|
Identifier assigned by LMC/TM used to identify the beam configuraiton. PST selects which PST server to use for this scan and timing beam, and provides a mapping from the timing beam identifier by the TM to PST capability id. Keyword: BEAM |
|||
type |
string |
|||
default |
null |
|||
|
The number of bits per complex-values time sample in the CBF output data. Valid values are 16, 24, or 32. Keyword: NBIT |
|||
type |
integer |
|||
|
The number of polarizations in the CBF output data. Valid values are 1 or 2. Keyword: NPOL |
|||
type |
integer |
|||
|
The number of time samples for each single polarization and the a single frequency in each UDP packet sent by CBF. Note: this must be an integer multiple of WT_NSMAP Range: 4 (Low), 32 (Mid) Keyword: UDP_NSAMP |
|||
type |
integer |
|||
|
The number of time samples described by as single relative weight. There is a unique relative weight for each frequency channel, and each relative weight describes both polarizations. Range: 4 (Low), 32 (Mid) Keyword: WT_NSAMP |
|||
type |
integer |
|||
|
The number of contiguous frequency channels in each UDP packet sent by CBF. Range: 24 (Low), 185 (Mid) Keyword: UDP_NCHAN |
|||
type |
integer |
|||
|
The total number of frequency channels into which the total critical bandwidth has been divided. This must be an integer multiple of udp_nchan Range: 1 to 82944 Keyword: OBSNCHAN |
|||
type |
integer |
|||
|
Centre frequency of to the total (critical) bandwidth spanned by the frequency channels. Units: Hz Range: 50e6 to 12800e6 Keyword: OBSFREQ |
|||
type |
number |
|||
|
Total (critical) bandwidth spanned by the channels of the observation. Low: 0.00361 to 300 MHz Mid: 0.053.76 to 2500 MHz Units: Hz Range: 3610 to 2.5e9 Keyword: OBSBW |
|||
type |
number |
|||
|
The observation mode used for the scan. The value VOLTAGE_RECORDER is added for AA0.5, while the other values will be needed for in the future for data processing. Keyword: OBSMODE |
|||
allOf |
type |
string |
||
enum |
PULSAR_TIMING, DYNAMIC_SPECTRUM, FLOW_THROUGH, VOLTAGE_RECORDER |
|||
|
The observer in charge of the observations. Keyword: OBSERVER |
|||
type |
string |
|||
|
The project that the observations are for. Keyword: PROJID |
|||
type |
string |
|||
|
The ID for the sub-array pointing. Keyword: PNT_ID |
|||
type |
string |
|||
|
The name of the source. Keyword: SRC_NAME |
|||
type |
string |
|||
|
The International Terrestrial Reference Frame (ITRF) coordinates of the telescope delay centre. Units: metres Keyword: ITRF |
|||
type |
array |
|||
items |
type |
number |
||
|
The receiver name or ID (instrument). Keyword: FRONTEND |
|||
type |
string |
|||
|
The native polarization of feed. Range: LIN or CIRC Keyword: FD_POLN |
|||
allOf |
type |
string |
||
enum |
LIN, CIRC |
|||
|
Code for sense of feed. For value of +1 for XYZ forming RH set with Z in the direction of propagation. Looking up into the feed of a prime-focus receiver or at the sky). For FD_HAND = +1, the rotation from A (or X) to B (or Y) is counter clockwise or in the direction of increasing Feed Angle (FA) or Position Angle (PA). For circular feeds, FD_HAND = +1 for IEEE LCP on the A (or X) probe. Range: -1 or +1 Keyword: FD_HAND |
|||
allOf |
type |
integer |
||
enum |
-1, 1 |
|||
|
Feed angle of the E-vector for an equal in-phase response from the A(X) and B(Y) probes, measured in the direction of increasing feed angle or position angle (clockwise when looking down on a prime focuse receiver). Units: degrees Range: -180 to 180. Keyword: FD_SANG |
|||
type |
number |
|||
|
The tracking mode for the feed:
Range: FA, CPA, SPA, or TPA Keyword: FD_MODE |
|||
allOf |
type |
string |
||
enum |
FA, CPA, SPA, TPA |
|||
|
The requested angle of feed reference. For feed_mode = ‘FA’ this is respect to the telescope’s reference frame (feed_angle = 0), and for feed_mode = ‘CPA’ this is with respect to the celestial north (parallic angle = 0) or with respect to the Galactic north for coordinate_mode = ‘GALACTIC’. Range: -180 to +180. Keyword: FA_REQ |
|||
type |
number |
|||
|
The oversampling ratio expressed as a fraction as an array of int, with the first value the numerator and the second is the denominator. (e.g. 8/7 is assigned as [8,7]). Range: 8/7 or 4/3 Keyword: OVERSAMP |
|||
type |
array |
|||
items |
type |
integer |
||
|
The tied-array beam’s tracking co-ordinates. As of version 2.2 of the schema this only handles equitorial tracking which means uses RA/Dec J2000.0 coords but PST may support different tracking modes and coordinates the future. |
|||
|
The maximum length of the observation. Units: seconds Range: 30 - 43200 Keyword: SCANLEN_MAX |
|||
type |
number |
|||
|
The length of each output sub-integration. Units: seconds Range: 1 - 60 Keyword: OUTSUBINT |
|||
type |
number |
|||
|
An array of receptor IDs for the receptors included in the sub-array. Keyword: ANTENNA |
|||
type |
array |
|||
items |
type |
string |
||
|
Weight for each receptor. Range: 0 - 1.0 Keyword: ANT_WEIGHTS |
|||
type |
array |
|||
items |
type |
number |
||
|
The number of frequency ranges to be masked. Range: 0 - 1024 Keyword: NMASK |
|||
type |
integer |
|||
default |
0 |
|||
|
A two-dimensional array of length of num_frequency_mask of known RFI frequency ranges to excise from the data. The array contains mask pairs of [f_min, f_max] pairs for known frequency ranges containing RFI not excised by the CBF. The overall dimension of this array is num_frequency_mask x 2. Units: Hz Keyword: FREQ_MASK |
|||
type |
array |
|||
default |
null |
|||
items |
type |
array |
||
items |
type |
number |
||
|
The destination address for the PST output data. Includes IPv4 Address, port number. |
|||
type |
array |
|||
default |
null |
|||
items |
anyOf |
type |
string |
|
type |
integer |
|||
|
Identifier for a test vectore that will be present in the tied-array beam data stream beam CBF and PST. Keyword: TEST_VECTOR |
|||
type |
string |
|||
default |
null |
|||
|
Pulsar Timing specific parameters for the ‘PULSAR_TIMING’ mode configuration. |
|||
default |
null |
|||
|
Pulsar Timing specific parameters for the ‘DYNAMIC_SPECTRUM’ mode configuration. |
|||
default |
null |
|||
|
Pulsar Timing specific parameters for the ‘FLOW_THROUGH’ mode configuration. |
|||
default |
null |
|||
|
The number of stages used to channelize the data: e.g. * for Low, there are 2 stages: 1 in LFAA and 1 in CBF * for Mid, there are 2 stages: 1 in FSP and 1 in PST BF. Keyword: NSTAGE |
|||
type |
integer |
|||
|
List of configuration for each channelization stage. |
|||
type |
array |
|||
items |
Pulsar Timing specific parameters for channelization stage configuration. |
|||
additionalProperties |
False |
PST RA_Dec coordinates 2.5
Pulsar Timing specific parameters for RA/Dec tracking coordinates.
type |
object |
|
properties |
||
|
The coordinate epoch. This can be in Julian date or Modified Julian Date. Units: years Range: >= 2000 Keyword: EQUINOX |
|
type |
number |
|
default |
2000.0 |
|
|
The Right Accession (RA) of the coordinates used for tracking. Valid formats is ‘hh:mm:ss.sss’ or ‘ddd.ddd’ Keyword: STT_CTD1 |
|
type |
string |
|
|
The declination (Dec) of the coordinates used for tracking. Valid formats is ‘hh:mm:ss.sss’ or ‘ddd.ddd’ Keyword: STT_CTD2 |
|
type |
string |
|
additionalProperties |
False |
PST ‘PULSAR_TIMING’ mode configuration 2.5
Pulsar Timing specific parameters for the ‘PULSAR_TIMING’ mode configuration.
type |
object |
|
properties |
||
|
The dispersion measure for coherent/inchoerent de-dispersion. Units: pccm^-3 Range: 0 - 100000 Keyword: DM |
|
type |
number |
|
|
The rotation measure for phase-coherent Faraday rotation correction. Units: radians per metre squared Keyword: RM |
|
type |
number |
|
default |
null |
|
|
The ephemeris of the pulsar being observed. Units: PSRCAT compatible ASCII string Keyword: EPHEMERIS |
|
type |
string |
|
|
Pulsar phase predictor generated from ephemeris. Units: TEMPO2 compatible ASCII string Keyword: PREDICTOR |
|
type |
string |
|
|
The number of output frequency channels. This must be between 1 and the number of observation channels. Keyword: OUTNCHAN |
|
type |
integer |
|
|
The number of output phase bins. Range: 64 - 2048 Keyword: OUTNBIN |
|
type |
integer |
|
|
The number of spectral kurtosis (SK) configurations to apply. Keyword: N_SK |
|
type |
integer |
|
|
List of spectral kurtosis configurations. |
|
type |
array |
|
items |
Pulsar Timing specific parameters for the spectral kurtosis (SK) for the ‘PULSAR_TIMING’ mode. |
|
|
The signal-to-noise ratio (SNR) of the on-pulse flux for the scan. May be used to prematurely end a scan when the integrated SNR reaches the target. A value of 0 indicates there is no limit. Keyword: TARGET_SNR |
|
type |
number |
|
additionalProperties |
False |
PST spectral kurtosis configuration 2.5
Pulsar Timing specific parameters for the spectral kurtosis (SK) for the ‘PULSAR_TIMING’ mode.
type |
object |
||
properties |
|||
|
Frequency ranges for each spectral kurtosis (SK) configuration. Units: Hz Keyword: SK_RNG |
||
type |
array |
||
items |
type |
number |
|
|
The number of input time samples integrated into each spectral kurtosis (SK) statistic. Range: 64 - 1024 Keyword: SK_INTS |
||
type |
integer |
||
|
Spectral kurtosis excision limits (RFI threshold) in units of standard deviations. Range: 1 - 100 Keyword: SK_EXIS |
||
type |
number |
||
additionalProperties |
False |
PST ‘DYNAMIC_SPECTRUM’ mode configuration 2.5
Pulsar Timing specific parameters for the ‘DYNAMIC_SPECTRUM’ mode configuration.
type |
object |
||
properties |
|||
|
The dispersion measture for coherent/inchoerent de-dispersion. This is only required for pulsar timing and dynamic spectrum modes. Range: [0, 100000] Keyword: DM |
||
type |
number |
||
|
The rotation measure for phase-coherent Faraday rotation correction. Units: radians per metre squared Keyword: RM |
||
type |
number |
||
default |
null |
||
|
The number of output frequency channels. This must be between 1 and the number of observation channels. Keyword: OUTNCHAN |
||
type |
integer |
||
|
The Stokes parameters to output when in Dynamic spectrum mode. Range: string with a combination of I, Q, U, and V. Keyword: STOKES_FB |
||
type |
string |
||
|
The number of bits per output sample. Range: 1, 2, 4, 8, 16 or 32 Keyword: NBIT_OUT |
||
allOf |
type |
integer |
|
enum |
1, 2, 4, 8, 16, 32 |
||
|
The number of input samples per output time sample when in Dynamic Spectrum mode. Keyword: TDEC_FB |
||
type |
integer |
||
|
The number of input frequency channels incoherently added to each output frequency channel in Dynamic Spectrum. This is required in addition to output_frequency_channels because some frequency channels may be merged coherently to increase temporal resolution. Keyword: FDEC_FB |
||
type |
integer |
||
|
The number of spectral kurtosis (SK) configurations to apply. Keyword: N_SK |
||
type |
integer |
||
default |
null |
||
|
List of spectral kurtosis configurations. |
||
type |
array |
||
default |
null |
||
items |
Pulsar Timing specific parameters for the spectral kurtosis (SK) for the ‘PULSAR_TIMING’ mode. |
||
|
Scale factor to govern the dynamic range for fixed precision output to be applied during re-quantisation. Keyword: DIGITIZER_SCALE |
||
type |
number |
||
|
Length of data to be used when determining the scaling factors used for fixed precision output during re-quantisation. Units: seconds Keyword: DIGITIZER_LENGTH |
||
type |
number |
||
additionalProperties |
False |
PST ‘FLOW_THROUGH’ mode configuration 2.5
Pulsar Timing specific parameters for the ‘FLOW_THROUGH’ mode configuration.
type |
object |
||
properties |
|||
|
The number of bits per output sample. Range: 1, 2, 4, 8, 16 or 32 Keyword: NBIT_OUT |
||
allOf |
type |
integer |
|
enum |
1, 2, 4, 8, 16, 32 |
||
|
The indices of the first and last (inclusive) frequency channels that define the single contiguous range of frequency channels to be recorded. Keyword: CHAN_FT |
||
type |
array |
||
items |
type |
integer |
|
|
Scale factor applied during re-quantisation that modifies the dynamic range of the fixed precision output. By default, for 2, 4, and 8 bits per sample, data will be scaled to minimize scattered power by adopting the Optimum Input Threshold Spacing for a Uniform Digitizer defined in Table 3 of Jenet & Anderson (1998; PASP 110:1467). For 16 and 32 bits per sample, by default the data will be scaled such that the maximum fixed precision output value (2^{num_bits_out-1}) corresponds to 6 times the standard deviation. For all num_bits_out, the standard deviation is that of either the real or imaginary part of each complex-valued sample. The default scale factor is computed such that, after multiplication by this scale factor, the data would satisfy the conditions described above. This default scale factor is multiplied by requantisation_scale. Therefore, a requantisation_scale value greater than 1 increases the value of the floating point data before it is cast to a fixed precision value, thereby reducing the overhead available to represent RFI and increasing the probability of clipping. Keyword: DIGITIZER_SCALE |
||
type |
number |
||
|
The polarizations to be recorded. Valid values: A, B, or Both Keyword: POLN_FT |
||
allOf |
type |
string |
|
enum |
A, B, Both |
||
|
Time interval spanned by data used at the start of a scan to determine the scale factors applied before re-quantisation. Units: seconds Keyword: DIGITIZER_INIT_TIME |
||
type |
number |
||
additionalProperties |
False |
PST channelization stage configuration 2.5
Pulsar Timing specific parameters for channelization stage configuration.
type |
object |
||
properties |
|||
|
Total number of taps in the prototype filter (i.e. over all arms) used in the stage. Keyword: NSTAP_k |
||
type |
integer |
||
|
An array of filter coefficients that define the (time domain) response function of the prototype filter used in the stage. Length of this is num_filter_taps. Keyword: COEFF_k |
||
type |
array |
||
items |
type |
number |
|
|
The number of frequency channels output by each polyphase filter bank (PFB) for this stage. Keyword: NCHAN_PFB_k |
||
type |
integer |
||
|
The oversampling ratio expressed as a fraction as an array of int, with the first value the numerator and the second is the denominator. (e.g. 8/7 is assigned as [8,7]). Keyword: OVERSAMP_k |
||
type |
array |
||
items |
type |
integer |
|
additionalProperties |
False |
PST beam configuration 2.5
Pulsar Timing specific beam configuration parameters.
As of version 2.3 this schema has no elements and is deprecated
type |
object |
properties |
|
additionalProperties |
False |
JSON schema and example for Configure version 3.0
LOWCSP configure 3.0
Example (LOW CSP Configuration for CBF 0.2)
{
"interface": "https://schema.skao.int/ska-low-csp-configure/3.0",
"subarray": {
"subarray_name": "science period 23"
},
"common": {
"config_id": "sbi-mvp01-20200325-00001-science_A",
"subarray_id": 1,
"eb_id": "eb-x449-20231105-34696"
},
"lowcbf": {
"stations": {
"stns": [
[1, 1],
[2, 1],
[3, 1],
[4, 1],
[5, 1],
[6, 1]
],
"stn_beams": [{
"beam_id": 1,
"freq_ids": [400],
"delay_poly": "tango://delays.skao.int/low/stn-beam/1"
}]
},
"vis": {
"fsp": {
"firmware": "vis",
"fsp_ids": [1]
},
"stn_beams": [{
"stn_beam_id": 1,
"host": [
[0, "192.168.0.1"]
],
"port": [
[0, 9000, 1]
],
"mac": [
[0, "02-03-04-0a-0b-0c"]
],
"integration_ms": 849
}]
}
},
"pss": {},
"pst": {
"beams": []
}
}
Example (CSP configuration for PST flow through scan 2.4)
{
"interface": "https://schema.skao.int/ska-low-csp-configure/3.0",
"subarray": {
"subarray_name": "science period 23"
},
"common": {
"config_id": "sbi-mvp01-20200325-00001-science_A",
"subarray_id": 1,
"eb_id": "eb-x449-20231105-34696"
},
"lowcbf": {
"stations": {
"stns": [
[1, 1],
[2, 1],
[3, 1],
[4, 1],
[5, 1],
[6, 1]
],
"stn_beams": [{
"beam_id": 1,
"freq_ids": [400],
"delay_poly": "tango://delays.skao.int/low/stn-beam/1"
}]
},
"vis": {
"fsp": {
"firmware": "vis",
"fsp_ids": [1]
},
"stn_beams": [{
"stn_beam_id": 1,
"host": [
[0, "192.168.0.1"]
],
"port": [
[0, 9000, 1]
],
"mac": [
[0, "02-03-04-0a-0b-0c"]
],
"integration_ms": 849
}]
},
"timing_beams": {
"fsp": {
"firmware": "pst",
"fsp_ids": [2]
},
"beams": [{
"pst_beam_id": 11,
"stn_beam_id": 1,
"stn_weights": [0.9, 1.0, 1.0, 1.0, 0.9, 1.0],
"delay_poly": "tango://delays.skao.int/low/stn-beam/1",
"jones": "tango://jones.skao.int/low/stn-beam/1"
}]
}
},
"pss": {},
"pst": {
"beams": [{
"beam_id": 11,
"scan": {
"activation_time": "2022-01-19T23:07:45Z",
"bits_per_sample": 32,
"num_of_polarizations": 2,
"udp_nsamp": 32,
"wt_nsamp": 32,
"udp_nchan": 24,
"num_frequency_channels": 432,
"centre_frequency": 200000000.0,
"total_bandwidth": 1562500.0,
"observation_mode": "FLOW_THROUGH",
"observer_id": "jdoe",
"project_id": "project1",
"pointing_id": "pointing1",
"source": "J1921+2153",
"itrf": [5109360.133, 2006852.586, -3238948.127],
"receiver_id": "receiver3",
"feed_polarization": "CIRC",
"feed_handedness": 1,
"feed_angle": 1.234,
"feed_tracking_mode": "FA",
"feed_position_angle": 10.0,
"oversampling_ratio": [8, 7],
"coordinates": {
"equinox": 2000.0,
"ra": "19:21:44.815",
"dec": "21:53:02.400"
},
"max_scan_length": 20000.0,
"subint_duration": 30.0,
"receptors": ["receptor1", "receptor2"],
"receptor_weights": [0.4, 0.6],
"num_rfi_frequency_masks": 0,
"rfi_frequency_masks": [],
"destination_address": ["192.168.178.26", 9021],
"num_channelization_stages": 2,
"channelization_stages": [{
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 1024,
"oversampling_ratio": [32, 27]
}, {
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 256,
"oversampling_ratio": [4, 3]
}],
"ft": {
"num_bits_out": 32,
"num_channels": 1,
"channels": [1],
"requantisation_scale": 1.0,
"requantisation_length": 1.0
}
}
}]
}
}
Example (CSP configuration for PST pulsar timing scan 2.4)
{
"interface": "https://schema.skao.int/ska-low-csp-configure/3.0",
"subarray": {
"subarray_name": "science period 23"
},
"common": {
"config_id": "sbi-mvp01-20200325-00001-science_A",
"subarray_id": 1,
"eb_id": "eb-x449-20231105-34696"
},
"lowcbf": {
"stations": {
"stns": [
[1, 1],
[2, 1],
[3, 1],
[4, 1],
[5, 1],
[6, 1]
],
"stn_beams": [{
"beam_id": 1,
"freq_ids": [400],
"delay_poly": "tango://delays.skao.int/low/stn-beam/1"
}]
},
"vis": {
"fsp": {
"firmware": "vis",
"fsp_ids": [1]
},
"stn_beams": [{
"stn_beam_id": 1,
"host": [
[0, "192.168.0.1"]
],
"port": [
[0, 9000, 1]
],
"mac": [
[0, "02-03-04-0a-0b-0c"]
],
"integration_ms": 849
}]
},
"timing_beams": {
"fsp": {
"firmware": "pst",
"fsp_ids": [2]
},
"beams": [{
"pst_beam_id": 1,
"stn_beam_id": 1,
"stn_weights": [0.9, 1.0, 1.0, 1.0, 0.9, 1.0],
"delay_poly": "tango://delays.skao.int/low/stn-beam/1",
"jones": "tango://jones.skao.int/low/stn-beam/1"
}]
}
},
"pss": {},
"pst": {
"beams": [{
"beam_id": 1,
"scan": {
"activation_time": "2022-01-19T23:07:45Z",
"bits_per_sample": 32,
"num_of_polarizations": 2,
"udp_nsamp": 32,
"wt_nsamp": 32,
"udp_nchan": 24,
"num_frequency_channels": 432,
"centre_frequency": 200000000.0,
"total_bandwidth": 1562500.0,
"observation_mode": "PULSAR_TIMING",
"observer_id": "jdoe",
"project_id": "project1",
"pointing_id": "pointing1",
"source": "J1921+2153",
"itrf": [5109360.133, 2006852.586, -3238948.127],
"receiver_id": "receiver3",
"feed_polarization": "CIRC",
"feed_handedness": 1,
"feed_angle": 1.234,
"feed_tracking_mode": "FA",
"feed_position_angle": 10.0,
"oversampling_ratio": [8, 7],
"coordinates": {
"equinox": 2000.0,
"ra": "19:21:44.815",
"dec": "21:53:02.400"
},
"max_scan_length": 10000.5,
"subint_duration": 30.0,
"receptors": ["receptor1", "receptor2"],
"receptor_weights": [0.4, 0.6],
"num_rfi_frequency_masks": 0,
"rfi_frequency_masks": [],
"destination_address": ["192.168.178.26", 9021],
"num_channelization_stages": 2,
"channelization_stages": [{
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 1024,
"oversampling_ratio": [32, 27]
}, {
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 256,
"oversampling_ratio": [4, 3]
}],
"pt": {
"dispersion_measure": 100.0,
"rotation_measure": 0.0,
"ephemeris": "",
"pulsar_phase_predictor": "",
"output_frequency_channels": 1,
"output_phase_bins": 64,
"num_sk_config": 1,
"sk_config": [{
"sk_range": [0.8, 0.9],
"sk_integration_limit": 100,
"sk_excision_limit": 25.0
}],
"target_snr": 0.0
}
}
}]
}
}
Example (CSP configuration for PST dynamic spectrum scan 2.4)
{
"interface": "https://schema.skao.int/ska-low-csp-configure/3.0",
"subarray": {
"subarray_name": "science period 23"
},
"common": {
"config_id": "sbi-mvp01-20200325-00001-science_A",
"subarray_id": 1,
"eb_id": "eb-x449-20231105-34696"
},
"lowcbf": {
"stations": {
"stns": [
[1, 1],
[2, 1],
[3, 1],
[4, 1],
[5, 1],
[6, 1]
],
"stn_beams": [{
"beam_id": 1,
"freq_ids": [400],
"delay_poly": "tango://delays.skao.int/low/stn-beam/1"
}]
},
"vis": {
"fsp": {
"firmware": "vis",
"fsp_ids": [1]
},
"stn_beams": [{
"stn_beam_id": 1,
"host": [
[0, "192.168.0.1"]
],
"port": [
[0, 9000, 1]
],
"mac": [
[0, "02-03-04-0a-0b-0c"]
],
"integration_ms": 849
}]
},
"timing_beams": {
"fsp": {
"firmware": "pst",
"fsp_ids": [2]
},
"beams": [{
"pst_beam_id": 2,
"stn_beam_id": 1,
"stn_weights": [0.9, 1.0, 1.0, 1.0, 0.9, 1.0],
"delay_poly": "tango://delays.skao.int/low/stn-beam/1",
"jones": "tango://jones.skao.int/low/stn-beam/1"
}]
}
},
"pss": {},
"pst": {
"beams": [{
"beam_id": 2,
"scan": {
"activation_time": "2022-01-19T23:07:45Z",
"bits_per_sample": 32,
"num_of_polarizations": 2,
"udp_nsamp": 32,
"wt_nsamp": 32,
"udp_nchan": 24,
"num_frequency_channels": 432,
"centre_frequency": 200000000.0,
"total_bandwidth": 1562500.0,
"observation_mode": "DYNAMIC_SPECTRUM",
"observer_id": "jdoe",
"project_id": "project1",
"pointing_id": "pointing1",
"source": "J1921+2153",
"itrf": [5109360.133, 2006852.586, -3238948.127],
"receiver_id": "receiver3",
"feed_polarization": "CIRC",
"feed_handedness": 1,
"feed_angle": 1.234,
"feed_tracking_mode": "FA",
"feed_position_angle": 10.0,
"oversampling_ratio": [8, 7],
"coordinates": {
"equinox": 2000.0,
"ra": "19:21:44.815",
"dec": "21:53:02.400"
},
"max_scan_length": 13000.2,
"subint_duration": 30.0,
"receptors": ["receptor1", "receptor2"],
"receptor_weights": [0.4, 0.6],
"num_rfi_frequency_masks": 0,
"rfi_frequency_masks": [],
"destination_address": ["192.168.178.26", 9021],
"num_channelization_stages": 2,
"channelization_stages": [{
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 1024,
"oversampling_ratio": [32, 27]
}, {
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 256,
"oversampling_ratio": [4, 3]
}],
"ds": {
"dispersion_measure": 100.0,
"output_frequency_channels": 1,
"stokes_parameters": "Q",
"num_bits_out": 16,
"time_decimation_factor": 10,
"frequency_decimation_factor": 4,
"requantisation_scale": 1.0,
"requantisation_length": 1.0
}
}
}]
}
}
Low CSP specific parameters. This section contains the parameters relevant to configure the Low CSP sub-system.
type |
object |
||
properties |
|||
|
URI of JSON schema for this command’sJSON payload.. |
||
type |
string |
||
|
Subarray elements |
||
type |
object |
||
default |
null |
||
properties |
|||
|
Name and scope of current subarray the sub-array. |
||
type |
string |
||
additionalProperties |
False |
||
|
Common section, containing the parameters and the sections belonging to all CSP subsystems. This section is forwarded to all sub-elements. |
||
|
Correlator and Beamformer specific parameters. This section contains the parameters relevant only for CBF sub-system. This section is forwarded only to CBF subelement. |
||
default |
null |
||
|
Section with parameters to configure the PSS sub-system |
||
default |
null |
||
|
Section with parameters to configure the PST sub-system. |
||
default |
null |
||
additionalProperties |
False |
Common configuration schema 3.0
Common section, containing the parameters and the sections belonging to all CSP subsystems. This section is forwarded to all sub-elements.
type |
object |
|
properties |
||
|
type |
string |
default |
null |
|
|
Subarray number |
|
type |
integer |
|
|
Execution block ID to associate scan configs to an observation. This ID is used for associating generated data, especially data products, for a given observation. Multiple scans can be linked to one observation and this ID is used as metadata to associate the data products from all scans of the same observation. This ID does not have to be unique for a scan configuration but should be unique for different observations. For example, all the data and weights files will have an EB_ID header value populated with the value supplied in this field. |
|
type |
string |
|
pattern |
^eb\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
|
default |
null |
|
additionalProperties |
False |
LOWCBF subarray configurescan 0.2
Correlator and Beamformer specific parameters. This section contains the parameters relevant only for CBF sub-system. This section is forwarded only to CBF subelement.
type |
object |
||||
properties |
|||||
|
Subarray Stations and station beam inputdescriptions |
||||
|
PST beam outputs descriptions |
||||
default |
null |
||||
|
PSS beam outputs descriptions |
||||
type |
string |
||||
default |
null |
||||
|
Visibility output descriptions |
||||
type |
object |
||||
default |
null |
||||
properties |
|||||
|
FSPs used for correlation |
||||
type |
object |
||||
properties |
|||||
|
Firmware name |
||||
type |
string |
||||
|
List of IDs (integer) |
||||
type |
array |
||||
items |
type |
integer |
|||
additionalProperties |
False |
||||
|
SDP visibility destinations |
||||
type |
array |
||||
items |
|||||
additionalProperties |
False |
||||
|
Zoom visibility output descriptions |
||||
type |
string |
||||
default |
null |
||||
additionalProperties |
False |
Subarray stations and station beams 0.2
Station and station beams parameters
type |
object |
||||
properties |
|||||
|
type |
array |
|||
items |
type |
array |
|||
items |
type |
integer |
|||
|
type |
array |
|||
items |
type |
object |
|||
properties |
|||||
|
station beam id |
||||
type |
integer |
||||
|
list of station beam frequency ids |
||||
type |
array |
||||
items |
type |
integer |
|||
|
URL |
||||
type |
string |
||||
additionalProperties |
False |
||||
additionalProperties |
False |
outer 0.2
type |
object |
|||
properties |
||||
|
inner |
|||
type |
array |
|||
items |
||||
|
FSPs used by PST |
|||
type |
object |
|||
properties |
||||
|
Firmware name |
|||
type |
string |
|||
|
List of IDs (integer) |
|||
type |
array |
|||
items |
type |
integer |
||
additionalProperties |
False |
|||
additionalProperties |
False |
PST beams description 0.2
type |
object |
||
properties |
|||
|
Station beam ID for pst beamforming |
||
type |
integer |
||
|
PST beam ID |
||
type |
integer |
||
|
Jones matrix source URI |
||
type |
string |
||
|
weights for each station |
||
type |
array |
||
items |
type |
number |
|
|
Master enable for RFI flagging |
||
type |
array |
||
default |
null |
||
items |
type |
boolean |
|
|
Freqency IDs to be always flagged |
||
type |
array |
||
default |
null |
||
items |
type |
integer |
|
|
Frequency IDs to be dynamically flagged |
||
type |
array |
||
default |
null |
||
items |
type |
integer |
|
|
Parameter for dynamic flagging |
||
type |
number |
||
default |
null |
||
|
Delay polynomial source URI |
||
type |
string |
||
additionalProperties |
False |
Station beams to correlate 0.2
type |
object |
||||
properties |
|||||
|
Station Beam ID |
||||
type |
integer |
||||
|
milliseconds integration |
||||
type |
integer |
||||
|
SDP channel & IP Address |
||||
type |
array |
||||
items |
type |
array |
|||
items |
anyOf |
type |
integer |
||
type |
string |
||||
|
SDP chan & UDP port, stride |
||||
type |
array |
||||
items |
type |
array |
|||
items |
type |
integer |
|||
|
SDP channel & server MAC |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
anyOf |
type |
integer |
||
type |
string |
||||
additionalProperties |
False |
PSS configuration 2.0
type |
object |
|
properties |
||
|
type |
string |
default |
null |
|
additionalProperties |
False |
LOW PST configure 2.4
Main configuration for the Low CSP Pulsar timing sub-system
type |
object |
|||
properties |
||||
|
List of PST Beams IDs to configure |
|||
type |
array |
|||
items |
Parameters to configure the PST sub-system |
|||
type |
object |
|||
properties |
||||
|
Configuration for a PST beam ID |
|||
type |
integer |
|||
|
Parameters to configure the scan |
|||
|
Parameter to configure the beam |
|||
default |
null |
|||
additionalProperties |
False |
|||
additionalProperties |
False |
PST scan configuration 2.4
Pulsar Timing specific scan configuration parameters.
type |
object |
|||
properties |
||||
|
Date and time when to start the PST reconfiguration. Units: UTC timestamp Keyword: ACTIVATION_TIME |
|||
type |
string |
|||
|
Identifier assigned by LMC/TM used to identify the beam configuraiton. PST selects which PST server to use for this scan and timing beam, and provides a mapping from the timing beam identifier by the TM to PST capability id. Keyword: BEAM |
|||
type |
string |
|||
default |
null |
|||
|
The number of bits per complex-values time sample in the CBF output data. Valid values are 16, 24, or 32. Keyword: NBIT |
|||
type |
integer |
|||
|
The number of polarizations in the CBF output data. Valid values are 1 or 2. Keyword: NPOL |
|||
type |
integer |
|||
|
The number of time samples for each single polarization and the a single frequency in each UDP packet sent by CBF. Note: this must be an integer multiple of WT_NSMAP Range: 4 (Low), 32 (Mid) Keyword: UDP_NSAMP |
|||
type |
integer |
|||
|
The number of time samples described by as single relative weight. There is a unique relative weight for each frequency channel, and each relative weight describes both polarizations. Range: 4 (Low), 32 (Mid) Keyword: WT_NSAMP |
|||
type |
integer |
|||
|
The number of contiguous frequency channels in each UDP packet sent by CBF. Range: 24 (Low), 185 (Mid) Keyword: UDP_NCHAN |
|||
type |
integer |
|||
|
The total number of frequency channels into which the total critical bandwidth has been divided. This must be an integer multiple of udp_nchan Range: 1 to 82944 Keyword: OBSNCHAN |
|||
type |
integer |
|||
|
Centre frequency of to the total (critical) bandwidth spanned by the frequency channels. Units: Hz Range: 50e6 to 12800e6 Keyword: OBSFREQ |
|||
type |
number |
|||
|
Total (critical) bandwidth spanned by the channels of the observation. Low: 0.00361 to 300 MHz Mid: 0.053.76 to 2500 MHz Units: Hz Range: 3610 to 2.5e9 Keyword: OBSBW |
|||
type |
number |
|||
|
The observation mode used for the scan. The value VOLTAGE_RECORDER is added for AA0.5, while the other values will be needed for in the future for data processing. Keyword: OBSMODE |
|||
allOf |
type |
string |
||
enum |
PULSAR_TIMING, DYNAMIC_SPECTRUM, FLOW_THROUGH, VOLTAGE_RECORDER |
|||
|
The observer in charge of the observations. Keyword: OBSERVER |
|||
type |
string |
|||
|
The project that the observations are for. Keyword: PROJID |
|||
type |
string |
|||
|
The ID for the sub-array pointing. Keyword: PNT_ID |
|||
type |
string |
|||
|
The name of the source. Keyword: SRC_NAME |
|||
type |
string |
|||
|
The International Terrestrial Reference Frame (ITRF) coordinates of the telescope delay centre. Units: metres Keyword: ITRF |
|||
type |
array |
|||
items |
type |
number |
||
|
The receiver name or ID (instrument). Keyword: FRONTEND |
|||
type |
string |
|||
|
The native polarization of feed. Range: LIN or CIRC Keyword: FD_POLN |
|||
allOf |
type |
string |
||
enum |
LIN, CIRC |
|||
|
Code for sense of feed. For value of +1 for XYZ forming RH set with Z in the direction of propagation. Looking up into the feed of a prime-focus receiver or at the sky). For FD_HAND = +1, the rotation from A (or X) to B (or Y) is counter clockwise or in the direction of increasing Feed Angle (FA) or Position Angle (PA). For circular feeds, FD_HAND = +1 for IEEE LCP on the A (or X) probe. Range: -1 or +1 Keyword: FD_HAND |
|||
allOf |
type |
integer |
||
enum |
-1, 1 |
|||
|
Feed angle of the E-vector for an equal in-phase response from the A(X) and B(Y) probes, measured in the direction of increasing feed angle or position angle (clockwise when looking down on a prime focuse receiver). Units: degrees Range: -180 to 180. Keyword: FD_SANG |
|||
type |
number |
|||
|
The tracking mode for the feed:
Range: FA, CPA, SPA, or TPA Keyword: FD_MODE |
|||
allOf |
type |
string |
||
enum |
FA, CPA, SPA, TPA |
|||
|
The requested angle of feed reference. For feed_mode = ‘FA’ this is respect to the telescope’s reference frame (feed_angle = 0), and for feed_mode = ‘CPA’ this is with respect to the celestial north (parallic angle = 0) or with respect to the Galactic north for coordinate_mode = ‘GALACTIC’. Range: -180 to +180. Keyword: FA_REQ |
|||
type |
number |
|||
|
The oversampling ratio expressed as a fraction as an array of int, with the first value the numerator and the second is the denominator. (e.g. 8/7 is assigned as [8,7]). Range: 8/7 or 4/3 Keyword: OVERSAMP |
|||
type |
array |
|||
items |
type |
integer |
||
|
The tied-array beam’s tracking co-ordinates. As of version 2.2 of the schema this only handles equitorial tracking which means uses RA/Dec J2000.0 coords but PST may support different tracking modes and coordinates the future. |
|||
|
The maximum length of the observation. Units: seconds Range: 30 - 43200 Keyword: SCANLEN_MAX |
|||
type |
number |
|||
|
The length of each output sub-integration. Units: seconds Range: 1 - 60 Keyword: OUTSUBINT |
|||
type |
number |
|||
|
An array of receptor IDs for the receptors included in the sub-array. Keyword: ANTENNA |
|||
type |
array |
|||
items |
type |
string |
||
|
Weight for each receptor. Range: 0 - 1.0 Keyword: ANT_WEIGHTS |
|||
type |
array |
|||
items |
type |
number |
||
|
The number of frequency ranges to be masked. Range: 0 - 1024 Keyword: NMASK |
|||
type |
integer |
|||
default |
0 |
|||
|
A two-dimensional array of length of num_frequency_mask of known RFI frequency ranges to excise from the data. The array contains mask pairs of [f_min, f_max] pairs for known frequency ranges containing RFI not excised by the CBF. The overall dimension of this array is num_frequency_mask x 2. Units: Hz Keyword: FREQ_MASK |
|||
type |
array |
|||
default |
null |
|||
items |
type |
array |
||
items |
type |
number |
||
|
The destination address for the PST output data. Includes IPv4 Address, port number. |
|||
type |
array |
|||
default |
null |
|||
items |
anyOf |
type |
string |
|
type |
integer |
|||
|
Identifier for a test vectore that will be present in the tied-array beam data stream beam CBF and PST. Keyword: TEST_VECTOR |
|||
type |
string |
|||
default |
null |
|||
|
Pulsar Timing specific parameters for the ‘PULSAR_TIMING’ mode configuration. |
|||
default |
null |
|||
|
Pulsar Timing specific parameters for the ‘DYNAMIC_SPECTRUM’ mode configuration. |
|||
default |
null |
|||
|
Pulsar Timing specific parameters for the ‘FLOW_THROUGH’ mode configuration. |
|||
default |
null |
|||
|
The number of stages used to channelize the data: e.g. * for Low, there are 2 stages: 1 in LFAA and 1 in CBF * for Mid, there are 2 stages: 1 in FSP and 1 in PST BF. Keyword: NSTAGE |
|||
type |
integer |
|||
|
List of configuration for each channelization stage. |
|||
type |
array |
|||
items |
Pulsar Timing specific parameters for channelization stage configuration. |
|||
additionalProperties |
False |
PST RA_Dec coordinates 2.4
Pulsar Timing specific parameters for RA/Dec tracking coordinates.
type |
object |
|
properties |
||
|
The coordinate epoch. This can be in Julian date or Modified Julian Date. Units: years Range: >= 2000 Keyword: EQUINOX |
|
type |
number |
|
default |
2000.0 |
|
|
The Right Accession (RA) of the coordinates used for tracking. Valid formats is ‘hh:mm:ss.sss’ or ‘ddd.ddd’ Keyword: STT_CTD1 |
|
type |
string |
|
|
The declination (Dec) of the coordinates used for tracking. Valid formats is ‘hh:mm:ss.sss’ or ‘ddd.ddd’ Keyword: STT_CTD2 |
|
type |
string |
|
additionalProperties |
False |
PST ‘PULSAR_TIMING’ mode configuration 2.4
Pulsar Timing specific parameters for the ‘PULSAR_TIMING’ mode configuration.
type |
object |
|
properties |
||
|
The dispersion measure for coherent/inchoerent de-dispersion. Units: pccm^-3 Range: 0 - 100000 Keyword: DM |
|
type |
number |
|
|
The rotation measure for phase-coherent Faraday rotation correction. Units: radians per metre squared Keyword: RM |
|
type |
number |
|
default |
null |
|
|
The ephemeris of the pulsar being observed. Units: PSRCAT compatible ASCII string Keyword: EPHEMERIS |
|
type |
string |
|
|
Pulsar phase predictor generated from ephemeris. Units: TEMPO2 compatible ASCII string Keyword: PREDICTOR |
|
type |
string |
|
|
The number of output frequency channels. This must be between 1 and the number of observation channels. Keyword: OUTNCHAN |
|
type |
integer |
|
|
The number of output phase bins. Range: 64 - 2048 Keyword: OUTNBIN |
|
type |
integer |
|
|
The number of spectral kurtosis (SK) configurations to apply. Keyword: N_SK |
|
type |
integer |
|
|
List of spectral kurtosis configurations. |
|
type |
array |
|
items |
Pulsar Timing specific parameters for the spectral kurtosis (SK) for the ‘PULSAR_TIMING’ mode. |
|
|
The signal-to-noise ratio (SNR) of the on-pulse flux for the scan. May be used to prematurely end a scan when the integrated SNR reaches the target. A value of 0 indicates there is no limit. Keyword: TARGET_SNR |
|
type |
number |
|
additionalProperties |
False |
PST spectral kurtosis configuration 2.4
Pulsar Timing specific parameters for the spectral kurtosis (SK) for the ‘PULSAR_TIMING’ mode.
type |
object |
||
properties |
|||
|
Frequency ranges for each spectral kurtosis (SK) configuration. Units: Hz Keyword: SK_RNG |
||
type |
array |
||
items |
type |
number |
|
|
The number of input time samples integrated into each spectral kurtosis (SK) statistic. Range: 64 - 1024 Keyword: SK_INTS |
||
type |
integer |
||
|
Spectral kurtosis excision limits (RFI threshold) in units of standard deviations. Range: 1 - 100 Keyword: SK_EXIS |
||
type |
number |
||
additionalProperties |
False |
PST ‘DYNAMIC_SPECTRUM’ mode configuration 2.4
Pulsar Timing specific parameters for the ‘DYNAMIC_SPECTRUM’ mode configuration.
type |
object |
||
properties |
|||
|
The dispersion measture for coherent/inchoerent de-dispersion. This is only required for pulsar timing and dynamic spectrum modes. Range: [0, 100000] Keyword: DM |
||
type |
number |
||
|
The rotation measure for phase-coherent Faraday rotation correction. Units: radians per metre squared Keyword: RM |
||
type |
number |
||
default |
null |
||
|
The number of output frequency channels. This must be between 1 and the number of observation channels. Keyword: OUTNCHAN |
||
type |
integer |
||
|
The Stokes parameters to output when in Dynamic spectrum mode. Range: string with a combination of I, Q, U, and V. Keyword: STOKES_FB |
||
type |
string |
||
|
The number of bits per output sample. Range: 1, 2, 4, 8, 16 or 32 Keyword: NBIT_OUT |
||
allOf |
type |
integer |
|
enum |
1, 2, 4, 8, 16, 32 |
||
|
The number of input samples per output time sample when in Dynamic Spectrum mode. Keyword: TDEC_FB |
||
type |
integer |
||
|
The number of input frequency channels incoherently added to each output frequency channel in Dynamic Spectrum. This is required in addition to output_frequency_channels because some frequency channels may be merged coherently to increase temporal resolution. Keyword: FDEC_FB |
||
type |
integer |
||
|
The number of spectral kurtosis (SK) configurations to apply. Keyword: N_SK |
||
type |
integer |
||
default |
null |
||
|
List of spectral kurtosis configurations. |
||
type |
array |
||
default |
null |
||
items |
Pulsar Timing specific parameters for the spectral kurtosis (SK) for the ‘PULSAR_TIMING’ mode. |
||
|
Scale factor to govern the dynamic range for fixed precision output to be applied during re-quantisation. Keyword: DIGITIZER_SCALE |
||
type |
number |
||
|
Length of data to be used when determining the scaling factors used for fixed precision output during re-quantisation. Units: seconds Keyword: DIGITIZER_LENGTH |
||
type |
number |
||
additionalProperties |
False |
PST ‘FLOW_THROUGH’ mode configuration 2.4
Pulsar Timing specific parameters for the ‘FLOW_THROUGH’ mode configuration.
type |
object |
||
properties |
|||
|
The number of bits per output sample. Range: 1, 2, 4, 8, 16 or 32 Keyword: NBIT_OUT |
||
allOf |
type |
integer |
|
enum |
1, 2, 4, 8, 16, 32 |
||
|
The indices of the first and last (inclusive) frequency channels that define the single contiguous range of frequency channels to be recorded. Keyword: CHAN_FT |
||
type |
array |
||
items |
type |
integer |
|
|
Scale factor applied during re-quantisation that modifies the dynamic range of the fixed precision output. By default, for 2, 4, and 8 bits per sample, data will be scaled to minimize scattered power by adopting the Optimum Input Threshold Spacing for a Uniform Digitizer defined in Table 3 of Jenet & Anderson (1998; PASP 110:1467). For 16 and 32 bits per sample, by default the data will be scaled such that the maximum fixed precision output value (2^{num_bits_out-1}) corresponds to 6 times the standard deviation. For all num_bits_out, the standard deviation is that of either the real or imaginary part of each complex-valued sample. The default scale factor is computed such that, after multiplication by this scale factor, the data would satisfy the conditions described above. This default scale factor is multiplied by requantisation_scale. Therefore, a requantisation_scale value greater than 1 increases the value of the floating point data before it is cast to a fixed precision value, thereby reducing the overhead available to represent RFI and increasing the probability of clipping. Keyword: DIGITIZER_SCALE |
||
type |
number |
||
|
The number of input channels to be recorded. This value must be less than or equal to the output_frequency_channels. Keyword: NCHAN_FT |
||
type |
integer |
||
|
Length of data to be used when determining the scaling factors used for fixed precision output during re-quantisation. Units: seconds Keyword: DIGITIZER_LENGTH |
||
type |
number |
||
additionalProperties |
False |
PST channelization stage configuration 2.4
Pulsar Timing specific parameters for channelization stage configuration.
type |
object |
||
properties |
|||
|
Total number of taps in the prototype filter (i.e. over all arms) used in the stage. Keyword: NSTAP_k |
||
type |
integer |
||
|
An array of filter coefficients that define the (time domain) response function of the prototype filter used in the stage. Length of this is num_filter_taps. Keyword: COEFF_k |
||
type |
array |
||
items |
type |
number |
|
|
The number of frequency channels output by each polyphase filter bank (PFB) for this stage. Keyword: NCHAN_PFB_k |
||
type |
integer |
||
|
The oversampling ratio expressed as a fraction as an array of int, with the first value the numerator and the second is the denominator. (e.g. 8/7 is assigned as [8,7]). Keyword: OVERSAMP_k |
||
type |
array |
||
items |
type |
integer |
|
additionalProperties |
False |
PST beam configuration 2.4
Pulsar Timing specific beam configuration parameters.
As of version 2.3 this schema has no elements and is deprecated
type |
object |
properties |
|
additionalProperties |
False |
JSON schema and example for Configure version 2.0
LOWCSP configure 2.0
Example (LOW CSP Configuration for CBF 0.1)
{
"interface": "https://schema.skao.int/ska-low-csp-configure/2.0",
"subarray": {
"subarray_name": "science period 23"
},
"common": {
"config_id": "sbi-mvp01-20200325-00001-science_A",
"subarray_id": 1,
"eb_id": "eb-x449-20231105-34696"
},
"lowcbf": {
"stations": {
"stns": [
[1, 0],
[2, 0],
[3, 0],
[4, 0]
],
"stn_beams": [{
"beam_id": 1,
"freq_ids": [64, 65, 66, 67, 68, 69, 70, 71],
"boresight_dly_poly": "tango://delays.skao.int/low/stn-beam/1"
}]
}
},
"pss": {},
"pst": {
"beams": []
}
}
Example (CSP configuration for PST voltage recorder scan 2.4)
{
"interface": "https://schema.skao.int/ska-low-csp-configure/2.0",
"subarray": {
"subarray_name": "science period 23"
},
"common": {
"config_id": "sbi-mvp01-20200325-00001-science_A",
"subarray_id": 1,
"eb_id": "eb-x449-20231105-34696"
},
"lowcbf": {
"stations": {
"stns": [
[1, 0],
[2, 0],
[3, 0],
[4, 0]
],
"stn_beams": [{
"beam_id": 1,
"freq_ids": [64, 65, 66, 67, 68, 69, 70, 71],
"boresight_dly_poly": "tango://delays.skao.int/low/stn-beam/1"
}]
},
"timing_beams": {
"beams": [{
"pst_beam_id": 13,
"stn_beam_id": 1,
"offset_dly_poly": "url",
"stn_weights": [0.9, 1.0, 1.0, 0.9],
"jones": "url",
"rfi_enable": [true, true, true],
"rfi_static_chans": [1, 206, 997],
"rfi_dynamic_chans": [242, 1342],
"rfi_weighted": 0.87
}]
},
"search_beams": "tbd",
"zooms": "tbd"
},
"pss": {},
"pst": {
"beams": [{
"beam_id": 1,
"scan": {
"activation_time": "2022-01-19T23:07:45Z",
"bits_per_sample": 32,
"num_of_polarizations": 2,
"udp_nsamp": 32,
"wt_nsamp": 32,
"udp_nchan": 24,
"num_frequency_channels": 432,
"centre_frequency": 200000000.0,
"total_bandwidth": 1562500.0,
"observation_mode": "VOLTAGE_RECORDER",
"observer_id": "jdoe",
"project_id": "project1",
"pointing_id": "pointing1",
"source": "J1921+2153",
"itrf": [5109360.133, 2006852.586, -3238948.127],
"receiver_id": "receiver3",
"feed_polarization": "LIN",
"feed_handedness": 1,
"feed_angle": 1.234,
"feed_tracking_mode": "FA",
"feed_position_angle": 10.0,
"oversampling_ratio": [8, 7],
"coordinates": {
"equinox": 2000.0,
"ra": "19:21:44.815",
"dec": "21:53:02.400"
},
"max_scan_length": 20000.0,
"subint_duration": 30.0,
"receptors": ["receptor1", "receptor2"],
"receptor_weights": [0.4, 0.6],
"num_channelization_stages": 2,
"channelization_stages": [{
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 1024,
"oversampling_ratio": [32, 27]
}, {
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 256,
"oversampling_ratio": [4, 3]
}]
}
}]
}
}
Low CSP specific parameters. This section contains the parameters relevant to configure the Low CSP sub-system.
type |
object |
||
properties |
|||
|
URI of JSON schema for this command’sJSON payload.. |
||
type |
string |
||
|
Subarray elements |
||
type |
object |
||
default |
null |
||
properties |
|||
|
Name and scope of current subarray the sub-array. |
||
type |
string |
||
additionalProperties |
False |
||
|
Common section, containing the parameters and the sections belonging to all CSP subsystems. This section is forwarded to all sub-elements. |
||
|
Correlator and Beamformer specific parameters. This section contains the parameters relevant only for CBF sub-system. This section is forwarded only to CBF subelement. |
||
default |
null |
||
|
Section with parameters to configure the PSS sub-system |
||
default |
null |
||
|
Section with parameters to configure the PST sub-system. |
||
default |
null |
||
additionalProperties |
False |
Common configuration schema 2.0
Common section, containing the parameters and the sections belonging to all CSP subsystems. This section is forwarded to all sub-elements.
type |
object |
|
properties |
||
|
type |
string |
default |
null |
|
|
Subarray number |
|
type |
integer |
|
|
Execution block ID to associate scan configs to an observation. This ID is used for associating generated data, especially data products, for a given observation. Multiple scans can be linked to one observation and this ID is used as metadata to associate the data products from all scans of the same observation. This ID does not have to be unique for a scan configuration but should be unique for different observations. For example, all the data and weights files will have an EB_ID header value populated with the value supplied in this field. |
|
type |
string |
|
pattern |
^eb\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
|
default |
null |
|
additionalProperties |
False |
LOWCBF subarray configurescan 0.1
Correlator and Beamformer specific parameters. This section contains the parameters relevant only for CBF sub-system. This section is forwarded only to CBF subelement.
type |
object |
||||
properties |
|||||
|
Subarray Stations and station beam inputdescriptions |
||||
|
PST beam outputs descriptions |
||||
default |
null |
||||
|
PSS beam outputs descriptions |
||||
type |
string |
||||
default |
null |
||||
|
Visibility output descriptions |
||||
type |
object |
||||
default |
null |
||||
properties |
|||||
|
FSPs used for correlation |
||||
type |
object |
||||
properties |
|||||
|
Firmware name |
||||
type |
string |
||||
|
List of IDs (integer) |
||||
type |
array |
||||
items |
type |
integer |
|||
additionalProperties |
False |
||||
|
SDP visibility destinations |
||||
type |
array |
||||
items |
|||||
additionalProperties |
False |
||||
|
Zoom visibility output descriptions |
||||
type |
string |
||||
default |
null |
||||
additionalProperties |
False |
Subarray stations and station beams 0.1
Station and station beams parameters
type |
object |
||||
properties |
|||||
|
type |
array |
|||
items |
type |
array |
|||
items |
type |
integer |
|||
|
type |
array |
|||
items |
type |
object |
|||
properties |
|||||
|
station beam id |
||||
type |
integer |
||||
|
list of station beam frequency ids |
||||
type |
array |
||||
items |
type |
integer |
|||
|
URL |
||||
type |
string |
||||
additionalProperties |
False |
||||
additionalProperties |
False |
outer 0.1
type |
object |
|
properties |
||
|
inner |
|
type |
array |
|
items |
||
additionalProperties |
False |
PST beams description 0.1
type |
object |
||
properties |
|||
|
Station beam ID for pst beamforming |
||
type |
integer |
||
|
PST beam ID |
||
type |
integer |
||
|
Jones matrix source URI |
||
type |
string |
||
|
weights for each station |
||
type |
array |
||
items |
type |
number |
|
|
Master enable for RFI flagging |
||
type |
array |
||
default |
null |
||
items |
type |
boolean |
|
|
Freqency IDs to be always flagged |
||
type |
array |
||
default |
null |
||
items |
type |
integer |
|
|
Frequency IDs to be dynamically flagged |
||
type |
array |
||
default |
null |
||
items |
type |
integer |
|
|
Parameter for dynamic flagging |
||
type |
number |
||
default |
null |
||
|
Firmware name |
||
type |
string |
||
default |
null |
||
|
Delay polynomial source URI |
||
type |
string |
||
additionalProperties |
False |
Station beams to correlate 0.1
type |
object |
||||
properties |
|||||
|
Station Beam ID |
||||
type |
integer |
||||
|
milliseconds integration |
||||
type |
integer |
||||
|
SDP channel & IP Address |
||||
type |
array |
||||
items |
type |
array |
|||
items |
anyOf |
type |
integer |
||
type |
string |
||||
|
SDP chan & UDP port, stride |
||||
type |
array |
||||
items |
type |
array |
|||
items |
type |
integer |
|||
|
SDP channel & server MAC |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
anyOf |
type |
integer |
||
type |
string |
||||
additionalProperties |
False |
PSS configuration 2.0
type |
object |
|
properties |
||
|
type |
string |
default |
null |
|
additionalProperties |
False |
LOW PST configure 2.4
Main configuration for the Low CSP Pulsar timing sub-system
type |
object |
|||
properties |
||||
|
List of PST Beams IDs to configure |
|||
type |
array |
|||
items |
Parameters to configure the PST sub-system |
|||
type |
object |
|||
properties |
||||
|
Configuration for a PST beam ID |
|||
type |
integer |
|||
|
Parameters to configure the scan |
|||
|
Parameter to configure the beam |
|||
default |
null |
|||
additionalProperties |
False |
|||
additionalProperties |
False |
PST scan configuration 2.4
Pulsar Timing specific scan configuration parameters.
type |
object |
|||
properties |
||||
|
Date and time when to start the PST reconfiguration. Units: UTC timestamp Keyword: ACTIVATION_TIME |
|||
type |
string |
|||
|
Identifier assigned by LMC/TM used to identify the beam configuraiton. PST selects which PST server to use for this scan and timing beam, and provides a mapping from the timing beam identifier by the TM to PST capability id. Keyword: BEAM |
|||
type |
string |
|||
default |
null |
|||
|
The number of bits per complex-values time sample in the CBF output data. Valid values are 16, 24, or 32. Keyword: NBIT |
|||
type |
integer |
|||
|
The number of polarizations in the CBF output data. Valid values are 1 or 2. Keyword: NPOL |
|||
type |
integer |
|||
|
The number of time samples for each single polarization and the a single frequency in each UDP packet sent by CBF. Note: this must be an integer multiple of WT_NSMAP Range: 4 (Low), 32 (Mid) Keyword: UDP_NSAMP |
|||
type |
integer |
|||
|
The number of time samples described by as single relative weight. There is a unique relative weight for each frequency channel, and each relative weight describes both polarizations. Range: 4 (Low), 32 (Mid) Keyword: WT_NSAMP |
|||
type |
integer |
|||
|
The number of contiguous frequency channels in each UDP packet sent by CBF. Range: 24 (Low), 185 (Mid) Keyword: UDP_NCHAN |
|||
type |
integer |
|||
|
The total number of frequency channels into which the total critical bandwidth has been divided. This must be an integer multiple of udp_nchan Range: 1 to 82944 Keyword: OBSNCHAN |
|||
type |
integer |
|||
|
Centre frequency of to the total (critical) bandwidth spanned by the frequency channels. Units: Hz Range: 50e6 to 12800e6 Keyword: OBSFREQ |
|||
type |
number |
|||
|
Total (critical) bandwidth spanned by the channels of the observation. Low: 0.00361 to 300 MHz Mid: 0.053.76 to 2500 MHz Units: Hz Range: 3610 to 2.5e9 Keyword: OBSBW |
|||
type |
number |
|||
|
The observation mode used for the scan. The value VOLTAGE_RECORDER is added for AA0.5, while the other values will be needed for in the future for data processing. Keyword: OBSMODE |
|||
allOf |
type |
string |
||
enum |
PULSAR_TIMING, DYNAMIC_SPECTRUM, FLOW_THROUGH, VOLTAGE_RECORDER |
|||
|
The observer in charge of the observations. Keyword: OBSERVER |
|||
type |
string |
|||
|
The project that the observations are for. Keyword: PROJID |
|||
type |
string |
|||
|
The ID for the sub-array pointing. Keyword: PNT_ID |
|||
type |
string |
|||
|
The name of the source. Keyword: SRC_NAME |
|||
type |
string |
|||
|
The International Terrestrial Reference Frame (ITRF) coordinates of the telescope delay centre. Units: metres Keyword: ITRF |
|||
type |
array |
|||
items |
type |
number |
||
|
The receiver name or ID (instrument). Keyword: FRONTEND |
|||
type |
string |
|||
|
The native polarization of feed. Range: LIN or CIRC Keyword: FD_POLN |
|||
allOf |
type |
string |
||
enum |
LIN, CIRC |
|||
|
Code for sense of feed. For value of +1 for XYZ forming RH set with Z in the direction of propagation. Looking up into the feed of a prime-focus receiver or at the sky). For FD_HAND = +1, the rotation from A (or X) to B (or Y) is counter clockwise or in the direction of increasing Feed Angle (FA) or Position Angle (PA). For circular feeds, FD_HAND = +1 for IEEE LCP on the A (or X) probe. Range: -1 or +1 Keyword: FD_HAND |
|||
allOf |
type |
integer |
||
enum |
-1, 1 |
|||
|
Feed angle of the E-vector for an equal in-phase response from the A(X) and B(Y) probes, measured in the direction of increasing feed angle or position angle (clockwise when looking down on a prime focuse receiver). Units: degrees Range: -180 to 180. Keyword: FD_SANG |
|||
type |
number |
|||
|
The tracking mode for the feed:
Range: FA, CPA, SPA, or TPA Keyword: FD_MODE |
|||
allOf |
type |
string |
||
enum |
FA, CPA, SPA, TPA |
|||
|
The requested angle of feed reference. For feed_mode = ‘FA’ this is respect to the telescope’s reference frame (feed_angle = 0), and for feed_mode = ‘CPA’ this is with respect to the celestial north (parallic angle = 0) or with respect to the Galactic north for coordinate_mode = ‘GALACTIC’. Range: -180 to +180. Keyword: FA_REQ |
|||
type |
number |
|||
|
The oversampling ratio expressed as a fraction as an array of int, with the first value the numerator and the second is the denominator. (e.g. 8/7 is assigned as [8,7]). Range: 8/7 or 4/3 Keyword: OVERSAMP |
|||
type |
array |
|||
items |
type |
integer |
||
|
The tied-array beam’s tracking co-ordinates. As of version 2.2 of the schema this only handles equitorial tracking which means uses RA/Dec J2000.0 coords but PST may support different tracking modes and coordinates the future. |
|||
|
The maximum length of the observation. Units: seconds Range: 30 - 43200 Keyword: SCANLEN_MAX |
|||
type |
number |
|||
|
The length of each output sub-integration. Units: seconds Range: 1 - 60 Keyword: OUTSUBINT |
|||
type |
number |
|||
|
An array of receptor IDs for the receptors included in the sub-array. Keyword: ANTENNA |
|||
type |
array |
|||
items |
type |
string |
||
|
Weight for each receptor. Range: 0 - 1.0 Keyword: ANT_WEIGHTS |
|||
type |
array |
|||
items |
type |
number |
||
|
The number of frequency ranges to be masked. Range: 0 - 1024 Keyword: NMASK |
|||
type |
integer |
|||
default |
0 |
|||
|
A two-dimensional array of length of num_frequency_mask of known RFI frequency ranges to excise from the data. The array contains mask pairs of [f_min, f_max] pairs for known frequency ranges containing RFI not excised by the CBF. The overall dimension of this array is num_frequency_mask x 2. Units: Hz Keyword: FREQ_MASK |
|||
type |
array |
|||
default |
null |
|||
items |
type |
array |
||
items |
type |
number |
||
|
The destination address for the PST output data. Includes IPv4 Address, port number. |
|||
type |
array |
|||
default |
null |
|||
items |
anyOf |
type |
string |
|
type |
integer |
|||
|
Identifier for a test vectore that will be present in the tied-array beam data stream beam CBF and PST. Keyword: TEST_VECTOR |
|||
type |
string |
|||
default |
null |
|||
|
Pulsar Timing specific parameters for the ‘PULSAR_TIMING’ mode configuration. |
|||
default |
null |
|||
|
Pulsar Timing specific parameters for the ‘DYNAMIC_SPECTRUM’ mode configuration. |
|||
default |
null |
|||
|
Pulsar Timing specific parameters for the ‘FLOW_THROUGH’ mode configuration. |
|||
default |
null |
|||
|
The number of stages used to channelize the data: e.g. * for Low, there are 2 stages: 1 in LFAA and 1 in CBF * for Mid, there are 2 stages: 1 in FSP and 1 in PST BF. Keyword: NSTAGE |
|||
type |
integer |
|||
|
List of configuration for each channelization stage. |
|||
type |
array |
|||
items |
Pulsar Timing specific parameters for channelization stage configuration. |
|||
additionalProperties |
False |
PST RA_Dec coordinates 2.4
Pulsar Timing specific parameters for RA/Dec tracking coordinates.
type |
object |
|
properties |
||
|
The coordinate epoch. This can be in Julian date or Modified Julian Date. Units: years Range: >= 2000 Keyword: EQUINOX |
|
type |
number |
|
default |
2000.0 |
|
|
The Right Accession (RA) of the coordinates used for tracking. Valid formats is ‘hh:mm:ss.sss’ or ‘ddd.ddd’ Keyword: STT_CTD1 |
|
type |
string |
|
|
The declination (Dec) of the coordinates used for tracking. Valid formats is ‘hh:mm:ss.sss’ or ‘ddd.ddd’ Keyword: STT_CTD2 |
|
type |
string |
|
additionalProperties |
False |
PST ‘PULSAR_TIMING’ mode configuration 2.4
Pulsar Timing specific parameters for the ‘PULSAR_TIMING’ mode configuration.
type |
object |
|
properties |
||
|
The dispersion measure for coherent/inchoerent de-dispersion. Units: pccm^-3 Range: 0 - 100000 Keyword: DM |
|
type |
number |
|
|
The rotation measure for phase-coherent Faraday rotation correction. Units: radians per metre squared Keyword: RM |
|
type |
number |
|
default |
null |
|
|
The ephemeris of the pulsar being observed. Units: PSRCAT compatible ASCII string Keyword: EPHEMERIS |
|
type |
string |
|
|
Pulsar phase predictor generated from ephemeris. Units: TEMPO2 compatible ASCII string Keyword: PREDICTOR |
|
type |
string |
|
|
The number of output frequency channels. This must be between 1 and the number of observation channels. Keyword: OUTNCHAN |
|
type |
integer |
|
|
The number of output phase bins. Range: 64 - 2048 Keyword: OUTNBIN |
|
type |
integer |
|
|
The number of spectral kurtosis (SK) configurations to apply. Keyword: N_SK |
|
type |
integer |
|
|
List of spectral kurtosis configurations. |
|
type |
array |
|
items |
Pulsar Timing specific parameters for the spectral kurtosis (SK) for the ‘PULSAR_TIMING’ mode. |
|
|
The signal-to-noise ratio (SNR) of the on-pulse flux for the scan. May be used to prematurely end a scan when the integrated SNR reaches the target. A value of 0 indicates there is no limit. Keyword: TARGET_SNR |
|
type |
number |
|
additionalProperties |
False |
PST spectral kurtosis configuration 2.4
Pulsar Timing specific parameters for the spectral kurtosis (SK) for the ‘PULSAR_TIMING’ mode.
type |
object |
||
properties |
|||
|
Frequency ranges for each spectral kurtosis (SK) configuration. Units: Hz Keyword: SK_RNG |
||
type |
array |
||
items |
type |
number |
|
|
The number of input time samples integrated into each spectral kurtosis (SK) statistic. Range: 64 - 1024 Keyword: SK_INTS |
||
type |
integer |
||
|
Spectral kurtosis excision limits (RFI threshold) in units of standard deviations. Range: 1 - 100 Keyword: SK_EXIS |
||
type |
number |
||
additionalProperties |
False |
PST ‘DYNAMIC_SPECTRUM’ mode configuration 2.4
Pulsar Timing specific parameters for the ‘DYNAMIC_SPECTRUM’ mode configuration.
type |
object |
||
properties |
|||
|
The dispersion measture for coherent/inchoerent de-dispersion. This is only required for pulsar timing and dynamic spectrum modes. Range: [0, 100000] Keyword: DM |
||
type |
number |
||
|
The rotation measure for phase-coherent Faraday rotation correction. Units: radians per metre squared Keyword: RM |
||
type |
number |
||
default |
null |
||
|
The number of output frequency channels. This must be between 1 and the number of observation channels. Keyword: OUTNCHAN |
||
type |
integer |
||
|
The Stokes parameters to output when in Dynamic spectrum mode. Range: string with a combination of I, Q, U, and V. Keyword: STOKES_FB |
||
type |
string |
||
|
The number of bits per output sample. Range: 1, 2, 4, 8, 16 or 32 Keyword: NBIT_OUT |
||
allOf |
type |
integer |
|
enum |
1, 2, 4, 8, 16, 32 |
||
|
The number of input samples per output time sample when in Dynamic Spectrum mode. Keyword: TDEC_FB |
||
type |
integer |
||
|
The number of input frequency channels incoherently added to each output frequency channel in Dynamic Spectrum. This is required in addition to output_frequency_channels because some frequency channels may be merged coherently to increase temporal resolution. Keyword: FDEC_FB |
||
type |
integer |
||
|
The number of spectral kurtosis (SK) configurations to apply. Keyword: N_SK |
||
type |
integer |
||
default |
null |
||
|
List of spectral kurtosis configurations. |
||
type |
array |
||
default |
null |
||
items |
Pulsar Timing specific parameters for the spectral kurtosis (SK) for the ‘PULSAR_TIMING’ mode. |
||
|
Scale factor to govern the dynamic range for fixed precision output to be applied during re-quantisation. Keyword: DIGITIZER_SCALE |
||
type |
number |
||
|
Length of data to be used when determining the scaling factors used for fixed precision output during re-quantisation. Units: seconds Keyword: DIGITIZER_LENGTH |
||
type |
number |
||
additionalProperties |
False |
PST ‘FLOW_THROUGH’ mode configuration 2.4
Pulsar Timing specific parameters for the ‘FLOW_THROUGH’ mode configuration.
type |
object |
||
properties |
|||
|
The number of bits per output sample. Range: 1, 2, 4, 8, 16 or 32 Keyword: NBIT_OUT |
||
allOf |
type |
integer |
|
enum |
1, 2, 4, 8, 16, 32 |
||
|
The indices of the first and last (inclusive) frequency channels that define the single contiguous range of frequency channels to be recorded. Keyword: CHAN_FT |
||
type |
array |
||
items |
type |
integer |
|
|
Scale factor applied during re-quantisation that modifies the dynamic range of the fixed precision output. By default, for 2, 4, and 8 bits per sample, data will be scaled to minimize scattered power by adopting the Optimum Input Threshold Spacing for a Uniform Digitizer defined in Table 3 of Jenet & Anderson (1998; PASP 110:1467). For 16 and 32 bits per sample, by default the data will be scaled such that the maximum fixed precision output value (2^{num_bits_out-1}) corresponds to 6 times the standard deviation. For all num_bits_out, the standard deviation is that of either the real or imaginary part of each complex-valued sample. The default scale factor is computed such that, after multiplication by this scale factor, the data would satisfy the conditions described above. This default scale factor is multiplied by requantisation_scale. Therefore, a requantisation_scale value greater than 1 increases the value of the floating point data before it is cast to a fixed precision value, thereby reducing the overhead available to represent RFI and increasing the probability of clipping. Keyword: DIGITIZER_SCALE |
||
type |
number |
||
|
The number of input channels to be recorded. This value must be less than or equal to the output_frequency_channels. Keyword: NCHAN_FT |
||
type |
integer |
||
|
Length of data to be used when determining the scaling factors used for fixed precision output during re-quantisation. Units: seconds Keyword: DIGITIZER_LENGTH |
||
type |
number |
||
additionalProperties |
False |
PST channelization stage configuration 2.4
Pulsar Timing specific parameters for channelization stage configuration.
type |
object |
||
properties |
|||
|
Total number of taps in the prototype filter (i.e. over all arms) used in the stage. Keyword: NSTAP_k |
||
type |
integer |
||
|
An array of filter coefficients that define the (time domain) response function of the prototype filter used in the stage. Length of this is num_filter_taps. Keyword: COEFF_k |
||
type |
array |
||
items |
type |
number |
|
|
The number of frequency channels output by each polyphase filter bank (PFB) for this stage. Keyword: NCHAN_PFB_k |
||
type |
integer |
||
|
The oversampling ratio expressed as a fraction as an array of int, with the first value the numerator and the second is the denominator. (e.g. 8/7 is assigned as [8,7]). Keyword: OVERSAMP_k |
||
type |
array |
||
items |
type |
integer |
|
additionalProperties |
False |
PST beam configuration 2.4
Pulsar Timing specific beam configuration parameters.
As of version 2.3 this schema has no elements and is deprecated
type |
object |
properties |
|
additionalProperties |
False |
ska-low-csp-scan
LOWCSP scan description 4.0
Example (LOW CSP scan JSON v. 4.0)
{
"interface": "https://schema.skao.int/ska-low-csp-scan/4.0",
"common": {
"subarray_id": 1
},
"scan_id": 987654321
}
type |
object |
||
properties |
|||
|
LOW CSP SCAN interface |
||
type |
string |
||
|
LOWCSP subarray id arguments |
||
type |
object |
||
properties |
|||
|
subarray id |
||
type |
integer |
||
additionalProperties |
False |
||
|
Scan ID |
||
type |
integer |
||
additionalProperties |
False |
LOWCSP scan description 2.0
Example (LOW CSP scan JSON v. 2.0)
{
"interface": "https://schema.skao.int/ska-low-csp-scan/2.0",
"common": {
"subarray_id": 1
},
"lowcbf": {
"scan_id": 987654321
}
}
type |
object |
||
properties |
|||
|
LOW CSP SCAN interface |
||
type |
string |
||
|
LOWCSP subarray id arguments |
||
type |
object |
||
properties |
|||
|
subarray id |
||
type |
integer |
||
additionalProperties |
False |
||
|
LOW CBF scan schema |
||
additionalProperties |
False |
LOWCBF scan description 0.1
type |
object |
|
properties |
||
|
Scan ID |
|
type |
integer |
|
additionalProperties |
False |
ska-low-csp-releaseresources
LOWCSP release resources 3.0
Example (LOW CSP releasereousrces JSON v. 3.0)
{
"interface": "https://schema.skao.int/ska-low-csp-releaseresources/3.0",
"common": {
"subarray_id": 1
},
"lowcbf": {},
"pst": {
"beams_id": [1]
}
}
type |
object |
|||
properties |
||||
|
URI of JSON schema for this command’sJSON payload.. |
|||
type |
string |
|||
|
LOWCSP subarray id arguments |
|||
|
List of PST Beams IDs |
|||
type |
object |
|||
default |
null |
|||
properties |
||||
|
Beams id list |
|||
type |
array |
|||
items |
type |
integer |
||
additionalProperties |
False |
|||
|
Section with the Pulsar Search resources to remove from a CSP Subarray |
|||
default |
null |
|||
|
||||
additionalProperties |
False |
LOWCSP releaseresources description 3.0
type |
object |
|
properties |
||
|
subarray id |
|
type |
integer |
|
additionalProperties |
False |
LOWCSP releaseresources pss beams 3.0
type |
object |
||
properties |
|||
|
List of PSS Beams IDs |
||
type |
array |
||
items |
type |
integer |
|
additionalProperties |
False |
LOWCBF release resources 0.2
type |
object |
|
properties |
||
|
LOWCBF dummy string param (unused, empty) |
|
type |
object |
|
default |
null |
|
properties |
||
additionalProperties |
True |
|
additionalProperties |
False |
LOWCSP release resources 2.0
Example (LOW CSP releasereousrces JSON v. 2.0)
{
"interface": "https://schema.skao.int/ska-low-csp-releaseresources/2.0",
"common": {
"subarray_id": 1
},
"lowcbf": {
"resources": [{
"device": "fsp_01"
}]
},
"pst": {
"beams_id": [1]
}
}
type |
object |
|||
properties |
||||
|
URI of JSON schema for this command’sJSON payload.. |
|||
type |
string |
|||
|
LOWCSP subarray id arguments |
|||
|
List of PST Beams IDs |
|||
type |
object |
|||
default |
null |
|||
properties |
||||
|
Beams id list |
|||
type |
array |
|||
items |
type |
integer |
||
additionalProperties |
False |
|||
|
Section with the Pulsar Search resources to remove from a CSP Subarray |
|||
default |
null |
|||
|
type |
object |
||
properties |
||||
|
array of LOWCBF resources |
|||
type |
array |
|||
items |
||||
additionalProperties |
False |
|||
additionalProperties |
False |
LOWCSP releaseresources description 2.0
type |
object |
|
properties |
||
|
subarray id |
|
type |
integer |
|
additionalProperties |
False |
LOWCSP releaseresources pss beams 2.0
type |
object |
||
properties |
|||
|
List of PSS Beams IDs |
||
type |
array |
||
items |
type |
integer |
|
additionalProperties |
False |
LOWCBF resources 0.1
type |
object |
|
properties |
||
|
Name of FSP or P4 device |
|
type |
string |
|
additionalProperties |
False |
Pulsar Timing schemas
Schemas used for commands for PST LMC.
ska-pst-configure
Examples for the different versions of the configure schema
JSON schema and example for Configure version 2.5
PST configuration schema 2.5
Example (LOW PST configuration for FLOW-THROUGH scan 2.5)
{
"interface": "https://schema.skao.int/ska-pst-configure/2.5",
"common": {
"config_id": "sbi-mvp01-20240101-00001-flow-through",
"subarray_id": 1,
"eb_id": "eb-e111-20240101-87391",
"frequency_band": "low"
},
"pst": {
"scan": {
"activation_time": "2024-01-01T22:55:55Z",
"timing_beam_id": "1",
"bits_per_sample": 32,
"num_of_polarizations": 2,
"udp_nsamp": 32,
"wt_nsamp": 32,
"udp_nchan": 24,
"num_frequency_channels": 432,
"centre_frequency": 200000000.0,
"total_bandwidth": 1562500.0,
"observation_mode": "FLOW_THROUGH",
"observer_id": "jdoe",
"project_id": "project1",
"pointing_id": "pointing1",
"source": "J1921+2153",
"itrf": [5109360.133, 2006852.586, -3238948.127],
"receiver_id": "receiver3",
"feed_polarization": "CIRC",
"feed_handedness": 1,
"feed_angle": 1.234,
"feed_tracking_mode": "FA",
"feed_position_angle": 10.0,
"oversampling_ratio": [4, 3],
"coordinates": {
"equinox": 2000.0,
"ra": "19:21:44.815",
"dec": "21:53:02.400"
},
"max_scan_length": 20000.0,
"subint_duration": 30.0,
"receptors": ["receptor1", "receptor2"],
"receptor_weights": [0.4, 0.6],
"num_rfi_frequency_masks": 0,
"rfi_frequency_masks": [],
"destination_address": ["192.168.178.26", 9021],
"num_channelization_stages": 2,
"channelization_stages": [{
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 1024,
"oversampling_ratio": [32, 27]
}, {
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 256,
"oversampling_ratio": [4, 3]
}],
"ft": {
"num_bits_out": 4,
"channels": [0, 100],
"polarizations": "Both",
"requantisation_scale": 1.0,
"requantisation_init_time": 1.0
}
}
}
}
Example (LOW PST configuration for PULSAR TIMING scan 2.5)
{
"interface": "https://schema.skao.int/ska-pst-configure/2.5",
"common": {
"config_id": "sbi-20240215-00001-pulsar_timing",
"subarray_id": 1,
"eb_id": "eb-x449-20231105-34696",
"frequency_band": "low"
},
"pst": {
"scan": {
"activation_time": "2024-02-15T23:07:45Z",
"timing_beam_id": "1",
"bits_per_sample": 32,
"num_of_polarizations": 2,
"udp_nsamp": 32,
"wt_nsamp": 32,
"udp_nchan": 24,
"num_frequency_channels": 432,
"centre_frequency": 100000000.0,
"total_bandwidth": 1562500.0,
"observation_mode": "PULSAR_TIMING",
"observer_id": "jdoe",
"project_id": "project1",
"pointing_id": "pointing1",
"source": "J1921+2153",
"itrf": [5109360.133, 2006852.586, -3238948.127],
"receiver_id": "receiver3",
"feed_polarization": "CIRC",
"feed_handedness": 1,
"feed_angle": 1.234,
"feed_tracking_mode": "FA",
"feed_position_angle": 10.0,
"oversampling_ratio": [4, 3],
"coordinates": {
"equinox": 2000.0,
"ra": "19:21:44.815",
"dec": "21:53:02.400"
},
"max_scan_length": 10000.5,
"subint_duration": 30.0,
"receptors": ["receptorX", "receptorY"],
"receptor_weights": [0.4, 0.6],
"num_rfi_frequency_masks": 0,
"rfi_frequency_masks": [],
"destination_address": ["192.168.178.26", 9021],
"num_channelization_stages": 2,
"channelization_stages": [{
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 1024,
"oversampling_ratio": [32, 27]
}, {
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 256,
"oversampling_ratio": [4, 3]
}],
"pt": {
"dispersion_measure": 100.0,
"rotation_measure": 0.0,
"ephemeris": "",
"pulsar_phase_predictor": "",
"output_frequency_channels": 1,
"output_phase_bins": 64,
"num_sk_config": 1,
"sk_config": [{
"sk_range": [0.8, 0.9],
"sk_integration_limit": 100,
"sk_excision_limit": 25.0
}],
"target_snr": 0.0
}
}
}
}
Example (LOW PST configuration for DYNAMIC SPECTRUM scan 2.5)
{
"interface": "https://schema.skao.int/ska-pst-configure/2.5",
"common": {
"config_id": "sbi-dynamic_spectrum",
"subarray_id": 1,
"eb_id": "eb-x449-20231105-34696",
"frequency_band": "low"
},
"pst": {
"scan": {
"activation_time": "2022-01-19T23:07:45Z",
"timing_beam_id": "1",
"bits_per_sample": 32,
"num_of_polarizations": 2,
"udp_nsamp": 32,
"wt_nsamp": 32,
"udp_nchan": 24,
"num_frequency_channels": 432,
"centre_frequency": 100000000.0,
"total_bandwidth": 1562500.0,
"observation_mode": "DYNAMIC_SPECTRUM",
"observer_id": "jdoe",
"project_id": "project1",
"pointing_id": "pointing1",
"source": "J1921+2153",
"itrf": [5109360.133, 2006852.586, -3238948.127],
"receiver_id": "receiver3",
"feed_polarization": "CIRC",
"feed_handedness": 1,
"feed_angle": 1.234,
"feed_tracking_mode": "FA",
"feed_position_angle": 10.0,
"oversampling_ratio": [4, 3],
"coordinates": {
"equinox": 2000.0,
"ra": "19:21:44.815",
"dec": "21:53:02.400"
},
"max_scan_length": 13000.2,
"subint_duration": 30.0,
"receptors": ["receptorX, receptorY"],
"receptor_weights": [0.4, 0.6],
"num_rfi_frequency_masks": 0,
"rfi_frequency_masks": [],
"destination_address": ["192.168.178.26", 9021],
"num_channelization_stages": 2,
"channelization_stages": [{
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 1024,
"oversampling_ratio": [32, 27]
}, {
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 256,
"oversampling_ratio": [4, 3]
}],
"ds": {
"dispersion_measure": 100.0,
"output_frequency_channels": 1,
"stokes_parameters": "Q",
"num_bits_out": 16,
"time_decimation_factor": 10,
"frequency_decimation_factor": 4,
"requantisation_scale": 1.0,
"requantisation_length": 1.0
}
}
}
}
Example (LOW PST configuration for voltage recorder scan 2.5)
{
"interface": "https://schema.skao.int/ska-pst-configure/2.5",
"common": {
"config_id": "sbi-mvp01-20240111-voltage_recorder",
"subarray_id": 1,
"eb_id": "eb-x321-20240111-10012",
"frequency_band": "low"
},
"pst": {
"scan": {
"activation_time": "2024-01-11T23:11:17Z",
"bits_per_sample": 32,
"timing_beam_id": "1",
"num_of_polarizations": 2,
"udp_nsamp": 32,
"wt_nsamp": 32,
"udp_nchan": 24,
"num_frequency_channels": 432,
"centre_frequency": 100000000.0,
"total_bandwidth": 1562500.0,
"observation_mode": "VOLTAGE_RECORDER",
"observer_id": "jdoe",
"project_id": "project1",
"pointing_id": "pointing1",
"source": "J1921+2153",
"itrf": [5109360.133, 2006852.586, -3238948.127],
"receiver_id": "receiver3",
"feed_polarization": "LIN",
"feed_handedness": 1,
"feed_angle": 1.234,
"feed_tracking_mode": "FA",
"feed_position_angle": 10.0,
"oversampling_ratio": [4, 3],
"coordinates": {
"equinox": 2000.0,
"ra": "19:21:44.815",
"dec": "21:53:02.400"
},
"max_scan_length": 20000.0,
"subint_duration": 30.0,
"receptors": ["SKA001", "SKA036"],
"receptor_weights": [0.4, 0.6],
"num_channelization_stages": 2,
"channelization_stages": [{
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 1024,
"oversampling_ratio": [32, 27]
}, {
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 256,
"oversampling_ratio": [4, 3]
}]
}
}
}
Example (MID PST configuration for FLOW-THROUGH scan 2.5)
{
"interface": "https://schema.skao.int/ska-pst-configure/2.5",
"common": {
"config_id": "sbi-mvp01-20240101-00001-flow-through",
"subarray_id": 1,
"eb_id": "eb-e111-20240101-87391",
"frequency_band": "1"
},
"pst": {
"scan": {
"activation_time": "2024-01-01T22:55:55Z",
"timing_beam_id": "1",
"bits_per_sample": 32,
"num_of_polarizations": 2,
"udp_nsamp": 4,
"wt_nsamp": 4,
"udp_nchan": 185,
"num_frequency_channels": 13021,
"centre_frequency": 700000000.0,
"total_bandwidth": 700000000.0,
"observation_mode": "FLOW_THROUGH",
"observer_id": "jdoe",
"project_id": "project1",
"pointing_id": "pointing1",
"source": "J1921+2153",
"itrf": [5109360.133, 2006852.586, -3238948.127],
"receiver_id": "receiver3",
"feed_polarization": "CIRC",
"feed_handedness": 1,
"feed_angle": 1.234,
"feed_tracking_mode": "FA",
"feed_position_angle": 10.0,
"oversampling_ratio": [8, 7],
"coordinates": {
"equinox": 2000.0,
"ra": "19:21:44.815",
"dec": "21:53:02.400"
},
"max_scan_length": 20000.0,
"subint_duration": 30.0,
"receptors": ["receptor1", "receptor2"],
"receptor_weights": [0.4, 0.6],
"num_rfi_frequency_masks": 0,
"rfi_frequency_masks": [],
"destination_address": ["192.168.178.26", 9021],
"num_channelization_stages": 2,
"channelization_stages": [{
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 4,
"oversampling_ratio": [10, 9]
}, {
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 4096,
"oversampling_ratio": [8, 7]
}],
"ft": {
"num_bits_out": 4,
"channels": [0, 1000],
"polarizations": "Both",
"requantisation_scale": 1.0,
"requantisation_init_time": 1.0
}
}
}
}
Example (MID PST configuration for PULSAR TIMING scan 2.5)
{
"interface": "https://schema.skao.int/ska-pst-configure/2.5",
"common": {
"config_id": "sbi-20240215-00001-pulsar_timing",
"subarray_id": 1,
"eb_id": "eb-x449-20231105-34696",
"frequency_band": "2"
},
"pst": {
"scan": {
"activation_time": "2024-02-15T23:07:45Z",
"timing_beam_id": "1",
"bits_per_sample": 32,
"num_of_polarizations": 2,
"udp_nsamp": 4,
"wt_nsamp": 4,
"udp_nchan": 185,
"num_frequency_channels": 15067,
"centre_frequency": 1355000000.0,
"total_bandwidth": 810000000.0,
"observation_mode": "PULSAR_TIMING",
"observer_id": "jdoe",
"project_id": "project1",
"pointing_id": "pointing1",
"source": "J1921+2153",
"itrf": [5109360.133, 2006852.586, -3238948.127],
"receiver_id": "receiver3",
"feed_polarization": "CIRC",
"feed_handedness": 1,
"feed_angle": 1.234,
"feed_tracking_mode": "FA",
"feed_position_angle": 10.0,
"oversampling_ratio": [8, 7],
"coordinates": {
"equinox": 2000.0,
"ra": "19:21:44.815",
"dec": "21:53:02.400"
},
"max_scan_length": 10000.5,
"subint_duration": 30.0,
"receptors": ["receptorX", "receptorY"],
"receptor_weights": [0.4, 0.6],
"num_rfi_frequency_masks": 0,
"rfi_frequency_masks": [],
"destination_address": ["192.168.178.26", 9021],
"num_channelization_stages": 2,
"channelization_stages": [{
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 5,
"oversampling_ratio": [10, 9]
}, {
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 4096,
"oversampling_ratio": [8, 7]
}],
"pt": {
"dispersion_measure": 100.0,
"rotation_measure": 0.0,
"ephemeris": "",
"pulsar_phase_predictor": "",
"output_frequency_channels": 1,
"output_phase_bins": 64,
"num_sk_config": 1,
"sk_config": [{
"sk_range": [0.8, 0.9],
"sk_integration_limit": 100,
"sk_excision_limit": 25.0
}],
"target_snr": 0.0
}
}
}
}
Example (MID PST configuration for DYNAMIC SPECTRUM scan 2.5)
{
"interface": "https://schema.skao.int/ska-pst-configure/2.5",
"common": {
"config_id": "sbi-dynamic_spectrum",
"subarray_id": 1,
"eb_id": "eb-x449-20231105-34696",
"frequency_band": "1"
},
"pst": {
"scan": {
"activation_time": "2022-01-19T23:07:45Z",
"timing_beam_id": "1",
"bits_per_sample": 32,
"num_of_polarizations": 2,
"udp_nsamp": 4,
"wt_nsamp": 4,
"udp_nchan": 185,
"num_frequency_channels": 13021,
"centre_frequency": 700000000.0,
"total_bandwidth": 700000000.0,
"observation_mode": "DYNAMIC_SPECTRUM",
"observer_id": "jdoe",
"project_id": "project1",
"pointing_id": "pointing1",
"source": "J1921+2153",
"itrf": [5109360.133, 2006852.586, -3238948.127],
"receiver_id": "receiver3",
"feed_polarization": "CIRC",
"feed_handedness": 1,
"feed_angle": 1.234,
"feed_tracking_mode": "FA",
"feed_position_angle": 10.0,
"oversampling_ratio": [8, 7],
"coordinates": {
"equinox": 2000.0,
"ra": "19:21:44.815",
"dec": "21:53:02.400"
},
"max_scan_length": 13000.2,
"subint_duration": 30.0,
"receptors": ["receptorX, receptorY"],
"receptor_weights": [0.4, 0.6],
"num_rfi_frequency_masks": 0,
"rfi_frequency_masks": [],
"destination_address": ["192.168.178.26", 9021],
"num_channelization_stages": 2,
"channelization_stages": [{
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 4,
"oversampling_ratio": [10, 9]
}, {
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 4096,
"oversampling_ratio": [8, 7]
}],
"ds": {
"dispersion_measure": 100.0,
"output_frequency_channels": 1,
"stokes_parameters": "Q",
"num_bits_out": 16,
"time_decimation_factor": 10,
"frequency_decimation_factor": 4,
"requantisation_scale": 1.0,
"requantisation_length": 1.0
}
}
}
}
Example (MID PST configuration for voltage recorder scan 2.5)
{
"interface": "https://schema.skao.int/ska-pst-configure/2.5",
"common": {
"config_id": "sbi-mvp01-20240111-voltage_recorder",
"subarray_id": 1,
"eb_id": "eb-x321-20240111-10012",
"frequency_band": "5b"
},
"pst": {
"scan": {
"activation_time": "2024-01-11T23:11:17Z",
"bits_per_sample": 16,
"timing_beam_id": "1",
"num_of_polarizations": 2,
"udp_nsamp": 4,
"wt_nsamp": 4,
"udp_nchan": 185,
"num_frequency_channels": 46503,
"centre_frequency": 10550000000.0,
"total_bandwidth": 2500000000.0,
"observation_mode": "VOLTAGE_RECORDER",
"observer_id": "jdoe",
"project_id": "project1",
"pointing_id": "pointing1",
"source": "J1921+2153",
"itrf": [5109360.133, 2006852.586, -3238948.127],
"receiver_id": "receiver3",
"feed_polarization": "LIN",
"feed_handedness": 1,
"feed_angle": 1.234,
"feed_tracking_mode": "FA",
"feed_position_angle": 10.0,
"oversampling_ratio": [8, 7],
"coordinates": {
"equinox": 2000.0,
"ra": "19:21:44.815",
"dec": "21:53:02.400"
},
"max_scan_length": 20000.0,
"subint_duration": 30.0,
"receptors": ["SKA001", "SKA036"],
"receptor_weights": [0.4, 0.6],
"num_channelization_stages": 2,
"channelization_stages": [{
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 13,
"oversampling_ratio": [10, 9]
}, {
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 4096,
"oversampling_ratio": [8, 7]
}]
}
}
}
Schema to validate the Pulsar Timing configuration.
type |
object |
||
properties |
|||
|
Pulsar Timing specific parameters. To be borrowed from IICD |
||
type |
object |
||
properties |
|||
|
Pulsar Timing specific scan configuration parameters. |
||
default |
null |
||
|
Pulsar Timing specific beam configuration parameters. As of version 2.3 this schema has no elements and is deprecated |
||
default |
null |
||
additionalProperties |
False |
||
|
URI of JSON schema for this command’s JSON payload.. |
||
type |
string |
||
|
Common section, containing the parameters and the sections belonging to all CSP subsystems. This section is forwarded to all sub-elements. |
||
additionalProperties |
False |
PST scan configuration 2.5
Pulsar Timing specific scan configuration parameters.
type |
object |
|||
properties |
||||
|
Date and time when to start the PST reconfiguration. Units: UTC timestamp Keyword: ACTIVATION_TIME |
|||
type |
string |
|||
|
Identifier assigned by LMC/TM used to identify the beam configuraiton. PST selects which PST server to use for this scan and timing beam, and provides a mapping from the timing beam identifier by the TM to PST capability id. Keyword: BEAM |
|||
type |
string |
|||
|
The number of bits per complex-values time sample in the CBF output data. Valid values are 16, 24, or 32. Keyword: NBIT |
|||
type |
integer |
|||
|
The number of polarizations in the CBF output data. Valid values are 1 or 2. Keyword: NPOL |
|||
type |
integer |
|||
|
The number of time samples for each single polarization and the a single frequency in each UDP packet sent by CBF. Note: this must be an integer multiple of WT_NSMAP Range: 4 (Low), 32 (Mid) Keyword: UDP_NSAMP |
|||
type |
integer |
|||
|
The number of time samples described by as single relative weight. There is a unique relative weight for each frequency channel, and each relative weight describes both polarizations. Range: 4 (Low), 32 (Mid) Keyword: WT_NSAMP |
|||
type |
integer |
|||
|
The number of contiguous frequency channels in each UDP packet sent by CBF. Range: 24 (Low), 185 (Mid) Keyword: UDP_NCHAN |
|||
type |
integer |
|||
|
The total number of frequency channels into which the total critical bandwidth has been divided. This must be an integer multiple of udp_nchan Range: 1 to 82944 Keyword: OBSNCHAN |
|||
type |
integer |
|||
|
Centre frequency of to the total (critical) bandwidth spanned by the frequency channels. Units: Hz Range: 50e6 to 12800e6 Keyword: OBSFREQ |
|||
type |
number |
|||
|
Total (critical) bandwidth spanned by the channels of the observation. Low: 0.00361 to 300 MHz Mid: 0.053.76 to 2500 MHz Units: Hz Range: 3610 to 2.5e9 Keyword: OBSBW |
|||
type |
number |
|||
|
The observation mode used for the scan. The value VOLTAGE_RECORDER is added for AA0.5, while the other values will be needed for in the future for data processing. Keyword: OBSMODE |
|||
allOf |
type |
string |
||
enum |
PULSAR_TIMING, DYNAMIC_SPECTRUM, FLOW_THROUGH, VOLTAGE_RECORDER |
|||
|
The observer in charge of the observations. Keyword: OBSERVER |
|||
type |
string |
|||
|
The project that the observations are for. Keyword: PROJID |
|||
type |
string |
|||
|
The ID for the sub-array pointing. Keyword: PNT_ID |
|||
type |
string |
|||
|
The name of the source. Keyword: SRC_NAME |
|||
type |
string |
|||
|
The International Terrestrial Reference Frame (ITRF) coordinates of the telescope delay centre. Units: metres Keyword: ITRF |
|||
type |
array |
|||
items |
type |
number |
||
|
The receiver name or ID (instrument). Keyword: FRONTEND |
|||
type |
string |
|||
|
The native polarization of feed. Range: LIN or CIRC Keyword: FD_POLN |
|||
allOf |
type |
string |
||
enum |
LIN, CIRC |
|||
|
Code for sense of feed. For value of +1 for XYZ forming RH set with Z in the direction of propagation. Looking up into the feed of a prime-focus receiver or at the sky). For FD_HAND = +1, the rotation from A (or X) to B (or Y) is counter clockwise or in the direction of increasing Feed Angle (FA) or Position Angle (PA). For circular feeds, FD_HAND = +1 for IEEE LCP on the A (or X) probe. Range: -1 or +1 Keyword: FD_HAND |
|||
allOf |
type |
integer |
||
enum |
-1, 1 |
|||
|
Feed angle of the E-vector for an equal in-phase response from the A(X) and B(Y) probes, measured in the direction of increasing feed angle or position angle (clockwise when looking down on a prime focuse receiver). Units: degrees Range: -180 to 180. Keyword: FD_SANG |
|||
type |
number |
|||
|
The tracking mode for the feed:
Range: FA, CPA, SPA, or TPA Keyword: FD_MODE |
|||
allOf |
type |
string |
||
enum |
FA, CPA, SPA, TPA |
|||
|
The requested angle of feed reference. For feed_mode = ‘FA’ this is respect to the telescope’s reference frame (feed_angle = 0), and for feed_mode = ‘CPA’ this is with respect to the celestial north (parallic angle = 0) or with respect to the Galactic north for coordinate_mode = ‘GALACTIC’. Range: -180 to +180. Keyword: FA_REQ |
|||
type |
number |
|||
|
The oversampling ratio expressed as a fraction as an array of int, with the first value the numerator and the second is the denominator. (e.g. 8/7 is assigned as [8,7]). Range: 8/7 or 4/3 Keyword: OVERSAMP |
|||
type |
array |
|||
items |
type |
integer |
||
|
The tied-array beam’s tracking co-ordinates. As of version 2.2 of the schema this only handles equitorial tracking which means uses RA/Dec J2000.0 coords but PST may support different tracking modes and coordinates the future. |
|||
|
The maximum length of the observation. Units: seconds Range: 30 - 43200 Keyword: SCANLEN_MAX |
|||
type |
number |
|||
|
The length of each output sub-integration. Units: seconds Range: 1 - 60 Keyword: OUTSUBINT |
|||
type |
number |
|||
|
An array of receptor IDs for the receptors included in the sub-array. Keyword: ANTENNA |
|||
type |
array |
|||
items |
type |
string |
||
|
Weight for each receptor. Range: 0 - 1.0 Keyword: ANT_WEIGHTS |
|||
type |
array |
|||
items |
type |
number |
||
|
The number of frequency ranges to be masked. Range: 0 - 1024 Keyword: NMASK |
|||
type |
integer |
|||
default |
0 |
|||
|
A two-dimensional array of length of num_frequency_mask of known RFI frequency ranges to excise from the data. The array contains mask pairs of [f_min, f_max] pairs for known frequency ranges containing RFI not excised by the CBF. The overall dimension of this array is num_frequency_mask x 2. Units: Hz Keyword: FREQ_MASK |
|||
type |
array |
|||
default |
null |
|||
items |
type |
array |
||
items |
type |
number |
||
|
The destination address for the PST output data. Includes IPv4 Address, port number. |
|||
type |
array |
|||
default |
null |
|||
items |
anyOf |
type |
string |
|
type |
integer |
|||
|
Identifier for a test vectore that will be present in the tied-array beam data stream beam CBF and PST. Keyword: TEST_VECTOR |
|||
type |
string |
|||
default |
null |
|||
|
Pulsar Timing specific parameters for the ‘PULSAR_TIMING’ mode configuration. |
|||
default |
null |
|||
|
Pulsar Timing specific parameters for the ‘DYNAMIC_SPECTRUM’ mode configuration. |
|||
default |
null |
|||
|
Pulsar Timing specific parameters for the ‘FLOW_THROUGH’ mode configuration. |
|||
default |
null |
|||
|
The number of stages used to channelize the data: e.g. * for Low, there are 2 stages: 1 in LFAA and 1 in CBF * for Mid, there are 2 stages: 1 in FSP and 1 in PST BF. Keyword: NSTAGE |
|||
type |
integer |
|||
|
List of configuration for each channelization stage. |
|||
type |
array |
|||
items |
Pulsar Timing specific parameters for channelization stage configuration. |
|||
additionalProperties |
False |
PST RA_Dec coordinates 2.5
Pulsar Timing specific parameters for RA/Dec tracking coordinates.
type |
object |
|
properties |
||
|
The coordinate epoch. This can be in Julian date or Modified Julian Date. Units: years Range: >= 2000 Keyword: EQUINOX |
|
type |
number |
|
default |
2000.0 |
|
|
The Right Accession (RA) of the coordinates used for tracking. Valid formats is ‘hh:mm:ss.sss’ or ‘ddd.ddd’ Keyword: STT_CTD1 |
|
type |
string |
|
|
The declination (Dec) of the coordinates used for tracking. Valid formats is ‘hh:mm:ss.sss’ or ‘ddd.ddd’ Keyword: STT_CTD2 |
|
type |
string |
|
additionalProperties |
False |
PST ‘PULSAR_TIMING’ mode configuration 2.5
Pulsar Timing specific parameters for the ‘PULSAR_TIMING’ mode configuration.
type |
object |
|
properties |
||
|
The dispersion measure for coherent/inchoerent de-dispersion. Units: pccm^-3 Range: 0 - 100000 Keyword: DM |
|
type |
number |
|
|
The rotation measure for phase-coherent Faraday rotation correction. Units: radians per metre squared Keyword: RM |
|
type |
number |
|
default |
null |
|
|
The ephemeris of the pulsar being observed. Units: PSRCAT compatible ASCII string Keyword: EPHEMERIS |
|
type |
string |
|
|
Pulsar phase predictor generated from ephemeris. Units: TEMPO2 compatible ASCII string Keyword: PREDICTOR |
|
type |
string |
|
|
The number of output frequency channels. This must be between 1 and the number of observation channels. Keyword: OUTNCHAN |
|
type |
integer |
|
|
The number of output phase bins. Range: 64 - 2048 Keyword: OUTNBIN |
|
type |
integer |
|
|
The number of spectral kurtosis (SK) configurations to apply. Keyword: N_SK |
|
type |
integer |
|
|
List of spectral kurtosis configurations. |
|
type |
array |
|
items |
Pulsar Timing specific parameters for the spectral kurtosis (SK) for the ‘PULSAR_TIMING’ mode. |
|
|
The signal-to-noise ratio (SNR) of the on-pulse flux for the scan. May be used to prematurely end a scan when the integrated SNR reaches the target. A value of 0 indicates there is no limit. Keyword: TARGET_SNR |
|
type |
number |
|
additionalProperties |
False |
PST spectral kurtosis configuration 2.5
Pulsar Timing specific parameters for the spectral kurtosis (SK) for the ‘PULSAR_TIMING’ mode.
type |
object |
||
properties |
|||
|
Frequency ranges for each spectral kurtosis (SK) configuration. Units: Hz Keyword: SK_RNG |
||
type |
array |
||
items |
type |
number |
|
|
The number of input time samples integrated into each spectral kurtosis (SK) statistic. Range: 64 - 1024 Keyword: SK_INTS |
||
type |
integer |
||
|
Spectral kurtosis excision limits (RFI threshold) in units of standard deviations. Range: 1 - 100 Keyword: SK_EXIS |
||
type |
number |
||
additionalProperties |
False |
PST ‘DYNAMIC_SPECTRUM’ mode configuration 2.5
Pulsar Timing specific parameters for the ‘DYNAMIC_SPECTRUM’ mode configuration.
type |
object |
||
properties |
|||
|
The dispersion measture for coherent/inchoerent de-dispersion. This is only required for pulsar timing and dynamic spectrum modes. Range: [0, 100000] Keyword: DM |
||
type |
number |
||
|
The rotation measure for phase-coherent Faraday rotation correction. Units: radians per metre squared Keyword: RM |
||
type |
number |
||
default |
null |
||
|
The number of output frequency channels. This must be between 1 and the number of observation channels. Keyword: OUTNCHAN |
||
type |
integer |
||
|
The Stokes parameters to output when in Dynamic spectrum mode. Range: string with a combination of I, Q, U, and V. Keyword: STOKES_FB |
||
type |
string |
||
|
The number of bits per output sample. Range: 1, 2, 4, 8, 16 or 32 Keyword: NBIT_OUT |
||
allOf |
type |
integer |
|
enum |
1, 2, 4, 8, 16, 32 |
||
|
The number of input samples per output time sample when in Dynamic Spectrum mode. Keyword: TDEC_FB |
||
type |
integer |
||
|
The number of input frequency channels incoherently added to each output frequency channel in Dynamic Spectrum. This is required in addition to output_frequency_channels because some frequency channels may be merged coherently to increase temporal resolution. Keyword: FDEC_FB |
||
type |
integer |
||
|
The number of spectral kurtosis (SK) configurations to apply. Keyword: N_SK |
||
type |
integer |
||
default |
null |
||
|
List of spectral kurtosis configurations. |
||
type |
array |
||
default |
null |
||
items |
Pulsar Timing specific parameters for the spectral kurtosis (SK) for the ‘PULSAR_TIMING’ mode. |
||
|
Scale factor to govern the dynamic range for fixed precision output to be applied during re-quantisation. Keyword: DIGITIZER_SCALE |
||
type |
number |
||
|
Length of data to be used when determining the scaling factors used for fixed precision output during re-quantisation. Units: seconds Keyword: DIGITIZER_LENGTH |
||
type |
number |
||
additionalProperties |
False |
PST ‘FLOW_THROUGH’ mode configuration 2.5
Pulsar Timing specific parameters for the ‘FLOW_THROUGH’ mode configuration.
type |
object |
||
properties |
|||
|
The number of bits per output sample. Range: 1, 2, 4, 8, 16 or 32 Keyword: NBIT_OUT |
||
allOf |
type |
integer |
|
enum |
1, 2, 4, 8, 16, 32 |
||
|
The indices of the first and last (inclusive) frequency channels that define the single contiguous range of frequency channels to be recorded. Keyword: CHAN_FT |
||
type |
array |
||
items |
type |
integer |
|
|
Scale factor applied during re-quantisation that modifies the dynamic range of the fixed precision output. By default, for 2, 4, and 8 bits per sample, data will be scaled to minimize scattered power by adopting the Optimum Input Threshold Spacing for a Uniform Digitizer defined in Table 3 of Jenet & Anderson (1998; PASP 110:1467). For 16 and 32 bits per sample, by default the data will be scaled such that the maximum fixed precision output value (2^{num_bits_out-1}) corresponds to 6 times the standard deviation. For all num_bits_out, the standard deviation is that of either the real or imaginary part of each complex-valued sample. The default scale factor is computed such that, after multiplication by this scale factor, the data would satisfy the conditions described above. This default scale factor is multiplied by requantisation_scale. Therefore, a requantisation_scale value greater than 1 increases the value of the floating point data before it is cast to a fixed precision value, thereby reducing the overhead available to represent RFI and increasing the probability of clipping. Keyword: DIGITIZER_SCALE |
||
type |
number |
||
|
The polarizations to be recorded. Valid values: A, B, or Both Keyword: POLN_FT |
||
allOf |
type |
string |
|
enum |
A, B, Both |
||
|
Time interval spanned by data used at the start of a scan to determine the scale factors applied before re-quantisation. Units: seconds Keyword: DIGITIZER_INIT_TIME |
||
type |
number |
||
additionalProperties |
False |
PST channelization stage configuration 2.5
Pulsar Timing specific parameters for channelization stage configuration.
type |
object |
||
properties |
|||
|
Total number of taps in the prototype filter (i.e. over all arms) used in the stage. Keyword: NSTAP_k |
||
type |
integer |
||
|
An array of filter coefficients that define the (time domain) response function of the prototype filter used in the stage. Length of this is num_filter_taps. Keyword: COEFF_k |
||
type |
array |
||
items |
type |
number |
|
|
The number of frequency channels output by each polyphase filter bank (PFB) for this stage. Keyword: NCHAN_PFB_k |
||
type |
integer |
||
|
The oversampling ratio expressed as a fraction as an array of int, with the first value the numerator and the second is the denominator. (e.g. 8/7 is assigned as [8,7]). Keyword: OVERSAMP_k |
||
type |
array |
||
items |
type |
integer |
|
additionalProperties |
False |
PST beam configuration 2.5
Pulsar Timing specific beam configuration parameters.
As of version 2.3 this schema has no elements and is deprecated
type |
object |
properties |
|
additionalProperties |
False |
Common configuration schema 2.5
Common section, containing the parameters and the sections belonging to all CSP subsystems. This section is forwarded to all sub-elements.
type |
object |
|
properties |
||
|
type |
string |
default |
null |
|
|
Subarray number |
|
type |
integer |
|
|
Execution block ID to associate scan configs to an observation. This ID is used for associating generated data, especially data products, for a given observation. Multiple scans can be linked to one observation and this ID is used as metadata to associate the data products from all scans of the same observation. This ID does not have to be unique for a scan configuration but should be unique for different observations. For example, all the data and weights files will have an EB_ID header value populated with the value supplied in this field. |
|
type |
string |
|
pattern |
^eb\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
|
default |
null |
|
|
Frequency band applies for all the receptors (VCCs) that belong to the sub-array. The value of ‘low’ is used to only within SKA Low. As this field is a mandatory field but bands 1, 2, 3, 4, 5a and 5b only make sense for SKA Mid. |
|
type |
string |
|
pattern |
^(1|2|3|4|5(a|b)|low)$ |
|
additionalProperties |
False |
JSON schema and example for Configure version 2.4
PST configuration schema 2.4
Example (LOW PST configuration for FLOW THROUGH scan 2.4)
{
"interface": "https://schema.skao.int/ska-pst-configure/2.4",
"common": {
"config_id": "sbi-mvp01-20240325-00001-flow_through",
"subarray_id": 1,
"eb_id": "eb-b521-20240325-0010",
"frequency_band": "low"
},
"pst": {
"scan": {
"activation_time": "2024-03-25T22:01:11Z",
"timing_beam_id": "1",
"bits_per_sample": 32,
"num_of_polarizations": 2,
"udp_nsamp": 32,
"wt_nsamp": 32,
"udp_nchan": 24,
"num_frequency_channels": 432,
"centre_frequency": 100000000.0,
"total_bandwidth": 1562500.0,
"observation_mode": "FLOW_THROUGH",
"observer_id": "jdoe",
"project_id": "project1",
"pointing_id": "pointing1",
"source": "J1921+2153",
"itrf": [5109360.133, 2006852.586, -3238948.127],
"receiver_id": "receiver3",
"feed_polarization": "CIRC",
"feed_handedness": 1,
"feed_angle": 1.234,
"feed_tracking_mode": "FA",
"feed_position_angle": 10.0,
"oversampling_ratio": [4, 3],
"coordinates": {
"equinox": 2000.0,
"ra": "19:21:44.815",
"dec": "21:53:02.400"
},
"max_scan_length": 20000.0,
"subint_duration": 30.0,
"receptors": ["receptorZ", "receptorW"],
"receptor_weights": [0.4, 0.6],
"num_rfi_frequency_masks": 0,
"rfi_frequency_masks": [],
"destination_address": ["192.168.178.26", 9021],
"num_channelization_stages": 2,
"channelization_stages": [{
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 1024,
"oversampling_ratio": [32, 27]
}, {
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 256,
"oversampling_ratio": [4, 3]
}],
"ft": {
"num_bits_out": 32,
"num_channels": 1,
"channels": [1],
"requantisation_scale": 1.0,
"requantisation_length": 1.0
}
}
}
}
Example (LOW PST configuration for PULSAR TIMING scan 2.4)
{
"interface": "https://schema.skao.int/ska-pst-configure/2.4",
"common": {
"config_id": "sbi-20240215-00001-pulsar_timing",
"subarray_id": 1,
"eb_id": "eb-x449-20231105-34696",
"frequency_band": "low"
},
"pst": {
"scan": {
"activation_time": "2024-02-15T23:07:45Z",
"timing_beam_id": "1",
"bits_per_sample": 32,
"num_of_polarizations": 2,
"udp_nsamp": 32,
"wt_nsamp": 32,
"udp_nchan": 24,
"num_frequency_channels": 432,
"centre_frequency": 100000000.0,
"total_bandwidth": 1562500.0,
"observation_mode": "PULSAR_TIMING",
"observer_id": "jdoe",
"project_id": "project1",
"pointing_id": "pointing1",
"source": "J1921+2153",
"itrf": [5109360.133, 2006852.586, -3238948.127],
"receiver_id": "receiver3",
"feed_polarization": "CIRC",
"feed_handedness": 1,
"feed_angle": 1.234,
"feed_tracking_mode": "FA",
"feed_position_angle": 10.0,
"oversampling_ratio": [4, 3],
"coordinates": {
"equinox": 2000.0,
"ra": "19:21:44.815",
"dec": "21:53:02.400"
},
"max_scan_length": 10000.5,
"subint_duration": 30.0,
"receptors": ["receptorX", "receptorY"],
"receptor_weights": [0.4, 0.6],
"num_rfi_frequency_masks": 0,
"rfi_frequency_masks": [],
"destination_address": ["192.168.178.26", 9021],
"num_channelization_stages": 2,
"channelization_stages": [{
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 1024,
"oversampling_ratio": [32, 27]
}, {
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 256,
"oversampling_ratio": [4, 3]
}],
"pt": {
"dispersion_measure": 100.0,
"rotation_measure": 0.0,
"ephemeris": "",
"pulsar_phase_predictor": "",
"output_frequency_channels": 1,
"output_phase_bins": 64,
"num_sk_config": 1,
"sk_config": [{
"sk_range": [0.8, 0.9],
"sk_integration_limit": 100,
"sk_excision_limit": 25.0
}],
"target_snr": 0.0
}
}
}
}
Example (LOW PST configuration for DYNAMIC SPECTRUM scan 2.4)
{
"interface": "https://schema.skao.int/ska-pst-configure/2.4",
"common": {
"config_id": "sbi-dynamic_spectrum",
"subarray_id": 1,
"eb_id": "eb-x449-20231105-34696",
"frequency_band": "low"
},
"pst": {
"scan": {
"activation_time": "2022-01-19T23:07:45Z",
"timing_beam_id": "1",
"bits_per_sample": 32,
"num_of_polarizations": 2,
"udp_nsamp": 32,
"wt_nsamp": 32,
"udp_nchan": 24,
"num_frequency_channels": 432,
"centre_frequency": 100000000.0,
"total_bandwidth": 1562500.0,
"observation_mode": "DYNAMIC_SPECTRUM",
"observer_id": "jdoe",
"project_id": "project1",
"pointing_id": "pointing1",
"source": "J1921+2153",
"itrf": [5109360.133, 2006852.586, -3238948.127],
"receiver_id": "receiver3",
"feed_polarization": "CIRC",
"feed_handedness": 1,
"feed_angle": 1.234,
"feed_tracking_mode": "FA",
"feed_position_angle": 10.0,
"oversampling_ratio": [4, 3],
"coordinates": {
"equinox": 2000.0,
"ra": "19:21:44.815",
"dec": "21:53:02.400"
},
"max_scan_length": 13000.2,
"subint_duration": 30.0,
"receptors": ["receptorX, receptorY"],
"receptor_weights": [0.4, 0.6],
"num_rfi_frequency_masks": 0,
"rfi_frequency_masks": [],
"destination_address": ["192.168.178.26", 9021],
"num_channelization_stages": 2,
"channelization_stages": [{
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 1024,
"oversampling_ratio": [32, 27]
}, {
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 256,
"oversampling_ratio": [4, 3]
}],
"ds": {
"dispersion_measure": 100.0,
"output_frequency_channels": 1,
"stokes_parameters": "Q",
"num_bits_out": 16,
"time_decimation_factor": 10,
"frequency_decimation_factor": 4,
"requantisation_scale": 1.0,
"requantisation_length": 1.0
}
}
}
}
Example (LOW PST configuration for VOLTAGE RECORDER scan 2.4)
{
"interface": "https://schema.skao.int/ska-pst-configure/2.4",
"common": {
"config_id": "sbi-mvp01-20240111-voltage_recorder",
"subarray_id": 1,
"eb_id": "eb-x321-20240111-10012",
"frequency_band": "low"
},
"pst": {
"scan": {
"activation_time": "2024-01-11T23:11:17Z",
"bits_per_sample": 32,
"timing_beam_id": "1",
"num_of_polarizations": 2,
"udp_nsamp": 32,
"wt_nsamp": 32,
"udp_nchan": 24,
"num_frequency_channels": 432,
"centre_frequency": 100000000.0,
"total_bandwidth": 1562500.0,
"observation_mode": "VOLTAGE_RECORDER",
"observer_id": "jdoe",
"project_id": "project1",
"pointing_id": "pointing1",
"source": "J1921+2153",
"itrf": [5109360.133, 2006852.586, -3238948.127],
"receiver_id": "receiver3",
"feed_polarization": "LIN",
"feed_handedness": 1,
"feed_angle": 1.234,
"feed_tracking_mode": "FA",
"feed_position_angle": 10.0,
"oversampling_ratio": [4, 3],
"coordinates": {
"equinox": 2000.0,
"ra": "19:21:44.815",
"dec": "21:53:02.400"
},
"max_scan_length": 20000.0,
"subint_duration": 30.0,
"receptors": ["SKA001", "SKA036"],
"receptor_weights": [0.4, 0.6],
"num_channelization_stages": 2,
"channelization_stages": [{
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 1024,
"oversampling_ratio": [32, 27]
}, {
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 256,
"oversampling_ratio": [4, 3]
}]
}
}
}
Example (MID PST configuration for FLOW THROUGH scan 2.4)
{
"interface": "https://schema.skao.int/ska-pst-configure/2.4",
"common": {
"config_id": "sbi-mvp01-20240325-00001-flow_through",
"subarray_id": 1,
"eb_id": "eb-b521-20240325-0010",
"frequency_band": "5a"
},
"pst": {
"scan": {
"activation_time": "2024-03-25T22:01:11Z",
"timing_beam_id": "1",
"bits_per_sample": 16,
"num_of_polarizations": 2,
"udp_nsamp": 4,
"wt_nsamp": 4,
"udp_nchan": 185,
"num_frequency_channels": 46503,
"centre_frequency": 6550000000.0,
"total_bandwidth": 2500000000.0,
"observation_mode": "FLOW_THROUGH",
"observer_id": "jdoe",
"project_id": "project1",
"pointing_id": "pointing1",
"source": "J1921+2153",
"itrf": [5109360.133, 2006852.586, -3238948.127],
"receiver_id": "receiver3",
"feed_polarization": "CIRC",
"feed_handedness": 1,
"feed_angle": 1.234,
"feed_tracking_mode": "FA",
"feed_position_angle": 10.0,
"oversampling_ratio": [8, 7],
"coordinates": {
"equinox": 2000.0,
"ra": "19:21:44.815",
"dec": "21:53:02.400"
},
"max_scan_length": 20000.0,
"subint_duration": 30.0,
"receptors": ["receptorZ", "receptorW"],
"receptor_weights": [0.4, 0.6],
"num_rfi_frequency_masks": 0,
"rfi_frequency_masks": [],
"destination_address": ["192.168.178.26", 9021],
"num_channelization_stages": 2,
"channelization_stages": [{
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 13,
"oversampling_ratio": [10, 9]
}, {
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 4096,
"oversampling_ratio": [8, 7]
}],
"ft": {
"num_bits_out": 32,
"num_channels": 1,
"channels": [1],
"requantisation_scale": 1.0,
"requantisation_length": 1.0
}
}
}
}
Example (MID PST configuration for PULSAR TIMING scan 2.4)
{
"interface": "https://schema.skao.int/ska-pst-configure/2.4",
"common": {
"config_id": "sbi-20240215-00001-pulsar_timing",
"subarray_id": 1,
"eb_id": "eb-x449-20231105-34696",
"frequency_band": "2"
},
"pst": {
"scan": {
"activation_time": "2024-02-15T23:07:45Z",
"timing_beam_id": "1",
"bits_per_sample": 32,
"num_of_polarizations": 2,
"udp_nsamp": 4,
"wt_nsamp": 4,
"udp_nchan": 185,
"num_frequency_channels": 15067,
"centre_frequency": 1355000000.0,
"total_bandwidth": 810000000.0,
"observation_mode": "PULSAR_TIMING",
"observer_id": "jdoe",
"project_id": "project1",
"pointing_id": "pointing1",
"source": "J1921+2153",
"itrf": [5109360.133, 2006852.586, -3238948.127],
"receiver_id": "receiver3",
"feed_polarization": "CIRC",
"feed_handedness": 1,
"feed_angle": 1.234,
"feed_tracking_mode": "FA",
"feed_position_angle": 10.0,
"oversampling_ratio": [8, 7],
"coordinates": {
"equinox": 2000.0,
"ra": "19:21:44.815",
"dec": "21:53:02.400"
},
"max_scan_length": 10000.5,
"subint_duration": 30.0,
"receptors": ["receptorX", "receptorY"],
"receptor_weights": [0.4, 0.6],
"num_rfi_frequency_masks": 0,
"rfi_frequency_masks": [],
"destination_address": ["192.168.178.26", 9021],
"num_channelization_stages": 2,
"channelization_stages": [{
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 5,
"oversampling_ratio": [10, 9]
}, {
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 4096,
"oversampling_ratio": [8, 7]
}],
"pt": {
"dispersion_measure": 100.0,
"rotation_measure": 0.0,
"ephemeris": "",
"pulsar_phase_predictor": "",
"output_frequency_channels": 1,
"output_phase_bins": 64,
"num_sk_config": 1,
"sk_config": [{
"sk_range": [0.8, 0.9],
"sk_integration_limit": 100,
"sk_excision_limit": 25.0
}],
"target_snr": 0.0
}
}
}
}
Example (MID PST configuration for DYNAMIC SPECTRUM scan 2.4)
{
"interface": "https://schema.skao.int/ska-pst-configure/2.4",
"common": {
"config_id": "sbi-dynamic_spectrum",
"subarray_id": 1,
"eb_id": "eb-x449-20231105-34696",
"frequency_band": "1"
},
"pst": {
"scan": {
"activation_time": "2022-01-19T23:07:45Z",
"timing_beam_id": "1",
"bits_per_sample": 32,
"num_of_polarizations": 2,
"udp_nsamp": 4,
"wt_nsamp": 4,
"udp_nchan": 185,
"num_frequency_channels": 13021,
"centre_frequency": 700000000.0,
"total_bandwidth": 700000000.0,
"observation_mode": "DYNAMIC_SPECTRUM",
"observer_id": "jdoe",
"project_id": "project1",
"pointing_id": "pointing1",
"source": "J1921+2153",
"itrf": [5109360.133, 2006852.586, -3238948.127],
"receiver_id": "receiver3",
"feed_polarization": "CIRC",
"feed_handedness": 1,
"feed_angle": 1.234,
"feed_tracking_mode": "FA",
"feed_position_angle": 10.0,
"oversampling_ratio": [8, 7],
"coordinates": {
"equinox": 2000.0,
"ra": "19:21:44.815",
"dec": "21:53:02.400"
},
"max_scan_length": 13000.2,
"subint_duration": 30.0,
"receptors": ["receptorX, receptorY"],
"receptor_weights": [0.4, 0.6],
"num_rfi_frequency_masks": 0,
"rfi_frequency_masks": [],
"destination_address": ["192.168.178.26", 9021],
"num_channelization_stages": 2,
"channelization_stages": [{
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 4,
"oversampling_ratio": [10, 9]
}, {
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 4096,
"oversampling_ratio": [8, 7]
}],
"ds": {
"dispersion_measure": 100.0,
"output_frequency_channels": 1,
"stokes_parameters": "Q",
"num_bits_out": 16,
"time_decimation_factor": 10,
"frequency_decimation_factor": 4,
"requantisation_scale": 1.0,
"requantisation_length": 1.0
}
}
}
}
Example (MID PST configuration for VOLTAGE RECORDER scan 2.4)
{
"interface": "https://schema.skao.int/ska-pst-configure/2.4",
"common": {
"config_id": "sbi-mvp01-20240111-voltage_recorder",
"subarray_id": 1,
"eb_id": "eb-x321-20240111-10012",
"frequency_band": "5b"
},
"pst": {
"scan": {
"activation_time": "2024-01-11T23:11:17Z",
"bits_per_sample": 16,
"timing_beam_id": "1",
"num_of_polarizations": 2,
"udp_nsamp": 4,
"wt_nsamp": 4,
"udp_nchan": 185,
"num_frequency_channels": 46503,
"centre_frequency": 10550000000.0,
"total_bandwidth": 2500000000.0,
"observation_mode": "VOLTAGE_RECORDER",
"observer_id": "jdoe",
"project_id": "project1",
"pointing_id": "pointing1",
"source": "J1921+2153",
"itrf": [5109360.133, 2006852.586, -3238948.127],
"receiver_id": "receiver3",
"feed_polarization": "LIN",
"feed_handedness": 1,
"feed_angle": 1.234,
"feed_tracking_mode": "FA",
"feed_position_angle": 10.0,
"oversampling_ratio": [8, 7],
"coordinates": {
"equinox": 2000.0,
"ra": "19:21:44.815",
"dec": "21:53:02.400"
},
"max_scan_length": 20000.0,
"subint_duration": 30.0,
"receptors": ["SKA001", "SKA036"],
"receptor_weights": [0.4, 0.6],
"num_channelization_stages": 2,
"channelization_stages": [{
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 13,
"oversampling_ratio": [10, 9]
}, {
"num_filter_taps": 1,
"filter_coefficients": [1.0],
"num_frequency_channels": 4096,
"oversampling_ratio": [8, 7]
}]
}
}
}
Schema to validate the Pulsar Timing configuration.
type |
object |
||
properties |
|||
|
Pulsar Timing specific parameters. To be borrowed from IICD |
||
type |
object |
||
properties |
|||
|
Pulsar Timing specific scan configuration parameters. |
||
default |
null |
||
|
Pulsar Timing specific beam configuration parameters. As of version 2.3 this schema has no elements and is deprecated |
||
default |
null |
||
additionalProperties |
False |
||
|
URI of JSON schema for this command’s JSON payload.. |
||
type |
string |
||
|
Common section, containing the parameters and the sections belonging to all CSP subsystems. This section is forwarded to all sub-elements. |
||
additionalProperties |
False |
PST scan configuration 2.4
Pulsar Timing specific scan configuration parameters.
type |
object |
|||
properties |
||||
|
Date and time when to start the PST reconfiguration. Units: UTC timestamp Keyword: ACTIVATION_TIME |
|||
type |
string |
|||
|
Identifier assigned by LMC/TM used to identify the beam configuraiton. PST selects which PST server to use for this scan and timing beam, and provides a mapping from the timing beam identifier by the TM to PST capability id. Keyword: BEAM |
|||
type |
string |
|||
|
The number of bits per complex-values time sample in the CBF output data. Valid values are 16, 24, or 32. Keyword: NBIT |
|||
type |
integer |
|||
|
The number of polarizations in the CBF output data. Valid values are 1 or 2. Keyword: NPOL |
|||
type |
integer |
|||
|
The number of time samples for each single polarization and the a single frequency in each UDP packet sent by CBF. Note: this must be an integer multiple of WT_NSMAP Range: 4 (Low), 32 (Mid) Keyword: UDP_NSAMP |
|||
type |
integer |
|||
|
The number of time samples described by as single relative weight. There is a unique relative weight for each frequency channel, and each relative weight describes both polarizations. Range: 4 (Low), 32 (Mid) Keyword: WT_NSAMP |
|||
type |
integer |
|||
|
The number of contiguous frequency channels in each UDP packet sent by CBF. Range: 24 (Low), 185 (Mid) Keyword: UDP_NCHAN |
|||
type |
integer |
|||
|
The total number of frequency channels into which the total critical bandwidth has been divided. This must be an integer multiple of udp_nchan Range: 1 to 82944 Keyword: OBSNCHAN |
|||
type |
integer |
|||
|
Centre frequency of to the total (critical) bandwidth spanned by the frequency channels. Units: Hz Range: 50e6 to 12800e6 Keyword: OBSFREQ |
|||
type |
number |
|||
|
Total (critical) bandwidth spanned by the channels of the observation. Low: 0.00361 to 300 MHz Mid: 0.053.76 to 2500 MHz Units: Hz Range: 3610 to 2.5e9 Keyword: OBSBW |
|||
type |
number |
|||
|
The observation mode used for the scan. The value VOLTAGE_RECORDER is added for AA0.5, while the other values will be needed for in the future for data processing. Keyword: OBSMODE |
|||
allOf |
type |
string |
||
enum |
PULSAR_TIMING, DYNAMIC_SPECTRUM, FLOW_THROUGH, VOLTAGE_RECORDER |
|||
|
The observer in charge of the observations. Keyword: OBSERVER |
|||
type |
string |
|||
|
The project that the observations are for. Keyword: PROJID |
|||
type |
string |
|||
|
The ID for the sub-array pointing. Keyword: PNT_ID |
|||
type |
string |
|||
|
The name of the source. Keyword: SRC_NAME |
|||
type |
string |
|||
|
The International Terrestrial Reference Frame (ITRF) coordinates of the telescope delay centre. Units: metres Keyword: ITRF |
|||
type |
array |
|||
items |
type |
number |
||
|
The receiver name or ID (instrument). Keyword: FRONTEND |
|||
type |
string |
|||
|
The native polarization of feed. Range: LIN or CIRC Keyword: FD_POLN |
|||
allOf |
type |
string |
||
enum |
LIN, CIRC |
|||
|
Code for sense of feed. For value of +1 for XYZ forming RH set with Z in the direction of propagation. Looking up into the feed of a prime-focus receiver or at the sky). For FD_HAND = +1, the rotation from A (or X) to B (or Y) is counter clockwise or in the direction of increasing Feed Angle (FA) or Position Angle (PA). For circular feeds, FD_HAND = +1 for IEEE LCP on the A (or X) probe. Range: -1 or +1 Keyword: FD_HAND |
|||
allOf |
type |
integer |
||
enum |
-1, 1 |
|||
|
Feed angle of the E-vector for an equal in-phase response from the A(X) and B(Y) probes, measured in the direction of increasing feed angle or position angle (clockwise when looking down on a prime focuse receiver). Units: degrees Range: -180 to 180. Keyword: FD_SANG |
|||
type |
number |
|||
|
The tracking mode for the feed:
Range: FA, CPA, SPA, or TPA Keyword: FD_MODE |
|||
allOf |
type |
string |
||
enum |
FA, CPA, SPA, TPA |
|||
|
The requested angle of feed reference. For feed_mode = ‘FA’ this is respect to the telescope’s reference frame (feed_angle = 0), and for feed_mode = ‘CPA’ this is with respect to the celestial north (parallic angle = 0) or with respect to the Galactic north for coordinate_mode = ‘GALACTIC’. Range: -180 to +180. Keyword: FA_REQ |
|||
type |
number |
|||
|
The oversampling ratio expressed as a fraction as an array of int, with the first value the numerator and the second is the denominator. (e.g. 8/7 is assigned as [8,7]). Range: 8/7 or 4/3 Keyword: OVERSAMP |
|||
type |
array |
|||
items |
type |
integer |
||
|
The tied-array beam’s tracking co-ordinates. As of version 2.2 of the schema this only handles equitorial tracking which means uses RA/Dec J2000.0 coords but PST may support different tracking modes and coordinates the future. |
|||
|
The maximum length of the observation. Units: seconds Range: 30 - 43200 Keyword: SCANLEN_MAX |
|||
type |
number |
|||
|
The length of each output sub-integration. Units: seconds Range: 1 - 60 Keyword: OUTSUBINT |
|||
type |
number |
|||
|
An array of receptor IDs for the receptors included in the sub-array. Keyword: ANTENNA |
|||
type |
array |
|||
items |
type |
string |
||
|
Weight for each receptor. Range: 0 - 1.0 Keyword: ANT_WEIGHTS |
|||
type |
array |
|||
items |
type |
number |
||
|
The number of frequency ranges to be masked. Range: 0 - 1024 Keyword: NMASK |
|||
type |
integer |
|||
default |
0 |
|||
|
A two-dimensional array of length of num_frequency_mask of known RFI frequency ranges to excise from the data. The array contains mask pairs of [f_min, f_max] pairs for known frequency ranges containing RFI not excised by the CBF. The overall dimension of this array is num_frequency_mask x 2. Units: Hz Keyword: FREQ_MASK |
|||
type |
array |
|||
default |
null |
|||
items |
type |
array |
||
items |
type |
number |
||
|
The destination address for the PST output data. Includes IPv4 Address, port number. |
|||
type |
array |
|||
default |
null |
|||
items |
anyOf |
type |
string |
|
type |
integer |
|||
|
Identifier for a test vectore that will be present in the tied-array beam data stream beam CBF and PST. Keyword: TEST_VECTOR |
|||
type |
string |
|||
default |
null |
|||
|
Pulsar Timing specific parameters for the ‘PULSAR_TIMING’ mode configuration. |
|||
default |
null |
|||
|
Pulsar Timing specific parameters for the ‘DYNAMIC_SPECTRUM’ mode configuration. |
|||
default |
null |
|||
|
Pulsar Timing specific parameters for the ‘FLOW_THROUGH’ mode configuration. |
|||
default |
null |
|||
|
The number of stages used to channelize the data: e.g. * for Low, there are 2 stages: 1 in LFAA and 1 in CBF * for Mid, there are 2 stages: 1 in FSP and 1 in PST BF. Keyword: NSTAGE |
|||
type |
integer |
|||
|
List of configuration for each channelization stage. |
|||
type |
array |
|||
items |
Pulsar Timing specific parameters for channelization stage configuration. |
|||
additionalProperties |
False |
PST RA_Dec coordinates 2.4
Pulsar Timing specific parameters for RA/Dec tracking coordinates.
type |
object |
|
properties |
||
|
The coordinate epoch. This can be in Julian date or Modified Julian Date. Units: years Range: >= 2000 Keyword: EQUINOX |
|
type |
number |
|
default |
2000.0 |
|
|
The Right Accession (RA) of the coordinates used for tracking. Valid formats is ‘hh:mm:ss.sss’ or ‘ddd.ddd’ Keyword: STT_CTD1 |
|
type |
string |
|
|
The declination (Dec) of the coordinates used for tracking. Valid formats is ‘hh:mm:ss.sss’ or ‘ddd.ddd’ Keyword: STT_CTD2 |
|
type |
string |
|
additionalProperties |
False |
PST ‘PULSAR_TIMING’ mode configuration 2.4
Pulsar Timing specific parameters for the ‘PULSAR_TIMING’ mode configuration.
type |
object |
|
properties |
||
|
The dispersion measure for coherent/inchoerent de-dispersion. Units: pccm^-3 Range: 0 - 100000 Keyword: DM |
|
type |
number |
|
|
The rotation measure for phase-coherent Faraday rotation correction. Units: radians per metre squared Keyword: RM |
|
type |
number |
|
default |
null |
|
|
The ephemeris of the pulsar being observed. Units: PSRCAT compatible ASCII string Keyword: EPHEMERIS |
|
type |
string |
|
|
Pulsar phase predictor generated from ephemeris. Units: TEMPO2 compatible ASCII string Keyword: PREDICTOR |
|
type |
string |
|
|
The number of output frequency channels. This must be between 1 and the number of observation channels. Keyword: OUTNCHAN |
|
type |
integer |
|
|
The number of output phase bins. Range: 64 - 2048 Keyword: OUTNBIN |
|
type |
integer |
|
|
The number of spectral kurtosis (SK) configurations to apply. Keyword: N_SK |
|
type |
integer |
|
|
List of spectral kurtosis configurations. |
|
type |
array |
|
items |
Pulsar Timing specific parameters for the spectral kurtosis (SK) for the ‘PULSAR_TIMING’ mode. |
|
|
The signal-to-noise ratio (SNR) of the on-pulse flux for the scan. May be used to prematurely end a scan when the integrated SNR reaches the target. A value of 0 indicates there is no limit. Keyword: TARGET_SNR |
|
type |
number |
|
additionalProperties |
False |
PST spectral kurtosis configuration 2.4
Pulsar Timing specific parameters for the spectral kurtosis (SK) for the ‘PULSAR_TIMING’ mode.
type |
object |
||
properties |
|||
|
Frequency ranges for each spectral kurtosis (SK) configuration. Units: Hz Keyword: SK_RNG |
||
type |
array |
||
items |
type |
number |
|
|
The number of input time samples integrated into each spectral kurtosis (SK) statistic. Range: 64 - 1024 Keyword: SK_INTS |
||
type |
integer |
||
|
Spectral kurtosis excision limits (RFI threshold) in units of standard deviations. Range: 1 - 100 Keyword: SK_EXIS |
||
type |
number |
||
additionalProperties |
False |
PST ‘DYNAMIC_SPECTRUM’ mode configuration 2.4
Pulsar Timing specific parameters for the ‘DYNAMIC_SPECTRUM’ mode configuration.
type |
object |
||
properties |
|||
|
The dispersion measture for coherent/inchoerent de-dispersion. This is only required for pulsar timing and dynamic spectrum modes. Range: [0, 100000] Keyword: DM |
||
type |
number |
||
|
The rotation measure for phase-coherent Faraday rotation correction. Units: radians per metre squared Keyword: RM |
||
type |
number |
||
default |
null |
||
|
The number of output frequency channels. This must be between 1 and the number of observation channels. Keyword: OUTNCHAN |
||
type |
integer |
||
|
The Stokes parameters to output when in Dynamic spectrum mode. Range: string with a combination of I, Q, U, and V. Keyword: STOKES_FB |
||
type |
string |
||
|
The number of bits per output sample. Range: 1, 2, 4, 8, 16 or 32 Keyword: NBIT_OUT |
||
allOf |
type |
integer |
|
enum |
1, 2, 4, 8, 16, 32 |
||
|
The number of input samples per output time sample when in Dynamic Spectrum mode. Keyword: TDEC_FB |
||
type |
integer |
||
|
The number of input frequency channels incoherently added to each output frequency channel in Dynamic Spectrum. This is required in addition to output_frequency_channels because some frequency channels may be merged coherently to increase temporal resolution. Keyword: FDEC_FB |
||
type |
integer |
||
|
The number of spectral kurtosis (SK) configurations to apply. Keyword: N_SK |
||
type |
integer |
||
default |
null |
||
|
List of spectral kurtosis configurations. |
||
type |
array |
||
default |
null |
||
items |
Pulsar Timing specific parameters for the spectral kurtosis (SK) for the ‘PULSAR_TIMING’ mode. |
||
|
Scale factor to govern the dynamic range for fixed precision output to be applied during re-quantisation. Keyword: DIGITIZER_SCALE |
||
type |
number |
||
|
Length of data to be used when determining the scaling factors used for fixed precision output during re-quantisation. Units: seconds Keyword: DIGITIZER_LENGTH |
||
type |
number |
||
additionalProperties |
False |
PST ‘FLOW_THROUGH’ mode configuration 2.4
Pulsar Timing specific parameters for the ‘FLOW_THROUGH’ mode configuration.
type |
object |
||
properties |
|||
|
The number of bits per output sample. Range: 1, 2, 4, 8, 16 or 32 Keyword: NBIT_OUT |
||
allOf |
type |
integer |
|
enum |
1, 2, 4, 8, 16, 32 |
||
|
The indices of the first and last (inclusive) frequency channels that define the single contiguous range of frequency channels to be recorded. Keyword: CHAN_FT |
||
type |
array |
||
items |
type |
integer |
|
|
Scale factor applied during re-quantisation that modifies the dynamic range of the fixed precision output. By default, for 2, 4, and 8 bits per sample, data will be scaled to minimize scattered power by adopting the Optimum Input Threshold Spacing for a Uniform Digitizer defined in Table 3 of Jenet & Anderson (1998; PASP 110:1467). For 16 and 32 bits per sample, by default the data will be scaled such that the maximum fixed precision output value (2^{num_bits_out-1}) corresponds to 6 times the standard deviation. For all num_bits_out, the standard deviation is that of either the real or imaginary part of each complex-valued sample. The default scale factor is computed such that, after multiplication by this scale factor, the data would satisfy the conditions described above. This default scale factor is multiplied by requantisation_scale. Therefore, a requantisation_scale value greater than 1 increases the value of the floating point data before it is cast to a fixed precision value, thereby reducing the overhead available to represent RFI and increasing the probability of clipping. Keyword: DIGITIZER_SCALE |
||
type |
number |
||
|
The number of input channels to be recorded. This value must be less than or equal to the output_frequency_channels. Keyword: NCHAN_FT |
||
type |
integer |
||
|
Length of data to be used when determining the scaling factors used for fixed precision output during re-quantisation. Units: seconds Keyword: DIGITIZER_LENGTH |
||
type |
number |
||
additionalProperties |
False |
PST channelization stage configuration 2.4
Pulsar Timing specific parameters for channelization stage configuration.
type |
object |
||
properties |
|||
|
Total number of taps in the prototype filter (i.e. over all arms) used in the stage. Keyword: NSTAP_k |
||
type |
integer |
||
|
An array of filter coefficients that define the (time domain) response function of the prototype filter used in the stage. Length of this is num_filter_taps. Keyword: COEFF_k |
||
type |
array |
||
items |
type |
number |
|
|
The number of frequency channels output by each polyphase filter bank (PFB) for this stage. Keyword: NCHAN_PFB_k |
||
type |
integer |
||
|
The oversampling ratio expressed as a fraction as an array of int, with the first value the numerator and the second is the denominator. (e.g. 8/7 is assigned as [8,7]). Keyword: OVERSAMP_k |
||
type |
array |
||
items |
type |
integer |
|
additionalProperties |
False |
PST beam configuration 2.4
Pulsar Timing specific beam configuration parameters.
As of version 2.3 this schema has no elements and is deprecated
type |
object |
properties |
|
additionalProperties |
False |
Common configuration schema 2.4
Common section, containing the parameters and the sections belonging to all CSP subsystems. This section is forwarded to all sub-elements.
type |
object |
|
properties |
||
|
type |
string |
default |
null |
|
|
Subarray number |
|
type |
integer |
|
|
Execution block ID to associate scan configs to an observation. This ID is used for associating generated data, especially data products, for a given observation. Multiple scans can be linked to one observation and this ID is used as metadata to associate the data products from all scans of the same observation. This ID does not have to be unique for a scan configuration but should be unique for different observations. For example, all the data and weights files will have an EB_ID header value populated with the value supplied in this field. |
|
type |
string |
|
pattern |
^eb\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
|
default |
null |
|
|
Frequency band applies for all the receptors (VCCs) that belong to the sub-array. The value of ‘low’ is used to only within SKA Low. As this field is a mandatory field but bands 1, 2, 3, 4, 5a and 5b only make sense for SKA Mid. |
|
type |
string |
|
pattern |
^(1|2|3|4|5(a|b)|low)$ |
|
additionalProperties |
False |
Low CBF schemas
Schemas used for commands to Low.CBF subarrays
ska-low-cbf-assignresources
LOWCBF assign resources 0.1
Example JSON
{
"interface": "https://schema.skao.int/ska-low-cbf-assignresources/0.0",
"lowcbf": {
"resources": [{
"device": "fsp_01",
"shared": true,
"fw_image": "pst",
"fw_mode": "unused"
}, {
"device": "p4_01",
"shared": true,
"fw_image": "p4.bin",
"fw_mode": "p4"
}]
}
}
type |
object |
||
properties |
|||
|
URI of JSON schema for this command’s JSON payload. |
||
type |
string |
||
|
LOWCBF assign resources |
||
type |
object |
||
properties |
|||
|
array of LOWCBF resources |
||
type |
array |
||
items |
|||
additionalProperties |
False |
||
additionalProperties |
False |
LOWCBF resources 0.1
type |
object |
|
properties |
||
|
Name of FSP or P4 device |
|
type |
string |
|
|
Whether device is shared with other subarrays |
|
type |
boolean |
|
|
Name of firmware image to load on device |
|
type |
string |
|
default |
null |
|
|
Mode in which firmware runs |
|
type |
string |
|
default |
null |
|
additionalProperties |
False |
ska-low-cbf-configurescan
LOWCBF configurescan 1.0
Example (Low CBF Configuration JSON including Nakshatra work)
{
"interface": "https://schema.skao.int/ska-low-cbf-configurescan/1.0",
"lowcbf": {
"stations": {
"stns": [
[1, 1],
[2, 1],
[3, 1],
[4, 1],
[5, 1],
[6, 1]
],
"stn_beams": [{
"stn_beam_id": 1,
"freq_ids": [400],
"delay_poly": "tango://delays.skao.int/low/stn-beam/1"
}]
},
"vis": {
"fsp": {
"function_mode": "vis",
"fsp_ids": [1]
},
"stn_beams": [{
"stn_beam_id": 1,
"host": [
[0, "192.168.1.00"]
],
"port": [
[0, 9000, 1]
],
"mac": [
[0, "02-03-04-0a-0b-0c"]
],
"integration_ms": 849
}]
},
"timing_beams": {
"fsp": {
"function_mode": "pst",
"fsp_ids": [2]
},
"beams": [{
"pst_beam_id": 1,
"stn_beam_id": 1,
"stn_weights": [0.9, 1.0, 1.0, 1.0, 0.9, 1.0],
"delay_poly": "tango://delays.skao.int/low/stn-beam/1",
"jones": "tango://jones.skao.int/low/stn-beam/1",
"destinations": [{
"data_host": "10.0.3.2",
"data_port": 9000,
"start_channel": 0,
"num_channels": 24
}]
}]
}
}
}
type |
object |
|
properties |
||
|
URI of JSON schema for this command’s JSON payload. |
|
type |
string |
|
|
LOWCBF configuration for scan |
|
additionalProperties |
False |
LOWCBF subarray configurescan 1.0
Correlator and Beamformer specific parameters. This section contains the parameters relevant only for CBF sub-system. This section is forwarded only to CBF subelement.
type |
object |
||||
properties |
|||||
|
Subarray Stations and station beam inputdescriptions |
||||
|
PST beam outputs descriptions |
||||
default |
null |
||||
|
PSS beam outputs descriptions |
||||
type |
string |
||||
default |
null |
||||
|
Visibility output descriptions |
||||
type |
object |
||||
default |
null |
||||
properties |
|||||
|
FSPs used for correlation |
||||
type |
object |
||||
properties |
|||||
|
Firmware name |
||||
type |
string |
||||
|
List of IDs (integer) |
||||
type |
array |
||||
items |
type |
integer |
|||
additionalProperties |
False |
||||
|
SDP visibility destinations |
||||
type |
array |
||||
items |
|||||
additionalProperties |
False |
||||
|
Zoom visibility output descriptions |
||||
type |
string |
||||
default |
null |
||||
additionalProperties |
False |
Subarray stations and station beams 1.0
Station and station beams parameters
type |
object |
||||
properties |
|||||
|
type |
array |
|||
items |
type |
array |
|||
items |
type |
integer |
|||
|
type |
array |
|||
items |
type |
object |
|||
properties |
|||||
|
station beam id |
||||
type |
integer |
||||
|
list of station beam frequency ids |
||||
type |
array |
||||
items |
type |
integer |
|||
|
URL |
||||
type |
string |
||||
additionalProperties |
False |
||||
additionalProperties |
False |
outer 1.0
type |
object |
|||
properties |
||||
|
inner |
|||
type |
array |
|||
items |
||||
|
FSPs used by PST |
|||
type |
object |
|||
properties |
||||
|
Firmware name |
|||
type |
string |
|||
|
List of IDs (integer) |
|||
type |
array |
|||
items |
type |
integer |
||
additionalProperties |
False |
|||
additionalProperties |
False |
PST beams description 1.0
type |
object |
|||
properties |
||||
|
Station beam ID for pst beamforming |
|||
type |
integer |
|||
|
PST beam ID |
|||
type |
integer |
|||
|
Jones matrix source URI |
|||
type |
string |
|||
|
weights for each station |
|||
type |
array |
|||
items |
type |
number |
||
|
Master enable for RFI flagging |
|||
type |
array |
|||
default |
null |
|||
items |
type |
boolean |
||
|
Freqency IDs to be always flagged |
|||
type |
array |
|||
default |
null |
|||
items |
type |
integer |
||
|
Frequency IDs to be dynamically flagged |
|||
type |
array |
|||
default |
null |
|||
items |
type |
integer |
||
|
Parameter for dynamic flagging |
|||
type |
number |
|||
default |
null |
|||
|
Delay polynomial source URI |
|||
type |
string |
|||
|
PST server addrs |
|||
type |
array |
|||
items |
type |
object |
||
properties |
||||
|
dotted ipv4 address |
|||
type |
string |
|||
|
UDP port number |
|||
type |
integer |
|||
|
first chan to host |
|||
type |
integer |
|||
|
no. chans to host |
|||
type |
integer |
|||
additionalProperties |
False |
|||
additionalProperties |
False |
Station beams to correlate 1.0
type |
object |
||||
properties |
|||||
|
Station Beam ID |
||||
type |
integer |
||||
|
milliseconds integration |
||||
type |
integer |
||||
|
SDP channel & IP Address |
||||
type |
array |
||||
items |
type |
array |
|||
items |
anyOf |
type |
integer |
||
type |
string |
||||
|
SDP chan & UDP port, stride |
||||
type |
array |
||||
items |
type |
array |
|||
items |
type |
integer |
|||
|
SDP channel & server MAC |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
anyOf |
type |
integer |
||
type |
string |
||||
additionalProperties |
False |
LOWCBF configurescan 0.2
Example JSON
{
"interface": "https://schema.skao.int/ska-low-cbf-configurescan/0.2",
"lowcbf": {
"stations": {
"stns": [
[1, 1],
[2, 1],
[3, 1],
[4, 1],
[5, 1],
[6, 1]
],
"stn_beams": [{
"beam_id": 1,
"freq_ids": [400],
"delay_poly": "tango://delays.skao.int/low/stn-beam/1"
}]
},
"vis": {
"fsp": {
"firmware": "vis",
"fsp_ids": [1]
},
"stn_beams": [{
"stn_beam_id": 1,
"host": [
[0, "192.168.1.00"]
],
"port": [
[0, 9000, 1]
],
"mac": [
[0, "02-03-04-0a-0b-0c"]
],
"integration_ms": 849
}]
},
"timing_beams": {
"fsp": {
"firmware": "pst",
"fsp_ids": [2]
},
"beams": [{
"pst_beam_id": 1,
"stn_beam_id": 1,
"stn_weights": [0.9, 1.0, 1.0, 1.0, 0.9, 1.0],
"delay_poly": "tango://delays.skao.int/low/stn-beam/1",
"jones": "tango://jones.skao.int/low/stn-beam/1",
"destinations": [{
"data_host": "10.0.3.2",
"data_port": 9000,
"start_channel": 0,
"num_channels": 24
}]
}]
}
}
}
type |
object |
|
properties |
||
|
URI of JSON schema for this command’s JSON payload. |
|
type |
string |
|
|
LOWCBF configuration for scan |
|
additionalProperties |
False |
LOWCBF subarray configurescan 0.2
Correlator and Beamformer specific parameters. This section contains the parameters relevant only for CBF sub-system. This section is forwarded only to CBF subelement.
type |
object |
||||
properties |
|||||
|
Subarray Stations and station beam inputdescriptions |
||||
|
PST beam outputs descriptions |
||||
default |
null |
||||
|
PSS beam outputs descriptions |
||||
type |
string |
||||
default |
null |
||||
|
Visibility output descriptions |
||||
type |
object |
||||
default |
null |
||||
properties |
|||||
|
FSPs used for correlation |
||||
type |
object |
||||
properties |
|||||
|
Firmware name |
||||
type |
string |
||||
|
List of IDs (integer) |
||||
type |
array |
||||
items |
type |
integer |
|||
additionalProperties |
False |
||||
|
SDP visibility destinations |
||||
type |
array |
||||
items |
|||||
additionalProperties |
False |
||||
|
Zoom visibility output descriptions |
||||
type |
string |
||||
default |
null |
||||
additionalProperties |
False |
Subarray stations and station beams 0.2
Station and station beams parameters
type |
object |
||||
properties |
|||||
|
type |
array |
|||
items |
type |
array |
|||
items |
type |
integer |
|||
|
type |
array |
|||
items |
type |
object |
|||
properties |
|||||
|
station beam id |
||||
type |
integer |
||||
|
list of station beam frequency ids |
||||
type |
array |
||||
items |
type |
integer |
|||
|
URL |
||||
type |
string |
||||
additionalProperties |
False |
||||
additionalProperties |
False |
outer 0.2
type |
object |
|||
properties |
||||
|
inner |
|||
type |
array |
|||
items |
||||
|
FSPs used by PST |
|||
type |
object |
|||
properties |
||||
|
Firmware name |
|||
type |
string |
|||
|
List of IDs (integer) |
|||
type |
array |
|||
items |
type |
integer |
||
additionalProperties |
False |
|||
additionalProperties |
False |
PST beams description 0.2
type |
object |
|||
properties |
||||
|
Station beam ID for pst beamforming |
|||
type |
integer |
|||
|
PST beam ID |
|||
type |
integer |
|||
|
Jones matrix source URI |
|||
type |
string |
|||
|
weights for each station |
|||
type |
array |
|||
items |
type |
number |
||
|
Master enable for RFI flagging |
|||
type |
array |
|||
default |
null |
|||
items |
type |
boolean |
||
|
Freqency IDs to be always flagged |
|||
type |
array |
|||
default |
null |
|||
items |
type |
integer |
||
|
Frequency IDs to be dynamically flagged |
|||
type |
array |
|||
default |
null |
|||
items |
type |
integer |
||
|
Parameter for dynamic flagging |
|||
type |
number |
|||
default |
null |
|||
|
Delay polynomial source URI |
|||
type |
string |
|||
|
PST server addrs |
|||
type |
array |
|||
items |
type |
object |
||
properties |
||||
|
dotted ipv4 address |
|||
type |
string |
|||
|
UDP port number |
|||
type |
integer |
|||
|
first chan to host |
|||
type |
integer |
|||
|
no. chans to host |
|||
type |
integer |
|||
additionalProperties |
False |
|||
additionalProperties |
False |
Station beams to correlate 0.2
type |
object |
||||
properties |
|||||
|
Station Beam ID |
||||
type |
integer |
||||
|
milliseconds integration |
||||
type |
integer |
||||
|
SDP channel & IP Address |
||||
type |
array |
||||
items |
type |
array |
|||
items |
anyOf |
type |
integer |
||
type |
string |
||||
|
SDP chan & UDP port, stride |
||||
type |
array |
||||
items |
type |
array |
|||
items |
type |
integer |
|||
|
SDP channel & server MAC |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
anyOf |
type |
integer |
||
type |
string |
||||
additionalProperties |
False |
LOWCBF configurescan 0.1
Example JSON
{
"interface": "https://schema.skao.int/ska-low-cbf-configurescan/0.0",
"lowcbf": {
"stations": {
"stns": [
[1, 0],
[2, 0],
[3, 0],
[4, 0]
],
"stn_beams": [{
"beam_id": 1,
"freq_ids": [64, 65, 66, 67, 68, 69, 70, 71],
"boresight_dly_poly": "tango://delays.skao.int/low/stn-beam/1"
}]
},
"timing_beams": {
"beams": [{
"pst_beam_id": 13,
"stn_beam_id": 1,
"offset_dly_poly": "url",
"stn_weights": [0.9, 1.0, 1.0, 0.9],
"jones": "url",
"dest_ip": ["10.22.0.1:2345", "10.22.0.3:3456"],
"dest_chans": [128, 256],
"rfi_enable": [true, true, true],
"rfi_static_chans": [1, 206, 997],
"rfi_dynamic_chans": [242, 1342],
"rfi_weighted": 0.87
}]
},
"search_beams": "tbd",
"zooms": "tbd"
}
}
type |
object |
|
properties |
||
|
URI of JSON schema for this command’s JSON payload. |
|
type |
string |
|
|
LOWCBF configuration for scan |
|
additionalProperties |
False |
LOWCBF subarray configurescan 0.1
Correlator and Beamformer specific parameters. This section contains the parameters relevant only for CBF sub-system. This section is forwarded only to CBF subelement.
type |
object |
||||
properties |
|||||
|
Subarray Stations and station beam inputdescriptions |
||||
|
PST beam outputs descriptions |
||||
default |
null |
||||
|
PSS beam outputs descriptions |
||||
type |
string |
||||
default |
null |
||||
|
Visibility output descriptions |
||||
type |
object |
||||
default |
null |
||||
properties |
|||||
|
FSPs used for correlation |
||||
type |
object |
||||
properties |
|||||
|
Firmware name |
||||
type |
string |
||||
|
List of IDs (integer) |
||||
type |
array |
||||
items |
type |
integer |
|||
additionalProperties |
False |
||||
|
SDP visibility destinations |
||||
type |
array |
||||
items |
|||||
additionalProperties |
False |
||||
|
Zoom visibility output descriptions |
||||
type |
string |
||||
default |
null |
||||
additionalProperties |
False |
Subarray stations and station beams 0.1
Station and station beams parameters
type |
object |
||||
properties |
|||||
|
type |
array |
|||
items |
type |
array |
|||
items |
type |
integer |
|||
|
type |
array |
|||
items |
type |
object |
|||
properties |
|||||
|
station beam id |
||||
type |
integer |
||||
|
list of station beam frequency ids |
||||
type |
array |
||||
items |
type |
integer |
|||
|
URL |
||||
type |
string |
||||
additionalProperties |
False |
||||
additionalProperties |
False |
outer 0.1
type |
object |
|
properties |
||
|
inner |
|
type |
array |
|
items |
||
additionalProperties |
False |
PST beams description 0.1
type |
object |
||
properties |
|||
|
Station beam ID for pst beamforming |
||
type |
integer |
||
|
PST beam ID |
||
type |
integer |
||
|
Jones matrix source URI |
||
type |
string |
||
|
weights for each station |
||
type |
array |
||
items |
type |
number |
|
|
Master enable for RFI flagging |
||
type |
array |
||
default |
null |
||
items |
type |
boolean |
|
|
Freqency IDs to be always flagged |
||
type |
array |
||
default |
null |
||
items |
type |
integer |
|
|
Frequency IDs to be dynamically flagged |
||
type |
array |
||
default |
null |
||
items |
type |
integer |
|
|
Parameter for dynamic flagging |
||
type |
number |
||
default |
null |
||
|
Firmware name |
||
type |
string |
||
default |
null |
||
|
Delay polynomial source URI |
||
type |
string |
||
|
Beam destination [ip_addr:port] |
||
type |
array |
||
items |
type |
string |
|
|
Number of fine chans to a destination |
||
type |
array |
||
items |
type |
integer |
|
additionalProperties |
False |
Station beams to correlate 0.1
type |
object |
||||
properties |
|||||
|
Station Beam ID |
||||
type |
integer |
||||
|
milliseconds integration |
||||
type |
integer |
||||
|
SDP channel & IP Address |
||||
type |
array |
||||
items |
type |
array |
|||
items |
anyOf |
type |
integer |
||
type |
string |
||||
|
SDP chan & UDP port, stride |
||||
type |
array |
||||
items |
type |
array |
|||
items |
type |
integer |
|||
|
SDP channel & server MAC |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
anyOf |
type |
integer |
||
type |
string |
||||
additionalProperties |
False |
ska-low-cbf-scan
LOWCBF scan 0.1
Example JSON
{
"interface": "https://schema.skao.int/ska-low-cbf-scan/0.0",
"lowcbf": {
"scan_id": 1357924680
}
}
type |
object |
|
properties |
||
|
URI of JSON schema for this command’s JSON payload.. |
|
type |
string |
|
|
LOWCBF scan arguments |
|
additionalProperties |
False |
LOWCBF scan description 0.1
type |
object |
|
properties |
||
|
Scan ID |
|
type |
integer |
|
additionalProperties |
False |
ska-low-cbf-releaseresources
LOWCBF configurescan 0.1
Example JSON
{
"interface": "https://schema.skao.int/ska-low-cbf-releaseresources/0.0",
"lowcbf": {
"resources": [{
"device": "fsp_01"
}]
}
}
type |
object |
||
properties |
|||
|
URI of JSON schema for this command’s JSON payload. |
||
type |
string |
||
|
LOWCBF configuration for scan |
||
type |
object |
||
properties |
|||
|
array of LOWCBF resources |
||
type |
array |
||
items |
|||
additionalProperties |
False |
||
additionalProperties |
False |
LOWCBF resources 0.1
type |
object |
|
properties |
||
|
Name of FSP or P4 device |
|
type |
string |
|
additionalProperties |
False |
Low MCCS schemas
ska-low-mccs-assignedresources
Low MCCS assigned resources 1.0
Example JSON.
{
"interface": "https://schema.skatelescope.org/ska-low-mccs-assignedresources/1.0",
"subarray_beam_ids": [1],
"station_ids": [
[1, 2]
],
"channel_blocks": [3]
}
https://schema.skatelescope.org/ska-low-mccs-assignedresources/1.0 |
||||
type |
object |
|||
properties |
||||
|
URI of JSON schema applicable to this JSON payload. |
|||
type |
string |
|||
|
IDs of the MCCS sub-array beams allocated to this MCCS subarray. Each ID must be between 1 and 48, the maximum number of MCCS sub-array beams. As of PI10, only one MCCS sub-array beam can be configured per allocation request. Multiple beams must be allocated via multiple allocation requests. |
|||
type |
array |
|||
items |
type |
integer |
||
|
IDs of MCCS stations allocated to each sub-array beam. Each ID must be between 1 and 512, the maximum number of stations. |
|||
type |
array |
|||
items |
type |
array |
||
items |
type |
integer |
||
|
Number of channel blocks allocated to each sub-array beam. Maximum number of channel blocks = 48. |
|||
type |
array |
|||
items |
type |
integer |
||
additionalProperties |
False |
ska-low-mccs-assignresources
Low MCCS assign resources 1.0
Example JSON.
{
"interface": "https://schema.skatelescope.org/ska-low-mccs-assignresources/1.0",
"subarray_id": 1,
"subarray_beam_ids": [1],
"station_ids": [
[1, 2]
],
"channel_blocks": [3]
}
https://schema.skatelescope.org/ska-low-mccs-assignresources/1.0 |
||||
type |
object |
|||
properties |
||||
|
URI of JSON schema applicable to this JSON payload. |
|||
type |
string |
|||
|
ID of sub-array targeted by this resource allocation request |
|||
type |
integer |
|||
|
IDs of the MCCS sub-array beams to allocate to this MCCS subarray. Each ID must be between 1 and 48, the maximum number of sub-array beams. As of PI10, only one MCCS sub-array beam can be configured per allocation request. Multiple beams must be allocated via multiple allocation requests. |
|||
type |
array |
|||
items |
type |
integer |
||
|
IDs of MCCS stations to allocate to this sub-array beam. Each ID must be between 1 and 512, the maximum number of stations. |
|||
type |
array |
|||
items |
type |
array |
||
items |
type |
integer |
||
|
Number of channel blocks to allocate to this sub-array beam. Maximum number of channel blocks = 48. |
|||
type |
array |
|||
items |
type |
integer |
||
additionalProperties |
False |
ska-low-mccs-releaseresources
Low MCCS resource release 1.0
Example JSON.
{
"interface": "https://schema.skatelescope.org/ska-low-mccs-releaseresources/1.0",
"subarray_id": 1,
"release_all": true
}
https://schema.skatelescope.org/ska-low-mccs-releaseresources/1.0 |
||
type |
object |
|
properties |
||
|
URI of JSON schema applicable to this JSON payload. |
|
type |
string |
|
|
ID of the MCCS sub-array which should release resources. |
|
type |
integer |
|
|
true to release all resources, false to release only the resources defined in this payload. Note: partial resource release for MCCS is not implemented and the identification of the resources to release is not yet part of the schema. |
|
type |
boolean |
|
additionalProperties |
False |
ska-low-mccs-configure
Low MCCS configure 1.0
Example JSON.
{
"interface": "https://schema.skatelescope.org/ska-low-mccs-configure/1.0",
"stations": [{
"station_id": 1
}, {
"station_id": 2
}],
"subarray_beams": [{
"subarray_beam_id": 1,
"station_ids": [1, 2],
"update_rate": 0.0,
"channels": [
[0, 8, 1, 1],
[8, 8, 2, 1],
[24, 16, 2, 1]
],
"sky_coordinates": [0.0, 180.0, 0.0, 45.0, 0.0],
"antenna_weights": [1.0, 1.0, 1.0],
"phase_centre": [0.0, 0.0]
}]
}
type |
object |
|||||
properties |
||||||
|
URI of JSON schema applicable to this JSON payload. |
|||||
type |
string |
|||||
|
IDs of the MCCS stations to configure. Maximum array size = 512, the maximum number of MCCS stations. |
|||||
type |
array |
|||||
items |
type |
object |
||||
properties |
||||||
|
type |
integer |
||||
additionalProperties |
True |
|||||
|
MCCS sub-array beam configuration. |
|||||
type |
array |
|||||
items |
type |
object |
||||
properties |
||||||
|
ID of MCCS sub-array beam to configure. ID must be an integer between 1 and 48. |
|||||
type |
integer |
|||||
|
IDs of MCCS stations within this sub-array beamto configure. Array size must be less than 512, the maximum number of MCCS stations. Each item in the list must be an integer between 1 and 512. |
|||||
type |
array |
|||||
items |
type |
integer |
||||
|
Update rate for pointing information. Value must be 0.0 or greater. TODO: clarify whether this is specified as a frequency or as a cadence, plus units. |
|||||
type |
number |
|||||
|
Channel block configurations. Each item in the list is a channel block configuration, each specified as a list of 4 numbers as follows: [start channel, number of channels, beam index, sub-station index] Constraints are: 0 < start channel < 376 start channel must be a multiple of 8 8 < number of channels < 48 1 < beam index < 48 1 < sub-station index < 8 |
|||||
type |
array |
|||||
items |
type |
array |
||||
items |
type |
integer |
||||
|
Antenna weights. Maximum array size = 512 (=256 antennas x2 pols per sub-array beam). Antennas signals can be weighted to modify the station beam, varying from 0.0 for full exclusion to potentially 256.0 for an antenna contribution compensated for the number of antennas in the beam. This value is an amplitude multiplier added to that antenna signal before adding into the sum. Weights apply to all channels assigned to a beam. |
|||||
type |
array |
|||||
items |
type |
number |
||||
|
Phase centre offset for the station beam, in metres. The reference position for station phase must be modified to reflect antenna weighting and their contribution to the station beam. This offset can be can considered the desired centre of mass for the station. Constraints: array size = 2 -20 < phase centre value < 20 |
|||||
type |
array |
|||||
items |
type |
number |
||||
|
Azimuth/elevation of sub-array beam target, in degrees. |
|||||
type |
array |
|||||
items |
type |
number |
||||
additionalProperties |
False |
|||||
additionalProperties |
False |
ska-low-mccs-scan
Low MCCS scan 1.0
Example JSON.
{
"interface": "https://schema.skatelescope.org/ska-low-mccs-scan/1.0",
"scan_id": 1,
"start_time": 0.0
}
type |
object |
|
properties |
||
|
URI of JSON schema applicable to this JSON payload. |
|
type |
string |
|
|
Scan ID to associate with the data. The scan ID and SBI ID are used together to uniquely associate the data taken with the telescope configuration in effect at the moment of observation. |
|
type |
integer |
|
|
Start time for the scan. Currently unused and can be set to 0.0. |
|
type |
number |
|
additionalProperties |
False |
ska-low-mccs-antenna-config
Antennas 1.0
Example JSON.
{
"interface": "https://schema.skao.int/ska-telmodel-antenna/1.0",
"type": "FeatureCollection",
"name": "antenna_export_w2",
"features": [{
"interface": "https://schema.skao.int/ska-telmodel-antenna-features/1.0",
"type": "Feature",
"properties": {
"interface": "https://schema.skao.int/ska-telmodel-antenna-features-properties/1.0",
"antenna_station_id": 0,
"station_id": "object(534nfhwh2)",
"x_pos": 6.1,
"y_pos": 6.1,
"z_pos": 6.1,
"base_id": 1,
"tpm_id": 1,
"tpm_rx": 1,
"status_x": "some status",
"status_y": "some status",
"tpm_name": "Tpm 1",
"delay_x": 5,
"delay_y": 5,
"station_num": 1
},
"geometry": {
"interface": "https://schema.skao.int/ska-telmodel-antenna-features-geometry/1.0",
"type": "Point",
"coordinates": [1.5, 6.2]
}
}, {
"interface": "https://schema.skao.int/ska-telmodel-antenna-features/1.0",
"type": "Feature",
"properties": {
"interface": "https://schema.skao.int/ska-telmodel-antenna-features-properties/1.0",
"antenna_station_id": 0,
"station_id": "object(534nfhwh2)",
"x_pos": 6.1,
"y_pos": 6.1,
"z_pos": 6.1,
"base_id": 1,
"tpm_id": 1,
"tpm_rx": 1,
"status_x": "some status",
"status_y": "some status",
"tpm_name": "Tpm 1",
"delay_x": 5,
"delay_y": 5,
"station_num": 1
},
"geometry": {
"interface": "https://schema.skao.int/ska-telmodel-antenna-features-geometry/1.0",
"type": "Point",
"coordinates": [1.5, 6.2]
}
}]
}
Configuration data for antennas stored in geojson format
type |
object |
|
properties |
||
|
Interface version |
|
type |
string |
|
|
Type |
|
type |
string |
|
|
Name |
|
type |
string |
|
|
Features |
|
type |
array |
|
items |
Features of the antenna. |
|
additionalProperties |
False |
Features 1.0
Features of the antenna.
type |
object |
|
properties |
||
|
Interface version |
|
type |
string |
|
|
Type |
|
type |
string |
|
|
Antenna properties |
|
|
Antenna geometry |
|
additionalProperties |
False |
Properties 1.0
The properties of the antenna
type |
object |
|
properties |
||
|
Interface version |
|
type |
string |
|
|
Id of the antenna station |
|
type |
integer |
|
|
Id of the station |
|
type |
string |
|
|
x position of the antenna |
|
type |
number |
|
|
y position of the antenna |
|
type |
number |
|
|
z position of the antenna |
|
type |
number |
|
|
base id |
|
type |
integer |
|
|
Id of the TPM |
|
type |
integer |
|
|
TPM receiver |
|
type |
integer |
|
|
Status x |
|
type |
string |
|
|
status y |
|
type |
string |
|
|
TPM name |
|
type |
string |
|
|
delay in the x direction |
|
type |
integer |
|
|
delay in the y direction |
|
type |
integer |
|
|
station number |
|
type |
integer |
|
additionalProperties |
False |
Geometry - type, coordinates 1.0
Postion of the antenna.
type |
object |
||
properties |
|||
|
Interface version |
||
type |
string |
||
|
Coordinate type |
||
type |
string |
||
|
Array of coordinates |
||
type |
array |
||
items |
type |
number |
|
additionalProperties |
False |
ska-low-mccs-station-config
stations 1.0
Example JSON.
{
"interface": "https://schema.skao.int/ska-telmodel-station/1.0",
"type": "FeatureCollection",
"name": "station_export_w2",
"features": [{
"interface": "https://schema.skao.int/ska-telmodel-station-features/1.0",
"type": "Feature",
"properties": {
"interface": "https://schema.skao.int/ska-telmodel-station-features-properties/1.0",
"name": "Station 1",
"nof_antennas": 256,
"antenna_type": "EDA2",
"tpms": {
"0": 1,
"1": 2,
"2": 3,
"3": 4
},
"station_num": 1
},
"geometry": {
"interface": "https://schema.skao.int/ska-telmodel-station-features-geometry/1.0",
"type": "Point",
"coordinates": [1.5, 6.2]
}
}, {
"interface": "https://schema.skao.int/ska-telmodel-station-features/1.0",
"type": "Feature",
"properties": {
"interface": "https://schema.skao.int/ska-telmodel-station-features-properties/1.0",
"name": "Station 1",
"nof_antennas": 256,
"antenna_type": "EDA2",
"tpms": {
"0": 1,
"1": 2,
"2": 3,
"3": 4
},
"station_num": 1
},
"geometry": {
"interface": "https://schema.skao.int/ska-telmodel-station-features-geometry/1.0",
"type": "Point",
"coordinates": [1.5, 6.2]
}
}]
}
Configuration data for stations stored in geojson format
type |
object |
|
properties |
||
|
Interface version |
|
type |
string |
|
|
Type |
|
type |
string |
|
|
Name |
|
type |
string |
|
|
Features |
|
type |
array |
|
items |
Features of the station. |
|
additionalProperties |
False |
Features 1.0
Features of the station.
type |
object |
|
properties |
||
|
Interface version |
|
type |
string |
|
|
Type |
|
type |
string |
|
|
station properties |
|
|
station geometry |
|
additionalProperties |
False |
Properties 1.0
The properties of the station
type |
object |
|
properties |
||
|
Interface version |
|
type |
string |
|
|
name of station |
|
type |
string |
|
|
number of antennas on station |
|
type |
integer |
|
|
type of antenna |
|
type |
string |
|
|
tiles |
|
|
station number |
|
type |
integer |
|
additionalProperties |
False |
Geometry - type, coordinates 1.0
Postion of the station.
type |
object |
||
properties |
|||
|
Interface version |
||
type |
string |
||
|
Coordinate type |
||
type |
string |
||
|
Array of coordinates |
||
type |
array |
||
items |
type |
number |
|
additionalProperties |
False |
Mid CBF schemas
Schemas used for commands to the CSP Mid.CBF.
See Mid.CBF Controller and Subarray command documentation for documentation of all commands.
ska-mid-cbf-initsysparam
MID.CBF Parameters 1.0
Example (MID.CBF Parameters)
{
"interface": "https://schema.skao.int/ska-midcbf-initsysparam/1.0",
"dish_parameters": {
"SKA001": {
"vcc": 1,
"k": 11
},
"SKA100": {
"vcc": 2,
"k": 101
},
"SKA036": {
"vcc": 3,
"k": 1127
},
"SKA063": {
"vcc": 4,
"k": 620
}
}
}
Example (MID.CBF Parameters Source URI)
{
"interface": "https://schema.skao.int/ska-mid-cbf-initsysparam/1.0",
"tm_data_sources": ["car://gitlab.com/ska-telescope/ska-telmodel-data?1.0.0#tmdata"],
"tm_data_filepath": "instrument/ska1_mid_psi/ska-mid-cbf-system-parameters.json"
}
anyOf |
|
mid-cbf parameters 1.0
type |
object |
|
properties |
||
|
URI of JSON schema for this command’s JSON payload. |
|
type |
string |
|
|
Dish parameters section containing the information needed to map each dish ID to its initialization parameters, including the vcc ID and offset-index k value. |
|
additionalProperties |
False |
dish mapping 1.0
type |
object |
properties |
|
|
At least one dish ID must be specified, and each dish ID must be a valid ID. Valid dish IDs include: SKA dishes: “SKAnnn”, where nnn is a zero padded integer in the range of 001 to 133. MeerKAT dishes: “MKTnnn”, where nnn is a zero padded integer in the range of 000 to 063. |
additionalProperties |
False |
dish mapping details 1.0
type |
object |
|
properties |
||
|
The VCC ID for the given dish ID. Range: [1-197] |
|
type |
integer |
|
|
The offset-index k value for the dish ID. Range: [1-2222] |
|
type |
integer |
|
additionalProperties |
False |
mid-cbf parameters source URI 1.0
type |
object |
||
properties |
|||
|
URI of JSON schema for this command’s JSON payload. |
||
type |
string |
||
|
The telmodel data source. This parameter must be provided as a list containing a single entry. |
||
type |
array |
||
items |
type |
string |
|
|
Path to the JSON file containing the dish parameters required to execute the Mid CBF InitSysParam command. |
||
type |
string |
||
pattern |
^\S+\.json$ |
||
additionalProperties |
False |
Science Data Processor schemas
Schemas used for commands to / attributes from the SDP LMC. See SDP LMC subarray documentation for an overview of the interactions.
ska-sdp-assignres
SDP assign resources 0.4
Example
{
"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
}
}
Used for assigning resources to an SDP subarray.
As concrete resource usage for the SDP depend strongly on the underlying processing script, this fully parameterises all processing blocks to be executed. This especially means that in contrast to most other sub-systems, SDP processing deployments might persist across scans (and scan configuration) boundaries.
type |
object |
||||
properties |
|||||
|
type |
string |
|||
default |
null |
||||
|
type |
string |
|||
pattern |
^txn\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
||||
default |
null |
||||
|
Execution block |
||||
default |
null |
||||
|
External resources |
||||
type |
object |
||||
default |
null |
||||
properties |
|||||
|
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 |
||||
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. |
||||
additionalProperties |
False |
Execution block 0.4
type |
object |
||||
properties |
|||||
|
type |
string |
|||
pattern |
^eb\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
||||
|
type |
number |
|||
|
Free-form information from OET, see ADR-54 |
||||
|
Beam parameters |
||||
type |
array |
||||
items |
Beam parameters for the purpose of the Science Data Processor. |
||||
|
Scan types. Associates scans with per-beam fields & channel configurations |
||||
type |
array |
||||
items |
type |
object |
|||
properties |
|||||
|
const |
(any scan type) |
|||
|
type |
string |
|||
|
type |
object |
|||
additionalProperties |
False |
||||
|
Channels |
||||
type |
array |
||||
items |
Spectral windows per channel configuration. |
||||
|
Polarisation definitions |
||||
type |
array |
||||
items |
Polarisation definition. |
||||
type |
object |
||||
properties |
|||||
|
type |
string |
|||
|
type |
array |
|||
items |
type |
string |
|||
additionalProperties |
False |
||||
|
Fields / targets |
||||
type |
array |
||||
items |
Fields / Targets |
||||
type |
object |
||||
properties |
|||||
|
type |
string |
|||
|
Phase direction |
||||
type |
object |
||||
properties |
|||||
|
type |
array |
|||
items |
|||||
|
type |
array |
|||
items |
|||||
|
type |
string |
|||
|
const |
ICRF3 |
|||
additionalProperties |
False |
||||
|
type |
string |
|||
additionalProperties |
False |
||||
additionalProperties |
False |
Beam 0.4
Beam parameters for the purpose of the Science Data Processor.
type |
object |
|
properties |
||
|
Name to identify the beam within the SDP configuration. |
|
type |
string |
|
|
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:
|
|
enum |
visibilities, pulsar search, pulsar timing, vlbi, transient buffer |
|
|
type |
integer |
default |
null |
|
|
type |
integer |
default |
null |
|
|
type |
integer |
default |
null |
|
additionalProperties |
False |
Scan channels 0.4
Spectral windows per channel configuration.
type |
object |
|||
properties |
||||
|
||||
|
type |
array |
||
items |
type |
object |
||
properties |
||||
|
||||
|
Number of channels |
|||
type |
integer |
|||
|
First channel ID |
|||
type |
integer |
|||
|
Distance between subsequent channel IDs |
|||
type |
integer |
|||
default |
null |
|||
|
Lower bound of first channel |
|||
type |
number |
|||
|
Upper bound of last channel |
|||
type |
number |
|||
|
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 |
|||||
|
Unique identifier for this processing block. |
||||
type |
string |
||||
pattern |
^pb\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
||||
|
Specification of the workflow to be executed along with configuration parameters for the workflow. |
||||
type |
object |
||||
properties |
|||||
|
The kind of processing script (realtime or batch) |
||||
allOf |
type |
string |
|||
enum |
realtime, batch |
||||
|
The name of the processing script |
||||
type |
string |
||||
|
Version of the processing script. Uses semantic versioning. |
||||
type |
string |
||||
additionalProperties |
False |
||||
|
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 |
||||
|
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
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 |
|||||
|
type |
string |
|||
pattern |
^pb\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
||||
|
type |
array |
|||
items |
type |
string |
|||
additionalProperties |
False |
||||
|
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 |
SDP assign resources 0.3
Example
{
"eb_id": "eb-mvp01-20210623-00000",
"max_length": 100.0,
"scan_types": [{
"scan_type_id": "science",
"reference_frame": "ICRS",
"ra": "02:42:40.771",
"dec": "-00:00:47.84",
"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]
]
}, {
"count": 744,
"start": 2000,
"stride": 1,
"freq_min": 360000000.0,
"freq_max": 368000000.0,
"link_map": [
[2000, 4],
[2200, 5]
]
}]
}, {
"scan_type_id": "calibration",
"reference_frame": "ICRS",
"ra": "12:29:06.699",
"dec": "02:03:08.598",
"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]
]
}, {
"count": 744,
"start": 2000,
"stride": 1,
"freq_min": 360000000.0,
"freq_max": 368000000.0,
"link_map": [
[2000, 4],
[2200, 5]
]
}]
}],
"processing_blocks": [{
"pb_id": "pb-mvp01-20210623-00000",
"workflow": {
"kind": "realtime",
"name": "vis_receive",
"version": "0.1.0"
},
"parameters": {}
}, {
"pb_id": "pb-mvp01-20210623-00001",
"workflow": {
"kind": "realtime",
"name": "test_realtime",
"version": "0.1.0"
},
"parameters": {}
}, {
"pb_id": "pb-mvp01-20210623-00002",
"workflow": {
"kind": "batch",
"name": "ical",
"version": "0.1.0"
},
"parameters": {},
"dependencies": [{
"pb_id": "pb-mvp01-20210623-00000",
"kind": ["visibilities"]
}]
}, {
"pb_id": "pb-mvp01-20210623-00003",
"workflow": {
"kind": "batch",
"name": "dpreb",
"version": "0.1.0"
},
"parameters": {},
"dependencies": [{
"pb_id": "pb-mvp01-20210623-00002",
"kind": ["calibration"]
}]
}]
}
Used for assigning resources to an SDP subarray.
As concrete resource usage for the SDP depend strongly on the underlying processing script, this fully parameterises all processing blocks to be executed. This especially means that in contrast to most other sub-systems, SDP processing deployments might persist across scans (and scan configuration) boundaries.
type |
object |
|
properties |
||
|
type |
string |
default |
null |
|
|
type |
string |
pattern |
^txn\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
|
default |
null |
|
|
Execution block ID to associate with processing |
|
type |
string |
|
pattern |
^eb\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
|
|
Hint about the maximum observation length to support by the SDP. Used for ensuring that enough buffer capacity is available to capture measurements. Resources assignment might fail if we do not have enough space to guarantee that all data could be captured. |
|
type |
number |
|
default |
null |
|
|
Scan types to be supported on subarray |
|
type |
array |
|
items |
A scan configuration for SDP. Once AssignResources has been performed successfully, subsequent Configure commands can select from these scan types in order to coordinate SDP with other sub-systems participating in the observation - for instance to switch between targets, or perform special calibration scans. |
|
|
type |
array |
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. |
|
additionalProperties |
False |
Scan type 0.3
A scan configuration for SDP. Once AssignResources has been performed successfully, subsequent Configure commands can select from these scan types in order to coordinate SDP with other sub-systems participating in the observation - for instance to switch between targets, or perform special calibration scans.
type |
object |
||
properties |
|||
|
const |
(any scan type) |
|
|
Specification of the reference frame or system for a set of pointing coordinates (see ADR-49) |
||
default |
null |
||
allOf |
type |
string |
|
const |
ICRS |
||
|
Right Ascension in degrees (see ADR-49) |
||
type |
string |
||
default |
null |
||
|
Declination in degrees (see ADR-49) |
||
type |
string |
||
default |
null |
||
|
type |
array |
|
default |
null |
||
items |
Informs SDP ingest about the expected channel configuration, especially which frequencies are expected to be mapped to which channel ID. Note that channel IDs are not guaranteed to be continuous, so this might involve gaps and/or strides. |
||
additionalProperties |
False |
Scan channels 0.3
Informs SDP ingest about the expected channel configuration, especially which frequencies are expected to be mapped to which channel ID. Note that channel IDs are not guaranteed to be continuous, so this might involve gaps and/or strides.
type |
object |
|
properties |
||
|
Number of channels |
|
type |
integer |
|
|
First channel ID |
|
type |
integer |
|
|
Distance between subsequent channel IDs |
|
type |
integer |
|
default |
null |
|
|
Lower bound of first channel |
|
type |
number |
|
|
Upper bound of last channel |
|
type |
number |
|
|
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 |
Processing block 0.3
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 |
|||||
|
Unique identifier for this processing block. |
||||
type |
string |
||||
pattern |
^pb\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
||||
|
Specification of the workflow to be executed along with configuration parameters for the workflow. |
||||
type |
object |
||||
properties |
|||||
|
The kind of processing script (realtime or batch) |
||||
allOf |
type |
string |
|||
enum |
realtime, batch |
||||
|
The name of the processing script |
||||
type |
string |
||||
|
Version of the processing script. Uses semantic versioning. |
||||
type |
string |
||||
additionalProperties |
False |
||||
|
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 |
||||
|
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
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 |
|||||
|
type |
string |
|||
pattern |
^pb\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
||||
|
type |
array |
|||
items |
type |
string |
|||
additionalProperties |
False |
||||
additionalProperties |
False |
SDP assign resources 0.2
Example
{
"id": "sbi-mvp01-20200325-00001",
"max_length": 100.0,
"scan_types": [{
"id": "science",
"coordinate_system": "ICRS",
"ra": "02:42:40.771",
"dec": "-00:00:47.84",
"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]
]
}, {
"count": 744,
"start": 2000,
"stride": 1,
"freq_min": 360000000.0,
"freq_max": 368000000.0,
"link_map": [
[2000, 4],
[2200, 5]
]
}]
}, {
"id": "calibration",
"coordinate_system": "ICRS",
"ra": "12:29:06.699",
"dec": "02:03:08.598",
"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]
]
}, {
"count": 744,
"start": 2000,
"stride": 1,
"freq_min": 360000000.0,
"freq_max": 368000000.0,
"link_map": [
[2000, 4],
[2200, 5]
]
}]
}],
"processing_blocks": [{
"id": "pb-mvp01-20200325-00001",
"workflow": {
"type": "realtime",
"id": "vis_receive",
"version": "0.1.0"
},
"parameters": {}
}, {
"id": "pb-mvp01-20200325-00002",
"workflow": {
"type": "realtime",
"id": "test_realtime",
"version": "0.1.0"
},
"parameters": {}
}, {
"id": "pb-mvp01-20200325-00003",
"workflow": {
"type": "batch",
"id": "ical",
"version": "0.1.0"
},
"parameters": {},
"dependencies": [{
"pb_id": "pb-mvp01-20200325-00001",
"type": ["visibilities"]
}]
}, {
"id": "pb-mvp01-20200325-00004",
"workflow": {
"type": "batch",
"id": "dpreb",
"version": "0.1.0"
},
"parameters": {},
"dependencies": [{
"pb_id": "pb-mvp01-20200325-00003",
"type": ["calibration"]
}]
}]
}
type |
object |
|
properties |
||
|
type |
string |
|
type |
string |
pattern |
^sbi\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
|
|
type |
number |
|
Scan types to be supported on subarray |
|
type |
array |
|
items |
||
|
type |
array |
items |
||
additionalProperties |
False |
Scan type 0.2
type |
object |
|
properties |
||
|
const |
(any scan type) |
|
const |
ICRS |
|
type |
string |
|
type |
string |
|
type |
array |
items |
Informs SDP ingest about the expected channel configuration, especially which frequencies are expected to be mapped to which channel ID. Note that channel IDs are not guaranteed to be continuous, so this might involve gaps and/or strides. |
|
additionalProperties |
False |
Scan channels 0.2
Informs SDP ingest about the expected channel configuration, especially which frequencies are expected to be mapped to which channel ID. Note that channel IDs are not guaranteed to be continuous, so this might involve gaps and/or strides.
type |
object |
|
properties |
||
|
Number of channels |
|
type |
integer |
|
|
First channel ID |
|
type |
integer |
|
|
Distance between subsequent channel IDs |
|
type |
integer |
|
default |
null |
|
|
Lower bound of first channel |
|
type |
number |
|
|
Upper bound of last channel |
|
type |
number |
|
|
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 |
Processing block 0.2
type |
object |
||||
properties |
|||||
|
type |
string |
|||
pattern |
^pb\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
||||
|
type |
object |
|||
properties |
|||||
|
type |
string |
|||
|
type |
string |
|||
|
type |
string |
|||
additionalProperties |
True |
||||
|
type |
object |
|||
|
type |
array |
|||
items |
type |
object |
|||
properties |
|||||
|
type |
string |
|||
pattern |
^pb\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
||||
|
type |
array |
|||
items |
type |
string |
|||
additionalProperties |
False |
||||
additionalProperties |
False |
SDP assign resources 0.1
type |
object |
|
properties |
||
|
type |
string |
|
type |
string |
pattern |
^sbi\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
|
|
type |
number |
|
Scan types to be supported on subarray |
|
type |
array |
|
items |
||
|
type |
array |
items |
||
additionalProperties |
False |
Scan type 0.1
type |
object |
|
properties |
||
|
const |
(any scan type) |
|
const |
ICRS |
|
type |
string |
|
type |
string |
|
type |
array |
items |
Informs SDP ingest about the expected channel configuration, especially which frequencies are expected to be mapped to which channel ID. Note that channel IDs are not guaranteed to be continuous, so this might involve gaps and/or strides. |
|
additionalProperties |
False |
Scan channels 0.1
Informs SDP ingest about the expected channel configuration, especially which frequencies are expected to be mapped to which channel ID. Note that channel IDs are not guaranteed to be continuous, so this might involve gaps and/or strides.
type |
object |
|
properties |
||
|
Number of channels |
|
type |
integer |
|
|
First channel ID |
|
type |
integer |
|
|
Distance between subsequent channel IDs |
|
type |
integer |
|
default |
null |
|
|
Lower bound of first channel |
|
type |
number |
|
|
Upper bound of last channel |
|
type |
number |
|
|
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 |
Processing block 0.1
type |
object |
||||
properties |
|||||
|
type |
string |
|||
pattern |
^pb\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
||||
|
type |
object |
|||
properties |
|||||
|
type |
string |
|||
|
type |
string |
|||
|
type |
string |
|||
additionalProperties |
True |
||||
|
type |
object |
|||
|
type |
array |
|||
items |
type |
object |
|||
properties |
|||||
|
type |
string |
|||
pattern |
^pb\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
||||
|
type |
array |
|||
items |
type |
string |
|||
additionalProperties |
False |
||||
additionalProperties |
False |
SDP assign resources 0.0
type |
object |
|
properties |
||
|
type |
string |
|
type |
string |
pattern |
^sbi\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
|
|
type |
number |
|
Scan types to be supported on subarray |
|
type |
array |
|
items |
||
|
type |
array |
items |
||
additionalProperties |
False |
Scan type 0.0
type |
object |
|
properties |
||
|
const |
(any scan type) |
|
const |
ICRS |
|
type |
string |
|
type |
string |
|
type |
array |
items |
Informs SDP ingest about the expected channel configuration, especially which frequencies are expected to be mapped to which channel ID. Note that channel IDs are not guaranteed to be continuous, so this might involve gaps and/or strides. |
|
additionalProperties |
False |
Scan channels 0.0
Informs SDP ingest about the expected channel configuration, especially which frequencies are expected to be mapped to which channel ID. Note that channel IDs are not guaranteed to be continuous, so this might involve gaps and/or strides.
type |
object |
|
properties |
||
|
Number of channels |
|
type |
integer |
|
|
First channel ID |
|
type |
integer |
|
|
Distance between subsequent channel IDs |
|
type |
integer |
|
default |
null |
|
|
Lower bound of first channel |
|
type |
number |
|
|
Upper bound of last channel |
|
type |
number |
|
|
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 |
Processing block 0.0
type |
object |
||||
properties |
|||||
|
type |
string |
|||
pattern |
^pb\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
||||
|
type |
object |
|||
properties |
|||||
|
type |
string |
|||
|
type |
string |
|||
|
type |
string |
|||
additionalProperties |
True |
||||
|
type |
object |
|||
|
type |
array |
|||
items |
type |
object |
|||
properties |
|||||
|
type |
string |
|||
pattern |
^pb\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
||||
|
type |
array |
|||
items |
type |
string |
|||
additionalProperties |
False |
||||
additionalProperties |
False |
ska-sdp-configure
SDP configure 0.4
Example
{
"scan_type": "science"
}
Configures an SDP subarray for a number of scans of a certain previously-assigned type. See resource assignment.
type |
object |
|||
properties |
||||
|
type |
string |
||
default |
null |
|||
|
type |
string |
||
pattern |
^txn\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
|||
default |
null |
|||
|
type |
string |
||
|
type |
array |
||
default |
null |
|||
items |
type |
object |
||
properties |
||||
|
const |
(any scan type) |
||
|
type |
string |
||
|
type |
object |
||
additionalProperties |
False |
|||
additionalProperties |
False |
SDP configure 0.3
Example
{
"scan_type": "science"
}
Example with new scan types
{
"new_scan_types": [{
"scan_type_id": "new_calibration",
"channels": [{
"count": 372,
"start": 0,
"stride": 2,
"freq_min": 350000000.0,
"freq_max": 358000000.0,
"link_map": [
[0, 0],
[200, 1]
]
}]
}],
"scan_type": "new_calibration"
}
Configures an SDP subarray for a number of scans of a certain previously-assigned type. See resource assignment.
type |
object |
|
properties |
||
|
type |
string |
default |
null |
|
|
type |
string |
pattern |
^txn\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
|
default |
null |
|
|
type |
string |
|
type |
array |
default |
null |
|
items |
A scan configuration for SDP. Once AssignResources has been performed successfully, subsequent Configure commands can select from these scan types in order to coordinate SDP with other sub-systems participating in the observation - for instance to switch between targets, or perform special calibration scans. |
|
additionalProperties |
False |
Scan type 0.3
A scan configuration for SDP. Once AssignResources has been performed successfully, subsequent Configure commands can select from these scan types in order to coordinate SDP with other sub-systems participating in the observation - for instance to switch between targets, or perform special calibration scans.
type |
object |
||
properties |
|||
|
const |
(any scan type) |
|
|
Specification of the reference frame or system for a set of pointing coordinates (see ADR-49) |
||
default |
null |
||
allOf |
type |
string |
|
const |
ICRS |
||
|
Right Ascension in degrees (see ADR-49) |
||
type |
string |
||
default |
null |
||
|
Declination in degrees (see ADR-49) |
||
type |
string |
||
default |
null |
||
|
type |
array |
|
default |
null |
||
items |
Informs SDP ingest about the expected channel configuration, especially which frequencies are expected to be mapped to which channel ID. Note that channel IDs are not guaranteed to be continuous, so this might involve gaps and/or strides. |
||
additionalProperties |
False |
Scan channels 0.3
Informs SDP ingest about the expected channel configuration, especially which frequencies are expected to be mapped to which channel ID. Note that channel IDs are not guaranteed to be continuous, so this might involve gaps and/or strides.
type |
object |
|
properties |
||
|
Number of channels |
|
type |
integer |
|
|
First channel ID |
|
type |
integer |
|
|
Distance between subsequent channel IDs |
|
type |
integer |
|
default |
null |
|
|
Lower bound of first channel |
|
type |
number |
|
|
Upper bound of last channel |
|
type |
number |
|
|
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 |
SDP configure 0.2
Example
{
"scan_type": "science"
}
Example with new scan types
{
"new_scan_types": [{
"id": "new_calibration",
"channels": [{
"count": 372,
"start": 0,
"stride": 2,
"freq_min": 350000000.0,
"freq_max": 358000000.0,
"link_map": [
[0, 0],
[200, 1]
]
}]
}],
"scan_type": "new_calibration"
}
type |
object |
|
properties |
||
|
type |
string |
|
type |
string |
|
type |
array |
items |
||
additionalProperties |
False |
Scan type 0.2
type |
object |
|
properties |
||
|
const |
(any scan type) |
|
const |
ICRS |
|
type |
string |
|
type |
string |
|
type |
array |
items |
Informs SDP ingest about the expected channel configuration, especially which frequencies are expected to be mapped to which channel ID. Note that channel IDs are not guaranteed to be continuous, so this might involve gaps and/or strides. |
|
additionalProperties |
False |
Scan channels 0.2
Informs SDP ingest about the expected channel configuration, especially which frequencies are expected to be mapped to which channel ID. Note that channel IDs are not guaranteed to be continuous, so this might involve gaps and/or strides.
type |
object |
|
properties |
||
|
Number of channels |
|
type |
integer |
|
|
First channel ID |
|
type |
integer |
|
|
Distance between subsequent channel IDs |
|
type |
integer |
|
default |
null |
|
|
Lower bound of first channel |
|
type |
number |
|
|
Upper bound of last channel |
|
type |
number |
|
|
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 |
SDP configure 0.1
type |
object |
|
properties |
||
|
type |
string |
|
type |
string |
|
type |
array |
items |
||
additionalProperties |
False |
Scan type 0.1
type |
object |
|
properties |
||
|
const |
(any scan type) |
|
const |
ICRS |
|
type |
string |
|
type |
string |
|
type |
array |
items |
Informs SDP ingest about the expected channel configuration, especially which frequencies are expected to be mapped to which channel ID. Note that channel IDs are not guaranteed to be continuous, so this might involve gaps and/or strides. |
|
additionalProperties |
False |
Scan channels 0.1
Informs SDP ingest about the expected channel configuration, especially which frequencies are expected to be mapped to which channel ID. Note that channel IDs are not guaranteed to be continuous, so this might involve gaps and/or strides.
type |
object |
|
properties |
||
|
Number of channels |
|
type |
integer |
|
|
First channel ID |
|
type |
integer |
|
|
Distance between subsequent channel IDs |
|
type |
integer |
|
default |
null |
|
|
Lower bound of first channel |
|
type |
number |
|
|
Upper bound of last channel |
|
type |
number |
|
|
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 |
SDP configure 0.0
type |
object |
|
properties |
||
|
type |
string |
|
type |
string |
|
type |
array |
items |
||
additionalProperties |
False |
Scan type 0.0
type |
object |
|
properties |
||
|
const |
(any scan type) |
|
const |
ICRS |
|
type |
string |
|
type |
string |
|
type |
array |
items |
Informs SDP ingest about the expected channel configuration, especially which frequencies are expected to be mapped to which channel ID. Note that channel IDs are not guaranteed to be continuous, so this might involve gaps and/or strides. |
|
additionalProperties |
False |
Scan channels 0.0
Informs SDP ingest about the expected channel configuration, especially which frequencies are expected to be mapped to which channel ID. Note that channel IDs are not guaranteed to be continuous, so this might involve gaps and/or strides.
type |
object |
|
properties |
||
|
Number of channels |
|
type |
integer |
|
|
First channel ID |
|
type |
integer |
|
|
Distance between subsequent channel IDs |
|
type |
integer |
|
default |
null |
|
|
Lower bound of first channel |
|
type |
number |
|
|
Upper bound of last channel |
|
type |
number |
|
|
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 |
ska-sdp-scan
SDP scan 0.4
Example
{
"scan_id": 1
}
Indicates to SDP that a new scan is about to start
type |
object |
|
properties |
||
|
type |
string |
|
type |
string |
pattern |
^txn\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
|
|
ID associated with new scan |
|
type |
integer |
|
additionalProperties |
False |
SDP scan 0.3
Example
{
"scan_id": 1
}
Indicates to SDP that a new scan is about to start
type |
object |
|
properties |
||
|
type |
string |
|
type |
string |
pattern |
^txn\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
|
|
ID associated with new scan |
|
type |
integer |
|
additionalProperties |
False |
SDP scan 0.2
Example
{
"id": 1
}
type |
object |
|
properties |
||
|
type |
string |
|
type |
integer |
additionalProperties |
False |
SDP scan 0.1
type |
object |
|
properties |
||
|
type |
string |
|
type |
integer |
additionalProperties |
False |
SDP scan 0.0
type |
object |
|
properties |
||
|
type |
string |
|
type |
integer |
additionalProperties |
False |
ska-sdp-recvaddrs
SDP receive addresses map 0.5
Example
{
"science": {
"vis0": {
"function": "visibilities",
"host": [
[0, "192.168.0.1"],
[400, "192.168.0.2"],
[744, "192.168.0.3"],
[1144, "192.168.0.4"]
],
"port": [
[0, 9000, 1],
[400, 9000, 1],
[744, 9000, 1],
[1144, 9000, 1]
],
"mac": [
[0, "06-00-00-00-00-00"],
[744, "06-00-00-00-00-01"]
],
"delay_cal": "low-sdp/telstate/rcal0/delay",
"pointing_cal": "tango://low-sdp/queueconnector/01/pointing_offsets"
},
"pss1": {
"function": "pulsar search",
"search_beam_id": 1,
"host": [
[0, "192.168.60.0"]
],
"port": [
[0, 8000]
],
"jones_cal": [
[0, "low-sdp/telstate/rcal0/jones0"],
[400, "low-sdp/telstate/rcal0/jones1"],
[744, "low-sdp/telstate/rcal0/jones2"],
[1144, "low-sdp/telstate/rcal0/jones2"]
]
},
"pss2": {
"function": "pulsar search",
"search_beam_id": 2,
"host": [
[0, "192.168.60.1"]
],
"port": [
[0, 8000]
],
"jones_cal": [
[0, "low-sdp/telstate/rcal0/jones0"],
[400, "low-sdp/telstate/rcal0/jones1"],
[744, "low-sdp/telstate/rcal0/jones2"],
[1144, "low-sdp/telstate/rcal0/jones2"]
]
},
"pst1": {
"function": "pulsar timing",
"timing_beam_id": 1,
"host": [
[0, "192.168.60.2"]
],
"port": [
[0, 8001]
],
"jones_cal": [
[0, "low-sdp/telstate/rcal0/jones0"],
[400, "low-sdp/telstate/rcal0/jones1"],
[744, "low-sdp/telstate/rcal0/jones2"],
[1144, "low-sdp/telstate/rcal0/jones2"]
]
},
"pst2": {
"function": "pulsar timing",
"timing_beam_id": 2,
"host": [
[0, "192.168.60.3"]
],
"port": [
[0, 8002]
],
"jones_cal": [
[0, "low-sdp/telstate/rcal0/jones0"],
[400, "low-sdp/telstate/rcal0/jones1"],
[744, "low-sdp/telstate/rcal0/jones2"],
[1144, "low-sdp/telstate/rcal0/jones2"]
]
}
},
"calibration": {
"vis0": {
"function": "visibilities",
"host": [
[0, "192.168.1.1"]
],
"port": [
[0, 9000, 1]
],
"delay_cal": "low-sdp/telstate/rcal0/delay",
"pointing_cal": "tango://low-sdp/queueconnector/01/pointing_offsets"
},
"pss1": {
"function": "pulsar search",
"search_beam_id": 1,
"host": [
[0, "192.168.60.0"]
],
"port": [
[0, 8003]
],
"jones_cal": [
[0, "low-sdp/telstate/rcal0/jones0"]
]
},
"pss2": {
"function": "pulsar search",
"search_beam_id": 2,
"host": [
[0, "192.168.60.1"]
],
"port": [
[0, 8002]
],
"jones_cal": [
[0, "low-sdp/telstate/rcal0/jones0"]
]
},
"pst1": {
"function": "pulsar timing",
"timing_beam_id": 0,
"host": [
[0, "192.168.60.2"]
],
"port": [
[0, 8001]
],
"jones_cal": [
[0, "low-sdp/telstate/rcal0/jones0"]
]
},
"pst2": {
"function": "pulsar timing",
"timing_beam_id": 1,
"host": [
[0, "192.168.60.3"]
],
"port": [
[0, 8000]
],
"jones_cal": [
[0, "low-sdp/telstate/rcal0/jones0"]
]
}
}
}
Provides information about receive node addresses to use for ingesting measurement data to SDP (such as visibility SPEAD streams).
Receive addresses consists of a map of scan type to a
receive address map. This address map must be set once the
SDP subarray finishes the transition following
AssignResources
(i.e. IDLE following the current
state of ADR-8). TMC will then check SDP’s subarray
receiveAddresses
attribute when preparing to configure
elements for a certain scan type.
Note that this has been changed to use the more compact
channel map format defined in ADR-4. The general idea
still applies: A map is given as a list, each entry of the
format [start_channel, value]
. The first entry specifies
the first channel ID the map applies to. So in the
example, the host for channels 0-399 is “192.168.0.1”,
while the host for channels 400-799 is “192.168.0.2” and
so forth.
A minor extension applies to the port map, where every map
entry is given as [start_channel, start_value,
increment]
. The true value for a channel is given from
the applicable map entry by:
value = start_value + (channel - start_channel) * increment
So in the example, channels 0-399 should be sent to host
“192.168.0.1” at ports 9000-9399, and channels 400-799 to
host “192.168.0.2” at ports 9000-9399. If we had said
"port": [[0, 9000, 0]
all packets would be sent to the
same port. Equally "port": [[0, 9000, 2]
would indicate
spacing the ports out by steps of 2.
Unused channel IDs should be ignored. This especially applies to unused gaps and channel ID strides possibly resulting from averaging at CBF. This means that with an averaging degree of 2 (see channelAveragingMap in ADR-4), only every second channel ID would be used in the example above.
type |
object |
|
properties |
||
|
type |
string |
|
Set of beams |
|
type |
object |
|
properties |
||
|
Beam |
|
additionalProperties |
False |
|
additionalProperties |
False |
Beam receive addresses 0.5
Receive addresses associated with a certain beam
type |
object |
|
properties |
||
|
Destination host names (as channel map) Note that these are not currently guaranteed to be IP addresses, so a DNS resolution might be required. |
|
type |
array |
|
items |
||
|
Destination ports (as channel map) |
|
type |
array |
|
items |
||
|
Destination MAC addresses (as channel map) Likely not going to be used, downstream systems should use
ARP to determine the MAC address using |
|
type |
array |
|
default |
null |
|
items |
||
|
Type of beam configured. Beam identity is then given by the appropriate beam_id field. |
|
enum |
visibilities, pulsar search, pulsar timing, vlbi, transient buffer |
|
|
Identifies visibility beam Might get omitted for SKA Mid, as it is assumed to have only one visibility beam. |
|
type |
integer |
|
default |
null |
|
|
Identifies pulsar search beam |
|
type |
integer |
|
default |
null |
|
|
Identifies pulsar timing beam |
|
type |
integer |
|
default |
null |
|
|
Identifies very long baseline interferometry beam |
|
type |
integer |
|
default |
null |
|
|
Identifies search window for transient data capture |
|
type |
integer |
|
default |
null |
|
|
Tango FQDNs serving real-time calibration Jones matrices for CBF |
|
type |
array |
|
default |
null |
|
items |
||
|
Tango FQDNs serving pointing calibration offsets for TMC |
|
type |
string |
|
default |
null |
|
|
Tango FQDNs serving gain/ delay calibration solutions for TMC |
|
type |
string |
|
default |
null |
|
additionalProperties |
False |
SDP receive addresses map 0.4
Example
{
"science": {
"vis0": {
"function": "visibilities",
"host": [
[0, "192.168.0.1"],
[400, "192.168.0.2"],
[744, "192.168.0.3"],
[1144, "192.168.0.4"]
],
"port": [
[0, 9000, 1],
[400, 9000, 1],
[744, 9000, 1],
[1144, 9000, 1]
],
"mac": [
[0, "06-00-00-00-00-00"],
[744, "06-00-00-00-00-01"]
],
"delay_cal": [
[0, "low-sdp/telstate/rcal0/delay0"],
[400, "low-sdp/telstate/rcal0/delay1"],
[744, "low-sdp/telstate/rcal0/delay2"],
[1144, "low-sdp/telstate/rcal0/delay2"]
]
},
"pss1": {
"function": "pulsar search",
"search_beam_id": 1,
"host": [
[0, "192.168.60.0"]
],
"port": [
[0, 8000]
],
"jones_cal": [
[0, "low-sdp/telstate/rcal0/jones0"],
[400, "low-sdp/telstate/rcal0/jones1"],
[744, "low-sdp/telstate/rcal0/jones2"],
[1144, "low-sdp/telstate/rcal0/jones2"]
]
},
"pss2": {
"function": "pulsar search",
"search_beam_id": 2,
"host": [
[0, "192.168.60.1"]
],
"port": [
[0, 8000]
],
"jones_cal": [
[0, "low-sdp/telstate/rcal0/jones0"],
[400, "low-sdp/telstate/rcal0/jones1"],
[744, "low-sdp/telstate/rcal0/jones2"],
[1144, "low-sdp/telstate/rcal0/jones2"]
]
},
"pst1": {
"function": "pulsar timing",
"timing_beam_id": 1,
"host": [
[0, "192.168.60.2"]
],
"port": [
[0, 8001]
],
"jones_cal": [
[0, "low-sdp/telstate/rcal0/jones0"],
[400, "low-sdp/telstate/rcal0/jones1"],
[744, "low-sdp/telstate/rcal0/jones2"],
[1144, "low-sdp/telstate/rcal0/jones2"]
]
},
"pst2": {
"function": "pulsar timing",
"timing_beam_id": 2,
"host": [
[0, "192.168.60.3"]
],
"port": [
[0, 8002]
],
"jones_cal": [
[0, "low-sdp/telstate/rcal0/jones0"],
[400, "low-sdp/telstate/rcal0/jones1"],
[744, "low-sdp/telstate/rcal0/jones2"],
[1144, "low-sdp/telstate/rcal0/jones2"]
]
}
},
"calibration": {
"vis0": {
"function": "visibilities",
"host": [
[0, "192.168.1.1"]
],
"port": [
[0, 9000, 1]
],
"delay_cal": [
[0, "low-sdp/telstate/rcal0/delay0"]
]
},
"pss1": {
"function": "pulsar search",
"search_beam_id": 1,
"host": [
[0, "192.168.60.0"]
],
"port": [
[0, 8003]
],
"jones_cal": [
[0, "low-sdp/telstate/rcal0/jones0"]
]
},
"pss2": {
"function": "pulsar search",
"search_beam_id": 2,
"host": [
[0, "192.168.60.1"]
],
"port": [
[0, 8002]
],
"jones_cal": [
[0, "low-sdp/telstate/rcal0/jones0"]
]
},
"pst1": {
"function": "pulsar timing",
"timing_beam_id": 0,
"host": [
[0, "192.168.60.2"]
],
"port": [
[0, 8001]
],
"jones_cal": [
[0, "low-sdp/telstate/rcal0/jones0"]
]
},
"pst2": {
"function": "pulsar timing",
"timing_beam_id": 1,
"host": [
[0, "192.168.60.3"]
],
"port": [
[0, 8000]
],
"jones_cal": [
[0, "low-sdp/telstate/rcal0/jones0"]
]
}
}
}
Provides information about receive node addresses to use for ingesting measurement data to SDP (such as visibility SPEAD streams).
Receive addresses consists of a map of scan type to a
receive address map. This address map must be set once the
SDP subarray finishes the transition following
AssignResources
(i.e. IDLE following the current
state of ADR-8). TMC will then check SDP’s subarray
receiveAddresses
attribute when preparing to configure
elements for a certain scan type.
Note that this has been changed to use the more compact
channel map format defined in ADR-4. The general idea
still applies: A map is given as a list, each entry of the
format [start_channel, value]
. The first entry specifies
the first channel ID the map applies to. So in the
example, the host for channels 0-399 is “192.168.0.1”,
while the host for channels 400-799 is “192.168.0.2” and
so forth.
A minor extension applies to the port map, where every map
entry is given as [start_channel, start_value,
increment]
. The true value for a channel is given from
the applicable map entry by:
value = start_value + (channel - start_channel) * increment
So in the example, channels 0-399 should be sent to host
“192.168.0.1” at ports 9000-9399, and channels 400-799 to
host “192.168.0.2” at ports 9000-9399. If we had said
"port": [[0, 9000, 0]
all packets would be sent to the
same port. Equally "port": [[0, 9000, 2]
would indicate
spacing the ports out by steps of 2.
Unused channel IDs should be ignored. This especially applies to unused gaps and channel ID strides possibly resulting from averaging at CBF. This means that with an averaging degree of 2 (see channelAveragingMap in ADR-4), only every second channel ID would be used in the example above.
type |
object |
|
properties |
||
|
type |
string |
|
Set of beams |
|
type |
object |
|
properties |
||
|
Beam |
|
additionalProperties |
False |
|
additionalProperties |
False |
Beam receive addresses 0.4
Receive addresses associated with a certain beam
type |
object |
|
properties |
||
|
Destination host names (as channel map) Note that these are not currently guaranteed to be IP addresses, so a DNS resolution might be required. |
|
type |
array |
|
items |
||
|
Destination ports (as channel map) |
|
type |
array |
|
items |
||
|
Destination MAC addresses (as channel map) Likely not going to be used, downstream systems should use
ARP to determine the MAC address using |
|
type |
array |
|
default |
null |
|
items |
||
|
Type of beam configured. Beam identity is then given by the appropriate beam_id field. |
|
enum |
visibilities, pulsar search, pulsar timing, vlbi, transient buffer |
|
|
Identifies visibility beam Might get omitted for SKA Mid, as it is assumed to have only one visibility beam. |
|
type |
integer |
|
default |
null |
|
|
Identifies pulsar search beam |
|
type |
integer |
|
default |
null |
|
|
Identifies pulsar timing beam |
|
type |
integer |
|
default |
null |
|
|
Identifies very long baseline interferometry beam |
|
type |
integer |
|
default |
null |
|
|
Identifies search window for transient data capture |
|
type |
integer |
|
default |
null |
|
|
Tango FQDNs serving real-time calibration Jones matrices for CBF |
|
type |
array |
|
default |
null |
|
items |
||
|
Tango FQDNs serving gain/ delay calibration solutions for TMC |
|
type |
array |
|
default |
null |
|
items |
||
additionalProperties |
False |
SDP receive addresses map 0.3
Example
{
"science": {
"host": [
[0, "192.168.0.1"],
[400, "192.168.0.2"],
[744, "192.168.0.3"],
[1144, "192.168.0.4"]
],
"mac": [
[0, "06-00-00-00-00-00"],
[744, "06-00-00-00-00-01"]
],
"port": [
[0, 9000, 1],
[400, 9000, 1],
[744, 9000, 1],
[1144, 9000, 1]
]
},
"calibration": {
"host": [
[0, "192.168.1.1"]
],
"port": [
[0, 9000, 1]
]
}
}
Provides information about receive node addresses to use for ingesting measurement data to SDP (such as visibility SPEAD streams).
Receive addresses consists of a map of scan type to a
receive address map. This address map must be set once the
SDP subarray finishes the transition following
AssignResources
(i.e. IDLE following the current
state of ADR-8). TMC will then check SDP’s subarray
receiveAddresses
attribute when preparing to configure
elements for a certain scan type.
Note that this has been changed to use the more compact
channel map format defined in ADR-4. The general idea
still applies: A map is given as a list, each entry of the
format [start_channel, value]
. The first entry specifies
the first channel ID the map applies to. So in the
example, the host for channels 0-399 is “192.168.0.1”,
while the host for channels 400-799 is “192.168.0.2” and
so forth.
A minor extension applies to the port map, where every map
entry is given as [start_channel, start_value,
increment]
. The true value for a channel is given from
the applicable map entry by:
value = start_value + (channel - start_channel) * increment
So in the example, channels 0-399 should be sent to host
“192.168.0.1” at ports 9000-9399, and channels 400-799 to
host “192.168.0.2” at ports 9000-9399. If we had said
"port": [[0, 9000, 0]
all packets would be sent to the
same port. Equally "port": [[0, 9000, 2]
would indicate
spacing the ports out by steps of 2.
Unused channel IDs should be ignored. This especially applies to unused gaps and channel ID strides possibly resulting from averaging at CBF. This means that with an averaging degree of 2 (see channelAveragingMap in ADR-4), only every second channel ID would be used in the example above.
type |
object |
||
properties |
|||
|
type |
string |
|
|
type |
object |
|
properties |
|||
|
Destination host names (as channel map) Note that these are not currently guaranteed to be IP addresses, so a DNS resolution might be required. |
||
type |
array |
||
items |
|||
|
Destination MAC addresses (as channel map) Likely not going to be used, downstream systems should use
ARP to determine the MAC address using |
||
type |
array |
||
items |
|||
|
Destination ports (as channel map) |
||
type |
array |
||
items |
|||
additionalProperties |
True |
||
additionalProperties |
False |
SDP receive addresses map 0.2
Example
{
"science": {
"host": [
[0, "192.168.0.1"],
[400, "192.168.0.2"],
[744, "192.168.0.3"],
[1144, "192.168.0.4"]
],
"mac": [
[0, "06-00-00-00-00-00"],
[744, "06-00-00-00-00-01"]
],
"port": [
[0, 9000, 1],
[400, 9000, 1],
[744, 9000, 1],
[1144, 9000, 1]
]
},
"calibration": {
"host": [
[0, "192.168.1.1"]
],
"port": [
[0, 9000, 1]
]
}
}
Provides information about receive node addresses to use for ingesting measurement data to SDP (such as visibility SPEAD streams).
Receive addresses consists of a map of scan type to a
receive address map. This address map must be set once the
SDP subarray finishes the transition following
AssignResources
(i.e. IDLE following the current
state of ADR-8). TMC will then check SDP’s subarray
receiveAddresses
attribute when preparing to configure
elements for a certain scan type.
Note that this has been changed to use the more compact
channel map format defined in ADR-4. The general idea
still applies: A map is given as a list, each entry of the
format [start_channel, value]
. The first entry specifies
the first channel ID the map applies to. So in the
example, the host for channels 0-399 is “192.168.0.1”,
while the host for channels 400-799 is “192.168.0.2” and
so forth.
A minor extension applies to the port map, where every map
entry is given as [start_channel, start_value,
increment]
. The true value for a channel is given from
the applicable map entry by:
value = start_value + (channel - start_channel) * increment
So in the example, channels 0-399 should be sent to host
“192.168.0.1” at ports 9000-9399, and channels 400-799 to
host “192.168.0.2” at ports 9000-9399. If we had said
"port": [[0, 9000, 0]
all packets would be sent to the
same port. Equally "port": [[0, 9000, 2]
would indicate
spacing the ports out by steps of 2.
Unused channel IDs should be ignored. This especially applies to unused gaps and channel ID strides possibly resulting from averaging at CBF. This means that with an averaging degree of 2 (see channelAveragingMap in ADR-4), only every second channel ID would be used in the example above.
type |
object |
||
properties |
|||
|
type |
string |
|
|
type |
object |
|
properties |
|||
|
Destination host names (as channel map) Note that these are not currently guaranteed to be IP addresses, so a DNS resolution might be required. |
||
type |
array |
||
items |
|||
|
Destination MAC addresses (as channel map) Likely not going to be used, downstream systems should use
ARP to determine the MAC address using |
||
type |
array |
||
items |
|||
|
Destination ports (as channel map) |
||
type |
array |
||
items |
|||
additionalProperties |
True |
||
additionalProperties |
False |
SDP receive addresses 0.1
Example
{
"scanId": 1,
"totalChannels": 7,
"receiveAddresses": [{
"phaseBinId": 0,
"fspId": 1,
"hosts": [{
"host": "192.168.0.0",
"channels": [{
"portOffset": 9153,
"startChannel": 153,
"numChannels": 1
}, {
"portOffset": 9273,
"startChannel": 273,
"numChannels": 1
}, {
"portOffset": 9313,
"startChannel": 313,
"numChannels": 1
}, {
"portOffset": 9529,
"startChannel": 529,
"numChannels": 1
}, {
"portOffset": 9665,
"startChannel": 665,
"numChannels": 1
}, {
"portOffset": 9681,
"startChannel": 681,
"numChannels": 2
}]
}]
}]
}
type |
object |
|||||||
properties |
||||||||
|
type |
string |
||||||
|
type |
integer |
||||||
|
type |
integer |
||||||
|
type |
array |
||||||
items |
type |
object |
||||||
properties |
||||||||
|
type |
integer |
||||||
|
type |
integer |
||||||
|
type |
array |
||||||
items |
type |
object |
||||||
properties |
||||||||
|
type |
string |
||||||
|
type |
array |
||||||
items |
type |
object |
||||||
properties |
||||||||
|
type |
integer |
||||||
|
type |
integer |
||||||
|
type |
integer |
||||||
additionalProperties |
True |
|||||||
additionalProperties |
True |
|||||||
additionalProperties |
True |
|||||||
additionalProperties |
False |
SDP receive addresses 0.0
type |
object |
|||||||
properties |
||||||||
|
type |
string |
||||||
|
type |
integer |
||||||
|
type |
integer |
||||||
|
type |
array |
||||||
items |
type |
object |
||||||
properties |
||||||||
|
type |
integer |
||||||
|
type |
integer |
||||||
|
type |
array |
||||||
items |
type |
object |
||||||
properties |
||||||||
|
type |
string |
||||||
|
type |
array |
||||||
items |
type |
object |
||||||
properties |
||||||||
|
type |
integer |
||||||
|
type |
integer |
||||||
|
type |
integer |
||||||
additionalProperties |
True |
|||||||
additionalProperties |
True |
|||||||
additionalProperties |
True |
|||||||
additionalProperties |
False |
ska-sdp-releaseres
SDP release resources 0.4
Example
{
"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
}
}
Used for releasing resources for an SDP subarray.
type |
object |
||||
properties |
|||||
|
type |
string |
|||
default |
null |
||||
|
type |
string |
|||
pattern |
^txn\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
||||
default |
null |
||||
|
type |
object |
|||
properties |
|||||
|
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 |
||||
additionalProperties |
False |
Telescope Manager Control schemas
ska-low-tmc-assignresources
Low TMC assign resources 3.2
Example JSON.
{
"interface": "https://schema.skao.int/ska-low-tmc-assignresources/3.2",
"transaction_id": "txn-....-00001",
"subarray_id": 1,
"mccs": {
"subarray_beam_ids": [1],
"station_ids": [
[1, 2]
],
"channel_blocks": [3]
},
"sdp": {
"interface": "https://schema.skao.int/ska-sdp-assignres/0.4",
"resources": {
"receptors": ["SKA001", "SKA002", "SKA003", "SKA004"]
},
"execution_block": {
"eb_id": "eb-test-20220916-00000",
"context": {},
"max_length": 3600.0,
"beams": [{
"beam_id": "vis0",
"function": "visibilities"
}],
"scan_types": [{
"scan_type_id": ".default",
"beams": {
"vis0": {
"channels_id": "vis_channels",
"polarisations_id": "all"
}
}
}, {
"scan_type_id": "target:a",
"derive_from": ".default",
"beams": {
"vis0": {
"field_id": "field_a"
}
}
}, {
"scan_type_id": "calibration:b",
"derive_from": ".default",
"beams": {
"vis0": {
"field_id": "field_b"
}
}
}],
"channels": [{
"channels_id": "vis_channels",
"spectral_windows": [{
"spectral_window_id": "fsp_1_channels",
"count": 4,
"start": 0,
"stride": 2,
"freq_min": 350000000.0,
"freq_max": 368000000.0,
"link_map": [
[0, 0],
[200, 1],
[744, 2],
[944, 3]
]
}]
}],
"polarisations": [{
"polarisations_id": "all",
"corr_type": ["XX", "XY", "YX", "YY"]
}],
"fields": [{
"field_id": "field_a",
"phase_dir": {
"ra": [123.0],
"dec": [-60.0],
"reference_time": "...",
"reference_frame": "ICRF3"
},
"pointing_fqdn": "..."
}, {
"field_id": "field_b",
"phase_dir": {
"ra": [123.0],
"dec": [-60.0],
"reference_time": "...",
"reference_frame": "ICRF3"
},
"pointing_fqdn": "..."
}]
},
"processing_blocks": [{
"pb_id": "pb-test-20220916-00000",
"script": {
"kind": "realtime",
"name": "test-receive-addresses",
"version": "0.5.0"
},
"sbi_ids": ["sbi-test-20220916-00000"],
"parameters": {}
}]
}
}
type |
object |
|||||
properties |
||||||
|
URI of JSON schema applicable to this JSON payload. |
|||||
type |
string |
|||||
|
A transaction id specific to the command |
|||||
type |
string |
|||||
default |
null |
|||||
|
ID of sub-array targeted by this resource allocation request |
|||||
type |
integer |
|||||
|
MCCS specification for resource allocation. |
|||||
type |
object |
|||||
properties |
||||||
|
IDs of the MCCS sub-array beams to allocate to this subarray. Each ID must be between 1 and 48, the maximum number of sub-array beams. As of PI10, only one MCCS sub-array beam can be configured per allocation request. Multiple beams must be allocated via multiple allocation requests. |
|||||
type |
array |
|||||
items |
type |
integer |
||||
|
IDs of MCCS stations to allocate to this sub-array beam. Each ID must be between 1 and 512, the maximum number of stations. |
|||||
type |
array |
|||||
items |
type |
array |
||||
items |
type |
integer |
||||
|
Number of channel blocks to allocate to this sub-array beam. Maximum number of channel blocks = 48. |
|||||
type |
array |
|||||
items |
type |
integer |
||||
additionalProperties |
False |
|||||
|
SDP configuration specification |
|||||
type |
object |
|||||
properties |
||||||
|
type |
string |
||||
default |
null |
|||||
|
type |
string |
||||
pattern |
^txn\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
|||||
default |
null |
|||||
|
Execution block |
|||||
default |
null |
|||||
|
External resources |
|||||
type |
object |
|||||
default |
null |
|||||
properties |
||||||
|
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 |
|||||
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. |
|||||
additionalProperties |
False |
|||||
additionalProperties |
False |
Execution block 0.4
type |
object |
||||
properties |
|||||
|
type |
string |
|||
pattern |
^eb\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
||||
|
type |
number |
|||
|
Free-form information from OET, see ADR-54 |
||||
|
Beam parameters |
||||
type |
array |
||||
items |
Beam parameters for the purpose of the Science Data Processor. |
||||
|
Scan types. Associates scans with per-beam fields & channel configurations |
||||
type |
array |
||||
items |
type |
object |
|||
properties |
|||||
|
type |
string |
|||
|
type |
string |
|||
|
type |
object |
|||
additionalProperties |
False |
||||
|
Channels |
||||
type |
array |
||||
items |
Spectral windows per channel configuration. |
||||
|
Polarisation definitions |
||||
type |
array |
||||
items |
Polarisation definition. |
||||
type |
object |
||||
properties |
|||||
|
type |
string |
|||
|
type |
array |
|||
items |
type |
string |
|||
additionalProperties |
False |
||||
|
Fields / targets |
||||
type |
array |
||||
items |
Fields / Targets |
||||
type |
object |
||||
properties |
|||||
|
type |
string |
|||
|
Phase direction |
||||
type |
object |
||||
properties |
|||||
|
type |
array |
|||
items |
|||||
|
type |
array |
|||
items |
|||||
|
type |
string |
|||
|
const |
ICRF3 |
|||
additionalProperties |
False |
||||
|
type |
string |
|||
additionalProperties |
False |
||||
additionalProperties |
False |
Beam 0.4
Beam parameters for the purpose of the Science Data Processor.
type |
object |
|
properties |
||
|
Name to identify the beam within the SDP configuration. |
|
type |
string |
|
|
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:
|
|
enum |
visibilities, pulsar search, pulsar timing, vlbi, transient buffer |
|
|
type |
integer |
default |
null |
|
|
type |
integer |
default |
null |
|
|
type |
integer |
default |
null |
|
additionalProperties |
False |
Scan channels 0.4
Spectral windows per channel configuration.
type |
object |
|||
properties |
||||
|
||||
|
type |
array |
||
items |
type |
object |
||
properties |
||||
|
||||
|
Number of channels |
|||
type |
integer |
|||
|
First channel ID |
|||
type |
integer |
|||
|
Distance between subsequent channel IDs |
|||
type |
integer |
|||
default |
null |
|||
|
Lower bound of first channel |
|||
type |
number |
|||
|
Upper bound of last channel |
|||
type |
number |
|||
|
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 |
|||||
|
Unique identifier for this processing block. |
||||
type |
string |
||||
pattern |
^pb\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
||||
|
Specification of the workflow to be executed along with configuration parameters for the workflow. |
||||
type |
object |
||||
properties |
|||||
|
The kind of processing script (realtime or batch) |
||||
allOf |
type |
string |
|||
enum |
realtime, batch |
||||
|
The name of the processing script |
||||
type |
string |
||||
|
Version of the processing script. Uses semantic versioning. |
||||
type |
string |
||||
additionalProperties |
False |
||||
|
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 |
||||
|
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
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 |
|||||
|
type |
string |
|||
pattern |
^pb\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
||||
|
type |
array |
|||
items |
type |
string |
|||
additionalProperties |
False |
||||
|
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 |
Low TMC assign resources 3.1
Example JSON.
{
"interface": "https://schema.skao.int/ska-low-tmc-assignresources/3.1",
"transaction_id": "txn-....-00001",
"subarray_id": 1,
"mccs": {
"subarray_beam_ids": [1],
"station_ids": [
[1, 2]
],
"channel_blocks": [3]
},
"sdp": {
"interface": "https://schema.skao.int/ska-sdp-assignres/0.4",
"resources": {
"receptors": ["SKA001", "SKA002"]
},
"execution_block": {
"eb_id": "eb-test-20220916-00000",
"context": {},
"max_length": 3600.0,
"beams": [{
"beam_id": "vis0",
"function": "visibilities"
}],
"scan_types": [{
"scan_type_id": ".default",
"beams": {
"vis0": {
"channels_id": "vis_channels",
"polarisations_id": "all"
}
}
}, {
"scan_type_id": "target:a",
"derive_from": ".default",
"beams": {
"vis0": {
"field_id": "field_a"
}
}
}, {
"scan_type_id": "calibration:b",
"derive_from": ".default",
"beams": {
"vis0": {
"field_id": "field_b"
}
}
}],
"channels": [{
"channels_id": "vis_channels",
"spectral_windows": [{
"spectral_window_id": "fsp_1_channels",
"count": 4,
"start": 0,
"stride": 2,
"freq_min": 350000000.0,
"freq_max": 368000000.0,
"link_map": [
[0, 0],
[200, 1],
[744, 2],
[944, 3]
]
}]
}],
"polarisations": [{
"polarisations_id": "all",
"corr_type": ["XX", "XY", "YX", "YY"]
}],
"fields": [{
"field_id": "field_a",
"phase_dir": {
"ra": [123.0],
"dec": [-60.0],
"reference_time": "...",
"reference_frame": "ICRF3"
},
"pointing_fqdn": "..."
}, {
"field_id": "field_b",
"phase_dir": {
"ra": [123.0],
"dec": [-60.0],
"reference_time": "...",
"reference_frame": "ICRF3"
},
"pointing_fqdn": "..."
}]
},
"processing_blocks": [{
"pb_id": "pb-test-20220916-00000",
"script": {
"kind": "realtime",
"name": "test-receive-addresses",
"version": "0.5.0"
},
"sbi_ids": ["sbi-test-20220916-00000"],
"parameters": {}
}]
}
}
type |
object |
|||||
properties |
||||||
|
URI of JSON schema applicable to this JSON payload. |
|||||
type |
string |
|||||
|
A transaction id specific to the command |
|||||
type |
string |
|||||
default |
null |
|||||
|
ID of sub-array targeted by this resource allocation request |
|||||
type |
integer |
|||||
|
MCCS specification for resource allocation. |
|||||
type |
object |
|||||
properties |
||||||
|
IDs of the MCCS sub-array beams to allocate to this subarray. Each ID must be between 1 and 48, the maximum number of sub-array beams. As of PI10, only one MCCS sub-array beam can be configured per allocation request. Multiple beams must be allocated via multiple allocation requests. |
|||||
type |
array |
|||||
items |
type |
integer |
||||
|
IDs of MCCS stations to allocate to this sub-array beam. Each ID must be between 1 and 512, the maximum number of stations. |
|||||
type |
array |
|||||
items |
type |
array |
||||
items |
type |
integer |
||||
|
Number of channel blocks to allocate to this sub-array beam. Maximum number of channel blocks = 48. |
|||||
type |
array |
|||||
items |
type |
integer |
||||
additionalProperties |
False |
|||||
|
SDP configuration specification |
|||||
type |
object |
|||||
properties |
||||||
|
type |
string |
||||
default |
null |
|||||
|
type |
string |
||||
pattern |
^txn\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
|||||
default |
null |
|||||
|
Execution block |
|||||
default |
null |
|||||
|
External resources |
|||||
type |
object |
|||||
default |
null |
|||||
properties |
||||||
|
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 |
|||||
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. |
|||||
additionalProperties |
False |
|||||
additionalProperties |
False |
Execution block 0.4
type |
object |
||||
properties |
|||||
|
type |
string |
|||
pattern |
^eb\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
||||
|
type |
number |
|||
|
Free-form information from OET, see ADR-54 |
||||
|
Beam parameters |
||||
type |
array |
||||
items |
Beam parameters for the purpose of the Science Data Processor. |
||||
|
Scan types. Associates scans with per-beam fields & channel configurations |
||||
type |
array |
||||
items |
type |
object |
|||
properties |
|||||
|
type |
string |
|||
|
type |
string |
|||
|
type |
object |
|||
additionalProperties |
False |
||||
|
Channels |
||||
type |
array |
||||
items |
Spectral windows per channel configuration. |
||||
|
Polarisation definitions |
||||
type |
array |
||||
items |
Polarisation definition. |
||||
type |
object |
||||
properties |
|||||
|
type |
string |
|||
|
type |
array |
|||
items |
type |
string |
|||
additionalProperties |
False |
||||
|
Fields / targets |
||||
type |
array |
||||
items |
Fields / Targets |
||||
type |
object |
||||
properties |
|||||
|
type |
string |
|||
|
Phase direction |
||||
type |
object |
||||
properties |
|||||
|
type |
array |
|||
items |
|||||
|
type |
array |
|||
items |
|||||
|
type |
string |
|||
|
const |
ICRF3 |
|||
additionalProperties |
False |
||||
|
type |
string |
|||
additionalProperties |
False |
||||
additionalProperties |
False |
Beam 0.4
Beam parameters for the purpose of the Science Data Processor.
type |
object |
|
properties |
||
|
Name to identify the beam within the SDP configuration. |
|
type |
string |
|
|
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:
|
|
enum |
visibilities, pulsar search, pulsar timing, vlbi, transient buffer |
|
|
type |
integer |
default |
null |
|
|
type |
integer |
default |
null |
|
|
type |
integer |
default |
null |
|
additionalProperties |
False |
Scan channels 0.4
Spectral windows per channel configuration.
type |
object |
|||
properties |
||||
|
||||
|
type |
array |
||
items |
type |
object |
||
properties |
||||
|
||||
|
Number of channels |
|||
type |
integer |
|||
|
First channel ID |
|||
type |
integer |
|||
|
Distance between subsequent channel IDs |
|||
type |
integer |
|||
default |
null |
|||
|
Lower bound of first channel |
|||
type |
number |
|||
|
Upper bound of last channel |
|||
type |
number |
|||
|
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 |
|||||
|
Unique identifier for this processing block. |
||||
type |
string |
||||
pattern |
^pb\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
||||
|
Specification of the workflow to be executed along with configuration parameters for the workflow. |
||||
type |
object |
||||
properties |
|||||
|
The kind of processing script (realtime or batch) |
||||
allOf |
type |
string |
|||
enum |
realtime, batch |
||||
|
The name of the processing script |
||||
type |
string |
||||
|
Version of the processing script. Uses semantic versioning. |
||||
type |
string |
||||
additionalProperties |
False |
||||
|
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 |
||||
|
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
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 |
|||||
|
type |
string |
|||
pattern |
^pb\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
||||
|
type |
array |
|||
items |
type |
string |
|||
additionalProperties |
False |
||||
|
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 |
Low TMC assign resources 3.0
Example JSON.
{
"interface": "https://schema.skao.int/ska-low-tmc-assignresources/3.0",
"transaction_id": "txn-....-00001",
"subarray_id": 1,
"mccs": {
"subarray_beam_ids": [1],
"station_ids": [
[1, 2]
],
"channel_blocks": [3]
},
"sdp": {
"interface": "https://schema.skao.int/ska-sdp-assignres/0.4",
"resources": {
"receptors": ["SKA001", "SKA002", "SKA003", "SKA004"]
},
"execution_block": {
"eb_id": "eb-test-20220916-00000",
"context": {},
"max_length": 3600.0,
"beams": [{
"beam_id": "vis0",
"function": "visibilities"
}],
"scan_types": [{
"scan_type_id": ".default",
"beams": {
"vis0": {
"channels_id": "vis_channels",
"polarisations_id": "all"
}
}
}, {
"scan_type_id": "target:a",
"derive_from": ".default",
"beams": {
"vis0": {
"field_id": "field_a"
}
}
}, {
"scan_type_id": "calibration:b",
"derive_from": ".default",
"beams": {
"vis0": {
"field_id": "field_b"
}
}
}],
"channels": [{
"channels_id": "vis_channels",
"spectral_windows": [{
"spectral_window_id": "fsp_1_channels",
"count": 4,
"start": 0,
"stride": 2,
"freq_min": 350000000.0,
"freq_max": 368000000.0,
"link_map": [
[0, 0],
[200, 1],
[744, 2],
[944, 3]
]
}]
}],
"polarisations": [{
"polarisations_id": "all",
"corr_type": ["XX", "XY", "YX", "YY"]
}],
"fields": [{
"field_id": "field_a",
"phase_dir": {
"ra": [123.0],
"dec": [-60.0],
"reference_time": "...",
"reference_frame": "ICRF3"
},
"pointing_fqdn": "..."
}, {
"field_id": "field_b",
"phase_dir": {
"ra": [123.0],
"dec": [-60.0],
"reference_time": "...",
"reference_frame": "ICRF3"
},
"pointing_fqdn": "..."
}]
},
"processing_blocks": [{
"pb_id": "pb-test-20220916-00000",
"script": {
"kind": "realtime",
"name": "test-receive-addresses",
"version": "0.6.1"
},
"sbi_ids": ["sbi-test-20220916-00000"],
"parameters": {
"time-to-ready": 5
}
}]
},
"csp": {
"interface": "https://schema.skao.int/ska-low-csp-assignresources/2.0",
"common": {
"subarray_id": 1
},
"lowcbf": {
"resources": [{
"device": "fsp_01",
"shared": true,
"fw_image": "pst",
"fw_mode": "unused"
}, {
"device": "p4_01",
"shared": true,
"fw_image": "p4.bin",
"fw_mode": "p4"
}]
}
}
}
type |
object |
|||||
properties |
||||||
|
URI of JSON schema applicable to this JSON payload. |
|||||
type |
string |
|||||
|
A transaction id specific to the command |
|||||
type |
string |
|||||
default |
null |
|||||
|
ID of sub-array targeted by this resource allocation request |
|||||
type |
integer |
|||||
|
MCCS specification for resource allocation. |
|||||
type |
object |
|||||
properties |
||||||
|
IDs of the MCCS sub-array beams to allocate to this subarray. Each ID must be between 1 and 48, the maximum number of sub-array beams. As of PI10, only one MCCS sub-array beam can be configured per allocation request. Multiple beams must be allocated via multiple allocation requests. |
|||||
type |
array |
|||||
items |
type |
integer |
||||
|
IDs of MCCS stations to allocate to this sub-array beam. Each ID must be between 1 and 512, the maximum number of stations. |
|||||
type |
array |
|||||
items |
type |
array |
||||
items |
type |
integer |
||||
|
Number of channel blocks to allocate to this sub-array beam. Maximum number of channel blocks = 48. |
|||||
type |
array |
|||||
items |
type |
integer |
||||
additionalProperties |
False |
|||||
|
SDP configuration specification |
|||||
type |
object |
|||||
properties |
||||||
|
type |
string |
||||
default |
null |
|||||
|
type |
string |
||||
pattern |
^txn\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
|||||
default |
null |
|||||
|
Execution block |
|||||
default |
null |
|||||
|
External resources |
|||||
type |
object |
|||||
default |
null |
|||||
properties |
||||||
|
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 |
|||||
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. |
|||||
additionalProperties |
False |
|||||
|
CSP configuration specification |
|||||
type |
object |
|||||
default |
null |
|||||
properties |
||||||
|
URI of JSON schema for this command’s JSON payload. |
|||||
type |
string |
|||||
|
LOWCSP subarray id arguments |
|||||
type |
object |
|||||
properties |
||||||
|
subarray id |
|||||
type |
integer |
|||||
additionalProperties |
False |
|||||
|
Low CBF resources |
|||||
type |
object |
|||||
properties |
||||||
|
array of LOWCBF resources |
|||||
type |
array |
|||||
items |
||||||
additionalProperties |
False |
|||||
|
Assign section for PST sub-system |
|||||
type |
object |
|||||
default |
null |
|||||
properties |
||||||
|
List of PST beam Ids to assign to the subarray. |
|||||
type |
array |
|||||
items |
type |
integer |
||||
additionalProperties |
False |
|||||
|
Assign section for PSS sub-system |
|||||
type |
object |
|||||
default |
null |
|||||
properties |
||||||
|
List of PSS beam Ids to assign to the subarray. |
|||||
type |
array |
|||||
items |
type |
integer |
||||
additionalProperties |
False |
|||||
additionalProperties |
False |
|||||
additionalProperties |
False |
Execution block 0.4
type |
object |
||||
properties |
|||||
|
type |
string |
|||
pattern |
^eb\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
||||
|
type |
number |
|||
|
Free-form information from OET, see ADR-54 |
||||
|
Beam parameters |
||||
type |
array |
||||
items |
Beam parameters for the purpose of the Science Data Processor. |
||||
|
Scan types. Associates scans with per-beam fields & channel configurations |
||||
type |
array |
||||
items |
type |
object |
|||
properties |
|||||
|
type |
string |
|||
|
type |
string |
|||
|
type |
object |
|||
additionalProperties |
False |
||||
|
Channels |
||||
type |
array |
||||
items |
Spectral windows per channel configuration. |
||||
|
Polarisation definitions |
||||
type |
array |
||||
items |
Polarisation definition. |
||||
type |
object |
||||
properties |
|||||
|
type |
string |
|||
|
type |
array |
|||
items |
type |
string |
|||
additionalProperties |
False |
||||
|
Fields / targets |
||||
type |
array |
||||
items |
Fields / Targets |
||||
type |
object |
||||
properties |
|||||
|
type |
string |
|||
|
Phase direction |
||||
type |
object |
||||
properties |
|||||
|
type |
array |
|||
items |
|||||
|
type |
array |
|||
items |
|||||
|
type |
string |
|||
|
const |
ICRF3 |
|||
additionalProperties |
False |
||||
|
type |
string |
|||
additionalProperties |
False |
||||
additionalProperties |
False |
Beam 0.4
Beam parameters for the purpose of the Science Data Processor.
type |
object |
|
properties |
||
|
Name to identify the beam within the SDP configuration. |
|
type |
string |
|
|
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:
|
|
enum |
visibilities, pulsar search, pulsar timing, vlbi, transient buffer |
|
|
type |
integer |
default |
null |
|
|
type |
integer |
default |
null |
|
|
type |
integer |
default |
null |
|
additionalProperties |
False |
Scan channels 0.4
Spectral windows per channel configuration.
type |
object |
|||
properties |
||||
|
||||
|
type |
array |
||
items |
type |
object |
||
properties |
||||
|
||||
|
Number of channels |
|||
type |
integer |
|||
|
First channel ID |
|||
type |
integer |
|||
|
Distance between subsequent channel IDs |
|||
type |
integer |
|||
default |
null |
|||
|
Lower bound of first channel |
|||
type |
number |
|||
|
Upper bound of last channel |
|||
type |
number |
|||
|
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 |
|||||
|
Unique identifier for this processing block. |
||||
type |
string |
||||
pattern |
^pb\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
||||
|
Specification of the workflow to be executed along with configuration parameters for the workflow. |
||||
type |
object |
||||
properties |
|||||
|
The kind of processing script (realtime or batch) |
||||
allOf |
type |
string |
|||
enum |
realtime, batch |
||||
|
The name of the processing script |
||||
type |
string |
||||
|
Version of the processing script. Uses semantic versioning. |
||||
type |
string |
||||
additionalProperties |
False |
||||
|
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 |
||||
|
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
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 |
|||||
|
type |
string |
|||
pattern |
^pb\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
||||
|
type |
array |
|||
items |
type |
string |
|||
additionalProperties |
False |
||||
|
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 |
LOWCBF resources 0.1
type |
object |
|
properties |
||
|
Name of FSP or P4 device |
|
type |
string |
|
|
Whether device is shared with other subarrays |
|
type |
boolean |
|
|
Name of firmware image to load on device |
|
type |
string |
|
default |
null |
|
|
Mode in which firmware runs |
|
type |
string |
|
default |
null |
|
additionalProperties |
False |
Low TMC assign resources 2.0
Example JSON.
{
"interface": "https://schema.skao.in/ska-low-tmc-assignresources/2.0",
"transaction_id": "txn-....-00001",
"subarray_id": 1,
"mccs": {
"subarray_beam_ids": [1],
"station_ids": [
[1, 2]
],
"channel_blocks": [3]
}
}
type |
object |
||||
properties |
|||||
|
URI of JSON schema applicable to this JSON payload. |
||||
type |
string |
||||
|
A transaction id specific to the command |
||||
type |
string |
||||
default |
null |
||||
|
ID of sub-array targeted by this resource allocation request |
||||
type |
integer |
||||
|
MCCS specification for resource allocation. |
||||
type |
object |
||||
properties |
|||||
|
IDs of the MCCS sub-array beams to allocate to this subarray. Each ID must be between 1 and 48, the maximum number of sub-array beams. As of PI10, only one MCCS sub-array beam can be configured per allocation request. Multiple beams must be allocated via multiple allocation requests. |
||||
type |
array |
||||
items |
type |
integer |
|||
|
IDs of MCCS stations to allocate to this sub-array beam. Each ID must be between 1 and 512, the maximum number of stations. |
||||
type |
array |
||||
items |
type |
array |
|||
items |
type |
integer |
|||
|
Number of channel blocks to allocate to this sub-array beam. Maximum number of channel blocks = 48. |
||||
type |
array |
||||
items |
type |
integer |
|||
additionalProperties |
False |
||||
additionalProperties |
False |
Low TMC assign resources 1.0
Example JSON.
{
"interface": "https://schema.skatelescope.org/ska-low-tmc-assignresources/1.0",
"subarray_id": 1,
"mccs": {
"subarray_beam_ids": [1],
"station_ids": [
[1, 2]
],
"channel_blocks": [3]
}
}
https://schema.skatelescope.org/ska-low-tmc-assignresources/1.0 |
|||||
type |
object |
||||
properties |
|||||
|
URI of JSON schema applicable to this JSON payload. |
||||
type |
string |
||||
|
A transaction id specific to the command |
||||
type |
string |
||||
default |
null |
||||
|
ID of sub-array targeted by this resource allocation request |
||||
type |
integer |
||||
|
MCCS specification for resource allocation. |
||||
type |
object |
||||
properties |
|||||
|
IDs of the MCCS sub-array beams to allocate to this subarray. Each ID must be between 1 and 48, the maximum number of sub-array beams. As of PI10, only one MCCS sub-array beam can be configured per allocation request. Multiple beams must be allocated via multiple allocation requests. |
||||
type |
array |
||||
items |
type |
integer |
|||
|
IDs of MCCS stations to allocate to this sub-array beam. Each ID must be between 1 and 512, the maximum number of stations. |
||||
type |
array |
||||
items |
type |
array |
|||
items |
type |
integer |
|||
|
Number of channel blocks to allocate to this sub-array beam. Maximum number of channel blocks = 48. |
||||
type |
array |
||||
items |
type |
integer |
|||
additionalProperties |
False |
||||
additionalProperties |
False |
ska-low-tmc-configure
Low TMC configure 3.2
Example JSON.
{
"interface": "https://schema.skao.int/ska-low-tmc-configure/3.2",
"transaction_id": "txn-....-00001",
"mccs": {
"subarray_beams": [{
"subarray_beam_id": 1,
"update_rate": 0.0,
"logical_bands": [{
"start_channel": 80,
"number_of_channels": 16
}, {
"start_channel": 384,
"number_of_channels": 16
}],
"apertures": [{
"aperture_id": "AP001.01",
"weighting_key_ref": "aperture2"
}, {
"aperture_id": "AP001.02",
"weighting_key_ref": "aperture3"
}, {
"aperture_id": "AP002.01",
"weighting_key_ref": "aperture2"
}, {
"aperture_id": "AP002.02",
"weighting_key_ref": "aperture3"
}, {
"aperture_id": "AP003.01",
"weighting_key_ref": "aperture1"
}],
"sky_coordinates": {
"reference_frame": "ICRS",
"c1": 180.0,
"c2": 45.0
}
}]
},
"sdp": {
"interface": "https://schema.skao.int/ska-sdp-configure/0.4",
"scan_type": "science_A"
},
"csp": {
"interface": "https://schema.skao.int/ska-low-csp-configure/3.1",
"common": {
"config_id": "sbi-mvp01-20200325-00001-science_A"
},
"lowcbf": {
"stations": {
"stns": [
[1, 1],
[2, 1],
[3, 1],
[4, 1],
[5, 1],
[6, 1]
],
"stn_beams": [{
"beam_id": 1,
"freq_ids": [400]
}]
},
"vis": {
"fsp": {
"firmware": "vis",
"fsp_ids": [1]
},
"stn_beams": [{
"stn_beam_id": 1,
"integration_ms": 849
}]
}
}
},
"tmc": {
"scan_duration": 10.0
}
}
type |
object |
||||||
properties |
|||||||
|
URI of JSON schema applicable to this JSON payload. |
||||||
type |
string |
||||||
|
A transaction id specific to the command |
||||||
type |
string |
||||||
default |
null |
||||||
|
MCCS configuration specification. |
||||||
type |
object |
||||||
properties |
|||||||
|
MCCS sub-array beam configuration. |
||||||
type |
array |
||||||
items |
type |
object |
|||||
properties |
|||||||
|
ID of MCCS sub-array beam to configure. ID must be an integer between 1 and 48. |
||||||
type |
integer |
||||||
|
Update rate for pointing information. Value must be 0.0 or greater. TODO: clarify whether this is specified as a frequency or as a cadence, plus units. |
||||||
type |
number |
||||||
|
MCCS logical bands configuration. |
||||||
type |
array |
||||||
items |
type |
object |
|||||
properties |
|||||||
|
Channel block configurations. Constraints are: 2 < start channel < 504 |
||||||
type |
integer |
||||||
|
Channel block configurations. Constraints are: 8 < number_of_channels < 384 |
||||||
type |
integer |
||||||
additionalProperties |
False |
||||||
|
MCCS apertures configuration. |
||||||
type |
array |
||||||
items |
type |
object |
|||||
properties |
|||||||
|
Aperture ID configurations. Aperture ID, of the form APXXX.YY XXX=station YY=substation. |
||||||
type |
string |
||||||
|
Descriptive ID for the aperture weights in the aperture database. |
||||||
type |
string |
||||||
additionalProperties |
False |
||||||
|
type |
object |
|||||
properties |
|||||||
|
Must be one of: [“topocentric”, “ICRS”, “galactic”] |
||||||
type |
string |
||||||
|
c1 (number, required): first coordinate, RA or azimuth, in degrees. Minimum: 0.0. Maximum: 360.0 |
||||||
type |
number |
||||||
|
c2 (number, required): second coordinate, dec or elevation, in degrees. Minimum: -90.0. Maximum: 90.0 |
||||||
type |
number |
||||||
additionalProperties |
False |
||||||
additionalProperties |
False |
||||||
additionalProperties |
False |
||||||
|
CSP configuration specification. |
||||||
type |
object |
||||||
properties |
|||||||
|
URI of JSON schema for this command’sJSON payload.. |
||||||
type |
string |
||||||
|
Common section, containing the parameters and the sections belonging to all CSP subsystems. This section is forwarded to all sub-elements. |
||||||
|
Correlator and Beamformer specific parameters. This section contains the parameters relevant only for CBF sub-system. This section is forwarded only to CBF subelement. |
||||||
default |
null |
||||||
|
Section with parameters to configure the PSS sub-system |
||||||
default |
null |
||||||
|
Section with parameters to configure the PST sub-system. |
||||||
default |
null |
||||||
additionalProperties |
False |
||||||
|
SDP configuration specification. |
||||||
type |
object |
||||||
properties |
|||||||
|
URI of JSON schema for this command’sJSON payload.. |
||||||
type |
string |
||||||
|
Scan type string needed on SDP |
||||||
type |
string |
||||||
additionalProperties |
False |
||||||
|
TMC configuration specification. |
||||||
type |
object |
||||||
default |
null |
||||||
properties |
|||||||
|
Scan duration in seconds. Value must be >= 0.0 |
||||||
type |
number |
||||||
additionalProperties |
True |
||||||
additionalProperties |
False |
Common configuration schema 3.1
Common section, containing the parameters and the sections belonging to all CSP subsystems. This section is forwarded to all sub-elements.
type |
object |
|
properties |
||
|
type |
string |
default |
null |
|
|
Execution block ID to associate scan configs to an observation. This ID is used for associating generated data, especially data products, for a given observation. Multiple scans can be linked to one observation and this ID is used as metadata to associate the data products from all scans of the same observation. This ID does not have to be unique for a scan configuration but should be unique for different observations. For example, all the data and weights files will have an EB_ID header value populated with the value supplied in this field. |
|
type |
string |
|
pattern |
^eb\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
|
default |
null |
|
additionalProperties |
False |
LOWCBF subarray configurescan 0.2
Correlator and Beamformer specific parameters. This section contains the parameters relevant only for CBF sub-system. This section is forwarded only to CBF subelement.
type |
object |
||||
properties |
|||||
|
Subarray Stations and station beam inputdescriptions |
||||
|
PST beam outputs descriptions |
||||
default |
null |
||||
|
PSS beam outputs descriptions |
||||
type |
string |
||||
default |
null |
||||
|
Visibility output descriptions |
||||
type |
object |
||||
default |
null |
||||
properties |
|||||
|
FSPs used for correlation |
||||
type |
object |
||||
properties |
|||||
|
Firmware name |
||||
type |
string |
||||
default |
null |
||||
|
Firmware name |
||||
type |
string |
||||
|
List of IDs (integer) |
||||
type |
array |
||||
items |
type |
integer |
|||
additionalProperties |
False |
||||
|
SDP visibility destinations |
||||
type |
array |
||||
items |
|||||
additionalProperties |
False |
||||
|
Zoom visibility output descriptions |
||||
type |
string |
||||
default |
null |
||||
additionalProperties |
False |
Subarray stations and station beams 0.2
Station and station beams parameters
type |
object |
||||
properties |
|||||
|
type |
array |
|||
items |
type |
array |
|||
items |
type |
integer |
|||
|
type |
array |
|||
items |
type |
object |
|||
properties |
|||||
|
station beam id |
||||
type |
integer |
||||
default |
null |
||||
|
station beam id |
||||
type |
integer |
||||
|
list of station beam frequency ids |
||||
type |
array |
||||
items |
type |
integer |
|||
additionalProperties |
False |
||||
additionalProperties |
False |
outer 0.2
type |
object |
|||
properties |
||||
|
inner |
|||
type |
array |
|||
items |
||||
|
FSPs used by PST |
|||
type |
object |
|||
properties |
||||
|
Firmware name |
|||
type |
string |
|||
|
List of IDs (integer) |
|||
type |
array |
|||
items |
type |
integer |
||
additionalProperties |
False |
|||
additionalProperties |
False |
PST beams description 0.2
type |
object |
||
properties |
|||
|
Station beam ID for pst beamforming |
||
type |
integer |
||
|
PST beam ID |
||
type |
integer |
||
|
Jones matrix source URI |
||
type |
string |
||
|
weights for each station |
||
type |
array |
||
items |
type |
number |
|
|
Master enable for RFI flagging |
||
type |
array |
||
default |
null |
||
items |
type |
boolean |
|
|
Freqency IDs to be always flagged |
||
type |
array |
||
default |
null |
||
items |
type |
integer |
|
|
Frequency IDs to be dynamically flagged |
||
type |
array |
||
default |
null |
||
items |
type |
integer |
|
|
Parameter for dynamic flagging |
||
type |
number |
||
default |
null |
||
|
Delay polynomial source URI |
||
type |
string |
||
additionalProperties |
False |
Station beams to correlate 0.2
type |
object |
|
properties |
||
|
Station Beam ID |
|
type |
integer |
|
|
milliseconds integration |
|
type |
integer |
|
additionalProperties |
False |
PSS configuration 2.0
type |
object |
|
properties |
||
|
type |
string |
default |
null |
|
additionalProperties |
False |
LOW PST configure 2.5
Main configuration for the Low CSP Pulsar timing sub-system
type |
object |
|||
properties |
||||
|
List of PST Beams IDs to configure |
|||
type |
array |
|||
items |
Parameters to configure the PST sub-system |
|||
type |
object |
|||
properties |
||||
|
Configuration for a PST beam ID |
|||
type |
integer |
|||
|
Parameters to configure the scan |
|||
|
Parameter to configure the beam |
|||
default |
null |
|||
additionalProperties |
False |
|||
additionalProperties |
False |
PST scan configuration 2.5
Pulsar Timing specific scan configuration parameters.
type |
object |
|||
properties |
||||
|
Date and time when to start the PST reconfiguration. Units: UTC timestamp Keyword: ACTIVATION_TIME |
|||
type |
string |
|||
|
Identifier assigned by LMC/TM used to identify the beam configuraiton. PST selects which PST server to use for this scan and timing beam, and provides a mapping from the timing beam identifier by the TM to PST capability id. Keyword: BEAM |
|||
type |
string |
|||
default |
null |
|||
|
The number of bits per complex-values time sample in the CBF output data. Valid values are 16, 24, or 32. Keyword: NBIT |
|||
type |
integer |
|||
|
The number of polarizations in the CBF output data. Valid values are 1 or 2. Keyword: NPOL |
|||
type |
integer |
|||
|
The number of time samples for each single polarization and the a single frequency in each UDP packet sent by CBF. Note: this must be an integer multiple of WT_NSMAP Range: 4 (Low), 32 (Mid) Keyword: UDP_NSAMP |
|||
type |
integer |
|||
|
The number of time samples described by as single relative weight. There is a unique relative weight for each frequency channel, and each relative weight describes both polarizations. Range: 4 (Low), 32 (Mid) Keyword: WT_NSAMP |
|||
type |
integer |
|||
|
The number of contiguous frequency channels in each UDP packet sent by CBF. Range: 24 (Low), 185 (Mid) Keyword: UDP_NCHAN |
|||
type |
integer |
|||
|
The total number of frequency channels into which the total critical bandwidth has been divided. This must be an integer multiple of udp_nchan Range: 1 to 82944 Keyword: OBSNCHAN |
|||
type |
integer |
|||
|
Centre frequency of to the total (critical) bandwidth spanned by the frequency channels. Units: Hz Range: 50e6 to 12800e6 Keyword: OBSFREQ |
|||
type |
number |
|||
|
Total (critical) bandwidth spanned by the channels of the observation. Low: 0.00361 to 300 MHz Mid: 0.053.76 to 2500 MHz Units: Hz Range: 3610 to 2.5e9 Keyword: OBSBW |
|||
type |
number |
|||
|
The observation mode used for the scan. The value VOLTAGE_RECORDER is added for AA0.5, while the other values will be needed for in the future for data processing. Keyword: OBSMODE |
|||
allOf |
type |
string |
||
enum |
PULSAR_TIMING, DYNAMIC_SPECTRUM, FLOW_THROUGH, VOLTAGE_RECORDER |
|||
|
The observer in charge of the observations. Keyword: OBSERVER |
|||
type |
string |
|||
|
The project that the observations are for. Keyword: PROJID |
|||
type |
string |
|||
|
The ID for the sub-array pointing. Keyword: PNT_ID |
|||
type |
string |
|||
|
The name of the source. Keyword: SRC_NAME |
|||
type |
string |
|||
|
The International Terrestrial Reference Frame (ITRF) coordinates of the telescope delay centre. Units: metres Keyword: ITRF |
|||
type |
array |
|||
items |
type |
number |
||
|
The receiver name or ID (instrument). Keyword: FRONTEND |
|||
type |
string |
|||
|
The native polarization of feed. Range: LIN or CIRC Keyword: FD_POLN |
|||
allOf |
type |
string |
||
enum |
LIN, CIRC |
|||
|
Code for sense of feed. For value of +1 for XYZ forming RH set with Z in the direction of propagation. Looking up into the feed of a prime-focus receiver or at the sky). For FD_HAND = +1, the rotation from A (or X) to B (or Y) is counter clockwise or in the direction of increasing Feed Angle (FA) or Position Angle (PA). For circular feeds, FD_HAND = +1 for IEEE LCP on the A (or X) probe. Range: -1 or +1 Keyword: FD_HAND |
|||
allOf |
type |
integer |
||
enum |
-1, 1 |
|||
|
Feed angle of the E-vector for an equal in-phase response from the A(X) and B(Y) probes, measured in the direction of increasing feed angle or position angle (clockwise when looking down on a prime focuse receiver). Units: degrees Range: -180 to 180. Keyword: FD_SANG |
|||
type |
number |
|||
|
The tracking mode for the feed:
Range: FA, CPA, SPA, or TPA Keyword: FD_MODE |
|||
allOf |
type |
string |
||
enum |
FA, CPA, SPA, TPA |
|||
|
The requested angle of feed reference. For feed_mode = ‘FA’ this is respect to the telescope’s reference frame (feed_angle = 0), and for feed_mode = ‘CPA’ this is with respect to the celestial north (parallic angle = 0) or with respect to the Galactic north for coordinate_mode = ‘GALACTIC’. Range: -180 to +180. Keyword: FA_REQ |
|||
type |
number |
|||
|
The oversampling ratio expressed as a fraction as an array of int, with the first value the numerator and the second is the denominator. (e.g. 8/7 is assigned as [8,7]). Range: 8/7 or 4/3 Keyword: OVERSAMP |
|||
type |
array |
|||
items |
type |
integer |
||
|
The tied-array beam’s tracking co-ordinates. As of version 2.2 of the schema this only handles equitorial tracking which means uses RA/Dec J2000.0 coords but PST may support different tracking modes and coordinates the future. |
|||
|
The maximum length of the observation. Units: seconds Range: 30 - 43200 Keyword: SCANLEN_MAX |
|||
type |
number |
|||
|
The length of each output sub-integration. Units: seconds Range: 1 - 60 Keyword: OUTSUBINT |
|||
type |
number |
|||
|
An array of receptor IDs for the receptors included in the sub-array. Keyword: ANTENNA |
|||
type |
array |
|||
items |
type |
string |
||
|
Weight for each receptor. Range: 0 - 1.0 Keyword: ANT_WEIGHTS |
|||
type |
array |
|||
items |
type |
number |
||
|
The number of frequency ranges to be masked. Range: 0 - 1024 Keyword: NMASK |
|||
type |
integer |
|||
default |
0 |
|||
|
A two-dimensional array of length of num_frequency_mask of known RFI frequency ranges to excise from the data. The array contains mask pairs of [f_min, f_max] pairs for known frequency ranges containing RFI not excised by the CBF. The overall dimension of this array is num_frequency_mask x 2. Units: Hz Keyword: FREQ_MASK |
|||
type |
array |
|||
default |
null |
|||
items |
type |
array |
||
items |
type |
number |
||
|
The destination address for the PST output data. Includes IPv4 Address, port number. |
|||
type |
array |
|||
default |
null |
|||
items |
anyOf |
type |
string |
|
type |
integer |
|||
|
Identifier for a test vectore that will be present in the tied-array beam data stream beam CBF and PST. Keyword: TEST_VECTOR |
|||
type |
string |
|||
default |
null |
|||
|
Pulsar Timing specific parameters for the ‘PULSAR_TIMING’ mode configuration. |
|||
default |
null |
|||
|
Pulsar Timing specific parameters for the ‘DYNAMIC_SPECTRUM’ mode configuration. |
|||
default |
null |
|||
|
Pulsar Timing specific parameters for the ‘FLOW_THROUGH’ mode configuration. |
|||
default |
null |
|||
|
The number of stages used to channelize the data: e.g. * for Low, there are 2 stages: 1 in LFAA and 1 in CBF * for Mid, there are 2 stages: 1 in FSP and 1 in PST BF. Keyword: NSTAGE |
|||
type |
integer |
|||
|
List of configuration for each channelization stage. |
|||
type |
array |
|||
items |
Pulsar Timing specific parameters for channelization stage configuration. |
|||
additionalProperties |
False |
PST RA_Dec coordinates 2.5
Pulsar Timing specific parameters for RA/Dec tracking coordinates.
type |
object |
|
properties |
||
|
The coordinate epoch. This can be in Julian date or Modified Julian Date. Units: years Range: >= 2000 Keyword: EQUINOX |
|
type |
number |
|
default |
2000.0 |
|
|
The Right Accession (RA) of the coordinates used for tracking. Valid formats is ‘hh:mm:ss.sss’ or ‘ddd.ddd’ Keyword: STT_CTD1 |
|
type |
string |
|
|
The declination (Dec) of the coordinates used for tracking. Valid formats is ‘hh:mm:ss.sss’ or ‘ddd.ddd’ Keyword: STT_CTD2 |
|
type |
string |
|
additionalProperties |
False |
PST ‘PULSAR_TIMING’ mode configuration 2.5
Pulsar Timing specific parameters for the ‘PULSAR_TIMING’ mode configuration.
type |
object |
|
properties |
||
|
The dispersion measure for coherent/inchoerent de-dispersion. Units: pccm^-3 Range: 0 - 100000 Keyword: DM |
|
type |
number |
|
|
The rotation measure for phase-coherent Faraday rotation correction. Units: radians per metre squared Keyword: RM |
|
type |
number |
|
default |
null |
|
|
The ephemeris of the pulsar being observed. Units: PSRCAT compatible ASCII string Keyword: EPHEMERIS |
|
type |
string |
|
|
Pulsar phase predictor generated from ephemeris. Units: TEMPO2 compatible ASCII string Keyword: PREDICTOR |
|
type |
string |
|
|
The number of output frequency channels. This must be between 1 and the number of observation channels. Keyword: OUTNCHAN |
|
type |
integer |
|
|
The number of output phase bins. Range: 64 - 2048 Keyword: OUTNBIN |
|
type |
integer |
|
|
The number of spectral kurtosis (SK) configurations to apply. Keyword: N_SK |
|
type |
integer |
|
|
List of spectral kurtosis configurations. |
|
type |
array |
|
items |
Pulsar Timing specific parameters for the spectral kurtosis (SK) for the ‘PULSAR_TIMING’ mode. |
|
|
The signal-to-noise ratio (SNR) of the on-pulse flux for the scan. May be used to prematurely end a scan when the integrated SNR reaches the target. A value of 0 indicates there is no limit. Keyword: TARGET_SNR |
|
type |
number |
|
additionalProperties |
False |
PST spectral kurtosis configuration 2.5
Pulsar Timing specific parameters for the spectral kurtosis (SK) for the ‘PULSAR_TIMING’ mode.
type |
object |
||
properties |
|||
|
Frequency ranges for each spectral kurtosis (SK) configuration. Units: Hz Keyword: SK_RNG |
||
type |
array |
||
items |
type |
number |
|
|
The number of input time samples integrated into each spectral kurtosis (SK) statistic. Range: 64 - 1024 Keyword: SK_INTS |
||
type |
integer |
||
|
Spectral kurtosis excision limits (RFI threshold) in units of standard deviations. Range: 1 - 100 Keyword: SK_EXIS |
||
type |
number |
||
additionalProperties |
False |
PST ‘DYNAMIC_SPECTRUM’ mode configuration 2.5
Pulsar Timing specific parameters for the ‘DYNAMIC_SPECTRUM’ mode configuration.
type |
object |
||
properties |
|||
|
The dispersion measture for coherent/inchoerent de-dispersion. This is only required for pulsar timing and dynamic spectrum modes. Range: [0, 100000] Keyword: DM |
||
type |
number |
||
|
The rotation measure for phase-coherent Faraday rotation correction. Units: radians per metre squared Keyword: RM |
||
type |
number |
||
default |
null |
||
|
The number of output frequency channels. This must be between 1 and the number of observation channels. Keyword: OUTNCHAN |
||
type |
integer |
||
|
The Stokes parameters to output when in Dynamic spectrum mode. Range: string with a combination of I, Q, U, and V. Keyword: STOKES_FB |
||
type |
string |
||
|
The number of bits per output sample. Range: 1, 2, 4, 8, 16 or 32 Keyword: NBIT_OUT |
||
allOf |
type |
integer |
|
enum |
1, 2, 4, 8, 16, 32 |
||
|
The number of input samples per output time sample when in Dynamic Spectrum mode. Keyword: TDEC_FB |
||
type |
integer |
||
|
The number of input frequency channels incoherently added to each output frequency channel in Dynamic Spectrum. This is required in addition to output_frequency_channels because some frequency channels may be merged coherently to increase temporal resolution. Keyword: FDEC_FB |
||
type |
integer |
||
|
The number of spectral kurtosis (SK) configurations to apply. Keyword: N_SK |
||
type |
integer |
||
default |
null |
||
|
List of spectral kurtosis configurations. |
||
type |
array |
||
default |
null |
||
items |
Pulsar Timing specific parameters for the spectral kurtosis (SK) for the ‘PULSAR_TIMING’ mode. |
||
|
Scale factor to govern the dynamic range for fixed precision output to be applied during re-quantisation. Keyword: DIGITIZER_SCALE |
||
type |
number |
||
|
Length of data to be used when determining the scaling factors used for fixed precision output during re-quantisation. Units: seconds Keyword: DIGITIZER_LENGTH |
||
type |
number |
||
additionalProperties |
False |
PST ‘FLOW_THROUGH’ mode configuration 2.5
Pulsar Timing specific parameters for the ‘FLOW_THROUGH’ mode configuration.
type |
object |
||
properties |
|||
|
The number of bits per output sample. Range: 1, 2, 4, 8, 16 or 32 Keyword: NBIT_OUT |
||
allOf |
type |
integer |
|
enum |
1, 2, 4, 8, 16, 32 |
||
|
The indices of the first and last (inclusive) frequency channels that define the single contiguous range of frequency channels to be recorded. Keyword: CHAN_FT |
||
type |
array |
||
items |
type |
integer |
|
|
Scale factor applied during re-quantisation that modifies the dynamic range of the fixed precision output. By default, for 2, 4, and 8 bits per sample, data will be scaled to minimize scattered power by adopting the Optimum Input Threshold Spacing for a Uniform Digitizer defined in Table 3 of Jenet & Anderson (1998; PASP 110:1467). For 16 and 32 bits per sample, by default the data will be scaled such that the maximum fixed precision output value (2^{num_bits_out-1}) corresponds to 6 times the standard deviation. For all num_bits_out, the standard deviation is that of either the real or imaginary part of each complex-valued sample. The default scale factor is computed such that, after multiplication by this scale factor, the data would satisfy the conditions described above. This default scale factor is multiplied by requantisation_scale. Therefore, a requantisation_scale value greater than 1 increases the value of the floating point data before it is cast to a fixed precision value, thereby reducing the overhead available to represent RFI and increasing the probability of clipping. Keyword: DIGITIZER_SCALE |
||
type |
number |
||
|
The polarizations to be recorded. Valid values: A, B, or Both Keyword: POLN_FT |
||
allOf |
type |
string |
|
enum |
A, B, Both |
||
|
Time interval spanned by data used at the start of a scan to determine the scale factors applied before re-quantisation. Units: seconds Keyword: DIGITIZER_INIT_TIME |
||
type |
number |
||
additionalProperties |
False |
PST channelization stage configuration 2.5
Pulsar Timing specific parameters for channelization stage configuration.
type |
object |
||
properties |
|||
|
Total number of taps in the prototype filter (i.e. over all arms) used in the stage. Keyword: NSTAP_k |
||
type |
integer |
||
|
An array of filter coefficients that define the (time domain) response function of the prototype filter used in the stage. Length of this is num_filter_taps. Keyword: COEFF_k |
||
type |
array |
||
items |
type |
number |
|
|
The number of frequency channels output by each polyphase filter bank (PFB) for this stage. Keyword: NCHAN_PFB_k |
||
type |
integer |
||
|
The oversampling ratio expressed as a fraction as an array of int, with the first value the numerator and the second is the denominator. (e.g. 8/7 is assigned as [8,7]). Keyword: OVERSAMP_k |
||
type |
array |
||
items |
type |
integer |
|
additionalProperties |
False |
PST beam configuration 2.5
Pulsar Timing specific beam configuration parameters.
As of version 2.3 this schema has no elements and is deprecated
type |
object |
properties |
|
additionalProperties |
False |
Low TMC configure 3.1
Example JSON.
{
"interface": "https://schema.skao.int/ska-low-tmc-configure/3.1",
"transaction_id": "txn-....-00001",
"mccs": {
"stations": [{
"station_id": 1
}, {
"station_id": 2
}],
"subarray_beams": [{
"subarray_beam_id": 1,
"station_ids": [1, 2],
"update_rate": 0.0,
"channels": [
[0, 8, 1, 1],
[8, 8, 2, 1],
[24, 16, 2, 1]
],
"antenna_weights": [1.0, 1.0, 1.0],
"phase_centre": [0.0, 0.0],
"target": {
"reference_frame": "HORIZON",
"target_name": "DriftScan",
"az": 180.0,
"el": 45.0
}
}]
},
"sdp": {
"interface": "https://schema.skao.int/ska-sdp-configure/0.4",
"scan_type": "science_A"
},
"csp": {
"interface": "https://schema.skao.int/ska-low-csp-configure/4.0",
"common": {
"config_id": "sbi-mvp01-20200325-00001-science_A"
},
"lowcbf": {
"stations": {
"stns": [
[1, 1],
[2, 1],
[3, 1],
[4, 1],
[5, 1],
[6, 1]
],
"stn_beams": [{
"stn_beam_id": 1,
"freq_ids": [400]
}]
},
"vis": {
"fsp": {
"function_mode": "vis",
"fsp_ids": [1]
},
"stn_beams": [{
"stn_beam_id": 1,
"host": [
[0, "192.168.0.1"]
],
"port": [
[0, 9000, 1]
],
"mac": [
[0, "02-03-04-0a-0b-0c"]
],
"integration_ms": 849
}]
}
}
},
"tmc": {
"scan_duration": 10.0
}
}
type |
object |
||||||
properties |
|||||||
|
URI of JSON schema applicable to this JSON payload. |
||||||
type |
string |
||||||
|
A transaction id specific to the command |
||||||
type |
string |
||||||
default |
null |
||||||
|
MCCS configuration specification. |
||||||
type |
object |
||||||
properties |
|||||||
|
IDs of the MCCS stations to configure. Maximum array size = 512, the maximum number of MCCS stations. |
||||||
type |
array |
||||||
default |
null |
||||||
items |
type |
object |
|||||
properties |
|||||||
|
MCCS Station ID. Each ID must be between 1 and 512. |
||||||
type |
integer |
||||||
additionalProperties |
True |
||||||
|
MCCS sub-array beam configuration. |
||||||
type |
array |
||||||
items |
type |
object |
|||||
properties |
|||||||
|
ID of MCCS sub-array beam to configure. ID must be an integer between 1 and 48. |
||||||
type |
integer |
||||||
|
Update rate for pointing information. Value must be 0.0 or greater. TODO: clarify whether this is specified as a frequency or as a cadence, plus units. |
||||||
type |
number |
||||||
|
IDs of MCCS stations within this sub-array beamto configure. Array size must be less than 512, the maximum number of MCCS stations. Each item in the list must be an integer between 1 and 512. |
||||||
type |
array |
||||||
default |
null |
||||||
items |
type |
integer |
|||||
|
Channel block configurations. Each item in the list is a channel block configuration, each specified as a list of 4 numbers as follows: [start channel, number of channels, beam index, sub-station index] Constraints are: 0 < start channel < 376 start channel must be a multiple of 8 8 < number of channels < 48 1 < beam index < 48 1 < sub-station index < 8 |
||||||
type |
array |
||||||
default |
null |
||||||
items |
type |
array |
|||||
items |
type |
integer |
|||||
|
Antenna weights. Maximum array size = 512 (=256 antennas x2 pols per sub-array beam). Antennas signals can be weighted to modify the station beam, varying from 0.0 for full exclusion to potentially 256.0 for an antenna contribution compensated for the number of antennas in the beam. This value is an amplitude multiplier added to that antenna signal before adding into the sum. Weights apply to all channels assigned to a beam. |
||||||
type |
array |
||||||
default |
null |
||||||
items |
type |
number |
|||||
|
Phase centre offset for the station beam, in metres. The reference position for station phase must be modified to reflect antenna weighting and their contribution to the station beam. This offset can be can considered the desired centre of mass for the station. Constraints: array size = 2 -20 < phase centre value < 20 |
||||||
type |
array |
||||||
default |
null |
||||||
items |
type |
number |
|||||
|
Target position for the sub-array beam. Only drift scan targets are currently implemented by MCCS, hence only azimuth and elevation are specified. |
||||||
type |
object |
||||||
default |
null |
||||||
properties |
|||||||
|
Co-ordinate system. Must be HORIZON for drift scan. |
||||||
type |
string |
||||||
|
Name of target. |
||||||
type |
string |
||||||
|
Pointing azimuth in degrees. |
||||||
type |
number |
||||||
|
Pointing elevation in degrees. |
||||||
type |
number |
||||||
additionalProperties |
False |
||||||
additionalProperties |
False |
||||||
additionalProperties |
False |
||||||
|
CSP configuration specification. |
||||||
type |
object |
||||||
properties |
|||||||
|
URI of JSON schema for this command’sJSON payload.. |
||||||
type |
string |
||||||
|
Common section, containing the parameters and the sections belonging to all CSP subsystems. This section is forwarded to all sub-elements. |
||||||
|
Correlator and Beamformer specific parameters. This section contains the parameters relevant only for CBF sub-system. This section is forwarded only to CBF subelement. |
||||||
default |
null |
||||||
|
Section with parameters to configure the PSS sub-system |
||||||
default |
null |
||||||
|
Section with parameters to configure the PST sub-system. |
||||||
default |
null |
||||||
additionalProperties |
False |
||||||
|
SDP configuration specification. |
||||||
type |
object |
||||||
properties |
|||||||
|
URI of JSON schema for this command’sJSON payload.. |
||||||
type |
string |
||||||
|
Scan type string needed on SDP |
||||||
type |
string |
||||||
additionalProperties |
False |
||||||
|
TMC configuration specification. |
||||||
type |
object |
||||||
default |
null |
||||||
properties |
|||||||
|
Scan duration in seconds. Value must be >= 0.0 |
||||||
type |
number |
||||||
additionalProperties |
True |
||||||
additionalProperties |
False |
Common configuration schema 4.0
Common section, containing the parameters and the sections belonging to all CSP subsystems. This section is forwarded to all sub-elements.
type |
object |
|
properties |
||
|
type |
string |
default |
null |
|
|
Execution block ID to associate scan configs to an observation. This ID is used for associating generated data, especially data products, for a given observation. Multiple scans can be linked to one observation and this ID is used as metadata to associate the data products from all scans of the same observation. This ID does not have to be unique for a scan configuration but should be unique for different observations. For example, all the data and weights files will have an EB_ID header value populated with the value supplied in this field. |
|
type |
string |
|
pattern |
^eb\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
|
default |
null |
|
additionalProperties |
False |
LOWCBF subarray configurescan 1.0
Correlator and Beamformer specific parameters. This section contains the parameters relevant only for CBF sub-system. This section is forwarded only to CBF subelement.
type |
object |
||||
properties |
|||||
|
Subarray Stations and station beam inputdescriptions |
||||
|
PST beam outputs descriptions |
||||
default |
null |
||||
|
PSS beam outputs descriptions |
||||
type |
string |
||||
default |
null |
||||
|
Visibility output descriptions |
||||
type |
object |
||||
default |
null |
||||
properties |
|||||
|
FSPs used for correlation |
||||
type |
object |
||||
properties |
|||||
|
Firmware name |
||||
type |
string |
||||
|
List of IDs (integer) |
||||
type |
array |
||||
items |
type |
integer |
|||
additionalProperties |
False |
||||
|
SDP visibility destinations |
||||
type |
array |
||||
items |
|||||
additionalProperties |
False |
||||
|
Zoom visibility output descriptions |
||||
type |
string |
||||
default |
null |
||||
additionalProperties |
False |
Subarray stations and station beams 1.0
Station and station beams parameters
type |
object |
||||
properties |
|||||
|
type |
array |
|||
items |
type |
array |
|||
items |
type |
integer |
|||
|
type |
array |
|||
items |
type |
object |
|||
properties |
|||||
|
station beam id |
||||
type |
integer |
||||
|
list of station beam frequency ids |
||||
type |
array |
||||
items |
type |
integer |
|||
additionalProperties |
False |
||||
additionalProperties |
False |
outer 1.0
type |
object |
|||
properties |
||||
|
inner |
|||
type |
array |
|||
items |
||||
|
FSPs used by PST |
|||
type |
object |
|||
properties |
||||
|
Firmware name |
|||
type |
string |
|||
|
List of IDs (integer) |
|||
type |
array |
|||
items |
type |
integer |
||
additionalProperties |
False |
|||
additionalProperties |
False |
PST beams description 1.0
type |
object |
||
properties |
|||
|
Station beam ID for pst beamforming |
||
type |
integer |
||
|
PST beam ID |
||
type |
integer |
||
|
Jones matrix source URI |
||
type |
string |
||
|
weights for each station |
||
type |
array |
||
items |
type |
number |
|
|
Master enable for RFI flagging |
||
type |
array |
||
default |
null |
||
items |
type |
boolean |
|
|
Freqency IDs to be always flagged |
||
type |
array |
||
default |
null |
||
items |
type |
integer |
|
|
Frequency IDs to be dynamically flagged |
||
type |
array |
||
default |
null |
||
items |
type |
integer |
|
|
Parameter for dynamic flagging |
||
type |
number |
||
default |
null |
||
|
Delay polynomial source URI |
||
type |
string |
||
additionalProperties |
False |
Station beams to correlate 1.0
type |
object |
||||
properties |
|||||
|
Station Beam ID |
||||
type |
integer |
||||
|
SDP channel & IP Address |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
anyOf |
type |
integer |
||
type |
string |
||||
|
SDP chan & UDP port, stride |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
type |
integer |
|||
|
SDP channel & server MAC |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
anyOf |
type |
integer |
||
type |
string |
||||
|
milliseconds integration |
||||
type |
integer |
||||
additionalProperties |
False |
PSS configuration 2.0
type |
object |
|
properties |
||
|
type |
string |
default |
null |
|
additionalProperties |
False |
LOW PST configure 2.5
Main configuration for the Low CSP Pulsar timing sub-system
type |
object |
|||
properties |
||||
|
List of PST Beams IDs to configure |
|||
type |
array |
|||
items |
Parameters to configure the PST sub-system |
|||
type |
object |
|||
properties |
||||
|
Configuration for a PST beam ID |
|||
type |
integer |
|||
|
Parameters to configure the scan |
|||
|
Parameter to configure the beam |
|||
default |
null |
|||
additionalProperties |
False |
|||
additionalProperties |
False |
PST scan configuration 2.5
Pulsar Timing specific scan configuration parameters.
type |
object |
|||
properties |
||||
|
Date and time when to start the PST reconfiguration. Units: UTC timestamp Keyword: ACTIVATION_TIME |
|||
type |
string |
|||
|
Identifier assigned by LMC/TM used to identify the beam configuraiton. PST selects which PST server to use for this scan and timing beam, and provides a mapping from the timing beam identifier by the TM to PST capability id. Keyword: BEAM |
|||
type |
string |
|||
default |
null |
|||
|
The number of bits per complex-values time sample in the CBF output data. Valid values are 16, 24, or 32. Keyword: NBIT |
|||
type |
integer |
|||
|
The number of polarizations in the CBF output data. Valid values are 1 or 2. Keyword: NPOL |
|||
type |
integer |
|||
|
The number of time samples for each single polarization and the a single frequency in each UDP packet sent by CBF. Note: this must be an integer multiple of WT_NSMAP Range: 4 (Low), 32 (Mid) Keyword: UDP_NSAMP |
|||
type |
integer |
|||
|
The number of time samples described by as single relative weight. There is a unique relative weight for each frequency channel, and each relative weight describes both polarizations. Range: 4 (Low), 32 (Mid) Keyword: WT_NSAMP |
|||
type |
integer |
|||
|
The number of contiguous frequency channels in each UDP packet sent by CBF. Range: 24 (Low), 185 (Mid) Keyword: UDP_NCHAN |
|||
type |
integer |
|||
|
The total number of frequency channels into which the total critical bandwidth has been divided. This must be an integer multiple of udp_nchan Range: 1 to 82944 Keyword: OBSNCHAN |
|||
type |
integer |
|||
|
Centre frequency of to the total (critical) bandwidth spanned by the frequency channels. Units: Hz Range: 50e6 to 12800e6 Keyword: OBSFREQ |
|||
type |
number |
|||
|
Total (critical) bandwidth spanned by the channels of the observation. Low: 0.00361 to 300 MHz Mid: 0.053.76 to 2500 MHz Units: Hz Range: 3610 to 2.5e9 Keyword: OBSBW |
|||
type |
number |
|||
|
The observation mode used for the scan. The value VOLTAGE_RECORDER is added for AA0.5, while the other values will be needed for in the future for data processing. Keyword: OBSMODE |
|||
allOf |
type |
string |
||
enum |
PULSAR_TIMING, DYNAMIC_SPECTRUM, FLOW_THROUGH, VOLTAGE_RECORDER |
|||
|
The observer in charge of the observations. Keyword: OBSERVER |
|||
type |
string |
|||
|
The project that the observations are for. Keyword: PROJID |
|||
type |
string |
|||
|
The ID for the sub-array pointing. Keyword: PNT_ID |
|||
type |
string |
|||
|
The name of the source. Keyword: SRC_NAME |
|||
type |
string |
|||
|
The International Terrestrial Reference Frame (ITRF) coordinates of the telescope delay centre. Units: metres Keyword: ITRF |
|||
type |
array |
|||
items |
type |
number |
||
|
The receiver name or ID (instrument). Keyword: FRONTEND |
|||
type |
string |
|||
|
The native polarization of feed. Range: LIN or CIRC Keyword: FD_POLN |
|||
allOf |
type |
string |
||
enum |
LIN, CIRC |
|||
|
Code for sense of feed. For value of +1 for XYZ forming RH set with Z in the direction of propagation. Looking up into the feed of a prime-focus receiver or at the sky). For FD_HAND = +1, the rotation from A (or X) to B (or Y) is counter clockwise or in the direction of increasing Feed Angle (FA) or Position Angle (PA). For circular feeds, FD_HAND = +1 for IEEE LCP on the A (or X) probe. Range: -1 or +1 Keyword: FD_HAND |
|||
allOf |
type |
integer |
||
enum |
-1, 1 |
|||
|
Feed angle of the E-vector for an equal in-phase response from the A(X) and B(Y) probes, measured in the direction of increasing feed angle or position angle (clockwise when looking down on a prime focuse receiver). Units: degrees Range: -180 to 180. Keyword: FD_SANG |
|||
type |
number |
|||
|
The tracking mode for the feed:
Range: FA, CPA, SPA, or TPA Keyword: FD_MODE |
|||
allOf |
type |
string |
||
enum |
FA, CPA, SPA, TPA |
|||
|
The requested angle of feed reference. For feed_mode = ‘FA’ this is respect to the telescope’s reference frame (feed_angle = 0), and for feed_mode = ‘CPA’ this is with respect to the celestial north (parallic angle = 0) or with respect to the Galactic north for coordinate_mode = ‘GALACTIC’. Range: -180 to +180. Keyword: FA_REQ |
|||
type |
number |
|||
|
The oversampling ratio expressed as a fraction as an array of int, with the first value the numerator and the second is the denominator. (e.g. 8/7 is assigned as [8,7]). Range: 8/7 or 4/3 Keyword: OVERSAMP |
|||
type |
array |
|||
items |
type |
integer |
||
|
The tied-array beam’s tracking co-ordinates. As of version 2.2 of the schema this only handles equitorial tracking which means uses RA/Dec J2000.0 coords but PST may support different tracking modes and coordinates the future. |
|||
|
The maximum length of the observation. Units: seconds Range: 30 - 43200 Keyword: SCANLEN_MAX |
|||
type |
number |
|||
|
The length of each output sub-integration. Units: seconds Range: 1 - 60 Keyword: OUTSUBINT |
|||
type |
number |
|||
|
An array of receptor IDs for the receptors included in the sub-array. Keyword: ANTENNA |
|||
type |
array |
|||
items |
type |
string |
||
|
Weight for each receptor. Range: 0 - 1.0 Keyword: ANT_WEIGHTS |
|||
type |
array |
|||
items |
type |
number |
||
|
The number of frequency ranges to be masked. Range: 0 - 1024 Keyword: NMASK |
|||
type |
integer |
|||
default |
0 |
|||
|
A two-dimensional array of length of num_frequency_mask of known RFI frequency ranges to excise from the data. The array contains mask pairs of [f_min, f_max] pairs for known frequency ranges containing RFI not excised by the CBF. The overall dimension of this array is num_frequency_mask x 2. Units: Hz Keyword: FREQ_MASK |
|||
type |
array |
|||
default |
null |
|||
items |
type |
array |
||
items |
type |
number |
||
|
The destination address for the PST output data. Includes IPv4 Address, port number. |
|||
type |
array |
|||
default |
null |
|||
items |
anyOf |
type |
string |
|
type |
integer |
|||
|
Identifier for a test vectore that will be present in the tied-array beam data stream beam CBF and PST. Keyword: TEST_VECTOR |
|||
type |
string |
|||
default |
null |
|||
|
Pulsar Timing specific parameters for the ‘PULSAR_TIMING’ mode configuration. |
|||
default |
null |
|||
|
Pulsar Timing specific parameters for the ‘DYNAMIC_SPECTRUM’ mode configuration. |
|||
default |
null |
|||
|
Pulsar Timing specific parameters for the ‘FLOW_THROUGH’ mode configuration. |
|||
default |
null |
|||
|
The number of stages used to channelize the data: e.g. * for Low, there are 2 stages: 1 in LFAA and 1 in CBF * for Mid, there are 2 stages: 1 in FSP and 1 in PST BF. Keyword: NSTAGE |
|||
type |
integer |
|||
|
List of configuration for each channelization stage. |
|||
type |
array |
|||
items |
Pulsar Timing specific parameters for channelization stage configuration. |
|||
additionalProperties |
False |
PST RA_Dec coordinates 2.5
Pulsar Timing specific parameters for RA/Dec tracking coordinates.
type |
object |
|
properties |
||
|
The coordinate epoch. This can be in Julian date or Modified Julian Date. Units: years Range: >= 2000 Keyword: EQUINOX |
|
type |
number |
|
default |
2000.0 |
|
|
The Right Accession (RA) of the coordinates used for tracking. Valid formats is ‘hh:mm:ss.sss’ or ‘ddd.ddd’ Keyword: STT_CTD1 |
|
type |
string |
|
|
The declination (Dec) of the coordinates used for tracking. Valid formats is ‘hh:mm:ss.sss’ or ‘ddd.ddd’ Keyword: STT_CTD2 |
|
type |
string |
|
additionalProperties |
False |
PST ‘PULSAR_TIMING’ mode configuration 2.5
Pulsar Timing specific parameters for the ‘PULSAR_TIMING’ mode configuration.
type |
object |
|
properties |
||
|
The dispersion measure for coherent/inchoerent de-dispersion. Units: pccm^-3 Range: 0 - 100000 Keyword: DM |
|
type |
number |
|
|
The rotation measure for phase-coherent Faraday rotation correction. Units: radians per metre squared Keyword: RM |
|
type |
number |
|
default |
null |
|
|
The ephemeris of the pulsar being observed. Units: PSRCAT compatible ASCII string Keyword: EPHEMERIS |
|
type |
string |
|
|
Pulsar phase predictor generated from ephemeris. Units: TEMPO2 compatible ASCII string Keyword: PREDICTOR |
|
type |
string |
|
|
The number of output frequency channels. This must be between 1 and the number of observation channels. Keyword: OUTNCHAN |
|
type |
integer |
|
|
The number of output phase bins. Range: 64 - 2048 Keyword: OUTNBIN |
|
type |
integer |
|
|
The number of spectral kurtosis (SK) configurations to apply. Keyword: N_SK |
|
type |
integer |
|
|
List of spectral kurtosis configurations. |
|
type |
array |
|
items |
Pulsar Timing specific parameters for the spectral kurtosis (SK) for the ‘PULSAR_TIMING’ mode. |
|
|
The signal-to-noise ratio (SNR) of the on-pulse flux for the scan. May be used to prematurely end a scan when the integrated SNR reaches the target. A value of 0 indicates there is no limit. Keyword: TARGET_SNR |
|
type |
number |
|
additionalProperties |
False |
PST spectral kurtosis configuration 2.5
Pulsar Timing specific parameters for the spectral kurtosis (SK) for the ‘PULSAR_TIMING’ mode.
type |
object |
||
properties |
|||
|
Frequency ranges for each spectral kurtosis (SK) configuration. Units: Hz Keyword: SK_RNG |
||
type |
array |
||
items |
type |
number |
|
|
The number of input time samples integrated into each spectral kurtosis (SK) statistic. Range: 64 - 1024 Keyword: SK_INTS |
||
type |
integer |
||
|
Spectral kurtosis excision limits (RFI threshold) in units of standard deviations. Range: 1 - 100 Keyword: SK_EXIS |
||
type |
number |
||
additionalProperties |
False |
PST ‘DYNAMIC_SPECTRUM’ mode configuration 2.5
Pulsar Timing specific parameters for the ‘DYNAMIC_SPECTRUM’ mode configuration.
type |
object |
||
properties |
|||
|
The dispersion measture for coherent/inchoerent de-dispersion. This is only required for pulsar timing and dynamic spectrum modes. Range: [0, 100000] Keyword: DM |
||
type |
number |
||
|
The rotation measure for phase-coherent Faraday rotation correction. Units: radians per metre squared Keyword: RM |
||
type |
number |
||
default |
null |
||
|
The number of output frequency channels. This must be between 1 and the number of observation channels. Keyword: OUTNCHAN |
||
type |
integer |
||
|
The Stokes parameters to output when in Dynamic spectrum mode. Range: string with a combination of I, Q, U, and V. Keyword: STOKES_FB |
||
type |
string |
||
|
The number of bits per output sample. Range: 1, 2, 4, 8, 16 or 32 Keyword: NBIT_OUT |
||
allOf |
type |
integer |
|
enum |
1, 2, 4, 8, 16, 32 |
||
|
The number of input samples per output time sample when in Dynamic Spectrum mode. Keyword: TDEC_FB |
||
type |
integer |
||
|
The number of input frequency channels incoherently added to each output frequency channel in Dynamic Spectrum. This is required in addition to output_frequency_channels because some frequency channels may be merged coherently to increase temporal resolution. Keyword: FDEC_FB |
||
type |
integer |
||
|
The number of spectral kurtosis (SK) configurations to apply. Keyword: N_SK |
||
type |
integer |
||
default |
null |
||
|
List of spectral kurtosis configurations. |
||
type |
array |
||
default |
null |
||
items |
Pulsar Timing specific parameters for the spectral kurtosis (SK) for the ‘PULSAR_TIMING’ mode. |
||
|
Scale factor to govern the dynamic range for fixed precision output to be applied during re-quantisation. Keyword: DIGITIZER_SCALE |
||
type |
number |
||
|
Length of data to be used when determining the scaling factors used for fixed precision output during re-quantisation. Units: seconds Keyword: DIGITIZER_LENGTH |
||
type |
number |
||
additionalProperties |
False |
PST ‘FLOW_THROUGH’ mode configuration 2.5
Pulsar Timing specific parameters for the ‘FLOW_THROUGH’ mode configuration.
type |
object |
||
properties |
|||
|
The number of bits per output sample. Range: 1, 2, 4, 8, 16 or 32 Keyword: NBIT_OUT |
||
allOf |
type |
integer |
|
enum |
1, 2, 4, 8, 16, 32 |
||
|
The indices of the first and last (inclusive) frequency channels that define the single contiguous range of frequency channels to be recorded. Keyword: CHAN_FT |
||
type |
array |
||
items |
type |
integer |
|
|
Scale factor applied during re-quantisation that modifies the dynamic range of the fixed precision output. By default, for 2, 4, and 8 bits per sample, data will be scaled to minimize scattered power by adopting the Optimum Input Threshold Spacing for a Uniform Digitizer defined in Table 3 of Jenet & Anderson (1998; PASP 110:1467). For 16 and 32 bits per sample, by default the data will be scaled such that the maximum fixed precision output value (2^{num_bits_out-1}) corresponds to 6 times the standard deviation. For all num_bits_out, the standard deviation is that of either the real or imaginary part of each complex-valued sample. The default scale factor is computed such that, after multiplication by this scale factor, the data would satisfy the conditions described above. This default scale factor is multiplied by requantisation_scale. Therefore, a requantisation_scale value greater than 1 increases the value of the floating point data before it is cast to a fixed precision value, thereby reducing the overhead available to represent RFI and increasing the probability of clipping. Keyword: DIGITIZER_SCALE |
||
type |
number |
||
|
The polarizations to be recorded. Valid values: A, B, or Both Keyword: POLN_FT |
||
allOf |
type |
string |
|
enum |
A, B, Both |
||
|
Time interval spanned by data used at the start of a scan to determine the scale factors applied before re-quantisation. Units: seconds Keyword: DIGITIZER_INIT_TIME |
||
type |
number |
||
additionalProperties |
False |
PST channelization stage configuration 2.5
Pulsar Timing specific parameters for channelization stage configuration.
type |
object |
||
properties |
|||
|
Total number of taps in the prototype filter (i.e. over all arms) used in the stage. Keyword: NSTAP_k |
||
type |
integer |
||
|
An array of filter coefficients that define the (time domain) response function of the prototype filter used in the stage. Length of this is num_filter_taps. Keyword: COEFF_k |
||
type |
array |
||
items |
type |
number |
|
|
The number of frequency channels output by each polyphase filter bank (PFB) for this stage. Keyword: NCHAN_PFB_k |
||
type |
integer |
||
|
The oversampling ratio expressed as a fraction as an array of int, with the first value the numerator and the second is the denominator. (e.g. 8/7 is assigned as [8,7]). Keyword: OVERSAMP_k |
||
type |
array |
||
items |
type |
integer |
|
additionalProperties |
False |
PST beam configuration 2.5
Pulsar Timing specific beam configuration parameters.
As of version 2.3 this schema has no elements and is deprecated
type |
object |
properties |
|
additionalProperties |
False |
Low TMC configure 3.0
Example JSON.
{
"interface": "https://schema.skao.int/ska-low-tmc-configure/3.0",
"transaction_id": "txn-....-00001",
"mccs": {
"stations": [{
"station_id": 1
}, {
"station_id": 2
}],
"subarray_beams": [{
"subarray_beam_id": 1,
"station_ids": [1, 2],
"update_rate": 0.0,
"channels": [
[0, 8, 1, 1],
[8, 8, 2, 1],
[24, 16, 2, 1]
],
"antenna_weights": [1.0, 1.0, 1.0],
"phase_centre": [0.0, 0.0],
"target": {
"reference_frame": "HORIZON",
"target_name": "DriftScan",
"az": 180.0,
"el": 45.0
}
}]
},
"sdp": {
"interface": "https://schema.skao.int/ska-sdp-configure/0.4",
"scan_type": "target:a"
},
"csp": {
"interface": "https://schema.skao.int/ska-low-csp-configure/2.0",
"subarray": {
"subarray_name": "science period 23"
},
"common": {
"config_id": "sbi-mvp01-20200325-00001-science_A",
"subarray_id": 1
},
"lowcbf": {
"stations": {
"stns": [
[1, 0],
[2, 0],
[3, 0],
[4, 0]
],
"stn_beams": [{
"beam_id": 1,
"freq_ids": [64, 65, 66, 67, 68, 69, 70, 71],
"boresight_dly_poly": "url"
}]
},
"timing_beams": {
"beams": [{
"pst_beam_id": 13,
"stn_beam_id": 1,
"offset_dly_poly": "url",
"stn_weights": [0.9, 1.0, 1.0, 0.9],
"jones": "url",
"rfi_enable": [true, true, true],
"rfi_static_chans": [1, 206, 997],
"rfi_dynamic_chans": [242, 1342],
"rfi_weighted": 0.87
}]
}
}
},
"tmc": {
"scan_duration": 10.0
}
}
type |
object |
||||||
properties |
|||||||
|
URI of JSON schema applicable to this JSON payload. |
||||||
type |
string |
||||||
|
A transaction id specific to the command |
||||||
type |
string |
||||||
default |
null |
||||||
|
MCCS configuration specification. |
||||||
type |
object |
||||||
properties |
|||||||
|
IDs of the MCCS stations to configure. Maximum array size = 512, the maximum number of MCCS stations. |
||||||
type |
array |
||||||
default |
null |
||||||
items |
type |
object |
|||||
properties |
|||||||
|
MCCS Station ID. Each ID must be between 1 and 512. |
||||||
type |
integer |
||||||
additionalProperties |
True |
||||||
|
MCCS sub-array beam configuration. |
||||||
type |
array |
||||||
items |
type |
object |
|||||
properties |
|||||||
|
ID of MCCS sub-array beam to configure. ID must be an integer between 1 and 48. |
||||||
type |
integer |
||||||
|
Update rate for pointing information. Value must be 0.0 or greater. TODO: clarify whether this is specified as a frequency or as a cadence, plus units. |
||||||
type |
number |
||||||
|
IDs of MCCS stations within this sub-array beamto configure. Array size must be less than 512, the maximum number of MCCS stations. Each item in the list must be an integer between 1 and 512. |
||||||
type |
array |
||||||
default |
null |
||||||
items |
type |
integer |
|||||
|
Channel block configurations. Each item in the list is a channel block configuration, each specified as a list of 4 numbers as follows: [start channel, number of channels, beam index, sub-station index] Constraints are: 0 < start channel < 376 start channel must be a multiple of 8 8 < number of channels < 48 1 < beam index < 48 1 < sub-station index < 8 |
||||||
type |
array |
||||||
default |
null |
||||||
items |
type |
array |
|||||
items |
type |
integer |
|||||
|
Antenna weights. Maximum array size = 512 (=256 antennas x2 pols per sub-array beam). Antennas signals can be weighted to modify the station beam, varying from 0.0 for full exclusion to potentially 256.0 for an antenna contribution compensated for the number of antennas in the beam. This value is an amplitude multiplier added to that antenna signal before adding into the sum. Weights apply to all channels assigned to a beam. |
||||||
type |
array |
||||||
default |
null |
||||||
items |
type |
number |
|||||
|
Phase centre offset for the station beam, in metres. The reference position for station phase must be modified to reflect antenna weighting and their contribution to the station beam. This offset can be can considered the desired centre of mass for the station. Constraints: array size = 2 -20 < phase centre value < 20 |
||||||
type |
array |
||||||
default |
null |
||||||
items |
type |
number |
|||||
|
Target position for the sub-array beam. Only drift scan targets are currently implemented by MCCS, hence only azimuth and elevation are specified. |
||||||
type |
object |
||||||
default |
null |
||||||
properties |
|||||||
|
Co-ordinate system. Must be HORIZON for drift scan. |
||||||
type |
string |
||||||
|
Name of target. |
||||||
type |
string |
||||||
|
Pointing azimuth in degrees. |
||||||
type |
number |
||||||
|
Pointing elevation in degrees. |
||||||
type |
number |
||||||
additionalProperties |
False |
||||||
additionalProperties |
False |
||||||
additionalProperties |
False |
||||||
|
CSP configuration specification. |
||||||
type |
object |
||||||
properties |
|||||||
|
URI of JSON schema for this command’sJSON payload.. |
||||||
type |
string |
||||||
|
Subarray elements |
||||||
type |
object |
||||||
default |
null |
||||||
properties |
|||||||
|
Name and scope of current subarray the sub-array. |
||||||
type |
string |
||||||
additionalProperties |
False |
||||||
|
Common section, containing the parameters and the sections belonging to all CSP subsystems. This section is forwarded to all sub-elements. |
||||||
|
Correlator and Beamformer specific parameters. This section contains the parameters relevant only for CBF sub-system. This section is forwarded only to CBF subelement. |
||||||
default |
null |
||||||
|
Section with parameters to configure the PSS sub-system |
||||||
default |
null |
||||||
|
Section with parameters to configure the PST sub-system. |
||||||
default |
null |
||||||
additionalProperties |
False |
||||||
|
SDP configuration specification. |
||||||
type |
object |
||||||
properties |
|||||||
|
URI of JSON schema for this command’sJSON payload.. |
||||||
type |
string |
||||||
|
Scan type string needed on SDP |
||||||
type |
string |
||||||
additionalProperties |
False |
||||||
|
TMC configuration specification. |
||||||
type |
object |
||||||
default |
null |
||||||
properties |
|||||||
|
Scan duration in seconds. Value must be >= 0.0 |
||||||
type |
number |
||||||
additionalProperties |
True |
||||||
additionalProperties |
False |
Common configuration schema 2.0
Common section, containing the parameters and the sections belonging to all CSP subsystems. This section is forwarded to all sub-elements.
type |
object |
|
properties |
||
|
type |
string |
default |
null |
|
|
Subarray number |
|
type |
integer |
|
|
Execution block ID to associate scan configs to an observation. This ID is used for associating generated data, especially data products, for a given observation. Multiple scans can be linked to one observation and this ID is used as metadata to associate the data products from all scans of the same observation. This ID does not have to be unique for a scan configuration but should be unique for different observations. For example, all the data and weights files will have an EB_ID header value populated with the value supplied in this field. |
|
type |
string |
|
pattern |
^eb\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
|
default |
null |
|
additionalProperties |
False |
LOWCBF subarray configurescan 0.1
Correlator and Beamformer specific parameters. This section contains the parameters relevant only for CBF sub-system. This section is forwarded only to CBF subelement.
type |
object |
||||
properties |
|||||
|
Subarray Stations and station beam inputdescriptions |
||||
|
PST beam outputs descriptions |
||||
default |
null |
||||
|
PSS beam outputs descriptions |
||||
type |
string |
||||
default |
null |
||||
|
Visibility output descriptions |
||||
type |
object |
||||
default |
null |
||||
properties |
|||||
|
FSPs used for correlation |
||||
type |
object |
||||
properties |
|||||
|
Firmware name |
||||
type |
string |
||||
default |
null |
||||
|
Firmware name |
||||
type |
string |
||||
|
List of IDs (integer) |
||||
type |
array |
||||
items |
type |
integer |
|||
additionalProperties |
False |
||||
|
SDP visibility destinations |
||||
type |
array |
||||
items |
|||||
additionalProperties |
False |
||||
|
Zoom visibility output descriptions |
||||
type |
string |
||||
default |
null |
||||
additionalProperties |
False |
Subarray stations and station beams 0.1
Station and station beams parameters
type |
object |
||||
properties |
|||||
|
type |
array |
|||
items |
type |
array |
|||
items |
type |
integer |
|||
|
type |
array |
|||
items |
type |
object |
|||
properties |
|||||
|
station beam id |
||||
type |
integer |
||||
default |
null |
||||
|
station beam id |
||||
type |
integer |
||||
|
list of station beam frequency ids |
||||
type |
array |
||||
items |
type |
integer |
|||
|
URL |
||||
type |
string |
||||
additionalProperties |
False |
||||
additionalProperties |
False |
outer 0.1
type |
object |
|
properties |
||
|
inner |
|
type |
array |
|
items |
||
additionalProperties |
False |
PST beams description 0.1
type |
object |
||
properties |
|||
|
Station beam ID for pst beamforming |
||
type |
integer |
||
|
PST beam ID |
||
type |
integer |
||
|
Jones matrix source URI |
||
type |
string |
||
|
weights for each station |
||
type |
array |
||
items |
type |
number |
|
|
Master enable for RFI flagging |
||
type |
array |
||
default |
null |
||
items |
type |
boolean |
|
|
Freqency IDs to be always flagged |
||
type |
array |
||
default |
null |
||
items |
type |
integer |
|
|
Frequency IDs to be dynamically flagged |
||
type |
array |
||
default |
null |
||
items |
type |
integer |
|
|
Parameter for dynamic flagging |
||
type |
number |
||
default |
null |
||
|
Firmware name |
||
type |
string |
||
default |
null |
||
|
Delay polynomial source URI |
||
type |
string |
||
additionalProperties |
False |
Station beams to correlate 0.1
type |
object |
|
properties |
||
|
Station Beam ID |
|
type |
integer |
|
|
milliseconds integration |
|
type |
integer |
|
additionalProperties |
False |
PSS configuration 2.0
type |
object |
|
properties |
||
|
type |
string |
default |
null |
|
additionalProperties |
False |
LOW PST configure 2.4
Main configuration for the Low CSP Pulsar timing sub-system
type |
object |
|||
properties |
||||
|
List of PST Beams IDs to configure |
|||
type |
array |
|||
items |
Parameters to configure the PST sub-system |
|||
type |
object |
|||
properties |
||||
|
Configuration for a PST beam ID |
|||
type |
integer |
|||
|
Parameters to configure the scan |
|||
|
Parameter to configure the beam |
|||
default |
null |
|||
additionalProperties |
False |
|||
additionalProperties |
False |
PST scan configuration 2.4
Pulsar Timing specific scan configuration parameters.
type |
object |
|||
properties |
||||
|
Date and time when to start the PST reconfiguration. Units: UTC timestamp Keyword: ACTIVATION_TIME |
|||
type |
string |
|||
|
Identifier assigned by LMC/TM used to identify the beam configuraiton. PST selects which PST server to use for this scan and timing beam, and provides a mapping from the timing beam identifier by the TM to PST capability id. Keyword: BEAM |
|||
type |
string |
|||
default |
null |
|||
|
The number of bits per complex-values time sample in the CBF output data. Valid values are 16, 24, or 32. Keyword: NBIT |
|||
type |
integer |
|||
|
The number of polarizations in the CBF output data. Valid values are 1 or 2. Keyword: NPOL |
|||
type |
integer |
|||
|
The number of time samples for each single polarization and the a single frequency in each UDP packet sent by CBF. Note: this must be an integer multiple of WT_NSMAP Range: 4 (Low), 32 (Mid) Keyword: UDP_NSAMP |
|||
type |
integer |
|||
|
The number of time samples described by as single relative weight. There is a unique relative weight for each frequency channel, and each relative weight describes both polarizations. Range: 4 (Low), 32 (Mid) Keyword: WT_NSAMP |
|||
type |
integer |
|||
|
The number of contiguous frequency channels in each UDP packet sent by CBF. Range: 24 (Low), 185 (Mid) Keyword: UDP_NCHAN |
|||
type |
integer |
|||
|
The total number of frequency channels into which the total critical bandwidth has been divided. This must be an integer multiple of udp_nchan Range: 1 to 82944 Keyword: OBSNCHAN |
|||
type |
integer |
|||
|
Centre frequency of to the total (critical) bandwidth spanned by the frequency channels. Units: Hz Range: 50e6 to 12800e6 Keyword: OBSFREQ |
|||
type |
number |
|||
|
Total (critical) bandwidth spanned by the channels of the observation. Low: 0.00361 to 300 MHz Mid: 0.053.76 to 2500 MHz Units: Hz Range: 3610 to 2.5e9 Keyword: OBSBW |
|||
type |
number |
|||
|
The observation mode used for the scan. The value VOLTAGE_RECORDER is added for AA0.5, while the other values will be needed for in the future for data processing. Keyword: OBSMODE |
|||
allOf |
type |
string |
||
enum |
PULSAR_TIMING, DYNAMIC_SPECTRUM, FLOW_THROUGH, VOLTAGE_RECORDER |
|||
|
The observer in charge of the observations. Keyword: OBSERVER |
|||
type |
string |
|||
|
The project that the observations are for. Keyword: PROJID |
|||
type |
string |
|||
|
The ID for the sub-array pointing. Keyword: PNT_ID |
|||
type |
string |
|||
|
The name of the source. Keyword: SRC_NAME |
|||
type |
string |
|||
|
The International Terrestrial Reference Frame (ITRF) coordinates of the telescope delay centre. Units: metres Keyword: ITRF |
|||
type |
array |
|||
items |
type |
number |
||
|
The receiver name or ID (instrument). Keyword: FRONTEND |
|||
type |
string |
|||
|
The native polarization of feed. Range: LIN or CIRC Keyword: FD_POLN |
|||
allOf |
type |
string |
||
enum |
LIN, CIRC |
|||
|
Code for sense of feed. For value of +1 for XYZ forming RH set with Z in the direction of propagation. Looking up into the feed of a prime-focus receiver or at the sky). For FD_HAND = +1, the rotation from A (or X) to B (or Y) is counter clockwise or in the direction of increasing Feed Angle (FA) or Position Angle (PA). For circular feeds, FD_HAND = +1 for IEEE LCP on the A (or X) probe. Range: -1 or +1 Keyword: FD_HAND |
|||
allOf |
type |
integer |
||
enum |
-1, 1 |
|||
|
Feed angle of the E-vector for an equal in-phase response from the A(X) and B(Y) probes, measured in the direction of increasing feed angle or position angle (clockwise when looking down on a prime focuse receiver). Units: degrees Range: -180 to 180. Keyword: FD_SANG |
|||
type |
number |
|||
|
The tracking mode for the feed:
Range: FA, CPA, SPA, or TPA Keyword: FD_MODE |
|||
allOf |
type |
string |
||
enum |
FA, CPA, SPA, TPA |
|||
|
The requested angle of feed reference. For feed_mode = ‘FA’ this is respect to the telescope’s reference frame (feed_angle = 0), and for feed_mode = ‘CPA’ this is with respect to the celestial north (parallic angle = 0) or with respect to the Galactic north for coordinate_mode = ‘GALACTIC’. Range: -180 to +180. Keyword: FA_REQ |
|||
type |
number |
|||
|
The oversampling ratio expressed as a fraction as an array of int, with the first value the numerator and the second is the denominator. (e.g. 8/7 is assigned as [8,7]). Range: 8/7 or 4/3 Keyword: OVERSAMP |
|||
type |
array |
|||
items |
type |
integer |
||
|
The tied-array beam’s tracking co-ordinates. As of version 2.2 of the schema this only handles equitorial tracking which means uses RA/Dec J2000.0 coords but PST may support different tracking modes and coordinates the future. |
|||
|
The maximum length of the observation. Units: seconds Range: 30 - 43200 Keyword: SCANLEN_MAX |
|||
type |
number |
|||
|
The length of each output sub-integration. Units: seconds Range: 1 - 60 Keyword: OUTSUBINT |
|||
type |
number |
|||
|
An array of receptor IDs for the receptors included in the sub-array. Keyword: ANTENNA |
|||
type |
array |
|||
items |
type |
string |
||
|
Weight for each receptor. Range: 0 - 1.0 Keyword: ANT_WEIGHTS |
|||
type |
array |
|||
items |
type |
number |
||
|
The number of frequency ranges to be masked. Range: 0 - 1024 Keyword: NMASK |
|||
type |
integer |
|||
default |
0 |
|||
|
A two-dimensional array of length of num_frequency_mask of known RFI frequency ranges to excise from the data. The array contains mask pairs of [f_min, f_max] pairs for known frequency ranges containing RFI not excised by the CBF. The overall dimension of this array is num_frequency_mask x 2. Units: Hz Keyword: FREQ_MASK |
|||
type |
array |
|||
default |
null |
|||
items |
type |
array |
||
items |
type |
number |
||
|
The destination address for the PST output data. Includes IPv4 Address, port number. |
|||
type |
array |
|||
default |
null |
|||
items |
anyOf |
type |
string |
|
type |
integer |
|||
|
Identifier for a test vectore that will be present in the tied-array beam data stream beam CBF and PST. Keyword: TEST_VECTOR |
|||
type |
string |
|||
default |
null |
|||
|
Pulsar Timing specific parameters for the ‘PULSAR_TIMING’ mode configuration. |
|||
default |
null |
|||
|
Pulsar Timing specific parameters for the ‘DYNAMIC_SPECTRUM’ mode configuration. |
|||
default |
null |
|||
|
Pulsar Timing specific parameters for the ‘FLOW_THROUGH’ mode configuration. |
|||
default |
null |
|||
|
The number of stages used to channelize the data: e.g. * for Low, there are 2 stages: 1 in LFAA and 1 in CBF * for Mid, there are 2 stages: 1 in FSP and 1 in PST BF. Keyword: NSTAGE |
|||
type |
integer |
|||
|
List of configuration for each channelization stage. |
|||
type |
array |
|||
items |
Pulsar Timing specific parameters for channelization stage configuration. |
|||
additionalProperties |
False |
PST RA_Dec coordinates 2.4
Pulsar Timing specific parameters for RA/Dec tracking coordinates.
type |
object |
|
properties |
||
|
The coordinate epoch. This can be in Julian date or Modified Julian Date. Units: years Range: >= 2000 Keyword: EQUINOX |
|
type |
number |
|
default |
2000.0 |
|
|
The Right Accession (RA) of the coordinates used for tracking. Valid formats is ‘hh:mm:ss.sss’ or ‘ddd.ddd’ Keyword: STT_CTD1 |
|
type |
string |
|
|
The declination (Dec) of the coordinates used for tracking. Valid formats is ‘hh:mm:ss.sss’ or ‘ddd.ddd’ Keyword: STT_CTD2 |
|
type |
string |
|
additionalProperties |
False |
PST ‘PULSAR_TIMING’ mode configuration 2.4
Pulsar Timing specific parameters for the ‘PULSAR_TIMING’ mode configuration.
type |
object |
|
properties |
||
|
The dispersion measure for coherent/inchoerent de-dispersion. Units: pccm^-3 Range: 0 - 100000 Keyword: DM |
|
type |
number |
|
|
The rotation measure for phase-coherent Faraday rotation correction. Units: radians per metre squared Keyword: RM |
|
type |
number |
|
default |
null |
|
|
The ephemeris of the pulsar being observed. Units: PSRCAT compatible ASCII string Keyword: EPHEMERIS |
|
type |
string |
|
|
Pulsar phase predictor generated from ephemeris. Units: TEMPO2 compatible ASCII string Keyword: PREDICTOR |
|
type |
string |
|
|
The number of output frequency channels. This must be between 1 and the number of observation channels. Keyword: OUTNCHAN |
|
type |
integer |
|
|
The number of output phase bins. Range: 64 - 2048 Keyword: OUTNBIN |
|
type |
integer |
|
|
The number of spectral kurtosis (SK) configurations to apply. Keyword: N_SK |
|
type |
integer |
|
|
List of spectral kurtosis configurations. |
|
type |
array |
|
items |
Pulsar Timing specific parameters for the spectral kurtosis (SK) for the ‘PULSAR_TIMING’ mode. |
|
|
The signal-to-noise ratio (SNR) of the on-pulse flux for the scan. May be used to prematurely end a scan when the integrated SNR reaches the target. A value of 0 indicates there is no limit. Keyword: TARGET_SNR |
|
type |
number |
|
additionalProperties |
False |
PST spectral kurtosis configuration 2.4
Pulsar Timing specific parameters for the spectral kurtosis (SK) for the ‘PULSAR_TIMING’ mode.
type |
object |
||
properties |
|||
|
Frequency ranges for each spectral kurtosis (SK) configuration. Units: Hz Keyword: SK_RNG |
||
type |
array |
||
items |
type |
number |
|
|
The number of input time samples integrated into each spectral kurtosis (SK) statistic. Range: 64 - 1024 Keyword: SK_INTS |
||
type |
integer |
||
|
Spectral kurtosis excision limits (RFI threshold) in units of standard deviations. Range: 1 - 100 Keyword: SK_EXIS |
||
type |
number |
||
additionalProperties |
False |
PST ‘DYNAMIC_SPECTRUM’ mode configuration 2.4
Pulsar Timing specific parameters for the ‘DYNAMIC_SPECTRUM’ mode configuration.
type |
object |
||
properties |
|||
|
The dispersion measture for coherent/inchoerent de-dispersion. This is only required for pulsar timing and dynamic spectrum modes. Range: [0, 100000] Keyword: DM |
||
type |
number |
||
|
The rotation measure for phase-coherent Faraday rotation correction. Units: radians per metre squared Keyword: RM |
||
type |
number |
||
default |
null |
||
|
The number of output frequency channels. This must be between 1 and the number of observation channels. Keyword: OUTNCHAN |
||
type |
integer |
||
|
The Stokes parameters to output when in Dynamic spectrum mode. Range: string with a combination of I, Q, U, and V. Keyword: STOKES_FB |
||
type |
string |
||
|
The number of bits per output sample. Range: 1, 2, 4, 8, 16 or 32 Keyword: NBIT_OUT |
||
allOf |
type |
integer |
|
enum |
1, 2, 4, 8, 16, 32 |
||
|
The number of input samples per output time sample when in Dynamic Spectrum mode. Keyword: TDEC_FB |
||
type |
integer |
||
|
The number of input frequency channels incoherently added to each output frequency channel in Dynamic Spectrum. This is required in addition to output_frequency_channels because some frequency channels may be merged coherently to increase temporal resolution. Keyword: FDEC_FB |
||
type |
integer |
||
|
The number of spectral kurtosis (SK) configurations to apply. Keyword: N_SK |
||
type |
integer |
||
default |
null |
||
|
List of spectral kurtosis configurations. |
||
type |
array |
||
default |
null |
||
items |
Pulsar Timing specific parameters for the spectral kurtosis (SK) for the ‘PULSAR_TIMING’ mode. |
||
|
Scale factor to govern the dynamic range for fixed precision output to be applied during re-quantisation. Keyword: DIGITIZER_SCALE |
||
type |
number |
||
|
Length of data to be used when determining the scaling factors used for fixed precision output during re-quantisation. Units: seconds Keyword: DIGITIZER_LENGTH |
||
type |
number |
||
additionalProperties |
False |
PST ‘FLOW_THROUGH’ mode configuration 2.4
Pulsar Timing specific parameters for the ‘FLOW_THROUGH’ mode configuration.
type |
object |
||
properties |
|||
|
The number of bits per output sample. Range: 1, 2, 4, 8, 16 or 32 Keyword: NBIT_OUT |
||
allOf |
type |
integer |
|
enum |
1, 2, 4, 8, 16, 32 |
||
|
The indices of the first and last (inclusive) frequency channels that define the single contiguous range of frequency channels to be recorded. Keyword: CHAN_FT |
||
type |
array |
||
items |
type |
integer |
|
|
Scale factor applied during re-quantisation that modifies the dynamic range of the fixed precision output. By default, for 2, 4, and 8 bits per sample, data will be scaled to minimize scattered power by adopting the Optimum Input Threshold Spacing for a Uniform Digitizer defined in Table 3 of Jenet & Anderson (1998; PASP 110:1467). For 16 and 32 bits per sample, by default the data will be scaled such that the maximum fixed precision output value (2^{num_bits_out-1}) corresponds to 6 times the standard deviation. For all num_bits_out, the standard deviation is that of either the real or imaginary part of each complex-valued sample. The default scale factor is computed such that, after multiplication by this scale factor, the data would satisfy the conditions described above. This default scale factor is multiplied by requantisation_scale. Therefore, a requantisation_scale value greater than 1 increases the value of the floating point data before it is cast to a fixed precision value, thereby reducing the overhead available to represent RFI and increasing the probability of clipping. Keyword: DIGITIZER_SCALE |
||
type |
number |
||
|
The number of input channels to be recorded. This value must be less than or equal to the output_frequency_channels. Keyword: NCHAN_FT |
||
type |
integer |
||
|
Length of data to be used when determining the scaling factors used for fixed precision output during re-quantisation. Units: seconds Keyword: DIGITIZER_LENGTH |
||
type |
number |
||
additionalProperties |
False |
PST channelization stage configuration 2.4
Pulsar Timing specific parameters for channelization stage configuration.
type |
object |
||
properties |
|||
|
Total number of taps in the prototype filter (i.e. over all arms) used in the stage. Keyword: NSTAP_k |
||
type |
integer |
||
|
An array of filter coefficients that define the (time domain) response function of the prototype filter used in the stage. Length of this is num_filter_taps. Keyword: COEFF_k |
||
type |
array |
||
items |
type |
number |
|
|
The number of frequency channels output by each polyphase filter bank (PFB) for this stage. Keyword: NCHAN_PFB_k |
||
type |
integer |
||
|
The oversampling ratio expressed as a fraction as an array of int, with the first value the numerator and the second is the denominator. (e.g. 8/7 is assigned as [8,7]). Keyword: OVERSAMP_k |
||
type |
array |
||
items |
type |
integer |
|
additionalProperties |
False |
PST beam configuration 2.4
Pulsar Timing specific beam configuration parameters.
As of version 2.3 this schema has no elements and is deprecated
type |
object |
properties |
|
additionalProperties |
False |
Low TMC configure 2.0
Example JSON.
{
"interface": "https://schema.skao.in/ska-low-tmc-configure/2.0",
"transaction_id": "txn-....-00001",
"mccs": {
"stations": [{
"station_id": 1
}, {
"station_id": 2
}],
"subarray_beams": [{
"subarray_beam_id": 1,
"station_ids": [1, 2],
"update_rate": 0.0,
"channels": [
[0, 8, 1, 1],
[8, 8, 2, 1],
[24, 16, 2, 1]
],
"antenna_weights": [1.0, 1.0, 1.0],
"phase_centre": [0.0, 0.0],
"target": {
"reference_frame": "HORIZON",
"target_name": "DriftScan",
"az": 180.0,
"el": 45.0
}
}]
},
"tmc": {
"scan_duration": 10.0
}
}
type |
object |
||||||
properties |
|||||||
|
URI of JSON schema applicable to this JSON payload. |
||||||
type |
string |
||||||
|
A transaction id specific to the command |
||||||
type |
string |
||||||
default |
null |
||||||
|
MCCS configuration specification. |
||||||
type |
object |
||||||
properties |
|||||||
|
IDs of the MCCS stations to configure. Maximum array size = 512, the maximum number of MCCS stations. |
||||||
type |
array |
||||||
default |
null |
||||||
items |
type |
object |
|||||
properties |
|||||||
|
MCCS Station ID. Each ID must be between 1 and 512. |
||||||
type |
integer |
||||||
additionalProperties |
True |
||||||
|
MCCS sub-array beam configuration. |
||||||
type |
array |
||||||
items |
type |
object |
|||||
properties |
|||||||
|
ID of MCCS sub-array beam to configure. ID must be an integer between 1 and 48. |
||||||
type |
integer |
||||||
|
Update rate for pointing information. Value must be 0.0 or greater. TODO: clarify whether this is specified as a frequency or as a cadence, plus units. |
||||||
type |
number |
||||||
|
IDs of MCCS stations within this sub-array beamto configure. Array size must be less than 512, the maximum number of MCCS stations. Each item in the list must be an integer between 1 and 512. |
||||||
type |
array |
||||||
default |
null |
||||||
items |
type |
integer |
|||||
|
Channel block configurations. Each item in the list is a channel block configuration, each specified as a list of 4 numbers as follows: [start channel, number of channels, beam index, sub-station index] Constraints are: 0 < start channel < 376 start channel must be a multiple of 8 8 < number of channels < 48 1 < beam index < 48 1 < sub-station index < 8 |
||||||
type |
array |
||||||
default |
null |
||||||
items |
type |
array |
|||||
items |
type |
integer |
|||||
|
Antenna weights. Maximum array size = 512 (=256 antennas x2 pols per sub-array beam). Antennas signals can be weighted to modify the station beam, varying from 0.0 for full exclusion to potentially 256.0 for an antenna contribution compensated for the number of antennas in the beam. This value is an amplitude multiplier added to that antenna signal before adding into the sum. Weights apply to all channels assigned to a beam. |
||||||
type |
array |
||||||
default |
null |
||||||
items |
type |
number |
|||||
|
Phase centre offset for the station beam, in metres. The reference position for station phase must be modified to reflect antenna weighting and their contribution to the station beam. This offset can be can considered the desired centre of mass for the station. Constraints: array size = 2 -20 < phase centre value < 20 |
||||||
type |
array |
||||||
default |
null |
||||||
items |
type |
number |
|||||
|
Target position for the sub-array beam. Only drift scan targets are currently implemented by MCCS, hence only azimuth and elevation are specified. |
||||||
type |
object |
||||||
default |
null |
||||||
properties |
|||||||
|
Co-ordinate system. Must be HORIZON for drift scan. |
||||||
type |
string |
||||||
|
Name of target. |
||||||
type |
string |
||||||
|
Pointing azimuth in degrees. |
||||||
type |
number |
||||||
|
Pointing elevation in degrees. |
||||||
type |
number |
||||||
additionalProperties |
False |
||||||
additionalProperties |
False |
||||||
additionalProperties |
False |
||||||
|
TMC configuration specification. |
||||||
type |
object |
||||||
default |
null |
||||||
properties |
|||||||
|
Scan duration in seconds. Value must be >= 0.0 |
||||||
type |
number |
||||||
additionalProperties |
True |
||||||
additionalProperties |
False |
Low TMC configure 1.0
Example JSON.
{
"interface": "https://schema.skatelescope.org/ska-low-tmc-configure/1.0",
"mccs": {
"stations": [{
"station_id": 1
}, {
"station_id": 2
}],
"subarray_beams": [{
"subarray_beam_id": 1,
"station_ids": [1, 2],
"update_rate": 0.0,
"channels": [
[0, 8, 1, 1],
[8, 8, 2, 1],
[24, 16, 2, 1]
],
"antenna_weights": [1.0, 1.0, 1.0],
"phase_centre": [0.0, 0.0],
"target": {
"system": "HORIZON",
"name": "DriftScan",
"az": 180.0,
"el": 45.0
}
}]
},
"tmc": {
"scan_duration": 10.0
}
}
type |
object |
||||||
properties |
|||||||
|
URI of JSON schema applicable to this JSON payload. |
||||||
type |
string |
||||||
|
A transaction id specific to the command |
||||||
type |
string |
||||||
default |
null |
||||||
|
MCCS configuration specification. |
||||||
type |
object |
||||||
properties |
|||||||
|
IDs of the MCCS stations to configure. Maximum array size = 512, the maximum number of MCCS stations. |
||||||
type |
array |
||||||
default |
null |
||||||
items |
type |
object |
|||||
properties |
|||||||
|
MCCS Station ID. Each ID must be between 1 and 512. |
||||||
type |
integer |
||||||
additionalProperties |
True |
||||||
|
MCCS sub-array beam configuration. |
||||||
type |
array |
||||||
items |
type |
object |
|||||
properties |
|||||||
|
ID of MCCS sub-array beam to configure. ID must be an integer between 1 and 48. |
||||||
type |
integer |
||||||
|
Update rate for pointing information. Value must be 0.0 or greater. TODO: clarify whether this is specified as a frequency or as a cadence, plus units. |
||||||
type |
number |
||||||
|
IDs of MCCS stations within this sub-array beamto configure. Array size must be less than 512, the maximum number of MCCS stations. Each item in the list must be an integer between 1 and 512. |
||||||
type |
array |
||||||
default |
null |
||||||
items |
type |
integer |
|||||
|
Channel block configurations. Each item in the list is a channel block configuration, each specified as a list of 4 numbers as follows: [start channel, number of channels, beam index, sub-station index] Constraints are: 0 < start channel < 376 start channel must be a multiple of 8 8 < number of channels < 48 1 < beam index < 48 1 < sub-station index < 8 |
||||||
type |
array |
||||||
default |
null |
||||||
items |
type |
array |
|||||
items |
type |
integer |
|||||
|
Antenna weights. Maximum array size = 512 (=256 antennas x2 pols per sub-array beam). Antennas signals can be weighted to modify the station beam, varying from 0.0 for full exclusion to potentially 256.0 for an antenna contribution compensated for the number of antennas in the beam. This value is an amplitude multiplier added to that antenna signal before adding into the sum. Weights apply to all channels assigned to a beam. |
||||||
type |
array |
||||||
default |
null |
||||||
items |
type |
number |
|||||
|
Phase centre offset for the station beam, in metres. The reference position for station phase must be modified to reflect antenna weighting and their contribution to the station beam. This offset can be can considered the desired centre of mass for the station. Constraints: array size = 2 -20 < phase centre value < 20 |
||||||
type |
array |
||||||
default |
null |
||||||
items |
type |
number |
|||||
|
Target position for the sub-array beam. Only drift scan targets are currently implemented by MCCS, hence only azimuth and elevation are specified. |
||||||
type |
object |
||||||
default |
null |
||||||
properties |
|||||||
|
Co-ordinate system. Must be HORIZON for drift scan. |
||||||
type |
string |
||||||
|
Name of target. |
||||||
type |
string |
||||||
|
Pointing azimuth in degrees. |
||||||
type |
number |
||||||
|
Pointing elevation in degrees. |
||||||
type |
number |
||||||
additionalProperties |
False |
||||||
additionalProperties |
False |
||||||
additionalProperties |
False |
||||||
|
TMC configuration specification. |
||||||
type |
object |
||||||
default |
null |
||||||
properties |
|||||||
|
Scan duration in seconds. Value must be >= 0.0 |
||||||
type |
number |
||||||
additionalProperties |
True |
||||||
additionalProperties |
False |
ska-low-tmc-releaseresources
Low TMC resource release 3.0
Example JSON.
{
"interface": "https://schema.skao.int/ska-low-tmc-releaseresources/3.0",
"transaction_id": "txn-....-00001",
"subarray_id": 1,
"release_all": true
}
type |
object |
|
properties |
||
|
URI of JSON schema applicable to this JSON payload. |
|
type |
string |
|
|
A transaction id specific to the command |
|
type |
string |
|
default |
null |
|
|
ID of the sub-array which should release resources. |
|
type |
integer |
|
|
true to release all resources, false to release only the resources defined in this payload. Note: partial resource release for SKA LOW is not implemented and the identification of the resources to release is not yet part of the schema. |
|
type |
boolean |
|
additionalProperties |
False |
Low TMC resource release 2.0
Example JSON.
{
"interface": "https://schema.skao.in/ska-low-tmc-releaseresources/2.0",
"transaction_id": "txn-....-00001",
"subarray_id": 1,
"release_all": true
}
type |
object |
|
properties |
||
|
URI of JSON schema applicable to this JSON payload. |
|
type |
string |
|
|
A transaction id specific to the command |
|
type |
string |
|
default |
null |
|
|
ID of the sub-array which should release resources. |
|
type |
integer |
|
|
true to release all resources, false to release only the resources defined in this payload. Note: partial resource release for SKA LOW is not implemented and the identification of the resources to release is not yet part of the schema. |
|
type |
boolean |
|
additionalProperties |
False |
Low TMC resource release 1.0
Example JSON.
{
"interface": "https://schema.skatelescope.org/ska-low-tmc-releaseresources/1.0",
"subarray_id": 1,
"release_all": true
}
https://schema.skatelescope.org/ska-low-tmc-releaseresources/1.0 |
||
type |
object |
|
properties |
||
|
URI of JSON schema applicable to this JSON payload. |
|
type |
string |
|
|
ID of the sub-array which should release resources. |
|
type |
integer |
|
|
true to release all resources, false to release only the resources defined in this payload. Note: partial resource release for SKA LOW is not implemented and the identification of the resources to release is not yet part of the schema. |
|
type |
boolean |
|
additionalProperties |
False |
ska-low-tmc-scan
Low TMC scan 4.0
Example JSON.
{
"interface": "https://schema.skao.int/ska-low-tmc-scan/4.0",
"transaction_id": "txn-....-00001",
"scan_id": 1,
"subarray_id": 1
}
type |
object |
|
properties |
||
|
URI of JSON schema applicable to this JSON payload. |
|
type |
string |
|
|
A transaction id specific to the command |
|
type |
string |
|
default |
null |
|
|
Scan ID to associate with the data. The scan ID and SBI ID are used together to uniquely associate the data taken with the telescope configuration in effect at the moment of observation. |
|
type |
integer |
|
|
ID of the sub-array which should release resources. |
|
type |
integer |
|
additionalProperties |
False |
Low TMC scan 3.0
Example JSON.
{
"interface": "https://schema.skao.int/ska-low-tmc-scan/3.0",
"transaction_id": "txn-....-00001",
"scan_id": 1
}
type |
object |
|
properties |
||
|
URI of JSON schema applicable to this JSON payload. |
|
type |
string |
|
|
A transaction id specific to the command |
|
type |
string |
|
default |
null |
|
|
Scan ID to associate with the data. The scan ID and SBI ID are used together to uniquely associate the data taken with the telescope configuration in effect at the moment of observation. |
|
type |
integer |
|
additionalProperties |
False |
Low TMC scan 2.0
Example JSON.
{
"interface": "https://schema.skao.in/ska-low-tmc-scan/2.0",
"transaction_id": "txn-....-00001",
"scan_id": 1
}
type |
object |
|
properties |
||
|
URI of JSON schema applicable to this JSON payload. |
|
type |
string |
|
|
A transaction id specific to the command |
|
type |
string |
|
default |
null |
|
|
Scan ID to associate with the data. The scan ID and SBI ID are used together to uniquely associate the data taken with the telescope configuration in effect at the moment of observation. |
|
type |
integer |
|
additionalProperties |
False |
Low TMC scan 1.0
Example JSON.
{
"interface": "https://schema.skatelescope.org/ska-low-tmc-scan/1.0",
"scan_id": 1
}
type |
object |
|
properties |
||
|
URI of JSON schema applicable to this JSON payload. |
|
type |
string |
|
|
A transaction id specific to the command |
|
type |
string |
|
default |
null |
|
|
Scan ID to associate with the data. The scan ID and SBI ID are used together to uniquely associate the data taken with the telescope configuration in effect at the moment of observation. |
|
type |
integer |
|
additionalProperties |
False |
ska-low-tmc-assignedresources
Low TMC assigned resources 1.0
Example JSON.
{
"interface": "https://schema.skatelescope.org/ska-low-tmc-assignedresources/1.0",
"mccs": {
"subarray_beam_ids": [1],
"station_ids": [
[1, 2]
],
"channel_blocks": [3]
}
}
https://schema.skatelescope.org/ska-low-tmc-assignedresources/1.0 |
|||||
type |
object |
||||
properties |
|||||
|
URI of JSON schema applicable to this JSON payload. |
||||
type |
string |
||||
|
Specification of the MCCS resources allocated to this sub-array. |
||||
type |
object |
||||
properties |
|||||
|
IDs of the MCCS sub-array beams allocated to this subarray. Each ID must be between 1 and 48, the maximum number of sub-array beams. |
||||
type |
array |
||||
items |
type |
integer |
|||
|
IDs of MCCS stations allocated to each MCCS sub-array beam. Each ID must be between 1 and 512, the maximum number of stations. |
||||
type |
array |
||||
items |
type |
array |
|||
items |
type |
integer |
|||
|
Number of channel blocks allocated per sub-array beam. Maximum number of channel blocks = 48. |
||||
type |
array |
||||
items |
type |
integer |
|||
additionalProperties |
False |
||||
additionalProperties |
False |
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
}
}
}
type |
object |
|||||
properties |
||||||
|
URI of JSON schema applicable to this JSON payload. |
|||||
type |
string |
|||||
|
A transaction id specific to the command |
|||||
type |
string |
|||||
default |
null |
|||||
|
ID of sub-array targeted by this resource allocation request |
|||||
type |
integer |
|||||
|
Mid Telescope specification for Dish allocation. |
|||||
type |
object |
|||||
properties |
||||||
|
Receptor ids of dishes |
|||||
type |
array |
|||||
items |
type |
string |
||||
additionalProperties |
False |
|||||
|
sdp block for assignres version 0.4 |
|||||
type |
object |
|||||
properties |
||||||
|
type |
string |
||||
default |
null |
|||||
|
type |
string |
||||
pattern |
^txn\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
|||||
default |
null |
|||||
|
Execution block |
|||||
default |
null |
|||||
|
External resources |
|||||
type |
object |
|||||
default |
null |
|||||
properties |
||||||
|
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 |
|||||
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. |
|||||
additionalProperties |
False |
|||||
additionalProperties |
False |
Execution block 0.4
type |
object |
||||
properties |
|||||
|
type |
string |
|||
pattern |
^eb\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
||||
|
type |
number |
|||
|
Free-form information from OET, see ADR-54 |
||||
|
Beam parameters |
||||
type |
array |
||||
items |
Beam parameters for the purpose of the Science Data Processor. |
||||
|
Scan types. Associates scans with per-beam fields & channel configurations |
||||
type |
array |
||||
items |
type |
object |
|||
properties |
|||||
|
type |
string |
|||
|
type |
string |
|||
|
type |
object |
|||
additionalProperties |
False |
||||
|
Channels |
||||
type |
array |
||||
items |
Spectral windows per channel configuration. |
||||
|
Polarisation definitions |
||||
type |
array |
||||
items |
Polarisation definition. |
||||
type |
object |
||||
properties |
|||||
|
type |
string |
|||
|
type |
array |
|||
items |
type |
string |
|||
additionalProperties |
False |
||||
|
Fields / targets |
||||
type |
array |
||||
items |
Fields / Targets |
||||
type |
object |
||||
properties |
|||||
|
type |
string |
|||
|
Phase direction |
||||
type |
object |
||||
properties |
|||||
|
type |
array |
|||
items |
|||||
|
type |
array |
|||
items |
|||||
|
type |
string |
|||
|
const |
ICRF3 |
|||
additionalProperties |
False |
||||
|
type |
string |
|||
additionalProperties |
False |
||||
additionalProperties |
False |
Beam 0.4
Beam parameters for the purpose of the Science Data Processor.
type |
object |
|
properties |
||
|
Name to identify the beam within the SDP configuration. |
|
type |
string |
|
|
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:
|
|
enum |
visibilities, pulsar search, pulsar timing, vlbi, transient buffer |
|
|
type |
integer |
default |
null |
|
|
type |
integer |
default |
null |
|
|
type |
integer |
default |
null |
|
additionalProperties |
False |
Scan channels 0.4
Spectral windows per channel configuration.
type |
object |
|||
properties |
||||
|
||||
|
type |
array |
||
items |
type |
object |
||
properties |
||||
|
||||
|
Number of channels |
|||
type |
integer |
|||
|
First channel ID |
|||
type |
integer |
|||
|
Distance between subsequent channel IDs |
|||
type |
integer |
|||
default |
null |
|||
|
Lower bound of first channel |
|||
type |
number |
|||
|
Upper bound of last channel |
|||
type |
number |
|||
|
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 |
|||||
|
Unique identifier for this processing block. |
||||
type |
string |
||||
pattern |
^pb\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
||||
|
Specification of the workflow to be executed along with configuration parameters for the workflow. |
||||
type |
object |
||||
properties |
|||||
|
The kind of processing script (realtime or batch) |
||||
allOf |
type |
string |
|||
enum |
realtime, batch |
||||
|
The name of the processing script |
||||
type |
string |
||||
|
Version of the processing script. Uses semantic versioning. |
||||
type |
string |
||||
additionalProperties |
False |
||||
|
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 |
||||
|
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
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 |
|||||
|
type |
string |
|||
pattern |
^pb\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
||||
|
type |
array |
|||
items |
type |
string |
|||
additionalProperties |
False |
||||
|
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 |
ska-tmc-configure
Mid TMC configure 2.3
Example JSON.
{
"interface": "https://schema.skao.int/ska-tmc-configure/2.3",
"transaction_id": "txn-....-00001",
"pointing": {
"target": {
"reference_frame": "ICRS",
"target_name": "Polaris Australis",
"ra": "21:08:47.92",
"dec": "-88:57:22.9",
"ca_offset_arcsec": 0.0,
"ie_offset_arcsec": 0.0
},
"correction": "UPDATE"
},
"dish": {
"receiver_band": "1"
},
"csp": {
"interface": "https://schema.skao.int/ska-csp-configure/2.0",
"subarray": {
"subarray_name": "science period 23"
},
"common": {
"config_id": "sbi-mvp01-20200325-00001-science_A",
"frequency_band": "1",
"subarray_id": 1
},
"cbf": {
"fsp": [{
"fsp_id": 1,
"function_mode": "CORR",
"frequency_slice_id": 1,
"integration_factor": 1,
"zoom_factor": 0,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 0,
"output_link_map": [
[0, 0],
[200, 1]
]
}, {
"fsp_id": 2,
"function_mode": "CORR",
"frequency_slice_id": 2,
"integration_factor": 1,
"zoom_factor": 1,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 744,
"output_link_map": [
[0, 4],
[200, 5]
],
"zoom_window_tuning": 650000
}],
"vlbi": {}
},
"pss": {},
"pst": {}
},
"sdp": {
"interface": "https://schema.skao.int/ska-sdp-configure/0.4",
"scan_type": "science_A"
},
"tmc": {
"scan_duration": 10.0,
"partial_configuration": false
}
}
type |
object |
||||
properties |
|||||
|
URI of JSON schema applicable to this JSON payload. |
||||
type |
string |
||||
|
A transaction id specific to the command |
||||
type |
string |
||||
default |
null |
||||
|
Pointing configuration specification. |
||||
type |
object |
||||
default |
null |
||||
properties |
|||||
|
Target configuration coordinates |
||||
type |
object |
||||
default |
null |
||||
properties |
|||||
|
standard celestial reference system such as ICRS |
||||
type |
string |
||||
default |
null |
||||
|
celestial source |
||||
type |
string |
||||
default |
null |
||||
|
Pointing Right Ascension coordinates. |
||||
type |
string |
||||
default |
null |
||||
|
Pointing Declination coordinates. |
||||
type |
string |
||||
default |
null |
||||
|
Cross-elevation offset in arcseconds from the central pointing pointing defined by target’s ra+dec. This is an optional field; if omitted, an offset of 0 arcseconds can be assumed. |
||||
type |
number |
||||
default |
null |
||||
|
Elevation offset in arcseconds from the central pointing position defined by the ra+dec pair. This is an optional field; if omitted, an offset of 0 arcseconds can be assumed. |
||||
type |
number |
||||
default |
null |
||||
additionalProperties |
False |
||||
|
Optional operation to apply to the pointing correction model. Allowed values are MAINTAIN, UPDATE, and RESET, which have the following meaning:
Validation of correction values is case sensitive. If pointing.correction is not specified, the default operation is to make no change to the pointing correction model, equivalent to setting correction=MAINTAIN. |
||||
type |
string |
||||
default |
null |
||||
additionalProperties |
False |
||||
|
Dish band configuration |
||||
type |
object |
||||
default |
null |
||||
properties |
|||||
|
Dish Receiver band configuration |
||||
type |
string |
||||
additionalProperties |
True |
||||
|
CSP configuration specification. |
||||
type |
object |
||||
default |
null |
||||
properties |
|||||
|
type |
string |
|||
|
subarray section, containing the parameters relevant only for the current sub-array device. This section is not forwarded to any subelement. |
||||
type |
object |
||||
default |
null |
||||
properties |
|||||
|
Name and scope of current subarray the sub-array. |
||||
type |
string |
||||
additionalProperties |
False |
||||
|
Common section, containing the parameters and the sections belonging to all CSP subsystems. This section is forwarded to all sub-elements. |
||||
|
Correlator and Beamformer specific parameters. This section contains the parameters relevant only for CBF sub-element. This section is forwarded only to CBF subelement. Most of it to be borrowed from IICD |
||||
|
default |
null |
|||
|
Pulsar Timing specific parameters. To be borrowed from IICD |
||||
type |
object |
||||
default |
null |
||||
properties |
|||||
|
type |
string |
|||
default |
null |
||||
additionalProperties |
False |
||||
additionalProperties |
False |
||||
|
SDP configuration specification. |
||||
type |
object |
||||
default |
null |
||||
properties |
|||||
|
type |
string |
|||
default |
null |
||||
|
type |
string |
|||
pattern |
^txn\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
||||
default |
null |
||||
|
type |
string |
|||
|
type |
array |
|||
default |
null |
||||
items |
type |
object |
|||
properties |
|||||
|
const |
(any scan type) |
|||
|
type |
string |
|||
|
type |
object |
|||
additionalProperties |
False |
||||
additionalProperties |
False |
||||
|
TMC Mid TMC configuration specification. |
||||
type |
object |
||||
default |
null |
||||
properties |
|||||
|
Scan duration in seconds. Value must be >= 0.0 |
||||
type |
number |
||||
default |
null |
||||
|
Partial Configuration Flag. Partial configurations assume that previously set state is maintained, and undergo less strict JSON validation. |
||||
type |
boolean |
||||
default |
null |
||||
additionalProperties |
False |
||||
additionalProperties |
False |
Common configuration schema 2.0
Common section, containing the parameters and the sections belonging to all CSP subsystems. This section is forwarded to all sub-elements.
type |
object |
||
properties |
|||
|
type |
string |
|
default |
null |
||
|
Subarray number |
||
type |
integer |
||
|
Execution block ID to associate scan configs to an observation. This ID is used for associating generated data, especially data products, for a given observation. Multiple scans can be linked to one observation and this ID is used as metadata to associate the data products from all scans of the same observation. This ID does not have to be unique for a scan configuration but should be unique for different observations. For example, all the data and weights files will have an EB_ID header value populated with the value supplied in this field. |
||
type |
string |
||
pattern |
^eb\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
||
default |
null |
||
|
Center frequency for the Band-of-Interest. Required if Band is 5a or 5b; not specified for other Bands (not configurable for Band 1, 2, 3 and 4). Input for Band 5a and 5b consists of two 2.5 GHz streams; the center frequency can be independently tuned for each stream. The following nomenclature is used to refer to Band 5a and 5b streams: 5a1, 5a2, 5b1, 5b2. |
||
type |
array |
||
default |
null |
||
items |
type |
number |
|
|
Frequency band applies for all the receptors (VCCs) that belong to the sub-array. |
||
type |
string |
||
pattern |
^(1|2|3|4|5(a|b))$ |
||
additionalProperties |
False |
CBF config 2.0
Correlator and Beamformer specific parameters. This section contains the parameters relevant only for CBF sub-element. This section is forwarded only to CBF subelement. Most of it to be borrowed from IICD
type |
object |
|
properties |
||
|
Optionally, an offset can be specified so that the entire observed band is shifted (to accommodate a Zoom Window that crosses a ‘natural’ Frequency Slice boundary). If specified, applies for all the receptors in the sub-array. Bands 1, 2, 3 and 4: input from the receptor consists of a single data stream; the Frequency Band Offset (FBO) should be specified for Stream 1 only. Bands 5a and 5b: input from the receptor consists of two data streams; the FBO can be specified for each stream independently. Note: For Band 5a and 5b the frequency shift is performed by the receptor (DISH). Note: This is optional and does not need to be implemented in PI3, but would be great for demo; if Team Buttons is looking for opportunities to showcase interesting GUIs, Zoom Windows are perfect opportunity (would require TMC and CSP to support these two parameters, corrBandwidth values > 0 and zoom window tuning.) |
|
type |
integer |
|
default |
null |
|
|
See frequencyBandOffsetStream1 |
|
type |
integer |
|
default |
null |
|
|
FQDN of TMC.DelayModel TANGO attribute which exposes delay values for all the dishes assigned to a Subarray in JSON format. Delay values are updated every 10 seconds. |
|
type |
string |
|
default |
null |
|
|
The same model applies for all receptors that belong to the subarray. Delivered by TMC using publish-subscribe mechanism (see ICD Section 3.8.8.5.3). The Doppler phase correction, by default, applies only to the CSP_Mid Processing Mode Correlation; optionally may apply to other Processing Modes as well. |
|
type |
string |
|
default |
null |
|
|
Specified as needed in advance of the scan start and/or during the scan. Delivered using publish-subscribe mechanism (see ICD Section 3.8.8.5.7). |
|
type |
object |
|
default |
null |
|
properties |
||
additionalProperties |
True |
|
|
type |
array |
items |
||
|
Very Long Baseline Interferometry specific parameters. To be borrowed from IICD This section contains the parameters relevant only for VLBI. This section is forwarded only to CSP subelement. |
|
default |
null |
|
|
type |
array |
default |
null |
|
items |
Up to two 300 MHz Search Windows can be optionally configured and used as input for Transient Data Capture and/or Pulsar Search beam-forming. |
|
additionalProperties |
False |
FSP config 2.0
type |
object |
||||
properties |
|||||
|
type |
integer |
|||
|
allOf |
type |
string |
||
enum |
CORR, PSS-BF, PST-BF, VLBI |
||||
|
Optionally a subset of receptors to be correlated can be specified. If not specified, all receptors that belong to the subarray are cross-correlated (i.e. visibilities for all the baselines in the subarray are generated and transmitted to SDP). Valid receptor IDs include: SKA dishes: “SKAnnn”, where nnn is a zero padded integer in the range of 001 to 133. MeerKAT dishes: “MKTnnn”, where nnn is a zero padded integer in the range of 000 to 063. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
string |
|||
pattern |
|
||||
|
Frequency Slice to be processed on this FSP (valid range depends on the Frequency Band). |
||||
type |
integer |
||||
|
Bandwidth to be correlated calculated as FSBW/2n, where n is in range [0..6]. When n=0 the full Frequency Slice bandwidth is correlated. BW > 0 implies ‘Zoom Window’ configuration; the spectral Zoom Window tuning must be specified. |
||||
type |
integer |
||||
|
The Zoom Window tuning provided in absolute terms as RF center frequency. Based on that, CSP_Mid calculates tuning within the data stream received from the receptor. Must be selected so that the entire Zoom Window is within the Frequency Slice. If partially out of the FS a warning is generated. If completely outside of the FS an exception is generated. Step size <= 0.01MHz. The Frequency Band Offset can be used to shift the entire observed band in order to accommodate a Zoom Window that spans across a Frequency Slice boundary. |
||||
type |
integer |
||||
default |
null |
||||
|
Integration time for the correlation products, defines multiple of 140 milliseconds. |
||||
type |
integer |
||||
|
Table of up to 20 x 2 integers. Each of entries contains:
Explanation: Each FSP produces 14880 (TBC) fine channels across the correlated bandwidth (Frequency Slice or Zoom Window). Channels are evenly spaced in frequency. TM shall provide the table that for each FSP and each group of 744 channels (there are 20 groups per FSP) indicates the channel averaging factor. More precisely, for each group the TMC provided table specifies:
If no entry is present for an FSP, the averaging settings of the previous FSP are still applicable. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
type |
integer |
|||
|
Channel ID to use for visibilities of the first channel produced by this FSP. For example, if the channel offset is 5000 the first channel group would span IDs 5000-5743. Note that this offset does not apply to channel maps in this structure (such as channelAveragingMap or outputHost). |
||||
type |
integer |
||||
default |
null |
||||
|
Output links to emit visibilities on for every channel, given as a list of start channel ID to link ID. Where no value is given for concrete channel, the previous value should be used. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
anyOf |
type |
integer |
||
type |
string |
||||
|
Output host to send visibilities to for every channel, given as a list of start channel ID to host IP addresses in dot-decimal notation. Where no value is given for a concrete channel, the previous value should be used. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
anyOf |
type |
integer |
||
type |
string |
||||
|
Output port to send visibilities to for every channel, given as a list of start channel ID to port number. Where no value is given for a concrete channel, the previous value should be used. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
type |
integer |
|||
|
Output MAC address to send visibilities to for every channel, given as a list of start channel ID to IEEE 802 MAC addresses. Where no value is given for a concrete channel, the previous value should be used. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
anyOf |
type |
integer |
||
type |
string |
||||
additionalProperties |
False |
VLBI config 2.0
Very Long Baseline Interferometry specific parameters. To be borrowed from IICD This section contains the parameters relevant only for VLBI. This section is forwarded only to CSP subelement.
type |
object |
|
properties |
||
|
type |
string |
additionalProperties |
False |
Search window config 2.0
Up to two 300 MHz Search Windows can be optionally configured and used as input for Transient Data Capture and/or Pulsar Search beam-forming.
type |
object |
|||
properties |
||||
|
Identifier of the 300MHz Search Window. Unique within a sub-array. |
|||
type |
integer |
|||
|
The Search Window tuning is provided in absolute terms as RF center frequency. The Search Window must be placed within the observed band. If partially out of the observed Band a warning is generated. If completely outside of the observed Band an exception is generated. |
|||
type |
integer |
|||
|
Enable / disable Transient Data Capturefor the Search Window. |
|||
type |
boolean |
|||
|
Number of bits per sample (for the Transient Data Capture). Required if TDC is enabled, otherwise not specified. |
|||
type |
integer |
|||
default |
null |
|||
|
Users can trade the period of time for which data are saved and transmitted for the sample bit-width and/or the number of Search Windows. The exact information regarding the memory capacity per receptor and supported range will be provided in construction. The epoch is specified in the command that triggers TDC off-loading (transmission of data). |
|||
type |
integer |
|||
default |
null |
|||
|
see tdcPeriodBeforeEpoch |
|||
type |
integer |
|||
default |
null |
|||
|
Destination addresses (MAC, IP, port) for off-loading of the content of the Transient Data Capture Buffer, specified per receptor. The destination addresses for the content of the Transient Data Capture can be provided either as a part of the scan configuration or by the command that triggers transmission of the captured data. The latter, if provided, overrides previously set addresses. Required if TDC is enabled, otherwise not specified. |
|||
type |
array |
|||
default |
null |
|||
items |
anyOf |
type |
integer |
|
type |
string |
|||
additionalProperties |
False |
PSS configuration 2.0
type |
object |
|
properties |
||
|
type |
string |
default |
null |
|
additionalProperties |
False |
Mid TMC configure 2.2
Example JSON.
{
"interface": "https://schema.skao.int/ska-tmc-configure/2.2",
"transaction_id": "txn-....-00001",
"pointing": {
"target": {
"reference_frame": "ICRS",
"target_name": "Polaris Australis",
"ra": "21:08:47.92",
"dec": "-88:57:22.9",
"ca_offset_arcsec": 0.0,
"ie_offset_arcsec": 0.0
}
},
"dish": {
"receiver_band": "1"
},
"csp": {
"interface": "https://schema.skao.int/ska-csp-configure/2.0",
"subarray": {
"subarray_name": "science period 23"
},
"common": {
"config_id": "sbi-mvp01-20200325-00001-science_A",
"frequency_band": "1",
"subarray_id": 1
},
"cbf": {
"fsp": [{
"fsp_id": 1,
"function_mode": "CORR",
"frequency_slice_id": 1,
"integration_factor": 1,
"zoom_factor": 0,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 0,
"output_link_map": [
[0, 0],
[200, 1]
]
}, {
"fsp_id": 2,
"function_mode": "CORR",
"frequency_slice_id": 2,
"integration_factor": 1,
"zoom_factor": 1,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 744,
"output_link_map": [
[0, 4],
[200, 5]
],
"zoom_window_tuning": 650000
}],
"vlbi": {}
},
"pss": {},
"pst": {}
},
"sdp": {
"interface": "https://schema.skao.int/ska-sdp-configure/0.4",
"scan_type": "science_A"
},
"tmc": {
"scan_duration": 10.0,
"partial_configuration": false
}
}
type |
object |
||||
properties |
|||||
|
URI of JSON schema applicable to this JSON payload. |
||||
type |
string |
||||
|
A transaction id specific to the command |
||||
type |
string |
||||
default |
null |
||||
|
Pointing configuration specification. |
||||
type |
object |
||||
properties |
|||||
|
Target configuration coordinates |
||||
type |
object |
||||
properties |
|||||
|
standard celestial reference system such as ICRS |
||||
type |
string |
||||
default |
null |
||||
|
celestial source |
||||
type |
string |
||||
default |
null |
||||
|
Pointing Right Ascension coordinates. |
||||
type |
string |
||||
default |
null |
||||
|
Pointing Declination coordinates. |
||||
type |
string |
||||
default |
null |
||||
|
Cross-elevation offset in arcseconds from the central pointing pointing defined by target’s ra+dec. This is an optional field; if omitted, an offset of 0 arcseconds can be assumed. |
||||
type |
number |
||||
default |
null |
||||
|
Elevation offset in arcseconds from the central pointing position defined by the ra+dec pair. This is an optional field; if omitted, an offset of 0 arcseconds can be assumed. |
||||
type |
number |
||||
default |
null |
||||
additionalProperties |
False |
||||
additionalProperties |
False |
||||
|
Dish band configuration |
||||
type |
object |
||||
default |
null |
||||
properties |
|||||
|
Dish Receiver band configuration |
||||
type |
string |
||||
additionalProperties |
True |
||||
|
CSP configuration specification. |
||||
type |
object |
||||
default |
null |
||||
properties |
|||||
|
type |
string |
|||
|
subarray section, containing the parameters relevant only for the current sub-array device. This section is not forwarded to any subelement. |
||||
type |
object |
||||
default |
null |
||||
properties |
|||||
|
Name and scope of current subarray the sub-array. |
||||
type |
string |
||||
additionalProperties |
False |
||||
|
Common section, containing the parameters and the sections belonging to all CSP subsystems. This section is forwarded to all sub-elements. |
||||
|
Correlator and Beamformer specific parameters. This section contains the parameters relevant only for CBF sub-element. This section is forwarded only to CBF subelement. Most of it to be borrowed from IICD |
||||
|
default |
null |
|||
|
Pulsar Timing specific parameters. To be borrowed from IICD |
||||
type |
object |
||||
default |
null |
||||
properties |
|||||
|
type |
string |
|||
default |
null |
||||
additionalProperties |
False |
||||
additionalProperties |
False |
||||
|
SDP configuration specification. |
||||
type |
object |
||||
default |
null |
||||
properties |
|||||
|
type |
string |
|||
default |
null |
||||
|
type |
string |
|||
pattern |
^txn\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
||||
default |
null |
||||
|
type |
string |
|||
|
type |
array |
|||
default |
null |
||||
items |
type |
object |
|||
properties |
|||||
|
const |
(any scan type) |
|||
|
type |
string |
|||
|
type |
object |
|||
additionalProperties |
False |
||||
additionalProperties |
False |
||||
|
TMC Mid TMC configuration specification. |
||||
type |
object |
||||
default |
null |
||||
properties |
|||||
|
Scan duration in seconds. Value must be >= 0.0 |
||||
type |
number |
||||
default |
null |
||||
|
Partial Configuration Flag. Partial configurations assume that previously set state is maintained, and undergo less strict JSON validation. |
||||
type |
boolean |
||||
default |
null |
||||
additionalProperties |
False |
||||
additionalProperties |
False |
Common configuration schema 2.0
Common section, containing the parameters and the sections belonging to all CSP subsystems. This section is forwarded to all sub-elements.
type |
object |
||
properties |
|||
|
type |
string |
|
default |
null |
||
|
Subarray number |
||
type |
integer |
||
|
Execution block ID to associate scan configs to an observation. This ID is used for associating generated data, especially data products, for a given observation. Multiple scans can be linked to one observation and this ID is used as metadata to associate the data products from all scans of the same observation. This ID does not have to be unique for a scan configuration but should be unique for different observations. For example, all the data and weights files will have an EB_ID header value populated with the value supplied in this field. |
||
type |
string |
||
pattern |
^eb\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
||
default |
null |
||
|
Center frequency for the Band-of-Interest. Required if Band is 5a or 5b; not specified for other Bands (not configurable for Band 1, 2, 3 and 4). Input for Band 5a and 5b consists of two 2.5 GHz streams; the center frequency can be independently tuned for each stream. The following nomenclature is used to refer to Band 5a and 5b streams: 5a1, 5a2, 5b1, 5b2. |
||
type |
array |
||
default |
null |
||
items |
type |
number |
|
|
Frequency band applies for all the receptors (VCCs) that belong to the sub-array. |
||
type |
string |
||
pattern |
^(1|2|3|4|5(a|b))$ |
||
additionalProperties |
False |
CBF config 2.0
Correlator and Beamformer specific parameters. This section contains the parameters relevant only for CBF sub-element. This section is forwarded only to CBF subelement. Most of it to be borrowed from IICD
type |
object |
|
properties |
||
|
Optionally, an offset can be specified so that the entire observed band is shifted (to accommodate a Zoom Window that crosses a ‘natural’ Frequency Slice boundary). If specified, applies for all the receptors in the sub-array. Bands 1, 2, 3 and 4: input from the receptor consists of a single data stream; the Frequency Band Offset (FBO) should be specified for Stream 1 only. Bands 5a and 5b: input from the receptor consists of two data streams; the FBO can be specified for each stream independently. Note: For Band 5a and 5b the frequency shift is performed by the receptor (DISH). Note: This is optional and does not need to be implemented in PI3, but would be great for demo; if Team Buttons is looking for opportunities to showcase interesting GUIs, Zoom Windows are perfect opportunity (would require TMC and CSP to support these two parameters, corrBandwidth values > 0 and zoom window tuning.) |
|
type |
integer |
|
default |
null |
|
|
See frequencyBandOffsetStream1 |
|
type |
integer |
|
default |
null |
|
|
FQDN of TMC.DelayModel TANGO attribute which exposes delay values for all the dishes assigned to a Subarray in JSON format. Delay values are updated every 10 seconds. |
|
type |
string |
|
default |
null |
|
|
The same model applies for all receptors that belong to the subarray. Delivered by TMC using publish-subscribe mechanism (see ICD Section 3.8.8.5.3). The Doppler phase correction, by default, applies only to the CSP_Mid Processing Mode Correlation; optionally may apply to other Processing Modes as well. |
|
type |
string |
|
default |
null |
|
|
Specified as needed in advance of the scan start and/or during the scan. Delivered using publish-subscribe mechanism (see ICD Section 3.8.8.5.7). |
|
type |
object |
|
default |
null |
|
properties |
||
additionalProperties |
True |
|
|
type |
array |
items |
||
|
Very Long Baseline Interferometry specific parameters. To be borrowed from IICD This section contains the parameters relevant only for VLBI. This section is forwarded only to CSP subelement. |
|
default |
null |
|
|
type |
array |
default |
null |
|
items |
Up to two 300 MHz Search Windows can be optionally configured and used as input for Transient Data Capture and/or Pulsar Search beam-forming. |
|
additionalProperties |
False |
FSP config 2.0
type |
object |
||||
properties |
|||||
|
type |
integer |
|||
|
allOf |
type |
string |
||
enum |
CORR, PSS-BF, PST-BF, VLBI |
||||
|
Optionally a subset of receptors to be correlated can be specified. If not specified, all receptors that belong to the subarray are cross-correlated (i.e. visibilities for all the baselines in the subarray are generated and transmitted to SDP). Valid receptor IDs include: SKA dishes: “SKAnnn”, where nnn is a zero padded integer in the range of 001 to 133. MeerKAT dishes: “MKTnnn”, where nnn is a zero padded integer in the range of 000 to 063. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
string |
|||
pattern |
|
||||
|
Frequency Slice to be processed on this FSP (valid range depends on the Frequency Band). |
||||
type |
integer |
||||
|
Bandwidth to be correlated calculated as FSBW/2n, where n is in range [0..6]. When n=0 the full Frequency Slice bandwidth is correlated. BW > 0 implies ‘Zoom Window’ configuration; the spectral Zoom Window tuning must be specified. |
||||
type |
integer |
||||
|
The Zoom Window tuning provided in absolute terms as RF center frequency. Based on that, CSP_Mid calculates tuning within the data stream received from the receptor. Must be selected so that the entire Zoom Window is within the Frequency Slice. If partially out of the FS a warning is generated. If completely outside of the FS an exception is generated. Step size <= 0.01MHz. The Frequency Band Offset can be used to shift the entire observed band in order to accommodate a Zoom Window that spans across a Frequency Slice boundary. |
||||
type |
integer |
||||
default |
null |
||||
|
Integration time for the correlation products, defines multiple of 140 milliseconds. |
||||
type |
integer |
||||
|
Table of up to 20 x 2 integers. Each of entries contains:
Explanation: Each FSP produces 14880 (TBC) fine channels across the correlated bandwidth (Frequency Slice or Zoom Window). Channels are evenly spaced in frequency. TM shall provide the table that for each FSP and each group of 744 channels (there are 20 groups per FSP) indicates the channel averaging factor. More precisely, for each group the TMC provided table specifies:
If no entry is present for an FSP, the averaging settings of the previous FSP are still applicable. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
type |
integer |
|||
|
Channel ID to use for visibilities of the first channel produced by this FSP. For example, if the channel offset is 5000 the first channel group would span IDs 5000-5743. Note that this offset does not apply to channel maps in this structure (such as channelAveragingMap or outputHost). |
||||
type |
integer |
||||
default |
null |
||||
|
Output links to emit visibilities on for every channel, given as a list of start channel ID to link ID. Where no value is given for concrete channel, the previous value should be used. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
anyOf |
type |
integer |
||
type |
string |
||||
|
Output host to send visibilities to for every channel, given as a list of start channel ID to host IP addresses in dot-decimal notation. Where no value is given for a concrete channel, the previous value should be used. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
anyOf |
type |
integer |
||
type |
string |
||||
|
Output port to send visibilities to for every channel, given as a list of start channel ID to port number. Where no value is given for a concrete channel, the previous value should be used. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
type |
integer |
|||
|
Output MAC address to send visibilities to for every channel, given as a list of start channel ID to IEEE 802 MAC addresses. Where no value is given for a concrete channel, the previous value should be used. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
anyOf |
type |
integer |
||
type |
string |
||||
additionalProperties |
False |
VLBI config 2.0
Very Long Baseline Interferometry specific parameters. To be borrowed from IICD This section contains the parameters relevant only for VLBI. This section is forwarded only to CSP subelement.
type |
object |
|
properties |
||
|
type |
string |
additionalProperties |
False |
Search window config 2.0
Up to two 300 MHz Search Windows can be optionally configured and used as input for Transient Data Capture and/or Pulsar Search beam-forming.
type |
object |
|||
properties |
||||
|
Identifier of the 300MHz Search Window. Unique within a sub-array. |
|||
type |
integer |
|||
|
The Search Window tuning is provided in absolute terms as RF center frequency. The Search Window must be placed within the observed band. If partially out of the observed Band a warning is generated. If completely outside of the observed Band an exception is generated. |
|||
type |
integer |
|||
|
Enable / disable Transient Data Capturefor the Search Window. |
|||
type |
boolean |
|||
|
Number of bits per sample (for the Transient Data Capture). Required if TDC is enabled, otherwise not specified. |
|||
type |
integer |
|||
default |
null |
|||
|
Users can trade the period of time for which data are saved and transmitted for the sample bit-width and/or the number of Search Windows. The exact information regarding the memory capacity per receptor and supported range will be provided in construction. The epoch is specified in the command that triggers TDC off-loading (transmission of data). |
|||
type |
integer |
|||
default |
null |
|||
|
see tdcPeriodBeforeEpoch |
|||
type |
integer |
|||
default |
null |
|||
|
Destination addresses (MAC, IP, port) for off-loading of the content of the Transient Data Capture Buffer, specified per receptor. The destination addresses for the content of the Transient Data Capture can be provided either as a part of the scan configuration or by the command that triggers transmission of the captured data. The latter, if provided, overrides previously set addresses. Required if TDC is enabled, otherwise not specified. |
|||
type |
array |
|||
default |
null |
|||
items |
anyOf |
type |
integer |
|
type |
string |
|||
additionalProperties |
False |
PSS configuration 2.0
type |
object |
|
properties |
||
|
type |
string |
default |
null |
|
additionalProperties |
False |
Mid TMC configure 2.1
Example JSON.
{
"interface": "https://schema.skao.int/ska-tmc-configure/2.1",
"transaction_id": "txn-....-00001",
"pointing": {
"target": {
"reference_frame": "ICRS",
"target_name": "Polaris Australis",
"ra": "21:08:47.92",
"dec": "-88:57:22.9"
}
},
"dish": {
"receiver_band": "1"
},
"csp": {
"interface": "https://schema.skao.int/ska-csp-configure/2.0",
"subarray": {
"subarray_name": "science period 23"
},
"common": {
"config_id": "sbi-mvp01-20200325-00001-science_A",
"frequency_band": "1",
"subarray_id": 1
},
"cbf": {
"fsp": [{
"fsp_id": 1,
"function_mode": "CORR",
"frequency_slice_id": 1,
"integration_factor": 1,
"zoom_factor": 0,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 0,
"output_link_map": [
[0, 0],
[200, 1]
]
}, {
"fsp_id": 2,
"function_mode": "CORR",
"frequency_slice_id": 2,
"integration_factor": 1,
"zoom_factor": 1,
"channel_averaging_map": [
[0, 2],
[744, 0]
],
"channel_offset": 744,
"output_link_map": [
[0, 4],
[200, 5]
],
"zoom_window_tuning": 650000
}],
"vlbi": {}
},
"pss": {},
"pst": {}
},
"sdp": {
"interface": "https://schema.skao.int/ska-sdp-configure/0.4",
"scan_type": "science_A"
},
"tmc": {
"scan_duration": 10.0
}
}
type |
object |
||||
properties |
|||||
|
URI of JSON schema applicable to this JSON payload. |
||||
type |
string |
||||
|
A transaction id specific to the command |
||||
type |
string |
||||
default |
null |
||||
|
Pointing configuration specification. |
||||
type |
object |
||||
properties |
|||||
|
Target configuration coordinates |
||||
type |
object |
||||
properties |
|||||
|
standard celestial reference system such as ICRS |
||||
type |
string |
||||
default |
null |
||||
|
celestial source |
||||
type |
string |
||||
default |
null |
||||
|
Pointing Right Ascension coordinates. |
||||
type |
string |
||||
default |
null |
||||
|
Pointing Declination coordinates. |
||||
type |
string |
||||
default |
null |
||||
additionalProperties |
False |
||||
additionalProperties |
False |
||||
|
Dish band configuration |
||||
type |
object |
||||
default |
null |
||||
properties |
|||||
|
Dish Receiver band configuration |
||||
type |
string |
||||
additionalProperties |
True |
||||
|
CSP configuration specification. |
||||
type |
object |
||||
default |
null |
||||
properties |
|||||
|
type |
string |
|||
|
subarray section, containing the parameters relevant only for the current sub-array device. This section is not forwarded to any subelement. |
||||
type |
object |
||||
default |
null |
||||
properties |
|||||
|
Name and scope of current subarray the sub-array. |
||||
type |
string |
||||
additionalProperties |
False |
||||
|
Common section, containing the parameters and the sections belonging to all CSP subsystems. This section is forwarded to all sub-elements. |
||||
|
Correlator and Beamformer specific parameters. This section contains the parameters relevant only for CBF sub-element. This section is forwarded only to CBF subelement. Most of it to be borrowed from IICD |
||||
|
default |
null |
|||
|
Pulsar Timing specific parameters. To be borrowed from IICD |
||||
type |
object |
||||
default |
null |
||||
properties |
|||||
|
type |
string |
|||
default |
null |
||||
additionalProperties |
False |
||||
additionalProperties |
False |
||||
|
SDP configuration specification. |
||||
type |
object |
||||
default |
null |
||||
properties |
|||||
|
type |
string |
|||
default |
null |
||||
|
type |
string |
|||
pattern |
^txn\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
||||
default |
null |
||||
|
type |
string |
|||
|
type |
array |
|||
default |
null |
||||
items |
type |
object |
|||
properties |
|||||
|
const |
(any scan type) |
|||
|
type |
string |
|||
|
type |
object |
|||
additionalProperties |
False |
||||
additionalProperties |
False |
||||
|
TMC Mid TMC configuration specification. |
||||
type |
object |
||||
default |
null |
||||
properties |
|||||
|
Scan duration in seconds. Value must be >= 0.0 |
||||
type |
number |
||||
default |
null |
||||
additionalProperties |
False |
||||
additionalProperties |
False |
Common configuration schema 2.0
Common section, containing the parameters and the sections belonging to all CSP subsystems. This section is forwarded to all sub-elements.
type |
object |
||
properties |
|||
|
type |
string |
|
default |
null |
||
|
Subarray number |
||
type |
integer |
||
|
Execution block ID to associate scan configs to an observation. This ID is used for associating generated data, especially data products, for a given observation. Multiple scans can be linked to one observation and this ID is used as metadata to associate the data products from all scans of the same observation. This ID does not have to be unique for a scan configuration but should be unique for different observations. For example, all the data and weights files will have an EB_ID header value populated with the value supplied in this field. |
||
type |
string |
||
pattern |
^eb\-[a-z0-9]+\-[0-9]{8}\-[a-z0-9]+$ |
||
default |
null |
||
|
Center frequency for the Band-of-Interest. Required if Band is 5a or 5b; not specified for other Bands (not configurable for Band 1, 2, 3 and 4). Input for Band 5a and 5b consists of two 2.5 GHz streams; the center frequency can be independently tuned for each stream. The following nomenclature is used to refer to Band 5a and 5b streams: 5a1, 5a2, 5b1, 5b2. |
||
type |
array |
||
default |
null |
||
items |
type |
number |
|
|
Frequency band applies for all the receptors (VCCs) that belong to the sub-array. |
||
type |
string |
||
pattern |
^(1|2|3|4|5(a|b))$ |
||
additionalProperties |
False |
CBF config 2.0
Correlator and Beamformer specific parameters. This section contains the parameters relevant only for CBF sub-element. This section is forwarded only to CBF subelement. Most of it to be borrowed from IICD
type |
object |
|
properties |
||
|
Optionally, an offset can be specified so that the entire observed band is shifted (to accommodate a Zoom Window that crosses a ‘natural’ Frequency Slice boundary). If specified, applies for all the receptors in the sub-array. Bands 1, 2, 3 and 4: input from the receptor consists of a single data stream; the Frequency Band Offset (FBO) should be specified for Stream 1 only. Bands 5a and 5b: input from the receptor consists of two data streams; the FBO can be specified for each stream independently. Note: For Band 5a and 5b the frequency shift is performed by the receptor (DISH). Note: This is optional and does not need to be implemented in PI3, but would be great for demo; if Team Buttons is looking for opportunities to showcase interesting GUIs, Zoom Windows are perfect opportunity (would require TMC and CSP to support these two parameters, corrBandwidth values > 0 and zoom window tuning.) |
|
type |
integer |
|
default |
null |
|
|
See frequencyBandOffsetStream1 |
|
type |
integer |
|
default |
null |
|
|
FQDN of TMC.DelayModel TANGO attribute which exposes delay values for all the dishes assigned to a Subarray in JSON format. Delay values are updated every 10 seconds. |
|
type |
string |
|
default |
null |
|
|
The same model applies for all receptors that belong to the subarray. Delivered by TMC using publish-subscribe mechanism (see ICD Section 3.8.8.5.3). The Doppler phase correction, by default, applies only to the CSP_Mid Processing Mode Correlation; optionally may apply to other Processing Modes as well. |
|
type |
string |
|
default |
null |
|
|
Specified as needed in advance of the scan start and/or during the scan. Delivered using publish-subscribe mechanism (see ICD Section 3.8.8.5.7). |
|
type |
object |
|
default |
null |
|
properties |
||
additionalProperties |
True |
|
|
type |
array |
items |
||
|
Very Long Baseline Interferometry specific parameters. To be borrowed from IICD This section contains the parameters relevant only for VLBI. This section is forwarded only to CSP subelement. |
|
default |
null |
|
|
type |
array |
default |
null |
|
items |
Up to two 300 MHz Search Windows can be optionally configured and used as input for Transient Data Capture and/or Pulsar Search beam-forming. |
|
additionalProperties |
False |
FSP config 2.0
type |
object |
||||
properties |
|||||
|
type |
integer |
|||
|
allOf |
type |
string |
||
enum |
CORR, PSS-BF, PST-BF, VLBI |
||||
|
Optionally a subset of receptors to be correlated can be specified. If not specified, all receptors that belong to the subarray are cross-correlated (i.e. visibilities for all the baselines in the subarray are generated and transmitted to SDP). Valid receptor IDs include: SKA dishes: “SKAnnn”, where nnn is a zero padded integer in the range of 001 to 133. MeerKAT dishes: “MKTnnn”, where nnn is a zero padded integer in the range of 000 to 063. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
string |
|||
pattern |
|
||||
|
Frequency Slice to be processed on this FSP (valid range depends on the Frequency Band). |
||||
type |
integer |
||||
|
Bandwidth to be correlated calculated as FSBW/2n, where n is in range [0..6]. When n=0 the full Frequency Slice bandwidth is correlated. BW > 0 implies ‘Zoom Window’ configuration; the spectral Zoom Window tuning must be specified. |
||||
type |
integer |
||||
|
The Zoom Window tuning provided in absolute terms as RF center frequency. Based on that, CSP_Mid calculates tuning within the data stream received from the receptor. Must be selected so that the entire Zoom Window is within the Frequency Slice. If partially out of the FS a warning is generated. If completely outside of the FS an exception is generated. Step size <= 0.01MHz. The Frequency Band Offset can be used to shift the entire observed band in order to accommodate a Zoom Window that spans across a Frequency Slice boundary. |
||||
type |
integer |
||||
default |
null |
||||
|
Integration time for the correlation products, defines multiple of 140 milliseconds. |
||||
type |
integer |
||||
|
Table of up to 20 x 2 integers. Each of entries contains:
Explanation: Each FSP produces 14880 (TBC) fine channels across the correlated bandwidth (Frequency Slice or Zoom Window). Channels are evenly spaced in frequency. TM shall provide the table that for each FSP and each group of 744 channels (there are 20 groups per FSP) indicates the channel averaging factor. More precisely, for each group the TMC provided table specifies:
If no entry is present for an FSP, the averaging settings of the previous FSP are still applicable. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
type |
integer |
|||
|
Channel ID to use for visibilities of the first channel produced by this FSP. For example, if the channel offset is 5000 the first channel group would span IDs 5000-5743. Note that this offset does not apply to channel maps in this structure (such as channelAveragingMap or outputHost). |
||||
type |
integer |
||||
default |
null |
||||
|
Output links to emit visibilities on for every channel, given as a list of start channel ID to link ID. Where no value is given for concrete channel, the previous value should be used. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
anyOf |
type |
integer |
||
type |
string |
||||
|
Output host to send visibilities to for every channel, given as a list of start channel ID to host IP addresses in dot-decimal notation. Where no value is given for a concrete channel, the previous value should be used. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
anyOf |
type |
integer |
||
type |
string |
||||
|
Output port to send visibilities to for every channel, given as a list of start channel ID to port number. Where no value is given for a concrete channel, the previous value should be used. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
type |
integer |
|||
|
Output MAC address to send visibilities to for every channel, given as a list of start channel ID to IEEE 802 MAC addresses. Where no value is given for a concrete channel, the previous value should be used. |
||||
type |
array |
||||
default |
null |
||||
items |
type |
array |
|||
items |
anyOf |
type |
integer |
||
type |
string |
||||
additionalProperties |
False |
VLBI config 2.0
Very Long Baseline Interferometry specific parameters. To be borrowed from IICD This section contains the parameters relevant only for VLBI. This section is forwarded only to CSP subelement.
type |
object |
|
properties |
||
|
type |
string |
additionalProperties |
False |
Search window config 2.0
Up to two 300 MHz Search Windows can be optionally configured and used as input for Transient Data Capture and/or Pulsar Search beam-forming.
type |
object |
|||
properties |
||||
|
Identifier of the 300MHz Search Window. Unique within a sub-array. |
|||
type |
integer |
|||
|
The Search Window tuning is provided in absolute terms as RF center frequency. The Search Window must be placed within the observed band. If partially out of the observed Band a warning is generated. If completely outside of the observed Band an exception is generated. |
|||
type |
integer |
|||
|
Enable / disable Transient Data Capturefor the Search Window. |
|||
type |
boolean |
|||
|
Number of bits per sample (for the Transient Data Capture). Required if TDC is enabled, otherwise not specified. |
|||
type |
integer |
|||
default |
null |
|||
|
Users can trade the period of time for which data are saved and transmitted for the sample bit-width and/or the number of Search Windows. The exact information regarding the memory capacity per receptor and supported range will be provided in construction. The epoch is specified in the command that triggers TDC off-loading (transmission of data). |
|||
type |
integer |
|||
default |
null |
|||
|
see tdcPeriodBeforeEpoch |
|||
type |
integer |
|||
default |
null |
|||
|
Destination addresses (MAC, IP, port) for off-loading of the content of the Transient Data Capture Buffer, specified per receptor. The destination addresses for the content of the Transient Data Capture can be provided either as a part of the scan configuration or by the command that triggers transmission of the captured data. The latter, if provided, overrides previously set addresses. Required if TDC is enabled, otherwise not specified. |
|||
type |
array |
|||
default |
null |
|||
items |
anyOf |
type |
integer |
|
type |
string |
|||
additionalProperties |
False |
PSS configuration 2.0
type |
object |
|
properties |
||
|
type |
string |
default |
null |
|
additionalProperties |
False |
ska-tmc-releaseresources
Mid TMC resource release 2.1
Example JSON.
{
"interface": "https://schema.skao.in/ska-tmc-releaseresources/2.1",
"transaction_id": "txn-....-00001",
"subarray_id": 1,
"release_all": true,
"receptor_ids": []
}
type |
object |
||
properties |
|||
|
URI of JSON schema applicable to this JSON payload. |
||
type |
string |
||
|
A transaction id specific to the command |
||
type |
string |
||
default |
null |
||
|
ID of the sub-array which should release resources. |
||
type |
integer |
||
|
Scan ID to associate with the data. true to release all resources, false to release only the resources defined in this payload. Note: partial resource release for SKA Mid is not implemented and the identification of the resources to release is not yet part of the schema. |
||
type |
boolean |
||
|
empty list of receptor_ids when release_all is true |
||
type |
array |
||
default |
null |
||
items |
type |
string |
|
additionalProperties |
False |
ska-tmc-scan
Mid TMC scan 2.1
Example JSON.
{
"interface": "https://schema.skao.int/ska-tmc-scan/2.1",
"transaction_id": "txn-....-00001",
"scan_id": 1
}
type |
object |
|
properties |
||
|
URI of JSON schema applicable to this JSON payload. |
|
type |
string |
|
|
A transaction id specific to the command |
|
type |
string |
|
default |
null |
|
|
Scan ID to associate with the data. |
|
type |
integer |
|
additionalProperties |
False |
Telescope Layout schemas
ska-telmodel-layout
Telescope Layout 1.1
Example
{
"interface": "https://schema.skao.int/ska-telmodel-layout/1.1",
"telescope": "ska1_low",
"receptors": [{
"interface": "https://schema.skao.int/ska-telmodel-layout-receptor/1.1",
"station_label": "FS001",
"station_id": 1,
"diameter": 38.0,
"location": {
"interface": "https://schema.skao.int/ska-telmodel-layout-location/1.0",
"geocentric": {
"interface": "https://schema.skao.int/ska-telmodel-layout-location-geocentric/1.0",
"coordinate_frame": "ITRF",
"x": -2563226.960308,
"y": 5081884.949807,
"z": -2878357.951618
},
"geodetic": {
"interface": "https://schema.skao.int/ska-telmodel-layout-location-geodetic/1.0",
"coordinate_frame": "WGS84",
"lat": 0.01,
"lon": 0.01,
"h": 1.0
},
"local": {
"interface": "https://schema.skao.int/ska-telmodel-layout-location-local/1.0",
"coordinate_frame": "local",
"east": 100.0,
"north": 10.0,
"up": 1.0,
"reference": {
"interface": "https://schema.skao.int/ska-telmodel-layout-location-geodetic/1.0",
"coordinate_frame": "WGS84",
"lat": 0.01,
"lon": 0.01,
"h": 1.0
}
}
},
"fixed_delays": [{
"interface": "https://schema.skao.int/ska-telmodel-layout-receptor-fixed-delay/1.0",
"fixed_delay_id": "FIX_H",
"polarisation": 0,
"units": "m",
"delay": 100.0
}, {
"interface": "https://schema.skao.int/ska-telmodel-layout-receptor-fixed-delay/1.0",
"fixed_delay_id": "FIX_H",
"polarisation": 0,
"units": "m",
"delay": 100.0
}],
"niao": 0.0
}, {
"interface": "https://schema.skao.int/ska-telmodel-layout-receptor/1.1",
"station_label": "FS001",
"station_id": 1,
"diameter": 38.0,
"location": {
"interface": "https://schema.skao.int/ska-telmodel-layout-location/1.0",
"geocentric": {
"interface": "https://schema.skao.int/ska-telmodel-layout-location-geocentric/1.0",
"coordinate_frame": "ITRF",
"x": -2563226.960308,
"y": 5081884.949807,
"z": -2878357.951618
},
"geodetic": {
"interface": "https://schema.skao.int/ska-telmodel-layout-location-geodetic/1.0",
"coordinate_frame": "WGS84",
"lat": 0.01,
"lon": 0.01,
"h": 1.0
},
"local": {
"interface": "https://schema.skao.int/ska-telmodel-layout-location-local/1.0",
"coordinate_frame": "local",
"east": 100.0,
"north": 10.0,
"up": 1.0,
"reference": {
"interface": "https://schema.skao.int/ska-telmodel-layout-location-geodetic/1.0",
"coordinate_frame": "WGS84",
"lat": 0.01,
"lon": 0.01,
"h": 1.0
}
}
},
"fixed_delays": [{
"interface": "https://schema.skao.int/ska-telmodel-layout-receptor-fixed-delay/1.0",
"fixed_delay_id": "FIX_H",
"polarisation": 0,
"units": "m",
"delay": 100.0
}, {
"interface": "https://schema.skao.int/ska-telmodel-layout-receptor-fixed-delay/1.0",
"fixed_delay_id": "FIX_H",
"polarisation": 0,
"units": "m",
"delay": 100.0
}],
"niao": 0.0
}]
}
Contains information required to populate a delay model used determine the relative delay between stations. Includes information such as station location, and fixed delays such as cable lengths.
type |
object |
|
properties |
||
|
Interface version |
|
type |
string |
|
|
SKA Telescope |
|
type |
string |
|
|
Receptors |
|
type |
array |
|
items |
Identification, location and delay information for a receptor |
|
additionalProperties |
False |
Receptor 1.1
Identification, location and delay information for a receptor
type |
object |
|
properties |
||
|
Interface version |
|
type |
string |
|
|
Receptor or station label |
|
type |
string |
|
|
Receptor or station identifier |
|
type |
integer |
|
|
Receptor or station nominal diameter (m) |
|
type |
number |
|
|
Location of receptors coordinates |
|
|
Fixed delays |
|
type |
array |
|
items |
A fixed delay representation, these are delays that are fixed to the station, such as cable lengths, electronic delays. This is configured to be per polarisation and the delay model can contain multiple delays and they can be stored in length or time. |
|
|
non-intersecting axis offset - between az and el axes |
|
type |
number |
|
additionalProperties |
False |
Coordinate Locations 1.1
A representation of the receptor position. Multiple representations are supported.
type |
object |
|
properties |
||
|
Interface version |
|
type |
string |
|
|
Geocentric Location |
|
|
Geodetic location |
|
default |
null |
|
|
Local Geodetic location |
|
default |
null |
|
additionalProperties |
False |
ECEF - XYZ 1.1
Earth Centred Earth Fixed - Geocentric position (x,y,z) in meters. The centre of the Earth is defined by a given frame, usually a particular realisation of ITRF.
type |
object |
|
properties |
||
|
Interface version |
|
type |
string |
|
|
Coordinate frame for positions (ITRF) |
|
type |
string |
|
|
ECEF X coordinate (m) |
|
type |
number |
|
|
ECEF Y coordinate (m) |
|
type |
number |
|
|
ECEF Z coordinate (m) |
|
type |
number |
|
additionalProperties |
False |
Geodetic - lat,lon,h 1.1
Global Geodetic position schema, Geodetic coordinate systems are based on a reference ellipsoid the coordinates are geodetic latitude (rad), longitude (rad) and height (m).
type |
object |
|
properties |
||
|
Interface version |
|
type |
string |
|
|
Coordinate frame or datum (e.g. ITRF or WGS84) |
|
type |
string |
|
|
Geodetic latitude (rad) |
|
type |
number |
|
|
Geodetic longitude (rad) |
|
type |
number |
|
|
height (m) |
|
type |
number |
|
additionalProperties |
False |
Local Geodetic - east, north, up 1.1
Local Geodetic position schema. Local Geodetic coordinate systems are based on a reference ellipsoid and a geodetic reference position. They are generally specified in East (E), North (N), and Up (U) in meters
type |
object |
|
properties |
||
|
Interface version |
|
type |
string |
|
|
Coordinate frame or datum (e.g. ITRF or WGS84) |
|
type |
string |
|
|
Local Geodetic East (m) |
|
type |
number |
|
|
Local Geodetic North (m) |
|
type |
number |
|
|
Local Geodetic Height (m) |
|
type |
number |
|
|
The geodetic reference position |
|
additionalProperties |
False |
Fixed Delay 1.1
A fixed delay representation, these are delays that are fixed to the station, such as cable lengths, electronic delays. This is configured to be per polarisation and the delay model can contain multiple delays and they can be stored in length or time.
type |
object |
|
properties |
||
|
Interface version |
|
type |
string |
|
|
Identification for the delay |
|
type |
string |
|
|
Which polarisation this delay is applied to |
|
type |
integer |
|
|
Units for the delay (seconds, metres) |
|
type |
string |
|
|
The delay |
|
type |
number |
|
additionalProperties |
False |
Telescope Layout 1.0
Example
{
"interface": "https://schema.skao.int/ska-telmodel-layout/1.0",
"telescope": "ska1_low",
"receptors": [{
"interface": "https://schema.skao.int/ska-telmodel-layout-receptor/1.0",
"station_name": "FS001",
"diameter": 38.0,
"location": {
"interface": "https://schema.skao.int/ska-telmodel-layout-location/1.0",
"geocentric": {
"interface": "https://schema.skao.int/ska-telmodel-layout-location-geocentric/1.0",
"coordinate_frame": "ITRF",
"x": -2563226.960308,
"y": 5081884.949807,
"z": -2878357.951618
},
"geodetic": {
"interface": "https://schema.skao.int/ska-telmodel-layout-location-geodetic/1.0",
"coordinate_frame": "WGS84",
"lat": 0.01,
"lon": 0.01,
"h": 1.0
},
"local": {
"interface": "https://schema.skao.int/ska-telmodel-layout-location-local/1.0",
"coordinate_frame": "local",
"east": 100.0,
"north": 10.0,
"up": 1.0,
"reference": {
"interface": "https://schema.skao.int/ska-telmodel-layout-location-geodetic/1.0",
"coordinate_frame": "WGS84",
"lat": 0.01,
"lon": 0.01,
"h": 1.0
}
}
},
"fixed_delays": [{
"interface": "https://schema.skao.int/ska-telmodel-layout-receptor-fixed-delay/1.0",
"fixed_delay_id": "FIX_H",
"polarisation": 0,
"units": "m",
"delay": 100.0
}, {
"interface": "https://schema.skao.int/ska-telmodel-layout-receptor-fixed-delay/1.0",
"fixed_delay_id": "FIX_H",
"polarisation": 0,
"units": "m",
"delay": 100.0
}],
"niao": 0.0
}, {
"interface": "https://schema.skao.int/ska-telmodel-layout-receptor/1.0",
"station_name": "FS001",
"diameter": 38.0,
"location": {
"interface": "https://schema.skao.int/ska-telmodel-layout-location/1.0",
"geocentric": {
"interface": "https://schema.skao.int/ska-telmodel-layout-location-geocentric/1.0",
"coordinate_frame": "ITRF",
"x": -2563226.960308,
"y": 5081884.949807,
"z": -2878357.951618
},
"geodetic": {
"interface": "https://schema.skao.int/ska-telmodel-layout-location-geodetic/1.0",
"coordinate_frame": "WGS84",
"lat": 0.01,
"lon": 0.01,
"h": 1.0
},
"local": {
"interface": "https://schema.skao.int/ska-telmodel-layout-location-local/1.0",
"coordinate_frame": "local",
"east": 100.0,
"north": 10.0,
"up": 1.0,
"reference": {
"interface": "https://schema.skao.int/ska-telmodel-layout-location-geodetic/1.0",
"coordinate_frame": "WGS84",
"lat": 0.01,
"lon": 0.01,
"h": 1.0
}
}
},
"fixed_delays": [{
"interface": "https://schema.skao.int/ska-telmodel-layout-receptor-fixed-delay/1.0",
"fixed_delay_id": "FIX_H",
"polarisation": 0,
"units": "m",
"delay": 100.0
}, {
"interface": "https://schema.skao.int/ska-telmodel-layout-receptor-fixed-delay/1.0",
"fixed_delay_id": "FIX_H",
"polarisation": 0,
"units": "m",
"delay": 100.0
}],
"niao": 0.0
}]
}
Contains information required to populate a delay model used determine the relative delay between stations. Includes information such as station location, and fixed delays such as cable lengths.
type |
object |
|
properties |
||
|
Interface version |
|
type |
string |
|
|
SKA Telescope |
|
type |
string |
|
|
Receptors |
|
type |
array |
|
items |
Identification, location and delay information for a receptor |
|
additionalProperties |
False |
Receptor 1.0
Identification, location and delay information for a receptor
type |
object |
|
properties |
||
|
Interface version |
|
type |
string |
|
|
Receptor or station label |
|
type |
string |
|
|
Receptor or station nominal diameter (m) |
|
type |
number |
|
|
Location of receptors coordinates |
|
|
Fixed delays |
|
type |
array |
|
items |
A fixed delay representation, these are delays that are fixed to the station, such as cable lengths, electronic delays. This is configured to be per polarisation and the delay model can contain multiple delays and they can be stored in length or time. |
|
|
non-intersecting axis offset - between az and el axes |
|
type |
number |
|
additionalProperties |
False |
Coordinate Locations 1.0
A representation of the receptor position. Multiple representations are supported.
type |
object |
|
properties |
||
|
Interface version |
|
type |
string |
|
|
Geocentric Location |
|
|
Geodetic location |
|
default |
null |
|
|
Local Geodetic location |
|
default |
null |
|
additionalProperties |
False |
ECEF - XYZ 1.0
Earth Centred Earth Fixed - Geocentric position (x,y,z) in meters. The centre of the Earth is defined by a given frame, usually a particular realisation of ITRF.
type |
object |
|
properties |
||
|
Interface version |
|
type |
string |
|
|
Coordinate frame for positions (ITRF) |
|
type |
string |
|
|
ECEF X coordinate (m) |
|
type |
number |
|
|
ECEF Y coordinate (m) |
|
type |
number |
|
|
ECEF Z coordinate (m) |
|
type |
number |
|
additionalProperties |
False |
Geodetic - lat,lon,h 1.0
Global Geodetic position schema, Geodetic coordinate systems are based on a reference ellipsoid the coordinates are geodetic latitude (rad), longitude (rad) and height (m).
type |
object |
|
properties |
||
|
Interface version |
|
type |
string |
|
|
Coordinate frame or datum (e.g. ITRF or WGS84) |
|
type |
string |
|
|
Geodetic latitude (rad) |
|
type |
number |
|
|
Geodetic longitude (rad) |
|
type |
number |
|
|
height (m) |
|
type |
number |
|
additionalProperties |
False |
Local Geodetic - east, north, up 1.0
Local Geodetic position schema. Local Geodetic coordinate systems are based on a reference ellipsoid and a geodetic reference position. They are generally specified in East (E), North (N), and Up (U) in meters
type |
object |
|
properties |
||
|
Interface version |
|
type |
string |
|
|
Coordinate frame or datum (e.g. ITRF or WGS84) |
|
type |
string |
|
|
Local Geodetic East (m) |
|
type |
number |
|
|
Local Geodetic North (m) |
|
type |
number |
|
|
Local Geodetic Height (m) |
|
type |
number |
|
|
The geodetic reference position |
|
additionalProperties |
False |
Fixed Delay 1.0
A fixed delay representation, these are delays that are fixed to the station, such as cable lengths, electronic delays. This is configured to be per polarisation and the delay model can contain multiple delays and they can be stored in length or time.
type |
object |
|
properties |
||
|
Interface version |
|
type |
string |
|
|
Identification for the delay |
|
type |
string |
|
|
Which polarisation this delay is applied to |
|
type |
integer |
|
|
Units for the delay (seconds, metres) |
|
type |
string |
|
|
The delay |
|
type |
number |
|
additionalProperties |
False |