From a5dd04e810274c9d794568e38ce2de997f2f515a Mon Sep 17 00:00:00 2001
From: Philippe WAUTELET <philippe.wautelet@aero.obs-mip.fr>
Date: Mon, 22 Nov 2021 11:16:57 +0100
Subject: [PATCH] Philippe 22/11/2021: minor changes

---
 src/MNH/advection_uvw.f90 | 47 ++++++++++++++++++++++-----------------
 src/MNH/advecuvw_rk.f90   |  7 +++---
 src/MNH/pressurez.f90     |  2 +-
 src/MNH/turb.f90          |  2 +-
 4 files changed, 33 insertions(+), 25 deletions(-)

diff --git a/src/MNH/advection_uvw.f90 b/src/MNH/advection_uvw.f90
index 9451c5fbf..f6e1f9bfe 100644
--- a/src/MNH/advection_uvw.f90
+++ b/src/MNH/advection_uvw.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 1994-2020 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-2021 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -107,7 +107,7 @@ use mode_budget,      only: Budget_store_init, Budget_store_end
 USE MODE_ll
 #ifdef MNH_OPENACC
 USE MODE_DEVICE
-USE MODE_MNH_ZWORK, ONLY : ZT3D, MNH_GET_ZT3D , MNH_REL_ZT3D, MNH_GET_ZT4D , MNH_REL_ZT4D
+USE MODE_MNH_ZWORK, ONLY : ZT3D, MNH_ALLOCATE_ZT3D, MNH_GET_ZT3D , MNH_REL_ZT3D, MNH_GET_ZT4D , MNH_REL_ZT4D
 #endif
 use mode_mppdb
 
@@ -198,11 +198,18 @@ INTEGER :: ISPL, IZUT, IZVT, IZWT, IZ1, IZ2
 INTEGER :: IZRUSB, IZRUSE, IZRVSB, IZRVSE, IZRWSB, IZRWSE, IIBMS, IIBME
 #endif
 !
+INTEGER :: IIU,IJU,IKU
 !
 !-------------------------------------------------------------------------------
 !
 !*       0.     INITIALIZATION
 !        --------------
+!
+!
+IIU = SIZE(PUT,1)
+IJU = SIZE(PUT,2)
+IKU = SIZE(PUT,3)
+!
 !$acc data present( PUT, PVT, PWT, PRHODJ, PDXX, PDYY, PDZZ, PDZX, PDZY, PRUS, PRVS, PRWS, PRUS_PRES, PRVS_PRES, PRWS_PRES )
 
 IF (MPPDB_INITIALIZED) THEN
@@ -225,24 +232,24 @@ IF (MPPDB_INITIALIZED) THEN
   CALL MPPDB_CHECK(PRWS,"ADVECTION_UVW beg:PRWS")
 END IF
 
