Ignore:
Timestamp:
Jul 1, 2010, 11:02:53 AM (14 years ago)
Author:
Laurent Fairhead
Message:

Merged LMDZ4V5.0-dev branch changes r1292:r1399 to trunk.

Validation:
Validation consisted in compiling the HEAD revision of the trunk,
LMDZ4V5.0-dev branch and the merged sources and running different
configurations on local and SX8 machines comparing results.

Local machine: bench configuration, 32x24x11, gfortran

  • IPSLCM5A configuration (comparison between trunk and merged sources):
    • numerical convergence on dynamical fields over 3 days
    • start files are equivalent (except for RN and PB fields)
    • daily history files equivalent
  • MH07 configuration, new physics package (comparison between LMDZ4V5.0-dev branch and merged sources):
    • numerical convergence on dynamical fields over 3 days
    • start files are equivalent (except for RN and PB fields)
    • daily history files equivalent

SX8 machine (brodie), 96x95x39 on 4 processors:

  • IPSLCM5A configuration:
    • start files are equivalent (except for RN and PB fields)
    • monthly history files equivalent
  • MH07 configuration:
    • start files are equivalent (except for RN and PB fields)
    • monthly history files equivalent

Changes to the makegcm and create_make_gcm scripts to take into account
main programs in F90 files


Fusion de la branche LMDZ4V5.0-dev (r1292:r1399) au tronc principal

Validation:
La validation a consisté à compiler la HEAD de le trunk et de la banche
LMDZ4V5.0-dev et les sources fusionnées et de faire tourner le modéle selon
différentes configurations en local et sur SX8 et de comparer les résultats

En local: 32x24x11, config bench/gfortran

  • pour une config IPSLCM5A (comparaison tronc/fusion):
    • convergence numérique sur les champs dynamiques après 3 jours
    • restart et restartphy égaux (à part sur RN et Pb)
    • fichiers histoire égaux
  • pour une config nlle physique (MH07) (comparaison LMDZ4v5.0-dev/fusion):
    • convergence numérique sur les champs dynamiques après 3 jours
    • restart et restartphy égaux
    • fichiers histoire équivalents

Sur brodie, 96x95x39 sur 4 proc:

  • pour une config IPSLCM5A:
    • restart et restartphy égaux (à part sur RN et PB)
    • pas de différence dans les fichiers histmth.nc
  • pour une config MH07
    • restart et restartphy égaux (à part sur RN et PB)
    • pas de différence dans les fichiers histmth.nc

Changement sur makegcm et create_make-gcm pour pouvoir prendre en compte des
programmes principaux en *F90

