ODT Derived Quantity Calculator: odtcalc
Keywords: userguide

Next: ODT Table Concatenation: odtcat Up: Command Line Utilities Previous: Process Nicknames: nickname

##
ODT Derived Quantity Calculator: odtcalc

The odtcalc utility reads an ODT file on stdin that contains one or more tables, and prints to stdout an ODT file consisting of the same tables augmented by additional columns as controlled by command line arguments. This utility enables the calculation and recording of new data table columns that can be computed from existing columns.

Launching
The odtcalc launch command is:

    tclsh oommf.tcl odtcalc [standard options] [var expr unit ...] \
        <infile >outfile

where

`var expr unit ...`
  Each triplet of command line arguments determines the calculation to make for the production of a new column in the output data table. Each `var` value becomes the new `Columns:` entry in the data table header, labeling the new column of data. Each `unit` value becomes the new `Units:` entry in the data table header, reporting the measurement unit for the new column of data. Each `expr` value is a Tcl expression to be evaluated to compute each new data value to be stored in the new column of data. See below for more details.
``<`infile`
  odtcalc reads its input from stdin. Use the redirection operator ```<`'' to read input from a file.
``>`outfile`
  odtcalc writes its output to stdout. Use the redirection operator ```>`'' to send output to a file.

The computation of a new data value for each row of each new column of data is performed by passing the corresponding `expr` command line argument to Tcl's expr command. The standard collection of operators and functions are available. The value of other columns in the same row may be accessed by use of the column label as a variable name. For example, the value of the `Iteration` column can be used in `expr` by including the variable substitution `$Iteration`. When column labels include colons, the `expr` has the option of using just the portion of the column label after the last colon as the variable name. For example, the value of the `Oxs_UZeeman::Bx` column can be used in `expr` by including the variable substitution `$Bx`. When multiple triples specifying new data columns are provided, the values of earlier new columns may be used to compute the values of later new columns. The order of command line arguments controls the order of the new columns that are added to the right side of the data table.

OOMMF Documentation Team
September 29, 2018