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);