Skip to content

Releases: sdss/lvmgort

GORT 1.3.0

30 Nov 06:17
Compare
Choose a tag to compare

πŸš€ New

  • #39 Implement transparency monitoring.
  • Add observer schedule-focus-sweep command to Overwatcher actor to schedule a focus sweep before the next tile.

✨ Improved

  • #40 Slight internal restructuring of the core classes Gort, GortClient, device and remote actor classes. The main goal was to avoid any other part of the library knowing about GortClient, which does not include anything not related to its AMQP client function any more.
  • Use Retrier from lvmopstools to handle remote command retries.
  • Prevent repeat notifications with the same message.
  • Add retries to NPS commands.

πŸ”§ Fixed

  • Prevent trying to observe while a calibration is ongoing even if it's night.
  • Add max_start_time to bias_sequence to prevent if from running after twilight.

GORT 1.2.1

20 Nov 17:24
Compare
Choose a tag to compare

✨ Improved

  • #41 Only emit an error event when the exception is actually raised.
  • Report if the observer is focusing or troubleshooting.
  • Stop MoTAN devices before a new move and improve error reporting.
  • Allow fibre selector to rehome if a move fails.

πŸ”§ Fixed

  • Fix a bug that would cause the calibration module to always add a night log comment indicating that the calibration had failed.
  • Prevent the K-mirror from being homed and parked at the same time.

GORT 1.2.0

18 Nov 06:09
Compare
Choose a tag to compare

πŸš€ New

  • Overwatcher now reports error events via notifications. If the error happens while a tile is being observed, a comment in the night log is added.

✨ Improved

  • Roll over the GORT log when the SJD changes.
  • Improve the logic handling how the Overwatcher observer decides when to open or close the dome near evening or morning twilight.
  • Run a clean-up first in pre-observing in case the spectrographs are not in a good state.
  • Run some pre-observing checks before calling each GortObserver.observe_tile() in the ObserverOverwatcher. Currently only checks if the spectrographs have an error state and resets them.
  • Handle SPECTROGRAPH_NOT_IDLE errors in the troubleshooter.
  • Disable the Overwatcher and cancel observations if the dome fails to move.
  • Add retries for safe enclosure operations.

πŸ”§ Fixed

  • Fixed a bug that would prevent a new SJD to trigger an update of the ephemeris and calibrations.
  • Fix a bug that would leave the Overwatcher in cancelling mode if start_observing failed.

GORT 1.1.2

11 Nov 21:38
Compare
Choose a tag to compare

✨ Improved

  • Take AG darks during the pre-observing task.
  • Add retry_without_parking option to the shutdown recipe.
  • Emit events for dome opening and closing and report them as notifications.
  • Modified emergency_shutdown() to close the dome if the shutdown recipe fails.

πŸ”§ Fixed

  • Prevent the calibrations module from trying to close the dome when a calibration is retrying.
  • Prevent a case in which failing to park the telescopes could have caused the dome to not be closed even if retry_without_parking was set to True.

GORT 1.1.1

10 Nov 21:07
Compare
Choose a tag to compare

πŸš€ New

  • #38 Add a post-observing daily task that runs 15 minutes after morning twilight and will do a few check (make sure the dome is closed, park the telescopes, etc.) and retry safe calibrations that failed during the normal sequence.

✨ Improved

  • Add a comment to the night log when a calibration fails.
  • Do not start exposure if we are within 10 minutes of twilight.

πŸ”§ Fixed

  • Prevent the Overwatcher observer from opening the dome while calibrations are ongoing.
  • Fixed a bug in the twilight flats recipe related to the extra exposures.

βš™οΈ Engineering

  • Use API to send notifications.

GORT 1.1.0

07 Nov 18:55
Compare
Choose a tag to compare

πŸ”₯ Breaking change

  • GortObserver.observe_tile now default to async_readout=False. This will block until the exposure is done, which is a more natural behaviour for an external user that is not trying to over-optimise things. The code that uses observe_tile in GORT (Gort.observe() and ObserverOverwatcher.observe_loop_task()) have been updated to explicitly use async_readout=True.

πŸš€ New

  • #37 Basic implementation of the Troubleshooter class for the Overwatcher. Currently only very broad troubleshooting checks and recipes are implemented.

🏷️ Changed

  • Removed morning twilight flats.

πŸ”§ Fixed

  • Temporary fix in the cleanup recipe for a bug in lvmscp caused by a quick reset after reading out a pending exposure.

βš™οΈ Engineering

  • Added a very basic test to confirm the Overwatcher can be initialised.

GORT 1.0.2

06 Nov 20:22
Compare
Choose a tag to compare

πŸš€ New

  • #34 Adds a safety module to the Overwatcher that will monitor the alerts independently and close the dome at a very low level if the main task fails to do it after 5 minutes.

✨ Improved

  • #35 Refactor dither observing to allow finer control of when to reacquire a tile and when to keep observing and adjust the science telescope dither position.
  • #36 Modity the evening twilight recipe to continue cycling the standards mask and taking flats until the exposure time reaches 100s.
  • GORT will fail to initialise if the Overwatcher is running. This can be overridden by passing override_overwatcher=True to the Gort constructor or --override-overwatcher in the CLI.
  • Rearranged the Overwatcher helpers and make the pre- and post-observing scripts recipes.
  • Added a framework for run daily tasks and a pre-observing task.
  • Add option to disable the overwatcher to the shutdown recipe.

GORT 1.0.1

30 Oct 17:39
Compare
Choose a tag to compare

✨ Improved

  • Overwatcher: cancel the current cancellation if conditions are unsafe.
  • Overwatcher: lock the dome for 30 minutes if it's closed due to unsafe conditions.
  • Always reset the spectrographs before an exposure. Add some checks to ensure the shutters are closed during a cleanup.

🏷️ Changed

  • Overwatcher: rename allow dome calibrations to allow calibrations, which enabled/disables all calibration (not only in-dome calibrations).

πŸ”§ Fixes

  • Overwatcher: fixes to daytime logic.
  • Add the current GORT version to the Overwatcher actor.
  • Set the correct dither position in GortObserver.

GORT 1.0.0

28 Oct 18:34
Compare
Choose a tag to compare

πŸš€ New

  • #32 Initial complete implementation of the overwatcher.

πŸ”§ Fixed

  • #33 Fixed an issue in which the first standard would not be reacquired during dithered observations. Also forces a rehoming of the fibre selector mask before each observation.

GORT 1.0.0b1

09 Jul 17:24
Compare
Choose a tag to compare
GORT 1.0.0b1 Pre-release
Pre-release

πŸ”₯ Deprecated

  • Removed the websocket code and CLI. All this functionality is now part of lvmapi.

✨ Improved

  • Wait for previous exposure to finish reading out in Observer.expose(). While this was already happening when calling Exposure.expose(), we are now blocking until the exposure finishes a bit earlier which prevents the standard loop to begin too early.
  • Upgraded to polars 1.0.0.