Changeset 1523 for LMDZ5/trunk
- Timestamp:
- May 24, 2011, 5:02:50 PM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ5/trunk/libf/phylmd/newmicro.F
r1479 r1523 1 1 ! $Id$ 2 3 4 2 5 ! 3 6 SUBROUTINE newmicro (paprs, pplay,ok_newmicro, … … 55 58 LOGICAL, SAVE :: FIRST=.TRUE. 56 59 !$OMP THREADPRIVATE(FIRST) 57 58 60 c Hypoyhese de recouvrement : MAXIMUM_RANDOM 59 61 INTEGER flag_max … … 79 81 LOGICAL lo 80 82 c 81 REAL cetahb, cetamb 82 PARAMETER (cetahb = 0.45, cetamb = 0.80) 83 !!Abderr modif JL mail du 19.01.2011 18:31 84 ! REAL cetahb, cetamb 85 ! PARAMETER (cetahb = 0.45, cetamb = 0.80) 86 ! Remplacer 87 !cetahb*paprs(i,1) par prmhc 88 !cetamb*paprs(i,1) par prlmc 89 REAL prmhc ! Pressure between medium and high level cloud 90 REAL prlmc ! Pressure between low and medium level cloud 91 PARAMETER (prmhc = 440.*100., prlmc = 680.*100.) 92 83 93 C 84 94 INTEGER i, k … … 132 142 REAL zclear(klon) 133 143 REAL zcloud(klon) 144 REAL zcloudh(klon) 145 REAL zcloudm(klon) 146 REAL zcloudl(klon) 147 134 148 135 149 c ************************** … … 424 438 zclear(i)=1. 425 439 zcloud(i)=0. 440 zcloudh(i)=0. 441 zcloudm(i)=0. 442 zcloudl(i)=0. 426 443 pch(i)=1.0 427 444 pcm(i) = 1.0 … … 444 461 & /(1.-MIN(real(zcloud(i), kind=8),1.-ZEPSEC)) 445 462 pct(i)=1.-zclear(i) 446 IF (pplay(i,k).LE.cetahb*paprs(i,1)) THEN 447 pch(i) = pch(i)*(1.-MAX(pclc(i,k),zcloud(i))) 448 & /(1.-MIN(real(zcloud(i), kind=8),1.-ZEPSEC)) 449 ELSE IF (pplay(i,k).GT.cetahb*paprs(i,1) .AND. 450 & pplay(i,k).LE.cetamb*paprs(i,1)) THEN 451 pcm(i) = pcm(i)*(1.-MAX(pclc(i,k),zcloud(i))) 452 & /(1.-MIN(real(zcloud(i), kind=8),1.-ZEPSEC)) 453 ELSE IF (pplay(i,k).GT.cetamb*paprs(i,1)) THEN 454 pcl(i) = pcl(i)*(1.-MAX(pclc(i,k),zcloud(i))) 455 & /(1.-MIN(real(zcloud(i), kind=8),1.-ZEPSEC)) 463 IF (paprs(i,k).LT.prmhc) THEN 464 pch(i) = pch(i)*(1.-MAX(pclc(i,k),zcloudh(i))) 465 & /(1.-MIN(real(zcloudh(i), kind=8),1.-ZEPSEC)) 466 zcloudh(i)=pclc(i,k) 467 ELSE IF (paprs(i,k).GE.prmhc .AND. 468 & paprs(i,k).LT.prlmc) THEN 469 pcm(i) = pcm(i)*(1.-MAX(pclc(i,k),zcloudm(i))) 470 & /(1.-MIN(real(zcloudm(i), kind=8),1.-ZEPSEC)) 471 zcloudm(i)=pclc(i,k) 472 ELSE IF (paprs(i,k).GE.prlmc) THEN 473 pcl(i) = pcl(i)*(1.-MAX(pclc(i,k),zcloudl(i))) 474 & /(1.-MIN(real(zcloudl(i), kind=8),1.-ZEPSEC)) 475 zcloudl(i)=pclc(i,k) 456 476 endif 457 477 zcloud(i)=pclc(i,k) … … 463 483 zcloud(i)=MAX(pclc(i,k),zcloud(i)) 464 484 pct(i)=zcloud(i) 465 IF (p play(i,k).LE.cetahb*paprs(i,1)) THEN485 IF (paprs(i,k).LT.prmhc) THEN 466 486 pch(i) = MIN(pclc(i,k),pch(i)) 467 ELSE IF (p play(i,k).GT.cetahb*paprs(i,1).AND.468 & p play(i,k).LE.cetamb*paprs(i,1)) THEN487 ELSE IF (paprs(i,k).GE.prmhc .AND. 488 & paprs(i,k).LT.prlmc) THEN 469 489 pcm(i) = MIN(pclc(i,k),pcm(i)) 470 ELSE IF (p play(i,k).GT.cetamb*paprs(i,1)) THEN490 ELSE IF (paprs(i,k).GE.prlmc) THEN 471 491 pcl(i) = MIN(pclc(i,k),pcl(i)) 472 492 endif … … 478 498 zclear(i)=zclear(i)*(1.-pclc(i,k)) 479 499 pct(i)=1-zclear(i) 480 IF (p play(i,k).LE.cetahb*paprs(i,1)) THEN500 IF (paprs(i,k).LT.prmhc) THEN 481 501 pch(i) = pch(i)*(1.0-pclc(i,k)) 482 ELSE IF (p play(i,k).GT.cetahb*paprs(i,1).AND.483 & p play(i,k).LE.cetamb*paprs(i,1)) THEN502 ELSE IF (paprs(i,k).GE.prmhc .AND. 503 & paprs(i,k).LT.prlmc) THEN 484 504 pcm(i) = pcm(i)*(1.0-pclc(i,k)) 485 ELSE IF (p play(i,k).GT.cetamb*paprs(i,1)) THEN505 ELSE IF (paprs(i,k).GE.prlmc) THEN 486 506 pcl(i) = pcl(i)*(1.0-pclc(i,k)) 487 507 endif … … 529 549 ENDDO 530 550 551 531 552 DO i=1,klon 532 553 DO k=klev-1,1,-1 !From TOA down
Note: See TracChangeset
for help on using the changeset viewer.