diff --git a/src/MNH/emoist.f90 b/src/MNH/emoist.f90
index a1c1c43725d259a5eb9f6a34bbd0d6845157b051..5bf959300d897c7d2955a4cbc476a43e23ef399b 100644
--- a/src/MNH/emoist.f90
+++ b/src/MNH/emoist.f90
@@ -98,7 +98,9 @@ SUBROUTINE EMOIST(KRR,KRRI,PTHLM,PRM,PLOCPEXNM,PAMOIST,PSRCM,PEMOIST)
 !*       0. DECLARATIONS
 !           ------------
 USE MODD_CST
-!
+
+use mode_mppdb
+
 IMPLICIT NONE
 !
 !*       0.1 declarations of arguments and result
@@ -134,6 +136,14 @@ INTEGER                               :: JRR     ! moist loop counter
 
 !$acc data present( PTHLM, PRM, PLOCPEXNM, PAMOIST, PSRCM, PEMOIST )
 
+if ( mppdb_initialized ) then
+  !Check all in arrays
+  call Mppdb_check( pthlm,     "Emoist beg:pthlm"     )
+  call Mppdb_check( prm,       "Emoist beg:prm"       )
+  call Mppdb_check( plocpexnm, "Emoist beg:plocpexnm" )
+  call Mppdb_check( pamoist,   "Emoist beg:pamoist"   )
+  call Mppdb_check( psrcm,     "Emoist beg:psrcm"     )
+end if
 !
 !*       1. COMPUTE EMOIST
 !           --------------
@@ -196,6 +206,11 @@ ELSE                                                ! liquid water & ice present
 END IF
 !$acc end kernels
 
+if ( mppdb_initialized ) then
+  !Check all out arrays
+  call Mppdb_check( pemoist, "Emoist end:pemoist" )
+end if
+
 !$acc end data
 
 !---------------------------------------------------------------------------
diff --git a/src/MNH/etheta.f90 b/src/MNH/etheta.f90
index ec34c39d6fda00995f0c80779b2e58f1cc984f19..73943764e11b4e86a8a4b9f8bce06325cbef8044 100644
--- a/src/MNH/etheta.f90
+++ b/src/MNH/etheta.f90
@@ -100,7 +100,9 @@ SUBROUTINE ETHETA(KRR,KRRI,PTHLM,PRM,PLOCPEXNM,PATHETA,PSRCM,PETHETA)
 !*       0. DECLARATIONS
 !           ------------
 USE MODD_CST
-!
+
+use mode_mppdb
+
 IMPLICIT NONE
 !
 !*       0.1 declarations of arguments and result
@@ -139,6 +141,14 @@ INTEGER                               :: JRR     ! moist loop counter
 
 !$acc data present( PTHLM, PRM, PLOCPEXNM, PATHETA, PSRCM, PETHETA )
 
+if ( mppdb_initialized ) then
+  !Check all in arrays
+  call Mppdb_check( pthlm,     "Etheta beg:pthlm"     )
+  call Mppdb_check( prm,       "Etheta beg:prm"       )
+  call Mppdb_check( plocpexnm, "Etheta beg:plocpexnm" )
+  call Mppdb_check( patheta,   "Etheta beg:patheta"   )
+  call Mppdb_check( psrcm,     "Etheta beg:psrcm"     )
+end if
 !
 !*       1. COMPUTE ETHETA
 !           --------------
@@ -196,6 +206,11 @@ ELSE                                                ! liquid water & ice present
 END IF
 !$acc end kernels
 
+if ( mppdb_initialized ) then
+  !Check all out arrays
+  call Mppdb_check( petheta, "Etheta end:petheta" )
+end if
+
 !$acc end data
 
 !---------------------------------------------------------------------------
diff --git a/src/MNH/les_mean_subgrid.f90 b/src/MNH/les_mean_subgrid.f90
index 3054a04205eae8d3276d58f4887d5ed50b56f57f..84927d4389446327c55c763640dcb7757317fdad 100644
--- a/src/MNH/les_mean_subgrid.f90
+++ b/src/MNH/les_mean_subgrid.f90
@@ -71,6 +71,7 @@ END MODULE MODI_LES_MEAN_SUBGRID
 !
 USE MODD_LES
 
+use mode_mppdb
 #ifdef MNH_OPENACC
 use mode_msg
 #endif
@@ -113,7 +114,13 @@ IF (.NOT. LLES_CALL) RETURN
 #ifdef MNH_OPENACC
 call Print_msg( NVERB_WARNING, 'GEN', 'LES_MEAN_SUBGRID_3D', 'OpenACC: not yet tested' )
 #endif
-!
+
+if ( mppdb_initialized ) then
+  !Check all in arrays
+  call Mppdb_check( pa,      "Les_mean_subgrid_3d beg:pa"      )
+  !Check all inout arrays
+  call Mppdb_check( pa_mean, "Les_mean_subgrid_3d beg:pa_mean" )
+end if
 !
 !$acc kernels
 ZA_MEAN_OLD(:) = 0.
@@ -361,6 +368,11 @@ IF (LLES_MY_MASK) THEN
  END DO
 END IF
 
+if ( mppdb_initialized ) then
+  !Check all inout arrays
+  call Mppdb_check( pa_mean, "Les_mean_subgrid_3d end:pa_mean" )
+end if
+
 !$acc end data
 
 !-------------------------------------------------------------------------------
@@ -404,6 +416,7 @@ END SUBROUTINE LES_MEAN_SUBGRID_3D
 !
 USE MODD_LES
 
+use mode_mppdb
 #ifdef MNH_OPENACC
 use mode_msg
 #endif
@@ -439,7 +452,14 @@ IF (.NOT. LLES_CALL) RETURN
 #ifdef MNH_OPENACC
 call Print_msg( NVERB_WARNING, 'GEN', 'LES_MEAN_SUBGRID_SURF', 'OpenACC: not yet tested' )
 #endif
-!
+
+if ( mppdb_initialized ) then
+  !Check all in arrays
+  call Mppdb_check( pa,      "Les_mean_subgrid_surf beg:pa"      )
+  !Check all inout arrays
+  call Mppdb_check( pa_mean, "Les_mean_subgrid_surf beg:pa_mean" )
+end if
+
 ZA_MEAN_OLD = 0.
 IF (PRESENT(OSUM)) THEN
 !TODO : verifier que ca se passe bien sur GPU, qu'on va bien chercher la bonne valeur dans le PA_MEAN sur GPU
@@ -469,6 +489,11 @@ PA_MEAN(NLES_CURRENT_TCOUNT) = ZA_MEAN_OLD + ZA_MEAN
 !$acc update device(PA_MEAN(NLES_CURRENT_TCOUNT))
 ! !$acc end kernels
 
+if ( mppdb_initialized ) then
+  !Check all inout arrays
+  call Mppdb_check( pa_mean, "Les_mean_subgrid_surf end:pa_mean" )
+end if
+
 !$acc end data
 
 !-------------------------------------------------------------------------------
diff --git a/src/MNH/prandtl.f90 b/src/MNH/prandtl.f90
index 86ccec90ff9ea2c9c6f9478f24b773ee198131fe..f0c6b1a6f9b0d541a7caea7e1bad8b03e74013c6 100644
--- a/src/MNH/prandtl.f90
+++ b/src/MNH/prandtl.f90
@@ -203,6 +203,7 @@ USE MODD_PARAMETERS
 !
 USE MODE_FIELD,          ONLY: TFIELDDATA, TYPEREAL
 USE MODE_IO_FIELD_WRITE, only: IO_Field_write
+use mode_mppdb
 #ifdef MNH_OPENACC
 use mode_msg
 #endif
@@ -302,6 +303,26 @@ TYPE(TFIELDDATA)  :: TZFIELD
 !$acc &             PRM, PSVM, PSRCM,                                                           &
 !$acc &             PREDTH1, PREDR1, PRED2TH3, PRED2R3, PRED2THR3, PREDS1, PRED2THS3, PRED2RS3, &
 !$acc &             PBLL_O_E, PETHETA, PEMOIST )
+
+if ( mppdb_initialized ) then
+  !Check all in arrays
+  call Mppdb_check( pdxx,      "Prandtl beg:pdxx"      )
+  call Mppdb_check( pdyy,      "Prandtl beg:pdyy"      )
+  call Mppdb_check( pdzz,      "Prandtl beg:pdzz"      )
+  call Mppdb_check( pdzx,      "Prandtl beg:pdzx"      )
+  call Mppdb_check( pdzy,      "Prandtl beg:pdzy"      )
+  call Mppdb_check( pthvref,   "Prandtl beg:pthvref"   )
+  call Mppdb_check( plocpexnm, "Prandtl beg:plocpexnm" )
+  call Mppdb_check( patheta,   "Prandtl beg:patheta"   )
+  call Mppdb_check( pamoist,   "Prandtl beg:pamoist"   )
+  call Mppdb_check( plm,       "Prandtl beg:plm"       )
+  call Mppdb_check( pleps,     "Prandtl beg:pleps"     )
+  call Mppdb_check( pthlm,     "Prandtl beg:pthlm"     )
+  call Mppdb_check( ptkem,     "Prandtl beg:ptkem"     )
+  call Mppdb_check( prm,       "Prandtl beg:prm"       )
+  call Mppdb_check( psvm,      "Prandtl beg:psvm"      )
+  call Mppdb_check( psrcm,     "Prandtl beg:psrcm"     )
+end if
 !
 !*      1.  DEFAULT VALUES,  1D REDELSPERGER NUMBERS 
 !           ----------------------------------------
@@ -1015,6 +1036,20 @@ IF ( OTURB_DIAG .AND. OCLOSE_OUT ) THEN
   !
 END IF
 
+if ( mppdb_initialized ) then
+  !Check all out arrays
+  call Mppdb_check( predth1,   "Prandtl end:predth1"   )
+  call Mppdb_check( predr1,    "Prandtl end:predr1"    )
+  call Mppdb_check( pred2th3,  "Prandtl end:pred2th3"  )
+  call Mppdb_check( pred2r3,   "Prandtl end:pred2r3"   )
+  call Mppdb_check( pred2thr3, "Prandtl end:pred2thr3" )
+  call Mppdb_check( preds1,    "Prandtl end:preds1"    )
+  call Mppdb_check( pred2ths3, "Prandtl end:pred2ths3" )
+  call Mppdb_check( pbll_o_e,  "Prandtl end:pbll_o_e"  )
+  call Mppdb_check( petheta,   "Prandtl end:petheta"   )
+  call Mppdb_check( pemoist,   "Prandtl end:pemoist"   )
+end if
+
 !$acc end data
 
 !---------------------------------------------------------------------------
diff --git a/src/MNH/sbl_depth.f90 b/src/MNH/sbl_depth.f90
index 1b8c1e7eb5d03eb75f713f00c0d648ea99d226f5..b03a5c7082a0d8ff1bc11f7c2f9fb87671f011a8 100644
--- a/src/MNH/sbl_depth.f90
+++ b/src/MNH/sbl_depth.f90
@@ -69,6 +69,7 @@ END MODULE MODI_SBL_DEPTH
 USE MODD_PARAMETERS, ONLY : XUNDEF
 USE MODD_CTURB,      ONLY : XFTOP_O_FSURF, XSBL_O_BL
 
+use mode_mppdb
 #ifdef MNH_OPENACC
 use mode_msg
 #endif
@@ -108,6 +109,17 @@ REAL, DIMENSION(SIZE(PZZ,1),SIZE(PZZ,2)) :: ZA       ! ponderation coefficient
 call Print_msg( NVERB_FATAL, 'GEN', 'SBL_DEPTH', 'not yet implemented' )
 #endif
 !----------------------------------------------------------------------------
+
+if ( mppdb_initialized ) then
+  !Check all in arrays
+  call Mppdb_check( pzz,   "Sbl_depth beg:pzz"   )
+  call Mppdb_check( pflxu, "Sbl_depth beg:pflxu" )
+  call Mppdb_check( pflxv, "Sbl_depth beg:pflxv" )
+  call Mppdb_check( pwthv, "Sbl_depth beg:pwthv" )
+  call Mppdb_check( plmo,  "Sbl_depth beg:plmo"  )
+  !Check all inout arrays
+  call Mppdb_check( psbl_depth, "Sbl_depth beg:psbl_depth" )
+end if
 !
 !* initialisations
 !
@@ -148,6 +160,11 @@ DO JLOOP=1,5
 END DO
 WHERE (ABS(PLMO(:,:))<=0.01 )     PSBL_DEPTH = ZSBL_DYN
 WHERE (PLMO(:,:)==XUNDEF) PSBL_DEPTH = ZSBL_THER
-!
+
+if ( mppdb_initialized ) then
+  !Check all inout arrays
+  call Mppdb_check( psbl_depth, "Sbl_depth end:psbl_depth" )
+end if
+
 !----------------------------------------------------------------------------
 END SUBROUTINE SBL_DEPTH
diff --git a/src/MNH/tke_eps_sources.f90 b/src/MNH/tke_eps_sources.f90
index 2050a646905af6b41710f97abda54cca06e942ae..1e032fb389d26fa7aa5a390b46f160b604c5e8a1 100644
--- a/src/MNH/tke_eps_sources.f90
+++ b/src/MNH/tke_eps_sources.f90
@@ -185,6 +185,7 @@ USE MODD_DIAG_IN_RUN, ONLY : LDIAG_IN_RUN, XCURRENT_TKE_DISS
 USE MODE_ll
 USE MODE_FIELD,          ONLY: TFIELDDATA, TYPEREAL
 USE MODE_IO_FIELD_WRITE, only: IO_Field_write
+use mode_mppdb
 !
 USE MODI_GRADIENT_M
 USE MODI_GRADIENT_U
@@ -205,7 +206,6 @@ USE MODI_GET_HALO
 #ifdef MNH_BITREP
 USE MODI_BITREP
 #endif
-USE MODE_MPPDB
 !
 IMPLICIT NONE
 !
@@ -281,6 +281,28 @@ REAL, DIMENSION(SIZE(PTKEM,1),SIZE(PTKEM,2),SIZE(PTKEM,3)) :: ZTMP1_DEVICE,ZTMP2
 !$acc &             PTP, PRTKES, PRTKESM,  PRTHLS, PCOEF_DISS, &
 !$acc &             PTR, PDISS )
 
+if ( mppdb_initialized ) then
+  !Check all in arrays
+  call Mppdb_check( ptkem,      "Tke_eps_sources beg:ptkem"      )
+  call Mppdb_check( plm,        "Tke_eps_sources beg:plm"        )
+  call Mppdb_check( pleps,      "Tke_eps_sources beg:pleps"      )
+  call Mppdb_check( prhodj,     "Tke_eps_sources beg:prhodj"     )
+  call Mppdb_check( pdxx,       "Tke_eps_sources beg:pdxx"       )
+  call Mppdb_check( pdyy,       "Tke_eps_sources beg:pdyy"       )
+  call Mppdb_check( pdzz,       "Tke_eps_sources beg:pdzz"       )
+  call Mppdb_check( pdzx,       "Tke_eps_sources beg:pdzx"       )
+  call Mppdb_check( pdzy,       "Tke_eps_sources beg:pdzy"       )
+  call Mppdb_check( pzz,        "Tke_eps_sources beg:pzz"        )
+  call Mppdb_check( ptrh,       "Tke_eps_sources beg:ptrh"       )
+  call Mppdb_check( ptp,        "Tke_eps_sources beg:ptp"        )
+  call Mppdb_check( pcoef_diss, "Tke_eps_sources beg:pcoef_diss" )
+  call Mppdb_check( prtkesm,    "Tke_eps_sources beg:prtkesm"    )
+  !check all inout arrays
+  call Mppdb_check( pdp,    "Tke_eps_sources beg:pdp"    )
+  call Mppdb_check( prtkes, "Tke_eps_sources beg:prtkes" )
+  call Mppdb_check( prthls, "Tke_eps_sources beg:prthls" )
+end if
+
 NULLIFY(TZFIELDDISS_ll)
 !
 !*       1.   PRELIMINARY COMPUTATIONS
