WAVEWATCH III  beta 0.0.1
w3flx4md Module Reference

Flux/stress computations according to Hwang ( 2011). More...

Functions/Subroutines

subroutine w3flx4 (ZWND, U10, U10D, UST, USTD, Z0, CD)
 Flux/stress computations according to Hwang (JTECH, 2011). More...
 

Detailed Description

Flux/stress computations according to Hwang ( 2011).

Hwang 2011: J Atmos Ocean Tech 28(3) 436-443.

Author
H. L. Tolman
S. Zieger
Q. Liu
Date
24-Nov-2017

Function/Subroutine Documentation

◆ w3flx4()

subroutine w3flx4md::w3flx4 ( real, intent(in)  ZWND,
real, intent(in)  U10,
real, intent(in)  U10D,
real, intent(out)  UST,
real, intent(out)  USTD,
real, intent(out)  Z0,
real, intent(out)  CD 
)

Flux/stress computations according to Hwang (JTECH, 2011).

     CD    = 1E-4 ( -0.016 U10**2 + 0.967U10 + 8.058)
     USTAR = U10 * SQRT( U10 )
Parameters
[in]ZWNDWind height.
[in]U10Wind speed.
[in]U10DWind direction.
[out]USTFriction velocity.
[out]USTDDirection of friction velocity.
[out]Z0Z0 in profile law.
[out]CDDrag coefficient.
Author
H. L. Tolman
Date
03-Jul-2006

Definition at line 106 of file w3flx4md.F90.

106  !/
107  !/ +-----------------------------------+
108  !/ | WAVEWATCH III NOAA/NCEP |
109  !/ | H. L. Tolman |
110  !/ | FORTRAN 90 |
111  !/ | Last update : 03-Jul-2006 |
112  !/ +-----------------------------------+
113  !/
114  !/ 03-Jul-2006 : Origination. ( version 3.09 )
115  !/
116  ! 1. Purpose :
117  !
118  ! Flux/stress computations according to Hwang (JTECH, 2011)
119  !
120  ! 2. Method :
121  !
122  ! CD = 1E-4 ( -0.016 U10**2 + 0.967U10 + 8.058)
123  ! USTAR = U10 * SQRT( U10 )
124  !
125  ! 3. Parameters :
126  !
127  ! Parameter list
128  ! ----------------------------------------------------------------
129  ! ZWND Real I Wind height.
130  ! U10 Real I Wind speed.
131  ! U10D Real I Wind direction.
132  ! UST Real O Friction velocity.
133  ! USTD Real 0 Direction of friction velocity.
134  ! Z0 Real O z0 in profile law.
135  ! CD Real O Drag coefficient.
136  ! ----------------------------------------------------------------
137  !
138  ! 4. Subroutines used :
139  !
140  ! Name Type Module Description
141  ! ----------------------------------------------------------------
142  ! STRACE Subr. W3SERVMD Subroutine tracing.
143  ! ----------------------------------------------------------------
144  !
145  ! 5. Called by :
146  !
147  ! Name Type Module Description
148  ! ----------------------------------------------------------------
149  ! W3SRCE Subr. W3SRCEMD Source term integration.
150  ! ----------------------------------------------------------------
151  !
152  ! 6. Error messages :
153  !
154  ! None.
155  !
156  ! 7. Remarks :
157  !
158  ! 8. Structure :
159  !
160  ! See source code.
161  !
162  ! 9. Switches :
163  !
164  ! !/S Enable subroutine tracing.
165  !
166  ! 10. Source code :
167  !
168  !/ ------------------------------------------------------------------- /
169  USE w3odatmd, ONLY: ndse, iaproc, naperr
170  USE w3gdatmd, ONLY: flx4a0
171  USE w3servmd, ONLY: extcde
172 #ifdef W3_S
173  USE w3servmd, ONLY: strace
174 #endif
175  !/
176  IMPLICIT NONE
177  !/
178  !/ ------------------------------------------------------------------- /
179  !/ Parameter list
180  !/
181  REAL, INTENT(IN) :: ZWND, U10, U10D
182  REAL, INTENT(OUT) :: UST, USTD, Z0, CD
183  !/
184  !/ ------------------------------------------------------------------- /
185  !/ Local parameters
186  !/
187 #ifdef W3_S
188  INTEGER, SAVE :: IENT = 0
189 #endif
190  !/
191  !/ ------------------------------------------------------------------- /
192  !/
193 #ifdef W3_S
194  CALL strace (ient, 'W3FLX4')
195 #endif
196  !
197  ! 1. Tests ---------------------------------------------------------- *
198  !
199  IF ( abs(zwnd-10.) .GT. 0.01 ) THEN
200  IF ( iaproc .EQ. naperr ) WRITE (ndse,1000) zwnd
201  CALL extcde (1)
202  END IF
203  !
204  ! 2. Computation ---------------------------------------------------- *
205  !
206  ! To prevent the drag coefficient from dropping to zero at extreme
207  ! wind speeds, we use a simple modification UST = 2.026 m/s for
208  ! U10 greater than 50.33 m/s.
209  !
210  IF (u10 .GE. 50.33) THEN
211  ust = 2.026 * sqrt(flx4a0)
212  cd = (ust/u10)**2
213  ELSE
214  cd = flx4a0 * ( 8.058 + 0.967*u10 - 0.016*u10**2 ) * 1e-4
215  ust = u10 * sqrt(cd)
216  END IF
217  !
218  z0 = zwnd * exp( -0.4 / sqrt(cd) )
219  ustd = u10d
220  !
221  RETURN
222  !
223  ! Formats
224  !
225 1000 FORMAT (/' *** WAVEWATCH III ERROR IN W3FLX4 : '/ &
226  ' HIGHT OF WIND SHOULD BE 10m IN THIS APPRACH '/ &
227  ' ZWND =',f8.2,'m'/)
228  !/
229  !/ End of W3FLX4 ----------------------------------------------------- /
230  !/

References w3servmd::extcde(), w3gdatmd::flx4a0, w3odatmd::iaproc, w3odatmd::naperr, w3odatmd::ndse, and w3servmd::strace().

Referenced by gxexpo(), w3exnc(), w3expo(), and w3srcemd::w3srce().

w3gdatmd::flx4a0
real, pointer flx4a0
Definition: w3gdatmd.F90:1289
w3odatmd::iaproc
integer, pointer iaproc
Definition: w3odatmd.F90:457
w3odatmd::ndse
integer, pointer ndse
Definition: w3odatmd.F90:456
w3odatmd::naperr
integer, pointer naperr
Definition: w3odatmd.F90:457
w3servmd
Definition: w3servmd.F90:3
w3odatmd
Definition: w3odatmd.F90:3
w3servmd::strace
subroutine strace(IENT, SNAME)
Definition: w3servmd.F90:148
w3gdatmd
Definition: w3gdatmd.F90:16