Ignore:
Timestamp:
Dec 10, 2009, 10:02:56 AM (15 years ago)
Author:
Laurent Fairhead
Message:

Merged LMDZ4-dev branch changes r1241:1278 into the trunk
Running trunk and LMDZ4-dev in LMDZOR configuration on local
machine (sequential) and SX8 (4-proc) yields identical results
(restart and restartphy are identical binarily)
Log history from r1241 to r1278 is available by switching to
source:LMDZ4/branches/LMDZ4-dev-20091210

Location:
LMDZ4/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • LMDZ4/trunk

  • LMDZ4/trunk/libf/phylmd/fisrtilp.F

    r1146 r1279  
    5454      REAL frac_impa(klon,klev)
    5555      REAL frac_nucl(klon,klev)
    56       real zct(klon),zcl(klon)
     56      real zct      ,zcl
    5757cAA
    5858c
     
    8787      REAL ztglace, zt(klon)
    8888      INTEGER nexpo ! exponentiel pour glace/eau
    89       REAL zdz(klon),zrho(klon),ztot(klon), zrhol(klon)
    90       REAL zchau(klon),zfroi(klon),zfice(klon),zneb(klon)
     89      REAL zdz(klon),zrho(klon),ztot      , zrhol(klon)
     90      REAL zchau      ,zfroi      ,zfice(klon),zneb(klon)
    9191c
    9292      LOGICAL appel1er
     
    150150cAA Initialisation a 1 des coefs des fractions lessivees
    151151c
     152!cdir collapse
    152153      DO k = 1, klev
    153154       DO i = 1, klon
     
    161162c
    162163cMAf Initialisation a 0 de zoliq
    163        DO i = 1, klon
    164           zoliq(i)=0.
    165        ENDDO
     164c      DO i = 1, klon
     165c         zoliq(i)=0.
     166c      ENDDO
    166167c Determiner les nuages froids par leur temperature
    167168c  nexpo regle la raideur de la transition eau liquide / eau glace.
     
    173174c Initialiser les sorties:
    174175c
     176!cdir collapse
    175177      DO k = 1, klev+1
    176178      DO i = 1, klon
     
    180182      ENDDO
    181183
     184!cdir collapse
    182185      DO k = 1, klev
    183186      DO i = 1, klon
     
    194197         rain(i) = 0.0
    195198         snow(i) = 0.0
    196       ENDDO
     199         zoliq(i)=0.
     200c     ENDDO
    197201c
    198202c Initialiser le flux de precipitation a zero
    199203c
    200       DO i = 1, klon
     204c     DO i = 1, klon
    201205         zrfl(i) = 0.0
    202206         zneb(i) = seuil_neb
     
    441445         zrhol(i) = zrho(i) * zoliq(i) / zneb(i)
    442446
    443          if (ptconv(i,k)) then
    444             zcl(i)=cld_lc_con
    445             zct(i)=1./cld_tau_con
    446          else
    447             zcl(i)=cld_lc_lsc
    448             zct(i)=1./cld_tau_lsc
    449          endif
    450 c  quantit�d'eau ��minier.
    451          zchau(i) = zct(i)*dtime/FLOAT(ninter) * zoliq(i)
    452      .         *(1.0-EXP(-(zoliq(i)/zneb(i)/zcl(i))**2)) *(1.-zfice(i))
    453 c  meme chose pour la glace.
    454          if (ptconv(i,k)) then
    455             zfroi(i) = dtime/FLOAT(ninter)/zdz(i)*zoliq(i)
     447         IF (zneb(i).EQ.seuil_neb) THEN
     448             ztot = 0.0
     449         ELSE
     450c  quantite d'eau a eliminer: zchau
     451c  meme chose pour la glace: zfroi
     452             if (ptconv(i,k)) then
     453                zcl   =cld_lc_con
     454                zct   =1./cld_tau_con
     455                zfroi    = dtime/FLOAT(ninter)/zdz(i)*zoliq(i)
    456456     .              *fallvc(zrhol(i)) * zfice(i)
    457          else
    458             zfroi(i) = dtime/FLOAT(ninter)/zdz(i)*zoliq(i)
     457             else
     458                zcl   =cld_lc_lsc
     459                zct   =1./cld_tau_lsc
     460                zfroi    = dtime/FLOAT(ninter)/zdz(i)*zoliq(i)
    459461     .              *fallvs(zrhol(i)) * zfice(i)
    460          endif
    461          ztot(i) = zchau(i) + zfroi(i)
    462          IF (zneb(i).EQ.seuil_neb) ztot(i) = 0.0
    463          ztot(i) = MIN(MAX(ztot(i),0.0),zoliq(i))
    464          zoliq(i) = MAX(zoliq(i)-ztot(i), 0.0)
     462             endif
     463             zchau    = zct   *dtime/FLOAT(ninter) * zoliq(i)
     464     .         *(1.0-EXP(-(zoliq(i)/zneb(i)/zcl   )**2)) *(1.-zfice(i))
     465             ztot    = zchau    + zfroi
     466             ztot    = MAX(ztot   ,0.0)
     467         ENDIF
     468         ztot    = MIN(ztot,zoliq(i))
     469         zoliq(i) = MAX(zoliq(i)-ztot   , 0.0)
    465470         radliq(i,k) = radliq(i,k) + zoliq(i)/FLOAT(ninter+1)
    466471      ENDIF
Note: See TracChangeset for help on using the changeset viewer.