Changeset 7854 for branches/UKMO/r6232_HZG_WAVE-coupling/NEMOGCM/NEMO
- Timestamp:
- 2017-03-30T18:42:37+02:00 (7 years ago)
- Location:
- branches/UKMO/r6232_HZG_WAVE-coupling/NEMOGCM/NEMO/OPA_SRC/SBC
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/UKMO/r6232_HZG_WAVE-coupling/NEMOGCM/NEMO/OPA_SRC/SBC/sbc_oce.F90
r7809 r7854 70 70 LOGICAL , PUBLIC :: ln_phioc !: true if wave energy to ocean is used 71 71 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 72 73 ! 73 74 LOGICAL , PUBLIC :: ln_icebergs !: Icebergs … … 96 97 INTEGER , PUBLIC, PARAMETER :: jp_iam_sas = 2 !: Multi executable configuration - SAS component 97 98 ! (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 98 107 !!---------------------------------------------------------------------- 99 108 !! Ocean Surface Boundary Condition fields -
branches/UKMO/r6232_HZG_WAVE-coupling/NEMOGCM/NEMO/OPA_SRC/SBC/sbcblk_core.F90
r7471 r7854 319 319 & Cd, Ch, Ce, zt_zu, zq_zu ) 320 320 321 IF ( ln_cdgw .AND. nn_drag==jp_std ) Cd(:,:) = cdn_wave(:,:) 321 322 ! ... tau module, i and j component 322 323 DO jj = 1, jpj … … 737 738 738 739 !! Neutral coefficients at 10m: 739 IF( ln_ wave .AND. ln_cdgw) THEN ! wave drag case740 IF( ln_cdgw .AND. nn_drag==jp_mcore ) THEN ! wave drag case 740 741 cdn_wave(:,:) = cdn_wave(:,:) + rsmall * ( 1._wp - tmask(:,:,1) ) 741 742 ztmp0 (:,:) = cdn_wave(:,:) … … 783 784 END IF 784 785 785 IF( ln_ wave .AND. ln_cdgw) THEN ! surface wave case786 IF( ln_cdgw .AND. nn_drag==jp_mcore ) THEN ! surface wave case 786 787 sqrt_Cd = vkarmn / ( vkarmn / sqrt_Cd_n10 - zpsi_m_u ) 787 788 Cd = sqrt_Cd * sqrt_Cd -
branches/UKMO/r6232_HZG_WAVE-coupling/NEMOGCM/NEMO/OPA_SRC/SBC/sbccpl.F90
r7809 r7854 956 956 !!---------------------------------------------------------------------- 957 957 USE zdf_oce, ONLY : ln_zdfqiao 958 USE sbcflx , ONLY : ln_shelf_flx , nn_drag, jp_std958 USE sbcflx , ONLY : ln_shelf_flx 959 959 960 960 INTEGER, INTENT(in) :: kt ! ocean model time step index -
branches/UKMO/r6232_HZG_WAVE-coupling/NEMOGCM/NEMO/OPA_SRC/SBC/sbcflx.F90
r7792 r7854 33 33 INTEGER , PARAMETER :: jp_vtau = 2 ! index of wind stress (j-component) file 34 34 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 branch37 INTEGER, PUBLIC :: nn_drag ! type of formula to calculate wind stress from wind components38 INTEGER, PUBLIC, PARAMETER :: jp_ukmo = 0 ! UKMO SHELF formulation39 INTEGER, PUBLIC, PARAMETER :: jp_std = 1 ! standard formulation with forced or coupled drag coefficient40 INTEGER, PUBLIC, PARAMETER :: jp_const = 2 ! standard formulation with constant drag coefficient41 42 35 INTEGER , PARAMETER :: jp_qsr = 4 ! index of solar heat file 43 36 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 153 153 WRITE(numout,*) ' closed sea (=0/1) (set in namdom) nn_closea = ', nn_closea 154 154 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_drag155 WRITE(numout,*) ' momentum formulation nn_drag = ', nn_drag 156 156 ENDIF 157 157 … … 230 230 CALL ctl_stop( 'Stokes-Coriolis term calculated only if activated Stokes Drift ln_sdw=T') 231 231 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') 232 238 ELSE 233 239 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.