2.1-m telescope Sandiford Cassegrain Echelle Spectrometer
Personal Reference Notes
Prepared by Tom Barnes
(last updated September 10, 2005)
Note: Use your own computer account and directories rather than the "tgb" account wherever it appears.
CE = Sandiford Cassegrain Echelle spectrometer on the 2.1m telescope at McDonald Observatory
Telescope f-ratio = f/13.5
Field scale is 7.4 arcsec/mm
CE has 0.6 arcsec / pixel in the non-dispersion direction for estimating seeing
Nominal focus of the telescope with the CE is 700 units, highly temperature dependent.
Reticon CCD (RA2), 1232 X 400
Pixel size is 27 microns
Gain is 1.99 e-/ADU
Read Noise is 5.30 e-
Read time for full frame is 35 sec
Bias level is near 4000 ADU
RA2 is safe from non-linearity to 49200 ADU and saturates at 65536 ADU
CE is controlled via two Sun computers: Nereid and Miranda.
Nereid is a Sparc Ultra 10
Miranda is a Sparc 10 and has an 8mm, low density exabyte tape drive attached: rst4/mtt
Operates with the McDonald version of the NOAO "IRAF Control Environment" (ICEX-v1.5)
CE has remote guiding via a MicroLuminetics guider camera.
FOV of the guider is about 90 arcsec in 'field' mode, less in 'slit' mode.
Control room has an Aiwa CD/cassette player but no CDs or tapes.
Specify the on-chip binning needed, usually 1x1.
Ask that the chip be aligned parallel to the orders for the wavelength region of interest.
Request a print out of the gain and readnoise tests performed when the Cass echelle is mounted.
Verify CCD cooling temperature is < -115¡C; if not, call for help.
Login onto Miranda for IRAF and ICE
Login onto Nereid for ECHTILT and COSMO (pointing)
Find the angles for the wavelength region using ECHTILT.
Set grating and prism angles at the instrument.
Select the slit plug to give a slit width and length desired.
Verify that the Iodine cell is OUT.
Verify that the dark slide (Barn door) is OUT.
Start IRAF running.
Start ICE running.
Change to the data disk and verify data directory.
Verify the CE camera focus by measuring line widths in the Th-Ar lamp spectrum (<2 x 'slit width in arcsec' pixels).
The camera can only be focused when the telescope is pointed at the zenith.
Do blue sky observation to check on the wavelength region; iterate as necessary with ECHTILT.
Verify MicroLuminetics guider camera is operational.
It is convenient to have both of these windows in the left-hand monitor.
Open an IRAF window to use for data analysis.
Login onto Nereid (tgb/<pwd>)
% ssh tgb@miranda
% <password>
Change to the IRAF directory and launch IRAF
% cd IRAF
% cl (to launch IRAF)
cl>
(the IRAF prompt)
When setting up for the first time,
cl> show stdimage
cl> set stdimage=imt31 (if necessary)
[if you had to do this, edit your login.cl file to make it unnecessary in future.
cl> cd /home/miranda/tgb
cl> vi login.cl
set stdimage = imt31 ]
Create a data directory /tgb on /data1
cl> mkdir /data1/miranda/tgb (if necessary)
cl> cd /data1/miranda/tgb
cl> mkdir nite1 (if desired, to create nightly sub-directories)
cl> cd /data1/miranda/tgb/nite1 (to move to data directory)
One can check the working directory with the command "pwd".
One can see how much disk space is available on various disks by typing,
cl>!df -k
Open a display window for the spectrum readout:
cl>!ds9 &
or cl>!ximtool &
The & causes the display task to run in the background giving control of the window back to you.
Open an ICE window to use for instrument control.
Left click in a vacant place on the monitor and select 'Local'.
A new window to Nereid will open
% ssh tgb@miranda
% <password>
Change to the ICE directory and launch IRAF
% cd ICE
% cl (to launch IRAF)
cl> show stdimage change if necessary
Launch ICE
cl> icex
ic> (ICE prompt)
ic> cd /data1/miranda/tgb/nite1
It is convenient to have this window in the right hand monitor.
Open yet another window to Nereid.
Run ECHTILT to get the prism and grating angles:
% echtilt
Type in the central wavelength in Å (say 4465)
record the prism micrometer setting;
record the grating tilt;
Type 0 (zero) to exit echtilt
The settings for the grating and prism as functions of wavelength are also posted graphically on the corkboard in the 2.1m control room. These are actually more reliable for the grating setting than ECHTILT.
In the Nereid window, use the "point" command to get pointing coordinates.
% cosmo (to launch the pointing task)
Respond to the query about the flexure model with 'yes' or 'no'
The flexure model should be 'cassechell'
A variety of 'point' commands can be executed:
% p t - gives a list of stars near zenith
% p k # - gives coordinates for FK5 star number #
% p b # - gives coordinates for BS Catalog star number #
%p l - updates the coordinates, air mass for the last point object
Point the telescope to a star will well known coordinates. Center the telescope on it, then type
%p z
The telescope flexure file zero points will be adjusted to match the actual coordinates of the star.
%wx -- will print out the current weather conditions and any warnings.
If you wish to have telescope coordinates sent to the dome, log in to Prometheus using your account and type
'cosmo' at the command line prompt in a window. The Prometheus screen is echoed in the dome.
Open a window to nereid in the right hand monitor
% wx - will print out the current conditions and any warnings
or, go to http://198.214.229.50/cgi-bin/obs_sup/latest_5min.dat, which opens the same weather readout, but this one updates automatically every 3 minutes.
In the ICE window,
ic> epar telpars or telp (to set up telescope parameters)
verify "telname = mcd82x"
exit telpars with cntl-d or :q
ICE will now extract the coordinates from Nereid without manual assistance and enter them into the FITS file header. To ensure a current airmass in the header, type "p l" (for "point last") in the Nereid window just before starting an integration. You can test communication with the encoders by executing the 'telescope' command
ic> telescope
ic> lpar telpars
(dateobs = "") date (dd/mm/yy) of observation
(ut = "") universal time (hh:mm:ss)
(st = "") sidereal time (hh:mm:ss)
(ra = "") right ascension (hh:mm:ss)
(dec = "") declination (dd:mm:ss)
(epoch = "") epoch of ra and dec
(ha = "") hour angle (hh:mm:ss)
(zd = "") zenith distance (dd:mm:ss)
(airmass = "") airmass
(telfocu = "") telescope focus
(telfilter = "") filter bolt positions
(rotangl = "") rotation angle
(pressur = "") barometer
(teltemp = "") telescope temperature
(windspe = "") wind speed
(winddir = "") wind direction
(humidit = "") humidity
(seeing = "") seeing
(pointsrc = "") point source info
(pointdir= "") optional point source directory
(pointty = "mean") point type header information (mean, refracted, flexed, etc.)
(apertur = "2.1") telescope aperture size (m)
(focalra = "13.5") telescope focal ratio
(tcscmd ="") TCS motion command
(telinfo = "") Optional image header info about telescope
(telcap = "runlib$telcap") Telescope capabilities file
(telname = "mcd82x") Telescope name
(debug = "no") Debug the telescope interface
(mode = "ql")
($nargs = "0")
ic> epar detpars or detp(to set up detector parameters)
change the first four parameters as desired to set up a sub-field for faster read-out during field acquisition and/or standard star fields.
change the next two parameters as desired to change the binning for faster readout during field acquisition.
Verify that "detname = ra2"
Verify that "detpix = u"
exit detpars with cntl-d or :q
If the CCD should be powered down for some reason, the following sequence of commands must be executed from within ICE after the CCD is powered up: bye, flpr, flpr, icex. In other words, icex must be started twice.
ic> lpar detpars
(firstco = 1) First column of data (device coordinates)
(lastco = 1200) Last column of data (device coordinates)
(firstro = 1) First row of data (device coordinates)
(lastrow = 400) Last row of data (device coordinates)
(colbin = 1) Column binning factor
(rowbin = 1) Row binning factor
(preflas = 0) Preflash time in seconds
(gain = 0) Instrumental gain setting (0 for default)
(detinfo = "") Optional image header info about detector
(detcap = "runlib$detcap") Detector capabilities file
(detname = "ra2") Detector name
(detpix = "u") Data type of detector pixels (u=16-bit, l=18-bit)
(integra = "1") Detector integrator (1=slow, 2=medium, 3=fast)
(amplifi = "1") Detector amplifier (1=slow, 2=medium, 3=fast)
(nframes = "") IRDetector sum/average nframes
(angle = "") Detector angle from nominal
(regions = "") Selected regions of the detector to read out
(debug = "no") Debug the detector interface
(mode = "ql")
($nargs = "0")
A subframe readout as shown below can be used to shorten the readout time. Note that the readout time for subframes depends only on the number of rows read.
(firstco = 1) First column of data (device coordinates)
(lastco = 1200) Last column of data (device coordinates)
(firstro = 200) First row of data (device coordinates)
(lastrow = 300) Last row of data (device coordinates)
(colbin = 1) Column binning factor
(rowbin = 1) Row binning factor
For binning, 1x2 co-addition is specified by setting:
(colbin = 1) Column binning factor
(rowbin = 2) Row binning factor
Instrument interface
All computer-controlled devices in the instrument are implemented on a wheel, and the software interacts with it as if it were a filter wheel. The 'instrument' task is used to control it. No parameters in instrpars other than instrfilters, fts, instrca and instrna are currently used by the echelle interface.
Epar instrpars to specify the field or slit position, or to select and turn on lamps using the instrfilters keyword and, optionally, to change the default filter wheel position to the filter name translation using the fts keyword. By default, the filter wheel positions are labelled 'field, th-ar, incan, empty, empty, slit.' It is not necessary to enter these names in the "fts" keyword, but it is good form to do so. Change instrname = "sandiford".
ic> epar instrpars or instrp(to set up the instrument task)
Set "fts = field,th-ar,incan,empty,empty,slit"
Verify "instrname = sandiford"
exit instrpars with cntl-d or :q
ic> instrument instrfi=h (to home the instrument initially or if it loses its way)
ic> instrument instrfi=@field (to execute a change to 'field')
fts="field,th-ar,incan,empty,empty,slit" means wheel positions are as follows: field=1, th-ar=2, incan=3, and slit=6. A position can be specified by name, e.g. instrfilters="@slit", or by number, e.g. instrfilters="@1". Either the 'observe' task or the 'instrument' task commands the instrument interface to go to the settings specified in 'instrpars'.
The lamps are implemented as follows. Whenever the wheel is moved, both lamps are turned off. After the movement is completed, if the destination was number two (th-ar) then the th-ar lamp is turned on. If the destination was number three (incan) then the incandescent lamp is turned on.
ECHELLE interface: the wheel control language (instrpars.instrfilters):
ic> instrument instrfi=+n increment the current position by n positions.
The '+' sign is required.
And as above:
+n increment the current position by n positions. The `+' sign is required.
-n decrement the current position by n positions.
@n go to filter position n. n can be a position name (from instrpars.fts
or using the defaults), or the special names 1, 2, 3, 4, 5, or 6. In the
second case, the filter command @1 means go to filter position 1.
h go to the first (field) position. Can be used to reset the wheel if
it has been moved to, or started up in, an unknown position.
r reset communications with the wheel. Also enables wheel movement again.
d disable wheel movement under computer control (a safety feature).
e enable wheel movement after it has been disabled with "d".
ic> lpar instrpars
(instrfilters = "@field") filter bolt positions
(apertu = "") aperture
(tvfilt = "") tv filter
(complam = "") comparison lamp
(probepo = "") probe position file
(dispers = "") disperser
(tiltpos = "") tilt position
(decker = "") decker
(instrfo = "") instrument focus
(posangl = "") position angle
(dispaxi = "") dispersion axis
(fts = "field,th-ar,incan,empty,empty,slit") filter translation
(filtoff = "") filter offset values
(gts = "") grism translation
(slituni = "") slit unit focus offset values
(polariz = "") polarization angle in degrees
(instrin = "") Optional image header info about instrument
(instrca = "runlib$instrcap") Instrument capabilities file
(instrna = "sandiford") Instrument name
(debug = "no") Debug the instrument interface
(mode = "ql")
($nargs = "0")
Observing interface:
Parameters which are set manually are 'rootname' and 'sequence' (for specifying the filename), `pixtype', 'observers', and 'commands'. The string shown below for 'commands' causes the image to be displayed at the end of readout on a display tool (ximtool or ds9). The display tool must be running already when the readout ends.
ic> epar obspars or obsp(to set up the observing task)
change exposure time, image type, object title, rootname, sequence and observers as necessary.
verify "pixtype = u"
verify "command = display %s 1" to get an automatic display of the image
verify the preallocate parameters are Òpreallocate = 60" and "preprefix = imdir$_"
exit obspars with cntl-d or :q
ic> lpar obspars
exposure = 1 Exposure time (seconds)
imagetyp = "object" Image type
objectti = "Favorite star" Object title
(rootnam = "tgb") Image root name
(sequenc = 1) Sequence number
(setfilter = no) Query and set filters?
(setfocu = no) Query and set focus?
(setscan = no) Query and set nscanrows? (short scan mode)
(filtype = "telescope") Type of filters to use
(foctype = "telescope") Type of focus to use
nfexpo = 7 Number of focus exposures
shtype = "detector" Shift type
focmode = "manual" Focus mode
fstart = Starting focus value
fdelta = Focus increment
nrvrows = 25 Number of rows to reverse shift
(pixtype = "u") Data type of IRAF pixels
(observe = "T. Barnes") Observers
(comment = "") Comments
(comfile = "") Observer header comments file
(obsinfo = "") Optional observing information for image header
(observa = "MCDONALD") Observatory name
(command = "display %s 1") Postprocessing command
(preallo = 60) Preallocate image (0=no 1=yes N=if exptime > N)
(prepref = "imdir$_") Preallocate image prefix
(longexp = 300.) Long exposure time (seconds)
(verbose = yes) Type out image name?
(debug = "no") Debug the observing interface
(mode = "ql")
($nargs = "0")
In the ICE window,
ic> test (to execute a test exposure, which frames are successively over-written.)
Answer the prompts with parameters or <cr>. It is useful to do an "object" exposure in the test to verify that the detector produced a non-zero frame
Repeat the test asking for a filter change by typing "@th-ar" in the instrpars task to turn on the comparison lamp.
Look carefully at the messages returned to see that communications with the telescope are successful.
Open an "ximtool" or "ds9" window in the IRAF analysis window
cl> !ximtool &
or
cl>!ds9 &
The default window shows blue wavelengths at the bottom (for the orders) and at the right (within an order).
The IRAF task 'imexamine' will create a plot window and display the plot
cl> imexamine (to launch image analysis task)
Place the cursor on the image and type
"j" for a Gaussian fit to a line within an order (for spectrometer focus),
"k" for a Gaussian fit across an order (for seeing estimate),
"c" for a column plot, etc.
"m" for a statistical summary at the cursor position (for bias level estimate)
"e" for a contour plot
"v" for a vector plot along a spectrum (to see the lines)
"q" to exit
Quit imexamine before another image is displayed to avoid problems with the task.
Note that the default settings in the "display" task will cause the pixel value in the graphics window to be incorrectly shown in some cases. This is indicated by a + or - symbol after the numerical value. To get the correct value, change the scaling in the display task as described in Appendix F to the ICE manual. (Set"zscale=no", "zrange=no", "z1=4000" and "z2=10000", for example.)
Appendices F-G of the ICE manual explain ximtool and imexamine well.
Use the instrument task to turn on the incandescent lamp
ic> instrument instrfi=@incan
Verify that the lamp is on by looking at the distinctive pattern it gives on the guider.
Do a test exposure to determine the count level and hence the exposure. An exposure of 180 sec gives a peak signal of about 20,000 ADU.
ic> flats 5 180 -- to get 5 successive flat field exposures of 180 seconds
ic> zeros 5-- to get 5 successive bias exposures
Use the instrument task to turn on the thorium-argon lamp
ic> instrument instrfi=@th-ar
Verify that the lamp is on by looking at the distinctive pattern it gives on the guider.
Do a test exposure to determine the count level and hence the exposure. An exposure of 60 sec gives a signal level that does not saturate many lines.
ic> observe - and answer the questions
Note that the CE camera can only be focused when the telescope is set to the zenith because of the weight of the spectrometer optical elements.
Unlock the two large clamps under the instrument.
Locate the focus control knob on the eastern side of the instrument.
Turn the knob to change the focus setting, noting the reading on the adjacent dial (e.g., 4.23).
Check focus using the th-ar lamp and imexamine. Set the cursor on a line of moderate
strength and type "j" to get a Gaussian fit to the line including a full width half-maximum
reading.