Location:
LMDZ4/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • LMDZ4/trunk

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

    r1279 r1403  
    11!
    2 ! $Header$
     2! $Id$
    33!
    44c
     
    77     s                   pfrac_impa, pfrac_nucl, pfrac_1nucl,
    88     s                   frac_impa, frac_nucl,
    9      s                   prfl, psfl, rhcl)
     9     s                   prfl, psfl, rhcl, zqta, fraca,
     10     s                   ztv, zpspsk, ztla, zthl, iflag_cldcon)
    1011
    1112c
     
    4142      REAL snow(klon) ! neige (mm/s)
    4243      REAL prfl(klon,klev+1) ! flux d'eau precipitante aux interfaces (kg/m2/s)
    43       REAL psfl(klon,klev+1) ! flux d'eau precipitante aux interfaces (kg/m2/s)
     44      REAL psfl(klon,klev+1) ! flux d'eau precipitante aux interfaces (kg/m2/s)
     45      REAL ztv(klon,klev)
     46      REAL zqta(klon,klev),fraca(klon,klev)
     47      REAL sigma1(klon,klev),sigma2(klon,klev)
     48      REAL qltot(klon,klev),ctot(klon,klev)
     49      REAL zpspsk(klon,klev),ztla(klon,klev)
     50      REAL zthl(klon,klev)
     51
    4452cAA
    4553c Coeffients de fraction lessivee : pour OFF-LINE
     
    6371
    6472      INTEGER ninter ! sous-intervals pour la precipitation
    65       INTEGER ncoreczq
     73      INTEGER ncoreczq 
     74      INTEGER iflag_cldcon
    6675      PARAMETER (ninter=5)
    6776      LOGICAL evap_prec ! evaporation de la pluie
     
    7281      real zpdf_sig(klon),zpdf_k(klon),zpdf_delta(klon)
    7382      real Zpdf_a(klon),zpdf_b(klon),zpdf_e1(klon),zpdf_e2(klon)
    74       real erf
     83      real erf   
     84      REAL qcloud(klon)
    7585c
    7686      LOGICAL cpartiel ! condensation partielle
     
    8292c
    8393      INTEGER i, k, n, kk
    84       REAL zqs(klon), zdqs(klon), zdelta, zcor, zcvm5
     94      REAL zqs(klon), zdqs(klon), zdelta, zcor, zcvm5   
    8595      REAL zrfl(klon), zrfln(klon), zqev, zqevt
    8696      REAL zoliq(klon), zcond(klon), zq(klon), zqn(klon), zdelq
     
    130140      zdelq=0.0
    131141     
     142      print*,'CLOUDTH4 A. JAM'
    132143      IF (appel1er) THEN
    133144c
     
    135146         PRINT*, 'fisrtilp, evap_prec:', evap_prec
    136147         PRINT*, 'fisrtilp, cpartiel:', cpartiel
    137          IF (ABS(dtime/FLOAT(ninter)-360.0).GT.0.001) THEN
     148         IF (ABS(dtime/REAL(ninter)-360.0).GT.0.001) THEN
    138149          PRINT*, 'fisrtilp: Ce n est pas prevu, voir Z.X.Li', dtime
    139150          PRINT*, 'Je prefere un sous-intervalle de 6 minutes'
     
    322333c de l'eau condensee:
    323334c
     335
    324336      IF (cpartiel) THEN
    325337
     
    351363                zq(i)=1.e-15
    352364              endif
    353            enddo
    354            do i=1,klon
     365           enddo
     366
     367              if (iflag_cldcon.eq.5) then
     368
     369                 call cloudth(klon,klev,k,ztv,
     370     .           zq,zqta,fraca,
     371     .           qcloud,ctot,zpspsk,paprs,ztla,zthl,
     372     .           ratqs,zqs,t)
     373
     374                 do i=1,klon
     375                 rneb(i,k)=ctot(i,k)
     376                 zqn(i)=qcloud(i)
     377                 enddo
     378
     379              else
     380
     381            do i=1,klon
    355382            zpdf_sig(i)=ratqs(i,k)*zq(i)
    356383            zpdf_k(i)=-sqrt(log(1.+(zpdf_sig(i)/zq(i))**2))
     
    372399            endif
    373400           
    374            enddo
     401           enddo
     402
     403         endif ! iflag_cldcon
    375404
    376405        endif ! iflag_pdf
     
    436465         zfice(i) = zfice(i)**nexpo
    437466         zneb(i) = MAX(rneb(i,k), seuil_neb)
    438          radliq(i,k) = zoliq(i)/FLOAT(ninter+1)
     467         radliq(i,k) = zoliq(i)/REAL(ninter+1)
    439468      ENDIF
    440469      ENDDO
     
    453482                zcl   =cld_lc_con
    454483                zct   =1./cld_tau_con
    455                 zfroi    = dtime/FLOAT(ninter)/zdz(i)*zoliq(i)
     484                zfroi    = dtime/REAL(ninter)/zdz(i)*zoliq(i)
    456485     .              *fallvc(zrhol(i)) * zfice(i)
    457486             else
    458487                zcl   =cld_lc_lsc
    459488                zct   =1./cld_tau_lsc
    460                 zfroi    = dtime/FLOAT(ninter)/zdz(i)*zoliq(i)
     489                zfroi    = dtime/REAL(ninter)/zdz(i)*zoliq(i)
    461490     .              *fallvs(zrhol(i)) * zfice(i)
    462491             endif
    463              zchau    = zct   *dtime/FLOAT(ninter) * zoliq(i)
     492             zchau    = zct   *dtime/REAL(ninter) * zoliq(i)
    464493     .         *(1.0-EXP(-(zoliq(i)/zneb(i)/zcl   )**2)) *(1.-zfice(i))
    465494             ztot    = zchau    + zfroi
     
    468497         ztot    = MIN(ztot,zoliq(i))
    469498         zoliq(i) = MAX(zoliq(i)-ztot   , 0.0)
    470          radliq(i,k) = radliq(i,k) + zoliq(i)/FLOAT(ninter+1)
     499         radliq(i,k) = radliq(i,k) + zoliq(i)/REAL(ninter+1)
    471500      ENDIF
    472501      ENDDO
Note: See TracChangeset for help on using the changeset viewer.