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

Last change on this file since 5442 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
Line 
1!
2! $Id: ini_histmthNMC.h 1403 2010-07-01 09:02:53Z fhourdin $
3!
4c$OMP MASTER
5c
6      IF (ok_histNMC(1)) THEN
7c
8       zout = freq_outNMC(1)
9c
10       idayref = day_ref
11       CALL ymds2ju(annee_ref, 1, idayref, 0.0, zjulian)
12c
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
18         DO ll=1,klev
19            znivsig(ll)=REAL(ll)
20         ENDDO
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, 
24cym     .                 nhori, nid_mthnmc)
25
26         CALL histbeg_phy("histmthNMC",itau_phy, zjulian, dtime, 
27     .                 nhori, nid_mthnmc)
28c
29         CALL histvert(nid_mthnmc, "plev", "pressure", "Pa",
30     .                 nlevSTD, rlevSTD, nvert,"down")
31c
32cIM Astuce MAF: remplacer inst par ave pour les variables NMC pour avoir
33cIM             le time_counter et les bounds
34cIM
35ccc Champs 3D interpolles sur des niveaux de pression du NMC
36ccc
37c
38c ATTENTION : pour AMIP2 on interpole t,u,v,wphi,q,rh
39c             sur les niveaux du NMC et on somme & moyenne
40c             toutes les freq_moyNMC secondes par des routines undefSTD et
41c             moy_undefSTD pour eliminer les valeurs "undef"
42c             de la moyenne mensuelle
43c ======> le "inst(X)" ci-dessous est par consequence factice !
44c
45c
46          CALL histdef(nid_mthnmc, "tnondef",
47     .                 "Valeurs non-definies","-",
48     .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
49     .                "ave(X)", zout,zout)
50c
51          CALL histdef(nid_mthnmc, "ta",
52     .                 "Air temperature","K",
53     .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
54     .                "ave(X)", zout,zout)
55c
56         CALL histdef(nid_mthnmc, "zg",
57     .                "Geopotential height", "m",
58     .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
59     .                "ave(X)", zout,zout)
60c
61          CALL histdef(nid_mthnmc, "hus",
62     .                 "Specific humidity","1",
63     .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
64     .                "ave(X)", zout,zout)
65c
66         CALL histdef(nid_mthnmc, "hur",
67     .                 "Relative humidity", "%",
68     .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
69     .                "ave(X)", zout,zout)
70c
71          CALL histdef(nid_mthnmc, "ua",
72     .                 "Eastward wind","m s-1",
73     .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
74     .                "ave(X)", zout,zout)
75c
76          CALL histdef(nid_mthnmc, "va",
77     .                 "Northward wind","m s-1",
78     .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
79     .                "ave(X)", zout,zout)
80c
81          CALL histdef(nid_mthnmc, "wap",
82     .                 "Lagrangian tendency of air pressure","Pa s-1",
83     .                iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
84     .                "ave(X)", zout,zout)
85c
86          CALL histdef(nid_mthnmc, "psbg",
87     .         "Pressure sfce below ground","%",
88     .         iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
89     .         "ave(X)", zout,zout)
90c
91          CALL histdef(nid_mthnmc, "uv",
92     .         "uv ",
93     .         "m2/s2",iim,jj_nb,nhori, nlevSTD,1,nlevSTD, nvert, 32,
94     .         "ave(X)", zout,zout)
95c
96          CALL histdef(nid_mthnmc, "vq",
97     .         "vq ",
98     .         "m/s * (kg/kg)",iim,jj_nb,nhori, 
99     .          nlevSTD,1,nlevSTD, nvert, 32,
100     .         "ave(X)", zout,zout)
101c
102          CALL histdef(nid_mthnmc, "vT",
103     .         "vT ", 
104     .         "mK/s",iim,jj_nb,nhori, 
105     .          nlevSTD,1,nlevSTD, nvert, 32,
106     .         "ave(X)", zout,zout)
107c
108          CALL histdef(nid_mthnmc, "wq",
109     .         "wq ", 
110     .         "(Pa/s)*(kg/kg)",iim,jj_nb,nhori,
111     .          nlevSTD,1,nlevSTD, nvert, 32,
112     .         "ave(X)", zout,zout)
113c
114          CALL histdef(nid_mthnmc, "vphi",
115     .         "vphi ", 
116     .         "m2/s",iim,jj_nb,nhori, 
117     .          nlevSTD,1,nlevSTD, nvert, 32,
118     .         "ave(X)", zout,zout)
119c
120          CALL histdef(nid_mthnmc, "wT",
121     .         "wT ", 
122     .         "K*Pa/s",iim,jj_nb,nhori,
123     .          nlevSTD,1,nlevSTD, nvert, 32,
124     .         "ave(X)", zout,zout)
125c
126          CALL histdef(nid_mthnmc, "uxu",
127     .         "u2 ", 
128     .         "m2/s2",iim,jj_nb,nhori,
129     .          nlevSTD,1,nlevSTD, nvert, 32,
130     .         "ave(X)", zout,zout)
131c
132          CALL histdef(nid_mthnmc, "vxv",
133     .         "v2 ", 
134     .         "m2/s2",iim,jj_nb,nhori,
135     .          nlevSTD,1,nlevSTD, nvert, 32,
136     .         "ave(X)", zout,zout)
137c
138          CALL histdef(nid_mthnmc, "TxT",
139     .         "T2 ", 
140     .         "K2",iim,jj_nb,nhori,
141     .          nlevSTD,1,nlevSTD, nvert, 32,
142     .         "ave(X)", zout,zout)
143c
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
158         CALL histend(nid_mthnmc)
159c
160      ENDIF !(ok_histNMC(1)) THEN
161c
162c$OMP END MASTER
Note: See TracBrowser for help on using the repository browser.