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/bibio/initdynav.F

    r1279 r1403  
    22! $Id$
    33!
    4       subroutine initdynav(infile,day0,anne0,tstep,t_ops,t_wrt
    5      .                     ,fileid)
     4      subroutine initdynav(day0,anne0,tstep,t_ops,t_wrt)
    65
    76#ifdef CPP_IOIPSL
     
    98#endif
    109       USE infotrac, ONLY : nqtot, ttext
    11 
     10      use com_io_dyn_mod, only : histaveid,histvaveid,histuaveid,       &
     11     &        dynhistave_file,dynhistvave_file,dynhistuave_file
    1212      implicit none
    1313
     
    3030C      t_wrt: frequence d'ecriture sur le fichier
    3131C
    32 C   Sortie:
    33 C      fileid: ID du fichier netcdf cree
    3432C
    3533C   L. Fairhead, LMD, 03/99
     
    5250C   Arguments
    5351C
    54       character*(*) infile
    5552      integer day0, anne0
    5653      real tstep, t_ops, t_wrt
    57       integer fileid
    5854
    5955#ifdef CPP_IOIPSL
     
    6157C   Variables locales
    6258C
    63       integer thoriid, zvertiid
    6459      integer tau0
    6560      real zjulian
    6661      integer iq
    6762      real rlong(iip1,jjp1), rlat(iip1,jjp1)
     63      integer uhoriid, vhoriid, thoriid, zvertiid
    6864      integer ii,jj
    6965      integer zan, dayref
     
    8884      enddo
    8985       
    90       call histbeg(infile, iip1, rlong(:,1), jjp1, rlat(1,:),
     86! Creation de 3 fichiers pour les differentes grilles horizontales
     87! Restriction de IOIPSL: seulement 2 coordonnees dans le meme fichier
     88! Grille Scalaire       
     89      call histbeg(dynhistave_file, iip1, rlong(:,1), jjp1, rlat(1,:),
    9190     .             1, iip1, 1, jjp1,
    92      .             tau0, zjulian, tstep, thoriid, fileid)
    93 
     91     .             tau0, zjulian, tstep, thoriid,histaveid)
     92
     93C  Creation du fichier histoire pour les grilles en V et U (oblige pour l'instant,
     94C  IOIPSL ne permet pas de grilles avec des nombres de point differents dans
     95C  un meme fichier)
     96! Grille V
     97      do jj = 1, jjm
     98        do ii = 1, iip1
     99          rlong(ii,jj) = rlonv(ii) * 180. / pi
     100          rlat(ii,jj) = rlatv(jj) * 180. / pi
     101        enddo
     102      enddo
     103
     104      call histbeg(dynhistvave_file, iip1, rlong(:,1), jjm, rlat(1,:),
     105     .             1, iip1, 1, jjm,
     106     .             tau0, zjulian, tstep, vhoriid,histvaveid)
     107! Grille U
     108      do jj = 1, jjp1
     109        do ii = 1, iip1
     110          rlong(ii,jj) = rlonu(ii) * 180. / pi
     111          rlat(ii,jj) = rlatu(jj) * 180. / pi
     112        enddo
     113      enddo
     114
     115      call histbeg(dynhistuave_file, iip1, rlong(:,1),jjp1, rlat(1,:),
     116     .             1, iip1, 1, jjp1,
     117     .             tau0, zjulian, tstep, uhoriid,histuaveid)
    94118C
    95119C  Appel a histvert pour la grille verticale
    96120C
    97       call histvert(fileid, 'sigss', 'Niveaux sigma','Pa',
    98      .              llm, nivsigs, zvertiid)
     121      call histvert(histaveid,'presnivs','Niveaux Pression
     122     &     approximatifs','mb',llm, presnivs/100., zvertiid,'down')
     123      call histvert(histuaveid,'presnivs','Niveaux Pression
     124     &     approximatifs','mb',llm, presnivs/100., zvertiid,'down')
     125      call histvert(histvaveid,'presnivs','Niveaux Pression
     126     &     approximatifs','mb',llm, presnivs/100., zvertiid,'down')
    99127C
    100128C  Appels a histdef pour la definition des variables a sauvegarder
     
    102130C  Vents U
    103131C
    104       write(6,*)'inithistave',tstep
    105       call histdef(fileid, 'u', 'vents u scalaires moyennes',
    106      .             'm/s', iip1, jjp1, thoriid, llm, 1, llm, zvertiid,
    107      .             32, 'ave(X)', t_ops, t_wrt)
    108 
    109 C
     132!      write(6,*)'inithistave',tstep
     133      call histdef(histuaveid, 'u', 'vent u moyen ',
     134     .             'm/s', iip1, jjp1, uhoriid, llm, 1, llm, zvertiid,
     135     .             32, 'ave(X)', t_ops, t_wrt)
     136
    110137C  Vents V
    111138C
    112       call histdef(fileid, 'v', 'vents v scalaires moyennes',
    113      .             'm/s', iip1, jjp1, thoriid, llm, 1, llm, zvertiid,
     139      call histdef(histvaveid, 'v', 'vent v moyen',
     140     .             'm/s', iip1, jjm, vhoriid, llm, 1, llm, zvertiid,
    114141     .             32, 'ave(X)', t_ops, t_wrt)
    115142
     
    117144C  Temperature
    118145C
    119       call histdef(fileid, 'temp', 'temperature moyennee', 'K',
     146      call histdef(histaveid, 'temp', 'temperature moyenne', 'K',
    120147     .             iip1, jjp1, thoriid, llm, 1, llm, zvertiid,
    121148     .             32, 'ave(X)', t_ops, t_wrt)
     
    123150C  Temperature potentielle
    124151C
    125       call histdef(fileid, 'theta', 'temperature potentielle', 'K',
    126      .             iip1, jjp1, thoriid, llm, 1, llm, zvertiid,
    127      .             32, 'ave(X)', t_ops, t_wrt)
    128 
    129 
     152      call histdef(histaveid, 'theta', 'temperature potentielle', 'K',
     153     .             iip1, jjp1, thoriid, llm, 1, llm, zvertiid,
     154     .             32, 'ave(X)', t_ops, t_wrt)
    130155C
    131156C  Geopotentiel
    132157C
    133       call histdef(fileid, 'phi', 'geopotentiel moyenne', '-',
     158      call histdef(histaveid, 'phi', 'geopotentiel moyen', '-',
    134159     .             iip1, jjp1, thoriid, llm, 1, llm, zvertiid,
    135160     .             32, 'ave(X)', t_ops, t_wrt)
     
    137162C  Traceurs
    138163C
    139         DO iq=1,nqtot
    140           call histdef(fileid, ttext(iq), ttext(iq), '-',
    141      .             iip1, jjp1, thoriid, llm, 1, llm, zvertiid,
    142      .             32, 'ave(X)', t_ops, t_wrt)
    143         enddo
     164!        DO iq=1,nqtot
     165!          call histdef(histaveid, ttext(iq), ttext(iq), '-',
     166!     .             iip1, jjp1, thoriid, llm, 1, llm, zvertiid,
     167!     .             32, 'ave(X)', t_ops, t_wrt)
     168!        enddo
    144169C
    145170C  Masse
    146171C
    147       call histdef(fileid, 'masse', 'masse', 'kg',
     172      call histdef(histaveid, 'masse', 'masse', 'kg',
     173     .             iip1, jjp1, thoriid, llm, 1, llm, zvertiid,
     174     .             32, 'ave(X)', t_ops, t_wrt)
     175C
     176C  Pression au sol
     177C
     178      call histdef(histaveid, 'ps', 'pression naturelle au sol', 'Pa',
    148179     .             iip1, jjp1, thoriid, 1, 1, 1, -99,
    149180     .             32, 'ave(X)', t_ops, t_wrt)
    150181C
    151 C  Pression au sol
    152 C
    153       call histdef(fileid, 'ps', 'pression naturelle au sol', 'Pa',
    154      .             iip1, jjp1, thoriid, 1, 1, 1, -99,
    155      .             32, 'ave(X)', t_ops, t_wrt)
    156 C
    157 C  Pression au sol
    158 C
    159       call histdef(fileid, 'phis', 'geopotentiel au sol', '-',
    160      .             iip1, jjp1, thoriid, 1, 1, 1, -99,
    161      .             32, 'ave(X)', t_ops, t_wrt)
    162 C
     182C  Geopotentiel au sol
     183C
     184!      call histdef(histaveid, 'phis', 'geopotentiel au sol', '-',
     185!     .             iip1, jjp1, thoriid, 1, 1, 1, -99,
     186!     .             32, 'ave(X)', t_ops, t_wrt)
     187!C
    163188C  Fin
    164189C
    165       call histend(fileid)
     190      call histend(histaveid)
     191      call histend(histuaveid)
     192      call histend(histvaveid)
    166193#else
    167194! tell the user this routine should be run with ioipsl
Note: See TracChangeset for help on using the changeset viewer.