Displaying report 1-1 of 1.
Reports until 15:00, Thursday 12 February 2015
H1 ISC
gabriele.vajente@LIGO.ORG - posted 15:00, Thursday 12 February 2015 (16697)
How to use the brute force coherence script bruco.py

The scripts you need are attached here. The main file is bruco.py

When you call the script, there are some parameters that must be set:

# Command line arguments (with default values)                                                                                                                                                                                                                   
# --ifo=L1                    interferometer prefix                                                                                                                               # --channel=OAF-CAL_YARM_DQ   name of the main channel 
# --gpsb=1087975458           starting time
# --lenght=180                amount of data to use (in seconds) 
# --outfs=8192                sampling frequency of the output results (coherence will be computed up to outfs/2 if possible) 
# --minfs=512                 skip all channels with samplig frequency smaller than this
# --naver=100                 number of averages to compute the coherence 
# --dir=bruco_1087975458      output directory    
# --top=100                   for each frequency, save to cohtab.txt and idxtab.txt this maximum number of coherence channels
# --webtop=20                 show this number of coherence channels per frequency, in the web page summary

# Command line arguments (with default values)                                                                                                                                                                                                                   

# --ifo=L1                    interferometer prefix                                                                                                                               # --channel=OAF-CAL_YARM_DQ   name of the main channel 

# --gpsb=1087975458           starting time

# --lenght=180                amount of data to use (in seconds) 

# --outfs=8192                sampling frequency of the output results (coherence will be computed up to outfs/2 if possible) 

# --minfs=512                 skip all channels with samplig frequency smaller than this

# --naver=100                 number of averages to compute the coherence 

# --dir=bruco_1087975458      output directory    

# --top=100                   for each frequency, save to cohtab.txt and idxtab.txt this maximum number of coherence channels

# --webtop=20                 show this number of coherence channels per frequency, in the web page summary

 
The scripts performs the following actions:
  1. load a list of all channels saved to the frames at the starting time
  2. use only channels with the minimum sampling frequency specified in the options
  3. delete from the list all the channels in the exclusion list. This is saved in a file called bruco_excluded_channels.txt. The names in this file can use wildcards
  4. bruco loops over all the remaining channels, compute the coherence with the main channels and:
    1. save a plot in the output directory. The top panel of the plot is the coherence in double log scale. The script compute the statistical minimum meaningful coherence based on the number of averages, and plot it a a dashed red line. The bottom panel of the plot shows the noise projection, based on the coherence. Only points above the meaningful threshold are plotted
    2. store the value of the coherence and the channel name, for each bin, if the coherence is within the top values, as listed in the parameters. This information is saved in two files cohtab.txt and idxtab.txt. Although you will never really need to use this, here is how it works. For each frequency bin, cohtab.txt lists the highest coherence values, in descending order. This is a huge nbin x nchannels table. The file idxtab.txt is a matrix with the same size, each entry being a unique id that tells you what channel corresponds to that coherence. The fiel channels.txt contains the list of all channels and their id
  5. When all channels have been processed, bruco generates a web page summary, that contains, for each frequency bin, a list in descending order of the most coherent channels. The table is color coded based on the coherence

Here is an example, that I'm running right now with the last night lock:

./bruco.py --channel=LSC-DARM_IN1_DQ --gpsb=1107760396 --lenght=600 --outfs=4096 --naver=300 --dir=/home/gabriele.vajente/public_html/bruco_1107760396 --top=100 --webtop=20 --minfs=32 --ifo=H1 

Beware that the processing of all channels takes many hours, when I run it on one machine in the Caltech cluster.

There might be some options to tune in the script, to set where the data is saved. Mainly in lines 106-109. The script is now configured for the Caltech cluster, but I imagine it should be easy to point it to different places where the data is.

As suggested by Dan and Lisa, we might try to speed the script up by running it in parallel with condor or reducing significatly the list of channels. Now, bruco automatically selects 2390 channels.

Non-image files attached to this report
Displaying report 1-1 of 1.