User's Guide to Shane Adaptive Optics System

Table of Contents

AO Observing Preparation
Hardware Overview
Software Overview
Real-time code shaneao
Real-time control GUI
Power Control saopower_ui
Motor Control saomot_gui
Field Steering fieldsteer.tcl
Laser Shutdown Monitor LSM.tcl
WFS Focus Tracking saoWFSFocusTrack.tcl
SAO System Monitor
Gallery of Aberrations

Data Archive
Mt. Hamilton Homepage

Real-time Code

The real-time adaptive optics code runs on real and is started at the command line by typing shaneao. Most interaction with the real-time code for controlling the adaptive optics (AO) system will be done through the ShaneAO GUI, however the numerous commands that are available at the command line are documented here.

Commonly used commands used in shaneao are:

Show list of commands with short descriptions.
crib(cmd) to get more information on a particular command.
Example: crib(rate)
Set the woofer and tweeter actuator voltages to their midrange values.
Nominally this bias is 21500 for the tweeter and 0 for the woofer.
This command will open the loop.

Other commands available in shaneao are:

Lists all commands with brief description.
help(cmd) to get help on a particular command.
Example: help(rate)

Telemetry ShaneAO Python Module

To take telemetry data automatically when loops are closed, use the telemetry commands included in /u/gavel/cvs/lroot/ShaneAO/unreal/py/modules/

To start the telemetry recorder script in the background, use the command telemetry.start(). To stop it (e.g. at the end of the night), type telemetry.stop(). If you need to stop the script immediately, use the command telemetry.stop(block=False). To see the status use telemetry.status().

In case you want to take open loop data (e.g. at the beginning of the night for calibration purposes), use the command telemetry.openloop()

There are a few configurable keywords, which can be adjusted through telemetry.configure. Arguments are:

Example: telemetry.configure(ndumps=10, interval=5)

For more information, go to

Ancillary Software

Measuring the seeing from open loop data taken with the COG centroider can be done with the dimm program. This program runs as gavel@real. Syntax is as follows:
dimm assumes the current date is the proper directory to look for the file. There are other command line functions available in case you need to look for data in another date directory:

dimm [-h --help | -d date ] filenum

   Use DIMM analysis to produce a histogram of possible seeing FWHM
   given an open-loop data telemetry file (result from a ShaneAO 'data()' command)

       -h, --help: print help
       -d date: set the date of the desired file directory using the format
           YYYY-MM-DD. Default is today's date
       filenum: an integer. Data files are named Data_xxxx.fits where xxxx is
           the file number. You don't need the leading 0s.

       dimm 2                <- evaluate file Data_0002.fits in the present night's directory
       dimm 0002             <- leading zeros are ok
       dimm -d 2015-06-29 2  <- evaluate file Data_0002.fits in June 29, 2015 directory
       dimm -d 6-29 2        <- present year is implied
       dimm -d 29 2          <- present year and month is implied
       dimm /local/data/telemetry/2015-06-30/Data_0002.fits <- evaluate a specific file
Last modified: Sat Nov 28 18:32:11 PST 2015