diff --git a/examples/Makefile.am b/examples/Makefile.am
index 6bc6ac5d8324a269d81988dde6f4ade54def44b1..735c4f22387c8a58c205cd04c86788a54a72b446 100644
--- a/examples/Makefile.am
+++ b/examples/Makefile.am
@@ -18,6 +18,7 @@ noinst_PROGRAMS =       \
     time_calculus     \
     uniq              \
     test_dace         \
+    test_dace_hl      \
     int_div_example
 endif ENABLE_EXAMPLES
 
@@ -34,6 +35,7 @@ modulo_SOURCES = modulo.c
 recurrence_SOURCES = recurrence.c
 time_calculus_SOURCES = time_calculus.c
 test_dace_SOURCES = test_dace.f90 mo_event_manager.f90
+test_dace_hl_SOURCES = test_dace_hl.f90
 int_div_example_SOURCES = int_div_example.c
 
 if FCMODUC
@@ -75,7 +77,9 @@ repetitor.$(OBJEXT)        \
 simulate_iau.$(OBJEXT)     \
 tas.$(OBJEXT)              \
 uniq.$(OBJEXT)             \
-test_dace.$(OBJEXT): $(top_builddir)/src/$(mtime_mod)
+test_dace.$(OBJEXT)        \
+test_dace_hl.$(OBJEXT):    \
+$(top_builddir)/src/$(mtime_mod)
 
 example_hl.$(OBJEXT)   \
 iconoce_hl.$(OBJEXT)   \
diff --git a/examples/Makefile.in b/examples/Makefile.in
index 0bc0a3efeed0a2d6fac661fdbb7e7b648485b7d3..5a0456d5075fd02243333d785e59984977267161 100644
--- a/examples/Makefile.in
+++ b/examples/Makefile.in
@@ -88,7 +88,7 @@ host_triplet = @host@
 @ENABLE_EXAMPLES_TRUE@	recurrence$(EXEEXT) repetitor$(EXEEXT) \
 @ENABLE_EXAMPLES_TRUE@	simulate_iau$(EXEEXT) tas$(EXEEXT) \
 @ENABLE_EXAMPLES_TRUE@	time_calculus$(EXEEXT) uniq$(EXEEXT) \
-@ENABLE_EXAMPLES_TRUE@	test_dace$(EXEEXT) \
+@ENABLE_EXAMPLES_TRUE@	test_dace$(EXEEXT) test_dace_hl$(EXEEXT) \
 @ENABLE_EXAMPLES_TRUE@	int_div_example$(EXEEXT)
 subdir = examples
 DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
@@ -184,6 +184,10 @@ am_test_dace_OBJECTS = test_dace.$(OBJEXT) mo_event_manager.$(OBJEXT)
 test_dace_OBJECTS = $(am_test_dace_OBJECTS)
 test_dace_LDADD = $(LDADD)
 test_dace_DEPENDENCIES = $(top_builddir)/src/libmtime.la
+am_test_dace_hl_OBJECTS = test_dace_hl.$(OBJEXT)
+test_dace_hl_OBJECTS = $(am_test_dace_hl_OBJECTS)
+test_dace_hl_LDADD = $(LDADD)
+test_dace_hl_DEPENDENCIES = $(top_builddir)/src/libmtime.la
 am_time_calculus_OBJECTS = time_calculus.$(OBJEXT)
 time_calculus_OBJECTS = $(am_time_calculus_OBJECTS)
 time_calculus_LDADD = $(LDADD)
@@ -247,14 +251,14 @@ SOURCES = callback_test.f90 comp_weights.f90 $(duration_SOURCES) \
 	$(model_integration_SOURCES) $(modulo_SOURCES) \
 	output_control.f90 $(recurrence_SOURCES) repetitor.f90 \
 	simulate_iau.f90 tas.f90 $(test_dace_SOURCES) \
-	$(time_calculus_SOURCES) uniq.f90
+	$(test_dace_hl_SOURCES) $(time_calculus_SOURCES) uniq.f90
 DIST_SOURCES = callback_test.f90 comp_weights.f90 $(duration_SOURCES) \
 	example.f90 example_hl.f90 $(iconatm_SOURCES) \
 	$(iconoce_SOURCES) iconoce_hl.f90 $(int_div_example_SOURCES) \
 	$(model_integration_SOURCES) $(modulo_SOURCES) \
 	output_control.f90 $(recurrence_SOURCES) repetitor.f90 \
 	simulate_iau.f90 tas.f90 $(test_dace_SOURCES) \
-	$(time_calculus_SOURCES) uniq.f90
+	$(test_dace_hl_SOURCES) $(time_calculus_SOURCES) uniq.f90
 am__can_run_installinfo = \
   case $$AM_UPDATE_INFO_DIR in \
     n|no|NO) false;; \
@@ -443,6 +447,7 @@ modulo_SOURCES = modulo.c
 recurrence_SOURCES = recurrence.c
 time_calculus_SOURCES = time_calculus.c
 test_dace_SOURCES = test_dace.f90 mo_event_manager.f90
+test_dace_hl_SOURCES = test_dace_hl.f90
 int_div_example_SOURCES = int_div_example.c
 @FCMODUC_FALSE@mo_event_manager_mod = mo_event_manager.$(FCMODEXT)
 @FCMODUC_TRUE@mo_event_manager_mod = MO_EVENT_MANAGER.$(FCMODEXT)
