Index: NEMO/trunk/src/OCE/C1D/c1d.F90
===================================================================
--- NEMO/trunk/src/OCE/C1D/c1d.F90	(revision 14239)
+++ NEMO/trunk/src/OCE/C1D/c1d.F90	(revision 15023)
@@ -8,7 +8,5 @@
    !!            3.5  !  2013-10 (D. Calvert)  add namelist
    !!----------------------------------------------------------------------
-#if defined key_c1d
-   !!----------------------------------------------------------------------
-   !!   'key_c1d'                                   1D column configuration
+
    !!----------------------------------------------------------------------
    !!   c1d_init      : read in the C1D namelist
@@ -24,9 +22,6 @@
    PUBLIC   c1d_init   ! called by nemogcm.F90
 
-   LOGICAL , PUBLIC, PARAMETER ::  lk_c1d = .TRUE.   ! 1D config. flag
-
    REAL(wp), PUBLIC ::  rn_lat1d     !: Column latitude
    REAL(wp), PUBLIC ::  rn_lon1d     !: Column longitude
-   LOGICAL , PUBLIC ::  ln_c1d_locpt !: Localization (or not) of 1D column in a grid
 
    !!----------------------------------------------------------------------
@@ -47,5 +42,5 @@
       INTEGER ::   ios   ! Local integer
       !!
-      NAMELIST/namc1d/ rn_lat1d, rn_lon1d , ln_c1d_locpt
+      NAMELIST/namc1d/ rn_lat1d, rn_lon1d
       !!----------------------------------------------------------------------
       !
@@ -64,22 +59,8 @@
          WRITE(numout,*) '      column latitude                 rn_lat1d     = ', rn_lat1d
          WRITE(numout,*) '      column longitude                rn_lon1d     = ', rn_lon1d
-         WRITE(numout,*) '      column localization in a grid   ln_c1d_locpt = ', ln_c1d_locpt
       ENDIF
       !
    END SUBROUTINE c1d_init
 
-#else
-   !!----------------------------------------------------------------------
-   !!   Dummy module :                           No use of 1D configuration
-   !!----------------------------------------------------------------------
-   USE par_kind         ! kind parameters
-   LOGICAL, PUBLIC, PARAMETER ::   lk_c1d = .FALSE.   !: 1D config. flag de-activated
-   REAL(wp)                   ::   rn_lat1d, rn_lon1d
-   LOGICAL , PUBLIC           ::   ln_c1d_locpt = .FALSE. 
-CONTAINS
-   SUBROUTINE c1d_init               ! Dummy routine
-   END SUBROUTINE c1d_init
-#endif
-
    !!======================================================================
 END MODULE c1d
Index: NEMO/trunk/src/OCE/C1D/dtauvd.F90
===================================================================
--- NEMO/trunk/src/OCE/C1D/dtauvd.F90	(revision 14239)
+++ NEMO/trunk/src/OCE/C1D/dtauvd.F90	(revision 15023)
@@ -26,6 +26,6 @@
    PUBLIC   dta_uvd        ! called by istate.F90 and dyndmp.90
 
-   LOGICAL , PUBLIC ::   ln_uvd_init     ! Flag to initialise with U & V current data
-   LOGICAL , PUBLIC ::   ln_uvd_dyndmp   ! Flag for Newtonian damping toward U & V current data
+   LOGICAL , PUBLIC ::   ln_uvd_init   = .FALSE.   ! Flag to initialise with U & V current data
+   LOGICAL , PUBLIC ::   ln_uvd_dyndmp = .FALSE.   ! Flag for Newtonian damping toward U & V current data
 
    TYPE(FLD), ALLOCATABLE, DIMENSION(:) ::   sf_uvd   ! structure for input U & V current (file information and data)
@@ -93,5 +93,5 @@
 
       !
