function Ut=wavdist1(Ua,za,Hw)
% WAVDIST1: estimates wave effects on wind speed measured at za.  
% Ut=WAVDIST1(Ua,za,Hw) computes the 'true' wind speed Ut at the
% measurement height za using the wind speed Ua measured at za and
% measured wave height Hw.
% 
% INPUT:   Ua - wind speed  [m/s]
%          za - wind measurement height  [m]
%          Hw - wave height  [m]
%
% OUTPUT:  Ut - 'true' wind speed  [m/s]
  
% WAVDIST1 computes Ut from Ua using 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. Oceanog.,
% 25, 2959-2971.
 
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 5/5/97: version 1.0
% 7/28/99: version 1.1
% 8/5/99: version 2.0
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

k=0.4;
z10=10;
A=log(z10./za)./k;

% eliminate any Ua==0
jj=find(Ua==0);
Ua(jj)=0.01.*ones(size(Ua(jj)));

% compute uncorrected 10m wind speed 
u10=Ua; % initial guess
for n=1:10;
  ustar=sqrt(cdnve(u10).*u10.^2);
  u10=Ua+ustar.*A;
end

% compute corrected 10m wind speed 
Ustar=ustar;U10=u10; % initial guesses
Za=za./Hw;Z10=z10./Hw;
for n=1:10;
  Ustar=sqrt(cdnve(U10).*U10.^2);
  U10=Ua+Ustar.*(log(z10./za)-omegalmc(Z10)+omegalmc(Za))./k;
end

% compute 'true' wind speed at za using U10, Ustar
Ut=U10-Ustar.*A;

