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/dyn3d/ppm3d.F

    r695 r1403  
    11!
    2 ! $Header$
     2! $Id$
    33!
    44
     
    345345C
    346346      PI = 4. * ATAN(1.)
    347       DL = 2.*PI / float(IMR)
    348       DP =    PI / float(JMR)
     347      DL = 2.*PI / REAL(IMR)
     348      DP =    PI / REAL(JMR)
    349349C
    350350      if(IGD.eq.0) then
     
    388388      ZTC  = acos(CR1) * (180./PI)
    389389C
    390       JS0 = float(JMR)*(90.-ZTC)/180. + 2
     390      JS0 = REAL(JMR)*(90.-ZTC)/180. + 2
    391391      JS0 = max(JS0, J1+1)
    392392      IML = min(6*JS0/(J1-1)+2, 4*IMR/5)
     
    628628C Contribution from the N-S advection
    629629      do i=1,imr*(j2-j1+1)
    630       JT = float(J1) - VA(i,j1)
     630      JT = REAL(J1) - VA(i,j1)
    631631      wk1(i,j1,2) = VA(i,j1) * (q(i,jt,k,IC) - q(i,jt+1,k,IC))
    632632      enddo
     
    949949      IF(IORD.eq.1 .or. j.eq.j1. or. j.eq.j2) THEN
    950950      DO 1406 i=1,IMR
    951       iu = float(i) - uc(i,j)
     951      iu = REAL(i) - uc(i,j)
    9529521406  fx1(i) = qtmp(iu)
    953953      ELSE
     
    957957      if(IORD.eq.2 .or. j.le.j1vl .or. j.ge.j2vl) then
    958958      DO 1408 i=1,IMR
    959       iu = float(i) - uc(i,j)
     959      iu = REAL(i) - uc(i,j)
    9609601408  fx1(i) = qtmp(iu) + DC(iu)*(sign(1.,uc(i,j))-uc(i,j))
    961961      else
     
    11111111      if(JORD.eq.1) then
    11121112      DO 1000 i=1,len
    1113       JT = float(J1) - VC(i,J1)
     1113      JT = REAL(J1) - VC(i,J1)
    111411141000  fx(i,j1) = p(i,JT)
    11151115      else
     
    11231123      else
    11241124      DO 1200 i=1,len
    1125       JT = float(J1) - VC(i,J1)
     1125      JT = REAL(J1) - VC(i,J1)
    112611261200  fx(i,j1) = p(i,JT) + (sign(1.,VC(i,j1))-VC(i,j1))*DC2(i,JT)
    11271127      endif
     
    13581358        do j=j1-1,j2+1
    13591359      do i=1,imr
    1360       JP = float(j)-VA(i,j)
     1360      JP = REAL(j)-VA(i,j)
    13611361      ady(i,j) = VA(i,j)*(wk(i,jp)-wk(i,jp+1))
    13621362      enddo
     
    15821582      JMR = JNP-1
    15831583      do 55 j=2,JNP
    1584         ph5  =  -0.5*PI + (FLOAT(J-1)-0.5)*DP
     1584        ph5  =  -0.5*PI + (REAL(J-1)-0.5)*DP
    1585158555      cose(j) = cos(ph5)
    15861586C
     
    18341834C
    18351835c      if(first) then
    1836       DP = 4.*ATAN(1.)/float(JNP-1)
     1836      DP = 4.*ATAN(1.)/REAL(JNP-1)
    18371837      CAP1 = IMR*(1.-COS((j1-1.5)*DP))/DP
    18381838c      first = .false.
     
    18891889C Check Poles.
    18901890      if(q(1,1).lt.0.) then
    1891       dq = q(1,1)*cap1/float(IMR)*acosp(j1)
     1891      dq = q(1,1)*cap1/REAL(IMR)*acosp(j1)
    18921892      do i=1,imr
    18931893      q(i,1) = 0.
     
    18981898C
    18991899      if(q(1,JNP).lt.0.) then
    1900       dq = q(1,JNP)*cap1/float(IMR)*acosp(j2)
     1900      dq = q(1,JNP)*cap1/REAL(IMR)*acosp(j2)
    19011901      do i=1,imr
    19021902      q(i,JNP) = 0.
Note: See TracChangeset for help on using the changeset viewer.