@BeginModule
@NewPage
@Name      = Hourstat
@Title     = Hourly statistical values
@Section   = Statistical values
@Class     = Statistic
@Arguments = ifile ofile
@Operators = hourmin hourmax hoursum hourmean houravg hourvar hourstd

@BeginDescription
This module computes statistical values over time steps of the same hour.
Depending on the chosen operator the minimum, maximum, sum, average, variance
or standard deviation of time steps of the same hour 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_hourmin
@Title     = Hourly minimum

@BeginDescription
@IfMan
For every adjacent sequence t_1, ...,t_n of time steps of the same hour 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 hour it is: \\
@BeginMath
o(t,x) = \mbox{\bf min}\{i(t',x), t_1 < t' \leq t_n\}
@EndMath
@EndifDoc
@EndDescription
@EndOperator


@BeginOperator_hourmax
@Title     = Hourly maximum

@BeginDescription
@IfMan
For every adjacent sequence t_1, ...,t_n of time steps of the same hour 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 hour it is: \\
@BeginMath
o(t,x) = \mbox{\bf max}\{i(t',x), t_1 < t' \leq t_n\}
@EndMath
@EndifDoc
@EndDescription
@EndOperator


@BeginOperator_hoursum
@Title     = Hourly sum

@BeginDescription
@IfMan
For every adjacent sequence t_1, ...,t_n of time steps of the same hour 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 hour it is: \\
@BeginMath
o(t,x) = \mbox{\bf sum}\{i(t',x), t_1 < t' \leq t_n\}
@EndMath
@EndifDoc
@EndDescription
@EndOperator


@BeginOperator_hourmean
@Title     = Hourly mean

@BeginDescription
@IfMan
For every adjacent sequence t_1, ...,t_n of time steps of the same hour 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 hour it is: \\
@BeginMath
o(t,x) = \mbox{\bf mean}\{i(t',x), t_1 < t' \leq t_n\}
@EndMath
@EndifDoc
@EndDescription
@EndOperator


@BeginOperator_houravg
@Title     = Hourly average

@BeginDescription
@IfMan
For every adjacent sequence t_1, ...,t_n of time steps of the same hour 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 hour it is: \\
@BeginMath
o(t,x) = \mbox{\bf avg}\{i(t',x), t_1 < t' \leq t_n\}
@EndMath
@EndifDoc
@EndDescription
@EndOperator


@BeginOperator_hourvar
@Title     = Hourly variance

@BeginDescription
@IfMan
For every adjacent sequence t_1, ...,t_n of time steps of the same hour 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 hour it is: \\
@BeginMath
o(t,x) = \mbox{\bf var}\{i(t',x), t_1 < t' \leq t_n\}
@EndMath
@EndifDoc
@EndDescription
@EndOperator


@BeginOperator_hourstd
@Title     = Hourly standard deviation

@BeginDescription
@IfMan
For every adjacent sequence t_1, ...,t_n of time steps of the same hour 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 hour 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 hourly mean of a time series use:
@BeginVerbatim
   cdo hourmean ifile ofile
@EndVerbatim
@EndExample
