J. Kissel I've continued effort towards converging on an uncertainty estimate for the 2020-01-03 calibration loop model, and thus the uncertainty in h(t) that has used this model (i.e. GDS-CALIB_STRAIN data products after 2020-01-13, but we'll likely use this model to cover all of O3B when we produce DCS-CALIB_STRAIN products.) We last left off with LHO aLOG 54907, where the broadband transfer functions between PCAL and GDS-CALIB_STRAIN are consistently outside of the estimated 68% confidence interval (see this plot from that aLOG). The comment to that aLOG (LHO aLOG 54911) left several paths forward, one of which included a better understanding of how to account for the known 0.43% systematic error in PCAL displacement estimates prior to 2019-11-12 (LHO aLOG 53188). However, in the interest of "seeing what the answer is if you just ignore the data you don't understand," here I show what the results look like when one only includes data *after* 2019-11-12. See the attached plots, [5] The "final answer" uncertainty budget compared against the two versions of measurements which should be a cross-check and equivalent. These are PCAL transfer functions to the following response channels: (a) Against GDS-CALIB_STRAIN: 2020-02-07_H1_PCAL2GDS_BB_meas1262990871_on_2020-01-13_vs_model_uncertainty_for_2020-01-03.pdf (b) Against "corrected***" CAL-DELTAL_EXTERNAL I again note that for [5](b), the CAL-DELTAL_EXTERNAL transfer function data has been corrected for the expected time-independent differences between CAL-DELTAL_EXTERNAL and GDS-CALIB_STRAIN (see T1900169), but the data has *not* been corrected for time-dependence (i.e. no TDCFs for the data have been applied to properly compare the reference model time on 2019-12-26 against the measurement times). One can see in [5](a) and [5](b), that -- while the uncertainty estimate and median systematic error agree much better with the data below 40 Hz, are are closer to the data above 125 Hz -- there is still some discrepancy between the median line and the data. However, given that I've excluded all data prior to 2019-11-12 (i.e. sensing function data between 2019-10-31 and 2019-11-11, and all actuation data from 2019-11-12 all the way back to 2019-03-29), the uncertainty on the estimate has grown larger. As such, with this larger uncertainty, (i) Yes, you can say that the data is now within the 68% confidence interval, but (ii) there is still evidence for discrepancy right around 90-110 Hz. So -- I'd like to (I) continue to assess how to apply the PCAL systematic error in a way that makes us confident in using data prior to 2019-11-12, (II) Get more GDS-CALIB_STRAIN broad band data from Aaron, to make sure this one measurement is not a fluke (though the CAL-DELTAL_EXTERNAL data that I do have implies that it's not), (III) build in the functionality in to the pyDARM universe to correct the CAL-DELTAL_EXTERNAL data for both GDS / CALCS corrections *and* user defined TDCFs. I'll add the script locations and further plots that went in to creating this data in the comments. In doing so, the estimated 68% confidence interval
As before, the most detailed notes of the process for creating these plots can be found in the notes posted to T2000006. However, I'll copy the highlights that one needs to reconstruct this data set here. In order create this data, I *only* needed to modify the data fed in to the Gaussian Process Regression, so there is no new information on the reference model MCMC uncertainty. See LHO aLOG 54909 for those details. Here, I ran the following uncertainty budget command: python3.5 /ligo/svncommon/CalSVN/aligocalibration/trunk/Common/pyDARM/RRNom.py --IFO=LHO --HDF5_A_MCMCresults=/ligo/svncommon/CalSVN/aligocalibration/trunk/Runs/O3/H1/Results/Uncertainty/O3B_H1_A_MCMC_20200103Model_REF.hdf5 --HDF5_A_GPRresults=/ligo/svncommon/CalSVN/aligocalibration/trunk/Runs/O3/H1/Results/Uncertainty/2020-02-07_GPR_Run_NOPCALSYSERR_meas20191204-20200127_collection_O3B_H1_A_model20200103_ALL_actuationMultiGPR_UIM_f7-250Hz_L0p1_PUM_f7-500Hz_L0p2_TST_f10-1000Hz_L0p5.hdf5 --HDF5_C_MCMCresults=/ligo/svncommon/CalSVN/aligocalibration/trunk/Runs/O3/H1/Results/Uncertainty/O3_H1_C_MCMC_2019-12-26_forreference_fmin20Hz.hdf5 --HDF5_C_GPRresults=/ligo/svncommon/CalSVN/aligocalibration/trunk/Runs/O3/H1/Results/Uncertainty/2020-02-07_GPR_Run_H1_C_allO3BMeas_collection_NOPCALSYSERR_nofsQcorr_MCMCfmin20Hz_GPRfmin20_lengthscaleZp35_withPCALXHFdata_model20200103_sensingFunction_GPR_posteriors.hdf5 --modelPath=/ligo/svncommon/CalSVN/aligocalibration/trunk/Runs/O3/H1/params/ --modelFilename=modelparams_H1_20200103 --IFOmodel=modelPars --sampleNumber=1000 --seed=1111 --version=ref --outDir=/ligo/svncommon/CalSVN/aligocalibration/trunk/Runs/O3/H1/Results/Uncertainty/ --plot1SigmaUncs --saveSummaries --gpsTime=1261415486 using SVN rev 9311 of RRnom.py. The careful reader will notice the only difference in this call are the two new GPR .hdf5 files, /ligo/svncommon/CalSVN/aligocalibration/trunk/Runs/O3/H1/Results/Uncertainty/ 2020-02-07_GPR_Run_NOPCALSYSERR_meas20191204-20200127_collection_O3B_H1_A_model20200103_ALL_actuationMultiGPR_UIM_f7-250Hz_L0p1_PUM_f7-500Hz_L0p2_TST_f10-1000Hz_L0p5.hdf5 rev 9338 2020-02-07_GPR_Run_H1_C_allO3BMeas_collection_NOPCALSYSERR_nofsQcorr_MCMCfmin20Hz_GPRfmin20_lengthscaleZp35_withPCALXHFdata_model20200103_sensingFunction_GPR_posteriors.hdf5 rev 9343 These hdf5 files were created by /ligo/svncommon/CalSVN/aligocalibration/trunk/Runs/O3/H1/Scripts/Uncertainty/ process_allmeas_writeGPRHDF5_meas20191120-20200203_withHF_NOPCALSYSERR_model20200103-C.py rev 9345 /ligo/svncommon/CalSVN/aligocalibration/trunk/Runs/O3/H1/Scripts/Uncertainty/ process_allmeas_writeGPRHDF5_meas20191204-20200127_model20200103-A.py rev 9337 I'll note that -- just because I was there -- I added more recent data that we've taken that was not included in the 2020-02-04 estimate -- essentially all the data taken in January after the model installation on 2020-01-13. Once the uncertainty budget, /ligo/svncommon/CalSVN/aligocalibration/trunk/Runs/O3/H1/Results/Uncertainty 2020-02-07_O3_LHO_GPSTime_1261415486_ref_RelativeResponse1SigmaUncertainty.png 2020-02-07_O3_LHO_GPSTime_1261415486_ref_RelativeResponseUncertainty_FinalResults.txt 2020-02-07_O3_LHO_GPSTime_1261415486_ref_RelativeResponseUncertainty_MinMax.txt was committed to rev 9348, I updated the processing scripts that compare that envelope to the measured broadband PCAL injections, which are /ligo/svncommon/CalSVN/aligocalibration/trunk/Runs/O3/H1/Scripts/FullIFOSensingTFs/ plot_GDS_BB_vs_Uncertainty_20200207.py rev 9351 /ligo/svncommon/CalSVN/aligocalibration/trunk/Runs/O3/H1/Scripts/CALCS_FE process_broadband_pcal2darmtf_collection_20200207.py rev 9352. OK. So lets attach some supporting plots. I follow the same "where in the process" labeling as in LHO aLOG 54907, but group the plots by sensing and actuation, instead. /ligo/svncommon/CalSVN/aligocalibration/trunk/Runs/O3/H1/Results/Uncertainty/ [2] (a) 2020-02-07_GPR_Run_H1_C_allO3BMeas_collection_NOPCALSYSERR_nofsQcorr_MCMCfmin20Hz_GPRfmin20_lengthscaleZp35_withPCALXHFdata_meas2020-02-03_sensingFunction_referenceModel_vs_allMeasurements.pdf [3] (a) 2020-02-07_GPR_Run_H1_C_allO3BMeas_collection_NOPCALSYSERR_nofsQcorr_MCMCfmin20Hz_GPRfmin20_lengthscaleZp35_withPCALXHFdata_model2020-01-03_sensingFunction_GPR.pdf [2] (b) 2020-01-27_H1_2020-02-07_GPR_Run_NOPCALSYSERR_meas20191204-20200127_collection_UIM_actuationMeasurement_allresiduals_MCMCInput.pdf [3] (b) 2020-02-07_GPR_Run_NOPCALSYSERR_meas20191204-20200127_collection_H1_A_model2020-01-03_lastmeas2020-01-27_UIM_actuationMultiGPR_f7-250Hz_L0p1.pdf [2] (b) 2020-01-27_H1_2020-02-07_GPR_Run_NOPCALSYSERR_meas20191204-20200127_collection_PUM_actuationMeasurement_allresiduals_MCMCInput.pdf [3] (b) 2020-02-07_GPR_Run_NOPCALSYSERR_meas20191204-20200127_collection_H1_A_model2020-01-03_lastmeas2020-01-27_PUM_actuationMultiGPR_f7-500Hz_L0p2.pdf [2] (b) 2020-01-27_H1_2020-02-07_GPR_Run_NOPCALSYSERR_meas20191204-20200127_collection_TST_actuationMeasurement_allresiduals_MCMCInput.pdf [3] (b) 2020-02-07_GPR_Run_NOPCALSYSERR_meas20191204-20200127_collection_H1_A_model2020-01-03_lastmeas2020-01-27_TST_actuationMultiGPR_f10-1000Hz_L0p5.pdf With each of the [2]-type plots, that show in the inputs to the GPR, one can see, indeed, that the data is much more tightly clustered around a single frequency-dependent function. Further, the magnitude of those residuals -- especially for the PUM and TST stages of which we were suspicious before -- are closer to being consistent with "no" systematic error, as opposed to both having a 1% systematic error below unity. However, the sensing function systematic error has a tighter distribution around a more well-defined wiggle, which may the source of some of the discrepancy. Still more thinking required, unfortunately...
The CS HEPI Pump Servo program froze ~1258utc today. Recovery was easy and typical. Details:
Following the OPS WIKI, https://cdswiki.ligo-wa.caltech.edu/wiki/SEI, wiki text is verbatum in blue and my comments are in red:
You are here likely because an Alarm on the HEPI Differential Pressure. Couple things: is the Alarm Invalid or other? Is it Momentary, or Ongoing?
Ongoing: This indicates a trend in the pressures which will be caused by the servo likely being stalled. If not white boxed, there is likely a fluid level shutdown: follow the Other than Invalid Alarm guidance below.
If the alarm is Invalid, the Pump Controller medm is likely white boxed; look for this under the Sitemap HEPI pulldowns. A restart of the servo is required. Don't panic though, the system may still actually be running and might be able to be restarted without losing the HEPI Platform's Isolation state. If the HEPI Platforms have not tripped, this is likely the situation. If power to the servo computer wasn't interrupted, the output from the servo to the VFD may be steady and keeping the Pressure near Okay.
Again, exactly the case this morning. Went to the pump stations and the dial gauge on the pumps were reading ~80psi, normal. The computer appeared to be running but the heartbeat was flatlined. I did not restart the computer.
Restarting the White Boxed Servo: If your servo is not running (white boxed medm) restart it with the following sequence:
If the HEPI platforms are still isolating (not tripped,) trend the VOUT channel: H1:HPI-PUMP_L0/EX/EY_CONTROL_VOUT for use in restarting. The conditions would indicate the servo computer has latched its output to the VFD and the Pump Motors are running 'open loop' but with the servo dead, you don't know the drive level. The trend will tell you what it was when it stopped, and when. Now
The trends showed that the last output from the PID to the VFD was ~1085
continue with the following sequence to restart the servo:
1. ssh controls@h1hpipumpctrll0 For the Corner Station
ssh controls@h1hpipumpctrlex For the EndX Station
ssh controls@h1hpipumpctrley For the EndY Station See Secrets for passwords or ask Hugh
2. cd target-new For the Corner Station
cd target-ex For the EndX Station; cd target-ey For the EndY Station
3. sudo ./run
Logging in was trivial but the medm took a good while to come completely alive but it did. During this period, the IFO dropped out of observing as two fields changed: 1) the PID Setpoint level, I could hardcode that into the dB, and 2) the Servo Control Auto/Manual button. This must come up in manual mode so the program does not write anything to the VFD. This is what allows the HEPI system to keep running in this situation. If it were in Auto, the PID would push a zero before it had a chance to calculate and process a reasonable value. Maybe a smart dB programmer could work this out but for now, this is what we (I) do.
This should restart the servo and the medm should come alive. Do not push any buttons, you don't want the servo to process any records. Note the pressures, these are valid and hopefully not too far from nominal. However, the servo will not have processed any records yet and the 0 counts output to the VFD is not valid. The servo starts in a safe state, most importantly Manual Control and no Burt Restore is requied. Now using the VOUT value from the trends before the drop out, put this value into EPICS:
caput H1:HPI-PUMP_L0/EY/EX_CONTROL_VOUT value. caput the 1085 gleaned from the trends above.
This will put control back to the servo setting the VOUT to that value and things should carry on as before. Now, using the Manual Output [SetPoint, Output is incorrect, I'll fix the WIKI] Tweak, adjust the differential pressure to 70 psi and [this actually doesn't apply, will remove from WIKI guiadance.] Using the SetPoint Tweak, set the SetPoint to 70 psi; and finally, change Servo Control to Auto. The UGF is quite low so this is pretty harmless. Return the Tweak to 0 and things should be good. This is what was done and the results were good. The PID changed the output to the VFD a count or two but it is always doing that. The restart was perfect, a perfect ping.
Okay, that's it. Sure, look at the 6 hour trend plot attached.
16:20 The intent bit was kicked out of Observing by Hugh's restarting of the HEPI software on cpmputer h1hplpumpctrll0. This action caused 2 SDF diffs (see image)
16:24 H1 back to Observing.
TITLE: 02/10 Owl Shift: 08:00-16:00 UTC (00:00-08:00 PST), all times posted in UTC STATE of H1: Observing at 120Mpc INCOMING OPERATOR: Ed SHIFT SUMMARY: Only out of observing briefly at the start of the shift to unlock and relock the squeezer. Lost the EPICS connection to h1hpipumpctrll0. Hugh is investigating. LOG: 08:11 UTC - 08:15 UTC Noticed range degrading so unlocked and relocked the squeezer per the instructions in alog 54967. Caused us to go out of observing. Seems to have fixed it. Back to 120 MPc. 12:55 UTC Alarm handler raised an invalid alarm for lost connection to h1hpipumpctrll0. It is pingable.
TITLE: 02/10 Day Shift: 16:00-00:00 UTC (08:00-16:00 PST), all times posted in UTC
STATE of H1: Observing at 121Mpc
OUTGOING OPERATOR: Patrick
CURRENT ENVIRONMENT:
SEI_CONF state: WINDY
Wind: 2mph Gusts, 1mph 5min avg
Primary useism: 0.03 μm/s
Secondary useism: 0.42 μm/s
QUICK SUMMARY:
No issues since unlocking and relocking the squeezer at the beginning of the shift.
FAMIS 13325 Trends attached. All four channels show some non-zero values in the past 3 months.
TITLE: 02/10 Owl Shift: 08:00-16:00 UTC (00:00-08:00 PST), all times posted in UTC
STATE of H1: Observing at 120Mpc
OUTGOING OPERATOR: Cheryl
CURRENT ENVIRONMENT:
SEI_CONF state: WINDY
Wind: 9mph Gusts, 8mph 5min avg
Primary useism: 0.03 μm/s
Secondary useism: 0.39 μm/s
QUICK SUMMARY: Noticed range degrading so unlocked and relocked the squeezer per the instructions in alog 54967. Seems to have fixed it. Back to 120 MPc. No other issues.
TITLE: 02/10 Eve Shift: 00:00-08:00 UTC (16:00-00:00 PST), all times posted in UTC
STATE of H1: Observing at 116Mpc
INCOMING OPERATOR: Patrick
SHIFT SUMMARY: locked all shift
LOG:
H1EDCU has 56 NCALX channels not connected.
The h1ncalex computer is pingable, but its EPICS IOC is no longer running. This is not a problem for tonight. The ncal hardware is powered down, and we have kept the computer running so NCAL channels could remain in the DAQ. We'll plan on restarting the IOC tomorrow if possible, otherwise Tuesday.
TITLE: 02/10 Eve Shift: 00:00-08:00 UTC (16:00-00:00 PST), all times posted in UTC
STATE of H1: Observing at 120Mpc
OUTGOING OPERATOR: Ed
CURRENT ENVIRONMENT:
SEI_CONF state: WINDY
Wind: 5mph Gusts, 4mph 5min avg
Primary useism: 0.03 μm/s
Secondary useism: 0.40 μm/s
QUICK SUMMARY: locked in Observe, update as of 4:00UTC, locked in Observe
TITLE: 02/09 Day Shift: 16:00-00:00 UTC (08:00-16:00 PST), all times posted in UTC
STATE of H1: Observing at 48Mpc
INCOMING OPERATOR: Jim
SHIFT SUMMARY:
Handing Locked/Observing H1 off to Cheryl
LOG:
Cause unknown - 27hrs 36min
TITLE: 02/09 Day Shift: 16:00-00:00 UTC (08:00-16:00 PST), all times posted in UTC
STATE of H1: Observing at 117Mpc
OUTGOING OPERATOR: Camilla
CURRENT ENVIRONMENT:
SEI_CONF state: WINDY
Wind: 4mph Gusts, 1mph 5min avg
Primary useism: 0.03 μm/s
Secondary useism: 0.50 μm/s
QUICK SUMMARY:
TITLE: 02/09 Owl Shift: 08:00-16:00 UTC (00:00-08:00 PST), all times posted in UTC
STATE of H1: Observing at 118Mpc
INCOMING OPERATOR: Ed
SHIFT SUMMARY: Very quiet shift.
TITLE: 02/09 Owl Shift: 08:00-16:00 UTC (00:00-08:00 PST), all times posted in UTC
STATE of H1: Observing at 121Mpc
OUTGOING OPERATOR: Jim
CURRENT ENVIRONMENT:
SEI_CONF state: WINDY
Wind: 18mph Gusts, 15mph 5min avg
Primary useism: 0.07 μm/s
Secondary useism: 0.46 μm/s
QUICK SUMMARY: Locked 14hours 30m. Some wind and high-ish microseism still.
TITLE: 02/08 Owl Shift: 08:00-16:00 UTC (00:00-08:00 PST), all times posted in UTC
STATE of H1: Lock Acquisition
INCOMING OPERATOR: Ed
SHIFT SUMMARY: Locked until 10 minutes before Ed takes over! Microseism and wind and some ground motion maybe were too much for H1. Handing off with green arms in INCREASE_FLASHES.
LOG:
The lockloss was very fast with no obvious channel saturations, so maybe it was just a coincidence that it happened around the time of the (small and definitely survivable) EQ.