Changelog

All notable changes to this project will be documented in this file. This project adheres to Semantic Versioning.

Unreleased

  • Implements support for PST parameter flow through mode.

  • Updates the generation of the PST beams to have sequential IDs (based on the max no of beams neeeded per scan) rather than relying on the target info.

  • Added check for unsuported PST mode

  • Removed setting of explicit defaults in PSTBeamConfiguration which are not part of the SB Definition (now uses CDM default values)

  • Write Low station aperture ID with 00 suffix if the full station is being used

  • Fix workaround of SDP receptors being set to aperture format

  • Set SDP EB max_scan to the total scan duration of the full sbd

18.0.0

  • Deduplicate and reorganise workarounds and utils from ska-low repo into top level engineering module. Update RtD with info on collaborating with AIV and commissioning.

  • Fix workaround of csp.lowcbf.timing_beams.fsp.firmware being set to an empty string by setting this initially in pdm_transforms

  • [BREAKING] Update to ODA v18.0.0 which removes the ODA API and the oda_helper. The execution_block module in ska-oso-scripting now offers the same functionality. Update imports from from ska-oso-scripting import oda_helper to from ska_oso_scripting.api import execution_block

17.4.2

  • [BUGFIX] Disable subarray quality monitor reconfiguration in observing script until QA metric names are finalised.

17.4.1

  • [BUGFIX] derived expression for QA threshold reconfiguration was inverted.

  • [BUGFIX] QA threshold reconfiguration is now skipped if QA thresholds are not in the SBD or OSD.

17.4.0

  • Implements ADR-111 so that the scan command is issued only once the system indicates it is ready, or the operator explicitly opts to proceed. This behaviour is disabled by default but can be controlled via the OET_WAIT_FOR_QA_READY environment variable (see the documentation for details). For standard OET-driven observations, the behaviour is set automatically by the OET.

  • Adds MCCS early scan behaviour, where Scan() command is invoked on MCCS Subarray Leaf Node without waiting for QA.

  • Observing scripts reconfigure QA thresholds at observation start, using defaults in OSD and override values in SB

17.3.0

  • Reorganised and refactored BDD test infrastructure to faciliate code reuse.

  • Added TAN projection with AltAz alignment for 5-point scan targets so that the initial configure is consistent with follow-on offset configures.

  • Update to ODA v17.5.0 and remove check on old root level scan_sequence

17.2.0

  • Move all ska-schemas dependencies to ska-tmc-cdm

  • Update to ODA v17.3.0

  • Added support for pointing offsets in a 5-point scan.

  • Removed references to the SKUID Service replaced with direct calls to mint_skuid

17.1.0

  • Temporarily pin to SKUID 5.1.0 until SKB-1258 is resolved

  • Updated to use CDM v14.9.0 and direcly reference ska-schemas v1.35.0

  • Updated to support multiple CSP configurations for SKA Mid

  • Local copy of SDP script TMData for unit tests to avoid network calls

  • Mock SkuidClient.fetch_scan_id failure instead of network call to invalid url

  • SonarQube for static analysis of code quality

  • Added support for TLECoordinates in targets

  • [BUGFIX]: Resolve circular import seen when importing directly from pdm_transforms (BTN-3166)

  • Added support for Position-Velocity-Time (PVT) scan trajectories. Default SKA-Mid configure schema is now ska-tmc-configure/6.1 to match.

17.0.0

  • [BREAKING] Update to ODA v17.0.1 and SKUID v5.1.0 with ADR-129 format SKUIDs

16.2.0-rc.2

  • Observing scripts set EB status appropriately when execution is finished.

16.2.0-rc.1

  • Updates to CDM v14.8.1, PDM 27.1.1, SKUID 4.1.0, and ODA v15.3.0-rc3

  • Removes private pdm_transforms function that supported deprecated CDM Target objects

16.1.0

  • Updates to PDM v27.0.0 and ODA v15.1.0

  • Major refactoring of event handling, moving to an Iterator-based implementation with automatic subscribing and unsubscribing of clients. Introduces TimeoutIterator, MergedIterator, and PubSubIterator in preparation for ADR-111.

16.0.0

  • Improves Tango event handling so that all event processing is done off the OmniORB thread.

  • Improves Tango event handling so that event subscribers are only notified for genuine attribute value changes.

  • Improves Tango event handling so that Tango events indicating an error are not propagated to the subscriber.

  • Adds support for subscribing to Tango change events from multiple attributes.

  • BREAKING Major reorganisation of package structure to better separate public API from internal implementation:

    • Public interfaces moved to ska_oso_scripting.api package. Functions previously imported from ska_oso_scripting.functions, ska_oso_scripting.functions.devicecontrol, etc. should now be imported from ska_oso_scripting.api.

    • Internal implementation grouped under ska_oso_scripting.core by concern:

      • core.execution - command execution orchestration

      • core.monitoring - device state observation and waiting

      • core.tango - Tango device client infrastructure

    • functions renamed to api.functional

    • events renamed to topics

    • pdm_transforms moved to top-level package

    • Renamed TangoExecutor class to TangoClient for clarity

    • Centralised exception definitions in top-level exceptions.py module

