Index: trunk/NEMOGCM/NEMO/OPA_SRC/DOM/daymod.F90
===================================================================
--- trunk/NEMOGCM/NEMO/OPA_SRC/DOM/daymod.F90	(revision 6140)
+++ trunk/NEMOGCM/NEMO/OPA_SRC/DOM/daymod.F90	(revision 7646)
@@ -2,5 +2,5 @@
    !!======================================================================
    !!                       ***  MODULE  daymod  ***
-   !! Ocean        :  calendar
+   !! Ocean :   management of the model calendar
    !!=====================================================================
    !! History :  OPA  ! 1994-09  (M. Pontaud M. Imbard)  Original code
@@ -16,22 +16,19 @@
    !!----------------------------------------------------------------------
    !!   day        : calendar
-   !!
-   !!           -------------------------------
-   !!           ----------- WARNING -----------
-   !!
-   !!   we suppose that the time step is deviding the number of second of in a day
-   !!             ---> MOD( rday, rdt ) == 0
-   !!
-   !!           ----------- WARNING -----------
-   !!           -------------------------------
-   !!
+   !!----------------------------------------------------------------------
+   !!                    ----------- WARNING -----------
+   !!                    -------------------------------
+   !!   sbcmod assume that the time step is dividing the number of second of 
+   !!   in a day, i.e. ===> MOD( rday, rdt ) == 0 
+   !!   except when user defined forcing is used (see sbcmod.F90)
    !!----------------------------------------------------------------------
    USE dom_oce        ! ocean space and time domain
    USE phycst         ! physical constants
+   USE ioipsl  , ONLY :   ymds2ju      ! for calendar
+   USE trc_oce , ONLY :   l_offline   ! offline flag
+   !
    USE in_out_manager ! I/O manager
+   USE prtctl         ! Print control
    USE iom            !
-   USE ioipsl  , ONLY :   ymds2ju   ! for calendar
-   USE prtctl         ! Print control
-   USE trc_oce , ONLY : lk_offline ! offline flag
    USE timing         ! Timing
    USE restart        ! restart
@@ -47,5 +44,5 @@
 
    !!----------------------------------------------------------------------
-   !! NEMO/OPA 3.3 , NEMO Consortium (2010)
+   !! NEMO/OPA 4.0 , NEMO Consortium (2016)
    !! $Id$
    !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt)
@@ -70,6 +67,6 @@
       !!              - nmonth_len, nyear_len, nmonth_half, nmonth_end through day_mth
       !!----------------------------------------------------------------------
-      INTEGER  ::   inbday, idweek
-      REAL(wp) ::   zjul
+      INTEGER  ::   inbday, idweek   ! local integers
+      REAL(wp) ::   zjul             ! local scalar
       !!----------------------------------------------------------------------
       !
@@ -79,17 +76,12 @@
             &           'You must do a restart at higher frequency (or remove this stop and recompile the code in I8)' )
       ENDIF
-      ! all calendar staff is based on the fact that MOD( rday, rdt ) == 0
-      IF( MOD( rday     , rdt   ) /= 0. )   CALL ctl_stop( 'the time step must devide the number of second of in a day' )
-      IF( MOD( rday     , 2.    ) /= 0. )   CALL ctl_stop( 'the number of second of in a day must be an even number'    )
-      IF( MOD( rdt      , 2.    ) /= 0. )   CALL ctl_stop( 'the time step (in second) must be an even number'           )
-      nsecd   = NINT(rday       )
-      nsecd05 = NINT(0.5 * rday )
-      ndt     = NINT(      rdt  )
-      ndt05   = NINT(0.5 * rdt  )
-
-      IF( .NOT. lk_offline ) CALL day_rst( nit000, 'READ' )
+      nsecd   = NINT( rday       )
+      nsecd05 = NINT( 0.5 * rday )
+      ndt     = NINT(       rdt  )
+      ndt05   = NINT( 0.5 * rdt  )
+
+      IF( .NOT. l_offline )   CALL day_rst( nit000, 'READ' )
 
       ! set the calandar from ndastp (read in restart file and namelist)
-
       nyear   =   ndastp / 10000
       nmonth  = ( ndastp - (nyear * 10000) ) / 100
@@ -281,5 +273,5 @@
       ENDIF
 
-      IF( .NOT. lk_offline ) CALL rst_opn( kt )               ! Open the restart file if needed and control lrst_oce
+      IF( .NOT. l_offline ) CALL rst_opn( kt )               ! Open the restart file if needed and control lrst_oce
       IF( lrst_oce         ) CALL day_rst( kt, 'WRITE' )      ! write day restart information
       !
