8 |
d_ql, rneb, radliq, rain, snow, pfrac_impa, pfrac_nucl, pfrac_1nucl, & |
d_ql, rneb, radliq, rain, snow, pfrac_impa, pfrac_nucl, pfrac_1nucl, & |
9 |
frac_impa, frac_nucl, prfl, psfl, rhcl) |
frac_impa, frac_nucl, prfl, psfl, rhcl) |
10 |
|
|
11 |
! From phylmd/fisrtilp.F, version 1.2 2004/11/09 16:55:40 |
! From phylmd/fisrtilp.F, version 1.2, 2004/11/09 16:55:40 |
12 |
! First author: Z. X. Li (LMD/CNRS), 20 mars 1995 |
! First author: Z. X. Li (LMD/CNRS), 20 mars 1995 |
|
! Other authors: Olivier, AA, IM, YM, MAF |
|
13 |
|
|
14 |
! Objet : condensation et pr\'ecipitation stratiforme, sch\'ema de |
! Objet : condensation et pr\'ecipitation stratiforme, sch\'ema de |
15 |
! nuage, sch\'ema de condensation \`a grande \'echelle (pluie). |
! nuage, sch\'ema de condensation \`a grande \'echelle (pluie). |
22 |
USE suphec_m, ONLY: rcpd, rd, retv, rg, rlstt, rlvtt, rtt |
USE suphec_m, ONLY: rcpd, rd, retv, rg, rlstt, rlvtt, rtt |
23 |
USE yoethf_m, ONLY: r2es, r5ies, r5les, rvtmp2 |
USE yoethf_m, ONLY: r2es, r5ies, r5les, rvtmp2 |
24 |
|
|
|
! Arguments: |
|
|
|
|
25 |
REAL, INTENT (IN):: dtime ! intervalle du temps (s) |
REAL, INTENT (IN):: dtime ! intervalle du temps (s) |
26 |
REAL, INTENT (IN):: paprs(klon, klev+1) ! pression a inter-couche |
REAL, INTENT (IN):: paprs(klon, klev+1) ! pression a inter-couche |
27 |
REAL, INTENT (IN):: pplay(klon, klev) ! pression au milieu de couche |
REAL, INTENT (IN):: pplay(klon, klev) ! pression au milieu de couche |
359 |
zcl(i) = cld_lc_lsc |
zcl(i) = cld_lc_lsc |
360 |
zct(i) = 1./cld_tau_lsc |
zct(i) = 1./cld_tau_lsc |
361 |
END IF |
END IF |
362 |
! quantit\'e d'eau \`a \'elminier. |
! quantit\'e d'eau \`a \'eliminer |
363 |
zchau(i) = zct(i)*dtime/real(ninter)*zoliq(i)* & |
zchau(i) = zct(i)*dtime/real(ninter)*zoliq(i)* & |
364 |
(1.0-exp(-(zoliq(i)/zneb(i)/zcl(i))**2))*(1.-zfice(i)) |
(1.0-exp(-(zoliq(i)/zneb(i)/zcl(i))**2))*(1.-zfice(i)) |
365 |
! meme chose pour la glace. |
! m\^eme chose pour la glace |
366 |
IF (ptconv(i, k)) THEN |
IF (ptconv(i, k)) THEN |
367 |
zfroi(i) = dtime/real(ninter)/zdz(i)*zoliq(i)* & |
zfroi(i) = dtime/real(ninter)/zdz(i)*zoliq(i)* & |
368 |
fallvc(zrhol(i))*zfice(i) |
fallvc(zrhol(i))*zfice(i) |
392 |
END IF |
END IF |
393 |
END DO |
END DO |
394 |
|
|
395 |
! Calculer les tendances de q et de t: |
! Calculer les tendances de q et de t : |
396 |
DO i = 1, klon |
DO i = 1, klon |
397 |
d_q(i, k) = zq(i) - q(i, k) |
d_q(i, k) = zq(i) - q(i, k) |
398 |
d_t(i, k) = zt(i) - t(i, k) |
d_t(i, k) = zt(i) - t(i, k) |
400 |
|
|
401 |
! Calcul du lessivage stratiforme |
! Calcul du lessivage stratiforme |
402 |
DO i = 1, klon |
DO i = 1, klon |
403 |
zprec_cond(i) = max(zcond(i)-zoliq(i), 0.0)* & |
zprec_cond(i) = max(zcond(i) - zoliq(i), 0.0) & |
404 |
(paprs(i, k)-paprs(i, k+1))/rg |
* (paprs(i, k)-paprs(i, k+1))/rg |
405 |
IF (rneb(i, k)>0.0 .AND. zprec_cond(i)>0.) THEN |
IF (rneb(i, k)>0.0 .AND. zprec_cond(i)>0.) THEN |
406 |
! lessivage nucleation LMD5 dans la couche elle-meme |
! lessivage nucleation LMD5 dans la couche elle-meme |
407 |
IF (t(i, k)>=ztglace) THEN |
IF (t(i, k)>=ztglace) THEN |