@@ -328,8 +350,6 @@ ZSOURCE(:,:,:) = PRTKES(:,:,:) / PRHODJ(:,:,:)  +  PRTKESM(:,:,:) / PRHODJ(:,:,:
    - PTKEM(:,:,:) / PTSTEP &
    + PDP(:,:,:) + PTP(:,:,:) + PTR(:,:,:) - PEXPL * ZFLX(:,:,:) * PTKEM(:,:,:)
 !$acc end kernels
-CALL MPPDB_CHECK3DM("tke_eps_sources::",PRECISION,&
-                  & PRTKES,PRHODJ,PRTKESM,PTKEM,PDP,PTP,PTR,ZFLX)
 !
 !*       2.2  implicit vertical TKE transport
 !
@@ -576,11 +596,16 @@ IF (LLES_CALL ) THEN
 !$acc end data
 END IF
 
+if ( mppdb_initialized ) then
+  !check all inout arrays
+  call Mppdb_check( pdp,    "Tke_eps_sources end:pdp"    )
+  call Mppdb_check( prtkes, "Tke_eps_sources end:prtkes" )
+  call Mppdb_check( prthls, "Tke_eps_sources end:prthls" )
+  !check all out arrays
+  call Mppdb_check( ptr,   "Tke_eps_sources end:ptr"   )
+  call Mppdb_check( pdiss, "Tke_eps_sources end:pdiss" )
+end if
+
 !$acc end data
 
-!----------------------------------------------------------------------------
-! 
-!
-!----------------------------------------------------------------------------
-!
 END SUBROUTINE TKE_EPS_SOURCES
diff --git a/src/MNH/tm06_h.f90 b/src/MNH/tm06_h.f90
index fce556ad3759a7e22bdaf4b5ebeccd1d9239904b..8df331aa0eca0a0c8116ec721ac670afb8f75fdf 100644
--- a/src/MNH/tm06_h.f90
+++ b/src/MNH/tm06_h.f90
@@ -70,6 +70,7 @@ END MODULE MODI_TM06_H
 !
 USE MODD_PARAMETERS, ONLY : XUNDEF
 
+use mode_mppdb
 #ifdef MNH_OPENACC
 use mode_msg
 #endif
@@ -106,6 +107,15 @@ LOGICAL, DIMENSION(SIZE(PZZ,1),SIZE(PZZ,2)) :: GWORK
 #ifdef MNH_OPENACC
 call Print_msg( NVERB_WARNING, 'GEN', 'TM06_H', 'OpenACC: not yet tested' )
 #endif
+
+if ( mppdb_initialized ) then
+  !check all in arrays
+  call Mppdb_check( pzz,   "Tm06_h beg:pzz"   )
+  call Mppdb_check( pflxz, "Tm06_h beg:pflxz" )
+  !check all inout arrays
+  call Mppdb_check( pbl_depth, "Tm06_h beg:pbl_depth" )
+end if
+
 !* mixed boundary layer cannot grow more rapidly than 1800m/h
 !$acc kernels
 ZGROWTH = 2.0 ! (m/s)
@@ -134,6 +144,11 @@ END DO
 WHERE(PBL_DEPTH(:,:)/=XUNDEF) PBL_DEPTH(:,:)=MIN(PBL_DEPTH(:,:),ZBL_DEPTH(:,:)+ZGROWTH*PTSTEP)
 !$acc end kernels
 
+if ( mppdb_initialized ) then
+  !Check all inout arrays
+  call Mppdb_check( pbl_depth, "Tm06_h end:pbl_depth" )
+end if
+
 !$acc end data
 
 !----------------------------------------------------------------------------
diff --git a/src/MNH/tridiag.f90 b/src/MNH/tridiag.f90
index 20a4213da2fc107cf0a5e6edd9ea028892c39a64..26a22b411bfd62aa13ab3bab73f80bf5d40668fb 100644
--- a/src/MNH/tridiag.f90
+++ b/src/MNH/tridiag.f90
@@ -145,7 +145,9 @@ END MODULE MODI_TRIDIAG
 !*       0. DECLARATIONS
 !
 USE MODD_PARAMETERS
-!
+
+use mode_mppdb
+
 IMPLICIT NONE
 !
 !
@@ -176,7 +178,15 @@ INTEGER                              :: IKTB,IKTE     ! start, end of k loops in
 
 !
 ! ---------------------------------------------------------------------------
-!                                              
+
+if ( mppdb_initialized ) then
+  !Check all in arrays
+  call Mppdb_check( pvarm,   "Tridiag beg:pvarm"   )
+  call Mppdb_check( pa,      "Tridiag beg:pa"      )
+  call Mppdb_check( prhodj,  "Tridiag beg:prhodj"  )
+  call Mppdb_check( psource, "Tridiag beg:psource" )
+end if
+!
 !*      1.  COMPUTE THE RIGHT HAND SIDE
 !           ---------------------------
 !
@@ -255,7 +265,12 @@ END IF
 !
 PVARP(:,:,KKA)=PVARP(:,:,IKB)
 PVARP(:,:,KKU)=PVARP(:,:,IKE)
-!
+
+if ( mppdb_initialized ) then
+  !Check all out arrays
+  call Mppdb_check( pvarp, "Tridiag end:pvarp" )
+end if
+
 !-------------------------------------------------------------------------------
 !
 END SUBROUTINE TRIDIAG
diff --git a/src/MNH/tridiag_thermo.f90 b/src/MNH/tridiag_thermo.f90
index 88547ba615fa2a790d499ff53cb74acf79bf2eb9..c4c61cbf8940565dce7ebd67ee0c1f6b61924466 100644
--- a/src/MNH/tridiag_thermo.f90
+++ b/src/MNH/tridiag_thermo.f90
@@ -147,7 +147,9 @@ END MODULE MODI_TRIDIAG_THERMO
 !*       0. DECLARATIONS
 !
 USE MODD_PARAMETERS, ONLY : JPVEXT_TURB
-!
+
+use mode_mppdb
+
 #ifndef MNH_OPENACC
 USE MODI_SHUMAN
 #else
@@ -198,6 +200,15 @@ REAL, DIMENSION(SIZE(PVARM,1),SIZE(PVARM,2),SIZE(PVARM,3)) :: ZTMP1_DEVICE
 ! ---------------------------------------------------------------------------
 
 !$acc data present( PVARM, PF, PDFDDTDZ, PDZZ, PRHODJ, PVARP )
+
+if ( mppdb_initialized ) then
+  !Check all in arrays
+  call Mppdb_check( pvarm,    "Tridiag_thermo beg:pvarm"    )
+  call Mppdb_check( pf,       "Tridiag_thermo beg:pf"       )
+  call Mppdb_check( pdfddtdz, "Tridiag_thermo beg:pdfddtdz" )
+  call Mppdb_check( pdzz,     "Tridiag_thermo beg:pdzz"     )
+  call Mppdb_check( prhodj,   "Tridiag_thermo beg:prhodj"   )
+end if
 !
 !*      1.  Preliminaries
 !           -------------
@@ -354,6 +365,11 @@ PVARP(:,:,KKA)=PVARP(:,:,IKB)
 PVARP(:,:,KKU)=PVARP(:,:,IKE)
 !$acc end kernels
 
+if ( mppdb_initialized ) then
+  !Check all out arrays
+  call Mppdb_check( pvarp, "Tridiag_thermo end:pvarp" )
+end if
+
 !$acc end data
 
 !-------------------------------------------------------------------------------
diff --git a/src/MNH/tridiag_tke.f90 b/src/MNH/tridiag_tke.f90
index 0838d4f4d0aa1069bbc50221cb8033dbbcdb4e1a..3060d23cacab7bd27c03c0c0a46371ad99f5b07a 100644
--- a/src/MNH/tridiag_tke.f90
+++ b/src/MNH/tridiag_tke.f90
@@ -176,11 +176,19 @@ INTEGER             :: IKTB,IKTE    ! start, end of k loops in physical domain
 ! ---------------------------------------------------------------------------
 
 !$acc data present( PVARM, PA, PRHODJ, PSOURCE, PDIAG, PVARP )
+
+if ( mppdb_initialized ) then
+  !Check all in arrays
+  call Mppdb_check( pvarm,   "Tridiag_tke beg:pvarm"   )
+  call Mppdb_check( pa,      "Tridiag_tke beg:pa"      )
+  call Mppdb_check( prhodj,  "Tridiag_tke beg:prhodj"  )
+  call Mppdb_check( psource, "Tridiag_tke beg:psource" )
+  call Mppdb_check( pdiag,   "Tridiag_tke beg:pdiag"   )
+end if
+
 !
 !*      1.  COMPUTE THE RIGHT HAND SIDE
 !           ---------------------------
-CALL MPPDB_CHECK3DM("tridiag_tke::PVARM,PA,PRHODJ,PSOURCE,PDIAG",PRECISION,&
-                  & PVARM,PA,PRHODJ,PSOURCE,PDIAG)
 !
 !$acc kernels
 IKT=SIZE(PVARM,3)
@@ -269,6 +277,11 @@ PVARP(:,:,KKA)=PVARP(:,:,IKB)
 PVARP(:,:,KKU)=PVARP(:,:,IKE)
 !$acc end kernels
 
+if ( mppdb_initialized ) then
+  !Check all out arrays
+  call Mppdb_check( pvarp, "Tridiag_tke end:pvarp" )
+end if
+
 !$acc end data
 
 !-------------------------------------------------------------------------------
diff --git a/src/MNH/tridiag_w.f90 b/src/MNH/tridiag_w.f90
index 80694b9a6fc23a65fc1d9de74f7ebe0abd266281..6699d45b9383ec8187bb9f09b11732451ab372a2 100644
--- a/src/MNH/tridiag_w.f90
+++ b/src/MNH/tridiag_w.f90
@@ -149,7 +149,9 @@ END MODULE MODI_TRIDIAG_W
 !*       0. DECLARATIONS
 !
 USE MODD_PARAMETERS, ONLY : JPVEXT
-!
+
+use mode_mppdb
+
 #ifndef MNH_OPENACC
 USE MODI_SHUMAN
 #else
@@ -191,6 +193,15 @@ INTEGER                              :: IKB,IKE,IKU   ! inner vertical limits
 ! ---------------------------------------------------------------------------
 
 !$acc data present( PVARM, PF, PDFDDWDZ, PMZF_DZZ, PRHODJ, PVARP )
+
+if ( mppdb_initialized ) then
+  !Check all in arrays
+  call Mppdb_check( pvarm,    "Tridiag_w beg:pvarm"    )
+  call Mppdb_check( pf,       "Tridiag_w beg:pf"       )
+  call Mppdb_check( pdfddwdz, "Tridiag_w beg:pdfddwdz" )
+  call Mppdb_check( pmzf_dzz, "Tridiag_w beg:pmzf_dzz" )
+  call Mppdb_check( prhodj,   "Tridiag_w beg:prhodj"   )
+end if
 !
 !*      1.  Preliminaries
 !           -------------
@@ -347,6 +358,11 @@ PVARP(:,:,IKB-1)=PVARP(:,:,IKB)
 PVARP(:,:,IKE+1)=0.
 !$acc end kernels
 
+if ( mppdb_initialized ) then
+  !Check all out arrays
+  call Mppdb_check( pvarp, "Tridiag_w end:pvarp" )
+end if
+
 !$acc end data
 
 !-------------------------------------------------------------------------------
diff --git a/src/MNH/tridiag_wind.f90 b/src/MNH/tridiag_wind.f90
index 140602531cb8cc9028404e26b04f1f3f42b2d8da..6aa59aa0a8bf1d9effc07eafa6c6ee6c440e97a1 100644
--- a/src/MNH/tridiag_wind.f90
+++ b/src/MNH/tridiag_wind.f90
@@ -146,7 +146,9 @@ END MODULE MODI_TRIDIAG_WIND
 !*       0. DECLARATIONS
 !
 USE MODD_PARAMETERS
-!
+
+use mode_mppdb
+
 IMPLICIT NONE
 !
 !
@@ -187,6 +189,15 @@ REAL, DIMENSION(SIZE(PVARM,1),SIZE(PVARM,2),SIZE(PVARM,3)) :: ZTMP1_DEVICE,ZTMP2
 ! ---------------------------------------------------------------------------
 
 !$acc data present( PVARM, PA, PCOEFS, PRHODJA, PSOURCE, PVARP )
+
+if ( mppdb_initialized ) then
+  !check all in arrays
+  call Mppdb_check( pvarm,   "Tridiag_wind beg:pvarm"   )
+  call Mppdb_check( pa,      "Tridiag_wind beg:pa"      )
+  call Mppdb_check( pcoefs,  "Tridiag_wind beg:pcoefs"  )
+  call Mppdb_check( prhodja, "Tridiag_wind beg:prhodja" )
+  call Mppdb_check( psource, "Tridiag_wind beg:psource" )
+end if
 !
 !*      1.  COMPUTE THE RIGHT HAND SIDE
 !           ---------------------------
@@ -286,6 +297,11 @@ PVARP(:,:,KKA)=PVARP(:,:,IKB)
 PVARP(:,:,KKU)=PVARP(:,:,IKE)
 !$acc end kernels
 
+if ( mppdb_initialized ) then
+  !Check all out arrays
+  call Mppdb_check( pvarp, "Tridiag_wind end:pvarp" )
+end if
+
 !$acc end data
 
 !-------------------------------------------------------------------------------
diff --git a/src/MNH/turb.f90 b/src/MNH/turb.f90
index 1527f68ad967b87d6f9ea2835d78702acea346f0..cf0d7a8b23540d494a82eff85bce28a0ea436ab8 100644
--- a/src/MNH/turb.f90
+++ b/src/MNH/turb.f90
@@ -472,6 +472,50 @@ REAL, DIMENSION(SIZE(PTHLT,1),SIZE(PTHLT,2),SIZE(PTHLT,3)) :: ZTMP1_DEVICE,ZTMP2
 !
 !$acc &    create ( PSIGS, PWTH, PWRC, PWSV, PDYP, PTHP, PTR, PDISS, PLEM )
 
+if ( mppdb_initialized ) then
+  !Check all in arrays
+  call Mppdb_check( pdxx,       "Turb beg:pdxx"       )
+  call Mppdb_check( pdyy,       "Turb beg:pdyy"       )
+  call Mppdb_check( pdzz,       "Turb beg:pdzz"       )
+  call Mppdb_check( pdzx,       "Turb beg:pdzx"       )
+  call Mppdb_check( pdzy,       "Turb beg:pdzy"       )
+  call Mppdb_check( prhodj,     "Turb beg:prhodj"     )
+  call Mppdb_check( pzz,        "Turb beg:pzz"        )
+  call Mppdb_check( pdircosxw,  "Turb beg:pdircosxw"  )
+  call Mppdb_check( pdircosyw,  "Turb beg:pdircosyw"  )
+  call Mppdb_check( pdircoszw,  "Turb beg:pdircoszw"  )
+  call Mppdb_check( pcosslope,  "Turb beg:pcosslope"  )
+  call Mppdb_check( psinslope,  "Turb beg:psinslope"  )
+  call Mppdb_check( pthvref,    "Turb beg:pthvref"    )
+  call Mppdb_check( psfth,      "Turb beg:psfth"      )
+  call Mppdb_check( psfrv,      "Turb beg:psfrv"      )
+  call Mppdb_check( psfu,       "Turb beg:psfu"       )
+  call Mppdb_check( psfv,       "Turb beg:psfv"       )
+  call Mppdb_check( psfsv,      "Turb beg:psfsv"      )
+  call Mppdb_check( ppabst,     "Turb beg:ppabst"     )
+  call Mppdb_check( put,        "Turb beg:put"        )
+  call Mppdb_check( pvt,        "Turb beg:pvt"        )
+  call Mppdb_check( pwt,        "Turb beg:pwt"        )
+  call Mppdb_check( ptket,      "Turb beg:ptket"      )
+  call Mppdb_check( psvt,       "Turb beg:psvt"       )
+  call Mppdb_check( psrct,      "Turb beg:psrct"      )
+  call Mppdb_check( pcei,       "Turb beg:pcei"       )
+  call Mppdb_check( prtkems,    "Turb beg:prtkems"    )
+  call Mppdb_check( pflxzthvmf, "Turb beg:pflxzthvmf" )
+  !check all inout arrays
+  call Mppdb_check( pbl_depth,  "Turb beg:pbl_depth"  )
+  call Mppdb_check( psbl_depth, "Turb beg:psbl_depth" )
+  call Mppdb_check( pthlt,      "Turb beg:pthlt"      )
+  call Mppdb_check( prt,        "Turb beg:prt"        )
+  call Mppdb_check( prus,       "Turb beg:prus"       )
+  call Mppdb_check( prvs,       "Turb beg:prvs"       )
+  call Mppdb_check( prws,       "Turb beg:prws"       )
+  call Mppdb_check( prthls,     "Turb beg:prthls"     )
+  call Mppdb_check( prtkes,     "Turb beg:prtkes"     )
+  call Mppdb_check( prrs,       "Turb beg:prrs"       )
+  call Mppdb_check( prsvs,      "Turb beg:prsvs"      )
+end if
+
 ALLOCATE (                                                        &
           ZCP(SIZE(PTHLT,1),SIZE(PTHLT,2),SIZE(PTHLT,3)),         &
           ZEXN(SIZE(PTHLT,1),SIZE(PTHLT,2),SIZE(PTHLT,3)),        &
@@ -931,7 +975,6 @@ CALL TURB_VER(KKA,KKU,KKL,KRR, KRRL, KRRI,               &
           PRUS,PRVS,PRWS,PRTHLS,PRRS,PRSVS,              &
           PDYP,PTHP,PSIGS,PWTH,PWRC,PWSV                 )
 !$acc update self(PWTH,PWRC,PWSV)
-CALL MPPDB_CHECK3DM("turb after turb_ver:PDYP,PTHP",PRECISION,PDYP,PTHP)
 !
 #ifdef MNH_OPENACC
 IF (  ( LBUDGET_TH .AND. ( ( KRRI >= 1 .AND. KRRL >= 1 ) .OR. ( KRRL >= 1 ) ) ) .OR. &
@@ -1001,7 +1044,6 @@ IF (HTURBDIM=='3DIM') THEN
           PRUS,PRVS,PRWS,PRTHLS,PRRS,PRSVS                     )
 END IF
 !$acc update self(PSIGS,PRUS,PRVS,PRWS,PRSVS)
-CALL MPPDB_CHECK3DM("turb after turb_hor_splt:PDYP,PTHP",PRECISION,PDYP,PTHP)
 !
 !
 #ifdef MNH_OPENACC
@@ -1069,7 +1111,6 @@ CALL TKE_EPS_SOURCES(KKA,KKU,KKL,KMI,PTKET,PLEM,ZLEPS,PDYP,ZTRH,     &
 !
 !$acc update self(PTR,PDISS)
 !$acc update self(PDYP,PTHP)
-CALL MPPDB_CHECK3DM("turb after tke_eps_sources:PDYP,PTHP",PRECISION,PDYP,PTHP)
 !
 !$acc update self(PRTKES)
 IF (LBUDGET_TH)  THEN
@@ -1324,9 +1365,33 @@ IF (LLES_CALL) THEN
   XTIME_LES = XTIME_LES + ZTIME2 - ZTIME1
 END IF
 
+if ( mppdb_initialized ) then
+  !Check all inout arrays
+  call Mppdb_check( pbl_depth,  "Turb end:pbl_depth"  )
+  call Mppdb_check( psbl_depth, "Turb end:psbl_depth" )
+  call Mppdb_check( pthlt,      "Turb end:pthlt"      )
+  call Mppdb_check( prt,        "Turb end:prt"        )
+  call Mppdb_check( prus,       "Turb end:prus"       )
+  call Mppdb_check( prvs,       "Turb end:prvs"       )
+  call Mppdb_check( prws,       "Turb end:prws"       )
+  call Mppdb_check( prthls,     "Turb end:prthls"     )
+  call Mppdb_check( prtkes,     "Turb end:prtkes"     )
+  call Mppdb_check( prrs,       "Turb end:prrs"       )
+  call Mppdb_check( prsvs,      "Turb end:prsvs"      )
+  !check all out arrays
+  call Mppdb_check( psigs,      "Turb end:psigs"      )
+  call Mppdb_check( pwth,       "Turb end:pwth"       )
+  call Mppdb_check( pwrc,       "Turb end:pwrc"       )
+  call Mppdb_check( pwsv,       "Turb end:pwsv"       )
+  call Mppdb_check( pdyp,       "Turb end:pdyp"       )
+  call Mppdb_check( pthp,       "Turb end:pthp"       )
+  call Mppdb_check( ptr,        "Turb end:ptr"        )
+  call Mppdb_check( pdiss,      "Turb end:pdiss"      )
+  call Mppdb_check( plem,       "Turb end:plem"       )
+end if
+
 !$acc end data
 
-!
 !----------------------------------------------------------------------------
 !
 CONTAINS
@@ -1373,6 +1438,12 @@ INTEGER                :: IINFO_ll     ! return code of parallel routine
 !
 !$acc data present( PUSLOPE, PVSLOPE )
 
+if ( mppdb_initialized ) then
+  !Check all inout arrays
+  call Mppdb_check( puslope, "Update_rotate_wind beg:puslope" )
+  call Mppdb_check( pvslope, "Update_rotate_wind beg:pvslope" )
+end if
+
 NULLIFY(TZFIELDS_ll)
 !
 CALL GET_INDICE_ll (IIB,IJB,IIE,IJE)
@@ -1409,6 +1480,12 @@ IF(  HLBCY(2) /= "CYCL" .AND. LNORTH_ll()) THEN
 END IF
 !$acc end kernels
 
+if ( mppdb_initialized ) then
+  !Check all inout arrays
+  call Mppdb_check( puslope, "Update_rotate_wind end:puslope" )
+  call Mppdb_check( pvslope, "Update_rotate_wind end:pvslope" )
+end if
+
 !$acc end data
 
 END SUBROUTINE UPDATE_ROTATE_WIND
@@ -1456,6 +1533,13 @@ REAL, DIMENSION(SIZE(PEXN,1),SIZE(PEXN,2),SIZE(PEXN,3)) :: ZDRVSATDT
 
 !$acc data present( PT, PEXN, PCP, PLOCPEXN, PAMOIST, PATHETA )
 
+  if ( mppdb_initialized ) then
+    !Check all in arrays
+    call Mppdb_check( pt,   "Compute_function_thermo beg:pt"   )
+    call Mppdb_check( pexn, "Compute_function_thermo beg:pexn" )
+    call Mppdb_check( pcp,  "Compute_function_thermo beg:pcp"  )
+  end if
+
   ZEPS = XMV / XMD
 !
 !*       1.1 Lv/Cph at  t
@@ -1510,6 +1594,13 @@ REAL, DIMENSION(SIZE(PEXN,1),SIZE(PEXN,2),SIZE(PEXN,3)) :: ZDRVSATDT
   PLOCPEXN(:,:,:) = PLOCPEXN(:,:,:) / PEXN(:,:,:)
 !$acc end kernels
 
+  if ( mppdb_initialized ) then
+    !Check all out arrays
+    call Mppdb_check( plocpexn, "Compute_function_thermo end:plocpexn" )
+    call Mppdb_check( pamoist,  "Compute_function_thermo end:pamoist"  )
+    call Mppdb_check( patheta,  "Compute_function_thermo end:patheta"  )
+  end if
+
 !$acc end data
 
 END SUBROUTINE COMPUTE_FUNCTION_THERMO
@@ -1716,6 +1807,8 @@ SUBROUTINE DELT(KKA,KKU,KKL,KKB, KKE,KKTB, KKTE,ORMC01,HTURBDIM,PDXX, PDYY,PZZ,P
 !              ------------
 use modd_conf, only: l2d
 
+use mode_mppdb
+
 #ifndef MNH_OPENACC
 USE MODI_SHUMAN
 #else
@@ -1760,6 +1853,14 @@ real, dimension(:,:,:), allocatable :: ztmp1_device, ztmp2_device
 
 !$acc data present( PDXX, PDYY, PZZ, PDIRCOSZW, PLM )
 
+if ( mppdb_initialized ) then
+  !Check all in arrays
+  call Mppdb_check( pdxx,      "Delt beg:pdxx"      )
+  call Mppdb_check( pdyy,      "Delt beg:pdyy"      )
+  call Mppdb_check( pzz,       "Delt beg:pzz"       )
+  call Mppdb_check( pdircoszw, "Delt beg:pdircoszw" )
+end if
+
 #ifdef MNH_OPENACC
 allocate( ztmp1_device( size( pdxx, 1 ), size( pdxx, 2 ), size( pdxx, 3 ) ) )
 allocate( ztmp2_device( size( pdxx, 1 ), size( pdxx, 2 ), size( pdxx, 3 ) ) )
@@ -1832,6 +1933,11 @@ PLM(:,:,KKA) = PLM(:,:,KKB  )
 PLM(:,:,KKU  ) = PLM(:,:,KKE)
 !$acc end kernels
 
+if ( mppdb_initialized ) then
+  !Check all out arrays
+  call Mppdb_check( plm, "Delt end:plm" )
+end if
+
 !$acc end data
 
 END SUBROUTINE DELT
@@ -1864,6 +1970,8 @@ SUBROUTINE DEAR(KKA,KKU,KKL,KRR, KRRI, KKB, KKE,KKTB, KKTE, &
 use modd_conf, only: l2d
 use modd_cst,  only: XG, XMNH_EPSILON
 
+use mode_mppdb
+
 USE MODI_EMOIST
 USE MODI_ETHETA
 #ifndef MNH_OPENACC
@@ -1928,6 +2036,23 @@ REAL, DIMENSION(:,:,:), ALLOCATABLE :: ZTMP1_DEVICE,ZTMP2_DEVICE
 
 !$acc data present( PDXX, PDYY, PDZZ, PZZ, PDIRCOSZW, PTHLT, PTHVREF, PTKET, PSRCT, PRT, PLOCPEXNM, PLM )
 
+if ( mppdb_initialized ) then
+  !Check all in arrays
+  call Mppdb_check( pdxx,      "Dear beg:pdxx"      )
+  call Mppdb_check( pdyy,      "Dear beg:pdyy"      )
+  call Mppdb_check( pdzz,      "Dear beg:pdzz"      )
+  call Mppdb_check( pzz,       "Dear beg:pzz"       )
+  call Mppdb_check( pdircoszw, "Dear beg:pdircoszw" )
+  call Mppdb_check( pthlt,     "Dear beg:pthlt"     )
+  call Mppdb_check( pthvref,   "Dear beg:pthvref"   )
+  call Mppdb_check( ptket,     "Dear beg:ptket"     )
+  call Mppdb_check( psrct,     "Dear beg:psrct"     )
+  call Mppdb_check( prt,       "Dear beg:prt"       )
+  call Mppdb_check( plocpexnm, "Dear beg:plocpexnm" )
+  call Mppdb_check( patheta,   "Dear beg:patheta"   )
+  call Mppdb_check( pamoist,   "Dear beg:pamoist"   )
+end if
+
 !-------------------------------------------------------------------------------
 allocate( ZWORK2D(SIZE(PLM,1),SIZE(PLM,2)) )
 allocate( ZDTHLDZ(SIZE(PTHLT,1),SIZE(PTHLT,2),SIZE(PTHLT,3)) )
@@ -2075,6 +2200,11 @@ PLM(:,:,KKE  ) = PLM(:,:,KKE-KKL)
 PLM(:,:,KKU  ) = PLM(:,:,KKU-KKL)
 !$acc end kernels
 
+if ( mppdb_initialized ) then
+  !Check all out arrays
+  call Mppdb_check( plm, "Dear end:plm" )
+end if
+
 !$acc end data
 
 END SUBROUTINE DEAR
diff --git a/src/MNH/turb_hor.f90 b/src/MNH/turb_hor.f90
index 5f722984b3cce3c0acdfcaf892c4f8144ce23e11..9d0b3b193c334ea5bbda76641385bd24cfe3b6b3 100644
--- a/src/MNH/turb_hor.f90
+++ b/src/MNH/turb_hor.f90
@@ -257,8 +257,9 @@ USE MODD_CTURB
 USE MODD_IO, ONLY: TFILEDATA
 USE MODD_PARAMETERS
 USE MODD_LES
-!
-!
+
+use mode_mppdb
+
 USE MODI_GRADIENT_M
 USE MODI_GRADIENT_U
 USE MODI_GRADIENT_V
@@ -309,7 +310,6 @@ REAL, DIMENSION(:,:,:),   INTENT(IN) :: PINV_PDXX    ! 1./PDXX
 REAL, DIMENSION(:,:,:),   INTENT(IN) :: PINV_PDYY    ! 1./PDYY
 REAL, DIMENSION(:,:,:),   INTENT(IN) :: PINV_PDZZ    ! 1./PDZZ
 REAL, DIMENSION(:,:,:),   INTENT(IN) :: PMZM_PRHODJ  ! MZM(PRHODJ)
-
 REAL, DIMENSION(:,:,:),   INTENT(IN)    ::  PRHODJ       ! density * grid volume
 REAL, DIMENSION(:,:,:),   INTENT(IN)    ::  PTHVREF      ! ref. state VPT       
 !
@@ -369,6 +369,62 @@ REAL, DIMENSION(:,:,:),   INTENT(INOUT) ::  PSIGS
 !$acc &             PUSLOPEM, PVSLOPEM, PSFSVM,                         &
 !$acc &             PDP, PTP, PRTHLS, PRSVS, PRRS,                      &
 !$acc &             PRUS, PRVS, PRWS, PSIGS )
+
+if ( mppdb_initialized ) then
+  !Check all in arrays
+  call Mppdb_check( pdxx,        "Turb_hor beg:pdxx"        )
+  call Mppdb_check( pdyy,        "Turb_hor beg:pdyy"        )
+  call Mppdb_check( pdzz,        "Turb_hor beg:pdzz"        )
+  call Mppdb_check( pdzx,        "Turb_hor beg:pdzx"        )
+  call Mppdb_check( pdzy,        "Turb_hor beg:pdzy"        )
+  call Mppdb_check( pzz,         "Turb_hor beg:pzz"         )
+  call Mppdb_check( pdircosxw,   "Turb_hor beg:pdircosxw"   )
+  call Mppdb_check( pdircosyw,   "Turb_hor beg:pdircosyw"   )
+  call Mppdb_check( pdircoszw,   "Turb_hor beg:pdircoszw"   )
+  call Mppdb_check( pcosslope,   "Turb_hor beg:pcosslope"   )
+  call Mppdb_check( psinslope,   "Turb_hor beg:psinslope"   )
+  call Mppdb_check( pk,          "Turb_hor beg:pk"          )
+  call Mppdb_check( pinv_pdxx,   "Turb_hor beg:pinv_pdxx"   )
+  call Mppdb_check( pinv_pdyy,   "Turb_hor beg:pinv_pdyy"   )
+  call Mppdb_check( pinv_pdzz,   "Turb_hor beg:pinv_pdzz"   )
+  call Mppdb_check( pmzm_prhodj, "Turb_hor beg:pmzm_prhodj" )
+  call Mppdb_check( prhodj,      "Turb_hor beg:prhodj"      )
+  call Mppdb_check( pthvref,     "Turb_hor beg:pthvref"     )
+  call Mppdb_check( psfthm,      "Turb_hor beg:psfthm"      )
+  call Mppdb_check( psfrm,       "Turb_hor beg:psfrm"       )
+  call Mppdb_check( psfsvm,      "Turb_hor beg:psfsvm"      )
+  call Mppdb_check( pcdueff,     "Turb_hor beg:pcdueff"     )
+  call Mppdb_check( ptau11m,     "Turb_hor beg:ptau11m"     )
+  call Mppdb_check( ptau12m,     "Turb_hor beg:ptau12m"     )
+  call Mppdb_check( ptau22m,     "Turb_hor beg:ptau22m"     )
+  call Mppdb_check( ptau33m,     "Turb_hor beg:ptau33m"     )
+  call Mppdb_check( pum,         "Turb_hor beg:pum"         )
+  call Mppdb_check( pvm,         "Turb_hor beg:pvm"         )
+  call Mppdb_check( pwm,         "Turb_hor beg:pwm"         )
+  call Mppdb_check( pthlm,       "Turb_hor beg:pthlm"       )
+  call Mppdb_check( prm,         "Turb_hor beg:prm"         )
+  call Mppdb_check( psvm,        "Turb_hor beg:psvm"        )
+  call Mppdb_check( puslopem,    "Turb_hor beg:puslopem"    )
+  call Mppdb_check( pvslopem,    "Turb_hor beg:pvslopem"    )
+  call Mppdb_check( ptkem,       "Turb_hor beg:ptkem"       )
+  call Mppdb_check( plm,         "Turb_hor beg:plm"         )
+  call Mppdb_check( pleps,       "Turb_hor beg:pleps"       )
+  call Mppdb_check( plocpexnm,   "Turb_hor beg:plocpexnm"   )
+  call Mppdb_check( patheta,     "Turb_hor beg:patheta"     )
+  call Mppdb_check( pamoist,     "Turb_hor beg:pamoist"     )
+  call Mppdb_check( psrcm,       "Turb_hor beg:psrcm"       )
+  call Mppdb_check( pfrac_ice,   "Turb_hor beg:pfrac_ice"   )
+  !Check all inout arrays
+  call Mppdb_check( prus,   "Turb_hor beg:prus"   )
+  call Mppdb_check( prvs,   "Turb_hor beg:prvs"   )
+  call Mppdb_check( prws,   "Turb_hor beg:prws"   )
+  call Mppdb_check( prthls, "Turb_hor beg:prthls" )
+  call Mppdb_check( prsvs,  "Turb_hor beg:prsvs"  )
+  call Mppdb_check( prrs,   "Turb_hor beg:prrs"   )
+  call Mppdb_check( pdp,    "Turb_hor beg:pdp"    )
+  call Mppdb_check( ptp,    "Turb_hor beg:ptp"    )
+  call Mppdb_check( psigs,  "Turb_hor beg:psigs"  )
+end if
 !
 !*       1.   PRELIMINARY COMPUTATIONS
 !             ------------------------
@@ -493,6 +549,19 @@ REAL, DIMENSION(:,:,:),   INTENT(INOUT) ::  PSIGS
                       PLOCPEXNM,PATHETA,PAMOIST,PSRCM,               &
                       PWM,PSVM                                       )
 
+if ( mppdb_initialized ) then
+  !Check all inout arrays
+  call Mppdb_check( prus,   "Turb_hor end:prus"   )
+  call Mppdb_check( prvs,   "Turb_hor end:prvs"   )
+  call Mppdb_check( prws,   "Turb_hor end:prws"   )
+  call Mppdb_check( prthls, "Turb_hor end:prthls" )
+  call Mppdb_check( prsvs,  "Turb_hor end:prsvs"  )
+  call Mppdb_check( prrs,   "Turb_hor end:prrs"   )
+  call Mppdb_check( PDP,    "Turb_hor end:PDP"    )
+  call Mppdb_check( PTP,    "Turb_hor end:PTP"    )
+  call Mppdb_check( PSIGS,  "Turb_hor end:PSIGS"  )
+end if
+
 !$acc end data
 
 END SUBROUTINE TURB_HOR
diff --git a/src/MNH/turb_hor_dyn_corr.f90 b/src/MNH/turb_hor_dyn_corr.f90
index 78a94881b76372d9f8d3deb9c43bde26cb840822..1dad0cb17813e32d584aba20a8db4ce6f1c234c0 100644
--- a/src/MNH/turb_hor_dyn_corr.f90
+++ b/src/MNH/turb_hor_dyn_corr.f90
@@ -153,6 +153,7 @@ USE MODD_NSV
 USE MODE_ll
 USE MODE_FIELD,          ONLY: TFIELDDATA, TYPEREAL
 USE MODE_IO_FIELD_WRITE, only: IO_Field_write
+use mode_mppdb
 !
 USE MODI_GRADIENT_M
 USE MODI_GRADIENT_U
@@ -282,6 +283,43 @@ TYPE(TFIELDDATA) :: TZFIELD
 !$acc &             PTAU11M, PTAU12M, PTAU22M, PTAU33M,                              &
 !$acc &             PUM, PVM, PWM, PTHLM, PRM, PSVM, PUSLOPEM, PVSLOPEM, PTKEM, PLM, &
 !$acc &             PRUS, PRVS, PRWS, PDP, PTP )
+
+if ( mppdb_initialized ) then
+  !Check all in arrays
+  call Mppdb_check( pk,          "Turb_hor_dyn_corr beg:pk"          )
+  call Mppdb_check( pinv_pdzz,   "Turb_hor_dyn_corr beg:pinv_pdzz"   )
+  call Mppdb_check( pdxx,        "Turb_hor_dyn_corr beg:pdxx"        )
+  call Mppdb_check( pdyy,        "Turb_hor_dyn_corr beg:pdyy"        )
+  call Mppdb_check( pdzz,        "Turb_hor_dyn_corr beg:pdzz"        )
+  call Mppdb_check( pdzx,        "Turb_hor_dyn_corr beg:pdzx"        )
+  call Mppdb_check( pdzy,        "Turb_hor_dyn_corr beg:pdzy"        )
+  call Mppdb_check( pzz,         "Turb_hor_dyn_corr beg:pzz"         )
+  call Mppdb_check( pdircoszw,   "Turb_hor_dyn_corr beg:pdircoszw"   )
+  call Mppdb_check( pcosslope,   "Turb_hor_dyn_corr beg:pcosslope"   )
+  call Mppdb_check( psinslope,   "Turb_hor_dyn_corr beg:psinslope"   )
+  call Mppdb_check( prhodj,      "Turb_hor_dyn_corr beg:prhodj"      )
+  call Mppdb_check( pcdueff,     "Turb_hor_dyn_corr beg:pcdueff"     )
+  call Mppdb_check( ptau11m,     "Turb_hor_dyn_corr beg:ptau11m"     )
+  call Mppdb_check( ptau12m,     "Turb_hor_dyn_corr beg:ptau12m"     )
+  call Mppdb_check( ptau22m,     "Turb_hor_dyn_corr beg:ptau22m"     )
+  call Mppdb_check( ptau33m,     "Turb_hor_dyn_corr beg:ptau33m"     )
+  call Mppdb_check( pum,         "Turb_hor_dyn_corr beg:pum"         )
+  call Mppdb_check( pvm,         "Turb_hor_dyn_corr beg:pvm"         )
+  call Mppdb_check( pwm,         "Turb_hor_dyn_corr beg:pwm"         )
+  call Mppdb_check( pthlm,       "Turb_hor_dyn_corr beg:pthlm"       )
+  call Mppdb_check( prm,         "Turb_hor_dyn_corr beg:prm"         )
+  call Mppdb_check( psvm,        "Turb_hor_dyn_corr beg:psvm"        )
+  call Mppdb_check( puslopem,    "Turb_hor_dyn_corr beg:puslopem"    )
+  call Mppdb_check( pvslopem,    "Turb_hor_dyn_corr beg:pvslopem"    )
+  call Mppdb_check( ptkem,       "Turb_hor_dyn_corr beg:ptkem"       )
+  call Mppdb_check( plm,         "Turb_hor_dyn_corr beg:plm"         )
+  !Check all inout arrays
+  call Mppdb_check( prus,   "Turb_hor_dyn_corr beg:prus"   )
+  call Mppdb_check( prvs,   "Turb_hor_dyn_corr beg:prvs"   )
+  call Mppdb_check( prws,   "Turb_hor_dyn_corr beg:prws"   )
+  call Mppdb_check( pdp,    "Turb_hor_dyn_corr beg:pdp"    )
+  call Mppdb_check( ptp,    "Turb_hor_dyn_corr beg:ptp"    )
+end if
 !
 !*       1.   PRELIMINARY COMPUTATIONS
 !             ------------------------
@@ -1096,6 +1134,15 @@ END IF
 !
 CALL CLEANLIST_ll(TZFIELDS_ll)
 
+if ( mppdb_initialized ) then
+  !Check all inout arrays
+  call Mppdb_check( prus,   "Turb_hor_dyn_corr end:prus"   )
+  call Mppdb_check( prvs,   "Turb_hor_dyn_corr end:prvs"   )
+  call Mppdb_check( prws,   "Turb_hor_dyn_corr end:prws"   )
+  call Mppdb_check( pdp,    "Turb_hor_dyn_corr end:pdp"    )
+  call Mppdb_check( ptp,    "Turb_hor_dyn_corr end:ptp"    )
+end if
+
 !$acc end data
 
 END SUBROUTINE TURB_HOR_DYN_CORR
diff --git a/src/MNH/turb_hor_splt.f90 b/src/MNH/turb_hor_splt.f90
index 74c5b24f6456249554d95e1787492fa1b8acded1..bcbc06df3e1ba5b3031128358d386eff81199d34 100644
--- a/src/MNH/turb_hor_splt.f90
+++ b/src/MNH/turb_hor_splt.f90
@@ -258,8 +258,10 @@ USE MODD_CST
 USE MODD_CTURB
 USE MODD_IO, ONLY: TFILEDATA
 USE MODD_PARAMETERS
-!
-!
+
+USE MODE_ll
+use mode_mppdb
+
 #ifndef MNH_OPENACC
 USE MODI_SHUMAN
 #else
@@ -268,7 +270,6 @@ USE MODI_SHUMAN_DEVICE
 USE MODI_TURB_HOR
 USE MODI_TURB_HOR_TKE
 !
-USE MODE_ll
 !
 IMPLICIT NONE
 !
@@ -389,6 +390,56 @@ REAL, DIMENSION(SIZE(PTHLM,1),SIZE(PTHLM,2),SIZE(PTHLM,3)) :: ZTMP1_DEVICE,ZTMP2
 !$acc &             PDP, PTP, PSIGS,                                     &
 !$acc &             PTRH,                                                &
 !$acc &             PRUS, PRVS, PRWS, PRTHLS, PRRS, PRSVS                )
+
+if ( mppdb_initialized ) then
+  !Check all in arrays
+  call Mppdb_check( pdxx,      "Turb_hor_splt beg:pdxx"      )
+  call Mppdb_check( pdyy,      "Turb_hor_splt beg:pdyy"      )
+  call Mppdb_check( pdzz,      "Turb_hor_splt beg:pdzz"      )
+  call Mppdb_check( pdzx,      "Turb_hor_splt beg:pdzx"      )
+  call Mppdb_check( pdzy,      "Turb_hor_splt beg:pdzy"      )
+  call Mppdb_check( pzz,       "Turb_hor_splt beg:pzz"       )
+  call Mppdb_check( pdircosxw, "Turb_hor_splt beg:pdircosxw" )
+  call Mppdb_check( pdircosyw, "Turb_hor_splt beg:pdircosyw" )
+  call Mppdb_check( pdircoszw, "Turb_hor_splt beg:pdircoszw" )
+  call Mppdb_check( pcosslope, "Turb_hor_splt beg:pcosslope" )
+  call Mppdb_check( psinslope, "Turb_hor_splt beg:psinslope" )
+  call Mppdb_check( prhodj,    "Turb_hor_splt beg:prhodj"    )
+  call Mppdb_check( pthvref,   "Turb_hor_splt beg:pthvref"   )
+  call Mppdb_check( psfthm,    "Turb_hor_splt beg:psfthm"    )
+  call Mppdb_check( psfrm,     "Turb_hor_splt beg:psfrm"     )
+  call Mppdb_check( psfsvm,    "Turb_hor_splt beg:psfsvm"    )
+  call Mppdb_check( pcdueff,   "Turb_hor_splt beg:pcdueff"   )
+  call Mppdb_check( ptau11m,   "Turb_hor_splt beg:ptau11m"   )
+  call Mppdb_check( ptau12m,   "Turb_hor_splt beg:ptau12m"   )
+  call Mppdb_check( ptau33m,   "Turb_hor_splt beg:ptau33m"   )
+  call Mppdb_check( pum,       "Turb_hor_splt beg:pum"       )
+  call Mppdb_check( pvm,       "Turb_hor_splt beg:pvm"       )
+  call Mppdb_check( pwm,       "Turb_hor_splt beg:pwm"       )
+  call Mppdb_check( pthlm,     "Turb_hor_splt beg:pthlm"     )
+  call Mppdb_check( prm,       "Turb_hor_splt beg:prm"       )
+  call Mppdb_check( psvm,      "Turb_hor_splt beg:psvm"      )
+  call Mppdb_check( puslopem,  "Turb_hor_splt beg:puslopem"  )
+  call Mppdb_check( pvslopem,  "Turb_hor_splt beg:pvslopem"  )
+  call Mppdb_check( ptkem,     "Turb_hor_splt beg:ptkem"     )
+  call Mppdb_check( plm,       "Turb_hor_splt beg:plm"       )
+  call Mppdb_check( pleps,     "Turb_hor_splt beg:pleps"     )
+  call Mppdb_check( plocpexnm, "Turb_hor_splt beg:plocpexnm" )
+  call Mppdb_check( patheta,   "Turb_hor_splt beg:patheta"   )
+  call Mppdb_check( pamoist,   "Turb_hor_splt beg:pamoist"   )
+  call Mppdb_check( psrcm,     "Turb_hor_splt beg:psrcm"     )
+  call Mppdb_check( pfrac_ice, "Turb_hor_splt beg:pfrac_ice" )
+  !Check all inout arrays
+  call Mppdb_check( prus,       "Turb_hor_splt beg:prus"       )
+  call Mppdb_check( prvs,       "Turb_hor_splt beg:prvs"       )
+  call Mppdb_check( prws,       "Turb_hor_splt beg:prws"       )
+  call Mppdb_check( prthls,     "Turb_hor_splt beg:prthls"     )
+  call Mppdb_check( prsvs,      "Turb_hor_splt beg:prsvs"      )
+  call Mppdb_check( prrs,       "Turb_hor_splt beg:prrs"       )
+  call Mppdb_check( pdp,        "Turb_hor_splt beg:pdp"        )
+  call Mppdb_check( ptp,        "Turb_hor_splt beg:ptp"        )
+  call Mppdb_check( psigs,      "Turb_hor_splt beg:psigs"      )
+end if
 !
 !*       1.   PRELIMINARY COMPUTATIONS
 !             ------------------------
@@ -704,6 +755,21 @@ DEALLOCATE(ZINV_PDYY)
 DEALLOCATE(ZINV_PDZZ)
 DEALLOCATE(ZMZM_PRHODJ)
 
+if ( mppdb_initialized ) then
+  !Check all inout arrays
+  call Mppdb_check( prus,       "Turb_hor_splt beg:prus"       )
+  call Mppdb_check( prvs,       "Turb_hor_splt beg:prvs"       )
+  call Mppdb_check( prws,       "Turb_hor_splt beg:prws"       )
+  call Mppdb_check( prthls,     "Turb_hor_splt beg:prthls"     )
+  call Mppdb_check( prsvs,      "Turb_hor_splt beg:prsvs"      )
+  call Mppdb_check( prrs,       "Turb_hor_splt beg:prrs"       )
+  call Mppdb_check( pdp,        "Turb_hor_splt beg:pdp"        )
+  call Mppdb_check( ptp,        "Turb_hor_splt beg:ptp"        )
+  call Mppdb_check( psigs,      "Turb_hor_splt beg:psigs"      )
+  !Check all out arrays
+  call Mppdb_check( ptrh,       "Turb_hor_splt beg:ptrh"       )
+end if
+
 !$acc end data
 
 END SUBROUTINE TURB_HOR_SPLT
diff --git a/src/MNH/turb_hor_sv_corr.f90 b/src/MNH/turb_hor_sv_corr.f90
index 51093e435eb73012c1c14ac8a547d75b6d1a7319..9d1980b17b0888eb5bcf556032000e8818eb929d 100644
--- a/src/MNH/turb_hor_sv_corr.f90
+++ b/src/MNH/turb_hor_sv_corr.f90
@@ -92,6 +92,7 @@ USE MODD_NSV, ONLY : NSV,NSV_LGBEG,NSV_LGEND
 USE MODD_LES
 USE MODD_BLOWSNOW
 !
+use mode_mppdb
 #ifdef MNH_OPENACC
 use mode_msg
 #endif
@@ -158,6 +159,28 @@ REAL :: ZCSV          !constant for the scalar flux
 #ifdef MNH_OPENACC
 call Print_msg( NVERB_FATAL, 'GEN', 'TURB_HOR_SV_CORR', 'OpenACC: not yet implemented' )
 #endif
+
+if ( mppdb_initialized ) then
+  !Check all in arrays
+  call Mppdb_check( pdxx,      "Turb_hor_sv_corr beg:pdxx"      )
+  call Mppdb_check( pdyy,      "Turb_hor_sv_corr beg:pdyy"      )
+  call Mppdb_check( pdzz,      "Turb_hor_sv_corr beg:pdzz"      )
+  call Mppdb_check( pdzx,      "Turb_hor_sv_corr beg:pdzx"      )
+  call Mppdb_check( pdzy,      "Turb_hor_sv_corr beg:pdzy"      )
+  call Mppdb_check( plm,       "Turb_hor_sv_corr beg:plm"       )
+  call Mppdb_check( pleps,     "Turb_hor_sv_corr beg:pleps"     )
+  call Mppdb_check( PTKEM,     "Turb_hor_sv_corr beg:PTKEM"     )
+  call Mppdb_check( PTHVREF,   "Turb_hor_sv_corr beg:PTHVREF"   )
+  call Mppdb_check( PTHLM,     "Turb_hor_sv_corr beg:PTHLM"     )
+  call Mppdb_check( PRM,       "Turb_hor_sv_corr beg:PRM"       )
+  call Mppdb_check( plocpexnm, "Turb_hor_sv_corr beg:plocpexnm" )
+  call Mppdb_check( patheta,   "Turb_hor_sv_corr beg:patheta"   )
+  call Mppdb_check( pamoist,   "Turb_hor_sv_corr beg:pamoist"   )
+  call Mppdb_check( psrcm,     "Turb_hor_sv_corr beg:psrcm"     )
+  call Mppdb_check( PWM,       "Turb_hor_sv_corr beg:PWM"       )
+  call Mppdb_check( PSVM,      "Turb_hor_sv_corr beg:PSVM"      )
+end if
+
 IKU=SIZE(PTKEM,3)
 CALL SECOND_MNH(ZTIME1)
 !
diff --git a/src/MNH/turb_hor_sv_flux.f90 b/src/MNH/turb_hor_sv_flux.f90
index 912594eef1b6f8d37892aa593fa01a8b96f29d8a..7130599a0a11e4ea9f64db469e3b42aead86a845 100644
--- a/src/MNH/turb_hor_sv_flux.f90
+++ b/src/MNH/turb_hor_sv_flux.f90
@@ -122,6 +122,7 @@ USE MODD_BLOWSNOW
 !
 USE MODE_FIELD,          ONLY: TFIELDDATA, TYPEREAL
 USE MODE_IO_FIELD_WRITE, only: IO_Field_write
+use mode_mppdb
 !
 USE MODI_GRADIENT_M
 USE MODI_GRADIENT_U
@@ -208,6 +209,28 @@ REAL, DIMENSION(SIZE(PSVM,1),SIZE(PSVM,2),SIZE(PSVM,3)) :: ZTMP1_DEVICE,ZTMP2_DE
 !$acc &               PSFSVM,                                         &
 !$acc &               PSVM,                                           &
 !$acc &               PRSVS )
