40m QIL Cryo_Lab CTN SUS_Lab TCS_Lab OMC_Lab CRIME_Lab FEA ENG_Labs OptContFac Mariner WBEEShop
  40m Log, Page 31 of 341  Not logged in ELOG logo
ID Date Author Typeup Category Subject
  2091   Wed Oct 14 15:48:26 2009 MottHowToGeneralPhase Noise measurement

I have gotten the hang of the procedure for measuring phase noise on the AOMs. 

Koji suggested I right up a short guide (wiki page?) on how to do this. 

I will finish up here, then go measure the AOMs at the other lab (may have to be tomorrow, after laser safety), and then write up the instructions.

  2115   Mon Oct 19 11:00:52 2009 steveHowToSAFETY40m safety training

Kiwamu, Alex and Zach are practicing mandatory IR-safety scan at the 40m-PSL

40m specific safety indoctrination were completed.

Attachment 1: safety_10_2009.JPG
  2164   Fri Oct 30 09:24:45 2009 steveHowToMOPAhow to squeeze more out of little


Here is the plots for the powers. MC TRANS is still rising.

What I noticed was that C1:PSL-FSS_PCDRIVE nolonger hit the yellow alert.
The mean reduced from 0.4 to 0.3. This is good, at least for now.

 Koji did a nice job increasing light power with some joggling.

Attachment 1: 44to34.jpg
  2242   Wed Nov 11 18:43:57 2009 rana, kojiHowToPhotosIlluminated Paintbrush Technique


1/4" exposure, standard room lights                                                                              3" exposure, slowly moving LED bar light from ~60 cm distance

Because of the light behind, the focus was attracted by the far objects...
Evenso the magnet ball looks better in the right picture.

The technique is as follows:
Use longer exposure time, move the LED bar illumination through the area like painting the light everywhere.
It is supposed to provide a picture with more uniform light and the diminished shadow.


  2403   Sat Dec 12 07:36:56 2009 ranaHowToElectronicsHow to Measure the Length of a Cable: Interferometry

Need to measure the length of the cable, but too lazy to use a measuring tape?

Then you too can become an expert cable length measurer by just using an RF signal generator and a scope:

  1. Disconnect or short (not 50 Ohm term) the far side of the cable.
  2. Put a T on the near side of the cable.
  3. Drive the input of the T with your signal source.
  4. Look at the output of the T with the scope while sweeping the signal source's frequency knob.

The T is kind of acting like a beamsplitter in an asymmetric length Michelson in this case. Just as we can use the RF phase shift between the arms to measure the Schnupp asymmetry, we can also use a T to measure the cable length. The speed of light in the cable is documented in the cable catalog, but in most cases its just 66% of the speed of light in the vacuum.

  2427   Thu Dec 17 09:30:08 2009 AlbertoHowToComputersNodus sluggish

The elog has been quite slow for the last two days. The cause is nodus, that has been slowing down the access to it.

I looked at the list of the running processes on nodus by typing the command prstat, which is the equivalent for Solaris of the Linux "top". I didn't see any particular process that might be absorbing too many resources.

I remember Rana fixing the same problem in the past but couldn't find his elog entry about that. Maybe we should just restart nodus, unless someone has some other suggestion.

  2429   Thu Dec 17 19:03:14 2009 AlbertoHowToComputersNodus sluggish


The elog has been quite slow for the last two days. The cause is nodus, that has been slowing down the access to it.

I looked at the list of the running processes on nodus by typing the command prstat, which is the equivalent for Solaris of the Linux "top". I didn't see any particular process that might be absorbing too many resources.

I remember Rana fixing the same problem in the past but couldn't find his elog entry about that. Maybe we should just restart nodus, unless someone has some other suggestion.

 Problem solved. Nodus and the elog are running fine. It's just that the elog takes some time to make a preview of complex pdf attachments, like those in Kiwamu's entry 2405.

  2540   Thu Jan 21 17:23:30 2010 josephb,alex,kojiHowToComputersRCG code fixes

In order to see the Contec DO-32L-PE Digital output PCIe card with the new controls, we had to add the CDO32 part to the CDS_PARTS.mdl file in control /cds/advLigo/src/epics/simLink/ directory on megatron, as well as create the actual model mdl file (based on cdsDio.mdl) in the control/cds/advLigo/src/epics/simLink/lib directory. 

The CDO32.pm file (in /home/controls/cds/advLigo/src/epics/util/lib) has existed for some time, it was just missing the associated pieces in simlink.  However, Alex also checked out a newer version Dio.pm in the process.  As we are not using this part at this time, it should be fine.

The code now compiles and sees the digital output card.

You need a special care on this block as it turned out that the code does not compiled if the "constant" block is connected to the input. You must use appropriate block such as bitwise operator, as shown below.

Attachment 1: CDO32.png
  2559   Tue Feb 2 13:14:09 2010 KojiHowToIOOAnatomy of New Focus Resonant EOM

Joe let me use the resonant EOM for GigE phase camera for a while.
Then, I immediately started to open it :)

it uses the MiniCIrcuits T5-1T transformer and a TOKO RCL variable inductor.

The photos are on the Picasa 40m album.


  2598   Fri Feb 12 14:19:28 2010 rana, steveHowToloreInternational Fax

