Scan
The Subarray node provides API for Scan workflow.
Input JSON is as per schema detailed at : https://developer.skao.int/projects/ska-schemas/en/latest/schemas/tmc/ska-low-tmc-scan.html
The Sub-array node accepts the command if :-
Admin mode reported by each of the system - CSP,SDP subarray are in ONLINE/ENGINEERING/RESERVED
Operational state of the Sub-array node is ON/OFF/INIT/STANDBY/ALARM
The Sub-array Node rejects the command if-
Admin mode reported by each of the system - CSP,SDP Sub-array are in OFFLINE or NOT FITTED.
Operational state of central node is FAULT/UNKNOWN/DISABLE .
The Input JSON is validated as below, and Command is ‘Rejected’ with exception message if they are not met :-
JSON should not be empty or malformed
JSON validation against the schema specified in the Telescope Model ( https://developer.skao.int/projects/ska-schemas/en/latest/schemas/tmc/ska-low-tmc-scan.html)
The following state requirements are applied for the command execution :-
TMC Subarray is in ‘observation state’ READY .
isSubarrayAvailable is checked to ensure the subsystems (CSP, SDP and MCCS) are available
The command execution involves below key operations
- Below updates are done in each of the interface before sending JSON to each of the interface.
MCCS updates
MCCS Scan Interface details are added
subarray_id,transaction_id and is deleted before sending Json
CSP updates
TMC-CSP Scan Interface details are updated.
subarray id is introduced
lowcbf.scan_id is populated
SDP Updates
SDP Scan Interface details are updated.
The command is then invoked on the relevant TMC CSP, SDP, MCCS leaf Nodes.
If leaf node rejects configure command , command failure is reported as ‘RESULT_CODE - FAILED’ on Long Running Command Result attribute of the TMC Subarry node.Command will not be sent to remaining subsystems in this case if multiple subsystems are involved .
If all leaf node accept command , the TMC Subarry node will wait for command completion.
Scan timer is started using the stored scan duration .The scan timer will later trigger automatic termination (EndScan) once timer is over.
The Sub-array node monitors the progress of command via the Sub-array node ObsState transitions and the long running command results.
Command is successful when all 3 leaf nodes send ‘RESULT_CODE - OK’ on Long Running Command Result attribute of respective leaf nodes.This is reported as ‘RESULT_CODE - OK’ on Long Running Command Result attribute of the Subarray node.
Command failure is reported in any of the below cases as ‘RESULT_CODE - FAILED’ on Long Running Command Result attribute of the Subarray node.
The CSP Leaf node/SDP Leaf node/MCCS Leaf node reports ‘RESULT_CODE - FAILED’ on its Long Running Command Result attribute
The command times out if TMC SubarrayNode does not get ‘RESULT_CODE - OK’ from all 3 subsystems within the timeout period specified by CommandTimeOutDefault property specified in helm chart of the TMC Subarry Node .
On success the system is performing scanning observation; on failure it may revert to READY or FAULT depending on severity.