Overview#
What ZShooter is#
ZShooter is a cross-dispersed echelle spectrograph with a co-aligned three-channel millisecond imager, under development for the Keck I right Nasmyth platform. It records 3,100 to 24,500 Å in a single exposure at R >= 18,000 with a 0.7” slit, rising to R ~ 42,000 with a 0.3” slit under seeing enhancement.
Mechanically it is four separately supported assemblies on the gravity-invariant Nasmyth platform, each independently alignable and partly removable for servicing. That division drives the ICS structure.
Assembly |
Role |
|---|---|
Front-end |
Routes the K1DM3 beam. Mirror selector mechanisms send the full field to the imager, the central 30” to the spectrographs with the remainder to the imager, or the whole field onward at 60 degrees to neighbouring platform positions. Carries the integrating sphere, emission-line lamps, and continuum sources used to calibrate the spectrographs and to co-calibrate them against the imager. |
Imager |
Three channels, |
VIS spectrograph |
Three arms, B / G / R, covering 310 to 980 nm on qCCD detectors. Warm. |
NIR spectrograph |
Three arms, YJ / H / K, covering 960 to 2,450 nm on HgCdTe LmAPD detectors. Everything downstream of the entrance doublet sits in an evacuated cryogenic volume at ~100 K. |
Both spectrographs are fixed-format: echelle gratings, dichroics, cross-dispersers, and cameras are not exchanged during observing. This removes a whole class of mechanism from the instrument and is why the motion inventory is smaller than the channel count suggests.
Spectrograph arms#
Arm |
Spectrograph |
Passband |
Orders |
Detector |
|---|---|---|---|---|
|
VIS |
310-430 nm |
85-118 (34) |
qCCD, 4096x2048, 15 μ m |
|
VIS |
430-650 nm |
56-85 (30) |
qCCD, 4096x2048, 15 μ m |
|
VIS |
650-980 nm |
37-56 (20) |
qCCD, 4096x2048, 15 μ m |
|
NIR |
960-1340 nm |
57-80 (24) |
LmAPD, 2048x2048 |
|
NIR |
1470-1830 nm |
41-51 (11) |
LmAPD, 2048x2048 |
|
NIR |
1990-2450 nm |
31-38 (8) |
LmAPD, 2048x2048 |
The instrument carries 33 controlled motion axes and 11 detector systems, together with calibration sources, detector readout electronics, cryocoolers, vacuum equipment, temperature control, and facility power, network, and glycol interfaces.
Context at Keck#
ZShooter takes the K1 Nasmyth port currently occupied by HIRES, arriving in 2029. The deployable tertiary K1DM3 feeds it, which is what allows the instrument to stay online for rapid target-of-opportunity response. Upstream of the front-end, the STRATA K1AO wavefront sensing and guider concept picks off part of the beam through a Na D dichroic.
None of these are ZShooter’s to control. They are external systems the ICS must interface with; see Domain gateways.
What the ICS is responsible for#
The ICS owns everything between the observer’s intent and the instrument’s hardware:
Commanding and monitoring every mechanism, detector, lamp, and support device.
Enforcing safety at the point closest to the hardware.
Publishing instrument state continuously so that operators, engineers, and automated clients see the same truth.
Sequencing multi-step operations such as instrument configuration, acquisition, exposure, and calibration.
Recording a traceable history of every command and state transition.
Presenting the instrument through an observer interface and a separate engineering (“hard hat”) interface.
The ICS is not responsible for science data reduction, quicklook analysis, or archiving. Those systems are downstream consumers; the ICS defines the handoff to them but does not implement them.
The shape of the system#
The ICS is a set of cooperating processes rather than one program. Every process that owns hardware is a daemon; every daemon speaks the same message envelope to every other daemon; and all hardware-specific protocol detail is confined to drivers, which are libraries linked into daemons rather than processes of their own.
flowchart TB
subgraph P["Presentation"]
OBS["Observer GUI"]
HH["Hard hat GUI"]
CLI["libby CLI / scripts"]
end
subgraph C["Coordination"]
SEQ["Sequencer"]
TCS["TCS interface"]
end
subgraph D["Device daemons"]
MOT["motion daemons"]
CAM["detector daemons"]
CAL["calibration daemons"]
HK["housekeeping daemons"]
end
subgraph DR["Drivers (libraries, not processes)"]
DRV["coo-ethercat, lakeshore, inficon,<br/>gammavac, pdu, onewire, ..."]
end
HW["Instrument hardware"]
OBS --> SEQ
HH --> SEQ
HH -.hard hat mode.-> D
CLI --> D
SEQ --> D
SEQ --> TCS
D --> DRV
TCS --> DRV
DRV --> HW
D -.status / telemetry.-> P
D -.status / telemetry.-> C
The dotted line from the hard hat GUI directly to device daemons is the engineering path described in Instrument modes. It bypasses the sequencer, but it does not bypass daemon-level safety validation.
Reading order#
Architecture: the rules the system is built on: layering, messaging, keywords, state, safety, gateways to Keck domains, configuration, and reporting.
Inventory: the concrete list of daemons and drivers.
Interfaces: the observer and hard hat interfaces.
Operations: instrument modes and workflows.
Development: testing, AIT, continuous integration, and releases.
Architectural decisions: architectural decisions and the open questions that remain.