Steve showed me how to send an international fax today:

  1. Load paper.
  2. Dial:   011 - (country code) - number
  3. Press START (either the black or color option)
  4. wait for the screaming fax noise
  5. Done


  2729   Mon Mar 29 15:26:47 2010 MottHowToComputersNew script for controlling the AG4395A

I just put a script in the /cvs/cds/caltech/scripts/general/netgpibdata/ directory to control the network analyzer called AG4395A_Run.py .   A section has been added to the wiki with the other GPIB script sections (http://lhocds.ligo-wa.caltech.edu:8000/40m/netgpib_package#AG4395A_Run.py)

  2734   Tue Mar 30 11:16:05 2010 josephbHowToComputersezca update information (CDS SVN)

I'd like to try installing an updated multi-threaded ezca extension later this week, allowing for 64-bit builds of GDS ezca tools, provided by Keith Thorne.  The code can be found in the LDAS CVS under gds, as well as in CDS subversion repository, located at 


Its under gds/epics/ in that repository.  The directions are fairly simple:

1) to install ezca with mult-threading in an existing EPICS installation
-copy ezca_2010mt.tar.gz (EPICS_DIR)/extensions/src
-cd (EPICS_DIR)/extensions/src
-tar -C -xzf ezca_2010mt
-modify (EPICS_DIR)/extensions/Makefile to point 'ezca' at 'ezca_2010mt'
-cd ezca_2010mt
-set EPICS_HOST_ARCH appropriately



  2738   Wed Mar 31 03:45:49 2010 MottHowToComputersNew script for controlling the AG4395A


