Princeton/MIT SDSS Spectroscopy Home Page

This page should get anyone started using the SDSS spectra within minutes.
There are instructions for anyone to get the
publicly-available data,
or for SDSS collaborators to get the
still-proprietary data.
This page describes tools to view, query and use these data using IDL,
SuperMongo or IRAF. There are also summary ASCII files
that contain positions, magnitudes, classification information, and redshifts.

(On a PostScript previewer, turn off State->Antialias.)
The Milky Way is masked with dashed lines. The MAIN galaxy sample are
black points, the luminous red galaxies (LRGs) that are not in MAIN are red,
and quasars are blue. Specifically, these plots are made with all
good plates whose centers are within 0.25 deg of the plane.

The SDSS will observe approximately 2000 plates by the end of
its 5 year survey. Each plate is physically an aluminum disk 60 cm
in diameter that subtends 3 degrees on the sky.
640 fibers are plugged into each plate at the location of objects chosen from
the photometric survey, allowing us to spectroscopically observe 640
objects at time. Typically, we integrate for 45 minutes on each plate.

Since plates are occasionally re-observed, the plate number plus the
observation date uniquely identifies an observation. We track the
date with modified Julian date (MJD). In these re-observations,
the optical fibers may be plugged into different holes, so fiber #1 on
plate 306 won't be the same on the MJD=51637 observation as on MJD=51690.

Therefore, PLATE + MJD + FIBERID uniquely determines a single observation
of a single object. The TILE number uniquely determines a position on the
sky, and there are a few instances where two PLATEs are drilled for one TILE.

This list of plates is auto-updated each day based upon which reductions
have completed. It is available in the following formats:

As of 31 May 2002, we have observed 621 "good" plates and 22
"marginal" plates for a total of 643 * 640 = 411,520 spectra.

Aside from PLATE, TILE and MJD, this list contains the following:

RA = Right ascension of plate center [J2000 degrees].
DEC = Declination of plate center [J2000 degrees].
MAPNAME = Mapping name for this plate; data with the same mapping name
are always combined into one plate file, even if taken on
different nights.
VERSLOG = Version of speclog product (spectroscopic log files).
VERSUTIL = Version of idlutils product.
VERSFLAT = Version of specflat product (spectroscopic pixel flats).
VERSREAD = Version of Spectro-2D code for pre-processing raw data.
VERS2D = Version of Spectro-2D code to reduce the individual frames.
VERSCOMB = Version of Spectro-2D code to combine frames into a plate file.
VERS1D = Version of Princeton-1D code to measure redshifts.
VERSTARG = Version of Target code for selecting the objects on this plate.
CHUNKNAME= The name of the Target and tiling run which produced this plate.
NEXP = Total number of frames from all cameras used in the co-adding;
since there are 4 cameras, NEXP=12 would typically mean that there
were 3 exposures in each camera.
NEXP_B1 = Number of exposures in b1 camera.
NEXP_B2 = Number of exposures in b2 camera.
NEXP_R1 = Number of exposures in r1 camera.
NEXP_R2 = Number of exposures in r2 camera.
EXPT_B1 = Total exposure time in b1 camera.
EXPT_B2 = Total exposure time in b2 camera.
EXPT_R1 = Total exposure time in r1 camera.
EXPT_R2 = Total exposure time in r2 camera.
SN2_G1 = (S/N)^2 per pixel at g=20.2 on spectrograph #1.
SN2_G2 = (S/N)^2 per pixel at g=20.2 on spectrograph #2.
SN2_R1 = (S/N)^2 per pixel at r=20.25 on spectrograph #1.
SN2_R2 = (S/N)^2 per pixel at r=20.25 on spectrograph #2.
SN2_I1 = (S/N)^2 per pixel at i=19.9 on spectrograph #1.
SN2_I2 = (S/N)^2 per pixel at i=19.9 on spectrograph #2.
N_GALAXY = The number of objects Princeton-1D called a galaxy.
N_QSO = The number of objects Princeton-1D called a QSO.
N_STAR = The number of objects Princeton-1D called a star.
N_UNKNOWN= The number of objects Princeton-1D declared spectroscopically
unknown (a ZWARNING flag is set)
N_SKY = The number of sky fibers (almost always exactly 32)
N_TARGET_MAIN = Number of objects targetted for the main galaxy survey.
N_TARGET_LRG = Number of objects targetted for the LRG galaxy survey.
N_TARGET_QSO = Number of objects targetted for the QSO survey.
SUCCESS_MAIN = Percentage success rate for objects targetted as "main" galaxies
and spectroscopically classified as either "GALAXY" or "QSO".
SUCCESS_LRG = Percentage success rate for objects targetted as LRG galaxies
and spectroscopically classified as "GALAXY".
SUCCESS_QSO = Percentage success rate for objects targetted as QSOs
and spectroscopically classified as "QSO".
STATUS2D = Status of Spectro-2D pipeline for reducing individual exposures;
"Done" if done.
STATUSCOMBINE = Status of Spectro-2D pipeline for combining individual
exposures into the spPlate files; "Done" if done.
STATUS1D = Status of Princeton-1D pipeline; "Done" if done.
QSURVEY = Status flag set to 1 for the best observation of any tile on the sky
that satisfies the following: (S/N)^2 > 13.0 for G1,G2,I1,I2, and
the target version cannot be "special" or "devel".
PUBLIC = Name of public data release; presently plates are either not public,
or part of the Early Data Release (EDR) or Data Release 1 (DR1).