-ALLOCATE( ZRUT      ( SIZE(PUT,1), SIZE(PUT,2), SIZE(PUT,3) ) )
-ALLOCATE( ZRVT      ( SIZE(PUT,1), SIZE(PUT,2), SIZE(PUT,3) ) )
-ALLOCATE( ZRWT      ( SIZE(PUT,1), SIZE(PUT,2), SIZE(PUT,3) ) )
-ALLOCATE( ZRUCT     ( SIZE(PUT,1), SIZE(PUT,2), SIZE(PUT,3) ) )
-ALLOCATE( ZRVCT     ( SIZE(PUT,1), SIZE(PUT,2), SIZE(PUT,3) ) )
-ALLOCATE( ZRWCT     ( SIZE(PUT,1), SIZE(PUT,2), SIZE(PUT,3) ) )
-ALLOCATE( ZU        ( SIZE(PUT,1), SIZE(PUT,2), SIZE(PUT,3) ) )
-ALLOCATE( ZV        ( SIZE(PUT,1), SIZE(PUT,2), SIZE(PUT,3) ) )
-ALLOCATE( ZW        ( SIZE(PUT,1), SIZE(PUT,2), SIZE(PUT,3) ) )
-ALLOCATE( ZRUS_OTHER( SIZE(PUT,1), SIZE(PUT,2), SIZE(PUT,3) ) )
-ALLOCATE( ZRVS_OTHER( SIZE(PUT,1), SIZE(PUT,2), SIZE(PUT,3) ) )
-ALLOCATE( ZRWS_OTHER( SIZE(PUT,1), SIZE(PUT,2), SIZE(PUT,3) ) )
-ALLOCATE( ZRUS_ADV  ( SIZE(PUT,1), SIZE(PUT,2), SIZE(PUT,3) ) )
-ALLOCATE( ZRVS_ADV  ( SIZE(PUT,1), SIZE(PUT,2), SIZE(PUT,3) ) )
-ALLOCATE( ZRWS_ADV  ( SIZE(PUT,1), SIZE(PUT,2), SIZE(PUT,3) ) )
-ALLOCATE( ZMXM_RHODJ( SIZE(PUT,1), SIZE(PUT,2), SIZE(PUT,3) ) )
-ALLOCATE( ZMYM_RHODJ( SIZE(PUT,1), SIZE(PUT,2), SIZE(PUT,3) ) )
-ALLOCATE( ZMZM_RHODJ( SIZE(PUT,1), SIZE(PUT,2), SIZE(PUT,3) ) )
+ALLOCATE( ZRUT      ( IIU,IJU,IKU ) )
+ALLOCATE( ZRVT      ( IIU,IJU,IKU ) )
+ALLOCATE( ZRWT      ( IIU,IJU,IKU ) )
+ALLOCATE( ZRUCT     ( IIU,IJU,IKU ) )
+ALLOCATE( ZRVCT     ( IIU,IJU,IKU ) )
+ALLOCATE( ZRWCT     ( IIU,IJU,IKU ) )
+ALLOCATE( ZU        ( IIU,IJU,IKU ) )
+ALLOCATE( ZV        ( IIU,IJU,IKU ) )
+ALLOCATE( ZW        ( IIU,IJU,IKU ) )
+ALLOCATE( ZRUS_OTHER( IIU,IJU,IKU ) )
+ALLOCATE( ZRVS_OTHER( IIU,IJU,IKU ) )
+ALLOCATE( ZRWS_OTHER( IIU,IJU,IKU ) )
+ALLOCATE( ZRUS_ADV  ( IIU,IJU,IKU ) )
+ALLOCATE( ZRVS_ADV  ( IIU,IJU,IKU ) )
+ALLOCATE( ZRWS_ADV  ( IIU,IJU,IKU ) )
+ALLOCATE( ZMXM_RHODJ( IIU,IJU,IKU ) )
+ALLOCATE( ZMYM_RHODJ( IIU,IJU,IKU ) )
+ALLOCATE( ZMZM_RHODJ( IIU,IJU,IKU ) )
 
 !$acc data create( zrut, zrvt, zrwt, zruct, zrvct, zrwct, zu, zv, zw,                &
 !$acc &            zrus_other, zrvs_other, zrws_other, zrus_adv, zrvs_adv, zrws_adv, &
diff --git a/src/MNH/advecuvw_rk.f90 b/src/MNH/advecuvw_rk.f90
index 6ef138732..49c53ed6b 100644
--- a/src/MNH/advecuvw_rk.f90
+++ b/src/MNH/advecuvw_rk.f90
@@ -254,7 +254,9 @@ IF (MPPDB_INITIALIZED) THEN
   CALL MPPDB_CHECK(PRWS_OTHER,"ADVECUVW_RK beg:PRWS_OTHER")
 END IF
 
+#ifdef MNH_OPENACC
 if ( LIBM ) call Print_msg( NVERB_FATAL, 'GEN', 'ADVECUVW_RK', 'OpenACC: LIBM=T not yet implemented' )
+#endif
 !
 !*       0.     INITIALIZATION
 !        ---------------------
@@ -531,11 +533,10 @@ RKLOOP: DO JS = 1, ISPL
     WHERE(XIBM_LS(:,:,:,4).GT.-XIBM_EPSI) ZRWS(:,:,:,JS)=ZIBM(:,:,:,3)
     ZIBM(:,:,:,:)=1.
   ENDIF
-!
-  NULLIFY(TZFIELDS4_ll)
 !
   write ( ynum, '( I3 )' ) js
 #ifndef MNH_OPENACC
+  NULLIFY(TZFIELDS4_ll)
   CALL ADD3DFIELD_ll( TZFIELDS4_ll, ZRUS(:,:,:,JS), 'ADVECUVW_RK::ZRUS(:,:,:,'//trim( adjustl( ynum ) )//')' )
   CALL ADD3DFIELD_ll( TZFIELDS4_ll, ZRVS(:,:,:,JS), 'ADVECUVW_RK::ZRVS(:,:,:,'//trim( adjustl( ynum ) )//')' )
   CALL ADD3DFIELD_ll( TZFIELDS4_ll, ZRWS(:,:,:,JS), 'ADVECUVW_RK::ZRWS(:,:,:,'//trim( adjustl( ynum ) )//')' )
@@ -625,7 +626,7 @@ CALL MNH_REL_ZT3D(IZMEAN,IZWORK)
 #endif
 !
 CALL CLEANLIST_ll(TZFIELDMT_ll)
-CALL  DEL_HALO2_ll(TZHALO2MT_ll)
+CALL DEL_HALO2_ll(TZHALO2MT_ll)
 !$acc update self(PRUS_ADV,PRVS_ADV,PRWS_ADV)
 !-------------------------------------------------------------------------------
 !
diff --git a/src/MNH/pressurez.f90 b/src/MNH/pressurez.f90
index 1f597f104..e9d0240e7 100644
--- a/src/MNH/pressurez.f90
+++ b/src/MNH/pressurez.f90
@@ -392,7 +392,7 @@ ILUOUT = TLUOUT%NLU
 !
 CALL GET_GLOBALDIMS_ll (IIMAX_ll,IJMAX_ll)
 IF ( ( MIN(IIMAX_ll,IJMAX_ll) < NPROC  ) .AND. ( HPRESOPT /= 'ZRESI' ) ) THEN
-   WRITE(UNIT=ILUOUT,FMT=*) 'ERROR IN PRESSUREZ:: YOU WANT TO USE TO MANY PROCESSOR WITHOUT CPRESOPT="ZRESI" '
+   WRITE(UNIT=ILUOUT,FMT=*) 'ERROR IN PRESSUREZ:: YOU WANT TO USE TO MANY PROCESSES WITHOUT CPRESOPT="ZRESI" '
    WRITE(UNIT=ILUOUT,FMT=*) 'MIN(IIMAX_ll,IJMAX_ll)=',MIN(IIMAX_ll,IJMAX_ll),' < NPROC =', NPROC
    WRITE(UNIT=ILUOUT,FMT=*) 'YOU HAVE TO SET CPRESOPT="ZRESI => JOB ABORTED '
    CALL PRINT_MSG(NVERB_FATAL,'GEN','PRESSUREZ','')
diff --git a/src/MNH/turb.f90 b/src/MNH/turb.f90
index ff8b8437d..0eeef1423 100644
--- a/src/MNH/turb.f90
+++ b/src/MNH/turb.f90
@@ -2146,7 +2146,7 @@ IF (ODZ) THEN
   PLM(:,:,KKA) = PZZ(:,:,KKB) - PZZ(:,:,KKA)
 !$acc end kernels
   IF ( HTURBDIM /= '1DIM' ) THEN  ! 3D turbulence scheme
-    IF ( L2D) THEN
+    IF ( L2D ) THEN
 #ifndef MNH_OPENACC
       PLM(:,:,:) = SQRT( PLM(:,:,:)*MXF(PDXX(:,:,:)) )
 #else
-- 
GitLab