I took data for the 2 NPRO PLL using the script I wrote for the AG4395, but it is very noisy above about 1 MHz.  I assume this is something to do with the script (since I am fairly confident we don't have 600 dB response in the PZT), so I will go in tomorrow to more carefully understand what is going on, I may need to include a bit more latency in the script to allow the NA to settle a bit more.  I am attaching the spectrum just to show the incredibly high noise level, 

Attachment 1: noisy_spec.png
  2778   Wed Apr 7 09:00:01 2010 steveHowToPEMprepare to open chamber

In order to minimize the diffusion of more dust particles into the vented IFO vacuum envelope

BEFORE opening chamber:

-Have a  known plan,

-Heavy 1" thick door requires 3 persons- of  one experienced and one certified crane operator and steel tow safety shoes

-Block IFO beams, be ware of experimental set up of other hazards: 1064,  visible or new-special installation

- Look at the particle counter, do not open above 6,000 particles of 0.5 micron. Construction activities are winding down. See  plot of 35 days since we  vented.

-Have clean door stand for heavy door, covered with merostate at the right location and dry-clean screws for light covers,

-Prepare lint free wipers for o-rings,(no solvent on o-ring!) Kimwipes for outside of chamber and metal covers, methanol and powder free gloves

-Wipe with wet Kimwipe-tissue of methanol around the door, chamber of interest and o-ring cover ring

-Cut door covering merostate and tape it into position,..if in place...check  folded-merostate position, if dusty... replace it

-Is your cleanroom garment clean?.......if in doubt ....replace it

-Keep surrounding area free and clean

-Make sure that HEPAs are running: PSL-enclosure, two mobile units and south end flow banch

-Check the tools: are they really clean? wipe it with wet Kimwipe, do you see anything on the Kimwipe?


-You are responsible to close chamber ASAP with light door or doors as you finished for the day.

Merostate cover down is appropriate during daily brakes.

Attachment 1: 0.5micron.jpg
  2806   Mon Apr 19 07:38:07 2010 ranaHowToElectronicsRepair and Calibration of SR560: s/n 59650

Frank noticed that this particular SR560 had an offset on the output which was unzeroable by the usual method of tuning the trim pot accessible through the front panel.

I tried to zero the offset using the trimpots inside, but it became clear that the offset was due to a damaged FET, so Steve ordered ~20 of the (now obsolete*) NPD5564.

I replaced this part and adjusted the offsets and balanced the CMRR of the differential inputs mostly according to the manual (p. 17). There are a few notes that should be added to the procedure:

  1. It can sometimes be that the gain proscribed by the manual is too high and saturates the output for large offsets. If that's the case, simply lower the gain, trim the offset, then return the gain to the specified value and trim again.
  2. The limit in trimming the offset is the stick slip resolution in the trim pot. This can potentially leave the whole preamp in an acoustically sensitive state. I tapped the pots with a screwdriver after tuning to make sure it was in more of a 'sticky' rather than 'slippy' region of the knob. A better design would allow for more filtering of the pot.
  3. In the CMRR tuning procedure it says to 'null sine wave output' but it should really say 'null the sine wave component at the drive frequency'. The best CMRR tuning uses a 1 kHz drive and leaves a residual 2 kHz signal due to the distortion imbalance (of the FETs I think).
  4. The CMRR tuning upsets the DC offset trim and vice versa. The best tuning is gotten by iterating slightly (go back and forth once or twice between the offset and CMRR tuning procedures).

It looks like its working fine now. Steve's ordering some IF3602 (low-noise, balanced FET pair from Interfet) to see if we can drop the SR560's input noise to the sub-nV level.

Noise measured with the input terminated with a BNC short (not 50 Ohms) G=100, DC coupled, low-noise mode:

Input referred noise (nV/rHz)
f e_n


1 44
10 8
100 5
1000 5
10000 4
  2869   Mon May 3 01:16:50 2010 ranaHowToElectronicsMarconi phase noise measurement setup

 To try the 3-corner hat method on the Marconis, I started to set up the measurement into the DAQ system.

I have set the bottom 2 in the PSL rack to 11.1 MHz. I use a ZP-3MH level 13 mixer as the phase detector. The top one is the LO, it has an output of +13 dBm.

The bottom one is the test unit, it has an output of +6 dBm (should be close to the right level - the IP3 point is +9 dBm). The top one has external DC FM modulation enabled with a FM dev range of 10 Hz.

Mixer output goes through a 50 Ohm in-line termination and then a BLP-5 low pass filter (Steve, please order ~7 of the BLP-1.5 or BLP-1.9 low pass filter from Mini-Circuits) and then into

the DC coupled of a SR560. After some gain and filtering that feedback goes back to the FM input of the top-Marconi to close the PLL. I adjusted the gain to be as small as possible and still stay locked and not

saturate the ADC.

The input to the SR560 is Tee'd into another SR560 with AC coupled input, G = 1000, low-noise. Its output is going directly to the ADC channel - C1:IOO-MC_DRUM1.

I calibrated the channel by opening the loop and setting the AC coupled gain to 1. This lets the Marconis beat at several Hz. The peak-peak signal is equivalent to pi radians.


As usual, I was befuddled by the FM input. For some reason I always forget that since its a straight FM input, we don't need any filtering to get a plain 1/f loop. The attached plot shows how we get bad gain peaking if you forget this and use a 0.03 Hz pole in the SR560.

The grey trace is the ADC signal with everything hooked up, but the RF input set to zero (via setting Carrier = OFF in the bottom Marconi). It is the measurement noise.

The BLUE trace is very close to the true phase noise beat of the two Marconis with a calibration error of ~5%. I have not corrected for the loop gain: its right now around a 1 Hz UGF and 1/f. Next, I will measure the loop and compensate for it in the DTT calibration.

Then I'll measure the relative phase noise of 3 of the signal generators to get the individual noises.

Bottom line is that the sensitivity of this approach is good and we should do this rather that use spectrum analyzers since its easy to get very long averages and high res spectra. To get 5x better sensitivity, we can just use the Rai-FET box instead of a SR560 for the readout, but just have to contend with its batteries. Also should try using BALUNs on the RF and LO signals to get rid of the ground loops.

Attachment 1: pn.png
  2879   Tue May 4 18:40:27 2010 ranaHowToElectronicsMarconi phase noise measurement setup

To check the UGF, I increased the gain of the PLL by 10 and looked at how much the error point got suppressed. The green trace apparently has a UGF of ~50 Hz and so the BLUE nominal one has ~5 Hz.

The second attachment shows the noise now corrected for the loop gain. IF the two signal generators are equally noisy, then you can divide the purple spectrum by sqrt(2) to get the noise of a single source.

The .xml file is saved as /users/rana/dtt/MarconiPhaseNoise_100504.xml

Attachment 1: Untitled.png
Attachment 2: ifrnoise.png
  2906   Mon May 10 19:29:33 2010 AlbertoHowToElectronicsNew Focus 1811 PD calibrated against New Focus 1611 PD
I measured the output impedance of the New Focus 1611 PD (the 1GHz one) and it is 50 Ohm for both the DC and the AC output. It turns out that the transimpedance values listed on the datasheet are the following:
T1611_dc = 1e4 V/A (1MOhm referred)
T1611_ac = 700 V/A (50 Ohm)
The listed transimpedances for the 1811 PD (the 125 MHz PD) are the following:
T_dc = 1e3 V/A (??)
T1811_ac = 4e4 V/A (50 Ohm)
I measured the output impedances of the 1811 and they are: 50 Ohm for the AC output, ~10 Ohm for the DC output.
It's not clear which input impedance the DC transimpedance should be intended referred to.
So I measured the transimpedance of the 1811 using the 1611 as a (trusted) reference. It turns out that for the AC transimpedance to match the listed value, the DC transimpedance has to be the following:
T1811_dc = 1.7e3 V/A (1MOhm)
  2913   Tue May 11 18:58:49 2010 ranaHowToElectronicsMarconi phase noise measurement setup

Just a little while ago, at 2330 UTC on 5/11, I swapped the phase noise setup to use another Marconi - this time its the 3rd one from the top beating with the 4th one from the top (2nd from the bottom).

After a little while, I swapped over to beat the 33 w/ the 199. I now have all the measurements. For the measurement of the last pair, I inserted BALUN 1:1 transformers on the outputs of both signal generators'.

This last pair appears to be the quietest of the 3 and also has less lines. The lines are mainly at high frequency and are harmonics of 120 Hz. Probably from the Sorensen switching supplies in the adjacent rack.

I double checked that the 10 MHz sync cable was NOT plugged in to any of these during this and that the front panel menu was set to use the internal frequency standard. In the closed loop case, the beat frequency between the 33/199 pair changes by less than ~0.01 Hz over minutes (as measured by calibrating the control signal).


Attachment 1: Untitled.png
  2914   Wed May 12 02:21:56 2010 ranaHowToElectronicsMarconi phase noise measurement setup

Finally got the 3-cornered-hat measurement of the IFRs done. The result is attached.

s12, s23, & s31, are the beat signals between the 3 signal generators.

s1, s2, & s3 are the phase noise of the individual generators made by the following matlab calculation:

%% Do the hat
s1 = sqrt((s12.^2  + s31.^2 - s23.^2) / 2);
s2 = sqrt((s12.^2  + s23.^2 - s31.^2) / 2);
s3 = sqrt((s31.^2  + s23.^2 - s12.^2) / 2);

As you can see, there is now an estimate of the individual noises. We can do better by doing some fitting of the residuals.

The real test will be to replace the noise one here with the good Wenzel oscillator and see how well we can estimate its noise. If the 11 MHz crystals don't show up, I can just try this with the 21.5 MHz one for the PSL.

Attachment 1: pn.png
  2951   Wed May 19 14:36:46 2010 AidanHowToPhase CameraPhase Camera algorithm and stuff

 I had a think about the algorithm we might use for the phase camera measurement. MATLAB has an fft function that will allow us to extract the data that we need with a single command.

We record a series of images from a camera and put them into a 3D array or movie, image_arr, where the array parameters are [x-position, y-position, time], i.e. a 2D slice is a single frame from the camera. Then we can do an FFT on that object with the syntax, f3D = fft(image_arr, [ ], 3), which only does the FFT on the temporal components. The resulting object is a 3D array where each 2D slice is an 2D array of amplitude and phase information across the image for a single temporal frequency of the movie.

So if we recorded a movie for 1s where the sample rate is 58Hz, then the 1st frame of f3D is just a DC image of the movie, the 2nd frame are the complex 1Hz components of the movie, etc all the way up to 29Hz. 

Suppose then that we have a image, part of which is being modulated, e.g. a chopper wheel rotating at 20 or 24Hz, or a laser beam profile which contains a 1kHz beat between a sideband and a reference beam. All we have to do is sample at at least twice that modulation frequency, run the command in MATLAB, and then we immediately get an image which contains the phase and magnitude information that we're interested in (in the appropriate 2D slice o the FFT).

As an example, I recorded 58 frames of data from a camera, sampling at 58Hz, which was looking at a spinning chopper wheel. There was a white sheet of paper behind the wheel which was illuminated from behind by a flashlight. The outer ring was chopping at 24Hz and the inner ring was chopping at 20Hz. I stuck all the images into the 3D array in MATLAB, did the transformation and picked out the DC, 20Hz and 24Hz signals. The results are shown in the attached PDFs which are:

  1. phase_camera_DC_comp.pdf - a single image from the camera and the DC component (zoomed in) of the FFT
  2. phase_camera_F1_comp.pdf - the magnitude and phase information of the 20Hz component of the FFT
  3. phase_camera_F2_comp.pdf - the magnitude and phase information of the 24Hz component of the FFT (this PDF contains a typo that says 25Hz).
  4. load_raw_data.m - the MATLAB routine that loads the saved data from the camera and does the FFT

You can, and I have, run the MATLAB engine from C directly. This will allow you to transfer the data from the camera to MATLAB directly in memory, rather than via the disk, but it does need proper memory allocation to avoid segmentation faults - that was too frustrating for me in the short term. In this case, the 58 frames were recorded to a file as a contiguous block of data which I then loaded into MATLAB, so it was slower than it might've otherwise been. Also the computer I was running this on was a bit of a clunker so it took a bit of time to do the FFT.

The data rate from the camera was 58fps x (1024 x 1024) pixels per frame x 2 bytes per pixel = 116MB per second. If we were to use this technique in a LIGO phase camera, where we want to measure a modulation which is around 1kHz, then we'd need a sample rate of at least 2kHz, so we're looking at at least a 30x reduction in the resolution. This is okay though - the original phase camera had only ~4000 spatial samples. So we could use, for instance, the Dalsa Falcon VGA300 HG which can give 2000 frames per second when the region of interest is limited to 64 pixels high.

Attachment 1: phase_camera_DC_comp.pdf
Attachment 2: phase_camera_F1_comp.pdf
Attachment 3: phase_camera_F2_comp.pdf
Attachment 4: load_raw_data.m
% load a raw data file into MATLAB

fid = fopen('phase_camera_data.dat');
n1 = 750;
A3D = ones(n1, n1, 58);

for jj = 1:58
    A = fread(fid, [1024, 1024], 'uint16');
    A3D(:,:,jj) = A((512-floor(n1/2)):(512-floor(n1/2))+n1-1, ...
... 64 more lines ...
  2955   Thu May 20 10:06:56 2010 AidanHowToPhase CameraPhase Camera- raw data video


  2982   Tue May 25 16:32:26 2010 kiwamuHowToElectronicsfront ends are back

 [Alex, Joe, Kiwamu]

Eventually all the front end computers came back !! 

There were two problems.

(1): C0DCU1 didn't want to come back to the network. After we did several things it turned the ADC board for C0DCU1 didn't work correctly.

(2): C1PEM1 and C0DAQAWG were cross-talking via the back panel of the crate.

(what we did)

* installed a VME crate with single back panel to 1Y6 and mounted C1PEM1 and C0DAQAWG on it. However it turned out this configuration was bad because the two CPUs could cross-talk via the back panel.

* removed the VME crate and then installed another VME crate which has two back panels so that we can electrically separate C1PEM1 and C0DAQAWG.  After this work, C0DAQAWG started working successfully.

 * rebooted all the front ends, fb40m and c1dcuepics.

 * reset the RFM bypath. But these things didn't bring C0DCU1 back.

 * telnet to C0DCU1 and ran "./startup.cmd" manually. In fact "./startup.cmd" should automatically be called when it boots.

 * saw the error messages from "./startup.cmd" and found it failed when initialization of the ADC board. It saids "Init Failure !! could not find ICS"

*  went to 1Y7 rack and checked the ADC. We found C0DCU1 had two ADC boards, one of two was not in used.

* disconnected all two ADCs and put back one which had not been in used. At the same time we changed the switching address of this ADC to have the same address as the other ADC. 

* powered off/on 1Y7 rack. Finally C0DCU1 got back.

* burtrestored the epics to the last Friday, May 21st 6:07am

  3000   Thu May 27 10:30:32 2010 kiwamuHowToGreen LockingPSL setup for green locking

 I leave notes about a plan for the green locking especially on the PSL table.



 (1) open the door  of the MC13 tank to make the PSL beam go into the MC.  Lock it and then optimize the alignment of the MC mirror so that we can later align the incident beam from the PSL by using the MC as a reference.   

 (2) Remove a steering mirror located just after the PMC on the PSL table. Don't take its mount, just take only the optic in order not to change the alignment .

 (3) Put an 80% partial reflector on that mount to pick off ~200mW for the doubling . One can find the reflector on my desk.

 (4) Put some steering mirrors to guide the transmitted beam through the reflector to the doubling crystal. Any beam path is fine if it does not disturb any other setups. The position of the oven+crystal should not be changed so much, I mean the current position looks good.

 (5) Match the mode to the crystal by putting some lenses. The optimum conversion efficiency can be achieved with beam waist of w0~50um (as explained on #2735). 

 (6) Align the oven by using the kinematic mount. It takes a while. The position of the waist should be 6.7 mm away from the center of the crystal (as explained on #2850). The temperature controller for the oven can be found in one of the plastic box for the green stuff. After the alignment, a green beam will show up.

(8) Find the optimum temperature which gives the best conversion efficiency and measure the efficiency.

(7)  Align the axis of the PSL beam to the MC by steering the two mirrors attached on the periscope.

  3017   Sun May 30 17:51:04 2010 kiwamuHowToPEMAllegra dataviewer

I found the dataviewer didn't work only on Allegra. This thing sometimes happened as described in the past entry.

I rebooted Allegra, then the problem was fixed.


  3070   Fri Jun 11 22:09:58 2010 valeraHowToCDSfoton

 It appears that foton does not like the unstable poles, which we need to model the transfer functions.

But one can try to load the filters into the front end by generating the filter file e.g.:

### DARM_ASDC                                                                   ###
### ####
DARM_ASDC  0 21 6  0  0 darm 1014223594.005454063416 -1.95554205062071  0.94952075557861 0.06176931505784 -0.93823068494216
                         -2.05077577179611   1.05077843532639  -2.05854170261687  1.05854477394411
                         -1.85353637553024   0.86042048250739  -1.99996540107622  0.99996542454814 
                         -1.93464836371852   0.94008893626414  -1.89722830906561  0.90024221050918
                         -2.04422931770060   1.04652211283968  -2.01120153956052  1.01152717233685 
                         -1.99996545575365   0.99996548582538  -1.99996545573320  0.99996548582538




Unfortunately if you open and later save this file with foton it will strip the lhp poles.

  3085   Fri Jun 18 13:42:52 2010 KojiHowToGeneralUpdate your work

All SURFs (and all others as always) are supposed to post the update of your status on the elog.

In fact, I already heard that Sharmila had been working on the serial connection to TC-200 and made some results. All of us like to hear the story.

  3114   Thu Jun 24 11:16:32 2010 Sharmila, Rana and KiwamuHowToVACInspection of the BS (sorry, no sounds)
  3118   Fri Jun 25 01:28:33 2010 DmassHowToSVNSVN woes

I am trying to get an actual complete install of the 40m svn on my machine. It keeps stopping at the same point:

I do a

svn checkout --username svn40m https://nodus.ligo.caltech.edu:30889/svn /Users/dmass/svn

A blah blah blah many files


A    /Users/dmass/svn/trunk/medm/c1/lsc/C1LSC_ComMode.adl.28oct06
svn: In directory '/Users/dmass/svn/trunk/medm/c1/lsc'
svn: Can't copy '/Users/dmass/svn/trunk/medm/c1/lsc/.svn/tmp/text-base/C1LSC_MENU.adl.svn-base' to '/Users/dmass/svn/trunk/medm/c1/lsc/.svn/tmp/C1LSC_MENU.adl.tmp.tmp': No such file or directory

I believe I have always had this error come up when trying to do a full svn install. Any illumination is welcome.



  3123   Sat Jun 26 05:02:04 2010 ranaHowToSVNSVN woes


I am trying to get an actual complete install of the 40m svn on my machine. It keeps stopping at the same point:

 I have always seen this when checking out the 40m medm SVN on a non-Linux box. I don't know what it is, but Yoichi and I investigated it at some point and couldn't reproduce it on CentOS. I think its some weirdness in the permissions of tmp files. It can probably be fixed by doing some clever checkin from the control room.

Even worse is that it looks like the whole 'SVN' mantra has been violated in the medm directory by the 'newCDS' team. It could be that Joe has decided to make the 40m a part of the official CDS SVN, which is OK, but will take some retraining on our part.

  3193   Mon Jul 12 11:20:56 2010 Gopal HowToCOMSOL TipsIntrusions (Negative Extrusions)

For the sake of future users, I have decided to periodically add tips and tricks in using COMSOL that I have figured out, most probably after hours of circuitous efforts. They will always be listed under the new COMSOL Tips category.

Today's topic: Intrusions

COMSOL has a very user-friendly interface for taking objects from 2D to 3D using the "extrusion" feature. But suppose one wants to design an object which contains screw holes or some other indentation. I've found that creating "punctures" in COMSOL is either impossible or very complicated.

Instead, COMSOL encourages users to always "add" to the object. In other words, one must form the lowest level first, then build layers sequentially on top using new work plane and boolean difference operators. This will probably be a bit clearer with an example:

1) First, create the planar projection in a work plane:


2) Extrude the first layer only in the regular fashion:


 3) Add a new work plane which is offset in the z-direction to the deepest point of the intrusion.


 4) Now, create the shape of the intrusion in this new work plane.


