next up previous contents
Next: Function: read_sweptsine() Up: GRASP Routines: Reading/using Caltech Previous: Example: gwoutput program   Contents


Example: animate program

0 This example uses the function get_data() described in the previous section to produce an animated display showing the time series output of the IFO in a lower window, and a simultaneously calculated FFT power spectrum in the upper window. This output from this program must be piped into a public domain graphing program called xmgr. This may be obtained from http://plasma-gate.weizmann.ac.il/Xmgr/. http://plasma-gate.weizmann.ac.il/Xmgr/ (This lists mirror sites in the USA and Europe also). Some sample output of animate is shown in Figure [*].

Figure: Snapshot of output from animate. This shows the (whitened) CIT 40-meter IFO a few seconds after acquiring lock, before the violin modes have damped down
\begin{figure}\index{colorpage}
\begin{center}
\epsfig{file=Figures/figure7.ps,height=12cm,bbllx=15pt,bblly=60pt,
bburx=580pt,bbury=750pt}\end{center}\end{figure}

After compilation, to run the program type:
animate $\vert$ xmgr -pipe &
to get an animated display showing the data flowing by and the power spectrum changing, starting from the first locked data. You can also use this program with command-line arguments, for example
animate 100 4 500 7 900 1.5 $\vert$ xmgr -pipe &
will show the data from time $t= 100$ to time $t=104 $ seconds, then from $t=500$ to $t=507$, then from $t=900$ to $t=901.5$. Notice that the sequence of start times must be increasing.

Note: The xmgr program as commonly distributed has a simple bug that needs to be repaired, in order for the frequency scale of the Fourier transform to be correct. The corrected version of xmgr is shown in Figure [*].

Figure: The corrections to a bug in the xmgr program are indicated by the arrows above. This bug is in the routine do_fourier() in the file computils.c. This bug has been repaired in xmgr version 4.1 and greater.
\begin{figure}\hrulefill
{\tt\begin{verbatim}case 0:
==> delt=(x[ilen-1]-x[0]...
...x[0])/(ilen-1.0);
==> T=(x[ilen-1]-x[0]);\end{verbatim}}
\hrulefill
\end{figure}

Includes/animate.tex


next up previous contents
Next: Function: read_sweptsine() Up: GRASP Routines: Reading/using Caltech Previous: Example: gwoutput program   Contents
Bruce Allen 2000-11-19