From 9fe9ab8ec9af9c6b1f27eba56e335c70acb0142b Mon Sep 17 00:00:00 2001
From: Philippe WAUTELET <philippe.wautelet@aero.obs-mip.fr>
Date: Wed, 12 Jan 2022 15:25:34 +0100
Subject: [PATCH] Philippe 12/01/2022: OpenACC: remove unused dummy arguments
 of gradient_v subroutines

---
 src/MNH/gradient_v.f90            | 24 ++++++------------------
 src/MNH/turb_hor_dyn_corr.f90     |  2 +-
 src/MNH/turb_hor_uv.f90           |  8 ++------
 src/MNH/turb_hor_vw.f90           |  4 ++--
 src/MNH/turb_ver_dyn_flux.f90     |  6 +++---
 src/ZSOLVER/turb_hor_dyn_corr.f90 |  2 +-
 6 files changed, 15 insertions(+), 31 deletions(-)

diff --git a/src/MNH/gradient_v.f90 b/src/MNH/gradient_v.f90
index 80161d8c6..5f44dbffb 100644
--- a/src/MNH/gradient_v.f90
+++ b/src/MNH/gradient_v.f90
@@ -23,10 +23,8 @@ END FUNCTION GY_V_M
 !
 !
 #ifdef MNH_OPENACC
-SUBROUTINE GY_V_M_DEVICE(KKA,KKU,KL,PA,PDYY,PDZZ,PDZY,PGY_V_M_DEVICE)
+SUBROUTINE GY_V_M_DEVICE(PA,PDYY,PDZZ,PDZY,PGY_V_M_DEVICE)
 !
-INTEGER,                INTENT(IN) :: KKA, KKU ! near ground and uppest atmosphere array indexes
-INTEGER,                INTENT(IN) :: KL       ! +1 if grid goes from ground to atmosphere top, -1 otherwise
 REAL, DIMENSION(:,:,:), INTENT(IN) :: PA       ! variable at the V point
 REAL, DIMENSION(:,:,:), INTENT(IN) :: PDYY     ! metric coefficient dyy
 REAL, DIMENSION(:,:,:), INTENT(IN) :: PDZZ     ! metric coefficient dzz
@@ -51,10 +49,8 @@ END FUNCTION GX_V_UV
 !
 !
 #ifdef MNH_OPENACC
-SUBROUTINE GX_V_UV_DEVICE(KKA,KKU,KL,PA,PDXX,PDZZ,PDZX,PGX_V_UV_DEVICE)
+SUBROUTINE GX_V_UV_DEVICE(PA,PDXX,PDZZ,PDZX,PGX_V_UV_DEVICE)
 !
-INTEGER,                INTENT(IN) :: KKA, KKU ! near ground and uppest atmosphere array indexes
-INTEGER,                INTENT(IN) :: KL       ! +1 if grid goes from ground to atmosphere top, -1 otherwise
 REAL, DIMENSION(:,:,:), INTENT(IN) :: PA       ! variable at the V point
 REAL, DIMENSION(:,:,:), INTENT(IN) :: PDXX     ! metric coefficient dxx
 REAL, DIMENSION(:,:,:), INTENT(IN) :: PDZZ     ! metric coefficient dzz
@@ -77,10 +73,8 @@ END FUNCTION GZ_V_VW
 !
 !
 #ifdef MNH_OPENACC
-SUBROUTINE GZ_V_VW_DEVICE(KKA,KKU,KL,PA,PDZZ,PGZ_V_VW_DEVICE)
+SUBROUTINE GZ_V_VW_DEVICE(PA,PDZZ,PGZ_V_VW_DEVICE)
 !
-INTEGER,                INTENT(IN) :: KKA, KKU ! near ground and uppest atmosphere array indexes
-INTEGER,                INTENT(IN) :: KL       ! +1 if grid goes from ground to atmosphere top, -1 otherwise
 REAL, DIMENSION(:,:,:), INTENT(IN) :: PA       ! variable at the V point
 REAL, DIMENSION(:,:,:), INTENT(IN) :: PDZZ     ! metric coefficient dzz
 !
@@ -191,7 +185,7 @@ END FUNCTION GY_V_M
 !
 #ifdef MNH_OPENACC
 !     #######################################################
