Reports until 17:59, Tuesday 06 December 2016
H1 GRD (IOO, ISC)
jeffrey.kissel@LIGO.ORG - posted 17:59, Tuesday 06 December 2016 (32275)
IMC_LOCK Guardian Bug Fixed
J. Kissel, J. Driggers, S. Dwyer, J. Bartlett, D. Barker

Today's (not that big a deal) rabbit hole: while looking for what was preventing the IFO from being OBSERVATION_READY, we found the IFO master node complaining that the IMC_LOCK gaurdian was not ready (i.e. the H1:GRD-IMC_LOCK_OK == False), even though the node was in its nominal state, managed correctly, and in EXEC. The key was that the IMC input power was just ever so slightly out-of-range of a recently added conditional statement that prevented the run portion of the ISS_DC_COUPLED state from ever completing:

        # Hack, since power_adjust() won't change the gain when it's less than 1dB different, 30Nov2016 JCD
        if self.counter == 0:
            if ezca['IMC-PWR_IN_OUTMON'] > 28 and ezca['IMC-PWR_IN_OUTMON'] < 32:
                ezca['IMC-REFL_SERVO_IN1GAIN'] = -8
                self.counter += 1

 -- and today, for the first time, we hit an a low of 27.9 [W], the self.counter never incremented, and the code never advanced because all future conditionals relied on that self.counter to have incremented. Jenne recalls that this conditional statement was added to account for the IMC-REFL_SERVO_GAIN adjustment that happens as the ISS figures out what power it wants to send into the interferometer today (see LHO aLOG 32267 for side conversation about that), and prevent SDF from complaining that this gain was set to -7 dB instead of -8 dB.

The solution: bring the incrementing of the self.counter out of the power check:

        # Hack, since power_adjust() won't change the gain when it's less than 1dB different, 30Nov2016 JCD
        if self.counter == 0:
            if ezca['IMC-PWR_IN_OUTMON'] > 28 and ezca['IMC-PWR_IN_OUTMON'] < 32:
                ezca['IMC-REFL_SERVO_IN1GAIN'] = -8
            self.counter += 1


This bug fix has been loaded, and committed to the userapps repo. 

Once the bug fix was installed, the code was able to successfully run, the IMC_LOCK status cleared, and the IFO happily went into OBSERVATION_READY.