Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
7.14
7.14.2
20 changes: 17 additions & 3 deletions model/src/w3src4md.F90
Original file line number Diff line number Diff line change
Expand Up @@ -551,6 +551,13 @@ SUBROUTINE W3SIN4 (A, CG, K, U, USTAR, DRAT, AS, USDIR, Z0, CD, &
REAL :: COSU, SINU, TAUX, TAUY, USDIRP, USTP
REAL :: TAUPX, TAUPY, UST2, TAUW, TAUWB
REAL , PARAMETER :: EPS1 = 0.00001, EPS2 = 0.000001

REAL :: BBETA_EFF !PBS: The effective "betamax" after we apply a linear approximation.
! Part of SOFAR enhancements to be able to better calibrate betamax
! Estimated as BBETA_EFF= BETAMAX_INTERCEPT + BETAMAX_SLOPE * U
REAL , PARAMETER :: BETAMAX_INTERCEPT=1.134 ! Intercept of the linear betamax relation
REAL , PARAMETER :: BETAMAX_SLOPE=0.0157 ! Slope of the linear betamax relation

#if defined(W3_T) || defined(W3_STAB3)
REAL :: Usigma !standard deviation of U due to gustiness
REAL :: USTARsigma !standard deviation of USTAR due to gustiness
Expand Down Expand Up @@ -602,9 +609,12 @@ SUBROUTINE W3SIN4 (A, CG, K, U, USTAR, DRAT, AS, USDIR, Z0, CD, &
STRESSSTABN =0.
!
! Coupling coefficient times density ratio DRAT
!
CONST1=BBETA/KAPPA**2 ! needed for the tail
CONST0=CONST1*DRAT ! needed for the resolved spectrum
! PBS: Instead of a constant betamax we use a betamax linearly dependent on wind speed to allow for more flexibility
! in calibration. (SOFAR SPECIFIC)
BBETA_EFF = MAX( MIN( BETAMAX_INTERCEPT + BETAMAX_SLOPE * U, 1.5 ), 1.25)

CONST1=BBETA_EFF/KAPPA**2 ! needed for the tail
CONST0=CONST1*DRAT ! needed for the resolved spectrum
!
! 1.a estimation of surface roughness parameters
!
Expand Down Expand Up @@ -957,6 +967,10 @@ SUBROUTINE W3SIN4 (A, CG, K, U, USTAR, DRAT, AS, USDIR, Z0, CD, &
TAU1 =(TAUHFT(IND,J)*DELI2+TAUHFT(IND+1,J)*DELI1 )*DELJ2 &
+(TAUHFT(IND,J+1)*DELI2+TAUHFT(IND+1,J+1)*DELI1)*DELJ1
END IF

! PBS - SOFAR: Because we recompute betamax based on windspeed we have to reschale the tabulated tail
! contributions with the new betamax value
TAU1 = TAU1 * (BBETA_EFF / BBETA)
!
TAUHF = LEVTAIL0*UST**2*TAU1
END IF ! End of test on use of table
Expand Down
Loading