Commit 71e29ecc authored by Uwe Schulzweida's avatar Uwe Schulzweida
Browse files

streamInqGinfo: added support for GRIB files > 2GB

parent a05b2fa2
2014-01-08 Uwe Schulzweida <Uwe.Schulzweida@zmaw.de>
* streamInqGinfo: added support for GRIB files > 2GB
2014-01-03 Uwe Schulzweida <Uwe.Schulzweida@zmaw.de>
* streamOpenA, streamOpen: parameter recordBufIsToBeCreated missing in call to cdiStreamOpenDefaultDelegate() (bug fix)
......
......@@ -4,14 +4,1335 @@
This appendix provide a brief listing of the C language bindings of the
CDI library routines:
\section*{\tt \htmlref{pioInit}{pioInit}}
\section*{\tt \htmlref{cdiClearAdditionalKeys}{cdiClearAdditionalKeys}}
\begin{verbatim}
MPI_Comm pioInit (MPI_Comm commSuper, int nProcsIO, int IOMode,
int *pioNamespace, float partInflate,
void (*postCommSetupActions)(void));
void cdiClearAdditionalKeys ();
\end{verbatim}
initialize I/O server processes and communication.
Clear the list of additional GRIB keys..
\section*{\tt \htmlref{cdiDefAdditionalKey}{cdiDefAdditionalKey}}
\begin{verbatim}
void cdiDefAdditionalKey (const char *string);
\end{verbatim}
Register an additional GRIB key which is read when file is opened..
\section*{\tt \htmlref{gridCreate}{gridCreate}}
\begin{verbatim}
int gridCreate (int gridtype, int size);
\end{verbatim}
Create a horizontal Grid.
\section*{\tt \htmlref{gridDefNP}{gridDefNP}}
\begin{verbatim}
void gridDefNP (int gridID, int np);
\end{verbatim}
Define the number of parallels between a pole and the equator.
\section*{\tt \htmlref{gridDefNumber}{gridDefNumber}}
\begin{verbatim}
void gridDefNumber (int gridID, int number);
\end{verbatim}
Define the reference number for an unstructured grid.
\section*{\tt \htmlref{gridDefNvertex}{gridDefNvertex}}
\begin{verbatim}
void gridDefNvertex (int gridID, int nvertex);
\end{verbatim}
Define the number of vertex of a Gridbox.
\section*{\tt \htmlref{gridDefPosition}{gridDefPosition}}
\begin{verbatim}
void gridDefPosition (int gridID, int position);
\end{verbatim}
Define the position of grid in the reference file.
\section*{\tt \htmlref{gridDefPrec}{gridDefPrec}}
\begin{verbatim}
void gridDefPrec (int gridID, int prec);
\end{verbatim}
Define the precision of a Grid.
\section*{\tt \htmlref{gridDefReference}{gridDefReference}}
\begin{verbatim}
void gridDefReference (int gridID, const char *reference);
\end{verbatim}
Define the reference URI for an unstructured grid.
\section*{\tt \htmlref{gridDefUUID}{gridDefUUID}}
\begin{verbatim}
void gridDefUUID (int gridID, const char *uuid_cbuf);
\end{verbatim}
Define the UUID of an unstructured grid.
\section*{\tt \htmlref{gridDefXbounds}{gridDefXbounds}}
\begin{verbatim}
void gridDefXbounds (int gridID, const double *xbounds_vec);
\end{verbatim}
Define the bounds of a X-axis.
\section*{\tt \htmlref{gridDefXlongname}{gridDefXlongname}}
\begin{verbatim}
void gridDefXlongname (int gridID, const char *xlongname);
\end{verbatim}
Define the longname of a X-axis.
\section*{\tt \htmlref{gridDefXname}{gridDefXname}}
\begin{verbatim}
void gridDefXname (int gridID, const char *xname);
\end{verbatim}
Define the name of a X-axis.
\section*{\tt \htmlref{gridDefXsize}{gridDefXsize}}
\begin{verbatim}
void gridDefXsize (int gridID, int xsize);
\end{verbatim}
Define the size of a X-axis.
\section*{\tt \htmlref{gridDefXunits}{gridDefXunits}}
\begin{verbatim}
void gridDefXunits (int gridID, const char *xunits);
\end{verbatim}
Define the units of a X-axis.
\section*{\tt \htmlref{gridDefXvals}{gridDefXvals}}
\begin{verbatim}
void gridDefXvals (int gridID, const double *xvals_vec);
\end{verbatim}
Define the values of a X-axis.
\section*{\tt \htmlref{gridDefYbounds}{gridDefYbounds}}
\begin{verbatim}
void gridDefYbounds (int gridID, const double *ybounds_vec);
\end{verbatim}
Define the bounds of a Y-axis.
\section*{\tt \htmlref{gridDefYlongname}{gridDefYlongname}}
\begin{verbatim}
void gridDefYlongname (int gridID, const char *ylongname);
\end{verbatim}
Define the longname of a Y-axis.
\section*{\tt \htmlref{gridDefYname}{gridDefYname}}
\begin{verbatim}
void gridDefYname (int gridID, const char *yname);
\end{verbatim}
Define the name of a Y-axis.
\section*{\tt \htmlref{gridDefYsize}{gridDefYsize}}
\begin{verbatim}
void gridDefYsize (int gridID, int ysize);
\end{verbatim}
Define the size of a Y-axis.
\section*{\tt \htmlref{gridDefYunits}{gridDefYunits}}
\begin{verbatim}
void gridDefYunits (int gridID, const char *yunits);
\end{verbatim}
Define the units of a Y-axis.
\section*{\tt \htmlref{gridDefYvals}{gridDefYvals}}
\begin{verbatim}
void gridDefYvals (int gridID, const double *yvals_vec);
\end{verbatim}
Define the values of a Y-axis.
\section*{\tt \htmlref{gridDestroy}{gridDestroy}}
\begin{verbatim}
void gridDestroy (int gridID);
\end{verbatim}
Destroy a horizontal Grid.
\section*{\tt \htmlref{gridDuplicate}{gridDuplicate}}
\begin{verbatim}
int gridDuplicate (int gridID);
\end{verbatim}
Duplicate a Grid.
\section*{\tt \htmlref{gridInqNP}{gridInqNP}}
\begin{verbatim}
int gridInqNP (int gridID);
\end{verbatim}
Get the number of parallels between a pole and the equator.
\section*{\tt \htmlref{gridInqNumber}{gridInqNumber}}
\begin{verbatim}
int gridInqNumber (int gridID);
\end{verbatim}
Get the reference number to an unstructured grid.
\section*{\tt \htmlref{gridInqNvertex}{gridInqNvertex}}
\begin{verbatim}
int gridInqNvertex (int gridID);
\end{verbatim}
Get the number of vertex of a Gridbox.
\section*{\tt \htmlref{gridInqPosition}{gridInqPosition}}
\begin{verbatim}
int gridInqPosition (int gridID);
\end{verbatim}
Get the position of grid in the reference file.
\section*{\tt \htmlref{gridInqPrec}{gridInqPrec}}
\begin{verbatim}
int gridInqPrec (int gridID);
\end{verbatim}
Get the precision of a Grid.
\section*{\tt \htmlref{gridInqReference}{gridInqReference}}
\begin{verbatim}
int gridInqReference (int gridID, char *reference);
\end{verbatim}
Get the reference URI to an unstructured grid.
\section*{\tt \htmlref{gridInqSize}{gridInqSize}}
\begin{verbatim}
int gridInqSize (int gridID);
\end{verbatim}
Get the size of a Grid.
\section*{\tt \htmlref{gridInqType}{gridInqType}}
\begin{verbatim}
int gridInqType (int gridID);
\end{verbatim}
Get the type of a Grid.
\section*{\tt \htmlref{gridInqUUID}{gridInqUUID}}
\begin{verbatim}
char *gridInqUUID (int gridID, char *uuid_cbuf);
\end{verbatim}
Get the UUID of an unstructured grid.
\section*{\tt \htmlref{gridInqXbounds}{gridInqXbounds}}
\begin{verbatim}
int gridInqXbounds (int gridID, double *xbounds_vec);
\end{verbatim}
Get the bounds of a X-axis.
\section*{\tt \htmlref{gridInqXlongname}{gridInqXlongname}}
\begin{verbatim}
void gridInqXlongname (int gridID, char *xlongname);
\end{verbatim}
Get the longname of a X-axis.
\section*{\tt \htmlref{gridInqXname}{gridInqXname}}
\begin{verbatim}
void gridInqXname (int gridID, char *xname);
\end{verbatim}
Get the name of a X-axis.
\section*{\tt \htmlref{gridInqXsize}{gridInqXsize}}
\begin{verbatim}
int gridInqXsize (int gridID);
\end{verbatim}
Get the size of a X-axis.
\section*{\tt \htmlref{gridInqXstdname}{gridInqXstdname}}
\begin{verbatim}
void gridInqXstdname (int gridID, char *xstdname);
\end{verbatim}
Get the standard name of a X-axis.
\section*{\tt \htmlref{gridInqXunits}{gridInqXunits}}
\begin{verbatim}
void gridInqXunits (int gridID, char *xunits);
\end{verbatim}
Get the units of a X-axis.
\section*{\tt \htmlref{gridInqXval}{gridInqXval}}
\begin{verbatim}
double gridInqXval (int gridID, int index);
\end{verbatim}
Get one value of a X-axis.
\section*{\tt \htmlref{gridInqXvals}{gridInqXvals}}
\begin{verbatim}
int gridInqXvals (int gridID, double *xvals_vec);
\end{verbatim}
Get all values of a X-axis.
\section*{\tt \htmlref{gridInqYbounds}{gridInqYbounds}}
\begin{verbatim}
int gridInqYbounds (int gridID, double *ybounds_vec);
\end{verbatim}
Get the bounds of a Y-axis.
\section*{\tt \htmlref{gridInqYlongname}{gridInqYlongname}}
\begin{verbatim}
void gridInqYlongname (int gridID, char *ylongname);
\end{verbatim}
Get the longname of a Y-axis.
\section*{\tt \htmlref{gridInqYname}{gridInqYname}}
\begin{verbatim}
void gridInqYname (int gridID, char *yname);
\end{verbatim}
Get the name of a Y-axis.
\section*{\tt \htmlref{gridInqYsize}{gridInqYsize}}
\begin{verbatim}
int gridInqYsize (int gridID);
\end{verbatim}
Get the size of a Y-axis.
\section*{\tt \htmlref{gridInqYstdname}{gridInqYstdname}}
\begin{verbatim}
void gridInqYstdname (int gridID, char *ystdname);
\end{verbatim}
Get the standard name of a Y-axis.
\section*{\tt \htmlref{gridInqYunits}{gridInqYunits}}
\begin{verbatim}
void gridInqYunits (int gridID, char *yunits);
\end{verbatim}
Get the units of a Y-axis.
\section*{\tt \htmlref{gridInqYval}{gridInqYval}}
\begin{verbatim}
double gridInqYval (int gridID, int index);
\end{verbatim}
Get one value of a Y-axis.
\section*{\tt \htmlref{gridInqYvals}{gridInqYvals}}
\begin{verbatim}
int gridInqYvals (int gridID, double *yvals_vec);
\end{verbatim}
Get all values of a Y-axis.
\section*{\tt \htmlref{streamClose}{streamClose}}
\begin{verbatim}
void streamClose (int streamID);
\end{verbatim}
Close an open dataset.
\section*{\tt \htmlref{streamDefByteorder}{streamDefByteorder}}
\begin{verbatim}
void streamDefByteorder (int streamID, int byteorder);
\end{verbatim}
Define the byteorder.
\section*{\tt \htmlref{streamDefCompLevel}{streamDefCompLevel}}
\begin{verbatim}
void streamDefCompLevel (int streamID, int complevel);
\end{verbatim}
Define compression level.
\section*{\tt \htmlref{streamDefCompType}{streamDefCompType}}
\begin{verbatim}
void streamDefCompType (int streamID, int comptype);
\end{verbatim}
Define compression type.
\section*{\tt \htmlref{streamDefTimestep}{streamDefTimestep}}
\begin{verbatim}
int streamDefTimestep (int streamID, int tsID);
\end{verbatim}
Define time step.
\section*{\tt \htmlref{streamDefVlist}{streamDefVlist}}
\begin{verbatim}
void streamDefVlist (int streamID, int vlistID);
\end{verbatim}
Define the Vlist for a stream.
\section*{\tt \htmlref{streamInqByteorder}{streamInqByteorder}}
\begin{verbatim}
int streamInqByteorder (int streamID);
\end{verbatim}
Get the byteorder.
\section*{\tt \htmlref{streamInqCompLevel}{streamInqCompLevel}}
\begin{verbatim}
int streamInqCompLevel (int streamID);
\end{verbatim}
Get compression level.
\section*{\tt \htmlref{streamInqCompType}{streamInqCompType}}
\begin{verbatim}
int streamInqCompType (int streamID);
\end{verbatim}
Get compression type.
\section*{\tt \htmlref{streamInqFiletype}{streamInqFiletype}}
\begin{verbatim}
int streamInqFiletype (int streamID);
\end{verbatim}
Get the filetype.
\section*{\tt \htmlref{streamInqTimestep}{streamInqTimestep}}
\begin{verbatim}
int streamInqTimestep (int streamID, int tsID);
\end{verbatim}
Get time step.
\section*{\tt \htmlref{streamInqVlist}{streamInqVlist}}
\begin{verbatim}
int streamInqVlist (int streamID);
\end{verbatim}
Get the Vlist of a stream.
\section*{\tt \htmlref{streamOpenRead}{streamOpenRead}}
\begin{verbatim}
int streamOpenRead (const char *path);
\end{verbatim}
Open a dataset for reading.
\section*{\tt \htmlref{streamOpenWrite}{streamOpenWrite}}
\begin{verbatim}
int streamOpenWrite (const char *path, int filetype);
\end{verbatim}
Create a new dataset.
\section*{\tt \htmlref{streamReadVar}{streamReadVar}}
\begin{verbatim}
void streamReadVar (int streamID, int varID, double *data_vec, int *nmiss);
\end{verbatim}
Read a variable.
\section*{\tt \htmlref{streamReadVarSlice}{streamReadVarSlice}}
\begin{verbatim}
void streamReadVarSlice (int streamID, int varID, int levelID, double *data_vec,
int *nmiss);
\end{verbatim}
Read a horizontal slice of a variable.
\section*{\tt \htmlref{streamSync}{streamSync}}
\begin{verbatim}
void streamSync (int streamID);
\end{verbatim}
Synchronize an Open Dataset to Disk.
\section*{\tt \htmlref{streamWriteVar}{streamWriteVar}}
\begin{verbatim}
void streamWriteVar (int streamID, int varID, const double *data_vec, int nmiss);
\end{verbatim}
Write a variable.
\section*{\tt \htmlref{streamWriteVarSlice}{streamWriteVarSlice}}
\begin{verbatim}
void streamWriteVarSlice (int streamID, int varID, int levelID,
const double *data_vec, int nmiss);
\end{verbatim}
Write a horizontal slice of a variable.
\section*{\tt \htmlref{taxisCreate}{taxisCreate}}
\begin{verbatim}
int taxisCreate (int timetype);
\end{verbatim}
Create a Time axis.
\section*{\tt \htmlref{taxisDefCalendar}{taxisDefCalendar}}
\begin{verbatim}
void taxisDefCalendar (int taxisID, int calendar);
\end{verbatim}
Define the calendar.
\section*{\tt \htmlref{taxisDefRdate}{taxisDefRdate}}
\begin{verbatim}