15.2.1

  • [BUGFIX] Updates to ODA v14.0.3 to pull in fix for pickleable ODA exceptions

15.2.0

  • Update to ODA v14.0.0, PDM v26.0.0 and CDM v14.3.0

15.1.1

  • Fixed default value for SDP_SCRIPT_TMDATA when the environment variable is not defined

15.1.0

  • Update ODA to v13.1.1 and PDM to v25.0.0

15.0.0

  • [BREAKING] Updated PST Scan Configuration to v3.0

  • Added support for passing script parameters to SDP based on SBD’s sdp_configurations key

14.1.3

  • Bump ODA to v12.1.1 and PDM to v24.0.0 to fix compatibility issues (PDM breaking changes are related to Proposal and do not affect scripting)

14.1.2

  • Fixed bug where fsp_ids were not being correctly set for Band 5b down-converted observations

14.1.1

  • Fixed bug where telstate parameters were being unnecessarily populated for single scan observations in ska-tmc-configure payload

14.1.0

  • Updated to ODA v12.0.0

  • Introduced ska_oso_scripting.functions.engineering package for holding code adopted from AIV.

  • Added ska_oso_scripting.functions.engineering.low_aiv module with reset subarray function and dependencies.

  • Added reset_subarray.py script, which can be used to reset an SKA-Low subarray and devices downstream back to EMPTY.

  • Fixed SKB-1038 - max_scan_length in PST scan configuration set to the duration of the scan

14.0.0

  • Updated to ska-tmc-configure/5.0

  • Updating to PDM v23.0.0 and ODA v11.8.0

  • Added support for MID Band 5b Observations, down-converted to Band 1

  • Removed population of deprecated target argument from ska-tmc-configure/5.0

  • Removed support for deprecated EquatorialCoordinates, HorizontalCoordinates and SolarSystemObjects Coordinate classes

  • Fixed SKB-1058 - shifted low SPW central frequency down by half the width of a fine channel.

13.0.0

  • Updated setting of vis-receive script version - this is now populated by querying the local SDPControllerNode version and finding the highest supported version corresponding version of the script

  • Updated to ska-tmc-assignresources/2.2 and ska-low-tmc-assignresources/4.1 (ska-sdp-assignres/1.0)

  • Make the SDP AssignResources payload 1-based rather than 0-based (e.g. vis1 rather than vis0)

  • Updated to PDM v21.0.0 and ODA v11.5.1

12.0.0

  • [BREAKING] Update to PDM v19.0.0, which uses the scan sequence defined on the dish_allocation/mccs_allocation. SBDefinitions with scan_sequences defined at the root level will now result in a warning being raised and no scans performed.

  • Add support for multiple subarray beams for Low observations

  • Removed the disable_pointing_groups from the workarounds

  • Upgrades dependencies to pytango v10.

  • Increased DEFAULT_TIMEOUT_FOR_ASSIGN_RESOURCE_CMD to 90s

11.4.0

  • Updated to ska-oso-tmcsim v3.1.0, PDM to v18.0.0 and ODA to v8.0.2

  • Added population of telmodel_source_uris and telmodel_key in the sdp.processing_blocks.parameters dictionary in the AssignResources payload from local TMC CSPLeafNode

  • Updated the docker build and base images to ska-build-python:0.2.0 and ska-tango-images-tango-python:0.2.1 respectively

  • Increased the default command timeouts: AssignResources from 30 to 60 seconds, Configure from 30 to 120 seconds and Scan from 5 to 20 seconds

  • Removed deprecated convert_sdp module

  • Remove deprecated code that handles the old CSP-cbf fields

  • Fix bug in script when OET passes subarray_id as string

11.3.0

  • Update telescope start-up script with new TRLS

  • Removed dry_run from processing block parameters dictionary

  • Added support for script runtime arguments

  • Updated subarray_id to be a kwarg rather than an a positional argument in allocate_and_observe_sb.py script

11.2.0

  • Updated to CDM v12.9.0

  • Updated to generate ska-tmc-configure/4.2

  • Disabled disable_pointing_groups workaround: target coordinates are now declared in receptor pointing groups by default

  • Corrected error in telstate target_fqdn

  • Updated pointing-offset script to version 1.0.0

11.1.0

  • Updated CDM to v12.8.0 (fix midcbf.receptors bug - SKB-851)

  • Updated to use new ADR-9 compliant TRLs for both MID and LOW

  • Updated create_sdpconfiguration_centralnode() to use vis-receive version 5.1.1

  • Updated create_sdpconfiguration_centralnode() to insert telstate dictionary in processing block parameters

  • Added support for LOW ITF and station mapping

  • Fixed bug that hardcoded the receptors and receptor_weights in the generated PSTScanConfiguration for LOW tied array observations