5) Use the Boolean "Difference" to let COMSOL know that, on this plane, the object has a hole.


 6) Extrude once more from the second work plane to complete the intrusion.


  3194   Mon Jul 12 12:16:50 2010 DmassHowToCOMSOL TipsIntrusions (Negative Extrusions)

 An entry on the 40m wiki page might serve you better, and be easier to sift through once all is said and done

  3233   Thu Jul 15 23:51:47 2010 Mr. MaricHowToSUSLevitate me if you can

You guys must work harder.


  3291   Mon Jul 26 11:15:23 2010 GopalHowToCOMSOL TipsPictures from Transfer Function Tutorial on the Wiki

The attached pictures give a brief overview of my transfer function measurement procedure in COMSOL. For more details, please see the Wiki.








  3296   Tue Jul 27 11:24:53 2010 josephbHowToComputer Scripts / Programskilldataviewer script

I placed a script for killing all instances of the dataviewer program on the current computer in /cvs/cds/caltech/scripts/general/.  Its called killdataviewer.  This is intended to get rid of a bunch of zombie dataviewer processes quickly.  These processes get into this bad state when the dataviewer program is closed in any way other than the graphical menu File -> Exit option.

Its contents are very simple:


kill `ps -ef | grep dataviewer | grep -v grep | grep -v killdataviewer | awk '{print $2}'`

  3336   Fri Jul 30 17:54:55 2010 steveHowToVACHow to stop and start slow pumpdown


