diff --git a/src/MNH/diag.f90 b/src/MNH/diag.f90
index 06488a688da32b42a2c908e729dc7d9457a34a5c..518d37f046263b17e9a9462ff376aa8d63daf637 100644
--- a/src/MNH/diag.f90
+++ b/src/MNH/diag.f90
@@ -89,6 +89,7 @@
 !!  V.Vionnet 07/2017 add LWIND_CONTRAV
 !!  11/2017      (D. Ricard, P. Marquet) add diagnostics for THETAS 
 !  P. Wautelet 11/02/2019: added missing use of MODI_CH_MONITOR_n
+!  P. Wautelet 28/03/2019: use MNHTIME for time measurement variables
 !-------------------------------------------------------------------------------
 !
 !*       0.     DECLARATIONS
@@ -124,7 +125,7 @@ USE MODD_PARAM_LIMA,       ONLY: LLIMA_DIAG
 USE MODD_PARAM_MFSHALL_n
 USE MODD_PARAM_n
 USE MODD_PARAM_RAD_n
-use modd_precision,        only: LFIINT
+use modd_precision,        only: LFIINT, MNHTIME
 USE MODD_PROFILER_n
 USE MODD_RADAR
 USE MODD_RADIATIONS_n
@@ -185,9 +186,9 @@ CHARACTER (LEN=4)  :: YTURB     ! initial flag to call to turbulence schemes
 CHARACTER (LEN=40) :: YFMT,YFMT2! format for cpu analysis printing
 INTEGER  :: IRESP               ! return code in FM routines
 INTEGER  :: ILUOUT0             ! Logical unit number for the output listing
-REAL*8,DIMENSION(2)     :: ZTIME0,ZTIME1,ZTIME2,ZRAD,ZDCONV,ZSHADOWS,ZGROUND, &
-                         ZTRACER,ZDRAG,ZTURB,ZMAFL,ZCHEM,ZTIME_BU ! CPU time 
-REAL*8,DIMENSION(2)     :: ZSTART,ZINIT,ZWRIT,ZBALL,ZPHYS,ZSURF,ZWRITS,ZTRAJ ! storing variables
+REAL(kind=MNHTIME), DIMENSION(2) :: ZTIME0, ZTIME1, ZTIME2, ZRAD, ZDCONV, ZSHADOWS, ZGROUND, &
+                                    ZTRACER, ZDRAG, ZTURB, ZMAFL, ZCHEM, ZTIME_BU ! CPU times
+REAL(kind=MNHTIME), DIMENSION(2) :: ZSTART, ZINIT, ZWRIT, ZBALL, ZPHYS, ZSURF, ZWRITS, ZTRAJ ! storing variables
 INTEGER(KIND=LFIINT) :: INPRAR ! number of articles predicted  in the LFIFM file
 LOGICAL :: GCLOSE_OUT = .FALSE. ! conditional closure of the OUTPUT FM-file
 INTEGER :: ISTEPBAL   ! loop indice for balloons and aircraft
@@ -676,18 +677,18 @@ END IF
 !* call to physics monitor
 !
 GCLOSE_OUT=.TRUE.
-ZRAD=0.
-ZSHADOWS=0.
-ZDCONV=0.
-ZGROUND=0.
-ZTRACER=0.
-ZTURB=0.
-ZDRAG=0.
-ZMAFL=0.
-ZCHEM=0.
-XTIME_LES=0.
-XTIME_LES_BU_PROCESS=0.
-XTIME_BU_PROCESS=0.
+ZRAD                 = 0.0_MNHTIME
+ZSHADOWS             = 0.0_MNHTIME
+ZDCONV               = 0.0_MNHTIME
+ZGROUND              = 0.0_MNHTIME
+ZTRACER              = 0.0_MNHTIME
+ZTURB                = 0.0_MNHTIME
+ZDRAG                = 0.0_MNHTIME
+ZMAFL                = 0.0_MNHTIME
+ZCHEM                = 0.0_MNHTIME
+XTIME_LES            = 0.0_MNHTIME
+XTIME_LES_BU_PROCESS = 0.0_MNHTIME
+XTIME_BU_PROCESS     = 0.0_MNHTIME
 CALL PHYS_PARAM_n(1,TOUTDATAFILE,GCLOSE_OUT,                      &
                   ZRAD,ZSHADOWS,ZDCONV,ZGROUND,ZMAFL,ZDRAG, &
                   ZTURB,ZTRACER, ZTIME_BU,ZWETDEPAER,GMASKkids,GCLOUD_ONLY)
diff --git a/src/MNH/diagnos_les_mf.f90 b/src/MNH/diagnos_les_mf.f90
index 2f2cecafcc1a1a9b72075a2d2983090f00d4c35a..31fa13da74a1fc2c0444f1495a15a465801a4214 100644
--- a/src/MNH/diagnos_les_mf.f90
+++ b/src/MNH/diagnos_les_mf.f90
@@ -1,7 +1,8 @@
-!MNH_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 2009-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.
+!-----------------------------------------------------------------
 !    ###########################
      MODULE MODI_DIAGNOS_LES_MF
 !    ###########################
@@ -20,10 +21,10 @@ INTERFACE
 !
 !*                    1.1  Declaration of Arguments
 !
-!
+use modd_precision, only: MNHTIME
 !
 INTEGER,                INTENT(IN)  :: KIU, KJU, KKU ! 3D grid size
-REAL*8,DIMENSION(2),                   INTENT(OUT) :: PTIME_LES
+REAL(kind=MNHTIME), DIMENSION(2), INTENT(OUT) :: PTIME_LES
 REAL, DIMENSION(:,:),   INTENT(IN)  :: PTHL_UP,PRT_UP,PRV_UP,&
                                        PRC_UP,PRI_UP   ! updraft properties
 REAL, DIMENSION(:,:),   INTENT(IN)  :: PU_UP, PV_UP
@@ -74,20 +75,23 @@ END MODULE MODI_DIAGNOS_LES_MF
 !!     AUTHOR
 !!     ------
 !!     J.pergaud
-!!     V.Masson : Optimization 09/2010
+!
+! Modifications:
+!  V. Masson      09/2010: Optimization
+!  P. Wautelet 28/03/2019: use MNHTIME for time measurement variables
 !! --------------------------------------------------------------------------
 !
 !*      0. DECLARATIONS
 !          ------------
 !
 USE MODD_LES
+use modd_precision, only: MNHTIME
+!
+USE MODE_MNH_TIMING
 !
 USE MODI_LES_VER_INT
 USE MODI_LES_MEAN_ll
 USE MODI_SHUMAN
-!JUANZ
-USE MODE_MNH_TIMING
-!JUANZ
 !
 IMPLICIT NONE
 
@@ -95,7 +99,7 @@ IMPLICIT NONE
 !
 !
 INTEGER,                INTENT(IN)  :: KIU, KJU, KKU ! 3D grid size
-REAL*8,DIMENSION(2),                   INTENT(OUT) :: PTIME_LES
+REAL(kind=MNHTIME), DIMENSION(2), INTENT(OUT) :: PTIME_LES
 REAL, DIMENSION(:,:),   INTENT(IN)  :: PTHL_UP,PRT_UP,PRV_UP,&
                                        PRC_UP,PRI_UP   ! updraft properties
 REAL, DIMENSION(:,:),   INTENT(IN)  :: PU_UP, PV_UP
@@ -119,7 +123,7 @@ REAL, DIMENSION(:,:,:), ALLOCATABLE   :: ZTHLUP_MF_LES,ZRTUP_MF_LES, &
                                          ZWUP_MF_LES,ZFRACUP_MF_LES, &
                                          ZTHVUP_MF_LES,ZRVUP_MF_LES, &
                                          ZRIUP_MF_LES
-REAL*8,DIMENSION(2) :: ZTIME1, ZTIME2
+REAL(kind=MNHTIME), DIMENSION(2) :: ZTIME1, ZTIME2
 !------------------------------------------------------------------------
 !
 
diff --git a/src/MNH/flat_invz.f90 b/src/MNH/flat_invz.f90
index e253264a9e229a59c4c9bf7f3caedfe1283b4167..b7b38a84621ae4f99a90aba6f437f0b71b6b6f78 100644
--- a/src/MNH/flat_invz.f90
+++ b/src/MNH/flat_invz.f90
@@ -1,12 +1,8 @@
-!MNH_LIC Copyright 1994-2014 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-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.
 !-----------------------------------------------------------------
-!--------------- special set of characters for RCS information
-!-----------------------------------------------------------------
-! $Source$ $Revision$ $Date$
-!-----------------------------------------------------------------
 !     ####################
 MODULE MODI_FLAT_INVZ
   !     ####################
