--- trunk/libf/phylmd/diagcld2.f90 2011/09/23 12:28:01 52 +++ trunk/Sources/phylmd/diagcld2.f 2016/09/01 10:30:53 207 @@ -9,7 +9,7 @@ USE dimphy, ONLY : klev, klon USE suphec_m, ONLY : rcpd, rd, retv, rtt USE yoethf_m, ONLY : r2es - USE fcttre, ONLY : foeew, qsatl, qsats, thermcep + USE fcttre, ONLY : foeew, qsatl, qsats ! Arguments d'entree: REAL, intent(in):: paprs(klon, klev+1) ! pression (Pa) a inter-couche @@ -28,13 +28,11 @@ PARAMETER (RGAMMAS=0.05) REAL CRHL PARAMETER (CRHL=0.15) - REAL t_coup - PARAMETER (t_coup=234.0) ! Variables locales: INTEGER i, k, kb, invb(klon) REAL zqs, zrhb, zcll, zdthmin(klon), zdthdp - REAL zdelta, zcor + REAL zcor !----------------------------------------------------------- @@ -66,19 +64,10 @@ DO i = 1, klon kb=invb(i) - IF (thermcep) THEN - zdelta=MAX(0., SIGN(1., RTT-t(i, kb))) - zqs= R2ES*FOEEW(t(i, kb), zdelta)/pplay(i, kb) - zqs=MIN(0.5, zqs) - zcor=1./(1.-RETV*zqs) - zqs=zqs*zcor - ELSE - IF (t(i, kb) < t_coup) THEN - zqs = qsats(t(i, kb)) / pplay(i, kb) - ELSE - zqs = qsatl(t(i, kb)) / pplay(i, kb) - ENDIF - ENDIF + zqs= R2ES*FOEEW(t(i, kb), RTT >= t(i, kb))/pplay(i, kb) + zqs=MIN(0.5, zqs) + zcor=1./(1.-RETV*zqs) + zqs=zqs*zcor zcll = CLOIB * zdthmin(i) + CLOIC zcll = MIN(1.0, MAX(0.0, zcll)) zrhb= q(i, kb)/zqs