185 |
|
|
186 |
! Pour phytrac : |
! Pour phytrac : |
187 |
REAL ycoefh(klon, llm) ! coef d'echange pour phytrac |
REAL ycoefh(klon, llm) ! coef d'echange pour phytrac |
188 |
REAL yu1(klon) ! vents dans la premiere couche U |
REAL yu1(klon), yv1(klon) ! vent dans la premi\`ere couche |
|
REAL yv1(klon) ! vents dans la premiere couche V |
|
189 |
|
|
190 |
REAL, save:: ffonte(klon, nbsrf) |
REAL, save:: ffonte(klon, nbsrf) |
191 |
! flux thermique utilise pour fondre la neige |
! flux thermique utilise pour fondre la neige |
388 |
REAL, save:: t2m(klon, nbsrf), q2m(klon, nbsrf) |
REAL, save:: t2m(klon, nbsrf), q2m(klon, nbsrf) |
389 |
! temperature and humidity at 2 m |
! temperature and humidity at 2 m |
390 |
|
|
391 |
REAL, save:: u10m(klon, nbsrf), v10m(klon, nbsrf) ! vents a 10 m |
REAL, save:: u10m_srf(klon, nbsrf), v10m_srf(klon, nbsrf) |
392 |
|
! composantes du vent \`a 10 m |
393 |
|
|
394 |
REAL zt2m(klon), zq2m(klon) ! température, humidité 2 m moyenne sur 1 maille |
REAL zt2m(klon), zq2m(klon) ! température, humidité 2 m moyenne sur 1 maille |
395 |
REAL zu10m(klon), zv10m(klon) ! vents a 10 m moyennes sur 1 maille |
REAL u10m(klon), v10m(klon) ! vent \`a 10 m moyenn\' sur les sous-surfaces |
396 |
|
|
397 |
! Aerosol effects: |
! Aerosol effects: |
398 |
|
|
420 |
|
|
421 |
test_firstcal: IF (firstcal) THEN |
test_firstcal: IF (firstcal) THEN |
422 |
! initialiser |
! initialiser |
423 |
u10m = 0. |
u10m_srf = 0. |
424 |
v10m = 0. |
v10m_srf = 0. |
425 |
t2m = 0. |
t2m = 0. |
426 |
q2m = 0. |
q2m = 0. |
427 |
ffonte = 0. |
ffonte = 0. |
572 |
paprs, play, fsnow, fqsurf, fevap, falbe, fluxlat, rain_fall, & |
paprs, play, fsnow, fqsurf, fevap, falbe, fluxlat, rain_fall, & |
573 |
snow_fall, fsolsw, fsollw, frugs, agesno, rugoro, d_t_vdf, d_q_vdf, & |
snow_fall, fsolsw, fsollw, frugs, agesno, rugoro, d_t_vdf, d_q_vdf, & |
574 |
d_u_vdf, d_v_vdf, d_ts, flux_t, flux_q, flux_u, flux_v, cdragh, & |
d_u_vdf, d_v_vdf, d_ts, flux_t, flux_q, flux_u, flux_v, cdragh, & |
575 |
cdragm, q2, dsens, devap, ycoefh, yu1, yv1, t2m, q2m, u10m, v10m, & |
cdragm, q2, dsens, devap, ycoefh, t2m, q2m, u10m_srf, v10m_srf, & |
576 |
pblh, capCL, oliqCL, cteiCL, pblT, therm, trmb1, trmb2, trmb3, plcl, & |
pblh, capCL, oliqCL, cteiCL, pblT, therm, trmb1, trmb2, trmb3, plcl, & |
577 |
fqcalving, ffonte, run_off_lic_0) |
fqcalving, ffonte, run_off_lic_0) |
578 |
|
|
582 |
evap = - sum(flux_q * pctsrf, dim = 2) |
evap = - sum(flux_q * pctsrf, dim = 2) |
583 |
fder = dlw + dsens + devap |
fder = dlw + dsens + devap |
584 |
|
|
585 |
|
yu1 = u_seri(:, 1) |
586 |
|
yv1 = v_seri(:, 1) |
587 |
|
|
588 |
DO k = 1, llm |
DO k = 1, llm |
589 |
DO i = 1, klon |
DO i = 1, klon |
590 |
t_seri(i, k) = t_seri(i, k) + d_t_vdf(i, k) |
t_seri(i, k) = t_seri(i, k) + d_t_vdf(i, k) |
602 |
zxfluxlat = sum(fluxlat * pctsrf, dim = 2) |
zxfluxlat = sum(fluxlat * pctsrf, dim = 2) |
603 |
zt2m = sum(t2m * pctsrf, dim = 2) |
zt2m = sum(t2m * pctsrf, dim = 2) |
604 |
zq2m = sum(q2m * pctsrf, dim = 2) |
zq2m = sum(q2m * pctsrf, dim = 2) |
605 |
zu10m = sum(u10m * pctsrf, dim = 2) |
u10m = sum(u10m_srf * pctsrf, dim = 2) |
606 |
zv10m = sum(v10m * pctsrf, dim = 2) |
v10m = sum(v10m_srf * pctsrf, dim = 2) |
607 |
zxffonte = sum(ffonte * pctsrf, dim = 2) |
zxffonte = sum(ffonte * pctsrf, dim = 2) |
608 |
zxfqcalving = sum(fqcalving * pctsrf, dim = 2) |
zxfqcalving = sum(fqcalving * pctsrf, dim = 2) |
609 |
s_pblh = sum(pblh * pctsrf, dim = 2) |
s_pblh = sum(pblh * pctsrf, dim = 2) |
624 |
ftsol(i, nsrf) = tsol(i) |
ftsol(i, nsrf) = tsol(i) |
625 |
t2m(i, nsrf) = zt2m(i) |
t2m(i, nsrf) = zt2m(i) |
626 |
q2m(i, nsrf) = zq2m(i) |
q2m(i, nsrf) = zq2m(i) |
627 |
u10m(i, nsrf) = zu10m(i) |
u10m_srf(i, nsrf) = u10m(i) |
628 |
v10m(i, nsrf) = zv10m(i) |
v10m_srf(i, nsrf) = v10m(i) |
629 |
ffonte(i, nsrf) = zxffonte(i) |
ffonte(i, nsrf) = zxffonte(i) |
630 |
fqcalving(i, nsrf) = zxfqcalving(i) |
fqcalving(i, nsrf) = zxfqcalving(i) |
631 |
pblh(i, nsrf) = s_pblh(i) |
pblh(i, nsrf) = s_pblh(i) |
1040 |
CALL histwrite_phy("tsol", tsol) |
CALL histwrite_phy("tsol", tsol) |
1041 |
CALL histwrite_phy("t2m", zt2m) |
CALL histwrite_phy("t2m", zt2m) |
1042 |
CALL histwrite_phy("q2m", zq2m) |
CALL histwrite_phy("q2m", zq2m) |
1043 |
CALL histwrite_phy("u10m", zu10m) |
CALL histwrite_phy("u10m", u10m) |
1044 |
CALL histwrite_phy("v10m", zv10m) |
CALL histwrite_phy("v10m", v10m) |
1045 |
CALL histwrite_phy("snow", snow_fall) |
CALL histwrite_phy("snow", snow_fall) |
1046 |
CALL histwrite_phy("cdrm", cdragm) |
CALL histwrite_phy("cdrm", cdragm) |
1047 |
CALL histwrite_phy("cdrh", cdragh) |
CALL histwrite_phy("cdrh", cdragh) |
1068 |
CALL histwrite_phy("tauy_"//clnsurf(nsrf), flux_v(:, nsrf)) |
CALL histwrite_phy("tauy_"//clnsurf(nsrf), flux_v(:, nsrf)) |
1069 |
CALL histwrite_phy("rugs_"//clnsurf(nsrf), frugs(:, nsrf)) |
CALL histwrite_phy("rugs_"//clnsurf(nsrf), frugs(:, nsrf)) |
1070 |
CALL histwrite_phy("albe_"//clnsurf(nsrf), falbe(:, nsrf)) |
CALL histwrite_phy("albe_"//clnsurf(nsrf), falbe(:, nsrf)) |
1071 |
|
CALL histwrite_phy("u10m_"//clnsurf(nsrf), u10m_srf(:, nsrf)) |
1072 |
|
CALL histwrite_phy("v10m_"//clnsurf(nsrf), v10m_srf(:, nsrf)) |
1073 |
END DO |
END DO |
1074 |
|
|
1075 |
CALL histwrite_phy("albs", albsol) |
CALL histwrite_phy("albs", albsol) |