@BeginModule
@Name      = Yearpctl
@Title     = Yearly percentile values
@Section   = Statistical values
@Class     = Statistic
@Arguments = ifile1 ifile2 ifile3 ofile
@Operators = yearpctl

@BeginDescription
This operator computes percentiles over all timesteps of the same year in @file{ifile1}.
The algorithm uses histograms with minimum and maximum bounds given in
@file{ifile2} and @file{ifile3}, respectively. The default number of
histogram bins is 101. The default can be overridden by setting the
environment variable @env{CDO_PCTL_NBINS} to a different value. The files
@file{ifile2} and @file{ifile3} should be the result of corresponding
@mod{yearmin} and @mod{yearmax} operations, respectively.
The time stamp in @file{ofile} is from the middle contributing timestep of @file{ifile1}.
@EndDescription
@EndModule


@BeginOperator_yearpctl
@Title     = Yearly percentiles
@Parameter = p

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

o(t,x) = pth percentile {i(t',x), t_1<t'<=t_n}
@EndifMan
@IfDoc
\vspace*{1mm}
For every adjacent sequence \begin{math}t_1, ...,t_n\end{math} of timesteps of the same year it is: \\
\vspace*{1mm}

@BeginMath
o(t,x) = \mbox{\bf pth percentile} \{i(t',x), t_1 < t' \leq t_n\}
@EndMath
@EndifDoc
@EndDescription
@EndOperator


@BeginParameter
@Item = p
FLOAT  Percentile number in {0, ..., 100}
@EndParameter


@BeginEnvironment
@Item = CDO_PCTL_NBINS
Sets the number of histogram bins. The default number is 101.
@EndEnvironment


@BeginExample
To compute the yearly 90th percentile of a time series use:
@BeginVerbatim
   cdo yearmin ifile minfile
   cdo yearmax ifile maxfile
   cdo yearpctl,90 ifile minfile maxfile ofile
@EndVerbatim
Or shorter using operator piping:
@BeginVerbatim
   cdo yearpctl,90 ifile -yearmin ifile -yearmax ifile ofile
@EndVerbatim
@EndExample
