Commit bdf55b81 authored by Uwe Schulzweida's avatar Uwe Schulzweida
Browse files

Docu update

parent 4f195e25
......@@ -71,6 +71,29 @@ Operator catalog:
Seltime seldate Select dates
Selbox sellonlatbox Select lon/lat box
Selbox selindexbox Select index box
-------------------------------------------------------------
Conditional selection
-------------------------------------------------------------
Cond ifthen If then
Cond ifnotthen If not then
Cond2 ifthenelse If then else
Condc ifthenc If then constant
Condc ifnotthenc If not then constant
-------------------------------------------------------------
Comparison
-------------------------------------------------------------
Comp eq Equal
Comp ne Not equal
Comp le Less equal
Comp lt Less than
Comp ge Greater equal
Comp gt Greater than
Compc eqc Equal constant
Compc nec Not equal constant
Compc lec Less equal constant
Compc ltc Less then constant
Compc gec Greater equal constant
Compc gtc Greater then constant
-------------------------------------------------------------
Modification
-------------------------------------------------------------
......@@ -139,37 +162,14 @@ Operator catalog:
Arith min Minimum of two fields
Arith max Maximum of two fields
Arith atan2 Arc tangent of two fields
Ymonarith ymonadd Add multi-year monthly time averages
Ymonarith ymonsub Subtract multi-year monthly time averages
Ymonarith ymonmul Multiply multi-year monthly time averages
Ymonarith ymondiv Divide multi-year monthly time averages
Ymonarith ymonadd Add multi-year monthly time average
Ymonarith ymonsub Subtract multi-year monthly time average
Ymonarith ymonmul Multiply multi-year monthly time average
Ymonarith ymondiv Divide multi-year monthly time average
Arithdays muldpm Multiply with days per month
Arithdays divdpm Divide by days per month
Arithdays muldpy Multiply with days per year
Arithdays divdpy Divide by days per year
-------------------------------------------------------------
Comparison
-------------------------------------------------------------
Comp eq Equal
Comp ne Not equal
Comp le Less equal
Comp lt Less than
Comp ge Greater equal
Comp gt Greater than
Compc eqc Equal constant
Compc nec Not equal constant
Compc lec Less equal constant
Compc ltc Less then constant
Compc gec Greater equal constant
Compc gtc Greater then constant
-------------------------------------------------------------
Condition
-------------------------------------------------------------
Cond ifthen If then
Cond ifnotthen If not then
Cond2 ifthenelse If then else
Condc ifthenc If then constant
Condc ifnotthenc If not then constant
-------------------------------------------------------------
Statistical values
-------------------------------------------------------------
......
No preview for this file type
......@@ -12,6 +12,11 @@ Splittime File operations
Select Selection
Seltime Selection
Selbox Selection
Cond Conditional selection
Cond2 Conditional selection
Condc Conditional selection
Comp Comparison
Compc Comparison
Set Modification
Settime Modification
Change Modification
......@@ -28,11 +33,6 @@ Arithc Arithmetic
Arith Arithmetic
Ymonarith Arithmetic
Arithdays Arithmetic
Comp Comparison
Compc Comparison
Cond Condition
Cond2 Condition
Condc Condition
Ensstat Statistical values
Fldstat Statistical values
Zonstat Statistical values
......
......@@ -991,7 +991,7 @@ sub print_description {
$line =~ s/ ifiles / {\\tt ifiles} /og;
$line =~ s/\@math\{([^}]*)\}/\\begin{math}\1\\end{math}/og;
$line =~ s/\@file\{([^}]*)\}/{\\tt \1}/og;
$line =~ s/\@oper\{([^}]*)\}/{\\bf \1}/og;
$line =~ s/\@oper\{([^}]*)\}/{\\htmlref{\1}{\1}}/og;
$line =~ s/\@var\{([^}]*)\}/{\\it \1}/og;
$line =~ s/\@mod\{([^}]*)\}/{\\htmlref{\1}{\1}}/og;
$line =~ s/\@env\{([^}]*)\}/{\\tt \1}/og;
......
@BeginModule
@NewPage
@Name = Cond
@Title = Condition with two fields
@Section = Condition
@Class = Comparison
@Title = Conditional select one field
@Section = Conditional selection
@Arguments = ifile1 ifile2 ofile
@Operators = ifthen ifnotthen
@BeginDescription
This module conditional selects fields from @file{ifile2} and writes the result to @file{ofile}.
This module conditional selects field elements from @file{ifile2} and writes the
result to @file{ofile}. The fields in @file{ifile1} are handled as a mask.
A value not equal to zero is treated as "true", zero is treated as "false".
@EndDescription
@EndModule
......@@ -59,6 +59,8 @@ o(t,x) = \left\{
@BeginExample
To select all field elements of @file{ifile2} if the corresponding field
element of @file{ifile1} is greater than 0, use:
@BeginVerbatim
cdo ifthen ifile1 ifile2 ofile
@EndVerbatim
......
@BeginModule
@Name = Cond2
@Title = Condition with tree fields
@Section = Condition
@Class = Comparison
@Title = Conditional select two fields
@Section = Conditional selection
@Arguments = ifile1 ifile2 ifile3 ofile
@Operators = ifthenelse
@BeginDescription
This operator conditional selects fields from @file{ifile2} or @file{ifile3} and writes the result to @file{ofile}.
This operator conditional selects field elements from @file{ifile2} or @file{ifile3} and
writes the result to @file{ofile}. The fields in @file{ifile1} are handled as a mask.
A value not equal to zero is treated as "true", zero is treated as "false".
@EndDescription
@EndModule
......@@ -36,9 +36,9 @@ o(t,x) = \left\{
@EndOperator
@BeginExample
To select all field elements of @file{ifile2} if the corresponding field
element of @file{ifile1} is greater than 0 and from @file{ifile3} otherwise, use:
@BeginVerbatim
cdo ifthenelse ifile1 ifile2 ifile3 ofile
@EndVerbatim
......
@BeginModule
@NewPage
@Name = Condc
@Title = Condition with a field and a constant
@Section = Condition
@Class = Comparison
@Title = Conditional select a constant
@Section = Conditional selection
@Arguments = ifile ofile
@Operators = ifthenc ifnotthenc
@BeginDescription
This module creates fields with a constant or missing value.
This module creates fields with a constant value or missing value.
The fields in @file{ifile1} are handled as a mask.
A value not equal to zero is treated as "true", zero is treated as "false".
@EndDescription
@EndModule
......@@ -67,7 +67,9 @@ FLOAT Constant
@BeginExample
To create fields with the constant value 7 if the corresponding field element
of @file{ifile} is greater than 0, use:
@BeginVerbatim
cdo ifthenc,7 ifile1 ifile2 ofile
cdo ifthenc,7 ifile ofile
@EndVerbatim
@EndExample
......@@ -47,7 +47,8 @@ For a detailed description of this interpolation method see @cite{PINGO}.
@Parameter = grid
@BeginDescription
Performs a bilinear interpolation on all input fields.
Performs a bilinear interpolation on all input fields. This is a faster
implementation than @oper{remapbil}. Missing values are not supported yet!
@EndDescription
@EndOperator
......@@ -70,3 +71,12 @@ Linear point interpolation.
@Item = grid
STRING Target grid description file or name
@EndParameter
@BeginExample
Say @file{ifile} contains fields on a rectangular grid.
To interpolate all fields bilinear to a T42 gaussian grid, use:
@BeginVerbatim
cdo intgridbil,t42grid ifile ofile
@EndVerbatim
@EndExample
@BeginModule
@NewPage
@Name = Ninfo
@Title = Print numbers
@Title = Print the number of variables, levels or times
@Section = Information
@Class = Information
@Arguments = ifile
@Operators = ncode nvar nlevel nyear nmon ndate ntime
@BeginDescription
This module prints, according to the actual operator name,
the number of variables, levels or times of the input dataset.
@EndDescription
@EndModule
......
@BeginModule
@NewPage
@Name = Showinfo
@Title = Show
@Title = Show variables, levels or times
@Section = Information
@Class = Information
@Arguments = ifile
@Operators = showcode showvar showlevel showyear showmon showdate showtime
@BeginDescription
This module prints, according to the actual operator name,
the variables, levels or times of the input dataset.
@EndDescription
@EndModule
......
......@@ -22,7 +22,7 @@ the orography (GEOSP/code129) is also needed.
@Parameter = plevels
@BeginDescription
Interpolate 3D variables on hybrid model level to pressure level.
Interpolates 3D variables on hybrid model level to pressure level.
@EndDescription
@EndOperator
......@@ -32,7 +32,10 @@ Interpolate 3D variables on hybrid model level to pressure level.
@Parameter = hlevels
@BeginDescription
Interpolate 3D variables on hybrid model level to height level.
Interpolates 3D variables on hybrid model level to height level.
The procedure is the same as for operator @oper{mh2pl} except that
the pressure levels are calculated from the heights by:
@math{plev = 101325*exp(hlev/-7000)}
@EndDescription
@EndOperator
......
......@@ -19,40 +19,44 @@ by a call of the module @mod{YMONSTAT}.
@BeginOperator_ymonadd
@Title = Add multi-year monthly time averages
@Title = Add multi-year monthly time average
@BeginDescription
Adds a time series and a multi-year monthly time averages.
Adds a time series and a multi-year monthly time average.
@EndDescription
@EndOperator
@BeginOperator_ymonsub
@Title = Subtract multi-year monthly time averages
@Title = Subtract multi-year monthly time average
@BeginDescription
Subtracts a time series and a multi-year monthly time averages.
Subtracts a time series and a multi-year monthly time average.
@EndDescription
@EndOperator
@BeginOperator_ymonmul
@Title = Multiply multi-year monthly time averages
@Title = Multiply multi-year monthly time average
@BeginDescription
Multiplies a time series and a multi-year monthly time averages.
Multiplies a time series and a multi-year monthly time average.
@EndDescription
@EndOperator
@BeginOperator_ymondiv
@Title = Divide multi-year monthly time averages
@Title = Divide multi-year monthly time average
@BeginDescription
Divides a time series and a multi-year monthly time averages.
Divides a time series and a multi-year monthly time average.
@EndDescription
@EndOperator
#@BeginExample
#@EndExample
@BeginExample
To subtract a multi-year monthly time average from a time series, use:
@BeginVerbatim
cdo ymonsub ifile -ymonavg ifile ofile
@EndVerbatim
@EndExample
This section contains modules to conditional select field elements.
The fields in the first input file are handled as a mask.
A value not equal to zero is treated as "true", zero is treated as "false".
......@@ -87,12 +87,15 @@ static char *DiffHelp[] = {
static char *NinfoHelp[] = {
"NAME",
" ncode, nvar, nlevel, nyear, nmon, ndate, ntime - Print numbers",
" ncode, nvar, nlevel, nyear, nmon, ndate, ntime - ",
" Print the number of variables, levels or times",
"",
"SYNOPSIS",
" <operator> ifile",
"",
"DESCRIPTION",
" This module prints, according to the actual operator name,",
" the number of variables, levels or times of the input dataset.",
"",
"OPERATORS",
" ncode Number of codes",
......@@ -114,12 +117,15 @@ static char *NinfoHelp[] = {
static char *ShowinfoHelp[] = {
"NAME",
" showcode, showvar, showlevel, showyear, showmon, showdate, showtime - Show",
" showcode, showvar, showlevel, showyear, showmon, showdate, showtime - ",
" Show variables, levels or times",
"",
"SYNOPSIS",
" <operator> ifile",
"",
"DESCRIPTION",
" This module prints, according to the actual operator name,",
" the variables, levels or times of the input dataset.",
"",
"OPERATORS",
" showcode Show codes",
......@@ -440,6 +446,159 @@ static char *SelboxHelp[] = {
NULL
};
static char *CondHelp[] = {
"NAME",
" ifthen, ifnotthen - Conditional select one field",
"",
"SYNOPSIS",
" <operator> ifile1 ifile2 ofile",
"",
"DESCRIPTION",
" This module conditional selects field elements from ifile2 and writes the ",
" result to ofile. The fields in ifile1 are handled as a mask. ",
" A value not equal to zero is treated as \"true\", zero is treated as \"false\".",
"",
"OPERATORS",
" ifthen If then",
" / i_2(t,x) if i_1(t,x) NE 0 AND i_1(t,x) NE miss",
" o(t,x) =",
" \\ miss if i_1(t,x) EQ 0 OR i_1(t,x) EQ miss",
" ifnotthen If not then",
" / i_2(t,x) if i_1(t,x) EQ 0 AND i_1(t,x) NE miss",
" o(t,x) = ",
" \\ miss if i_1(t,x) NE 0 OR i_1(t,x) EQ miss",
NULL
};
static char *Cond2Help[] = {
"NAME",
" ifthenelse - Conditional select two fields",
"",
"SYNOPSIS",
" ifthenelse ifile1 ifile2 ifile3 ofile",
"",
"DESCRIPTION",
" This operator conditional selects field elements from ifile2 or ifile3 and ",
" writes the result to ofile. The fields in ifile1 are handled as a mask.",
" A value not equal to zero is treated as \"true\", zero is treated as \"false\".",
" / i_2(t,x) if i_1(t,x) NE 0 AND i_1(t,x) NE miss",
" o(t,x) = < i_3(t,x) if i_1(t,x) EQ 0 AND i_1(t,x) NE miss",
" \\ miss if i_1(t,x) EQ miss",
NULL
};
static char *CondcHelp[] = {
"NAME",
" ifthenc, ifnotthenc - Conditional select a constant",
"",
"SYNOPSIS",
" <operator>,c ifile ofile",
"",
"DESCRIPTION",
" This module creates fields with a constant value or missing value.",
" The fields in ifile1 are handled as a mask.",
" A value not equal to zero is treated as \"true\", zero is treated as \"false\".",
"",
"OPERATORS",
" ifthenc If then constant",
" / c if i(t,x) NE 0 AND i(t,x) NE miss",
" o(t,x) =",
" \\ miss if i(t,x) EQ 0 OR i(t,x) EQ miss",
" ifnotthenc If not then constant",
" / c if i(t,x) EQ 0 AND i(t,x) NE miss",
" o(t,x) =",
" \\ miss if i(t,x) NE 0 OR i(t,x) EQ miss",
"",
"PARAMETER",
" c FLOAT Constant",
NULL
};
static char *CompHelp[] = {
"NAME",
" eq, ne, le, lt, ge, gt - Comparison of two fields",
"",
"SYNOPSIS",
" <operator> ifile1 ifile2 ofile",
"",
"DESCRIPTION",
" This module compares two datasets field by field. The resulting",
" field is a mask with 1 if the comparison is true and 0 if the",
" comparison is false. The type of the comparison depends on the",
" actual operator name.",
"",
"OPERATORS",
" eq Equal",
" / 1 if i_1(t,x) EQ i_2(t,x) AND i_1(t,x),i_2(t,x) NE miss",
" o(t,x) = < 0 if i_1(t,x) NE i_2(t,x) AND i_1(t,x),i_2(t,x) NE miss",
" \\ miss if i_1(t,x) EQ miss OR i_2(t,x) EQ miss",
" ne Not equal",
" / 1 if i_1(t,x) NE i_2(t,x) AND i_1(t,x),i_2(t,x) NE miss",
" o(t,x) = < 0 if i_1(t,x) EQ i_2(t,x) AND i_1(t,x),i_2(t,x) NE miss",
" \\ miss if i_1(t,x) EQ miss OR i_2(t,x) EQ miss",
" le Less equal",
" / 1 if i_1(t,x) LE i_2(t,x) AND i_1(t,x),i_2(t,x) NE miss",
" o(t,x) = < 0 if i_1(t,x) GT i_2(t,x) AND i_1(t,x),i_2(t,x) NE miss",
" \\ miss if i_1(t,x) EQ miss OR i_2(t,x) EQ miss",
" lt Less than",
" / 1 if i_1(t,x) LT i_2(t,x) AND i_1(t,x),i_2(t,x) NE miss",
" o(t,x) = < 0 if i_1(t,x) GE i_2(t,x) AND i_1(t,x),i_2(t,x) NE miss",
" \\ miss if i_1(t,x) EQ miss OR i_2(t,x) EQ miss",
" ge Greater equal",
" / 1 if i_1(t,x) GE i_2(t,x) AND i_1(t,x),i_2(t,x) NE miss",
" o(t,x) = < 0 if i_1(t,x) LT i_2(t,x) AND i_1(t,x),i_2(t,x) NE miss",
" \\ miss if i_1(t,x) EQ miss OR i_2(t,x) EQ miss",
" gt Greater than",
" / 1 if i_1(t,x) GT i_2(t,x) AND i_1(t,x),i_2(t,x) NE miss",
" o(t,x) = < 0 if i_1(t,x) LE i_2(t,x) AND i_1(t,x),i_2(t,x) NE miss",
" \\ miss if i_1(t,x) EQ miss OR i_2(t,x) EQ miss",
NULL
};
static char *CompcHelp[] = {
"NAME",
" eqc, nec, lec, ltc, gec, gtc - Comparison of a field with a constant",
"",
"SYNOPSIS",
" <operator>,c ifile ofile",
"",
"DESCRIPTION",
" This module compares all fields of dataset with a constant. The resulting",
" field is a mask with 1 if the comparison is true and 0 if the comparison ",
" is false. The type of the comparison depends on the",
" actual operator name.",
"",
"OPERATORS",
" eqc Equal constant",
" / 1 if i(t,x) EQ c AND i(t,x),c NE miss",
" o(t,x) = < 0 if i(t,x) NE c AND i(t,x),c NE miss",
" \\ miss if i(t,x) EQ miss OR c EQ miss",
" nec Not equal constant",
" / 1 if i(t,x) NE c AND i(t,x),c NE miss",
" o(t,x) = < 0 if i(t,x) EQ c AND i(t,x),c NE miss",
" \\ miss if i(t,x) EQ miss OR c EQ miss",
" lec Less equal constant",
" / 1 if i(t,x) LE c AND i(t,x),c NE miss",
" o(t,x) = < 0 if i(t,x) GT c AND i(t,x),c NE miss",
" \\ miss if i(t,x) EQ miss OR c EQ miss",
" ltc Less then constant",
" / 1 if i(t,x) LT c AND i(t,x),c NE miss",
" o(t,x) = < 0 if i(t,x) GE c AND i(t,x),c NE miss",
" \\ miss if i(t,x) EQ miss OR c EQ miss",
" gec Greater equal constant",
" / 1 if i(t,x) GE c AND i(t,x),c NE miss",
" o(t,x) = < 0 if i(t,x) LT c AND i(t,x),c NE miss",
" \\ miss if i(t,x) EQ miss OR c EQ miss",
" gtc Greater then constant",
" / 1 if i(t,x) GT c AND i(t,x),c NE miss",
" o(t,x) = < 0 if i(t,x) LE c AND i(t,x),c NE miss",
" \\ miss if i(t,x) EQ miss OR c EQ miss",
"",
"PARAMETER",
" c FLOAT Constant",
NULL
};
static char *SetHelp[] = {
"NAME",
" setpartab, setcode, setvar, setlevel - Set field info",
......@@ -907,14 +1066,14 @@ static char *YmonarithHelp[] = {
" by a call of the module YMONSTAT.",
"",
"OPERATORS",
" ymonadd Add multi-year monthly time averages",
" Adds a time series and a multi-year monthly time averages.",
" ymonsub Subtract multi-year monthly time averages",
" Subtracts a time series and a multi-year monthly time averages.",
" ymonmul Multiply multi-year monthly time averages",
" Multiplies a time series and a multi-year monthly time averages.",
" ymondiv Divide multi-year monthly time averages",
" Divides a time series and a multi-year monthly time averages.",
" ymonadd Add multi-year monthly time average",
" Adds a time series and a multi-year monthly time average.",
" ymonsub Subtract multi-year monthly time average",
" Subtracts a time series and a multi-year monthly time average.",
" ymonmul Multiply multi-year monthly time average",
" Multiplies a time series and a multi-year monthly time average.",
" ymondiv Divide multi-year monthly time average",
" Divides a time series and a multi-year monthly time average.",
NULL
};
......@@ -941,156 +1100,6 @@ static char *ArithdaysHelp[] = {
NULL
};
static char *CompHelp[] = {
"NAME",
" eq, ne, le, lt, ge, gt - Comparison of two fields",
"",
"SYNOPSIS",
" <operator> ifile1 ifile2 ofile",
"",
"DESCRIPTION",
" This module compares two datasets field by field. The resulting",
" field is a mask with 1 if the comparison is true and 0 if the",
" comparison is false. The type of the comparison depends on the",
" actual operator name.",
"",
"OPERATORS",
" eq Equal",
" / 1 if i_1(t,x) EQ i_2(t,x) AND i_1(t,x),i_2(t,x) NE miss",
" o(t,x) = < 0 if i_1(t,x) NE i_2(t,x) AND i_1(t,x),i_2(t,x) NE miss",
" \\ miss if i_1(t,x) EQ miss OR i_2(t,x) EQ miss",
" ne Not equal",
" / 1 if i_1(t,x) NE i_2(t,x) AND i_1(t,x),i_2(t,x) NE miss",
" o(t,x) = < 0 if i_1(t,x) EQ i_2(t,x) AND i_1(t,x),i_2(t,x) NE miss",
" \\ miss if i_1(t,x) EQ miss OR i_2(t,x) EQ miss",
" le Less equal",
" / 1 if i_1(t,x) LE i_2(t,x) AND i_1(t,x),i_2(t,x) NE miss",
" o(t,x) = < 0 if i_1(t,x) GT i_2(t,x) AND i_1(t,x),i_2(t,x) NE miss",
" \\ miss if i_1(t,x) EQ miss OR i_2(t,x) EQ miss",
" lt Less than",
" / 1 if i_1(t,x) LT i_2(t,x) AND i_1(t,x),i_2(t,x) NE miss",
" o(t,x) = < 0 if i_1(t,x) GE i_2(t,x) AND i_1(t,x),i_2(t,x) NE miss",
" \\ miss if i_1(t,x) EQ miss OR i_2(t,x) EQ miss",
" ge Greater equal",
" / 1 if i_1(t,x) GE i_2(t,x) AND i_1(t,x),i_2(t,x) NE miss",
" o(t,x) = < 0 if i_1(t,x) LT i_2(t,x) AND i_1(t,x),i_2(t,x) NE miss",
" \\ miss if i_1(t,x) EQ miss OR i_2(t,x) EQ miss",
" gt Greater than",
" / 1 if i_1(t,x) GT i_2(t,x) AND i_1(t,x),i_2(t,x) NE miss",
" o(t,x) = < 0 if i_1(t,x) LE i_2(t,x) AND i_1(t,x),i_2(t,x) NE miss",
" \\ miss if i_1(t,x) EQ miss OR i_2(t,x) EQ miss",
NULL
};
static char *CompcHelp[] = {
"NAME",
" eqc, nec, lec, ltc, gec, gtc - Comparison of a field with a constant",
"",
"SYNOPSIS",
" <operator>,c ifile ofile",
"",
"DESCRIPTION",
" This module compares all fields of dataset with a constant. The resulting",
" field is a mask with 1 if the comparison is true and 0 if the comparison ",
" is false. The type of the comparison depends on the",
" actual operator name.",
"",
"OPERATORS",
" eqc Equal constant",
" / 1 if i(t,x) EQ c AND i(t,x),c NE miss",
" o(t,x) = < 0 if i(t,x) NE c AND i(t,x),c NE miss",
" \\ miss if i(t,x) EQ miss OR c EQ miss",
" nec Not equal constant",
" / 1 if i(t,x) NE c AND i(t,x),c NE miss",
" o(t,x) = < 0 if i(t,x) EQ c AND i(t,x),c NE miss",
" \\ miss if i(t,x) EQ miss OR c EQ miss",
" lec Less equal constant",
" / 1 if i(t,x) LE c AND i(t,x),c NE miss",
" o(t,x) = < 0 if i(t,x) GT c AND i(t,x),c NE miss",
" \\ miss if i(t,x) EQ miss OR c EQ miss",
" ltc Less then constant",
" / 1 if i(t,x) LT c AND i(t,x),c NE miss",
" o(t,x) = < 0 if i(t,x) GE c AND i(t,x),c NE miss",
" \\ miss if i(t,x) EQ miss OR c EQ miss",
" gec Greater equal constant",
" / 1 if i(t,x) GE c AND i(t,x),c NE miss",
" o(t,x) = < 0 if i(t,x) LT c AND i(t,x),c NE miss",
" \\ miss if i(t,x) EQ miss OR c EQ miss",
" gtc Greater then constant",
" / 1 if i(t,x) GT c AND i(t,x),c NE miss",
" o(t,x) = < 0 if i(t,x) LE c AND i(t,x),c NE miss",
" \\ miss if i(t,x) EQ miss OR c EQ miss",
"",
"PARAMETER",
" c FLOAT Constant",
NULL
};
static char *CondHelp[] = {
"NAME",
" ifthen, ifnotthen - Condition with two fields",
"",
"SYNOPSIS",
" <operator> ifile1 ifile2 ofile",
"",
"DESCRIPTION",
" This module conditional selects fields from ifile2 and writes the result to ofile."