The values of SN2 give an estimate of the signal-to-noise (per pixel) of a plate
at a fiducial magnitude. The fiducials are set to g=20.2, r=20.25, i=19.9.
The measurement is of the signal-to-noise squared, per pixel, for an object
at that magnitude.
All these values must be > 13 for a plate to be "marginal".
All these values must be > 15 for a plate to be "good".

The best effort to avoid duplicate objects is to make use of
the SPECPRIMARY field in the spAll summary file.
That selects the best observation of any given object.

Selecting only those plates with QSURVEY=1 will yield non-duplicate
observations of tiles on the sky that meet the survey requirements
for signal-to-noise. There still may be a few duplicate objects,
as some objects are put on multiple tiles for "quality assurance".
These duplicates can be identified with OBJTYPE="QA". That OBJTYPE
column exists either in HDU #5 of the spPlate files,
or in a column by that name in the spAll summary files.

Note that the above statements are almost but not exactly true.
There were some target-selection errors that resulted in duplicated
targets not labelled as "QA" (notably in runs 94 and 125; see
sdss-spectro/710).
The following IDL commands can be used to select a truly unique set
of objects:

Note that these reductions are not identical to the "official SDSS
data release", but have several improvements and include our redshift fits,
spectral classifications, velocity dispersions for galaxies,
and emission line fits.

The spectroscopic data is reduced at Princeton, typically within 12 hours
of the data being taken. These reductions are available directly from
Princeton as described below.

At Princeton, the top-level directory for the reduced data is:

/u/dss/spectro

Older reductions exist at:

/u/dss/spectro_v4_8

To obtain the data from Princeton you will need access to the "alfred"
account. Send your SSH public key (in the file ".ssh/identity.pub") to
schlegel@astro.princeton.edu.
(See Mike Blanton's
notes on generating ssh keys.)
Once you have been added to the authorized_keys list for user "alfred",
then you can copy the data with "rsync" or "scp".

where $SPECTRO_DATA refers to the top-level directory (spectro), and $PLATE
refers to a subdirectory with the plate name (e.g., 0301), and $MJD refers
to the date of observation (e.g., 52000).
There are also some intermediate output files (e.g., spCFrame files)
that can be ignored by most users.

Most people will only want the summary files, combined spectra and 1D outputs
(redshifts). These total about 125 Gb for 1300 plates as of Feb 2004.
The following command will copy that entire list of files (eventually).
Should the copy be interrupted, the "rsync" command can be invoked again
to successfully copy the remainder of the data.

These spectroscopic reductions are completely automated with the
Spectro Robot. As data are taken at Apache Point, the data are copied
to Princeton, plan files are built that describe how to reduce the
data, and the reductions are batched on local and remote CPU's.
You can expect all spectroscopic observations to be reduced within 24 hours.

An efficient way to keep your copy of these reductions current is to use
the Unix "rsync" command as described above. A cleaner implementation
of this is to use the
pullspectra
script from the "idlspec2d" product.
If you run "rsync" or "pullspectra" each day or each week, it will only
copy files that have been changed or added. This is a convenient way
to keep your data up-to-date without re-copying everything en-masse.
Note that you need "ssh" to work without asking for a
pass-phrase for "rsync" to work as a cron job (see below) -- see your system
admin if you need help with that.