Bob and Steve closed BS chamber with the help of the manual Genie lift and the pump down started. The PSL shutter was closed and manual block was placed in the beam path. High voltage power supplies were checked to be off.

Pumping speed ~ 1 Torr/min was achieved at  1/8 of a turn opened roughing valve RV1

 We are at 370 Torr at 9 hrs of  pumping. RV1 is opened to ~ 3/8 turn orifice. We are using one roughing pump RP3  and butterfly valve is in place.


How to stop: 1, close RV1 by torque wheel  2, close V3 from MEDM screen  3, turn off RP3 roughing from MEDM screen  4, disconnect metal hose to oily pump

after butterfly valve. This KF-45 O-ring seal should be kept clean 5, place/close  45 mm cover blanks at the end of the hose and and on the 5" nipple.


How to start: 1, remove blanks from  hose and nipple 2, reconnect roughing pump hose to RV1 nipple  3, turn on PR3  4, open V3  5, open RV1 by wrench to ~3/8

6, fine tune RV1 opening to 1 Torr/min


ESSENTIAL: one operator has to be present when oilly roughing pump is connected to the vac. envelope

  3338   Fri Jul 30 22:07:42 2010 KojiHowToVACHow to stop and start slow pumpdown

Kiwamu and Koji

The rough pumping was stopped at 230mmTorr. We are going to resume the pumping tomorrow morning.

  • RV1 was closed with torque wheel.
  • V3 was closed from MEDM
  • RP3 wss stopped from MEDM
  • The quick coupling to RP3 was disconnected.


    How to stop: 1, close RV1 by torque wheel  2, close V3 from MEDM screen  3, turn off RP3 roughing from MEDM screen  4, disconnect metal hose to oily pump

