Changeset 4563 for LMDZ6/trunk
- Timestamp:
- Jun 7, 2023, 9:56:11 PM (13 months ago)
- Location:
- LMDZ6/trunk/libf/phylmd
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/phylmd/lscp_ini_mod.F90
r4562 r4563 17 17 INTEGER,SAVE :: iflag_evap_prec=1 ! precipitation evaporation flag. 0: nothing, 1: "old way", 18 18 ! 2: Max cloud fraction above to calculate the max of reevaporation 19 ! 4: LTP'method i.e. evaporation in the clear-sky fraction of the mesh only 19 ! >=4: LTP'method i.e. evaporation in the clear-sky fraction of the mesh only 20 ! pay attention that iflag_evap_prec=4 may lead to unrealistic and overestimated 21 ! evaporation. Use 5 instead 20 22 !$OMP THREADPRIVATE(iflag_evap_prec) 21 23 -
LMDZ6/trunk/libf/phylmd/lscp_mod.F90
r4562 r4563 415 415 IF (zrfl(i)+zifl(i).GT.0.) THEN 416 416 417 ! LudoTP: we only account for precipitation evaporation in the clear-sky (iflag_evap_prec =4).417 ! LudoTP: we only account for precipitation evaporation in the clear-sky (iflag_evap_prec>=4). 418 418 ! c_iso: likely important to distinguish cs from neb isotope precipitation 419 419 420 IF (iflag_evap_prec. EQ.4) THEN420 IF (iflag_evap_prec.GE.4) THEN 421 421 zrfl(i) = zrflclr(i) 422 422 zifl(i) = ziflclr(i) … … 429 429 ENDIF 430 430 431 IF (iflag_evap_prec.EQ.4) THEN 431 IF (iflag_evap_prec.GT.4) THEN 432 ! Max evaporation not to saturate the clear sky precip fraction 433 ! i.e. the fraction where evaporation occurs 434 zqev0 = MAX(0.0, (zqs(i)-zq(i))*znebprecipclr(i)) 435 ELSEIF (iflag_evap_prec .EQ. 4) THEN 432 436 ! Max evaporation not to saturate the whole mesh 437 ! Pay attention -> lead to unrealistic and excessive evaporation 433 438 zqev0 = MAX(0.0, zqs(i)-zq(i)) 434 439 ELSE … … 440 445 ! dP/dz=beta*(1-q/qsat)*sqrt(P) 441 446 ! formula from Sundquist 1988, Klemp & Wilhemson 1978 442 ! LTP: evaporation only in the clear sky part (iflag_evap_prec =4)447 ! LTP: evaporation only in the clear sky part (iflag_evap_prec>=4) 443 448 444 449 IF (iflag_evap_prec.EQ.3) THEN … … 446 451 *SQRT(zrfl(i)/max(1.e-4,znebprecip(i))) & 447 452 *(paprs(i,k)-paprs(i,k+1))/pplay(i,k)*zt(i)*RD/RG 448 ELSE IF (iflag_evap_prec. EQ.4) THEN453 ELSE IF (iflag_evap_prec.GE.4) THEN 449 454 zqevt = znebprecipclr(i)*coef_eva*(1.0-zq(i)/qsl(i)) & 450 455 *SQRT(zrfl(i)/max(1.e-8,znebprecipclr(i))) & … … 463 468 *SQRT(zifl(i)/max(1.e-4,znebprecip(i))) & 464 469 *(paprs(i,k)-paprs(i,k+1))/pplay(i,k)*zt(i)*RD/RG 465 ELSE IF (iflag_evap_prec. EQ.4) THEN470 ELSE IF (iflag_evap_prec.GE.4) THEN 466 471 zqevti = znebprecipclr(i)*coef_eva_i*(1.0-zq(i)/qsi(i)) & 467 472 *SQRT(zifl(i)/max(1.e-8,znebprecipclr(i))) & … … 518 523 519 524 520 IF (iflag_evap_prec. EQ.4) THEN525 IF (iflag_evap_prec.GE.4) THEN 521 526 zrflclr(i) = zrfl(i) 522 527 ziflclr(i) = zifl(i) … … 536 541 537 542 ! update of rainfall and snowfall due to melting 538 IF (iflag_evap_prec. EQ.4) THEN543 IF (iflag_evap_prec.GE.4) THEN 539 544 zrflclr(i)=zrflclr(i)+zmelt*ziflclr(i) 540 545 zrflcld(i)=zrflcld(i)+zmelt*ziflcld(i) … … 885 890 886 891 ! LTP: 887 IF (iflag_evap_prec ==4) THEN892 IF (iflag_evap_prec .GE. 4) THEN 888 893 889 894 !Partitionning between precipitation coming from clouds and that coming from CS … … 1077 1082 DO i = 1, klon 1078 1083 1079 IF (iflag_evap_prec. EQ.4) THEN1084 IF (iflag_evap_prec.GE.4) THEN 1080 1085 ziflprev(i)=ziflcld(i) 1081 1086 ELSE … … 1119 1124 ! c_iso : mv here condensation of isotopes + redispatchage en precip 1120 1125 1121 IF (iflag_evap_prec. EQ.4) THEN1126 IF (iflag_evap_prec.GE.4) THEN 1122 1127 zrflcld(i) = zrflcld(i)+zqprecl(i) & 1123 1128 *(paprs(i,k)-paprs(i,k+1))/(RG*dtime) … … 1140 1145 1141 1146 ! LTP: limit of surface cloud fraction covered by precipitation when the local intensity of the flux is below rain_int_min 1142 ! if iflag_evap_pre =41143 IF (iflag_evap_prec. EQ.4) THEN1147 ! if iflag_evap_prec>=4 1148 IF (iflag_evap_prec.GE.4) THEN 1144 1149 1145 1150 DO i=1,klon
Note: See TracChangeset
for help on using the changeset viewer.