diff --git a/src/MNH/gradient_v.f90 b/src/MNH/gradient_v.f90
index 80161d8c6188715b0d0e3f08c8269ce9f74ef59f..5f44dbffb7b74ef5291e958c039b947a4efacf03 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 2ac0e3d5416fbbb0a62aa53bc245c248ae35678f..831f1f0b2a653d1809104491afe12f544024eee6 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 e597f4f9b05805186c99dc81bed2861beaac6d17..a861077797cb5efd3b417f10617ebb708d526af2 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 0af42385c75bc0d4359ce142236e3cd24317462a..17e5ad9109d16dd07f15b93241545b445f5adbf9 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 1efb2d22c8659773abf50729746b9be2b3755856..07131de0e992fb3a2e88e98fab19f3eaaabb1dd6 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 f44d4e47ef09ab7a75e797ce1d7dd785f62c5b44..74548507bdfa8d709ef74110d2a33784a081bdb1 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)
 !