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.
LVEA: Laser Hazard Observation Bit: Commissioning 08:00 Alarm on Mid-X Instrument Air; informed the vacuum group 08:18 Aidan – In LVEA to check TCS laser 08:40 Travis – Going to both end stations to work on PCal cameras 08:55 Robert & Sudarshan - End-X to work on PEM 09:00 King Water – On site for water sampling 09:25 Bubba – Repaired Instrument Air compressor at Mid-X 09:30 Filiberto – End-X to work on PEM cabling 10:05 Jodi & Gary – At Y-End 10:45 Betsy & Sheila – In LVEA for quick survey 13:05 Alistar – Working on TCS in LVEA 13:30 Dave – DAQ restart 14:38 Jeff K. – Going to X & Y end stations to take pictures of OpLevs 15:18 Robert – In the beam tube enclosure between Mid and End-Y
Hanford transportation will operate during swing shift tonight, 10/31. There's no indication that site crews will work over the weekend. Over the last two weeks there's been some day-to-day variation in the number of containers moving in and out of ERDF because of high winds. Transportation and rubble pit operations apparently aren't affected much by rain.
In preparation to correcting the Matrices on HEPI for HAM2, I generated new Plants to see if they'll be too different for the generic controllers. Here are the Symmeterized L2L & C2C,the latter equivalent to the plant with a HEPI Position loop blend (1,0.) The L2Ls are the same as the previous (data from 4 Sept 2013) since I did not collect new data. But the C2C are different. Attached are two pdf with all the plots to compare.
Bottom line--asside from the VP dof at DC, they all look pretty much the same and I think the generic loops will be fine.
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.
Dave, Jeff [WP 4927]
the h1susauxh34 model was modified to add EPICS channels to support the SUS Drift Mon program. The model was restarted at 13:22 and the DAQ was restarted to resync at 13:32. It was not a clean DAQ restart, mx-streams had to be restarted on h1pemmx, h1pemmy, h1susex and h1susauxex.
I reverted out my local changes to the driftmon files (changes needed when we didn't have the supporting epics channels) and svn updated this code to the latest version.
The Driftmon MEDM is linked to the SITEMAP via the SUS button on the left-hand block (see attached)
The python script to update the alarm levels is in the general search path. To run it to update all suspension the command is
driftmon_update.py H1 -H nds2.ligo-wa.caltech.edu -P 31200 -l 3600 -d 600 --minor-stdev=4 --major-stdev=5 --all
This gets data starrting one hour ten minutes ago up to one hour ago.
This closes out WP 4927.
The ever eagle-eyed Peter Fritschel found some duplicate PEM channels in my list of science-frame channels (see earlier aLOG entry 14718). I had failed to remove an old channel list (H1PEML0.ini) from the compilation. I redid all the files and tables after that change (see attached rate, channel list files). The commissioning-only counts did not change, as all PEM are in both frames) I have posted the updated FrameRates spreadsheet and PDF of science, commissioning frame counts. The science-frame H1 PEM rate drops from 6.79 to 4.19 MB/s (uncompressed). This is still equal to all the ISC channels (LSC,ASC,OMC,OAF,ISC).
Jim Krishna Hugh
The gain was too close to the UGF and there was very little margin. The zero in the boost where it meets the main controller was lowered from 1.75 to 0.75 hz. This lowered the boosted gain but it is only a position loop anyway.
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$