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

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


@BeginOperator_monmin
@Title     = Monthly minimum

@BeginDescription
@IfMan
For every adjacent sequence t_1, ...,t_n of timesteps 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 timesteps 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 timesteps 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 timesteps 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 timesteps 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 timesteps 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 timesteps 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 timesteps 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 timesteps 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 timesteps 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
Divisor is n. For every adjacent sequence t_1, ...,t_n of timesteps of the same month it is

o(t,x) = var{i(t',x), t_1 < t' <= t_n}
@EndifMan
@IfDoc
Divisor is n. For every adjacent sequence \begin{math}t_1, ...,t_n\end{math} of timesteps 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_monvar1
@Title     = Monthly variance

@BeginDescription
@IfMan
Divisor is (n-1). For every adjacent sequence t_1, ...,t_n of timesteps of the same month it is

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


@BeginOperator_monstd
@Title     = Monthly standard deviation

@BeginDescription
@IfMan
Divisor is n. For every adjacent sequence t_1, ...,t_n of timesteps of the same month it is

o(t,x) = std{i(t',x), t_1 < t' <= t_n}
@EndifMan
@IfDoc
Divisor is n. For every adjacent sequence \begin{math}t_1, ...,t_n\end{math} of timesteps 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


@BeginOperator_monstd1
@Title     = Monthly standard deviation

@BeginDescription
@IfMan
Divisor is (n-1). For every adjacent sequence t_1, ...,t_n of timesteps of the same month it is

o(t,x) = std1{i(t',x), t_1 < t' <= t_n}
@EndifMan
@IfDoc
Divisor is (n-1). For every adjacent sequence \begin{math}t_1, ...,t_n\end{math} of timesteps of the same month it is: \\
@BeginMath
o(t,x) = \mbox{\bf std1}\{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
