9 + ( ncol , nlm , mb , ib
10 +, pp , tt , wcont , re
11 +, pdist , cnrw , cniw , cnri
12 +, cnii , xlam , tcld , wcld
56 logical (kind=log_kind),
intent(in)::
60 integer (kind=int_kind),
intent(in)::
66 real (kind=dbl_kind),
intent(in),
dimension(mb)::
73 real (kind=dbl_kind),
intent(in)::
76 real (kind=dbl_kind),
intent(in),
dimension(ncol,nlm)::
81 real (kind=dbl_kind),
intent(in),
dimension(ncol,nlm+1)::
86 real (kind=dbl_kind),
intent(out),
dimension(ncol,nlm)::
92 complex (kind=dbl_kind)::
95 integer (kind=int_kind)::
98 real (kind=dbl_kind)::
99 & abs , area , c0 , c1
100 &, cnr , cni , dz , eps
101 &, ext , f2 , f3 , no
103 &, rm , xm , vm , rho_water
144 if(wcont(i,l) .gt. eps)
then
145 dz=29.286*log(pp(i,l+1)/pp(i,l)) * tt(i,l)
147 no = wcont(i,l) / ( (4.*pi/3.)*f3*rho_water*rm**3 )
148 area = pi*f2*no*rm**2*1.0e6
152 xm = 2.*pi*rm/xlam(ib)
157 um = 2.*xm*(cnr-1.)*cmplx(0.d0,1.d0)
158 ext = c0 + 2.*c1*
real(p0/(um*(um+1.)**p1)
159 + + 1./(um**2*(um+1.)**p0)-1./um**2)
165 um = 2.*xm*(cm-1.)*cmplx(0.d0,1.d0)
166 ext = c0 + 2.*c1*
real( p0/(um*(um+1.)**p1)
167 + + 1./(um**2*(um+1.)**p0)-1./um**2)
169 abs = area + c1*sngl( p0/(vm*(vm+1.)**p1)
170 + + 1./(vm**2*(vm+1.)**p0) - 1./vm**2 )
177 if (ext.lt.abs) ext = abs
178 wcld(i,l) = (ext-abs)/ext
180 if(wcld(i,l) .lt. 0.)
then
181 print *,wcld(i,l),ext,abs,wcont(i,l)
182 print *,pp(i,l),pp(i,l+1)