Index: /NEMO/branches/2019/dev_r10742_ENHANCE-12_SimonM-Tides/src/OCE/DYN/dynspg.F90
===================================================================
--- /NEMO/branches/2019/dev_r10742_ENHANCE-12_SimonM-Tides/src/OCE/DYN/dynspg.F90	(revision 10851)
+++ /NEMO/branches/2019/dev_r10742_ENHANCE-12_SimonM-Tides/src/OCE/DYN/dynspg.F90	(revision 10852)
@@ -21,5 +21,4 @@
    USE dynspg_exp     ! surface pressure gradient     (dyn_spg_exp routine)
    USE dynspg_ts      ! surface pressure gradient     (dyn_spg_ts  routine)
-   USE sbctide        ! 
    USE tide_mod       !
    USE trd_oce        ! trends: ocean variables
Index: /NEMO/branches/2019/dev_r10742_ENHANCE-12_SimonM-Tides/src/OCE/DYN/dynspg_ts.F90
===================================================================
--- /NEMO/branches/2019/dev_r10742_ENHANCE-12_SimonM-Tides/src/OCE/DYN/dynspg_ts.F90	(revision 10851)
+++ /NEMO/branches/2019/dev_r10742_ENHANCE-12_SimonM-Tides/src/OCE/DYN/dynspg_ts.F90	(revision 10852)
@@ -44,5 +44,4 @@
    USE bdytides        ! open boundary condition data
    USE bdydyn2d        ! open boundary conditions on barotropic variables
-   USE sbctide         ! tides
    USE tide_mod        !
    USE sbcwave         ! surface wave
Index: MO/branches/2019/dev_r10742_ENHANCE-12_SimonM-Tides/src/OCE/SBC/sbctide.F90
===================================================================
--- /NEMO/branches/2019/dev_r10742_ENHANCE-12_SimonM-Tides/src/OCE/SBC/sbctide.F90	(revision 10851)
+++ 	(revision )
@@ -1,85 +1,0 @@
-MODULE sbctide
-   !!======================================================================
-   !!                       ***  MODULE  sbctide  ***
-   !! Initialization of tidal forcing
-   !!======================================================================
-   !! History :  9.0  !  2007  (O. Le Galloudec)  Original code
-   !!----------------------------------------------------------------------
-   USE oce            ! ocean dynamics and tracers variables
-   USE dom_oce        ! ocean space and time domain
-   USE phycst         ! physical constant
-   USE daymod         ! calandar
-   USE tide_mod       ! 
-   !
-   USE in_out_manager ! I/O units
-   USE iom            ! xIOs server
-   USE ioipsl         ! NetCDF IPSL library
-   USE lbclnk         ! ocean lateral boundary conditions (or mpp link)
-
-   IMPLICIT NONE
-   PRIVATE
-
-   PUBLIC sbc_tide
- 
-   !!----------------------------------------------------------------------
-   !! NEMO/OCE 4.0 , NEMO Consortium (2018)
-   !! $Id$
-   !! Software governed by the CeCILL license (see ./LICENSE)
-   !!----------------------------------------------------------------------
-CONTAINS
-
-   SUBROUTINE sbc_tide( kt )
-      !!----------------------------------------------------------------------
-      !!                 ***  ROUTINE sbc_tide  ***
-      !!----------------------------------------------------------------------      
-      INTEGER, INTENT( in ) ::   kt     ! ocean time-step
-      INTEGER               ::   jk     ! dummy loop index
-      INTEGER               ::   nsec_day_orig     ! Temporary variable
-      !!----------------------------------------------------------------------
-      
-      IF( nsec_day == NINT(0.5_wp * rdt) .OR. kt == nit000 ) THEN      ! start a new day
-         !
-         !
-         IF( ln_read_load )THEN
-            IF ( kt == nit000 ) CALL tide_init_load
-            amp_pot(:,:,:) = amp_load(:,:,:)
-            phi_pot(:,:,:) = phi_load(:,:,:)
-         ELSE 
-            amp_pot(:,:,:) = 0._wp
-            phi_pot(:,:,:) = 0._wp
-         ENDIF
-         pot_astro(:,:) = 0._wp
-         !
-         ! If the run does not start from midnight then need to initialise tides
-         ! at the start of the current day (only occurs when kt==nit000)
-         ! Temporarily set nsec_day to beginning of day.
-         nsec_day_orig = nsec_day
-         IF ( nsec_day /= NINT(0.5_wp * rdt) ) THEN 
-            kt_tide = kt - (nsec_day - 0.5_wp * rdt)/rdt
-            nsec_day = NINT(0.5_wp * rdt)
-         ELSE
-            kt_tide = kt 
-         ENDIF
-         CALL tide_harmo(tide_components, tide_harmonics) ! Update oscillation parameters of tidal components
-         !
-         !
-         IF(lwp) THEN
-            WRITE(numout,*)
-            WRITE(numout,*) 'sbc_tide : Update of the components and (re)Init. the potential at kt=', kt
-            WRITE(numout,*) '~~~~~~~~ '
-            DO jk = 1, nb_harmo
-               WRITE(numout,*) tide_harmonics(jk)%cname_tide, tide_harmonics(jk)%u, &
-                  &            tide_harmonics(jk)%f,tide_harmonics(jk)%v0, tide_harmonics(jk)%omega
-            END DO
-         ENDIF
-         !
-         IF( ln_tide_pot )   CALL tide_init_potential
-         !
-         ! Reset nsec_day
-         nsec_day = nsec_day_orig 
-      ENDIF
-      !
-   END SUBROUTINE sbc_tide
-
-  !!======================================================================
-END MODULE sbctide
Index: /NEMO/branches/2019/dev_r10742_ENHANCE-12_SimonM-Tides/src/OCE/TDE/tide_mod.F90
===================================================================
--- /NEMO/branches/2019/dev_r10742_ENHANCE-12_SimonM-Tides/src/OCE/TDE/tide_mod.F90	(revision 10851)
+++ /NEMO/branches/2019/dev_r10742_ENHANCE-12_SimonM-Tides/src/OCE/TDE/tide_mod.F90	(revision 10852)
@@ -20,13 +20,11 @@
 
    PUBLIC   tide_init