+
+if ( mppdb_initialized ) then
+  !Check all in arrays
+  call Mppdb_check( pk,          "Turb_hor_sv_flux beg:pk"          )
+  call Mppdb_check( pinv_pdxx,   "Turb_hor_sv_flux beg:pinv_pdxx"   )
+  call Mppdb_check( pinv_pdyy,   "Turb_hor_sv_flux beg:pinv_pdyy"   )
+  call Mppdb_check( pinv_pdzz,   "Turb_hor_sv_flux beg:pinv_pdzz"   )
+  call Mppdb_check( pmzm_prhodj, "Turb_hor_sv_flux beg:pmzm_prhodj" )
+  call Mppdb_check( pdxx,        "Turb_hor_sv_flux beg:pdxx"        )
+  call Mppdb_check( pdyy,        "Turb_hor_sv_flux beg:pdyy"        )
+  call Mppdb_check( pdzz,        "Turb_hor_sv_flux beg:pdzz"        )
+  call Mppdb_check( pdzx,        "Turb_hor_sv_flux beg:pdzx"        )
+  call Mppdb_check( pdzy,        "Turb_hor_sv_flux beg:pdzy"        )
+  call Mppdb_check( pdircosxw,   "Turb_hor_sv_flux beg:pdircosxw"   )
+  call Mppdb_check( pdircosyw,   "Turb_hor_sv_flux beg:pdircosyw"   )
+  call Mppdb_check( prhodj,      "Turb_hor_sv_flux beg:prhodj"      )
+  call Mppdb_check( pwm,         "Turb_hor_sv_flux beg:pwm"         )
+  call Mppdb_check( psfsvm,      "Turb_hor_sv_flux beg:psfsvm"      )
+  call Mppdb_check( psvm,        "Turb_hor_sv_flux beg:psvm"        )
+  !Check all inout arrays
+  call Mppdb_check( prsvs, "Turb_hor_sv_flux beg:prsvs" )
+end if
 !
 !*       1.   PRELIMINARY COMPUTATIONS
 !             ------------------------
