From 495b4a48c69d3b8300d79ed502eae13039bdac9f Mon Sep 17 00:00:00 2001
From: Juan ESCOBAR <juan.escobar@aero.obs-mip.fr>
Date: Fri, 23 Dec 2022 16:24:30 +0100
Subject: [PATCH] Juan 23/12/2022:Correction of PB IO parallel,
 Rules.LX*,mode_io_field_write.f90: add -DMNH=MNH for problem with mnh_expand
 & MPI_REDUCE(...,2,...) two iresp return

---
 src/LIB/SURCOUCHE/src/mode_io_field_write.f90 | 2 +-
 src/Rules.LXcray.mk                           | 2 +-
 src/Rules.LXgfortran.mk                       | 4 +++-
 src/Rules.LXifort.mk                          | 3 ++-
 src/Rules.LXnvhpc.mk                          | 4 +++-
 src/Rules.LXnvhpc2202.mk                      | 2 +-
 6 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/src/LIB/SURCOUCHE/src/mode_io_field_write.f90 b/src/LIB/SURCOUCHE/src/mode_io_field_write.f90
index f2f43501c..d746793eb 100644
--- a/src/LIB/SURCOUCHE/src/mode_io_field_write.f90
+++ b/src/LIB/SURCOUCHE/src/mode_io_field_write.f90
@@ -1429,7 +1429,7 @@ end subroutine IO_Ndimlist_reduce
 ! end of MNH_GA
 #endif
         !Not global reduction because a broadcast is done in IO_Field_write_error_check
