14 |
|
|
15 |
integer, intent(in):: icb(:) ! (ncum) |
integer, intent(in):: icb(:) ! (ncum) |
16 |
! {2 <= icb <= nl - 3} |
! {2 <= icb <= nl - 3} |
|
! {ph(i, icb(i) + 1) < plcl(i) <= ph(i, icb(i))} |
|
17 |
|
|
18 |
integer, intent(in):: inb(:) ! (ncum) |
integer, intent(in):: inb(:) ! (ncum) |
19 |
! first model level above the level of neutral buoyancy of the |
! first model level above the level of neutral buoyancy of the |
52 |
integer i, il, imax |
integer i, il, imax |
53 |
real tinv, delti |
real tinv, delti |
54 |
real afac, afac1, afac2, bfac |
real afac, afac1, afac2, bfac |
55 |
real pr1, pr2, sigt, b6, c6, revap, tevap, delth |
real pr1, sigt, b6, c6, revap, tevap, delth |
56 |
real amfac, amp2, xf, tf, fac2, ur, sru, fac, d, af, bf |
real amfac, amp2, xf, tf, fac2, ur, sru, fac, d, af, bf |
57 |
real ampmax |
real ampmax |
58 |
real lvcp(size(icb), nl) ! (ncum, nl) |
real lvcp(size(icb), nl) ! (ncum, nl) |
136 |
afac = max(afac, 0.) |
afac = max(afac, 0.) |
137 |
bfac = 1. / (sigd * wt(il, i)) |
bfac = 1. / (sigd * wt(il, i)) |
138 |
|
|
139 |
! Prise en compte de la variation progressive de sigt dans |
if (i <= icb(il)) then |
140 |
! les couches icb et icb - 1: |
! Prise en compte de la variation progressive de sigt dans |
141 |
! pour plcl <= ph(i + 1), pr1 = 0 et pr2 = 1 |
! les couches icb et icb - 1 : |
142 |
! pour plcl >= ph(i), pr1 = 1 et pr2 = 0 |
! pour plcl <= ph(i + 1), pr1 = 0 |
143 |
! pour ph(i + 1) < plcl < ph(i), pr1 est la proportion \`a cheval |
! pour plcl >= ph(i), pr1 = 1 |
144 |
! sur le nuage, et pr2 est la proportion sous la base du |
! pour ph(i + 1) < plcl < ph(i), pr1 est la proportion |
145 |
! nuage. |
! \`a cheval sur le nuage. |
146 |
pr1 = max(0., min(1., & |
pr1 = max(0., min(1., & |
147 |
(plcl(il) - ph(il, i + 1)) / (ph(il, i) - ph(il, i + 1)))) |
(plcl(il) - ph(il, i + 1)) / (ph(il, i) - ph(il, i + 1)))) |
148 |
pr2 = max(0., min(1., & |
sigt = sigp * pr1 + 1. - pr1 |
149 |
(ph(il, i) - plcl(il)) / (ph(il, i) - ph(il, i + 1)))) |
else |
150 |
sigt = sigp * pr1 + pr2 |
! {i >= icb(il) + 1} |
151 |
|
sigt = sigp |
152 |
|
end if |
153 |
|
|
154 |
b6 = bfac * 50. * sigd * (ph(il, i) - ph(il, i + 1)) * sigt * afac |
b6 = bfac * 50. * sigd * (ph(il, i) - ph(il, i + 1)) * sigt * afac |
155 |
c6 = water(il, i + 1) + bfac * wdtrain(il) - 50. * sigd * bfac & |
c6 = water(il, i + 1) + bfac * wdtrain(il) - 50. * sigd * bfac & |