10 |
SUBROUTINE phytrac(itap, lmt_pas, julien, gmtime, firstcal, lafin, pdtphys, & |
SUBROUTINE phytrac(itap, lmt_pas, julien, gmtime, firstcal, lafin, pdtphys, & |
11 |
t_seri, paprs, pplay, pmfu, pmfd, pde_u, pen_d, coefh, fm_therm, & |
t_seri, paprs, pplay, pmfu, pmfd, pde_u, pen_d, coefh, fm_therm, & |
12 |
entr_therm, yu1, yv1, ftsol, pctsrf, frac_impa, frac_nucl, da, phi, & |
entr_therm, yu1, yv1, ftsol, pctsrf, frac_impa, frac_nucl, da, phi, & |
13 |
mp, upwd, dnwd, tr_seri, zmasse, ncid_startphy, nid_ins) |
mp, upwd, dnwd, tr_seri, zmasse, ncid_startphy, nid_ins, itau_phy) |
14 |
|
|
15 |
! From phylmd/phytrac.F, version 1.15 2006/02/21 08:08:30 (SVN revision 679) |
! From phylmd/phytrac.F, version 1.15 2006/02/21 08:08:30 (SVN revision 679) |
16 |
|
|
38 |
use indicesol, only: nbsrf |
use indicesol, only: nbsrf |
39 |
use initrrnpb_m, only: initrrnpb |
use initrrnpb_m, only: initrrnpb |
40 |
use minmaxqfi_m, only: minmaxqfi |
use minmaxqfi_m, only: minmaxqfi |
41 |
|
use netcdf, only: NF90_FILL_float |
42 |
use netcdf95, only: nf95_inq_varid, nf95_get_var, nf95_put_var |
use netcdf95, only: nf95_inq_varid, nf95_get_var, nf95_put_var |
43 |
use nflxtr_m, only: nflxtr |
use nflxtr_m, only: nflxtr |
44 |
use nr_util, only: assert |
use nr_util, only: assert |
102 |
real, intent(in):: zmasse(:, :) ! (klon, llm) |
real, intent(in):: zmasse(:, :) ! (klon, llm) |
103 |
! (column-density of mass of air in a cell, in kg m-2) |
! (column-density of mass of air in a cell, in kg m-2) |
104 |
|
|
105 |
integer, intent(in):: ncid_startphy, nid_ins |
integer, intent(in):: ncid_startphy, nid_ins, itau_phy |
106 |
|
|
107 |
! Local: |
! Local: |
108 |
|
|
195 |
|
|
196 |
call nf95_inq_varid(ncid_startphy, "trs", varid) |
call nf95_inq_varid(ncid_startphy, "trs", varid) |
197 |
call nf95_get_var(ncid_startphy, varid, trs(:, 1)) |
call nf95_get_var(ncid_startphy, varid, trs(:, 1)) |
198 |
|
if (any(trs(:, 1) == NF90_FILL_float)) call abort_gcm("phytrac", & |
199 |
|
"some missing values in trs(:, 1)") |
200 |
|
|
201 |
! Initialisation de la fraction d'aerosols lessivee |
! Initialisation de la fraction d'aerosols lessivee |
202 |
|
|
234 |
! Tiedke |
! Tiedke |
235 |
CALL nflxtr(pdtphys, pmfu, pmfd, pde_u, pen_d, paprs, & |
CALL nflxtr(pdtphys, pmfu, pmfd, pde_u, pen_d, paprs, & |
236 |
tr_seri(:, :, it), d_tr_cv(:, :, it)) |
tr_seri(:, :, it), d_tr_cv(:, :, it)) |
237 |
else if (iflag_con == 3) then |
else |
238 |
|
! iflag_con >= 3 |
239 |
! Emanuel |
! Emanuel |
240 |
call cvltr(pdtphys, da, phi, mp, paprs, tr_seri(:, :, it), upwd, & |
call cvltr(pdtphys, da, phi, mp, paprs, tr_seri(:, :, it), upwd, & |
241 |
dnwd, d_tr_cv(:, :, it)) |
dnwd, d_tr_cv(:, :, it)) |
411 |
|
|
412 |
! From phylmd/write_histrac.h, version 1.9 2006/02/21 08:08:30 |
! From phylmd/write_histrac.h, version 1.9 2006/02/21 08:08:30 |
413 |
|
|
|
use dimens_m, only: iim, jjm, llm |
|
|
use histsync_m, only: histsync |
|
414 |
use histwrite_m, only: histwrite |
use histwrite_m, only: histwrite |
|
use temps, only: itau_phy |
|
415 |
use iniadvtrac_m, only: tname |
use iniadvtrac_m, only: tname |
|
use dimphy, only: klon |
|
|
use grid_change, only: gr_phy_write_2d |
|
416 |
use gr_phy_write_3d_m, only: gr_phy_write_3d |
use gr_phy_write_3d_m, only: gr_phy_write_3d |
417 |
|
|
418 |
logical, intent(in):: lessivage |
logical, intent(in):: lessivage |