10 integer (kind=int_kind),
parameter :: &
15 real (kind=dbl_kind),
dimension(nband) :: &
18 real (kind=dbl_kind),
dimension(ncoef,nreg,nband):: &
21 data h2obnd /-5,-3.5,-2.0,-2,-1.,-4,-4,-4,-3,-3.5,-3,-2/
25 1.667e+00, 9.421e-01,-7.358e-03, 1.355e+00, &
26 2.557e+03, 5.798e+01,-4.570e-01, &
28 6.417e+00, 1.002e+00,-6.991e-03, 1.010e+00, &
29 1.203e+01, 4.501e-02,-2.428e-02, &
31 2.390e+00, 9.528e-01,-6.058e-03, 1.071e+00, &
32 2.676e+02, 9.848e+00,-1.459e-01, &
34 4.849e+00, 1.002e+00,-6.910e-03, 8.961e-01, &
35 1.635e+01, 2.115e-02, 7.243e-02, &
37 2.326e+00, 9.720e-01,-6.551e-03, 8.739e-01, &
38 6.984e+01, 8.346e-01, 4.824e-02, &
40 5.002e+00, 1.005e+00,-9.286e-03, 6.222e-01, &
41 1.168e+01, 3.611e-03, 3.148e-01, &
43 -4.865e+00, 8.455e-01,-6.911e-03, 1.475e+00,&
44 2.905e+02, 7.078e+00,-6.846e-01, &
46 4.596e+00, 1.012e+00,-1.152e-02, 5.713e-01, &
47 1.270e+01,-1.395e-03, 3.447e-01, &
49 -5.396e+00, 8.596e-01,-8.479e-03, 1.619e+00,&
50 1.664e+02, 3.236e+00,-7.782e-01, &
52 7.478e+00, 1.007e+00,-1.963e-02, 2.771e-01, &
53 6.021e+00,-4.489e-03, 6.709e-01, &
55 1.262e+00, 2.347e-01,-2.360e-02, 1.655e-01, &
56 5.068e+02, 2.462e+01, 3.920e-01, &
58 9.334e+00, 1.002e+00,-2.429e-02, 3.575e-02, &
59 2.751e-01,-1.189e-03, 9.593e-01, &
61 -1.222e+00, 5.423e-01,-2.327e-02, 5.197e-01,&
62 6.423e+02, 5.038e+01, 1.502e-01, &
64 8.506e+00, 1.000e+00,-2.339e-02, 8.891e-03, &
65 -6.805e-01,-1.639e-04, 9.917e-01, &
67 -3.638e+00, 8.534e-01,-1.344e-02, 6.816e-01,&
68 5.385e+02, 4.428e+01,-6.366e-03, &
70 6.921e+00, 1.002e+00,-1.974e-02, 6.350e-02, &
71 6.838e-01,-1.121e-03, 9.237e-01, &
73 -2.329e+00, 7.893e-01,-2.588e-03, 1.017e+00,&
74 1.525e+02, 1.029e+01,-1.486e-01, &
76 6.742e-01, 1.008e+00,-3.376e-03, 9.105e-01, &
77 1.074e+01,-3.307e-03, 5.741e-02, &
79 -1.677e+00, 9.173e-01,-5.780e-03, 1.504e+00,&
80 7.886e+02, 2.288e+01,-5.999e-01, &
82 3.396e+00, 1.005e+00,-3.433e-03, 1.012e+00, &
83 7.635e+00, 3.010e-03,-2.418e-02, &
85 7.943e-01, 9.260e-01,-5.050e-03, 1.141e+00, &
86 2.221e+02, 1.021e+01,-2.246e-01, &
88 3.356e+00, 1.002e+00,-4.719e-03, 9.578e-01, &
89 6.164e+00, 1.186e-03, 2.264e-02, &
91 -5.874e+00, 7.060e-01,-1.532e-03, 1.141e+00,&
92 1.463e+02, 6.534e+00,-4.308e-01, &
94 4.709e-01, 1.010e+00,-6.067e-03, 8.513e-01, &
95 1.161e+01,-6.629e-03, 8.885e-02 &
106 use kinds, only: int_kind, dbl_kind
138 integer (kind=int_kind),
intent(in):: &
143 real (kind=dbl_kind),
intent(in),
dimension(:,:):: &
152 real (kind=dbl_kind),
intent(out),
dimension(:,:):: &
157 integer (kind=int_kind):: &
160 integer (kind=int_kind),
dimension(18):: &
162 data iflb /6*0,12,11,10,9,8,7,6,5,4,3,2,1/
164 real (kind=dbl_kind):: &
168 if( iflb(ib) .eq. 0)
return
171 if(rmix(i,l).gt.0.0)
then
173 amnt = 10._dbl_kind*dp(i,l)*rmix(i,l)/gravity
174 patm = ppl(i,l) /1013.25_dbl_kind
175 tv = tt(i,l)*(1._dbl_kind + f_virt*rmix(i,l))
176 dz = (r_d/gravity)*tv*log(pp(i,l+1)/pp(i,l))* &
178 tgm(i,l) =
parm_ckd24(iflb(ib),amnt,patm,tt(i,l),dz)
186 function parm_ckd24(iband,amnt,patm,temp,dz) result(ckd24_tau)
218 integer (kind=int_kind),
intent(in):: &
221 real (kind=dbl_kind),
intent(in):: &
228 real (kind=dbl_kind):: &
232 integer(kind=int_kind) :: &
235 real (kind=dbl_kind):: &
236 factor, dz1, amnt1, patmx, ph2o, tau_log
240 if ( dz < 0.25 )
then
243 elseif (dz > 1.50)
then
253 if (log(amnt1) > h2obnd(iband)) ireg=2
255 ph2o = amnt1 *(r_star*1.e4_dbl_kind*temp )/ &
256 (dz1*1.0d+05*mw_h2o *1.01325d+06)
259 tau_log = ck24_3(1,ireg,iband) + &
260 ck24_3(2,ireg,iband)* log(amnt1) + &
261 ck24_3(3,ireg,iband)* temp + &
262 ck24_3(4,ireg,iband)* patmx + &
263 ck24_3(5,ireg,iband)* (ph2o) + &
264 ck24_3(6,ireg,iband)* amnt1 + &
265 ck24_3(7,ireg,iband)* log(ph2o)
266 ckd24_tau =
exp( tau_log )
267 ckd24_tau = ckd24_tau/factor