@BeginModule
@NewPage
@Name      = Ymonstat
@Title     = Multi-year monthly statistical values
@Section   = Statistical values
@Class     = Statistic
@Arguments = ifile ofile
@Operators = ymonmin ymonmax ymonsum ymonmean ymonavg ymonvar ymonstd

@BeginDescription
This module writes to @file{ofile}, according to the actual operator,
the minimum, maximum, sum, average, variance or standard deviation  of each 
month of year in @file{ifile}. The date information in an output field is 
the date of the last contributing input field.
@EndDescription
@EndModule


@BeginOperator_ymonmin
@Title     = Multi-year monthly minimum

@BeginDescription
@IfMan
o(01,x) = min{i(t,x), month(i(t)) = 01}
                 ...
o(12,x) = min{i(t,x), month(i(t)) = 12}
@EndifMan
@IfDoc
@BeginMath
\begin{array}{c}
o(\mbox{01},x) = \mbox{\bf min}\{i(t,x), \mbox{month}(i(t)) = \mbox{01}\} \\
\vdots \\
o(\mbox{12},x) = \mbox{\bf min}\{i(t,x), \mbox{month}(i(t)) = \mbox{12}\} \\
\end{array}
@EndMath
@EndifDoc
@EndDescription
@EndOperator


@BeginOperator_ymonmax
@Title     = Multi-year monthly maximum

@BeginDescription
@IfMan
o(01,x) = max{i(t,x), month(i(t)) = 01}
                 ...
o(12,x) = max{i(t,x), month(i(t)) = 12}
@EndifMan
@IfDoc
@BeginMath
\begin{array}{c}
o(\mbox{01},x) = \mbox{\bf max}\{i(t,x), \mbox{month}(i(t)) = \mbox{01}\} \\
\vdots \\
o(\mbox{12},x) = \mbox{\bf max}\{i(t,x), \mbox{month}(i(t)) = \mbox{12}\} \\
\end{array}
@EndMath
@EndifDoc
@EndDescription
@EndOperator


@BeginOperator_ymonsum
@Title     = Multi-year monthly sum

@BeginDescription
@IfMan
o(01,x) = sum{i(t,x), month(i(t)) = 01}
                 ...
o(12,x) = sum{i(t,x), month(i(t)) = 12}
@EndifMan
@IfDoc
@BeginMath
\begin{array}{c}
o(\mbox{01},x) = \mbox{\bf sum}\{i(t,x), \mbox{month}(i(t)) = \mbox{01}\} \\
\vdots \\
o(\mbox{12},x) = \mbox{\bf sum}\{i(t,x), \mbox{month}(i(t)) = \mbox{12}\} \\
\end{array}
@EndMath
@EndifDoc
@EndDescription
@EndOperator


@BeginOperator_ymonmean
@Title     = Multi-year monthly mean

@BeginDescription
@IfMan
o(01,x) = mean{i(t,x), month(i(t)) = 01}
                 ...
o(12,x) = mean{i(t,x), month(i(t)) = 12}
@EndifMan
@IfDoc
@BeginMath
\begin{array}{c}
o(\mbox{01},x) = \mbox{\bf mean}\{i(t,x), \mbox{month}(i(t)) = \mbox{01}\} \\
\vdots \\
o(\mbox{12},x) = \mbox{\bf mean}\{i(t,x), \mbox{month}(i(t)) = \mbox{12}\} \\
\end{array}
@EndMath
@EndifDoc
@EndDescription
@EndOperator


@BeginOperator_ymonavg
@Title     = Multi-year monthly average

@BeginDescription
@IfMan
o(01,x) = avg{i(t,x), month(i(t)) = 01}
                 ...
o(12,x) = avg{i(t,x), month(i(t)) = 12}
@EndifMan
@IfDoc
@BeginMath
\begin{array}{c}
o(\mbox{01},x) = \mbox{\bf avg}\{i(t,x), \mbox{month}(i(t)) = \mbox{01}\} \\
\vdots \\
o(\mbox{12},x) = \mbox{\bf avg}\{i(t,x), \mbox{month}(i(t)) = \mbox{12}\} \\
\end{array}
@EndMath
@EndifDoc
@EndDescription
@EndOperator


@BeginOperator_ymonvar
@Title     = Multi-year monthly variance

@BeginDescription
@IfMan
o(01,x) = var{i(t,x), month(i(t)) = 01}
                 ...
o(12,x) = var{i(t,x), month(i(t)) = 12}
@EndifMan
@IfDoc
@BeginMath
\begin{array}{c}
o(\mbox{01},x) = \mbox{\bf var}\{i(t,x), \mbox{month}(i(t)) = \mbox{01}\} \\
\vdots \\
o(\mbox{12},x) = \mbox{\bf var}\{i(t,x), \mbox{month}(i(t)) = \mbox{12}\} \\
\end{array}
@EndMath
@EndifDoc
@EndDescription
@EndOperator


@BeginOperator_ymonstd
@Title     = Multi-year monthly standard deviation

@BeginDescription
@IfMan
o(01,x) = std{i(t,x), month(i(t)) = 01}
                 ...
o(12,x) = std{i(t,x), month(i(t)) = 12}
@EndifMan
@IfDoc
@BeginMath
\begin{array}{c}
o(\mbox{01},x) = \mbox{\bf std}\{i(t,x), \mbox{month}(i(t)) = \mbox{01}\} \\
\vdots \\
o(\mbox{12},x) = \mbox{\bf std}\{i(t,x), \mbox{month}(i(t)) = \mbox{12}\} \\
\end{array}
@EndMath
@EndifDoc
@EndDescription
@EndOperator


@BeginExample
To compute the monthly mean over all input years, use:
@BeginVerbatim
   cdo ymonmean ifile ofile
@EndVerbatim
@EndExample
