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.
There is chart in the control room that lists perfect focus in pixels for each slit choice.
A perfect focus for a 1.1 arcsec slit is 2.2 pixels; an acceptable focus is <2.4 px.
The focus changes roughly linearly with temperature from about 5.10 at 70F to 3.75 at 25F.
There is a chart on the corkboard that shows focus setting as a function of dome temperature.
The MicroLuminetics CCD guider looks at the telescope field of view or at the slit to permit target acquisition and guiding. It is controlled by a PC with operation via a mouse using on-screen buttons. Start / End a guiding sequence of exposures by clicking those buttons. Change the exposure time by clicking on Edit Time then change the time in the popup menu that appears.
For guiding, change the Exp. Type to 'guide'.
Acquire a bright star in the 'instrfi=@field' position.
Change to the 'instrfi=@slit' position and center on the star.
Mark the slit position on the guider monitor with the grease pen provided.
Change back to 'field' position and mark the location of the star again.
Focus of the telescope in the 'field' position is not the same as at 'slit', but is usually close enough.
The PC will sometimes hang up. Restart, push the red 'reset' button on the front of the PC CPU. Once the Win98 desktop appears on the monitor, double-click the Cryocam icon. Once the normal operating screen appears, set the exposure time, change the 'Exp. Type" to 'guide', and start the integration.
Do a "p l" in the Nereid window to update the airmass parameter.
In the ICE window,
ic> instrument instrfi=@field (to execute the change to the field position)
Center the telescope on the object
ic> instrument instrfi=@slit (to execute the change to the slit position)
Center the slit on the object
ic> observe
Answer the prompts for type of exposure, integration time, and file title.
A control-c will abort during the "question/answer" phase of the "observe" command; once integration starts, use
ic> p (to pause the exposure)
then
ic> r (to resume after the cloud went by)
ic> S (in caps, to stop the exposure early and save it)
ic> A (in caps, to abort and discard the exposure)
ic> x (to change the exposure time), then an "r" to resume
Hold time for the dewar is about 12 hours, as long as the vacuum jacket has not been contaminated - which can happen. If the vacuum jacket is contaminated, the hold time is reduced drastically. So, monitor the CCD temperature regularly by reading it on the display on the telescope tailpiece. If the CCD warms up, it takes eight hours to warm it, pump down the vacuum jacket, and cool it again - this is very bad for observing efficiency!
Fill the dewar at least every 12 hours.
In a blank field in the right monitor right click to find the 'xreport' option.
A night report window will be created. Fill in the appropriate fields.
Save the xreport periodically.
At end of the night, quit and save to file it.
At the echelle spectrometer:
Top up the LN2
Move the LN2 dewar to the other platform out of the way.
Verify the CCD at <-115¡C
Verify that the Iodine cell is OUT.
Open the 'barn door' = the instrument dark slide; this slide is so hard to pull out that it
isn't worth pushing it in again each night. Leave it out the whole run.
At the telescope console:
Turn on the console power
Move the upper windscreen out of the way
Open the dome shutter
Open the mirror cover
Extend the baffle tube
Lower the platforms
Turn on the track
Set the RA/Dec track deviations, if any
Operations:
Acquire a set up star using point commands in the Nereid window:
Put slit on star; focus telescope.
Verify star on slit.
Do 'p l' to update coordinates for star
Do 'p z' to update flexure file
Do 'p l' to get new coordinates for star. Verify that these coordinates are the same as on
the telescope readouts. If not, repeat the "p z" until they are the same.
Acquire first program star
Change to appropriate integrating mode on guider
At the TV guider:
Stop the guider integration sequence by clicking 'end'.
At the telescope:
Track off
Retract baffle tube
Close mirror cover
Return to zenith
Close dome shutter
Move the dome so the slit faces East
Lower upper windscreen
Raise platforms
Top up the LN2
Move the telescope to the stow position (HA = 0, Dec = -20)
Turn off the console power
At the computer:
Be sure that the instrument is set to @field and not at @th-ar or @incan so the lamps get
less wear.
Exit 'xreport' after completing it.
Copy data files to Exabyte tape and transfer tar.Z files to home computer.
Sending tar.Z files to your home computer
It is quick and efficient to send tar.Z files over the internet to your home computer. However, the process does take some preparation. Within an IRAF window on Miranda,
cl> cd /data1/miranda/tgb/<data directory>
cl> files *.imh > imhlist (to create a file listing all the .imh files in the current directory)
cl> !sed s/imh/fits/g imhlist > fitslist (to change the .imh to .fits on each file name
and store the new list in file fitslist.
cl> unlearn wfits (to get rid of the "yes" or "no" in the "newtape" parameter
cl> epar wfits
"iraf_file = @imhlist"
"fits_file=@fitslist"
"newtape= (blank)"
cl> wfits (to create a fits file for every IRAF file and retain the same name)
cl> cd /data1/miranda/tgb
cl> !/opt/local/gnu/bin/tar cvf /data1/miranda/tgb/nite1/nite1.tar nite1/ *.fits
(to create a file nite1.tar containing the *.fits files inside the directory nite1)
cl> cd nite1
cl> !compress nite1.tar (to create a compressed file 'nite1.tar.Z' of the tar file)
cl> !scp nite1.tar.Z tgb@astro:/tgb/tgb/<name>
(to transfer the file to directory /tgb/tgb/<name>
tgb@astro's password: <password>.
nite1.tar.Z (line showing progress of the transfer)
It takes about 4.5 minutes to transfer 42 Mbytes, but this depends on the internet traffic.
At home, the data may be uncompressed and extracted,
astro> uncompress nite1.tar.Z (to decompress the file)
astro> tar xvf nite1.tar (to extract the *.fits files from the tar file)
The above format for creating the .tar file will lead to the extraction creating a directory /nite1 into which the *.fits files are put.
Writing FITS files to Exabyte tape
Data may be written on exabyte tapes (2292 Mbyte) in FITS format, ~900 full-sized frames fill a tape. However, it is inefficient to put that many files on a tape as the time to skip ~800 files is nearly two hours! It is better to write at most a few hundred files to each tape.
To start the tape dump, in the IRAF window,
cl> cd /data1/miranda/tgb/nite1 (to go to data sub-directory)
cl> dir (to verify location and presence of .imh, .pix files)
Load the Exabyte tape in the drive
cl.> allocate mtt (to assign drive to Miranda)
cl > dataio (to launch data I/O package)
da > epar wfits (to verify parameters in write package)
change only the first three parameters as appropriate
"iraf_fil= tgb*.imh" or @filename (if filename contains the list of files to be copied)
"fits_fil= mtt" (to send the files to tape)
"newtape= yes" or "no"
control-d to escape editor or :go to launch wfits directly
da > wfits (to launch wfits if :go had not been used, do a return for each query)
da > deallocate mtt (to rewind tape after finished)
Eject the tape
It takes about 14 minutes to skip 100 CE images and 25 minutes to write 100 CE images.
Bill Cochran's program "catter" will catalog a FTS tape and verify that data exist in the records. To execute "catter", open a Miranda window and at the Miranda prompt type
% /home/Miranda/wdc/bin/catter exabyte test wide
A listing will be given in the window.
Writing tar files to Exabyte tape
It is vastly faster to write tar files to Exabyte than to write FITS files directly. Note that the name of the 2.1m tape drive is /rmt/0n where that is a zero. From within a Miranda window
% tar cvf /dev/rmt/0n fits* to write all the FITS files in the current directory to a tar file.
% mt -f /dev/rmt/0n rewind to rewind the tape
% mt -f /dev/rmt/0n status to check on what the tape is doing
% mt -f /dev/rmt/0n fsf N to skip N files
% tar vf /dev/rmt/0n > tapelist.txt to list the tape into a file tapelist.txt
% type tapelist.txt to list on the screen the contents of tapelist.txt
At home, the tape may be read using
% tar xvf /dev/rstN where rstN is the local /dev
Different menus are generated by each of the 3 Sun mouse buttons when clicked on an open area of the desktop.
Mouse control:
To cut and paste, select text with the left mouse button and paste it at the cursor location with the right one.
Middle mouse button grabs and moves things.
Use the up/down arrows to move to earlier typed lines.