


WAVEDIST: estimates wind speed distortion due to surface waves.
[U10,delU]=WAVEDIST(Ua,za,Hw) computes the true 10m wind speed U10
using the wind speed Ua measured at the height za and measured wave
height Hw and the neutral log profile corrected for the effects of
low-level distortion of the wind profile by surface waves following
Large, Morzel, and Crawford (1995), J. Phys. Ocean., 25, 2959-2971.
INPUT: Ua - wind speed [m/s]
za - wind measurement height [m]
Hw - wave height [m]
OUTPUT: U10 - true 10m wind speed [m/s]
delU - difference between true and uncorrected
10m wind speed [m/s]

0001 function [U10,delU]=wavedist(Ua,za,Hw) 0002 % WAVEDIST: estimates wind speed distortion due to surface waves. 0003 % [U10,delU]=WAVEDIST(Ua,za,Hw) computes the true 10m wind speed U10 0004 % using the wind speed Ua measured at the height za and measured wave 0005 % height Hw and the neutral log profile corrected for the effects of 0006 % low-level distortion of the wind profile by surface waves following 0007 % Large, Morzel, and Crawford (1995), J. Phys. Ocean., 25, 2959-2971. 0008 % 0009 % INPUT: Ua - wind speed [m/s] 0010 % za - wind measurement height [m] 0011 % Hw - wave height [m] 0012 % 0013 % OUTPUT: U10 - true 10m wind speed [m/s] 0014 % delU - difference between true and uncorrected 0015 % 10m wind speed [m/s] 0016 0017 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 0018 % 8/31/98: version 1.1 0019 % 8/5/99: version 2.0 0020 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 0021 0022 % get constants 0023 as_consts; 0024 0025 tol=.001; % change in u10 to stop iteration 0026 0027 zs=10; % reference height 0028 0029 Xia=za./Hw;Xis=zs./Hw; 0030 0031 % compute uncorrected 10m wind speed and ustar (as initial guess in iteration) 0032 [cd10,u10]=cdnve(Ua,za); 0033 Ustar=sqrt(cd10).*u10; 0034 0035 % compute corrected 10m wind speed 0036 U10=u10; 0037 U10o=0; 0038 k=0; 0039 while max(abs(U10-U10o))>tol & k<15, 0040 U10o=U10; 0041 k=k+1; 0042 Ustar=sqrt(cdnve(U10,10).*U10.^2); 0043 U10=Ua+Ustar.*(log(zs./za)-omegalmc(Xis)+omegalmc(Xia))./kappa; 0044 end 0045 0046 if k==15, 0047 warning('Iteration may not have converged'); 0048 end; 0049 0050 delU=U10-u10; 0051 0052