11.0.0

  • Remove use of number_of_channels from the MCCS part of the SBD, instead get the information from the CSP configuration

  • Added support for GalacticCoordinates, ICRSCoordinates, AltAzCoordinates and SpecialCoordinates in support of ADR-63

  • Added support for LOW Galactic tied array observations

  • Added support for LOW observations with multiple spectral windows

  • Added a workaround to temporarily disable sending pointing groups to TMC as these are not yet supported

  • Added partial support for Pointed Mosaic observations

  • Moved event topics to be emitted by scripting library functions during execution from OET to the scripting library

  • Added PyTango and PyPubSub dependencies

  • Removed OET dependency

10.4.0

  • Fixed issue where scripts folder was not included in the ska-oso-scripting wheel

  • Created a custom Exception class (SkuidRuntimeError) for SKUID related exceptions raised by ska-oso-scripting functions

  • Added abort.py script to scripts folder as a static script

  • Added MANIFEST.skao.int to pyproject.toml list of included files

10.3.0

  • Added pointing groups in support of ska-tmc-configure/4.1

10.2.1

  • Extended the workarounds to include those found during the Mid SBDefinition execution

  • Removed use of SCAN_ID_GENERATOR in the allocate_and_observe_sb.py script

10.2.0

  • Updated to PDM v17.0.1, CDM v12.6.0, ska-tango-base v1.2.3

  • Removed explicit dependency on connexion

  • Fixed Bug where RuntimeError was not correctly thrown if EB_ID environment variable not set

  • Refactored pdm_transforms.sdp module into two separate modules: create_sdp and convert_sdp

  • Updated create_sdpconfiguration_centralnode() to have processing block parameter requested by AIV

  • Updated create_sdpconfiguration_centralnode() to use vis-receive version 4.5.0

  • Added support for 5-point targets in create_sdp module

  • Removed convert_frequenct_band() from pdm_transforms.dish

  • Refactored and renamed convert_dish_configuration to create_dish_configuration in pdm_transforms.dish

  • Refactored convert_commonconfiguration in pdm_transform.csp

  • Updated to use ska-csp-configurescan/4.1 (change to the interface argument only)

  • Fixed bug with calculation of start frequency of CSP processing region

  • Number of CSP FSPs is calculated per correlation spw using CSP’s own algorithms

  • Fixed bug where multiple correlation spectral windows would claim the same FSP IDs

  • Get the band_5_tuning from the midcbf part of the SBDefinition rather than the field in the common

  • Removed use of SCAN_ID_GENERATOR from ska-oso-oet and use SkuidClient directly instead

  • Added generation of SDP configuration data for Low PST observations

10.1.1

  • Updated convert_commonconfiguration() in pdm_transforms.csp to include the eb_id kwarg

  • Updated MID_CHANNEL_WIDTH and LOW_CHANNEL_WIDTH astropy Quantities in pdm_transforms.csp module

  • Fixed Bug where LOW bandwidth was being reported in MHz rather than Hz

  • Handle lowcbf common being None when mapping to Configure

  • Set sbi_ids in SDP assign resources to an empty list, until the proper SBI lifecycle is implemented

10.1.0

  • Added create_sdpconfiguration_centralnode() and create_sdpconfiguration_subarraynode() to pdm_transforms.sdp module

10.0.0

  • BREAKING CHANGE: Removed support for ska-tmc-configure/2.3 schema

  • Added support for ska-tmc-configure/4.0 in support of ADR-99

  • Updated to CDM version ^12.5.1

9.1.0

  • Adds conversion of SKA-Low PST beam coordinates to the equivalent ADR-63 sky coordinates

  • Updated to ODA v6.0.0 and OET v6.3.0

  • Default value of functions.devicecontrol.telescope_control.telescope_off() function changed from STANDBY to OFF

  • Exposed expected final state as optional parameter in off() method of objects.Telescope object

  • Added scan-configuration parameters required by PST

9.0.3

  • Updated to CDMv12.0.0

  • Removed hardcoded interface values for sdp-assignres and sdp-configure

  • Added support for a Low PST observations

9.0.2

  • Unpin ODA dependency to allow minor and patch updates

9.0.1

  • Changelog fix

9.0.0

  • BREAKING CHANGE: Unified mid and low scripts as a single scripts/allocate_and_observe_sb.py

  • BREAKING CHANGE: function create_cdm_assign_resources_request_from_scheduling_block() now returns a single instance

  • Updates to CDM version 11.0.1

  • Updates to PDM version 15.0.0

  • Updates to ODA version 5.3.0

  • Adds support for ska-low-tmc-assignresources/4.0

  • Adds support for ska-low-tmc-configure/4.0

8.1.0

  • Updates to CDM version 10.

  • Updates to PDM version 14.

  • Adds support for non-sidereal targets, (reference_frame=”special”)

8.0.0

  • BREAKING CHANGE: updated to use OSO PDM v12.0.1 and TMC CDM v9.1.1

  • Added convert_pointingcorrection() to pdm_transforms.dish module in support of SS-120

  • BREAKING CHANGE: Removed support for MCCS