-      IF(  ln_uvd_init .OR. ln_uvd_dyndmp  ) THEN
+      IF( ln_uvd_init .OR. ln_uvd_dyndmp ) THEN
          !                          !==   allocate the data arrays   ==!
          ALLOCATE( sf_uvd(2), STAT=ierr0 )
@@ -117,5 +117,5 @@
 
 
-   SUBROUTINE dta_uvd( kt, Kmm, puvd )
+   SUBROUTINE dta_uvd( kt, Kmm, pud, pvd )
       !!----------------------------------------------------------------------
       !!                   ***  ROUTINE dta_uvd  ***
@@ -134,5 +134,6 @@
       INTEGER                           , INTENT(in   ) ::   kt     ! ocean time-step
       INTEGER                           , INTENT(in   ) ::   Kmm    ! time level index
-      REAL(wp), DIMENSION(jpi,jpj,jpk,2), INTENT(  out) ::   puvd   ! U & V current data
+      REAL(wp), DIMENSION(jpi,jpj,jpk)  , INTENT(  out) ::   pud    ! U & V current data
+      REAL(wp), DIMENSION(jpi,jpj,jpk)  , INTENT(  out) ::   pvd    ! U & V current data
       !
       INTEGER ::   ji, jj, jk, jl, jkk               ! dummy loop indicies
@@ -146,6 +147,6 @@
       CALL fld_read( kt, 1, sf_uvd )      !==   read U & V current data at time step kt   ==!
       !
-      puvd(:,:,:,1) = sf_uvd(1)%fnow(:,:,:)                 ! NO mask
-      puvd(:,:,:,2) = sf_uvd(2)%fnow(:,:,:) 
+      pud(:,:,:) = sf_uvd(1)%fnow(:,:,:)                 ! NO mask
+      pvd(:,:,:) = sf_uvd(2)%fnow(:,:,:) 
       !
       IF( ln_sco ) THEN                   !==   s- or mixed s-zps-coordinate   ==!
@@ -162,15 +163,15 @@
                zl = gdept(ji,jj,jk,Kmm)
                IF    ( zl < gdept_1d(1  ) ) THEN          ! extrapolate above the first level of data
-                  zup(jk) =  puvd(ji,jj,1    ,1)
-                  zvp(jk) =  puvd(ji,jj,1    ,2)
+                  zup(jk) =  pud(ji,jj,1)
+                  zvp(jk) =  pvd(ji,jj,1)
                ELSEIF( zl > gdept_1d(jpk) ) THEN          ! extrapolate below the last level of data
-                  zup(jk) =  puvd(ji,jj,jpkm1,1)
-                  zvp(jk) =  puvd(ji,jj,jpkm1,2)
+                  zup(jk) =  pud(ji,jj,jpkm1)
+                  zvp(jk) =  pvd(ji,jj,jpkm1)
                ELSE                                      ! inbetween : vertical interpolation between jkk & jkk+1
                   DO jkk = 1, jpkm1                      ! when  gdept(jkk) < zl < gdept(jkk+1)
                      IF( (zl-gdept_1d(jkk)) * (zl-gdept_1d(jkk+1)) <= 0._wp ) THEN
                         zi = ( zl - gdept_1d(jkk) ) / (gdept_1d(jkk+1)-gdept_1d(jkk))
-                        zup(jk) = puvd(ji,jj,jkk,1) + ( puvd(ji,jj,jkk+1,1 ) - puvd(ji,jj,jkk,1) ) * zi 
-                        zvp(jk) = puvd(ji,jj,jkk,2) + ( puvd(ji,jj,jkk+1,2 ) - puvd(ji,jj,jkk,2) ) * zi
+                        zup(jk) = pud(ji,jj,jkk) + ( pud(ji,jj,jkk+1) - pud(ji,jj,jkk) ) * zi 
+                        zvp(jk) = pvd(ji,jj,jkk) + ( pvd(ji,jj,jkk+1) - pvd(ji,jj,jkk) ) * zi
                      ENDIF
                   END DO
