From 87d96843f7f85bb599c0f7cdfb7f1f42731b9eaf Mon Sep 17 00:00:00 2001
From: Don Morton <Don.Morton@borealscicomp.com>
Date: Mon, 13 Jun 2016 20:04:06 +0000
Subject: [PATCH] Minor changes in grib2nc4 for FPv9.3.1.

See Ticket #150
---
 flexpart_code/grib2nc4/Makefile         | 14 +++++++++++---
 flexpart_code/grib2nc4/fp2nc4io_mod.F90 |  4 +++-
 2 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/flexpart_code/grib2nc4/Makefile b/flexpart_code/grib2nc4/Makefile
index e12d3b11..e938350e 100644
--- a/flexpart_code/grib2nc4/Makefile
+++ b/flexpart_code/grib2nc4/Makefile
@@ -7,11 +7,13 @@ FC = gfortran
 FLEXPART_SRC = ..
 
 GRIBAPI = /opt/grib-api
+HDF5 = /opt/hdf5-1.8.16
 NETCDFF = /opt/netcdf-fortran-4.4.3
 NETCDF = /opt/netcdf-c-4.4.0
 
 
 
+
 BINARY = grib2nc4
 OBJS = processmetfields.o
 FPMODOBJS = par_mod.o com_mod.o class_vtable_mod.o cmapf_mod.o conv_mod.o 
@@ -31,8 +33,14 @@ FFLAGS = -mcmodel=medium
 INCLUDES_NETCDF = -I${NETCDFF}/include
 INCLUDES = -I${GRIBAPI}/include ${INCLUDES_NETCDF}
 
-LDFLAGS_NETCDF = -L${NETCDFF}/lib -lnetcdff -L${NETCDF}/lib -lnetcdf 
-LDFLAGS = -L${GRIBAPI}/lib -lgrib_api_f90 -lgrib_api ${LDFLAGS_NETCDF}
+
+### NetCDF link flags - use the first one for dynamic libs, the second
+### one for static libs
+#LDFLAGS_NETCDF = -L${NETCDFF}/lib -lnetcdff -L${NETCDF}/lib -lnetcdf 
+LDFLAGS_NETCDF=-static -L${NETCDFF}/lib -lnetcdff -L${NETCDF}/lib -lnetcdf -lnetcdf -L${HDF5}/lib -lhdf5_fortran -lhdf5_hl -lhdf5hl_fortran -lhdf5 -ldl -lz
+
+
+LDFLAGS = -L${GRIBAPI}/lib -lgrib_api_f90 -lgrib_api ${LDFLAGS_NETCDF} -ljasper
 
 
 #------------ Creating the binary ------------------
@@ -49,7 +57,7 @@ fp2nc4io_mod.mod : ${FPMODOBJS}
 #-----------  Entries for testing ----------------
 test : clean_test test/${BINARY}_test
 	mv ${BINARY}_test test/
-	(cd test; export LD_LIBRARY_PATH=${NETCDFF}/lib:${NETCDF}/lib:${LD_LIBRARY_PATH}; ./${BINARY}_test EL14091912 testout.nc4 w q)
+	(cd test; export LD_LIBRARY_PATH=${NETCDFF}/lib:${NETCDF}/lib:${GRIBAPI}/lib:${LD_LIBRARY_PATH}; ./${BINARY}_test EL14091912 testout.nc4 w q)
 
 test/${BINARY}_test : ${BINARY}_test.o fp2nc4io_mod.o ${FLXPRTOBJS} ${FPMODOBJS} ${OBJS} 
 	${FC} -o ${BINARY}_test ${BINARY}_test.o fp2nc4io_mod.o ${FLXPRTOBJS} ${FPMODOBJS} ${OBJS} ${LDFLAGS}
diff --git a/flexpart_code/grib2nc4/fp2nc4io_mod.F90 b/flexpart_code/grib2nc4/fp2nc4io_mod.F90
index 93906f9e..ebda676c 100644
--- a/flexpart_code/grib2nc4/fp2nc4io_mod.F90
+++ b/flexpart_code/grib2nc4/fp2nc4io_mod.F90
@@ -25,7 +25,9 @@ MODULE fp2nc4io_mod
     PRIVATE DEFAULT_DEFLATE_LEVEL
 
     ! These are valid variable names for the user of this module to reference
-    CHARACTER, DIMENSION(*), PARAMETER :: VALID_VARS = &
+    !!!  DJM - 2016-06-13 -- added specific value in DIMENSION statement.
+    !!!                      can't be "*" in some Fortran versions
+    CHARACTER, DIMENSION(10), PARAMETER :: VALID_VARS = &
 &           (/ 't', 'u', 'v', 'w', 'q',                &
 &              'T', 'U', 'V', 'W', 'Q' /)
     PRIVATE VALID_VARS
-- 
GitLab