4 |
|
|
5 |
contains |
contains |
6 |
|
|
7 |
subroutine climb_hq_down(pkf, cq, dq, ch, dh, paprs, pplay, t, coef, dtime, & |
subroutine climb_hq_down(pkf, cq, dq, ch, dh, paprs, pplay, t, coef, delp, q) |
|
delp, q) |
|
8 |
|
|
9 |
|
use comconst, only: dtphys |
10 |
USE conf_phys_m, ONLY: iflag_pbl |
USE conf_phys_m, ONLY: iflag_pbl |
11 |
USE dimphy, ONLY: klev |
USE dimphy, ONLY: klev |
12 |
USE suphec_m, ONLY: rcpd, rd, rg, rkappa |
USE suphec_m, ONLY: rcpd, rd, rg, rkappa |
26 |
! Le coefficient d'echange (m**2 / s) multiplie par le cisaillement |
! Le coefficient d'echange (m**2 / s) multiplie par le cisaillement |
27 |
! du vent (dV / dz) |
! du vent (dV / dz) |
28 |
|
|
|
REAL, intent(in):: dtime ! intervalle du temps (s) |
|
|
|
|
29 |
REAL, intent(in):: delp(:, :) ! (knon, klev) |
REAL, intent(in):: delp(:, :) ! (knon, klev) |
30 |
! epaisseur de couche en pression (Pa) |
! epaisseur de couche en pression (Pa) |
31 |
|
|
50 |
! Convertir les coefficients en variables convenables au calcul: |
! Convertir les coefficients en variables convenables au calcul: |
51 |
forall (k = 2:klev) zx_coef(:, k) = coef(:, k) & |
forall (k = 2:klev) zx_coef(:, k) = coef(:, k) & |
52 |
/ (pplay(:, k - 1) - pplay(:, k)) & |
/ (pplay(:, k - 1) - pplay(:, k)) & |
53 |
* (paprs(:, k) * 2 / (t(:, k) + t(:, k - 1)) / RD)**2 * dtime * RG**2 |
* (paprs(:, k) * 2 / (t(:, k) + t(:, k - 1)) / RD)**2 * dtphys * RG**2 |
54 |
|
|
55 |
! Preparer les flux lies aux contre-gardients |
! Preparer les flux lies aux contre-gardients |
56 |
|
|