model restarts logged for Sat 01/Nov/2014
2014_11_01 15:27 h1fw1
model restarts logged for Sun 02/Nov/2014
One unexpected restart Saturday. No restarts reported Sunday.
Rana had asked me to perform another sweep of the OMC to measure the modulation depth. The results using a single-bounce beam from ITMY are attached; the observed modulation depths are:
Gamma1 (9MHz) = 0.191
Gamma2 (45MHz) = 0.284
This should be compared to the previous measurements from Sep 28th, and also Kiwamu's measurement of the modulation depth and the recycling gain (and subsequent measurements after an RF amp was installed). There is probably an error of order one percent in these measurements, in particular the 9MHz sideband which is close enough to the carrier peak that it relies on the subtraction of the TEM00 lorentzian. The results above include this subtraction, but my lorentzian fit isn't perfect, perhaps due to the very slight nonlinearity of the PZT drive. The plot attached shows the five mode scans that were used to calculate the Gamma's, the peaks identified as the upper and lower sidebands are marked with black crosses. The measured values for Gamma are consistent (to much better than 1%) between the upper and lower sidebands at each frequency, and from one sweep to the next, so the statistical errors are small. The raw data are here.
(FWIW the mode-matching from ITMY is still 0.91, consistent with the previous measurement and with the predictions from beam propagation.)
Other OMC work: I connected the OMC shutter controller box above ISCT6, the input for channel 1 comes from the ASC-AS_C SUM output fro the transimpedance board, the controller output goes to the trigger on the OMC PZT driver. The polarity of the shutter logic seems backwards, 'open' gives 0V and 'closed' is 5V, also I can't get the trigger to fire using the threshold on the PD input. Probably there is some work to do in Beckhoff-land.
The regular ~1nm variations in ETM coating thickness cast a diffraction ring onto beam tube baffles that may produce excess noise through modulation of retro-reflected light (https://dcc.ligo.org/T1300354). We are considering making an estimate of the noise produced by this effect by shaking the beam tube at one of the baffles with large enough amplitude to produce noise at the current LLO sensitivity (here). In making this noise prediction, it is important to know if the shaking moves more than the one baffle. To answer this, I measured the relative motion and phase of every baffle in a 550m stretch of the beam tube centered on the baffle by the shaker.
The relative motions of the neighboring baffles are shown in Figure 1. The relative motions can exceed 0.1 even for baffles a couple of hundred meters away from the shaker. The motion is also not symmetrical about the shaken baffle. I had a hard time believing this at first and returned to many of the baffle locations, remounting an accelerometer and re-starting the shaker, several times. The relative amplitudes were consistent, as were the phases, except for one early set of measurements at one location. Because the asymmetry suggests a location dependence, I think I will have to measure the motion of neighboring baffles when the experiment is done for real at LLO, a significant increase in the difficulty of the experiment.
I spent some time working on the ISC guardians today, in the hope that we could save ourselves alot of mindless clicking in the coming week. The users guide:
Now there is a generator for states where we sweep some channel and search for the transmitted light, which is used by both COMM and DIFF for a coarse then a fine sweep. This is slow but does work, and will be faster than doing it by hand. After COMM finds the resonance, it is now resetting the VCO set frequency, so that when the set frequency offset is 0, the arms are on resonance. However, there is some kind of a bug in the beckhoff that causes an error in the VCO after this. I will look into it tomorrow, since I try not to work on beckhoff on the weekends.
There is another bug, either in the IMC_LOCK guardian, the node manager, or the way that I am trying to use the node manager. When the IMC goes to its fault state (which usually happens because the FSS has dropped lock) it gets stuck there and won't move on. Dan pointed out that one difference between this and other transitions that seem to be working fine, is that the arrow goes from the fault state to INIT. We tried having it return 'INIT' instead of return True with an edge to INIT, this didn't work either (It got to down and just didn't move on from there).
I've added a goto state called bring_down_nicely to the DIFF guardian. The current DIFF down state gives the suspensions a terrible kick, I think this is not necessary.
The issue you're seeing with the managed IMC_LOCK node is the intended behavior of "MANAGED" nodes. When a managed node undergoes a jump transition, it goes into a "stalled" state whereby it waits for a new request from before proceeding along it's path. This gives the manager a chance to react and coordinate the actions of the subordinate with other subrodinates.
There are two solutions:
I've thought about this before, and I think there is a definite need to have a "watching only" manager mode that doesn't put the subordinate into MANAGED mode, but allows the manager to monitor it's progress with the same NodeManager interface. I'll work on adding that to the next guardian release.
Rana, Alexa, Sheila, Peter, Evan
Given last night's strange behavior from REFLAIR_B, we wanted to check the RF powers coming out the BBPD and going into the ISC rack.
With DRMI locked (on 1f, and then on 3f), we used the HP4395A to take an RF spectrum of the "direct" output of the REFLAIR_B diplexer board. This should be the raw RF signal out of REFLAIR_B, with 12 dB of attenuation from a coupler inside the diplexer.
The spectra (adjusted for the 12 dB coupler) are attached.
For 27 MHz, the power into the diplexer is -41 dBm. Using the diplexer schematic (D1300989), this should give -23 dBm at the diplexer's 3x output, which is well below the compression point of the amplifier (ZHL-500HLN+; 1 dB comprsesion occurs at +16 dBm). Similarly, for the 15x output we expect -13 dBm.
The analogous LLO measurement is at LLO#10494.
Power levels were as follows:
Dan remeasured the modulation indices (LHO#14801).
A quick estimate of the amount of distirtion in the BBPD amplifiers (MAR-6SM+ and GALI-6+):
The total amount of RF power in the attached spectrum is about +1 dBm (coming mostly from 4f1). Before the GALI-6+ in the BBPD, that's −11.2 dBm at the output of the MAR-6SM+.
The output-referred IP3 of the MAR-6SM+ is +18.1 dBm. Assuming the third-order distortion of the amplifier grows like the cube of the input power, this means the expected power of the third-order distortion is −11.2 dBm − 2×(18.1 dBm + 11.2 dBm) = −70 dBm out of MAR-6SM+. Then after the GALI-6+, the distorted power is −58 dBm.
[Koji, Rana]
The preamp chain of the BBPD was electrically tested. It turned out that intermodulation can explain the observed RF signals at 27MHz and 135MHz.
Method:
A spare BBPD at the 40m was used for this test.
The photodiode was removed from the BBPD circuitry and an SMA connector was soldered instead. (Attachment 1)
The measurement setup is depicted in Attachment 2.
The RF signals from two signal sources were combined with a power combiner and fed to the modified BBPD.
The output was connected to a network analyzer in order to monitor the output levels at each frequency.
Measurement 1:
Firstly, Intermodulation produced from strong 9MHz and 35MHz components was tested.
WIth these two signals injected, our taget signals appear at 26MHz and 44MHz.
This way we can avoid the interference by the third harmonic distortion of the 9MHz signal.
The result is shown in Attachment 3. The 9MHz and 35MHz input levels were adjusted such that the output levels are -10dBm and 0dBm respectively.
These levels were obtained from the measurement in alog14807 (above).
It is clearly seen that symetric intermodulation appeared at 26MHz and 44MHz. The intermodulation level is linear to the level of the 35MHz signal.
In fact, -10dBm@9MHz and 0dBm@35MHz explain -40dBm@26MHz which Evan observed in the inlock spectra.
Measurement 2:
In the second measurement, it is tested if the intermodulation can produced enough amount of 135MHz signal.
Evan's measurement shows that both 45MHz and 90MHz have -15dBm.
From the lmitation of my setup, I had to use 30MHz and 80MHz to produce 110MHz, instead.
This indeed produced the 60dBm intermodulation, which is consistent with Evan's measurment.
Meaning of this measurement:
What happens if the intermodulation overwhelms the intrinsic signals at 27MHz and 135MHz?
- The intermodulation without fluctuation itself imposes unreasonable offsets in the 3f signals at DC.
- Power fluctuation of the sideband power in the 36MHz (f1-f2) or 91MHz (2xf2) causes unnecessary (=meaningless) signal to the 3f demodulated signals.
- The londitudinal IFO error signals in the 9MHz or 45MHz signals are imprinted to the 3f signals at a certain unknown demod phases,
and thus screw up the demod phase of 3f signals, as well as the immunity of them against the carrier audio sidebands.
Remedy:
- Lower the light power on the PD, if possible to maintain lock.
- Notch out/filter out unncesessary RF components before the BBPD preamps by adding components on the BBPD boards.
- Use resonant type photodetectors in stead of the broadband one to selectively amplify the desired lines.
The second idea that could equalize the magnitude of the positive and negative ion currents in the ionizer output was to use separately adjustable AC and DC voltages on the field emitting needles. The attempt was made with boil off nitrogen gas in the same arrangement that had difficulty achieving equality of the ion currents in late August 2014 at LHO with AC excitation alone. The experiment showed that the DC of either polarity and amplitude in combination with AC made no improvement in the equality of the ion currents over a range of pressures on the needles between 300 to 900 torr. It was bad advice from the "experts" in the electrostatic reduction business. This leaves dry air, tried earlier this week, as the best method to achieve robust equal magnitude positive and negative ionization. Let's hope that the optical coating tests being carried out at Caltech show no increase in absorption from the ionized air. A report of the ion currents comparing dry air and boil off nitrogen as the carrier gas will be posted later.
A set of scripts was created last week to allow commissioners to switch SEI platforms to SEI’s preferred testing configuration at the end of their shift.
The scripts are very simple for now:
Those new scripts were put in the svn so they can be remotely adjusted, and improved (made more generic, make classes/methods, etc…):
/ligo/svncommon/SeiSVN/seismic/BSC-ISI/H1/Common/Misc/Test_Configuration_Scripts/
To run those scripts:
$ cd /ligo/svncommon/SeiSVN/
$ python Switch_To_Test.py (at the end of the commissioning shift)
$ python Switch_To_Comm.py (when commissioning resumes)
Kiwamu used those scripts at the end of his shift on 10/28/14. JimW and I added the senscor switching capability on 10/29/14, which does not change the way to run the scripts.
These scripts are now executable. They are run by navigating to the folder and typing ./Switch_To_Comm.py or ./Switch_To_Test.py . They currently control HEPI Z and ISI X sensor correction for the X arm BSC's.
model restarts logged for Fri 31/Oct/2014
2014_10_31 08:44 h1fw0
2014_10_31 13:23 h1susauxh34
2014_10_31 13:33 h1broadcast0
2014_10_31 13:33 h1dc0
2014_10_31 13:33 h1fw0
2014_10_31 13:33 h1fw1
2014_10_31 13:33 h1nds0
2014_10_31 13:33 h1nds1
2014_10_31 21:46 h1fw0
one unexpected restart. New h1susauxh34 model (driftmon change) and associated DAQ restart.
Alexa, Rana, Peter, Evan
Tonight we spent some time looking at REFLAIR_B to see if we could improve DRMI 3f locking. This was motivated by the experience at Livingston, where supposedly too much power on the PD causes RF saturation, which in turn screws up the demod phases of the DRMI length signals.
To test this, we drove PR2 with 300 counts at 131.7 Hz, and SR2 with 300 counts at 183.7 Hz. We then looked at the ASDs of RF135I&Q under the following configurations:
The results are summarized in the table below. In each cell, the first number is the height of the peak (in cts/rtHz), and the second number is the pedestal that the peak sits on (also in cts/rtHz), and so the difference gives the net power. The bandwidth for all these ASDs is the same (0.1 Hz), so there should be no bandwidth normalizaton issue.
No ND | PR2 drive | SR2 drive |
135I (cts/rtHz) | 0.26 - 0.30 = 0 | 0.77 - 0.30 = 0.47 |
135Q (cts/rtHz) | 0.56 - 0.30 = 0.26 | 0.29 - 0.30 = 0 |
ND0.5 | PR2 drive | SR2 drive |
135I (cts/rtHz) | 0.26 - 0.20 = 0.06 | 0.47 - 0.20 = 0.27 |
135Q (cts/rtHz) | 0.62 - 0.20 = 0.32 | 0.22 - 0.20 = 0.02 |
ND1.0 | PR2 drive | SR2 drive |
135I (cts/rtHz) | 0.36 - 0.20 = 0.16 | 0.34 - 0.20 = 0.14 |
135Q (cts/rtHz) | 0.29 - 0.20 = 0.09 | 0.60 - 0.20 = 0.30 |
This seems to indicate that the PR2 signal transitions from 135Q to 135I as we lower the power, while the SR2 signal transitions from 135Q to 135I, consistent with the idea that there is some funny business with REFLAIR_B.
We tried locking DRMI on 3f with the ND0.5 filter in place, but found that we could not do it, even after increasing all loop gains by 3 to compensate for the decreased optical power.
The attached spectra perhaps show why. These were taken with DRMI locked on 1f. The dashed spectra are with the ND0.5 filter present, and the solid spectra are with no ND filter. With the ND0.5 filter, RF135I&Q seem to be noise-dominated above 10 Hz or so. Additionally, we note removing the ND0.5 filter does not boost the low-frequency portions of the spectra by 3.4 (=27/8), as we would expect. RF27I appears to be increased by a factor of 5 or so, while RF135Q appears to be increased by a factor of 10 below 1 Hz, and by a factor of 30 at 10 Hz. So there seems to be something strange going on.
Alexa, Kiwamu,
We spent most of the daytime today for
There were a few noticable effects after the PR2 spot was moved:
Summary of the spot measurements before and after the unclipping.
before [mm] | after [mm] | ||
---|---|---|---|
PRM | Pitch | -2.82 | NA |
Yaw | 0.402 toward West | NA | |
PR2 | Pitch | -6.04 | -5.44 |
Yaw | 2.26 toward West | 14.1 toward West | |
PR3 | Pitch | -24.5 | NA |
Yaw | 0 | NA |
(Some more notes)
We aimed for a displacement of 16 mm on PR2 in order to bring the beam to the ideal point according to Keita's measurement (see alog 14640). However, later, I realized that I had picked a wrong number from his entry -- I must have chosen eitehr 14 or 10 mm. Anyway, the resultant dither measurement suggested that we moved it by 11.5 mm to the right direction on PR2. So it happened to fall into a OK displacement. I think that we anyhow improved the clipping situation on the PR2 baffle.
The POP extraction path was then corrected by using the pico-motorized mirror in HAM3. This was not a difficult task as the beam was hitting the swiss cheese baffle and therore it was visible. We then went out and did fine tunings. The pico motor was adjusted to recover the highest green TRX. We steered a steering mirror for each POP diode.
In order to compute the off-centering on HLTS, I used the mirror sizes described in D1101381.
For computing the HSTS spot position, I used 42.2 mm per alpha (see alog 13765).
Alexa measured another set of the beam spots. Here are the summary:
spot positions [mm] | |||
---|---|---|---|
SRM | Pitch | + 3.42 | |
Yaw | 2.42 toward South | ||
SR2 | Pitch | + 2.42 | |
Yaw | 6.44 toward South | ||
SR3 | Pitch | -13.1 | |
Yaw | 19.9 toward North |
The measurement was done after the unclipping effort and we measured them in the DRMI sb lock configuration. The excitation was set at 131.7 Hz in order to reduce interference from the length loops.
In 2017, Koji corrected his coil balancing calculations from 40m elog 2863 Now,instead of
, where
is the ratio of moment of inertia and optic mass,
is the coil force imbalance factor, and
is the distance between coils. Corrected alpha to mm for HLTS optics: Vertical: 50.93 mm / alpha Horizontal: 87.43 mm / alpha For HSTS optics, see alog 42601
This is not blocking our progress right now, but M3 LL FAST IMON is not working, and M3 UR NOISEMON is lower than others by 6 db.
I know that this not the problem of actuation as giving DC offset for each coil moves the optic by roughly the same amount in a correct direction, and VMON works for all coils. There's no reason to believe that there is a big difference in the current/counts between coils.
Doug, Sheila Evan
We used the stage controller to align the PR3 oplev to <0.1 urad in yaw and pitch.
The dip switch board for PR3 now has the serial number H202. There are already H201, H203, and H204 in the oplev cabinet by the PSL. Other unlabeled boards should probably be assigned serial numbers accordingly.
J. Kissel I've collected all the information necessary to reproduce the corner-station optical lever status report (see LHO aLOG 14749) for the end-station levers. I attach pictures, and tabulate info as before below. Rack Board Optical Lever Config Board |------------------ Switch Status ----------------| Centered? Raw Segment Counts Number Installed? Board Switch CH Name CH Name Function HI LO ON/OFF SUS H1-R2 1 ETMX Yes B0 1 +24 [dB] X OFF No* *SUS is Misaligned, (pg 1) (pgs 2-3) B1 2 +12 [dB] X OFF so can't get info B2 3 +6 [dB] X ON B3 4 +3 [dB] X ON B4 5 (1:10) X OFF B5 6 (1:10) X ON B6 7 (1:10) X OFF B7 8 Latch X OFF Total ETMX TF = (1:10), G = +9 [dB] 2 none Yes N/A N/A SUS H1-R2 1 ETMY Yes B0 1 +24 [dB] X OFF No* *SUS is Misaligned (pg 4) (pgs 5-6) B1 2 +12 [dB] X OFF so can't get info B2 3 +6 [dB] X OFF B3 4 +3 [dB] X OFF B4 5 (1:10) X ON B5 6 (1:10) X ON B6 7 (1:10) X OFF B7 8 Latch X OFF Total ETMY TF = (1,1:10,10), G = 0 [dB] 2 none Yes N/A N/A I can confirm that any whitening stages have been correctly compensated for digitally. In addition, recall that ETMX is compensating for the gains shown above, but it's not necessary. Will fix all the levers and compensation on some (glorious) day (hopefully soon) when the IFO isn't needed.
This is related to Hugh's log 14774. To elaborate a bit on Hugh's log, I made a measurement with Stage 1 Damped only and HPI isolated. The first plot shows the GND_T240_X , ST1_T240_X and HPI L4C (out of loop witness). There was no coherence with ground below 0.1 Hz but there was significant coherence with HPI L4C. This meant that HPI was somehow introducing excess low-frequency motion.
We then did the same measurement on ETMY and saw no such excess motion. The second pdf shows the corresponding measurement. Stage 1_Y was very coherent with ground_Y. Jim mentioned he had modified the HPI controllers on ETMY as described in Hugh's log, so we decided to try the same on ETMX in X and Y.
This has made a significant difference to the low frequency performance of Stage 1 as shown in the third file. Performance below 0.1 Hz is much closer to ground motion now.
Some more plots of the old vs new isolation filters, per Jeff's request. I dug into the foton file to find numbers to back up what I thought the original design was. The gains of the old and new foton filters are shown in the first image, they show that not much was done to the filter design, just that the gain was reduced. Solid lines are the old design(higher gain, UGF), dashed lines are the current design. Second and third images are the currently installed plant design and a reconstruction of the orignal design (no plots were found from the original design from earlier this year). The solid and dashed orange lines tell most of the story, mostly we just cut the UGF to 2hz, and modified the boost to get more phase margin. No idea why this affect the very low frequency noise, Jeff and Krishna suggested maybe we were re-injecting IPS noise with the higher gain.
Here is another look at the controller with the amplitude scale zoomed out to see the lowest frequencies of the open loop.
J. Warner, K. Venkateswara
We repeated this measurement today and did not see the same results. Sensor correction was off. The attached pdf shows the before (old controller) and after (new low gain UGF controller) data. Very strange. We may have been fooled by different ground motion or perhaps by sensor correction. There is good coherence with ground till ~60 mHz in either controllerconfiguration.
Jim has reverted to the new low gain UGF controller as it should help with ringing of HEPI at 9 Hz.
Lisa, Rana, Evan, Sheila, Chris, Kiwamu,
The DRMI was stable tonight. So we did several attempts for reducing the CARM offset and the smallest we got tonight was 125 Hz in IR. We will performe careful analysis of lock losses tomorrow.
Lock loss events to lock at are: 7:59:30, 8:11:09 and 8:56 UTC. The second one reached 200 Hz in IR and the last reached 125 Hz. We decreased the MICH gain from 7.9 to 3.0 because its UGF was found to be too high when the arm cavities were held at a off resonant point. According to the lockin demodulators, all the loops stayed without a significant gain change or anything. ALS COMM seemed to tend to lose its lock when it is "IR FINE TUNE". We need to investigate what causes lock losses.
I made an offline analysis of the last lock loss event.
It looks like some kind of instability happened and all the three loops oscillated at 5 or 6 Hz. Since all of them showed similar oscillatory behavior, it is difficult point out which loop was unstable. My guess is that this instability was induced by alignment fluctuation of the DRMI which eventually resulted in a mod hop in SRC -- the hopping-ish events are visible between t= -2.2 and -2.0 where POP18 is glitchy and AS90 went to negative and positive values back and forth. The CARM offset was set to 125 Hz in IR at this time.
Rana, Kiwamu, Lisa, Alexa, Sheila, Evan
We took some time to measure the 1f and 3f DRMI sensing matrices.
To do this, we used the digital lock-in oscillators on the LSC screen to feed back onto some of the DRMI optics (PR2, SRM, BS, and a combination of 1×BS + 0.02×PR2 that we refer to below as BS+PR2).
The procedure was as follows:
cdsutils servo -r LSC-LOCKIN_1_DEMOD_5_Q_OUTPUT -g -10 -s 0 -t 100 LSC-LOCKIN_1_DEMOD_5_PHASE
.z avg -s 8
to average them.Results for the 1f sensing matrix are as follows. The drive amplitudes have been divided out (and the entire matrix normalized).
1f | PR2 | SRM | BS | BS+PR2 |
9I | 2604(2) | 0.136(4) | −51.60(9) | −3.56(2) |
9Q | 107.5(9) | −0.0364(3) | −2.254(15) | −0.035(2) |
45I | 2015(4) | −3.70(4) | −39.69(6) | −5.51(5) |
45Q | −693(7) | −0.469(6) | 29.58(8) | 18.70(5) |
The matrix elements for SRM (in red) are probably bogus, because we were saturating the SRM actuator while driving.
Then we repeated this for the 3f signals, with REFLAIR27I→DEMOD 11, REFLAIR27Q→DEMOD 12, REFLAIR135I→DEMOD 13, and REFLAIR135Q→DEMOD 14. The drive amplitudes were 15, 9333, and 1999 counts for PR2, SRM, and BS. The results are as follows. Again the drive amplitudes have been divided out (and the entire matrix normalized).
3f | PR2 | SRM | BS |
27I | 9400(40) | −2.560(11) | −173.5(3) |
27Q | −154(8) | 0.618(9) | 14.72(5) |
135I | 2940(50) | −7.96(7) | −58.3(5) |
135Q | −22 550(90) | −0.17(7) | 543(2) |
DRMI lost lock before we were able to get the BS+PR2 measurement for 3f.
Kiwamu did some work to figure out what output matrix values are needed to drive mostly MICH; it is 1×BS + 0.02×PR2 − 0.014×SRM. Rana then measured the sensing matrix with 333 counts on MICH, 17 counts on PRM, and 18999 counts on SRM (and without saturation). WFS were engaged, and the loops were notched at the drive frequency (131.7 Hz).
Here is the 1f sensing matrix, with the drives appropriately divided out.
1f | MICH | PR2 | SRM |
9I | 0.921(26) | 1329.0(3.4) | 0.04300(70) |
9Q | 0.1122(58) | 76.43(46) | -0.02287(16) |
45I | 0.234(76) | 1635.6(3.1) | -3.3273(58) |
45Q | 20.922(62) | -262.6(5.7) | -0.4903(13) |
And likewise for 3f.
3f | MICH | PR2 | SRM |
27I | 4.32(21) | 5410.9(5.8) | -1.7543(47) |
27Q | 8.431(72) | -157.0(2.5) | 0.4443(43) |
135I | -8.5(2.1) | 1389.4(22.9) | -7.289(59) |
135Q | 125.6(2.4) | -12638.3(77.9) | -0.135(63) |
Also last night, we took similar measurements of the PR2/SR2 portions of the DRMI sensing matrices while we tried bringing in the arms. Sheila started at ≈ 7.5 nm and over a few minutes brought the arms to slightly under 4 nm, at which point we lost lock (the conversion from displacement to detuning is 7 nm / Hzgreen). So the attached plots should be read from left to right.
The big jump at 6.5 nm is because Kiwamu had to tune up the DRMI alignment to prevent lock loss. So the jump in the sening matrix elements isn't surprising. Beyond that, the values appear more or less constant, to within uncertainty.
The current cdsutils installation (r361) has a new and improved NDS avg() function. The previous version was buggy, was calculating the standard deviation incorrectly, and had a clunky interface. This new version fixes those issues:
The standard deviation was previously being calculated incorrectly and the returned values were wrong (off by some unknown but kind of large factor). The new version uses the python numpy.var() function to calculate the variance, from which the standard deviation is calculated. It has been verified to be correct.
Previously, the avg() function required full channel names, with IFO prefixes. This new version works like the ezca interface whereby the IFO prefix can be left off of the channel name. This makes things much cleaner, and allows scripts to be portable. E.g., instead of:
cdsutils.avg(2, IFO+':LSC-DARM_OUT')
just do:
cdsutils.avg(2, 'LSC-DARM_OUT')
Probably the thing that's going to cause the most trouble is that the interface to the function has been fixed up. Previously, the function was returning a dictionary of channel:avg key pairs. This was very clunky to use.
The return value of the function now mirrors the input argument. So for instance, if a single channel is requested, a single avg value is returned. If a list of channels is requested, a list of average values is returned, in the same order as the input channel list. So calls like:
avg = cdsutils.avg(2, 'LSC-DARM_OUT').values()[0]
can now just be:
avg = cdsutils.avg(2, 'LSC-DARM_OUT')
If the stddev option is provided, the output will be an (avg, stddev) tuple, or if multiple channels is requested, a list of such tuples, e.g.:
avg, stddev = cdsutils.avg(2, 'LSC-DARM_OUT', True)
I have fixed all calls to cdsutil.avg() that I could find in the USERAPPS/release. I likely didn't catch everything, though, so be aware of the new interface and update your code appropriately.
controls@opsws5:sbin 0$ cdsutils -h
I pushed a new version of cdsutils (r366) that fixes the issue with the help. Commands were being intercepted by one of the gstreamer libraries:
jameson.rollins@operator1:~ 0$ cdsutils -h
usage: cdsutils
Advanced LIGO Control Room Utilites
Available commands:
read read EPICS channel value
write write EPICS channel value
switch read/switch buttons in filter module
sfm decode/encode filter module switch values
step step EPICS channels over specified range
servo servo EPICS channel with simple integrator (pole at zero)
trigservo servo EPICS channel with trigger
avg average one or more NDS channels
audio play NDS channel as audio stream
dv plot time series of NDS channels
water NOT SUPPORTED: No module named PyQt4
version print version info and exit
help this help
Add '-h' after individual commands for command help.
jameson.rollins@operator1:~ 0$
The "junk" messages, as you refer to them, in the avg output are actually just logging that are going to stderr, and therefore do not affect the stdout output:
jameson.rollins@operator1:~ 0$ foo=$(cdsutils avg -n 2 H1:LSC-MICH_IN1)
ignoring first online block...
received: 1098998811 + 1.0
received: 1098998812 + 1.0
jameson.rollins@operator1:~ 0$ echo $foo
75.2394218445
jameson.rollins@operator1:~ 0$