Index: /NEMO/branches/2021/ticket2680_C1D_PAPA/src/OCE/C1D/dtauvd.F90
===================================================================
--- /NEMO/branches/2021/ticket2680_C1D_PAPA/src/OCE/C1D/dtauvd.F90	(revision 15007)
+++ /NEMO/branches/2021/ticket2680_C1D_PAPA/src/OCE/C1D/dtauvd.F90	(revision 15008)
@@ -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/branches/2021/ticket2680_C1D_PAPA/src/OCE/C1D/dyndmp.F90
===================================================================
--- /NEMO/branches/2021/ticket2680_C1D_PAPA/src/OCE/C1D/dyndmp.F90	(revision 15007)
+++ /NEMO/branches/2021/ticket2680_C1D_PAPA/src/OCE/C1D/dyndmp.F90	(revision 15008)
@@ -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/branches/2021/ticket2680_C1D_PAPA/src/OCE/DOM/domain.F90
===================================================================
--- /NEMO/branches/2021/ticket2680_C1D_PAPA/src/OCE/DOM/domain.F90	(revision 15007)
+++ /NEMO/branches/2021/ticket2680_C1D_PAPA/src/OCE/DOM/domain.F90	(revision 15008)
@@ -11,4 +11,5 @@
    !!   NEMO     1.0  !  2002-08  (G. Madec)  F90: Free form and module
    !!            2.0  !  2005-11  (V. Garnier) Surface pressure gradient organization
+   !!            3.3  !  2010-11  (G. Madec)  initialisation in C1D configuration 
    !!            3.6  !  2013     ( J. Simeon, C. Calone, G. Madec, C. Ethe ) Online coarsening of outputs
    !!            3.7  !  2015-11  (G. Madec, A. Coward)  time varying zgr by default
Index: /NEMO/branches/2021/ticket2680_C1D_PAPA/src/OCE/DOM/istate.F90
===================================================================
--- /NEMO/branches/2021/ticket2680_C1D_PAPA/src/OCE/DOM/istate.F90	(revision 15007)
+++ /NEMO/branches/2021/ticket2680_C1D_PAPA/src/OCE/DOM/istate.F90	(revision 15008)
@@ -29,5 +29,4 @@
    USE wet_dry         ! wetting and drying (needed for wad_istate)
    USE usrdef_istate   ! User defined initial state
-   USE c1d
    !
    USE in_out_manager  ! I/O manager
@@ -77,7 +76,6 @@
       IF(lwp) WRITE(numout,*) '~~~~~~~~~~~'
 
-       CALL dta_tsd_init        ! Initialisation of T & S input data
-
-!      IF( lk_c1d )   CALL dta_uvd_init        ! Initialization of U & V input data
+      CALL dta_tsd_init                 ! Initialisation of T & S input data
+      IF( ln_c1d) CALL dta_uvd_init     ! Initialisation of U & V input data (c1d only)
 
       rhd  (:,:,:      ) = 0._wp   ;   rhop (:,:,:  ) = 0._wp      ! set one for all to 0 at level jpk
@@ -115,10 +113,16 @@
             !
             IF( ln_tsd_init ) THEN               
-               CALL dta_tsd( nit000, ts(:,:,:,:,Kbb) )       ! read 3D T and S data at nit000
-               !
+               CALL dta_tsd( nit000, ts(:,:,:,:,Kbb) )                     ! read 3D T and S data at nit000
+            ENDIF
+            !
+            IF( ln_uvd_init .AND. ln_c1d ) THEN               
+               CALL dta_uvd( nit000, Kbb, uu(:,:,:,Kbb), vv(:,:,:,Kbb) )   ! read 3D U and V data at nit000
+            ELSE
                uu  (:,:,:,Kbb) = 0._wp               ! set the ocean at rest
                vv  (:,:,:,Kbb) = 0._wp  
+            ENDIF
                !
-            ELSE                                 ! user defined initial T and S
+               !
+            IF( .NOT. ln_tsd_init .AND. .NOT. ln_uvd_init ) THEN
                DO jk = 1, jpk
                   zgdept(:,:,jk) = gdept(:,:,jk,Kbb)