-      SUBROUTINE GY_V_M_DEVICE(KKA,KKU,KL,PA,PDYY,PDZZ,PDZY,PGY_V_M_DEVICE)
+      SUBROUTINE GY_V_M_DEVICE(PA,PDYY,PDZZ,PDZY,PGY_V_M_DEVICE)
 !     #######################################################
 !
 !*       0.    DECLARATIONS
@@ -206,8 +200,6 @@ IMPLICIT NONE
 !
 !*       0.1   declarations of arguments and result
 !
-INTEGER,                INTENT(IN) :: KKA, KKU ! near ground and uppest atmosphere array indexes
-INTEGER,                INTENT(IN) :: KL       ! +1 if grid goes from ground to atmosphere top, -1 otherwise
 REAL, DIMENSION(:,:,:), INTENT(IN) :: PA       ! variable at the V point
 REAL, DIMENSION(:,:,:), INTENT(IN) :: PDYY     ! metric coefficient dyy
 REAL, DIMENSION(:,:,:), INTENT(IN) :: PDZZ     ! metric coefficient dzz
@@ -381,7 +373,7 @@ END FUNCTION GX_V_UV
 !
 #ifdef MNH_OPENACC
 !     #########################################################
-      SUBROUTINE GX_V_UV_DEVICE(KKA,KKU,KL,PA,PDXX,PDZZ,PDZX,PGX_V_UV_DEVICE)
+      SUBROUTINE GX_V_UV_DEVICE(PA,PDXX,PDZZ,PDZX,PGX_V_UV_DEVICE)
 !     #########################################################
 !
 !*       0.    DECLARATIONS
@@ -396,8 +388,6 @@ IMPLICIT NONE
 !
 !*       0.1   declarations of arguments and result
 !
-INTEGER,                INTENT(IN) :: KKA, KKU ! near ground and uppest atmosphere array indexes
-INTEGER,                INTENT(IN) :: KL       ! +1 if grid goes from ground to atmosphere top, -1 otherwise
 REAL, DIMENSION(:,:,:), INTENT(IN) :: PA       ! variable at the V point
 REAL, DIMENSION(:,:,:), INTENT(IN) :: PDXX     ! metric coefficient dxx
 REAL, DIMENSION(:,:,:), INTENT(IN) :: PDZZ     ! metric coefficient dzz
@@ -562,7 +552,7 @@ END FUNCTION GZ_V_VW
 !
 #ifdef MNH_OPENACC
 !     #######################################################
-      SUBROUTINE GZ_V_VW_DEVICE(KKA,KKU,KL,PA,PDZZ,PGZ_V_VW_DEVICE)
+      SUBROUTINE GZ_V_VW_DEVICE(PA,PDZZ,PGZ_V_VW_DEVICE)
 !     #######################################################
 !
 !*       0.    DECLARATIONS
@@ -577,8 +567,6 @@ IMPLICIT NONE
 !
 !*       0.1   declarations of arguments and result
 !
-INTEGER,                INTENT(IN) :: KKA, KKU ! near ground and uppest atmosphere array indexes
-INTEGER,                INTENT(IN) :: KL       ! +1 if grid goes from ground to atmosphere top, -1 otherwise
 REAL, DIMENSION(:,:,:), INTENT(IN) :: PA       ! variable at the V point
 REAL, DIMENSION(:,:,:), INTENT(IN) :: PDZZ     ! metric coefficient dzz
 !
diff --git a/src/MNH/turb_hor_dyn_corr.f90 b/src/MNH/turb_hor_dyn_corr.f90
index 2ac0e3d54..831f1f0b2 100644
--- a/src/MNH/turb_hor_dyn_corr.f90
+++ b/src/MNH/turb_hor_dyn_corr.f90
@@ -425,7 +425,7 @@ ZMZF_DZZ = MZF(PDZZ)
 #else
 CALL GX_U_M_DEVICE(PUM,PDXX,PDZZ,PDZX,GX_U_M_PUM)
 IF (.NOT. L2D) THEN
