MOSFIRE Checkout
Verification (based on the former testAll)
Here is a list of the actions that make up the MOSFIRE testAll
NOT a KEYWORD Ping various computer/network hardware to confirm they are alive
kaimama, control1, eds1, mpulizzi1, mpulizzi2, iolan1
IS A KEYWORD Check lastalive keyword on software (Servers)
mosfire, mcsus, mdhs, mds, mfcs, mmdcs, mmf1s, mmf2s, mmgss, mmgts, mmprs, mp1s, mp2s, mpas, mscs, mtcs
NOT A KEYWORD Verify PIDs exist for software
write_image, fcstrack, ds9relay, lickserv
IS A KEYWORD Check daemons (only if observing)
watchrot, watchslew, watchfcs, autodisplay
IS A KEYWORD Verify power status
glycol_power = on, CSU_controller_power = on, CSU_drives_power = on, Jade2_power = on, computer_power = on, Lantronix_power = on, guider_focus_power = on, ion_pump_power = on, MAGIQ_guider_power = on, temp_control_power = on, motor_box_power = on, power_supply_power = on, FCS_controller_power = on, dewar_heater_power = on, CCR_1_power = on, CCR_2_power = on
IS A KEYWORD Verify stages
dust cover: mmdcs status is OK, filter wheel 1: mmf1s status is OK, filter wheel 2: mmf2s status is OK, grating turret: mmgts status is OK, grating shim: mmgss status is OK, pupil rotator: mmprs status is OK or TRACKING, CSU: mcsus status is OK
IS a KEYWORD Check Settings
glycol flow (mdhs glysup = Flow)
detector temp (mtcs curtmp1 = 77 +/- 0.1)
bulkhead temp (mtcs curtmp2 = 120 +/- 1)
CCR remote control (mscs chremote = 1)
CCR 1 Speed (mscs dacout1r = 45 +/- 1)
CCR 2 Speed (mscs dacout2r = 45 +/- 1)
window heater voltage (mdhs tmp5 = 17.5 +/- 1.5)
CSU electronics temp (mdhs tmp2 = 0-30)
cabinet temp (mdhs tmp3 = 0-30)
thermocouple pressure (mpas g1str = 0-1e-4)
ion pump 1 pressure (mpas g3str = 0 - 1e-7)
ion pump 2 pressure (mpas g4str = 0 - 1e-7)
cabinet door status (mdhs ebaydoor = Closed)
FCS correcting (mfcs active = 1)
datataking system (mds ready = 1)
current instrument (dcs currinst = mosfire)
Here is the current (Apr 17, 2020) testAll
script for MOSFIRE for reference.
Instrument States
For the above checks, we need two states: one for observing and one for daytime (ready? standby? we need a good term for this). We may also want to differentiate between being on the deck and on the telescope.
Can we determine whether MOSFIRE is on deck or on the telescope programmatically?
Determine observing by combination of multiple factors: telescope has been tracking (guiding?) recently, hatch has been open recently, telescope elevation is >0, detector has been exposing recently. These are just ideas.
Other ideas for things to check
Connected to ICE server, but probably covered in datataking system (mds ready = 1)
Check
show -s mosfire csuextname
is not noneCheck
show -s mcsus csufatal
is not 1Check
show -s mcsus OPERTEMP
is 0
Mosfire Checkout (Incomplete)
Confirm the physical drive angle. It should not be within 10 degrees of a
multiple of 180 degreesStart the observing software as moseng or the account for the night
Check that the dark filter is selected. If not select it
Check mechanism status: If any of the mechanisms have a big red X on it,
you will need to home mechanisms. Note, if filter wheel is at the home
position, Status will be "OK," position will be "HOME", target will be
"unknown", and there will still be a big red X.Acquire an exposure
Inspect the dark image
If normal checkout:
Open mask
Image and confirm
Initialize CSU: modify -s mosfire csuinitbar=0
Image and confirm
Form 0.7x46 long slit
Image and confirm
If quick checkout
Form an 2.7x46 long slit
Image and confirm
Form an 0.7x46 long slit
Image and confirm
With the hatch closed change the observing mode to J-imaging, verify
mechanisms are okQuick Dark
Message user to verify sidecar logging