@@ -178,9 +179,9 @@
             END DO
             DO jk = 1, jpkm1           ! apply mask
-               puvd(ji,jj,jk,1) = zup(jk) * umask(ji,jj,jk)
-               puvd(ji,jj,jk,2) = zvp(jk) * vmask(ji,jj,jk)
+               pud(ji,jj,jk) = zup(jk) * umask(ji,jj,jk)
+               pvd(ji,jj,jk) = zvp(jk) * vmask(ji,jj,jk)
             END DO
-            puvd(ji,jj,jpk,1) = 0._wp
-            puvd(ji,jj,jpk,2) = 0._wp
+            pud(ji,jj,jpk) = 0._wp
+            pvd(ji,jj,jpk) = 0._wp
          END_2D
          ! 
@@ -189,6 +190,6 @@
       ELSE                                !==   z- or zps- coordinate   ==!
          !                             
-         puvd(:,:,:,1) = puvd(:,:,:,1) * umask(:,:,:)       ! apply mask
-         puvd(:,:,:,2) = puvd(:,:,:,2) * vmask(:,:,:)
+         pud(:,:,:) = pud(:,:,:) * umask(:,:,:)       ! apply mask
+         pvd(:,:,:) = pvd(:,:,:) * vmask(:,:,:)
          !
          IF( ln_zps ) THEN                ! zps-coordinate (partial steps) interpolation at the last ocean level
@@ -197,6 +198,6 @@
                IF( ik > 1 ) THEN
                   zl = ( gdept_1d(ik) - gdept_0(ji,jj,ik) ) / ( gdept_1d(ik) - gdept_1d(ik-1) )
-                  puvd(ji,jj,ik,1) = (1.-zl) * puvd(ji,jj,ik,1) + zl * puvd(ji,jj,ik-1,1)
-                  puvd(ji,jj,ik,2) = (1.-zl) * puvd(ji,jj,ik,2) + zl * puvd(ji,jj,ik-1,2)
+                  pud(ji,jj,ik) = (1.-zl) * pud(ji,jj,ik) + zl * pud(ji,jj,ik-1)
+                  pvd(ji,jj,ik) = (1.-zl) * pvd(ji,jj,ik) + zl * pvd(ji,jj,ik-1)
                ENDIF
             END_2D
