12 |
SUBROUTINE phytrac(rnpb, itap, lmt_pas, julien, gmtime, firstcal, lafin, & |
SUBROUTINE phytrac(rnpb, itap, lmt_pas, julien, gmtime, firstcal, lafin, & |
13 |
nq_phys, pdtphys, u, v, t_seri, paprs, pplay, pmfu, pmfd, pen_u, & |
nq_phys, pdtphys, u, v, t_seri, paprs, pplay, pmfu, pmfd, pen_u, & |
14 |
pde_u, pen_d, pde_d, coefh, fm_therm, entr_therm, yu1, yv1, ftsol, & |
pde_u, pen_d, pde_d, coefh, fm_therm, entr_therm, yu1, yv1, ftsol, & |
15 |
pctsrf, frac_impa, frac_nucl, presnivs, pphis, & |
pctsrf, frac_impa, frac_nucl, pphis, pphi, albsol, rh, cldfra, rneb, & |
16 |
pphi, albsol, rh, cldfra, rneb, diafra, cldliq, itop_con, & |
diafra, cldliq, itop_con, ibas_con, pmflxr, pmflxs, prfl, psfl, da, & |
17 |
ibas_con, pmflxr, pmflxs, prfl, psfl, da, phi, mp, upwd, dnwd, & |
phi, mp, upwd, dnwd, tr_seri, zmasse) |
|
tr_seri, zmasse) |
|
18 |
|
|
19 |
! From phylmd/phytrac.F, version 1.15 2006/02/21 08:08:30 |
! From phylmd/phytrac.F, version 1.15 2006/02/21 08:08:30 |
20 |
|
|
90 |
|
|
91 |
real pphi(klon, llm) ! geopotentiel |
real pphi(klon, llm) ! geopotentiel |
92 |
real pphis(klon) |
real pphis(klon) |
|
REAL, intent(in):: presnivs(llm) |
|
93 |
logical, intent(in):: firstcal ! first call to "calfis" |
logical, intent(in):: firstcal ! first call to "calfis" |
94 |
logical, intent(in):: lafin ! fin de la physique |
logical, intent(in):: lafin ! fin de la physique |
95 |
|
|
219 |
inirnpb=rnpb |
inirnpb=rnpb |
220 |
|
|
221 |
! Initialisation des sorties : |
! Initialisation des sorties : |
222 |
call ini_histrac(nid_tra, pdtphys, presnivs, nq_phys, lessivage) |
call ini_histrac(nid_tra, pdtphys, nq_phys, lessivage) |
223 |
|
|
224 |
! Initialisation de certaines variables pour le radon et le plomb |
! Initialisation de certaines variables pour le radon et le plomb |
225 |
! Initialisation du traceur dans le sol (couche limite radonique) |
! Initialisation du traceur dans le sol (couche limite radonique) |
473 |
use iniadvtrac_m, only: tnom |
use iniadvtrac_m, only: tnom |
474 |
use comgeomphy, only: airephy |
use comgeomphy, only: airephy |
475 |
use dimphy, only: klon |
use dimphy, only: klon |
476 |
|
use grid_change, only: gr_phy_write_2d, gr_phy_write_3d |
477 |
|
|
478 |
logical, intent(in):: lessivage |
logical, intent(in):: lessivage |
479 |
|
|
493 |
|
|
494 |
itau_w = itau_phy + itap |
itau_w = itau_phy + itap |
495 |
|
|
496 |
CALL gr_fi_ecrit(1, klon, iim, jjm+1, pphis, zx_tmp_2d) |
CALL histwrite(nid_tra, "phis", itau_w, gr_phy_write_2d(pphis)) |
497 |
CALL histwrite(nid_tra, "phis", itau_w, zx_tmp_2d) |
CALL histwrite(nid_tra, "aire", itau_w, gr_phy_write_2d(airephy)) |
498 |
|
CALL histwrite(nid_tra, "zmasse", itau_w, gr_phy_write_3d(zmasse)) |
|
CALL gr_fi_ecrit(1, klon, iim, jjm+1, airephy, zx_tmp_2d) |
|
|
CALL histwrite(nid_tra, "aire", itau_w, zx_tmp_2d) |
|
|
|
|
|
CALL gr_fi_ecrit(llm, klon, iim, jjm+1, zmasse, zx_tmp_3d) |
|
|
CALL histwrite(nid_tra, "zmasse", itau_w, zx_tmp_3d) |
|
499 |
|
|
500 |
DO it=1, nq_phys |
DO it=1, nq_phys |
501 |
CALL gr_fi_ecrit(llm, klon, iim, jjm+1, tr_seri(1, 1, it), zx_tmp_3d) |
CALL histwrite(nid_tra, tnom(it+2), itau_w, & |
502 |
CALL histwrite(nid_tra, tnom(it+2), itau_w, zx_tmp_3d) |
gr_phy_write_3d(tr_seri(:, :, it))) |
503 |
if (lessivage) THEN |
if (lessivage) THEN |
504 |
CALL gr_fi_ecrit(llm, klon, iim, jjm+1, flestottr(1, 1, it), & |
CALL histwrite(nid_tra, "fl"//tnom(it+2), itau_w, & |
505 |
zx_tmp_3d) |
gr_phy_write_3d(flestottr(:, :, it))) |
|
CALL histwrite(nid_tra, "fl"//tnom(it+2), itau_w, zx_tmp_3d) |
|
506 |
endif |
endif |
507 |
|
CALL histwrite(nid_tra, "d_tr_th_"//tnom(it+2), itau_w, & |
508 |
CALL gr_fi_ecrit(llm, klon, iim, jjm+1, d_tr_th(1, 1, it), zx_tmp_3d) |
gr_phy_write_3d(d_tr_th(:, :, it))) |
509 |
CALL histwrite(nid_tra, "d_tr_th_"//tnom(it+2), itau_w, zx_tmp_3d) |
CALL histwrite(nid_tra, "d_tr_cv_"//tnom(it+2), itau_w, & |
510 |
CALL gr_fi_ecrit(llm, klon, iim, jjm+1, d_tr_cv(1, 1, it), zx_tmp_3d) |
gr_phy_write_3d(d_tr_cv(:, :, it))) |
511 |
CALL histwrite(nid_tra, "d_tr_cv_"//tnom(it+2), itau_w, zx_tmp_3d) |
CALL histwrite(nid_tra, "d_tr_cl_"//tnom(it+2), itau_w, & |
512 |
CALL gr_fi_ecrit(llm, klon, iim, jjm+1, d_tr_cl(1, 1, it), zx_tmp_3d) |
gr_phy_write_3d(d_tr_cl(:, :, it))) |
|
CALL histwrite(nid_tra, "d_tr_cl_"//tnom(it+2), itau_w, zx_tmp_3d) |
|
513 |
ENDDO |
ENDDO |
514 |
|
|
515 |
CALL gr_fi_ecrit(llm, klon, iim, jjm+1, pplay, zx_tmp_3d) |
CALL histwrite(nid_tra, "pplay", itau_w, gr_phy_write_3d(pplay)) |
516 |
CALL histwrite(nid_tra, "pplay", itau_w, zx_tmp_3d) |
CALL histwrite(nid_tra, "T", itau_w, gr_phy_write_3d(t_seri)) |
|
|
|
|
CALL gr_fi_ecrit(llm, klon, iim, jjm+1, t_seri, zx_tmp_3d) |
|
|
CALL histwrite(nid_tra, "t", itau_w, zx_tmp_3d) |
|
517 |
|
|
518 |
if (ok_sync) then |
if (ok_sync) then |
519 |
call histsync(nid_tra) |
call histsync(nid_tra) |