Palomar / NGPS
Overview
The Next Generation Palomar Spectrograph (NGPS) is the four-channel optical spectrograph mounted at the Cassegrain focus of the Hale 200-inch telescope at Palomar Observatory. NGPS replaces the long-serving Double Spectrograph (DBSP) and delivers a single-shot 3050–10400 Å spectrum (R ~ 4000) at every pointing via a three-slice image-slicer-fed optomechanical design and a four-arm (u/g/r/i) dichroic train.
PypeIt supports each of the four NGPS channels as its own spectrograph:
p200_ngps_u(3050–4430 Å, ~1.0 Å/pix at binspec=1)p200_ngps_g(4250–5960 Å, ~1.3 Å/pix at binspec=1)p200_ngps_r(5620–7950 Å, ~1.7 Å/pix at binspec=1)p200_ngps_i(7530–10400 Å, ~2.1 Å/pix at binspec=1)
All four channels share one raw multi-extension FITS file per
exposure, with one image extension per channel keyed by EXTNAME.
Operational quicklook pipeline
The spectrograph classes documented here are the PypeIt-side foundation
for NGPS reductions. For operational use at the telescope — automatic
ingestion of a full night of raw frames, per-channel
pypeit_setup/run_pypeit orchestration, and real-time quicklook
products across all four u/g/r/i channels — see the separately
maintained wrapper, ngps_pipeline.
NGPS Reductions
Raw layout
Each NGPS exposure is a single multi-extension FITS:
Primary HDU: target/observatory metadata.
4 image extensions:
EXTNAME = U, G, R, I(note: storage order in the file is G/I/R/U, not U/G/R/I; PypeIt resolves channels byEXTNAME, never by HDU index).The U channel is read out rotated 90 deg with respect to the others; this is captured by its
specaxis/specflipdetector parameters, so PypeIt’s stockorient_imagepresents a uniform layout downstream.
Each per-channel spectrograph (p200_ngps_u etc.) reads only its
own image extension; the other three are ignored.
Calibration association
Frames are typed by the raw IMGTYPE header keyword
(BIAS/DOMEFLAT/CONT/THAR/SCI). Standard-star
discrimination from science is left to PypeIt’s stock
coordinate-based matching against the archived flux-standard
registry. Configurations are grouped by spectral+spatial binning,
which is read from the per-channel image extension
(BINSPEC/BINSPAT cards) rather than from the primary header.
Wavelength calibration
Each channel ships a single-slice full_template reidentify
archive (wvarxiv_p200_ngps_{u,g,r,i}_thar_central.fits). The
archive is stored at binspec=1; full_template resizes it
internally to the data binning at runtime.
Image slicer
NGPS uses a 3-slice image slicer. PypeIt’s standard slit-edge
detection finds all 3 slices reliably; the per-channel
default_pypeit_par sets edge_thresh = 20 (lower than upstream
50) to handle the moderate-contrast inter-slice gaps, and
filt_iter = 3 to smooth the trace image before the Sobel edge
detector (which removes a couple of single-pixel hot-column
artefacts on the G detector that were occasionally chopping the
left slice into sub-fragments).