diff --git a/src/MNH/adv_forcingn.f90 b/src/MNH/adv_forcingn.f90
index bccca3ad61d4c0dac92836519b7812cc65f6e60f..eeb0f247bad3b97f828815b217102d335128734f 100644
--- a/src/MNH/adv_forcingn.f90
+++ b/src/MNH/adv_forcingn.f90
@@ -92,6 +92,7 @@ END MODULE MODI_ADV_FORCING_n
 !!    -------------
 !!      Original    08/11/10
 !!     28/03/2018 P. Wautelet: replace TEMPORAL_DIST by DATETIME_DISTANCE
+!!                             use overloaded comparison operator for date_time
 !!
 !-------------------------------------------------------------------------------
 !
@@ -108,7 +109,6 @@ USE MODD_PARAMETERS
 USE MODD_TIME
 USE MODD_BUDGET
 !
-USE MODI_TEMPORAL_LT
 USE MODI_BUDGET
 !
 USE MODD_ADVFRC_n     ! Modules for time evolving advfrc
@@ -168,14 +168,14 @@ IF (GSFIRSTCALL) THEN
 
 !*        1.2  find first sounding to be used 
   JSX_ADV = 0
-  IF( TEMPORAL_LT ( TPDTCUR, TDTADVFRC(1) ) ) THEN
+  IF( TPDTCUR < TDTADVFRC(1) ) THEN
     WRITE(UNIT=ILUOUT0,FMT='(" THE INITIAL ADV FORCING FIELDS ARE NULL ")') 
-  ELSE IF( .NOT. TEMPORAL_LT ( TPDTCUR, TDTADVFRC(NADVFRC) ) ) THEN
+  ELSE IF( TPDTCUR >= TDTADVFRC(NADVFRC) ) THEN
       WRITE(UNIT=ILUOUT0,FMT='(" THE ADV FORCING FIELDS WILL REMAIN STATIONARY ")')
   ELSE
     TIM1_FOR:  DO JN = NADVFRC-1, 1, -1
                   JSX_ADV = JN
