.. highlight:: rest .. _p200_ngps_doc: *************** Palomar / NGPS *************** .. _ngps_overview: 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 by ``EXTNAME``, never by HDU index). - The U channel is read out rotated 90 deg with respect to the others; this is captured by its ``specaxis``/``specflip`` detector parameters, so PypeIt's stock ``orient_image`` presents 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).