-   PUBLIC   tide_harmo           ! called internally and by module sbdtide
+   PUBLIC   tide_update          ! called by stp
    PUBLIC   tide_init_harmonics  ! called internally and by module diaharm
-   PUBLIC   tide_init_load
-   PUBLIC   tide_init_potential
    PUBLIC   upd_tide         ! called in dynspg_... modules
 
    INTEGER, PUBLIC, PARAMETER ::   jpmax_harmo = 64   !: maximum number of harmonic components
 
-   TYPE, PUBLIC ::    tide
+   TYPE ::    tide
       CHARACTER(LEN=4) ::   cname_tide = ''
       REAL(wp)         ::   equitide
@@ -37,5 +35,5 @@
    END TYPE tide
 
-   TYPE(tide), PUBLIC, DIMENSION(:), POINTER ::   tide_components !: Array of selected tidal component parameters
+   TYPE(tide), DIMENSION(:), POINTER ::   tide_components !: Array of selected tidal component parameters
 
    TYPE, PUBLIC ::   tide_harmonic       !:   Oscillation parameters of harmonic tidal components
@@ -52,5 +50,5 @@
    LOGICAL , PUBLIC ::   ln_tide         !:
    LOGICAL , PUBLIC ::   ln_tide_pot     !:
-   LOGICAL , PUBLIC ::   ln_read_load    !:
+   LOGICAL          ::   ln_read_load    !:
    LOGICAL , PUBLIC ::   ln_scal_load    !:
    LOGICAL , PUBLIC ::   ln_tide_ramp    !:
@@ -63,6 +61,6 @@
 
    REAL(wp), PUBLIC, ALLOCATABLE, DIMENSION(:,:)   ::   pot_astro !: tidal potential