@@ -573,6 +596,11 @@ DO JSV=1,ISV
 !
 END DO    ! end loop JSV
 
+if ( mppdb_initialized ) then
+  !Check all inout arrays
+  call Mppdb_check( prsvs, "Turb_hor_sv_flux end:prsvs" )
+end if
+
 !$acc end data
 
 END SUBROUTINE TURB_HOR_SV_FLUX
diff --git a/src/MNH/turb_hor_thermo_corr.f90 b/src/MNH/turb_hor_thermo_corr.f90
index 3b4bdd4f5f5b9df751dffa01d56076f5e6249b48..a498056b10a95d5421c3c6206e5a7f1f5ca92347 100644
--- a/src/MNH/turb_hor_thermo_corr.f90
+++ b/src/MNH/turb_hor_thermo_corr.f90
@@ -128,6 +128,7 @@ USE MODD_LES
 !
 USE MODE_FIELD,          ONLY: TFIELDDATA, TYPEREAL
 USE MODE_IO_FIELD_WRITE, only: IO_Field_write
+use mode_mppdb
 !
 USE MODI_GRADIENT_M
 USE MODI_GRADIENT_U
@@ -226,6 +227,30 @@ REAL, DIMENSION(SIZE(PTHLM,1),SIZE(PTHLM,2),SIZE(PTHLM,3)) :: ZTMP5_DEVICE,ZTMP6
 !$acc &             PTKEM, PLM, PLEPS,                  &
 !$acc &             PLOCPEXNM, PATHETA, PAMOIST, PSRCM, &
 !$acc &             PSIGS )
