From 8b0ad94f8b010b0ef8d71b0518cdcbc372a935d5 Mon Sep 17 00:00:00 2001
From: Juan ESCOBAR <juan.escobar@aero.obs-mip.fr>
Date: Fri, 26 Aug 2022 17:18:44 +0200
Subject: [PATCH] Juan 26/08/2022:Rules.LXnvhpc.mk, set CPP to use
 mnh_expand+OPENACC

---
 src/Rules.LXnvhpc.mk | 24 +++++++++++++++++-------
 1 file changed, 17 insertions(+), 7 deletions(-)

diff --git a/src/Rules.LXnvhpc.mk b/src/Rules.LXnvhpc.mk
index 91a2f2694..eb4bb1c62 100644
--- a/src/Rules.LXnvhpc.mk
+++ b/src/Rules.LXnvhpc.mk
@@ -22,7 +22,7 @@ TP= -tp=px
 #
 #Version of CUDA
 #(8.0 at least if compute capability >= 6.0)
-CUDALEVEL=cuda11.6
+CUDALEVEL=cuda11.4
 #
 #Compute capability of GPU
 #
@@ -62,7 +62,7 @@ OPT_I8     =  -i8
 OPT_R8     =  -r8
 #
 ifeq "$(VER_USER)" "ZSOLVER"
-CPPFLAGS  += -DCARTESIANGEOMETRY -DOVERLAPCOMMS -DPIECEWISELINEAR
+CPPFLAGS  += -DCARTESIANGEOMETRY -DPIECEWISELINEAR
 PROG_LIST += MG_MAIN MG_MAIN_MNH_ALL
 endif
 #
@@ -97,7 +97,7 @@ OPT_NOCB  = $(OPT_BASE) $(OPT_PERF0)
 endif
 #
 ifeq "$(OPTLEVEL)" "MANAGED"
-CPPFLAGS    += -DMNH_OPENACC
+CPPFLAGS    += -DMNH_OPENACC -DMNH_GPUDIRECT
 # CPPFLAGS    += -DMNH_OPENACC -ta=tesla
 OPT       = $(OPT_BASE) $(OPT_MANAGED) $(OPT_PERF2)
 OPT0      = $(OPT_BASE) $(OPT_MANAGED) $(OPT_PERF0)
@@ -114,7 +114,7 @@ CXXFLAGS = -acc -Kieee -Mnofma $(OPT_MULTICORE)
 endif
 #
 ifeq "$(OPTLEVEL)" "OPENACCO0"
-CPPFLAGS    += -DMNH_OPENACC
+CPPFLAGS    += -DMNH_OPENACC -DMNH_GPUDIRECT
 # CPPFLAGS    += -DMNH_OPENACC -ta=tesla
 OPT       = $(OPT_BASE) $(OPT_OPENACC) $(OPT_PERF0)
 OPT0      = $(OPT_BASE) $(OPT_OPENACC) $(OPT_PERF0)
@@ -125,7 +125,7 @@ $(OBJS_REPROD) : OPT = $(OPT_BASE) $(OPT_OPENACC) $(OPT_PERF0) -Mvect=nosimd -Mi
 endif
 #
 ifeq "$(OPTLEVEL)" "OPENACC"
-CPPFLAGS    += -DMNH_OPENACC
+CPPFLAGS    += -DMNH_OPENACC -DMNH_GPUDIRECT
 # CPPFLAGS    += -DMNH_OPENACC -ta=tesla
 OPT       = $(OPT_BASE) $(OPT_OPENACC) $(OPT_PERF2)
 OPT0      = $(OPT_BASE) $(OPT_OPENACC) $(OPT_PERF0)
@@ -192,8 +192,8 @@ LDFLAGS    =   -Wl,-warn-once $(OPT)
 #
 # preprocessing flags 
 #
-CPP = cpp -P -traditional -Wcomment -D_OPENACC=201711 -imacros MNH_OPENACC_NV_CR.CPP
-# CPP = pgfortran -E -Mcpp=noline
+#CPP = cpp -P -traditional -Wcomment -D_OPENACC=201711 -imacros MNH_OPENACC_NV_CR.CPP
+CPP = mnh_expand -D_OPENACC=201711 -imacros MNH_OPENACC_NV_CR.CPP
 #
 CPPFLAGS_C         = -DLITTLE_endian
 CPPFLAGS_SURFEX    =
@@ -202,6 +202,8 @@ CPPFLAGS_RAD       =
 CPPFLAGS_NEWLFI    = -DSWAPIO -DLINUX -DLFI_INT=${LFI_INT}
 CPPFLAGS_MNH       = -DMNH -DMNH_PGI -DSFX_MNH
 CPPFLAGS_MNH      += -Uvector -Upixel
+CPPFLAGS_MNH      += -DMNH_EXPAND -DMNH_EXPAND_OPENACC
+#CPPFLAGS_MNH      += -imacros MNH_OPENACC_NV_CR.CPP
 #
 # BITREP flags
 #
@@ -237,6 +239,14 @@ MNH_COMPRESS=yes
 #
 MNH_GRIBAPI=no
 #
+# Netcdf/HDF5 flags
+#
+#HDF_CONF= CXXFLAGS=$(TP)
+HDF_OPT ?= $(TP)
+NETCDF_OPT ?= $(TP)
+CDF_CONF="CPP=cpp"
+HDF_CONF="CPP=cpp"
+#
 ##########################################################
 #                                                        #
 # Source of MESONH PACKAGE  Distribution                 #
-- 
GitLab