function  [qsen,qlat,tau,theta,A]=slhftc(ua,va,uo,vo,zr,Ta,zt,rh,zq,Pa,Ts)
% SLHFTC: computes sensible and latent heat flux following TOGA/COARE.
% [qsen,qlat,tau,theta,A]=SLHFTC(ua,va,uo,vo,zr,Ta,zt,rh,zq,ap,Ts) computes 
% the sensible and latent heat fluxes into the ocean and the surface wind
% stress based on the Fairall et al (1996) COARE code. (see HFBULKTC for 
% description).  Assumes input series are either column or row vectors;
% zr, zt, and zq are fixed scalars, and rh and/or Pa may be scalars. 
% The output variables are column vectors and the column matrix A.  NOTE:
% user must decide if cool-skin and Webb corrections are to be included.
%
%  INPUT:   ua,va  -  east, north wind components [m/s]
%           uo,vo  -  east, north ocean surface currents [m/s]
%           zr  -  wind measurement height [m]
%           Ta  -  air temperature  [C]
%           zt  -  air temperature measurement height [m]
%           rh  -  relative humidity   [%]
%           zq  -  rh measurement height [m]
%           Ts  -  sea surface temperature  [C]
%           Pa  - air pressure  [mb] 
%
%  OUTPUT:  qsen  -  sensible heat flux  [W/m^2]
%           qlat  -  latent heat flux   [W/m^2]
%           tau  -  wind stress magnitude  [Pa]
%           theta  -  direction of wind stress [deg CCW from east]
%           A - 12 column matrix of auxilary diagnostic outputs
%                (see HFBULKTC for details)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% 8/28/98: version 1.1 (contributed by RP)
% 8/5/99: version 2.0
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

% compute relative velocity magnitude and direction
du=ua-uo;
dv=va-vo;
spd=sqrt(du.^2+dv.^2);
theta=(180./pi).*atan2(dv,du);

% change column vector to row vector if necessary
[m n] = size(spd);
if m > n
  spd = spd';
end
% keep theta a column vector
[m n] = size(theta);
if n > m
  theta = theta';
end

% compute fluxes
A = hfbulktc(spd,zr,Ta,zt,rh,zq,Pa,Ts); qsen=A(:,1); % no cool_skin, Webb correction
qlat=A(:,2);
tau=A(:,4);


