From bd3ec5faf4305545307c4f47d49a29a6e0e1bbdf Mon Sep 17 00:00:00 2001
From: Uwe Schulzweida <uwe.schulzweida@mpimet.mpg.de>
Date: Fri, 5 Jun 2020 14:47:09 +0200
Subject: [PATCH] Docu update.

---
 doc/tex/FUNCTIONS  |   6 --
 doc/tex/Modules    |  10 ----
 doc/tex/c_grid.tex | 144 ---------------------------------------------
 doc/tex/c_ref.tex  |  90 ----------------------------
 doc/tex/f_grid.tex | 144 ---------------------------------------------
 doc/tex/f_ref.tex  |  90 ----------------------------
 doc/tex/keys.tex   |  16 ++++-
 src/cdi.h          |  27 +++++----
 8 files changed, 29 insertions(+), 498 deletions(-)

diff --git a/doc/tex/FUNCTIONS b/doc/tex/FUNCTIONS
index f968ba6c0..c4dbdd7be 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 6da6b961d..99a408153 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 5a8c216e3..8dcafdebb 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 6d56fd2fd..766448b47 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 ce8139997..5bd38bb73 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 ea0fbfa3e..45e8c109f 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 c07dcba8a..6e54ecd26 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 fa1c89315..e5c84bb0f 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);
 
-- 
GitLab