4 |
|
|
5 |
contains |
contains |
6 |
|
|
7 |
SUBROUTINE vdif_kcay(ngrid, dt, g, rconst, plev, temp, zlev, zlay, & |
SUBROUTINE vdif_kcay(ngrid, dt, g, plev, zlev, zlay, u, v, teta, cd, q2, & |
8 |
u, v, teta, cd, q2, q2diag, km, kn, ustar, l_mix) |
q2diag, km, kn, ustar, l_mix) |
9 |
|
|
10 |
! From LMDZ4/libf/phylmd/vdif_kcay.F, version 1.1 2004/06/22 11:45:36 |
! From LMDZ4/libf/phylmd/vdif_kcay.F, version 1.1 2004/06/22 11:45:36 |
11 |
|
|
12 |
USE dimphy, ONLY: klev, klon |
USE dimphy, ONLY: klev, klon |
13 |
use yamada_m, only: yamada |
use yamada_m, only: yamada |
14 |
|
|
15 |
|
INTEGER ngrid |
16 |
! dt : pas de temps |
! dt : pas de temps |
17 |
! g : g |
! g : g |
18 |
! zlev : altitude a chaque niveau (interface inferieure de la couche |
! zlev : altitude a chaque niveau (interface inferieure de la couche |
33 |
|
|
34 |
REAL, intent(in):: dt |
REAL, intent(in):: dt |
35 |
real, intent(in):: g |
real, intent(in):: g |
36 |
real rconst |
real plev(klon, klev+1) |
|
real plev(klon, klev+1), temp(klon, klev) |
|
37 |
real ustar(klon), snstable |
real ustar(klon), snstable |
38 |
REAL zlev(klon, klev+1) |
REAL zlev(klon, klev+1) |
39 |
REAL zlay(klon, klev) |
REAL zlay(klon, klev) |
58 |
! q : echelle de vitesse au bas de chaque couche |
! q : echelle de vitesse au bas de chaque couche |
59 |
! (valeur a la fin du pas de temps) |
! (valeur a la fin du pas de temps) |
60 |
|
|
61 |
INTEGER nlay, nlev, ngrid |
INTEGER nlay, nlev |
62 |
REAL unsdz(klon, klev) |
REAL unsdz(klon, klev) |
63 |
REAL unsdzdec(klon, klev+1) |
REAL unsdzdec(klon, klev+1) |
64 |
REAL q(klon, klev+1) |
REAL q(klon, klev+1) |
197 |
|
|
198 |
! Initialisation de q2 |
! Initialisation de q2 |
199 |
|
|
200 |
call yamada(ngrid, g, rconst, plev, temp, zlev, zlay, u, v, teta, & |
call yamada(ngrid, g, zlev, zlay, u, v, teta, q2diag, km, kn) |
|
q2diag, km, kn, ustar, l_mix) |
|
201 |
if (first.and.1.eq.1) then |
if (first.and.1.eq.1) then |
202 |
first=.false. |
first=.false. |
203 |
q2=q2diag |
q2=q2diag |