Displaying report 1-1 of 1.
Reports until 18:08, Friday 31 July 2020
H1 CAL (ISC)
jeffrey.kissel@LIGO.ORG - posted 18:08, Friday 31 July 2020 - last comment - 15:04, Monday 03 August 2020(56351)
H1 O3 B, C01 Chunk 2 Uncertainty Budget
J. Kissel

There will be many more details added in the comments, but I've taken the first crack at O3B's total response function systematic error and uncertainty budget.

In short summary -- while we've used the same DARM model parameter file for all of O3B Chunk 2 (from 2020-01-14 to 2020-03-27) to produce C01 DCS frames, I believe we must divide in to three epochs of systematic error,
    Epoch 1: 2020-01-14 to 2020-02-11: where the detector was no different from most of O3B Chunk 1,

    Epoch 2: 2020-02-11 to 2020-03-16: after the 10k current limiting resistors were replaced with SHV barrels on the ETMX ESD, the TST actuator stage accrued a substantial phase error (see LHO aLOG 55041 and subsequent comments) 

    Epoch 3: 2020-03-16 to 2020-03-23: after the OMC whitening chassis configuration was switched to "one stage of whitening" from "all three filters on" (see LHO aLOG 55620 and subsequent comments).

The images attachments are the three uncertainties predicted for these time periods, in order. 
The .pdf is a visual aide of what all happened in O3B that impacted the DARM calibration (which is a part of the today update to T1900248 to version 6).

Note:
The mystery of the 2020-03-23 broadband PCAL injection (see the last few pages of G2000527) is still not solved, but the assumption is that the two 
 sensing function sweeps that were taken after the 2020-03-16 change to the OMC whitening chassis include whatever changes that caused that systematic error, and thus the GPR of those two measurements (uncertain as they are)  cover whatever caused that error.
Images attached to this report
Non-image files attached to this report
Comments related to this report
jeffrey.kissel@LIGO.ORG - 18:10, Friday 31 July 2020 (56353)
Here're the RRnom commands that were used to produce these budgets. These include the (new this week) GPRs for O3B chunk 2. The GPS times used were rather arbitrary times in the middle of each epoch -- Feb 01 2020 16:00 UTC, Mar 01 2020 17:00 UTC, and Mar 20 2020 16:00 UTC -- just as demonstration.



EPOCH 1
python /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-07-31_GPR_Run_H1_A_O3B_meas20191204-20200211_collection_model20200103_NOPCALSYSERR_ALL_UIM_f7-250Hz_L0p1_PUM_f7-500Hz_L0p2_TST_f10-1000Hz_L0p5_posteriors.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-07-29_GPR_Run_H1_C_O3B_meas20191120-20200316_collection_model20200103_NOPCALSYSERR_nofsQcorr_MCMCfmin20Hz_GPRfmin20_lengthscale0p35_withPCALXHFdata_model20200103_posteriors.hdf5 --modelPath=/ligo/svncommon/CalSVN/aligocalibration/trunk/Runs/O3/H1/params/ --modelFilename=modelparams_H1_20200103 --IFOmodel=modelPars --sampleNumber=1000 --seed=1111 --version=C01 --outDir=/ligo/svncommon/CalSVN/aligocalibration/trunk/Runs/O3/H1/Results/Uncertainty/  --plot1SigmaUncs --saveSummaries --gpsTime=1264608018 --GetData=GWPY


EPOCH 2 
python /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-07-31_GPR_Run_H1_A_O3B_meas20200211-20200323_collection_model20200103_NOPCALSYSERR_ALL_UIM_f7-250Hz_L0p1_PUM_f7-500Hz_L0p2_TST_f10-1000Hz_L0p5_posteriors.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-07-29_GPR_Run_H1_C_O3B_meas20191120-20200316_collection_model20200103_NOPCALSYSERR_nofsQcorr_MCMCfmin20Hz_GPRfmin20_lengthscale0p35_withPCALXHFdata_model20200103_posteriors.hdf5 --modelPath=/ligo/svncommon/CalSVN/aligocalibration/trunk/Runs/O3/H1/params/ --modelFilename=modelparams_H1_20200103 --IFOmodel=modelPars --sampleNumber=1000 --seed=1111 --version=C01 --outDir=/ligo/svncommon/CalSVN/aligocalibration/trunk/Runs/O3/H1/Results/Uncertainty/  --plot1SigmaUncs --saveSummaries --gpsTime=1267117218 --GetData=GWPY


