Changeset 42 for LMDZ.3.3/trunk/libf/phylmd
- Timestamp:
- Feb 9, 2000, 11:28:13 AM (25 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ.3.3/trunk/libf/phylmd/conlmd.F
r2 r42 126 126 INTEGER nb ! nombre de sous-fractions a considere 127 127 PARAMETER (nb=1) 128 ccc PARAMETER (nb=5)129 128 ccc PARAMETER (nb=3) 130 129 c 131 130 REAL ratqs ! largeur de la distribution pour vapeur d'eau 132 PARAMETER (ratqs=0.2) 133 c 131 PARAMETER (ratqs=0.05) 134 132 c 135 133 REAL w_q(klon,klev) … … 167 165 DATA frac / 1.0 / 168 166 DATA opt_cld / 4 / 169 ccc DATA frac / 1.0, 0.75, 0.50, 0.25, 0.05 /170 ccc DATA opt_cld / 3, 3, 3, 3, 3 /171 167 ccc DATA frac / 1.0, 0.50, 0.25/ 172 ccc DATA opt_cld / 3, 3, 3/168 ccc DATA opt_cld / 4, 4, 4/ 173 169 c 174 170 DATA appel1er /.TRUE./ … … 248 244 zflo = t(i,k) + zgamdz - t(i,k+1) 249 245 zsat = (q(i,k)-zqs1)*zdp1 + (q(i,k+1)-zqs2)*zdp2 250 IF (zflo.GT.0.0 .AND. zsat.GT.0.0) afaire(i) = .TRUE. 246 IF (zflo.GT.0.0) afaire(i) = .TRUE. 247 c erreur IF (zflo.GT.0.0 .AND. zsat.GT.0.0) afaire(i) = .TRUE. 251 248 ENDDO 252 249 ENDDO … … 339 336 PARAMETER (new_top=.FALSE.) 340 337 LOGICAL evap_prec ! evaporation de pluie au-dessous de convection 341 PARAMETER (evap_prec=. FALSE.)338 PARAMETER (evap_prec=.TRUE.) 342 339 REAL coef_eva 343 340 PARAMETER (coef_eva=1.0E-05) … … 350 347 REAL toliq(klon) ! rapport entre l'eau nuageuse et l'eau precipitante 351 348 REAL dpmin, tomax !Epaisseur faible, rapport eau liquide plus grande 352 PARAMETER (dpmin=0.1 , tomax=0.2)349 PARAMETER (dpmin=0.15, tomax=0.97) 353 350 REAL dpmax, tomin !Epaisseur grande, rapport eau liquide plus faible 354 PARAMETER (dpmax=0.6, tomin=0.1) 351 PARAMETER (dpmax=0.30, tomin=0.05) 352 REAL deep_sig, deep_to ! au dela de deep_sig, utiliser deep_to 353 PARAMETER (deep_sig=0.50, deep_to=0.05) 355 354 LOGICAL exigent ! implique un calcul supplementaire pour Qs 356 355 PARAMETER (exigent=.FALSE.) 356 c 357 INTEGER kbase 358 PARAMETER (kbase=0) 357 359 c 358 360 c Variables locales: … … 479 481 DO i = 1, klon 480 482 IF (possible(i)) THEN 481 k1(i) = 0482 k2(i) = 1483 k1(i) = kbase 484 k2(i) = k1(i) + 1 483 485 ENDIF 484 486 ENDDO … … 688 690 . *(tomax-tomin)/(dpmax-dpmin) 689 691 toliq(i) = MAX(tomin,MIN(tomax,toliq(i))) 692 IF (pplay(i,k2(i))/paprs(i,1) .LE. deep_sig) toliq(i) = deep_to 690 693 IF (old_tau) toliq(i) = 1.0 691 694 ENDIF … … 787 790 ELSE IF (opt_cld.EQ.4) THEN 788 791 c 789 nexpo = 1 ! distribution lineaire 792 nexpo = 3 793 ccc nexpo = 1 ! distribution lineaire 790 794 c 791 795 DO i = 1, klon … … 927 931 k1max = 1 928 932 DO i = 1, klon 929 IF (todo(i) .AND. k1(i).GT. 1) THEN933 IF (todo(i) .AND. k1(i).GT.(kbase+1)) THEN 930 934 k = k1(i) 931 935 zflo(i) = zt(i,k-1) + zgamdz(i,k-1) - zt(i,k) 932 936 zsat(i) = zqmqsdp(i,k) + zqmqsdp(i,k-1) 933 IF (zflo(i).LE.0.0 .OR. zsat(i).LE.0.0) THEN 937 csc voici l'ancienne ligne: 938 csc IF (zflo(i).LE.0.0 .OR. zsat(i).LE.0.0) THEN 939 csc sylvain: il faut RESPECTER les 2 criteres: 940 IF (zflo(i).GT.0.0 .AND. zsat(i).GT.0.0) THEN 934 941 etendre(i) = .TRUE. 935 942 k1(i) = k1(i) - 1 … … 940 947 ENDDO 941 948 c 942 IF (k1max.GT. 1) THEN943 DO k = k1max, 1, -1949 IF (k1max.GT.(kbase+1)) THEN 950 DO k = k1max, kbase+1, -1 944 951 DO i = 1, klon 945 952 IF (etendre(i) .AND. k.LT.k1(i) .AND. aller(i)) THEN … … 1095 1102 PARAMETER (opt_cld=4) ! valeur possible: 0, 1, 2, 3 ou 4 1096 1103 LOGICAL evap_prec ! evaporation de pluie au-dessous de convection 1097 PARAMETER (evap_prec=. FALSE.)1104 PARAMETER (evap_prec=.TRUE.) 1098 1105 REAL coef_eva 1099 1106 PARAMETER (coef_eva=1.0E-05) … … 1106 1113 REAL toliq(klon) ! rapport entre l'eau nuageuse et l'eau precipitante 1107 1114 REAL dpmin, tomax !Epaisseur faible, rapport eau liquide plus grande 1108 PARAMETER (dpmin=0.1 , tomax=0.2)1115 PARAMETER (dpmin=0.15, tomax=0.97) 1109 1116 REAL dpmax, tomin !Epaisseur grande, rapport eau liquide plus faible 1110 PARAMETER (dpmax=0.6, tomin=0.1) 1117 PARAMETER (dpmax=0.30, tomin=0.05) 1118 REAL deep_sig, deep_to ! au dela de deep_sig, utiliser deep_to 1119 PARAMETER (deep_sig=0.50, deep_to=0.05) 1111 1120 c 1112 1121 c Variables locales: … … 1383 1392 . *(tomax-tomin)/(dpmax-dpmin) 1384 1393 toliq(i) = MAX(tomin,MIN(tomax,toliq(i))) 1394 IF (pplay(i,kh(i))/paprs(i,1) .LE. deep_sig) toliq(i) = deep_to 1385 1395 IF (old_tau) toliq(i) = 1.0 1386 1396 ENDIF … … 1497 1507 ELSE IF (opt_cld.EQ.4) THEN 1498 1508 c 1499 nexpo = 1 ! distribution lineaire 1509 nexpo = 3 1510 ccc nexpo = 1 ! distribution lineaire 1500 1511 c 1501 1512 DO i = 1, klon … … 1708 1719 #include "YOETHF.h" 1709 1720 #include "FCTTRE.h" 1721 c 1722 DO i = 1, klon 1723 zcond(i) = 0.0 1724 ENDDO 1710 1725 C 1711 1726 DO 210 i=1, klon
Note: See TracChangeset
for help on using the changeset viewer.