WAVEWATCH III  beta 0.0.1
w3src2md.F90 File Reference

Contains MODULE W3SRC2MD. More...

Go to the source code of this file.

Modules

module  w3src2md
 Tolman and Chalikov (1996) input and dissipation source terms.
 

Functions/Subroutines

subroutine w3src2md::w3spr2 (A, CG, WN, DEPTH, FPI, U, USTAR, EMEAN, FMEAN, WNMEAN, AMAX, ALFA, FP)
 Calculate mean wave parameters for the use in the source term routines (Tolman and Chalikov). More...
 
subroutine w3src2md::w3sin2 (A, CG, K, U, UDIR, CD, Z0, FPI, S, D)
 Calculate input source term. More...
 
subroutine w3src2md::w3sds2 (A, CG, K, FPI, USTAR, ALFA, S, D)
 Calculate whitecapping source term and diagonal term of derivative. More...
 
subroutine w3src2md::inptab
 Generate an interpolation table for the air-sea interaction parameter of Chalikov and Belevich (1993). More...
 
real function w3beta (OMA, CL, NDST)
 Calculate wind-wave interaction parameter beta. More...
 

Detailed Description

Contains MODULE W3SRC2MD.

Author
H. L. Tolman
Date
29-May-2009

Definition in file w3src2md.F90.

Function/Subroutine Documentation

◆ w3beta()

real function inptab::w3beta ( real, intent(in)  OMA,
real, intent(in)  CL,
integer, intent(in)  NDST 
)

Calculate wind-wave interaction parameter beta.

Parameters
OMANon-dimensional apparent frequency.
CLDrag coefficient at height l.
NDST
Returns
W3BETA Wind-wave interaction parameter multiplied by density ratio.
Author
H. L. Tolman
D. Chalikov
Date
21-Feb-2004

Definition at line 1082 of file w3src2md.F90.

1082  !/
1083  !/ +-----------------------------------+
1084  !/ | WAVEWATCH III NOAA/NCEP |
1085  !/ | H. L. Tolman |
1086  !/ | D.Chalikov |
1087  !/ | FORTRAN 90 |
1088  !/ | Last update : 21-Feb-2004 |
1089  !/ +-----------------------------------+
1090  !/
1091  !/ 06-Dec-1996 : Final version 1.18 / FORTRAN 77 version.
1092  !/ 06-Dec-1999 : Upgrade to FORTRAN 90 ( version 2.00 )
1093  !/ 21-Feb-2004 : Multiple model version. ( version 3.06 )
1094  !/
1095  ! 1. Purpose :
1096  !
1097  ! Calculate wind-wave interaction parameter beta.
1098  !
1099  ! 2. Method :
1100  !
1101  ! Chalikov and Belevich (1992), see also manual.
1102  !
1103  ! 3. Parameters :
1104  !
1105  ! Parameter list
1106  ! ----------------------------------------------------------------
1107  ! W3BETA Real O Wind-wave interaction parameter multiplied
1108  ! by density ratio.
1109  ! OMA Real I Non-dimensional apparent frequency.
1110  !
1111  ! OMA = OMEGA | U | cos(theta-theta ) / g
1112  ! l w
1113  !
1114  ! CL Real I Drag coefficient at height l
1115  ! ----------------------------------------------------------------
1116  !
1117  ! 4. Subroutines used :
1118  !
1119  ! 5. Called by :
1120  !
1121  ! 6. Error messages :
1122  !
1123  ! 7. Remarks :
1124  !
1125  ! 8. Structure :
1126  !
1127  ! See source code.
1128  !
1129  ! 9. Switches :
1130  !
1131  ! !/S Enable subroutine tracing.
1132  ! !/T0 Enable test output.
1133  !
1134  ! 10. Source code :
1135  !
1136  !/ ------------------------------------------------------------------- /
1137  IMPLICIT NONE
1138  !/
1139  !/ ------------------------------------------------------------------- /
1140  !/ Parameter list
1141  !/
1142  INTEGER, INTENT(IN) :: NDST
1143  REAL, INTENT(IN) :: OMA, CL
1144  !/
1145  !/ ------------------------------------------------------------------- /
1146  !/ Local parameters
1147  !/
1148 #ifdef W3_S
1149  INTEGER, SAVE :: IENT = 0
1150 #endif
1151  REAL :: OM1, OM2, A0, A1, A2, A3, A4, A5, &
1152  A6, A7, A8, A9, A10
1153  !/
1154  !/ ------------------------------------------------------------------- /
1155  !/
1156 #ifdef W3_S
1157  CALL strace (ient, 'W3BETA')
1158 #endif
1159  !
1160 #ifdef W3_T0
1161  WRITE (ndst,9000) oma, cl
1162 #endif
1163  !
1164  ! calculate Omegas
1165  !
1166  om1 = 1.075 + 75.*cl
1167  om2 = 1.2 + 300.*cl
1168  !
1169  ! calculate factors a
1170  !
1171  a1 = 0.25 + 395.*cl
1172  a2 = 0.35 + 150.*cl
1173  a4 = 0.3 + 300.*cl
1174  a9 = 0.35 + 240.*cl
1175  a10 = -0.06 + 470.*cl
1176  !
1177  a5 = a4 * om1
1178  a0 = 0.25 * a5**2 / a4
1179  a3 = (a0-a2-a1) / (a0+a4+a5)
1180  a6 = a0 * (1.-a3)
1181  a7 = (a9*(om2-1)**2+a10) / (om2-om1)
1182  a8 = a7 * om1
1183  !
1184 #ifdef W3_T0
1185  WRITE (ndst,9001) om1, om2
1186  WRITE (ndst,9002) a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, a10
1187 #endif
1188  !
1189  ! calculate beta * 1.e4
1190  !
1191  IF ( oma .LT. -1. ) THEN
1192  w3beta = -a1 * oma**2 - a2
1193  ELSE IF (oma .LT. om1/2.) THEN
1194  w3beta = a3 * oma * ( a4 * oma - a5 ) - a6
1195  ELSE IF (oma .LT. om1) THEN
1196  w3beta = oma * ( a4 * oma - a5 )
1197  ELSE IF (oma .LT. om2) THEN
1198  w3beta = a7 * oma - a8
1199  ELSE
1200  w3beta = a9 * (oma-1.)**2 + a10
1201  END IF
1202  !
1203  ! beta * dwat / dair
1204  !
1205  w3beta = w3beta * 1.e-4
1206 #ifdef W3_T0
1207  WRITE (ndst,9003) w3beta
1208 #endif
1209  !
1210  RETURN
1211  !
1212  ! Formats
1213  !
1214 #ifdef W3_T0
1215 9000 FORMAT ( ' TEST W3BETA : INPUT : ',2e10.3)
1216 9001 FORMAT ( ' TEST W3BETA : OM1-2 : ',2e10.3)
1217 9002 FORMAT ( ' TEST W3BETA : A0-10 : ',5e10.3/ &
1218  ' ',6e10.3)
1219 9003 FORMAT ( ' TEST W3BETA : BETA : ',e10.3)
1220 #endif
1221  !/
1222  !/ End of W3BETA ----------------------------------------------------- /
1223  !/

References w3servmd::strace().

Referenced by w3src2md::inptab().

w3snl4md::oma
real, dimension(:), allocatable oma
Definition: w3snl4md.F90:143
w3servmd::strace
subroutine strace(IENT, SNAME)
Definition: w3servmd.F90:148
w3beta
real function w3beta(OMA, CL, NDST)
Calculate wind-wave interaction parameter beta.
Definition: w3src2md.F90:1082