--- trunk/libf/phylmd/coefkz.f90 2013/07/08 18:12:18 71 +++ trunk/Sources/phylmd/coefkz.f 2015/04/29 15:47:56 134 @@ -74,7 +74,7 @@ LOGICAL, PARAMETER:: opt_ec = .FALSE. ! formule du Centre Europeen dans l'atmosphere - INTEGER i, k, kk + INTEGER i, k REAL zgeop(klon, klev) REAL zmgeom(klon) REAL ri(klon) @@ -84,7 +84,8 @@ REAL zdphi, zdu2, ztvd, ztvu, cdn REAL scf - REAL zt, zq, zdelta, zcvm5, zcor, zqs, zfr, zdqs + REAL zt, zq, zcvm5, zcor, zqs, zfr, zdqs + logical zdelta REAL z2geomf, zalh2, alm2, zscfh, scfm REAL, PARAMETER:: t_coup = 273.15 REAL gamt(2:klev) ! contre-gradient pour la chaleur sensible: Kelvin/metre @@ -151,9 +152,9 @@ ! calculer Qs et dQs/dT: IF (thermcep) THEN - zdelta = MAX(0., SIGN(1., RTT-zt)) - zcvm5 = R5LES*RLVTT/RCPD/(1.0+RVTMP2*zq)*(1.-zdelta) & - + R5IES*RLSTT/RCPD/(1.0+RVTMP2*zq)*zdelta + zdelta = RTT >=zt + zcvm5 = merge(R5IES * RLSTT, R5LES * RLVTT, zdelta) / RCPD & + / (1. + RVTMP2*zq) zqs = R2ES * FOEEW(zt, zdelta) / pplay(i, k) zqs = MIN(0.5, zqs) zcor = 1./(1.-RETV*zqs)