84 |
|
|
85 |
REAL zdphi, zdu2, ztvd, ztvu, cdn |
REAL zdphi, zdu2, ztvd, ztvu, cdn |
86 |
REAL scf |
REAL scf |
87 |
REAL zt, zq, zdelta, zcvm5, zcor, zqs, zfr, zdqs |
REAL zt, zq, zcvm5, zcor, zqs, zfr, zdqs |
88 |
|
logical zdelta |
89 |
REAL z2geomf, zalh2, alm2, zscfh, scfm |
REAL z2geomf, zalh2, alm2, zscfh, scfm |
90 |
REAL, PARAMETER:: t_coup = 273.15 |
REAL, PARAMETER:: t_coup = 273.15 |
91 |
REAL gamt(2:klev) ! contre-gradient pour la chaleur sensible: Kelvin/metre |
REAL gamt(2:klev) ! contre-gradient pour la chaleur sensible: Kelvin/metre |
152 |
! calculer Qs et dQs/dT: |
! calculer Qs et dQs/dT: |
153 |
|
|
154 |
IF (thermcep) THEN |
IF (thermcep) THEN |
155 |
zdelta = MAX(0., SIGN(1., RTT-zt)) |
zdelta = RTT >=zt |
156 |
zcvm5 = R5LES*RLVTT/RCPD/(1.0+RVTMP2*zq)*(1.-zdelta) & |
zcvm5 = merge(R5IES * RLSTT, R5LES * RLVTT, zdelta) / RCPD & |
157 |
+ R5IES*RLSTT/RCPD/(1.0+RVTMP2*zq)*zdelta |
/ (1. + RVTMP2*zq) |
158 |
zqs = R2ES * FOEEW(zt, zdelta) / pplay(i, k) |
zqs = R2ES * FOEEW(zt, zdelta) / pplay(i, k) |
159 |
zqs = MIN(0.5, zqs) |
zqs = MIN(0.5, zqs) |
160 |
zcor = 1./(1.-RETV*zqs) |
zcor = 1./(1.-RETV*zqs) |