The xlris.html widget used for controlling the LRIS stages allows you to save the current state of the instrument to a file and to restore this state at a later time:

Customing XLRIS Scripts

Starting from a single setup script, it's quite easy to generate new setups with different parameters; simply find the appropriate keyword and change it to what you like. To convert the script below to use different spectrograph settings you would change:

Keyword Function
slitname select a slitmask, long slit, or the direct imaging frame in the focal plane
dichname select a dichroic
blufilt select a blue-side filter
redfilt select a red-side filter
blufocus change the blue-side focus setting
redfocus change the red-side focus setting
grisname select a blue grism
graname select a red grating
grangle set the grating angle (wavelength) for the red grating (see below)

Note that the one weak part of this interface is the grangle. Normally astronomers will have a desired central wavelength, and they may not know the appropriate grating angle. In this case you could replace grangle=NNNN with either wavelen=NNNN (when using the longslit) or mswave=NNNN (for slitmask spectroscopy).

Sample XLRIS Script

The following is a sample script generated by XLRIS:
#!/bin/sh
#
# This script generated by xlris:
#
# Script writing rules for the write setup button.
# 
#  1.  All xlris fields are read.
#
#  2.  SLITNAME, REDFILT, REDFOCUS, DICHROIC, GRISM BLUFILT and BLUFOCUS
#      are first and modified with NOWAIT
#
#  3.  GRANAME and GRANGLE/WAVELEN/MSWAVE are last and are modified
#      with WAIT.
#
#  4.  Trapdoor is not included.
#
#  5.  Lamps are not included.
#
#  6.  Polarimeter mechanisms are not included.
#
#
# This is the slitmask move
#
echo Moving slitmask
  modify -s lris slitname=direct &
  if [ $? -ne 0 ]
     then
       echo slitmask move failed: $?; exit 10
     fi
#
# This is the redfilt move
#
echo Moving redfilt
  modify -s lris redfilt=clear &
  if [ $? -ne 0 ]
     then
       echo filter move failed: $?; exit 10
     fi
#
# This is the redfocus move
#
echo Moving redfocus
  modify -s lris redfocus=2351.99 &
  if [ $? -ne 0 ]
     then
       echo red camera focus move failed: $?; exit 10
     fi
#
# This is the blufocus move
#
echo Moving blufocus
  modify -s lris blufocus=-2907.24 &
  if [ $? -ne 0 ]
     then
       echo blue camera focus move failed: $?; exit 10
     fi
#
# This is the dichroic move
#
echo Moving dichroic
  modify -s lris dichname=560 &
  if [ $? -ne 0 ]
     then
       echo dichroic move failed: $?; exit 10
     fi
#
# This is the grism move
#
echo Moving grism
  modify -s lris grisname=clear &
  if [ $? -ne 0 ]
     then
       echo grism move failed: $?; exit 10
     fi
#
# This is the blufilt move
#
echo Moving blufilt
  modify -s lris blufilt=clear &
  if [ $? -ne 0 ]
     then
       echo blufilt move failed: $?; exit 10
     fi
#
# This is the grating move with wait.  Wait must be used here
# so the MSWAVE or WAVELEN move afterwards will not fail.
#
echo Moving grating
  modify -s lris graname=400/8500 wait
  if [ $? -ne 0 ]
     then
       echo grating move failed: $?; exit 10
     fi
#
# Move only GRANGLE for the moment.
# Use wait to catch errors more obviously
#
echo Moving grating angle
  modify -s lris grangle=26.45 wait
  if [ $? -ne 0 ]
     then
       echo grating angle move failed: $?; exit 10
     fi
echo Script done.
sleep 6

See Also