Finally, you could set up a "cron" job to update your copy of the data on
a daily basis. This would be done by creating a cron table file (call it
"cron.table" in this example). If you want to copy the typical set of
spectroscopic outputs every day at 3:15 am, this file would look something
like this:

15 3 * * * /my/directory/bin/pullspectra /my/data

replacing "/my/directory/bin" with your local path to the "pullspectra"
command, and replacing "/my/data" with your data directory.
Note that "cron" jobs do not inheret your environment variables, so
it is necessary to use explicit paths.
Then load this "cron" job by typing:

crontab cron.table

This example will update your copy of the data at 3:15am every morning.
To stop this updating, unload the cron table with:

There are a number of "special" plates, designed for commissioning
either the hardware or target selection for the survey. These plates are:

Plate 125-134, 160, 161 : Coma plates
See
Aaron Merrelli's web page.
These data were taken when the spectrographs were just being put
together. Only one spectrograph was on the telescope (with 320 fibers),
and there was significant light contamination from LED's inside the
instrument.
Plate 133 was observed.

Plates 318,319 : Faint M67 plates
These plates were designed by Brian Yanny (318) and David Schlegel (319).
See
sdss-spcommish msg/149
and
sdss-spcommish msg/159.
Plate 318 was observed on several occasions; plate 319 was never observed.
Since the SPECTROPHOTO standards were really just random positions on
the sky, the current reductions are probably garbage.

Plate 797 : Faint F subdwarf plate
This was designed by Brian Yanny from the imaging runs 125 and 752,
and selects F stars in the magnitude range g=[19,20.5] at RA=4.5 hrs.

Plates 798-801 : Star cluster plates
See the sdss-spectro/766.
The clusters are Praesepe (798), Pleiades (799), N752 (800), N1817 (801).
These plates have several tiles (pointings per plate), and require
special instructions for observing.

Plates 802-806 : Galaxy cluster plates?
These plates were designed by Jim Annis.

Plates 807-810 : Szalay photo-z plates
These plates were designed by Alex Szalay.

Plate 811 : Loveday photo-z plate
This plate was designed by Jon Loveday.

Plates 1021-1037 : Annis low-z galaxies + Eisenstein LRGs
The only information we have on these plates was posted to
sdss-target/670.

We generated one monstrous file with all the spectroscopic
and photometric outputs (but not the actual images, spectra
or spectroscopic line fits). These files are FITS binary tables.
The photometric information is from the best-available
``uber-calibration'' of the imaging data as of April 2005.
The details of the photometric information can be found here:
http://photo.astro.princeton.edu/#data_model .
These files include matches to to the FIRST radio catalog,
the 2MASS catalog, and the USNO-B astrometric catalog.
The following files exist:

spAll.fits - All spectroscopic data taken to date
from 'marginal' or 'good' plates
(see PLATEQUALITY in the platelist file)

spAll-EDR.fits - spAll generated from only those plates
in the Early Data Release (EDR)

spAll-DR1.fits - spAll generated from only those plates
new to Data Release 1 (DR1)

spAll-DR2.fits - spAll generated from only those plates
new to Data Release 2 (DR2)

spAll-DR3.fits - spAll generated from only those plates
new to Data Release 3 (DR3)

spAll-DR4.fits - spAll generated from only those plates
new to Data Release 4 (DR4)

spAll-public.fits - spAll generated from EDR+DR1+DR2+DR3+DR4

Although these files are quite large, most FITS readers will allow
you to read such files piece-wise.
There are corresponding ASCII versions of these files, i.e. spAll.dat,
that contain a subset of the information.

The following information is compiled for each object:

PROGNAME

Spectroscopic program: 'main' for the SDSS main survey,
'southern' for the SDSS Southern survey, and
'devel', 'special', 'photoz' for other assorted programs

CHUNKNAME

Targetting chunk name (this is a numeric value for
all plates in the 'main' or 'southern' survey)

PLATEQUALITY

Quality of plate from platelist file: 'bad', 'marginal', or 'good'

PLATESN2

Signal-of-noise measure of the plate (the worst of the 4 cameras)

SPECPRIMARY

1 for the best spectroscopic observation of each object, 0 otherwise

SPECOBJ_ID

