\subsection{Define a Variable: {\tt vlistDefVar}} \index{vlistDefVar} \label{vlistDefVar} The function {\tt vlistDefVar} adds a new variable to vlistID. \subsubsection*{Usage} \begin{verbatim} int vlistDefVar(int vlistID, int gridID, int zaxisID, int timeID); \end{verbatim} \hspace*{4mm}\begin{minipage}[]{15cm} \begin{deflist}{\tt vlistID\ } \item[{\tt vlistID}] Variable list ID, from a previous call to {\htmlref{\tt vlistCreate}{vlistCreate}} \item[{\tt gridID}] Grid ID, from a previous call to {\htmlref{\tt gridCreate}{gridCreate}} \item[{\tt zaxisID}] Z-axis ID, from a previous call to {\htmlref{\tt zaxisCreate}{zaxisCreate}} \item[{\tt timeID}] One of the set of predefined {\CDI} time identifiers. The valid {\CDI} time identifiers are {\tt TIME\_CONSTANT} and {\tt TIME\_VARIABLE}. \end{deflist} \end{minipage} \subsubsection*{Result} {\tt vlistDefVar} returns an identifier to the new variable. \subsubsection*{Example} Here is an example using {\tt vlistCreate} to create a variable list and add a variable with {\tt vlistDefVar}. \begin{lstlisting}[language=C, backgroundcolor=\color{zebg}, basicstyle=\footnotesize] #include "cdi.h" ... int vlistID, varID; ... vlistID = vlistCreate(); varID = vlistDefVar(vlistID, gridID, zaxisID, TIME_VARIABLE); ... streamDefVlist(streamID, vlistID); ... vlistDestroy(vlistID); ... \end{lstlisting} \subsection{Get the Grid ID of a Variable: {\tt vlistInqVarGrid}} \index{vlistInqVarGrid} \label{vlistInqVarGrid} The function {\tt vlistInqVarGrid} returns the grid ID of a variable. \subsubsection*{Usage} \begin{verbatim} int vlistInqVarGrid(int vlistID, int varID); \end{verbatim} \hspace*{4mm}\begin{minipage}[]{15cm} \begin{deflist}{\tt vlistID\ } \item[{\tt vlistID}] Variable list ID, from a previous call to {\htmlref{\tt vlistCreate}{vlistCreate}} \item[{\tt varID}] Variable identifier \end{deflist} \end{minipage} \subsubsection*{Result} {\tt vlistInqVarGrid} returns the grid ID of the variable. \subsection{Get the Zaxis ID of a Variable: {\tt vlistInqVarZaxis}} \index{vlistInqVarZaxis} \label{vlistInqVarZaxis} The function {\tt vlistInqVarZaxis} returns the zaxis ID of a variable. \subsubsection*{Usage} \begin{verbatim} int vlistInqVarZaxis(int vlistID, int varID); \end{verbatim} \hspace*{4mm}\begin{minipage}[]{15cm} \begin{deflist}{\tt vlistID\ } \item[{\tt vlistID}] Variable list ID, from a previous call to {\htmlref{\tt vlistCreate}{vlistCreate}} \item[{\tt varID}] Variable identifier \end{deflist} \end{minipage} \subsubsection*{Result} {\tt vlistInqVarZaxis} returns the zaxis ID of the variable. \subsection{Define the code number of a Variable: {\tt vlistDefVarCode}} \index{vlistDefVarCode} \label{vlistDefVarCode} The function {\tt vlistDefVarCode} defines the code number of a variable. \subsubsection*{Usage} \begin{verbatim} void vlistDefVarCode(int vlistID, int varID, int code); \end{verbatim} \hspace*{4mm}\begin{minipage}[]{15cm} \begin{deflist}{\tt vlistID\ } \item[{\tt vlistID}] Variable list ID, from a previous call to {\htmlref{\tt vlistCreate}{vlistCreate}} \item[{\tt varID}] Variable identifier \item[{\tt code}] Code number \end{deflist} \end{minipage} \subsection{Get the Code number of a Variable: {\tt vlistInqVarCode}} \index{vlistInqVarCode} \label{vlistInqVarCode} The function {\tt vlistInqVarCode} returns the code number of a variable. \subsubsection*{Usage} \begin{verbatim} int vlistInqVarCode(int vlistID, int varID); \end{verbatim} \hspace*{4mm}\begin{minipage}[]{15cm} \begin{deflist}{\tt vlistID\ } \item[{\tt vlistID}] Variable list ID, from a previous call to {\htmlref{\tt vlistCreate}{vlistCreate}} \item[{\tt varID}] Variable identifier \end{deflist} \end{minipage} \subsubsection*{Result} {\tt vlistInqVarCode} returns the code number of the variable. \subsection{Define the name of a Variable: {\tt vlistDefVarName}} \index{vlistDefVarName} \label{vlistDefVarName} The function {\tt vlistDefVarName} defines the name of a variable. \subsubsection*{Usage} \begin{verbatim} void vlistDefVarName(int vlistID, int varID, const char *name); \end{verbatim} \hspace*{4mm}\begin{minipage}[]{15cm} \begin{deflist}{\tt vlistID\ } \item[{\tt vlistID}] Variable list ID, from a previous call to {\htmlref{\tt vlistCreate}{vlistCreate}} \item[{\tt varID}] Variable identifier \item[{\tt name}] Name of the variable \end{deflist} \end{minipage} \subsection{Get the name of a Variable: {\tt vlistInqVarName}} \index{vlistInqVarName} \label{vlistInqVarName} The function {\tt vlistInqVarName} returns the name of a variable. \subsubsection*{Usage} \begin{verbatim} void vlistInqVarName(int vlistID, int varID, char *name); \end{verbatim} \hspace*{4mm}\begin{minipage}[]{15cm} \begin{deflist}{\tt vlistID\ } \item[{\tt vlistID}] Variable list ID, from a previous call to {\htmlref{\tt vlistCreate}{vlistCreate}} \item[{\tt varID}] Variable identifier \item[{\tt name}] Variable name \end{deflist} \end{minipage} \subsubsection*{Result} {\tt vlistInqVarName} returns the name of the variable to the parameter name. \subsection{Define the long name of a Variable: {\tt vlistDefVarLongname}} \index{vlistDefVarLongname} \label{vlistDefVarLongname} The function {\tt vlistDefVarLongname} defines the long name of a variable. \subsubsection*{Usage} \begin{verbatim} void vlistDefVarLongname(int vlistID, int varID, const char *longname); \end{verbatim} \hspace*{4mm}\begin{minipage}[]{15cm} \begin{deflist}{\tt longname\ } \item[{\tt vlistID}] Variable list ID, from a previous call to {\htmlref{\tt vlistCreate}{vlistCreate}} \item[{\tt varID}] Variable identifier \item[{\tt longname}] Long name of the variable \end{deflist} \end{minipage} \subsection{Get the longname of a Variable: {\tt vlistInqVarLongname}} \index{vlistInqVarLongname} \label{vlistInqVarLongname} The function {\tt vlistInqVarLongname} returns the longname of a variable. \subsubsection*{Usage} \begin{verbatim} void vlistInqVarLongname(int vlistID, int varID, char *longname); \end{verbatim} \hspace*{4mm}\begin{minipage}[]{15cm} \begin{deflist}{\tt longname\ } \item[{\tt vlistID}] Variable list ID, from a previous call to {\htmlref{\tt vlistCreate}{vlistCreate}} \item[{\tt varID}] Variable identifier \item[{\tt longname}] Variable description \end{deflist} \end{minipage} \subsubsection*{Result} {\tt vlistInqVaeLongname} returns the longname of the variable to the parameter longname. \subsection{Define the standard name of a Variable: {\tt vlistDefVarStdname}} \index{vlistDefVarStdname} \label{vlistDefVarStdname} The function {\tt vlistDefVarStdname} defines the standard name of a variable. \subsubsection*{Usage} \begin{verbatim} void vlistDefVarStdname(int vlistID, int varID, const char *stdname); \end{verbatim} \hspace*{4mm}\begin{minipage}[]{15cm} \begin{deflist}{\tt vlistID\ } \item[{\tt vlistID}] Variable list ID, from a previous call to {\htmlref{\tt vlistCreate}{vlistCreate}} \item[{\tt varID}] Variable identifier \item[{\tt stdname}] Standard name of the variable \end{deflist} \end{minipage} \subsection{Get the standard name of a Variable: {\tt vlistInqVarStdname}} \index{vlistInqVarStdname} \label{vlistInqVarStdname} The function {\tt vlistInqVarStdname} returns the standard name of a variable. \subsubsection*{Usage} \begin{verbatim} void vlistInqVarStdname(int vlistID, int varID, char *stdname); \end{verbatim} \hspace*{4mm}\begin{minipage}[]{15cm} \begin{deflist}{\tt vlistID\ } \item[{\tt vlistID}] Variable list ID, from a previous call to {\htmlref{\tt vlistCreate}{vlistCreate}} \item[{\tt varID}] Variable identifier \item[{\tt stdname}] Variable standard name \end{deflist} \end{minipage} \subsubsection*{Result} {\tt vlistInqVarName} returns the standard name of the variable to the parameter stdname. \subsection{Define the units of a Variable: {\tt vlistDefVarUnits}} \index{vlistDefVarUnits} \label{vlistDefVarUnits} The function {\tt vlistDefVarUnits} defines the units of a variable. \subsubsection*{Usage} \begin{verbatim} void vlistDefVarUnits(int vlistID, int varID, const char *units); \end{verbatim} \hspace*{4mm}\begin{minipage}[]{15cm} \begin{deflist}{\tt vlistID\ } \item[{\tt vlistID}] Variable list ID, from a previous call to {\htmlref{\tt vlistCreate}{vlistCreate}} \item[{\tt varID}] Variable identifier \item[{\tt units}] Units of the variable \end{deflist} \end{minipage} \subsection{Get the units of a Variable: {\tt vlistInqVarUnits}} \index{vlistInqVarUnits} \label{vlistInqVarUnits} The function {\tt vlistInqVarUnits} returns the units of a variable. \subsubsection*{Usage} \begin{verbatim} void vlistInqVarUnits(int vlistID, int varID, char *units); \end{verbatim} \hspace*{4mm}\begin{minipage}[]{15cm} \begin{deflist}{\tt vlistID\ } \item[{\tt vlistID}] Variable list ID, from a previous call to {\htmlref{\tt vlistCreate}{vlistCreate}} \item[{\tt varID}] Variable identifier \item[{\tt units}] Variable units \end{deflist} \end{minipage} \subsubsection*{Result} {\tt vlistInqVarUnits} returns the units of the variable to the parameter units. \subsection{Define the data type of a Variable: {\tt vlistDefVarDatatype}} \index{vlistDefVarDatatype} \label{vlistDefVarDatatype} The function {\tt vlistDefVarDatatype} defines the data type of a variable. \subsubsection*{Usage} \begin{verbatim} void vlistDefVarDatatype(int vlistID, int varID, int datatype); \end{verbatim} \hspace*{4mm}\begin{minipage}[]{15cm} \begin{deflist}{\tt datatype\ } \item[{\tt vlistID}] Variable list ID, from a previous call to {\htmlref{\tt vlistCreate}{vlistCreate}} \item[{\tt varID}] Variable identifier \item[{\tt datatype}] The data type identifier. The valid {\CDI} data types are {\tt DATATYPE\_PACK8}, {\tt DATATYPE\_PACK16}, {\tt DATATYPE\_PACK24}, {\tt DATATYPE\_FLT32} and {\tt DATATYPE\_FLT64}. \end{deflist} \end{minipage} \subsection{Get the data type of a Variable: {\tt vlistInqVarDatatype}} \index{vlistInqVarDatatype} \label{vlistInqVarDatatype} The function {\tt vlistInqVarDatatype} returns the data type of a variable. \subsubsection*{Usage} \begin{verbatim} int vlistInqVarDatatype(int vlistID, int varID); \end{verbatim} \hspace*{4mm}\begin{minipage}[]{15cm} \begin{deflist}{\tt vlistID\ } \item[{\tt vlistID}] Variable list ID, from a previous call to {\htmlref{\tt vlistCreate}{vlistCreate}} \item[{\tt varID}] Variable identifier \end{deflist} \end{minipage} \subsubsection*{Result} {\tt vlistInqVarDatatype} returns an identifier to the data type of the variable. The valid {\CDI} data types are {\tt DATATYPE\_PACK8}, {\tt DATATYPE\_PACK16}, {\tt DATATYPE\_PACK24}, {\tt DATATYPE\_FLT32} and {\tt DATATYPE\_FLT64}. \subsection{Define the missing value of a Variable: {\tt vlistDefVarMissval}} \index{vlistDefVarMissval} \label{vlistDefVarMissval} The function {\tt vlistDefVarMissval} defines the missing value of a variable. \subsubsection*{Usage} \begin{verbatim} void vlistDefVarMissval(int vlistID, int varID, double missval); \end{verbatim} \hspace*{4mm}\begin{minipage}[]{15cm} \begin{deflist}{\tt vlistID\ } \item[{\tt vlistID}] Variable list ID, from a previous call to {\htmlref{\tt vlistCreate}{vlistCreate}} \item[{\tt varID}] Variable identifier \item[{\tt missval}] Missing value \end{deflist} \end{minipage} \subsection{Get the missing value of a Variable: {\tt vlistInqVarMissval}} \index{vlistInqVarMissval} \label{vlistInqVarMissval} The function {\tt vlistInqVarMissval} returns the missing value of a variable. \subsubsection*{Usage} \begin{verbatim} double vlistInqVarMissval(int vlistID, int varID); \end{verbatim} \hspace*{4mm}\begin{minipage}[]{15cm} \begin{deflist}{\tt vlistID\ } \item[{\tt vlistID}] Variable list ID, from a previous call to {\htmlref{\tt vlistCreate}{vlistCreate}} \item[{\tt varID}] Variable identifier \end{deflist} \end{minipage} \subsubsection*{Result} {\tt vlistInqVarMissval} returns the missing value of the variable.