Index: /trunk/NEMO/OPA_SRC/DTA/dtasal.F90
===================================================================
--- /trunk/NEMO/OPA_SRC/DTA/dtasal.F90	(revision 58)
+++ /trunk/NEMO/OPA_SRC/DTA/dtasal.F90	(revision 59)
@@ -132,5 +132,5 @@
                WRITE(numout,*) ' itime ',itime,' jpmois ',jpmois
             ENDIF
-            STOP 'dtasal_monthly.h90'
+            STOP 'dta_sal'
          ENDIF
          IF( ipi /= jpidta .AND. ipj /= jpjdta .AND. ipk /= jpk ) THEN
@@ -142,5 +142,5 @@
                WRITE(numout,*) ' ipk ',ipk,' jpk ',jpk
             ENDIF
-            STOP 'dtasal_monthly.h90'
+            STOP 'dta_sal'
          ENDIF
          IF(lwp)WRITE(numout,*) itime,istep,zdate0,rdt,numsdt
Index: unk/NEMO/OPA_SRC/DTA/dtasal_monthly.h90
===================================================================
--- /trunk/NEMO/OPA_SRC/DTA/dtasal_monthly.h90	(revision 58)
+++ 	(revision )
@@ -1,229 +1,0 @@
-   !!----------------------------------------------------------------------
-   !!                     ***  dtasal_monthly.h90  ***
-   !!----------------------------------------------------------------------
-   !!   OPA 9.0 , LODYC-IPSL  (2003)
-   !!----------------------------------------------------------------------
-
-   SUBROUTINE dta_sal( kt )
-      !!----------------------------------------------------------------------
-      !!                   ***  ROUTINE dta_sal  ***
-      !!        
-      !! ** Purpose :   Reads monthly salinity data
-      !!             
-      !! ** Method  :   Read on unit numsdt the interpolated Levitus salinity onto 
-      !!     onto the model grid.
-      !!     Data begin at january. 
-      !!     The value is centered at the middle of month.
-      !!     In the opa model, kt=1 agree with january 1.
-      !!     At each time step, a linear interpolation is applied between 
-      !!     two monthly values.
-      !!
-      !! History :
-      !!        !  91-03  ()  Original code
-      !!        !  92-07  (M. Imbard)
-      !!   8.5  !  02-06  (G. Madec)  F90: Free form and module
-      !!----------------------------------------------------------------------
-      !! * Modules used
-      USE ioipsl
-
-      !! * Arguments
-      INTEGER, INTENT(in) ::   kt             ! ocean time step
-
-      !! * Local declarations
-      CHARACTER (len=32) ::   clname
-
-      INTEGER, PARAMETER ::   jpmois = 12, jpf = 1
-      INTEGER ::   ji, jj, jk, jl    ! dummy loop indicies
-      INTEGER ::   &
-         imois, iman, ik, i15,  &  ! temporary integers
-         ipi, ipj, ipk, itime      !    "          "
-      INTEGER, DIMENSION(jpmois) ::   istep
-      REAL(wp) ::   &
-         zxy, zl, zdate0
-      REAL(wp), DIMENSION(jpi,jpj) ::   zlon, zlat
-      REAL(wp), DIMENSION(jpk) ::   zlev
-      !!----------------------------------------------------------------------
-
-
-      ! 0. Initialization
-      ! -----------------
-
-      iman  = jpmois
-      i15   = nday / 16
-
-      imois = nmonth + i15 - 1
-      IF( imois == 0 ) imois = iman
-
-      itime = jpmois
-      ipi=jpiglo
-      ipj=jpjglo
-      ipk = jpk
-
-      ! 1. First call kt=nit000
-      ! -----------------------
-
-      IF( kt == nit000 .AND. nlecsa == 0 ) THEN
-         nsal1 = 0
-         IF(lwp) THEN
-            WRITE(numout,*)
-            WRITE(numout,*) ' dta_sal : monthly salinity data in NetCDF file'
-            WRITE(numout,*) ' ~~~~~~~'
-            WRITE(numout,*)
-         ENDIF
-
-         ! open file
-         
-         clname = 'LEVITUS_1m_Salinity_Ice_nomask'
-         CALL flinopen(TRIM(clname),mig(1),nlci,mjg(1),nlcj,.FALSE.   &
-              ,ipi,ipj,ipk,zlon,zlat,zlev,itime,istep,zdate0,rdt,numsdt)
-
-         ! title, dimensions and tests
-
-         IF( itime /= jpmois ) THEN
-            IF(lwp) THEN
-               WRITE(numout,*)
-               WRITE(numout,*) 'problem with time coordinates'
-               WRITE(numout,*) ' itime ',itime,' jpmois ',jpmois
-            ENDIF
-            STOP 'dtasal_monthly.h90'
-         ENDIF
-         IF( ipi /= jpidta .AND. ipj /= jpjdta .AND. ipk /= jpk ) THEN
-            IF(lwp) THEN
-               WRITE(numout,*)
-               WRITE(numout,*) 'problem with dimensions'
-               WRITE(numout,*) ' ipi ',ipi,' jpidta ',jpidta
-               WRITE(numout,*) ' ipj ',ipj,' jpjdta ',jpjdta
-               WRITE(numout,*) ' ipk ',ipk,' jpk ',jpk
-            ENDIF
-            STOP 'dtasal_monthly.h90'
-         ENDIF
-         IF(lwp)WRITE(numout,*) itime,istep,zdate0,rdt,numsdt
-
-      ENDIF
-
-
-      ! 2. Read monthly file
-      ! -------------------
-
-      IF( ( kt == nit000 .AND. nlecsa == 0) .OR. imois /= nsal1 ) THEN
-         nlecsa = 1
-         
-         ! 2.1 Calendar computation
-         
-         nsal1 = imois        ! first file record used 
-         nsal2 = nsal1 + 1    ! last  file record used
-         nsal1 = MOD( nsal1, iman )
-         IF( nsal1 == 0 ) nsal1 = iman
-         nsal2 = MOD( nsal2, iman )
-         IF( nsal2 == 0 ) nsal2 = iman
-         IF(lwp) WRITE(numout,*) 'first record file used nsal1 ', nsal1
-         IF(lwp) WRITE(numout,*) 'last  record file used nsal2 ', nsal2
-         
-         ! 2.3 Read monthly salinity data Levitus 
-
-         CALL flinget(numsdt,'vosaline',jpidta,jpjdta,jpk,jpmois,nsal1,   &
-           nsal1,mig(1),nlci,mjg(1),nlcj,saldta(1:nlci,1:nlcj,1:jpk,1))
-
-         CALL flinget(numsdt,'vosaline',jpidta,jpjdta,jpk,jpmois,nsal2,   &
-           nsal2,mig(1),nlci,mjg(1),nlcj,saldta(1:nlci,1:nlcj,1:jpk,2))
-
-         
-         IF(lwp) THEN
-            WRITE(numout,*)
-            WRITE(numout,*) ' read Levitus salinity ok'
-            WRITE(numout,*)
-         ENDIF
-         
-#  if defined key_tradmp
-         IF( cp_cfg == "orca"  .AND. jp_cfg == 2 ) THEN
-
-            !                                        ! =======================
-            !                                        !  ORCA_R2 configuration
-            !                                        ! =======================
-         
-            DO jj = mj0(101), mj1(109)                      ! Reduced salinity in the Alboran Sea
-               DO ji = mi0(141), mi1(155)
-                  DO jk = 13, 13
-                     saldta(ji,jj,jk,:) = saldta(ji,jj,jk,:) - 0.15
-                  END DO
-                  DO jk = 14, 15
-                     saldta(ji,jj,jk,:) = saldta(ji,jj,jk,:) - 0.25
-                  END DO
-                  DO jk = 16, 17
-                     saldta(ji,jj,jk,:) = saldta(ji,jj,jk,:) - 0.30
-                  END DO
-                  DO jk = 18, 25
-                     saldta(ji,jj,jk,:) = saldta(ji,jj,jk,:) - 0.35
-                  END DO
-               END DO
-            END DO
-            IF( n_cla == 1 ) THEN 
-               !                                         ! New salinity profile at Gibraltar
-               saldta( mi0(139):mi1(139) , mj0(101):mj1(101) , : , : ) =   &
-                  &                                    saldta( mi0(138):mi1(138) , mj0(101):mj1(101) , : , : )
-               saldta( mi0(139):mi1(139) , mj0(102):mj1(102) , : , : ) =   &
-                  &                                    saldta( mi0(138):mi1(138) , mj0(102):mj1(102) , : , : )
-               DO jl = mi0(138), mi1(138)                ! New temperature profile at Gibraltar
-                  DO jj = mj0(101), mj1(102)
-                     DO ji = mi0(139), mi1(139)
-                        saldta(ji,jj,:,:) = saldta(jl,jj,:,:)
-                     END DO
-                  END DO
-               END DO
-
-               DO jl = mi0(164), mi1(164)                ! New salinity profile at Bab el Mandeb
-                  DO jj = mj0(88), mj1(88)
-                     DO ji = mi0(161), mi1(163)
-                        saldta(ji,jj,:,:) = saldta(jl,jj,:,:)
-                     END DO
-                  END DO
-                  DO jj = mj0(87), mj1(87)
-                     DO ji = mi0(161), mi1(163)
-                        saldta(ji,jj,:,:) = saldta(jl,jj,:,:)
-                     END DO
-                  END DO
-               END DO
-
-            ENDIF
-
-         ENDIF
-#endif
-         
-         !                                     ! Mask
-         DO jl = 1, 2
-            saldta(:,:,:,jl) = saldta(:,:,:,jl)*tmask(:,:,:)
-            saldta(:,:,jpk,jl) = 0.
-            IF( lk_zps ) THEN                   ! z-coord. partial steps
-               DO jj = 1, jpj                           ! interpolation of salinity at the last ocean level (i.e. the partial step)
-                  DO ji = 1, jpi
-                     ik = mbathy(ji,jj) - 1
-                     IF( ik > 2 ) THEN
-                        zl = ( gdept(ik) - fsdept(ji,jj,ik) ) / ( gdept(ik) - gdept(ik-1) )
-                        saldta(ji,jj,ik,jl) = (1.-zl) * saldta(ji,jj,ik,jl) +zl * saldta(ji,jj,ik-1,jl) 
-                     ENDIF
-                  END DO
-               END DO
-            ENDIF
-         END DO
-         
-
-         IF(lwp) THEN
-            WRITE(numout,*)' salinity Levitus month ',nsal1,nsal2
-            WRITE(numout,*)
-            WRITE(numout,*) ' Levitus mounth = ',nsal1,'  level = 1'
-            CALL prihre(saldta(1,1,1,1),jpi,jpj,1,jpi,20,1,jpj,20,1.,numout)
-            WRITE(numout,*) ' Levitus mounth = ',nsal1,'  level = ',jpk/2
-            CALL prihre(saldta(1,1,jpk/2,1),jpi,jpj,1,jpi,20,1,jpj,20,1.,numout)
-            WRITE(numout,*) ' Levitus mounth = ',nsal1,'  level = ',jpkm1
-            CALL prihre(saldta(1,1,jpkm1,1),jpi,jpj,1,jpi,20,1,jpj,20,1.,numout)
-         ENDIF
-      ENDIF
-      
- 
-      ! 3. At every time step compute salinity data
-      ! -------------------------------------------
-
-      zxy = FLOAT(nday + 15 - 30*i15)/30.
-      sdta(:,:,:)= ( (1.-zxy)*saldta(:,:,:,1) + zxy*saldta(:,:,:,2) )
-
-   END SUBROUTINE dta_sal
Index: unk/NEMO/OPA_SRC/SBC/ocesbc_cpl_ice.h90
===================================================================
--- /trunk/NEMO/OPA_SRC/SBC/ocesbc_cpl_ice.h90	(revision 58)
+++ 	(revision )
@@ -1,111 +1,0 @@
-   !!----------------------------------------------------------------------
-   !!                       ***  ocesbc_cpl_ice.h90  ***
-   !!----------------------------------------------------------------------
-
-   SUBROUTINE oce_sbc(kt)
-      !!---------------------------------------------------------------------
-      !!                 ***  ROUTINE oce_sbc  ***
-      !!                    
-      !! ** Purpose :   Ocean surface boundaries conditions with 
-      !!        Louvain la Neuve Sea Ice Model in coupled mode
-      !!
-      !! History :
-      !!   1.0  !  00-10  (O. Marti)  Original code
-      !!   2.0  !  02-12  (G. Madec)  F90: Free form and module
-      !!----------------------------------------------------------------------
-      !! * Local declarations
-      INTEGER ::   ji, jj                   ! dummy loop indices
-      REAL(wp) ::   ztx, ztaux, zty, ztauy, ztrp, zsrp
-      REAL(wp) ::   ztdta, ztgel, zqrp
-
-      !!----------------------------------------------------------------------
-      !!  OPA 8.5, LODYC-IPSL (2002)
-      !!----------------------------------------------------------------------
- 
-      !!----------------------------------------------------------------------        
-      ! 1. initialization to zero at kt = nit000
-      ! ---------------------------------------
-      
-      IF( kt == nit000 ) THEN     
-         qsr   (:,:) = 0.e0
-         freeze(:,:) = 0.e0
-         qt    (:,:) = 0.e0
-         q     (:,:) = 0.e0
-         qrp   (:,:) = 0.e0
-         emp   (:,:) = 0.e0
-         emps  (:,:) = 0.e0
-         erp   (:,:) = 0.e0
-#if defined key_dynspg_fsc 
-         dmp   (:,:) = 0.e0
-#endif
-      ENDIF
-
-      IF( MOD( kt-1, nfice ) == 0 ) THEN 
-
-         CALL oce_sbc_dmp   ! Computation of internal and evaporation damping terms       
-
-         ! Surface heat flux (W/m2)
-         ! -----------------------
-
-         ! restoring heat flux
-         DO jj = 1, jpj
-            DO ji = 1, jpi
-               ztgel = fzptn(ji,jj)
-#if defined key_dtasst
-               ztdta = MAX( sst(ji,jj),    ztgel )
-#else
-               ztdta = MAX( t_dta(ji,jj,1), ztgel )
-#endif
-               zqrp = ztrp * ( tb(ji,jj,1) - ztdta )
-
-               qrp(ji,jj) = (1.0-freeze(ji,jj) ) * zqrp
-            END DO
-         END DO
-
-         ! non solar heat flux + solar flux + restoring
-         q  (:,:) = fnsolar(:,:) + fsolar(:,:) + qrp(:,:)
-         qt (:,:) = q(:,:)
-
-         ! solar flux
-         qsr(:,:) = fsolar(:,:)
-
-#if defined key_dynspg_fsc  
-         ! total concentration/dilution effect (use on SSS)
-         emps(:,:) = fmass(:,:) + fsalt(:,:) + runoff(:,:) + erp(:,:)
-
-         ! total volume flux (use on sea-surface height)
-         emp (:,:) = fmass(:,:)  -  dmp(:,:) + runoff(:,:) + erp(:,:)
-
-#else
-         ! Rigid-lid (emp=emps=E-P-R+Erp) 
-         ! freshwater flux
-         emps(:,:) = fmass(:,:) + fsalt(:,:) + runoff(:,:) + erp(:,:)
-         emp (:,:) = emps(:,:)
-
-#endif
-
-         DO jj = 1, jpjm1
-            DO ji = 1, fs_jpim1   ! vertor opt.
-               ztx   = 0.5 * ( freeze(ji+1,jj) + freeze(ji+1,jj+1) )
-               ztaux = 0.5 * ( ftaux (ji+1,jj) + ftaux (ji+1,jj+1) )
-               taux(ji,jj) = (1.0-ztx) * taux(ji,jj) + ztx * ztaux
-
-               zty   = 0.5 * ( freeze(ji,jj+1) + freeze(ji+1,jj+1) )
-               ztauy = 0.5 * ( ftauy (ji,jj+1) + ftauy (ji+1,jj+1) )
-               tauy(ji,jj) = (1.0-zty) * tauy(ji,jj) + zty * ztauy
-            END DO
-         END DO
-         CALL lbc_lnk( taux, 'U', -1. )
-         CALL lbc_lnk( tauy, 'V', -1. )    
-
-         ! Re-initialization of fluxes
-         sst_io(:,:) = 0.0
-         sss_io(:,:) = 0.0
-         u_io  (:,:) = 0.0
-         v_io  (:,:) = 0.0
-         gtaux (:,:) = 0.
-         gtauy (:,:) = 0.
-
-      ENDIF
-
-   END SUBROUTINE oce_sbc
Index: unk/NEMO/OPA_SRC/SBC/ocesbc_cpl_noice.h90
===================================================================
--- /trunk/NEMO/OPA_SRC/SBC/ocesbc_cpl_noice.h90	(revision 58)
+++ 	(revision )
@@ -1,90 +1,0 @@
-   !!----------------------------------------------------------------------
-   !!                       ***  ocesbc_cpl_noice.h90  ***
-   !!----------------------------------------------------------------------
-
-   SUBROUTINE oce_sbc(kt)
-      !!---------------------------------------------------------------------
-      !!                 ***  ROUTINE oce_sbc  ***
-      !!                    
-      !! ** Purpose :   Ocean surface boundaries conditions in 
-      !!                coupled ocean/atmosphere case without sea-ice
-      !!
-      !! History :
-      !!   1.0  !  00-10  (O. Marti)  Original code
-      !!   2.0  !  02-12  (G. Madec)  F90: Free form and module
-      !!----------------------------------------------------------------------
-      !! * Modules used
-      USE cpl_oce 
-
-      !! * arguments
-      INTEGER, INTENT( in  ) ::   kt ! ocean time step
-
-      !! * Local declarations
-      INTEGER  ::   ji, jj, jf
-
-      REAL(wp) ::   ztrp
-      REAL(wp) ::   ztgel,zice,zhemis,zqrp,zqri,zq,zqi,zerp,ze,zei,zro
-
-      ! Compute fluxes
-      ! --------------
-
-      ! constant initialization
-      ztrp = -40.   ! restoring term for temperature (w/m2/k)
-
-      DO jj = 1, jpj
-         DO ji = 1, jpi
-
-            ztgel = fzptn(ji,jj)   ! local freezing temperature
-
-            ! opa model ice freeze()
-
-            zice = tmask(ji,jj,1)
-            IF( tn(ji,jj,1) >=  ztgel ) zice = 0.
-            freeze(ji,jj) = zice
-
-            ! hemisphere indicator (=1 north, =-1 south)
-            
-            zhemis = float(isign(1, mjg(jj)-(jpjglo/2+1)))
-            
-            ! a) net downward radiative flux qsr()
-            ! - AGCM qsrc if no ice
-            ! - zero under ice (zice=1)
-
-            qsr(ji,jj) = (1.-zice)*qsrc(ji,jj)*tmask(ji,jj,1)
-
-            ! b) heat flux damping term qrp()
-            ! - no damping if no  ice      (zice=0) 
-            ! - gamma*min(0,t-tgel) if ice (zice=1)
-
-            zqrp = 0.
-            zqri = ztrp*MIN( 0., tb(ji,jj,1)-ztgel )
-            qrp(ji,jj) = ( ( 1. - zice ) * zqrp + zice * zqri ) * tmask(ji,jj,1)
-
-
-            ! c) net downward heat flux q() = q0 + qrp()
-            ! for q0
-            ! - AGCM qc if no  ice (zice=0)
-            ! - -2 watt/m2 (arctic) or -4 watt/m2 (antarctic) if ice (zice=1)
-            zq  = qc(ji,jj)
-            zqi = -3. + zhemis
-            qt(ji,jj) = ( (1.-zice) * zq + zice * zqi ) * tmask(ji,jj,1) + qrp(ji,jj)
-            q (ji,jj) = qt(ji,jj)
-            
-            ! d) water flux damping term erp()
-            ! - no damping
-            zerp = 0.
-            erp(ji,jj) = zerp
-            
-            ! e) net upward water flux e() = eo + runoff() + erp()
-            ! for e0
-            ! - AGCM if no ice (zice=0)
-            ! - 1.mm/day if climatological and opa ice (zice=1)
-            ze  = ec(ji,jj)
-            zei = 1./rday
-            zro = runoff(ji,jj)
-            emp(ji,jj) = ( ( 1. - zice ) *  ze + zice * zei + zro ) * tmask(ji,jj,1) + erp(ji,jj)
-            
-         END DO
-      END DO
-
-   END SUBROUTINE oce_sbc
Index: unk/NEMO/OPA_SRC/SBC/ocesbc_forced_ice.h90
===================================================================
--- /trunk/NEMO/OPA_SRC/SBC/ocesbc_forced_ice.h90	(revision 58)
+++ 	(revision )
@@ -1,101 +1,0 @@
-   !!----------------------------------------------------------------------
-   !!                     ***  ocesbc_forced_ice.h90  ***
-   !!----------------------------------------------------------------------
-
-   SUBROUTINE oce_sbc (kt)
-      !!---------------------------------------------------------------------
-      !!                   ***    ROUTINE oce_sbc ***
-      !!                    
-      !! ** Purpose : Ocean surface boundary conditions with 
-      !!        Louvain la Neuve Sea Ice Model in forced mode
-      !!        using 'clio' bulk formulea
-      !!
-      !! History :
-      !!   1.0  !  99-11  (M. Imbard)  Original code
-      !!        !  01-03  (D. Ludicone, E. Durand, G. Madec) free surf.
-      !!   2.0  !  02-09  (G. Madec, C. Ethe)  F90: Free form and module
-      !!----------------------------------------------------------------------
-      !! * arguments
-      INTEGER, INTENT( in  ) ::   kt   ! ocean time step
-
-      !! * Local declarations
-      INTEGER ::   ji, jj                   ! dummy loop indices
-      REAL ztx, ztaux, zty, ztauy
-
-      !!----------------------------------------------------------------------
-      !!  OPA 8.5, LODYC-IPSL (2002)
-      !!----------------------------------------------------------------------
- 
-
-      ! 1. initialization to zero at kt = nit000
-      ! ---------------------------------------
-      
-      IF( kt == nit000 ) THEN     
-         qsr    (:,:) = 0.e0
-         qt     (:,:) = 0.e0
-         q      (:,:) = 0.e0
-         qrp    (:,:) = 0.e0
-         emp    (:,:) = 0.e0
-         emps   (:,:) = 0.e0
-         erp    (:,:) = 0.e0
-#if defined key_dynspg_fsc 
-         dmp    (:,:) = 0.e0
-#endif
-      ENDIF
-
-      IF( MOD(kt-1,nfice) == 0 ) THEN
-
-         ! Computation of internal and evaporation damping terms       
-         CALL oce_sbc_dmp
-
-         ! Surface Ocean fluxes
-         ! ====================
-
-         ! Surface heat flux (W/m2)
-         ! -----------------
-
-         q   (:,:) = fnsolar(:,:) + fsolar(:,:)     ! non solar heat flux + solar flux
-         qt  (:,:) = q(:,:)
-         qsr (:,:) = fsolar(:,:)                     ! solar flux
-
-#if defined key_dynspg_fsc     
-         ! total concentration/dilution effect (use on SSS)
-         emps(:,:) = fmass(:,:) + fsalt(:,:) + runoff(:,:) + erp(:,:) + empold
-
-         ! total volume flux (use on sea-surface height)
-         emp (:,:) = fmass(:,:) -   dmp(:,:) + runoff(:,:) + erp(:,:) + empold      
-#else
-         ! Rigid-lid (emp=emps=E-P-R+Erp)
-         emps(:,:) = fmass(:,:) + fsalt(:,:) + runoff(:,:) + erp(:,:)     ! freshwater flux
-         emp (:,:) = emps(:,:)
-
-#endif
-
-         ! Surface stress
-         ! --------------
-
-         ! update the stress beloww sea-ice area
-         DO jj = 1, jpjm1
-            DO ji = 1, fs_jpim1   ! vertor opt.
-               ztx         = MAX( freezn(ji,jj), freezn(ji,jj+1) )   ! ice/ocean indicator at U- and V-points
-               zty         = MAX( freezn(ji,jj), freezn(ji+1,jj) )
-               ztaux       = 0.5 *( ftaux(ji+1,jj) + ftaux(ji+1,jj+1) ) ! ice-ocean stress at U- and V-points
-               ztauy       = 0.5 *( ftauy(ji,jj+1) + ftauy(ji+1,jj+1) )
-               taux(ji,jj) = (1.-ztx) * taux(ji,jj) + ztx * ztaux    ! stress at the ocean surface
-               tauy(ji,jj) = (1.-zty) * tauy(ji,jj) + zty * ztauy
-            END DO
-         END DO
-
-         ! boundary condition on the stress (taux,tauy)
-         CALL lbc_lnk( taux, 'U', -1. )
-         CALL lbc_lnk( tauy, 'V', -1. )
-
-         ! Re-initialization of fluxes
-         sst_io(:,:) = 0.0
-         sss_io(:,:) = 0.0
-         u_io  (:,:) = 0.0
-         v_io  (:,:) = 0.0
-
-      ENDIF
-
-   END SUBROUTINE oce_sbc
Index: unk/NEMO/OPA_SRC/SBC/ocesbc_forced_noice.h90
===================================================================
--- /trunk/NEMO/OPA_SRC/SBC/ocesbc_forced_noice.h90	(revision 58)
+++ 	(revision )
@@ -1,185 +1,0 @@
-   !!----------------------------------------------------------------------
-   !!                     ***  ocesbc_forced_noice.h90  ***
-   !!----------------------------------------------------------------------
-
-   SUBROUTINE oce_sbc(kt)
-      !!---------------------------------------------------------------------
-      !!                   ***    ROUTINE oce_sbc ***
-      !!                    
-      !! ** Purpose : Ocean surface boundary conditions 
-      !!        in forced mode using flux formulation or bulk formulation
-      !!       
-      !!
-      !! History :
-      !!   1.0  !  99-11  (M. Imbard)  Original code
-      !!        !  01-03  (D. Ludicone, E. Durand, G. Madec) free surf.
-      !!   2.0  !  02-09  (G. Madec, C. Ethe)  F90: Free form and module
-      !!----------------------------------------------------------------------
-      !! * Modules used
-      USE daymod
-#if ! defined key_dtasst
-      USE dtasst, ONLY : rclice
-#endif
-
-#if defined key_flx_bulk_monthly || defined key_flx_bulk_daily
-      USE blk_oce
-#endif
-
-#if defined key_flx_forced_daily
-      USE flx_oce
-#endif
-      !! * arguments
-      INTEGER, INTENT( in  ) ::   kt   ! ocean time step
-
-      !! * local declarations
-      INTEGER ::   ji, jj        ! dummy loop arguments
-      INTEGER ::   i15, ifreq             !      
-      REAL(wp) ::  zxy
-      REAL(wp) ::  zsice, zqri, zqrp, ztdta, zqrj
-      REAL(wp) ::  zq, zqi, zhemis, ztrp
-      REAL(wp), DIMENSION(jpi,jpj) :: zeri, zerps, ziclim
-      REAL(wp), DIMENSION(jpi,jpj) :: zqt, zqsr, zemp  
-
-      !!----------------------------------------------------------------------
-      !!  OPA 8.5, LODYC-IPSL (2002)
-      !!----------------------------------------------------------------------
- 
-      ! 1. initialization to zero at kt = nit000
-      ! ---------------------------------------
-      
-      IF( kt == nit000 ) THEN     
-         qsr    (:,:) = 0.e0
-         freeze (:,:) = 0.e0
-         qt     (:,:) = 0.e0
-         q      (:,:) = 0.e0
-         qrp    (:,:) = 0.e0
-         emp    (:,:) = 0.e0
-         emps   (:,:) = 0.e0
-         erp    (:,:) = 0.e0
-#if defined key_dynspg_fsc 
-         dmp    (:,:) = 0.e0
-#endif
-      ENDIF
-
-#if defined key_flx_bulk_monthly || defined key_flx_bulk_daily
-      ifreq      = nfbulk
-      zqt (:,:)  = qsr_oce(:,:) + qnsr_oce(:,:)
-      zqsr(:,:)  = qsr_oce(:,:)
-      zemp(:,:)  = evap(:,:) - tprecip(:,:)
-#endif 
-
-#if defined key_flx_forced_daily
-      ifreq      = 1
-      zqt (:,:)  = p_qt (:,:)
-      zqsr(:,:)  = p_qsr(:,:)
-      zemp(:,:)  = p_emp(:,:)
-#endif 
-
-      IF( MOD( kt-1, ifreq) == 0 ) THEN
-         ! Computation of internal and evaporation damping terms       
-         CALL oce_sbc_dmp
-
-         ztrp = -40.             ! restoring terme for temperature (w/m2/k)   
-         zsice = - 0.04 / 0.8    ! ratio of isohaline compressibility over isotherme compressibility 
-                                 ! ( d rho / dt ) / ( d rho / ds )      ( s = 34, t = -1.8 )
-         ! Flux computation
-         DO jj = 1, jpj
-            DO ji = 1, jpi      
-               ! climatological ice 
-#if defined key_dtasst 
-               ziclim(ji,jj) = FLOAT( NINT( rclice(ji,jj,1) ) )
-#else
-               ! tested only with key key_dtasst (A. Lazar 07/2001)
-               ! this loop in CASE of interpolation of monthly rclice
-               i15           = INT( 2.* FLOAT(nday) / (FLOAT( nobis(nmonth) ) + 0.5) )
-               zxy           = FLOAT(nday) / FLOAT(nobis(nmonth)) + 0.5 - i15
-               ziclim(ji,jj) = FLOAT( NINT( (1-zxy) * rclice(ji,jj,1) + zxy  * rclice(ji,jj,2) ) )
-#endif
-
-               ! avoid surfreezing point            
-               tn(ji,jj,1) = MAX( tn(ji,jj,1), fzptn(ji,jj) )
-
-               ! hemisphere indicator (=1 north, =-1 south)           
-               zhemis = FLOAT( isign(1, mjg(jj) - (jpjdta/2+1) ) )
-
-               ! restoring temperature (ztdta >= to local freezing temperature)            
-#if defined key_dtasst
-               ztdta = MAX( sst(ji,jj),    fzptn(ji,jj) )
-#else
-               ztdta = MAX( t_dta(ji,jj,1), fzptn(ji,jj) )
-#endif
-
-               ! a) net downward radiative flux qsr()           
-               qsr(ji,jj) = zqsr(ji,jj) * tmask(ji,jj,1)
-
-               ! b) heat flux damping term qrp()
-               ! - gamma*(t-tlevitus) if no  climatological ice (ziclim=0)
-               ! - gamma*(t-(tgel-1.))  if climatological ice and no opa ice   (ziclim=1 zicopa=0)
-               ! - gamma*min(0,t-tgel) if climatological and opa ice (ziclim=1 zicopa=1)
-
-               zqrp = ztrp * ( tb(ji,jj,1) - ztdta )
-               zqri = ztrp * ( tb(ji,jj,1) - ( fzptn(ji,jj) - 1.) )
-               zqrj = ztrp * MIN( 0., tb(ji,jj,1) - fzptn(ji,jj) )
-               qrp(ji,jj) = ( (1. - ziclim(ji,jj)) * zqrp   &
-                  + ziclim(ji,jj)  * ( ( 1 - freeze(ji,jj)) * zqri   &
-                  + freeze(ji,jj)  * zqrj ) ) * tmask(ji,jj,1)
-
-               ! c) net downward heat flux q() = q0 + qrp()
-               ! for q0
-               ! - ECMWF fluxes if no climatological ice      (ziclim=0)
-               ! - qrp if climatological ice and no opa ice   (ziclim=1 zicopa=0)
-               ! - -2 watt/m2 (arctic) or -4 watt/m2 (antarctic) if climatological and opa ice 
-               !                                              (ziclim=1 zicopa=1)
-               zq  = zqt(ji,jj)
-               zqi = -3. + zhemis
-               qt (ji,jj) = ( (1.-ziclim(ji,jj)) * zq   &
-                  +ziclim(ji,jj)  * freeze(ji,jj) * zqi )   &
-                  * tmask(ji,jj,1)   &
-                  + qrp(ji,jj)
-               q  (ji,jj) = qt (ji,jj)
-
-            END DO
-         END DO
-
-#if defined key_dynspg_fsc 
-         ! Free-surface
-
-         ! Water flux for zero buoyancy flux if no opa ice and ice clim
-         zeri(:,:) = -zsice * qrp(:,:) * ro0cpr * rauw / 34.0
-         zerps(:,:) = ziclim(:,:) * ( (1-freeze(:,:)) * zeri(:,:) )
-
-         ! Contribution to sea level:
-         ! net upward water flux emp() = e-p + runoff() + erp() + dmp + empold
-         emp (:,:) = zemp(:,:)     &   ! e-p data
-                   + runoff(:,:)   &   ! runoff data
-                   + erp(:,:)      &   ! restoring term to SSS data
-                   + dmp(:,:)      &   ! freshwater flux associated with internal damping
-                   + empold            ! domain averaged annual mean correction
-
-         ! Contribution to salinity:
-         ! net upward water flux emps() = e-p + runoff() + erp() + zerps + empold
-         emps(:,:) = zemp(:,:)     &
-                   + runoff(:,:)   &
-                   + erp(:,:)      &
-                   + zerps(:,:)    &
-                   + empold 
-#else
-         ! Rigid-lid (emp=emps=E-P-R+Erp)
-         ! freshwater flux
-         zeri(:,:)  = -zsice * qrp(:,:) * ro0cpr * rauw / 34.0
-         zerps(:,:) = ziclim(:,:) * ( (1-freeze(:,:)) * zeri(:,:) )
-         emps (:,:) = zemp(:,:)     &
-                    + runoff(:,:)   &
-                    + erp(:,:)      &
-                    + zerps(:,:)
-         emp (:,:) = emps(:,:)
-#endif  
-
-
-         ! Boundary condition on emp for free surface option
-         ! -------------------------------------------------
-         CALL lbc_lnk( emp, 'T', 1. )
-      
-      ENDIF
-
-   END SUBROUTINE oce_sbc