+
+if ( mppdb_initialized ) then
+  !Check all in arrays
+  call Mppdb_check( pinv_pdxx,   "Turb_hor_thermo_corr beg:pinv_pdxx"   )
+  call Mppdb_check( pinv_pdyy,   "Turb_hor_thermo_corr beg:pinv_pdyy"   )
+  call Mppdb_check( pdxx,        "Turb_hor_thermo_corr beg:pdxx"        )
+  call Mppdb_check( pdyy,        "Turb_hor_thermo_corr beg:pdyy"        )
+  call Mppdb_check( pdzz,        "Turb_hor_thermo_corr beg:pdzz"        )
+  call Mppdb_check( pdzx,        "Turb_hor_thermo_corr beg:pdzx"        )
+  call Mppdb_check( pdzy,        "Turb_hor_thermo_corr beg:pdzy"        )
+  call Mppdb_check( pthvref,     "Turb_hor_thermo_corr beg:pthvref"     )
+  call Mppdb_check( pwm,         "Turb_hor_thermo_corr beg:pwm"         )
+  call Mppdb_check( pthlm,       "Turb_hor_thermo_corr beg:pthlm"       )
+  call Mppdb_check( prm,         "Turb_hor_thermo_corr beg:prm"         )
+  call Mppdb_check( ptkem,       "Turb_hor_thermo_corr beg:ptkem"       )
+  call Mppdb_check( plm,         "Turb_hor_thermo_corr beg:plm"         )
+  call Mppdb_check( pleps,       "Turb_hor_thermo_corr beg:pleps"       )
+  call Mppdb_check( plocpexnm,   "Turb_hor_thermo_corr beg:plocpexnm"   )
+  call Mppdb_check( patheta,     "Turb_hor_thermo_corr beg:patheta"     )
+  call Mppdb_check( pamoist,     "Turb_hor_thermo_corr beg:pamoist"     )
+  call Mppdb_check( psrcm,       "Turb_hor_thermo_corr beg:psrcm"       )
+  !Check all inout arrays
+  call Mppdb_check( psigs, "Turb_hor_thermo_corr beg:psigs" )
+end if
 !
 !*       1.   PRELIMINARY COMPUTATIONS
 !             ------------------------
@@ -810,6 +835,11 @@ IF ( ( KRRL > 0 .AND. OSUBG_COND) .OR. ( OTURB_FLX .AND. OCLOSE_OUT ) &
 !
 END IF
 
+if ( mppdb_initialized ) then
+  !Check all inout arrays
+  call Mppdb_check( psigs, "Turb_hor_thermo_corr end:psigs" )
+end if
+
 !$acc end data
 
 END SUBROUTINE TURB_HOR_THERMO_CORR
diff --git a/src/MNH/turb_hor_thermo_flux.f90 b/src/MNH/turb_hor_thermo_flux.f90
index 8ca1a0c4eae1cacf2e7193fb0a13b325eb6027c5..4d047394a6377774d65f8518455e98c254790f8d 100644
--- a/src/MNH/turb_hor_thermo_flux.f90
+++ b/src/MNH/turb_hor_thermo_flux.f90
@@ -138,6 +138,7 @@ USE MODD_LES
 !
 USE MODE_FIELD,          ONLY: TFIELDDATA, TYPEREAL
 USE MODE_IO_FIELD_WRITE, only: IO_Field_write
+use mode_mppdb
 !
 USE MODI_GRADIENT_M
 USE MODI_GRADIENT_U
@@ -239,6 +240,34 @@ TYPE(TFIELDDATA) :: TZFIELD
 !$acc &             PWM, PTHLM, PRM,                                  &
 !$acc &             PATHETA, PAMOIST, PSRCM, PFRAC_ICE,               &
 !$acc &             PRTHLS, PRRS                                      )
+
+if ( mppdb_initialized ) then
+  !Check all in arrays
+  call Mppdb_check( pinv_pdxx,   "Turb_hor_thermo_flux beg:pinv_pdxx"   )
+  call Mppdb_check( pinv_pdyy,   "Turb_hor_thermo_flux beg:pinv_pdyy"   )
+  call Mppdb_check( pinv_pdzz,   "Turb_hor_thermo_flux beg:pinv_pdzz"   )
+  call Mppdb_check( pmzm_prhodj, "Turb_hor_thermo_flux beg:pmzm_prhodj" )
+  call Mppdb_check( pdxx,        "Turb_hor_thermo_flux beg:pdxx"        )
+  call Mppdb_check( pdyy,        "Turb_hor_thermo_flux beg:pdyy"        )
+  call Mppdb_check( pdzz,        "Turb_hor_thermo_flux beg:pdzz"        )
+  call Mppdb_check( pdzx,        "Turb_hor_thermo_flux beg:pdzx"        )
+  call Mppdb_check( pdzy,        "Turb_hor_thermo_flux beg:pdzy"        )
+  call Mppdb_check( pdircosxw,   "Turb_hor_thermo_flux beg:pdircosxw"   )
+  call Mppdb_check( pdircosyw,   "Turb_hor_thermo_flux beg:pdircosyw"   )
+  call Mppdb_check( prhodj,      "Turb_hor_thermo_flux beg:prhodj"      )
+  call Mppdb_check( psfthm,      "Turb_hor_thermo_flux beg:psfthm"      )
+  call Mppdb_check( psfrm,       "Turb_hor_thermo_flux beg:psfrm"       )
+  call Mppdb_check( pwm,         "Turb_hor_thermo_flux beg:pwm"         )
+  call Mppdb_check( pthlm,       "Turb_hor_thermo_flux beg:pthlm"       )
+  call Mppdb_check( prm,         "Turb_hor_thermo_flux beg:prm"         )
+  call Mppdb_check( patheta,     "Turb_hor_thermo_flux beg:patheta"     )
+  call Mppdb_check( pamoist,     "Turb_hor_thermo_flux beg:pamoist"     )
+  call Mppdb_check( psrcm,       "Turb_hor_thermo_flux beg:psrcm"       )
+  call Mppdb_check( pfrac_ice,   "Turb_hor_thermo_flux beg:pfrac_ice"   )
+  !Check all inout arrays
+  call Mppdb_check( prthls, "Turb_hor_thermo_flux beg:prthls" )
+  call Mppdb_check( prrs,   "Turb_hor_thermo_flux beg:prrs"   )
+end if
 !
 !*       1.   PRELIMINARY COMPUTATIONS
 !             ------------------------
@@ -1638,6 +1667,12 @@ END IF
 !!  ZVPTV(:,:,:)=ZWORK(:,:,:)
 !!END IF
 
+if ( mppdb_initialized ) then
+  !Check all inout arrays
+  call Mppdb_check( prthls, "Turb_hor_thermo_flux end:prthls" )
+  call Mppdb_check( prrs,   "Turb_hor_thermo_flux end:prrs"   )
+end if
+
 !$acc end data
 
 END SUBROUTINE TURB_HOR_THERMO_FLUX
