@BeginModule
@NewPage
@Name      = Monstat
@Title     = Monthly statistical values
@Section   = Statistical values
@Class     = Statistic
@Arguments = ifile ofile
@Operators = monmin monmax monsum monmean monavg monvar monstd

@BeginDescription
This module computes statistical values over time steps of the same month.
Depending on the actual operator the minimum, maximum, sum, average, variance
or standard deviation of time steps of the same month is written to @file{ofile}.
The date information for a time step in @file{ofile} is the date of the last 
contributing time step in @file{ifile}.
@EndDescription
@EndModule


@BeginOperator_monmin
@Title     = Monthly minimum

@BeginDescription
@IfMan
For every adjacent sequence t_1, ...,t_n of time steps of the same month, it is:

o(t,x) = min{i(t',x), t_1<t'<=t_n}
@EndifMan
@IfDoc
For every adjacent sequence \begin{math}t_1, ...,t_n\end{math} of time steps of the same month, it is: \\
@BeginMath
o(t,x) = \mbox{\bf min}\{i(t',x), t_1 < t' \leq t_n\}
@EndMath
@EndifDoc
@EndDescription
@EndOperator


@BeginOperator_monmax
@Title     = Monthly maximum

@BeginDescription
@IfMan
For every adjacent sequence t_1, ...,t_n of time steps of the same month, it is

o(t,x) = max{i(t',x), t_1<t'<=t_n}
@EndifMan
@IfDoc
For every adjacent sequence \begin{math}t_1, ...,t_n\end{math} of time steps of the same month, it is: \\
@BeginMath
o(t,x) = \mbox{\bf max}\{i(t',x), t_1 < t' \leq t_n\}
@EndMath
@EndifDoc
@EndDescription
@EndOperator


@BeginOperator_monsum
@Title     = Monthly sum

@BeginDescription
@IfMan
For every adjacent sequence t_1, ...,t_n of time steps of the same month, it is

o(t,x) = sum{i(t',x), t_1<t'<=t_n}
@EndifMan
@IfDoc
For every adjacent sequence \begin{math}t_1, ...,t_n\end{math} of time steps of the same month, it is: \\
@BeginMath
o(t,x) = \mbox{\bf sum}\{i(t',x), t_1 < t' \leq t_n\}
@EndMath
@EndifDoc
@EndDescription
@EndOperator


@BeginOperator_monmean
@Title     = Monthly mean

@BeginDescription
@IfMan
For every adjacent sequence t_1, ...,t_n of time steps of the same month, it is

o(t,x) = mean{i(t',x), t_1<t'<=t_n}
@EndifMan
@IfDoc
For every adjacent sequence \begin{math}t_1, ...,t_n\end{math} of time steps of the same month, it is: \\
@BeginMath
o(t,x) = \mbox{\bf mean}\{i(t',x), t_1 < t' \leq t_n\}
@EndMath
@EndifDoc
@EndDescription
@EndOperator


@BeginOperator_monavg
@Title     = Monthly average

@BeginDescription
@IfMan
For every adjacent sequence t_1, ...,t_n of time steps of the same month, it is

o(t,x) = avg{i(t',x), t_1<t'<=t_n}
@EndifMan
@IfDoc
For every adjacent sequence \begin{math}t_1, ...,t_n\end{math} of time steps of the same month, it is: \\
@BeginMath
o(t,x) = \mbox{\bf avg}\{i(t',x), t_1 < t' \leq t_n\}
@EndMath
@EndifDoc
@EndDescription
@EndOperator


@BeginOperator_monvar
@Title     = Monthly variance

@BeginDescription
@IfMan
For every adjacent sequence t_1, ...,t_n of time steps of the same month, it is

o(t,x) = var{i(t',x), t_1 < t' <= t_n}
@EndifMan
@IfDoc
For every adjacent sequence \begin{math}t_1, ...,t_n\end{math} of time steps of the same month, it is: \\
@BeginMath
o(t,x) = \mbox{\bf var}\{i(t',x), t_1 < t' \leq t_n\}
@EndMath
@EndifDoc
@EndDescription
@EndOperator


@BeginOperator_monstd
@Title     = Monthly standard deviation

@BeginDescription
@IfMan
For every adjacent sequence t_1, ...,t_n of time steps of the same month, it is

o(t,x) = std{i(t',x), t_1 < t' <= t_n}
@EndifMan
@IfDoc
For every adjacent sequence \begin{math}t_1, ...,t_n\end{math} of time steps of the same month, it is: \\
@BeginMath
o(t,x) = \mbox{\bf std}\{i(t',x), t_1 < t' \leq t_n\}
@EndMath
@EndifDoc
@EndDescription
@EndOperator


@BeginExample
To compute the monthy mean of a time series, use:
@BeginVerbatim
   cdo monmean ifile ofile
@EndVerbatim
@EndExample
