Changeset 685 for LMDZ4/trunk
- Timestamp:
- Apr 4, 2006, 5:01:33 PM (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ4/trunk/libf/phylmd/newmicro.F
r534 r685 42 42 #include "dimphy.h" 43 43 #include "nuage.h" 44 cIM cf. CR: include pour NOVLP et ZEPSEC 45 #include "radepsi.h" 46 #include "radopt.h" 44 47 REAL paprs(klon,klev+1), pplay(klon,klev) 45 48 REAL t(klon,klev) … … 103 106 REAL cldtaupi(klon, klev) ! pre-industrial cloud opt thickness for diag 104 107 cjq-end 108 cIM cf. CR:parametres supplementaires 109 REAL zclear(klon) 110 REAL zcloud(klon) 105 111 c 106 112 c Calculer l'epaisseur optique et l'emmissivite des nuages … … 287 293 C COMPUTE CLOUD LIQUID PATH AND TOTAL CLOUDINESS 288 294 C 289 DO i = 1, klon 290 pct(i)=1.0 295 cIM cf. CR:test: calcul prenant ou non en compte le recouvrement 296 cinitialisations 297 DO i=1,klon 298 zclear(i)=1. 299 zcloud(i)=0. 291 300 pch(i)=1.0 292 301 pcm(i) = 1.0 … … 295 304 ENDDO 296 305 C 306 cIM cf CR DO k=1,klev 297 307 DO k = klev, 1, -1 298 308 DO i = 1, klon 299 309 pctlwp(i) = pctlwp(i) 300 310 . + pqlwp(i,k)*(paprs(i,k)-paprs(i,k+1))/RG 301 pct(i) = pct(i)*(1.0-pclc(i,k)) 302 if (pplay(i,k).LE.cetahb*paprs(i,1)) 303 . pch(i) = pch(i)*(1.0-pclc(i,k)) 304 if (pplay(i,k).GT.cetahb*paprs(i,1) .AND. 305 . pplay(i,k).LE.cetamb*paprs(i,1)) 306 . pcm(i) = pcm(i)*(1.0-pclc(i,k)) 307 if (pplay(i,k).GT.cetamb*paprs(i,1)) 308 . pcl(i) = pcl(i)*(1.0-pclc(i,k)) 309 ENDDO 311 cIM cf. CR 312 IF (NOVLP.EQ.1) THEN 313 zclear(i)=zclear(i)*(1.-MAX(pclc(i,k),zcloud(i))) 314 s /(1.-MIN(zcloud(i),1.-ZEPSEC)) 315 pct(i)=1.-zclear(i) 316 if (pplay(i,k).LE.cetahb*paprs(i,1)) then 317 pch(i) = pch(i)*(1.-MAX(pclc(i,k),zcloud(i))) 318 s /(1.-MIN(zcloud(i),1.-ZEPSEC)) 319 else if (pplay(i,k).GT.cetahb*paprs(i,1) .AND. 320 . pplay(i,k).LE.cetamb*paprs(i,1)) then 321 pcm(i) = pcm(i)*(1.-MAX(pclc(i,k),zcloud(i))) 322 s /(1.-MIN(zcloud(i),1.-ZEPSEC)) 323 else if (pplay(i,k).GT.cetamb*paprs(i,1)) then 324 pcl(i) = pcl(i)*(1.-MAX(pclc(i,k),zcloud(i))) 325 s /(1.-MIN(zcloud(i),1.-ZEPSEC)) 326 endif 327 zcloud(i)=pclc(i,k) 328 ELSE IF (NOVLP.EQ.2) THEN 329 zcloud(i)=MAX(pclc(i,k),zcloud(i)) 330 pct(i)=zcloud(i) 331 if (pplay(i,k).LE.cetahb*paprs(i,1)) then 332 pch(i) = MIN(pclc(i,k),pch(i)) 333 else if (pplay(i,k).GT.cetahb*paprs(i,1) .AND. 334 . pplay(i,k).LE.cetamb*paprs(i,1)) then 335 pcm(i) = MIN(pclc(i,k),pcm(i)) 336 else if (pplay(i,k).GT.cetamb*paprs(i,1)) then 337 pcl(i) = MIN(pclc(i,k),pcl(i)) 338 endif 339 ELSE IF (NOVLP.EQ.3) THEN 340 zclear(i)=zclear(i)*(1.-pclc(i,k)) 341 pct(i)=1-zclear(i) 342 if (pplay(i,k).LE.cetahb*paprs(i,1)) then 343 pch(i) = pch(i)*(1.0-pclc(i,k)) 344 else if (pplay(i,k).GT.cetahb*paprs(i,1) .AND. 345 . pplay(i,k).LE.cetamb*paprs(i,1)) then 346 pcm(i) = pcm(i)*(1.0-pclc(i,k)) 347 else if (pplay(i,k).GT.cetamb*paprs(i,1)) then 348 pcl(i) = pcl(i)*(1.0-pclc(i,k)) 349 endif 350 ENDIF 351 ENDDO 310 352 ENDDO 311 353 C 312 354 DO i = 1, klon 313 pct(i)=1.-pct(i)355 cIM cf. CR pct(i)=1.-pct(i) 314 356 pch(i)=1.-pch(i) 315 357 pcm(i)=1.-pcm(i)
Note: See TracChangeset
for help on using the changeset viewer.