diff --git a/src/MNH/turb_hor_tke.f90 b/src/MNH/turb_hor_tke.f90
index d76269d41ef1af10e26efc6fa2ef7ea2e04a3411..59d40b8929090cd1085592aa477b2dc9f5bb6c56 100644
--- a/src/MNH/turb_hor_tke.f90
+++ b/src/MNH/turb_hor_tke.f90
@@ -86,8 +86,9 @@ USE MODD_CST
 USE MODD_CTURB
 USE MODD_PARAMETERS
 USE MODD_LES
-!
-!
+
+use mode_mppdb
+
 #ifndef MNH_OPENACC
 USE MODI_SHUMAN
 #else
@@ -144,6 +145,24 @@ REAL, DIMENSION(SIZE(PTKEM,1),SIZE(PTKEM,2),SIZE(PTKEM,3)) :: ZTMP1_DEVICE,ZTMP2
 !$acc &             PINV_PDXX,  PINV_PDYY,  PINV_PDZZ,  PMZM_PRHODJ, &
 !$acc &             PK,  PRHODJ,  PTKEM,                             &
 !$acc &             PTRH                                             )
+
+if ( mppdb_initialized ) then
+  !Check all in arrays
+  call Mppdb_check( pdxx,        "Turb_hor_tke beg:pdxx"        )
+  call Mppdb_check( pdyy,        "Turb_hor_tke beg:pdyy"        )
+  call Mppdb_check( pdzz,        "Turb_hor_tke beg:pdzz"        )
+  call Mppdb_check( pdzx,        "Turb_hor_tke beg:pdzx"        )
+  call Mppdb_check( pdzy,        "Turb_hor_tke beg:pdzy"        )
+  call Mppdb_check( pk,          "Turb_hor_tke beg:pk"          )
+  call Mppdb_check( pinv_pdxx,   "Turb_hor_tke beg:pinv_pdxx"   )
+  call Mppdb_check( pinv_pdyy,   "Turb_hor_tke beg:pinv_pdyy"   )
+  call Mppdb_check( pinv_pdzz,   "Turb_hor_tke beg:pinv_pdzz"   )
+  call Mppdb_check( pmzm_prhodj, "Turb_hor_tke beg:pmzm_prhodj" )
+  call Mppdb_check( prhodj,      "Turb_hor_tke beg:prhodj"      )
+  call Mppdb_check( ptkem,       "Turb_hor_tke beg:ptkem"       )
+  !Check all inout arrays
+  call Mppdb_check( ptrh, "Turb_hor_tke beg:ptrh" )
+end if
 !
 !*       1.   PRELIMINARY COMPUTATIONS
 !             ------------------------
@@ -396,6 +415,11 @@ IF (.NOT. L2D) THEN
 !
 END IF
 
+if ( mppdb_initialized ) then
+  !Check all inout arrays
+  call Mppdb_check( ptrh, "Turb_hor_tke end:ptrh" )
+end if
+
 !$acc end data
 
 !----------------------------------------------------------------------------
diff --git a/src/MNH/turb_hor_uv.f90 b/src/MNH/turb_hor_uv.f90
index 5336c5cfa2cc710413a018bf813fbf3614116959..12f8d45f1406417043cbb0af4789d8865cd78807 100644
--- a/src/MNH/turb_hor_uv.f90
+++ b/src/MNH/turb_hor_uv.f90
@@ -134,6 +134,7 @@ USE MODD_LES
 !
 USE MODE_FIELD,          ONLY: TFIELDDATA, TYPEREAL
 USE MODE_IO_FIELD_WRITE, only: IO_Field_write
+use mode_mppdb
 !
 USE MODI_GRADIENT_M
 USE MODI_GRADIENT_U
@@ -237,6 +238,37 @@ TYPE(TFIELDDATA) :: TZFIELD
 !$acc &             PDIRCOSZW, PCOSSLOPE, PSINSLOPE, PRHODJ, PCDUEFF, PTAU11M, PTAU12M, PTAU22M, PTAU33M, &
 !$acc &             PUM, PVM, PUSLOPEM, PVSLOPEM,                                                         &
 !$acc &             PRUS, PRVS, PDP )
+
+if ( mppdb_initialized ) then
+  !Check all in arrays
+  call Mppdb_check( pk,          "Turb_hor_uv beg:pk"          )
+  call Mppdb_check( pinv_pdxx,   "Turb_hor_uv beg:pinv_pdxx"   )
+  call Mppdb_check( pinv_pdyy,   "Turb_hor_uv beg:pinv_pdyy"   )
+  call Mppdb_check( pinv_pdzz,   "Turb_hor_uv beg:pinv_pdzz"   )
+  call Mppdb_check( pmzm_prhodj, "Turb_hor_uv beg:pmzm_prhodj" )
+  call Mppdb_check( pdxx,        "Turb_hor_uv beg:pdxx"        )
+  call Mppdb_check( pdyy,        "Turb_hor_uv beg:pdyy"        )
+  call Mppdb_check( pdzz,        "Turb_hor_uv beg:pdzz"        )
+  call Mppdb_check( pdzx,        "Turb_hor_uv beg:pdzx"        )
+  call Mppdb_check( pdzy,        "Turb_hor_uv beg:pdzy"        )
+  call Mppdb_check( pdircoszw,   "Turb_hor_uv beg:pdircoszw"   )
+  call Mppdb_check( pcosslope,   "Turb_hor_uv beg:pcosslope"   )
+  call Mppdb_check( psinslope,   "Turb_hor_uv beg:psinslope"   )
+  call Mppdb_check( prhodj,      "Turb_hor_uv beg:prhodj"      )
+  call Mppdb_check( pcdueff,     "Turb_hor_uv beg:pcdueff"     )
+  call Mppdb_check( ptau11m,     "Turb_hor_uv beg:ptau11m"     )
+  call Mppdb_check( ptau12m,     "Turb_hor_uv beg:ptau12m"     )
+  call Mppdb_check( ptau22m,     "Turb_hor_uv beg:ptau22m"     )
+  call Mppdb_check( ptau33m,     "Turb_hor_uv beg:ptau33m"     )
+  call Mppdb_check( pum,         "Turb_hor_uv beg:pum"         )
+  call Mppdb_check( pvm,         "Turb_hor_uv beg:pvm"         )
+  call Mppdb_check( puslopem,    "Turb_hor_uv beg:puslopem"    )
+  call Mppdb_check( pvslopem,    "Turb_hor_uv beg:pvslopem"    )
+  !Check all inout arrays
+  call Mppdb_check( prus,   "Turb_hor_uv beg:prus"   )
+  call Mppdb_check( prvs,   "Turb_hor_uv beg:prvs"   )
+  call Mppdb_check( pdp,    "Turb_hor_uv beg:pdp"    )
+end if
 !
 !*       1.   PRELIMINARY COMPUTATIONS
 !             ------------------------
@@ -653,6 +685,13 @@ IF (LLES_CALL .AND. KSPLT==1) THEN
   XTIME_LES = XTIME_LES + ZTIME2 - ZTIME1
 END IF
 
+if ( mppdb_initialized ) then
+  !Check all inout arrays
+  call Mppdb_check( prus, "Turb_hor_uv end:prus" )
+  call Mppdb_check( prvs, "Turb_hor_uv end:prvs" )
+  call Mppdb_check( pdp,  "Turb_hor_uv end:pdp"  )
+end if
+
 !$acc end data
 
 END SUBROUTINE TURB_HOR_UV
diff --git a/src/MNH/turb_hor_uw.f90 b/src/MNH/turb_hor_uw.f90
index f372a66c58d9097f2d0048fbabb6a8dc9e313a04..d57b580fb819dc2b0ec6907a79df99a5ffd1e573 100644
--- a/src/MNH/turb_hor_uw.f90
+++ b/src/MNH/turb_hor_uw.f90
@@ -124,6 +124,7 @@ USE MODD_NSV
 !
 USE MODE_FIELD,          ONLY: TFIELDDATA, TYPEREAL
 USE MODE_IO_FIELD_WRITE, only: IO_Field_write
+use mode_mppdb
 !
 USE MODI_GRADIENT_M
 USE MODI_GRADIENT_U
@@ -206,6 +207,30 @@ TYPE(TFIELDDATA) :: TZFIELD
 !$acc &             PRHODJ, PTHVREF,                                         &
 !$acc &             PUM, PWM, PTHLM, PRM, PSVM, PTKEM, PLM,                  &
 !$acc &             PRUS, PRWS, PDP )
+
+if ( mppdb_initialized ) then
+  !Check all in arrays
+  call Mppdb_check( pk,          "Turb_hor_uw beg:pk"          )
+  call Mppdb_check( pinv_pdxx,   "Turb_hor_uw beg:pinv_pdxx"   )
+  call Mppdb_check( pinv_pdzz,   "Turb_hor_uw beg:pinv_pdzz"   )
+  call Mppdb_check( pmzm_prhodj, "Turb_hor_uw beg:pmzm_prhodj" )
+  call Mppdb_check( pdxx,        "Turb_hor_uw beg:pdxx"        )
+  call Mppdb_check( pdzz,        "Turb_hor_uw beg:pdzz"        )
+  call Mppdb_check( pdzx,        "Turb_hor_uw beg:pdzx"        )
+  call Mppdb_check( prhodj,      "Turb_hor_uw beg:prhodj"      )
+  call Mppdb_check( pthvref,     "Turb_hor_uw beg:pthvref"     )
+  call Mppdb_check( pum,         "Turb_hor_uw beg:pum"         )
+  call Mppdb_check( pwm,         "Turb_hor_uw beg:pwm"         )
+  call Mppdb_check( pthlm,       "Turb_hor_uw beg:pthlm"       )
+  call Mppdb_check( prm,         "Turb_hor_uw beg:prm"         )
+  call Mppdb_check( psvm,        "Turb_hor_uw beg:psvm"        )
+  call Mppdb_check( ptkem,       "Turb_hor_uw beg:ptkem"       )
+  call Mppdb_check( plm,         "Turb_hor_uw beg:plm"         )
+  !Check all inout arrays
+  call Mppdb_check( prus, "Turb_hor_uw beg:prus" )
+  call Mppdb_check( prws, "Turb_hor_uw beg:prws" )
+  call Mppdb_check( pdp,  "Turb_hor_uw beg:pdp"  )
+end if
 !
 !*       1.   PRELIMINARY COMPUTATIONS
 !             ------------------------
@@ -472,6 +497,13 @@ IF (LLES_CALL .AND. KSPLT==1) THEN
   XTIME_LES = XTIME_LES + ZTIME2 - ZTIME1
 END IF
 
+if ( mppdb_initialized ) then
+  !Check all inout arrays
+  call Mppdb_check( prus, "Turb_hor_uw end:prus" )
+  call Mppdb_check( prws, "Turb_hor_uw end:prws" )
+  call Mppdb_check( pdp,  "Turb_hor_uw end:pdp"  )
+end if
+
 !$acc end data
 
 END SUBROUTINE TURB_HOR_UW
diff --git a/src/MNH/turb_hor_vw.f90 b/src/MNH/turb_hor_vw.f90
index 737f60737dd28f5bdebaa8455037524044ef979c..21a5965d633854df9deb7b6559e495aec37b2a3e 100644
--- a/src/MNH/turb_hor_vw.f90
+++ b/src/MNH/turb_hor_vw.f90
@@ -123,6 +123,7 @@ USE MODD_NSV
 !
 USE MODE_FIELD,          ONLY: TFIELDDATA, TYPEREAL
 USE MODE_IO_FIELD_WRITE, only: IO_Field_write
+use mode_mppdb
 !
 USE MODI_GRADIENT_M
 USE MODI_GRADIENT_U
@@ -207,6 +208,29 @@ TYPE(TFIELDDATA) :: TZFIELD
 !$acc &             PRHODJ, PTHVREF,                                         &
 !$acc &             PVM, PWM, PTHLM, PRM, PSVM, PTKEM, PLM,                  &
 !$acc &             PRVS, PRWS, PDP)
+
+if ( mppdb_initialized ) then
+  !Check all in arrays
+  call Mppdb_check( pk,          "Turb_hor_vw beg:pk"          )
+  call Mppdb_check( pinv_pdyy,   "Turb_hor_vw beg:pinv_pdyy"   )
+  call Mppdb_check( pinv_pdzz,   "Turb_hor_vw beg:pinv_pdzz"   )
+  call Mppdb_check( pdyy,        "Turb_hor_vw beg:pdyy"        )
+  call Mppdb_check( pdzz,        "Turb_hor_vw beg:pdzz"        )
+  call Mppdb_check( pdzy,        "Turb_hor_vw beg:pdzy"        )
+  call Mppdb_check( prhodj,      "Turb_hor_vw beg:prhodj"      )
+  call Mppdb_check( pthvref,     "Turb_hor_vw beg:pthvref"     )
+  call Mppdb_check( pvm,         "Turb_hor_vw beg:pvm"         )
+  call Mppdb_check( pwm,         "Turb_hor_vw beg:pwm"         )
+  call Mppdb_check( pthlm,       "Turb_hor_vw beg:pthlm"       )
+  call Mppdb_check( prm,         "Turb_hor_vw beg:prm"         )
+  call Mppdb_check( psvm,        "Turb_hor_vw beg:psvm"        )
+  call Mppdb_check( ptkem,       "Turb_hor_vw beg:ptkem"       )
+  call Mppdb_check( plm,         "Turb_hor_vw beg:plm"         )
+  !Check all inout arrays
+  call Mppdb_check( prvs, "Turb_hor_vw beg:prvs" )
+  call Mppdb_check( prws, "Turb_hor_vw beg:prws" )
+  call Mppdb_check( pdp,  "Turb_hor_vw beg:pdp"  )
+end if
 !
 !*       1.   PRELIMINARY COMPUTATIONS
 !             ------------------------
@@ -511,6 +535,13 @@ IF (LLES_CALL .AND. KSPLT==1) THEN
   XTIME_LES = XTIME_LES + ZTIME2 - ZTIME1
 END IF
 
+if ( mppdb_initialized ) then
+  !Check all inout arrays
+  call Mppdb_check( prvs, "Turb_hor_vw end:prvs" )
+  call Mppdb_check( prws, "Turb_hor_vw end:prws" )
+  call Mppdb_check( pdp,  "Turb_hor_vw end:pdp"  )
+end if
+
 !$acc end data
 
 END SUBROUTINE TURB_HOR_VW
diff --git a/src/MNH/turb_ver.f90 b/src/MNH/turb_ver.f90
index 287e96f220fda24a056434725079c009d37fb9c7..a6ac40f97a817a518a698ad5e245f8056d853ad0 100644
--- a/src/MNH/turb_ver.f90
+++ b/src/MNH/turb_ver.f90
@@ -344,6 +344,7 @@ USE MODI_SBL_DEPTH
 !
 USE MODE_FIELD,          ONLY: TFIELDDATA, TYPEREAL
 USE MODE_IO_FIELD_WRITE, only: IO_Field_write
+use mode_mppdb
 USE MODE_PRANDTL
 !
 USE MODI_SECOND_MNH
@@ -495,6 +496,63 @@ TYPE(TFIELDDATA) :: TZFIELD
 !$acc &             ZBLL_O_E, ZETHETA, ZEMOIST, ZREDTH1, ZREDR1,                    &
 !$acc &             ZPHI3, ZPSI3, ZD, ZWTHV, ZWU, ZWV, ZTHLP, ZRP,                  &
 !$acc &             ZPSI_SV, ZREDS1, ZRED2THS, ZRED2RS )