Unique ID for spectroscopic objects, starting with 1; objects at
the same coordinates have the same ID, with only one being SPECPRIMARY

calibObj structure with all imaging parameters;
fluxes are in units of nano-maggies, so MAG=22.5-2.5*log10(FLUX)

In addition, we've also made ASCII files with the most relevant quantities
that one may wish to search on. These files are "spAll*.dat", and are basically
a stripped-down version of "spAll*.fits" for those FITS-challenged astronomers.
I have made some small changes to the ASCII file to make it more convenient
with Unix commands such as "awk" that want to index based upon word number:
(1) blank strings have been replaced with double-quotes, and
(2) spaces within strings have been replaced with plus signs
(i.e., replacing "BROADLINE STARBURST" with "BROADLINE+STARBURST").

These photometric outputs are from the Princeton PHOTO reductions.

If you have access to the Princeton computers,
these trimmed calibObj files can be found at:

The summary files make it convenient to select complete samples.
There are three complete samples that one can generate from the SDSS spectra:
the "main" galaxy sample, the Luminous Red galaxy sample (LRGs), and QSOs.
For complete samples, one should only use those plates that are for
the PROGNAME="main" survey (not "southern", "photoz", etc.) and the
primary observations of each object (SPECPRIMARY=1).

The main galaxy survey is selected from the
target flags being set
to GALAXY, GALAXY_BIG, or GALAXY_BRIGHT_CORE.
The following bit of IDL code will select a unique list of objects targetted
by the main galaxy survey that have been spectroscopically confirmed
as galaxies or QSOs:

The Luminous Red Galaxy survey is selected from the
target flags being set
to GALAXY_RED or GALAXY_RED_II.
The following bit of IDL code will select a unique list of objects targetted
by the LRG galaxy survey that have been spectroscopically confirmed
as galaxies:

The QSO survey is selected from the
target flags being set
to QSO_HIZ, QSO_CAP, QSO_SKIRT, QSO_FIRST_CAP or QSO_FIRST_SKIRT.
(The flags QSO_MAG_OUTLIER and QSO_REJECT do not define a complete sample).
The following bit of IDL code will select a unique list of objects targetted
by the QSO survey that have been spectroscopically confirmed
as QSOs:

Since standard FITS files are used, there are many ways to access these
data. Below are descriptions of specially-written IDL, SM, and IRAF code for
looking at the data.
If you write any such tools, it would be useful to make them available
to the collaboration by posting them on this site.

The absolute simplest way to look at the data is to use ATV, SAOimage or XIMTOOL
to display the plate images (spPlate*.fits), which will show you all 640
spectra on a plate at once.

If you need to install the code yourself, you need two products:
"idlutils", and "idlspec2d". If you wish to reduce the raw data
from scratch, you will also need a third product called "specflat".
See the instructions for installing this code at:

The spectrum is shown in white, the errors in red (except masked points
are set to zero), and the best-fit eigenspectrum in blue.
The mouse buttons will zoom in (left), recenter (center), or zoom out (right).
The frame can be saved as a PostScript file by selecting File->WriteEPS
from the left-hand corner.

