![]() | Keck Observing with LRIS | ![]() |
| Updated 12 April 1999 | ||
Before I write up the procedure Steve Odewahn and I have used to make slitmasks,
I just want to say that there are many ways of doing this, depending on the
kinds of objects you are observing, whether or not you have box slits for
alignment stars, only straight slits, etc. We followed the method used
by Chuck Steidel & Kurt Adelberger, for making straight slits + box slits
for alignment stars. Much of this write-up is based on earlier documentation
by Steve Odewahn of a lesson from Kurt Adelberger.
Of course, to make slitmasks, you must first have astrometric coordinates
for the objects you want to take spectra of, plus a few stars of about
20th magnitude which will be used for aligning the mask at the telescope.
Now, because most detectors have some spatial distortion, the coordinates
derived from your original images must have this correction applied to
be truly astrometric. Of course, you may already have done this, in which case
you can skip to the steps using the autoslit program.
If you have taken imaging data with LRIS (Keck), COSMIC (P200), or CCD13 (P60),
there is a program, called palcoords.f, which will take care of the
distortion correction for you. It requires that you have a set of reference
objects with known coordinates in your image, perhaps derived from examining the
Digitized Sky Survey or some other such database. You will need about 7
astrometric reference stars per image.
Create a file called palcoords.input. There is an example file below. You
will have to specify the center coordinates, some reference objects,
and the x,y positions of your reference stars AND those you want in your
mask. In the objects section, you must also specify a priority for each object;
the higher the number, the higher the priority. Also, don't forget to include
your alignment objects (they are the ones with priority=-10). Here's the example:
To optimize the number of slits in a mask, Kurt Adelberger has written some
code called slitassign. Disclaimer: This code not guaranteed to produce the optimal mask! Try inputting
the PA and center from slitassign into autoslit, and see if autoslit does better.
-m 10: slit length of 10"
This will dump screen output like:
RA 00 30 16.2
DEC +17 02 37.2
HA 0 0 0.0
DATE 01 01 00
EQUINOX 2000.0
EL 0.0
POS_ANG 0.0
END
\REFERENCE
568.00 393.00 00 30 20.40 17 00 29.77 2000.0 REF_A
716.00 385.00 00 30 18.15 17 00 29.71 2000.0 REF_B
848.00 993.00 00 30 16.23 17 02 37.18 2000.0 REF_C
916.00 1577.00 00 30 15.15 17 04 41.26 2000.0 REF_D
456.00 1625.00 00 30 21.91 17 04 49.95 2000.0 REF_E
400.00 1081.00 00 30 22.87 17 02 56.06 2000.0 REF_F
\OBJECTS
568.00 393.00 20.0 10 REF_A
716.00 385.00 20.0 10 REF_B
848.00 993.00 20.0 10 REF_C
916.00 1577.00 20.0 10 REF_D
456.00 1625.00 20.0 10 REF_E
400.00 1081.00 20.0 10 REF_F
596.0 1521.0 22.0 800 SCO_001
444.0 1441.0 22.0 800 SCO_002
632.0 321.0 22.0 800 SCO_003
1508.0 153.0 22.0 800 SCO_004
204.0 1089.0 22.0 800 SCO_005
568.00 393.00 20.0 -10 SC_01
456.00 1625.00 20.0 -10 SC_02
1152.00 1629.00 20.0 -10 SC_03
948.00 173.00 20.0 -10 SC_04
Now, execute pal_coordinates (This is a Fortran program that can be copied from ~jlc/pal_coordinates).
The output for autoslit can be called whatever you want, I'll use coordinate.list. In this output, there
will be 2 columns with epochs; the first is
always 2000.0, but you should change the second to be 2000.0 as well. Here's
part of a sample coordinate.list file:
CENTER 9999 0.00 0 30 15.976 17 2 35.597 2000.0 2000.0 0.0 0.0
C0813 800 25.70 0 30 24.430 17 1 13.519 2000.0 2000.0 0.0 0.0
C1017 800 24.80 0 30 13.956 17 1 46.496 2000.0 2000.0 0.0 0.0
C1135 500 25.40 0 30 14.695 17 2 7.370 2000.0 2000.0 0.0 0.0
Make sure the first line looks similar to the one above.
Just execute:
~kla/prog/slitassign -m 10 0:179:10 < coordinates.list
The arguments are:
0:179:10: PA's to test
=========== BEST ============
theta = 20.000000 priority = 3252
[-141.0:89.4,-225.4:155.8], around 26079.3,61350.3
CENTER 9999 0.00 0 30 15.950 17 2 6.415 2000.0 2000.0 0.0 0.0
REF_A 10 20.00 0 30 20.345 17 0 28.980 2000.0 2000.0 0.0 0.0
REF_D 10 20.00 0 30 15.153 17 4 42.056 2000.0 2000.0 0.0 0.0
SC_03 -10 20.00 0 30 11.629 17 4 52.997 2000.0 2000.0 0.0 0.0
SCO_004 800 22.00 0 30 6.333 16 59 39.122 2000.0 2000.0 0.0 0.0
REF_C 10 20.00 0 30 16.184 17 2 37.267 2000.0 2000.0 0.0 0.0
SC_04 -10 20.00 0 30 14.657 16 59 42.479 2000.0 2000.0 0.0 0.0
SCO_005 800 22.00 0 30 25.801 17 2 57.756 2000.0 2000.0 0.0 0.0
REF_F 10 20.00 0 30 22.882 17 2 56.055 2000.0 2000.0 0.0 0.0
SCO_003 800 22.00 0 30 19.383 17 0 13.678 2000.0 2000.0 0.0 0.0
REF_E 10 20.00 0 30 22.012 17 4 52.262 2000.0 2000.0 0.0 0.0
SCO_001 800 22.00 0 30 19.935 17 4 30.146 2000.0 2000.0 0.0 0.0
Copy the lines starting with ``CENTER'' to a new file, say mask1good.list, and
note the theta, which is the PA you will need. You will have to edit in the lines for the alignment stars by hand!
For more details on the meanings of parameters in autoslit input files, see the online
documentation.
Now, we prepare an input parameters file for the autoslit code, which will acutally make our mask files to send to Keck. Here's an example file called input.rrg:
# Header comment FILENAME mask1good.list FILEOUT rrgmask1. Priority 10 # Press 455.5 # Mirror x0y0 Epoch 2000 Pos_Angl 150 WSlit 1.4 SLIT_SEP 1.0 Slit_len 9.85 Interact True Verbose No # Eng_Test True # # several comments together # .... # END # Special slits: BOXES 3 S1 4 S3 4 S7 4 ENDNotice I have listed the number of box slits for alignment at the 'BOXES' line, and given the object id's for each. I've also set the minimum slit length to 9.85'', the slit width to 1.4'', the PA to 150 (based on the output of slitassign), and the minimum slit separation to 1''. You can change these to whatever you want.
Now, run autoslit:
~ccs/autoslit-3.02b/autoslit3Answer the questions until your plot window appears. Use the following key entries:
? - list all commands
i - identify an object
d - delete a slit
When you are happy with the mask, type 'Q'. The output files will be:
| rrgmask1. | list of parameters and objs. |
| rrgmask1.file2 | autoslit parameters |
| rrgmask1.file3 | the MILL data sent to Keck |
| rrgmask1.ps | informative plots |
You will want to print the .ps file and the first file to take on your run.
Email the .file3 file to the appropriate person at Keck.
When you are observing at Keck from the Waimea Headquarters, it is important
to familiarize yourself with all the local computers. Below is a list of
some of the more important ones.
For my setup (RRG), I will assume that the user is running LRIS
from Hanauma, and doing data reduction while seated at Manele. This
document will describe the necessary setup to reduce data.
We log in to any computer in Waimea with the user name lris##, and the
password as given to you, where ## is the run number we are there for.
You should be notified of this in advance. A Command Tool window, and a
window to Manuka will fire up.
Now, we have to figure out where our data will originally be written by LRIS,
and where we want to reduce it. You will have been assigned a disk with a name
like /sdata### ; this disk is actually on Manuka, the LRIS computer, but can be
crossmounted to Manele by typing:
You will want to actually reduce your data on a headquarters scratch disk so
you don't tie up Manuka. Find an emptyish /scratch## disk on Manele.
Now, create an lris## directory there too, if needed.
You can go there and make subdirectories for each night.
Now, we want to set up iraf the way we like it. Your basic iraf files are in
/home/hanauma/lris##/iraf/
You should edit the login.cl to your liking, most specifically, I like to
change the setting for imdir to ``HDR$'' so the pixel files are written
to the same place as the headers.
Also, you will want to place any scripts you have brought along in a
subdirectory called scripts/, and include them in the loginuser.cl file.
Note that on some computers Emacs is not available, only XEmacs. Below
is an example loginuser.cl file, with some scripts Kurt Adelberger has
kindly provided for automatically reducing multislit LRIS data:
During the night, we will want data taken on Manuka to get
copied to our scratch location on Manele. After starting the LRIS control software,
sit down at Manele, and rlogin to Manuka. There, execute:
A User List (or Star List) is a file with object names, coordinates, etc. that the OA can use to point the telescope. This prevents problems in communicating coordinates from Remote Ops to the summit. To create a starlist, edit a file with any name. The format must be followed strictly. All whitespace is created with spaces; there are no tabs. An example file is shown below:
makapuu% cd /s/sdata###
There should exist a directory there for your run, named lris20 or somesuch.
Create a subdirectory where you want the night's data to go. This
directory will also have to be specified to the LRIS control computer. This
can be done by selecting 'disk' form the ccd control window, and entering the
appropriate path.
set scripts = "/home/hanauma/lris##/iraf/scripts/"
stty xgterm
set stdimage = imt2048
task $defslits = scripts$def_slits.cl
task fileroot = scripts$fileroot.cl
task iterstat = scripts$iterstat.cl
task makemask = scripts$makemask.cl
task minv = scripts$minv.cl
task szap = scripts$szap.cl
task xzap = scripts$xzap.cl
images
imdelete.verify = yes
delete.verify = yes
defslits
keep
Now, we will want to run a display on Manele.
Note:SAOimage no longer seems to work, only SAOtng.
manele% saotng &
manele% cd ~/iraf
manele% cl
Basically, we are now ready to reduce data in IRAF on Manele. We have the
Manuka data disk (/s/sdata##) and Manele scratch disk (/scratch##) available.
manuka% cd /h/scratch##/lris##/n1 (or whatever your scratch location is)
manuka% copymon lris
This starts a perl script which will make a copy of each new image from Manuka onto
your scratch disk.
rmz50 03 41 20.00 +19 34 41.0 2000.0 SkyPA=0
ujo51 04 32 28.95 +05 12 49.5 2000.0 SkyPA=0
bbp27 10 24 38.13 +47 04 39.2 2000.0 SkyPA=60
bbp10 11 17 29.69 +18 12 42.3 2000.0 SkyPA=45
bbp24 12 23 29.72 +15 51 20.3 2000.0 SkyPA=0
bbp16 12 31 17.01 +12 28 07.6 2000.0 SkyPA=-10
bbp28 14 17 43.36 +52 23 21.2 2000.0 SkyPA=10
Place the file in /kroot/starlists/scratch/filename.
Then, just let the night assistant know which file is yours.
| B | 20 sec |
| V | 10 sec |
| R | 6 sec |
| I | 3 sec |
In the afternoon, take an image of your mask and record the centers of
the box slits. We find that a few second (<5) exposure with the Ne lamp,
through the B filter, trapdoor closed, works fine. The boxes can be centroided by eye as long
as the centers are good to one or two pixels. Note the centers of each box,
and create a file, for example object.xy, with the box centers. Here's an
example:
This time, your alignment stars should show up in your boxes.
Now, we will use the qbox routine to centroid our stars within the boxes.
This will require our image of the mask, with the stars hopefully in the boxes, and the file with the box x,y's.
Then, epar qbox:
Qbox will display some plots showing a cut through each box.
Using the
mouse, put the movable line at the background level in the 1st box, and
hit space. It should automatically centroid the first object. If you don't
like its centroid, you can use 'f' to mark your own. Hit 'q' to go on
to the next object.
Repeat for each alignment object. Qbox will then show the offsets in a plot.
Hit 'q' to quit.
You will then get a new list of telescope commands to execute in the
manuka window. If you have edited the parameters for xbox, and set
dcs=yes and dcs_rot=yes, the telescope commands are automatically sent.
If you set dcs=no, you will be asked if you want the moves sent. This may
be prudent.
That's it.
576 1689 S1
1021 1696 S3
1345 1560 S5
Then, at night, take a short (30s) image of your field. Find one of the alignment stars in this image, and calculate its offset from the earlier mask postion
using mshift:
PACKAGE = ucsclris
TASK = mshift
xobs = 100. x coord observed
yobs = 100. y coord observed
(xref = 98.) x coord desired
(yref = 97.) y coord desired
(pa = 120.) current PA of CCD
(invert = no) invert orientation (N-top, E-right)?
dcs = no [CONFIRM] Send DCS commands?
(mode = ql)
Apply the move output by mshift, either by telling the OA, or by cutting and pasting the commands into the Manuka window. Then, put in the mask and take another image (30s).
PACKAGE = ucsclris
TASK = qbox
image = lris0246 input image
box_pos = object.xy input box positions
(fwhm = 4.) FWHM of star (pixels)
(xsz = 20.) x-size of box (pixels)
(ysz = 20.) y-size of box (pixels)
(prescan = 42) prescan included in input x-coordinates (pixels)
(invert = no) reverse orientation? (N-top, E-right)
(mode = q)
Change the fwhm to be appropriate for the seeing; 1 pixel = .2" or so.
The prescan value of 42 is appropriate for twoamp readout.

Focusing the telescope:
LRIS Focus Settings (as of December 1997 on Keck II):
| Imaging: | Clear | 2060 |
| B | 2060 | |
| V | 2230 | |
| R | 2080 | |
| I | 2060 |
| Spectra: | Longslit | GG495 | 2080 |
| clear | 2080 | ||
| Slitmask | GG495 | 2110 | |
| clear | 2060 |
Note that a new V Filter was installed after 4/96; previous focus was 2080.
Changing the Slitmasks:
Value aliases for graname:
Checking Grating Positions:
long_1.5 = 4
7_774 = 3
7_796 = 7
direct = 1
Writing Setup Procedures:
mirror = 1
600/5000 = 5
1200/7500 = 2
300/5000 = 3
Figaro Display Notes:
General Notes:
Caltech
With help from:
Updated 4/12/99