@@ -570,6 +575,10 @@ test_dace$(EXEEXT): $(test_dace_OBJECTS) $(test_dace_DEPENDENCIES) $(EXTRA_test_
 	@rm -f test_dace$(EXEEXT)
 	$(AM_V_FCLD)$(FCLINK) $(test_dace_OBJECTS) $(test_dace_LDADD) $(LIBS)
 
+test_dace_hl$(EXEEXT): $(test_dace_hl_OBJECTS) $(test_dace_hl_DEPENDENCIES) $(EXTRA_test_dace_hl_DEPENDENCIES) 
+	@rm -f test_dace_hl$(EXEEXT)
+	$(AM_V_FCLD)$(FCLINK) $(test_dace_hl_OBJECTS) $(test_dace_hl_LDADD) $(LIBS)
+
 time_calculus$(EXEEXT): $(time_calculus_OBJECTS) $(time_calculus_DEPENDENCIES) $(EXTRA_time_calculus_DEPENDENCIES) 
 	@rm -f time_calculus$(EXEEXT)
 	$(AM_V_CCLD)$(LINK) $(time_calculus_OBJECTS) $(time_calculus_LDADD) $(LIBS)
@@ -874,7 +883,9 @@ repetitor.$(OBJEXT)        \
 simulate_iau.$(OBJEXT)     \
 tas.$(OBJEXT)              \
 uniq.$(OBJEXT)             \
-test_dace.$(OBJEXT): $(top_builddir)/src/$(mtime_mod)
+test_dace.$(OBJEXT)        \
+test_dace_hl.$(OBJEXT):    \
+$(top_builddir)/src/$(mtime_mod)
 
 example_hl.$(OBJEXT)   \
 iconoce_hl.$(OBJEXT)   \
diff --git a/examples/test_dace_hl.f90 b/examples/test_dace_hl.f90
new file mode 100644
index 0000000000000000000000000000000000000000..0de42d7462296d4c4b610e726f5c5af4856d7ebe
--- /dev/null
+++ b/examples/test_dace_hl.f90
@@ -0,0 +1,88 @@
+program test_mtime
+  USE mtime_hl
+
+  call setCalendar(proleptic_gregorian)
+  call test1 ()
+  call test2 ()
+contains
+  subroutine test1 ()
+    TYPE(t_timedelta) :: dt, t0, t1, t2, t3
+
+    WRITE (0,*) "test1:"
+    dt = t_timedelta("PT24.000S")
+    t0 = t_timedelta("PT3600.000S")
+    t1 = t_timedelta("PT3600.000S")
+    t2 = t_timedelta("PT60M")
+    t3 = t_timedelta("PT1H")
+    t1 =  t1 + dt
+    t2 =  t2 + dt
+    t3 =  t3 + dt
+    WRITE(0,*) "  t0 : ", t0%toString(), "Reference"
+    WRITE(0,*) "  dt : ", dt%toString(), "Modification"
+    WRITE(0,*) "  t1 : ", t1%toString(), "???"
+    WRITE(0,*) "  t2 : ", t2%toString(), "OK"
+    WRITE(0,*) "  t3 : ", t3%toString(), "OK"
+  end subroutine test1
+  !-
+  subroutine test2 ()
+    TYPE(t_event)       :: mec_Event
+    TYPE(t_datetime)    :: mec_RefDate
+    TYPE(t_datetime)    :: mec_StartDate
+    TYPE(t_datetime)    :: mec_EndDate
+    TYPE(t_timedelta)   :: mec_Start
+    TYPE(t_timedelta)   :: mec_Stop
+    TYPE(t_timedelta)   :: mec_Interval
+    TYPE(t_timedelta)   :: time_step
+    type(t_eventGroup)  :: mec_Events
+    integer             :: ierr
+    logical             :: lret
+    TYPE(t_datetime)    :: mtime
+    integer             :: i
+
+    mec_Start      = t_timeDelta("PT0S")
+    mec_Stop       = t_timeDelta("PT3600S")
+    mec_Interval   = t_timeDelta("PT300S")
+
+    time_step      = t_timeDelta("PT24S")
+
+    mec_RefDate    = t_datetime ("2016-05-29T00:00:00.000")
+    mec_StartDate  = mec_RefDate
+    mec_EndDate    = mec_RefDate
+    mec_StartDate  = mec_StartDate + mec_Start
+    mec_EndDate    = mec_EndDate   + mec_Stop
+
+    WRITE (0,*)
+    WRITE (0,*) "test2:"
+    WRITE (0,*) "Model time step   : ",   time_step%toString()
+    WRITE (0,*) "MEC start time    : ",   mec_Start%toString()
+    WRITE (0,*) "MEC stop time     : ",   mec_Stop%toString()
+    WRITE (0,*) "MEC interval      : ",   mec_Interval%toString()
+    WRITE (0,*) "MEC reference date: ",   mec_RefDate%toString()
+    WRITE (0,*) "MEC start date    : ",   mec_StartDate%toString()
+    WRITE (0,*) "MEC end date      : ",   mec_EndDate%toString()
+    WRITE (0,*)
+    WRITE (0,*) "Checking event management"
+!    call initEventManager (mec_RefDate)
+
+    mec_Events     =  t_eventGroup('mecEventGroup')
+    mec_Event      =  t_event('mec', mec_RefDate, mec_StartDate, mec_EndDate, mec_Interval)
+
+    call mec_Events%append(mec_Event)
+    WRITE (0,*) "addEventToEventGroup returns:", lret
+!    CALL printEventGroup (mec_Events)
+
+    mtime = mec_StartDate
+    i = 0
+    do
+       if (mec_Event%isActive(mtime, plus_slack=time_step)) then
+          i = i + 1
+          WRITE (0,*) "MEC will be called on: ", trim (mtime%toString())
+       end if
+       IF (mtime >= mec_EndDate) THEN
+          exit
+       end IF
+       mtime = mtime + time_step
+    end do
+    write(0,*) "check_dace_timer: total MEC calls:", i, "(expected: 13)"
+  end subroutine test2
+end program test_mtime