+
+if ( mppdb_initialized ) then
+  !Check all in arrays
+  call Mppdb_check( pdxx,      "Turb_ver beg:pdxx"      )
+  call Mppdb_check( pdyy,      "Turb_ver beg:pdyy"      )
+  call Mppdb_check( pdzz,      "Turb_ver beg:pdzz"      )
+  call Mppdb_check( pdzx,      "Turb_ver beg:pdzx"      )
+  call Mppdb_check( pdzy,      "Turb_ver beg:pdzy"      )
+  call Mppdb_check( pdircoszw, "Turb_ver beg:pdircoszw" )
+  call Mppdb_check( pzz,       "Turb_ver beg:pzz"       )
+  call Mppdb_check( pcosslope, "Turb_ver beg:pcosslope" )
+  call Mppdb_check( psinslope, "Turb_ver beg:psinslope" )
+  call Mppdb_check( prhodj,    "Turb_ver beg:prhodj"    )
+  call Mppdb_check( pthvref,   "Turb_ver beg:pthvref"   )
+  call Mppdb_check( psfthm,    "Turb_ver beg:psfthm"    )
+  call Mppdb_check( psfrm,     "Turb_ver beg:psfrm"     )
+  call Mppdb_check( psfsvm,    "Turb_ver beg:psfsvm"    )
+  call Mppdb_check( psfthp,    "Turb_ver beg:psfthp"    )
+  call Mppdb_check( psfrp,     "Turb_ver beg:psfrp"     )
+  call Mppdb_check( psfsvp,    "Turb_ver beg:psfsvp"    )
+  call Mppdb_check( pcdueff,   "Turb_ver beg:pcdueff"   )
+  call Mppdb_check( ptau11m,   "Turb_ver beg:ptau11m"   )
+  call Mppdb_check( ptau12m,   "Turb_ver beg:ptau12m"   )
+  call Mppdb_check( ptau33m,   "Turb_ver beg:ptau33m"   )
+  call Mppdb_check( pum,       "Turb_ver beg:pum"       )
+  call Mppdb_check( pvm,       "Turb_ver beg:pvm"       )
+  call Mppdb_check( pwm,       "Turb_ver beg:pwm"       )
+  call Mppdb_check( pthlm,     "Turb_ver beg:pthlm"     )
+  call Mppdb_check( prm,       "Turb_ver beg:prm"       )
+  call Mppdb_check( psvm,      "Turb_ver beg:psvm"      )
+  call Mppdb_check( puslopem,  "Turb_ver beg:puslopem"  )
+  call Mppdb_check( pvslopem,  "Turb_ver beg:pvslopem"  )
+  call Mppdb_check( ptkem,     "Turb_ver beg:ptkem"     )
+  call Mppdb_check( plm,       "Turb_ver beg:plm"       )
+  call Mppdb_check( pleps,     "Turb_ver beg:pleps"     )
+  call Mppdb_check( plocpexnm, "Turb_ver beg:plocpexnm" )
+  call Mppdb_check( patheta,   "Turb_ver beg:patheta"   )
+  call Mppdb_check( pamoist,   "Turb_ver beg:pamoist"   )
+  call Mppdb_check( psrcm,     "Turb_ver beg:psrcm"     )
+  call Mppdb_check( pfrac_ice, "Turb_ver beg:pfrac_ice" )
+  call Mppdb_check( pfwth,     "Turb_ver beg:pfwth"     )
+  call Mppdb_check( pfwr,      "Turb_ver beg:pfwr"      )
+  call Mppdb_check( pfth2,     "Turb_ver beg:pfth2"     )
+  call Mppdb_check( pfr2,      "Turb_ver beg:pfr2"      )
+  call Mppdb_check( pfthr,     "Turb_ver beg:pfthr"     )
+  call Mppdb_check( plmo,      "Turb_ver beg:plmo"      )
+  !Check all inout arrays
+  call Mppdb_check( pbl_depth,  "Turb_ver beg:pbl_depth"  )
+  call Mppdb_check( psbl_depth, "Turb_ver beg:psbl_depth" )
+  call Mppdb_check( plmo,       "Turb_ver beg:plmo"       )
+  call Mppdb_check( prus,       "Turb_ver beg:prus"       )
+  call Mppdb_check( prvs,       "Turb_ver beg:prvs"       )
+  call Mppdb_check( prws,       "Turb_ver beg:prws"       )
+  call Mppdb_check( prthls,     "Turb_ver beg:prthls"     )
+  call Mppdb_check( prsvs,      "Turb_ver beg:prsvs"      )
+  call Mppdb_check( prrs,       "Turb_ver beg:prrs"       )
+end if
 !
 !*       1.   PRELIMINARIES
 !             -------------
@@ -760,7 +818,27 @@ IF ( OTURB_FLX .AND. OCLOSE_OUT ) THEN
 !
 END IF
 
+if ( mppdb_initialized ) then
+  !Check all inout arrays
+  call Mppdb_check( pbl_depth,  "Turb_ver end:pbl_depth"  )
+  call Mppdb_check( psbl_depth, "Turb_ver end:psbl_depth" )
+  call Mppdb_check( plmo,       "Turb_ver end:plmo"       )
+  call Mppdb_check( prus,       "Turb_ver end:prus"       )
+  call Mppdb_check( prvs,       "Turb_ver end:prvs"       )
+  call Mppdb_check( prws,       "Turb_ver end:prws"       )
+  call Mppdb_check( prthls,     "Turb_ver end:prthls"     )
+  call Mppdb_check( prsvs,      "Turb_ver end:prsvs"      )
+  call Mppdb_check( prrs,       "Turb_ver end:prrs"       )
+  !check all out arrays
+  call Mppdb_check( pdp,   "Turb_ver end:pdp"   )
+  call Mppdb_check( ptp,   "Turb_ver end:ptp"   )
+  call Mppdb_check( psigs, "Turb_ver end:psigs" )
+  call Mppdb_check( pwth,  "Turb_ver end:pwth"  )
+  call Mppdb_check( pwrc,  "Turb_ver end:pwrc"  )
+  call Mppdb_check( pwsv,  "Turb_ver end:pwsv"  )
+end if
+
 !$acc end data
 
 !----------------------------------------------------------------------------
-END SUBROUTINE TURB_VER                                                                                               
+END SUBROUTINE TURB_VER
diff --git a/src/MNH/turb_ver_dyn_flux.f90 b/src/MNH/turb_ver_dyn_flux.f90
index 1da74655aeb9e95dd9c493404c198c31c9a5c368..0649f04cf68103bc860631b2245d93fda9768cba 100644
--- a/src/MNH/turb_ver_dyn_flux.f90
+++ b/src/MNH/turb_ver_dyn_flux.f90
@@ -313,6 +313,7 @@ USE MODI_TRIDIAG_WIND
 USE MODE_FIELD,          ONLY: TFIELDDATA, TYPEREAL
 USE MODE_IO_FIELD_WRITE, only: IO_Field_write
 USE MODE_ll
+use mode_mppdb
 !
 IMPLICIT NONE
 !
@@ -421,6 +422,17 @@ TYPE(TFIELDDATA) :: TZFIELD
 !$acc &             PTKEM, PLM, PWU, PWV,                                &
 !$acc &             PRUS, PRVS, PRWS,                                    &
 !$acc &             PDP                                                  )
+
+if ( mppdb_initialized ) then
+  !Check all inout arrays
+  call Mppdb_check( prus, "Turb_ver_dyn_flux end:prus" )
+  call Mppdb_check( prvs, "Turb_ver_dyn_flux end:prvs" )
+  call Mppdb_check( prws, "Turb_ver_dyn_flux end:prws" )
+  !Check all out arrays
+  call Mppdb_check( pwu, "Turb_ver_dyn_flux end:pwu" )
+  call Mppdb_check( pwv, "Turb_ver_dyn_flux end:pwv" )
+  call Mppdb_check( pdp, "Turb_ver_dyn_flux end:pdp" )
+end if
 !
 !*       1.   PRELIMINARIES
 !             -------------
@@ -1312,6 +1324,17 @@ IF ( OTURB_FLX .AND. OCLOSE_OUT .AND. HTURBDIM == '1DIM') THEN
   CALL IO_Field_write(TPFILE,TZFIELD,ZFLXZ)
 END IF
 
+if ( mppdb_initialized ) then
+  !Check all inout arrays
+  call Mppdb_check( prus, "Turb_ver_dyn_flux end:prus" )
+  call Mppdb_check( prvs, "Turb_ver_dyn_flux end:prvs" )
+  call Mppdb_check( prws, "Turb_ver_dyn_flux end:prws" )
+  !Check all out arrays
+  call Mppdb_check( pwu, "Turb_ver_dyn_flux end:pwu" )
+  call Mppdb_check( pwv, "Turb_ver_dyn_flux end:pwv" )
+  call Mppdb_check( pdp, "Turb_ver_dyn_flux end:pdp" )
+end if
+
 !$acc end data
 
 !----------------------------------------------------------------------------
diff --git a/src/MNH/turb_ver_sv_corr.f90 b/src/MNH/turb_ver_sv_corr.f90
index f3b1fcc7158c98ee691791ca9394e14ceb5f3f77..1f73e0c12079375af14c1300faff2fa3f14a0a26 100644
--- a/src/MNH/turb_ver_sv_corr.f90
+++ b/src/MNH/turb_ver_sv_corr.f90
@@ -105,6 +105,7 @@ USE MODD_CONF
 USE MODD_NSV, ONLY : NSV,NSV_LGBEG,NSV_LGEND
 USE MODD_BLOWSNOW
 !
+use mode_mppdb
 #ifdef MNH_OPENACC
 use mode_msg
 #endif
@@ -177,6 +178,27 @@ REAL :: ZCQSVD = 2.4  ! constant for humidity - scalar covariance dissipation
 #ifdef MNH_OPENACC
 call Print_msg( NVERB_FATAL, 'GEN', 'TURB_VER_SV_CORR', 'OpenACC: not yet implemented' )
 #endif
+
+if ( mppdb_initialized ) then
+  !Check all in arrays
+  call Mppdb_check( pdzz,      "Turb_ver_sv_corr beg:pdzz"      )
+  call Mppdb_check( pthlm,     "Turb_ver_sv_corr beg:pthlm"     )
+  call Mppdb_check( prm,       "Turb_ver_sv_corr beg:prm"       )
+  call Mppdb_check( pthvref,   "Turb_ver_sv_corr beg:pthvref"   )
+  call Mppdb_check( plocpexnm, "Turb_ver_sv_corr beg:plocpexnm" )
+  call Mppdb_check( patheta,   "Turb_ver_sv_corr beg:patheta"   )
+  call Mppdb_check( pamoist,   "Turb_ver_sv_corr beg:pamoist"   )
+  call Mppdb_check( psrcm,     "Turb_ver_sv_corr beg:psrcm"     )
+  call Mppdb_check( pphi3,     "Turb_ver_sv_corr beg:pphi3"     )
+  call Mppdb_check( ppsi3,     "Turb_ver_sv_corr beg:ppsi3"     )
+  call Mppdb_check( pwm,       "Turb_ver_sv_corr beg:pwm"       )
+  call Mppdb_check( psvm,      "Turb_ver_sv_corr beg:psvm"      )
+  call Mppdb_check( ptkem,     "Turb_ver_sv_corr beg:ptkem"     )
+  call Mppdb_check( plm,       "Turb_ver_sv_corr beg:plm"       )
+  call Mppdb_check( pleps,     "Turb_ver_sv_corr beg:pleps"     )
+  call Mppdb_check( ppsi_sv,   "Turb_ver_sv_corr beg:ppsi_sv"   )
+end if
+
 CALL SECOND_MNH(ZTIME1)
 !
 IF(LBLOWSNOW) THEN
diff --git a/src/MNH/turb_ver_sv_flux.f90 b/src/MNH/turb_ver_sv_flux.f90
index ff35a82b04a6b01aa6546206a296422b0d3b05eb..fab9ce46ef8304945c9fe223f1d75ced66905d40 100644
--- a/src/MNH/turb_ver_sv_flux.f90
+++ b/src/MNH/turb_ver_sv_flux.f90
@@ -277,6 +277,7 @@ USE MODD_NSV,            ONLY: XSVMIN, NSV_LGBEG, NSV_LGEND
 USE MODD_BLOWSNOW
 USE MODE_FIELD,          ONLY: TFIELDDATA, TYPEREAL
 USE MODE_IO_FIELD_WRITE, only: IO_Field_write
+use mode_mppdb
 #ifdef MNH_OPENACC
 use mode_msg
 #endif
@@ -372,6 +373,23 @@ TYPE(TFIELDDATA)  :: TZFIELD
 #ifdef MNH_OPENACC
 call Print_msg( NVERB_FATAL, 'GEN', 'TURB_VER_SV_FLUX', 'OpenACC: not yet implemented' )
 #endif
+
+if ( mppdb_initialized ) then
+  !Check all in arrays
+  call Mppdb_check( pdzz,      "Turb_ver_sv_flux beg:pdzz"      )
+  call Mppdb_check( pdircoszw, "Turb_ver_sv_flux beg:pdircoszw" )
+  call Mppdb_check( prhodj,    "Turb_ver_sv_flux beg:prhodj"    )
+  call Mppdb_check( psfsvm,    "Turb_ver_sv_flux beg:psfsvm"    )
+  call Mppdb_check( psfsvp,    "Turb_ver_sv_flux beg:psfsvp"    )
+  call Mppdb_check( psvm,      "Turb_ver_sv_flux beg:psvm"      )
+  call Mppdb_check( pwm,       "Turb_ver_sv_flux beg:pwm"       )
+  call Mppdb_check( ptkem,     "Turb_ver_sv_flux beg:ptkem"     )
+  call Mppdb_check( plm,       "Turb_ver_sv_flux beg:plm"       )
+  call Mppdb_check( ppsi_sv,   "Turb_ver_sv_flux beg:ppsi_sv"   )
+  !Check all INOUT arrays
+  call Mppdb_check( prsvs, "Turb_ver_sv_flux beg:prsvs" )
+end if
+
 IKB=KKA+JPVEXT_TURB*KKL
 IKE=KKU-JPVEXT_TURB*KKL
 IKT=SIZE(PSVM,3)
@@ -493,7 +511,14 @@ DO JSV=1,ISV
   END IF
   !
 END DO   ! end of scalar loop 
-!
+
+if ( mppdb_initialized ) then
+  !Check all inout arrays
+  call Mppdb_check( prsvs, "Turb_ver_sv_flux end:prsvs" )
+  !Check all out arrays
+  call Mppdb_check( pwsv,  "Turb_ver_sv_flux end:pwsv"  )
+END IF
+
 !----------------------------------------------------------------------------
 !
 END SUBROUTINE TURB_VER_SV_FLUX
diff --git a/src/MNH/turb_ver_thermo_corr.f90 b/src/MNH/turb_ver_thermo_corr.f90
index e5cc970da507aa8c5f01eef02e61990bc0759156..567c092ac9417445bbc136c99c38d1e0c4ffb0be 100644
--- a/src/MNH/turb_ver_thermo_corr.f90
+++ b/src/MNH/turb_ver_thermo_corr.f90
@@ -332,6 +332,7 @@ USE MODI_LES_MEAN_SUBGRID
 !
 USE MODE_FIELD,          ONLY: TFIELDDATA, TYPEREAL
 USE MODE_IO_FIELD_WRITE, only: IO_Field_write
+use mode_mppdb
 USE MODE_PRANDTL
 !
 USE MODI_SECOND_MNH
@@ -468,6 +469,55 @@ TYPE(TFIELDDATA) :: TZFIELD
 !$acc &             PEMOIST,  PREDTH1,  PREDR1,  PPHI3,  PPSI3,  PD, &
 !$acc &             PFWTH, PFWR, PFTH2, PFR2, PFTHR,                 &
 !$acc &             PTHLP, PRP, PSIGS                                )