-   REAL(wp), PUBLIC, ALLOCATABLE, DIMENSION(:,:,:) ::   amp_pot, phi_pot
-   REAL(wp), PUBLIC, ALLOCATABLE, DIMENSION(:,:,:) ::   amp_load, phi_load
+   REAL(wp),         ALLOCATABLE, DIMENSION(:,:,:) ::   amp_pot, phi_pot
+   REAL(wp),         ALLOCATABLE, DIMENSION(:,:,:) ::   amp_load, phi_load
 
 
@@ -318,4 +316,58 @@
 
 
+   SUBROUTINE tide_update( kt )
+      !!----------------------------------------------------------------------
+      !!                 ***  ROUTINE tide_update  ***
+      !!----------------------------------------------------------------------      
+      INTEGER, INTENT( in ) ::   kt     ! ocean time-step
+      INTEGER               ::   jk     ! dummy loop index
+      INTEGER               ::   nsec_day_orig     ! Temporary variable
+      !!----------------------------------------------------------------------
+      
+      IF( nsec_day == NINT(0.5_wp * rdt) .OR. kt == nit000 ) THEN      ! start a new day
+         !
+         !
+         IF( ln_read_load )THEN
+            IF ( kt == nit000 ) CALL tide_init_load
+            amp_pot(:,:,:) = amp_load(:,:,:)
+            phi_pot(:,:,:) = phi_load(:,:,:)
+         ELSE 
+            amp_pot(:,:,:) = 0._wp
+            phi_pot(:,:,:) = 0._wp
+         ENDIF
+         pot_astro(:,:) = 0._wp
+         !
+         ! If the run does not start from midnight then need to initialise tides
+         ! at the start of the current day (only occurs when kt==nit000)
+         ! Temporarily set nsec_day to beginning of day.
+         nsec_day_orig = nsec_day
+         IF ( nsec_day /= NINT(0.5_wp * rdt) ) THEN 
+            kt_tide = kt - (nsec_day - 0.5_wp * rdt)/rdt
+            nsec_day = NINT(0.5_wp * rdt)
+         ELSE
+            kt_tide = kt 
+         ENDIF
+         CALL tide_harmo(tide_components, tide_harmonics) ! Update oscillation parameters of tidal components
+         !
+         !
+         IF(lwp) THEN
+            WRITE(numout,*)
+            WRITE(numout,*) 'tide_update : Update of the components and (re)Init. the potential at kt=', kt
+            WRITE(numout,*) '~~~~~~~~~~~ '
+            DO jk = 1, nb_harmo
+               WRITE(numout,*) tide_harmonics(jk)%cname_tide, tide_harmonics(jk)%u, &
+                  &            tide_harmonics(jk)%f,tide_harmonics(jk)%v0, tide_harmonics(jk)%omega
+            END DO
+         ENDIF
+         !
+         IF( ln_tide_pot )   CALL tide_init_potential
+         !
+         ! Reset nsec_day
+         nsec_day = nsec_day_orig 
+      ENDIF
+      !
+   END SUBROUTINE tide_update
+
+
    SUBROUTINE tide_harmo( ptide_comp, ptide_harmo )
       !
Index: /NEMO/branches/2019/dev_r10742_ENHANCE-12_SimonM-Tides/src/OCE/step.F90
===================================================================
--- /NEMO/branches/2019/dev_r10742_ENHANCE-12_SimonM-Tides/src/OCE/step.F90	(revision 10851)
+++ /NEMO/branches/2019/dev_r10742_ENHANCE-12_SimonM-Tides/src/OCE/step.F90	(revision 10852)
@@ -110,5 +110,5 @@
       ! Update external forcing (tides, open boundaries, and surface boundary condition (including sea-ice)
       !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
-      IF( ln_tide    )   CALL sbc_tide( kstp )                   ! update tide potential
+      IF( ln_tide    )   CALL tide_update( kstp )                ! update tide potential
       IF( ln_apr_dyn )   CALL sbc_apr ( kstp )                   ! atmospheric pressure (NB: call before bdy_dta which needs ssh_ib) 
       IF( ln_bdy     )   CALL bdy_dta ( kstp, time_offset=+1 )   ! update dynamic & tracer data at open boundaries
Index: /NEMO/branches/2019/dev_r10742_ENHANCE-12_SimonM-Tides/src/OCE/step_oce.F90
===================================================================
--- /NEMO/branches/2019/dev_r10742_ENHANCE-12_SimonM-Tides/src/OCE/step_oce.F90	(revision 10851)
+++ /NEMO/branches/2019/dev_r10742_ENHANCE-12_SimonM-Tides/src/OCE/step_oce.F90	(revision 10852)
@@ -19,6 +19,5 @@
    USE sbccpl          ! surface boundary condition: coupled formulation (call send at end of step)
    USE sbcapr          ! surface boundary condition: atmospheric pressure
-   USE sbctide         ! Tide initialisation
-   USE tide_mod, ONLY : ln_tide
+   USE tide_mod, ONLY : ln_tide, tide_update
    USE sbcwave         ! Wave intialisation
 
