40m QIL Cryo_Lab CTN SUS_Lab TCS_Lab OMC_Lab CRIME_Lab FEA ENG_Labs OptContFac Mariner WBEEShop
  40m Log, Page 323 of 330  Not logged in ELOG logo
ID Date Author Typeup Category Subject
  16049   Mon Apr 19 12:18:19 2021 Anchal, PacoUpdateSUSTested proposed filters for POS colum in MC2 output matrix

The filters were somewhat successful, how much we can see in attachment 1. The tip about difference between eigenmode basis and cartesian basis was the main thing that helped us take data properly. We still used OSEM data but rotated the output from POS, PIT, YAW to x, theta, phi (cartesian basis where x is also measured as angle projected by suspension length).

Eigenmode basis and Cartesian basis:

  • It is important to understand the difference between these two and what channels/sensors read what.
  • Eigenmode basis as the name suggests is the natural basis for the suspended pendulum.
    • It signifies the motion along three independent and orthogonal modes of motion: POS (longitudinal pendulum oscillation), PIT, and YAW.
    • The position of optic can be written in eigenmode basis as three numbers:
      • POS: Angle made by the center of mass of optic with verticle line from suspension point.
      • PIT: Angle made by the optic face with the suspension wires (this is important to note).
      • YAW: Angle made by optic surface with the nominal plane of suspension wires. (the yaw angle basically).
  • Cartesian basis is the lab reference frame.
    • Here we define three variables that can also represent an optic positioned and orientation:
      • x: Angle made by the center of mass of optic with verticle line from suspension point. (Same as POS)
      • \large \theta: Angle made by the optic surface with absolute verticle (z-axis) in lab frame.
      • \large \phi: Twist of the optic around the z-axis. Same as YAW angle above.
  • We want to apply the feedback gains and filters in eigenmode basis because they are a set of known independent modes. (RXA: NOOO!!!!!! read me elog entry on this topic)
  • Hence, the output from input matrix of suspensions comes out at POS, PIT and YAW in the eigenmode basis.
  • However, the sensors of optic positional, and orientation such at MC_F, wave front sensors and optical levers measure it in lab frame and thus in cartesian basis.
  • Essentially, the \large \theta measured by these sensors is different from the PIT calculated using the OSEM sensor data and is related by:
    • \large \theta = PIT - POS, where PIT and POS both are in radians as defined above.
  • When we optimized the cross-coupling in output matrix at high frequencies using the MC_F and WFS data, we actually optimized it In cartesian basis.
  • The three feedback filters from POS, PIT and YAW which carry data in the eigenmode basis need to be rotated into the cartesian basis in the output matrix before application to the coils.
  • The so-called F2A and A2L filters are essentially doing this rotation.
  • Above the resonant frequencies, the PIT and \large \theta become identical. Hence we want our filters to go to unity

The two filter sets:

  • The filters are named Eg2Ctv1 and Eg2Ctv2 on the POS column of MC2 output matrix.
  • This is to signify that these filters convert the POS, PIT, and YAW basis data (eigenmode basis data) into the cartesian basis (x, theta, phi) in which the output matrix is already optimized at higher frequencies.
  • v1 filter used an ideal output matrix during the calculation of filter as described in 16042 (script at scripts/SUS/OutMatCalc/coilBalanceDC.py).
  • Attachment 2 shows these filter transfer functions.
  • v2 filter use the output matrix optimized to reduce cross-coupling amount cartesian basis modes (MC_F, WFS_PIT and WFS_YAW) in 16009.
  • Attachment 3 shows these filter transfer funcitons.
  • Because of this, the v2 filter is different among right and left coils as well. We do see in Attachment 1 that this version of filter helps in reducing POS->YAW coupling too.

Test procedure:

  • We uploaded both the diagonalized input matrix and the diagonalized output matrix as calculated earlier.
  • We measured channels C1:SUS-MC2_SUSPOS_IN1_DQ, C1:SUS-MC2_SUSPIT_IN1_DQ, and C1:SUS-MC2_SUSYAW_IN1_DQ throughout this test.
  • These channels give output in an eigenmode basis (POS, PIT, and YAW) and the rows of the input matrix have some arbitrary normalization.
  • We normalize these channels to have same input matrix normalization as would be for ideal matrix (2 in each row).
  • Then, assuming the UL_SENS, UR_SENS, LR_SENS, and LL_SENS channels that come at input of the input matrix are calibrated in units of um, we calculate the cartesian angles x, theta, phi. for this calculation, we used the distance between coils as 49.4 mm (got it from Koji) and length of suspension as 0.2489 m and offset of suspension points from COM, b = 0.9 mm.
  • Now that we have true measures of angles in cartesian basis, we can use them to understand the effect on cross coupling from the filters we used.
  • PSL shutter is closed and autolocker is disabled. During all data measurements, we switched of suspension damping loops. This would ensure that our low frequency excitation survives for measurement at the measurement channels.
  • We first took reference data with no excitation and no filters for getting a baseline on each channel (dotted curves in Attachment 1).
  • We then send excitation of 0.03 Hz with 500 counts amplitude at C1:SUS-MC2_LSC_EXC and switched on LSC output.
  • One set of data is taken with no filters active (dashed curve in attachment 1).
  • Then two sets of data are taken with the two filters. Each data set was of 500s in length.
  • Welch function is used to take the PSD of data with bin widht of  0.01Hz and 9 averages.


  • Filter v1 was the most successful in reducing \large x \rightarrow \theta coupling by factor of 17.5.
    • The reduction in \large x \rightarrow \phi coupling was less. By a factor of 1.4.
  • Filter v2 was worse but still did a reduction of \large x \rightarrow \theta coupling by factor of 7.8.
    • The reduction in \large x \rightarrow \phi coupling was better. By a factor of 3.3.

Next, filters in PIT columns too

  • We do have filters calculated for PIT as well.
  • Now that we know how to test these properly, we can test them tomorrow fairly quickly.
  • For the YAW column though, the filters would probably just undo the output matrix optimization as they are derived from ideal transfer function models and ideally there is no coupling between YAW and other DOFs. So maybe, we should skip putting these on.
Attachment 1: CrossCoupleTestForEgToCtFilters.pdf
Attachment 2: uncFilters.pdf
uncFilters.pdf uncFilters.pdf uncFilters.pdf
Attachment 3: uncFilters_v2.pdf
uncFilters_v2.pdf uncFilters_v2.pdf uncFilters_v2.pdf
  16050   Mon Apr 19 13:15:20 2021 Ian MacMillanUpdateCDS40m LSC simPlant model

The x1SUSsim model on the docker was made in a more recent version of Simulink so I updated Matlab (see this)

I updated Matlab to 2021a so now the docker has 2020b and 2021a installed. This should also install Simulink 10.3 for the sus model to open. I used my account to activate it but I can change it over if I get a dedicated license for this. I am not sure what Jon did for the 2020b that he installed.

it is giving me "License error: -9,57" so I guess it didn't work... I will try to just make the model on the 2020b just so I have something.


I was able to fix the problem with the activation (using this).

I can now open the x1sussim.mdl file. It is trying to access a BSFM_MASTER Library that it doesn't seem to have. the other files don't seem to have any warnings though. 

the simple suspension model can be found in home/controls/docker-cymac/userapps/c1simpsus.mdl on the docker system. This is where I will put my model. (right now it is just a copied file)

Also using Simulink on the docker is very slow. I think this is either a limit of the x2goclient software or the hardware that the docker is running on.

  16051   Mon Apr 19 19:40:54 2021 YehonathanUpdateGeneralGlue Freezer completely frozen

{Paco, Yehonathan}

We broke the last chunk of ice and cleaned the fridge. We move the fridge back inside and plugged it into the wall. The glues were moved back from the main fridge.

The batteries that were found soaking wet are now somewhat dry and were left on the cabinet drawers for future recycling.


{Anchal, Paco, Yehonathan}

We took the glue fridge outside.


  16052   Mon Apr 19 21:54:55 2021 YehonathanUpdateCDSUpdated c1auxey wiring plan

Except for the feed-throughs that require a DB9-M connector I finished wiring and labeling the Acromag, following Jon's updated wiring plan.

