Catalog Tutorial

How do I get redshift catalogs with corresponding photometric information?

If you are interested in the full redshift catalogs in flat file format, then you want to be using the specObj file. This file has all of the spectroscopic catalog information included within it, and exactly corresponds to the specObjAll table in the CAS. Photometric information for each spectroscopic object is also available in flat file format, in the photoPlate file.

These and other files are described in the spectroscopic data access page.

Get all the spectra

If you are interested in a handful of SDSS spectra (less than a few thousand) in FITS format, an excellent way to retrieve them is using the Science Archive Server. However, if you want to look at tens of thousands of spectra or more, it becomes more sensible to simply download the entire spectroscopic data set.

Thus, we supply all of the spectra as bulk FITS files (one file per plate), called spPlate. A general description of how to use rsync to retrieve these files is given in the data access page.

An example rsync command that retrieves all the spPlate files (but excludes other, less important ancillary information) would be:

rsync -nrtkvz --include "26" --include "103" --include "104" \
  --include "v5_7_0" --include "v5_7_2" --include "[0-9][0-9][0-9][0-9]" \
  --include "spPlate*fits" --include "spZ*fits" \
  --exclude "*" rsync://data.sdss.org/sas/dr14/sdss/spectro/redux/ redux/

Notice that we have put a “-n” flag in, so in fact this command just reports what it would copy; to actually copy the files, use just “-rtkvz” in front. However, think before doing so if you only need a subset of plates, since this full rsync is over 1 TB of data.

It is also possible to generate a list of URLs pointing to all spPlate files in text format. This could be used with e.g. wget to retrieve all spPlate files. This list can also be created with the following Python commands:

try:
    from astropy.io import fits as pyfits
except ImportError:
    import pyfits

with pyfits.open('plates-dr14.fits') as hdulist:
    data = hdulist[1].data
base = 'https://data.sdss.org/sas/dr14/sdss/spectro/redux/{0}/{1:04d}/spPlate-{1:04d}-{2:5d}.fits'
url = [base.format(
    par['PLATES']['run2d'][k],
    int(par['PLATES']['plate'][k]),
    int(par['PLATES']['mjd'][k]))
    for k in range(data.size)]
with open('spPlate-dr14.txt','w') as f:
    f.write("\n".join(url)+"\n")

You can obtain the plates-dr14.fits file from the list on the SAS. The SDSS provides software in idlspec2d to read and plot the data in these files, in particular readspec and plotspec.

Please note that these directories contain some reductions and plates considered very bad, and that are not included in the official list of DR14 plates. Do not trust any results from a plate-mjd that is not in that official list (and pay attention to the quality and comments listed in that file too!).

What about objects not observed due to fiber collisions?

You will want the Legacy tiling information.