+
+if ( mppdb_initialized ) then
+  !Check all in arrays
+  call Mppdb_check( pdxx,      "Turb_ver_thermo_corr beg:pdxx"      )
+  call Mppdb_check( pdyy,      "Turb_ver_thermo_corr beg:pdyy"      )
+  call Mppdb_check( pdzz,      "Turb_ver_thermo_corr beg:pdzz"      )
+  call Mppdb_check( pdzx,      "Turb_ver_thermo_corr beg:pdzx"      )
+  call Mppdb_check( pdzy,      "Turb_ver_thermo_corr beg:pdzy"      )
+  call Mppdb_check( pdircoszw, "Turb_ver_thermo_corr beg:pdircoszw" )
+  call Mppdb_check( prhodj,    "Turb_ver_thermo_corr beg:prhodj"    )
+  call Mppdb_check( pthvref,   "Turb_ver_thermo_corr beg:pthvref"   )
+  call Mppdb_check( psfthm,    "Turb_ver_thermo_corr beg:psfthm"    )
+  call Mppdb_check( psfrm,     "Turb_ver_thermo_corr beg:psfrm"     )
+  call Mppdb_check( psfthp,    "Turb_ver_thermo_corr beg:psfthp"    )
+  call Mppdb_check( psfrp,     "Turb_ver_thermo_corr beg:psfrp"     )
+  call Mppdb_check( pwm,       "Turb_ver_thermo_corr beg:pwm"       )
+  call Mppdb_check( pthlm,     "Turb_ver_thermo_corr beg:pthlm"     )
+  call Mppdb_check( prm,       "Turb_ver_thermo_corr beg:prm"       )
+  call Mppdb_check( psvm,      "Turb_ver_thermo_corr beg:psvm"      )
+  call Mppdb_check( ptkem,     "Turb_ver_thermo_corr beg:ptkem"     )
+  call Mppdb_check( plm,       "Turb_ver_thermo_corr beg:plm"       )
+  call Mppdb_check( pleps,     "Turb_ver_thermo_corr beg:pleps"     )
+  call Mppdb_check( plocpexnm, "Turb_ver_thermo_corr beg:plocpexnm" )
+  call Mppdb_check( patheta,   "Turb_ver_thermo_corr beg:patheta"   )
+  call Mppdb_check( pamoist,   "Turb_ver_thermo_corr beg:pamoist"   )
+  call Mppdb_check( psrcm,     "Turb_ver_thermo_corr beg:psrcm"     )
+  call Mppdb_check( pbeta,     "Turb_ver_thermo_corr beg:pbeta"     )
+  call Mppdb_check( psqrt_tke, "Turb_ver_thermo_corr beg:psqrt_tke" )
+  call Mppdb_check( pdth_dz,   "Turb_ver_thermo_corr beg:pdth_dz"   )
+  call Mppdb_check( pdr_dz,    "Turb_ver_thermo_corr beg:pdr_dz"    )
+  call Mppdb_check( pred2th3,  "Turb_ver_thermo_corr beg:pred2th3"  )
+  call Mppdb_check( pred2r3,   "Turb_ver_thermo_corr beg:pred2r3"   )
+  call Mppdb_check( pred2thr3, "Turb_ver_thermo_corr beg:pred2thr3" )
+  call Mppdb_check( pbll_o_e,  "Turb_ver_thermo_corr beg:pbll_o_e"  )
+  call Mppdb_check( petheta,   "Turb_ver_thermo_corr beg:petheta"   )
+  call Mppdb_check( pemoist,   "Turb_ver_thermo_corr beg:pemoist"   )
+  call Mppdb_check( predth1,   "Turb_ver_thermo_corr beg:predth1"   )
+  call Mppdb_check( predr1,    "Turb_ver_thermo_corr beg:predr1"    )
+  call Mppdb_check( pphi3,     "Turb_ver_thermo_corr beg:pphi3"     )
+  call Mppdb_check( ppsi3,     "Turb_ver_thermo_corr beg:ppsi3"     )
+  call Mppdb_check( pd,        "Turb_ver_thermo_corr beg:pd"        )
+  call Mppdb_check( pfwth,     "Turb_ver_thermo_corr beg:pfwth"     )
+  call Mppdb_check( pfwr,      "Turb_ver_thermo_corr beg:pfwr"      )
+  call Mppdb_check( pfth2,     "Turb_ver_thermo_corr beg:pfth2"     )
+  call Mppdb_check( pfr2,      "Turb_ver_thermo_corr beg:pfr2"      )
+  call Mppdb_check( pfthr,     "Turb_ver_thermo_corr beg:pfthr"     )
+  call Mppdb_check( pthlp,     "Turb_ver_thermo_corr beg:pthlp"     )
+  call Mppdb_check( prp,       "Turb_ver_thermo_corr beg:prp"       )
+end if
 !
 !*       1.   PRELIMINARIES
 !             -------------
@@ -1383,11 +1433,11 @@ END IF
 !
   IF ( KRRL > 0 ) THEN
     ! Extrapolate PSIGS at the ground and at the top
-    !$acc kernels
+!$acc kernels
     PSIGS(:,:,KKA) = PSIGS(:,:,IKB)
     PSIGS(:,:,KKU) = PSIGS(:,:,IKE)
     PSIGS(:,:,:) =  SQRT( MAX (PSIGS(:,:,:) , 1.E-12) )
-    !$acc end kernels
+!$acc end kernels
   END IF
 
 !
@@ -1395,6 +1445,11 @@ END IF
 !
   DEALLOCATE(ZCOEFF)
 
+if ( mppdb_initialized ) then
+  !Check all out arrays
+  call Mppdb_check( psigs, "Turb_ver_thermo_corr beg:psigs" )
+end if
+
 !$acc end data
 
 !----------------------------------------------------------------------------
diff --git a/src/MNH/turb_ver_thermo_flux.f90 b/src/MNH/turb_ver_thermo_flux.f90
index ae1a70291ad801d34bb6a3bd671baf442dd32a97..e650cb5695251e1073fb774e5f0d36f1e1984752 100644
--- a/src/MNH/turb_ver_thermo_flux.f90
+++ b/src/MNH/turb_ver_thermo_flux.f90
@@ -494,6 +494,59 @@ TYPE(TFIELDDATA) :: TZFIELD
 !$acc &             PEMOIST,  PREDTH1,  PREDR1,  PPHI3,  PPSI3,  PD, &
 !$acc &             PFWTH, PFWR, PFTH2, PFR2, PFTHR, PBL_DEPTH,      &
 !$acc &             PWTHV, PRTHLS, PRRS, PTHLP, PRP, PTP, PWTH, PWRC )
+
+if ( mppdb_initialized ) then
+  !check all in arrays
+  call Mppdb_check( pdxx,      "Turb_ver_thermo_flux beg:pdxx"      )
+  call Mppdb_check( pdyy,      "Turb_ver_thermo_flux beg:pdyy"      )
+  call Mppdb_check( pdzz,      "Turb_ver_thermo_flux beg:pdzz"      )
+  call Mppdb_check( pdzx,      "Turb_ver_thermo_flux beg:pdzx"      )
+  call Mppdb_check( pdzy,      "Turb_ver_thermo_flux beg:pdzy"      )
+  call Mppdb_check( pdircoszw, "Turb_ver_thermo_flux beg:pdircoszw" )
+  call Mppdb_check( pzz,       "Turb_ver_thermo_flux beg:pzz"       )
+  call Mppdb_check( prhodj,    "Turb_ver_thermo_flux beg:prhodj"    )
+  call Mppdb_check( pthvref,   "Turb_ver_thermo_flux beg:pthvref"   )
+  call Mppdb_check( psfthm,    "Turb_ver_thermo_flux beg:psfthm"    )
+  call Mppdb_check( psfrm,     "Turb_ver_thermo_flux beg:psfrm"     )
+  call Mppdb_check( psfthp,    "Turb_ver_thermo_flux beg:psfthp"    )
+  call Mppdb_check( psfrp,     "Turb_ver_thermo_flux beg:psfrp"     )
+  call Mppdb_check( pwm,       "Turb_ver_thermo_flux beg:pwm"       )
+  call Mppdb_check( pthlm,     "Turb_ver_thermo_flux beg:pthlm"     )
+  call Mppdb_check( prm,       "Turb_ver_thermo_flux beg:prm"       )
+  call Mppdb_check( psvm,      "Turb_ver_thermo_flux beg:psvm"      )
+  call Mppdb_check( ptkem,     "Turb_ver_thermo_flux beg:ptkem"     )
+  call Mppdb_check( plm,       "Turb_ver_thermo_flux beg:plm"       )
+  call Mppdb_check( pleps,     "Turb_ver_thermo_flux beg:pleps"     )
+  call Mppdb_check( plocpexnm, "Turb_ver_thermo_flux beg:plocpexnm" )
+  call Mppdb_check( patheta,   "Turb_ver_thermo_flux beg:patheta"   )
+  call Mppdb_check( pamoist,   "Turb_ver_thermo_flux beg:pamoist"   )
+  call Mppdb_check( psrcm,     "Turb_ver_thermo_flux beg:psrcm"     )
+  call Mppdb_check( pfrac_ice, "Turb_ver_thermo_flux beg:pfrac_ice" )
+  call Mppdb_check( pbeta,     "Turb_ver_thermo_flux beg:pbeta"     )
+  call Mppdb_check( psqrt_tke, "Turb_ver_thermo_flux beg:psqrt_tke" )
+  call Mppdb_check( pdth_dz,   "Turb_ver_thermo_flux beg:pdth_dz"   )
+  call Mppdb_check( pdr_dz,    "Turb_ver_thermo_flux beg:pdr_dz"    )
+  call Mppdb_check( pred2th3,  "Turb_ver_thermo_flux beg:pred2th3"  )
+  call Mppdb_check( pred2r3,   "Turb_ver_thermo_flux beg:pred2r3"   )
+  call Mppdb_check( pred2thr3, "Turb_ver_thermo_flux beg:pred2thr3" )
+  call Mppdb_check( pbll_o_e,  "Turb_ver_thermo_flux beg:pbll_o_e"  )
+  call Mppdb_check( petheta,   "Turb_ver_thermo_flux beg:petheta"   )
+  call Mppdb_check( pemoist,   "Turb_ver_thermo_flux beg:pemoist"   )
+  call Mppdb_check( predth1,   "Turb_ver_thermo_flux beg:predth1"   )
+  call Mppdb_check( predr1,    "Turb_ver_thermo_flux beg:predr1"    )
+  call Mppdb_check( pphi3,     "Turb_ver_thermo_flux beg:pphi3"     )
+  call Mppdb_check( ppsi3,     "Turb_ver_thermo_flux beg:ppsi3"     )
+  call Mppdb_check( pd,        "Turb_ver_thermo_flux beg:pd"        )
+  call Mppdb_check( pfwth,     "Turb_ver_thermo_flux beg:pfwth"     )
+  call Mppdb_check( pfwr,      "Turb_ver_thermo_flux beg:pfwr"      )
+  call Mppdb_check( pfth2,     "Turb_ver_thermo_flux beg:pfth2"     )
+  call Mppdb_check( pfr2,      "Turb_ver_thermo_flux beg:pfr2"      )
+  call Mppdb_check( pfthr,     "Turb_ver_thermo_flux beg:pfthr"     )
+  !check all inout arrays
+  call Mppdb_check( pbl_depth, "Turb_ver_thermo_flux beg:pbl_depth" )
+  call Mppdb_check( prthls,    "Turb_ver_thermo_flux beg:prthls"    )
+  call Mppdb_check( prrs,      "Turb_ver_thermo_flux beg:prrs"      )
+end if
 !
 !*       1.   PRELIMINARIES
 !             -------------
@@ -703,8 +756,6 @@ ELSE
 !$acc end kernels
 END IF
 !
-CALL MPPDB_CHECK3DM("turb_ver_thermo_flux::ZF,PRHODJ,PREDTH1,PREDR1,PRED2TH3,PRED2THR3",PRECISION,&
-                   & ZF,PRHODJ,PREDTH1,PREDR1,PRED2TH3,PRED2THR3 )
 ! Compute the splitted conservative potential temperature at t+deltat
 CALL TRIDIAG_THERMO(KKA,KKU,KKL,PTHLM,ZF,ZDFDDTDZ,PTSTEP,PIMPL,PDZZ,&
                     PRHODJ,PTHLP)
@@ -785,8 +836,6 @@ ELSE
 !$acc end kernels
 END IF
 #endif
-CALL MPPDB_CHECK3DM("turb_ver_thermo_flux::PTP,PETHETA,ZFLXZ,PBETA",PRECISION,&
-                   & PTP,PETHETA,ZFLXZ,PBETA)
 !
 ! Buoyancy flux at flux points
 ! 
@@ -1384,6 +1433,20 @@ IF ( ((OTURB_FLX .AND. OCLOSE_OUT) .OR. LLES_CALL) .AND. (KRRL > 0) ) THEN
 !
 END IF !end of <w Rc>
 
+if ( mppdb_initialized ) then
+  !Check all inout arrays
+  call Mppdb_check( pbl_depth, "Turb_ver_thermo_flux end:pbl_depth" )
+  call Mppdb_check( prthls,    "Turb_ver_thermo_flux end:prthls"    )
+  call Mppdb_check( prrs,      "Turb_ver_thermo_flux end:prrs"      )
+  !Check all out arrays
+  call Mppdb_check( pwthv, "Turb_ver_thermo_flux end:pwthv" )
+  call Mppdb_check( pthlp, "Turb_ver_thermo_flux end:pthlp" )
+  call Mppdb_check( prp,   "Turb_ver_thermo_flux end:prp"   )
+  call Mppdb_check( ptp,   "Turb_ver_thermo_flux end:ptp"   )
+  call Mppdb_check( pwth,  "Turb_ver_thermo_flux end:pwth"  )
+  call Mppdb_check( pwrc,  "Turb_ver_thermo_flux end:pwrc"  )
+end if
+
 !$acc end data
 
 !----------------------------------------------------------------------------
diff --git a/src/MNH/update_lm.f90 b/src/MNH/update_lm.f90
index 972f91a124d7ae050254b9ee6beda732c2370b35..a94f7c09ad3e473d49dee9bc2d56b818d68a7e2b 100644
--- a/src/MNH/update_lm.f90
+++ b/src/MNH/update_lm.f90
@@ -1,6 +1,6 @@
 !MNH_LIC Copyright 2006-2019 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 version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
 !-----------------------------------------------------------------
 !     ###################
@@ -60,11 +60,12 @@ END MODULE MODI_UPDATE_LM
 !
 !*       0.    DECLARATIONS
 !         
+USE MODD_ARGSLIST_ll, ONLY : LIST_ll
 USE MODD_CONF
 USE MODD_PARAMETERS
 !
 USE MODE_ll
-USE MODD_ARGSLIST_ll, ONLY : LIST_ll
+use mode_mppdb
 !
 IMPLICIT NONE
 !
@@ -91,6 +92,12 @@ INTEGER                :: IINFO_ll       ! return code of parallel routine
 !-------------------------------------------------------------------------------
 
 !$acc data present(PLM,PLEPS)
+
+if ( mppdb_initialized ) then
+  !Check all inout arrays
+  call Mppdb_check( plm,   "Update_lm beg:plm"   )
+  call Mppdb_check( pleps, "Update_lm beg:pleps" )
+end if
 !
 !*       1.    COMPUTE DIMENSIONS OF ARRAYS :
 !              ----------------------------
@@ -140,6 +147,12 @@ IF ( HLBCY(2) /= "CYCL" .AND. LNORTH_ll()) THEN
 END IF
 !$acc end kernels
 
+if ( mppdb_initialized ) then
+  !Check all inout arrays
+  call Mppdb_check( plm,   "Update_lm end:plm"   )
+  call Mppdb_check( pleps, "Update_lm end:pleps" )
+end if
+
 !$acc end data
 
 !-----------------------------------------------------------------------------