-  CALL GY_V_M_DEVICE(1,IKU,1,PVM,PDYY,PDZZ,PDZY,GY_V_M_PVM)
+  CALL GY_V_M_DEVICE(PVM,PDYY,PDZZ,PDZY,GY_V_M_PVM)
 END IF
 CALL GZ_W_M_DEVICE(1,IKU,1,PWM,PDZZ,GZ_W_M_PWM)
 !
diff --git a/src/MNH/turb_hor_uv.f90 b/src/MNH/turb_hor_uv.f90
index e597f4f9b..a86107779 100644
--- a/src/MNH/turb_hor_uv.f90
+++ b/src/MNH/turb_hor_uv.f90
@@ -224,7 +224,6 @@ INTEGER :: IZFLX,IZWORK,IZDIRSINZW,IGY_U_UV_PUM,IGX_V_UV_PVM
 REAL :: ZTIME1, ZTIME2
 !
 #ifdef MNH_OPENACC
-INTEGER :: IKU
 REAL, DIMENSION(:,:,:), pointer , contiguous :: ZTMP1_DEVICE
 REAL, DIMENSION(:,:,:), pointer , contiguous :: ZTMP2_DEVICE
 REAL, DIMENSION(:,:,:), pointer , contiguous :: ZTMP3_DEVICE
@@ -319,9 +318,6 @@ iztmp7_device = MNH_ALLOCATE_ZT3D( ztmp7_device,JIU,JJU,JKU )
 !
 IKB = 1+JPVEXT               
 IKE = SIZE(PUM,3)-JPVEXT    
-#ifdef MNH_OPENACC
-IKU = NKMAX + 2 * JPVEXT
-#endif
 !
 !$acc kernels
 !$acc loop independent collapse(2)
@@ -340,7 +336,7 @@ IF (.NOT. L2D) THEN
   GY_U_UV_PUM = GY_U_UV(PUM,PDYY,PDZZ,PDZY)
 END IF
 #else
-CALL GX_V_UV_DEVICE(1,IKU,1,PVM,PDXX,PDZZ,PDZX,GX_V_UV_PVM)
+CALL GX_V_UV_DEVICE(PVM,PDXX,PDZZ,PDZX,GX_V_UV_PVM)
 IF (.NOT. L2D) THEN
   CALL GY_U_UV_DEVICE(PUM,PDYY,PDZZ,PDZY,GY_U_UV_PUM)
 END IF
@@ -776,7 +772,7 @@ IF (LLES_CALL .AND. KSPLT==1) THEN
   CALL MXF_DEVICE(ZTMP2_DEVICE,ZTMP1_DEVICE)
   CALL LES_MEAN_SUBGRID(ZTMP1_DEVICE, X_LES_RES_ddxa_U_SBG_UaU , .TRUE.)
   !
-  CALL GX_V_UV_DEVICE(1,IKU,1,PVM,PDXX,PDZZ,PDZX,ZTMP1_DEVICE)
+  CALL GX_V_UV_DEVICE(PVM,PDXX,PDZZ,PDZX,ZTMP1_DEVICE)
 !$acc kernels
   ZTMP3_DEVICE = ZTMP1_DEVICE*ZFLX
 !$acc end kernels
diff --git a/src/MNH/turb_hor_vw.f90 b/src/MNH/turb_hor_vw.f90
index 0af42385c..17e5ad910 100644
--- a/src/MNH/turb_hor_vw.f90
+++ b/src/MNH/turb_hor_vw.f90
@@ -436,7 +436,7 @@ IF (KSPLT==1) THEN
 #ifndef MNH_OPENACC
     ZWORK(:,:,:) =-MZF( MYF( ZFLX *( GZ_V_VW(PVM,PDZZ) + GY_W_VW_PWM ) ) )
 #else
-    CALL GZ_V_VW_DEVICE(1,IKU,1,PVM,PDZZ,ZTMP1_DEVICE)
+    CALL GZ_V_VW_DEVICE(PVM,PDZZ,ZTMP1_DEVICE)
     !$acc kernels
     !$acc loop independent collapse(3)
     DO CONCURRENT ( JI=1:JIU,JJ=1:JJU,JK=1:JKU)
@@ -527,7 +527,7 @@ IF (LLES_CALL .AND. KSPLT==1) THEN
   CALL MZF_DEVICE( ZTMP1_DEVICE, ZTMP2_DEVICE )
   CALL LES_MEAN_SUBGRID( ZTMP2_DEVICE, X_LES_SUBGRID_WV , .TRUE. )
   !
