Commit 473ef452 authored by Uwe Schulzweida's avatar Uwe Schulzweida

Version 1.0.4 released

parent 83e92d36
......@@ -55,6 +55,7 @@ doc/tex/mod/Cond -text
doc/tex/mod/Cond2 -text
doc/tex/mod/Condc -text
doc/tex/mod/Copy -text
doc/tex/mod/Daypctl -text
doc/tex/mod/Daystat -text
doc/tex/mod/Detrend -text
doc/tex/mod/Diff -text
......@@ -67,6 +68,7 @@ doc/tex/mod/Fldstat -text
doc/tex/mod/Genweights -text
doc/tex/mod/Gradsdes -text
doc/tex/mod/Histogram -text
doc/tex/mod/Hourpctl -text
doc/tex/mod/Hourstat -text
doc/tex/mod/Info -text
doc/tex/mod/Input -text
......@@ -81,6 +83,7 @@ doc/tex/mod/Merge -text
doc/tex/mod/Mergegrid -text
doc/tex/mod/Mergetime -text
doc/tex/mod/Merstat -text
doc/tex/mod/Monpctl -text
doc/tex/mod/Monstat -text
doc/tex/mod/Ninfo -text
doc/tex/mod/Output -text
......@@ -89,10 +92,13 @@ doc/tex/mod/Remap -text
doc/tex/mod/Remapgrid -text
doc/tex/mod/Replace -text
doc/tex/mod/Rotuv -text
doc/tex/mod/Runpctl -text
doc/tex/mod/Runstat -text
doc/tex/mod/Seaspctl -text
doc/tex/mod/Seasstat -text
doc/tex/mod/Selbox -text
doc/tex/mod/Select -text
doc/tex/mod/Selpctl -text
doc/tex/mod/Selstat -text
doc/tex/mod/Seltime -text
doc/tex/mod/Set -text
......@@ -110,6 +116,7 @@ doc/tex/mod/Spectral -text
doc/tex/mod/Split -text
doc/tex/mod/Splittime -text
doc/tex/mod/Subtrend -text
doc/tex/mod/Timpctl -text
doc/tex/mod/Timsort -text
doc/tex/mod/Timstat -text
doc/tex/mod/Trend -text
......@@ -120,10 +127,16 @@ doc/tex/mod/Vertstat -text
doc/tex/mod/Wind -text
doc/tex/mod/Writegrid -text
doc/tex/mod/Writerandom -text
doc/tex/mod/Ydaypctl -text
doc/tex/mod/Ydaystat -text
doc/tex/mod/Ydrunpctl -text
doc/tex/mod/Ydrunstat -text
doc/tex/mod/Yearpctl -text
doc/tex/mod/Yearstat -text
doc/tex/mod/Ymonarith -text
doc/tex/mod/Ymonpctl -text
doc/tex/mod/Ymonstat -text
doc/tex/mod/Yseaspctl -text
doc/tex/mod/Yseasstat -text
doc/tex/mod/Zonstat -text
doc/tex/mod/chdoc -text
......
2006-11-?? Uwe Schulzweida <Uwe.Schulzweida@zmaw.de>
2006-11-06 Uwe Schulzweida <Uwe.Schulzweida@zmaw.de>
* processSelf: lock/unlock NumProcess (bug fix)
* pstreamOpenRead: move mutex_unlock after cdoInqHistory
* Version 1.0.4 released
2006-11-06 Ralf Quast <ralf.quast@brockmann-consult.de>
* New module: Ydrunstat (ydrun -min, -max, -sum, -mean, -avg, -qstd)
* New module: Timpctl (tim-, hour-, day-, mon-, year- pctl)
* New module: Selpctl (selpctl)
* New module: Runpctl (runpctl)
* New module: Seaspctl (seaspctl)
* New module: Ydaypctl (ydaypctl)
* New module: Ymonpctl (ymonpctl)
* New module: Yseaspctl (yseaspctl)
* New module: Ydrunpctl (ydrunpctl)
* New operator: enspctl (Ensstat)
* New operator: fldpctl (Fldstat)
* New operator: zonpctl (Zonstat)
* New operator: merpctl (Merstat)
2006-11-02 Uwe Schulzweida <Uwe.Schulzweida@zmaw.de>
......
CDO NEWS
--------
Version 1.0.4 (7 November 2006):
* New operators:
o ydrunmin, ydrunmax, ydrunsum, ydrunmean, ydrunavg, ydrunstd -
Multi-year daily running statistical values
o timpctl, hourpctl, daypctl, monpctl, yearpctl, selpctl, runpctl, seaspctl -
Percentile values for different time steps
o ydaypctl, ymonpctl, yseaspctl, ydrunpctl -
Multi-year percentile values for different time steps
o enspctl, fldpctl, zonpctl,merpctl - Ensemble and field percentiles
Version 1.0.3 (3 November 2006):
* New operators:
......
......@@ -13,7 +13,7 @@ CDO - Climate Data Operators
Operators:
There are more than 250 operators available. Read OPEATORS for
There are more than 300 operators available. Read OPEATORS for
a short overview of all operators.
Documentation:
......
No preview for this file type
......@@ -40,16 +40,29 @@ Zonstat Statistical values
Merstat Statistical values
Vertstat Statistical values
Selstat Statistical values
Selpctl Statistical values
Runstat Statistical values
Runpctl Statistical values
Timstat Statistical values
Timpctl Statistical values
Hourstat Statistical values
Hourpctl Statistical values
Daystat Statistical values
Daypctl Statistical values
Monstat Statistical values
Monpctl Statistical values
Yearstat Statistical values
Yearpctl Statistical values
Seasstat Statistical values
Seaspctl Statistical values
Ydaystat Statistical values
Ydaypctl Statistical values
Ymonstat Statistical values
Ymonpctl Statistical values
Yseasstat Statistical values
Yseaspctl Statistical values
Ydrunstat Statistical values
Ydrunpctl Statistical values
Detrend Regression
Trend Regression
Subtrend Regression
......@@ -64,9 +77,9 @@ Spectral Transformation
Wind Transformation
Input Formatted I/O
Output Formatted I/O
Gradsdes Miscellaneous
Timsort Miscellaneous
Vargen Miscellaneous
Vardup Miscellaneous
Gradsdes Miscellaneous
Rotuv Miscellaneous
Mastrfu Miscellaneous
......@@ -146,14 +146,18 @@
\end{picture}
\begin{flushright}
\large\bf{Climate Data Operators \\ Version 1.0.3 \\ November 2006}
\large\bf{Climate Data Operators \\ Version 1.0.4 \\ November 2006}
\end{flushright}
\vfill
\Large\bf{Uwe Schulzweida}
\Large\bf{Uwe Schulzweida, Luis Kornblueh}
\Large\bf{Max-Planck-Institute for Meteorology}
\Large{Max-Planck-Institute for Meteorology}
\Large\bf{Ralf Quast}
\Large{Brockmann Consult}
\begin{picture}(16,1)
\linethickness{1.0mm}
......@@ -162,7 +166,6 @@
\end{picture}
\end{titlepage}
\tableofcontents
\input{cdo_int}
......
......@@ -31,7 +31,7 @@ those operators.
The main {\CDO} features are:
\begin{itemize}
\item More than 250 operators available
\item More than 300 operators available
\item Modular design and easily extendable with new operators
\item Very simple UNIX command line interface
\item A dataset can be processed by several operators,
......
......@@ -10,7 +10,7 @@
\put(0,0.0){\line(1,0){3.95}}
\end{picture}
\begin{flushright}
{\small{Climate Data Operators \\ Version 1.0.3 \\ November 2006}}
{\small{Climate Data Operators \\ Version 1.0.4 \\ November 2006}}
\end{flushright}
\vspace*{0mm}
......
......@@ -880,6 +880,10 @@ while (<MOFILE>) {
print TRCARD "\\rowcolor[gray]{.9}\n";
print TRCARD "\\makebox[$len2][r]{Syntax} ";
if ( "$opername" eq "selpctl" ) {
$marguments =~ s/ifile/in/og;
$marguments =~ s/ofile/out/og;
}
if ( $xopercnt == 1 ) {
print TRCARD "& \\hspace*{0mm}{\\bf $opername}{\\sl $operpara} \ {\\tt $marguments} ";
} else {
......@@ -996,6 +1000,7 @@ sub print_description {
$docline = $line;
if ( $man == 0 ) {
if ( $math == 0 && $verb == 0 && $text == 0 ) {
$line =~ s/CDO_PCTL_NBINS/CDO\\_PCTL\\_NBINS/og;
$line =~ s/\@newline/ \\\\/og;
$line =~ s/ ifile / {\\tt ifile} /og;
$line =~ s/ ifile1 / {\\tt ifile1} /og;
......
@BeginModule
@NewPage
@Name = Daypctl
@Title = Daily percentile values
@Section = Statistical values
@Class = Statistic
@Arguments = ifile1 ifile2 ifile3 ofile
@Operators = daypctl
@BeginDescription
This module computes percentiles over all time steps in @file{ifile1}
of the same day.
The algorithm uses histograms with minimum and maximum bounds given in
@file{ifile2} and @file{ifile3}, respectively. The default number of
histogram bins is 100. The default can be overridden by defining the
environment variable CDO_PCTL_NBINS. The files @file{ifile2} and
@file{ifile3} must be the result of corresponding daymin and daymax
operations, respectively.
The date information for a time step in @file{ofile} is the date of the
last contributing time step in @file{ifile1}.
@EndDescription
@EndModule
@BeginOperator_daypctl
@Title = Daily percentiles
@Parameter = p
@BeginDescription
@IfMan
For every adjacent sequence t_1, ...,t_n of time steps of the same day, it is
o(t,x) = pth percentile {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 day, it is: \\
@BeginMath
o(t,x) = \mbox{\bf pth percentile} \{i(t',x), t_1 < t' \leq t_n\}
@EndMath
@EndifDoc
@EndDescription
@EndOperator
@BeginParameter
@Item = p
INTEGER Percentile number in {1, ..., 99}
@EndParameter
@BeginExample
To compute the daily 90th percentile of a time series, use:
@BeginVerbatim
cdo daymin ifile minfile
cdo daymax ifile maxfile
cdo daypctl,90 ifile minfile maxfile ofile
@EndVerbatim
Or shorter using operator piping:
@BeginVerbatim
cdo daypctl,90 ifile -daymin ifile -daymax ifile ofile
@EndVerbatim
@EndExample
......@@ -5,13 +5,14 @@
@Section = Statistical values
@Class = Statistic
@Arguments = ifiles ofile
@Operators = ensmin ensmax enssum ensmean ensavg ensstd ensvar
@Operators = ensmin ensmax enssum ensmean ensavg ensstd ensvar enspctl
@BeginDescription
This module computes statistical values over an ensemble of input files.
Depending on the actual operator the minimum, maximum, sum, average
or standard deviation over all input files is written to @file{ofile}. The date
information for a time step in @file{ofile} is the date of the first input file.
Depending on the actual operator the minimum, maximum, sum, average,
standard deviation, or a certain percentile over all input files is written
to @file{ofile}. The date information for a time step in @file{ofile} is
the date of the first input file.
@EndDescription
@EndModule
......@@ -127,6 +128,29 @@ o(t,x) = \mbox{\bf std}\{i_1(t,x), i_2(t,x), \cdots, i_n(t,x)\}
@EndOperator
@BeginOperator_enspctl
@Title = Ensemble percentiles
@Parameter = p
@BeginDescription
@IfMan
o(t,x) = pth percentile {i1(t,x), i2(t,x), ..., in(t,x)}
@EndifMan
@IfDoc
@BeginMath
o(t,x) = \mbox{\bf pth percentile} \{i_1(t,x), i_2(t,x), \cdots, i_n(t,x)\}
@EndMath
@EndifDoc
@EndDescription
@EndOperator
@BeginParameter
@Item = p
INTEGER Percentile number in {1, ..., 99}
@EndParameter
@BeginExample
To compute the ensemble mean over 6 input files, use:
@BeginVerbatim
......@@ -136,4 +160,13 @@ Or shorter with filename substitution:
@BeginVerbatim
cdo ensmean ifile[1-6] ofile
@EndVerbatim
To compute the 50th percentile (median) over 6 input files, use:
@BeginVerbatim
cdo enspctl,50 ifile1 ifile2 ifile3 ifile4 ifile5 ifile6 ofile
@EndVerbatim
Or shorter with filename substitution:
@BeginVerbatim
cdo enspctl,50 ifile[1-6] ofile
@EndVerbatim
@EndExample
......@@ -5,12 +5,13 @@
@Section = Statistical values
@Class = Statistic
@Arguments = ifile ofile
@Operators = fldmin fldmax fldsum fldmean fldavg fldstd fldvar
@Operators = fldmin fldmax fldsum fldmean fldavg fldstd fldvar fldpctl
@BeginDescription
This module computes statistical values of the input fields.
According to the actual operator the field minimum, maximum,
sum, average, standard deviation or variance is written to @file{ofile}.
sum, average, standard deviation, variance or a certain percentile
is written to @file{ofile}.
@EndDescription
@EndModule
......@@ -152,9 +153,40 @@ weighted by area weights obtained by the input field.
@EndOperator
@BeginOperator_fldpctl
@Title = Field percentiles
@Parameter = p
@BeginDescription
@IfMan
For every gridpoint x_1, ..., x_n of the same field, it is:
o(t,1) = pth percentile {i(t,x'), x_1<x'<=x_n}
@EndifMan
@IfDoc
For every gridpoint \begin{math}x_1, ..., x_n\end{math} of the same field, it is: \\
@BeginMath
o(t,1) = \mbox{\bf pth percentile} \{i(t,x'), x_1 < x' \leq x_n\}
@EndMath
@EndifDoc
@EndDescription
@EndOperator
@BeginParameter
@Item = p
INTEGER Percentile number in {1, ..., 99}
@EndParameter
@BeginExample
To compute the field mean of all input fields, use:
@BeginVerbatim
cdo fldmean ifile ofile
@EndVerbatim
To compute the 90th percentile of all input fields, use:
@BeginVerbatim
cdo fldpctl,90 ifile ofile
@EndVerbatim
@EndExample
@BeginModule
@NewPage
@Name = Hourpctl
@Title = Hourly percentile values
@Section = Statistical values
@Class = Statistic
@Arguments = ifile1 ifile2 ifile3 ofile
@Operators = hourpctl
@BeginDescription
This module computes percentiles over all time steps in @file{ifile1}
of the same hour.
The algorithm uses histograms with minimum and maximum bounds given in
@file{ifile2} and @file{ifile3}, respectively. The default number of
histogram bins is 100. The default can be overridden by setting the
environment variable CDO_PCTL_NBINS to a different value. The files
@file{ifile2} and @file{ifile3} must be the result of corresponding
hourmin and hourmax operations, respectively.
The date information for a time step in @file{ofile} is the date of the
last contributing time step in @file{ifile1}.
@EndDescription
@EndModule
@BeginOperator_hourpctl
@Title = Hourly percentiles
@Parameter = p
@BeginDescription
@IfMan
For every adjacent sequence t_1, ...,t_n of time steps of the same hour, it is
o(t,x) = pth percentile {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 pth percentile} \{i(t',x), t_1 < t' \leq t_n\}
@EndMath
@EndifDoc
@EndDescription
@EndOperator
@BeginParameter
@Item = p
INTEGER Percentile number in {1, ..., 99}
@EndParameter
@BeginExample
To compute the hourly 90th percentile of a time series, use:
@BeginVerbatim
cdo hourmin ifile minfile
cdo hourmax ifile maxfile
cdo hourpctl,90 ifile minfile maxfile ofile
@EndVerbatim
Or shorter using operator piping:
@BeginVerbatim
cdo hourpctl,90 ifile -hourmin ifile -hourmax ifile ofile
@EndVerbatim
@EndExample
......@@ -6,13 +6,14 @@
@Class = Statistic
@Class = Arithmetic
@Arguments = ifile ofile
@Operators = mermin mermax mersum mermean meravg merstd mervar
@Operators = mermin mermax mersum mermean meravg merstd mervar merpctl
@BeginDescription
This module computes meridional statistical values of the input fields.
According to the actual operator the meridional minimum, maximum,
sum, average, standard deviation or variance is written to @file{ofile}.
All input fields must have the same rectangular grid.
sum, average, standard deviation, variance or a certain percentile is
written to @file{ofile}. All input fields must have the same rectangular
grid.
@EndDescription
@EndModule
......@@ -80,9 +81,30 @@ For every longitude the standard deviation over all latitudes is computed.
@EndOperator
@BeginOperator_merpctl
@Title = Meridional percentiles
@Parameter = p
@BeginDescription
For every longitude the pth percentile over all latitudes is computed.
@EndDescription
@EndOperator
@BeginParameter
@Item = p
INTEGER Percentile number in {1, ..., 99}
@EndParameter
@BeginExample
To compute the meridional mean of all input fields, use:
@BeginVerbatim
cdo mermean ifile ofile
@EndVerbatim
To compute the 50th meridional percentile (median) of all input fields, use:
@BeginVerbatim
cdo merpctl,50 ifile ofile
@EndVerbatim
@EndExample
@BeginModule
@NewPage
@Name = Monpctl
@Title = Monthly percentile values
@Section = Statistical values
@Class = Statistic
@Arguments = ifile1 ifile2 ifile3 ofile
@Operators = monpctl
@BeginDescription
This module computes percentiles over all time steps in @file{ifile1}
of the same month.
The algorithm uses histograms with minimum and maximum bounds given in
@file{ifile2} and @file{ifile3}, respectively. The default number of
histogram bins is 100. The default can be overridden by setting the
environment variable CDO_PCTL_NBINS to a different value. The files
@file{ifile2} and @file{ifile3} must be the result of corresponding
monmin and monmax operations, respectively.
The date information for a time step in @file{ofile} is the date of the
last contributing time step in @file{ifile1}.
@EndDescription
@EndModule
@BeginOperator_monpctl
@Title = Monthly percentiles
@Parameter = p
@BeginDescription
@IfMan
For every adjacent sequence t_1, ...,t_n of time steps of the same month, it is:
o(t,x) = pth percentile {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 pth percentile} \{i(t',x), t_1 < t' \leq t_n\}
@EndMath
@EndifDoc
@EndDescription
@EndOperator
@BeginParameter
@Item = p
INTEGER Percentile number in {1, ..., 99}
@EndParameter
@BeginExample
To compute the monthly 90th percentile of a time series, use:
@BeginVerbatim
cdo monmin ifile minfile
cdo monmax ifile maxfile
cdo monpctl,90 ifile minfile maxfile ofile
@EndVerbatim
Or shorter using operator piping:
@BeginVerbatim
cdo monpctl,90 ifile -monmin ifile -monmax ifile ofile
@EndVerbatim
@EndExample
@BeginModule
@NewPage
@Name = Runpctl
@Title = Running percentile values
@Section = Statistical values
@Class = Statistic
@Arguments = ifile1 ifile2 ifile3 ofile
@Operators = runpctl
@BeginDescription
This module computes running percentiles over a selected number of time
steps 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 100. The default can be overridden by setting the
environment variable CDO_PCTL_NBINS to a different value. The files
@file{ifile2} and @file{ifile3} must be the result of corresponding
runmin and runmax operations, respectively.
The date information in @file{ofile} is the date of the medium contributing
time step in @file{ifile1}.
@EndDescription
@EndModule
@BeginOperator_runpctl
@Title = Running percentiles
@Parameter = p nts
@BeginDescription
@IfMan
o(t+(nts-1)/2,x) = pth percentile {i(t,x), i(t+1,x), ..., i(t+nts-1,x)}
@EndifMan
@IfDoc
@BeginMath
o(t+(nts-1)/2,x) = \mbox{\bf pth percentile} \{i(t,x), i(t+1,x), ..., i(t+nts-1,x)\}
@EndMath
@EndifDoc
@EndDescription
@EndOperator
@BeginParameter
@Item = p
INTEGER Percentile number in {1, ..., 99}
@Item = nts
INTEGER Number of time steps
@EndParameter
@BeginExample
To compute the running 50th percentile (median) over 9 time steps, use:
@BeginVerbatim
cdo runmin,9 ifile minfile
cdo runmax,9 ifile maxfile
cdo runpctl,50,9 ifile minfile maxfile ofile
@EndVerbatim
Or shorter using operator piping:
@BeginVerbatim
cdo runpctl,50,9 ifile -runmin,9 ifile -runmax,9 ifile ofile
@EndVerbatim
@EndExample