Commit 55a22201 authored by Uwe Schulzweida's avatar Uwe Schulzweida
Browse files

Docu update

parent ad950622
......@@ -7,10 +7,10 @@ Operator catalog:
-------------------------------------------------------------
Information
-------------------------------------------------------------
Info info Dataset information
Info info Dataset information listed by code number
Info map Dataset information and simple map
Sinfo sinfo Short dataset information
Diff diff Compare two datasets
Sinfo sinfo Short dataset information listed by code number
Diff diff Compare two datasets listed by code number
Ninfo ncode Number of codes
Ninfo nvar Number of variables
Ninfo nlevel Number of levels
......@@ -69,8 +69,8 @@ Operator catalog:
Seltime selyear Select years
Seltime selseas Select seasons
Seltime seldate Select dates
Selbox sellonlatbox Select lon/lat box
Selbox selindexbox Select index box
Selbox sellonlatbox Select a longitude latitude box
Selbox selindexbox Select an index box
-------------------------------------------------------------
Conditional selection
-------------------------------------------------------------
......
No preview for this file type
\chapter{Introduction}
\CDO is a collection of Operators to manipulate and analyse Climate model Data.
There are a lot of operators for doing standard processing like simple statistic,
arithmetic, selection and interpolation on datasets from climate and forecast models.
The Climate Data Operators (\CDO) software is a collection of many operators
for standard processing of climate and forecast model output.
The operators include simple statistical and arithmetic functions, data selection
and subsampling tools, and spatial interpolation.
%\CDO is a collection of Operators to manipulate and analyse Climate model Data.
%There are a lot of operators for doing standard processing like simple statistic,
%arithmetic, selection and interpolation on datasets from climate and forecast models.
%The operators are primarily designed to aid manipulation and analysis of gridded scientific data
\CDO was developed to have the same set of processing functions for \htmlref{GRIB}{GRIB} and \htmlref{netCDF}{netCDF}
datasets in one package.
......@@ -15,7 +19,8 @@ There are some limitations for GRIB and netCDF datasets.
A GRIB dataset must be consistent, similar to netCDF.
That means all time steps must have the same variables, and
within a time step each variable may occur only once.
NetCDF datasets are supported only with 2D, 3D and 4D variables and the attributes should follow the
NetCDF datasets are supported only with 2-dimensional, 3-dimensional and 4-dimensional
variables and the attributes should follow the
\href{http://ftp.unidata.ucar.edu/software/netcdf/docs/conventions.html}
{GDT, COARDS or CF Conventions}.
......@@ -26,15 +31,15 @@ those operators.
The main \CDO features are:
\begin{itemize}
\item There are more than 250 operators available.
\item Modular design and easily extendable with new operators.
\item Very simple UNIX command line interface.
\item More than 250 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,
without storing the interim results in files % (No disk I/O).
\item All operators handle datasets with missing values.
\item Fast processing of large datasets.
\item Support of many different grid types.
\item Tested on many UNIX/Linux systems, Cygwin, and MacOS X.
\item All operators handle datasets with missing values
\item Fast processing of large datasets
\item Support of many different grid types
\item Tested on many UNIX/Linux systems, Cygwin, and MacOS-X
%item Free available and runs on all UNIX platforms.
\end{itemize}
......
......@@ -3,7 +3,7 @@
This section gives a description of all operators.
Similar operators are grouped to modules.
For easier description all single input files are named {\tt ifile} or {\tt ifile1}, {\tt ifile2}, etc.
For easier description all single input files are named {\tt ifile} or {\tt ifile1}, {\tt ifile2}, etc.,
and an unlimited number of input files are named {\tt ifiles}.
All output files are named {\tt ofile} or {\tt ofile1}, {\tt ofile2}, etc.
Further the following notion is introduced:
......@@ -20,7 +20,7 @@ Element number \(x\) of the field at timestep \(t\) of {\tt ofile}
%A field is a horizontal slice of a variable on a spezific level.
%The number of elements is the size of the grid.
%It has at least one datapoint. The rank of a field is 1 or 2, this depents
%It has at least one datapoint. The rank of a field is 1 or 2, this depends
%on the type of the grid.
%A variable is a collection of all fields on different vertical levels
......@@ -28,8 +28,3 @@ Element number \(x\) of the field at timestep \(t\) of {\tt ofile}
%with only one level are called 2D variables and all other are 3D variables.
\input{cdo_ref_over}
%%% Local Variables:
%%% mode: latex
%%% TeX-master: "ref_inform_intro"
%%% End:
\section{Grid description}
In some situations it is necessary to give a description of a horizontal grid.
These situations are
In the following situations it is necessary to give a description of a horizontal grid:
\begin{itemize}
\item Changing the grid description (operator: \htmlref{setgrid}{setgrid})
......@@ -9,7 +8,7 @@ These situations are
\item Generating variables (operator: \htmlref{const}{const}, \htmlref{random}{random})
\end{itemize}
There are several possibilities to define a horizontal grid.
As now described, there are several possibilities to define a horizontal grid.
Predefined grids are available for global regular, gaussian or icosahedral-hexagonal GME grids.
......@@ -42,7 +41,7 @@ The following pre-defined grid names are available:
\subsection{Grids from data files}
You can use the grid description from an other datafile.
The format of the datafile and the grid of the data field musst
The format of the datafile and the grid of the data field must
be supported by this program.
Use the operator '\htmlref{sinfo}{sinfo}' to get short informations about
your variables and the grids.
......@@ -94,9 +93,9 @@ SCRIP grid description example of a curvilinear MPIOM1 GROB3 grid (only the netC
\subsection{PINGO grids}
PINGO is using a very simple grid description in ASCII format.
You can use it to describe regular longitude/latitude or global gaussian grids.
All PINGO grid description files are supported.
PINGO uses a very simple grid description in ASCII format
to describe regular longitude/latitude or global gaussian grids.
All PINGO grid description files are supported by \CDO.
For more information about this format see \cite{PINGO}.
\vspace{2mm}
......@@ -122,8 +121,9 @@ PINGO grid description example of a T21 gaussian grid:
\subsection{CDO grids}
The \CDO grid description is an ASCII formatted file.
It is a common grid description for all available grids.
All supported grids can be also described with the \CDO description ASCII formatted file.
%The \CDO grid description is an ASCII formatted file.
%It is a common grid description for all available grids.
The following keywords can be used to describe a grid:
\vspace{3mm}
......@@ -151,8 +151,8 @@ yfirst, yinc & FLOAT, FLOAT & macros to define yvals with a constant increment \
\vspace{4mm}
Which keywords are necessary depents on the gridtype.
The next table gives an overview of the default values or the array size for the different
Which keywords are necessary depends on the gridtype.
The following table gives an overview of the default values or the array size for the different
grid types.
%\vspace{2mm}
......@@ -272,7 +272,7 @@ are for the rotated system.
\end{lstlisting}
%\end{minipage}
Example \CDO description of a curvilinear grid and unstructured grid cells can be found
Example \CDO descriptions of a curvilinear and an unstructured grid can be found
in \htmlref{Appendix B}{appendixgrid}.
%#define GRID_GENERIC 1
......@@ -310,7 +310,3 @@ in \htmlref{Appendix B}{appendixgrid}.
% retilinear (geradlinig)
%%% Local Variables:
%%% mode: latex
%%% TeX-master: "cdo"
%%% End:
\section{Building from sources}
This section describes how to build \CDO from the sources on a UNIX system.
\CDO is using the GNU configure and build system to compile the source code.
\CDO uses the GNU configure and build system to compile the source code.
The only requirement is a working ANSI C compiler.
%First go to the \href{http://www.mpimet.mpg.de/cdo/download.html}{\tt download} page
%({\tt http://www.mpimet.mpg.de/\\,cdo/download.html}) to get the latest distribution,
First go to the \href{http://www.mpimet.mpg.de/cdo}{\tt download} page
({\tt http://www.mpimet.mpg.de/cdo}) to get the latest distribution,
if you did not have it already.
if you do not already have it.
To take full advantage of \CDO features the following additional
library should be installed.
......@@ -33,7 +33,7 @@ library should be installed.
Compilation is now done by performing the following steps:
\begin{enumerate}
\item Unpack the archive, unless you already have done that:
\item Unpack the archive, if you haven't already done that:
\begin{verbatim}
gunzip cdo-$VERSION.tar.gz # uncompress the archive
......
......@@ -3,16 +3,16 @@
All operators can handle missing values.
The default missing value for GRIB, SERVICE, EXTRA and IEG files is $-9e+33$.
The \CDO option '-m $<$missval$>$' overwrites the default missing value.
In netCDF files the variable attribute '\_FillValue' is used as missing value.
In netCDF files the variable attribute '\_FillValue' is used as a missing value.
The operator '\htmlref{setmissval}{setmissval}' can be used to set a new missing value.
The use of the missing value is shown in the following tables,
where for each operation one table is printed.
The operations are applied to arbitrarily number $a$, $b$, the special case $0$,
The \CDO use of the missing value is shown in the following tables,
where one table is printed for each operation.
The operations are applied to arbitrary numbers $a$, $b$, the special case $0$,
and the missing value $miss$.
%Gray fields are of particular interest.
For example the table named "addition" shows that the sum of an
arbitrarily number $a$ and the missing value is the missing value,
arbitrary number $a$ and the missing value is the missing value,
and the table named "multiplication" shows that $0$ multiplied by missing
value results in $0$.
......@@ -105,24 +105,19 @@ value results in $0$.
\vspace{2mm}
The handling of missing values by the operations "minimum" and "maximum" may
be surprising, but is turned out that the definition given here is more
related to what is expected in practice. Mathematical functions (e.g. $log$, $sqrt$, etc.)
be surprising, but the definition given here is more consistent with that
expected in practice. Mathematical functions (e.g. $log$, $sqrt$, etc.)
return the missing value if an argument is the missing value or
an argument is out of range.
All statistics functions ignore missing values, treading them as not belonging
All statistical functions ignore missing values, treading them as not belonging
to the sample, with the side-effect of a reduced sample size.
\subsection{Mean and average}
An artificial distinction is made between the notions mean and average.
The mean is regarded as a statistic function, whereas the average is found simply
The mean is regarded as a statistical function, whereas the average is found simply
by adding the sample members and dividing the result by the sample size.
For example, the mean of 1, 2, $miss$ and 3 is $(1+2+3)/3=2$,
whereas the average is $(1+2+miss+3)/4=miss/4=miss$.
If there are no missing values in the sample, the average and mean are identical.
%%% Local Variables:
%%% mode: latex
%%% TeX-master: "partab"
%%% End:
......@@ -10,7 +10,7 @@
@BeginDescription
This module reads fields from @file{ifile}, changes some header values
and writes the results to @file{ofile}. The kind of changes depends on
the actual operator name.
the actual operator.
@EndDescription
@EndModule
......
......@@ -11,7 +11,7 @@
This module compares two datasets field by field. The resulting
field is a mask with 1 if the comparison is true and 0 if the
comparison is false. The type of the comparison depends on the
actual operator name.
actual operator.
@EndDescription
@EndModule
......
......@@ -10,7 +10,7 @@
@BeginDescription
This module compares all fields of dataset with a constant. The resulting
field is a mask with 1 if the comparison is true and 0 if the comparison
is false. The type of the comparison depends on the actual operator name.
is false. The type of the comparison depends on the actual operator.
@EndDescription
@EndModule
......
......@@ -26,7 +26,7 @@ Copies all input datasets to @file{ofile}.
@Title = Concatenate datasets
@BeginDescription
Concatenates all input datasets and add the result at the end
Concatenates all input datasets and append the result to the end
of @file{ofile}. If @file{ofile} does not exist it will be created.
@EndDescription
@EndOperator
......@@ -37,8 +37,9 @@ To change the format of a dataset to netCDF use:
@BeginVerbatim
cdo -f nc copy ifile ofile.nc
@EndVerbatim
Add the option '-r' to create an relative time axis, if you need the
resulting netCDF file in GrADS:
Add the option '-r' to create a relative time axis,
as is required for proper recognition by GrADS or Ferret:
%if you need the resulting netCDF file in GrADS:
@BeginVerbatim
cdo -r -f nc copy ifile ofile.nc
@EndVerbatim
......@@ -46,7 +47,7 @@ To concatenate 3 datasets with different time steps of the same variables use:
@BeginVerbatim
cdo copy ifile1 ifile2 ifile3 ofile
@EndVerbatim
If the output dataset already exist and you will extent it
If the output dataset already exist and you wish to extend it
with more time steps use:
@BeginVerbatim
cdo cat ifile1 ifile2 ifile3 ofile
......
......@@ -9,7 +9,7 @@
@BeginDescription
This module computes statistical values over time steps of the same day.
Depending on the actual operator name the minimum, maximum, sum, average
Depending on the actual operator the minimum, maximum, sum, average
or standard deviation of time steps of the same day is written to @file{ofile}.
The date information for a time step in @file{ofile} is the date of the last
contributing time step in @file{ifile}.
......
......@@ -5,7 +5,7 @@
@Section = Information
@Class = Information
@Arguments = ifile1 ifile2
@Operators = diff -diffv
@Operators = diff diffv
@BeginDescription
Compares the contents of two datasets field by field. The input
......@@ -16,11 +16,11 @@ the same header information and dimensions.
@BeginOperator_diff
@Title = Compare two datasets
@Title = Compare two datasets listed by code number
@BeginDescription
Prints statistic over differences of two datasets.
For each pair of fields the operator print in one line the:
Provides statistics on differences between two datasets.
For each pair of fields the operator prints one line with the following information:
@BeginItemize
@Item = date and time
@Item = code number and level
......@@ -35,7 +35,7 @@ For each pair of fields the operator print in one line the:
@BeginOperator_diffv
@Title = Compare two datasets
@Title = Compare two datasets listed by variable name
@BeginDescription
The same as operator @oper{diff}. Using the name instead of the code number
......
......@@ -9,7 +9,7 @@
@BeginDescription
This module computes statistical values over an ensemble of input files.
Depending on the actual operator name the minimum, maximum, sum, average
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.
@EndDescription
......
......@@ -8,7 +8,7 @@
@Operators = vardes griddes vct
@BeginDescription
This module prints, according to the actual operator name, the description
This module prints, according to the actual operator, the description
of the variables, the grids or the vertical coordinate table.
@EndDescription
@EndModule
......@@ -19,7 +19,7 @@ of the variables, the grids or the vertical coordinate table.
@BeginDescription
Prints a table with a description of all variables.
For each variable the operator print in one line the
For each variable the operator prints one line listing the
code, name, description and units.
@EndDescription
@EndOperator
......@@ -44,7 +44,7 @@ Prints the vertical coordinate table.
@BeginExample
Assumed the input dataset has 3 variables with the name geosp, t and tslm1.
Assume an input dataset having three variables with the names geosp, t and tslm1.
To print the description of these variables use:
@BeginVerbatim
cdo vardes ifile
......@@ -55,8 +55,8 @@ Result:
130 t temperature [K]
139 tslm1 surface temperature of land [K]
@EndVerbatim
Assumed all variables of the dataset are on a T21 gausssian grid.
To print the description of this grid use:
Assume all variables of the dataset are on a T21 gausssian grid.
To print the grid description of this dataset use:
@BeginVerbatim
cdo griddes ifile
@EndVerbatim
......
......@@ -9,7 +9,7 @@
@BeginDescription
This module computes statistical values of the input fields.
According to the actual operator name the field minimum, maximum,
According to the actual operator the field minimum, maximum,
sum, average, standard deviation or variance is written to @file{ofile}.
@EndDescription
@EndModule
......
......@@ -9,7 +9,7 @@
@BeginDescription
This module computes statistical values over time steps of the same hour.
Depending on the actual operator name the minimum, maximum, sum, average
Depending on the actual operator the minimum, maximum, sum, average
or standard deviation of time steps of the same hour is written to @file{ofile}.
The date information for a time step in @file{ofile} is the date of the last
contributing time step in @file{ifile}.
......
@BeginModule
@NewPage
@Name = Info
@Title = Info and simple statistics
@Title = Information and simple statistics
@Section = Information
@Class = Information
@Arguments = ifiles
@Operators = info -infov map
@Operators = info infov map
@BeginDescription
This module writes information about the structure and contents
of all input datasets to standard output. The information displayed
depends on the actual operator name.
depends on the actual operator.
@EndDescription
@EndModule
@BeginOperator_info
@Title = Dataset information
@Title = Dataset information listed by code number
@BeginDescription
Prints information and simple statistics for each field of all
input datasets. For each field the operator print in one line the:
input datasets. For each field the operator prints one line with the following elements:
@BeginItemize
@Item = Date and Time
@Item = Code number and Level
......@@ -33,7 +33,7 @@ The mean value is computed without the use of area weights!
@BeginOperator_infov
@Title = Dataset information
@Title = Dataset information listed by variable name
@BeginDescription
The same as operator @oper{info} but using the name instead of the code
......@@ -46,7 +46,7 @@ number to identify the variables.
@Title = Dataset information and simple map
@BeginDescription
Prints information, simple statistic and a map for each field of all input
Prints information, simple statistics and a map for each field of all input
datasets. The map will be printed only for fields on a rectangular grid.
@EndDescription
@EndOperator
......
......@@ -9,7 +9,7 @@
@BeginDescription
This modules reads time series of one 2D variable from standard input.
All input fields must have the same horizontal grid. The format of the
input depends on the actual operator name.
input depends on the actual operator.
@EndDescription
@EndModule
......
......@@ -9,7 +9,7 @@
@BeginDescription
This module inverts 2D fields on a rectangular grid. Depending on the actual
operator name the field, only the data or only the grid description is inverted.
operator the field, only the data or only the grid description is inverted.
@EndDescription
@EndModule
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment