1 |
module cv3_feed_m |
module cv30_feed_m |
2 |
|
|
3 |
implicit none |
implicit none |
4 |
|
|
5 |
contains |
contains |
6 |
|
|
7 |
SUBROUTINE cv3_feed(len, nd, t, q, qs, p, ph, gz, nk, icb, icbmax, iflag, & |
SUBROUTINE cv30_feed(len, nd, t, q, qs, p, ph, gz, nk, icb, icbmax, iflag, & |
8 |
tnk, qnk, gznk, plcl) |
tnk, qnk, gznk, plcl) |
9 |
|
|
10 |
! Purpose: convective feed |
! Purpose: convective feed |
14 |
! - here, nk(i) = minorig |
! - here, nk(i) = minorig |
15 |
! - icb defined differently (plcl compared with ph instead of p) |
! - icb defined differently (plcl compared with ph instead of p) |
16 |
|
|
17 |
use cv3_param_m, only: minorig, nl, nlm |
use cv30_param_m, only: minorig, nl |
18 |
|
|
19 |
integer, intent(in):: len, nd |
integer, intent(in):: len, nd |
20 |
real, intent(in):: t(len, nd) |
real, intent(in):: t(len, nd) |
73 |
! Calculate first level above lcl (= icb) |
! Calculate first level above lcl (= icb) |
74 |
|
|
75 |
do i = 1, len |
do i = 1, len |
76 |
icb(i) = nlm |
icb(i) = nl - 1 |
77 |
end do |
end do |
78 |
|
|
79 |
! La modification consiste \`a comparer plcl \`a ph et non \`a p: |
! La modification consiste \`a comparer plcl \`a ph et non \`a p: |
85 |
end do |
end do |
86 |
|
|
87 |
do i = 1, len |
do i = 1, len |
88 |
if ((icb(i) == nlm).and.(iflag(i) == 0)) iflag(i) = 9 |
if ((icb(i) == nl - 1).and.(iflag(i) == 0)) iflag(i) = 9 |
89 |
end do |
end do |
90 |
|
|
91 |
do i = 1, len |
do i = 1, len |
100 |
if (iflag(i) < 7) icbmax = max(icbmax, icb(i)) |
if (iflag(i) < 7) icbmax = max(icbmax, icb(i)) |
101 |
end do |
end do |
102 |
|
|
103 |
end SUBROUTINE cv3_feed |
end SUBROUTINE cv30_feed |
104 |
|
|
105 |
end module cv3_feed_m |
end module cv30_feed_m |