Home > air_sea > rain_flux.m

rain_flux

PURPOSE ^

RAIN_FLUX: computes heat and momentum flux due to rain.

SYNOPSIS ^

function [tau_rain,heat_rain] = rain_flux(Ta,Pa,rh,rain,Ts,sal,u,zu)

DESCRIPTION ^

 RAIN_FLUX: computes heat and momentum flux due to rain.
 RAIN_FLUX computes heat flux and momentum flux due to rain. This 
 code follows the Fortran program bulk_v25b.f. For more details, 
 see Fairall et al. (1996), JGR, 101, 3751-3752.

 INPUT:  Ta        -  air temperature          [C]
         Pa        -  air pressure             [mb]
         rh        -  relative humidity        [%]
         rain      -  rain rate                [mm/hr]
         Ts        -  sea surface temperature  [C]
         sal       -  salinity                 [psu (PSS-78)]
         u         -  wind speed               [m/s]
         zu        -  wind measurement height  [m]

 OUTPUT: tau_rain  -  momentum flux of rainfall            [N/m^2]
         heat_rain -  heat flux of rainfall (OUT of ocean) [W/m^2]

 USAGE: [tau_rain,heat_rain] = RAIN_FLUX(Ta,Pa,rh,rain,Ts,sal,u,zu)

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function [tau_rain,heat_rain] = rain_flux(Ta,Pa,rh,rain,Ts,sal,u,zu)
0002 % RAIN_FLUX: computes heat and momentum flux due to rain.
0003 % RAIN_FLUX computes heat flux and momentum flux due to rain. This
0004 % code follows the Fortran program bulk_v25b.f. For more details,
0005 % see Fairall et al. (1996), JGR, 101, 3751-3752.
0006 %
0007 % INPUT:  Ta        -  air temperature          [C]
0008 %         Pa        -  air pressure             [mb]
0009 %         rh        -  relative humidity        [%]
0010 %         rain      -  rain rate                [mm/hr]
0011 %         Ts        -  sea surface temperature  [C]
0012 %         sal       -  salinity                 [psu (PSS-78)]
0013 %         u         -  wind speed               [m/s]
0014 %         zu        -  wind measurement height  [m]
0015 %
0016 % OUTPUT: tau_rain  -  momentum flux of rainfall            [N/m^2]
0017 %         heat_rain -  heat flux of rainfall (OUT of ocean) [W/m^2]
0018 %
0019 % USAGE: [tau_rain,heat_rain] = RAIN_FLUX(Ta,Pa,rh,rain,Ts,sal,u,zu)
0020   
0021 % NOTE: All input variables should be vectors (either row or column), zu
0022 %       may also be a fixed scalar. Output variables are column vectors.
0023 
0024 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0025 % 4/3/99: version 1.2 (contributed by AA)
0026 % 8/5/99: version 2.0
0027 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0028 
0029 % -> column vectors
0030 Ta = Ta(:); Pa = Pa(:); rh = rh(:); rain = rain(:); Ts = Ts(:);
0031 sal = sal(:); u = u(:); zu = zu(:);
0032 
0033 % get constants
0034 as_consts;
0035 cpa = cp;
0036 
0037 
0038 o61  = 1/eps_air - 1;              % ~0.61 (moisture correction for temp.)
0039 Qa   = 0.01*rh.*qsat(Ta,Pa);       % specific humidity of air [kg/kg]
0040 T    = Ta + CtoK;                  % C -> K
0041 Tv   = T.*(1 + o61*Qa);            % air virtual temperature
0042 rhoa = (100*Pa)./(gas_const_R*Tv); % air density
0043 Le   = (2.501-0.00237*Ts)*1e6;     % latent heat of vaporization at Ts
0044 Qs   = Qsat_coeff*qsat(Ts,Pa);     % saturation specific humidity
0045 
0046 
0047 % compute heat flux of rainfall OUT of ocean
0048 dwat   = 2.11e-5*(T./CtoK).^1.94;    % water vapour diffusivity
0049 dtmp   = (1+3.309e-3*Ta-1.44e-6*Ta.^2)*0.02411./(rhoa.*cpa); % heat diffusivity
0050 dqs_dt = Qa.*Le./(gas_const_R*T.^2); % Clausius-Clapeyron
0051 alfac  = 1./(1+0.622*(dqs_dt.*Le.*dwat)./(cpa.*dtmp)); % wet bulb factor
0052 cpw    = sw_cp(sal,Ts,0);            % heat capacity of sea water
0053 
0054 heat_rain = rain.*alfac.*cpw.*((Ts-Ta)+(Qs-Qa).*Le./cpa)/3600;
0055 
0056 % compute momentum flux of rainfall
0057 [cd10,u10] = cdntc(u,zu,Ta);% use Smith's formula to compute wind speed at 10m
0058 tau_rain   = rain.*u10/3600;
0059

Generated on Thu 26-Apr-2007 12:23:13 by m2html © 2003