Commit 763c4712 authored by Uwe Schulzweida's avatar Uwe Schulzweida
Browse files

Add tex docu

parent 4ec1c639
......@@ -18,6 +18,39 @@ config/missing -text
config/mkinstalldirs -text
/configure -text
/configure.ac -text
doc/tex/FUNCTIONS -text
doc/tex/Modules -text
doc/tex/c_grid.tex -text
doc/tex/c_link.tex -text
doc/tex/c_quick_ref.tex -text
doc/tex/c_ref.tex -text
doc/tex/c_stream.tex -text
doc/tex/c_taxis.tex -text
doc/tex/c_vlist.tex -text
doc/tex/c_vlist_var.tex -text
doc/tex/c_zaxis.tex -text
doc/tex/cdi_cman.tex -text
doc/tex/cdi_fman.tex -text
doc/tex/cleanup -text
doc/tex/f_grid.tex -text
doc/tex/f_link.tex -text
doc/tex/f_quick_ref.tex -text
doc/tex/f_ref.tex -text
doc/tex/f_stream.tex -text
doc/tex/f_taxis.tex -text
doc/tex/f_vlist.tex -text
doc/tex/f_vlist_var.tex -text
doc/tex/f_zaxis.tex -text
doc/tex/formats.tex -text
doc/tex/intro.tex -text
doc/tex/makedoc -text
doc/tex/makehtml -text
doc/tex/makepdf_c -text
doc/tex/makepdf_f -text
doc/tex/makeps_c -text
doc/tex/makeps_f -text
doc/tex/test.tex -text
doc/tex/usage.tex -text
prog/Makefile.am -text
prog/Makefile.in -text
prog/cdi.c -text
......
===========================
CDI Climate Data Interface
===========================
Function catalog:
-------------------------------------------------------------
stream
-------------------------------------------------------------
streamOpenWrite Create a new dataset
streamOpenRead Open a dataset for reading
streamClose Close an open dataset
streamInqFiletype Get the filetype
streamDefVlist Define the variable list
streamInqVlist Get the variable list
streamDefTimestep Define timestep
streamInqTimestep Get timestep
streamWriteVar Write a variable
streamReadVar Read a variable
streamWriteVarSlice Write a horizontal slice of a variable
streamReadVarSlice Read a horizontal slice of a variable
-------------------------------------------------------------
vlist
-------------------------------------------------------------
vlistNew Create a variable list
vlistFree Delete a variable list
vlistCopy Copy a variable list
vlistDuplicate Duplicate a variable list
vlistCat Concatenate two variable lists
vlistCopyFlag Copy some entries of a variable list
vlistNvars Number of variables in a variable list
vlistNgrids Number of grids in a variable list
vlistNzaxis Number of zaxis in a variable list
-------------------------------------------------------------
vlist_var
-------------------------------------------------------------
vlistDefVar Define a Variable
vlistDefVarCode Define the code number of a Variable
vlistInqVarCode Get the Code number of a Variable
vlistDefVarName Define the name of a Variable
vlistInqVarName Get the name of a Variable
vlistDefVarLongname Define the long name of a Variable
vlistInqVarLongname Get the longname of a Variable
vlistDefVarUnits Define the units of a Variable
vlistInqVarUnits Get the units of a Variable
vlistDefVarDatatype Define the data type of a Variable
vlistInqVarDatatype Get the datatype of a Variable
vlistDefVarMissval Define the missing value of a Variable
vlistInqVarMissval Get the missing value of a Variable
-------------------------------------------------------------
grid
-------------------------------------------------------------
gridNew Create a new Grid
gridDuplicate Duplicate a grid
gridInqType Get the type of a Grid
gridInqSize Get the size of a Grid
gridDefXsize Define the number of values of a X-axis
gridInqXsize Get the number of values of a X-axis
gridDefYsize Define the number of values of a Y-axis
gridInqYsize Get the number of values of a Y-axis
gridDefXvals Define the values of a X-axis
gridInqXvals Get all values of a X-axis
gridDefYvals Define the values of a Y-axis
gridInqYvals Get all values of a Y-axis
gridDefXbounds Define the bounds of a X-axis
gridInqXbounds Get the bounds of a X-axis
gridDefYbounds Define the bounds of a Y-axis
gridInqYbounds Get the bounds of a Y-axis
gridDefXname Define the name of a X-axis
gridInqXname Get the name of a X-axis
gridDefXlongname Define the longname of a X-axis
gridInqXlongname Get the longname of a X-axis
gridDefXunits Define the units of a X-axis
gridInqXunits Get the units of a X-axis
gridDefYname Define the name of a Y-axis
gridInqYname Get the name of a Y-axis
gridDefYlongname Define the longname of a Y-axis
gridInqYlongname Get the longname of a Y-axis
gridDefYunits Define the units of a Y-axis
gridInqYunits Get the units of a Y-axis
-------------------------------------------------------------
zaxis
-------------------------------------------------------------
zaxisNew Create a new Z-axis
zaxisInqType Get the type of a Z-axis
zaxisInqSize Get the size of a Z-axis
zaxisDefLevels Define the levels of a Z-axis
zaxisInqLevels Get all levels of a Z-axis
zaxisInqLevel Get one level of a Z-axis
zaxisDefName Define the name of a Z-axis
zaxisInqName Get the name of a Z-axis
zaxisDefLongname Define the longname of a Z-axis
zaxisInqLongname Get the longname of a Z-axis
zaxisDefUnits Define the units of a Z-axis
zaxisInqUnits Get the units of a Z-axis
-------------------------------------------------------------
taxis
-------------------------------------------------------------
taxisNew Create a new T-axis
taxisDefRdate Define the reference date
taxisInqRdate Get the reference date
taxisDefRtime Define the reference time
taxisInqRtime Get the reference time
taxisDefVdate Define the verification date
taxisInqVdate Get the verification date
taxisDefVtime Define the verification time
taxisInqVtime Get the verification time
taxisDefCalendar Define the calendar
taxisInqCalendar Get the calendar
streamOpenWrite stream
streamOpenRead stream
streamClose stream
streamInqFiletype stream
streamDefVlist stream
streamInqVlist stream
streamDefTimestep stream
streamInqTimestep stream
streamWriteVar stream
streamReadVar stream
streamWriteVarSlice stream
streamReadVarSlice stream
vlistNew vlist
vlistFree vlist
vlistCopy vlist
vlistDuplicate vlist
vlistCat vlist
vlistCopyFlag vlist
vlistNvars vlist
vlistNgrids vlist
vlistNzaxis vlist
vlistDefTaxis vlist
vlistInqTaxis vlist
vlistDefVar vlist_var
vlistInqVarGrid vlist_var
vlistInqVarZaxis vlist_var
vlistInqVarTime vlist_var
vlistDefVarCode vlist_var
vlistInqVarCode vlist_var
vlistDefVarName vlist_var
vlistInqVarName vlist_var
vlistDefVarLongname vlist_var
vlistInqVarLongname vlist_var
vlistDefVarUnits vlist_var
vlistInqVarUnits vlist_var
vlistDefVarDatatype vlist_var
vlistInqVarDatatype vlist_var
vlistDefVarMissval vlist_var
vlistInqVarMissval vlist_var
gridNew grid
gridDuplicate grid
gridInqType grid
gridInqSize grid
gridDefXsize grid
gridInqXsize grid
gridDefYsize grid
gridInqYsize grid
gridDefXvals grid
gridInqXvals grid
gridDefYvals grid
gridInqYvals grid
gridDefXbounds grid
gridInqXbounds grid
gridDefYbounds grid
gridInqYbounds grid
gridDefXname grid
gridInqXname grid
gridDefXlongname grid
gridInqXlongname grid
gridDefXunits grid
gridInqXunits grid
gridDefYname grid
gridInqYname grid
gridDefYlongname grid
gridInqYlongname grid
gridDefYunits grid
gridInqYunits grid
zaxisNew zaxis
zaxisInqType zaxis
zaxisInqSize zaxis
zaxisDefLevels zaxis
zaxisInqLevels zaxis
zaxisInqLevel zaxis
zaxisDefName zaxis
zaxisInqName zaxis
zaxisDefLongname zaxis
zaxisInqLongname zaxis
zaxisDefUnits zaxis
zaxisInqUnits zaxis
taxisNew taxis
taxisDefRdate taxis
taxisInqRdate taxis
taxisDefRtime taxis
taxisInqRtime taxis
taxisDefVdate taxis
taxisInqVdate taxis
taxisDefVtime taxis
taxisInqVtime taxis
taxisDefCalendar taxis
taxisInqCalendar taxis
\section{Create a new Grid: {\tt gridNew}}
\index{gridNew}
\label{gridNew}
The function {\tt gridNew} creates a new Grid.
\subsection*{Usage}
\begin{verbatim}
int gridNew(int gridtype, int size);
\end{verbatim}
\hspace*{4mm}\begin{minipage}[]{15cm}
\begin{deflist}{\tt gridtype\ }
\item[{\tt gridtype}]
The type of the grid, one of the set of predefined CDI grid types.
The valid CDI grid types are {\tt GRID\_GENERIC}, {\tt GRID\_GAUSSIAN},
{\tt GRID\_LONLAT}, {\tt GRID\_SPECTRAL}, {\tt GRID\_CURVILINEAR} and {\tt GRID\_CELL}.
\item[{\tt size}]
Number of gridpoints.
\end{deflist}
\end{minipage}
\subsection*{Result}
{\tt gridNew} returns an identifier to the new Grid.
\subsection*{Example}
Here is an example using {\tt gridNew} to create a new {\tt LONLAT} Grid:\begin{verbatim}
#include <cdi.h>
...
int gridID;
int nlon = 12;
int nlat = 6;
double lons[nlon] = {0, 30, 60, 90, 120, 150, 180, 210, 240, 270, 300, 330};
double lats[nlat] = {-75, -45, -15, 15, 45, 75};
...
gridID = gridNew(GRID_LONLAT, nlon*nlat);
gridDefXsize(gridID, nlon);
gridDefYsize(gridID, nlat);
gridDefXvals(gridID, lons);
gridDefYvals(gridID, lats);
...
\end{verbatim}
\section{Duplicate a grid: {\tt gridDuplicate}}
\index{gridDuplicate}
\label{gridDuplicate}
The function {\tt gridDuplicate} duplicates a grid.
\subsection*{Usage}
\begin{verbatim}
int gridDuplicate(int gridID);
\end{verbatim}
\hspace*{4mm}\begin{minipage}[]{15cm}
\begin{deflist}{\tt gridID\ }
\item[{\tt gridID}]
Identifier, from a previous call to {\tt gridNew},
{\tt gridDuplicate} or {\tt vlistInqVarGrid}.
\end{deflist}
\end{minipage}
\subsection*{Result}
{\tt gridDuplicate} returns an identifier to the duplicated grid.
\section{Get the type of a Grid: {\tt gridInqType}}
\index{gridInqType}
\label{gridInqType}
The function {\tt gridInqType} returns the type of a Grid.
\subsection*{Usage}
\begin{verbatim}
int gridInqType(int gridID);
\end{verbatim}
\hspace*{4mm}\begin{minipage}[]{15cm}
\begin{deflist}{\tt gridID\ }
\item[{\tt gridID}]
Grid identifier
\end{deflist}
\end{minipage}
\subsection*{Result}
{\tt gridInqType} returns the type of the grid,
one of the set of predefined CDI grid types.
The valid CDI grid types are {\tt GRID\_GENERIC}, {\tt GRID\_GAUSSIAN},
{\tt GRID\_LONLAT}, {\tt GRID\_SPECTRAL}, {\tt GRID\_CURVILINEAR} and {\tt GRID\_CELL}.
\section{Get the size of a Grid: {\tt gridInqSize}}
\index{gridInqSize}
\label{gridInqSize}
The function {\tt gridInqSize} returns the size of a Grid.
\subsection*{Usage}
\begin{verbatim}
int gridInqSize(int gridID);
\end{verbatim}
\hspace*{4mm}\begin{minipage}[]{15cm}
\begin{deflist}{\tt gridID\ }
\item[{\tt gridID}]
Grid identifier
\end{deflist}
\end{minipage}
\subsection*{Result}
{\tt gridInqSize} returns the number of grid points of a Grid.
\section{Define the number of values of a X-axis: {\tt gridDefXsize}}
\index{gridDefXsize}
\label{gridDefXsize}
The function {\tt gridDefXsize} defines the number of values of a X-axis.
\subsection*{Usage}
\begin{verbatim}
void gridDefXsize(int gridID, int xsize);
\end{verbatim}
\hspace*{4mm}\begin{minipage}[]{15cm}
\begin{deflist}{\tt gridID\ }
\item[{\tt gridID}]
Grid identifier
\item[{\tt xsize}]
Number of values of a X-axis
\end{deflist}
\end{minipage}
\section{Get the number of values of a X-axis: {\tt gridInqXsize}}
\index{gridInqXsize}
\label{gridInqXsize}
The function {\tt gridInqXsize} returns the number of values of a X-axis.
\subsection*{Usage}
\begin{verbatim}
void gridInqXsize(int gridID);
\end{verbatim}
\hspace*{4mm}\begin{minipage}[]{15cm}
\begin{deflist}{\tt gridID\ }
\item[{\tt gridID}]
Grid identifier
\end{deflist}
\end{minipage}
\subsection*{Result}
{\tt gridInqXsize} returns the number of values of a X-axis.
\section{Define the number of values of a Y-axis: {\tt gridDefYsize}}
\index{gridDefYsize}
\label{gridDefYsize}
The function {\tt gridDefYsize} defines the number of values of a Y-axis.
\subsection*{Usage}
\begin{verbatim}
void gridDefYsize(int gridID, int ysize);
\end{verbatim}
\hspace*{4mm}\begin{minipage}[]{15cm}
\begin{deflist}{\tt gridID\ }
\item[{\tt gridID}]
Grid identifier
\item[{\tt ysize}]
Number of values of a Y-axis
\end{deflist}
\end{minipage}
\section{Get the number of values of a Y-axis: {\tt gridInqYsize}}
\index{gridInqYsize}
\label{gridInqYsize}
The function {\tt gridInqYsize} returns the number of values of a Y-axis.
\subsection*{Usage}
\begin{verbatim}
void gridInqYsize(int gridID);
\end{verbatim}
\hspace*{4mm}\begin{minipage}[]{15cm}
\begin{deflist}{\tt gridID\ }
\item[{\tt gridID}]
Grid identifier
\end{deflist}
\end{minipage}
\subsection*{Result}
{\tt gridInqYsize} returns the number of values of a Y-axis.
\section{Define the values of a X-axis: {\tt gridDefXvals}}
\index{gridDefXvals}
\label{gridDefXvals}
The function {\tt gridDefXvals} defines all values of the X-axis.
\subsection*{Usage}
\begin{verbatim}
void gridDefXvals(int gridID, double *xvals);
\end{verbatim}
\hspace*{4mm}\begin{minipage}[]{15cm}
\begin{deflist}{\tt gridID\ }
\item[{\tt gridID}]
Grid identifier
\item[{\tt xvals}]
X-values of the grid
\end{deflist}
\end{minipage}
\section{Get all values of a X-axis: {\tt gridInqXvals}}
\index{gridInqXvals}
\label{gridInqXvals}
The function {\tt gridInqXvals} returns all values of the X-axis.
\subsection*{Usage}
\begin{verbatim}
int gridInqXvals(int gridID, double *xvals);
\end{verbatim}
\hspace*{4mm}\begin{minipage}[]{15cm}
\begin{deflist}{\tt gridID\ }
\item[{\tt gridID}]
Grid identifier
\item[{\tt xvals}]
X-values of the grid
\end{deflist}
\end{minipage}
\subsection*{Result}
Upon successful completion {\tt gridInqXvals} returns the number of values and
the values are stored in {\tt xvals}.
Otherwise, 0 is returned and {\tt xvals} is empty.
\section{Define the values of a Y-axis: {\tt gridDefYvals}}
\index{gridDefYvals}
\label{gridDefYvals}
The function {\tt gridDefYvals} defines all values of the Y-axis.
\subsection*{Usage}
\begin{verbatim}
void gridDefYvals(int gridID, double *yvals);
\end{verbatim}
\hspace*{4mm}\begin{minipage}[]{15cm}
\begin{deflist}{\tt gridID\ }
\item[{\tt gridID}]
Grid identifier
\item[{\tt yvals}]
Y-values of the grid
\end{deflist}
\end{minipage}
\section{Get all values of a Y-axis: {\tt gridInqYvals}}
\index{gridInqYvals}
\label{gridInqYvals}
The function {\tt gridInqYvals} returns all values of the Y-axis.
\subsection*{Usage}
\begin{verbatim}
int gridInqYvals(int gridID, double *yvals);
\end{verbatim}
\hspace*{4mm}\begin{minipage}[]{15cm}
\begin{deflist}{\tt gridID\ }
\item[{\tt gridID}]
Grid identifier
\item[{\tt yvals}]
Y-values of the grid
\end{deflist}
\end{minipage}
\subsection*{Result}
Upon successful completion {\tt gridInqYvals} returns the number of values and
the values are stored in {\tt yvals}.
Otherwise, 0 is returned and {\tt yvals} is empty.
\section{Define the bounds of a X-axis: {\tt gridDefXbounds}}
\index{gridDefXbounds}
\label{gridDefXbounds}
The function {\tt gridDefXbounds} defines all bounds of the X-axis.
\subsection*{Usage}
\begin{verbatim}
void gridDefXbounds(int gridID, double *xbounds);
\end{verbatim}
\hspace*{4mm}\begin{minipage}[]{15cm}
\begin{deflist}{\tt xbounds\ }
\item[{\tt gridID}]
Grid identifier
\item[{\tt xbounds}]
X-bounds of the grid
\end{deflist}
\end{minipage}
\section{Get the bounds of a X-axis: {\tt gridInqXbounds}}
\index{gridInqXbounds}
\label{gridInqXbounds}
The function {\tt gridInqXbounds} returns the bounds of the X-axis.
\subsection*{Usage}
\begin{verbatim}
int gridInqXbounds(int gridID, double *xbounds);
\end{verbatim}
\hspace*{4mm}\begin{minipage}[]{15cm}
\begin{deflist}{\tt xbounds\ }
\item[{\tt gridID}]
Grid identifier
\item[{\tt xbounds}]
X-bounds of the grid
\end{deflist}
\end{minipage}
\subsection*{Result}
Upon successful completion {\tt gridInqXbounds} returns the number of bounds and
the bounds are stored in {\tt xbounds}.
Otherwise, 0 is returned and {\tt xbounds} is empty.
\section{Define the bounds of a Y-axis: {\tt gridDefYbounds}}
\index{gridDefYbounds}
\label{gridDefYbounds}
The function {\tt gridDefYbounds} defines all bounds of the Y-axis.
\subsection*{Usage}
\begin{verbatim}
void gridDefYbounds(int gridID, double *ybounds);
\end{verbatim}
\hspace*{4mm}\begin{minipage}[]{15cm}
\begin{deflist}{\tt ybounds\ }
\item[{\tt gridID}]
Grid identifier
\item[{\tt ybounds}]
Y-bounds of the grid
\end{deflist}