EPOCH 3
python /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-07-31_GPR_Run_H1_A_O3B_meas20200211-20200323_collection_model20200103_NOPCALSYSERR_ALL_UIM_f7-250Hz_L0p1_PUM_f7-500Hz_L0p2_TST_f10-1000Hz_L0p5_posteriors.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-07-29_GPR_Run_H1_C_O3B_meas20200316-20200323_collection_model20200103_NOPCALSYSERR_nofsQcorr_MCMCfmin20Hz_GPRfmin20_lengthscale0p35_withPCALXHFdata_model20200103_posteriors.hdf5 --modelPath=/ligo/svncommon/CalSVN/aligocalibration/trunk/Runs/O3/H1/params/ --modelFilename=modelparams_H1_20200103 --IFOmodel=modelPars --sampleNumber=1000 --seed=1111 --version=C01 --outDir=/ligo/svncommon/CalSVN/aligocalibration/trunk/Runs/O3/H1/Results/Uncertainty/  --plot1SigmaUncs --saveSummaries --gpsTime=1268755218 --GetData=GWPY
jeffrey.kissel@LIGO.ORG - 15:04, Monday 03 August 2020 (56381)
J. Kissel

OK, so let's explain the process which led me to deciding that we needed three periods of systematic error.

Step 0 was to finish creating MCMC fits for all remaining measurements that I hadn't gotten to -- namely, all those measurements in March,
    /ligo/svncommon/CalSVN/aligocalibration/trunk/Runs/O3/H1/Scripts/FullIFOActuationTFs/
        process_actuation_MCMC_model20200103_meas20200302.py
        process_actuation_MCMC_model20200103_meas20200309.py
        process_actuation_MCMC_model20200103_meas20200316.py
        process_actuation_MCMC_model20200103_meas20200323.py

    /ligo/svncommon/CalSVN/aligocalibration/trunk/Runs/O3/H1/Scripts/FullIFOSensingTFs
        process_sensingmeas_MCMC_model20200103_meas20200302.py
        process_sensingmeas_MCMC_model20200103_meas20200309.py
        process_sensingmeas_MCMC_model20200103_meas20200312.py
        process_sensingmeas_MCMC_model20200103_meas20200312_DHARDGain10.py
        process_sensingmeas_MCMC_model20200103_meas20200316.py
        process_sensingmeas_MCMC_model20200103_meas20200323.py
from which the make-shift TDCFs are stored in
    /ligo/svncommon/CalSVN/aligocalibration/trunk/Runs/O3/H1/Results/FullIFOActuationTFs
        2020-01-15_H1_20200103Model_PCALSYSERR_MCMC_kappa_PUM_list.txt
        2020-01-15_H1_20200103Model_PCALSYSERR_MCMC_kappa_TST_list.txt
        2020-01-15_H1_20200103Model_PCALSYSERR_MCMC_kappa_UIM_list.txt

    /ligo/svncommon/CalSVN/aligocalibration/trunk/Runs/O3/H1/Results/FullIFOSensingTFs
        2020-01-23_H1_20200103Model_fmin20Hz_PCALSYSERR_MCMC_TDCFs_list.txt


I then copied these values over to the place where actuation.py and sensing.py knows where to look, 
    /ligo/svncommon/CalSVN/aligocalibration/trunk/Common/pyDARM/src
        readHardcodedTDCFs_H1_O3B_20200109.py

and made sure (in my local copy of) sensing.py and actuation.py were importing that library before running the GPR assessment.

So, now, armed and ready for unknown systematic error assessment, aka the Gaussian Process Regression (GPR) fitting, I began exploring the data.

Let the record show that I *did* *not* change any of the GPR parameters, fit range, overall scale, amount of frequency dependent correlation length, and the frequency correlation length -- all of the parameter values motivated by the study presented in LHO aLOG 55012 still hold for the remaining data collection analyzed here.

%%%%%
First, when concatenating all of the regular calibration sweep data for the actuators, I found that the TST stage measurements had some clear state change between the 2020-02-10 and 2020-02-24 measurements. 
I chased this change down to the electronics change made on 2020-02-11 and LHO aLOG 55041. The attachment to the last comment of that entry (direct link here) shows this clear bifurcation.

