diff --git a/doc/tex/FUNCTIONS b/doc/tex/FUNCTIONS index f968ba6c09108c43700e635a93285870e90e3439..c4dbdd7bebb7338cebc4b914f6419676912d0f9e 100644 --- a/doc/tex/FUNCTIONS +++ b/doc/tex/FUNCTIONS @@ -114,12 +114,6 @@ Function catalog: gridInqXbounds Get the bounds of a X-axis gridDefYbounds Define the bounds of a Y-axis gridInqYbounds Get the bounds of a Y-axis - gridDefNumber Define the reference number for an unstructured grid - gridInqNumber Get the reference number to an unstructured grid - gridDefPosition Define the position of grid in the reference file - gridInqPosition Get the position of grid in the reference file - gridDefReference Define the reference URI for an unstructured grid - gridInqReference Get the reference URI to an unstructured grid ------------------------------------------------------------- zaxis ------------------------------------------------------------- diff --git a/doc/tex/Modules b/doc/tex/Modules index 6da6b961dc7b7397e30eda4735e40dc39d8087a4..99a4081535e63fc11f57a254503d033e45687146 100644 --- a/doc/tex/Modules +++ b/doc/tex/Modules @@ -88,16 +88,6 @@ gridDefXbounds grid gridInqXbounds grid gridDefYbounds grid gridInqYbounds grid - gridDefXpole grid - gridInqXpole grid -gridDefLambert grid -gridInqLambert grid -gridDefNumber grid -gridInqNumber grid -gridDefPosition grid -gridInqPosition grid -gridDefReference grid -gridInqReference grid zaxisCreate zaxis zaxisDestroy zaxis zaxisDuplicate zaxis diff --git a/doc/tex/c_grid.tex b/doc/tex/c_grid.tex index 5a8c216e33ce9ee55102102e7a7f1d9c5d49fc96..8dcafdebb718baef345b142b8fce6ee404210a59 100644 --- a/doc/tex/c_grid.tex +++ b/doc/tex/c_grid.tex @@ -517,147 +517,3 @@ Upon successful completion {\texttt{gridInqYbounds}} returns the number of bound the bounds are stored in {\texttt{ybounds}}. Otherwise, 0 is returned and {\texttt{ybounds}} is empty. - - -\subsection{Define the reference number for an unstructured grid: \texttt{gridDefNumber}} -\index{gridDefNumber} -\label{gridDefNumber} - -The function {\texttt{gridDefNumber}} defines the reference number for an unstructured grid. - -\subsubsection*{Usage} - -\begin{verbatim} - void gridDefNumber(int gridID, const int number); -\end{verbatim} - -\hspace*{4mm}\begin{minipage}[]{15cm} -\begin{deflist}{\texttt{gridID}\ } -\item[\texttt{gridID}] -Grid ID, from a previous call to {\htmlref{\texttt{gridCreate}}{gridCreate}}. -\item[\texttt{number}] -Reference number for an unstructured grid. - -\end{deflist} -\end{minipage} - - -\subsection{Get the reference number to an unstructured grid: \texttt{gridInqNumber}} -\index{gridInqNumber} -\label{gridInqNumber} - -The function {\texttt{gridInqNumber}} returns the reference number to an unstructured grid. - -\subsubsection*{Usage} - -\begin{verbatim} - int gridInqNumber(int gridID); -\end{verbatim} - -\hspace*{4mm}\begin{minipage}[]{15cm} -\begin{deflist}{\texttt{gridID}\ } -\item[\texttt{gridID}] -Grid ID, from a previous call to {\htmlref{\texttt{gridCreate}}{gridCreate}} or {\htmlref{\texttt{vlistInqVarGrid}}{vlistInqVarGrid}}. - -\end{deflist} -\end{minipage} - -\subsubsection*{Result} - -{\texttt{gridInqNumber}} returns the reference number to an unstructured grid. - - -\subsection{Define the position of grid in the reference file: \texttt{gridDefPosition}} -\index{gridDefPosition} -\label{gridDefPosition} - -The function {\texttt{gridDefPosition}} defines the position of grid in the reference file. - -\subsubsection*{Usage} - -\begin{verbatim} - void gridDefPosition(int gridID, const int position); -\end{verbatim} - -\hspace*{4mm}\begin{minipage}[]{15cm} -\begin{deflist}{\texttt{position}\ } -\item[\texttt{gridID}] -Grid ID, from a previous call to {\htmlref{\texttt{gridCreate}}{gridCreate}}. -\item[\texttt{position}] -Position of grid in the reference file. - -\end{deflist} -\end{minipage} - - -\subsection{Get the position of grid in the reference file: \texttt{gridInqPosition}} -\index{gridInqPosition} -\label{gridInqPosition} - -The function {\texttt{gridInqPosition}} returns the position of grid in the reference file. - -\subsubsection*{Usage} - -\begin{verbatim} - int gridInqPosition(int gridID); -\end{verbatim} - -\hspace*{4mm}\begin{minipage}[]{15cm} -\begin{deflist}{\texttt{gridID}\ } -\item[\texttt{gridID}] -Grid ID, from a previous call to {\htmlref{\texttt{gridCreate}}{gridCreate}} or {\htmlref{\texttt{vlistInqVarGrid}}{vlistInqVarGrid}}. - -\end{deflist} -\end{minipage} - -\subsubsection*{Result} - -{\texttt{gridInqPosition}} returns the position of grid in the reference file. - - -\subsection{Define the reference URI for an unstructured grid: \texttt{gridDefReference}} -\index{gridDefReference} -\label{gridDefReference} - -The function {\texttt{gridDefReference}} defines the reference URI for an unstructured grid. - -\subsubsection*{Usage} - -\begin{verbatim} - void gridDefReference(int gridID, const char *reference); -\end{verbatim} - -\hspace*{4mm}\begin{minipage}[]{15cm} -\begin{deflist}{\texttt{reference}\ } -\item[\texttt{gridID}] -Grid ID, from a previous call to {\htmlref{\texttt{gridCreate}}{gridCreate}}. -\item[\texttt{reference}] -Reference URI for an unstructured grid. - -\end{deflist} -\end{minipage} - - -\subsection{Get the reference URI to an unstructured grid: \texttt{gridInqReference}} -\index{gridInqReference} -\label{gridInqReference} - -The function {\texttt{gridInqReference}} returns the reference URI to an unstructured grid. - -\subsubsection*{Usage} - -\begin{verbatim} - char *gridInqReference(int gridID, char *reference); -\end{verbatim} - -\hspace*{4mm}\begin{minipage}[]{15cm} -\begin{deflist}{\texttt{gridID}\ } -\item[\texttt{gridID}] -Grid ID, from a previous call to {\htmlref{\texttt{gridCreate}}{gridCreate}} or {\htmlref{\texttt{vlistInqVarGrid}}{vlistInqVarGrid}}. - -\end{deflist} -\end{minipage} - -\subsubsection*{Result} - -{\texttt{gridInqReference}} returns the reference URI to an unstructured grid. diff --git a/doc/tex/c_ref.tex b/doc/tex/c_ref.tex index 6d56fd2fd84afefee3826af31054d79c5a9529d6..766448b47c80d2ccbec6777f6229d0a7e0b49838 100644 --- a/doc/tex/c_ref.tex +++ b/doc/tex/c_ref.tex @@ -273,51 +273,6 @@ Define the number of parallels between a pole and the equator \ifpdfoutput{}{(\ref{gridDefNP})} -\section*{\texttt{ -\ifpdf -\hyperref[gridDefNumber]{gridDefNumber} -\else -gridDefNumber -\fi -}} -\begin{verbatim} - void gridDefNumber(int gridID, const int number); -\end{verbatim} - -Define the reference number for an unstructured grid -\ifpdfoutput{}{(\ref{gridDefNumber})} - - -\section*{\texttt{ -\ifpdf -\hyperref[gridDefPosition]{gridDefPosition} -\else -gridDefPosition -\fi -}} -\begin{verbatim} - void gridDefPosition(int gridID, const int position); -\end{verbatim} - -Define the position of grid in the reference file -\ifpdfoutput{}{(\ref{gridDefPosition})} - - -\section*{\texttt{ -\ifpdf -\hyperref[gridDefReference]{gridDefReference} -\else -gridDefReference -\fi -}} -\begin{verbatim} - void gridDefReference(int gridID, const char *reference); -\end{verbatim} - -Define the reference URI for an unstructured grid -\ifpdfoutput{}{(\ref{gridDefReference})} - - \section*{\texttt{ \ifpdf \hyperref[gridDefXbounds]{gridDefXbounds} @@ -453,51 +408,6 @@ Get the number of parallels between a pole and the equator \ifpdfoutput{}{(\ref{gridInqNP})} -\section*{\texttt{ -\ifpdf -\hyperref[gridInqNumber]{gridInqNumber} -\else -gridInqNumber -\fi -}} -\begin{verbatim} - int gridInqNumber(int gridID); -\end{verbatim} - -Get the reference number to an unstructured grid -\ifpdfoutput{}{(\ref{gridInqNumber})} - - -\section*{\texttt{ -\ifpdf -\hyperref[gridInqPosition]{gridInqPosition} -\else -gridInqPosition -\fi -}} -\begin{verbatim} - int gridInqPosition(int gridID); -\end{verbatim} - -Get the position of grid in the reference file -\ifpdfoutput{}{(\ref{gridInqPosition})} - - -\section*{\texttt{ -\ifpdf -\hyperref[gridInqReference]{gridInqReference} -\else -gridInqReference -\fi -}} -\begin{verbatim} - char *gridInqReference(int gridID, char *reference); -\end{verbatim} - -Get the reference URI to an unstructured grid -\ifpdfoutput{}{(\ref{gridInqReference})} - - \section*{\texttt{ \ifpdf \hyperref[gridInqSize]{gridInqSize} diff --git a/doc/tex/f_grid.tex b/doc/tex/f_grid.tex index ce8139997578b35ea9d1716269f916bb7f653159..5bd38bb734ae27bdd10a22966b9c40d5eed41383 100644 --- a/doc/tex/f_grid.tex +++ b/doc/tex/f_grid.tex @@ -517,147 +517,3 @@ Upon successful completion {\texttt{gridInqYbounds}} returns the number of bound the bounds are stored in {\texttt{ybounds}}. Otherwise, 0 is returned and {\texttt{ybounds}} is empty. - - -\subsection{Define the reference number for an unstructured grid: \texttt{gridDefNumber}} -\index{gridDefNumber} -\label{gridDefNumber} - -The function {\texttt{gridDefNumber}} defines the reference number for an unstructured grid. - -\subsubsection*{Usage} - -\begin{verbatim} - SUBROUTINE gridDefNumber(INTEGER gridID, INTEGER number) -\end{verbatim} - -\hspace*{4mm}\begin{minipage}[]{15cm} -\begin{deflist}{\texttt{gridID}\ } -\item[\texttt{gridID}] -Grid ID, from a previous call to {\htmlref{\texttt{gridCreate}}{gridCreate}}. -\item[\texttt{number}] -Reference number for an unstructured grid. - -\end{deflist} -\end{minipage} - - -\subsection{Get the reference number to an unstructured grid: \texttt{gridInqNumber}} -\index{gridInqNumber} -\label{gridInqNumber} - -The function {\texttt{gridInqNumber}} returns the reference number to an unstructured grid. - -\subsubsection*{Usage} - -\begin{verbatim} - INTEGER FUNCTION gridInqNumber(INTEGER gridID) -\end{verbatim} - -\hspace*{4mm}\begin{minipage}[]{15cm} -\begin{deflist}{\texttt{gridID}\ } -\item[\texttt{gridID}] -Grid ID, from a previous call to {\htmlref{\texttt{gridCreate}}{gridCreate}} or {\htmlref{\texttt{vlistInqVarGrid}}{vlistInqVarGrid}}. - -\end{deflist} -\end{minipage} - -\subsubsection*{Result} - -{\texttt{gridInqNumber}} returns the reference number to an unstructured grid. - - -\subsection{Define the position of grid in the reference file: \texttt{gridDefPosition}} -\index{gridDefPosition} -\label{gridDefPosition} - -The function {\texttt{gridDefPosition}} defines the position of grid in the reference file. - -\subsubsection*{Usage} - -\begin{verbatim} - SUBROUTINE gridDefPosition(INTEGER gridID, INTEGER position) -\end{verbatim} - -\hspace*{4mm}\begin{minipage}[]{15cm} -\begin{deflist}{\texttt{position}\ } -\item[\texttt{gridID}] -Grid ID, from a previous call to {\htmlref{\texttt{gridCreate}}{gridCreate}}. -\item[\texttt{position}] -Position of grid in the reference file. - -\end{deflist} -\end{minipage} - - -\subsection{Get the position of grid in the reference file: \texttt{gridInqPosition}} -\index{gridInqPosition} -\label{gridInqPosition} - -The function {\texttt{gridInqPosition}} returns the position of grid in the reference file. - -\subsubsection*{Usage} - -\begin{verbatim} - INTEGER FUNCTION gridInqPosition(INTEGER gridID) -\end{verbatim} - -\hspace*{4mm}\begin{minipage}[]{15cm} -\begin{deflist}{\texttt{gridID}\ } -\item[\texttt{gridID}] -Grid ID, from a previous call to {\htmlref{\texttt{gridCreate}}{gridCreate}} or {\htmlref{\texttt{vlistInqVarGrid}}{vlistInqVarGrid}}. - -\end{deflist} -\end{minipage} - -\subsubsection*{Result} - -{\texttt{gridInqPosition}} returns the position of grid in the reference file. - - -\subsection{Define the reference URI for an unstructured grid: \texttt{gridDefReference}} -\index{gridDefReference} -\label{gridDefReference} - -The function {\texttt{gridDefReference}} defines the reference URI for an unstructured grid. - -\subsubsection*{Usage} - -\begin{verbatim} - SUBROUTINE gridDefReference(INTEGER gridID, CHARACTER*(*) reference) -\end{verbatim} - -\hspace*{4mm}\begin{minipage}[]{15cm} -\begin{deflist}{\texttt{reference}\ } -\item[\texttt{gridID}] -Grid ID, from a previous call to {\htmlref{\texttt{gridCreate}}{gridCreate}}. -\item[\texttt{reference}] -Reference URI for an unstructured grid. - -\end{deflist} -\end{minipage} - - -\subsection{Get the reference URI to an unstructured grid: \texttt{gridInqReference}} -\index{gridInqReference} -\label{gridInqReference} - -The function {\texttt{gridInqReference}} returns the reference URI to an unstructured grid. - -\subsubsection*{Usage} - -\begin{verbatim} - char *gridInqReference(INTEGER gridID, CHARACTER*(*) reference) -\end{verbatim} - -\hspace*{4mm}\begin{minipage}[]{15cm} -\begin{deflist}{\texttt{gridID}\ } -\item[\texttt{gridID}] -Grid ID, from a previous call to {\htmlref{\texttt{gridCreate}}{gridCreate}} or {\htmlref{\texttt{vlistInqVarGrid}}{vlistInqVarGrid}}. - -\end{deflist} -\end{minipage} - -\subsubsection*{Result} - -{\texttt{gridInqReference}} returns the reference URI to an unstructured grid. diff --git a/doc/tex/f_ref.tex b/doc/tex/f_ref.tex index ea0fbfa3ea15cfcba8aeda1af9d4aafa681efcfd..45e8c109f2eb5d6bb9030403718f3d1fb5be2f23 100644 --- a/doc/tex/f_ref.tex +++ b/doc/tex/f_ref.tex @@ -285,51 +285,6 @@ Define the number of parallels between a pole and the equator \ifpdfoutput{}{(\ref{gridDefNP})} -\section*{\texttt{ -\ifpdf -\hyperref[gridDefNumber]{gridDefNumber} -\else -gridDefNumber -\fi -}} -\begin{verbatim} - SUBROUTINE gridDefNumber(INTEGER gridID, INTEGER number) -\end{verbatim} - -Define the reference number for an unstructured grid -\ifpdfoutput{}{(\ref{gridDefNumber})} - - -\section*{\texttt{ -\ifpdf -\hyperref[gridDefPosition]{gridDefPosition} -\else -gridDefPosition -\fi -}} -\begin{verbatim} - SUBROUTINE gridDefPosition(INTEGER gridID, INTEGER position) -\end{verbatim} - -Define the position of grid in the reference file -\ifpdfoutput{}{(\ref{gridDefPosition})} - - -\section*{\texttt{ -\ifpdf -\hyperref[gridDefReference]{gridDefReference} -\else -gridDefReference -\fi -}} -\begin{verbatim} - SUBROUTINE gridDefReference(INTEGER gridID, CHARACTER*(*) reference) -\end{verbatim} - -Define the reference URI for an unstructured grid -\ifpdfoutput{}{(\ref{gridDefReference})} - - \section*{\texttt{ \ifpdf \hyperref[gridDefXbounds]{gridDefXbounds} @@ -465,51 +420,6 @@ Get the number of parallels between a pole and the equator \ifpdfoutput{}{(\ref{gridInqNP})} -\section*{\texttt{ -\ifpdf -\hyperref[gridInqNumber]{gridInqNumber} -\else -gridInqNumber -\fi -}} -\begin{verbatim} - INTEGER FUNCTION gridInqNumber(INTEGER gridID) -\end{verbatim} - -Get the reference number to an unstructured grid -\ifpdfoutput{}{(\ref{gridInqNumber})} - - -\section*{\texttt{ -\ifpdf -\hyperref[gridInqPosition]{gridInqPosition} -\else -gridInqPosition -\fi -}} -\begin{verbatim} - INTEGER FUNCTION gridInqPosition(INTEGER gridID) -\end{verbatim} - -Get the position of grid in the reference file -\ifpdfoutput{}{(\ref{gridInqPosition})} - - -\section*{\texttt{ -\ifpdf -\hyperref[gridInqReference]{gridInqReference} -\else -gridInqReference -\fi -}} -\begin{verbatim} - char *gridInqReference(INTEGER gridID, CHARACTER*(*) reference) -\end{verbatim} - -Get the reference URI to an unstructured grid -\ifpdfoutput{}{(\ref{gridInqReference})} - - \section*{\texttt{ \ifpdf \hyperref[gridInqSize]{gridInqSize} diff --git a/doc/tex/keys.tex b/doc/tex/keys.tex index c07dcba8a023879994cb43a6e5d8f02b3a40e28a..6e54ecd26ed14a592eee52e067520ec5d88b8405 100644 --- a/doc/tex/keys.tex +++ b/doc/tex/keys.tex @@ -29,24 +29,36 @@ The following key attributes are available: \vspace*{3mm} \hspace*{8mm}\begin{minipage}{15cm} -\begin{deflist}{\large\texttt{CDI\_KEY\_LONGNAME \ \ }} +\begin{deflist}{\large\texttt{CDI\_KEY\_NUMBEROFGRIDUSED \ \ }} \item[\large\texttt{CDI\_KEY\_NAME}] Variable name \item[\large\texttt{CDI\_KEY\_LONGNAME}] Long name of the variable \item[\large\texttt{CDI\_KEY\_STDNAME}] CF Standard name of the variable \item[\large\texttt{CDI\_KEY\_UNITS}] Units of the variable +\item[\large\texttt{CDI\_KEY\_REFERENCEURI}] Reference URI to grid file \end{deflist} \end{minipage} \vspace*{4mm} \textbf{Integer keys} +\vspace*{3mm} +\hspace*{8mm}\begin{minipage}{15cm} +\begin{deflist}{\large\texttt{CDI\_KEY\_NUMBEROFGRIDUSED \ \ }} +\item[\large\texttt{CDI\_KEY\_NUMBEROFGRIDUSED}] GRIB2 numberOfGridUsed +\item[\large\texttt{CDI\_KEY\_NUMBEROFGRIDINREFERENCE}] GRIB2 numberOfGridInReference +\item[\large\texttt{CDI\_KEY\_NUMBEROFVGRIDUSED}] GRIB2 numberOfVGridUsed +\item[\large\texttt{CDI\_KEY\_NLEV}] GRIB2 nlev +\end{deflist} +\end{minipage} +\vspace*{4mm} + \textbf{Floating point keys} \textbf{Byte array keys} \vspace*{3mm} \hspace*{8mm}\begin{minipage}{15cm} -\begin{deflist}{\large\texttt{CDI\_KEY\_LONGNAME \ \ }} +\begin{deflist}{\large\texttt{CDI\_KEY\_NUMBEROFGRIDUSED \ \ }} \item[\large\texttt{CDI\_KEY\_UUID}] UUID for grid/Z-axis reference [size: CDI\_UUID\_SIZE] \end{deflist} \end{minipage} diff --git a/src/cdi.h b/src/cdi.h index fa1c89315962de1db75eb1c1a6522a8adafbf9cb..e5c84bb0fb78b3377b0c9af0740191cc8591f17f 100644 --- a/src/cdi.h +++ b/src/cdi.h @@ -18,7 +18,7 @@ extern "C" { #define CDI_MAX_NAME 256 // Max length of a name #define CDI_UNDEFID -1 -#define CDI_GLOBAL -1 // Global var ID for vlist and grid +#define CDI_GLOBAL -1 // Global var ID for vlist and Z-axis #define CDI_XAXIS 1 // X-axis ID for grid #define CDI_YAXIS 2 // Y-axis ID for grid @@ -792,6 +792,15 @@ size_t gridInqYCvals(int gridID, char *ycvals[]); #define CDI_KEY_LONGNAME 943 // Long name of the variable #define CDI_KEY_STDNAME 944 // CF Standard name of the variable #define CDI_KEY_UNITS 945 // Units of the variable +#define CDI_KEY_REFERENCEURI 965 // Reference URI to grid file + +// Integer keys +#define CDI_KEY_NUMBEROFGRIDUSED 963 // GRIB2 numberOfGridUsed +#define CDI_KEY_NUMBEROFGRIDINREFERENCE 964 // GRIB2 numberOfGridInReference +#define CDI_KEY_NUMBEROFVGRIDUSED 961 // GRIB2 numberOfVGridUsed +#define CDI_KEY_NLEV 962 // GRIB2 nlev + +// Floating point keys // Byte array keys #define CDI_KEY_UUID 960 // UUID for grid/Z-axis reference [size: CDI_UUID_SIZE] @@ -823,11 +832,11 @@ size_t gridInqYCvals(int gridID, char *ycvals[]); #define CDI_KEY_GRIB2LOCALSECTIONNUMBER 818 // GRIB2 grib2LocalSectionNumber #define CDI_KEY_SECTION2PADDINGLENGTH 819 // GRIB2 length of section2Padding #define CDI_KEY_SECTION2PADDING 820 // GRIB2 section2Padding -#define CDI_KEY_UVRELATIVETOGRID 821 // GRIB uvRelativeToGrid -#define CDI_KEY_CONSTITUENTTYPE 822 // GRIB2 constituentType -#define CDI_KEY_TYPEOFTIMEINCREMENT 823 // GRIB2 typeOfTimeIncrement -#define CDI_KEY_TYPEOFFIRSTFIXEDSURFACE 824 // GRIB2 typeOfFirstFixedSurface -#define CDI_KEY_TYPEOFSECONDFIXEDSURFACE 825 // GRIB2 typeOfSecondFixedSurface +#define CDI_KEY_CONSTITUENTTYPE 821 // GRIB2 constituentType +#define CDI_KEY_TYPEOFTIMEINCREMENT 822 // GRIB2 typeOfTimeIncrement +#define CDI_KEY_TYPEOFFIRSTFIXEDSURFACE 823 // GRIB2 typeOfFirstFixedSurface +#define CDI_KEY_TYPEOFSECONDFIXEDSURFACE 824 // GRIB2 typeOfSecondFixedSurface +#define CDI_KEY_UVRELATIVETOGRID 825 // GRIB uvRelativeToGrid #define CDI_KEY_SCANNINGMODE 826 // GRIB scanningMode #define CDI_KEY_VDIMNAME 920 // Vertex dimension name @@ -835,12 +844,6 @@ size_t gridInqYCvals(int gridID, char *ycvals[]); #define CDI_KEY_GRIDMAP_VARNAME 922 // Grid mapping var name #define CDI_KEY_GRIDMAP_NAME 923 // Grid mapping name -#define CDI_KEY_NUMBEROFVGRIDUSED 961 // GRIB2 numberOfVGridUsed -#define CDI_KEY_NLEV 962 // GRIB2 nlev -#define CDI_KEY_NUMBEROFGRIDUSED 963 // GRIB2 numberOfGridUsed -#define CDI_KEY_NUMBEROFGRIDINREFERENCE 964 // GRIB2 numberOfGridInReference -#define CDI_KEY_REFERENCEURI 965 // reference URI to grid file - // cdiDefKeyInt: Define an integer value from a key int cdiDefKeyInt(int cdiID, int varID, int key, int value);