Files with a .edf
extension are used to define
the extraction of experimental data from the raw data files
written by the lgr
program to SNAFU spreadsheet
format, which is more suitable for data analysis. The
edf2ext
compiler converts these definitions into TMC
code, which is in turn compiled to C and linked into an
executable which performs the actual extraction.
The SNAFU spreadsheet format is not the only possible format for
data analysis, and creating other methods of extraction is not
difficult. The .tmc
output from edf2ext
can be used as a starting point for the development of
alternative extractions.
An .edf
file defines extraction to one or more
spreadsheets. Each spreadsheet must be identified by name and the
number of columns. An optional keyword, separate
can
be added, which is explained later.
spreadsheet <name> <n_columns> [ separate ]
After the spreadsheet is identified, the columns to which data is to be extracted are defined:
<column> <mnemonic> <format> [ <conversion> ]
<column>
is the column number, which must be
greater than zero and less than the number of columns in the
spreadsheet. Column zero is reserved for Time.
<mnemonic>
is the datum mnemonic which must
correspond to a TMC definition.
<format>
is a C-style output format which
SNAFU can use to display the data. (SNAFU supports some extensions
to the C formats. Refer to the SNAFU manual for details.)
<conversion>
is an optional parameter which
allows you to override the conversion defined for the mnemonic's
TMC type. This is useful, for example, if you would like to
extract the raw, unconverted data or use a more sophisticated
conversion than the one used for realtime display.
At any point in the file, the keyword init_only
may
be specified to suppress the generation of the code which places
each data point into the spreadsheet. This is useful when you
wish to take more direct control of how data is written to the
spreadsheet or when multiple numbered spreadsheets are required
from a single specification (e.g. one for each scan).
Another method for controlling what data goes into a spreadsheet
is the condition
keyword. This may be placed on the
line immediately following spreadsheet
and includes
a conditional statement which defines which values should be
included. For example:
spreadsheet foo 5
condition if ( status == 7 )
or
spreadsheet foo 5
condition depending on ( SCANNING )
The optional separate
keyword indicates that each
column should be inserted when it is received independent of the
rates of the other data in the spreadsheet. By default, data is
inserted into the spreadsheet at the rate of the slowest channel
in the spreadsheet. When separate
is in effect,
slower-rate channels will have blank cells when the higher-rate
data is inserted. This is rarely useful. More commonly, data is
segregated by rate and then combined as appropriate using SNAFU's
merge capabilities.
Return to Manuals Guide
last updated: Wed Jul 18 15:10 2012 | webmaster@huarp.harvard.edu |
Copyright 1995 by the President and Fellows of Harvard College |