function [U10,delU]=wavedist(Ua,za,Hw) % 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] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 8/31/98: version 1.1 % 8/5/99: version 2.0 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % get constants as_consts; tol=.001; % change in u10 to stop iteration zs=10; % reference height Xia=za./Hw;Xis=zs./Hw; % compute uncorrected 10m wind speed and ustar (as initial guess in iteration) [cd10,u10]=cdnve(Ua,za); Ustar=sqrt(cd10).*u10; % compute corrected 10m wind speed U10=u10; U10o=0; k=0; while max(abs(U10-U10o))>tol & k<15, U10o=U10; k=k+1; Ustar=sqrt(cdnve(U10,10).*U10.^2); U10=Ua+Ustar.*(log(zs./za)-omegalmc(Xis)+omegalmc(Xia))./kappa; end if k==15, warning('Iteration may not have converged'); end; delU=U10-u10;