Ignore:
Timestamp:
Feb 9, 2000, 11:28:13 AM (25 years ago)
Author:
lmdz
Message:

Ajustement de parametres et introduction de modifs de S. Cheinet. L.Li
Lf

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ.3.3/trunk/libf/phylmd/conlmd.F

    r2 r42  
    126126      INTEGER nb ! nombre de sous-fractions a considere
    127127      PARAMETER (nb=1)
    128 ccc      PARAMETER (nb=5)
    129128ccc      PARAMETER (nb=3)
    130129c
    131130      REAL ratqs ! largeur de la distribution pour vapeur d'eau
    132       PARAMETER (ratqs=0.2)
    133 c
     131      PARAMETER (ratqs=0.05)
    134132c
    135133      REAL w_q(klon,klev)
     
    167165      DATA frac / 1.0 /
    168166      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 /
    171167ccc      DATA frac    / 1.0, 0.50, 0.25/
    172 ccc      DATA opt_cld / 3,   3,    3/
     168ccc      DATA opt_cld / 4,   4,    4/
    173169c
    174170      DATA appel1er /.TRUE./
     
    248244         zflo = t(i,k) + zgamdz - t(i,k+1)
    249245         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.
     247c erreur         IF (zflo.GT.0.0 .AND. zsat.GT.0.0) afaire(i) = .TRUE.
    251248      ENDDO
    252249      ENDDO
     
    339336      PARAMETER (new_top=.FALSE.)
    340337      LOGICAL evap_prec ! evaporation de pluie au-dessous de convection
    341       PARAMETER (evap_prec=.FALSE.)
     338      PARAMETER (evap_prec=.TRUE.)
    342339      REAL coef_eva
    343340      PARAMETER (coef_eva=1.0E-05)
     
    350347      REAL toliq(klon) ! rapport entre l'eau nuageuse et l'eau precipitante
    351348      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)
    353350      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)
    355354      LOGICAL exigent ! implique un calcul supplementaire pour Qs
    356355      PARAMETER (exigent=.FALSE.)
     356c
     357      INTEGER kbase
     358      PARAMETER (kbase=0)
    357359c
    358360c Variables locales:
     
    479481      DO i = 1, klon
    480482      IF (possible(i)) THEN
    481          k1(i) = 0
    482          k2(i) = 1
     483         k1(i) = kbase
     484         k2(i) = k1(i) + 1
    483485      ENDIF
    484486      ENDDO
     
    688690     .                 *(tomax-tomin)/(dpmax-dpmin)
    689691      toliq(i) = MAX(tomin,MIN(tomax,toliq(i)))
     692      IF (pplay(i,k2(i))/paprs(i,1) .LE. deep_sig) toliq(i) = deep_to
    690693      IF (old_tau) toliq(i) = 1.0
    691694      ENDIF
     
    787790      ELSE IF (opt_cld.EQ.4) THEN
    788791c
    789          nexpo = 1 ! distribution lineaire
     792         nexpo = 3
     793ccc         nexpo = 1 ! distribution lineaire
    790794c
    791795         DO i = 1, klon
     
    927931      k1max = 1
    928932      DO i = 1, klon
    929       IF (todo(i) .AND. k1(i).GT.1) THEN
     933      IF (todo(i) .AND. k1(i).GT.(kbase+1)) THEN
    930934         k = k1(i)
    931935         zflo(i) = zt(i,k-1) + zgamdz(i,k-1) - zt(i,k)
    932936         zsat(i) = zqmqsdp(i,k) + zqmqsdp(i,k-1)
    933          IF (zflo(i).LE.0.0 .OR. zsat(i).LE.0.0) THEN
     937csc voici l'ancienne ligne:
     938csc         IF (zflo(i).LE.0.0 .OR. zsat(i).LE.0.0) THEN
     939csc sylvain: il faut RESPECTER les 2 criteres:
     940         IF (zflo(i).GT.0.0 .AND. zsat(i).GT.0.0) THEN
    934941            etendre(i) = .TRUE.
    935942            k1(i) = k1(i) - 1
     
    940947      ENDDO
    941948c
    942       IF (k1max.GT.1) THEN
    943       DO k = k1max, 1, -1
     949      IF (k1max.GT.(kbase+1)) THEN
     950      DO k = k1max, kbase+1, -1
    944951      DO i = 1, klon
    945952      IF (etendre(i) .AND. k.LT.k1(i) .AND. aller(i)) THEN
     
    10951102      PARAMETER (opt_cld=4) ! valeur possible: 0, 1, 2, 3 ou 4
    10961103      LOGICAL evap_prec ! evaporation de pluie au-dessous de convection
    1097       PARAMETER (evap_prec=.FALSE.)
     1104      PARAMETER (evap_prec=.TRUE.)
    10981105      REAL coef_eva
    10991106      PARAMETER (coef_eva=1.0E-05)
     
    11061113      REAL toliq(klon) ! rapport entre l'eau nuageuse et l'eau precipitante
    11071114      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)
    11091116      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)
    11111120c
    11121121c Variables locales:
     
    13831392     .             *(tomax-tomin)/(dpmax-dpmin)
    13841393      toliq(i) = MAX(tomin,MIN(tomax,toliq(i)))
     1394      IF (pplay(i,kh(i))/paprs(i,1) .LE. deep_sig) toliq(i) = deep_to
    13851395      IF (old_tau) toliq(i) = 1.0
    13861396      ENDIF
     
    14971507      ELSE IF (opt_cld.EQ.4) THEN
    14981508c
    1499          nexpo = 1 ! distribution lineaire
     1509         nexpo = 3
     1510ccc         nexpo = 1 ! distribution lineaire
    15001511c
    15011512         DO i = 1, klon
     
    17081719#include "YOETHF.h"
    17091720#include "FCTTRE.h"
     1721c
     1722      DO i = 1, klon
     1723         zcond(i) = 0.0
     1724      ENDDO
    17101725C
    17111726      DO 210 i=1, klon
Note: See TracChangeset for help on using the changeset viewer.