54 subroutine calwxt_bourg_post(im,ista_2l,iend_2u,ista,iend,jm,jsta_2l,jend_2u,jsta,jend,lm,lp1, &
56 & t,q,pmid,pint,lmh,prec,zint,ptype,me)
60 integer,
intent(in):: im,jm,jsta_2l,jend_2u,jsta,jend,lm,lp1,iseed,me,&
61 ista_2l,iend_2u,ista,iend
62 real,
intent(in):: g,pthresh
63 real,
intent(in),
dimension(ista_2l:iend_2u,jsta_2l:jend_2u,lm) :: t, q, pmid
64 real,
intent(in),
dimension(ista_2l:iend_2u,jsta_2l:jend_2u,lp1) :: pint, zint
65 real,
intent(in),
dimension(ista_2l:iend_2u,jsta_2l:jend_2u) :: lmh, prec
69 integer,
intent(out) :: ptype(ista:iend,jsta:jend)
71 integer i,j,ifrzl,iwrml,l,lhiwrm,lmhk,jlen
72 real pintk1,areane,tlmhk,areape,pintk2,surfw,area1,dzkl,psfck,r1,r2
74 integer :: rn_seed_size
75 integer,
allocatable,
dimension(:) :: rn_seed
76 logical,
parameter :: debugprint = .false.
82 print *,
'in calwxtbg, jsta,jend=',jsta,jend,
' im=',im
83 print *,
'in calwxtbg,me=',me,
'iseed=',iseed
93 jlen = jend - jsta + 1
95 call random_seed(
size = rn_seed_size)
96 allocate(rn_seed(rn_seed_size))
98 call random_seed(put = rn_seed)
99 call random_number(rn)
109 lmhk = min(nint(lmh(i,j)),lm)
110 psfck = pint(i,j,lmhk+1)
112 if (prec(i,j) <= pthresh) cycle
120 if (tlmhk >= 273.15)
then
122 if (t(i,j,l) >= 273.15 .and. t(i,j,l-1) < 273.15 .and. &
123 & iwrml == lmhk+1) iwrml = l
133 if (t(i,j,l) >= 273.15 .and. pmid(i,j,l) > 25000.) lhiwrm = l
156 if (ifrzl == 0.and.t(i,j,l) <= 273.15) ifrzl = 1
158 dzkl = zint(i,j,l)-zint(i,j,l+1)
159 area1 = log(t(i,j,l)/273.15) * g * dzkl
160 if (t(i,j,l) >= 273.15.and. pmid(i,j,l) > 25000.)
then
161 if (l < iwrml) areape = areape + area1
162 if (l >= iwrml) surfw = surfw + area1
164 if (l > lhiwrm) areane = areane + abs(area1)
171 if (areape < 2.0)
then
174 if (surfw < 5.6)
then
178 else if (surfw > 13.2)
then
196 if (areane > 66.0+0.66*areape)
then
200 if (surfw < 5.6)
then
203 else if (surfw > 13.2)
then
216 else if (areane < 46.0+0.66*areape)
then
219 if (tlmhk < 273.15)
then
231 if (surfw < 5.6)
then
233 else if (surfw > 13.2)
then
238 r2 = rn(i+im*(j-1)+im*jm)
248 if (tlmhk < 273.15)
then