30 |
! vitesse au centre de chaque couche (en entrée : la valeur au |
! vitesse au centre de chaque couche (en entrée : la valeur au |
31 |
! début du pas de temps) |
! début du pas de temps) |
32 |
|
|
33 |
REAL, intent(in): teta(ngrid, klev) |
REAL, intent(in):: teta(ngrid, klev) |
34 |
! température potentielle au centre de chaque couche (en entrée : |
! température potentielle au centre de chaque couche (en entrée : |
35 |
! la valeur au début du pas de temps) |
! la valeur au début du pas de temps) |
36 |
|
|
52 |
REAL kq(ngrid, klev+1) |
REAL kq(ngrid, klev+1) |
53 |
real ustar(ngrid) |
real ustar(ngrid) |
54 |
|
|
55 |
integer iflag_pbl |
integer, intent(in):: iflag_pbl |
56 |
! iflag_pbl doit valoir entre 6 et 9 |
! iflag_pbl doit valoir entre 6 et 9 |
57 |
! l = 6, on prend systématiquement une longueur d'équilibre |
! l = 6, on prend systématiquement une longueur d'équilibre |
58 |
! iflag_pbl = 6 : MY 2.0 |
! iflag_pbl = 6 : MY 2.0 |
80 |
real dtetadz(ngrid, klev+1) |
real dtetadz(ngrid, klev+1) |
81 |
real m2cstat, mcstat, kmcstat |
real m2cstat, mcstat, kmcstat |
82 |
real l(ngrid, klev+1) |
real l(ngrid, klev+1) |
83 |
real, save:: l0(ngrid) |
real l0(ngrid) |
84 |
real sq(ngrid), sqz(ngrid), zz(ngrid, klev+1) |
real sq(ngrid), sqz(ngrid), zz(ngrid, klev+1) |
85 |
integer iter |
integer iter |
86 |
real:: ric = 0.195, rifc = 0.191, b1 = 16.6, kap = 0.4 |
real:: ric = 0.195, rifc = 0.191, b1 = 16.6, kap = 0.4 |
87 |
real rino(ngrid, klev+1), smyam(ngrid, klev), styam(ngrid, klev) |
real rino(ngrid, klev+1), smyam(ngrid, klev), styam(ngrid, klev) |
88 |
real lyam(ngrid, klev), knyam(ngrid, klev) |
real lyam(ngrid, klev) |
89 |
|
|
90 |
!----------------------------------------------------------------------- |
!----------------------------------------------------------------------- |
91 |
|
|
132 |
else |
else |
133 |
rif(ig, k) = rifc |
rif(ig, k) = rifc |
134 |
endif |
endif |
135 |
if(rif(ig, k).lt.0.16) then |
if (rif(ig, k).lt.0.16) then |
136 |
alpha(ig, k) = falpha(rif(ig, k)) |
alpha(ig, k) = falpha(rif(ig, k)) |
137 |
sm(ig, k) = fsm(rif(ig, k)) |
sm(ig, k) = fsm(rif(ig, k)) |
138 |
else |
else |
199 |
do k = 2, klev |
do k = 2, klev |
200 |
do ig = 1, ngrid |
do ig = 1, ngrid |
201 |
l(ig, k) = fl(zlev(ig, k), l0(ig), q2(ig, k), n2(ig, k)) |
l(ig, k) = fl(zlev(ig, k), l0(ig), q2(ig, k), n2(ig, k)) |
202 |
if(first) then |
if (first) then |
203 |
q2(ig, k) = l(ig, k)**2 * zz(ig, k) |
q2(ig, k) = l(ig, k)**2 * zz(ig, k) |
204 |
endif |
endif |
205 |
enddo |
enddo |