172 |
REAL ycoefm0(klon, klev), ycoefh0(klon, klev) |
REAL ycoefm0(klon, klev), ycoefh0(klon, klev) |
173 |
REAL yzlay(klon, klev), zlev(klon, klev + 1), yteta(klon, klev) |
REAL yzlay(klon, klev), zlev(klon, klev + 1), yteta(klon, klev) |
174 |
REAL ykmm(klon, klev + 1), ykmn(klon, klev + 1) |
REAL ykmm(klon, klev + 1), ykmn(klon, klev + 1) |
|
REAL ykmq(klon, klev + 1) |
|
175 |
REAL yq2(klon, klev + 1) |
REAL yq2(klon, klev + 1) |
176 |
REAL delp(klon, klev) |
REAL delp(klon, klev) |
177 |
INTEGER i, k, nsrf |
INTEGER i, k, nsrf |
322 |
ycoefh0(:knon, 1) = 0. |
ycoefh0(:knon, 1) = 0. |
323 |
coefm(:knon, :) = max(coefm(:knon, :), ycoefm0(:knon, 2:)) |
coefm(:knon, :) = max(coefm(:knon, :), ycoefm0(:knon, 2:)) |
324 |
coefh(:knon, :) = max(coefh(:knon, :), ycoefh0(:knon, 2:)) |
coefh(:knon, :) = max(coefh(:knon, :), ycoefh0(:knon, 2:)) |
325 |
ycdragm(:knon) = max(ycdragm(:knon), ycoefm0(:knon, 1)) |
ycdragm(:knon) = max(ycdragm(:knon), 0.) |
326 |
ycdragh(:knon) = max(ycdragh(:knon), ycoefh0(:knon, 1)) |
ycdragh(:knon) = max(ycdragh(:knon), 0.) |
327 |
END IF |
END IF |
328 |
|
|
329 |
! on met un seuil pour ycdragm et ycdragh |
! on met un seuil pour ycdragm et ycdragh |
335 |
IF (ok_kzmin) THEN |
IF (ok_kzmin) THEN |
336 |
! Calcul d'une diffusion minimale pour les conditions tres stables |
! Calcul d'une diffusion minimale pour les conditions tres stables |
337 |
CALL coefkzmin(knon, ypaprs, ypplay, yu, yv, yt, yq, & |
CALL coefkzmin(knon, ypaprs, ypplay, yu, yv, yt, yq, & |
338 |
ycdragm(:knon), ycoefm0(:knon, 2:), ycoefh0(:knon, 2:)) |
ycdragm(:knon), ycoefh0(:knon, 2:)) |
339 |
|
ycoefm0(:knon, 2:) = ycoefh0(:knon, 2:) |
340 |
coefm(:knon, :) = max(coefm(:knon, :), ycoefm0(:knon, 2:)) |
coefm(:knon, :) = max(coefm(:knon, :), ycoefm0(:knon, 2:)) |
341 |
coefh(:knon, :) = max(coefh(:knon, :), ycoefh0(:knon, 2:)) |
coefh(:knon, :) = max(coefh(:knon, :), ycoefh0(:knon, 2:)) |
|
ycdragm(:knon) = max(ycdragm(:knon), ycoefm0(:knon, 1)) |
|
|
ycdragh(:knon) = max(ycdragh(:knon), ycoefh0(:knon, 1)) |
|
342 |
END IF |
END IF |
343 |
|
|
344 |
IF (iflag_pbl >= 6) THEN |
IF (iflag_pbl >= 6) THEN |
377 |
|
|
378 |
ustar(:knon) = ustarhb(yu(:knon, 1), yv(:knon, 1), ycdragm(:knon)) |
ustar(:knon) = ustarhb(yu(:knon, 1), yv(:knon, 1), ycdragm(:knon)) |
379 |
CALL yamada4(dtime, rg, zlev(:knon, :), yzlay(:knon, :), & |
CALL yamada4(dtime, rg, zlev(:knon, :), yzlay(:knon, :), & |
380 |
yu(:knon, :), yv(:knon, :), yteta(:knon, :), & |
yu(:knon, :), yv(:knon, :), yteta(:knon, :), yq2(:knon, :), & |
381 |
ycdragm(:knon), yq2(:knon, :), ykmm(:knon, :), & |
ykmm(:knon, :), ykmn(:knon, :), ustar(:knon)) |
382 |
ykmn(:knon, :), ykmq(:knon, :), ustar(:knon)) |
coefm(:knon, :) = ykmm(:knon, 2:klev) |
383 |
coefm(:knon, 2:) = ykmm(:knon, 2:klev) |
coefh(:knon, :) = ykmn(:knon, 2:klev) |
|
coefh(:knon, 2:) = ykmn(:knon, 2:klev) |
|
384 |
END IF |
END IF |
385 |
|
|
386 |
CALL clvent(dtime, yu(:knon, 1), yv(:knon, 1), coefm(:knon, :), & |
CALL clvent(dtime, yu(:knon, 1), yv(:knon, 1), coefm(:knon, :), & |