4 |
|
|
5 |
contains |
contains |
6 |
|
|
7 |
SUBROUTINE cv30_mixing(icb, nk, inb, t, rr, rs, u, v, h, lv, hp, ep, clw, & |
SUBROUTINE cv30_mixing(icb, inb, t, rr, rs, u, v, h, lv, hp, ep, clw, m, & |
8 |
m, sig, ment, qent, uent, vent, nent, sij, elij, ments, qents) |
sig, ment, qent, uent, vent, nent, sij, elij, ments, qents) |
9 |
|
|
10 |
! MIXING |
! MIXING |
11 |
|
|
18 |
USE dimphy, ONLY: klev, klon |
USE dimphy, ONLY: klev, klon |
19 |
|
|
20 |
! inputs: |
! inputs: |
21 |
integer, intent(in):: icb(:), nk(:), inb(:) ! (ncum) |
integer, intent(in):: icb(:), inb(:) ! (ncum) |
22 |
real t(klon, klev), rr(klon, klev), rs(klon, klev) |
real t(klon, klev), rr(klon, klev), rs(klon, klev) |
23 |
real u(klon, klev), v(klon, klev) |
real u(klon, klev), v(klon, klev) |
24 |
real h(klon, klev), lv(klon, klev), hp(klon, klev) |
real h(klon, klev), lv(klon, klev), hp(klon, klev) |
113 |
qent(il, i, j) = sij(il, i, j) * rr(il, i) + (1. & |
qent(il, i, j) = sij(il, i, j) * rr(il, i) + (1. & |
114 |
- sij(il, i, j)) * rti |
- sij(il, i, j)) * rti |
115 |
uent(il, i, j) = sij(il, i, j) * u(il, i) + (1. & |
uent(il, i, j) = sij(il, i, j) * u(il, i) + (1. & |
116 |
- sij(il, i, j)) * u(il, nk(il)) |
- sij(il, i, j)) * u(il, minorig) |
117 |
vent(il, i, j) = sij(il, i, j) * v(il, i) + (1. & |
vent(il, i, j) = sij(il, i, j) * v(il, i) + (1. & |
118 |
- sij(il, i, j)) * v(il, nk(il)) |
- sij(il, i, j)) * v(il, minorig) |
119 |
elij(il, i, j) = altem |
elij(il, i, j) = altem |
120 |
elij(il, i, j) = amax1(0.0, elij(il, i, j)) |
elij(il, i, j) = amax1(0.0, elij(il, i, j)) |
121 |
ment(il, i, j) = m(il, i) / (1. - sij(il, i, j)) |
ment(il, i, j) = m(il, i) / (1. - sij(il, i, j)) |
133 |
do il = 1, ncum |
do il = 1, ncum |
134 |
if ((i >= icb(il)).and.(i <= inb(il)).and.(nent(il, i) == 0)) then |
if ((i >= icb(il)).and.(i <= inb(il)).and.(nent(il, i) == 0)) then |
135 |
ment(il, i, i) = m(il, i) |
ment(il, i, i) = m(il, i) |
136 |
qent(il, i, i) = rr(il, nk(il)) - ep(il, i) * clw(il, i) |
qent(il, i, i) = rr(il, minorig) - ep(il, i) * clw(il, i) |
137 |
uent(il, i, i) = u(il, nk(il)) |
uent(il, i, i) = u(il, minorig) |
138 |
vent(il, i, i) = v(il, nk(il)) |
vent(il, i, i) = v(il, minorig) |
139 |
elij(il, i, i) = clw(il, i) |
elij(il, i, i) = clw(il, i) |
140 |
sij(il, i, i) = 0.0 |
sij(il, i, i) = 0.0 |
141 |
end if |
end if |
280 |
nent(il, i) = 0 |
nent(il, i) = 0 |
281 |
ment(il, i, i) = m(il, i) |
ment(il, i, i) = m(il, i) |
282 |
qent(il, i, i) = rr(il, 1) - ep(il, i) * clw(il, i) |
qent(il, i, i) = rr(il, 1) - ep(il, i) * clw(il, i) |
283 |
uent(il, i, i) = u(il, nk(il)) |
uent(il, i, i) = u(il, minorig) |
284 |
vent(il, i, i) = v(il, nk(il)) |
vent(il, i, i) = v(il, minorig) |
285 |
elij(il, i, i) = clw(il, i) |
elij(il, i, i) = clw(il, i) |
286 |
sij(il, i, i) = 0.0 |
sij(il, i, i) = 0.0 |
287 |
endif |
endif |