1 | function Fc=cloudcor(C,optns,lat)
|
---|
2 | % CLOUDCOR: computes cloud correction factor for bulk long-wave flux.
|
---|
3 | % Fc=CLOUDCOR(C,optns,lat) computes the cloud correction factor F(C)
|
---|
4 | % as a function of the cloud fraction C for bulk long-wave flux formulae.
|
---|
5 | % In general, these are functions of the form
|
---|
6 | % 1 - a_n*C^n
|
---|
7 | % Since the coefficients and powers depend a lot on the dominant cloud
|
---|
8 | % type which may vary from region to region and season to season, it is
|
---|
9 | % not clear which parametrization is best (see Fung et al (1984),
|
---|
10 | % Rev. of Geophys. and Space Phys., 22, 177-193).
|
---|
11 | %
|
---|
12 | % The particular parametrization used here depends on the second input
|
---|
13 | % variable, for which no default is given to emphasize the fact that you
|
---|
14 | % really need to understand what you are doing here!
|
---|
15 | %
|
---|
16 | % optns = [a1 a2] = use a correction factor of [1-a1*C-a2*C^2].
|
---|
17 | %
|
---|
18 | % There are several "built-in" formulae (from Fung et al) that all have
|
---|
19 | % a latitude-dependence of some kind.
|
---|
20 | %
|
---|
21 | % optns = 'clarke',lat = Clarke (1974) corrections for abs(lat)<50.
|
---|
22 | % = 'bunker',lat = Bunker (1976) corrections for N Atlantic.
|
---|
23 | %
|
---|
24 | % INPUT: C - cloud fraction
|
---|
25 | % optns - see above for details
|
---|
26 | % lat - latitude [deg] - required for "built-in" formulae only
|
---|
27 | %
|
---|
28 | % OUTPUT: Fc - correction factor used as input to BLWHF
|
---|
29 |
|
---|
30 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
---|
31 | % 3/12/98: version 1.1 (contributed by RP)
|
---|
32 | % 8/5/99: version 2.0
|
---|
33 | %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
---|
34 |
|
---|
35 | if isstr(optns),
|
---|
36 |
|
---|
37 | switch optns(1),
|
---|
38 | case 'c',
|
---|
39 | a1=0;
|
---|
40 | if abs(lat)>55, a2=NaN;
|
---|
41 | elseif abs(lat)>45, a2=0.73;
|
---|
42 | elseif abs(lat)>35, a2=0.69;
|
---|
43 | elseif abs(lat)>25, a2=0.64;
|
---|
44 | elseif abs(lat)>15, a2=0.60;
|
---|
45 | elseif abs(lat)> 7, a2=0.56;
|
---|
46 | elseif abs(lat)> 2, a2=0.53;
|
---|
47 | else a2=0.51;
|
---|
48 | end;
|
---|
49 |
|
---|
50 | case 'b',
|
---|
51 | a2=0;
|
---|
52 | if abs(lat)>75, a1=0.84;
|
---|
53 | elseif abs(lat)>65, a1=0.80;
|
---|
54 | elseif abs(lat)>55, a1=0.76;
|
---|
55 | elseif abs(lat)>45, a1=0.72;
|
---|
56 | elseif abs(lat)>35, a1=0.68;
|
---|
57 | elseif abs(lat)>25, a1=0.63;
|
---|
58 | elseif abs(lat)>15, a1=0.59;
|
---|
59 | elseif abs(lat)>7, a1=0.52;
|
---|
60 | else a1=0.50;
|
---|
61 | end;
|
---|
62 |
|
---|
63 | otherwise
|
---|
64 | error('Unrecognized option');
|
---|
65 | end;
|
---|
66 | else
|
---|
67 | a1=optns(1);a2=optns(2);
|
---|
68 | end;
|
---|
69 |
|
---|
70 | Fc = 1 - a1*C - a2.*C.^2;
|
---|