This one has our normal ETMX glitch and a slight DARM wiggle, but we still have no idea why.
Observing 2259UTC. Full auto relock.
Vicky, Camilla, Naoki, Sheila
After our first trial of running ADS for OMC 3 MHz to align ZM5+6 (80114), we came up with a hypothesis of why this didn't maximize squeezing. We are trying to maximize the 3MHz Q signal, while the I signal is servo's. Changing the demod phase of the 6MHz rotates the IQ ellipse, in general anti-squeezing is at the demod phase where Q is maximized and squeezing is near the phase where Q is minimized, but because the 3MHz is off resonaonce in the OPO the best squeezing is slightly away from the minimum.
If alignment changes didn't change the squeezing angle (for a fixed demod phase), then running ADS to maximize the 3MHz Q signal should be increasing the throughput of 3MHz, which would mean that the OPO is better aligned to the OMC. But, we see that changing the alignment changes the squeezing angle. This means that moving the alignment to maximize RF3 would only work as an alignment servo if the RF3 demod phase were updated to keep the squeezing angle constant.
So our plan for today was to run the ADF servo to feed back to RF6 demod phase and keep the squeezing angle correct while we run ADS to adjust the alignment of ZM5+6. The servos worked fine, but again didn't give us good squeezing. We think this is because the ADF servo didn't actually do a good job of keeping the squeezing angle set to minimize shot noise.
We ran ADS for 3MHz Q to ZM5+6 and the ADF servo to adjust RF3 demod phase based on H1:SQZ-ADF_OMC_TRANS_SQZ_ANG, which moved ZM5 pitch by -19, ZM5 Y by +3urad, ZM6 P by -135 urad, and ZM6 Y by -5 urad, and moved H1:SQZ-CLF_REFL_RF6_PHASE_PHASEDEG by -45 degrees. After this finished we ran SCAN_SQZANG to readjust the squeezing angle (RF6 MHz) to minimize shot noise at 300 Hz, which indicated that the demod phase change we needed to compensate for the alignment shift was actually only 25 degrees. So, thinking about ZM6 P, we see that an alignment would require a 0.2 degree shift in demod phase, and also causes a similar sized error in the squeezing angle read out by the ADF.
After all this, we went back to our best squeezing by running scan alignment and scan sqz angle, then moved ZM6 by -100 urad and re-ran scan sqz angle, we needed to shift the 6MHz demod angle by -16.4 degrees.
The line heights of some of the PCAL lines in the cleaned channel have been much higher than actual at the begining of todays' locks (attachment 1). The relock yesterday didn't have it (attachment 2). Looks like this was potentially fixed a month ago - alog79558, but perhaps the locks from today are too short?
This is most likely caused by a slightly different issue that what was addressed in LHO aLOG 79558. In some instances, the line subtraction TFs are not updating properly at the beginning of lock stretches. I am working on a fix for this.
No obvious cause for the 1410810810 lock loss. The lock lost tool tagged FSS oscillations, which do seem present, but the lock loss was very fast. There was no DARM wiggle as we often see, or movement in the ETMX.
Observing at 2106UTC.
Relocking was interesting. ALS Y had some odd glitches that caused a few lock losses. Tens of minutes later, the polarization of ALS Y and X started to change drastically. This caused the guardian to turn on the controller and adjust it. No idea why the polarization would act like this (screenshot attached). Eventually, after some lock losses at PRMI, everything worked itself out and the IFO made it up. I never touched anything, this was all fully auto without an initial alignment.
Commissioning is complete and we have relocked. Observing at 1923UTC
SQZ ADS dithers are now OFF during observing. See SDFs accepted - the ADS dither gains are set to 0 (so it is off), and the ASC gains and sensing matrix have bene reverted to the previous settings for AS42 ASC.
This should resolve the dithers being accidentally left on the past few days, see Sheila lho80185.
We lost lock during commissioning because of a big (100 cts) PIT step of ZM4, when it's TRAMP = 0.1. That TRAMP being too short was due to a guardian setting bug during SCAN_ALIGNMENT, which is now fixed. We tried the big ZM4 step in an attempt to re-measure the AS42 sensing matrix using ZM4 instead of ZM5, since the ZM5 steps gave very small changes in AS42 WFS with significant P/Y coupling. Measuring the AS42 sensing matrix with ZM4+6 might be worth trying again in the future (especially - check that ZM4 slider TRAMPS are >1 second).
The TRAMPs for ZM4,5,6 slider offsets are all set to 3 seconds now, and that has also been saved in SDF.
ZM5 + ZM6 have had alignment dithers running accidentally in observing since Monday morning, which have now been turned off. (They were on from 9/16/2024 17:40 UTC until 9/19 16:47 UTC). These were small dither lines at 4.1 Hz, 3.5 Hz, 4.5 Hz, and 3 Hz.
BRSX has been running with it's heater almost maxed out at 9V for a while, meaning the hot pad has been sitting at about 50 C for a long time, so Tuesday I reduced the voltage to 7V and made an adjustment to the pico mass adjuster. Changing the heater voltage takes ~1day to settle out, the mass adjustment only took an hour or so to damp down. I adjusted the picomotor using the > button on the middle lower left control keypad on the overview in -1000 step increments. -1000 to engage the yoke, -2000 step adjustment to the mass, +1000 steps to disengage the yoke. This moved the dc position from around 0 to ~-6000. The 2V drop on the heater has now settled out to about +6000, and reduced the hot pad temp to about 40C, and reduced the igloo temp .3C . I think VEA temps trend up as weather cools off outside, higher temps push the dc position negative on this BRS, so I think I will wait a few weeks before making any more adjustments.
Followed instructions in 74681. Last done in 78782, 79988. Saved in /ligo/gitcommon/NoiseBudget/aligoNB/aligoNB/H1/couplings/ and pushed to git.
CHARD_P, CHARD_Y, MICH, PRCL, SRCL screenshots attached. The IFO had been in NLN for 4h15 when these were taken. The AS_A_YAW and PRCL offsets were turned off.
I modified the script used in 78969 to project PRCL noise to DARM through MICH and SRCL, and now added coupling through CHARD P + Y.
There is high coherence between PRCL and CHARD, but these active injections that Camilla did show that the main coupling of PRCL to DARM is not through CHARD.
This script is now in /ligo/gitcommon/NoiseBudget/simplepyNB/PRCL_excitation_projections.py (not actually a git repo)
Sheila, Vicky - we ran the noise budget using these updated couplings from Camilla.
Noise budget with squeezing - pdf and svg (and the quantum sub-budget with squeezing). Plots without unsqueezed DARM here: pdf and svg. Picked a time with high range, and good ~4.8dB squeezing.
Noise budget without squeezing - pdf and svg (and the quantum sub-budget without squeezing).
The remaining sub-budgets are for squeezed DARM: Laser, Jitter, LSC, ASC, Thermal, PUMDAC.
Noise below 25 Hz looks pretty well accounted for: 10-15 Hz ~ ASC (CHARD Y, then CSOFT P, CHARD P). 15-20 Hz ~ LSC (PRCL).
Some comments and caveats for these budget plots:
The code has been pushed to aligoNB repo, commit 95d3a88b. To make these noise budget plots:
Thanks to Erik von Reis for helping us update the aligoNB environment to newer python and scipy (etc) versions. Next to-do: have the budget code use median averaging to be more robust to glitches (which can be done now that the environment has an updated scipy!).
Ran the usual broad band and simulines following the wiki. I ramped the AS_A Y offset to OFF before starting this measurement.
Simulines start:
PDT: 2024-09-19 08:37:18.910765 PDT
UTC: 2024-09-19 15:37:18.910765 UTC
GPS: 1410795456.910765
2024-09-19 15:37:20,007 | INFO | File written out to: /ligo/groups/cal/H1/measurements/DARMOLG_SS/DARMOLG_SS_20240919T1
53719Z.hdf5
2024-09-19 15:37:20,021 | INFO | File written out to: /ligo/groups/cal/H1/measurements/PCALY2DARM_SS/PCALY2DARM_SS_2024
0919T153719Z.hdf5
2024-09-19 15:37:20,035 | INFO | File written out to: /ligo/groups/cal/H1/measurements/SUSETMX_L1_SS/SUSETMX_L1_SS_2024
0919T153719Z.hdf5
2024-09-19 15:37:20,046 | INFO | File written out to: /ligo/groups/cal/H1/measurements/SUSETMX_L2_SS/SUSETMX_L2_SS_2024
0919T153719Z.hdf5
2024-09-19 15:37:20,056 | INFO | File written out to: /ligo/groups/cal/H1/measurements/SUSETMX_L3_SS/SUSETMX_L3_SS_2024
0919T153719Z.hdf5
End:
2024-09-19 16:06:55,132 | INFO | File written out to: /ligo/groups/cal/H1/measurements/DARMOLG_SS/DARMOLG_SS_20240919T1
53719Z.hdf5
2024-09-19 16:06:55,144 | INFO | File written out to: /ligo/groups/cal/H1/measurements/PCALY2DARM_SS/PCALY2DARM_SS_2024
0919T153719Z.hdf5
2024-09-19 16:06:55,155 | INFO | File written out to: /ligo/groups/cal/H1/measurements/SUSETMX_L1_SS/SUSETMX_L1_SS_2024
0919T153719Z.hdf5
2024-09-19 16:06:55,166 | INFO | File written out to: /ligo/groups/cal/H1/measurements/SUSETMX_L2_SS/SUSETMX_L2_SS_2024
0919T153719Z.hdf5
2024-09-19 16:06:55,176 | INFO | File written out to: /ligo/groups/cal/H1/measurements/SUSETMX_L3_SS/SUSETMX_L3_SS_2024
0919T153719Z.hdf5
ICE default IO error handler doing an exit(), pid = 1416632, errno = 32
PDT: 2024-09-19 09:06:55.226746 PDT
UTC: 2024-09-19 16:06:55.226746 UTC
GPS: 1410797233.226746
Thu Sep 19 08:10:32 2024 INFO: Fill completed in 10min 28secs
Jordan confirmed a good fill curbside.
TITLE: 09/19 Day Shift: 1430-2330 UTC (0730-1630 PST), all times posted in UTC
STATE of H1: Observing at 154Mpc
OUTGOING OPERATOR: Ibrahim
CURRENT ENVIRONMENT:
SEI_ENV state: CALM
Wind: 4mph Gusts, 3mph 3min avg
Primary useism: 0.01 μm/s
Secondary useism: 0.10 μm/s
QUICK SUMMARY: Locked for 2hr41min. Calm environment. Planned calibration and commissioning today from 830-12 PT
TITLE: 09/19 Eve Shift: 2330-0500 UTC (1630-2200 PST), all times posted in UTC
STATE of H1: Observing at 153Mpc
INCOMING OPERATOR: Ibrahim
SHIFT SUMMARY:
H1's been locked almost 6.5hrs with a range hovering above 160Mpc (w/ only a few EX saturations on Verbal).
TITLE: 09/18 Eve Shift: 2330-0500 UTC (1630-2200 PST), all times posted in UTC
STATE of H1: Observing at 151Mpc
OUTGOING OPERATOR: Oli
CURRENT ENVIRONMENT:
SEI_ENV state: CALM
Wind: 21mph Gusts, 15mph 3min avg
Primary useism: 0.03 μm/s
Secondary useism: 0.09 μm/s
QUICK SUMMARY:
H1 was locked when I arrived (has been locked for 1.5hrs). Winds are a little up, but less than last night. All is looking well thus far.
TITLE: 09/18 Day Shift: 1430-2330 UTC (0730-1630 PST), all times posted in UTC
STATE of H1: Observing at 151Mpc
INCOMING OPERATOR: Corey
SHIFT SUMMARY: Observing at 155Mpc and have been locked for almost an hour. Quiet day with one lockloss but hands-off relocking.
LOG:
14:30 Relocking and at CARM_5_PICOMETERS
15:05 NOMINAL_LOW_NOISE
15:09 Observing
21:13 Lockloss
21:33 Lockloss from CHECK_MICH_FRINGES
21:38 Lockloss from FIND_IR
22:37 NOMINAL_LOW_NOISE
22:39 Observing
| Start Time | System | Name | Location | Lazer_Haz | Task | Time End |
|---|---|---|---|---|---|---|
| 15:03 | PEM | Robert | LVEA Receiving Door | n | Moving stuff | 15:05 |
| 15:30 | FAC | Eric | EX, EY | n | Checking glycol levels | 16:52 |
| 15:37 | FAC | Karen | Optics lab & Vac Prep | N | Technical cleaning | 15:53 |
| 19:12 | FAC | Kim | Receiving Door | n | Opening it | 20:12 |
| 20:37 | FAC | Tyler | MX, MY | n | 3IFO and Safety checks | 22:30 |
| 21:34 | FAC | Fil | Roof | n | Grabbing the lightning rod | 22:34 |
TITLE: 09/18 Day Shift: 1430-2330 UTC (0730-1630 PST), all times posted in UTC
STATE of H1: Lock Acquisition
OUTGOING OPERATOR: Ibrahim
CURRENT ENVIRONMENT:
SEI_ENV state: CALM
Wind: 5mph Gusts, 3mph 3min avg
Primary useism: 0.01 μm/s
Secondary useism: 0.08 μm/s
QUICK SUMMARY:
Relocking and at CARM_5_PICOMETERS. Not sure yet why we lost lock, but it might've been an earthquake.
Lockloss from earlier this morning, 2024-09-18 13:39UTC, wasn't caused by an earthquake, but by the FSS saturating. This is the first FSS_OSCILLATION lockloss that we've had from NLN in a year
Back to Observing 15:09UTC.
Had to accept this sdf diff for ETMX_L3_ESDOUTF_LR to get into Observing. This change happened during TRANSITION_FROM_ETMX. Since this is our first relock since the DAC was changed out yesterday at EX, wondering if this was related at all to those changes.
I probably had a stray mouse click that turned that decimation filter off, and then did my SDF-accepting of the state of FMs 9 and 10 of the ESDOUTF filter banks. Thankfully it was just the decimation filter that I had wrong, which doesn't affect our sensitivity in any way.
Anyhow, I have updated the safe.snap file to accept the decimation filter being correctly ON (see attached). This will show up as an SDF diff again (opposite of what Oli posted this morning) in Observe and should be accepted. I don't want to set it in Observe right now, since accepting would require changing other things with the ETM, which I don't want to do right now. So, it'll stay as a diff.
Andrei, Sheila
This morning we are taking the commissioning time to get a sqz data set similar to 77133 with longer averaging time and no other changes to the IFO happening in parrallel.
Data times:
After this data collection, we ran SCAN_SQZANG, which resulted in a demod phase of 184.35
In the attached screenshots the units are different in the top and bottom plots, I filed a dtt bug because the plot disappears if I try to change the units on the bottom plot: 403
Late post of the subtracted quantum noises (FIS (+FDAS) and FDS).
While differences in dB look big on those plots, see these comparisons of just the quantum noise models relative to the total noise (FIS and FDS) -- below 100 Hz, these are really marginal / small differences in the quantum noise, which by 100 Hz is order 2-5 times below total DARM noise. So inferring low-frequency (<100 Hz) quantum noise paramters does require quiet glitch-free (rejected) long averaging times to nail down. So, this helps appreciate why figuring out low-freq quantum noise models is kinda tricky, given we can only measure the total noise in different sqz configurations. So far this analysis code is here.
Note due to the glitch in the no-sqz time, median averaging is required, or else we need to truncate to before the glitch (e.g. 400 seconds vs the full 600). Updating the noise budget environment to run median averaging, which requires the updated (but not fully updated) version of scipy, is underway so noise budget code can use median averaging.
I think several things related to quantum noise budgeting have changed since this sqz dataset in May 2024 (i.e. post-vent, including srcl detuning & fc detuning lho79929 amongst many other things) - so likely another sqz dataset in this vein is needed for more accurate quantum noise budgeting in O4b.
The parameters here in the figure titles are what was used to produce the quantum noise trace. It is rather "simple" at this stage, it does not yet include mode-mismatch, etc. The models do not match measurements well below 40-60 Hz, in part because noisy measurements (note the short 10-min measurement times).
Notably anti-squeezing does not match models well below 80 Hz, see anti-sqz vs. models after subtracting classical noise here. Including mode-mismatches may be able to resolve some of the discrepancies, but so far kinda unclear.
J. Kissel, O. Patane
A follow-up from yesterday's work on installing the infrastructure of the upgrades to the ETM and TMS watchdog systems, in this aLOG I cover with what I've filled out the infrastructure in order to obtain the calibrated BLRMS that forms the trigger signal for the user watchdog.
Remember, any sensible BLRMS system should
(1) Take a signal, and filter with with a (frequency) band-limiting filter, then
(2) Take the square, then the average, then square root, i.e. the RMS, then
(3) Low-pass the RMS signal, since only the "DC" portion of the RMS has interesting frequency content.
As a bonus, if your signal is not calibrated, then you can add
(0) Take the input to the band limiting filter, and calibrate it
(and through the power of linear algebra, it doesn't really matter whether you band-limit first and *then* calibrate)
This screenshot shows the watchdog overview screen conveying this BLRMS system.
Here're the details of the BANDLIM and RMSLP filters for each of the above steps:
(0) H1:SUS-ETMX_??_WD_OSEMAC_BANDLIM_??
FM6 ("10:0.4") and FM10 ("to_um") are exact copies of the calibration filters that are, and have "always been" in the OSEMINF banks. These are highlighted in the first attachment in yellow.
FM6 :: ("10:0.4") :: zpk([10],[0.4],1,"n") :: inverting the frequency response of the OSEM satellite amp frequency response
FM10 :: ("to_um") :: zpk([],[],0.0233333,"n") :: converting [ADC counts] into [um] assuming an ideal OSEM which has a response of 95 [uA / mm], differentially readout with 242 kOhm transimpednance and digitized with a 2^16 / 40 [ct / V] ADC.
In addition, I also copied over the GAIN from the OSEMINF banks and copied these over as well such that each OSEM trigger signal remains "normalized" to an ideal 95 [uA / mm] OSEM. These are highlighted in dark green in the first attachment.
(1) H1:SUS-ETMX_??_WD_OSEMAC_BANDLIM_??
FM1 :: ("acBandLim") :: zpk([0;8192;-8192],[0.1;9.99999;9.99999],10.1002,"n") :: 0.1 to 10 Hz band-pass
(2) This is a major part of the upgrade -- the front-end code that does the RMS was changed from the nonsense "cdsRms" block (see LHO:1265) to a "cdsTrueRMS" block (see LHO:19658)
(3) H1:SUS-ETMX_??_WD_OSEMAC_RMSLP_??
FM1 :: ("10secLP") :: butter("LowPass",4,0.1) :: 4th order butterworth filter with a corner frequency at 0.1 Hz, i.e. a 10 second Low Pass.
This is highlighted in magneta in the second attachment. These are direct copies from other newer suspension models that had this infrastructure in place.
I've committed the filter files to the userapps repo,
/opt/rtcds/userapps/release/sus/h1/filterfiles/
H1SUSETMX.txt
H1SUSETMY.txt
H1SUSETMXPI.txt
H1SUSETMYPI.txt
H1SUSTMSX.txt
H1SUSTMSY.txt
are all committed as of rev 27217.
All of these settings were captured in each model's safe.snap. I've not yet accepted them in the OBSERVE.snaps.
Here's a handy script that demos using the python bindings to foton in order to easily populate simple filters from a python script. I've only used this from the control room workstations, whose environment has been already built up for me, so I can't claim any knowledge of details about what packages this script needs. But, if you have the base cds conda environment this "should work."