4 |
|
|
5 |
contains |
contains |
6 |
|
|
7 |
SUBROUTINE lift_noro(dtime, paprs, pplay, pmea, pstd, ppic, ktest, t, u, v, & |
SUBROUTINE lift_noro(paprs, pplay, pmea, pstd, ppic, ktest, t, u, v, pulow, & |
8 |
pulow, pvlow, pustr, pvstr, d_t, d_u, d_v) |
pvlow, pustr, pvstr, d_t, d_u, d_v) |
9 |
|
|
10 |
! Author: F.Lott (LMD/CNRS) date: 1995/02/01 |
! Author: F.Lott (LMD/CNRS) date: 1995/02/01 |
11 |
! Objet: Frottement de la montagne, interface |
! Objet: Frottement de la montagne, interface |
12 |
|
|
13 |
|
use comconst, only: dtphys |
14 |
USE dimphy, only: klon, klev |
USE dimphy, only: klon, klev |
15 |
use phyetat0_m, only: rlat |
use phyetat0_m, only: rlat |
16 |
USE suphec_m, only: rd, rg |
USE suphec_m, only: rd, rg |
17 |
|
|
|
REAL, INTENT (IN) :: dtime |
|
|
! dtime---input-R- pas d'integration (s) |
|
18 |
REAL, INTENT (IN) :: paprs(klon, klev + 1) |
REAL, INTENT (IN) :: paprs(klon, klev + 1) |
19 |
! paprs---input-R-pression pour chaque inter-couche (en Pa) |
! paprs---input-R-pression pour chaque inter-couche (en Pa) |
20 |
REAL, INTENT (IN) :: pplay(klon, klev) |
REAL, INTENT (IN) :: pplay(klon, klev) |
91 |
|
|
92 |
! appeler la routine principale |
! appeler la routine principale |
93 |
|
|
94 |
CALL orolift(klon, klev, ktest, dtime, papmh, zgeom, pt, pu, pv, rlat, & |
CALL orolift(klon, klev, ktest, dtphys, papmh, zgeom, pt, pu, pv, rlat, & |
95 |
pmea, pstd, ppic, pulow, pvlow, pdudt, pdvdt, pdtdt) |
pmea, pstd, ppic, pulow, pvlow, pdudt, pdvdt, pdtdt) |
96 |
|
|
97 |
DO k = 1, klev |
DO k = 1, klev |
98 |
DO i = 1, klon |
DO i = 1, klon |
99 |
d_u(i, klev + 1-k) = dtime * pdudt(i, k) |
d_u(i, klev + 1-k) = dtphys * pdudt(i, k) |
100 |
d_v(i, klev + 1-k) = dtime * pdvdt(i, k) |
d_v(i, klev + 1-k) = dtphys * pdvdt(i, k) |
101 |
d_t(i, klev + 1-k) = dtime * pdtdt(i, k) |
d_t(i, klev + 1-k) = dtphys * pdtdt(i, k) |
102 |
pustr(i) = pustr(i) & |
pustr(i) = pustr(i) & |
103 |
+ pdudt(i, k) * (papmh(i, k + 1)-papmh(i, k)) / rg |
+ pdudt(i, k) * (papmh(i, k + 1)-papmh(i, k)) / rg |
104 |
pvstr(i) = pvstr(i) & |
pvstr(i) = pvstr(i) & |