Index: /branches/nemo_v3_3_beta/NEMOGCM/CONFIG/makenemo
===================================================================
--- /branches/nemo_v3_3_beta/NEMOGCM/CONFIG/makenemo	(revision 2408)
+++ /branches/nemo_v3_3_beta/NEMOGCM/CONFIG/makenemo	(revision 2409)
@@ -224,5 +224,4 @@
 	. ${COMPIL_DIR}/Fread_dir.sh LIM_SRC_3   NO  
 	. ${COMPIL_DIR}/Fread_dir.sh TOP_SRC	 NO  
-	. ${COMPIL_DIR}/Fread_dir.sh C1D_SRC	 YES 
 	. ${COMPIL_DIR}/Fread_dir.sh NST_SRC	 YES 
 	. ${COMPIL_DIR}/Fread_dir.sh OFF_SRC	 NO  
Index: /branches/nemo_v3_3_beta/NEMOGCM/NEMO/OPA_SRC/C1D/c1d.F90
===================================================================
--- /branches/nemo_v3_3_beta/NEMOGCM/NEMO/OPA_SRC/C1D/c1d.F90	(revision 2409)
+++ /branches/nemo_v3_3_beta/NEMOGCM/NEMO/OPA_SRC/C1D/c1d.F90	(revision 2409)
@@ -0,0 +1,24 @@
+MODULE c1d
+   !!======================================================================
+   !!                     ***  MODULE  c1d  ***
+   !! Ocean domain  :  1D configuration
+   !!=====================================================================
+   !! History :   2.0  !  2004-09  (C. Ethe)  Original code
+   !!             3.0  !  2008-04 (G. Madec)  adaptation to SBC
+   !!----------------------------------------------------------------------
+
+   IMPLICIT NONE
+   PRIVATE
+
+#if defined key_c1d
+   LOGICAL, PUBLIC, PARAMETER ::   lk_c1d = .TRUE.    !: 1D config. flag activated
+#else
+   LOGICAL, PUBLIC, PARAMETER ::   lk_c1d = .FALSE.   !: 1D config. flag de-activated
+#endif
+
+   !!----------------------------------------------------------------------
+   !! NEMO/C1D 3.3 , NEMO Consortium (2010)
+   !! $Id: c1d.F90 2382 2010-11-13 13:08:12Z gm $ 
+   !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt)
+   !!======================================================================
+END MODULE c1d
Index: /branches/nemo_v3_3_beta/NEMOGCM/NEMO/OPA_SRC/C1D/dyncor_c1d.F90
===================================================================
--- /branches/nemo_v3_3_beta/NEMOGCM/NEMO/OPA_SRC/C1D/dyncor_c1d.F90	(revision 2409)
+++ /branches/nemo_v3_3_beta/NEMOGCM/NEMO/OPA_SRC/C1D/dyncor_c1d.F90	(revision 2409)
@@ -0,0 +1,125 @@
+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
+
+   IMPLICIT NONE
+   PRIVATE
+
+   PUBLIC   cor_c1d      ! routine called by OPA.F90
+   PUBLIC   dyn_cor_c1d  ! routine called by step1d.F90
+
+   !! * Substitutions
+#  include "vectopt_loop_substitute.h90"
+   !!----------------------------------------------------------------------
+   !! NEMO/C1D 3.3 , NEMO Consortium (2010)
+   !! $Id: dyncor_c1d.F90 2382 2010-11-13 13:08:12Z gm $ 
+   !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt)
+   !!----------------------------------------------------------------------
+CONTAINS
+
+   SUBROUTINE cor_c1d
+      !!----------------------------------------------------------------------
+      !!                   ***  ROUTINE cor_c1d  ***
+      !! 
+      !! ** Purpose : set the Coriolis factor at T-point
+      !!----------------------------------------------------------------------
+      REAL(wp) ::   zphi0, zbeta, zf0         !  temporary scalars
+      !!----------------------------------------------------------------------
+
+      IF(lwp) WRITE(numout,*)
+      IF(lwp) WRITE(numout,*) 'cor_c1d : Coriolis factor at T-point'
+      IF(lwp) WRITE(numout,*) '~~~~~~~'
+
+      SELECT CASE( jphgr_msh )   ! type of horizontal mesh
+      !
+      CASE ( 0, 1, 4 )               ! mesh on the sphere
+         ff(:,:) = 2. * omega * SIN( rad * gphit(:,:) ) 
+         !
+      CASE ( 2 )                     ! f-plane at ppgphi0 
+         ff(:,:) = 2. * omega * SIN( rad * ppgphi0 )
+         IF(lwp) WRITE(numout,*) '          f-plane: Coriolis parameter = constant = ', ff(1,1)
+         !
+      CASE ( 3 )                     ! beta-plane
+         zbeta   = 2. * omega * COS( rad * ppgphi0 ) / ra                     ! beta at latitude ppgphi0
+         zphi0   = ppgphi0 - FLOAT( jpjglo/2) * ppe2_m *1.e-3  / ( ra * rad ) ! latitude of the first row F-points
+         zf0     = 2. * omega * SIN( rad * zphi0 )                            ! compute f0 1st point south
+         ff(:,:) = ( zf0  + zbeta * gphit(:,:) * 1.e+3 )                      ! f = f0 +beta* y ( y=0 at south)
+         IF(lwp) WRITE(numout,*) '          Beta-plane: Beta parameter = constant = ', ff(1,1)
+         IF(lwp) WRITE(numout,*) '                      Coriolis parameter varies from ', ff(1,1),' to ', ff(1,jpj)
+         !
+      CASE ( 5 )                     ! beta-plane and rotated domain
+         zbeta = 2. * omega * COS( rad * ppgphi0 ) / ra                     ! beta at latitude ppgphi0
+         zphi0 = 15.e0                                                      ! latitude of the first row F-points
+         zf0   = 2. * omega * SIN( rad * zphi0 )                            ! compute f0 1st point south
+         ff(:,:) = ( zf0 + zbeta * ABS( gphit(:,:) - zphi0 ) * rad * ra )   ! f = f0 +beta* y ( y=0 at south)
+         IF(lwp) WRITE(numout,*) '          Beta-plane: Beta parameter = constant = ', ff(1,1)
+         IF(lwp) WRITE(numout,*) '                      Coriolis parameter varies from ', ff(1,1),' to ', ff(1,jpj)
+         !
+      END SELECT
+      !
+   END SUBROUTINE cor_c1d
+
+
+   SUBROUTINE dyn_cor_c1d( kt )
+      !!----------------------------------------------------------------------
+      !!                   ***  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 ::   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
+      !
+      DO jk = 1, jpkm1
+         DO jj = 2, jpjm1
+            DO ji = fs_2, fs_jpim1   ! vector opt.
+               ua(ji,jj,jk) = ua(ji,jj,jk) + ff(ji,jj) * vn(ji,jj,jk)
+               va(ji,jj,jk) = va(ji,jj,jk) - ff(ji,jj) * un(ji,jj,jk)
+            END DO
+         END DO
+      END DO   
+      !
+      IF(ln_ctl)   CALL prt_ctl( tab3d_1=ua, clinfo1=' cor  - Ua: ', mask1=umask,  &
+         &                       tab3d_2=va, clinfo2=' Va: '       , mask2=vmask )
+      !
+   END SUBROUTINE dyn_cor_c1d
+
+#else
+   !!----------------------------------------------------------------------
+   !!   Default key                                     NO 1D Configuration
+   !!----------------------------------------------------------------------
+CONTAINS
+   SUBROUTINE cor_c1d              ! Empty routine
+   END SUBROUTINE cor_c1d   
+   SUBROUTINE dyn_cor_c1d ( kt )      ! Empty routine
+      WRITE(*,*) 'dyn_cor_c1d: You should not have seen this print! error?', kt
+   END SUBROUTINE dyn_cor_c1d
+#endif
+
+   !!=====================================================================
+END MODULE dyncor_c1d
Index: /branches/nemo_v3_3_beta/NEMOGCM/NEMO/OPA_SRC/C1D/dynnxt_c1d.F90
===================================================================
--- /branches/nemo_v3_3_beta/NEMOGCM/NEMO/OPA_SRC/C1D/dynnxt_c1d.F90	(revision 2409)
+++ /branches/nemo_v3_3_beta/NEMOGCM/NEMO/OPA_SRC/C1D/dynnxt_c1d.F90	(revision 2409)
@@ -0,0 +1,103 @@
+MODULE dynnxt_c1d
+   !!======================================================================
+   !!                       ***  MODULE  dynnxt_c1d  ***
+   !! Ocean dynamics: time stepping in 1D configuration
+   !!======================================================================
+   !! History :  2.0  !  2004-10  (C. Ethe)  Original code from dynnxt.F90
+   !!            3.0  !  2008-04  (G.madec)  Style only
+   !!----------------------------------------------------------------------
+#if defined key_c1d
+   !!----------------------------------------------------------------------
+   !!   'key_c1d'                                          1D Configuration
+   !!----------------------------------------------------------------------  
+   !!   dyn_nxt_c1d : update the horizontal velocity from the momentum trend
+   !!----------------------------------------------------------------------
+   USE oce             ! ocean dynamics and tracers
+   USE dom_oce         ! ocean space and time domain
+   USE in_out_manager  ! I/O manager
+   USE lbclnk          ! lateral boundary condition (or mpp link)
+   USE prtctl          ! Print control
+
+   IMPLICIT NONE
+   PRIVATE
+
+   PUBLIC dyn_nxt_c1d                ! routine called by step.F90
+   !!----------------------------------------------------------------------
+   !! NEMO/C1D 3.3 , NEMO Consortium (2010)
+   !! $Id: dynnxt_c1d.F90 2382 2010-11-13 13:08:12Z gm $ 
+   !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt)
+   !!----------------------------------------------------------------------
+CONTAINS
+
+   SUBROUTINE dyn_nxt_c1d ( kt )
+      !!----------------------------------------------------------------------
+      !!                  ***  ROUTINE dyn_nxt_c1d  ***
+      !!                   
+      !! ** Purpose :   Compute the after horizontal velocity from the momentum trend.
+      !!
+      !! ** Method  :   Apply lateral boundary conditions on the trends (ua,va) 
+      !!      through calls to routine lbc_lnk.
+      !!      After velocity is compute using a leap-frog scheme environment:
+      !!         (ua,va) = (ub,vb) + 2 rdt (ua,va)
+      !!      Time filter applied on now horizontal velocity to avoid the
+      !!      divergence of two consecutive time-steps and swap of dynamics
+      !!      arrays to start the next time step:
+      !!         (ub,vb) = (un,vn) + atfp [ (ub,vb) + (ua,va) - 2 (un,vn) ]
+      !!         (un,vn) = (ua,va) 
+      !!
+      !! ** Action : - Update ub,vb arrays, the before horizontal velocity
+      !!             - Update un,vn arrays, the now horizontal velocity
+      !!----------------------------------------------------------------------
+      INTEGER, INTENT( in ) ::   kt      ! ocean time-step index
+      !!
+      INTEGER  ::   jk           ! dummy loop indices
+      REAL(wp) ::   z2dt         ! temporary scalar
+      !!----------------------------------------------------------------------
+
+      IF( kt == nit000 ) THEN
+         IF(lwp) WRITE(numout,*)
+         IF(lwp) WRITE(numout,*) 'dyn_nxt_c1d : time stepping on 1D configuation'
+         IF(lwp) WRITE(numout,*) '~~~~~~~~~~~'
+      ENDIF
+
+      z2dt = 2._wp * rdt                                                   ! Local constant initialization
+      IF( neuler == 0 .AND. kt == nit000 )  z2dt = rdt
+
+      CALL lbc_lnk( ua, 'U', -1. )   ;   CALL lbc_lnk( va, 'V', -1. )      ! Lateral boundary conditions
+
+      DO jk = 1, jpkm1                                                     ! Next Velocity
+         ua(:,:,jk) = ( ub(:,:,jk) + z2dt * ua(:,:,jk) ) * umask(:,:,jk)
+         va(:,:,jk) = ( vb(:,:,jk) + z2dt * va(:,:,jk) ) * vmask(:,:,jk)
+      END DO 
+ 
+      DO jk = 1, jpkm1                                                     ! Time filter and swap of dynamics arrays
+         IF( neuler == 0 .AND. kt == nit000 ) THEN                               ! Euler (forward) time stepping
+             ub(:,:,jk) = un(:,:,jk)
+             vb(:,:,jk) = vn(:,:,jk)
+             un(:,:,jk) = ua(:,:,jk)
+             vn(:,:,jk) = va(:,:,jk)
+         ELSE                                                                    ! Leap-frog time stepping
+             ub(:,:,jk) = atfp * ( ub(:,:,jk) + ua(:,:,jk) ) + atfp1 * un(:,:,jk)
+             vb(:,:,jk) = atfp * ( vb(:,:,jk) + va(:,:,jk) ) + atfp1 * vn(:,:,jk)
+             un(:,:,jk) = ua(:,:,jk)
+             vn(:,:,jk) = va(:,:,jk)
+         ENDIF
+      END DO
+
+      IF(ln_ctl)   CALL prt_ctl( tab3d_1=un, clinfo1=' nxt_c1d  - Un: ', mask1=umask,   &
+         &                       tab3d_2=vn, clinfo2=' Vn: '           , mask2=vmask )
+      !
+   END SUBROUTINE dyn_nxt_c1d
+
+#else
+   !!----------------------------------------------------------------------
+   !!   Default key                                     NO 1D Config
+   !!----------------------------------------------------------------------
+CONTAINS
+   SUBROUTINE dyn_nxt_c1d ( kt )
+      WRITE(*,*) 'dyn_nxt_c1d: You should not have seen this print! error?', kt
+   END SUBROUTINE dyn_nxt_c1d
+#endif
+
+   !!======================================================================
+END MODULE dynnxt_c1d
Index: /branches/nemo_v3_3_beta/NEMOGCM/NEMO/OPA_SRC/C1D/step_c1d.F90
===================================================================
--- /branches/nemo_v3_3_beta/NEMOGCM/NEMO/OPA_SRC/C1D/step_c1d.F90	(revision 2409)
+++ /branches/nemo_v3_3_beta/NEMOGCM/NEMO/OPA_SRC/C1D/step_c1d.F90	(revision 2409)
@@ -0,0 +1,161 @@
+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
+   !!----------------------------------------------------------------------
+#if defined key_c1d
+   !!----------------------------------------------------------------------
+   !!   'key_c1d'                                       1D Configuration
+   !!----------------------------------------------------------------------  
+   !!   stp_c1d        : NEMO system time-stepping in c1d case
+   !!----------------------------------------------------------------------
+   USE step_oce         ! time stepping definition modules 
+#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 dynnxt_c1d      ! time-stepping                    (dyn_nxt routine)
+
+   IMPLICIT NONE
+   PRIVATE
+
+   PUBLIC stp_c1d      ! called by opa.F90
+
+   !! * Substitutions
+#  include "domzgr_substitute.h90"
+#  include "zdfddm_substitute.h90"
+   !!----------------------------------------------------------------------
+   !! NEMO/C1D 3.3 , NEMO Consortium (2010)
+   !! $Id: step_c1d.F90 2382 2010-11-13 13:08:12Z gm $
+   !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt)
+   !!----------------------------------------------------------------------
+CONTAINS
+
+   SUBROUTINE stp_c1d( kstp )
+      !!----------------------------------------------------------------------
+      !!                     ***  ROUTINE stp_c1d  ***
+      !!                      
+      !! ** Purpose :  - Time stepping of SBC including LIM (dynamic and thermodynamic eqs.)
+      !!               - Time stepping of OPA (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
+      INTEGER ::   indic    ! error indicator if < 0
+      !! ---------------------------------------------------------------------
+
+                             indic = 0                ! reset to no error condition
+      IF( kstp /= nit000 )   CALL day( kstp )         ! Calendar (day was already called at nit000 in day_init)
+                             CALL iom_setkt( kstp )   ! say to iom that we are at time step kstp
+
+      !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+      ! Update data, open boundaries, surface boundary condition (including sea-ice)
+      !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+      IF( lk_dtatem  )   CALL dta_tem( kstp )         ! update 3D temperature data
+      IF( lk_dtasal  )   CALL dta_sal( kstp )         ! update 3D salinity data
+                         CALL sbc    ( kstp )         ! Sea Boundary Condition (including sea-ice)
+
+      !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+      ! Ocean physics update                (ua, va, ta, sa used as workspace)
+      !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+                         CALL bn2( tsb, rn2b )        ! before Brunt-Vaisala frequency
+                         CALL bn2( tsn, rn2  )        ! now    Brunt-Vaisala frequency
+      !  VERTICAL PHYSICS   
+                         CALL zdf_bfr( kstp )         ! bottom friction
+      !                                               ! Vertical eddy viscosity and diffusivity coefficients
+      IF( lk_zdfric  )   CALL zdf_ric( kstp )            ! Richardson number dependent Kz
+      IF( lk_zdftke  )   CALL zdf_tke( kstp )            ! TKE closure scheme for Kz
+      IF( lk_zdfgls  )   CALL zdf_gls( kstp )            ! GLS closure scheme for Kz
+      IF( lk_zdfkpp  )   CALL zdf_kpp( kstp )            ! KPP closure scheme for Kz
+      IF( lk_zdfcst  )   THEN                            ! Constant Kz (reset avt, avm[uv] to the background value)
+         avt (:,:,:) = rn_avt0 * tmask(:,:,:)
+         avmu(:,:,:) = rn_avm0 * umask(:,:,:)
+         avmv(:,:,:) = rn_avm0 * vmask(:,:,:)
+      ENDIF
+
+      IF( ln_rnf_mouth ) THEN                         ! increase diffusivity at rivers mouths
+         DO jk = 2, nkrnf   ;   avt(:,:,jk) = avt(:,:,jk) + 2.e0 * rn_avt_rnf * rnfmsk(:,:)   ;   END DO
+      ENDIF
+      IF( ln_zdfevd  )   CALL zdf_evd( kstp )         ! enhanced vertical eddy diffusivity
+
+      IF( lk_zdftmx  )   CALL zdf_tmx( kstp )         ! tidal vertical mixing
+
+      IF( lk_zdfddm .AND. .NOT. lk_zdfkpp )   &
+         &               CALL zdf_ddm( kstp )         ! double diffusive mixing
+         
+                         CALL zdf_mxl( kstp )         ! mixed layer depth
+
+                                                      ! write tke information in the restart file
+      IF( lrst_oce .AND. lk_zdftke )   CALL tke_rst( kstp, 'WRITE' )
+                                                      ! write gls information in the restart file
+      IF( lrst_oce .AND. lk_zdfgls )   CALL gls_rst( kstp, 'WRITE' )
+
+      !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+      ! diagnostics and outputs             (ua, va, ta, sa used as workspace)
+      !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+                         CALL dia_wri( kstp )       ! ocean model: outputs
+
+#if defined key_top
+      !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+      ! Passive Tracer Model
+      !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+                         CALL trc_stp( kstp )            ! time-stepping
+#endif
+
+      !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+      ! Active tracers                              (ua, va used as workspace)
+      !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+                             tsa(:,:,:,:) = 0.e0                ! set tracer trends to zero
+
+                             CALL tra_sbc    ( kstp )        ! surface boundary condition
+      IF( ln_traqsr      )   CALL tra_qsr    ( kstp )        ! penetrative solar radiation qsr
+      IF( lk_zdfkpp      )   CALL tra_kpp    ( kstp )        ! KPP non-local tracer fluxes
+                             CALL tra_zdf    ( kstp )        ! vertical mixing
+                             CALL tra_nxt    ( kstp )        ! tracer fields at next time step
+      IF( ln_zdfnpc      )   CALL tra_npc    ( kstp )        ! applied non penetrative convective adjustment on (t,s)
+                             CALL eos( tsb, rhd, rhop )      ! now (swap=before) in situ density for dynhpg module
+                             CALL tra_unswap                 ! udate T & S 3D arrays  (to be suppressed)
+
+      !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+      ! Dynamics                                    (ta, sa used as workspace)
+      !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+                               ua(:,:,:) = 0.e0               ! set dynamics trends to zero
+                               va(:,:,:) = 0.e0
+
+                               CALL dyn_cor_c1d( kstp )       ! vorticity term including Coriolis
+                               CALL dyn_zdf    ( kstp )       ! vertical diffusion
+                               CALL dyn_nxt_c1d( kstp )       ! lateral velocity at next time step
+
+      !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+      ! Control and restarts
+      !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+                                 CALL stp_ctl( kstp, indic )
+      IF( kstp == nit000     )   CALL iom_close( numror )             ! close input  ocean restart file
+      IF( lrst_oce           )   CALL rst_write  ( kstp )             ! write output ocean restart file
+      !
+   END SUBROUTINE stp_c1d
+
+#else
+   !!----------------------------------------------------------------------
+   !!   Default key                                            NO 1D Config
+   !!----------------------------------------------------------------------
+CONTAINS
+   SUBROUTINE stp_c1d ( kt )      ! dummy routine
+      WRITE(*,*) 'stp_c1d: You should not have seen this print! error?', kt
+   END SUBROUTINE stp_c1d
+#endif
+
+   !!======================================================================
+END MODULE step_c1d
Index: /branches/nemo_v3_3_beta/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_clio.F90
===================================================================
--- /branches/nemo_v3_3_beta/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_clio.F90	(revision 2408)
+++ /branches/nemo_v3_3_beta/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_clio.F90	(revision 2409)
@@ -37,4 +37,5 @@
    USE ice_2
 #endif
+
    IMPLICIT NONE
    PRIVATE
@@ -176,38 +177,6 @@
       tatm_ice(:,:) = sf(jp_tair)%fnow(:,:,1)     !RB ugly patch
 #endif
-      !
-      IF(lwp .AND. nitend-nit000 <= 100 ) THEN
-         IF( MOD( kt-1, nn_fsbc ) == 0 ) THEN
-            WRITE(numout,*)
-            WRITE(numout,*) ' read monthly CLIO fluxes: ok, kt: ', kt
-            WRITE(numout,*)
-            ifpr = INT(jpi/8)      ;      jfpr = INT(jpj/10)
-            WRITE(numout,*) TRIM(sf(jp_utau)%clvar),' day: ',ndastp
-            CALL prihre( sf(jp_utau)%fnow,jpi,jpj,1,jpi,ifpr,1,jpj,jfpr,0.,numout )
-            WRITE(numout,*)
-            WRITE(numout,*) TRIM(sf(jp_vtau)%clvar),' day: ',ndastp
-            CALL prihre( sf(jp_vtau)%fnow,jpi,jpj,1,jpi,ifpr,1,jpj,jfpr,0.,numout )
-            WRITE(numout,*)
-            WRITE(numout,*) TRIM(sf(jp_humi)%clvar),' day: ',ndastp
-            CALL prihre( sf(jp_humi)%fnow,jpi,jpj,1,jpi,ifpr,1,jpj,jfpr,0.,numout )
-            WRITE(numout,*)
-            WRITE(numout,*) TRIM(sf(jp_wndm)%clvar),' day: ',ndastp
-            CALL prihre( sf(jp_wndm)%fnow,jpi,jpj,1,jpi,ifpr,1,jpj,jfpr,0.,numout )
-            WRITE(numout,*)
-            WRITE(numout,*) TRIM(sf(jp_ccov)%clvar),' day: ',ndastp
-            CALL prihre( sf(jp_ccov)%fnow,jpi,jpj,1,jpi,ifpr,1,jpj,jfpr,0.,numout )
-            WRITE(numout,*)
-            WRITE(numout,*) TRIM(sf(jp_prec)%clvar),' day: ',ndastp
-            CALL prihre( sf(jp_prec)%fnow,jpi,jpj,1,jpi,ifpr,1,jpj,jfpr,0.,numout )
-            WRITE(numout,*)
-            WRITE(numout,*) TRIM(sf(jp_tair)%clvar),' day: ',ndastp
-            CALL prihre( sf(jp_tair)%fnow,jpi,jpj,1,jpi,ifpr,1,jpj,jfpr,0.,numout )
-            WRITE(numout,*)
-         ENDIF
-      ENDIF
-
-      IF( MOD( kt - 1, nn_fsbc ) == 0 ) THEN
-          CALL blk_oce_clio( sf, sst_m )                  ! compute the surface ocean fluxes using CLIO bulk formulea
-      ENDIF                                               ! 
+      !                                                        ! surface ocean fluxes computed with CLIO bulk formulea
+      IF( MOD( kt - 1, nn_fsbc ) == 0 )   CALL blk_oce_clio( sf, sst_m )
       !
    END SUBROUTINE sbc_blk_clio
Index: /branches/nemo_v3_3_beta/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfgls.F90
===================================================================
--- /branches/nemo_v3_3_beta/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfgls.F90	(revision 2408)
+++ /branches/nemo_v3_3_beta/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfgls.F90	(revision 2409)
@@ -1268,4 +1268,7 @@
    LOGICAL, PUBLIC, PARAMETER ::   lk_zdfgls = .FALSE.   !: TKE flag
 CONTAINS
+   SUBROUTINE zdf_gls_init           ! Empty routine
+      WRITE(*,*) 'zdf_gls_init: You should not have seen this print! error?'
+   END SUBROUTINE zdf_gls_init
    SUBROUTINE zdf_gls( kt )          ! Empty routine
       WRITE(*,*) 'zdf_gls: You should not have seen this print! error?', kt
Index: /branches/nemo_v3_3_beta/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfkpp.F90
===================================================================
--- /branches/nemo_v3_3_beta/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfkpp.F90	(revision 2408)
+++ /branches/nemo_v3_3_beta/NEMOGCM/NEMO/OPA_SRC/ZDF/zdfkpp.F90	(revision 2409)
@@ -1533,4 +1533,9 @@
       WRITE(*,*) 'tra_kpp: You should not have seen this print! error?', kt
    END SUBROUTINE tra_kpp
+#if defined key_top
+   SUBROUTINE trc_kpp( kt )          ! Dummy routine
+      WRITE(*,*) 'trc_kpp: You should not have seen this print! error?', kt
+   END SUBROUTINE trc_kpp
+#endif
 #endif
 
Index: /branches/nemo_v3_3_beta/NEMOGCM/NEMO/OPA_SRC/opa.F90
===================================================================
--- /branches/nemo_v3_3_beta/NEMOGCM/NEMO/OPA_SRC/opa.F90	(revision 2408)
+++ /branches/nemo_v3_3_beta/NEMOGCM/NEMO/OPA_SRC/opa.F90	(revision 2409)
@@ -408,4 +408,8 @@
       ENDIF
       !
+      IF( lk_c1d .AND. .NOT. lk_iomput )  &
+        CALL ctl_stop( ' The 1D vertical configuration must be used in conjunction',   &
+            &          ' with the IOM Input/Output manager. Compile with key_iomput enabled' )
+      !
    END SUBROUTINE opa_ctl
 
Index: /branches/nemo_v3_3_beta/NEMOGCM/NEMO/OPA_SRC/stpctl.F90
===================================================================
--- /branches/nemo_v3_3_beta/NEMOGCM/NEMO/OPA_SRC/stpctl.F90	(revision 2408)
+++ /branches/nemo_v3_3_beta/NEMOGCM/NEMO/OPA_SRC/stpctl.F90	(revision 2409)
@@ -21,4 +21,5 @@
    USE lib_mpp         ! distributed memory computing
    USE dynspg_oce      ! pressure gradient schemes 
+   USE c1d             ! 1D vertical configuration
 
    IMPLICIT NONE
@@ -139,4 +140,7 @@
 9500  FORMAT (' kt=',i6,' min SSS: ',1pg11.4,', i j: ',2i5)
 
+      
+      IF( lk_c1d )  RETURN          ! No log file in case of 1D vertical configuration
+
       ! log file (solver or ssh statistics)
       ! --------
Index: /branches/nemo_v3_3_beta/NEMOGCM/TOOLS/COMPILE/cfg.txt
===================================================================
--- /branches/nemo_v3_3_beta/NEMOGCM/TOOLS/COMPILE/cfg.txt	(revision 2408)
+++ /branches/nemo_v3_3_beta/NEMOGCM/TOOLS/COMPILE/cfg.txt	(revision 2409)
@@ -1,7 +1,7 @@
 GYRE OPA_SRC
-ORCA2_LIM_PISCES OPA_SRC LIM_SRC_2 NST_SRC C1D_SRC TOP_SRC
+ORCA2_LIM_PISCES OPA_SRC LIM_SRC_2 NST_SRC TOP_SRC
 GYRE_LOBSTER OPA_SRC TOP_SRC
 ORCA2_OFF_PISCES OPA_SRC OFF_SRC TOP_SRC
 POMME OPA_SRC NST_SRC
 ORCA2_LIM3 OPA_SRC LIM_SRC_3
-ORCA2_LIM OPA_SRC LIM_SRC_2 NST_SRC C1D_SRC
+ORCA2_LIM OPA_SRC LIM_SRC_2 NST_SRC 
