Home > air_sea > cloudcor.m

cloudcor

PURPOSE ^

CLOUDCOR: computes cloud correction factor for bulk long-wave flux.

SYNOPSIS ^

function Fc=cloudcor(C,optns,lat)

DESCRIPTION ^

 CLOUDCOR: computes cloud correction factor for bulk long-wave flux.
 Fc=CLOUDCOR(C,optns,lat) computes the cloud correction factor F(C)
 as a function of the cloud fraction C for bulk long-wave flux formulae.
 In general, these are functions of the form
             1 - a_n*C^n
 Since the coefficients and powers depend a lot on the dominant cloud
 type which may vary from region to region and season to season, it is
 not clear which parametrization is best (see Fung et al (1984), 
 Rev. of Geophys. and Space Phys., 22, 177-193). 

 The particular parametrization used here depends on the second input
 variable, for which no default is given to emphasize the fact that you
 really need to understand what you are doing here!

 optns = [a1 a2] = use a correction factor of [1-a1*C-a2*C^2].

 There are several "built-in" formulae (from Fung et al) that all have
 a latitude-dependence of some kind.

 optns = 'clarke',lat = Clarke (1974) corrections for abs(lat)<50.
       = 'bunker',lat = Bunker (1976) corrections for N Atlantic.

 INPUT:   C - cloud fraction
          optns - see above for details
          lat - latitude [deg] - required for "built-in" formulae only

 OUTPUT:  Fc - correction factor used as input to BLWHF

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function Fc=cloudcor(C,optns,lat)
0002 % CLOUDCOR: computes cloud correction factor for bulk long-wave flux.
0003 % Fc=CLOUDCOR(C,optns,lat) computes the cloud correction factor F(C)
0004 % as a function of the cloud fraction C for bulk long-wave flux formulae.
0005 % In general, these are functions of the form
0006 %             1 - a_n*C^n
0007 % Since the coefficients and powers depend a lot on the dominant cloud
0008 % type which may vary from region to region and season to season, it is
0009 % not clear which parametrization is best (see Fung et al (1984),
0010 % Rev. of Geophys. and Space Phys., 22, 177-193).
0011 %
0012 % The particular parametrization used here depends on the second input
0013 % variable, for which no default is given to emphasize the fact that you
0014 % really need to understand what you are doing here!
0015 %
0016 % optns = [a1 a2] = use a correction factor of [1-a1*C-a2*C^2].
0017 %
0018 % There are several "built-in" formulae (from Fung et al) that all have
0019 % a latitude-dependence of some kind.
0020 %
0021 % optns = 'clarke',lat = Clarke (1974) corrections for abs(lat)<50.
0022 %       = 'bunker',lat = Bunker (1976) corrections for N Atlantic.
0023 %
0024 % INPUT:   C - cloud fraction
0025 %          optns - see above for details
0026 %          lat - latitude [deg] - required for "built-in" formulae only
0027 %
0028 % OUTPUT:  Fc - correction factor used as input to BLWHF
0029 
0030 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0031 % 3/12/98: version 1.1 (contributed by RP)
0032 % 8/5/99: version 2.0
0033 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
0034 
0035 if isstr(optns),
0036 
0037   switch optns(1),
0038     case 'c',
0039       a1=0;
0040       if     abs(lat)>55, a2=NaN;
0041       elseif abs(lat)>45, a2=0.73;
0042       elseif abs(lat)>35, a2=0.69;
0043       elseif abs(lat)>25, a2=0.64;
0044       elseif abs(lat)>15, a2=0.60;
0045       elseif abs(lat)> 7, a2=0.56;
0046       elseif abs(lat)> 2, a2=0.53;
0047       else                a2=0.51;
0048       end;
0049         
0050     case 'b',
0051       a2=0;
0052       if     abs(lat)>75, a1=0.84;
0053       elseif abs(lat)>65, a1=0.80;
0054       elseif abs(lat)>55, a1=0.76;
0055       elseif abs(lat)>45, a1=0.72;
0056       elseif abs(lat)>35, a1=0.68;
0057       elseif abs(lat)>25, a1=0.63;
0058       elseif abs(lat)>15, a1=0.59;
0059       elseif abs(lat)>7,  a1=0.52;
0060       else                a1=0.50;
0061       end;
0062       
0063     otherwise
0064       error('Unrecognized option');
0065   end;
0066 else
0067  a1=optns(1);a2=optns(2);
0068 end;
0069 
0070 Fc = 1 - a1*C - a2.*C.^2;

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