21 |
! ne tient pas compte de la diff\'erentiation des sous-fractions |
! ne tient pas compte de la diff\'erentiation des sous-fractions |
22 |
! de sol. |
! de sol. |
23 |
|
|
24 |
|
use clcdrag_m, only: clcdrag |
25 |
use clqh_m, only: clqh |
use clqh_m, only: clqh |
26 |
use clvent_m, only: clvent |
use clvent_m, only: clvent |
27 |
use coefkz_m, only: coefkz |
use coefkz_m, only: coefkz |
151 |
real y_run_off_lic_0(klon) |
real y_run_off_lic_0(klon) |
152 |
REAL rugmer(klon) |
REAL rugmer(klon) |
153 |
REAL ytsoil(klon, nsoilmx) |
REAL ytsoil(klon, nsoilmx) |
154 |
REAL yts(klon), yrugos(klon), ypct(klon), yz0_new(klon) |
REAL yts(klon), ypct(klon), yz0_new(klon) |
155 |
|
real yrugos(klon) ! longeur de rugosite (en m) |
156 |
REAL yalb(klon) |
REAL yalb(klon) |
157 |
REAL snow(klon), yqsurf(klon), yagesno(klon) |
REAL snow(klon), yqsurf(klon), yagesno(klon) |
158 |
real yqsol(klon) ! column-density of water in soil, in kg m-2 |
real yqsol(klon) ! column-density of water in soil, in kg m-2 |
202 |
|
|
203 |
REAL qairsol(klon), zgeo1(klon) |
REAL qairsol(klon), zgeo1(klon) |
204 |
REAL rugo1(klon) |
REAL rugo1(klon) |
205 |
|
REAL zgeop(klon, klev) |
206 |
|
|
207 |
!------------------------------------------------------------ |
!------------------------------------------------------------ |
208 |
|
|
312 |
END DO |
END DO |
313 |
END DO |
END DO |
314 |
|
|
315 |
CALL coefkz(nsrf, ypaprs, ypplay, ksta, ksta_ter, yts(:knon), & |
! Calculer les géopotentiels de chaque couche: |
316 |
yrugos, yu, yv, yt, yq, yqsurf(:knon), ycoefm(:knon, :), & |
|
317 |
ycoefh(:knon, :), ycdragm(:knon), ycdragh(:knon)) |
zgeop(:knon, 1) = RD * yt(:knon, 1) / (0.5 * (ypaprs(:knon, 1) & |
318 |
|
+ ypplay(:knon, 1))) * (ypaprs(:knon, 1) - ypplay(:knon, 1)) |
319 |
|
|
320 |
|
DO k = 2, klev |
321 |
|
zgeop(:knon, k) = zgeop(:knon, k - 1) + RD * 0.5 & |
322 |
|
* (yt(:knon, k - 1) + yt(:knon, k)) / ypaprs(:knon, k) & |
323 |
|
* (ypplay(:knon, k - 1) - ypplay(:knon, k)) |
324 |
|
ENDDO |
325 |
|
|
326 |
|
CALL clcdrag(nsrf, yu(:knon, 1), yv(:knon, 1), yt(:knon, 1), & |
327 |
|
yq(:knon, 1), zgeop(:knon, 1), yts(:knon), yqsurf(:knon), & |
328 |
|
yrugos(:knon), ycdragm(:knon), ycdragh(:knon)) |
329 |
|
|
330 |
|
CALL coefkz(nsrf, ypaprs(:knon, :), ypplay(:knon, :), ksta, & |
331 |
|
ksta_ter, yts(:knon), yu(:knon, :), yv(:knon, :), yt(:knon, :), & |
332 |
|
yq(:knon, :), zgeop(:knon, :), ycoefm(:knon, :), & |
333 |
|
ycoefh(:knon, :)) |
334 |
|
|
335 |
IF (iflag_pbl == 1) THEN |
IF (iflag_pbl == 1) THEN |
336 |
CALL coefkz2(nsrf, knon, ypaprs, ypplay, yt, ycoefm0(:knon, :), & |
CALL coefkz2(nsrf, knon, ypaprs, ypplay, yt, ycoefm0(:knon, :), & |