@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 chosen 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 of 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 monthly mean of a time series use:
@BeginVerbatim
   cdo monmean ifile ofile
@EndVerbatim
@EndExample