after butterfly valve. This KF-45 O-ring seal should be kept clean 5, place/close  45 mm cover blanks at the end of the hose and and on the 5" nipple. 

    How to start: 1, remove blanks from  hose and nipple 2, reconnect roughing pump hose to RV1 nipple  3, turn on PR3  4, open V3  5, open RV1 by wrench to ~3/8

6, fine tune RV1 opening to 1 Torr/min

ESSENTIAL: one operator has to be present when oilly roughing pump is connected to the vac. envelope

  3407   Thu Aug 12 11:59:31 2010 kiwamuHowToCDSset up ntp daemom

(sad story)

When I was working on a new front end machine c1sus, I found that make command didn't run and gave the following message.

      "make:warning:clock skew detected.Your build may be incomplete"

This was caused by a clock difference between the nfs (nodus) and the terminal machine (c1sus).

I had to set up ntp daemon to synchronize them. Here is a procedure to set up it


(how to)

- log in to a front end machine

              ssh c1sus

- enable the ntp daemon

              sudo ntsysv

- configure the ntpd

              vi (emacs)  /etc/ntp.conf

- below is the contents I wrote on ntp.conf

             server  minpoll 4 maxpoll 4 iburst

      driftfile /var/lib/ntp/drift

 - let the daemon run
            sudo service ntpd start
