diff --git a/src/Rules.LXnvhpc.mk b/src/Rules.LXnvhpc.mk
index 91a2f2694dc69597203bd7b6b1793e0f8cb2dd6f..eb4bb1c62dc6784c2a136153c94dbf091433ca9b 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                 #