Changeset 7854


Ignore:
Timestamp:
2017-03-30T18:42:37+02:00 (3 years ago)
Author:
jcastill
Message:

Addition of the HZG drag coefficient modification for core forcing - the input winds will be read from the core forcing input files, instead of being calculated from a wind wave forcing file

Location:
branches/UKMO/r6232_HZG_WAVE-coupling/NEMOGCM
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • branches/UKMO/r6232_HZG_WAVE-coupling/NEMOGCM/CONFIG/SHARED/namelist_ref

    r7853 r7854  
    282282                           !  = 1 standard formulation with forced of coupled drag coefficient 
    283283                           !  = 2 standard formulation with constant drag coefficient 
     284                           !  = 3 momentum calculated from core forcing fields 
    284285/ 
    285286!----------------------------------------------------------------------- 
     
    10181019   nn_clos       =     1   !  predefined closure type (0=MY82, 1=k-eps, 2=k-w, 3=Gen) 
    10191020   nn_wmix       =     0   !  type of wave breaking mixing 
    1020            !                             ! = 0 standard formulation (original NEMO formulation)  
    1021            !                             ! = 1 Craig and Banner formulation  
     1021           !                             ! = 0 Craig and Banner formulation (original NEMO formulation)  
     1022           !                             ! = 1 Janssen formulation (no assumption of direct energy conversion)  
    10221023/ 
    10231024!----------------------------------------------------------------------- 
  • branches/UKMO/r6232_HZG_WAVE-coupling/NEMOGCM/NEMO/OPA_SRC/SBC/sbc_oce.F90

    r7809 r7854  
    7070   LOGICAL , PUBLIC ::   ln_phioc       !: true if wave energy to ocean is used  
    7171   LOGICAL , PUBLIC ::   ln_stcor       !: true if Stokes-Coriolis term is used  
     72   INTEGER , PUBLIC ::   nn_drag        ! type of formula to calculate wind stress from wind components 
    7273   ! 
    7374   LOGICAL , PUBLIC ::   ln_icebergs    !: Icebergs 
     
    9697   INTEGER , PUBLIC, PARAMETER ::   jp_iam_sas  = 2      !: Multi executable configuration - SAS component 
    9798                                                         !  (internal OASIS coupling) 
     99   !!---------------------------------------------------------------------- 
     100   !!           wind stress definition 
     101   !!---------------------------------------------------------------------- 
     102   INTEGER, PUBLIC, PARAMETER ::   jp_ukmo  = 0        ! UKMO SHELF formulation 
     103   INTEGER, PUBLIC, PARAMETER ::   jp_std   = 1        ! standard formulation with forced or coupled drag coefficient  
     104   INTEGER, PUBLIC, PARAMETER ::   jp_const = 2        ! standard formulation with constant drag coefficient  
     105   INTEGER, PUBLIC, PARAMETER ::   jp_mcore = 3        ! momentum calculated from core forcing fields  
     106 
    98107   !!---------------------------------------------------------------------- 
    99108   !!              Ocean Surface Boundary Condition fields 
  • branches/UKMO/r6232_HZG_WAVE-coupling/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_core.F90

    r7471 r7854  
    319319         &               Cd, Ch, Ce, zt_zu, zq_zu ) 
    320320     
     321      IF ( ln_cdgw .AND. nn_drag==jp_std ) Cd(:,:) = cdn_wave(:,:) 
    321322      ! ... tau module, i and j component 
    322323      DO jj = 1, jpj 
     
    737738 
    738739      !! Neutral coefficients at 10m: 
    739       IF( ln_wave .AND. ln_cdgw ) THEN      ! wave drag case 
     740      IF( ln_cdgw .AND. nn_drag==jp_mcore ) THEN      ! wave drag case 
    740741         cdn_wave(:,:) = cdn_wave(:,:) + rsmall * ( 1._wp - tmask(:,:,1) ) 
    741742         ztmp0   (:,:) = cdn_wave(:,:) 
     
    783784         END IF 
    784785        
    785          IF( ln_wave .AND. ln_cdgw ) THEN      ! surface wave case 
     786         IF( ln_cdgw .AND. nn_drag==jp_mcore ) THEN      ! surface wave case 
    786787            sqrt_Cd = vkarmn / ( vkarmn / sqrt_Cd_n10 - zpsi_m_u )  
    787788            Cd      = sqrt_Cd * sqrt_Cd 
  • branches/UKMO/r6232_HZG_WAVE-coupling/NEMOGCM/NEMO/OPA_SRC/SBC/sbccpl.F90

    r7809 r7854  
    956956      !!---------------------------------------------------------------------- 
    957957      USE zdf_oce,  ONLY : ln_zdfqiao 
    958       USE sbcflx ,  ONLY : ln_shelf_flx, nn_drag, jp_std 
     958      USE sbcflx ,  ONLY : ln_shelf_flx 
    959959 
    960960      INTEGER, INTENT(in)           ::   kt          ! ocean model time step index 
  • branches/UKMO/r6232_HZG_WAVE-coupling/NEMOGCM/NEMO/OPA_SRC/SBC/sbcflx.F90

    r7792 r7854  
    3333   INTEGER , PARAMETER ::   jp_vtau = 2   ! index of wind stress (j-component) file 
    3434   INTEGER , PARAMETER ::   jp_qtot = 3   ! index of total (non solar+solar) heat file 
    35  
    36    ! These lines are here just to allow merging with another branch 
    37    INTEGER, PUBLIC            ::   nn_drag        ! type of formula to calculate wind stress from wind components 
    38    INTEGER, PUBLIC, PARAMETER ::   jp_ukmo  = 0        ! UKMO SHELF formulation 
    39    INTEGER, PUBLIC, PARAMETER ::   jp_std   = 1        ! standard formulation with forced or coupled drag coefficient  
    40    INTEGER, PUBLIC, PARAMETER ::   jp_const = 2        ! standard formulation with constant drag coefficient  
    41  
    4235   INTEGER , PARAMETER ::   jp_qsr  = 4   ! index of solar heat file 
    4336   INTEGER , PARAMETER ::   jp_emp  = 5   ! index of evaporation-precipation file 
  • branches/UKMO/r6232_HZG_WAVE-coupling/NEMOGCM/NEMO/OPA_SRC/SBC/sbcmod.F90

    r7809 r7854  
    153153         WRITE(numout,*) '              closed sea (=0/1) (set in namdom)          nn_closea   = ', nn_closea 
    154154         WRITE(numout,*) '              n. of iterations if land-sea-mask applied  nn_lsm      = ', nn_lsm 
    155          WRITE(numout,*) '              momentum formulation (ln_shelf_flx)        nn_drag     = ', nn_drag 
     155         WRITE(numout,*) '              momentum formulation                       nn_drag     = ', nn_drag 
    156156      ENDIF 
    157157 
     
    230230             CALL ctl_stop( 'Stokes-Coriolis term calculated only if activated Stokes Drift ln_sdw=T') 
    231231         ENDIF 
     232         IF ( ln_cdgw .AND. .NOT.(nn_drag==jp_ukmo .OR. nn_drag==jp_std .OR. nn_drag==jp_const .OR. nn_drag==jp_mcore) ) &  
     233             CALL ctl_stop( 'The chosen nn_drag for momentum calculation must be 0, 1, 2, or 3') 
     234         IF ( ln_cdgw .AND. ln_blk_core .AND. nn_drag==0 ) & 
     235             CALL ctl_stop( 'The chosen nn_drag for momentum calculation in core forcing must be 1, 2, or 3') 
     236         IF ( ln_cdgw .AND. ln_flx .AND. nn_drag==3 ) & 
     237             CALL ctl_stop( 'The chosen nn_drag for momentum calculation in direct forcing must be 0, 1, or 2') 
    232238      ELSE 
    233239         IF ( ln_cdgw .OR. ln_sdw .OR. ln_tauoc .OR. ln_stcor .OR. ln_phioc ) &   
Note: See TracChangeset for help on using the changeset viewer.