@@ -130,15 +134,4 @@
             vv    (:,:,:,Kmm) = vv   (:,:,:,Kbb)
 
-         !
-!!gm ==>>>  to be moved in usrdef_istate of C1D case 
-         IF ( ln_uvd_init .AND. lk_c1d ) THEN ! read 3D U and V data at nit000
-            ALLOCATE( zuvd(jpi,jpj,jpk,2) )
-            CALL dta_uvd( nit000, Kbb, zuvd )
-            uu(:,:,:,Kbb) = zuvd(:,:,:,1)  ;  uu(:,:,:,Kmm) = uu(:,:,:,Kbb)
-            vv(:,:,:,Kbb) = zuvd(:,:,:,2)  ;  vv(:,:,:,Kmm) = vv(:,:,:,Kbb)
-            DEALLOCATE( zuvd )
-         ENDIF
-         !
-         ! 
          ENDIF 
 #if defined key_agrif
Index: /NEMO/branches/2021/ticket2680_C1D_PAPA/src/OCE/TRA/tradmp.F90
===================================================================
--- /NEMO/branches/2021/ticket2680_C1D_PAPA/src/OCE/TRA/tradmp.F90	(revision 15007)
+++ /NEMO/branches/2021/ticket2680_C1D_PAPA/src/OCE/TRA/tradmp.F90	(revision 15008)
@@ -24,5 +24,4 @@
    USE oce            ! ocean: variables
    USE dom_oce        ! ocean: domain variables
-   USE c1d            ! 1D vertical configuration
    USE trd_oce        ! trends: ocean variables
    USE trdtra         ! trends manager: tracers
Index: /NEMO/branches/2021/ticket2680_C1D_PAPA/src/OCE/step_oce.F90
===================================================================
--- /NEMO/branches/2021/ticket2680_C1D_PAPA/src/OCE/step_oce.F90	(revision 15007)
+++ /NEMO/branches/2021/ticket2680_C1D_PAPA/src/OCE/step_oce.F90	(revision 15008)
@@ -44,4 +44,5 @@
    USE dynspg          ! surface pressure gradient        (dyn_spg routine)
    USE dynatf          ! time-filtering                   (dyn_atf routine)
+   USE dyndmp          ! current damping                  (dyn_dmp routine)
 
    USE traqsr          ! solar radiation penetration      (tra_qsr routine)
Index: /NEMO/branches/2021/ticket2680_C1D_PAPA/src/OCE/stpctl.F90
===================================================================
--- /NEMO/branches/2021/ticket2680_C1D_PAPA/src/OCE/stpctl.F90	(revision 15007)
+++ /NEMO/branches/2021/ticket2680_C1D_PAPA/src/OCE/stpctl.F90	(revision 15008)
@@ -18,5 +18,4 @@
    USE oce             ! ocean dynamics and tracers variables
    USE dom_oce         ! ocean space and time domain variables 
-   USE c1d             ! 1D vertical configuration
    USE zdf_oce ,  ONLY : ln_zad_Aimp       ! ocean vertical physics variables
    USE wet_dry,   ONLY : ll_wd, ssh_ref    ! reference depth for negative bathy
Index: /NEMO/branches/2021/ticket2680_C1D_PAPA/src/OCE/stpmlf.F90
===================================================================
--- /NEMO/branches/2021/ticket2680_C1D_PAPA/src/OCE/stpmlf.F90	(revision 15007)
+++ /NEMO/branches/2021/ticket2680_C1D_PAPA/src/OCE/stpmlf.F90	(revision 15008)
@@ -232,4 +232,6 @@
                          vv(:,:,:,Nrhs) = 0._wp
 
+      IF( ln_dyndmp .AND. ln_c1d )  CALL dyn_dmp( kstp, Nbb, Nnn, uu(:,:,:,Nrhs), vv(:,:,:,Nrhs), Nrhs )   ! internal damping trends- momentum
+
       IF( ln_tile ) CALL dom_tile_start         ! [tiling] DYN tiling loop (1)
       DO jtile = 1, nijtile
