diff --git a/src/MNH/gradient_w.f90 b/src/MNH/gradient_w.f90
index 54e2847abf142934913dd938662b82eb1764200d..4a73fc8a26a81f270a9c915863b40373f063633a 100644
--- a/src/MNH/gradient_w.f90
+++ b/src/MNH/gradient_w.f90
@@ -21,10 +21,8 @@ END FUNCTION GZ_W_M
 !
 !
 #ifdef MNH_OPENACC
-SUBROUTINE GZ_W_M_DEVICE(KKA,KKU,KL,PA,PDZZ,PGZ_W_M_DEVICE)
+SUBROUTINE GZ_W_M_DEVICE(PA,PDZZ,PGZ_W_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 W point
 REAL, DIMENSION(:,:,:), INTENT(IN) :: PDZZ     ! metric coefficient dzz
 !
@@ -47,10 +45,8 @@ END FUNCTION GX_W_UW
 !
 !
 #ifdef MNH_OPENACC
-SUBROUTINE GX_W_UW_DEVICE(KKA,KKU,KL,PA,PDXX,PDZZ,PDZX,PGX_W_UW_DEVICE)
+SUBROUTINE GX_W_UW_DEVICE(PA,PDXX,PDZZ,PDZX,PGX_W_UW_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 W point
 REAL, DIMENSION(:,:,:), INTENT(IN) :: PDXX     ! metric coefficient dxx
 REAL, DIMENSION(:,:,:), INTENT(IN) :: PDZZ     ! metric coefficient dzz
@@ -75,10 +71,8 @@ END FUNCTION GY_W_VW
 !
 !
 #ifdef MNH_OPENACC
-SUBROUTINE GY_W_VW_DEVICE(KKA,KKU,KL,PA,PDYY,PDZZ,PDZY,PGY_W_VW_DEVICE)
+SUBROUTINE GY_W_VW_DEVICE(PA,PDYY,PDZZ,PDZY,PGY_W_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 W point
 REAL, DIMENSION(:,:,:), INTENT(IN) :: PDYY     ! metric coefficient dyy
 REAL, DIMENSION(:,:,:), INTENT(IN) :: PDZZ     ! metric coefficient dzz
@@ -172,7 +166,7 @@ END FUNCTION GZ_W_M
 !
 #ifdef MNH_OPENACC
 !     #######################################################
-      SUBROUTINE GZ_W_M_DEVICE(KKA,KKU,KL,PA,PDZZ,PGZ_W_M_DEVICE)
+      SUBROUTINE GZ_W_M_DEVICE(PA,PDZZ,PGZ_W_M_DEVICE)
 !     #######################################################
 !
 !*       0.    DECLARATIONS
@@ -187,8 +181,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 W point
 REAL, DIMENSION(:,:,:), INTENT(IN) :: PDZZ     ! metric coefficient dzz
 !
@@ -323,7 +315,7 @@ END FUNCTION GX_W_UW
 !
 #ifdef MNH_OPENACC
 !     #########################################################
-      SUBROUTINE GX_W_UW_DEVICE(KKA,KKU,KL,PA,PDXX,PDZZ,PDZX,PGX_W_UW_DEVICE)
+      SUBROUTINE GX_W_UW_DEVICE(PA,PDXX,PDZZ,PDZX,PGX_W_UW_DEVICE)
 !     #########################################################
 !
 !*       0.    DECLARATIONS
@@ -338,8 +330,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 W point
 REAL, DIMENSION(:,:,:), INTENT(IN) :: PDXX     ! metric coefficient dxx
 REAL, DIMENSION(:,:,:), INTENT(IN) :: PDZZ     ! metric coefficient dzz
@@ -496,7 +486,7 @@ END FUNCTION GY_W_VW
 !
 #ifdef MNH_OPENACC
 !     #########################################################
-      SUBROUTINE GY_W_VW_DEVICE(KKA,KKU,KL,PA,PDYY,PDZZ,PDZY,PGY_W_VW_DEVICE)
+      SUBROUTINE GY_W_VW_DEVICE(PA,PDYY,PDZZ,PDZY,PGY_W_VW_DEVICE)
 !     #########################################################
 !
 !*       0.    DECLARATIONS
@@ -511,8 +501,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 W point
 REAL, DIMENSION(:,:,:), INTENT(IN) :: PDYY     ! metric coefficient dyy
 REAL, DIMENSION(:,:,:), INTENT(IN) :: PDZZ     ! metric coefficient dzz
diff --git a/src/MNH/turb.f90 b/src/MNH/turb.f90
index 3f7a343cc4bc616dc97a863ca797dd512756a8b2..752d81803a6baa45bd4a1bd572b752e338dfd265 100644
--- a/src/MNH/turb.f90
+++ b/src/MNH/turb.f90
@@ -1104,9 +1104,9 @@ IF (HTOM=='TM06') THEN
 !
   CALL GZ_M_W_DEVICE(KKA,KKU,KKL,ZMWTH,PDZZ,ZFWTH)    ! -d(w'2th' )/dz
   !CALL GZ_M_W_DEVICE(KKA,KKU,KKL,ZMWR, PDZZ,ZFWR)     ! -d(w'2r'  )/dz
-  CALL GZ_W_M_DEVICE(KKA,KKU,KKL,ZMTH2,PDZZ,ZFTH2)    ! -d(w'th'2 )/dz
-  !CALL GZ_W_M_DEVICE(KKA,KKU,KKL,ZMR2, PDZZ,ZFR2)     ! -d(w'r'2  )/dz
-  !CALL GZ_W_M_DEVICE(KKA,KKU,KKL,ZMTHR,PDZZ,ZFTHR)    ! -d(w'th'r')/dz
+  CALL GZ_W_M_DEVICE(ZMTH2,PDZZ,ZFTH2)    ! -d(w'th'2 )/dz
+  !CALL GZ_W_M_DEVICE(ZMR2, PDZZ,ZFR2)     ! -d(w'r'2  )/dz
+  !CALL GZ_W_M_DEVICE(ZMTHR,PDZZ,ZFTHR)    ! -d(w'th'r')/dz
 !$acc kernels
   ZFWTH = -ZFWTH
   !ZFWR  = -ZFWR
diff --git a/src/MNH/turb_hor_dyn_corr.f90 b/src/MNH/turb_hor_dyn_corr.f90
index 831f1f0b2a653d1809104491afe12f544024eee6..192702b70deb488cd1fae37dab01c5829bcf3fc0 100644
--- a/src/MNH/turb_hor_dyn_corr.f90
+++ b/src/MNH/turb_hor_dyn_corr.f90
@@ -427,7 +427,7 @@ CALL GX_U_M_DEVICE(PUM,PDXX,PDZZ,PDZX,GX_U_M_PUM)
 IF (.NOT. L2D) THEN
   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)
+CALL GZ_W_M_DEVICE(PWM,PDZZ,GZ_W_M_PWM)
 !
 CALL MZF_DEVICE( PDZZ, ZMZF_DZZ )
 #endif
@@ -1136,7 +1136,7 @@ PRWS = PRWS(:,:,:) + ZTMP1_DEVICE *(ZWP(:,:,:)-PWM(:,:,:))/PTSTEP
 #ifndef MNH_OPENACC
 GZ_W_M_ZWP = GZ_W_M(ZWP,PDZZ)
 #else
-CALL GZ_W_M_DEVICE(1,IKU,1,ZWP,PDZZ,GZ_W_M_ZWP)
+CALL GZ_W_M_DEVICE(ZWP,PDZZ,GZ_W_M_ZWP)
 #endif
 !$acc kernels async(2)
 !$acc loop independent collapse(3)
diff --git a/src/MNH/turb_hor_sv_flux.f90 b/src/MNH/turb_hor_sv_flux.f90
index 9870a9e6ff996f8397b94825e029ad50e6d39751..aeeb39f67e3c973baf6fb0df966a77a074d2af9e 100644
--- a/src/MNH/turb_hor_sv_flux.f90
+++ b/src/MNH/turb_hor_sv_flux.f90
@@ -392,7 +392,7 @@ DO JSV=1,ISV
     CALL MXF_DEVICE(ZFLXX,ZTMP1_DEVICE)
     CALL LES_MEAN_SUBGRID( ZTMP1_DEVICE, X_LES_SUBGRID_USv(:,:,:,JSV) ) 
     !
-    CALL GX_W_UW_DEVICE(1,IKU,1,PWM,PDXX,PDZZ,PDZX,ZTMP1_DEVICE)
+    CALL GX_W_UW_DEVICE(PWM,PDXX,PDZZ,PDZX,ZTMP1_DEVICE)
     CALL MZM_DEVICE(ZFLXX,ZTMP2_DEVICE)
     !$acc kernels
     ZTMP3_DEVICE = ZTMP1_DEVICE*ZTMP2_DEVICE
@@ -511,7 +511,7 @@ DO JSV=1,ISV
     CALL MYF_DEVICE(ZFLXY,ZTMP1_DEVICE)
     CALL LES_MEAN_SUBGRID( ZTMP1_DEVICE, X_LES_SUBGRID_VSv(:,:,:,JSV) ) 
     !
-    CALL GY_W_VW_DEVICE(1,IKU,1,PWM,PDYY,PDZZ,PDZY,ZTMP1_DEVICE)
+    CALL GY_W_VW_DEVICE(PWM,PDYY,PDZZ,PDZY,ZTMP1_DEVICE)
     CALL MZM_DEVICE(ZFLXY,ZTMP2_DEVICE)
     !$acc kernels
     ZTMP3_DEVICE = ZTMP1_DEVICE*ZTMP2_DEVICE
diff --git a/src/MNH/turb_hor_thermo_flux.f90 b/src/MNH/turb_hor_thermo_flux.f90
index 8cd6d6b5fb08e2817968d1408bfa1171b8a504f4..7a959f5b9668c2aec85611bb8de0e5c26a66d3a6 100644
--- a/src/MNH/turb_hor_thermo_flux.f90
+++ b/src/MNH/turb_hor_thermo_flux.f90
@@ -626,7 +626,7 @@ IF (KSPLT==1 .AND. LLES_CALL) THEN
   CALL MXF_DEVICE(ZFLX,ZTMP1_DEVICE)
   CALL LES_MEAN_SUBGRID( ZTMP1_DEVICE, X_LES_SUBGRID_UThl ) 
   !
-  CALL GX_W_UW_DEVICE(1,IKU,1,PWM,PDXX,PDZZ,PDZX,ZTMP1_DEVICE)
+  CALL GX_W_UW_DEVICE(PWM,PDXX,PDZZ,PDZX,ZTMP1_DEVICE)
   CALL MZM_DEVICE(ZFLX,ZTMP2_DEVICE)
   !$acc kernels
   ZTMP3_DEVICE(:,:,:) = ZTMP1_DEVICE(:,:,:)*ZTMP2_DEVICE(:,:,:)
@@ -955,7 +955,7 @@ END DO
     CALL MXF_DEVICE(ZFLX,ZTMP1_DEVICE)
     CALL LES_MEAN_SUBGRID( ZTMP1_DEVICE, X_LES_SUBGRID_URt ) 
     !
-    CALL GX_W_UW_DEVICE(1,IKU,1,PWM,PDXX,PDZZ,PDZX,ZTMP1_DEVICE)
+    CALL GX_W_UW_DEVICE(PWM,PDXX,PDZZ,PDZX,ZTMP1_DEVICE)
     CALL MZM_DEVICE(ZFLX,ZTMP2_DEVICE)
     !$acc kernels
     ZTMP3_DEVICE(:,:,:) = ZTMP1_DEVICE(:,:,:)*ZTMP2_DEVICE(:,:,:)
@@ -1356,7 +1356,7 @@ IF (KSPLT==1 .AND. LLES_CALL) THEN
   CALL MYF_DEVICE(ZFLX, ZTMP1_DEVICE)
   CALL LES_MEAN_SUBGRID( ZTMP1_DEVICE, X_LES_SUBGRID_VThl ) 
   !
-  CALL GY_W_VW_DEVICE(1,IKU,1,PWM,PDYY,PDZZ,PDZY,ZTMP1_DEVICE)
+  CALL GY_W_VW_DEVICE(PWM,PDYY,PDZZ,PDZY,ZTMP1_DEVICE)
   CALL MZM_DEVICE(ZFLX,ZTMP2_DEVICE)
   !$acc kernels
   ZTMP3_DEVICE(:,:,:) = ZTMP1_DEVICE(:,:,:) * ZTMP2_DEVICE(:,:,:)
@@ -1714,7 +1714,7 @@ IF (KRR/=0) THEN
     CALL MYF_DEVICE(ZFLX,ZTMP1_DEVICE)
     CALL LES_MEAN_SUBGRID( ZTMP1_DEVICE, X_LES_SUBGRID_VRt ) 
     !
-    CALL GY_W_VW_DEVICE(1,IKU,1,PWM,PDYY,PDZZ,PDZY,ZTMP1_DEVICE)
+    CALL GY_W_VW_DEVICE(PWM,PDYY,PDZZ,PDZY,ZTMP1_DEVICE)
     CALL MZM_DEVICE(ZFLX,ZTMP2_DEVICE)
     !$acc kernels
     ZTMP3_DEVICE(:,:,:) = ZTMP1_DEVICE(:,:,:) * ZTMP2_DEVICE(:,:,:)
diff --git a/src/MNH/turb_hor_uw.f90 b/src/MNH/turb_hor_uw.f90
index c77be3a9679cda0c47803986f3b99abf4c956534..b9474968bbdda989dbfdb139d5c8355482f1af88 100644
--- a/src/MNH/turb_hor_uw.f90
+++ b/src/MNH/turb_hor_uw.f90
@@ -273,7 +273,7 @@ IKU = SIZE(PWM,3)
 #ifndef MNH_OPENACC
 GX_W_UW_PWM = GX_W_UW(PWM,PDXX,PDZZ,PDZX)
 #else
-CALL GX_W_UW_DEVICE(1,IKU,1,PWM,PDXX,PDZZ,PDZX,GX_W_UW_PWM)
+CALL GX_W_UW_DEVICE(PWM,PDXX,PDZZ,PDZX,GX_W_UW_PWM)
 #endif
 !
 !
diff --git a/src/MNH/turb_hor_vw.f90 b/src/MNH/turb_hor_vw.f90
index 17e5ad9109d16dd07f15b93241545b445f5adbf9..13741e3a791ae8394cf7ef4b38d5bde54d1df5a3 100644
--- a/src/MNH/turb_hor_vw.f90
+++ b/src/MNH/turb_hor_vw.f90
@@ -271,7 +271,7 @@ IF (.NOT. L2D) THEN
 #ifndef MNH_OPENACC
   GY_W_VW_PWM = GY_W_VW(PWM,PDYY,PDZZ,PDZY)
 #else
-  CALL GY_W_VW_DEVICE(1,IKU,1,PWM,PDYY,PDZZ,PDZY,GY_W_VW_PWM)
+  CALL GY_W_VW_DEVICE(PWM,PDYY,PDZZ,PDZY,GY_W_VW_PWM)
 #endif
 END IF
 !
@@ -535,7 +535,7 @@ IF (LLES_CALL .AND. KSPLT==1) THEN
   CALL MZF_DEVICE( ZTMP1_DEVICE, ZTMP2_DEVICE )
   CALL LES_MEAN_SUBGRID( ZTMP2_DEVICE, X_LES_RES_ddxa_V_SBG_UaV , .TRUE.)
   !
-  CALL GY_W_VW_DEVICE(1,IKU,1,PWM,PDYY,PDZZ,PDZY,ZTMP1_DEVICE)
+  CALL GY_W_VW_DEVICE(PWM,PDYY,PDZZ,PDZY,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 07131de0e992fb3a2e88e98fab19f3eaaabb1dd6..471f7848961082d85e32e467fd1b7eafd39e5ba8 100644
--- a/src/MNH/turb_ver_dyn_flux.f90
+++ b/src/MNH/turb_ver_dyn_flux.f90
@@ -950,7 +950,7 @@ IF(HTURBDIM=='3DIM') THEN
 #ifndef MNH_OPENACC
   ZA(:,:,:)=-MZF( MXF ( ZFLXZ * GX_W_UW( PWM,PDXX,PDZZ,PDZX) )  )
 #else
-  CALL GX_W_UW_DEVICE(KKA,KKU,KKL, PWM,PDXX,PDZZ,PDZX,ZTMP1_DEVICE)
+  CALL GX_W_UW_DEVICE( PWM,PDXX,PDZZ,PDZX,ZTMP1_DEVICE)
   !$acc kernels
   !$acc loop independent collapse(3)
   DO CONCURRENT ( JI=1:JIU,JJ=1:JJU,JK=1:JKU)
@@ -1041,7 +1041,7 @@ END IF
 !$acc data copy(X_LES_RES_ddxa_W_SBG_UaW,X_LES_RES_ddxa_Thl_SBG_UaW, &
 !$acc &         X_LES_RES_ddxa_Rt_SBG_UaW,X_LES_RES_ddxa_Sv_SBG_UaW)
     !
-    CALL GX_W_UW_DEVICE(KKA,KKU,KKL,PWM,PDXX,PDZZ,PDZX,ZTMP1_DEVICE)
+    CALL GX_W_UW_DEVICE( PWM,PDXX,PDZZ,PDZX,ZTMP1_DEVICE)
     !$acc kernels
     ZTMP2_DEVICE(:,:,:) = ZTMP1_DEVICE(:,:,:)*ZFLXZ(:,:,:)
     !$acc end kernels
@@ -1471,7 +1471,7 @@ IF(HTURBDIM=='3DIM') THEN
 #ifndef MNH_OPENACC
     ZA(:,:,:) = - MZF( MYF ( ZFLXZ(:,:,:) * GY_W_VW( PWM,PDYY,PDZZ,PDZY) )  )
 #else
-    CALL GY_W_VW_DEVICE(KKA,KKU,KKL, PWM,PDYY,PDZZ,PDZY,ZTMP1_DEVICE)
+    CALL GY_W_VW_DEVICE( PWM,PDYY,PDZZ,PDZY,ZTMP1_DEVICE)
     !$acc kernels
     !$acc loop independent collapse(3)
     DO CONCURRENT ( JI=1:JIU,JJ=1:JJU,JK=1:JKU)
@@ -1557,7 +1557,7 @@ IF(HTURBDIM=='3DIM') THEN
 #else
 !$acc data copy(X_LES_RES_ddxa_W_SBG_UaW,X_LES_RES_ddxa_Thl_SBG_UaW,X_LES_RES_ddxa_Rt_SBG_UaW)
     !
-    CALL GY_W_VW_DEVICE(KKA,KKU,KKL,PWM,PDYY,PDZZ,PDZY,ZTMP1_DEVICE)
+    CALL GY_W_VW_DEVICE( PWM,PDYY,PDZZ,PDZY,ZTMP1_DEVICE)
     !$acc kernels
     ZTMP2_DEVICE(:,:,:) = ZTMP1_DEVICE(:,:,:)*ZFLXZ(:,:,:)
     !$acc end kernels
@@ -1602,7 +1602,7 @@ IF ( OTURB_FLX .AND. tpfile%lopened .AND. HTURBDIM == '1DIM') THEN
   ZFLXZ(:,:,:)= (2./3.) * PTKEM(:,:,:)                     &
      -XCMFS*PLM(:,:,:)*SQRT(PTKEM(:,:,:))*GZ_W_M(PWM,PDZZ)
 #else
-  CALL GZ_W_M_DEVICE(KKA,KKU,KKL,PWM,PDZZ,ZTMP1_DEVICE)
+  CALL GZ_W_M_DEVICE(PWM,PDZZ,ZTMP1_DEVICE)
 !$acc kernels
   ZFLXZ(:,:,:)= (2./3.) * PTKEM(:,:,:)                     &
      -XCMFS*PLM(:,:,:)*SQRT(PTKEM(:,:,:))*ZTMP1_DEVICE(:,:,:)
diff --git a/src/MNH/turb_ver_thermo_flux.f90 b/src/MNH/turb_ver_thermo_flux.f90
index f2b661492aef286424ed573e6f114d052ff77456..2103b8e2faba558fc6a86e08e812a4703d1c114a 100644
--- a/src/MNH/turb_ver_thermo_flux.f90
+++ b/src/MNH/turb_ver_thermo_flux.f90
@@ -1151,7 +1151,7 @@ IF (LLES_CALL) THEN
 !$acc end kernels
   CALL MZF_DEVICE( ZTMP1_DEVICE, ZTMP2_DEVICE )
   CALL LES_MEAN_SUBGRID( ZTMP1_DEVICE, X_LES_RES_W_SBG_WThl )
-  CALL GZ_W_M_DEVICE(KKA,KKU,KKL,PWM,PDZZ,ZTMP1_DEVICE )
+  CALL GZ_W_M_DEVICE(PWM,PDZZ,ZTMP1_DEVICE )
   CALL MZF_DEVICE( ZFLXZ, ZTMP2_DEVICE )
 !$acc kernels
   ZTMP3_DEVICE(:,:,:) = ZTMP1_DEVICE(:,:,:) * ZTMP2_DEVICE(:,:,:)
@@ -1627,7 +1627,7 @@ END DO
     !$acc kernels
     ZTMP1_DEVICE(:,:,:) = PWM(:,:,:)*ZFLXZ(:,:,:)
     !$acc end kernels
-    CALL GZ_W_M_DEVICE(KKA,KKU,KKL,PWM,PDZZ,ZTMP2_DEVICE)
+    CALL GZ_W_M_DEVICE(PWM,PDZZ,ZTMP2_DEVICE)
     !$acc kernels
     ZTMP3_DEVICE(:,:,:) = ZTMP2_DEVICE(:,:,:)*ZTMP1_DEVICE(:,:,:)
     !$acc end kernels
diff --git a/src/ZSOLVER/turb.f90 b/src/ZSOLVER/turb.f90
index b1906245f1ad3d3f71eea33dd2c918510d2e687c..80ad2311a822f5cc0ec46a1dba6cf62fb0b340a7 100644
--- a/src/ZSOLVER/turb.f90
+++ b/src/ZSOLVER/turb.f90
@@ -1104,9 +1104,9 @@ IF (HTOM=='TM06') THEN
 !
   CALL GZ_M_W_DEVICE(KKA,KKU,KKL,ZMWTH,PDZZ,ZFWTH)    ! -d(w'2th' )/dz
   !CALL GZ_M_W_DEVICE(KKA,KKU,KKL,ZMWR, PDZZ,ZFWR)     ! -d(w'2r'  )/dz
-  CALL GZ_W_M_DEVICE(KKA,KKU,KKL,ZMTH2,PDZZ,ZFTH2)    ! -d(w'th'2 )/dz
-  !CALL GZ_W_M_DEVICE(KKA,KKU,KKL,ZMR2, PDZZ,ZFR2)     ! -d(w'r'2  )/dz
-  !CALL GZ_W_M_DEVICE(KKA,KKU,KKL,ZMTHR,PDZZ,ZFTHR)    ! -d(w'th'r')/dz
+  CALL GZ_W_M_DEVICE(ZMTH2,PDZZ,ZFTH2)    ! -d(w'th'2 )/dz
+  !CALL GZ_W_M_DEVICE(ZMR2, PDZZ,ZFR2)     ! -d(w'r'2  )/dz
+  !CALL GZ_W_M_DEVICE(ZMTHR,PDZZ,ZFTHR)    ! -d(w'th'r')/dz
 !$acc kernels
   ZFWTH = -ZFWTH
   !ZFWR  = -ZFWR
diff --git a/src/ZSOLVER/turb_hor_dyn_corr.f90 b/src/ZSOLVER/turb_hor_dyn_corr.f90
index 74548507bdfa8d709ef74110d2a33784a081bdb1..4f00eb1b2bb876601413b3e6fcd742d19c331422 100644
--- a/src/ZSOLVER/turb_hor_dyn_corr.f90
+++ b/src/ZSOLVER/turb_hor_dyn_corr.f90
@@ -431,7 +431,7 @@ CALL GX_U_M_DEVICE(PUM,PDXX,PDZZ,PDZX,GX_U_M_PUM)
 IF (.NOT. L2D) THEN
   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)
+CALL GZ_W_M_DEVICE(PWM,PDZZ,GZ_W_M_PWM)
 !
 CALL MZF_DEVICE( PDZZ, ZMZF_DZZ )
 #endif
@@ -1142,7 +1142,7 @@ PRWS = PRWS(:,:,:) + ZTMP1_DEVICE *(ZWP(:,:,:)-PWM(:,:,:))/PTSTEP
 #ifndef MNH_OPENACC
 GZ_W_M_ZWP = GZ_W_M(ZWP,PDZZ)
 #else
-CALL GZ_W_M_DEVICE(1,IKU,1,ZWP,PDZZ,GZ_W_M_ZWP)
+CALL GZ_W_M_DEVICE(ZWP,PDZZ,GZ_W_M_ZWP)
 #endif
 !$acc kernels async(2)
 !$acc loop independent collapse(3)
diff --git a/src/ZSOLVER/turb_hor_thermo_flux.f90 b/src/ZSOLVER/turb_hor_thermo_flux.f90
index a8a9b45f8bf988541fdda32ff26f656381402581..1908006f3b95905d356ab1759b8c578203c87905 100644
--- a/src/ZSOLVER/turb_hor_thermo_flux.f90
+++ b/src/ZSOLVER/turb_hor_thermo_flux.f90
@@ -624,7 +624,7 @@ IF (KSPLT==1 .AND. LLES_CALL) THEN
   CALL MXF_DEVICE(ZFLX,ZTMP1_DEVICE)
   CALL LES_MEAN_SUBGRID( ZTMP1_DEVICE, X_LES_SUBGRID_UThl ) 
   !
-  CALL GX_W_UW_DEVICE(1,IKU,1,PWM,PDXX,PDZZ,PDZX,ZTMP1_DEVICE)
+  CALL GX_W_UW_DEVICE(PWM,PDXX,PDZZ,PDZX,ZTMP1_DEVICE)
   CALL MZM_DEVICE(ZFLX,ZTMP2_DEVICE)
   !$acc kernels
   ZTMP3_DEVICE(:,:,:) = ZTMP1_DEVICE(:,:,:)*ZTMP2_DEVICE(:,:,:)
@@ -950,7 +950,7 @@ END DO
     CALL MXF_DEVICE(ZFLX,ZTMP1_DEVICE)
     CALL LES_MEAN_SUBGRID( ZTMP1_DEVICE, X_LES_SUBGRID_URt ) 
     !
-    CALL GX_W_UW_DEVICE(1,IKU,1,PWM,PDXX,PDZZ,PDZX,ZTMP1_DEVICE)
+    CALL GX_W_UW_DEVICE(PWM,PDXX,PDZZ,PDZX,ZTMP1_DEVICE)
     CALL MZM_DEVICE(ZFLX,ZTMP2_DEVICE)
     !$acc kernels
     ZTMP3_DEVICE(:,:,:) = ZTMP1_DEVICE(:,:,:)*ZTMP2_DEVICE(:,:,:)
@@ -1351,7 +1351,7 @@ IF (KSPLT==1 .AND. LLES_CALL) THEN
   CALL MYF_DEVICE(ZFLX, ZTMP1_DEVICE)
   CALL LES_MEAN_SUBGRID( ZTMP1_DEVICE, X_LES_SUBGRID_VThl ) 
   !
-  CALL GY_W_VW_DEVICE(1,IKU,1,PWM,PDYY,PDZZ,PDZY,ZTMP1_DEVICE)
+  CALL GY_W_VW_DEVICE(PWM,PDYY,PDZZ,PDZY,ZTMP1_DEVICE)
   CALL MZM_DEVICE(ZFLX,ZTMP2_DEVICE)
   !$acc kernels
   ZTMP3_DEVICE(:,:,:) = ZTMP1_DEVICE(:,:,:) * ZTMP2_DEVICE(:,:,:)
@@ -1709,7 +1709,7 @@ IF (KRR/=0) THEN
     CALL MYF_DEVICE(ZFLX,ZTMP1_DEVICE)
     CALL LES_MEAN_SUBGRID( ZTMP1_DEVICE, X_LES_SUBGRID_VRt ) 
     !
-    CALL GY_W_VW_DEVICE(1,IKU,1,PWM,PDYY,PDZZ,PDZY,ZTMP1_DEVICE)
+    CALL GY_W_VW_DEVICE(PWM,PDYY,PDZZ,PDZY,ZTMP1_DEVICE)
     CALL MZM_DEVICE(ZFLX,ZTMP2_DEVICE)
     !$acc kernels
     ZTMP3_DEVICE(:,:,:) = ZTMP1_DEVICE(:,:,:) * ZTMP2_DEVICE(:,:,:)