Index: /branches/UKMO/r6232_HZG_WAVE-coupling/NEMOGCM/CONFIG/SHARED/namelist_ref
===================================================================
--- /branches/UKMO/r6232_HZG_WAVE-coupling/NEMOGCM/CONFIG/SHARED/namelist_ref	(revision 7853)
+++ /branches/UKMO/r6232_HZG_WAVE-coupling/NEMOGCM/CONFIG/SHARED/namelist_ref	(revision 7854)
@@ -282,4 +282,5 @@
                            !  = 1 standard formulation with forced of coupled drag coefficient
                            !  = 2 standard formulation with constant drag coefficient
+                           !  = 3 momentum calculated from core forcing fields
 /
 !-----------------------------------------------------------------------
@@ -1018,6 +1019,6 @@
    nn_clos       =     1   !  predefined closure type (0=MY82, 1=k-eps, 2=k-w, 3=Gen)
    nn_wmix       =     0   !  type of wave breaking mixing
-           !                             ! = 0 standard formulation (original NEMO formulation) 
-           !                             ! = 1 Craig and Banner formulation 
+           !                             ! = 0 Craig and Banner formulation (original NEMO formulation) 
+           !                             ! = 1 Janssen formulation (no assumption of direct energy conversion) 
 /
 !-----------------------------------------------------------------------
Index: /branches/UKMO/r6232_HZG_WAVE-coupling/NEMOGCM/NEMO/OPA_SRC/SBC/sbc_oce.F90
===================================================================
--- /branches/UKMO/r6232_HZG_WAVE-coupling/NEMOGCM/NEMO/OPA_SRC/SBC/sbc_oce.F90	(revision 7853)
+++ /branches/UKMO/r6232_HZG_WAVE-coupling/NEMOGCM/NEMO/OPA_SRC/SBC/sbc_oce.F90	(revision 7854)
@@ -70,4 +70,5 @@
    LOGICAL , PUBLIC ::   ln_phioc       !: true if wave energy to ocean is used 
    LOGICAL , PUBLIC ::   ln_stcor       !: true if Stokes-Coriolis term is used 
+   INTEGER , PUBLIC ::   nn_drag        ! type of formula to calculate wind stress from wind components
    !
    LOGICAL , PUBLIC ::   ln_icebergs    !: Icebergs
@@ -96,4 +97,12 @@
    INTEGER , PUBLIC, PARAMETER ::   jp_iam_sas  = 2      !: Multi executable configuration - SAS component
                                                          !  (internal OASIS coupling)
+   !!----------------------------------------------------------------------
+   !!           wind stress definition
+   !!----------------------------------------------------------------------
+   INTEGER, PUBLIC, PARAMETER ::   jp_ukmo  = 0        ! UKMO SHELF formulation
+   INTEGER, PUBLIC, PARAMETER ::   jp_std   = 1        ! standard formulation with forced or coupled drag coefficient 
+   INTEGER, PUBLIC, PARAMETER ::   jp_const = 2        ! standard formulation with constant drag coefficient 
+   INTEGER, PUBLIC, PARAMETER ::   jp_mcore = 3        ! momentum calculated from core forcing fields 
+
    !!----------------------------------------------------------------------
    !!              Ocean Surface Boundary Condition fields
Index: /branches/UKMO/r6232_HZG_WAVE-coupling/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_core.F90
===================================================================
--- /branches/UKMO/r6232_HZG_WAVE-coupling/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_core.F90	(revision 7853)
+++ /branches/UKMO/r6232_HZG_WAVE-coupling/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_core.F90	(revision 7854)
@@ -319,4 +319,5 @@
          &               Cd, Ch, Ce, zt_zu, zq_zu )
     
+      IF ( ln_cdgw .AND. nn_drag==jp_std ) Cd(:,:) = cdn_wave(:,:)
       ! ... tau module, i and j component
       DO jj = 1, jpj
@@ -737,5 +738,5 @@
 
       !! Neutral coefficients at 10m:
-      IF( ln_wave .AND. ln_cdgw ) THEN      ! wave drag case
+      IF( ln_cdgw .AND. nn_drag==jp_mcore ) THEN      ! wave drag case
          cdn_wave(:,:) = cdn_wave(:,:) + rsmall * ( 1._wp - tmask(:,:,1) )
          ztmp0   (:,:) = cdn_wave(:,:)
@@ -783,5 +784,5 @@
          END IF
        
-         IF( ln_wave .AND. ln_cdgw ) THEN      ! surface wave case
+         IF( ln_cdgw .AND. nn_drag==jp_mcore ) THEN      ! surface wave case
             sqrt_Cd = vkarmn / ( vkarmn / sqrt_Cd_n10 - zpsi_m_u ) 
             Cd      = sqrt_Cd * sqrt_Cd