-                  IF( .NOT. TEMPORAL_LT ( TPDTCUR, TDTADVFRC(JSX_ADV) ) ) EXIT TIM1_FOR
+                  IF( TPDTCUR >= TDTADVFRC(JSX_ADV) ) EXIT TIM1_FOR
                END DO TIM1_FOR
 !
     WRITE(UNIT=ILUOUT0,FMT='(" THE INITIAL FORCING FIELDS ARE INTERPOLATED" , &
@@ -189,16 +189,16 @@ END IF
 !
 !    2.1 Temporal interpolation of each term
 !   ------------------------------------------
-IF( TEMPORAL_LT ( TPDTCUR, TDTADVFRC(1) ) ) THEN
+IF( TPDTCUR < TDTADVFRC(1) ) THEN
   ZXADVTHFRC(:,:,:)   = 0.
   ZXADVRVFRC(:,:,:)   = 0.
-ELSE IF ( .NOT. TEMPORAL_LT ( TPDTCUR, TDTADVFRC(NADVFRC) ) ) THEN
+ELSE IF ( TPDTCUR >= TDTADVFRC(NADVFRC) ) THEN
    ZXADVTHFRC(:,:,:)   = XDTHFRC(:,:,:,NADVFRC)
    ZXADVRVFRC(:,:,:)   = XDRVFRC(:,:,:,NADVFRC)
 ELSE
   JXP = JSX_ADV + 1
 
-  IF( .NOT. TEMPORAL_LT ( TPDTCUR, TDTADVFRC(JXP) ) ) THEN
+  IF( TPDTCUR >= TDTADVFRC(JXP) ) THEN
     JSX_ADV = JSX_ADV +1
     JXP= JSX_ADV +1
     WRITE(UNIT=ILUOUT0,FMT='(" THE ADV FORCING FIELDS ARE INTERPOLATED NOW" ,&
diff --git a/src/MNH/forcing.f90 b/src/MNH/forcing.f90
index 24df53fe4200378c7d9553ffc40acbc7afc69660..927b01faff664acccbaae35eb0c2d0a90bd53c7a 100644
--- a/src/MNH/forcing.f90
+++ b/src/MNH/forcing.f90
@@ -149,6 +149,7 @@ END MODULE MODI_FORCING
 !!      01/2014  J. escobar           correction for // initialisation geostrophic ZUF,ZVF,ZWF 
 !!      09/2017 Q.Rodier add LTEND_UV_FRC
 !!      28/03/2018 P. Wautelet        Replace TEMPORAL_DIST by DATETIME_DISTANCE
+!!                                    use overloaded comparison operator for date_time
 !-------------------------------------------------------------------------------
 !
 !*       0.    DECLARATIONS
@@ -170,7 +171,6 @@ USE MODD_CST
 !
 USE MODI_SHUMAN
 USE MODI_UPSTREAM_Z
-USE MODI_TEMPORAL_LT
 USE MODI_BUDGET
 !
 USE MODI_GET_HALO
@@ -275,15 +275,15 @@ IF (GSFIRSTCALL) THEN
 !*        1.2  find first sounding to be used 
 !
   JSX = 0
-  IF( TEMPORAL_LT ( TPDTCUR, TDTFRC(1) ) ) THEN
+  IF( TPDTCUR < TDTFRC(1) ) THEN
     WRITE(UNIT=ILUOUT0,FMT='(" THE INITIAL FORCING FIELDS ARE NULL ")') 
-    ELSE IF( .NOT. TEMPORAL_LT ( TPDTCUR, TDTFRC(NFRC) ) ) THEN
+    ELSE IF( TPDTCUR >= TDTFRC(NFRC) ) THEN
       WRITE(UNIT=ILUOUT0,FMT='(" THE FORCING FIELDS WILL REMAIN STATIONARY ")')
       ELSE
 !
     TIM_FOR:    DO JI = NFRC-1, 1, -1
                   JSX = JI
-                  IF( .NOT. TEMPORAL_LT ( TPDTCUR, TDTFRC(JSX) ) ) EXIT TIM_FOR
+                  IF( TPDTCUR >= TDTFRC(JSX) ) EXIT TIM_FOR
                 END DO TIM_FOR
 !
     WRITE(UNIT=ILUOUT0,FMT='(" THE INITIAL FORCING FIELDS ARE INTERPOLATED" , &
@@ -387,7 +387,7 @@ END IF
 !*       2.     INTERPOLATE IN TIME
 !    	        -------------------
 !
-IF( TEMPORAL_LT ( TPDTCUR, TDTFRC(1) ) ) THEN
+IF( TPDTCUR < TDTFRC(1) ) THEN
   ZXUFRC(:)    = XUFRC(:,1)
   ZXVFRC(:)    = XVFRC(:,1)
   ZXWFRC(:)    = XWFRC(:,1)
@@ -400,7 +400,7 @@ IF( TEMPORAL_LT ( TPDTCUR, TDTFRC(1) ) ) THEN
   ZXTENDUFRC(:) = XTENDUFRC(:,1)
   ZXTENDVFRC(:) = XTENDVFRC(:,1)
   ZXPGROUNDFRC  = XPGROUNDFRC(1)
-ELSE IF ( .NOT. TEMPORAL_LT ( TPDTCUR, TDTFRC(NFRC) ) ) THEN
+ELSE IF ( TPDTCUR >= TDTFRC(NFRC) ) THEN
   ZXUFRC(:)    = XUFRC(:,NFRC)
   ZXVFRC(:)    = XVFRC(:,NFRC)
   ZXWFRC(:)    = XWFRC(:,NFRC)
@@ -415,7 +415,7 @@ ELSE IF ( .NOT. TEMPORAL_LT ( TPDTCUR, TDTFRC(NFRC) ) ) THEN
   ZXPGROUNDFRC  = XPGROUNDFRC(NFRC)
 ELSE
   JXP = JSX + 1
-  IF( .NOT. TEMPORAL_LT ( TPDTCUR, TDTFRC(JXP) ) ) THEN
+  IF( TPDTCUR >= TDTFRC(JXP) ) THEN
     JSX = JSX +1
     JXP= JSX +1
     WRITE(UNIT=ILUOUT0,FMT='(" THE FORCING FIELDS ARE INTERPOLATED NOW" ,&
diff --git a/src/MNH/mode_datetime.f90 b/src/MNH/mode_datetime.f90
index f4db850927d80adbc8f795e9ab3c9baf6f312c20..1e0f9ed7f9022ac26abc4948f140b7cde8d5fcc7 100644
--- a/src/MNH/mode_datetime.f90
+++ b/src/MNH/mode_datetime.f90
@@ -12,11 +12,21 @@ IMPLICIT NONE
 !
 PRIVATE
 !
+PUBLIC :: DATETIME_DISTANCE, DATETIME_CORRECTDATE
+PUBLIC :: OPERATOR(<)
+PUBLIC :: OPERATOR(>=)
+!
 !Reference date (do not change it)
 !To work with DATETIME_TIME2REFERENCE, we assume the year is a multiple of 400 + 1 and the date is January 1st (and time=0.)
 TYPE(DATE_TIME),PARAMETER :: TPREFERENCE_DATE = DATE_TIME( TDATE=DATE(1601,1,1), TIME=0. )
 !
-PUBLIC DATETIME_DISTANCE, DATETIME_CORRECTDATE
+INTERFACE OPERATOR(<)
+  MODULE PROCEDURE DATETIME_LT
+END INTERFACE
+!
+INTERFACE OPERATOR(>=)
+  MODULE PROCEDURE DATETIME_GE
+END INTERFACE
 !
 CONTAINS
 !
@@ -225,4 +235,41 @@ END SELECT
 !
 END SUBROUTINE DATETIME_GETMONTHLGT
 !
+!
+FUNCTION DATETIME_LT(TPT1, TPT2) RESULT (OLT)
+IMPLICIT NONE
+LOGICAL :: OLT
+TYPE(DATE_TIME), INTENT(IN) :: TPT1, TPT2
+!
+! TRUE if TPT1 .LT. TPT2
+!
+!
+IF ( TPT1%TDATE%YEAR .EQ. TPT2%TDATE%YEAR ) THEN
+  IF ( TPT1%TDATE%MONTH .EQ. TPT2%TDATE%MONTH ) THEN
+    IF ( TPT1%TDATE%DAY .EQ. TPT2%TDATE%DAY ) THEN
+      OLT = TPT1%TIME .LT. TPT2%TIME
+    ELSE
+      OLT = TPT1%TDATE%DAY .LT. TPT2%TDATE%DAY
+    END IF
+  ELSE
+   OLT = TPT1%TDATE%MONTH .LT. TPT2%TDATE%MONTH
+  END IF
+ELSE
+  OLT = TPT1%TDATE%YEAR .LT. TPT2%TDATE%YEAR
+ENDIF
+!
+END FUNCTION DATETIME_LT
+!
+!
+FUNCTION DATETIME_GE(TPT1, TPT2) RESULT (OLT)
+IMPLICIT NONE
+LOGICAL :: OLT
+TYPE(DATE_TIME), INTENT(IN) :: TPT1, TPT2
+!
+! TRUE if TPT1 .GE. TPT2
+!
+OLT = .NOT.DATETIME_LT(TPT1,TPT2)
+!
+END FUNCTION DATETIME_GE
+!
 END MODULE MODE_DATETIME
diff --git a/src/MNH/rel_forcingn.f90 b/src/MNH/rel_forcingn.f90
index 7685fc3c6fdcdecaa3cdf38a132bbeec0e08090d..b676884ff770e22f7cf596506465b0bc76e938c5 100644
--- a/src/MNH/rel_forcingn.f90
+++ b/src/MNH/rel_forcingn.f90
@@ -91,6 +91,7 @@ END MODULE MODI_REL_FORCING_n
 !!    -------------
 !!      Original    08/11/10
 !!     28/03/2018 P. Wautelet: replace TEMPORAL_DIST by DATETIME_DISTANCE
+!!                             use overloaded comparison operator for date_time
 !!
 !-------------------------------------------------------------------------------
 !
@@ -110,7 +111,6 @@ USE MODE_IO_ll
 !
 USE MODI_BUDGET
 USE MODI_SHUMAN
-USE MODI_TEMPORAL_LT
 !
 IMPLICIT NONE
 !
@@ -169,14 +169,14 @@ IF (GSFIRSTCALL) THEN
 
 !*        1.2  find first sounding to be used 
   JSX_REL = 0
-  IF( TEMPORAL_LT ( TPDTCUR, TDTRELFRC(1) ) ) THEN
+  IF( TPDTCUR < TDTRELFRC(1) ) THEN
     WRITE(UNIT=ILUOUT0,FMT='(" THE INITIAL REL FORCING FIELDS ARE NULL ")') 
-  ELSE IF( .NOT. TEMPORAL_LT ( TPDTCUR, TDTRELFRC(nRELFRC) ) ) THEN
+  ELSE IF( TPDTCUR >= TDTRELFRC(nRELFRC) ) THEN
       WRITE(UNIT=ILUOUT0,FMT='(" THE REL FORCING FIELDS WILL REMAIN STATIONARY ")')
   ELSE
     TIM1_FOR:  DO JN = NRELFRC-1, 1, -1
                   JSX_REL = JN
-                  IF( .NOT. TEMPORAL_LT ( TPDTCUR, TDTRELFRC(JSX_REL) ) ) EXIT TIM1_FOR
+                  IF( TPDTCUR >= TDTRELFRC(JSX_REL) ) EXIT TIM1_FOR
                END DO TIM1_FOR
 !
     WRITE(UNIT=ILUOUT0,FMT='(" THE INITIAL FORCING FIELDS ARE INTERPOLATED" , &
@@ -190,16 +190,16 @@ END IF
 !
 !    2.1 Temporal interpolation of each term
 !   ------------------------------------------
-IF( TEMPORAL_LT ( TPDTCUR, TDTRELFRC(1) ) ) THEN
+IF( TPDTCUR < TDTRELFRC(1) ) THEN
   ZTHREL(:,:,:)   = 0.
   ZRVREL(:,:,:)   = 0.
-ELSE IF ( .NOT. TEMPORAL_LT ( TPDTCUR, TDTRELFRC(NRELFRC) ) ) THEN
+ELSE IF ( TPDTCUR >= TDTRELFRC(NRELFRC) ) THEN
    ZTHREL(:,:,:)   = XTHREL(:,:,:,NRELFRC)
    ZRVREL(:,:,:)   = XRVREL(:,:,:,NRELFRC)
 ELSE
   JXP = JSX_REL + 1
 
-  IF( .NOT. TEMPORAL_LT ( TPDTCUR, TDTRELFRC(JXP) ) ) THEN
+  IF( TPDTCUR >= TDTRELFRC(JXP) ) THEN
     JSX_REL = JSX_REL +1
     JXP= JSX_REL +1
     ILUOUT0 = TLUOUT0%NLU
diff --git a/src/MNH/set_advfrc.f90 b/src/MNH/set_advfrc.f90
index 3330d4648104af1a6e493df4d60cb5647b8b231e..899127565daaabf0810a561fd3ba0e8c5bbe87a7 100644
--- a/src/MNH/set_advfrc.f90
+++ b/src/MNH/set_advfrc.f90
@@ -74,6 +74,7 @@ END MODULE MODI_SETADVFRC
 !!    -------------
 !!      03/02/10 (Tomasini) USE MODDB_ADVFRC_n for grid-nesting
 !!      J.Escobar : 15/09/2015 : WENO5 & JPHEXT <> 1
+!!      P.Wautelet  28/03/2018 : use overloaded comparison operator for date_time
 !!
 !-------------------------------------------------------------------------------
 !
@@ -92,6 +93,7 @@ USE MODD_LUNIT_n,    ONLY: TLUOUT
 USE MODD_PARAMETERS, ONLY: JPHEXT, JPVEXT
 USE MODD_REF
 ! 
+USE MODE_DATETIME
 USE MODE_IO_ll
 USE MODE_MSG
 USE MODE_THERMO
@@ -100,7 +102,6 @@ USE MODI_HEIGHT_PRESS
 USE MODI_PRESS_HEIGHT
 USE MODI_READ_ASC_LATPRESS
 USE MODI_READ_ASCP
-USE MODI_TEMPORAL_LT
 USE MODI_THETAVPU_THETAVPM 
 !
 IMPLICIT NONE
@@ -327,7 +328,7 @@ DO JL = 1 , NADVFRC
 END DO
 !
 DO JKT = 2,NADVFRC-1
-  IF (.NOT.TEMPORAL_LT(TDTADVFRC(JKT-1), TDTADVFRC(JKT))) THEN
+  IF ( TDTADVFRC(JKT-1) >= TDTADVFRC(JKT) ) THEN
     WRITE(ILUOUT,*) &
       "SET_FRC ERROR: sounding", JKT-1, " is given for a later time than", JKT
     WRITE(ILUOUT,*) &
diff --git a/src/MNH/set_frc.f90 b/src/MNH/set_frc.f90
index ce0ddf00d21862d2de0fbd49f54de9aeb0900622..13e80af36a682638248613c47e31d5682f3cbd57 100644
--- a/src/MNH/set_frc.f90
+++ b/src/MNH/set_frc.f90
@@ -52,7 +52,6 @@ END MODULE MODI_SET_FRC
 !!                                 potential virtual temperature
 !!      Module  MODI_THETAVPU_THETAVPM: to interpolate thetav on wind levels
 !!                                      from thetav on mass levels
-!!      Module  MODI_TEMPORAL_LT: to compare 2 TYPEd date_and_time data
 !!
 !!    IMPLICIT ARGUMENTS
 !!    ------------------
@@ -99,6 +98,7 @@ END MODULE MODI_SET_FRC
 !!                             data. Reproduces the same data instead.
 !!                   09/2017 Q.Rodier add LTEND_UV_FRC
 !!      27/11/17    (Chaboureau) fix bug in allocation relative to LTEND_UV_FRC 
+!!      28/03/2018  (P.Wautelet) use overloaded comparison operator for date_time
 !!
 !-------------------------------------------------------------------------------
 !
@@ -115,6 +115,7 @@ USE MODD_IO_ll, ONLY : TFILEDATA
 USE MODD_REF
 USE MODD_PARAMETERS
 !
+USE MODE_DATETIME
 USE MODE_THERMO
 USE MODE_FM
 USE MODE_IO_ll
@@ -123,7 +124,6 @@ USE MODE_MSG
 USE MODI_HEIGHT_PRESS  ! interface modules
 USE MODI_PRESS_HEIGHT
 USE MODI_THETAVPU_THETAVPM
-USE MODI_TEMPORAL_LT
 !
 IMPLICIT NONE
 !
@@ -453,7 +453,7 @@ END DO ! End of loop in time
 !
 
 DO JKT = 2,NFRC-1
-  IF (.NOT.TEMPORAL_LT(TDTFRC(JKT-1), TDTFRC(JKT))) THEN
+  IF ( TDTFRC(JKT-1) >= TDTFRC(JKT) ) THEN
     WRITE(ILUOUT,*) &
       "SET_FRC ERROR: sounding", JKT-1, " is given for a later time than", JKT
     WRITE(ILUOUT,*) &
diff --git a/src/MNH/set_relfrc.f90 b/src/MNH/set_relfrc.f90
index 436f71e4fca86e938ba8ee687be09427cf785fc5..b794a789fe9f41959aff0175e3b55ecd947f9203 100644
--- a/src/MNH/set_relfrc.f90
+++ b/src/MNH/set_relfrc.f90
@@ -74,6 +74,7 @@ END MODULE MODI_SET_RELFRC
 !!    -------------
 !!      03/02/10 (Tomasini) USE MODD_RELFRC_n for grid-nesting
 !!      J.Escobar : 15/09/2015 : WENO5 & JPHEXT <> 1
+!!      P.Wautelet  28/03/2018 : use overloaded comparison operator for date_time
 !!
 !-------------------------------------------------------------------------------
 !
@@ -91,6 +92,7 @@ USE MODD_PARAMETERS, ONLY: JPHEXT
 USE MODD_REF
 USE MODD_RELFRC_n
 ! 
+USE MODE_DATETIME
 USE MODE_FM
 USE MODE_IO_ll
 USE MODE_MSG
@@ -101,7 +103,6 @@ USE MODI_HEIGHT_PRESS
 USE MODI_PRESS_HEIGHT
 USE MODI_READ_ASC_LATPRESS
 USE MODI_READ_ASCP
-USE MODI_TEMPORAL_LT
 USE MODI_THETAVPU_THETAVPM 
 !
 IMPLICIT NONE
@@ -351,7 +352,7 @@ DO JL = 1 , NRELFRC
 END DO
 !
 DO JKT = 2,NRELFRC-1
-  IF (.NOT.TEMPORAL_LT(TDTRELFRC(JKT-1), TDTRELFRC(JKT))) THEN
+  IF ( TDTRELFRC(JKT-1) >= TDTRELFRC(JKT) ) THEN
     WRITE(ILUOUT,*) &
       "SET_FRC ERROR: sounding", JKT-1, " is given for a later time than", JKT
     WRITE(ILUOUT,*) &
diff --git a/src/MNH/temporal_lt.f90 b/src/MNH/temporal_lt.f90
deleted file mode 100644
index c6374dedf7b69a1bdfa945f680a044a30cc5db34..0000000000000000000000000000000000000000
--- a/src/MNH/temporal_lt.f90
+++ /dev/null
@@ -1,45 +0,0 @@
-!MNH_LIC Copyright 1994-2014 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 for details. version 1.
-!-----------------------------------------------------------------
-!--------------- special set of characters for RCS information
-!-----------------------------------------------------------------
-! $Source$ $Revision$
-! MASDEV4_7 operators 2006/05/18 13:07:25
-!-----------------------------------------------------------------
-MODULE MODI_TEMPORAL_LT
-INTERFACE
-FUNCTION TEMPORAL_LT(TPT1, TPT2) RESULT (OLT)
-USE MODD_TIME, ONLY: DATE_TIME
-IMPLICIT NONE
-LOGICAL :: OLT
-TYPE(DATE_TIME), INTENT(IN) :: TPT1, TPT2
-END FUNCTION TEMPORAL_LT
-END INTERFACE
-END MODULE MODI_TEMPORAL_LT
-!
-FUNCTION TEMPORAL_LT(TPT1, TPT2) RESULT (OLT)
-USE MODD_TIME, ONLY: DATE_TIME
-IMPLICIT NONE
-LOGICAL :: OLT
-TYPE(DATE_TIME), INTENT(IN) :: TPT1, TPT2
-!
-! TRUE if TPT1 .LT. TPT2
-!
-!
-IF ( TPT1%TDATE%YEAR .EQ. TPT2%TDATE%YEAR ) THEN
-  IF ( TPT1%TDATE%MONTH .EQ. TPT2%TDATE%MONTH ) THEN
-    IF ( TPT1%TDATE%DAY .EQ. TPT2%TDATE%DAY ) THEN
-      OLT = TPT1%TIME .LT. TPT2%TIME
-    ELSE
-      OLT = TPT1%TDATE%DAY .LT. TPT2%TDATE%DAY
-    END IF
-  ELSE
-   OLT = TPT1%TDATE%MONTH .LT. TPT2%TDATE%MONTH
-  END IF
-ELSE
-  OLT = TPT1%TDATE%YEAR .LT. TPT2%TDATE%YEAR
-ENDIF
-!
-END FUNCTION TEMPORAL_LT