There are a few minor data preparation steps that use standalone IDL routines not part of the OIL class hierarchy. These include (1) grafting the data from a given observation into a single frame and (2) averaging frames as needed.
Since the SSS has two cameras and two CCDs, every observation we take produces two separate data files that we call the "red" frame (for the echelle) and the "blue" frame (for the HK order). To simplify processing and file management, we use a simple IDL routine that opens each file, strips off the areas of the CCD with no signal, and combines them into a single 512 x 400 pixel frame. Both the old (up through 2007) and new (2008 and beyond) data frames have the same final dimensions. Look here for images and descriptions of the raw frames.
Some types of frames require averaging. We typically take eight exposures of the quartz lamp when we take flats, and we average these after they have all been grafted to improve the SNR. We also take solar spectra in sets of eight and average them as well. As with frame grafting, we have a simple standalone IDL procedure that opens the files, does a quick check to ensure no bad or blank frames are present, and averages all the good frames.
An SSS solar "observation" usually consists of four data frames: a flat field spectrum and three solar spectra. Occasionally we also take a wavelength calibration spectrum of the Thorium-Argon (Th-Ar) hollow cathode.
A night of stellar observing usually results in a flat field frame, other calibration frames (full-frame biases, darks, and Th-Ar spectra) as needed, and all the observations of the stellar targets. With the old CCDs we usually could observe up to about 45 stars over a long night; with the new CCDs we can easily observe 60 even on summer nights, and close to 100 in winter.
To reduce the data, we first create an SSS object and then "preprocess" any new raw data files. This simply creates a FITS header from our electronic log files and stores the raw FITS frame for subsequent reduction.
sss = Obj_New( 'sss' )
The first command above opens lots of IDL windows and creates instances of all the reducer objects contained within the SSS object. The class hierarchy is diagrammed here. The preprocess commands open the corresponding log file and load the information into a FITS header, along with all the frame dimension information.
The solar log file is a plain text file with one line per frame. Here are sample lines from the log file.
03591 0 2001 284 18 00 01 72.0 69.0 -75.0 -80.0 01
03592 1 2001 284 18 00 01 72.0 69.0 -75.0 -80.0 01
03593 1 2001 284 18 00 01 72.0 69.0 -75.0 -80.0 01
03594 1 2001 284 18 00 01 72.0 69.0 -75.0 -80.0 01
The columns are:
1: SSS solar frame number
2: Frame type (0=flat, 1=solar, 2=ThAr)
3-6. Year, day of year, exposure sequence start hour and minute (UT).
7. Exposure time (seconds)
8-11. Temperatures (spectrograph room, inside of coffin, red CCD, blue CCD)
12. Observer ID (1 = Wes Lockwood)
The stellar log file is stored as a comma separated value (CSV) file exported from what is now a rather large Excel spreadsheet, with one line per frame. Here are sample lines from the stellar log file.
The columns are:
1-2: SSS observation night number, SSS stellar frame number
3: Observation (by HD number if not otherwise noted)
4-5. UT date and time of observations
6. Exposure time (seconds)
7-10. Yesr, month, day, day of year
11-14. Temperatures (red CCD, blue CCD, room, coffin)
15-16. Observer name and any comments entered for this observation
Both log files reside in the directory res/ within the main SSS data directory, and their contents are loaded into the SSS object via calls to the class methods
We do not in general call those methods directly; rather, they are invoked within the SSS object's principal wrapper methods like the two above, as well as the overarching reducer methods reduce_solar and reduce_stellar.