@@ -130,13 +126,15 @@ SUBROUTINE FLAT_INVZ(HLBCX,HLBCY,PDXHATM,PDYHATM,PRHOM,PAF,PBF,PCF,   &
   !!                                points under the ground and out of the domain  
   !!      Modification   Lugato, Guivarch (June 1998) Parallelisation
   !!                     Escobar, Stein   (July 2000) optimisation
+!  P. Wautelet 28/03/2019: use MNHTIME for time measurement variables
   !-------------------------------------------------------------------------------
   !
   !*       0.    DECLARATIONS
   !              ------------
   !
-  USE MODD_PARAMETERS
   USE MODD_CONF
+  USE MODD_PARAMETERS
+  use modd_precision,     only: MNHTIME
   !
   USE MODE_ll
   USE MODD_ARGSLIST_ll, ONLY : LIST_ll
@@ -258,7 +256,7 @@ SUBROUTINE FLAT_INVZ(HLBCX,HLBCY,PDXHATM,PDYHATM,PRHOM,PAF,PBF,PCF,   &
   REAL, DIMENSION(:,:,:), ALLOCATABLE :: ZBAND_YT  ! array in Y slices distribution transpose
   REAL, DIMENSION(:,:,:), ALLOCATABLE :: ZBAND_YRT ! array in Y slices distribution transpose
   !
-  REAL*8,DIMENSION(2) :: T0,T1
+  REAL(kind=MNHTIME), DIMENSION(2) :: ZT0,ZT1
   !JUAN Z_SPLITTING
   !
   !
@@ -481,13 +479,13 @@ SUBROUTINE FLAT_INVZ(HLBCX,HLBCY,PDXHATM,PDYHATM,PRHOM,PAF,PBF,PCF,   &
 !!$     print*,"IP=",IP," SIZE(ZBAND_SXP1_YP2_Z)=",SIZE(ZBAND_SXP1_YP2_Z,1),SIZE(ZBAND_SXP1_YP2_Z,2)
      ZBAND_SXP1_YP2_Z = ZY_B (IIBI:IIEI,IJBI:IJEI,:)
      ZBAND_SX_YP2_ZP1 = 0.0
-     CALL SECOND_MNH2(T0)
+     CALL SECOND_MNH2(ZT0)
 
      CALL REMAP_SXP1_YP2_Z_SX_YP2_ZP1_ll(ZBAND_SXP1_YP2_Z,ZBAND_SX_YP2_ZP1,IINFO_ll)
      !CALL REMAP_B_SX_YP2_ZP1_ll(ZBAND_B,ZBAND_SX_YP2_ZP1,IINFO_ll)
      !ZWORK_SX_YP2_ZP1 = ZWORK_SX_YP2_ZP1 - ZBAND_SX_YP2_ZP1
-     CALL SECOND_MNH2(T1)
-     TIMEZ%T_MAP_B_SX_YP2_ZP1  = TIMEZ%T_MAP_B_SX_YP2_ZP1 + T1 - T0
+     CALL SECOND_MNH2(ZT1)
+     TIMEZ%T_MAP_B_SX_YP2_ZP1  = TIMEZ%T_MAP_B_SX_YP2_ZP1 + ZT1 - ZT0
   END IF ! NZ_SPLITTING
   !
   !JUAN Z_SPLITTING
@@ -527,10 +525,10 @@ SUBROUTINE FLAT_INVZ(HLBCX,HLBCY,PDXHATM,PDYHATM,PRHOM,PAF,PBF,PCF,   &
              IIMAX,ILOT_SX_YP2_ZP1,-1 )
      END IF
      ZBAND_SXP2_Y_ZP1=0.0
-     CALL SECOND_MNH2(T0)
+     CALL SECOND_MNH2(ZT0)
      CALL REMAP_SX_YP2_ZP1_SXP2_Y_ZP1_ll(ZBAND_SX_YP2_ZP1,ZBAND_SXP2_Y_ZP1,IINFO_ll)
-     CALL SECOND_MNH2(T1)
-     TIMEZ%T_MAP_SX_YP2_ZP1_SXP2_Y_ZP1  = TIMEZ%T_MAP_SX_YP2_ZP1_SXP2_Y_ZP1 + T1 - T0
+     CALL SECOND_MNH2(ZT1)
+     TIMEZ%T_MAP_SX_YP2_ZP1_SXP2_Y_ZP1  = TIMEZ%T_MAP_SX_YP2_ZP1_SXP2_Y_ZP1 + ZT1 - ZT0
   END IF ! NZ_SPLITTING
   !
   !JUAN Z_SPLITTING
@@ -612,10 +610,10 @@ SUBROUTINE FLAT_INVZ(HLBCX,HLBCY,PDXHATM,PDYHATM,PRHOM,PAF,PBF,PCF,   &
 !!$  IF (( IAND(NZ_SPLITTING,2) > 0 ) .AND. ( IAND(NZ_SPLITTING,16) > 0 ) ) THEN
 !!$     CALL FAST_TRANSPOSE(ZBAND_SXP2_Y_ZP1T,ZBAND_SXP2_Y_ZP1,IJ_SXP2_Y_ZP1+2,II_SXP2_Y_ZP1,IK_SXP2_Y_ZP1)
 !!$     ZBAND_B  = 0.0 
-!!$     CALL SECOND_MNH2(T0)
+!!$     CALL SECOND_MNH2(ZT0)
 !!$     CALL REMAP_SXP2_Y_ZP1_B_ll(ZBAND_SXP2_Y_ZP1,ZBAND_B,IINFO_ll)
-!!$     CALL SECOND_MNH2(T1)
-!!$     TIMEZ.T_MAP_SXP2_Y_ZP1_B  = TIMEZ.T_MAP_SXP2_Y_ZP1_B + T1 - T0
+!!$     CALL SECOND_MNH2(ZT1)
+!!$     TIMEZ.T_MAP_SXP2_Y_ZP1_B  = TIMEZ.T_MAP_SXP2_Y_ZP1_B + ZT1 - ZT0
 !!$     !    
 !!$     !       singular matrix case : the last term is computed by setting the 
 !!$     !       average of the pressure field equal to zero.
@@ -646,10 +644,10 @@ SUBROUTINE FLAT_INVZ(HLBCX,HLBCY,PDXHATM,PDYHATM,PRHOM,PAF,PBF,PCF,   &
   IF  ( ( IAND(NZ_SPLITTING,2) > 0 ) .AND. (  IAND(NZ_SPLITTING,8) > 0 )) THEN
      CALL FAST_TRANSPOSE(ZBAND_SXP2_Y_ZP1T,ZBAND_SXP2_Y_ZP1,IJ_SXP2_Y_ZP1+2,II_SXP2_Y_ZP1,IK_SXP2_Y_ZP1)
      ZBAND_SXP2_YP1_Z  = 0.0 
-     CALL SECOND_MNH2(T0)
+     CALL SECOND_MNH2(ZT0)
      CALL REMAP_SXP2_Y_ZP1_SXP2_YP1_Z_ll(ZBAND_SXP2_Y_ZP1,ZBAND_SXP2_YP1_Z,IINFO_ll)
-     CALL SECOND_MNH2(T1)
-     TIMEZ%T_MAP_SXP2_Y_ZP1_SXP2_YP1_Z  = TIMEZ%T_MAP_SXP2_Y_ZP1_SXP2_YP1_Z + T1 - T0
+     CALL SECOND_MNH2(ZT1)
+     TIMEZ%T_MAP_SXP2_Y_ZP1_SXP2_YP1_Z  = TIMEZ%T_MAP_SXP2_Y_ZP1_SXP2_YP1_Z + ZT1 - ZT0
      !    
      !       singular matrix case : the last term is computed by setting the 
      !       average of the pressure field equal to zero.
@@ -718,19 +716,19 @@ SUBROUTINE FLAT_INVZ(HLBCX,HLBCY,PDXHATM,PDYHATM,PRHOM,PAF,PBF,PCF,   &
 
 !!$  IF  ( ( IAND(NZ_SPLITTING,2) > 0 ) .AND.(  IAND(NZ_SPLITTING,16) > 0 ) ) THEN
 !!$     !
-!!$     CALL SECOND_MNH2(T0)
+!!$     CALL SECOND_MNH2(ZT0)
 !!$     CALL REMAP_B_SXP2_Y_ZP1_ll(ZBAND_BR,ZBAND_SXP2_Y_ZP1R,IINFO_ll)
-!!$     CALL SECOND_MNH2(T1)
-!!$     TIMEZ.T_MAP_B_SXP2_Y_ZP1  = TIMEZ.T_MAP_B_SXP2_Y_ZP1 + T1 - T0
+!!$     CALL SECOND_MNH2(ZT1)
+!!$     TIMEZ.T_MAP_B_SXP2_Y_ZP1  = TIMEZ.T_MAP_B_SXP2_Y_ZP1 + ZT1 - ZT0
 !!$  ENDIF
   ! JUAN P1/P2 SPLITTING
   IF  ( ( IAND(NZ_SPLITTING,2) > 0 ) .AND. (  IAND(NZ_SPLITTING,8) > 0 ) ) THEN
      !
-     CALL SECOND_MNH2(T0)
+     CALL SECOND_MNH2(ZT0)
      CALL REMAP_SXP2_YP1_Z_SXP2_Y_ZP1_ll(ZBAND_SXP2_YP1_ZR,ZBAND_SXP2_Y_ZP1R,IINFO_ll)
      !TEST     CALL REMAP_SXP2_YP1_Z_SXP2_Y_ZP1_ll(ZBAND_SXP2_YP1_ZR,ZBAND_SXP2_Y_ZP1RBIS,IINFO_ll)
-     CALL SECOND_MNH2(T1)
-     TIMEZ%T_MAP_SXP2_YP1_Z_SXP2_Y_ZP1  = TIMEZ%T_MAP_SXP2_YP1_Z_SXP2_Y_ZP1 + T1 - T0
+     CALL SECOND_MNH2(ZT1)
+     TIMEZ%T_MAP_SXP2_YP1_Z_SXP2_Y_ZP1  = TIMEZ%T_MAP_SXP2_YP1_Z_SXP2_Y_ZP1 + ZT1 - ZT0
   ENDIF
   IF (  IAND(NZ_SPLITTING,2) > 0 )  THEN
      CALL FAST_TRANSPOSE(ZBAND_SXP2_Y_ZP1R,ZBAND_SXP2_Y_ZP1RT,II_SXP2_Y_ZP1,IJ_SXP2_Y_ZP1+2,IK_SXP2_Y_ZP1)
@@ -754,10 +752,10 @@ SUBROUTINE FLAT_INVZ(HLBCX,HLBCY,PDXHATM,PDYHATM,PRHOM,PAF,PBF,PCF,   &
      ! Transposition Y-> X
      !
      ZBAND_SX_YP2_ZP1=0
-     CALL SECOND_MNH2(T0)
+     CALL SECOND_MNH2(ZT0)
      CALL  REMAP_SXP2_Y_ZP1_SX_YP2_ZP1_ll(ZBAND_SXP2_Y_ZP1R,ZBAND_SX_YP2_ZP1,IINFO_ll)
-     CALL SECOND_MNH2(T1)
-     TIMEZ%T_MAP_SXP2_Y_ZP1_SX_YP2_ZP1  = TIMEZ%T_MAP_SXP2_Y_ZP1_SX_YP2_ZP1 + T1 - T0
+     CALL SECOND_MNH2(ZT1)
+     TIMEZ%T_MAP_SXP2_Y_ZP1_SX_YP2_ZP1  = TIMEZ%T_MAP_SXP2_Y_ZP1_SX_YP2_ZP1 + ZT1 - ZT0
      !
      IF (HLBCX(1) == 'CYCL') THEN
         ! re-set (N+1) values with (2) values ( stored here to avoid to lost them )
@@ -787,11 +785,11 @@ SUBROUTINE FLAT_INVZ(HLBCX,HLBCY,PDXHATM,PDYHATM,PRHOM,PAF,PBF,PCF,   &
   !JUAN Z_SPLITTING
   !
   IF (  IAND(NZ_SPLITTING,2) > 0 ) THEN
-     CALL SECOND_MNH2(T0)
+     CALL SECOND_MNH2(ZT0)
      !CALL REMAP_SX_YP2_ZP1_B_ll(ZBAND_SX_YP2_ZP1,ZBAND_B,IINFO_ll)
      CALL REMAP_SX_YP2_ZP1_SXP1_YP2_Z_ll(ZBAND_SX_YP2_ZP1,ZBAND_SXP1_YP2_Z,IINFO_ll)
-     CALL SECOND_MNH2(T1)
-     TIMEZ%T_MAP_SX_YP2_ZP1_B  = TIMEZ%T_MAP_SX_YP2_ZP1_B + T1 - T0
+     CALL SECOND_MNH2(ZT1)
+     TIMEZ%T_MAP_SX_YP2_ZP1_B  = TIMEZ%T_MAP_SX_YP2_ZP1_B + ZT1 - ZT0
      IF (  IAND(NZ_SPLITTING,1) > 0 ) THEN
         ! for test save 2D value
         CALL GET_HALO(ZBAND_B)
diff --git a/src/MNH/modd_precision.f90 b/src/MNH/modd_precision.f90
index 421eec5f6984ce01e0753ccf97ddfcbecdc21723..e302e46b96e79d9a950ebb5a1cf3f9f39db68547 100644
--- a/src/MNH/modd_precision.f90
+++ b/src/MNH/modd_precision.f90
@@ -7,6 +7,7 @@
 !  P. Wautelet 08/03/2019
 ! Modifications:
 !  P. Wautelet 22/03/2019: add MNHINT/REAL32/64_MPI, MNH2REAL32/64_MPI + more public parameters
+!  P. Wautelet 27/03/2019: add MNHTIME and MNHTIME_MPI
 !-----------------------------------------------------------------
 module modd_precision
 
@@ -28,6 +29,7 @@ public :: MNH2REAL32_MPI, MNH2REAL64_MPI
 
 public :: MNHINT, MNHREAL
 public :: MNHINT_MPI, MNHREAL_MPI, MNH2REAL_MPI
+public :: MNHTIME, MNHTIME_MPI
 
 public :: LFIINT
 
@@ -80,6 +82,9 @@ integer, parameter :: MNHREAL_MPI = MPI_REAL16
 #error "Invalid MNH_REAL"
 #endif
 
+integer, parameter :: MNHTIME     = MNHREAL64
+integer, parameter :: MNHTIME_MPI = MNHREAL64_MPI
+
 
 ! Kinds for LFI
 #if ( LFI_INT == 4 )
diff --git a/src/MNH/modd_sub_modeln.f90 b/src/MNH/modd_sub_modeln.f90
index 48bfede318410cd24a6a6431857a57c50da89ed0..b6e364b2222e189bce38a1b8f00314c1b815b2bc 100644
--- a/src/MNH/modd_sub_modeln.f90
+++ b/src/MNH/modd_sub_modeln.f90
@@ -4,17 +4,19 @@
 !MNH_LIC for details. version 1.
 !-----------------------------------------------------------------
 ! Modifications:
-!  Philippe Wautelet: 05/2016-04/2018: new data structures and calls for I/O
-!  J. Escobar : 18/06/2018 , bug compile R*4 => real*8 pointer XT_VISC  
+!  P. Wautelet 05/2016-04/2018: new data structures and calls for I/O
+!  J. Escobar  18/06/2018: bug compile R*4 => real*8 pointer XT_VISC
 !  P. Wautelet 08/02/2019: add missing NULL association for pointers
+!  P. Wautelet 28/03/2019: use MNHTIME for time measurement variables
 !-----------------------------------------------------------------
 !     #################
       MODULE MODD_SUB_MODEL_n
 !     #################
 !
-USE MODD_ARGSLIST_ll, ONLY : LIST_ll, HALO2LIST_ll
-!
-USE MODD_PARAMETERS, ONLY: JPMODELMAX
+USE MODD_ARGSLIST_ll, ONLY: LIST_ll, HALO2LIST_ll
+USE MODD_PARAMETERS,  ONLY: JPMODELMAX
+use modd_precision,   only: MNHTIME
+
 IMPLICIT NONE
 
 TYPE SUB_MODEL_t
@@ -32,18 +34,18 @@ TYPE SUB_MODEL_t
   TYPE(HALO2LIST_ll), POINTER :: TZHALO2MT_ll => NULL()
   TYPE(HALO2LIST_ll), POINTER :: TZHALO2SC_ll => NULL()
   INTEGER :: IBAK, IOUT          ! number of the backup / output
-  REAL*8,DIMENSION(2)    :: XT_START
-  REAL*8,DIMENSION(2)    :: XT_STORE,XT_BOUND,XT_GUESS
-  REAL*8,DIMENSION(2)    :: XT_ADV,XT_SOURCES,XT_DRAG
-  REAL*8,DIMENSION(2)    :: XT_ADVUVW,XT_GRAV,XT_VISC
-  REAL*8,DIMENSION(2)    :: XT_DIFF,XT_RELAX,XT_PARAM,XT_SPECTRA
-  REAL*8,DIMENSION(2)    :: XT_HALO,XT_RAD_BOUND,XT_PRESS
-  REAL*8,DIMENSION(2)    :: XT_CLOUD,XT_STEP_SWA,XT_STEP_MISC
-  REAL*8,DIMENSION(2)    :: XT_ELEC                          
-  REAL*8,DIMENSION(2)    :: XT_COUPL,XT_1WAY,XT_STEP_BUD
-  REAL*8,DIMENSION(2)    :: XT_RAD,XT_DCONV,XT_GROUND,XT_TRACER,XT_MAFL
-  REAL*8,DIMENSION(2)    :: XT_TURB,XT_2WAY,XT_SHADOWS
-  REAL*8,DIMENSION(2)    :: XT_FORCING,XT_NUDGING,XT_CHEM
+  REAL(kind=MNHTIME), DIMENSION(2) :: XT_START
+  REAL(kind=MNHTIME), DIMENSION(2) :: XT_STORE, XT_BOUND, XT_GUESS
+  REAL(kind=MNHTIME), DIMENSION(2) :: XT_ADV, XT_SOURCES, XT_DRAG
+  REAL(kind=MNHTIME), DIMENSION(2) :: XT_ADVUVW, XT_GRAV, XT_VISC
+  REAL(kind=MNHTIME), DIMENSION(2) :: XT_DIFF, XT_RELAX, XT_PARAM, XT_SPECTRA
+  REAL(kind=MNHTIME), DIMENSION(2) :: XT_HALO, XT_RAD_BOUND, XT_PRESS
+  REAL(kind=MNHTIME), DIMENSION(2) :: XT_CLOUD, XT_STEP_SWA, XT_STEP_MISC
+  REAL(kind=MNHTIME), DIMENSION(2) :: XT_ELEC
+  REAL(kind=MNHTIME), DIMENSION(2) :: XT_COUPL, XT_1WAY, XT_STEP_BUD
+  REAL(kind=MNHTIME), DIMENSION(2) :: XT_RAD, XT_DCONV, XT_GROUND, XT_TRACER, XT_MAFL
+  REAL(kind=MNHTIME), DIMENSION(2) :: XT_TURB, XT_2WAY, XT_SHADOWS
+  REAL(kind=MNHTIME), DIMENSION(2) :: XT_FORCING, XT_NUDGING, XT_CHEM
 
   REAL, DIMENSION(:,:,:), POINTER :: ZWT_ACT_NUC=>NULL()
                              ! Vertical motion used for ACTivation/NUCleation
@@ -60,19 +62,19 @@ TYPE(HALO2LIST_ll), POINTER :: TZHALO2M_ll=>NULL(), TZLSHALO2_ll=>NULL()
 TYPE(HALO2LIST_ll), POINTER :: TZHALO2T_ll=>NULL(), TZHALO2MT_ll=>NULL(), TZHALO2SC_ll=>NULL()
 INTEGER, POINTER :: IBAK=>NULL()
 INTEGER, POINTER :: IOUT=>NULL()
-REAL*8,DIMENSION(:), POINTER :: XT_START=>NULL()
-REAL*8,DIMENSION(:), POINTER :: XT_STORE=>NULL(),XT_BOUND=>NULL(),XT_GUESS=>NULL()
-REAL*8,DIMENSION(:), POINTER :: XT_ADV=>NULL(),XT_SOURCES=>NULL(),XT_DRAG=>NULL()
-REAL*8,DIMENSION(:), POINTER :: XT_ADVUVW=>NULL(),XT_GRAV=>NULL()
-REAL*8,DIMENSION(:), POINTER :: XT_DIFF=>NULL(),XT_RELAX=>NULL(),XT_PARAM=>NULL(),XT_SPECTRA=>NULL()
-REAL*8,DIMENSION(:), POINTER :: XT_HALO=>NULL(),XT_RAD_BOUND=>NULL(),XT_PRESS=>NULL()
-REAL*8,DIMENSION(:), POINTER :: XT_VISC=>NULL()
-REAL*8,DIMENSION(:), POINTER :: XT_CLOUD=>NULL(),XT_STEP_SWA=>NULL(),XT_STEP_MISC=>NULL()
-REAL*8,DIMENSION(:), POINTER :: XT_ELEC=>NULL(),XT_SHADOWS=>NULL()
-REAL*8,DIMENSION(:), POINTER :: XT_COUPL=>NULL(),XT_1WAY=>NULL(),XT_STEP_BUD=>NULL()
-REAL*8,DIMENSION(:), POINTER :: XT_RAD=>NULL(),XT_DCONV=>NULL(),XT_GROUND=>NULL(),XT_MAFL=>NULL()
-REAL*8,DIMENSION(:), POINTER :: XT_TURB=>NULL(),XT_2WAY=>NULL(),XT_TRACER=>NULL()
-REAL*8,DIMENSION(:), POINTER :: XT_FORCING=>NULL(),XT_NUDGING=>NULL(),XT_CHEM=>NULL()
+REAL(kind=MNHTIME), DIMENSION(:), POINTER :: XT_START=>NULL()
+REAL(kind=MNHTIME), DIMENSION(:), POINTER :: XT_STORE=>NULL(), XT_BOUND=>NULL(), XT_GUESS=>NULL()
+REAL(kind=MNHTIME), DIMENSION(:), POINTER :: XT_ADV=>NULL(), XT_SOURCES=>NULL(), XT_DRAG=>NULL()
+REAL(kind=MNHTIME), DIMENSION(:), POINTER :: XT_ADVUVW=>NULL(), XT_GRAV=>NULL()
+REAL(kind=MNHTIME), DIMENSION(:), POINTER :: XT_DIFF=>NULL(), XT_RELAX=>NULL(), XT_PARAM=>NULL(), XT_SPECTRA=>NULL()
+REAL(kind=MNHTIME), DIMENSION(:), POINTER :: XT_HALO=>NULL(), XT_RAD_BOUND=>NULL(), XT_PRESS=>NULL()
+REAL(kind=MNHTIME), DIMENSION(:), POINTER :: XT_VISC=>NULL()
+REAL(kind=MNHTIME), DIMENSION(:), POINTER :: XT_CLOUD=>NULL(), XT_STEP_SWA=>NULL(), XT_STEP_MISC=>NULL()
+REAL(kind=MNHTIME), DIMENSION(:), POINTER :: XT_ELEC=>NULL(), XT_SHADOWS=>NULL()
+REAL(kind=MNHTIME), DIMENSION(:), POINTER :: XT_COUPL=>NULL(), XT_1WAY=>NULL(), XT_STEP_BUD=>NULL()
+REAL(kind=MNHTIME), DIMENSION(:), POINTER :: XT_RAD=>NULL(), XT_DCONV=>NULL(), XT_GROUND=>NULL(), XT_MAFL=>NULL()
+REAL(kind=MNHTIME), DIMENSION(:), POINTER :: XT_TURB=>NULL(), XT_2WAY=>NULL(), XT_TRACER=>NULL()
+REAL(kind=MNHTIME), DIMENSION(:), POINTER :: XT_FORCING=>NULL(), XT_NUDGING=>NULL(), XT_CHEM=>NULL()
 REAL, DIMENSION(:,:,:), POINTER :: ZWT_ACT_NUC=>NULL()
 LOGICAL, DIMENSION(:,:), POINTER :: GMASKkids=>NULL()
 LOGICAL, POINTER :: GCLOSE_OUT=>NULL()
diff --git a/src/MNH/modd_timez.f90 b/src/MNH/modd_timez.f90
index 9c9235ed4da7b7779e6ac6cbd3007a64e2b62dff..3c44998639d52ba7647196195ecb8080f404c027 100644
--- a/src/MNH/modd_timez.f90
+++ b/src/MNH/modd_timez.f90
@@ -5,51 +5,54 @@
 !-----------------------------------------------------------------
 ! Modifications
 !  P. Wautelet 08/02/2019: add missing NULL association for pointers
+!  P. Wautelet 28/03/2019: use MNHTIME for time measurement variables
+!-----------------------------------------------------------------
 MODULE MODD_TIMEZ
 
   USE MODD_PARAMETERS, ONLY: JPMODELMAX
+  use modd_precision,  only: MNHTIME
 
   TYPE SUB_TIMEZ_T
-     REAL*8,DIMENSION(2) :: T_MAP_B_SX_YP2_ZP1  = 0.0
-     REAL*8,DIMENSION(2) :: T_MAP_SX_YP2_ZP1_SXP2_Y_ZP1 = 0.0
-     REAL*8,DIMENSION(2) :: T_MAP_SXP2_Y_ZP1_B  = 0.0
-     REAL*8,DIMENSION(2) :: T_MAP_B_SXP2_Y_ZP1  = 0.0
-     REAL*8,DIMENSION(2) :: T_MAP_SXP2_Y_ZP1_SX_YP2_ZP1 = 0.0
-     REAL*8,DIMENSION(2) :: T_MAP_SX_YP2_ZP1_B  = 0.0
-     REAL*8,DIMENSION(2) :: T_MAP_SXP2_Y_ZP1_SXP2_YP1_Z = 0.0
-     REAL*8,DIMENSION(2) :: T_MAP_SXP2_YP1_Z_SXP2_Y_ZP1  = 0.0
-          
-     REAL*8,DIMENSION(2) :: T_MAP_SXP1_YP2_Z_SX_YP2_ZP1 = 0.0
-     REAL*8,DIMENSION(2) :: T_MAP_SXP2_Y_ZP1_SXP1_YP2_Z  = 0.0
-     REAL*8,DIMENSION(2) :: T_MAP_SXP1_YP2_Z_SXP2_Y_ZP1  = 0.0
-     REAL*8,DIMENSION(2) :: T_MAP_SX_YP2_ZP1_SXP1_YP2_Z  = 0.0
-          
-     REAL*8,DIMENSION(2) :: T_WRIT3D_RECV = 0.0
-     REAL*8,DIMENSION(2) :: T_WRIT3D_SEND = 0.0
-     REAL*8,DIMENSION(2) :: T_WRIT3D_WRIT = 0.0
-     REAL*8,DIMENSION(2) :: T_WRIT3D_WAIT = 0.0
-     REAL*8,DIMENSION(2) :: T_WRIT3D_ALL  = 0.0
-
-     REAL*8,DIMENSION(2) :: T_WRIT2D_GATH = 0.0
-     REAL*8,DIMENSION(2) :: T_WRIT2D_WRIT = 0.0
-     REAL*8,DIMENSION(2) :: T_WRIT2D_ALL  = 0.0
-
-     REAL*8,DIMENSION(2) :: T_READ3D_RECV = 0.0
-     REAL*8,DIMENSION(2) :: T_READ3D_SEND = 0.0
-     REAL*8,DIMENSION(2) :: T_READ3D_READ = 0.0
-     REAL*8,DIMENSION(2) :: T_READ3D_WAIT = 0.0
-     REAL*8,DIMENSION(2) :: T_READ3D_ALL  = 0.0
-     
-     REAL*8,DIMENSION(2) :: T_READ2D_SCAT = 0.0
-     REAL*8,DIMENSION(2) :: T_READ2D_READ = 0.0
-     REAL*8,DIMENSION(2) :: T_READ2D_ALL  = 0.0
-
-     REAL*8,DIMENSION(2) :: T_READLB_RECV = 0.0
-     REAL*8,DIMENSION(2) :: T_READLB_SEND = 0.0
-     REAL*8,DIMENSION(2) :: T_READLB_READ = 0.0
-     REAL*8,DIMENSION(2) :: T_READLB_WAIT = 0.0
-     REAL*8,DIMENSION(2) :: T_READLB_ALL  = 0.0
-     
+     REAL(kind=MNHTIME), DIMENSION(2) :: T_MAP_B_SX_YP2_ZP1           = 0.0_MNHTIME
+     REAL(kind=MNHTIME), DIMENSION(2) :: T_MAP_SX_YP2_ZP1_SXP2_Y_ZP1  = 0.0_MNHTIME
+     REAL(kind=MNHTIME), DIMENSION(2) :: T_MAP_SXP2_Y_ZP1_B           = 0.0_MNHTIME
+     REAL(kind=MNHTIME), DIMENSION(2) :: T_MAP_B_SXP2_Y_ZP1           = 0.0_MNHTIME
+     REAL(kind=MNHTIME), DIMENSION(2) :: T_MAP_SXP2_Y_ZP1_SX_YP2_ZP1  = 0.0_MNHTIME
+     REAL(kind=MNHTIME), DIMENSION(2) :: T_MAP_SX_YP2_ZP1_B           = 0.0_MNHTIME
+     REAL(kind=MNHTIME), DIMENSION(2) :: T_MAP_SXP2_Y_ZP1_SXP2_YP1_Z  = 0.0_MNHTIME
+     REAL(kind=MNHTIME), DIMENSION(2) :: T_MAP_SXP2_YP1_Z_SXP2_Y_ZP1  = 0.0_MNHTIME
+
+     REAL(kind=MNHTIME), DIMENSION(2) :: T_MAP_SXP1_YP2_Z_SX_YP2_ZP1  = 0.0_MNHTIME
+     REAL(kind=MNHTIME), DIMENSION(2) :: T_MAP_SXP2_Y_ZP1_SXP1_YP2_Z  = 0.0_MNHTIME
+     REAL(kind=MNHTIME), DIMENSION(2) :: T_MAP_SXP1_YP2_Z_SXP2_Y_ZP1  = 0.0_MNHTIME
+     REAL(kind=MNHTIME), DIMENSION(2) :: T_MAP_SX_YP2_ZP1_SXP1_YP2_Z  = 0.0_MNHTIME
+
+     REAL(kind=MNHTIME), DIMENSION(2) :: T_WRIT3D_RECV = 0.0_MNHTIME
+     REAL(kind=MNHTIME), DIMENSION(2) :: T_WRIT3D_SEND = 0.0_MNHTIME
+     REAL(kind=MNHTIME), DIMENSION(2) :: T_WRIT3D_WRIT = 0.0_MNHTIME
+     REAL(kind=MNHTIME), DIMENSION(2) :: T_WRIT3D_WAIT = 0.0_MNHTIME
+     REAL(kind=MNHTIME), DIMENSION(2) :: T_WRIT3D_ALL  = 0.0_MNHTIME
+
+     REAL(kind=MNHTIME), DIMENSION(2) :: T_WRIT2D_GATH = 0.0_MNHTIME
+     REAL(kind=MNHTIME), DIMENSION(2) :: T_WRIT2D_WRIT = 0.0_MNHTIME
+     REAL(kind=MNHTIME), DIMENSION(2) :: T_WRIT2D_ALL  = 0.0_MNHTIME
+
+     REAL(kind=MNHTIME), DIMENSION(2) :: T_READ3D_RECV = 0.0_MNHTIME
+     REAL(kind=MNHTIME), DIMENSION(2) :: T_READ3D_SEND = 0.0_MNHTIME
+     REAL(kind=MNHTIME), DIMENSION(2) :: T_READ3D_READ = 0.0_MNHTIME
+     REAL(kind=MNHTIME), DIMENSION(2) :: T_READ3D_WAIT = 0.0_MNHTIME
+     REAL(kind=MNHTIME), DIMENSION(2) :: T_READ3D_ALL  = 0.0_MNHTIME
+
+     REAL(kind=MNHTIME), DIMENSION(2) :: T_READ2D_SCAT = 0.0_MNHTIME
+     REAL(kind=MNHTIME), DIMENSION(2) :: T_READ2D_READ = 0.0_MNHTIME
+     REAL(kind=MNHTIME), DIMENSION(2) :: T_READ2D_ALL  = 0.0_MNHTIME
+
+     REAL(kind=MNHTIME), DIMENSION(2) :: T_READLB_RECV = 0.0_MNHTIME
+     REAL(kind=MNHTIME), DIMENSION(2) :: T_READLB_SEND = 0.0_MNHTIME
+     REAL(kind=MNHTIME), DIMENSION(2) :: T_READLB_READ = 0.0_MNHTIME
+     REAL(kind=MNHTIME), DIMENSION(2) :: T_READLB_WAIT = 0.0_MNHTIME
+     REAL(kind=MNHTIME), DIMENSION(2) :: T_READLB_ALL  = 0.0_MNHTIME
+
  END TYPE SUB_TIMEZ_T
 
 TYPE(SUB_TIMEZ_t), DIMENSION(JPMODELMAX), TARGET, SAVE :: SUB_TIMEZN
diff --git a/src/MNH/mode_mnh_timing.f90 b/src/MNH/mode_mnh_timing.f90
index 9d0c5b0cf76d0b57982c278ba8faff1765e59e3f..8c1afe17147344f67c73d91da6b129272dfbbf28 100644
--- a/src/MNH/mode_mnh_timing.f90
+++ b/src/MNH/mode_mnh_timing.f90
@@ -11,25 +11,33 @@ MODULE MODE_MNH_TIMING
 !  J. Escobar  12/02/2013: triabulle too slow on large BG partition, inhib it by a early return in the code
 !  P. Wautelet 10/01/2019: use NEWUNIT argument of OPEN
 !  P. Wautelet 22/03/2019: use MNHREAL64 and MNHREAL64_MPI + typo corrections
+!  P. Wautelet 27/03/2019: use MNHTIME and MNHTIME_MPI instead of MNHREAL64 and MNHREAL64_MPI
 !
 
-INTEGER     :: NLUOUT_TIMING
+implicit none
+
+private
+
+public :: SECOND_MNH2, SET_ILUOUT_TIMING, TIME_HEADER_ll, TIME_STAT_ll
+public :: TIMING_SEPARATOR, TIMING_LEGEND
+
+INTEGER :: NLUOUT_TIMING
 
 CONTAINS
 
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+subroutine second_mnh2(xt)
 
-SUBROUTINE SECOND_MNH2(XT)
-!
 USE modd_mpif
-!
-REAL*8,DIMENSION(2)           :: XT
-!
-CALL CPU_TIME(XT(1))
-XT(2) = MPI_Wtime()
-END SUBROUTINE SECOND_MNH2
+use modd_precision, only: MNHTIME
+
+real(kind=MNHTIME),dimension(2) :: xt
+
+call cpu_time( xt(1) )
+xt(2) = MPI_WTIME()
 
+end subroutine second_mnh2
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
@@ -86,18 +94,18 @@ END SUBROUTINE SECOND_MNH2
 !*       0.    DECLARATIONS
 !
   USE MODD_MPIF
-  use modd_precision, only: MNHREAL64, MNHREAL64_MPI
+  use modd_precision, only: MNHTIME, MNHTIME_MPI
   USE MODD_VAR_ll,    ONLY: IP, NMNH_COMM_WORLD, NPROC
   !
   IMPLICIT NONE
 !
 !*       0.1   Declarations of dummy arguments :
 ! 
-  REAL(kind=MNHREAL64), DIMENSION(:), INTENT(IN)    :: PRES ! (1)=CPU & (2)=ELAPSED Processes Timing
-  REAL(kind=MNHREAL64), DIMENSION(:), INTENT(INOUT) :: PSUM ! (1)=SUM(CPU) & (2)=SUM(ELAPSED) Timing
-  CHARACTER(len=*), OPTIONAL,         INTENT(IN)    :: HPRINT
-  CHARACTER       , OPTIONAL,         INTENT(IN)    :: HSEP
-  CHARACTER(len=*), OPTIONAL,         INTENT(IN)    :: HFULL
+  REAL(kind=MNHTIME), DIMENSION(:), INTENT(IN)    :: PRES ! (1)=CPU & (2)=ELAPSED Processes Timing
+  REAL(kind=MNHTIME), DIMENSION(:), INTENT(INOUT) :: PSUM ! (1)=SUM(CPU) & (2)=SUM(ELAPSED) Timing
+  CHARACTER(len=*), OPTIONAL,       INTENT(IN)    :: HPRINT
+  CHARACTER       , OPTIONAL,       INTENT(IN)    :: HSEP
+  CHARACTER(len=*), OPTIONAL,       INTENT(IN)    :: HFULL
 !
 !*       0.2   Declarations of local variables :
 !
@@ -108,8 +116,8 @@ END SUBROUTINE SECOND_MNH2
   CHARACTER(len=30)         :: FILE = ""
   INTEGER                   :: IC
 
-  REAL(kind=MNHREAL64), DIMENSION(2,NSTAT) :: ZSTAT ! (1)=Sum(proc),(2)=Sum/Nproc,(3)=Min(proc),(4)=Max(proc),(5)=Percent(1)
-  REAL(kind=MNHREAL64), DIMENSION(2,NPROC) :: ZSTAT_ALL
+  REAL(kind=MNHTIME), DIMENSION(2,NSTAT) :: ZSTAT ! (1)=Sum(proc),(2)=Sum/Nproc,(3)=Min(proc),(4)=Max(proc),(5)=Percent(1)
+  REAL(kind=MNHTIME), DIMENSION(2,NPROC) :: ZSTAT_ALL
   INTEGER, DIMENSION(NPROC) :: IND
   INTEGER :: ILU
 !
@@ -119,15 +127,15 @@ END SUBROUTINE SECOND_MNH2
 !           ------------------------------
 INFO = -1
 ! 1.1 Sum(Proc)
-  CALL MPI_ALLREDUCE(PRES, ZSTAT(:,1), 2, MNHREAL64_MPI, &
+  CALL MPI_ALLREDUCE(PRES, ZSTAT(:,1), 2, MNHTIME_MPI, &
                      MPI_SUM, NMNH_COMM_WORLD, INFO)
 ! 1.2 Sum/Proc
   ZSTAT(:,2) = ZSTAT(:,1 ) / NPROC
 ! 1.3 Min(Proc)
-  CALL MPI_ALLREDUCE(PRES, ZSTAT(:,3), 2, MNHREAL64_MPI, &
+  CALL MPI_ALLREDUCE(PRES, ZSTAT(:,3), 2, MNHTIME_MPI, &
                      MPI_MIN, NMNH_COMM_WORLD, INFO)
 ! 1.4 Max(Proc)
-  CALL MPI_ALLREDUCE(PRES, ZSTAT(:,4), 2, MNHREAL64_MPI, &
+  CALL MPI_ALLREDUCE(PRES, ZSTAT(:,4), 2, MNHTIME_MPI, &
                      MPI_MAX, NMNH_COMM_WORLD, INFO)
 
 
@@ -154,7 +162,7 @@ INFO = -1
       ! gather all data
       !CALL  TIMING_SEPARATOR(HSEP)
       IROOT = 0
-      CALL MPI_GATHER(PRES(:),2,MNHREAL64_MPI,ZSTAT_ALL(:,1),2,MNHREAL64_MPI,&
+      CALL MPI_GATHER(PRES(:),2,MNHTIME_MPI,ZSTAT_ALL(:,1),2,MNHTIME_MPI,&
            IROOT,NMNH_COMM_WORLD, INFO)
       IF (IP.EQ.1) THEN
          FILE = trim(adjustl(HPRINT))
@@ -187,12 +195,12 @@ INFO = -1
 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 
 subroutine triabulle(vec,ind)
-use modd_precision, only: MNHREAL64
+use modd_precision, only: MNHTIME
 
 implicit none
 
-real(kind=MNHREAL64), dimension(:), intent(inout) :: vec
-integer,              dimension(:), intent(out)   :: ind
+real(kind=MNHTIME), dimension(:), intent(inout) :: vec
+integer,            dimension(:), intent(out)   :: ind
 
 logical :: a
 integer :: i
diff --git a/src/MNH/modeln.f90 b/src/MNH/modeln.f90
index a903c134fac224153fbdb1462f1b5942baefb0fa..c8cb87d01b35fe78fa53eff85c02c3334efe7b74 100644
--- a/src/MNH/modeln.f90
+++ b/src/MNH/modeln.f90
@@ -1,6 +1,6 @@
-!MNH_LIC Copyright 1994-2018 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1994-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.
 !-----------------------------------------------------------------
 !     ###################
@@ -254,6 +254,7 @@ END MODULE MODI_MODEL_n
 !!  Philippe Wautelet: 21/01/2019: add LIO_ALLOW_NO_BACKUP and LIO_NO_WRITE to modd_io_ll
 !                                  to allow to disable writes (for bench purposes)
 !!                   02/2019 C.Lac add rain fraction as an output field
+!  P. Wautelet 28/03/2019: use MNHTIME for time measurement variables
 !!-------------------------------------------------------------------------------
 !
 !*       0.     DECLARATIONS
@@ -322,6 +323,7 @@ USE MODD_PARAM_MFSHALL_n
 USE MODD_PARAM_n
 USE MODD_PAST_FIELD_n
 USE MODD_PRECIP_n
+use modd_precision,      only: MNHTIME
 USE MODD_PROFILER_n
 USE MODD_RADIATIONS_n,   ONLY: XTSRAD,XSCAFLASWD,XDIRFLASWD,XDIRSRFSWD, XAER, XDTHRAD
 USE MODD_RAIN_ICE_DESCR, ONLY: XRTMIN
@@ -440,9 +442,8 @@ INTEGER :: IVERB                ! LFI verbosity level
 LOGICAL :: GSTEADY_DMASS        ! conditional call to mass computation
 !
                                 ! for computing time analysis
-REAL*8,DIMENSION(2)         :: ZTIME,ZTIME1,ZTIME2,ZEND,ZTOT,ZALL,ZTOT_PT
-!
-REAL*8,DIMENSION(2)         :: ZTIME_STEP,ZTIME_STEP_PTS
+REAL(kind=MNHTIME), DIMENSION(2) :: ZTIME, ZTIME1, ZTIME2, ZEND, ZTOT, ZALL, ZTOT_PT
+REAL(kind=MNHTIME), DIMENSION(2) :: ZTIME_STEP,ZTIME_STEP_PTS
 CHARACTER                 :: YMI
 INTEGER                   :: IPOINTS
 CHARACTER(len=16)         :: YTCOUNT,YPOINTS
@@ -707,45 +708,45 @@ IF (KTCOUNT == 1) THEN
   !
 !
   !
-  XT_START = 0.0
-  ! 
-  XT_STORE     = 0.0
-  XT_BOUND     = 0.0
-  XT_GUESS     = 0.0
-  XT_FORCING   = 0.0
-  XT_NUDGING   = 0.0
-  XT_ADV       = 0.0
-  XT_ADVUVW    = 0.0
-  XT_GRAV      = 0.0
-  XT_SOURCES   = 0.0
+  XT_START     = 0.0_MNHTIME
+  !
+  XT_STORE     = 0.0_MNHTIME
+  XT_BOUND     = 0.0_MNHTIME
+  XT_GUESS     = 0.0_MNHTIME
+  XT_FORCING   = 0.0_MNHTIME
+  XT_NUDGING   = 0.0_MNHTIME
+  XT_ADV       = 0.0_MNHTIME
+  XT_ADVUVW    = 0.0_MNHTIME
+  XT_GRAV      = 0.0_MNHTIME
+  XT_SOURCES   = 0.0_MNHTIME
   !
-  XT_DIFF      = 0.0
-  XT_RELAX     = 0.0
-  XT_PARAM     = 0.0
-  XT_SPECTRA   = 0.0
-  XT_HALO      = 0.0
-  XT_VISC      = 0.0  
-  XT_RAD_BOUND = 0.0
-  XT_PRESS     = 0.0
+  XT_DIFF      = 0.0_MNHTIME
+  XT_RELAX     = 0.0_MNHTIME
+  XT_PARAM     = 0.0_MNHTIME
+  XT_SPECTRA   = 0.0_MNHTIME
+  XT_HALO      = 0.0_MNHTIME
+  XT_VISC      = 0.0_MNHTIME
+  XT_RAD_BOUND = 0.0_MNHTIME
+  XT_PRESS     = 0.0_MNHTIME
   !
-  XT_CLOUD     = 0.0
-  XT_STEP_SWA  = 0.0
-  XT_STEP_MISC = 0.0
-  XT_COUPL     = 0.0
-  XT_1WAY      = 0.0
-  XT_STEP_BUD  = 0.0
+  XT_CLOUD     = 0.0_MNHTIME
+  XT_STEP_SWA  = 0.0_MNHTIME
+  XT_STEP_MISC = 0.0_MNHTIME
+  XT_COUPL     = 0.0_MNHTIME
+  XT_1WAY      = 0.0_MNHTIME
+  XT_STEP_BUD  = 0.0_MNHTIME
   !
-  XT_RAD       = 0.0
-  XT_DCONV     = 0.0
-  XT_GROUND    = 0.0
-  XT_TURB      = 0.0
-  XT_MAFL      = 0.0
-  XT_DRAG      = 0.0
-  XT_TRACER    = 0.0
-  XT_SHADOWS   = 0.0
-  XT_ELEC      = 0.0
-  XT_CHEM      = 0.0
-  XT_2WAY      = 0.0
+  XT_RAD       = 0.0_MNHTIME
+  XT_DCONV     = 0.0_MNHTIME
+  XT_GROUND    = 0.0_MNHTIME
+  XT_TURB      = 0.0_MNHTIME
+  XT_MAFL      = 0.0_MNHTIME
+  XT_DRAG      = 0.0_MNHTIME
+  XT_TRACER    = 0.0_MNHTIME
+  XT_SHADOWS   = 0.0_MNHTIME
+  XT_ELEC      = 0.0_MNHTIME
+  XT_CHEM      = 0.0_MNHTIME
+  XT_2WAY      = 0.0_MNHTIME
   !
 END IF
 !
diff --git a/src/MNH/phys_paramn.f90 b/src/MNH/phys_paramn.f90
index 106ec1623adf6772a63f57eca3e0692aacce497d..e2d454fe789405a36c559a4be58753f627ee3aab 100644
--- a/src/MNH/phys_paramn.f90
+++ b/src/MNH/phys_paramn.f90
@@ -1,9 +1,10 @@
-!MNH_LIC Copyright 1995-2018 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 1995-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.
+!-----------------------------------------------------------------
 !    ########################
-     MODULE MODI_PHYS_PARAM_n  
+     MODULE MODI_PHYS_PARAM_n
 !    ########################
 !
 !
@@ -13,18 +14,17 @@ INTERFACE
                               PRAD,PSHADOWS,PKAFR,PGROUND,PMAFL,PDRAG,PTURB,PTRACER,       &
                               PTIME_BU, PWETDEPAER, OMASKkids,OCLOUD_ONLY                  )           
 !
-USE MODD_IO_ll, ONLY: TFILEDATA
+USE MODD_IO_ll,     ONLY: TFILEDATA
+use modd_precision, only: MNHTIME
 !
 INTEGER,           INTENT(IN)     :: KTCOUNT   ! temporal iteration count
 TYPE(TFILEDATA),   INTENT(IN)     :: TPFILE    ! Synchronous output file
 LOGICAL,           INTENT(IN)     :: OCLOSE_OUT! conditional closure of the 
                                                ! OUTPUT FM-file
-! advection schemes                   
-REAL*8,DIMENSION(2), INTENT(INOUT)  :: PRAD,PSHADOWS,PKAFR,PGROUND,PTURB,PMAFL,PDRAG,PTRACER ! to store CPU
-                                               ! time for computing time
-                                        
-REAL*8,DIMENSION(2),              INTENT(INOUT)  :: PTIME_BU  ! time used in budget&LES budgets
-     !        statistics
+! advection schemes
+REAL(kind=MNHTIME), DIMENSION(2), INTENT(INOUT) :: PRAD,PSHADOWS,PKAFR,PGROUND,PTURB,PMAFL,PDRAG,PTRACER ! to store CPU
+                                                                                                         ! time for computing time
+REAL(kind=MNHTIME), DIMENSION(2), INTENT(INOUT) :: PTIME_BU  ! time used in budget&LES budgets statistics
 REAL, DIMENSION(:,:,:,:), INTENT(INOUT)  :: PWETDEPAER
 LOGICAL, DIMENSION(:,:), INTENT(IN) :: OMASKkids ! kids domains mask
 LOGICAL, INTENT(OUT) :: OCLOUD_ONLY ! conditionnal radiation computations for
@@ -230,8 +230,9 @@ END MODULE MODI_PHYS_PARAM_n
 !!      C.Lac  10/2017 : ch_monitor and aer_monitor extracted from phys_param
 !!                       to be called directly by modeln as the last process 
 !!                   02/2018 Q.Libois ECRAD
-!!     28/03/2018 P. Wautelet: replace TEMPORAL_DIST by DATETIME_DISTANCE
-!!  Philippe Wautelet: 05/2016-04/2018: new data structures and calls for I/O
+!  P. Wautelet 28/03/2018: replace TEMPORAL_DIST by DATETIME_DISTANCE
+!  P. Wautelet 05/2016-04/2018: new data structures and calls for I/O
+!  P. Wautelet 28/03/2019: use MNHTIME for time measurement variables
 !!-------------------------------------------------------------------------------
 !
 !*       0.     DECLARATIONS
@@ -293,6 +294,7 @@ USE MODD_PARAM_MFSHALL_n
 USE MODI_SHALLOW_MF_PACK
 USE MODD_CLOUD_MF_n
 USE MODD_ADV_n,            ONLY : XRTKEMS
+use modd_precision,        only: MNHTIME
 !
 USE MODI_SURF_RAD_MODIF
 USE MODI_GROUND_PARAM_n
@@ -347,11 +349,10 @@ INTEGER,           INTENT(IN)     :: KTCOUNT   ! temporal iteration count
 TYPE(TFILEDATA),   INTENT(IN)     :: TPFILE    ! Synchronous output file
 LOGICAL,           INTENT(IN)     :: OCLOSE_OUT! conditional closure of the 
                                                ! OUTPUT FM-file
-! advection schemes                   
-REAL*8,DIMENSION(2), INTENT(INOUT)  :: PRAD,PSHADOWS,PKAFR,PGROUND,PTURB,PMAFL,PDRAG,PTRACER ! to store CPU
-                                               ! time for computing time
-                                               !        statistics
-REAL*8,DIMENSION(2),              INTENT(INOUT)  :: PTIME_BU  ! time used in budget&LES budgets
+! advection schemes
+REAL(kind=MNHTIME), DIMENSION(2), INTENT(INOUT) :: PRAD,PSHADOWS,PKAFR,PGROUND,PTURB,PMAFL,PDRAG,PTRACER ! to store CPU
+                                                                                                         ! time for computing time
+REAL(kind=MNHTIME), DIMENSION(2), INTENT(INOUT) :: PTIME_BU  ! time used in budget&LES budgets statistics
 REAL, DIMENSION(:,:,:,:), INTENT(INOUT)  :: PWETDEPAER
 LOGICAL, DIMENSION(:,:), INTENT(IN) :: OMASKkids ! kids domains mask
 LOGICAL, INTENT(OUT) :: OCLOUD_ONLY ! conditionnal radiation computations for
@@ -403,8 +404,8 @@ REAL    :: ZRAD_GLOB_ll         ! 'real' global parallel mask of 'GRAD'
 INTEGER :: INFO_ll              ! error report of parallel routines
                                 !      the only cloudy columns
 !
-REAL*8,DIMENSION(2)    :: ZTIME1,ZTIME2,ZTIME3,ZTIME4       ! for computing time analysis
-REAL*8,DIMENSION(2)    :: ZTIME_LES_MF         ! time spent in LES computation in shallow conv.
+REAL(kind=MNHTIME), DIMENSION(2) :: ZTIME1, ZTIME2, ZTIME3, ZTIME4 ! for computing time analysis
+REAL(kind=MNHTIME), DIMENSION(2) :: ZTIME_LES_MF                   ! time spent in LES computation in shallow conv.
 LOGICAL :: GDCONV               ! conditionnal call for the deep convection
                                 !         computations
 REAL, DIMENSION(:,:,:), ALLOCATABLE  :: ZRC, ZRI, ZWT ! additional dummies
@@ -454,12 +455,12 @@ IKB = 1 + JPVEXT
 IKE = IKU - JPVEXT
 CALL GET_INDICE_ll (IIB,IJB,IIE,IJE)
 !
-ZTIME1 = 0.0
-ZTIME2 = 0.0
-ZTIME3 = 0.0
-ZTIME4 = 0.0
-PTIME_BU = 0.
-ZTIME_LES_MF = 0.0
+ZTIME1 = 0.0_MNHTIME
+ZTIME2 = 0.0_MNHTIME
+ZTIME3 = 0.0_MNHTIME
+ZTIME4 = 0.0_MNHTIME
+PTIME_BU = 0._MNHTIME
+ZTIME_LES_MF = 0.0_MNHTIME
 PWETDEPAER(:,:,:,:) = 0.
 !
 !* allocation of variables used in more than one parameterization
diff --git a/src/MNH/prep_ideal_case.f90 b/src/MNH/prep_ideal_case.f90
index e1581455a68f6831e5e4968e92f2987f46e577b6..63ee062ea8fbf731eca2a00fc85288835fc9e26b 100644
--- a/src/MNH/prep_ideal_case.f90
+++ b/src/MNH/prep_ideal_case.f90
@@ -310,7 +310,8 @@
 !!  06/2016     (G.Delautier) phasage surfex 8
 !!      P.Wautelet : 08/07/2016 : removed MNH_NCWRIT define
 !!  01/2018      (G.Delautier) SURFEX 8.1
-!!  Philippe Wautelet: 05/2016-04/2018: new data structures and calls for I/O
+!  P. Wautelet: 05/2016-04/2018: new data structures and calls for I/O
+!  P. Wautelet 28/03/2019: use MNHTIME for time measurement variables
 !-------------------------------------------------------------------------------
 !
 !*       0.   DECLARATIONS
@@ -349,7 +350,7 @@ USE MODD_IO_ll,     ONLY: NIO_VERB,NVERB_DEBUG,TFILE_DUMMY,TFILE_OUTPUTLISTING
 USE MODD_CONF_n
 USE MODD_NSV,      ONLY : NSV,NSV_CHEM,           &
                           NSV_DSTEND, NSV_DSTBEG
-use modd_precision, only: LFIINT, MNHREAL_MPI
+use modd_precision, only: LFIINT, MNHREAL_MPI, MNHTIME
 !
 USE MODN_BLANK
 !
@@ -554,7 +555,7 @@ REAL, DIMENSION(:,:,:), ALLOCATABLE ::ZTHL,ZT,ZRT,ZFRAC_ICE,&
 REAL                :: ZDIST
 !
 !JUAN TIMING
-REAL*8,DIMENSION(2)         :: ZTIME1,ZTIME2,ZEND,ZTOT
+REAL(kind=MNHTIME), DIMENSION(2) :: ZTIME1, ZTIME2, ZEND, ZTOT
 CHARACTER                 :: YMI
 INTEGER                   :: IMI
 INTEGER::JK                                 
@@ -622,8 +623,8 @@ CALL VERSION
 CPROGRAM='IDEAL '
 !
 !JUAN TIMING
-  XT_START     = 0.0
-  XT_STORE     = 0.0
+  XT_START     = 0.0_MNHTIME
+  XT_STORE     = 0.0_MNHTIME
 !
   CALL SECOND_MNH2(ZEND)
 !
diff --git a/src/MNH/shallow_mf_pack.f90 b/src/MNH/shallow_mf_pack.f90
index ba519f8e3eefe4a15b9471ff07ebca2530fea29c..46f477b19b6c3a075f09ff98c06cddce86260c80 100644
--- a/src/MNH/shallow_mf_pack.f90
+++ b/src/MNH/shallow_mf_pack.f90
@@ -1,7 +1,8 @@
-!MNH_LIC Copyright 2010-2018 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 2010-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.
+!-----------------------------------------------------------------
 !    ######################
      MODULE MODI_SHALLOW_MF_PACK
 !    ######################
@@ -21,10 +22,11 @@ INTERFACE
                 PSIGMF,PRC_MF,PRI_MF,PCF_MF,PFLXZTHVMF  )
 !     #################################################################
 !!
-USE MODD_IO_ll, ONLY: TFILEDATA
-!               
+USE MODD_IO_ll,     ONLY: TFILEDATA
+use modd_precision, only: MNHTIME
+!
 !*               1.1  Declaration of Arguments
-!                
+!
 !
 INTEGER,                INTENT(IN)   :: KRR        ! number of moist var.
 INTEGER,                INTENT(IN)   :: KRRL       ! number of liquid water var.
@@ -39,7 +41,7 @@ LOGICAL,                INTENT(IN)   :: OCLOSE_OUT ! switch for synchronous
 LOGICAL,                INTENT(IN)   :: OMF_FLX    ! switch to write the
                                                    ! MF fluxes in the synchronous FM-file
 TYPE(TFILEDATA),        INTENT(IN)   :: TPFILE     ! Output file
-REAL*8,DIMENSION(2),    INTENT(OUT)  :: PTIME_LES  ! time spent in LES computations
+REAL(kind=MNHTIME),DIMENSION(2), INTENT(OUT)  :: PTIME_LES  ! time spent in LES computations
 REAL,                   INTENT(IN)   :: PIMPL_MF   ! degre of implicitness
 REAL,                   INTENT(IN)   :: PTSTEP     ! Dynamical timestep 
 
@@ -110,32 +112,35 @@ END MODULE MODI_SHALLOW_MF_PACK
 !!     AUTHOR
 !!     ------
 !!      V.Masson 09/2010
-!!      Modification R. Honnert 07/2012 : introduction of vertical wind 
-!!                                        for the height of the thermal
-!!                   M. Leriche 02/2017 : avoid negative values for sv tendencies
-!!  Philippe Wautelet: 05/2016-04/2018: new data structures and calls for I/O
-!!                   S. Riette 11/2016: support for CFRAC_ICE_SHALLOW_MF
-!! --------------------------------------------------------------------------
+! --------------------------------------------------------------------------
+! Modifications:
+!  R. Honnert     07/2012: introduction of vertical wind for the height of the thermal
+!  M. Leriche     02/2017: avoid negative values for sv tendencies
+!  P. Wautelet 05/2016-04/2018: new data structures and calls for I/O
+!  S. Riette      11/2016: support for CFRAC_ICE_SHALLOW_MF
+!  P. Wautelet 28/03/2019: use MNHTIME for time measurement variables
+! --------------------------------------------------------------------------
 !
 !*      0. DECLARATIONS
 !          ------------
 !
-USE MODD_PARAMETERS
-USE MODD_CST
+USE MODD_BUDGET
 USE MODD_CONF
+USE MODD_CST
 USE MODD_IO_ll, ONLY: TFILEDATA
 USE MODD_NSV
+USE MODD_PARAMETERS
 USE MODD_PARAM_ICE, ONLY : CFRAC_ICE_SHALLOW_MF
 USE MODD_PARAM_MFSHALL_n
-USE MODD_BUDGET
+use modd_precision, only: MNHTIME
 
 USE MODE_FIELD, ONLY: TFIELDDATA,TYPEREAL
 USE MODE_FMWRIT
 
-USE MODI_SHALLOW_MF
 USE MODI_BUDGET
-USE MODI_SHUMAN
 USE MODI_DIAGNOS_LES_MF
+USE MODI_SHALLOW_MF
+USE MODI_SHUMAN
 !
 IMPLICIT NONE
 
@@ -156,7 +161,7 @@ LOGICAL,                INTENT(IN)   :: OCLOSE_OUT ! switch for synchronous
 LOGICAL,                INTENT(IN)   :: OMF_FLX    ! switch to write the
                                                    ! MF fluxes in the synchronous FM-file
 TYPE(TFILEDATA),        INTENT(IN)   :: TPFILE     ! Output file
-REAL*8,DIMENSION(2),    INTENT(OUT)  :: PTIME_LES  ! time spent in LES computations
+REAL(kind=MNHTIME),DIMENSION(2), INTENT(OUT)  :: PTIME_LES  ! time spent in LES computations
 REAL,                   INTENT(IN)   :: PIMPL_MF   ! degre of implicitness
 REAL,                   INTENT(IN)   :: PTSTEP     ! Dynamical timestep