We can start testing the differential inputs until the missing connectors arrive.


  16054   Tue Apr 20 10:52:49 2021 Anchal, PacoUpdateSUSAC gain coil output balancing for IMC

[Paco, Anchal]

  • We adopted the following procedure to balance the coil output gains using a high-frequency (> 10 Hz) excitation on "C1:SUS-MCX_ASCPIT_EXC", "C1:SUS-MCX_ASCYAW_EXC", and "C1:SUS-MCX_LSC_EXC", where X is one of {1, 2, 3} for the three IMC optics, and the cavity sensors (MC_F, and MC_TRANS);
    1. We load the new input matrix found on March-23rd.
    2. Using awggui, we launch a single 23.17 Hz sine with 500 - 1000 counts amplitude on the aforementioned channels.
      • We are still unable to launch multiple excitations simultaneously through either API (python-awg or dtt-awggui) devilno
    3. Using our built-in hominid neural networks, we look at the "C1:IOO-MC_F", "C1:IOO-MC_TRANS_PIT_IN", and "C1:IOO-MC_TRANS_YAW_IN" exponentially averaging power spectra, on and about the excitation frequency, and identify the amount of cross-coupling going into angular or longitudinal motion depending on the excited degree of freedom.
    4. We step the "C1:SUS-MCX_URCOIL_GAIN", "C1:SUS-MCX_ULCOIL_GAIN", "C1:SUS-MCX_LRCOIL_GAIN", "C1:SUS-MCX_LLCOIL_GAIN" coil output gains by hand in the presence of an excitation (e.g. "LSC") along a given degree of freedom (e.g. along "PIT") to try and minimize the coupling.
    5. We iterate step (4) until we find an optimum gain set, and move on to another optic.


  • For MC2 the optimal gains changed from: [1.0, -1.0, 1.0, -1.0] → [1.05, -1.05, 0.995, -1.03] **
    • Here we were able to first decouple PIT and YAW from a POS excitation almost entirely (see Attachment #1), but weren't as successful in decoupling YAW and POS from PIT, or PIT and POS from YAW excitations (Attachment #2).
  • For MC1 the optimal gains changed from: [1.0, 1.0, 1.0, 1.0] → [0.282, 0.035, 0.302, 2.46] **
    • Here we mostly succeeded in decoupling POS from YAW and PIT excitations (see Attachments #3 - 4).
  • For MC3 the optimal gains changed from: [1.0, -1.0, 1.0, -1.0] → [0.126, -0.123, 0.298, -0.306] **
    • Here the LSC_EXC didn't show up on MC_F (??), and the PIT/YAW excitations decouple by virtue of seemingly low gains, so maybe the optimum is an artifact of the lower coil gains...
    • Plots are to follow up for this one.

** The notation here is [UL, UR, LR, LL]

Attachment 1: POS2PYuncoupled.pdf
POS2PYuncoupled.pdf POS2PYuncoupled.pdf
Attachment 2: PIT2PYuncoupled.pdf
PIT2PYuncoupled.pdf PIT2PYuncoupled.pdf
Attachment 3: MC1YAWexc.pdf
Attachment 4: MC1PITexc.pdf
  16055   Tue Apr 20 18:19:30 2021 AnchalUpdateSUSMC2 coil balanced at DC

Following up from morning's work, I balanced the coils at DC as well. Attachment 1 is screenshot of striptool in which blue and red traces show ASCYAW and ASCPIT outputs when C1:SUS-MC2_LSC_OFFSET was switched by 500 counts. We see very slight disturbance but no real DC offset shown on PIT and YAW due to position step. This data was taken while nominal F2A filter calculated to balance coils at DC was uploaded

I have uploaded the filters on filter banks 7-10 where FM7 is the nominal filter with Q close to 1 and 8-10 are filters with Q 3, 7 and 10 respectively. The transfer function of these filters can be seen in Attachment 2. Note, that the high frequency gain drops a lot when higher Q filters are used.

These filters are designed such that the total DC gain after the application of coil outputs gains for high frequency balancing (as done in morning 16054) balances the coils at DC.

Since I had access to the complete output matrix that balances the coils to less than 1% cross coupling at high frequencies from 16009, I also did a quick test of DC coil balancing with this kind of high frequency balancing. In this case, I uploaded another set of filters which were made at Q close to 1 and gain such that effective DC gain matrix becomes what I got by balancing in the above case. This set of filter also worked as good as the above filters. This completes the proof that we can also use complete matrix for high frequency coil balancing which can be calculated by a script in 20min and works with DC coil balancing as well. In my opinion, this method is more clear and much faster than toggling values in coil output gains where we have only 4 values to optimize 6 cross-coupling parameters. But don't worry, I'm not wasting time on this and will abandon this effort for now, to be taken up in future.

Next up:

  • Tomorrow, we'll finish DC balancing for MC1 and MC3 with the method I practiced today. This should not take much time and should be completed before the meeting.
  • I'll also, calculate and upload the F2A filters for MC1 and MC3.
  • Next, we'll optimize gains in the suspension damping loops by doing step response test (with TRAMP = 0s). We'll look for decaying response (at MC_F, and WFS sensors) with a few oscillations for each step in POS, PIT, and YAW.

Edit Tue Apr 20 21:25:46 2021 :

Corrected the calculation of filters in case of Q different than \large \sqrt{G_{DC}}. There was a bug in the code which I overlooked. I'll correct the filter bank modules tomorrow.

Edit Wed Apr 21 11:06:42 2021 :

I have uploaded the corrected foton filters. Please see attachment 3 for the transfer functions calculated by foton. They match the filters we intended to upload. Only after uploading and closing the foton filter, I realized that the X=7 filter plot (bottom left in attachment 3) does not have dB units on y-axis. It is plotted in linear y-scale (this plot in foton is for phase by default to I guess I forgot to change the scaling when repurposing it for my plot).

Attachment 1: MC2_DC_Coil_Balanced_St.png
Attachment 2: IMC_F2A_Params_MC2.pdf
IMC_F2A_Params_MC2.pdf IMC_F2A_Params_MC2.pdf IMC_F2A_Params_MC2.pdf IMC_F2A_Params_MC2.pdf
Attachment 3: UploadedPOS_F2A_Filters.pdf
  16056   Wed Apr 21 00:08:15 2021 KojiUpdatePSLPSL Table (sort of) covered / HEPA "chimney"

Shutdown Procedure:
PSL Shutter closed / MC Autolocker disabled / PSL mechanical shutter closed / Laser injection current turned to zero / Laser turn off (red button) / Laser key turned off

The laser stat before the shutdown:
- LD Temp A: Set 22.07 (Untouched)
- LD Temp B: Set 21.03(Untouched)
- Laser Injection Current: Dial 9.53, Actual 2.100 -> Dial was moved to zero upon shutting down
- Laser Crystal Temp: Dial 3.34 (untouched)  Set 30.57 Actual 30.60 (Untouched)

PSL Table covering

- Because of the so many cables going up and down, sealing the PSL table with the metalized sheet was not easy. Therefore, the sheets have been just softly laid above the optics. (Attachment 1)
- The largest sheet which covers the east half of the table was taped to the table at the bottom, so that the air from the chimneys (see below) does not come up to the table

- The large dust could come from the opening of the enclosure during the filter replacement. So it was considered to be easier to seal the openings. (Attachment 2)
- Of course, the HEPAs are going to be tested after the maintenance work. It means that vent paths were needed so that the seals do not explode with the pressure (together with dust).
- Thus, the tubes of the sheets are attached to the seals to form "chimneys" for guiding the airflow beneath the table. (Attachment 2/3/4)
- This configuration was not meant to be sufficiently strong for a continuous run of the fans. Long running of the HEPAs may cause the failure of the seal tapes.
  Therefore the HEPA test should be done with a low flow rate and/or a short period of high flow.

- Once the work has been done, all the sheets should be carefully removed without scattering the fallouts onto the optics.


Attachment 1: 20210420235324_IMG_0560.jpeg
Attachment 2: 20210420235304_IMG_0559.jpeg
Attachment 3: 20210420235243_IMG_0558.jpeg
Attachment 4: 20210420235344_IMG_0562.jpeg
  16057   Wed Apr 21 01:14:03 2021 KojiUpdatePSLPSL Table (sort of) covered / HEPA "chimney"

I also located the (possible) HEPA filters in the lab. (Attachments 1~3)

Oh! This is NO-NO! We can't place anything in front of the mains breakers. (Attachment 2)
I relocated the objects (Attachment 3)


Attachment 1: P_20210421_005056.jpg
Attachment 2: P_20210421_005114.jpg
Attachment 3: P_20210421_005302.jpg
  16058   Wed Apr 21 05:48:47 2021 ChubUpdateGeneralPSL HEPA Maintenance

Yikes!  That's ONE filter.  I'll get another from storage.

  16059   Wed Apr 21 10:03:01 2021 Ian MacMillanUpdateCDS40m LSC simPlant model

So I am stuck on how to add the control block to my model. I am trying to make it as simple as possible with just a simple transfer function for a damped harmonic oscillator and then the control block (see overview.png). 

The transfer function I am using is:

 H(s)=\frac{Q^{-2} f^{-2}s^2+1}{f^{-4}s^4+(Q^{-2} f^{-2}-2f^{-2})s^2+1}

For future generations: To measure the transfer function (to verify that it is doing what it says it is) I am using the discrete transfer function estimator block. To get a quick transfer function estimator Simulink program run ex_discrete_transfer_function_estimator in the Matlab command line. This works well for filters but it was hit or miss using the discrete transfer function. 

The roadblock I am running into right now is that I can't figure out how to add the controller to the model. Not on an interpretation level but in a very straightforward "can I drag it into my model and will it just work" kind of way.

I am also a little confused as to exactly which block would do the controlling. Because I want to just use the x of the pendulum (its position) I think I want to use the suspension controls which come are connected to in the suspension plant model. But where exactly is it and how can I get the model? I can't seem to find it. 

Attachment 1: Overview.png
  16061   Wed Apr 21 11:01:37 2021 RanaUpdateCDS40m LSC simPlant model

The controller would be in the c1sus model, and connects to the c1sup plant model. So the controller doesn't go in the plant model.

Both the controller and the plant can be modeled using a single filter module in each separate model as you've drawn, but they go in separate models.


  16062   Wed Apr 21 11:09:57 2021 yehonathanUpdatePSLLaser amplifier

I went to the TCS lab to take a look at the chillers lying around. I spotted two chillers:

1. Thermoflex1400 (attachment 1,2). Spec sheet.

2. Polyscience Recirculator 6000 series (attachment 3,4). Manual.

The Thermoflex has various communication ports. The Recirculator doesn't have any communication ports, but it is connected to a flow meter with what seems to be an electronic readout (attachment 5). Manual.

Both chillers have similar capacity ~ 4 gallons/minute. Thermoflex has 2 times more reservoir capacity than the Recirculator.

None of them seem to be Bechkoff-ready.

I guess we can have interlock code handling mixed signals Beckhoff+Non beckhoffs?

Attachment 1: 20210420_171606.jpg
Attachment 2: 20210420_171621.jpg
Attachment 3: 20210420_171611.jpg
Attachment 4: 20210420_171629.jpg
Attachment 5: 20210420_171702.jpg
  16063   Wed Apr 21 11:38:27 2021 Anchal, PacoUpdateSUSMC2 Damping Gains Optimized

We did a step response test with MC2 Suspensoin Damping Gains and optimized them to get <5 oscillations in ringdown.


  • We uploaded the diagonalized input matrix.
  • We uploaded the coil balancing gains at high frequencies found in 16054.
  • We applied Eg2CtQ1 filter module for DC gain balancing foun inf 16055.
  • We played with offsets to get a good step height. Finally we used:
    • C1:SUS-MC2_SUSPOS_OFFSET: 3000
  • We looked at channels C1:SUS-MC2_SUSPOS_INMON, C1:SUS-MC2_SUSPIT_INMON, and C1:SUS-MC2_SUSYAW_INMON on a striptool screen to see the step response of the switching on/off of the offsets.
  • We tried to decrease/increase gain to get <5 oscillations during ringdown due to the step inputs.
  • Restored everything back to old values at the end.


  • Gain in POS was found to be already good. In PIT and YAW we changed the gains from 10 -> 30.
  • Attachment 1 shows the striptool screen when offset was switched ON/Off in POS, PIT and YAW respectively after appling the optimized gains.
  • Attachment 2 shows the same test with old gains for comparison.

In the afternoon, we'll complete doing the above steps for MC1 and MC3. Their coil balancing has not been done on DC so, it is bit non-ideal right now. We'll look into scripting this process as well.

Attachment 1: MC2_DampGainStepTestWithNewGains.png
Attachment 2: MC2_DampGainStepTestWithOldGains.png
  16064   Wed Apr 21 12:56:00 2021 JordanUpdateVACEmpty N2 Tanks

Installed T2 today, and leaked checked the entire line. No issues found. It could have been a bad valve on the tank itself. Monitored T2 pressure for ~2 hours to see if there was any change. All seems ok.


When I came into the lab this morning, I noticed that both N2 tanks were empty. I had swapped one on Friday (4-16-21) before I left the lab. Looking at the logs, the right tank (T2) sprung a leak shortly shortly after install. I leak checked the tank coupling after install but did not see a leak. There could a leak further down the line, possibly at the pressure transducer.

The left tank (T1) emptied normally over the weekend, and I quickly swapped the left tank for a full one, and is curently at ~2700 psi. It was my understanding that if both tanks emptied, V1 would close automatically and a mailer would be sent out to the 40m group. I did not receive an email over the weekend, and I checked the Vac status just now and V1 was still open.

I will keep an eye on the tank pressure throughout the day, and will try to leak check the T2 line this afternoon, but someone should check the vacuum interlocks and verify.



Attachment 1: Screenshot_2021-04-21_12-53-26.png
  16065   Wed Apr 21 13:10:12 2021 KojiUpdateGeneralPSL HEPA Maintenance

It's probably too late to say but there are/were two boxes. (just for record)


  16066   Wed Apr 21 15:50:01 2021 Anchal, PacoUpdateSUSMC2 Suspension Optimization summary
MC2 Coil Balancing DC and AC Gains
  POS PIT YAW COIL_GAIN (AC balancing)


1.038 1 1 1.05
UR 1.009 1 -1 -1.05
LL 0.913 -1 1 -1.030
LR 0.915 -1 -1 0.995

MC2 Diagonalized input matrix
POS 0.2464 0.2591 0.2676 0.2548 -0.1312
PIT 1.7342 0.7594 -2.494 -1.5192 -0.0905
YAW 1.2672 -2.0309 -0.9625 2.3356 -0.2926
SIDE 0.1243 -0.1512 -0.1691 0.1064 0.9962

MC2 Suspension Gains
  Old gain New Gain
SUSPOS 150 150
SUSPIT 10 30
SUSYAW 10 30


  16067   Wed Apr 21 18:49:29 2021 ranaUpdateSUSMC2 Suspension Optimization summary

the POS column should be all 1 for the AC balancing. Where did those non-1 numbers come from?

  16068   Wed Apr 21 19:28:03 2021 AnchalUpdatePSLPSL/IFO recovery

[Anchal, Koji]

Removed the top sheet

  • Opened first from the door side so that any dust would spill outside.
  • Then rolled the sheet inward to meet in the middle.
  • Repeated this twice for the 2 HEPA filters.

Removed the sheets on the table

  • Lifted sheet up making sure the top side face outside always.
  • Rolled it sideways halfway through.
  • Cut down the sheet vertically.
  • Slided the doors to the other side and rolled the remaining half.
  • On the door side, the sheets above the ALS optics were simply lifted off.

Restarting PSL

  • Turned on the HEPAs at the max speed
  • Switched on laser to jsut above the threshold
    • Before the 1st eom, power was 20mW 
    • After the EOM/AOM, 18mW. So about 90% transmission through all polarizing optics.
    • We saw the resonances of the PMC but could not lock it even with highest gain available (30 dB).
  • Increased the input power to PMC to 100mW
    • Locked the PMC at 30dB gain
    • The transmitted power was ~50-60 mW. (Had to use power meter suspended by hand only.
    • The right before the IMC (after the 2nd EOM) 48mW. So none of the alignment was lost.
  • Opened the PSL shutter.
  • We were able to see IMC reflection signal.
  • We were also able to see IMC catching lock as the servo was left ON earlier.
  • Switched off the servo.
  • Decided to increase the power while watching PMC Trans/Refl and IMC REFL
  • Injection diode current to innolight was increased slowly to 2.10A. Saw a mod hopping region aroun 1.8A.
  • We recovered the PMC Trans >0.7 V.
  • PZT was near the edge, so moved by one FSR.
  • The PMC refelction signal is still shown in red at around 48 mV.

Back to control room

  • IMC was locked almost immediately by manually finding the lock while keeping IMC WFS off to preserve the offsets from yesterday.
  • Then switch on IMC WFS. Working good.
  • Then unlocked the servo and switched on IMC Autolocker. Lock was caught immediately.

Decided to start locking the arms

  • The arm transmissions were flashing but at 0.2~0.3 level.
  • Decided to adjust TT1 and TT2 Pitch and Yaw to align the light going into the arms.
  • This made TRY ~0.6 / TRX ~0.8 at the peak of the flashing
  • Locked the arms. (By switching on C1:LSC-MODE_SELECT which engages all servos).
  • Used ASS to align Yarm then align Xarm. Procedure:
    • Sitemap > ASC > c1ass
    • Open striptool to look at progress. ! Scripts YARM > striptool.
    • Switch on ASS. ! More Scripts > ON
    • Wait for the TRY to reach to around 0.97.
    • Freeze the outputs. ! Scripts > Freeze Outputs.
    • Offload the offsets to preserve the output. ! More Scripts > OFFLOAD OFFSETS.
    • Switch off ASS. ! More Scripts > OFF
    • Repeted this for XARM.
  • At the end, both XARM and YARM were locked with TRX ~ 0.97 and TRY ~ 0.96.
  16069   Wed Apr 21 19:43:20 2021 KojiUpdatePSLNew HEPA speed control

The new HEPA speed controllers are attached at the middle of the HEPA unit (not at the edge of the unit)... (Attachment 1)
You still need a step./stool to touch the knob and need a ladder for a more precise setting.

We still don't know the optimal speed of the nominal IFO operation. For now, the HEPAs are running at the max speed (Attachment 2).
Once we know the optimal setting, we mark the knobs so that we can see them only with the step.

Attachment 1: P_20210421_193637.jpg
Attachment 2: P_20210421_193627.jpg
  16071   Thu Apr 22 08:50:21 2021 AnchalUpdateSUSMC2 Suspension Optimization summary

Yes, during the AC balancing, POS column was set to all 1. This table shows the final values after all the steps. The first 3 columns are DC balancing results when output matrix was changed. While the last column is for AC balancing. During AC balancing, the output matrix was kept to ideal position as you suggested.


the POS column should be all 1 for the AC balancing. Where did those non-1 numbers come from?


  16072   Thu Apr 22 12:17:23 2021 Anchal, PacoUpdateSUSMC1 and MC3 Suspension Optimization Summary
MC1 Coil Balancing DC and AC Gains
  POS (DC coil Gain) PIT (DC coil Gain) YAW (DC coil Gain) Coil Output Gains (AC)
UL 0.6613 1 1 0.5885
UR 0.7557 1 -1 0.1636
LL 1.3354 -1 1 1.8348
LR 1.0992 -1 -1 0.5101

Note: The AC gains were measured by keeping output matrix to ideal values of 1s. When optimizing DC gains, the AC gains were uploaded in coil ouput gains.

MC1 Diagonalized input matrix
POS 0.1700 0.1125 0.0725 0.1300 0.4416
PIT 0.1229 0.1671 -0.1021 -0.1463 0.1567
YAW 0.2438 -0.1671 -0.2543 0.1566 -0.0216
SIDE 0.0023 0.0010 0.0002 0.0015 0.0360

MC1 Suspension Damping Gains
  Old gains New Gains
SUSPOS 120 270
SUSPIT 60 180
SUSYAW 60 180

MC3 Coil Balancing DC and AC Gains
  POS (DC coil Gain) PIT (DC coil Gain) YAW (DC coil Gain) Coil Output Gains (AC)
UL 1.1034 1 1 0.8554
UR 1.1034 1 -1 -0.9994
LL 0.8845 -1 1 -0.9809
LR 0.8845 -1 -1 1.1434

Note: The AC gains were measured by keeping output matrix to ideal values of 1s. When optimizing DC gains, the AC gains were uploaded in coil ouput gains.

MC3 Input matrix (Unchanged from previous values)
POS 0.28799 0.28374 0.21201 0.21626 -0.40599
PIT 2.65780 0.04096 -3.2910 -0.67420 -0.72122
YAW 0.60461 -2.7138 0.01363 3.33200 0.66647
SIDE 0.16601 0.19725 0.10520 0.07397 1.00000

MC3 Suspension Damping Gains
  Old gains New Gains
SUSPOS 200 500
SUSPIT 12 35
  16073   Thu Apr 22 14:22:39 2021 gautamUpdateSUSSettings restored

The MC / WFS stability seemed off to me. Trending some channels at random, I saw that the MC3 PIT/YAW gains were restored mixed up (PIT was restored to YAW and vice versa) in the last day sometime - I wasn't sure what other settings are off so I did a global burtrestore from the last time I had the interferometer locked since those were settings that at least allow locking (I am not claiming they are optimal).

How are these settings being restored after the suspension optimization? If the burtrestore is randomly mixing up channels, seems like something we should be worried about and look into. I guess it'd also be helpful to make sure we are recording snapshots of all the channels we are changing - I'm not sure if the .req file gets updated automatically / if it really records every EPICS record. It'd be painful to lose some setting because it isn't recorded.

Unconnected to this work - the lights in the BS/PRM chamber were ON, so I turned them OFF. Also unconnected to this work, the summary pages job that updates the "live" plots every half hour seem to be dead again. There is a separate job whose real purpose is to wait for the data from EOD to be transferred to LDAS before filling in the last couple of hours of timeseries data, but seems to me like that is what is covering the entire day now.

Attachment 1: MCdamping.png
  16074   Thu Apr 22 14:41:55 2021 ChubUpdatePSLNew HEPA speed control

When adjusting the blower speed, give the blower at least 30 seconds to speed up or slow down to the set speed.  The flywheel effect of the big motor armature and blower mass requires time to follow the control current.  Note the taller Flanders HEPA filters.  These and the new intake filters should keep the PSL air clean for a long time!


The new HEPA speed controllers are attached at the middle of the HEPA unit (not at the edge of the unit)... (Attachment 1)
You still need a step./stool to touch the knob and need a ladder for a more precise setting.

We still don't know the optimal speed of the nominal IFO operation. For now, the HEPAs are running at the max speed (Attachment 2).
Once we know the optimal setting, we mark the knobs so that we can see them only with the step.


Attachment 1: 40M_PSL_HEPA.jpg
  16075   Thu Apr 22 14:49:08 2021 gautamUpdateComputer Scripts / Programsrossa added to RTS authorized keys

This is to facilitate running of scripts like the CDS reboot script, mx_stream restart, etc, from rossa, without being pwd prompted every time, whereas previously it was only possible from pianosa. I added the public key of rossa to FB and the RT FE servers. I suppose I could add it to the Acromag servers too, but I haven't yet.

  16076   Thu Apr 22 15:15:26 2021 gautamUpdatePSLPMC transmission

I was a bit surprised by these numbers suggesting the PMC transmission is only 50-60%. I went to the table today and confirmed that it is more like 85% (1.3 W in, 1.1 W transmitted, both numbers from with the FieldMate power meter), as I claimed in 2019. Even being conservative with the power meter errors, I think we can be confident T_PMC will be >80% (modulo any thermal effects with higher power degrading the MM). There isn't any reliable record of what the specs of the PMC mirrors are, but assuming the IO couplers have T=4000ppm and the end mirror has T=500ppm as per Alan's plot, this is consistent with a loss of something like 300ppm loss per mirror - seems very high given the small beam spots, but maybe these mirrors just aren't as high quality as the test masses?

It's kind of unfortunate that we will lose ~20% of the amplifier output through the first filter, but I don't see an easy way to clean these mirrors. It's also not clear to me if there is anything to be gained by attempting a cleaning - isn't the inside of the cavity supposed to be completely isolated from the outside? Maybe some epoxy vaporization events degraded the loss?


The transmitted power was ~50-60 mW. (Had to use power meter suspended by hand only.

  16077   Thu Apr 22 15:34:54 2021 AnchalUpdatePSLPMC transmission

Koji mentioned that the mode of the laser is different for lower diode currents. So that might be the reason why we got less transmission at the low input power but more afterward.

  16078   Thu Apr 22 15:36:54 2021 AnchalUpdateSUSSettings restored

The mix up was my fault I think. I restored the channels manually instead of using burt restore. Your message suggests that we can set burt to start noticing channel changes at home point and create a .req file that can be used to restore later. We'll try to learn how to do that. Right now, we only know how to burt restore using the existing snapshots from the autoburt directory, but they touch more things than we work on, I think. Or can we just always burt restore it to morning time? If yes, what snapshot files should we use?

  16079   Thu Apr 22 17:04:17 2021 gautamUpdateSUSSettings restored

Indeed, you can make your own snapshot by specifying the channels to snap in a .req file. But what I meant was, we should confirm that all the channels that we modify are already in the existing snapshot files in the autoburt dir. If it isn't, we should consider adding it. I think the whole burt system needs some cleaning up - a single day of burt snapshots occupies ~400MB (!) of disk space, but I think we're recording a ton of channels which don't exist anymore. One day...


Your message suggests that we can set burt to start noticing channel changes at home point and create a .req file that can be used to restore later. We'll try to learn how to do that. Right now, we only know how to burt restore using the existing snapshots from the autoburt directory, but they touch more things than we work on, I think. Or can we just always burt restore it to morning time? If yes, what snapshot files should we use?

  16080   Thu Apr 22 17:28:34 2021 YehonathanUpdatePSLLaser amplifier

According to the aLIGO 70W amplifier interlock concept the flow rate of the chiller should be between 5 and 40 l/min. The chillers I found in the TCS lab both have around 15 l/min flow rate so we should be fine in that regard.

Assuming that the power consumption of the diode box is ~800W and that the optical output power of the diode is ~ 300W of optical power, the chillers need to be able to remove the remaining power. At room temperature, they both have enough cooling capacity according to their specs.

As for the idea to put the chiller and diode box in the drill room: There are not a lot of options here. The only viable place is the SW corner (attachment 1). I was told this place is used sometimes for liquid nitrogen dewar. Alternatively, if possible, we can move the fire extinguishers to the SW corner and use the NW corner. In that way, we don't have to clear all the junk from the SW corner, as long as the extinguishers are still accessible.

I made a sketch (attachment 2) showing a possible setup for a diode box + chiller rack. The fiber and network cable can go through the hole in the wall that already exists for the N2. It will have to get bigger though (attachment 3). The rack would also need to host some Acromag unit to convert the communication channel of the chiller/flow meter to Ethernet. The Acromag on 1X7 has no spare channels.

The only power socket in the room, to which the drill is connected, is circuit #36 which is connected to panel L in the lab. The breaker's ampacity seems to be 20A if I'm reading the number on the breaker correctly.


Attachment 1: 20210422_124940.jpg
Attachment 2: DrillRoomSchematics.pdf
Attachment 3: 20210422_125240_1.png
  16081   Fri Apr 23 15:52:19 2021 Ian MacMillanUpdateCDS40m LSC simPlant model

I have attached the framework that I am using for the full system. Plantframework.pdf has the important aspects that I will be changed. Right now I am trying to keep it mostly as is, but I have disconnected the Optic Force Noise and hope to disconnect the Suspension Position Noise. The Optic Force Noise Block is additive to the signal so eliminating it from the system should make it less realistic but simpler. It can be added back easily by reconnecting it.

The next step is adding my plant response, which is simply the transfer function and measurement from the last post. These should be inserted in the place of the red TM_RESP in the model.

The TM_RESP block takes in a vector of dimension 12 and returns a vector of dimension 6. The confusing part is that the block does not seem to do anything. it simply passes the vector through with no changes. I'm not sure why this is the case and I am looking for documentation to explain it but haven't found anything. As to how a 12 vector turns into a 6 vector I am also lost. I will probably just disconnect everything but the x position.

I tried to just throw in my model (see Simple_Plant.pdf) and see what happened but the model would not let me add built-in blocks to the model. This is weird because all the blocks that I am adding are part of the basic library. My guess is that this mode will only accept blocks from the CDL library. I will either need to change my blocks to be made from blocks in the CDL library or maybe I can pass the signal out of the plant framework model then into my model then back to the plant framework model. I think this is just a Matlab thing that I don't know about yet. (Jon probably knows)

I have also attached an image of the controls model for reference. It looks like a mess but I'm sure there is a method. I won't get lost in going through it just assume it works... for now.

The next question I have been asking is how do I show that the system works. When anchal and I made a python simulation of the system, we tested it by seeing the evolution of the degrees of freedom over time given some initial conditions. We could see the pendulum propagating and some of the coupling between the DOFs. This is a fast and dirty way to check if everything is working and should be easy to add. I simply recorded the POS signal and graph it over time. Once we get to a state-space model we can test it by taking the transfer function, but since our plant is literally already just a transfer function there isn't much of a point yet.

Also, I need to add color to my Simple_Plant.pdf model because it looks really boring :(

Attachment 1: Plant_framework.pdf
Attachment 2: Simple_Plant.pdf
Attachment 3: Controls.pdf
  16082   Fri Apr 23 18:00:02 2021 gautamUpdatePSLHEPA speed lowered

I will upload some plots later - but in summary, I set the HEPA speed to ~40%. I used (i)IMC transmission RIN, (ii) Arm cavity transmission RIN and (iii) ALS beat noise as 3 diagnostics, to see how noise in various frequency bands for these signals change as a function of the HEPA speed. The MC2T RIN shows elevated noise between 1-10Hz at even the lowest speed I tried, ~20% of the max on each blower. The elevated noise extended to ~50-70 Hz for HEPA speeds >40% of the maximum, and the arm cavity RIN and ALS signals also start to become noisy for speeds >60% of the maximum. So I think 40% is a fine speed to run at - for squeezing measurement we may have to turn off the HEPA for 10mins but for the usual single arm / PRMI / DRMI locking, this should be just fine. For the elevated ALS noise - I'm not sure if the coupling is happening over the top of the enclosure where the fiber bringing light from EX comes close to the HEPA filters, or if it is happening inside the PSL enclosure itself, near the beat mouth - but anyways, at the 40% speed, I don't see any effect on the ALS noise.

I checked with a particle counter at the SW corner of the PSL table (which is the furthest away we can be on the table from the HEPA blowers) after leaving the blowers on for ~30mins and it registered 0 for both 0.3um and 0.5um sized particles (if the blowers are off, the respective numbers are 43 and 9 but I forgot what the units were, and I believe they have to be multiplied by 10). 

I have not yet marked the speed control units yet in case there is some other HEPA science that needs to be done before deciding what is the correct setting. But I think I can get the PRFPMI lock without much issue with this lower speed, which is what I will try later today evening.

Attachment 1: HEPAdiag.pdf
  16083   Fri Apr 23 19:26:58 2021 KojiUpdatePSLHEPA speed lowered

I believe that there is an internal setting for the minimum flow, so the flow is not linear ("0%" is not zero), but we should mark this flow speed once you find this is sufficiently low for the locking too.

  16084   Sun Apr 25 21:21:02 2021 ranaUpdateCDSSUS simPlant model
  1. I suggest not naming this the LSC model, since it has no LSC stuff.
  2. Also remove all the diagnostic stuff in the plant model. We need nothing except a generic filter Module, like in the SUS controller.
  3. Also, the TF looks kind of weird to me. I would like to see how you derive that eq.
  4. Connect the models and show us some plots of the behavior in physical units using FOTON to make the filters and diaggui/DTT (at first) to make the plots.
  16086   Mon Apr 26 18:55:39 2021 Anchal, PacoUpdateSUSMC2 F2A Filters Tested

Today we tested the F2A filters created from the DC gain values listed in 16066.


  • For a DC gain G_{DC} required for balancing the coil at DC and f_0 being the resonance frequency of the mode (POS in this case), we calculate the filter using:
    \frac{1 + i \frac{f_z}{f Q} - \frac{f_z^2}{f^2}}{1 + \frac{f_0}{f} - \frac{f_0^2}{f^2}}where f_z = f_0 \sqrt{G_{DC}}.
  • Attachment 1 shows the motivation for choosing the resonant frequency in the formula above. It makes gain at DC as G_{DC} while keeping AC gain as 1.
  • Attachment 2 shows the transfer functions of the filters uploaded.
  • Filters are named Eg2CtQ3, Eg2CtQ7 and Eg2CtQ10 for Q=3,7,10 filters respectively. (Named for Eigenmode Basis to Cartesian Basis conversion filters, aka F2A filters).

Testing procedure:

  • We uploaded the new input matrix listed in 16066.
  • We then uploaded the coil output gains (AC gains) that are also listed in 16066.
  • Then we reduced the C1:IOO-WFS_GAIN to 0.05 (by a factor of 20).
    • Rana asked us to test the WFS sensors' impulse response to observe a minimum 10s decay to ensure that the UGF of WFS control loops is at or below 0.1 Hz.
    • We were unable to have any effect on this decay actually. We tried setting offsets without tramps in multiple places but whenever we were able to excite this loop, it will always damp down in about 5-6s regardless of the value of C1:IOO-WFS_GAIN.
    • So we moved on.
  • Then, with MC locked we took reference data with no excitation or filters uploaded. (dotted curves)
  • We took cross spectral density from C1:IOO-MC_F to C1:IOO-MC_TRANS_PIT_IN1, C1:IOO-MC_TRANS_YAW_IN1, C1:IOO-WFS1_PIT_IN1, C1:IOO-WFS1_PIT_IN1, C1:IOO-WFS2_PIT_IN1, and C1:IOO-WFS2_PIT_IN1.
  • We were also looking at the power spectral density of these channels.
  • Then using awggui (after the fix we did as in 16085), we added noise in C1:SUS-MC2_LSC_EXC as uniform noise between 0.05 Hz to 3.5 Hz with amplitude of 100 and gain of 100.
  • We took a set of data without switching on the filters to have a comparison later. (Dash-dort curves)
  • We then took data after switching on the filters. (Solid curves)


  • Tomorrow we'll repeat this for MC1 and MC3 if we get a favourable grade in our work here.
  • Even if not, we'll jsut conclude the suspension optimization work tomorrow morning and get into main interferometer.
Attachment 1: f2a.pdf
Attachment 2: IMC_F2A_Params_MC2.pdf
IMC_F2A_Params_MC2.pdf IMC_F2A_Params_MC2.pdf IMC_F2A_Params_MC2.pdf
Attachment 3: MC2_F2A_FilterChar_POS2Ang.pdf
MC2_F2A_FilterChar_POS2Ang.pdf MC2_F2A_FilterChar_POS2Ang.pdf MC2_F2A_FilterChar_POS2Ang.pdf MC2_F2A_FilterChar_POS2Ang.pdf MC2_F2A_FilterChar_POS2Ang.pdf MC2_F2A_FilterChar_POS2Ang.pdf
  16087   Tue Apr 27 10:05:28 2021 Anchal, PacoUpdateSUSMC1 and MC3 F2A Filters Tested

We extended the f2a filter implementation and diagnostics as summarized in 16086 to MC1 and MC3.


Attachment 1 shows the filters with Q=3, 7, 10. We diagnosed using Q=3.

Attachment 2 shows the test summary, exciting with broadband noise on the LSC_EXC and measuring the CSD to estimate the transfer functions.


Attachment 3 shows the filters with Q=3, 7, 10. We diagnosed using Q=3.

Attachment 4 shows the test summary, exciting with broadband noise on the LSC_EXC and measuring the CSD to estimate the transfer functions.

Our main observation (and difference) with respect to MC2 is the filters have relative success for the PIT cross-coupling and not so much for YAW. We already observed this when we tuned the DC output gains to compute the filters.

Attachment 1: IMC_F2A_Params_MC1.pdf
IMC_F2A_Params_MC1.pdf IMC_F2A_Params_MC1.pdf IMC_F2A_Params_MC1.pdf
Attachment 2: MC1_POStoAng_CrossCoupling.pdf
MC1_POStoAng_CrossCoupling.pdf MC1_POStoAng_CrossCoupling.pdf MC1_POStoAng_CrossCoupling.pdf MC1_POStoAng_CrossCoupling.pdf MC1_POStoAng_CrossCoupling.pdf MC1_POStoAng_CrossCoupling.pdf
Attachment 3: IMC_F2A_Params_MC3.pdf
IMC_F2A_Params_MC3.pdf IMC_F2A_Params_MC3.pdf IMC_F2A_Params_MC3.pdf
Attachment 4: MC3_POStoAng_CrossCoupling.pdf
MC3_POStoAng_CrossCoupling.pdf MC3_POStoAng_CrossCoupling.pdf MC3_POStoAng_CrossCoupling.pdf MC3_POStoAng_CrossCoupling.pdf MC3_POStoAng_CrossCoupling.pdf MC3_POStoAng_CrossCoupling.pdf
  16088   Tue Apr 27 15:15:17 2021 Ian MacMillanUpdateCDSSUS simPlant model

The first version of the single filter plant is below. Jon and I went through compiling a model and running it on the docker (see this post)

We activated an early version of the plant model (from about 10 years ago) but this model was not designed to run on its own so we had to ground lots of unconnected pieces. the model compiled and ran so we moved on to the x1sus_single_plant model that I prepared.

This model is shown in the first attachment wasn't made to be run alone because it is technically a locked library (see the lock in the bottom left). It is supposed to be referenced by another file: x1sup.mdl (see the second attachment). This works great in the Simulink framework. I add the x1sus_single_plant model to the path and Matlab automatically attaches the two. but the docker does not seem to be able to combine the two. Starting the cymac it gives these errors:

cymac    | Can't find sus_single_plant.mdl; RCG_LIB_PATH=/opt/rtcds/userapps:/opt/rtcds/userapps/lib:/usr/share/advligorts/src/src/epics/simLink/:/usr/share/advligorts/src/src/epics/simLink/lib:/usr/share/advligorts/src/src/epics/simLink
cymac    | make[1]: *** [Makefile:30: x1sup] Error 2
cymac    | make: *** [Makefile:35: x1sup] Error 1

I have tried putting the x1sus_single_plant.mdl file everywhere as well as physically dragging the blocks that I need into the x1sup.mdl file but it always seems to throw an error. Basically, I want to combine them into one file that is not referencing anything other than the CDS library but I cant figure out how to combine them.

Okay but the next problem is the medm screen generation. When we had the original 2010 model running the sitemap did not include it. It included models that weren't even running before but not the model Jon and I had added. I think this is because the other models that were not running had medm screens made for them. I need to figure out how to generate those screens. I need to figure out how to use the tool Chris made to auto-generate medm screens from Simulink but I can't seem to figure it out. And honestly, it won't be much use to me until I can actually connect the plant block to its framework. One option is to just copy each piece over one by one. this will take forever but at this point, I am frustrated enough to try it. I'll try to give another update later tonight.

Attachment 1: x1sus_single_plant.pdf
Attachment 2: x1sup.pdf
  16089   Wed Apr 28 10:56:10 2021 Anchal, PacoUpdateSUSIMC Filters diagnosed

Good morning!

We ran the f2a filter test for MC1, MC2, and MC3.


The new filters differ from previous versions by a adding non-unity Q factor for the pole pairs as well.

\frac{f^2 - i \frac{f_z}{Q}f + f_z^2}{f^2 - i \frac{f_0}{Q}f + f_0^2}
This in terms of zpk is: [ [zr + i zi, zr - i zi], [pr + i pi, pr - i pi], 1] where
z_r = -\frac{f_z}{2Q}, \quad z_i = f_z \sqrt{1 - \frac{1}{4Q^2}}, \quad p_r = -\frac{f_0}{2Q}, \quad p_i = f_0 \sqrt{1 - \frac{1}{4Q^2}}, \quad f_z = f_0 \sqrt{G_{DC}}

  • Attachment #1 shows the filters for MC1 evaluated for Q=3, 7,and 10.
  • Attachment #2 shows the filters for MC2 evaluated for Q=3, 7, and 10.
  • Attachment #3 shows the filters for MC3 evaluated for Q=3, 7, and 10.
  • Attachment #4 shows the bode plots generated by foton after uploading for Q=3 case.

We uploaded all these filters using foton, into the three last FM slots on the POS output gain coil.


We ran tests on all suspended optics using the following (nominal) procedure:

  1. Upload new input matrix
  2. Lower the C1:IOO-WFS_GAIN to 0.05.
  3. Upload AC coil balancing gains.
  4. Take ASD for the following channels:
    • C1:IOO-MC_WFS1_PIT_IN1
    • C1:IOO-MC_WFS1_YAW_IN1
    • C1:IOO-MC_WFS2_PIT_IN1
    • C1:IOO-MC_WFS2_YAW_IN1
  5. For the following combinations:
    • No excitation** + no filter
    • No excitation + filter
    • Excitation + no filter
    • Excitation + filter

** Excitation = 0.05 - 3.5 Hz uniform noise, 100 amplitude, 100 gain


  • Attachment 5-7 give the test results for MC1, MC2 and MC3.
  • In each pdf, the three pages show ASD of TRANS QPD, WFS1 and WFS2 channels' PIT and YAW, respectively.
  • Red/blue correspond to data taken while F2A filters were on. Pink/Cyan correspond to data taken with filters off.
  • Solid curves were taken with excitation ON and dashed curves were taken with excitation off.
  • We see good suppression of POS-> PIT coupling in MC2 and MC3. POS->YAw is minimally affected in all cases.
  • MC1 is clearly not doing good with the filters and probably needs readjustement. Something to do later in the future.
Attachment 1: IMC_F2A_Params_MC1.pdf
IMC_F2A_Params_MC1.pdf IMC_F2A_Params_MC1.pdf IMC_F2A_Params_MC1.pdf
Attachment 2: IMC_F2A_Params_MC2.pdf
IMC_F2A_Params_MC2.pdf IMC_F2A_Params_MC2.pdf IMC_F2A_Params_MC2.pdf
Attachment 3: IMC_F2A_Params_MC3.pdf
IMC_F2A_Params_MC3.pdf IMC_F2A_Params_MC3.pdf IMC_F2A_Params_MC3.pdf
Attachment 4: IMC_F2A_Foton.pdf
IMC_F2A_Foton.pdf IMC_F2A_Foton.pdf IMC_F2A_Foton.pdf
Attachment 5: MC1_POS2ANG_Filter_Test.pdf
MC1_POS2ANG_Filter_Test.pdf MC1_POS2ANG_Filter_Test.pdf MC1_POS2ANG_Filter_Test.pdf
Attachment 6: MC2_POS2ANG_Filter_Test.pdf
MC2_POS2ANG_Filter_Test.pdf MC2_POS2ANG_Filter_Test.pdf MC2_POS2ANG_Filter_Test.pdf
Attachment 7: MC3_POS2ANG_Filter_Test.pdf
MC3_POS2ANG_Filter_Test.pdf MC3_POS2ANG_Filter_Test.pdf MC3_POS2ANG_Filter_Test.pdf
  16090   Wed Apr 28 11:31:40 2021 JonUpdateVACEmpty N2 Tanks

I checked out what happened on c1vac. There are actually two independent monitoring codes running:

  1. The interlock service, which monitors the line directly connected to the valves.
  2. A seaparate convenience mailer, running as a cronjob, that monitors the tanks.

The interlocks did not trip because the low-pressure delivery line, downstream of the dual-tank regulator, never fell below the minimum pressure to operate the valves (65 PSI). This would have eventually occurred, had Jordan been slower to replace the tanks. So I see no problem with the interlocks.

On the other hand, the N2 mailer should have sent an email at 2021-04-18 15:00, which was the first time C1:Vac-N2T1_pressure dropped below the 600 PSI threshold. N2check.log shows these pressures were recorded at this time, but does not log that an email was sent. Why did this fail? Not sure, but I found two problems which I did fix:

  • One was that the code was checking the sensor on the low-pressure side (C1:Vac-N2_pressure; nominally 75 PSI) against the same 600 PSI threshold as the tanks. This channel should either be removed or a separate threshold (65 PSI) defined just for it. I just removed it from the list because monitoring of this channel is redundant with the interlock service. This does not explain the failure to send an email.
  • The second issue was that the pyN2check.sh script appeared to be calling Python 3 to run a Python 2 script. At least that was the situation when I tested it, and this was causing it to fail partway through. This might well explain the problem with no email. I explicitly set python --> python2 in the shell script.

The code then ran fine for me when I retested it. I don't see any further issues.


Installed T2 today, and leaked checked the entire line. No issues found. It could have been a bad valve on the tank itself. Monitored T2 pressure for ~2 hours to see if there was any change. All seems ok.


When I came into the lab this morning, I noticed that both N2 tanks were empty. I had swapped one on Friday (4-16-21) before I left the lab. Looking at the logs, the right tank (T2) sprung a leak shortly shortly after install. I leak checked the tank coupling after install but did not see a leak. There could a leak further down the line, possibly at the pressure transducer.

The left tank (T1) emptied normally over the weekend, and I quickly swapped the left tank for a full one, and is curently at ~2700 psi. It was my understanding that if both tanks emptied, V1 would close automatically and a mailer would be sent out to the 40m group. I did not receive an email over the weekend, and I checked the Vac status just now and V1 was still open.

I will keep an eye on the tank pressure throughout the day, and will try to leak check the T2 line this afternoon, but someone should check the vacuum interlocks and verify.


  16091   Wed Apr 28 17:09:11 2021 AnchalUpdateSUSTuned Suspension Parameters uploaded for long term behavior monitoring

I have uploaded all the new settings mentioned in 16066 and 16072. The settings were uploaded through a single script present at anchal/20210428_IMC_Tuned_Suspension/uploadNewConfigIMC.py. The settings can be reverted back to old settings through anchal/20210428_IMC_Tuned_Suspension/restoreOldConfigIMC.py. Both these scripts can be run only through python3 in donatella or allegra.

GPSTIME of new settings: 1303690144

New settings include:

  • New input matrices for MC1 and MC2.
  • New Output coil gains for AC balancing on all three optics.
  • Switching ON the FM8 filter modulae (Q=3 F2A filter) in POS column on output matrix of all optics.

We'll wait and watch the performance through summary pages and check back the performance on Monday.

  16092   Wed Apr 28 18:56:57 2021 Yehonathan, JonUpdateCDSUpdated c1auxey wiring plan

We took a Supermicro from the lab (along with a keyboard, a mouse, and a screen taken from a table on the Y arm) and placed it near the Acromag chassis.

We installed Debian 10 on the machine. I followed the steps on the slow machine wiki for setting up the host machine. Some steps had to be updated. Most importantly, in the new Debian, the network interfaces are given random names like enp3s0 and enp4s0 instead of eth0 and eth1. I updated the wiki accordingly.

To operate the chassis using one 15V source I disconnected the +24V cable from the Acromag units and jumpered the +15V wire into the power input instead. I started up the Acromags. They draw 0.7A. I connected an Ethernet cable to the front interface. I checked that all the Acromags are connected to the local network of the host machine by pinging them one by one.


  16093   Thu Apr 29 10:51:35 2021 JonUpdateCDSI/O Chassis Assembly


Yesterday I unpacked and installed the three 18-bit DAC cards received from Hanford. I then repeated the low-level PCIe testing outlined in T1900700, which is expanded upon below. I did not make it to DAC-ADC loopback testing because these tests in fact revealed a problem with the new hardware. After a combinatorial investigation that involved swapping cards around between known-to-be-working PCIe slots, I determined that one of the three 18-bit DAC cards is bad. Although its "voltage present" LED illuminates, the card is not detected by the host in either I/O chassis.

I installed one of the two working DACs in the c1bhd chassis. This now 100% completes this system. I installed the other DAC in the c1sus2 chassis, which still requires four more 18-bit DACs. Lastly, I reran the PCIe tests for the final configurations of both chassis.

PCIe Card Detection Tests

For future reference, below is the set of command line tests to verify proper detection and initialization of ADC/DAC/BIO cards in I/O chassis. This summarizes the procedure described in T1900700 and also adds the tests for 18-bit DAC and 32-channel BO cards, which are not included in the original document.

Each command should be executed on the host machine with the I/O chassis powered on:

$ sudo lspci -v | grep -B 1 xxxx

where xxxx is a four-digit device code given in the following table.

Device Device Code
General Standards 16-bit ADC 3101
General Standards 16-bit DAC 3120
General Standards 18-bit DAC 3357
Contec 16-channel BIO 8632
Contec 32-channel BO 86e2
Dolphin IPC host adapter 0101

The command will return a two-line entry for each PCIe device of the specified type that is detected. For example, on a system with a single ADC this command should return:

10:04.0 Bridge: PLX Technology, Inc. PCI9056 32-bit 66MHz PCI IOBus Bridge (rev ac)
             Subsystem: PLX Technology, Inc. Device 3101
  16094   Thu Apr 29 10:52:56 2021 AnchalUpdateSUSIMC Trans QPD and WFS loops step response test

In 16087 we mentioned that we were unable to do a step response test for WFS loop to get an estimate of their UGF. The primary issue there was that we were not putting the step at the right place. It should go into the actuator directly, in this case, on C1:SUS-MC2_PIT_COMM and C1:SUS-MC2_YAW_COMM. These channels directly set an offset in the control loop and we can see how the error signals first jump up and then decay back to zero. The 'half-time' of this decay would be the inverse of the estimated UGF of the loop. For this test, the overall WFS loops gain,  C1:IOO-WFS_GAIN was set to full value 1. This test is performed in the changed settings uploaded in 16091.

I did this test twice, once giving a step in PIT and once in YAW.

Attachment 1 is the striptool screenshot for when PIT was given a step up and then step down by 0.01.

  • Here we can see that the half-time is roughly 10s for TRANS_PIT and WFS1_PIT corresponding to roughly 0.1 Hz UGF.
  • Note that WFS2 channels were not disturbed significantly.
  • You can also notice that third most significant disturbance was to TRANS_YAW actually followed by WF1 YAW.

Attachment 2 is the striptool screenshot when YAW was given a step up and down by 0.01. Note the difference in x-scale in this plot.

  • Here, TRANS YAW got there greatest hit and it took it around 2 minutes to decay to half value. This gives UGF estimate of about 10 mHz!
  • Then, weirdly, TRANS PIT first went slowly up for about a minutes and then slowly came dome in a half time of 2 minutes again. Why was PIT signal so much disturbed by the YAW offset in the first place?
  • Next, WFS1 YAW can be seen decaying relatively fast with half-life of about 20s or so.
  • Nothing else was disturbed much.

  • So maybe we never needed to reduce WFS gain in our measurement in 16089 as the UGF everywhere were already very low.
  • What other interesting things can we infer from this?
  • Should I sometime repeat this test with steps given to MC1 or MC3 optics?
Attachment 1: PIT_OFFSET_ON_MC2.png
Attachment 2: YAW_STEP_ON_MC2_complete.png
  16096   Thu Apr 29 13:41:40 2021 Ian MacMillanUpdateCDSSUS simPlant model

To add the required library: put the .mdl file that contains the library into the userapps/lib folder. That will allow it to compile correctly

I got these errors:

Module ‘mbuf’ symvers file could not be found.
Module ‘gpstime’ symvers file could not be found.
***ERROR: IPCx parameter file /opt/rtcds/zzz/c1/chans/ipc/c1.ipc not found
make[1]: *** [Makefile:30: c1sup] Error 2
make: *** [Makefile:35: c1sup] Error 1

I removed all IPC parts (as seen in Attachment 1) and that did the trick. IPC parts (Inter-Process Communication) were how this model was linked to the controller so I don't know how exactly how I can link them now. 

I also went through the model and grounded all un-attached inputs and outputs. Now the model compiles

Also, The computer seems to be running very slowly in the past 24 hours. I know Jon was working on it so I'm wondering if that had any impact. I think it has to do with the connection speed because I am connected through X2goclient. And one thing that has probably been said before but I want to note again is that you don't need a campus VPN to access the docker.

Attachment 1: Non-IPC_Plant.pdf
  16097   Thu Apr 29 15:11:33 2021 gautamUpdateCDSRFM

The problem here was that the RFM errors cropped up again - seems like it started ~4am today morning judging by TRX trends. Of course without the triggering signal the arm cavity couldn't lock. I rebooted everything (since just restarting the rfm senders/receivers did not do the trick), now arm locking works fine again. It's a bit disappointing that the Rogue Master setting did not eliminate this problem completely, but oh well...

It's kind of cool that in this trend view of the TRX signal, you can see the drift of the ETMX suspension. The days are getting hot again and the temp at EX can fluctuate by >12C between day and night (so the "air-conditioning" doesn't condition that much I guess 😂 ), and I think that's what drives the drift (idk what the transfer function to the inside of the vacuum chamber is but such a large swing isn't great in any case). Not plotted here but i hypothesize TRY levels will be more constant over the day (modulo TT drift which affects both arms).

The IMC suspension team should double check their filters are on again. I am not familiar with the settings and I don't think they've been added to the SDF.

Attachment 1: RFM_errs.png
Attachment 2: Screenshot_2021-04-29_15-12-56.png
  16098   Thu Apr 29 16:35:51 2021 YehonathanUpdateCDSUpdated c1auxey wiring plan

I installed the EPICs base, asyn and modbus modules according to Jon's instructions.

Since the modbus configurations files were already writtten for c1auxey1 (see elog 15292) the only thing I did was to change the IP addresses in ETMYaux.cmd to match the actual assigned IPs.

I followed the rest of the instructions as written.

The modbus service was activated succesfully.

The only thing left to do is to change ETMYaux.db to reflect to new channels that were added. I believe these are BI channels named C1:SUS-ETMY_xx_ENABLEMon.


  16099   Thu Apr 29 17:43:16 2021 KojiUpdateCDSRFM

The other day I felt hot at the X end. I wondered if the Xend A/C was off, but the switch right next to the SP table was ON (green light).
I could not confirm if the A/C was actually blowing or not.

  16100   Thu Apr 29 17:43:48 2021 AnchalUpdateCDSF2A Filters double check

I double checked today and the F2A filters in the output matrices of MC1, MC2 and MC3 in the POS column are ON. I do not get what SDF means? Did we need to add these filters elsewhere?


The IMC suspension team should double check their filters are on again. I am not familiar with the settings and I don't think they've been added to the SDF.

Attachment 1: F2AFiltersON.png
  16102   Thu Apr 29 18:53:33 2021 AnchalUpdateSUSIMC Suspension Damping Gains Test

With the input matrix, coil ouput gains and F2A filters loaded as in 16091, I tested the suspension loops' step response to offsets in LSC, ASCPIT and ASCYAW channels, before and after applying the "new damping gains" mentioned in 16066 and 16072. If these look better, we should upload the new (higher) damping gains as well. This was not done in 16091.

Note that in the plots, I have added offsets in the different channels to plot them together, hence the units are "au".

Attachment 1: MC1_SUSDampGainTest.pdf
MC1_SUSDampGainTest.pdf MC1_SUSDampGainTest.pdf MC1_SUSDampGainTest.pdf
Attachment 2: MC2_SUSDampGainTest.pdf
MC2_SUSDampGainTest.pdf MC2_SUSDampGainTest.pdf MC2_SUSDampGainTest.pdf
Attachment 3: MC3_SUSDampGainTest.pdf
MC3_SUSDampGainTest.pdf MC3_SUSDampGainTest.pdf MC3_SUSDampGainTest.pdf
  16103   Thu Apr 29 19:55:45 2021 YehonathanUpdateCDSUpdated c1auxey wiring plan

We received a stock of DB9 male feed-through connectors. That allowed me to complete the remaining wiring on the c1auxey Acromag chassis. The only thing left to be done is the splicing to the RTS.


  16105   Fri Apr 30 00:20:30 2021 gautamUpdateCDSF2A Filters double check

The SDF system is supposed to help with restoring the correct settings, complementary to burt. My personal opinion is that there is no need to commit these filters to SDF until we're convinced that they help with the locking / noise performance.


I double checked today and the F2A filters in the output matrices of MC1, MC2 and MC3 in the POS column are ON. I do not get what SDF means? Did we need to add these filters elsewhere

ELOG V3.1.3-