Skip to content

Releases: sdss/lvmgort

GORT 0.11.0

29 Mar 18:39
Compare
Choose a tag to compare

πŸš€ New

  • #23 Added observer calibration scripts as recipes quick_cals, bias_sequence, and twilight_flats.

πŸ”§ Fixed

  • Fixed a serious issue in which if the slew fails, the retry did not send the PA and it would default to PA=0.
  • After the initial slew, subsequent slews of the spec telescope do not check for whether the enclosure state is remote.

GORT 0.10.0

07 Feb 16:13
Compare
Choose a tag to compare

πŸš€ New

  • #20 Added GuiderSet.monitor() which can be used to guide at zenith with low cadence and monitor transparency and FWHM while conditions are bad.

✨ Improved

  • #19 Improvemts to focusing. After a focus sweep, the focus is adjusted based on the delta temperature before each exposure.
  • #21 Added GuiderMonitor which replaces build_guider_reply_list. All Pandas dataframes now use pyarrow dtypes, and some deprecations and errors have been addressed.

GORT 0.9.0

01 Feb 01:22
Compare
Choose a tag to compare

πŸš€ New

  • Tile standard coordinates can now be defined as a list of Gaia DR3 source IDs. If the standard coordinates is a single integer, it will be assumed to be a source ID and the coordinates will be retrieved from the database.
  • Added code for telescope pointing models.

✨ Improved

  • Break out of `Gort.observe()`` on keyboard interrupt
  • Added utilities_room light to enclosure.
  • Update astropy to 6.0.0 and avoid it requiring to download orientation data from the internet.

πŸ”§ Fixed

  • Fixed exposure loop not restarting after a keyboard interrupt.

GORT 0.8.0

13 Jan 19:21
Compare
Choose a tag to compare

πŸš€ New

  • #13 Adds a signal handler for SIGINT and SIGTERM. When GortObserver is running and an interrupt is received the signal handler will run the cleanup routine.
  • Added spectrograph_room light to enclosure.

✨ Improved

  • SpectrographSet.reset now accepts full=True which performs additional checks and opens/closes the shutter and hartmann doors as needed. reset with full=True is run automatically during the cleanup recipe.
  • The GORT websocket now uses the CLU model for lvmecp instead of asking the PLC to report its status on each call to WebsocketServer.enclosure_status().

GORT 0.7.1

20 Dec 08:49
Compare
Choose a tag to compare

✨ Improved

  • #14 Turn off dome lights as part of the startup and cleanup recipes.
  • Use `lvmnps all-off`` to turn off all lamps faster.

🏷️ Changed

  • Disable marking tiles as bad on error for now. This could cause confusion if an exposure failed and the tile was marked bad, but then the images were recovered using lockfiles.
  • Skip the calibration sequence on startup by default.

GORT 0.7.0

24 Nov 22:23
Compare
Choose a tag to compare

πŸš€ New

  • Added selfie position.

✨ Improved

  • Added NPS devices for telescopes and MOCON.
  • Added spectrograph exposure and enclosure timeouts.
  • Support exposing only some spectrographs.
  • Verify the number of files writtent to disk by the spectrographs and their MD5s.
  • Mark exposure bad in post-readout if it fails.

🏷️ Changed

  • Relaxed spec and sky telescope guiding tolerances to 3 arcsec.

πŸ”§ Fixed

  • Updated NPS to handle lvmnps 1.0.0 (including upgrade to unclick 0.1.0).

GORT 0.6.2

04 Nov 20:13
Compare
Choose a tag to compare

✨ Improved

  • File logger logs to logging.path (defaults to /data/logs/lvmgort/<SJD>.log).

🏷️ Changed

  • Disable guider corrections for spec telescope after acquisition. This prevents field rotation affecting the exposure at the cost of tracking error.
  • Pass -PA to the guider due to different handiness for PA between the guider and the tiling database.

πŸ”§ Fixed

  • Fixed a bug in the recording of the standards acquisition and exposure times.

GORT 0.6.1

28 Sep 21:57
Compare
Choose a tag to compare

✨ Improved

  • Pass force to _prepare_telescopes().

🏷️ Changed

  • Do not run cleanup after each iteration in Gort.observe()
  • Set stop_degs_before.sci to 1.5.

GORT 0.6.0

14 Sep 17:38
Compare
Choose a tag to compare

πŸš€ New

  • #11 Support asynchronous readout during GortObserved-enabled observations and implement dithering:
    • Remove calls to lvmguider stop --now. The new stop command always cancels the guider task.
    • Added pre-readout hook for Exposure.
    • Allow GortObserver to read out an exposure asynchronously.
    • Gort.observe_tile() will by default read the last exposure asynchronously to allow for the next slew and acquisition to happen during readout.
    • Added a context manager GortObserver.register_overhead() that measured the elapsed time in different parts of the slew and acquisition process and records the values to the database.
    • The dither positions associated with a Tile are now a list of positions that the scheduler wants us to observe. Gort.observe_tile() will try to observe all dither positions without stopping the guider.
    • Added Gort.observe() with a simple loop for observing tiles.
  • Add dither information to Tile and support exposing multiple dither positions in the same observation.

✨ Improved

  • Pass the observed sky and standard pks to the scheduler during registration.
  • The K-mirror offset angle is now wrapped between -180 and 180 degrees. Hopefully this prevents some cases in which offsets angles very close to 360 degrees cause the K-mirror to fail because of a software limit.

πŸ”§ Fixed

  • Fixed deprecations in Pandas fillna() with method='bfill'.

GORT 0.5.0

12 Sep 14:13
Compare
Choose a tag to compare

πŸš€ New

  • Added support for telescope enclosure lights.

✨ Improved

  • #10 GortObserver.slew() and the standard iteration task now calculate the adjusted target coordinates for the spec telescope so that the slew puts the star on top of the desired fibre to be observed. Most of this relies on code copied from lvmtipo used to calculate the field angle through the siderostat.
  • SkyCoordinates now accepts a name attribute that is passed to the SKYENAME and SKYWNAME header keywords.
  • IFU PA angles passed to the headers.
  • Pass exposure time when registering an exposure.
  • Support new outputs from lvmguider 0.4.0b1.
  • Get actor versions on init.
  • Support guiding in PA (disabled for now).
  • Reconnect AGs during startup recipe.
  • Add tile_id as `OBJECT`` if no object string user-defined.

🏷️ Changed

  • Set GR{telescope}FR{0|N} with the range of guider frames in which we were guiding (as opposed to the entire guide loop including acquisition frames).
  • Changed default guide tolerance to 1 arcsec.

πŸ”§ Fixed

  • Fixed some additional issues with the exception hooks that cause a recursion loop in IPython in some cases.
  • Fixed a bug that would accumulate the range of guider frames for an spectrograph exposure if GortObserver.expose() was called multiple times.
  • Fixed a slicing issue with newer versions of Pandas.
  • Fixed a bug that caused the exposure flavour not being passed to the headers.
  • Deal with cases when the scheduler cannot find a good tile to observe.