265 |
REAL, save:: ftsoil(klon, nsoilmx, nbsrf) |
REAL, save:: ftsoil(klon, nsoilmx, nbsrf) |
266 |
! soil temperature of surface fraction |
! soil temperature of surface fraction |
267 |
|
|
268 |
REAL fevap(klon, nbsrf) |
REAL, save:: fevap(klon, nbsrf) ! evaporation |
|
SAVE fevap ! evaporation |
|
269 |
REAL fluxlat(klon, nbsrf) |
REAL fluxlat(klon, nbsrf) |
270 |
SAVE fluxlat |
SAVE fluxlat |
271 |
|
|
347 |
|
|
348 |
REAL rain_tiedtke(klon), snow_tiedtke(klon) |
REAL rain_tiedtke(klon), snow_tiedtke(klon) |
349 |
|
|
350 |
REAL evap(klon), devap(klon) ! evaporation et sa derivee |
REAL evap(klon), devap(klon) ! evaporation and its derivative |
351 |
REAL sens(klon), dsens(klon) ! chaleur sensible et sa derivee |
REAL sens(klon), dsens(klon) ! chaleur sensible et sa derivee |
352 |
REAL dlw(klon) ! derivee infra rouge |
REAL dlw(klon) ! derivee infra rouge |
353 |
SAVE dlw |
SAVE dlw |
499 |
REAL d_u_ajs(klon, llm), d_v_ajs(klon, llm) |
REAL d_u_ajs(klon, llm), d_v_ajs(klon, llm) |
500 |
REAL rneb(klon, llm) |
REAL rneb(klon, llm) |
501 |
|
|
502 |
REAL pmfu(klon, llm), pmfd(klon, llm) |
REAL mfu(klon, llm), mfd(klon, llm) |
503 |
REAL pen_u(klon, llm), pen_d(klon, llm) |
REAL pen_u(klon, llm), pen_d(klon, llm) |
504 |
REAL pde_u(klon, llm), pde_d(klon, llm) |
REAL pde_u(klon, llm), pde_d(klon, llm) |
505 |
INTEGER kcbot(klon), kctop(klon), kdtop(klon) |
INTEGER kcbot(klon), kctop(klon), kdtop(klon) |
1085 |
|
|
1086 |
if (iflag_con == 2) then |
if (iflag_con == 2) then |
1087 |
z_avant = sum((q_seri + ql_seri) * zmasse, dim=2) |
z_avant = sum((q_seri + ql_seri) * zmasse, dim=2) |
1088 |
CALL conflx(dtphys, paprs, play, t_seri(:, llm:1:-1), q_seri, & |
CALL conflx(dtphys, paprs, play, t_seri(:, llm:1:-1), & |
1089 |
conv_t, conv_q, zxfluxq(:, 1), omega, d_t_con, d_q_con, & |
q_seri(:, llm:1:-1), conv_t, conv_q, zxfluxq(:, 1), omega, & |
1090 |
rain_con, snow_con, pmfu, pmfd, pen_u, pde_u, pen_d, & |
d_t_con, d_q_con, rain_con, snow_con, mfu(:, llm:1:-1), & |
1091 |
pde_d, kcbot, kctop, kdtop, pmflxr, pmflxs) |
mfd(:, llm:1:-1), pen_u, pde_u, pen_d, pde_d, kcbot, kctop, & |
1092 |
|
kdtop, pmflxr, pmflxs) |
1093 |
WHERE (rain_con < 0.) rain_con = 0. |
WHERE (rain_con < 0.) rain_con = 0. |
1094 |
WHERE (snow_con < 0.) snow_con = 0. |
WHERE (snow_con < 0.) snow_con = 0. |
1095 |
DO i = 1, klon |
ibas_con = llm + 1 - kcbot |
1096 |
ibas_con(i) = llm + 1 - kcbot(i) |
itop_con = llm + 1 - kctop |
|
itop_con(i) = llm + 1 - kctop(i) |
|
|
ENDDO |
|
1097 |
else |
else |
1098 |
! iflag_con >= 3 |
! iflag_con >= 3 |
1099 |
CALL concvl(dtphys, paprs, play, t_seri, q_seri, u_seri, & |
CALL concvl(dtphys, paprs, play, t_seri, q_seri, u_seri, & |
1108 |
! supprimer les calculs / ftra.) |
! supprimer les calculs / ftra.) |
1109 |
|
|
1110 |
clwcon0 = qcondc |
clwcon0 = qcondc |
1111 |
pmfu = upwd + dnwd |
mfu = upwd + dnwd |
1112 |
IF (.NOT. ok_gust) wd = 0. |
IF (.NOT. ok_gust) wd = 0. |
1113 |
|
|
1114 |
! Calcul des propriétés des nuages convectifs |
! Calcul des propriétés des nuages convectifs |
1118 |
zx_t = t_seri(i, k) |
zx_t = t_seri(i, k) |
1119 |
IF (thermcep) THEN |
IF (thermcep) THEN |
1120 |
zdelta = MAX(0., SIGN(1., rtt-zx_t)) |
zdelta = MAX(0., SIGN(1., rtt-zx_t)) |
1121 |
zx_qs = r2es * FOEEW(zx_t, zdelta)/play(i, k) |
zx_qs = r2es * FOEEW(zx_t, zdelta) / play(i, k) |
1122 |
zx_qs = MIN(0.5, zx_qs) |
zx_qs = MIN(0.5, zx_qs) |
1123 |
zcor = 1./(1.-retv*zx_qs) |
zcor = 1./(1.-retv*zx_qs) |
1124 |
zx_qs = zx_qs*zcor |
zx_qs = zx_qs*zcor |
1134 |
ENDDO |
ENDDO |
1135 |
|
|
1136 |
! calcul des proprietes des nuages convectifs |
! calcul des proprietes des nuages convectifs |
1137 |
clwcon0 = fact_cldcon*clwcon0 |
clwcon0 = fact_cldcon * clwcon0 |
1138 |
call clouds_gno(klon, llm, q_seri, zqsat, clwcon0, ptconv, ratqsc, & |
call clouds_gno(klon, llm, q_seri, zqsat, clwcon0, ptconv, ratqsc, & |
1139 |
rnebcon0) |
rnebcon0) |
1140 |
END if |
END if |
1552 |
|
|
1553 |
! Calcul des tendances traceurs |
! Calcul des tendances traceurs |
1554 |
call phytrac(rnpb, itap, lmt_pas, julien, time, firstcal, lafin, nqmx-2, & |
call phytrac(rnpb, itap, lmt_pas, julien, time, firstcal, lafin, nqmx-2, & |
1555 |
dtphys, u, t, paprs, play, pmfu, pmfd, pen_u, pde_u, pen_d, pde_d, & |
dtphys, u, t, paprs, play, mfu, mfd, pen_u, pde_u, pen_d, pde_d, & |
1556 |
ycoefh, fm_therm, entr_therm, yu1, yv1, ftsol, pctsrf, frac_impa, & |
ycoefh, fm_therm, entr_therm, yu1, yv1, ftsol, pctsrf, frac_impa, & |
1557 |
frac_nucl, pphis, albsol, rhcl, cldfra, rneb, diafra, cldliq, & |
frac_nucl, pphis, albsol, rhcl, cldfra, rneb, diafra, cldliq, & |
1558 |
pmflxr, pmflxs, prfl, psfl, da, phi, mp, upwd, dnwd, tr_seri, zmasse) |
pmflxr, pmflxs, prfl, psfl, da, phi, mp, upwd, dnwd, tr_seri, zmasse) |
1559 |
|
|
1560 |
IF (offline) THEN |
IF (offline) THEN |
1561 |
call phystokenc(dtphys, rlon, rlat, t, pmfu, pmfd, pen_u, pde_u, & |
call phystokenc(dtphys, rlon, rlat, t, mfu, mfd, pen_u, pde_u, & |
1562 |
pen_d, pde_d, fm_therm, entr_therm, ycoefh, yu1, yv1, ftsol, & |
pen_d, pde_d, fm_therm, entr_therm, ycoefh, yu1, yv1, ftsol, & |
1563 |
pctsrf, frac_impa, frac_nucl, pphis, airephy, dtphys, itap) |
pctsrf, frac_impa, frac_nucl, pphis, airephy, dtphys, itap) |
1564 |
ENDIF |
ENDIF |