Home > air_sea > blwhf.m

blwhf

PURPOSE ^

BLWHF: estimates net long-wave heat flux using bulk formulas

SYNOPSIS ^

function lwest = blwhf(Ts,Ta,rh,Fc,bulk_f)

DESCRIPTION ^

 BLWHF: estimates net long-wave heat flux using bulk formulas
 lwest = BLWHF(Ts,Ta,rh,Fc,bulk_f) estimates the net longwave 
 heat flux into the ocean using one of a number of bulk formulas 
 evaluated by Fung et al (1984), Rev. Geophys. Space Physics, 
 22,177-193. 

 INPUT:   Ts - sea surface temperature [C]
          Ta - air temperature  [C]
          rh - relative humidity  [%]
          Fc - cloudiness correction factor F(C) (=1 for clear sky) 
                  (see cloudcor.m for more information)
          bulk_f - bulk formulas to be used 
                  (see Fung et al, 1984) for details). 
                   Options are:
                     'brunt'
                     'berliand'  - probably the best one (default)
                     'clark'
                     'hastenrath'
                     'efimova'
                     'bunker'
                     'anderson'
                     'swinbank' - does not use rh

 OUTPUT:  lwest - net downward longwave flux [W/m^2]

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function lwest = blwhf(Ts,Ta,rh,Fc,bulk_f)
0002 % BLWHF: estimates net long-wave heat flux using bulk formulas
0003 % lwest = BLWHF(Ts,Ta,rh,Fc,bulk_f) estimates the net longwave
0004 % heat flux into the ocean using one of a number of bulk formulas
0005 % evaluated by Fung et al (1984), Rev. Geophys. Space Physics,
0006 % 22,177-193.
0007 %
0008 % INPUT:   Ts - sea surface temperature [C]
0009 %          Ta - air temperature  [C]
0010 %          rh - relative humidity  [%]
0011 %          Fc - cloudiness correction factor F(C) (=1 for clear sky)
0012 %                  (see cloudcor.m for more information)
0013 %          bulk_f - bulk formulas to be used
0014 %                  (see Fung et al, 1984) for details).
0015 %                   Options are:
0016 %                     'brunt'
0017 %                     'berliand'  - probably the best one (default)
0018 %                     'clark'
0019 %                     'hastenrath'
0020 %                     'efimova'
0021 %                     'bunker'
0022 %                     'anderson'
0023 %                     'swinbank' - does not use rh
0024 %
0025 % OUTPUT:  lwest - net downward longwave flux [W/m^2]
0026 
0027 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0028 % 8/31/98: version 1.1 (contributed by RP)
0029 % 8/5/99: version 2.0
0030 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0031 
0032 % load constants and defaults
0033 as_consts; 
0034 
0035 if nargin<5,
0036  bulk_f=bulkf_default;
0037 end;
0038 
0039 % compute vapour pressure from relative humidity (using formulas
0040 % from Gill, 1982)
0041 ew=satvap(Ta);
0042 rw=eps_air*ew./(P_default-ew);
0043 r=(rh/100).*rw;
0044 e_a=r*P_default./(eps_air+r);
0045 
0046 % convert to K
0047 ta=Ta+CtoK;
0048 ts=Ts+CtoK;
0049 
0050 % signs for flux INTO ocean
0051 switch bulk_f,
0052   case {'brunt',1}
0053     lwest =  -emiss_lw*sigmaSB.*ts.^4.*(0.39 - 0.05*sqrt(e_a)).*Fc;
0054 
0055   case {'berliand',2}
0056     lwest =  -emiss_lw*sigmaSB.*ta.^4.*(0.39 - 0.05*sqrt(e_a)).*Fc ...
0057              - 4*emiss_lw*sigmaSB.*ta.^3.*(Ts - Ta);
0058 
0059   case {'clark',3}
0060     lwest =  -emiss_lw*sigmaSB.*ts.^4.*(0.39 - 0.05*sqrt(e_a)).*Fc ...
0061              - 4*emiss_lw*sigmaSB.*ts.^3.*(Ts - Ta);
0062 
0063   case {'hastenrath',4}
0064     q_a = e_a*eps_air./P_default;
0065     lwest =  -emiss_lw*sigmaSB.*ts.^4.*(0.39 - 0.056*sqrt(q_a)).*Fc ...
0066              - 4*emiss_lw*sigmaSB.*ts.^3.*(Ts - Ta);
0067 
0068   case {'efimova',5}
0069     lwest =  -emiss_lw*sigmaSB.*ta.^4.*(0.254 - 0.00495*(e_a)).*Fc ;
0070     
0071   case {'bunker',6}
0072     lwest =  -0.022*emiss_lw*sigmaSB.*ta.^4.*(11.7 - 0.23*(e_a)).*Fc ...
0073              - 4*emiss_lw*sigmaSB.*ta.^3.*(Ts - Ta);
0074 
0075   case {'anderson',5}
0076     lwest =  -emiss_lw*sigmaSB.*(ts.^4 - ta.^4.*(0.74+0.0049*(e_a))).*Fc ;
0077  
0078   case {'swinbank',5}
0079     lwest =  -emiss_lw*sigmaSB.*(ts.^4 - 9.36e-6*ta.^6).*Fc ;
0080 
0081    otherwise
0082     error(['Unrecognized bulk formula specified: ' bulk_f]);
0083 end;
0084

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