Commit 82c247ab authored by Uwe Schulzweida's avatar Uwe Schulzweida
Browse files

add gribapi

parent dd0d7fb6
......@@ -110,6 +110,8 @@ src/extralib.c -text
src/file.c -text
src/file.h -text
src/grib.h -text
src/gribapi.c -text
src/gribapi.h -text
src/griblib.c -text
src/grid.c -text
src/grid.h -text
......
......@@ -88,7 +88,7 @@ static void usage(void)
fprintf(stderr, "\n");
fprintf(stderr, " Options:\n");
fprintf(stderr, " -d Print debugging information\n");
fprintf(stderr, " -f <format> Format of the output file. (grb, nc, nc2, nc4, src, ext or ieg)\n");
fprintf(stderr, " -f <format> Format of the output file. (grb, grb2, nc, nc2, nc4, src, ext or ieg)\n");
fprintf(stderr, " -s give short information if ofile is missing\n");
fprintf(stderr, " -t <table> Parameter table name/file\n");
fprintf(stderr, " Predefined tables: ");
......@@ -189,6 +189,9 @@ void printFiletype(int streamID, int vlistID)
case FILETYPE_GRB:
printf("GRIB");
break;
case FILETYPE_GRB2:
printf("GRIB2");
break;
case FILETYPE_NC:
printf("netCDF");
break;
......@@ -813,17 +816,18 @@ static void setDefaultFileType(char *filetypestr)
{
char *ftstr = filetypestr;
if ( strncmp(filetypestr, "grb", 3) == 0 ) { ftstr += 3; DefaultFileType = FILETYPE_GRB; }
else if ( strncmp(filetypestr, "nc2", 3) == 0 ) { ftstr += 3; DefaultFileType = FILETYPE_NC2; }
else if ( strncmp(filetypestr, "nc4", 3) == 0 ) { ftstr += 3; DefaultFileType = FILETYPE_NC4; }
else if ( strncmp(filetypestr, "nc", 2) == 0 ) { ftstr += 2; DefaultFileType = FILETYPE_NC; }
else if ( strncmp(filetypestr, "srv", 3) == 0 ) { ftstr += 3; DefaultFileType = FILETYPE_SRV; }
else if ( strncmp(filetypestr, "ext", 3) == 0 ) { ftstr += 3; DefaultFileType = FILETYPE_EXT; }
else if ( strncmp(filetypestr, "ieg", 3) == 0 ) { ftstr += 3; DefaultFileType = FILETYPE_IEG; }
if ( strncmp(filetypestr, "grb2", 4) == 0 ) { ftstr += 4; DefaultFileType = FILETYPE_GRB2;}
else if ( strncmp(filetypestr, "grb", 3) == 0 ) { ftstr += 3; DefaultFileType = FILETYPE_NC2; }
else if ( strncmp(filetypestr, "nc2", 3) == 0 ) { ftstr += 3; DefaultFileType = FILETYPE_NC2; }
else if ( strncmp(filetypestr, "nc4", 3) == 0 ) { ftstr += 3; DefaultFileType = FILETYPE_NC4; }
else if ( strncmp(filetypestr, "nc", 2) == 0 ) { ftstr += 2; DefaultFileType = FILETYPE_NC; }
else if ( strncmp(filetypestr, "srv", 3) == 0 ) { ftstr += 3; DefaultFileType = FILETYPE_SRV; }
else if ( strncmp(filetypestr, "ext", 3) == 0 ) { ftstr += 3; DefaultFileType = FILETYPE_EXT; }
else if ( strncmp(filetypestr, "ieg", 3) == 0 ) { ftstr += 3; DefaultFileType = FILETYPE_IEG; }
else
{
fprintf(stderr, "Unsupported filetype %s!\n", filetypestr);
fprintf(stderr, "Available filetypes: grb, nc, nc2, nc4, srv, ext and ieg\n");
fprintf(stderr, "Available filetypes: grb, grb2, nc, nc2, nc4, srv, ext and ieg\n");
exit(EXIT_FAILURE);
}
......@@ -839,8 +843,8 @@ static void setDefaultFileType(char *filetypestr)
{
fprintf(stderr, "Unexpected character >%c< in file type >%s<!\n", *ftstr, filetypestr);
fprintf(stderr, "Use format[_nbits] with:\n");
fprintf(stderr, " format = grb, nc, nc2, nc4, srv, ext or ieg\n");
fprintf(stderr, " nbits = 32/64 for nc, nc2, nc4, srv, ext, ieg; 1 - 32 for grb\n");
fprintf(stderr, " format = grb, grb2, nc, nc2, nc4, srv, ext or ieg\n");
fprintf(stderr, " nbits = 32/64 for nc, nc2, nc4, srv, ext, ieg; 1 - 32 for grb, grb2\n");
exit(EXIT_FAILURE);
}
}
......
......@@ -21,6 +21,8 @@ case "${HOSTNAME}" in
# i686-suse-linux
linux | laptop)
./configure --prefix=$HOME/local \
--with-jasper=/usr/lib \
--with-grib_api=$HOME/local \
--with-netcdf=$HOME/local \
--with-szlib=$HOME/local \
CC=gcc CFLAGS="-g -O2 -Wall -W -Wfloat-equal -ansi -pedantic" CFINT=-Df2cFortran
......
......@@ -1323,6 +1323,14 @@ Optional Packages:
Specify location of SZLIB library. You must specify
its location if HDF5 was built with SZLIB. Configure
will expect to find subdirs include and lib.
--with-jasper=<directory>
Specify location of JASPER library. You must specify
its location if GRIB_API was built with JASPER.
Configure will expect to find subdirs include and
lib.
--with-grib_api=<directory>
Specify location of GRIB_API library. Configure will
expect to find subdirs include and lib.
--with-hdf5=<directory> Specify location of HDF5 library. Configure will
expect to find subdirs include and lib.
--with-grib Use the internal GRIB library [default=yes]
......@@ -5852,6 +5860,196 @@ fi
# AC_SUBST([SZLIBDIR], [$SZLIBDIR])
fi
# ----------------------------------------------------------------------
# Compile application with JASPER library
#
{ echo "$as_me:$LINENO: checking whether a location for the JASPER library was specified" >&5
echo $ECHO_N "checking whether a location for the JASPER library was specified... $ECHO_C" >&6; }
# Check whether --with-jasper was given.
if test "${with_jasper+set}" = set; then
withval=$with_jasper; JASPERDIR=$with_jasper
fi
if test -z "$JASPERDIR" ; then
{ echo "$as_me:$LINENO: result: no" >&5
echo "${ECHO_T}no" >&6; }
else
{ echo "$as_me:$LINENO: result: $JASPERDIR" >&5
echo "${ECHO_T}$JASPERDIR" >&6; }
LDFLAGS="$LDFLAGS -L$JASPERDIR/lib"
CPPFLAGS="$CPPFLAGS -I$JASPERDIR/include"
{ echo "$as_me:$LINENO: checking for jas_init in -ljasper" >&5
echo $ECHO_N "checking for jas_init in -ljasper... $ECHO_C" >&6; }
if test "${ac_cv_lib_jasper_jas_init+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-ljasper $LIBS"
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
#endif
char jas_init ();
int
main ()
{
return jas_init ();
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest$ac_exeext &&
$as_test_x conftest$ac_exeext; then
ac_cv_lib_jasper_jas_init=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_lib_jasper_jas_init=no
fi
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ echo "$as_me:$LINENO: result: $ac_cv_lib_jasper_jas_init" >&5
echo "${ECHO_T}$ac_cv_lib_jasper_jas_init" >&6; }
if test $ac_cv_lib_jasper_jas_init = yes; then
cat >>confdefs.h <<_ACEOF
#define HAVE_LIBJASPER 1
_ACEOF
LIBS="-ljasper $LIBS"
else
LDFLAGS="$LDFLAGS"
fi
# AC_SUBST([JASPERDIR], [$JASPERDIR])
fi
# ----------------------------------------------------------------------
# Compile application with GRIB_API library
#
{ echo "$as_me:$LINENO: checking whether a location for the GRIB_API library was specified" >&5
echo $ECHO_N "checking whether a location for the GRIB_API library was specified... $ECHO_C" >&6; }
# Check whether --with-grib_api was given.
if test "${with_grib_api+set}" = set; then
withval=$with_grib_api; GRIB_APIDIR=$with_grib_api
fi
if test -z "$GRIB_APIDIR" ; then
{ echo "$as_me:$LINENO: result: no" >&5
echo "${ECHO_T}no" >&6; }
else
{ echo "$as_me:$LINENO: result: $GRIB_APIDIR" >&5
echo "${ECHO_T}$GRIB_APIDIR" >&6; }
LDFLAGS="$LDFLAGS -L$GRIB_APIDIR/lib"
CPPFLAGS="$CPPFLAGS -I$GRIB_APIDIR/include"
{ echo "$as_me:$LINENO: checking for grib_get_message in -lgrib_api" >&5
echo $ECHO_N "checking for grib_get_message in -lgrib_api... $ECHO_C" >&6; }
if test "${ac_cv_lib_grib_api_grib_get_message+set}" = set; then
echo $ECHO_N "(cached) $ECHO_C" >&6
else
ac_check_lib_save_LIBS=$LIBS
LIBS="-lgrib_api $LIBS"
cat >conftest.$ac_ext <<_ACEOF
/* confdefs.h. */
_ACEOF
cat confdefs.h >>conftest.$ac_ext
cat >>conftest.$ac_ext <<_ACEOF
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
#endif
char grib_get_message ();
int
main ()
{
return grib_get_message ();
;
return 0;
}
_ACEOF
rm -f conftest.$ac_objext conftest$ac_exeext
if { (ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
(eval "$ac_link") 2>conftest.er1
ac_status=$?
grep -v '^ *+' conftest.er1 >conftest.err
rm -f conftest.er1
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } && {
test -z "$ac_c_werror_flag" ||
test ! -s conftest.err
} && test -s conftest$ac_exeext &&
$as_test_x conftest$ac_exeext; then
ac_cv_lib_grib_api_grib_get_message=yes
else
echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5
ac_cv_lib_grib_api_grib_get_message=no
fi
rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
conftest$ac_exeext conftest.$ac_ext
LIBS=$ac_check_lib_save_LIBS
fi
{ echo "$as_me:$LINENO: result: $ac_cv_lib_grib_api_grib_get_message" >&5
echo "${ECHO_T}$ac_cv_lib_grib_api_grib_get_message" >&6; }
if test $ac_cv_lib_grib_api_grib_get_message = yes; then
cat >>confdefs.h <<_ACEOF
#define HAVE_LIBGRIB_API 1
_ACEOF
LIBS="-lgrib_api $LIBS"
else
LDFLAGS="$LDFLAGS"
fi
# AC_SUBST([GRIB_APIDIR], [$GRIB_APIDIR])
fi
# ----------------------------------------------------------------------
# Compile application with HDF5 library
#
......@@ -6036,7 +6234,6 @@ fi
# AC_MSG_ERROR([Can't find the hdf5 high-level library. The high-level library is required for netCDF-4.])
# fi
fi
fi
# ----------------------------------------------------------------------
......
......@@ -78,6 +78,42 @@ else
# AC_SUBST([SZLIBDIR], [$SZLIBDIR])
fi
# ----------------------------------------------------------------------
# Compile application with JASPER library
#
AC_MSG_CHECKING([whether a location for the JASPER library was specified])
AC_ARG_WITH([jasper],
[AS_HELP_STRING([--with-jasper=<directory>],
[Specify location of JASPER library. You must specify its location if GRIB_API was built with JASPER. Configure will expect to find subdirs include and lib.])],
[JASPERDIR=$with_jasper])
if test -z "$JASPERDIR" ; then
AC_MSG_RESULT([no])
else
AC_MSG_RESULT([$JASPERDIR])
LDFLAGS="$LDFLAGS -L$JASPERDIR/lib"
CPPFLAGS="$CPPFLAGS -I$JASPERDIR/include"
AC_CHECK_LIB(jasper, jas_init, , LDFLAGS="$LDFLAGS")
# AC_SUBST([JASPERDIR], [$JASPERDIR])
fi
# ----------------------------------------------------------------------
# Compile application with GRIB_API library
#
AC_MSG_CHECKING([whether a location for the GRIB_API library was specified])
AC_ARG_WITH([grib_api],
[AS_HELP_STRING([--with-grib_api=<directory>],
[Specify location of GRIB_API library. Configure will expect to find subdirs include and lib.])],
[GRIB_APIDIR=$with_grib_api])
if test -z "$GRIB_APIDIR" ; then
AC_MSG_RESULT([no])
else
AC_MSG_RESULT([$GRIB_APIDIR])
LDFLAGS="$LDFLAGS -L$GRIB_APIDIR/lib"
CPPFLAGS="$CPPFLAGS -I$GRIB_APIDIR/include"
AC_CHECK_LIB(grib_api, grib_get_message, , LDFLAGS="$LDFLAGS")
# AC_SUBST([GRIB_APIDIR], [$GRIB_APIDIR])
fi
# ----------------------------------------------------------------------
# Compile application with HDF5 library
#
......@@ -108,7 +144,6 @@ else
# AC_MSG_ERROR([Can't find the hdf5 high-level library. The high-level library is required for netCDF-4.])
# fi
fi
fi
# ----------------------------------------------------------------------
......
......@@ -44,6 +44,7 @@ libcdi_a_SOURCES = \
binary.c \
swap.c \
griblib.c \
gribapi.c \
cfortran.h \
binary.h \
cdf.h \
......@@ -69,6 +70,7 @@ libcdi_a_SOURCES = \
stream_int.h \
basetime.h \
grib.h \
gribapi.h \
grid.h \
service.h \
swap.h \
......
......@@ -70,7 +70,7 @@ am_libcdi_a_OBJECTS = cdiFortran.$(OBJEXT) cdi_error.$(OBJEXT) \
tsteps.$(OBJEXT) stream_int.$(OBJEXT) servicelib.$(OBJEXT) \
extralib.$(OBJEXT) ieglib.$(OBJEXT) cdf.$(OBJEXT) \
cdf_int.$(OBJEXT) file.$(OBJEXT) binary.$(OBJEXT) \
swap.$(OBJEXT) griblib.$(OBJEXT)
swap.$(OBJEXT) griblib.$(OBJEXT) gribapi.$(OBJEXT)
libcdi_a_OBJECTS = $(am_libcdi_a_OBJECTS)
DEFAULT_INCLUDES = -I.@am__isrc@
depcomp = $(SHELL) $(top_srcdir)/config/depcomp
......@@ -235,6 +235,7 @@ libcdi_a_SOURCES = \
binary.c \
swap.c \
griblib.c \
gribapi.c \
cfortran.h \
binary.h \
cdf.h \
......@@ -260,6 +261,7 @@ libcdi_a_SOURCES = \
stream_int.h \
basetime.h \
grib.h \
gribapi.h \
grid.h \
service.h \
swap.h \
......@@ -372,6 +374,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/error.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/extralib.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/file.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gribapi.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/griblib.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/grid.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ieglib.Po@am__quote@
......
......@@ -28,7 +28,7 @@ extern "C" {
/* File types */
#define FILETYPE_GRB 1 /* File type GRIB */
#define FILETYPE_GB2 2 /* File type GRIB version 2 */
#define FILETYPE_GRB2 2 /* File type GRIB version 2 */
#define FILETYPE_NC 3 /* File type netCDF */
#define FILETYPE_NC2 4 /* File type netCDF version 2 (64-bit) */
#define FILETYPE_NC4 5 /* File type netCDF version 4 (classic) */
......
......@@ -18,6 +18,9 @@
/* Define to 1 for GRIB interface */
#undef HAVE_LIBGRIB
/* Define to 1 if you have the `grib_api' library (-lgrib_api). */
#undef HAVE_LIBGRIB_API
/* Define to 1 if you have the `hdf5' library (-lhdf5). */
#undef HAVE_LIBHDF5
......@@ -27,6 +30,9 @@
/* Define to 1 for IEG interface */
#undef HAVE_LIBIEG
/* Define to 1 if you have the `jasper' library (-ljasper). */
#undef HAVE_LIBJASPER
/* Define to 1 if you have the `m' library (-lm). */
#undef HAVE_LIBM
......
#if defined (HAVE_CONFIG_H)
# include "config.h"
#endif
#if defined (HAVE_LIBGRIB_API)
# include "grib_api.h"
#endif
#include <stdio.h>
#define XSTRING(x) #x
#define STRING(x) XSTRING(x)
#if defined (HAVE_LIBGRIB_API)
static const char gribapi_libvers[] = "xxx";
#else
static const char gribapi_libvers[] = "";
#endif
const char *gribapiLibraryVersion(void)
{
return (gribapi_libvers);
}
#ifndef _GRIBAPI_H
#define _GRIBAPI_H
const char *gribapiLibraryVersion(void);
#endif /* _GRIBAPI_H */
......@@ -87,12 +87,13 @@ c="dmemory.c \
tsteps.c \
file.c \
griblib.c \
gribapi.c \
swap.c \
binary.c \
cdf.c \
"
h="cdi_limits.h taxis.h error.h dtypes.h file.h grib.h service.h extra.h \
h="cdi_limits.h taxis.h error.h dtypes.h file.h grib.h gribapi.h service.h extra.h \
ieg.h cdi.h timebase.h calendar.h \
basetime.h stream_int.h stream_grb.h datetime.h stream_cdf.h \
tablepar.h table.h util.h grid.h varscan.h binary.h swap.h \
......
......@@ -15,6 +15,7 @@
#include "stream_ieg.h"
#include "file.h"
#include "grib.h"
#include "gribapi.h"
#include "cdf.h"
#include "service.h"
#include "extra.h"
......@@ -52,6 +53,9 @@ void cdiDebug(int level)
#if defined (HAVE_LIBGRIB)
gribSetDebug(1);
#endif
#if defined (HAVE_LIBGRIB_API)
gribSetDebug(1);
#endif
#if defined (HAVE_LIBNETCDF)
cdfDebug(1);
#endif
......@@ -174,6 +178,11 @@ static int getFiletype(const char *filename, int *byteorder)
filetype = FILETYPE_GRB;
if ( CDI_Debug ) Message(func, "found seek GRIB file = %s", filename);
}
if ( version == 2 )
{
filetype = FILETYPE_GRB2;
if ( CDI_Debug ) Message(func, "found seek GRIB2 file = %s", filename);
}
}
fileClose(fileID);
......@@ -333,7 +342,7 @@ The function @func{streamInqFiletype} returns the filetype of a stream.
@Result
@func{streamInqFiletype} returns the type of the file format,
one of the set of predefined CDI file format types.
The valid CDI file format types are @func{FILETYPE_GRB}, @func{FILETYPE_NC}, @func{FILETYPE_NC2},
The valid CDI file format types are @func{FILETYPE_GRB}, @func{FILETYPE_GRB2}, @func{FILETYPE_NC}, @func{FILETYPE_NC2},
@func{FILETYPE_NC4}, @func{FILETYPE_SRV}, @func{FILETYPE_EXT} and @func{FILETYPE_IEG}.
@EndFunction
......@@ -534,6 +543,13 @@ int cdiInqContents(int streamID)
break;
}
#endif
#if defined (HAVE_LIBGRIB_API)
case FILETYPE_GRB2:
{
/* status = grb2InqContents(streamID); */
break;
}
#endif
#if defined (HAVE_LIBSERVICE)
case FILETYPE_SRV:
{
......@@ -603,6 +619,7 @@ int streamOpen(const char *filename, const char *filemode, int filetype)
{
#if defined (HAVE_LIBGRIB)
case FILETYPE_GRB:
case FILETYPE_GRB2:
{
fileID = gribOpen(filename, filemode);
record = (Record *) malloc(sizeof(Record));
......@@ -713,6 +730,7 @@ int streamOpenA(const char *filename, const char *filemode, int filetype)
{
#if defined (HAVE_LIBGRIB)
case FILETYPE_GRB:
case FILETYPE_GRB2:
{
fileID = gribOpen(filename, "r");
record = (Record *) malloc(sizeof(Record));
......@@ -803,6 +821,7 @@ int streamOpenA(const char *filename, const char *filemode, int filetype)
{
#if defined (HAVE_LIBGRIB)
case FILETYPE_GRB:
case FILETYPE_GRB2:
{
gribClose(fileID);
break;
......@@ -849,6 +868,7 @@ int streamOpenA(const char *filename, const char *filemode, int filetype)
{
#if defined (HAVE_LIBGRIB)
case FILETYPE_GRB:
case FILETYPE_GRB2:
{
fileID = gribOpen(filename, filemode);
break;
......@@ -1023,7 +1043,7 @@ int streamOpenAppend(const char *filename)
@Parameter
@Item path The name of the new dataset
@Item filetype The type of the file format, one of the set of predefined CDI file format types.
The valid CDI file format types are @func{FILETYPE_GRB}, @func{FILETYPE_NC},
The valid CDI file format types are @func{FILETYPE_GRB}, @func{FILETYPE_GRB2}, @func{FILETYPE_NC},
@func{FILETYPE_NC2}, @func{FILETYPE_NC4}, @func{FILETYPE_SRV},
@func{FILETYPE_EXT} and @func{FILETYPE_IEG}.
......@@ -1102,6 +1122,7 @@ void streamClose(int streamID)
{
#if defined (HAVE_LIBGRIB)
case FILETYPE_GRB:
case FILETYPE_GRB2:
{
gribClose(fileID);
break;
......@@ -1386,6 +1407,13 @@ int streamInqTimestep(int streamID, int tsID)
break;
}
#endif
#if defined (HAVE_LIBGRIB_API)
case FILETYPE_GRB2:
{
/* nrecs = grb2InqTimestep(streamID, tsID);*/
break;
}
#endif
#if defined (HAVE_LIBSERVICE)
case FILETYPE_SRV:
{
......@@ -1475,6 +1503,13 @@ void streamReadVar(int streamID, int varID, double *data, int *nmiss)
break;
}
#endif
#if defined (HAVE_LIBGRIB_API)
case FILETYPE_GRB2:
{
/*grbReadVarDP(streamID, varID, data, nmiss);*/
break;
}
#endif
#if defined (HAVE_LIBSERVICE)
case FILETYPE_SRV:
{
......@@ -1556,6 +1591,13 @@ void streamWriteVar(int streamID, int varID, double *data, int nmiss)
break;
}
#endif
#if defined (HAVE_LIBGRIB_API)
case FILETYPE_GRB2:
{
/*grb2WriteVarDP(streamID, varID, data, nmiss);*/
break;
}
#endif
#if defined (HAVE_LIBSERVICE)
case FILETYPE_SRV:
{
......@@ -1637,6 +1679,13 @@ void streamReadVarSlice(int streamID, int varID, int levelID, double *data, int
break;
}
#endif
#if defined (HAVE_LIBGRIB_API)
case FILETYPE_GRB2:
{
/* grb2ReadVarSliceDP(streamID, varID, levelID, data, nmiss);*/
break;
}
#endif
#if defined (HAVE_LIBSERVICE)
case FILETYPE_SRV:
{
......@@ -1718,6 +1767,13 @@ void streamWriteVarSlice(int streamID, int varID, int levelID, double *data, int
break;
}
#endif
#if defined (HAVE_LIBGRIB_API)
case FILETYPE_GRB2:
{
/* grb2WriteVarSliceDP(streamID, varID, levelID, data, nmiss); */
break;
}
#endif
#if defined (HAVE_LIBSERVICE)
case FILETYPE_SRV:
{
......@@ -1886,30 +1942,33 @@ void cdiDefTableID(int tableID)
void cdiPrintVersion(void)
{
fprintf(stderr, " CDI library version : %s\n", cdiLibraryVersion());