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/cv3p1_closure.F

    r973 r1403  
     1!
     2! $Id$
     3!
    14      SUBROUTINE cv3p1_closure(nloc,ncum,nd,icb,inb
    25     :                      ,pbase,plcl,p,ph,tv,tvp,buoy
     
    6063      integer nsupmax(nloc)
    6164      real supcrit,temp(nloc,nd)
    62       real P1(nloc),Pmin(nloc)
     65      real P1(nloc),Pmin(nloc),plfc(nloc)
    6366      real asupmax0(nloc)
    6467      logical ok(nloc)
     
    7477      real wb,sigmax
    7578      data wb /2./, sigmax /0.1/
     79
     80      CHARACTER (LEN=20) :: modname='cv3p1_closure'
     81      CHARACTER (LEN=80) :: abort_message
    7682c
    7783c      print *,' -> cv3p1_closure, Ale ',ale(1)
     
    379385      CALL cv3_cine (nloc,ncum,nd,icb,inb
    380386     :                      ,pbase,plcl,p,ph,tv,tvp
    381      :                      ,cina,cinb)
     387     :                      ,cina,cinb,plfc)
    382388c
    383389      DO il = 1,ncum
     
    489495      do k= 1,nl
    490496       do il = 1,ncum
    491 !IM       IF (k .ge. icb(il) .and. k .le. inb(il)) THEN
    492         IF (k .ge. icb(il)+1 .and. k .le. inb(il)) THEN
     497!old       IF (k .ge. icb(il) .and. k .le. inb(il)) THEN
     498!IM        IF (k .ge. icb(il)+1 .and. k .le. inb(il)) THEN
     499       IF (k .ge. icb(il) .and. k .le. inb(il)         !cor jyg
     500     $     .and. icb(il)+1 .le. inb(il)) THEN          !cor jyg
    493501         cbmflim(il) = cbmflim(il)+MLIM(il,k)
    494502        ENDIF
     
    509517       cbmf1(il) = alp2(il)/(0.5*wb*wb-Cin(il))
    510518       if(cbmf1(il).EQ.0.AND.alp2(il).NE.0.) THEN
    511         print*,'cv3p1_closure cbmf1=0 and alp NE 0 il alp2 alp cin ',il,
     519        write(lunout,*)
     520     &  'cv3p1_closure cbmf1=0 and alp NE 0 il alp2 alp cin ',il,
    512521     . alp2(il),alp(il),cin(il)
    513         STOP
     522        abort_message = ''
     523        CALL abort_gcm (modname,abort_message,1)
    514524       endif
    515525       cbmfmax(il) = sigmax*wb2(il)*100.*p(il,icb(il))
     
    540550        do il = 1,ncum
    541551         IF ( k .ge. icb(il)+1 .AND. k .le. inb(il)) THEN
    542          sig(il,k) = beta*sig(il,k)+(1.-beta)*coef(il)*siglim(il,k)
    543 cc         sig(il,k) = beta*sig(il,k)+siglim(il,k)
    544          w0(il,k) = beta*w0(il,k)  +(1.-beta)*wlim(il,k)
    545          AMU=SIG(il,k)*W0(il,k)
     552         amu=beta*sig(il,k)*w0(il,k)+
     553     :   (1.-beta)*coef(il)*siglim(il,k)*wlim(il,k)
     554         w0(il,k) = wlim(il,k)
     555         w0(il,k) =max(w0(il,k),1.e-10)
     556         sig(il,k)=amu/w0(il,k)
     557         sig(il,k)=min(sig(il,k),1.)
    546558cc         amu = 0.5*(SIG(il,k)+sigold(il,k))*W0(il,k)
    547559         M(il,k)=AMU*0.007*P(il,k)*(PH(il,k)-PH(il,k+1))/TV(il,k)
Note: See TracChangeset for help on using the changeset viewer.