Reports until 12:39, Friday 23 June 2023
H1 General (GRD, Lockloss)
bricemichael.williams@LIGO.ORG - posted 12:39, Friday 23 June 2023 (70765)
ISC_LOCK Guardian code update - plan to implement Tuesday 6/27
I wrote some guardian code to decrease the lockloss time. 

For improving DRMI wait time:
The code starts a 60 second timer. When the timer ends (if 5 minutes hasn't elapsed) then it checks the last 60 seconds of POPAIR_B_RF90 data to see if the max value of the flashes is below the threshold of 200. If so, then it will send guardian to ACQUIRE_PRMI. If the max value of the POPAIR data is equal or above the threshold then it will reset the 60 second timer and check again on the next passing of run(self). This should decrease the wait time at ACQUIRE_DRMI_1F from 5 minutes to 1 minute if DRMI_LOCK won't be achieved.

For improving PRMI wait time:
Does the same as the DRMI code above except the POPAIR max threshold is set at 20. And if the threshold isn't reached, then it sends guardian to CHECK_MICH_FRINGES. This should decrease the wait time at ACQUIRE_PRMI from 10 minutes to 1 minute if PRMI_LOCK won't be achieved.

These thresholds were chosen after looking at various times during lockloss.  Finding when the guardian state would change from ACQUIRE_DRMI_1F (101) -> DRMI_LOCKED_PREP_ASC (102) or when ACQUIRE_DRMI (101) -> ACQUIRE_PRMI (50) and comparing the max values for POPAIR_B_RF90_I_ERR_DQ. Similarly for ACQUIRE_PRMI (50) -> PRMI_LOCKED (51) or ACQUIRE_PRMI (50) -> CHECK_MICH_FRINGES (48). These threshold values can be easily updated as needed.

My code's location is /ligo/home/bricemichael.williams/DRMI__PRMI_POPAIR_check_speed_up.py and just needs to be copied into the ISC_LOCK code file. I made notes in my file where the parts of the code go and discussed with Camilla and TJ about testing it on Tuesday (6/27) during start-up after commissioning.