-        call MPI_REDUCE( -Abs( [ iresp_lfi, iresp_nc4 ] ), iresps(:), 1, MNHINT_MPI, MPI_MIN, &
+        call MPI_REDUCE( -Abs( [ iresp_lfi, iresp_nc4 ] ), iresps(:), 2, MNHINT_MPI, MPI_MIN, &
                          tpfile%nmaster_rank - 1, tpfile%nmpicomm, ierr )
         iresp_lfi = iresps(1)
         iresp_nc4 = iresps(2)
diff --git a/src/Rules.LXcray.mk b/src/Rules.LXcray.mk
index 8c3d29804..2fb71c0a0 100644
--- a/src/Rules.LXcray.mk
+++ b/src/Rules.LXcray.mk
@@ -180,7 +180,7 @@ CPPFLAGS_SURFEX    =
 CPPFLAGS_SURCOUCHE +=  -DDEV_NULL -DMNH_COMPILER_CCE
 CPPFLAGS_RAD       = 
 CPPFLAGS_NEWLFI    = -DSWAPIO -DLINUX -DLFI_INT=${LFI_INT}
-CPPFLAGS_MNH       = -DMNH -DSFX_MNH -DMNH_NO_MPI_LOGICAL48 -DMNH_COMPILER_CCE
+CPPFLAGS_MNH       = -DMNH=MNH -DSFX_MNH -DMNH_NO_MPI_LOGICAL48 -DMNH_COMPILER_CCE
 ifeq ($(shell test $(CFV) -ge 1402 ; echo $$?),0)
 CPPFLAGS_MNH       += -DMNH_COMPILER_CCE_1403
 endif
diff --git a/src/Rules.LXgfortran.mk b/src/Rules.LXgfortran.mk
index 305592401..c82bc7b12 100644
--- a/src/Rules.LXgfortran.mk
+++ b/src/Rules.LXgfortran.mk
@@ -105,7 +105,7 @@ CPPFLAGS_SURFEX    =
 CPPFLAGS_SURCOUCHE += -DDEV_NULL
 CPPFLAGS_RAD       =
 CPPFLAGS_NEWLFI    = -DSWAPIO -DLINUX -DLFI_INT=${LFI_INT}
-CPPFLAGS_MNH       = -DMNH -DSFX_MNH
+CPPFLAGS_MNH       = -DMNH=MNH -DSFX_MNH
 CPPFLAGS_MNH       += -imacros MNH_OPENACC_NV_CR.CPP
 CPPFLAGS_MNH       += -DMNH_EXPAND
 ifdef VER_GA
@@ -200,3 +200,5 @@ OBJS_O0= spll_lima_phillips_integ.o
 $(OBJS_O0) : OPT = $(OPT_BASE) $(OPT_PERF0)
 endif
 endif
+
+SPLL = spll_new
diff --git a/src/Rules.LXifort.mk b/src/Rules.LXifort.mk
index 9626bf68f..46c66c03a 100644
--- a/src/Rules.LXifort.mk
+++ b/src/Rules.LXifort.mk
@@ -185,7 +185,7 @@ CPPFLAGS_SURFEX    =
 CPPFLAGS_SURCOUCHE += -DDEV_NULL
 CPPFLAGS_RAD       =
 CPPFLAGS_NEWLFI    = -DSWAPIO -DLINUX -DLFI_INT=${LFI_INT}
-CPPFLAGS_MNH       = -DMNH -DSFX_MNH
+CPPFLAGS_MNH       = -DMNH=MNH -DSFX_MNH
 CPPFLAGS_MNH       += -imacros MNH_OPENACC_NV_CR.CPP
 CPPFLAGS_MNH       += -DMNH_EXPAND
 ifdef VER_GA
@@ -270,3 +270,4 @@ OBJS_I4=spll_modd_netcdf.o
 $(OBJS_I4) : OPT = $(OPT_BASE_I4)
 endif
 
+SPLL = spll_new
diff --git a/src/Rules.LXnvhpc.mk b/src/Rules.LXnvhpc.mk
index eb4bb1c62..d6052e0a9 100644
--- a/src/Rules.LXnvhpc.mk
+++ b/src/Rules.LXnvhpc.mk
@@ -200,7 +200,7 @@ CPPFLAGS_SURFEX    =
 CPPFLAGS_SURCOUCHE += -DMNH_COMPILER_NVHPC
 CPPFLAGS_RAD       =
 CPPFLAGS_NEWLFI    = -DSWAPIO -DLINUX -DLFI_INT=${LFI_INT}
-CPPFLAGS_MNH       = -DMNH -DMNH_PGI -DSFX_MNH
+CPPFLAGS_MNH       = -DMNH=MNH -DMNH_PGI -DSFX_MNH
 CPPFLAGS_MNH      += -Uvector -Upixel
 CPPFLAGS_MNH      += -DMNH_EXPAND -DMNH_EXPAND_OPENACC
 #CPPFLAGS_MNH      += -imacros MNH_OPENACC_NV_CR.CPP
@@ -304,3 +304,5 @@ ifeq "$(MNH_INT)" "8"
 OBJS_I4=spll_modd_netcdf.o
 $(OBJS_I4) : OPT = $(OPT_BASE_I4)
 endif
+
+SPLL = spll_new
diff --git a/src/Rules.LXnvhpc2202.mk b/src/Rules.LXnvhpc2202.mk
index eb9ad893b..15ef6ced1 100644
--- a/src/Rules.LXnvhpc2202.mk
+++ b/src/Rules.LXnvhpc2202.mk
@@ -211,7 +211,7 @@ CPPFLAGS_SURFEX    =
 CPPFLAGS_SURCOUCHE += -DMNH_COMPILER_NVHPC
 CPPFLAGS_RAD       =
 CPPFLAGS_NEWLFI    = -DSWAPIO -DLINUX -DLFI_INT=${LFI_INT}
-CPPFLAGS_MNH       = -DMNH -DMNH_PGI -DSFX_MNH
+CPPFLAGS_MNH       = -DMNH=MNH -DMNH_PGI -DSFX_MNH
 CPPFLAGS_MNH      += -Uvector -Upixel
 CPPFLAGS_MNH      += -DMNH_EXPAND -DMNH_EXPAND_OPENACC
 #CPPFLAGS_MNH      += -imacros MNH_OPENACC_NV_CR.CPP
-- 
GitLab