- check it if it's running
             ntpq -p
  3491   Mon Aug 30 23:21:36 2010 ranaHowToPSL2W NPRO Mount designed with emachineshop.com software

To test out this website - emachineshop.com, Jenne and I are designing some of the mounts for the new beam height.


It took me a few hours to figure out how to do it, but the software is easy enough for simple stuff. This is a brass mount with M4 clearance holes which are countersunk and a lip so that it can be dogged down to the table.

  3503   Wed Sep 1 08:36:59 2010 KojiHowToPSL2W NPRO Mount designed with emachineshop.com software

1. I can not see whether the attaching surface is flat or not.
It should have ~1mm step to avoid "the legs" of the laser at the four corners.
Otherwise we will have ~0.5mm space between the block and the laser
and will squish this gap by the screws => cause the deformation of the block and the laser.

2. The countersinks for the M4 screws can be much deeper so that we can use the existing M4 screws.
In any case, the long M4 screws are not rigid and also not common.


To test out this website - emachineshop.com, Jenne and I are designing some of the mounts for the new beam height.


It took me a few hours to figure out how to do it, but the software is easy enough for simple stuff. This is a brass mount with M4 clearance holes which are countersunk and a lip so that it can be dogged down to the table.


  3536   Tue Sep 7 20:44:54 2010 YoichiHowToCOMSOL TipsCOMSOL example for calculating mechanical transfer functions

I added COMSOL example files to the 40m svn to demonstrate how to make transfer function measurements in COMSOL.


The directory also contains an (incomplete) explanation of the method in a PDF file.

  3652   Tue Oct 5 16:30:00 2010 josephb, yutaHowToCDSScreen settings and medm screens for new system

You can find the sitemap medm screen in


The settings for the screens were last saved by burt in the original system on Sept 29, 2010 at 11:07.  So go to the


directory.  You can grep for the channels in the files in this directory.

You can also then use the autoBurt.req file in the /opt/rtcds/caltech/c1/target/sysname/sysnameepics (c1sus/c1susepics) to backup the settings entered.  Save to the /opt/rtcds/caltech/c1/target/snapshots directory for now.



  3658   Wed Oct 6 11:03:51 2010 josephb, yutaHowToCDSHow to start diaggui for right now

I'm hoping to get a proper install this week done, but for now, this a stop gap.

To start diagnostic test tools, go to rosalba.  (Either sit at it, or ssh -X rosalba).

cd /opt/apps

type "bash", this starts a bash shell

source gds-env.bash


 --------- Debugging section ------

If that throws up errors, try looking with "diag -i" and see if there's a line that starts with nds.  In the case last night, Alex had not setup a diagconf configuration file in the /etc/xinetd.d directory, which setups up the diagconf service under the xinit service.  To restart that service (if for example the nds line doesn't show up), go to /etc/init.d/ and type "sudo xinit start" (or restart).

Other problems can include awg and/or tpman not running for a particular model on the front end machine.  I.e. diag -i should show 3 results from (c1x02, c1sus, c1mcs) at the moment , for both awg and tp.  If not, that means awg and tpman need to be restarted for those.

