Reports until 16:53, Tuesday 25 July 2023
H1 CAL (GRD, OpsInfo)
jeffrey.kissel@LIGO.ORG - posted 16:53, Tuesday 25 July 2023 - last comment - 15:49, Friday 04 August 2023(71710)
To Be Fixed: The SUS Calibration Line Amplitude Tug-of-War During Lock Acquisition Sequence
J. Kissel, L. Dartez, T. Shaffer, R. Short

Too late to do anything about it now (this observation stretch), but Louis and I discovered that -- as a result of years of guardian code development, SDF settings preservation tactics, and calibration line height changes -- that ISC_LOCK.py plays a big tug-of-war with the amplitude until landing on the current *correct* value (set in LHO:69555) just before observe. It's in consequential to any observation segments, but it sure looks very odd when you're staring at the DELTAL ASD during the lock acquisition sequence.

It's not a priority to solve / remedy immediately, but we can and should fix it, since it's an easy fix.

The following covers the UIM line, and the code that changes it throughout the lock acquisition sequence.

Amplitude = 0
ISC_LOCK.py 
592 thru 595
PREP_FOR_LOCKING
main method
        #turn off calibration lines on ETMs so that they don't cause lockloss when the bias is ramped to 0 with the linearization on
        for sus in ['ETMX', 'ETMY']:
            for stage in ['L1', 'L2', 'L3']:
                ezca['SUS-{}_{}_CAL_LINE_CLKGAIN'.format(sus,stage)] = 0

Amplitude = 75
ISC_LOCK.py
727 thru 731
PREP_FOR_LOCKING
run method
            #make sure cal lines are on. Copied from NomLowNoise, JCD 13May2021
            for g in ['CLK','SIN','COS']:
                ezca['SUS-ETMX_L3_CAL_LINE_%sGAIN'%(g)] = 1
                ezca['SUS-ETMX_L2_CAL_LINE_%sGAIN'%(g)] = 120
                ezca['SUS-ETMX_L1_CAL_LINE_%sGAIN'%(g)] = 75

Amplitude = 20
ISC_LOCK.py
lines 844 thru 855
SDF_REVERT
main method
        self.fem_objs = [cdslib.CDSFrontEnd(model[0], model[1]) for model in lscparams.sdf_revert_models] 
        for fem in self.fem_objs:
            if fem.SDF_TABLE_LOCK:
                log('Pending changes on {}, manually verify'.format(fem.name))
                return 'CHECK_SDF'

        self.snap_file = 'safe'
        for fem in self.fem_objs:
            diff_cnt = fem.SDF_DIFF_CNT
            log('SDF diff count for {}: {}'.format(fem.name, diff_cnt))
            # Currently leaving confirm to False, and we check in run
            fem.sdf_load(self.snap_file, loadto='monitored', confirm=False)

# includes the h1susetmx model's "safe.snap" which is actually 
   /opt/rtcds/userapps/release/sus/h1/burtfiles/
      h1susetmx_down.snap
which has the value set to 20 ct.

Amplitude = 35
ISC_LOCK.py 
lines 5864 thru 5865
NOMINAL_LOW_NOISE
   >> ISC_GEN_STATES.py
   lines 260 thru 263
            for g in ['CLK','SIN','COS']:
                ezca['SUS-ETMX_L3_CAL_LINE_%sGAIN'%(g)] = 0.3
                ezca['SUS-ETMX_L2_CAL_LINE_%sGAIN'%(g)] = 50
                ezca['SUS-ETMX_L1_CAL_LINE_%sGAIN'%(g)] = 35

Will fix this at my next opportune moment. 
There's a prize of a sandwiched-sized container full of fresh-from-the-garden peppers in it for whomever beats me to it.
Images attached to this report
Comments related to this report
ryan.short@LIGO.ORG - 15:49, Friday 04 August 2023 (71971)

This tug-of-war behavior should now be fixed; see alog 71970