@BeginModule
@NewPage
@Name      = Diff
@Title     = Compare two datasets field by field
@Section   = Information
@Class     = Information
@Arguments = ifile1 ifile2
@Operators = diff diffn

@BeginDescription
Compares the contents of two datasets field by field. The input
datasets need to have the same structure and its fields need to have 
the same header information and dimensions.
@EndDescription
@EndModule


@BeginOperator_diff
@Title     = Compare two datasets listed by parameter id

@BeginDescription
Provides statistics on differences between two datasets.
For each pair of fields the operator prints one line with the following information:
@BeginItemize
@Item = Date and Time
@Item = Level, Gridsize and number of Missing values
@Item = Occurrence of coefficient pairs with different signs (S)
@Item = Occurrence of zero values (Z)
@Item = Maxima of absolute difference of coefficient pairs
@Item = Maxima of relative difference of non-zero coefficient pairs with equal signs
@Item = Parameter identifier
@EndItemize
@IfDoc
\begin{displaymath}
        Absdiff(t,x) = \left| i_1(t,x) - i_2(t,x) \right|
\end{displaymath}
\begin{displaymath}
        Reldiff(t,x) = \frac{\left| i_1(t,x) - i_2(t,x) \right|}{\mbox{max}(\left| i_1(t,x) \right| , \left| i_2(t,x) \right| )}
\end{displaymath}
@EndifDoc
@EndDescription
@EndOperator


@BeginOperator_diffn
@Title     = Compare two datasets listed by parameter name

@BeginDescription
The same as operator @oper{diff}. Using the name instead of the
identifier to label the parameter.
@EndDescription
@EndOperator


@BeginExample
To print the difference for each field of two datasets use:
@BeginVerbatim
   cdo diffn ifile1 ifile2
@EndVerbatim
This is an example result of two datasets with one 2D parameter over 12 timesteps:
@BeginListing
             Date     Time Level Size Miss : S Z Max_Absdiff Max_Reldiff : Name  
   1 : 1987-01-31 12:00:00     0 2048 1361 : F F  0.00010681  4.1660e-07 : SST   
   2 : 1987-02-28 12:00:00     0 2048 1361 : F F  6.1035e-05  2.3742e-07 : SST   
   3 : 1987-03-31 12:00:00     0 2048 1361 : F F  7.6294e-05  3.3784e-07 : SST   
   4 : 1987-04-30 12:00:00     0 2048 1361 : F F  7.6294e-05  3.5117e-07 : SST   
   5 : 1987-05-31 12:00:00     0 2048 1361 : F F  0.00010681  4.0307e-07 : SST   
   6 : 1987-06-30 12:00:00     0 2048 1361 : F F  0.00010681  4.2670e-07 : SST   
   7 : 1987-07-31 12:00:00     0 2048 1361 : F F  9.1553e-05  3.5634e-07 : SST   
   8 : 1987-08-31 12:00:00     0 2048 1361 : F F  7.6294e-05  2.8849e-07 : SST   
   9 : 1987-09-30 12:00:00     0 2048 1361 : F F  7.6294e-05  3.6168e-07 : SST   
  10 : 1987-10-31 12:00:00     0 2048 1361 : F F  9.1553e-05  3.5001e-07 : SST   
  11 : 1987-11-30 12:00:00     0 2048 1361 : F F  6.1035e-05  2.3839e-07 : SST   
  12 : 1987-12-31 12:00:00     0 2048 1361 : F F  9.3553e-05  3.7624e-07 : SST   
@EndListing
@EndExample
