40 |
! saturated downdraft mass flux (kg / m2 / s) |
! saturated downdraft mass flux (kg / m2 / s) |
41 |
|
|
42 |
real, intent(out):: dnwd0(klon, klev) |
real, intent(out):: dnwd0(klon, klev) |
43 |
! unsaturated downdraft mass flux (kg / m2 / s) |
! unsaturated downdraft mass flux, in kg m-2 s-1 |
44 |
|
|
45 |
REAL ma(klon, klev) |
REAL ma(klon, klev) |
46 |
real cape(klon) ! output (J / kg) |
real cape(klon) ! output (J / kg) |
47 |
INTEGER, intent(out):: iflag(klon) |
INTEGER, intent(out):: iflag(klon) |
48 |
REAL qcondc(klon, klev) |
REAL qcondc(klon, klev) |
49 |
REAL pmflxr(klon, klev + 1) |
REAL pmflxr(klon, klev + 1) |
50 |
REAL, intent(inout):: da(klon, klev), phi(klon, klev, klev), mp(klon, klev) |
REAL, intent(out):: da(:, :) ! (klon, klev) |
51 |
|
REAL, intent(out):: phi(:, :, :) ! (klon, klev, klev) |
52 |
|
|
53 |
|
REAL, intent(out):: mp(:, :) ! (klon, klev) Mass flux of the |
54 |
|
! unsaturated downdraft, defined positive downward, in kg m-2 |
55 |
|
! s-1. M_p in Emanuel (1991 928). |
56 |
|
|
57 |
! Local: |
! Local: |
58 |
REAL zx_qs, cor |
REAL zx_qs, cor |
71 |
|
|
72 |
CALL cv_driver(t, q, qs, u, v, play / 100., paprs / 100., iflag, d_t, & |
CALL cv_driver(t, q, qs, u, v, play / 100., paprs / 100., iflag, d_t, & |
73 |
d_q, d_u, d_v, rain, pmflxr, sig1, w01, kbas, itop_con, ma, upwd, & |
d_q, d_u, d_v, rain, pmflxr, sig1, w01, kbas, itop_con, ma, upwd, & |
74 |
dnwd, dnwd0, qcondc, cape, da, phi, mp) |
dnwd, qcondc, cape, da, phi, mp) |
75 |
|
dnwd0 = - mp |
76 |
rain = rain / 86400. |
rain = rain / 86400. |
77 |
d_t = dtphys * d_t |
d_t = dtphys * d_t |
78 |
d_q = dtphys * d_q |
d_q = dtphys * d_q |