cal_sigma_v.inc

References to this file elsewhere.
1       subroutine cal_sigma_v(ifreq,p0,wv,hwv,ta,gamma,sigma_v)
2       integer ifreq
3       real sigma_v,p0,wv,hwv,ta,gamma
4 !
5       real wvc, wvcor(4)
6       real sigv
7 !
8       real voh1,otbar1,pbar1
9       real term21,term31,term41,term51,term61
10       real a11,a21,a31,a41,a51,a61
11 !
12       real voh2,otbar2,pbar2
13       real term22,term32,term42,term52,term62
14       real a12,a22,a32,a42,a52,a62
15 !
16       real voh3,otbar3,pbar3
17       real term23,term33,term43,term53,term63
18       real a13,a23,a33,a43,a53,a63
19 !
20       real voh4,otbar4,pbar4
21       real term24,term34,term44,term54,term64
22       real a14,a24,a34,a44,a54,a64
23 !     
24       real const1,const2,const3,const4
25       real h1,h2,h3,h4
26 !
27       data const1,const2,const3,const4/0.6,2.8,0.2,0.2/
28       data h1,h2,h3,h4/5.0,4.9,6.8,6.4/
29 !
30       data a11,a21,a31,a41,a51,a61/-.13747e-2,-.43061e-4, .14618e+1,  &
31         .25101e-3, .14635e-1,-.18588e+3/
32       data a12,a22,a32,a42,a52,a62/ .22176e-1,-.32367e-4,-.10840e-4,  &
33         -.63578e-1, .16988e-7,-.29824e+2/
34       data a13,a23,a33,a43,a53,a63/-.10566e-2,-.12906e-3, .56975e+0,  &
35          .10828e-8,-.17551e-7, .48601e-1/
36       data a14,a24,a34,a44,a54,a64/-.60808e-2,-.70936e-3, .28721e+1,  &
37          .42636e-8,-.82910e-7, .26166e+0/
38 !
39 !      data wvcor/1.01,0.95,1.06,0.92/
40       data wvcor/1.02,0.98,1.02,0.88/
41 ! use modified water vapor value to correct for errors in theoretical absorption
42 !
43       wvc = wv*wvcor(ifreq)
44 !
45       if (ifreq.eq.1) then
46         pbar1 = p0/(1.0 + hwv/h1)
47         voh1   = wv/hwv
48         term21 = a21*voh1
49         otbar1 = 1.0/(ta - const1*gamma*hwv)
50         term31 = a31*otbar1
51         term61 = a61*otbar1*otbar1
52         term41 = a41*pbar1*otbar1
53         term51 = a51*voh1*otbar1
54         sigv = a11 + term21 + term31 + term41 + term51 + term61
55       else if (ifreq.eq.2) then
56         pbar2 = p0/(1.0 + hwv/h2)
57         term22 = a22*pbar2
58         term52 = a52*pbar2*pbar2
59         voh2   = wv/hwv
60         term32 = a32*voh2
61         otbar2 = 1.0/(ta - const2*gamma*hwv)
62         term42 = a42*otbar2
63         term62 = a62*otbar2*otbar2
64         sigv = a12 + term22 + term32 + term42 + term52 + term62
65       else if (ifreq.eq.3) then
66         pbar3 = p0/(1.0 + hwv/h3)
67         term43 = a43*pbar3*pbar3
68         voh3   = wv/hwv
69         term23 = a23*voh3
70         otbar3 = 1.0/(ta - const3*gamma*hwv)
71         term33 = a33*otbar3
72         term53 = a53*pbar3*voh3
73         term63 = a63*otbar3*voh3
74         sigv = a13 + term23 + term33 + term43 + term53 + term63
75       else if (ifreq.eq.4) then
76         pbar4 = p0/(1.0 + hwv/h4)
77         term44 = a44*pbar4*pbar4
78         voh4   = wv/hwv
79         term24 = a24*voh4
80         otbar4 = 1.0/(ta - const4*gamma*hwv)
81         term34 = a34*otbar4
82         term54 = a54*pbar4*voh4
83         term64 = a64*otbar4*voh4
84         sigv = a14 + term24 + term34 + term44 + term54 + term64
85       else
86         sigv = 0.0
87       endif
88       sigma_v = sigv*wvc
89 
90       end subroutine cal_sigma_v
91