Index: branches/2011/dev_MERCATOR_INGV_2011_MERGE/NEMOGCM/NEMO/OPA_SRC/SBC/sbcmod.F90
===================================================================
--- branches/2011/dev_MERCATOR_INGV_2011_MERGE/NEMOGCM/NEMO/OPA_SRC/SBC/sbcmod.F90	(revision 3083)
+++ branches/2011/dev_MERCATOR_INGV_2011_MERGE/NEMOGCM/NEMO/OPA_SRC/SBC/sbcmod.F90	(revision 3085)
@@ -29,4 +29,5 @@
    USE sbcblk_clio      ! surface boundary condition: bulk formulation : CLIO
    USE sbcblk_core      ! surface boundary condition: bulk formulation : CORE
+   USE sbcblk_ecmwf     ! surface boundary condition: bulk formulation : MFS
    USE sbcice_if        ! surface boundary condition: ice-if sea-ice model
    USE sbcice_lim       ! surface boundary condition: LIM 3.0 sea-ice model
@@ -46,4 +47,5 @@
    USE in_out_manager   ! I/O manager
    USE lib_mpp          ! MPP library
+   USE sbcwave          ! Wave module
 
    IMPLICIT NONE
@@ -78,5 +80,5 @@
       !!
       NAMELIST/namsbc/ nn_fsbc   , ln_ana , ln_flx  , ln_blk_clio, ln_blk_core, ln_cpl,   &
-         &             ln_apr_dyn, nn_ice , ln_dm2dc, ln_rnf     , ln_ssr     , nn_fwb
+         &             ln_blk_ecmwf, ln_apr_dyn, nn_ice , ln_dm2dc, ln_rnf, ln_ssr     , nn_fwb, ln_cdgw
       !!----------------------------------------------------------------------
 
@@ -107,5 +109,6 @@
          WRITE(numout,*) '              flux       formulation                     ln_flx      = ', ln_flx
          WRITE(numout,*) '              CLIO bulk  formulation                     ln_blk_clio = ', ln_blk_clio
-         WRITE(numout,*) '              CLIO bulk  formulation                     ln_blk_core = ', ln_blk_core
+         WRITE(numout,*) '              CORE bulk  formulation                     ln_blk_core = ', ln_blk_core
+         WRITE(numout,*) '              MFS  bulk  formulation                     ln_blk_ecmwf= ', ln_blk_ecmwf
          WRITE(numout,*) '              coupled    formulation (T if key_sbc_cpl)  ln_cpl      = ', ln_cpl
          WRITE(numout,*) '           Misc. options of sbc : '
@@ -154,4 +157,8 @@
       IF( ln_dm2dc .AND. ( ( NINT(rday) / ( nn_fsbc * NINT(rdt) ) )  < 8 ) )   &
          &   CALL ctl_warn( 'diurnal cycle for qsr: the sampling of the diurnal cycle is too small...' )
+
+       !drag coefficient read from wave model definable only with ecmwf bulk formulae and core 
+       IF(ln_cdgw .AND. .NOT.(ln_blk_ecmwf .OR. ln_blk_core) )              &
+          &   CALL ctl_stop( 'drag coefficient read from wave model definable only with ecmwf bulk formulae and core')
       
       !                          ! Choice of the Surface Boudary Condition (set nsbc)
@@ -161,4 +168,5 @@
       IF( ln_blk_clio     ) THEN   ;   nsbc =  3   ; icpt = icpt + 1   ;   ENDIF       ! CLIO bulk       formulation
       IF( ln_blk_core     ) THEN   ;   nsbc =  4   ; icpt = icpt + 1   ;   ENDIF       ! CORE bulk       formulation
+      IF( ln_blk_ecmwf    ) THEN   ;   nsbc =  6   ; icpt = icpt + 1   ;   ENDIF       ! MFS  bulk       formulation
       IF( ln_cpl          ) THEN   ;   nsbc =  5   ; icpt = icpt + 1   ;   ENDIF       ! Coupled         formulation
       IF( cp_cfg == 'gyre') THEN   ;   nsbc =  0                       ;   ENDIF       ! GYRE analytical formulation
@@ -181,4 +189,5 @@
          IF( nsbc ==  4 )   WRITE(numout,*) '              CORE bulk formulation'
          IF( nsbc ==  5 )   WRITE(numout,*) '              coupled formulation'
+         IF( nsbc ==  6 )   WRITE(numout,*) '              MFS Bulk formulation'
       ENDIF
       !
@@ -228,4 +237,5 @@
       !                                                  ! averaged over nf_sbc time-step
 
+      IF (ln_cdgw) CALL sbc_wave( kt )
                                                    !==  sbc formulation  ==!
                                                             
@@ -238,4 +248,5 @@
       CASE(  4 )   ;   CALL sbc_blk_core( kt )                    ! bulk formulation : CORE for the ocean
       CASE(  5 )   ;   CALL sbc_cpl_rcv ( kt, nn_fsbc, nn_ice )   ! coupled formulation
+      CASE(  6 )   ;   CALL sbc_blk_ecmwf( kt )                   ! bulk formulation : MFS for the ocean
       CASE( -1 )                                
                        CALL sbc_ana     ( kt )                    ! ESOPA, test ALL the formulations
