source: LMDZ4/trunk/libf/phylmd/ini_histmthNMC.h @ 5055

Last change on this file since 5055 was 1403, checked in by Laurent Fairhead, 14 years ago

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

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 5.4 KB
RevLine 
[524]1!
[1403]2! $Id: ini_histmthNMC.h 1403 2010-07-01 09:02:53Z evignon $
[524]3!
[766]4c$OMP MASTER
[1374]5c
6      IF (ok_histNMC(1)) THEN
7c
[1352]8       zout = freq_outNMC(1)
[524]9c
[1352]10       idayref = day_ref
11       CALL ymds2ju(annee_ref, 1, idayref, 0.0, zjulian)
[524]12c
[766]13cym         CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlon,zx_lon)
14cym         DO i = 1, iim
15cym            zx_lon(i,1) = rlon(i+1)
16cym            zx_lon(i,jjmp1) = rlon(i+1)
17cym         ENDDO
[524]18         DO ll=1,klev
[1403]19            znivsig(ll)=REAL(ll)
[524]20         ENDDO
[766]21cym         CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlat,zx_lat)
22cym         CALL histbeg("histNMC.nc", iim,zx_lon(:,1), jjmp1,zx_lat(1,:),
23cym     .                 1,iim,1,jjmp1, itau_phy, zjulian, dtime, 
[1352]24cym     .                 nhori, nid_mthnmc)
[766]25
[1352]26         CALL histbeg_phy("histmthNMC",itau_phy, zjulian, dtime, 
27     .                 nhori, nid_mthnmc)
[644]28c
[1400]29         CALL histvert(nid_mthnmc, "plev", "pressure", "Pa",
30     .                 nlevSTD, rlevSTD, nvert,"down")
[1398]31c
32cIM Astuce MAF: remplacer inst par ave pour les variables NMC pour avoir
33cIM             le time_counter et les bounds
34cIM
[644]35ccc Champs 3D interpolles sur des niveaux de pression du NMC
36ccc
[524]37c
[644]38c ATTENTION : pour AMIP2 on interpole t,u,v,wphi,q,rh
39c             sur les niveaux du NMC et on somme & moyenne
[1352]40c             toutes les freq_moyNMC secondes par des routines undefSTD et
[644]41c             moy_undefSTD pour eliminer les valeurs "undef"
42c             de la moyenne mensuelle
43c ======> le "inst(X)" ci-dessous est par consequence factice !
[524]44c
[1352]45c
46          CALL histdef(nid_mthnmc, "tnondef",
47     .                 "Valeurs non-definies","-",
[776]48     .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
[1398]49     .                "ave(X)", zout,zout)
[524]50c
[1352]51          CALL histdef(nid_mthnmc, "ta",
52     .                 "Air temperature","K",
[776]53     .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
[1398]54     .                "ave(X)", zout,zout)
[524]55c
[1352]56         CALL histdef(nid_mthnmc, "zg",
57     .                "Geopotential height", "m",
[776]58     .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
[1398]59     .                "ave(X)", zout,zout)
[644]60c
[1352]61          CALL histdef(nid_mthnmc, "hus",
62     .                 "Specific humidity","1",
63     .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
[1398]64     .                "ave(X)", zout,zout)
[1352]65c
66         CALL histdef(nid_mthnmc, "hur",
[644]67     .                 "Relative humidity", "%",
[776]68     .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
[1398]69     .                "ave(X)", zout,zout)
[644]70c
[1352]71          CALL histdef(nid_mthnmc, "ua",
72     .                 "Eastward wind","m s-1",
[776]73     .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
[1398]74     .                "ave(X)", zout,zout)
[644]75c
[1352]76          CALL histdef(nid_mthnmc, "va",
77     .                 "Northward wind","m s-1",
[776]78     .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
[1398]79     .                "ave(X)", zout,zout)
[644]80c
[1352]81          CALL histdef(nid_mthnmc, "wap",
82     .                 "Lagrangian tendency of air pressure","Pa s-1",
[776]83     .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
[1398]84     .                "ave(X)", zout,zout)
[644]85c
[1352]86          CALL histdef(nid_mthnmc, "psbg",
[644]87     .         "Pressure sfce below ground","%",
[776]88     .         iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
[1398]89     .         "ave(X)", zout,zout)
[644]90c
[1352]91          CALL histdef(nid_mthnmc, "uv",
[644]92     .         "uv ",
[776]93     .         "m2/s2",iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
[1398]94     .         "ave(X)", zout,zout)
[644]95c
[1352]96          CALL histdef(nid_mthnmc, "vq",
[644]97     .         "vq ",
[776]98     .         "m/s * (kg/kg)",iim,jj_nb,nhori, 
[644]99     .          nlevSTD,1,nlevSTD, nvert, 32,
[1398]100     .         "ave(X)", zout,zout)
[644]101c
[1352]102          CALL histdef(nid_mthnmc, "vT",
[644]103     .         "vT ", 
[776]104     .         "mK/s",iim,jj_nb,nhori, 
[644]105     .          nlevSTD,1,nlevSTD, nvert, 32,
[1398]106     .         "ave(X)", zout,zout)
[644]107c
[1352]108          CALL histdef(nid_mthnmc, "wq",
[644]109     .         "wq ", 
[776]110     .         "(Pa/s)*(kg/kg)",iim,jj_nb,nhori,
[644]111     .          nlevSTD,1,nlevSTD, nvert, 32,
[1398]112     .         "ave(X)", zout,zout)
[644]113c
[1352]114          CALL histdef(nid_mthnmc, "vphi",
[644]115     .         "vphi ", 
[776]116     .         "m2/s",iim,jj_nb,nhori, 
[644]117     .          nlevSTD,1,nlevSTD, nvert, 32,
[1398]118     .         "ave(X)", zout,zout)
[644]119c
[1352]120          CALL histdef(nid_mthnmc, "wT",
[644]121     .         "wT ", 
[776]122     .         "K*Pa/s",iim,jj_nb,nhori,
[644]123     .          nlevSTD,1,nlevSTD, nvert, 32,
[1398]124     .         "ave(X)", zout,zout)
[644]125c
[1352]126          CALL histdef(nid_mthnmc, "uxu",
[644]127     .         "u2 ", 
[776]128     .         "m2/s2",iim,jj_nb,nhori,
[644]129     .          nlevSTD,1,nlevSTD, nvert, 32,
[1398]130     .         "ave(X)", zout,zout)
[644]131c
[1352]132          CALL histdef(nid_mthnmc, "vxv",
[644]133     .         "v2 ", 
[776]134     .         "m2/s2",iim,jj_nb,nhori,
[644]135     .          nlevSTD,1,nlevSTD, nvert, 32,
[1398]136     .         "ave(X)", zout,zout)
[644]137c
[1352]138          CALL histdef(nid_mthnmc, "TxT",
[644]139     .         "T2 ", 
[776]140     .         "K2",iim,jj_nb,nhori,
[644]141     .          nlevSTD,1,nlevSTD, nvert, 32,
[1398]142     .         "ave(X)", zout,zout)
[644]143c
[1398]144          CALL histdef(nid_mthnmc, "tro3",
145     .         "Ozone mole fraction",
146     .         "1e-9",iim,jj_nb,nhori,
147     .          nlevSTD,1,nlevSTD, nvert, 32,
148     .         "ave(X)", zout,zout)
149c
150          if (read_climoz == 2) THEN
151           CALL histdef(nid_mthnmc, "tro3_daylight",
152     .         "Daylight ozone mole fraction",
153     .         "1e-9",iim,jj_nb,nhori,
154     .          nlevSTD,1,nlevSTD, nvert, 32,
155     .         "ave(X)", zout,zout)
156          endif
157c
[1352]158         CALL histend(nid_mthnmc)
[524]159c
[1374]160      ENDIF !(ok_histNMC(1)) THEN
161c
[766]162c$OMP END MASTER
Note: See TracBrowser for help on using the repository browser.