290 |
REAL, SAVE:: cteiCL(klon, nbsrf) ! cloud top instab. crit. couche limite |
REAL, SAVE:: cteiCL(klon, nbsrf) ! cloud top instab. crit. couche limite |
291 |
REAL, SAVE:: pblt(klon, nbsrf) ! T \`a la hauteur de couche limite |
REAL, SAVE:: pblt(klon, nbsrf) ! T \`a la hauteur de couche limite |
292 |
REAL, SAVE:: therm(klon, nbsrf) |
REAL, SAVE:: therm(klon, nbsrf) |
|
REAL, SAVE:: trmb1(klon, nbsrf) ! deep_cape |
|
|
REAL, SAVE:: trmb2(klon, nbsrf) ! inhibition |
|
|
REAL, SAVE:: trmb3(klon, nbsrf) ! Point Omega |
|
293 |
! Grandeurs de sorties |
! Grandeurs de sorties |
294 |
REAL s_pblh(klon), s_lcl(klon), s_capCL(klon) |
REAL s_pblh(klon), s_lcl(klon), s_capCL(klon) |
295 |
REAL s_oliqCL(klon), s_cteiCL(klon), s_pblt(klon) |
REAL s_oliqCL(klon), s_cteiCL(klon), s_pblt(klon) |
296 |
REAL s_therm(klon), s_trmb1(klon), s_trmb2(klon) |
REAL s_therm(klon) |
|
REAL s_trmb3(klon) |
|
297 |
|
|
298 |
! Variables pour la convection de K. Emanuel : |
! Variables pour la convection de K. Emanuel : |
299 |
|
|
435 |
cteiCL =0. ! cloud top instab. crit. couche limite |
cteiCL =0. ! cloud top instab. crit. couche limite |
436 |
pblt =0. |
pblt =0. |
437 |
therm =0. |
therm =0. |
|
trmb1 =0. ! deep_cape |
|
|
trmb2 =0. ! inhibition |
|
|
trmb3 =0. ! Point Omega |
|
438 |
|
|
439 |
iflag_thermals = 0 |
iflag_thermals = 0 |
440 |
nsplit_thermals = 1 |
nsplit_thermals = 1 |
564 |
agesno, rugoro, d_t_vdf, d_q_vdf, d_u_vdf, d_v_vdf, d_ts, flux_t, & |
agesno, rugoro, d_t_vdf, d_q_vdf, d_u_vdf, d_v_vdf, d_ts, flux_t, & |
565 |
flux_q, flux_u, flux_v, cdragh, cdragm, q2, dsens, devap, coefh, t2m, & |
flux_q, flux_u, flux_v, cdragh, cdragm, q2, dsens, devap, coefh, t2m, & |
566 |
q2m, u10m_srf, v10m_srf, pblh, capCL, oliqCL, cteiCL, pblT, therm, & |
q2m, u10m_srf, v10m_srf, pblh, capCL, oliqCL, cteiCL, pblT, therm, & |
567 |
trmb1, trmb2, trmb3, plcl, fqcalving, ffonte, run_off_lic_0) |
plcl, fqcalving, ffonte, run_off_lic_0) |
568 |
|
|
569 |
! Incr\'ementation des flux |
! Incr\'ementation des flux |
570 |
|
|
600 |
s_cteiCL = sum(cteiCL * pctsrf, dim = 2) |
s_cteiCL = sum(cteiCL * pctsrf, dim = 2) |
601 |
s_pblT = sum(pblT * pctsrf, dim = 2) |
s_pblT = sum(pblT * pctsrf, dim = 2) |
602 |
s_therm = sum(therm * pctsrf, dim = 2) |
s_therm = sum(therm * pctsrf, dim = 2) |
|
s_trmb1 = sum(trmb1 * pctsrf, dim = 2) |
|
|
s_trmb2 = sum(trmb2 * pctsrf, dim = 2) |
|
|
s_trmb3 = sum(trmb3 * pctsrf, dim = 2) |
|
603 |
|
|
604 |
! Si une sous-fraction n'existe pas, elle prend la valeur moyenne : |
! Si une sous-fraction n'existe pas, elle prend la valeur moyenne : |
605 |
DO nsrf = 1, nbsrf |
DO nsrf = 1, nbsrf |
619 |
cteiCL(i, nsrf) = s_cteiCL(i) |
cteiCL(i, nsrf) = s_cteiCL(i) |
620 |
pblT(i, nsrf) = s_pblT(i) |
pblT(i, nsrf) = s_pblT(i) |
621 |
therm(i, nsrf) = s_therm(i) |
therm(i, nsrf) = s_therm(i) |
|
trmb1(i, nsrf) = s_trmb1(i) |
|
|
trmb2(i, nsrf) = s_trmb2(i) |
|
|
trmb3(i, nsrf) = s_trmb3(i) |
|
622 |
end IF |
end IF |
623 |
ENDDO |
ENDDO |
624 |
ENDDO |
ENDDO |
654 |
conv_t = d_t_dyn + d_t_vdf / dtphys |
conv_t = d_t_dyn + d_t_vdf / dtphys |
655 |
z_avant = sum((q_seri + ql_seri) * zmasse, dim=2) |
z_avant = sum((q_seri + ql_seri) * zmasse, dim=2) |
656 |
CALL conflx(dtphys, paprs, play, t_seri(:, llm:1:- 1), & |
CALL conflx(dtphys, paprs, play, t_seri(:, llm:1:- 1), & |
657 |
q_seri(:, llm:1:- 1), conv_t, conv_q, - evap, omega, & |
q_seri(:, llm:1:- 1), conv_t, conv_q, - evap, omega, d_t_con, & |
658 |
d_t_con, d_q_con, rain_con, snow_con, mfu(:, llm:1:- 1), & |
d_q_con, rain_con, snow_con, mfu(:, llm:1:- 1), mfd(:, llm:1:- 1), & |
659 |
mfd(:, llm:1:- 1), pen_u, pde_u, pen_d, pde_d, kcbot, kctop, & |
pen_u, pde_u, pen_d, pde_d, kcbot, kctop, kdtop, pmflxr, pmflxs) |
|
kdtop, pmflxr, pmflxs) |
|
660 |
WHERE (rain_con < 0.) rain_con = 0. |
WHERE (rain_con < 0.) rain_con = 0. |
661 |
WHERE (snow_con < 0.) snow_con = 0. |
WHERE (snow_con < 0.) snow_con = 0. |
662 |
ibas_con = llm + 1 - kcbot |
ibas_con = llm + 1 - kcbot |
1045 |
CALL histwrite_phy("s_oliqCL", s_oliqCL) |
CALL histwrite_phy("s_oliqCL", s_oliqCL) |
1046 |
CALL histwrite_phy("s_cteiCL", s_cteiCL) |
CALL histwrite_phy("s_cteiCL", s_cteiCL) |
1047 |
CALL histwrite_phy("s_therm", s_therm) |
CALL histwrite_phy("s_therm", s_therm) |
|
CALL histwrite_phy("s_trmb1", s_trmb1) |
|
|
CALL histwrite_phy("s_trmb2", s_trmb2) |
|
|
CALL histwrite_phy("s_trmb3", s_trmb3) |
|
1048 |
|
|
1049 |
if (conv_emanuel) then |
if (conv_emanuel) then |
1050 |
CALL histwrite_phy("ptop", ema_pct) |
CALL histwrite_phy("ptop", ema_pct) |