Index: NEMO/trunk/src/OCE/C1D/dyncor_c1d.F90
===================================================================
--- NEMO/trunk/src/OCE/C1D/dyncor_c1d.F90	(revision 14239)
+++ 	(revision )
@@ -1,112 +1,0 @@
-MODULE dyncor_c1d
-   !!======================================================================
-   !!                     ***  MODULE  dyncor_c1d  ***
-   !! Ocean Dynamics :   Coriolis term in 1D configuration
-   !!=====================================================================
-   !! History :  2.0  !  2004-09  (C. Ethe)  Original code
-   !!            3.0  !  2008-04  (G. Madec)  style only
-   !!----------------------------------------------------------------------
-#if defined key_c1d
-   !!----------------------------------------------------------------------
-   !!   'key_c1d'                                          1D Configuration
-   !!----------------------------------------------------------------------
-   !!   cor_c1d       : Coriolis factor at T-point (1D configuration)
-   !!   dyn_cor_c1d   : vorticity trend due to Coriolis at T-point
-   !!----------------------------------------------------------------------
-   USE oce            ! ocean dynamics and tracers
-   USE dom_oce        ! ocean space and time domain
-   USE phycst         ! physical constants
-   !
-   USE in_out_manager ! I/O manager
-   USE prtctl         ! Print control
-
-   USE sbcwave        ! Surface Waves (add Stokes-Coriolis force)
-   USE sbc_oce , ONLY : ln_stcor    ! use Stoke-Coriolis force
-   
-   IMPLICIT NONE
-   PRIVATE
-
-   PUBLIC   cor_c1d      ! called by nemogcm.F90
-   PUBLIC   dyn_cor_c1d  ! called by step1d.F90
-
-   !! * Substitutions
-#  include "do_loop_substitute.h90"
-   !!----------------------------------------------------------------------
-   !! NEMO/OCE 4.0 , NEMO Consortium (2018)
-   !! $Id$ 
-   !! Software governed by the CeCILL license (see ./LICENSE)
-   !!----------------------------------------------------------------------
-CONTAINS
-
-   SUBROUTINE cor_c1d
-      !!----------------------------------------------------------------------
-      !!                   ***  ROUTINE cor_c1d  ***
-      !! 
-      !! ** Purpose : set the Coriolis factor at T-point
-      !!----------------------------------------------------------------------
-      REAL(wp) ::   zphi0, zbeta, zf0   ! local scalars
-      !!----------------------------------------------------------------------
-
-      IF(lwp) WRITE(numout,*)
-      IF(lwp) WRITE(numout,*) 'cor_c1d : Coriolis factor at T-point'
-      IF(lwp) WRITE(numout,*) '~~~~~~~'
-
-      !
-   END SUBROUTINE cor_c1d
-
-
-   SUBROUTINE dyn_cor_c1d( kt, Kmm, puu, pvv, Krhs )
-      !!----------------------------------------------------------------------
-      !!                   ***  ROUTINE dyn_cor_c1d  ***
-      !! 
-      !! ** Purpose :   Compute the now Coriolis trend and add it to 
-      !!               the general trend of the momentum equation in 1D case.
-      !!----------------------------------------------------------------------
-      INTEGER                             , INTENT(in   ) ::   kt        ! ocean time-step index
-      INTEGER                             , INTENT(in   ) ::   Kmm, Krhs ! ocean time level indices
-      REAL(wp), DIMENSION(jpi,jpj,jpk,jpt), INTENT(inout) ::   puu, pvv  ! ocean velocities and RHS of momentum equation
-      !!
-      INTEGER ::   ji, jj, jk   ! dummy loop indices
-      !!----------------------------------------------------------------------
-      !
-      IF( kt == nit000 ) THEN
-         IF(lwp) WRITE(numout,*)
-         IF(lwp) WRITE(numout,*) 'dyn_cor_c1d : total vorticity trend in 1D'
-         IF(lwp) WRITE(numout,*) '~~~~~~~~~~'
-      ENDIF
-      !
-      IF( ln_stcor ) THEN
-         DO_3D( 0, 0, 0, 0, 1, jpkm1 )
-            puu(ji,jj,jk,Krhs) = puu(ji,jj,jk,Krhs) + ff_t(ji,jj) * (pvv(ji,jj,jk,Kmm) + vsd(ji,jj,jk))
-            pvv(ji,jj,jk,Krhs) = pvv(ji,jj,jk,Krhs) - ff_t(ji,jj) * (puu(ji,jj,jk,Kmm) + usd(ji,jj,jk))
-         END_3D
-      ELSE
-         DO_3D( 0, 0, 0, 0, 1, jpkm1 )
-            puu(ji,jj,jk,Krhs) = puu(ji,jj,jk,Krhs) + ff_t(ji,jj) * pvv(ji,jj,jk,Kmm)
-            pvv(ji,jj,jk,Krhs) = pvv(ji,jj,jk,Krhs) - ff_t(ji,jj) * puu(ji,jj,jk,Kmm)
-         END_3D
-      END IF
-      
-      !
-      IF(sn_cfctl%l_prtctl)   CALL prt_ctl( tab3d_1=puu(:,:,:,Krhs), clinfo1=' cor  - Ua: ', mask1=umask,  &
-         &                                  tab3d_2=pvv(:,:,:,Krhs), clinfo2=' Va: '       , mask2=vmask )
-      !
-   END SUBROUTINE dyn_cor_c1d
-
-#else
-   !!----------------------------------------------------------------------
-   !!   Default key                                     NO 1D Configuration
-   !!----------------------------------------------------------------------
-CONTAINS
-   SUBROUTINE cor_c1d              ! Empty routine
-       IMPLICIT NONE
-   END SUBROUTINE cor_c1d   
-   SUBROUTINE dyn_cor_c1d ( kt )      ! Empty routine
-      IMPLICIT NONE
-      INTEGER, INTENT( in ) :: kt
-      WRITE(*,*) 'dyn_cor_c1d: You should not have seen this print! error?', kt
-   END SUBROUTINE dyn_cor_c1d
-#endif
-
-   !!=====================================================================
-END MODULE dyncor_c1d
Index: NEMO/trunk/src/OCE/C1D/dyndmp.F90
===================================================================
--- NEMO/trunk/src/OCE/C1D/dyndmp.F90	(revision 14239)
+++ NEMO/trunk/src/OCE/C1D/dyndmp.F90	(revision 15023)
@@ -159,6 +159,5 @@
       !
       !                           !==   read and interpolate U & V current data at kt   ==!
