25 REAL,
DIMENSION(:,:,:),
ALLOCATABLE,
SAVE ::
d_tr_cl
26 REAL,
DIMENSION(:,:,:),
ALLOCATABLE,
SAVE ::
d_tr_dec
27 REAL,
DIMENSION(:,:,:),
ALLOCATABLE,
SAVE ::
d_tr_cv
32 REAL,
DIMENSION(:,:,:),
ALLOCATABLE,
SAVE ::
d_tr_ls
35 REAL,
DIMENSION(:,:,:),
ALLOCATABLE,
SAVE ::
d_tr_sat
37 REAL,
DIMENSION(:,:,:),
ALLOCATABLE,
SAVE ::
qpr,
qdi
38 REAL,
DIMENSION(:,:,:),
ALLOCATABLE,
SAVE ::
qpa,
qmel
41 REAL,
DIMENSION(:,:,:),
ALLOCATABLE,
SAVE ::
d_tr_th
44 REAL,
DIMENSION(:,:),
ALLOCATABLE,
SAVE ::
qprls
45 REAL,
DIMENSION(:,:),
ALLOCATABLE,
SAVE ::
d_tr_dry
57 nstep, julien, gmtime, debutphy, &
60 pen_u, pde_u, pen_d, pde_d, &
61 cdragh, coefh, fm_therm, entr_therm, &
62 yu1, yv1, ftsol, pctsrf, &
64 wstar, ale_bl, ale_wake, &
66 frac_impa,frac_nucl,beta_fisrt,beta_v1, &
68 sh, rh, cldfra, rneb, &
69 diafra, cldliq, itop_con, ibas_con, &
70 pmflxr, pmflxs, prfl, psfl, &
72 phi2, d1a, dam, sij, wght_cvfd, &
73 wdtraina, wdtrainm,
sigd, clw, elij, &
74 evap, ep, epmlmmm, eplamm, &
75 dnwd, aerosol_couple, flxmass_w, &
76 tau_aero, piz_aero, cg_aero, ccm, &
108 include
"thermcell.h"
116 INTEGER,
INTENT(IN) :: nstep
117 INTEGER,
INTENT(IN) :: julien
118 REAL,
INTENT(IN) :: gmtime
119 REAL,
INTENT(IN) :: pdtphys
120 LOGICAL,
INTENT(IN) :: debutphy
121 LOGICAL,
INTENT(IN) :: lafin
123 REAL,
DIMENSION(klon),
INTENT(IN) :: xlat
124 REAL,
DIMENSION(klon),
INTENT(IN) :: xlon
128 REAL,
DIMENSION(klon,klev),
INTENT(IN) :: t_seri
129 REAL,
DIMENSION(klon,klev),
INTENT(IN) :: u
130 REAL,
DIMENSION(klon,klev),
INTENT(IN) :: v
131 REAL,
DIMENSION(klon,klev),
INTENT(IN) :: sh
132 REAL,
DIMENSION(klon,klev),
INTENT(IN) :: rh
133 REAL,
DIMENSION(klon,klev+1),
INTENT(IN) :: paprs
134 REAL,
DIMENSION(klon,klev),
INTENT(IN) :: pplay
135 REAL,
DIMENSION(klon,klev),
INTENT(IN) :: pphi
136 REAL,
DIMENSION(klon),
INTENT(IN) :: pphis
137 REAL,
DIMENSION(klev),
INTENT(IN) :: presnivs
138 REAL,
DIMENSION(klon,klev),
INTENT(IN) :: cldliq
139 REAL,
DIMENSION(klon,klev),
INTENT(IN) :: cldfra
140 REAL,
DIMENSION(klon,klev),
INTENT(IN) :: diafra
141 REAL,
DIMENSION(klon,klev),
INTENT(IN) :: rneb
144 REAL,
DIMENSION(klon,klev),
INTENT(IN) :: beta_fisrt
145 REAL,
DIMENSION(klon,klev),
INTENT(out) :: beta_v1
148 INTEGER,
DIMENSION(klon),
INTENT(IN) :: itop_con
149 INTEGER,
DIMENSION(klon),
INTENT(IN) :: ibas_con
150 REAL,
DIMENSION(klon),
INTENT(IN) :: albsol
154 REAL,
DIMENSION(klon,klev,nbtr),
INTENT(IN) :: d_tr_dyn
158 REAL,
DIMENSION(klon,klev),
INTENT(IN) :: pmfu
159 REAL,
DIMENSION(klon,klev),
INTENT(IN) :: pmfd
160 REAL,
DIMENSION(klon,klev),
INTENT(IN) :: pen_u
161 REAL,
DIMENSION(klon,klev),
INTENT(IN) :: pde_u
162 REAL,
DIMENSION(klon,klev),
INTENT(IN) :: pen_d
163 REAL,
DIMENSION(klon,klev),
INTENT(IN) :: pde_d
166 REAL,
DIMENSION(klon,klev+1),
INTENT(IN) :: pmflxr, pmflxs
167 REAL,
DIMENSION(klon,klev+1),
INTENT(IN) :: prfl, psfl
169 LOGICAL,
INTENT(IN) :: aerosol_couple
170 REAL,
DIMENSION(klon,klev),
INTENT(IN) :: flxmass_w
171 REAL,
DIMENSION(klon,klev,naero_grp,2),
INTENT(IN) :: tau_aero
172 REAL,
DIMENSION(klon,klev,naero_grp,2),
INTENT(IN) :: piz_aero
173 REAL,
DIMENSION(klon,klev,naero_grp,2),
INTENT(IN) :: cg_aero
174 CHARACTER(len=4),
DIMENSION(naero_grp),
INTENT(IN) :: rfname
175 REAL,
DIMENSION(klon,klev,2),
INTENT(IN) :: ccm
177 REAL,
DIMENSION(klon,klev),
INTENT(IN) :: da
178 REAL,
DIMENSION(klon,klev,klev),
INTENT(IN):: phi
180 REAL,
DIMENSION(klon,klev),
INTENT(IN) :: d1a,dam
181 REAL,
DIMENSION(klon,klev,klev),
INTENT(IN) :: phi2
183 REAL,
DIMENSION(klon,klev),
INTENT(IN) :: wdtrainA
184 REAL,
DIMENSION(klon,klev),
INTENT(IN) :: wdtrainM
185 REAL,
DIMENSION(klon),
INTENT(IN) :: sigd
187 REAL,
DIMENSION(klon,klev),
INTENT(IN) :: evap
188 REAL,
DIMENSION(klon,klev),
INTENT(IN) :: ep
189 REAL,
DIMENSION(klon,klev,klev),
INTENT(IN) :: sij
190 REAL,
DIMENSION(klon,klev),
INTENT(IN) :: wght_cvfd
191 REAL,
DIMENSION(klon,klev,klev),
INTENT(IN) :: elij
192 REAL,
DIMENSION(klon,klev,klev),
INTENT(IN) :: epmlmMm
193 REAL,
DIMENSION(klon,klev),
INTENT(IN) :: eplaMm
194 REAL,
DIMENSION(klon,klev),
INTENT(IN) :: clw
198 REAL,
DIMENSION(klon,klev),
INTENT(IN) :: mp
199 REAL,
DIMENSION(klon,klev),
INTENT(IN) :: upwd
200 REAL,
DIMENSION(klon,klev),
INTENT(IN) :: dnwd
204 REAL,
DIMENSION(klon,klev+1),
INTENT(IN) :: fm_therm
205 REAL,
DIMENSION(klon,klev),
INTENT(IN) :: entr_therm
211 REAL,
DIMENSION(:),
INTENT(IN) :: cdragh
212 REAL,
DIMENSION(:,:),
INTENT(IN) :: coefh
213 REAL,
DIMENSION(:),
INTENT(IN) :: ustar,u10m,v10m
214 REAL,
DIMENSION(:),
INTENT(IN) :: wstar,ale_bl,ale_wake
215 REAL,
DIMENSION(:),
INTENT(IN) :: yu1
216 REAL,
DIMENSION(:),
INTENT(IN) :: yv1
222 REAL,
DIMENSION(:),
ALLOCATABLE,
SAVE :: ccntrAA
223 REAL,
DIMENSION(:),
ALLOCATABLE,
SAVE :: ccntrENV
224 REAL,
DIMENSION(:),
ALLOCATABLE,
SAVE :: coefcoli
225 LOGICAL,
DIMENSION(:),
ALLOCATABLE,
SAVE :: flag_cvltr
227 REAL,
DIMENSION(klon,klev) :: ccntrAA_3d
228 REAL,
DIMENSION(klon,klev) :: ccntrENV_3d
229 REAL,
DIMENSION(klon,klev) :: coefcoli_3d
233 REAL,
DIMENSION(klon,klev),
INTENT(IN) :: frac_impa
234 REAL,
DIMENSION(klon,klev),
INTENT(IN) :: frac_nucl
237 REAL,
DIMENSION(klon,nbsrf),
INTENT(IN) :: ftsol
238 REAL,
DIMENSION(klon,nbsrf),
INTENT(IN) :: pctsrf
243 REAL,
DIMENSION(klon,klev,nbtr),
INTENT(INOUT) :: tr_seri
244 REAL,
DIMENSION(klon,klev) :: sourceBE
255 REAL,
DIMENSION(:,:),
ALLOCATABLE,
SAVE :: source
262 INTEGER :: nhori, nvert
263 REAL :: zsto, zout, zjulian
264 INTEGER,
SAVE :: nid_tra
266 REAL,
DIMENSION(klon) :: zx_tmp_fi2d
268 LOGICAL,
PARAMETER :: ok_sync=.
true.
273 LOGICAL,
DIMENSION(:),
ALLOCATABLE,
SAVE :: aerosol
275 REAL,
DIMENSION(klon,klev) :: delp
279 REAL,
DIMENSION(klon,klev) :: d_tr
280 REAL,
DIMENSION(klon,klev) :: Mint
281 REAL,
DIMENSION(klon,klev,nbtr) :: zmfd1a
282 REAL,
DIMENSION(klon,klev,nbtr) :: zmfdam
283 REAL,
DIMENSION(klon,klev,nbtr) :: zmfphi2
286 REAL,
DIMENSION(klon,klev,nbtr) :: flestottr
287 REAL,
DIMENSION(klon,klev) :: zmasse
288 REAL,
DIMENSION(klon,klev) :: ztra_th
290 REAL,
DIMENSION(klon,klev) :: zrho
291 REAL,
DIMENSION(klon,klev) :: zdz
292 REAL :: evaplsc,dx,beta
293 REAL,
DIMENSION(klon) :: his_dh
295 REAL :: ql_incloud_ref
299 INTEGER,
SAVE :: iflag_vdf_trac,iflag_con_trac,iflag_the_trac
300 INTEGER,
SAVE :: iflag_con_trac_omp, iflag_vdf_trac_omp,iflag_the_trac_omp
303 LOGICAL,
SAVE :: lessivage
307 INTEGER,
SAVE :: iflag_lscav_omp,iflag_lscav
308 REAL,
SAVE :: ccntrAA_in,ccntrAA_omp
309 REAL,
SAVE :: ccntrENV_in,ccntrENV_omp
310 REAL,
SAVE :: coefcoli_in,coefcoli_omp
312 LOGICAL,
SAVE :: convscav_omp,convscav
373 delp(i,k) = paprs(i,k)-paprs(i,k+1)
391 call getin(
'convscav', convscav_omp)
393 call getin(
'iflag_vdf_trac', iflag_vdf_trac_omp)
395 call getin(
'iflag_con_trac', iflag_con_trac_omp)
397 call getin(
'iflag_the_trac', iflag_the_trac_omp)
400 convscav=convscav_omp
401 iflag_vdf_trac=iflag_vdf_trac_omp
402 iflag_con_trac=iflag_con_trac_omp
403 iflag_the_trac=iflag_the_trac_omp
404 write(
lunout,*)
'phytrac passage dans routine conv avec lessivage', convscav
414 call getin(
'iflag_lscav', iflag_lscav_omp)
418 call getin(
'ccntrAA', ccntraa_omp)
419 call getin(
'ccntrENV', ccntrenv_omp)
420 call getin(
'coefcoli', coefcoli_omp)
423 iflag_lscav=iflag_lscav_omp
424 ccntraa_in=ccntraa_omp
425 ccntrenv_in=ccntrenv_omp
426 coefcoli_in=coefcoli_omp
428 SELECT CASE(iflag_lscav)
430 WRITE(
lunout,*)
'Large scale scavenging: none'
432 WRITE(
lunout,*)
'Large scale scavenging: C. Genthon, Tellus(1992), 44B, 371-389'
434 WRITE(
lunout,*)
'Large scale scavenging: C. Genthon, modified P. Heinrich'
436 WRITE(
lunout,*)
'Large scale scavenging: M. Shekkar Reddy and O. Boucher, JGR(2004), 109, D14202'
438 WRITE(
lunout,*)
'Large scale scavenging: Reddy and Boucher, modified R. Pilon'
441 WRITE(*,*)
'FIRST TIME IN PHYTRAC : pdtphys(sec) = ',pdtphys,
'ecrit_tra (sec) = ',ecrit_tra
442 ALLOCATE( source(
klon,
nbtr), stat=ierr)
443 IF (ierr /= 0)
CALL abort_physic(
'phytrac',
'pb in allocation 1',1)
445 ALLOCATE( aerosol(
nbtr), stat=ierr)
446 IF (ierr /= 0)
CALL abort_physic(
'phytrac',
'pb in allocation 2',1)
452 CALL traclmdz_init(pctsrf,xlat,xlon,ftsol,tr_seri,t_seri,pplay,sh,pdtphys,aerosol,lessivage)
463 ALLOCATE(flag_cvltr(
nbtr))
466 ALLOCATE(ccntraa(
nbtr))
467 ALLOCATE(ccntrenv(
nbtr))
468 ALLOCATE(coefcoli(
nbtr))
473 IF (convscav.and.aerosol(it))
THEN
474 flag_cvltr(it)=.
true.
475 ccntraa(it) =ccntraa_in
476 ccntrenv(it)=ccntrenv_in
477 coefcoli(it)=coefcoli_in
479 flag_cvltr(it)=.
false.
505 flag_cvltr(it)=.
false.
510 flag_cvltr(:) = .
false.
521 WRITE(
lunout,*)
'print out all tracer flags'
524 WRITE(
lunout,*)
'iflag_con_trac =', iflag_con_trac
526 WRITE(
lunout,*)
'convscav =', convscav
527 WRITE(
lunout,*)
'iflag_lscav =', iflag_lscav
528 WRITE(
lunout,*)
'aerosol =', aerosol
529 WRITE(
lunout,*)
'iflag_the_trac =', iflag_the_trac
531 WRITE(
lunout,*)
'iflag_vdf_trac =', iflag_vdf_trac
533 WRITE(
lunout,*)
'lessivage =', lessivage
534 write(
lunout,*)
'flag_cvltr = ', flag_cvltr
537 CALL abort_physic(
'phytrac',
'lessivage=T config_inca=inca impossible',1)
546 zmasse(i,k)=(paprs(i,k)-paprs(i,k+1))/
rg
550 IF (
id_be .GT. 0)
THEN
553 sourcebe(i,k)=
srcbe(i,k)
565 CALL traclmdz(nstep, julien, gmtime, pdtphys, t_seri, paprs, pplay, &
566 cdragh, coefh, yu1, yv1, ftsol, pctsrf, xlat, xlon,iflag_vdf_trac>=0,sh, &
567 rh, pphi, ustar, wstar, ale_bl, ale_wake, u10m, v10m, &
574 nstep, julien, gmtime, lafin, &
575 pdtphys, t_seri, paprs, pplay, &
576 pmfu, upwd, ftsol, pctsrf, pphis, &
577 pphi, albsol, sh, rh, &
578 cldfra, rneb, diafra, cldliq, &
579 itop_con, ibas_con, pmflxr, pmflxs, &
580 prfl, psfl, aerosol_couple, flxmass_w, &
581 tau_aero, piz_aero, cg_aero, ccm, &
589 presnivs, xlat, xlon, pphis, pphi, &
590 t_seri, pplay, paprs, sh , &
598 IF (iflag_con_trac==1)
THEN
609 CALL nflxtr(pdtphys, pmfu, pmfd, pen_u, pde_u, pen_d, pde_d, &
610 pplay, paprs, tr_seri(:,:,it),
d_tr_cv(:,:,it))
614 IF (flag_cvltr(it))
THEN
618 ccntraa_3d(:,:) =ccntraa(it)
619 ccntrenv_3d(:,:)=ccntrenv(it)
620 coefcoli_3d(:,:)=coefcoli(it)
625 print*,
'CV SCAV ',it,ccntraa(it),ccntrenv(it)
627 CALL cvltr_scav(pdtphys, da, phi,phi2,d1a,dam, mp,ep, &
628 sigd,sij,wght_cvfd,clw,elij,epmlmmm,eplamm, &
629 pmflxr,pmflxs,evap,t_seri,wdtraina,wdtrainm, &
630 paprs,it,tr_seri,upwd,dnwd,itop_con,ibas_con, &
631 ccntraa_3d,ccntrenv_3d,coefcoli_3d, &
634 zmfd1a,zmfphi2,zmfdam)
643 CALL cvltr_noscav(it,pdtphys, da, phi,mp,wght_cvfd,paprs,pplay, &
654 tr_seri(i,k,it) = tr_seri(i,k,it) +
d_tr_cv(i,k,it)
658 CALL minmaxqfi(tr_seri(:,:,it),0.,1.e33,
'convection it = '//
solsym(it))
672 tr_seri(i,k,it)=max(tr_seri(i,k,it),0.)
673 tr_seri(i,k,it)=min(tr_seri(i,k,it),1.e10)
689 tr_seri(i,k,it)=max(tr_seri(i,k,it)+
d_tr_th(i,k,it),0.)
701 IF (iflag_vdf_trac==1)
THEN
709 CALL cltrac(pdtphys, coefh,t_seri, &
710 tr_seri(:,:,it), source(:,it), &
711 paprs, pplay, delp, &
714 tr_seri(:,:,it)=tr_seri(:,:,it)+
d_tr_cl(:,:,it)
720 ELSE IF (iflag_vdf_trac==0)
THEN
725 d_tr_cl(:,1,it)=source(:,it)*
rg/delp(:,1)*pdtphys
726 tr_seri(:,1,it)=tr_seri(:,1,it)+
d_tr_cl(:,1,it)
730 ELSE IF (iflag_vdf_trac==-1)
THEN
749 ql_incloud_ref = 10.e-4
750 ql_incloud_ref = 5.e-4
754 ql_incl = ql_incloud_ref
757 IF (iflag_lscav .EQ. 3 .OR. iflag_lscav .EQ. 4)
THEN
762 IF (aerosol(it))
THEN
769 CALL lsc_scav(pdtphys,it,iflag_lscav,aerosol,ql_incl,prfl,psfl,rneb,beta_fisrt, &
771 beta_v1,pplay,paprs,t_seri,tr_seri,
d_tr_insc, &
778 tr_seri(i,k,it)=tr_seri(i,k,it)+
d_tr_ls(i,k,it)
786 ELSE IF (iflag_lscav .EQ. 2)
THEN
791 flestottr(:,:,:) = 0.
794 IF (aerosol(it))
THEN
799 zrho(i,k)=pplay(i,k)/t_seri(i,k)/rd
800 zdz(i,k)=(paprs(i,k)-paprs(i,k+1))/zrho(i,k)/
rg
809 his_dh(i)=his_dh(i)-dx*zrho(i,k)*zdz(i,k)/pdtphys
810 evaplsc = prfl(i,k) - prfl(i,k+1) + psfl(i,k) - psfl(i,k+1)
812 IF ( evaplsc .LT.0..and.abs(prfl(i,k+1)+psfl(i,k+1)).gt.1.e-10)
THEN
813 evaplsc = (-evaplsc)/(prfl(i,k+1)+psfl(i,k+1))
820 if ((prfl(i,k)+psfl(i,k)).lt.1.e-10)
THEN
823 dx=beta*his_dh(i)/zrho(i,k)/zdz(i,k)*pdtphys
824 his_dh(i)=(1.-beta)*his_dh(i)
827 d_tr_ls(i,k,it)=tr_seri(i,k,it)*(frac_impa(i,k)*frac_nucl(i,k)-1.) &
832 ( 1 - frac_nucl(i,k) )*tr_seri(i,k,it)
834 ( 1 - frac_impa(i,k) )*tr_seri(i,k,it)
837 flestottr(i,k,it) = flestottr(i,k,it) - &
840 ( paprs(i,k)-paprs(i,k+1) ) / &
854 ELSE IF (iflag_lscav .EQ. 1)
THEN
859 flestottr(:,:,:) = 0.
867 IF (aerosol(it))
THEN
871 ( 1 - frac_nucl(i,k) )*tr_seri(i,k,it)
873 ( 1 - frac_impa(i,k) )*tr_seri(i,k,it)
878 flestottr(i,k,it) = flestottr(i,k,it) - &
881 ( paprs(i,k)-paprs(i,k+1) ) / &
886 tr_seri(i,k,it)=tr_seri(i,k,it)*frac_impa(i,k)*frac_nucl(i,k)
character(len=8), dimension(:), allocatable, save solsym
real, dimension(:,:,:), allocatable, save d_tr_trsp
subroutine traclmdz_init(pctsrf, xlat, xlon, ftsol, tr_seri, t_seri, pplay, sh, pdtphys, aerosol, lessivage)
subroutine lsc_scav(pdtime, it, iflag_lscav,
character(len=4), save config_inca
!$Id ok_orolf LOGICAL ok_limitvrai LOGICAL ok_all_xml INTEGER iflag_con
real, dimension(:,:,:), allocatable, save qpr
real, dimension(:,:,:), allocatable, save d_tr_cv
real, dimension(:,:,:), allocatable, save d_tr_lessi_nucl
subroutine cvltr_noscav(it, pdtime, da, phi, mp, wght_cvfd, paprs, pplay, x, upd, dnd, dx)
subroutine cltrac(dtime, coef, t, tr, flux, paprs, pplay, delp, d_tr, d_tr_dry, flux_tr_dry)
real, dimension(:,:,:), allocatable, save d_tr_cl
real, dimension(:,:,:), allocatable, save d_tr_dec
real, dimension(:,:), allocatable, save flux_tr_dry
integer, dimension(:), allocatable, save conv_flg
subroutine nflxtr(pdtime, pmfu, pmfd, pen_u, pde_u, pen_d, pde_d, pplay, paprs, x, dx)
real, dimension(:,:,:), allocatable, save d_tr_bcscav
real, dimension(:,:,:), allocatable, save qdi
integer, dimension(:), allocatable, save pbl_flg
real, dimension(:,:,:), allocatable, save d_tr_evapls
subroutine traclmdz(nstep, julien, gmtime, pdtphys, t_seri, paprs, pplay, cdragh, coefh, yu1, yv1, ftsol, pctsrf, xlat, xlon, couchelimite, sh, rh, pphi, ustar, wstar, ale_bl, ale_wake, zu10m, zv10m, tr_seri, source, d_tr_cl, d_tr_dec, zmasse)
real, dimension(:,:,:), allocatable, save d_tr_uscav
!$Id itapm1 ENDIF!IM on interpole les champs sur les niveaux STD de pression!IM a chaque pas de temps de la physique c!positionnement de l argument logique a false c!pour ne pas recalculer deux fois la meme chose!c!a cet effet un appel a plevel_new a ete deplace c!a la fin de la serie d appels c!la boucle DO nlevSTD a ete internalisee c!dans d ou la creation de cette routine c c!CALL false
subroutine tracinca_init(aerosol, lessivage)
real, dimension(:,:,:), allocatable, save d_tr_sscav
real, dimension(:,:), allocatable, save srcbe
real, dimension(:,:,:), allocatable, save qpa
!$Id itapm1 ENDIF!IM on interpole les champs sur les niveaux STD de pression!IM a chaque pas de temps de la physique c!positionnement de l argument logique a false c!pour ne pas recalculer deux fois la meme chose!c!a cet effet un appel a plevel_new a ete deplace c!a la fin de la serie d appels c!la boucle DO nlevSTD a ete internalisee c!dans d ou la creation de cette routine c c!CALL pplay
real, dimension(:,:,:), allocatable, save d_tr_insc
!$Id itapm1 ENDIF!IM on interpole les champs sur les niveaux STD de pression!IM a chaque pas de temps de la physique c!positionnement de l argument logique a false c!pour ne pas recalculer deux fois la meme chose!c!a cet effet un appel a plevel_new a ete deplace c!a la fin de la serie d appels c!la boucle DO nlevSTD a ete internalisee c!dans d ou la creation de cette routine c c!CALL ulevSTD CALL &zphi philevSTD CALL &zx_rh rhlevSTD!DO klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon du jour ou toutes les read_climoz CALL &zphi geo500!IM on interpole a chaque pas de temps le paprs
!$Id Turb_fcg_gcssold get_uvd hqturb_gcssold endif!large scale llm day day1 day day1 *dt_toga endif!time annee_ref dt_toga u_toga vq_toga w_prof vq_prof llm u(l)
real, dimension(:,:,:), allocatable, save d_tr_th
!$Id itapm1 ENDIF!IM on interpole les champs sur les niveaux STD de pression!IM a chaque pas de temps de la physique c!positionnement de l argument logique a false c!pour ne pas recalculer deux fois la meme chose!c!a cet effet un appel a plevel_new a ete deplace c!a la fin de la serie d appels c!la boucle DO nlevSTD a ete internalisee c!dans d ou la creation de cette routine c c!CALL ulevSTD CALL &zphi philevSTD CALL &zx_rh rhlevSTD!DO klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon klev DO klon du jour ou toutes les read_climoz CALL true
nsplit_thermals!nrlmd le iflag_clos_bl tau_trig_deep real::s_trig!fin nrlmd le fact_thermals_ed_dz iflag_wake iflag_thermals_closure common ctherm1 iflag_thermals
real, dimension(:,:), allocatable, save qprls
subroutine thermcell_dq(ngrid, nlay, impl, ptimestep, fm, entr, masse, q, dq, qa, lev_out)
!$Id zjulian!correction pour l heure initiale!jyg!jyg CALL pdtphys
subroutine tracinca(nstep, julien, gmtime, lafin, pdtphys, t_seri, paprs, pplay, pmfu, upwd, ftsol, pctsrf, pphis, pphi, albsol, sh, rh, cldfra, rneb, diafra, cldliq, itop_con, ibas_con, pmflxr, pmflxs, prfl, psfl, aerosol_couple, flxmass_w, tau_aero, piz_aero, cg_aero, ccm, rfname, tr_seri, source)
character(len=4), save type_trac
real, dimension(:,:,:), allocatable, save dtrcvma
logical, save is_mpi_root
subroutine minmaxqfi(zq, qmin, qmax, comment)
subroutine abort_physic(modname, message, ierr)
subroutine cvltr_scav(pdtime, da, phi, phi2, d1a, dam, mpIN, epIN, sigd, sij, wght_cvfd, clw, elij, epmlmMm, eplaMm, pmflxrIN, pmflxsIN, ev, te, wdtrainA, wdtrainM, paprs, it, tr, upd, dnd, inb, icb, ccntrAA_3d, ccntrENV_3d, coefcoli_3d, dtrcv, trsptd, dtrSscav, dtrsat, dtrUscav, qDi, qPr, qPa, qMel, qTrdi, dtrcvMA, Mint, zmfd1a, zmfphi2, zmfdam)
real, dimension(:,:,:), allocatable, save d_tr_sat
real, dimension(:,:,:), allocatable, save d_tr_ls
subroutine phytrac(nstep, julien, gmtime, debutphy, lafin, pdtphys, u, v, t_seri, paprs, pplay, pmfu, pmfd, pen_u, pde_u, pen_d, pde_d, cdragh, coefh, fm_therm, entr_therm, yu1, yv1, ftsol, pctsrf, ustar, u10m, v10m, wstar, ale_bl, ale_wake, xlat, xlon, frac_impa, frac_nucl, beta_fisrt, beta_v1, presnivs, pphis, pphi, albsol, sh, rh, cldfra, rneb, diafra, cldliq, itop_con, ibas_con, pmflxr, pmflxs, prfl, psfl, da, phi, mp, upwd, phi2, d1a, dam, sij, wght_cvfd, wdtrainA, wdtrainM, sigd, clw, elij, evap, ep, epmlmMm, eplaMm, dnwd, aerosol_couple, flxmass_w, tau_aero, piz_aero, cg_aero, ccm, rfname, d_tr_dyn, tr_seri)
!$Id!Parameters for nlm real sigd
integer, parameter naero_grp
subroutine tracreprobus(pdtphys, gmtime, debutphy, julien, presnivs, xlat, xlon, pphis, pphi, t_seri, pplay, paprs, sh, tr_seri)
real, dimension(:,:,:), allocatable, save qmel
!$Header!gestion des impressions de sorties et de débogage la sortie standard prt_level COMMON comprint lunout
real, dimension(:,:,:), allocatable, save d_tr_lessi_impa
real, dimension(:,:), allocatable, save d_tr_dry
real, dimension(:,:,:), allocatable, save qtrdi