As such, I had to split the assessment of the TST stage unknown systematic error in to two distinct collections, processed by 
    /ligo/svncommon/CalSVN/aligocalibration/trunk/Runs/O3/H1/Scripts/Uncertainty/
        process_allmeas_writeGPRHDF5_20200731_A_meas20191204-20200211_model20200103_NOPCALSYSERR.py
        process_allmeas_writeGPRHDF5_20200731_A_meas20200211-20200323_model20200103_NOPCALSYSERR.py

The measurement list is identical for the UIM and PUM stages in both scripts, and thus in both .hdf5 files,

    /ligo/svncommon/CalSVN/aligocalibration/trunk/Runs/O3/H1/Results/Uncertainty/
        2020-07-31_GPR_Run_H1_A_O3B_meas20191204-20200211_collection_model20200103_NOPCALSYSERR_ALL_UIM_f7-250Hz_L0p1_PUM_f7-500Hz_L0p2_TST_f10-1000Hz_L0p5_posteriors.hdf5
        2020-07-31_GPR_Run_H1_A_O3B_meas20200211-20200323_collection_model20200103_NOPCALSYSERR_ALL_UIM_f7-250Hz_L0p1_PUM_f7-500Hz_L0p2_TST_f10-1000Hz_L0p5_posteriors.hdf5
the UIM and the PUM uncertainty are the same, it's only the TST uncertainty that's different, and the TST stage GPR fit is informed by the measurement collections defined by the emboldened date range in the filenames.

The first three attachments show the results of each of these fits. The first, for the TST, shows 5 pages -- the first is a repeat of the complete collection of measurements that shows the bifurcation, but the next four pages are showing the groups of data and the corresponding GPR fit. The second and third are much more straightforward; they just show all the data from 2019-12-04 (after the UIM LP filter was reverted LHO aLOG 56349) to 2020-03-23. 


%%%%%
Second I attacked the sensing function. We new going in to this -- from work shown in LHO aLOG 56347 and PART II of G2000527 -- that there's something fishy going on with the broadband injection data from 2020-03-23. As such, and given the known detector configuration change on 2020-03-16, I elected to just jettison these last two suspicious data sets to their own data collection, and thus their own GPR fit.

The fitting was performed by these two scripts,
    /ligo/svncommon/CalSVN/aligocalibration/trunk/Runs/O3/H1/Scripts/Uncertainty/
        process_allmeas_writeGPRHDF5_20200729_C_meas20191120-20200316_model20200103_NOPCALSYSERR_withHF.py
        process_allmeas_writeGPRHDF5_20200729_C_meas20200316-20200323_model20200103_NOPCALSYSERR_withHF.py
which produced the following two collections of GPR fit,
    /ligo/svncommon/CalSVN/aligocalibration/trunk/Runs/O3/H1/Results/Uncertainty/
        2020-07-29_GPR_Run_H1_C_O3B_meas20191120-20200316_collection_model20200103_NOPCALSYSERR_nofsQcorr_MCMCfmin20Hz_GPRfmin20_lengthscale0p35_withPCALXHFdata_model20200103_posteriors.hdf5
        2020-07-29_GPR_Run_H1_C_O3B_meas20200316-20200323_collection_model20200103_NOPCALSYSERR_nofsQcorr_MCMCfmin20Hz_GPRfmin20_lengthscale0p35_withPCALXHFdata_model20200103_posteriors.hdf5
and the results are the shown in the 4th attachment.

The first page shows all measurements that were considered to be used, and the last two measurements, 2020-03-16 and 2020-03-23, coupled with the single collection of high frequency roaming line data that started on 2020-03-20, indeed show clear outlying response above 1 kHz in magnitude and phase. This which confirms there was indeed a configuration change -- and more than just the minuscule change predicted by the G2000527 study.

This, to me, justifies segregating the data from after 2020-03-16 and using an independent fit.

Interestingly, one can also see some screwy-ness going on with the 2020-03-09 data sets and more bi-modal grouping of the high frequency roaming line data *prior* to 2020-03-16, but we're just far too far behind schedule to understand this behavior, so we just lump everything in, without bias, and "let the GPR deal with it."  

Also note that I've excluded the 2020-03-12 data that exists from the GPR because both the "with" and "without" DHARD gain increase exploratory data taken and discussed in LHO aLOG 55569 show clear anti-spring-like response. I therefore guess that this is because the data was taken early in a lock stretch before the IFO had thermalized, which we've decided to cover differently with the hourly budget (see G2000858).

So, this is indeed why we need the three periods of uncertainty described above.



Non-image files attached to this comment
Displaying report 1-1 of 1.