9 + ( ncol , nlm , pp , ppl
10 +, dp , tt , rmix , cwrho
11 +, cirho , o3mix , ts , amu0
12 +, slr , alvdf , alndf , alvdr
13 +, alndr , cldamt , cldmax , umco2
14 +, umch4 , umn2o , b1 , b2
15 +, b3 , b4 , fdsw , fdswcl
16 +, fusw , fuswcl , radvbc , radvbccl
17 +, radvdc ,radvdccl , radnbc , radnbccl
18 +, radndc ,radndccl ,sel_rules
78 logical (kind=log_kind),
intent(in)::
81 integer (kind=int_kind),
intent(in)::
85 real (kind=dbl_kind),
intent(in)::
90 real (kind=dbl_kind),
intent(in),
dimension(ncol)::
100 real (kind=dbl_kind),
intent(in),
dimension(ncol,nlm)::
114 real (kind=dbl_kind),
intent(in),
dimension(ncol,nlm+1)::
121 real (kind=dbl_kind),
intent(out),
dimension(ncol)::
131 real (kind=dbl_kind),
intent(out),
dimension(ncol,nlm+1)::
139 integer (kind=int_kind)::
143 parameter(mb=18,mbs=6,mbir=12)
145 integer (kind=int_kind) ::
151 integer (kind=int_kind),
dimension(ncol,nlm)::
160 data eps,tmax,pdist /1.e-05,340.,2./
162 real (kind=dbl_kind),
dimension(mbs)::
164 data kg /10,8,12,7,12,5/
166 real (kind=dbl_kind),
dimension(mbs)::
170 data ri / 0.9022e-5, 0.5282e-6, 0.5722e-7
171 &, 0.1433e-7, 0.4526e-8, 0.1529e-8 /
173 real (kind=dbl_kind),
dimension(mb)::
180 real (kind=dbl_kind),
dimension(ncol,mbs)::
184 real (kind=dbl_kind),
dimension(ncol,nlm)::
213 real (kind=dbl_kind),
dimension(ncol,nlm+1)::
223 data asym_wat / 0.8625, 0.8469, 0.8287, 0.8182, 0.9472, 0.7630 /
224 data asym_ice / 0.8678, 0.8640, 0.8653, 0.8615, 0.9526, 0.8293 /
227 data cnrw/1.3422,1.3281,1.3174,1.2901,1.3348,1.3700,1.3191,1.2821
228 &, 1.3160,1.3030,1.2739,1.2319,1.1526,1.1981,1.3542,1.4917
230 data cniw/6.4790e-9,1.3417e-06,1.2521e-4,7.1533e-4,4.2669e-2
231 &, 4.3785e-3,1.3239e-2 ,1.5536e-2,5.3894e-2,3.4346e-2
232 &, 3.7490e-2,4.7442e-2 ,1.2059e-1,3.3546e-1,4.1698e-1
233 &, 4.0674e-1,3.6362e-1 ,5.2930e-1/
236 data cnri/1.3266,1.2986,1.2826,1.2556,1.2963,1.3956
237 &, 1.3324,1.2960,1.3121,1.3126,1.2903,1.2295
238 &, 1.1803,1.5224,1.5572,1.5198,1.4993,1.7026/
239 data cnii/7.0696e-9,9.1220e-7,1.2189e-4,5.7648e-4,4.3144e-2
240 &, 8.2935e-3,1.5540e-2,2.5594e-2,5.9424e-2,5.1511e-2
241 &, 4.0325e-2,4.7994e-2,2.3834e-1,3.0697e-1,1.1852e-1
242 &, 4.3048e-2,6.3218e-2,1.5843e-1/
245 data xlam/0.45 ,1.0 ,1.6 ,2.2 ,3.0 ,3.75 ,4.878 ,5.556
246 &, 6.452 ,7.547 ,8.511,9.615,11.236,13.605,16.529,21.277
279 ttem(i,l) = min(tmax,tt(i,l))
284 asdir(i,1) = alvdr(i)
285 asdir(i,2:6) = alndr(i)
286 asdif(i,1) = alvdf(i)
287 asdif(i,2:6) = alndf(i)
292 call
pscale(ncol,nlm,ppl,stanps,pkd,ip1,ip2)
318 + ( ncol , nlm , mb , ib
319 +, pp , tt , cwrho , rew
320 +, pdist , cnrw , cniw , cnri
321 +, cnii , xlam , tcldw , wcldw
326 + ( ncol , nlm , mb , ib
327 +, pp , tt , cirho , rei
328 +, pdist , cnrw , cniw , cnri
329 +, cnii , xlam , tcldi , wcldi
338 if(cwrho(i,l).ge.eps) asycldw(i,l) = asym_wat(ib)
339 if(cirho(i,l).ge.eps) asycldi(i,l) = asym_ice(ib)
346 + ( ncol , nlm , taer , tcldi
347 +, tcldw , tgm , tray , waer
348 +, wcldi , wcldw , wray , asyaer
349 +, asycldi , asycldw , tau1 , tauclr1
350 +, asym , asyclr , fwcld , fwclr
360 + ( ncol , nlm , ib , ig
361 +, pp , dp , ttem , rmix
362 +, o3mix , umco2 , umch4 , umn2o
363 +, hk , tg , pkd , ip1
370 + ( ncol , nlm , tg , fwcld
371 +, fwclr , tau1 , tauclr1 , tau
372 +, tauclr , wc , wcclr
378 + ( ncol , nlm , mbs , ib
379 +, slr , amu0 , wc , asym
380 +, tau , asdir , asdif , fugdif
381 +, fdgdir , fdgdif , sel_rules
385 + ( ncol , nlm , mbs , ib
386 +, slr , amu0 , wcclr , asyclr
387 +, tauclr , asdir , asdif , fugcldif
388 +, fdgcldir ,fdgcldif , sel_rules
391 fdsw(:,:) = fdsw(:,:)
392 + + (fdgdir(:,:)+fdgdif(:,:))*hk
393 fusw(:,:) = fusw(:,:) + fugdif(:,:)*hk
394 fdswcl(:,:) = fdswcl(:,:)
395 + + (fdgcldir(:,:)+fdgcldif(:,:)) * hk
396 fuswcl(:,:) = fuswcl(:,:) + fugcldif(:,:)*hk
402 radvbc(:) = radvbc(:) + fdgdir(:,nlm+1)*hk
403 radvbccl(:) = radvbccl(:) + fdgcldir(:,nlm+1)*hk
404 radvdc(:) = radvdc(:) + fdgdif(:,nlm+1)*hk
405 radvdccl(:) = radvdccl(:) + fdgcldif(:,nlm+1)*hk
408 radnbc(:) = radnbc(:) + fdgdir(:,nlm+1)*hk
409 radnbccl(:) = radnbccl(:) + fdgcldir(:,nlm+1)*hk
410 radndc(:) = radndc(:) + fdgdif(:,nlm+1)*hk
411 radndccl(:) = radndccl(:) + fdgcldif(:,nlm+1)*hk