-      CALL dta_uvd( kt, Kmm, zuv_dta ) !!! NOTE: This subroutine must be altered for use outside
-                                  !!!       the C1D context (use of U,V grid variables)
+      CALL dta_uvd( kt, Kmm, zuv_dta(:,:,:,1), zuv_dta(:,:,:,2))
       !
       SELECT CASE ( nn_zdmp )     !==   Calculate/add Newtonian damping to the momentum trend   ==!
Index: NEMO/trunk/src/OCE/C1D/step_c1d.F90
===================================================================
--- NEMO/trunk/src/OCE/C1D/step_c1d.F90	(revision 14239)
+++ 	(revision )
@@ -1,163 +1,0 @@
-MODULE step_c1d
-   !!======================================================================
-   !!                       ***  MODULE step_c1d  ***
-   !! Time-stepping    : manager of the ocean, tracer and ice time stepping - c1d case
-   !!======================================================================
-   !! History :   2.0  !  2004-04  (C. Ethe)  adapted from step.F90 for C1D
-   !!             3.0  !  2008-04  (G. Madec)  redo the adaptation to include SBC
-   !!             4.1  !  2019-08  (A. Coward, D. Storkey) rewrite in preparation for new timestepping scheme
-   !!----------------------------------------------------------------------
-#if defined key_c1d
-   !!----------------------------------------------------------------------
-   !!   'key_c1d'                                       1D Configuration
-   !!----------------------------------------------------------------------
-   !!   stp_c1d        : NEMO system time-stepping in c1d case
-   !!----------------------------------------------------------------------
-   USE step_oce        ! time stepping definition modules
-   USE step, ONLY : Nbb, Nnn, Naa, Nrhs ! time level indices
-#if defined key_top
-   USE trcstp          ! passive tracer time-stepping      (trc_stp routine)
-#endif
-   USE dyncor_c1d      ! Coriolis term (c1d case)         (dyn_cor_1d     )
-   USE dynatf          ! time filtering                   (dyn_atf routine)
-   USE dyndmp          ! U & V momentum damping           (dyn_dmp routine)
-   USE restart         ! restart
-
-   IMPLICIT NONE
-   PRIVATE
-
-   PUBLIC stp_c1d      ! called by nemogcm.F90
-
-   !!----------------------------------------------------------------------
-   !! NEMO/OCE 4.0 , NEMO Consortium (2018)
-   !! $Id$
-   !! Software governed by the CeCILL license (see ./LICENSE)
-   !!----------------------------------------------------------------------
-CONTAINS
-
-   SUBROUTINE stp_c1d( kstp )
-      !!----------------------------------------------------------------------
-      !!                     ***  ROUTINE stp_c1d  ***
-      !!
-      !! ** Purpose :  - Time stepping of SBC including sea ice (dynamic and thermodynamic eqs.)
-      !!               - Time stepping of OCE (momentum and active tracer eqs.)
-      !!               - Time stepping of TOP (passive tracer eqs.)
-      !!
-      !! ** Method  : -1- Update forcings and data
-      !!              -2- Update vertical ocean physics
-      !!              -3- Compute the t and s trends
-      !!              -4- Update t and s
-      !!              -5- Compute the momentum trends
-      !!              -6- Update the horizontal velocity
-      !!              -7- Compute the diagnostics variables (rd,N2, div,cur,w)
-      !!              -8- Outputs and diagnostics
-      !!----------------------------------------------------------------------
-      INTEGER, INTENT(in) ::   kstp   ! ocean time-step index
-      !
-      INTEGER ::   jk       ! dummy loop indice
-      !! ---------------------------------------------------------------------
-      IF( kstp == nit000 )   CALL iom_init( "nemo")   ! iom_put initialization (must be done after nemo_init for AGRIF+XIOS+OASIS)
-      IF( kstp /= nit000 )   CALL day( kstp )         ! Calendar (day was already called at nit000 in day_init)
-                             CALL iom_setkt( kstp - nit000 + 1, "nemo" )   ! say to iom that we are at time step kstp
-
-      !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-      ! Update data, open boundaries, surface boundary condition (including sea-ice)
-      !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
-                         CALL sbc    ( kstp, Nbb, Nnn )  ! Sea Boundary Condition (including sea-ice)
-
-      !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-      ! Ocean physics update
-      !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
-                         CALL eos_rab( ts(:,:,:,:,Nbb), rab_b, Nnn )  ! before local thermal/haline expension ratio at T-points
-                         CALL eos_rab( ts(:,:,:,:,Nnn), rab_n, Nnn )  ! now    local thermal/haline expension ratio at T-points
-                         CALL bn2( ts(:,:,:,:,Nbb), rab_b, rn2b, Nnn ) ! before Brunt-Vaisala frequency
-                         CALL bn2( ts(:,:,:,:,Nnn), rab_n, rn2 , Nnn ) ! now    Brunt-Vaisala frequency
-
-      !  VERTICAL PHYSICS
-                         CALL zdf_phy( kstp, Nbb, Nnn, Nrhs  )    ! vertical physics update (bfr, avt, avs, avm + MLD)
-
-      IF(.NOT.ln_linssh )   CALL ssh_nxt       ( kstp, Nbb, Nnn, ssh, Naa )  ! after ssh (includes call to div_hor)
-      IF(.NOT.ln_linssh )   CALL dom_vvl_sf_nxt( kstp, Nbb, Nnn,      Naa )  ! after vertical scale factors
-
-      IF(.NOT.ln_linssh )   CALL wzv           ( kstp, Nbb, Nnn, Naa, ww )  ! now cross-level velocity
-      !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-      ! diagnostics and outputs
-      !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
-                         CALL dia_wri( kstp, Nnn )  ! ocean model: outputs
-                         CALL dia_hth( kstp, Nnn )  ! Thermocline depth (20°C)
-
-
-#if defined key_top
-      !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-      ! Passive Tracer Model
-      !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
-                        CALL trc_stp( kstp, Nbb, Nnn, Nrhs, Naa  )   ! time-stepping
-#endif
-
-      !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-      ! Active tracers                              (uu(:,:,:,Nrhs), vv(:,:,:,Nrhs) used as workspace)
-      !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
-                        ts(:,:,:,:,Nrhs) = 0._wp       ! set tracer trends to zero
-
-                        CALL tra_sbc( kstp,      Nnn, ts, Nrhs  )  ! surface boundary condition
-      IF( ln_traqsr )   CALL tra_qsr( kstp,      Nnn, ts, Nrhs  )  ! penetrative solar radiation qsr
-      IF( ln_tradmp )   CALL tra_dmp( kstp, Nbb, Nnn, ts, Nrhs  )  ! internal damping trends- tracers
-      IF(.NOT.ln_linssh)CALL tra_adv( kstp, Nbb, Nnn, ts, Nrhs  )  ! horizontal & vertical advection
-      IF( ln_zdfmfc  )  CALL tra_mfc( kstp, Nbb     , ts, Nrhs  )  ! Mass Flux Convection
-      IF( ln_zdfosm  )  CALL tra_osm( kstp, Nnn     , ts, Nrhs  )  ! OSMOSIS non-local tracer fluxes
-                        CALL tra_zdf( kstp, Nbb, Nnn, Nrhs, ts, Naa   )         ! vertical mixing
-                        CALL eos( ts(:,:,:,:,Nnn), rhd, rhop, gdept_0(:,:,:) )  ! now potential density for zdfmxl
-      IF( ln_zdfnpc )   CALL tra_npc( kstp,      Nnn, Nrhs, ts, Naa   )         ! applied non penetrative convective adjustment on (t,s)
-                        CALL tra_atf( kstp, Nbb, Nnn, Naa, ts )                 ! time filtering of "now" tracer arrays
-
-      !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-      ! Dynamics                                    (ta, sa used as workspace)
-      !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
-                        uu(:,:,:,Nrhs) = 0._wp          ! set dynamics trends to zero
-                        vv(:,:,:,Nrhs) = 0._wp
-
-      IF( ln_dyndmp )   CALL dyn_dmp    ( kstp, Nbb, Nnn      , uu, vv, Nrhs )  ! internal damping trends- momentum
-                        CALL dyn_cor_c1d( kstp,      Nnn      , uu, vv, Nrhs )  ! vorticity term including Coriolis
-      IF( ln_zdfosm  )  CALL dyn_osm    ( kstp,      Nnn      , uu, vv, Nrhs )  ! OSMOSIS non-local velocity fluxes
-                        CALL dyn_zdf    ( kstp, Nbb, Nnn, Nrhs, uu, vv, Naa  )  ! vertical diffusion
-                        CALL dyn_atf    ( kstp, Nbb, Nnn, Naa , uu, vv, e3t, e3u, e3v )  ! time filtering of "now" fields
-      IF(.NOT.ln_linssh)CALL ssh_atf    ( kstp, Nbb, Nnn, Naa , ssh )                    ! time filtering of "now" sea surface height
-      IF( kstp == nit000 .AND. ln_linssh) THEN
-         ssh(:,:,Naa) = ssh(:,:,Nnn)  ! init ssh after in ln_linssh case
-      ENDIF
-      !
-      ! Swap time levels
-      Nrhs = Nbb
-      Nbb = Nnn
-      Nnn = Naa
-      Naa = Nrhs
-      !
-      IF(.NOT.ln_linssh)CALL dom_vvl_sf_update( kstp, Nbb, Nnn, Naa )                    ! update of vertical scale factors
-
-      !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-      ! Control and restarts
-      !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
-                             CALL stp_ctl( kstp, Nnn )
-      IF( kstp == nit000 )   CALL iom_close( numror )          ! close input  ocean restart file
-      IF( lrst_oce       )   CALL rst_write( kstp, Nbb, Nnn )  ! write output ocean restart file
-      !
-#if defined key_xios
-      IF( kstp == nitend .OR. nstop > 0 )   CALL xios_context_finalize()   ! needed for XIOS
-      !
-#endif
-   END SUBROUTINE stp_c1d
-
-#else
-   !!----------------------------------------------------------------------
-   !!   Default key                                            NO 1D Config
-   !!----------------------------------------------------------------------
-CONTAINS
-   SUBROUTINE stp_c1d ( kt )      ! dummy routine
-      IMPLICIT NONE
-      INTEGER, INTENT( in ) :: kt
-      WRITE(*,*) 'stp_c1d: You should not have seen this print! error?', kt
-   END SUBROUTINE stp_c1d
-#endif
-
-   !!======================================================================
-END MODULE step_c1d
