7 SUBROUTINE clouds_bigauss(klon, nd, r, rs, qtc, sigt, ptconv, ratqsc, cldf)
30 REAL r(klon, nd), rs(klon, nd), qtc(klon, nd), sigt(klon, nd)
31 LOGICAL ptconv(klon, nd)
43 REAL epsilon, vmax0, vmax(klon)
51 REAL sigma1, sigma2, alpha, qconv
61 cldf(1:klon, 1:nd) = 0.0
62 ratqsc(1:klon, 1:nd) = 0.0
63 ptconv(1:klon, 1:nd) = .
false.
78 qsat = max(qsat, min_mu)
84 ptconv(i, k) = .
false.
91 sigma1=0.1*((qconv-mu)**2)**0.5+0.002*mu
92 sigma2=0.1*((qconv-mu)**2)**0.5+0.002*qconv
99 xconv=(qsat-qconv)/(sqrt(2.)*sigma2)
100 xenv=(qsat-mu)/(sqrt(2.)*sigma1)
102 cconv=0.5*(1.-1.*erf(xconv))
103 cenv=0.5*(1.-1.*erf(xenv))
104 cldf(i,k)=alpha*cconv+(1.-1.*alpha)*cenv
105 ratqsc(i,k)= alpha*sigma1+(1.-1.*alpha)*sigma2
!$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
!$Header!integer nvarmx parameter(nfmx=10, imx=200, jmx=150, lmx=200, nvarmx=1000) real xd(imx
!$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
subroutine clouds_bigauss(klon, nd, r, rs, qtc, sigt, ptconv, ratqsc, cldf)