25 |
use clvent_m, only: clvent |
use clvent_m, only: clvent |
26 |
use coefkz_m, only: coefkz |
use coefkz_m, only: coefkz |
27 |
use coefkzmin_m, only: coefkzmin |
use coefkzmin_m, only: coefkzmin |
28 |
|
use coefkz2_m, only: coefkz2 |
29 |
USE conf_gcm_m, ONLY: lmt_pas |
USE conf_gcm_m, ONLY: lmt_pas |
30 |
USE conf_phys_m, ONLY: iflag_pbl |
USE conf_phys_m, ONLY: iflag_pbl |
31 |
USE dimphy, ONLY: klev, klon, zmasq |
USE dimphy, ONLY: klev, klon, zmasq |
312 |
|
|
313 |
! calculer Cdrag et les coefficients d'echange |
! calculer Cdrag et les coefficients d'echange |
314 |
CALL coefkz(nsrf, ypaprs, ypplay, ksta, ksta_ter, yts(:knon), & |
CALL coefkz(nsrf, ypaprs, ypplay, ksta, ksta_ter, yts(:knon), & |
315 |
yrugos, yu, yv, yt, yq, yqsurf(:knon), coefm(:knon, :), & |
yrugos, yu, yv, yt, yq, yqsurf(:knon), coefm(:knon, 2:), & |
316 |
coefh(:knon, :)) |
coefh(:knon, 2:), coefm(:knon, 1), coefh(:knon, 1)) |
317 |
|
|
318 |
IF (iflag_pbl == 1) THEN |
IF (iflag_pbl == 1) THEN |
319 |
CALL coefkz2(nsrf, knon, ypaprs, ypplay, yt, ycoefm0, ycoefh0) |
CALL coefkz2(nsrf, knon, ypaprs, ypplay, yt, ycoefm0, ycoefh0) |
330 |
IF (ok_kzmin) THEN |
IF (ok_kzmin) THEN |
331 |
! Calcul d'une diffusion minimale pour les conditions tres stables |
! Calcul d'une diffusion minimale pour les conditions tres stables |
332 |
CALL coefkzmin(knon, ypaprs, ypplay, yu, yv, yt, yq, & |
CALL coefkzmin(knon, ypaprs, ypplay, yu, yv, yt, yq, & |
333 |
coefm(:knon, 1), ycoefm0, ycoefh0) |
coefm(:knon, 1), ycoefm0(:knon, 2:), ycoefh0(:knon, 2:)) |
334 |
coefm(:knon, :) = max(coefm(:knon, :), ycoefm0(:knon, :)) |
coefm(:knon, :) = max(coefm(:knon, :), ycoefm0(:knon, :)) |
335 |
coefh(:knon, :) = max(coefh(:knon, :), ycoefh0(:knon, :)) |
coefh(:knon, :) = max(coefh(:knon, :), ycoefh0(:knon, :)) |
336 |
END IF |
END IF |