-  CALL GZ_V_VW_DEVICE(1,IKU,1,PVM,PDZZ,ZTMP1_DEVICE)
+  CALL GZ_V_VW_DEVICE(PVM,PDZZ,ZTMP1_DEVICE)
   !$acc kernels
   ZTMP2_DEVICE = ZTMP1_DEVICE*ZFLX
   !$acc end kernels
diff --git a/src/MNH/turb_ver_dyn_flux.f90 b/src/MNH/turb_ver_dyn_flux.f90
index 1efb2d22c..07131de0e 100644
--- a/src/MNH/turb_ver_dyn_flux.f90
+++ b/src/MNH/turb_ver_dyn_flux.f90
@@ -1315,7 +1315,7 @@ PWV(:,:,:) = ZFLXZ(:,:,:)
 #ifndef MNH_OPENACC
 ZA(:,:,:) = - MZF( MYF ( ZFLXZ * GZ_V_VW(PVM,PDZZ) ) )
 #else
-CALL GZ_V_VW_DEVICE(KKA,KKU,KKL,PVM,PDZZ,ZTMP1_DEVICE)
+CALL GZ_V_VW_DEVICE(PVM,PDZZ,ZTMP1_DEVICE)
 !$acc kernels
 !$acc loop independent collapse(3)
 DO CONCURRENT ( JI=1:JIU,JJ=1:JJU,JK=1:JKU)
@@ -1377,7 +1377,7 @@ IF (LLES_CALL) THEN
   CALL MZF_DEVICE( ZTMP1_DEVICE, ZTMP2_DEVICE )
   CALL LES_MEAN_SUBGRID( ZTMP2_DEVICE, X_LES_SUBGRID_WV ) 
   !
-  CALL GZ_V_VW_DEVICE(KKA,KKU,KKL,PVM,PDZZ,ZTMP1_DEVICE)
+  CALL GZ_V_VW_DEVICE(PVM,PDZZ,ZTMP1_DEVICE)
 !$acc kernels
   ZTMP2_DEVICE(:,:,:) = ZTMP1_DEVICE(:,:,:)*ZFLXZ(:,:,:)
 !$acc end kernels
@@ -1574,7 +1574,7 @@ IF(HTURBDIM=='3DIM') THEN
     CALL LES_MEAN_SUBGRID( ZTMP4_DEVICE, X_LES_RES_ddxa_Thl_SBG_UaW , .TRUE. )
     !
     IF (KRR>=1) THEN
-      CALL GY_V_M_DEVICE(KKA,KKU,KKL,PRM(:,:,:,1),PDYY,PDZZ,PDZY,ZTMP1_DEVICE)
+      CALL GY_V_M_DEVICE(PRM(:,:,:,1),PDYY,PDZZ,PDZY,ZTMP1_DEVICE)
       CALL MZF_DEVICE( ZFLXZ, ZTMP2_DEVICE )
       !$acc kernels
       ZTMP3_DEVICE(:,:,:) = ZTMP1_DEVICE(:,:,:)*ZTMP2_DEVICE(:,:,:)
diff --git a/src/ZSOLVER/turb_hor_dyn_corr.f90 b/src/ZSOLVER/turb_hor_dyn_corr.f90
index f44d4e47e..74548507b 100644
--- a/src/ZSOLVER/turb_hor_dyn_corr.f90
+++ b/src/ZSOLVER/turb_hor_dyn_corr.f90
@@ -429,7 +429,7 @@ ZMZF_DZZ = MZF(PDZZ)
 #else
 CALL GX_U_M_DEVICE(PUM,PDXX,PDZZ,PDZX,GX_U_M_PUM)
 IF (.NOT. L2D) THEN
-  CALL GY_V_M_DEVICE(1,IKU,1,PVM,PDYY,PDZZ,PDZY,GY_V_M_PVM)
+  CALL GY_V_M_DEVICE(PVM,PDYY,PDZZ,PDZY,GY_V_M_PVM)
 END IF
 CALL GZ_W_M_DEVICE(1,IKU,1,PWM,PDZZ,GZ_W_M_PWM)
 !
-- 
GitLab