You will need a version of SM which supports FITS extensions
(version SM2_4_8 or later). If you have a valid SM license,
you or your system admin should be able to install this (see the bottom of
Michael's README file.

At Princeton, you could type the following to display plate 306 fiber 100,
then overplot the best-fit template:

Pat Hall has written an IRAF package, PHIST, for displaying SDSS spectra.
It does not have all the functionality of the IDL tools, but does have
some complementary functions. The task list is as follows:

Here's the README file on how to retrieve & install the package
for version v.2 (December 2001):

PHIST -- Pat Hall's IRAF SDSS Tasks
v.2 011207 Read "phist.hlp" ("phelp phist opt=sys" in IRAF) for an
introduction. Entire package available as a compressed tarfile
from http://astro.princeton.edu/~pathall/phist2.tar.gz
To install, enter the proper pathnames in "phist.cl" and
"phist.hd", load the IRAF "softools" package, and type
"mkhelpdb root.hd helpdb.mip", deleting the old helpdb.mip
if necessary. See "phist.hlp" for how to include
the package in your default IRAF startup.

This file contains the extracted spectra for a single CCD of
a single exposure. In general, each object has several blue exposures
and several red exposures. These spectra are still in the native
wavelength mapping, which is neither linear in wavelength nor log-wavelength.
However, the spectra are flux-calibrated, and deviant pixels are rejected
in the pixel mask (from the comparison with the other exposures).

This file contains the combined spectra for all exposures
(potentially spanning multiple nights) for a given mapped plate.
The first 5 HDU's contain NPIX by 640 images, where NPIX is the
number of wavelengths. The pixel scale is exactly 1e-4 in
log-wavelength (any units), which corresponds to 1e-4 * c * ln(10)
= 69.029765 km/sec.

There are two masks, an "AND" mask and an "OR" mask. The spectra
are constructed from 3 or more 15-minute observations, and the "AND" mask
bits are set if that bit is set for each and every input observation.
The "OR" mask bits are set if that bit is set for any of the observations.
Usually, I only look at the "AND" mask.

When low numbered bits (<16) are set, those will be set for half
of the spectra -- either the blue or red spectrograph. The higher-numbered
bits (>=16) are set for individual pixels.

Which mask bits are important? The conditions that are considered
very bad are already used to set the errors to infinity for the
effected pixels (specifically, the inverse variance is set to zero).
The most useful mask bit to look at is BRIGHTSKY, which indicates
when the sky is so bright relative to the object that perhaps one
shouldn't trust any of the object flux there. Our reported errors
are meant to include sky-subtraction errors, but there are instances
(particularly around 5577) where these errors may be untrustworthy.

Dispersion and sky: The dispersion per pixel and the sky flux
are computed at each pixel by re-weighting the individual spectra
at each pixel according to their formal errors. This re-weighting
is only approximate.

Sky wavelengths: Note that the sky lines are slightly shifted
in the reductions because we transform the velocities to the barycenter
of the solar system. Each exposure that contributes to the co-added
spectra will have slightly different barycenter correction, so the
"average sky" contains a superposition of these slightly-offset sky lines.
These shifts keep the object spectra as-measured at the barycenter,
regardless of the time of year or the Earth's rotation relative to
the spectroscopic targets.

This file contains the spectroscopic classifications and redshifts
from the Princeton-1D code.
Ths first HDU is the FITS binary table described below.
The 2nd HDU is the best-fit eigen-spectrum for each object.
These can be regenerated from the tabular information, but for
convenience I've explicitly computed them.

The columns in the first HDU are as follows:

PLATE Plate number
TILE Tile number
MJD Modified Julian date of observation
FIBERID Fiber ID (1 to 640)
OBJID 4-element PHOTO ID of targetted object: run, re-run, column, ID
OBJTYPE Why this object was targetted. Note that if this field says QSO,
it could be the case that this object would have been targetted
as a GALAXY or any number of other categories as well. The
PRIMTARGET and SECTARGET flags in the plug-map structure (in the
spPlate file) gives this full information.
PLUG_RA Object RA (drilled fiber position) [J2000 degrees].
PLUG_DEC Object DEC (drilled fiber position) [J2000 degrees].
CLASS Spectro classification: GALAXY, QSO, STAR; reductions prior to
version v4_7 will also use SKY and UNKNOWN; later versions set
the ZWARNING flags
SUBCLASS Spectro sub-classification. Galaxies and QSO's can be given
sub-classifications based upon their emission lines.
This text includes the word "AGN" if:
log10(OIII/Hbeta) > 0.7 - 1.2 * (log10(NII/Halpha) - 0.4)
This text includes the word "STARFORMING" if:
log10(OIII/Hbeta) < 0.7 - 1.2 * (log10(NII/Halpha) - 0.4)
If the H_alpha E.W. > 500 Ang, then upgrade "STARFORMING" to
"STARBURST."
In all cases for AGN, STARFORMING, and STARBURST, the 4 emission
lines used for that sub-classification must have well-measured
errors (e.g., LINEAREA_ERR > 0).
If any galaxies or quasars have lines detected at the 10-sigma
level with sigmas > 200 km/sec at the 5-sigma level, call them
"BROADLINE".
For stars, the following subclassifications are in use:
O, OB, B6, B9, A0, A0p, F2, F5, F9, G0, G2, G5, K1, K3, K5, K7,
M0V, M2V,M1, M2, M3, M4, M5, M6, M7, M8, L0, L1, L2, L3, L4, L5,
L5.5, L9, T2, Carbon, Carbon_lines, CarbonWD, CV.
Z Redshift; if the ZWARNING flag is nonzero, then assume that this
redshift is incorrect
Z_ERR Redshift error based upon fit to chi^2 minimum; negative for
invalid fit
RCHI2 Reduced chi^2 for best fit
DOF Degrees of freedom for best fit
RCHI2DIFF Difference in reduced chi^2 of best solution to 2nd best solution
TFILE Template file in $IDLSPEC2D_DIR/templates
TCOLUMN Columns to use in template file (0-indexed); unused values set to -1
NPOLY Number of polynomial terms used in conjunction with TFILE
THETA Eigenvalue coefficients for each column in template file + each polynomial term
THETA_COVAR Covariance matrix for THETA, where the square root of the
diagonal elements gives the formal 1-sigma statistical errors
VDISP Velocity dispersion, only computed for galaxies (km/sec)
and explicitly masking emission line regions
VDISP_ERR Error in VDISP (km/sec); negative for invalid fit
VDISPZ Redshift for best-fit velocity dispersion
VDISP_ERR Error in VDISPZ
VDISPCHI2 Chi^2 for best-fit velocity dispersion
VDISPNPIX Number of pixels overlapping the templates used in the
velocity dispersion fit
VDISPDOF Degrees of freedom for best-fit velocity dispersion, equal to
VDISPNPIX minus the number of templates minus the number of
polynomial terms minus 1 (the last 1 is for the velocity dispersion)
WAVEMIN Minimum observed (vacuum) wavelength for this object (Angstroms)
WAVEMAX Maximum observed (vacuum) wavelength for this object (Angstroms)
WCOVERAGE Amount of wavelength coverage in log-10(Angstroms)
ZWARNING A flag set for bad redshift fits in place of calling CLASS=UNKNOWN.
The following bits may be set:
0 = Sky fiber
1 = Too little wavelength coverage (WCOVERAGE < 0.18)
2 = Chi^2 is too close to chi^2 for the next best fit (within 0.01
in the reduced chi^2)
3 = Synthetic spectrum is negative (only set for stars and QSO's)
4 = Fraction of points above 5 sigma is too large (> 5%)
5 = Chi^2 minimum was at the edge of the redshift-fitting range,
resulting in Z_ERR being set to -1
6 = Negative emission in a QSO line, triggered only in QSO spectra
iff C_IV, C_III, Mg_II, H_beta, or H_alpha has
LINEAREA + 3 * LINEAREA_ERR < 0
SN_MEDIAN Median S/N for all good pixels
CHI68P 68-th percentile value of abs(chi) of the best-fit synthetic
spectrum to the actual spectrum, which would be 1.0 for a good fit
if the errors are properly normalized.
FRACNSIGMA Fraction of pixels deviant by more than N sigma, where N=[1,2,...10]
(igorning all points blueward of rest-frame 1216 Ang)
FRACNSIGHI Fraction of pixels high by more than N sigma, where N=[1,2,...10]
(igorning all points blueward of rest-frame 1216 Ang)
FRACNSIGLO Fraction of pixels low by more than N sigma, where N=[1,2,...10]
(igorning all points blueward of rest-frame 1216 Ang)
(incorrectly computed for versions of the code before v4_9_10)
SPECTROFLUX 5-element array of integrated flux in each of the 5 SDSS imaging
filters (ugriz); the units are nanomaggies, which is 1 at 22.5
magnitude; convert to magnitudes with
22.5 - 2.5 * LOG_10(SPECTROFLUX);
the u-band and z-band counts should not be used
SPECTROFLUX_IVAR: The approximate error (inverse variance) in SPECTROFLUX
as measured by the sky fibers; we assign identical errors
in linear flux units to all fibers on a plate.
SPECTROSYNFLUX: Same as SPECTROFLUX, but measured using the best-fit
synthetic eigen-spectrum rather than the actual data points
SPECTROSYNFLUX_IVAR: The approximate error (inverse variance) in SPECTROSYNFLUX
as measured by the sky fibers; we assign identical errors
in linear flux units to all fibers on a plate.
SPECTROSKYFLUX: 5-element array of the sky flux in each of the 5 SDSS imaging
filters
ANYANDMASK Mask bits which are set if any pixels for an object's ANDMASK
have that bit set (these fields incorrect in current reductions)
ANYORMASK Mask bits which are set if any pixels for an object's ORMASK
have that bit set (these fields incorrect in current reductions)
SPEC1_G (S/N)^2 at g=20.20 for spectrograph #1 (same value for 320 fibers)
SPEC1_R (S/N)^2 at r=20.25 for spectrograph #1 (same value for 320 fibers)
SPEC1_I (S/N)^2 at i=19.90 for spectrograph #1 (same value for 320 fibers)
SPEC2_G (S/N)^2 at g=20.20 for spectrograph #2 (same value for 320 fibers)
SPEC2_R (S/N)^2 at r=20.25 for spectrograph #2 (same value for 320 fibers)
SPEC2_I (S/N)^2 at i=19.90 for spectrograph #2 (same value for 320 fibers)
ELODIE_FILENAME File name for best-fit Elodie star
ELODIE_OBJECT Star name (mostly Henry Draper names)
ELODIE_SPTYPE Spectral type
ELODIE_BV (B-V) color
ELODIE_TEFF Effective temperature
ELODIE_LOGG Log10(gravity)
ELODIE_FEH [Fe/H]
ELODIE_Z Redshift
ELODIE_Z_ERR Redshift error; negative for invalid fit
ELODIE_Z_MODELERR The standard deviation in redshift amongst the 12
best-fit stars
ELODIE_RCHI2 Reduced chi^2
ELODIE_DOF Degrees of freedom for fit
VELOCITY_TAI Timestamp for each exposure [sec]
VELOCITY Velocity for each exposure [km/s], where the first exposure
should be zero within roundoff
VELOCITY_ERR Error in VELOCITY [km/s]
VELOCITY_COVAR Covariance matrix for VELOCITY, where the square root of the
diagonal elements gives the formal 1-sigma statistical errors

PLATE Plate number
MJD Modified Julian date of observation
FIBERID Fiber ID (1 to 640)
LINENAME Line name
LINEWAVE Catalog wavelength for this line in vacuum Angstroms
LINEZ Redshift
LINEZ_ERR Redshift error (negative for invalid fit)
LINESIGMA Gaussian width in km/sec
LINESIGMA_ERR Error in gaussian width (negative for invalid fit)
LINEAREA Area in gaussian fit where units are (flux-units) * Ang
LINEAREA_ERR Flux error (negative for invalid fit)
LINEEW Equivalent width (Angstroms)
LINEEW_ERR Equivalent width error (negative for invalid fit)
LINECONTLEVEL Continuum level at line center
LINECONTLEVEL_ERR Error in continuum level at line center
LINENPIX Number of good pixels within +/- 3 sigma of the line center
LINEDOF Degrees of freedom in fit, approximated as LINENPIX minus
the number of terms fit for that line, which can be
fractional if one parameter if fixed betwen several lines
LINECHI2 Chi^2 for all points within +/- 3 sigma of the line center
(negative if no such points)

The following lines are fit. Lines with the same ZINDEX are constrained to
have the same redshift. Lines with the same WINDEX are constrained to have
the same gaussian width. The flux ratios of [O_III] and [N_II] are are
constrained to be 1:3.

This file is a FITS binary table identical in form to the spZbest file,
but with all the fits ever done to each object. This includes 5
possible galaxy redshifts, 5 possible QSO redshifts, and 1 for each
of many types of stars. They are rank-sorted for each object,
letting you go through and keep asking "but what's the next best fit?".
This is what the IDL procedure
plotspec
uses when the ZNUM keyword is specified.
For example, ZNUM=2 will over-plot the 2nd-best fit eigenspectrum.

For the v4_9_8 through v5_0_0 reductions, NAXIS2=33280 in HDU#1
for the spZall files, meaning there are fits for 33280/640 = 52
sets of eigentemplates per object. Most of those are single-eigenspectra
stars.

Not all of the parameters in the spZbest file are computed for
the spZall file. For example, the SDSS filter convolutions are not done.

The target selection sets bits in two flags called PRIMTARGET and SECTARGET.
An object can have multiple bits set. For example, if the target selection
code determined that an object was both a QSO_SKIRT and a STAR_WHITE_DWARF,
then two bits will be set. The value of PRIMTARGET in this example will
be 2^4 + 2^19 = 524304.

Let's say you want to find all objects either targetted as a carbon star,
or spectroscopically classified as one. All this information is in the
summary file "spAll.fits". From IDL, one could search for these objects
and print their PLATE, MJD, and FIBERID as follows:

Yes, the data are stored using vacuum wavelengths. This makes sense
for quasologists. But most optical astronomers know the wavelengths of
transitions as measured at S.T.P., which is how the CRC lists them for
any transitions redward of 2000 Angstroms.

The IAU standard for conversion from air to vacuum wavelengths is given
in Morton (1991, ApJS, 77, 119). For vacuum wavelengths (VAC) in Angstroms,
convert to air wavelength (AIR) via:

Here is a list of the most offensive known problems in either the
data or in the Spectro-2D reduction code as of version v4_9_11 (31 May 2002):

Plate 0187/51455 has no good b2 arc on the first night of data 51454.
This plate has severe scattered light problems. The r2 camera
is completely flagged as REDMONSTER in the ORMASK, and is
therefore ignored by the redshift-finding code. For that
reason, the synthetic spectra do not match the spectra
at all for the red side of fibers 321-640.
Plate 0192/51461 has severe scattered light problems.
Plate 0202/51441 has the Red Monster light at 6400-6550 Ang in the last
2 of 4 exposures (exp #1367,1368).
This results in some wrong z=4.3 QSOs (fibers 601,639).
Apparently 2 of the b1 science exposures saturated
(exp #1366,1367). See PR #1890.
Plate 0214/51441 has the Red Monster light at 6400-6550 Ang in the first
3 of 4 exposures (exp #1356-1368). See PR #1890.
Plate 0231/51456 has no good r1 arc on the first night of data 51455.
Plate 0260/51612 looks like funny fluxing in the blue below 4000 Ang,
probably due to very low S/N.
Plate 0354/51792 taken during moon
Plate 0360/51780 had the b1 CCD warm up during exposures 6193,6194,6199
resulting in apparent scattered light in 6193,6194 and
rejection of frame 6199. See PR #2170.
Plate 0426/51882 has the Red Monster light at 6400-6550 Ang in exp #7366-7367.
See PR #1890.
Plate 0541/51959 has bad extraction chi^2 and sky-subtraction, especially in r1.
Plate 0644/52149 has bad extraction chi^2 and sky-subtraction. Is this the same
problem as for plate 0541/51959?

The following list of plates were rejected because of out-of-collimation
spectrographs (c.f., sdss-spectro/873):

Plates 0179,0182 are FASTT plates with 12th mag stars and no sky fibers;
these data are not reducable.
Plate 0204/51455 has no good b1,b2,r2 arcs
Plate 0209/51462 has too many saturated rows in r2 for the modern reduction code
Plate 0213/51578 has no good b2 arc
Plate 0218/51461 has no good b2 arc
Plate 0235/51462 has no good b2 arc (saturated)
Plate 0260/51612 has only 2 science exposures, so will not combine
Plate 0284/51934 has no good arcs (flat-field screen was not closed for arcs);
no plan file even built
Plate 0296/51578 has no good b2 arc
Plate 0317/51589 has no flats or arcs; no plan file even built
Plate 0318 special plate needs edited plug-map files in order to run
Plate 0324/51616 only has one science exposure, so won't combine
Plate 0347/51701 has 1 saturated exposure on 51694, and 1 good one on 51701
Plate 0560/52045 only has one science exposure, so will not combine

File bugs about the extracted spectra against the category "idlspec2d",
and about the redshifts or template-fitting against "specBS".
Before filing a problem report (PR), first look at the
Known Problems section above and
search the bug database to make sure no one else has already reported
the problem.

Funding for the creation and distribution of the SDSS Archive has
been provided by the Alfred P. Sloan Foundation, the Participating
Institutions, the National Aeronautics and Space Administration, the
National Science Foundation, the U.S. Department of Energy, the Japanese
Monbukagakusho, and the Max Planck Society. The SDSS Web site is
http://www.sdss.org/.

The SDSS is managed by the Astrophysical Research Consortium (ARC) for the
Participating Institutions. The Participating Institutions are The University of Chicago,
Fermilab, the Institute for Advanced Study, the Japan Participation
Group, The Johns Hopkins University, Los Alamos National Laboratory,
the Max-Planck-Institute for
Astronomy (MPIA), the Max-Planck-Institute for Astrophysics (MPA), New
Mexico State University, Princeton University, the United States Naval
Observatory, and the University of Washington.