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-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 subarray 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
ska-tmc-cdm is used to validate the JSON
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 Dish) 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.
- CSP updates :
Sets interface field specified by the CspScanInterfaceURL property specified in helm chart of the TMC Subarray node
- SDP Updates :
Sets interface field specified by the SdpScanInterfaceURL property specified in helm chart of the TMC Subarray node
- Dish Updates :
Only Scan Id will be sent to Dish leaf node when command is invoked. Other details in json will not be sent.
The command is then invoked on the relevant TMC CSP, SDP, Dish 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 Subarray 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/Dish 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.