These can be started manually by going to the front end, to the /opt/rtcds/caltech/c1/target/gds/bin/ directory, and running awgtpman -s sysname (or in the case of IOP files [c1x02, c1x03, etc], awgtpman -s sysname -4.  Better is probably to run the start scripts which live /opt/rtcds/caltech/c1/scripts/ which kills and restarts all the process for you.



  3661   Wed Oct 6 15:56:14 2010 josephbHowToCDSHow to load matrices quickly and easily

Awhile ago I wrote several scripts for reading in medm screen matrix settings and then writing them out.  It was meant as kind of a mini-burt just for matrices for switching between a couple of different setups quickly.

Yuta has expressed interest in having this instruction available.

In /cvs/cds/caltech/scripts/matrix/ there are 4 python scripts:

saveMatrix.py, oldSaveMatrix.py, loadMatrix.py, oldLoadMatrix.py

The saveMatrix.py and loadMatrix.py are for use with the current front end codes (which start counting from 1), where as the old*.py files are for the old system.

To use saveMatrix.py you need to specify the number of inputs, outputs, and the base name of the matrix (i.e. C1:LSP-DOF2PD_MTRX is the base of C1:LSP-DOF2PD_MTRX_0_0_GAIN for example), as well as an ouptut file where the values are stored.

So to save the BS in_matrix setting you could do (from /cvs/cds/caltech/scripts/matrix/)

./saveMatrix.py -i 4 -o 5 -n "C1:SUS-BS_TO_COIL_MTRX" -f -d ./to_coil_mtrx.txt

The -i 4 indicates 4 inputs, the -o 5 indicates 5 outputs, -n "blah blah" indicates the base channel name, -f indicates a matrix bank of filters (if its just a normal matrix with no filters, drop the -f flag), and -d ./to_coil_mtrx.txt indicates the destination file.

To write the matrix, you do virtually the same thing:

./loadMatrix.py -n "C1:SUS-PRM_TO_COIL_MTRX" -f -d ./to_coil_mtrx.txt

In this case, you're writing the saved values of the BS, to the PRM.  This method might be faster if you're trying to fill in a bunch of new matrices that are identical rather than typing 1's and -1's 20 times for each matrix.

I'll have Yuta add his how-to of this to the wiki.

  3708   Wed Oct 13 18:01:43 2010 yutaHowToCDSeditting all the similar medm screens

(Joe, Yuta)

Say, you want to edit all the similar medm screens named C1SUS_NAME_XXX.adl.

1. Go to /opt/rtcds/caltech/c1/medm/master and edit C1SUS_DEFAULTNAME_XXX.adl as you like.

2. Run generate_master_screens.py.

That's it!!

  3712   Thu Oct 14 00:54:12 2010 ranaHowToCDSBad PSL Quad, so I edited the SUS MEDM screens

We found today that there was some (unforgivably un-elogged) PSL-POS & PSL-ANG work today.

The wedge splitter at the end of the PSL table is so terribly dogged that it actually moves around irreversibly if you touch the post a little. Pictures have been recorded for the hall of shame. This should be replaced with a non-pedestal / fork mount.

I was so sad about the fork clamp, that I edited the SUS Master screen instead according to Joe-Yuta instructions; see attached.Untitled.png

There's clearly several broken/white links on there, but I guess that Yuta is going to find out how to fix these from Joe in the morning.

  3733   Mon Oct 18 09:01:48 2010 steveHowToGeneralHow not to

This BNC cable is crying for help. Please do not do this to me.  It should be reported  to the  abused center.Throw this cable into the garbage now.

Attachment 1: P1060926.JPG
  3785   Tue Oct 26 12:45:20 2010 yutaHowToCDSmaking a new master file for medm screens

(Joe, Yuta)

 In elog #3708, we showed how to edit all the similar medm screens easiliy.
 But if there are no master files you want to edit in /opt/rtcds/caltech/c1/medm/master/ directory, you can make one.
 Say, you want to edit all the similar medm screens named C1SUS_NAME_XXX.adl.

1. Copy one of C1SUS_NAME_XXX.adl to /opt/rtcds/caltech/c1/medm/master/ directory as C1SUS_DEFAULTNAME_XXX.adl.

2. Go to that directory and

3. Add "_XXX.adl" to file_array list in generate_master_screens.py


5. Run ./generate_master_screens.py

That's all!!

  3787   Tue Oct 26 16:02:55 2010 yutaHowToCDSthings to do after making a new Simulink model


Things to do after making a new Simulink model.

1. ssh c1sus, go to /opt/rtcds/caltech/c1/core/advLigoRTS/ and run
 bash ./makestuff.sh c1SYS

 makestuff.sh does;

  make uninstall-daq-$*
  make clean-$*
  make $*
  make install-$*
  make install-daq-$*
  make install-screens-$*
  sed -i 's/RO \(.*SW[12]R.*\)/\1/' /opt/rtcds/caltech/c1/target/$*/$*epics/autoBurt.req

 If you don't need to re-install DAQs or screens, just run line 2,3,4, and 7 and go to step #6.

2. ssh c1sus, go to /opt/rtcds/caltech/c1/scripts/ and run
 sudo ./startc1SYS

 For now, you have to put "1" in "BURT Restore" in GDS screens with in 5-10 secs.

3. Now the DAQ channel numbers are changed. So, go to /cvs/cds/rtcds/caltech/c1/chans/daq/ and run

 activateDAQ will activate the following DAQ channels for every optics with data rate 2048Hz;

4. Restart fb. See this wiki page.
 Basically you what have to do is kill and restart daqd in fb and restart mx_streams in c1sus.

5. DONE! Burt restore if you want.

6. If you don't need to re-install DAQs or screens;
  a. Go to /opt/rtcds/caltech/c1/target/c1SYS/c1SYSepics and run
    sudo rmmod c1SYSfe

  b. Go to /opt/rtcds/caltech/c1/target/c1SYS/bin/ and run
    sudo insmod c1SYSfe.ko

  3959   Sat Nov 20 01:58:56 2010 yutaHowToCDSeditting RT models and MEDM screens

(Suresh, Yuta)

If you come up with a good idea and want to add new things to current RT model;

 1. Go to simLink directory and open matlab;
    cd /cvs/cds/rtcds/caltech/c1/core/advLigoRTS/src/epics/simLink

 2. In matlab command line, type;
    addpath lib

 3. Open a model you want to edit.
    open modelname

 4. Edit! CDS_PARTS has useful CDS parts.
    open CDS_PARTS
    There are some traps. For example, you cannot put cdsOsc in a subsystem

 5. Compile your new model. See my elog #3787.
 6. If you want to burt restore things;
    cd /cvs/cds/caltech/burt/autoburt/snapshots/YEAR/MONTH/DATE/TIME/

 7. Edit MEDM screens
    cd /cvs/cds/rtcds/caltech/c1/medm

 8. Useful wiki page on making a new suspension MEDM screens;

ELOG V3.1.3-