Index: /branches/UKMO/r6232_HZG_WAVE-coupling/NEMOGCM/NEMO/OPA_SRC/SBC/sbccpl.F90
===================================================================
--- /branches/UKMO/r6232_HZG_WAVE-coupling/NEMOGCM/NEMO/OPA_SRC/SBC/sbccpl.F90	(revision 7853)
+++ /branches/UKMO/r6232_HZG_WAVE-coupling/NEMOGCM/NEMO/OPA_SRC/SBC/sbccpl.F90	(revision 7854)
@@ -956,5 +956,5 @@
       !!----------------------------------------------------------------------
       USE zdf_oce,  ONLY : ln_zdfqiao
-      USE sbcflx ,  ONLY : ln_shelf_flx, nn_drag, jp_std
+      USE sbcflx ,  ONLY : ln_shelf_flx
 
       INTEGER, INTENT(in)           ::   kt          ! ocean model time step index
Index: /branches/UKMO/r6232_HZG_WAVE-coupling/NEMOGCM/NEMO/OPA_SRC/SBC/sbcflx.F90
===================================================================
--- /branches/UKMO/r6232_HZG_WAVE-coupling/NEMOGCM/NEMO/OPA_SRC/SBC/sbcflx.F90	(revision 7853)
+++ /branches/UKMO/r6232_HZG_WAVE-coupling/NEMOGCM/NEMO/OPA_SRC/SBC/sbcflx.F90	(revision 7854)
@@ -33,11 +33,4 @@
    INTEGER , PARAMETER ::   jp_vtau = 2   ! index of wind stress (j-component) file
    INTEGER , PARAMETER ::   jp_qtot = 3   ! index of total (non solar+solar) heat file
-
-   ! These lines are here just to allow merging with another branch
-   INTEGER, PUBLIC            ::   nn_drag        ! type of formula to calculate wind stress from wind components
-   INTEGER, PUBLIC, PARAMETER ::   jp_ukmo  = 0        ! UKMO SHELF formulation
-   INTEGER, PUBLIC, PARAMETER ::   jp_std   = 1        ! standard formulation with forced or coupled drag coefficient 
-   INTEGER, PUBLIC, PARAMETER ::   jp_const = 2        ! standard formulation with constant drag coefficient 
-
    INTEGER , PARAMETER ::   jp_qsr  = 4   ! index of solar heat file
    INTEGER , PARAMETER ::   jp_emp  = 5   ! index of evaporation-precipation file
Index: /branches/UKMO/r6232_HZG_WAVE-coupling/NEMOGCM/NEMO/OPA_SRC/SBC/sbcmod.F90
===================================================================
--- /branches/UKMO/r6232_HZG_WAVE-coupling/NEMOGCM/NEMO/OPA_SRC/SBC/sbcmod.F90	(revision 7853)
+++ /branches/UKMO/r6232_HZG_WAVE-coupling/NEMOGCM/NEMO/OPA_SRC/SBC/sbcmod.F90	(revision 7854)
@@ -153,5 +153,5 @@
          WRITE(numout,*) '              closed sea (=0/1) (set in namdom)          nn_closea   = ', nn_closea
          WRITE(numout,*) '              n. of iterations if land-sea-mask applied  nn_lsm      = ', nn_lsm
-         WRITE(numout,*) '              momentum formulation (ln_shelf_flx)        nn_drag     = ', nn_drag
+         WRITE(numout,*) '              momentum formulation                       nn_drag     = ', nn_drag
       ENDIF
 
@@ -230,4 +230,10 @@
              CALL ctl_stop( 'Stokes-Coriolis term calculated only if activated Stokes Drift ln_sdw=T')
          ENDIF
+         IF ( ln_cdgw .AND. .NOT.(nn_drag==jp_ukmo .OR. nn_drag==jp_std .OR. nn_drag==jp_const .OR. nn_drag==jp_mcore) ) & 
+             CALL ctl_stop( 'The chosen nn_drag for momentum calculation must be 0, 1, 2, or 3')
+         IF ( ln_cdgw .AND. ln_blk_core .AND. nn_drag==0 ) &
+             CALL ctl_stop( 'The chosen nn_drag for momentum calculation in core forcing must be 1, 2, or 3')
+         IF ( ln_cdgw .AND. ln_flx .AND. nn_drag==3 ) &
+             CALL ctl_stop( 'The chosen nn_drag for momentum calculation in direct forcing must be 0, 1, or 2')
       ELSE
          IF ( ln_cdgw .OR. ln_sdw .OR. ln_tauoc .OR. ln_stcor .OR. ln_phioc ) &  
