DESI Data Inspector

Example URLs

Search form:

http://inspector.desi.lbl.gov/search

See what targets from Data Release 1 (dr1) are within 30 arcsec of RA,dec=(210,5) degrees:

http://inspector.desi.lbl.gov/dr1/targets/radec/210,5,30

Download that table as a FITS file, or as json/csv/ascii:

http://inspector.desi.lbl.gov/dr1/targets/radec/210,5,30?format=fits
http://inspector.desi.lbl.gov/dr1/targets/radec/210,5,30?format=json
http://inspector.desi.lbl.gov/dr1/targets/radec/210,5,30?format=csv
http://inspector.desi.lbl.gov/dr1/targets/radec/210,5,30?format=ascii
(for symmetry with these URLs, the original table view can also be specified with "?format=html")

Read that table on-the-fly from within a Python script:

from astropy.table import Table
targets = Table.read("http://inspector.desi.lbl.gov/dr1/targets/radec/210,5,30?format=csv", format="csv")

Interactively view the spectra:

http://inspector.desi.lbl.gov/dr1/spectra/radec/210,5,30

Include the noise model in the interactive spectra plot:

http://inspector.desi.lbl.gov/dr1/spectra/radec/210,5,30?plotnoise=1

Note: ?plotnoise=true and ?plotnoise (without a =value) will also plot the noise model. plotnoise=false and plotnoise=0 act like the default, not plotting the noise model.

Download those spectra as a FITS file, using the same format as DESI coadded spectra:

http://inspector.desi.lbl.gov/dr1/spectra/radec/210,5,30?format=fits

Read those spectra on-the-fly from within a Python script:

import matplotlib.pyplot as plt
from astropy.io import fits
with fits.open("http://inspector.desi.lbl.gov/dr1/spectra/radec/210,5,30?format=fits") as hdus:
    hdus.info()
    for camera in ('B', 'R', 'Z'):
        wave = hdus[f'{camera}_WAVELENGTH'].data
        flux = hdus[f'{camera}_FLUX'].data
        plt.plot(wave, flux[0])

plt.show()

Specify either a data release name (e.g. edr,dr1,dr2), or a specific spectroscopic production (e.g. fuji,iron,loa):

http://inspector.desi.lbl.gov/edr/targets/radec/210,5,30
http://inspector.desi.lbl.gov/dr1/targets/radec/210,5,30
http://inspector.desi.lbl.gov/dr2/targets/radec/210,5,30
http://inspector.desi.lbl.gov/fuji/targets/radec/210,5,30
http://inspector.desi.lbl.gov/iron/targets/radec/210,5,30
http://inspector.desi.lbl.gov/loa/targets/radec/210,5,30

Releases / productions that are not yet public will prompt for a password. When specifying a release the Inspector will default to the primary spectroscopic production for that release, e.g., "dr1" will return results for the "iron" production.

Instead of an RA,DEC,RADIUS search, you can also search by TILEID and FIBERs:

http://inspector.desi.lbl.gov/dr1/targets/tiles/150/0-5,10,20:22

Note: Fiber range 0-5 is 0,1,2,3,4,5 (inclusive of 5), while 0:5 is Python-like 0,1,2,3,4 (exclusive of 5).

Or by TARGETIDs:

http://inspector.desi.lbl.gov/dr1/targets/39627908959964170,39627908959964322

Note: All of the same ?format=html|fits|json|csv|ascii options work for the TILE/FIBERs and TARGETID-based views as well.

Tile 150 fibers 0:1000 filtered to SPECTYPE=QSO with Z>2.1

http://inspector.desi.lbl.gov/dr1/targets/tiles/150/0:1000&SPECTYPE=QSO&Z=gt:2.1

Multiple filters can be applied to the same column, e.g. tile 100 fibers 0:1000 good galaxies with 0.2 < z < 0.5 :

http://inspector.desi.lbl.gov/dr1/targets/tiles/150/0:1000&SPECTYPE=GALAXY&ZWARN=0&Z=gt:0.2&Z=lt:0.5

View the spectra for some TARGETIDs:

http://inspector.desi.lbl.gov/dr1/spectra/39627908959964170,39627908959964322

Download a FITS file with the spectra for those TARGETIDs:

http://inspector.desi.lbl.gov/dr1/spectra/39627908959964170,39627908959964322?format=fits

By default, the results are for healpix-based spectra which coadd data for the same TARGETID when observed on multiple tiles. To get tile-based spectra instead:

http://inspector.desi.lbl.gov/dr1/targets/tiles/radec/210,5,30
http://inspector.desi.lbl.gov/dr1/spectra/tiles/radec/210,5,30
http://inspector.desi.lbl.gov/dr1/targets/tiles/39628261201809937,39628261205999711
http://inspector.desi.lbl.gov/dr1/spectra/tiles/39628261201809937,39628261205999711

Although healpix is default, it can also be explicitly specified for symmetry with the tile-based URLs:

http://inspector.desi.lbl.gov/dr1/targets/healpix/radec/210,5,30
http://inspector.desi.lbl.gov/dr1/spectra/healpix/radec/210,5,30
http://inspector.desi.lbl.gov/dr1/targets/healpix/39628261201809937,39628261205999711
http://inspector.desi.lbl.gov/dr1/spectra/healpix/39628261201809937,39628261205999711

Summary

URL have the structure

RELEASE/targets|spectra/[tiles|healpix]/TARGETIDS|radec/RA,DEC,RADIUS|TILEID/FIBERS[?options]
where lowercase pieces are literal text, and UPPERCASE pieces are parameters to enter: Additional ?parameter1=value1&parameter2=value2 options include