next up previous contents
Next: Swept-sine calibration information Up: GRASP Routines: Reading/using FRAME Previous: Example: gwoutputF program   Contents


Example: animateF program

0 This example uses the function fget_ch() 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. To run this program, type
setenv GRASP_FRAMEPATH /usr/local/GRASP/18nov94.1frame
animateF | xmgr -pipe
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 animateF is shown in Figure [*].

Figure: Snapshot of output from animateF. 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:
animateF $\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
animateF 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 start times are measured relative to the first data point in the first frame of data.

Note 1: 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 corrected 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}

Note 2: Two closely related programs animateT and animateF are also included. animateT is identical to animateF except that it does not assume that the data is in shorts. Hence it is appropriate, for example, for producing an animated display of `trend' files in which frames contain channels stored as doubles. animateS is designed to produce an animated display of data from a channel name `SLOW'. This channel is used as a way of packing a approximately 230 channels sampled at 1Hz into a single fake channel (incorrectly labelled with sample rate 256Hz).

Includes/animateF.tex


next up previous contents
Next: Swept-sine calibration information Up: GRASP Routines: Reading/using FRAME Previous: Example: gwoutputF program   Contents
Bruce Allen 2000-11-19