source: LMDZ4/trunk/libf/phylmd/ini_histrac.h @ 524

Last change on this file since 524 was 524, checked in by lmdzadmin, 20 years ago

Initial revision

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 13.7 KB
Line 
1!
2! $Header$
3!
4         CALL ymds2ju(annee_ref, 1, day_ref, 0.0, zjulian)
5c
6         CALL gr_fi_ecrit(1,klon,iim,jjm+1,xlon,zx_lon)
7         DO i = 1, iim
8            zx_lon(i,1) = xlon(i+1)
9            zx_lon(i,jjm+1) = xlon(i+1)
10         ENDDO
11         CALL gr_fi_ecrit(1,klon,iim,jjm+1,xlat,zx_lat)
12         CALL histbeg("histrac", iim,zx_lon(:,1), jjm+1,zx_lat(1,:),
13     .                 1,iim,1,jjm+1, itau_phy, zjulian, pdtphys,
14     .                 nhori, nid_tra)
15         CALL histvert(nid_tra, "presnivs", "Vertical levels", "mb",
16     .                 klev, presnivs, nvert)
17
18#ifdef INCA_AER
19         CALL histbeg("histrac_aer", iim,zx_lon, jjm+1,zx_lat,
20     .                 1,iim,1,jjm+1,  itau_phy, zjulian, pdtphys,
21     .                 nhori, nid_tra2)
22
23         CALL histbeg("histrac_inst", iim,zx_lon, jjm+1,zx_lat,
24     .                 1,iim,1,jjm+1,  itau_phy, zjulian, pdtphys,
25     .                 nhori, nid_tra3)
26
27         call histvert(nid_tra2, "presnivs", "presnivs", "mb",
28     .                 klev, presnivs, nvert)
29         call histvert(nid_tra3, "presnivs", "presnivs", "mb",
30     .                 klev, presnivs, nvert)
31#endif
32
33#ifdef INCA
34!        call histvert(nid_tra, "ap", "Hybrid A parameter", "-",
35!    .                 klev+1, ap, nverta)
36!        call histvert(nid_tra, "bp", "Hybrid B parameter", "-",
37!    .                 klev+1, bp, nvertb)
38#endif
39
40         zsto = pdtphys
41         zout = pdtphys * FLOAT(ecrit_tra)
42c
43         CALL histdef(nid_tra, "phis", "Surface geop. height", "-",
44     .                iim,jjm+1,nhori, 1,1,1, -99, 32,
45     .                "once",  zsto,zout)
46c
47         CALL histdef(nid_tra, "aire", "Grid area", "-",
48     .                iim,jjm+1,nhori, 1,1,1, -99, 32,
49     .                "once",  zsto,zout)
50#ifdef INCA
51         CALL histdef(nid_tra, "ps", "Surface pressure", "Pa",
52     .                iim,jjm+1,nhori, 1,1,1,-99, 32,
53     .                "ave(X)", zsto,zout)
54
55         CALL histdef(nid_tra, "ptrop", "Tropopause pressure", "Pa",
56     .                iim,jjm+1,nhori, 1,1,1,-99, 32,
57     .                "ave(X)", zsto,zout)
58
59C   3d FIELDS
60         CALL histdef(nid_tra, "temp", "Air temperature", "K",
61     .                iim,jjm+1,nhori, klev,1,klev,nvert, 32,
62     .                "ave(X)", zsto,zout)
63
64         CALL histdef(nid_tra, "u", "zonal wind component", "m/s",
65     .                iim,jjm+1,nhori, klev,1,klev,nvert, 32,
66     .                "ave(X)", zsto,zout)
67
68         CALL histdef(nid_tra, "v", "zonal wind component", "m/s",
69     .                iim,jjm+1,nhori, klev,1,klev,nvert, 32,
70     .                "ave(X)", zsto,zout)
71
72         CALL histdef(nid_tra, "h2o", "Specific Humidity", "MMR",
73     .                iim,jjm+1,nhori, klev,1,klev,nvert, 32,
74     .                "ave(X)", zsto,zout)
75
76         CALL histdef(nid_tra, "pmid", "Pressure", "Pa",
77     .                iim,jjm+1,nhori, klev,1,klev,nvert, 32,
78     .                "ave(X)", zsto,zout)
79
80         CALL histdef(nid_tra, "pdel", "Delta Pressure", "Pa",
81     .                iim,jjm+1,nhori, klev,1,klev,nvert, 32,
82     .                "ave(X)", zsto,zout)
83
84! MS info
85         CALL histdef(nid_tra, "airm", "Air mass", "kg",
86     .                iim,jjm+1,nhori, klev,1,klev,nvert, 32,
87     .                "ave(X)", zsto,zout)
88
89#ifdef INCA_CH4
90#ifdef INCAINFO
91         DO it=1, phtcnt
92         WRITE(str2,'(i2.2)') it
93         CALL histdef(nid_tra, "j"//str2,"j"//str2, "CM-3 S-1",
94     .                iim,jjm+1,nhori, klev,1,klev,nvert, 32,
95     .                "ave(X)", zsto,zout)
96         ENDDO
97         DO it=1, hetcnt
98         WRITE(str2,'(i2.2)') it
99         CALL histdef(nid_tra, "w"//str2,"w"//str2, "S-1",
100     .                iim,jjm+1,nhori, klev,1,klev,nvert, 32,
101     .                "ave(X)", zsto,zout)
102         ENDDO
103
104         DO it=1, extcnt
105         WRITE(str2,'(i2.2)') it
106         CALL histdef(nid_tra, "ext"//str2,"ext"//str2, "CM-3 S-1",
107     .                iim,jjm+1,nhori, klev,1,klev,nvert, 32,
108     .                "ave(X)", zsto,zout)
109         ENDDO
110
111         DO it=1, nfs
112         WRITE(str2,'(i2.2)') it
113         CALL histdef(nid_tra, "INV"//str2, "INV"//str2, "CM-3",
114     .                iim,jjm+1,nhori, klev,1,klev,nvert, 32,
115     .                "ave(X)", zsto,zout)
116         ENDDO
117
118#else
119         CALL histdef(nid_tra, "jO3","jO3", "CM-3 S-1",
120     .                iim,jjm+1,nhori, klev,1,klev,nvert, 32,
121     .                "ave(X)", zsto,zout)
122         CALL histdef(nid_tra, "jNO2","jNO2", "CM-3 S-1",
123     .                iim,jjm+1,nhori, klev,1,klev,nvert, 32,
124     .                "ave(X)", zsto,zout)
125         CALL histdef(nid_tra, "jH2O2","jH2O2", "CM-3 S-1",
126     .                iim,jjm+1,nhori, klev,1,klev,nvert, 32,
127     .                "ave(X)", zsto,zout)
128         CALL histdef(nid_tra, "wHNO3","wHNO3", "S-1",
129     .                iim,jjm+1,nhori, klev,1,klev,nvert, 32,
130     .                "ave(X)", zsto,zout)
131         CALL histdef(nid_tra, "kN2O5", "kN2O5","CM-3 S-1",
132     .                iim,jjm+1,nhori, klev,1,klev,nvert, 32,
133     .                "ave(X)", zsto,zout)
134         CALL histdef(nid_tra, "LghtNO","LghtNO", "CM-3 S-1",
135     .                iim,jjm+1,nhori, klev,1,klev,nvert, 32,
136     .                "ave(X)", zsto,zout)
137#endif
138
139         DO it=1, grpcnt
140         CALL histdef(nid_tra, grpsym(it), grpsym(it), "VMR",
141     .                iim,jjm+1,nhori, klev,1,klev,nvert, 32,
142     .                "ave(X)", zsto,zout)
143         ENDDO
144#endif
145
146#ifdef INCA_AER
147
148        CALL histdef(nid_tra2, "scavcoef_st","scavcoef_st", "S-1",
149     .                iim,jjm+1,nhori, klev,1,klev,nvert, 32,
150     .                "ave(X)", zsto,zout)
151        CALL histdef(nid_tra2, "scavcoef_cv","scavcoef_cv", "S-1",
152     .                iim,jjm+1,nhori, klev,1,klev,nvert, 32,
153     .                "ave(X)", zsto,zout)
154        CALL histdef(nid_tra2, "AngstroemComp","AngstroemComp",
155     .      "angs comp", iim,jjm+1,nhori, 1,1,1, -99, 32,
156     .      "ave(X)", zsto,zout)
157
158#endif
159#endif
160         DO it=1,nqmax
161C champ 2D
162#ifdef INCA
163         IF ( prt_flag_ts(it) == 0 ) CYCLE
164
165         CALL histdef(nid_tra, "Emi_"//solsym(it), "Emi_"//solsym(it),
166     .           "kg/m2/s", iim,jjm+1,nhori, 1,1,1, -99, 32,
167     .           "ave(X)", zsto,zout)
168         CALL histdef(nid_tra, "Dep_"//solsym(it), "Dep_"//solsym(it),
169     .           "cm/s", iim,jjm+1,nhori, 1,1,1, -99, 32,
170     .           "ave(X)", zsto,zout)
171#ifdef INCA_AER
172        IF  ((it .ge. trmx) .and. (it .le. trnx)) then
173          CALL histdef(nid_tra2, "Sed_"//solsym(it), "Sed_"//solsym(it),
174     .      "kg/m2/s", iim,jjm+1,nhori, 1,1,1, -99, 32,
175     .      "ave(X)", zsto,zout)
176          CALL histdef(nid_tra2, "Dry_"//solsym(it), "Dry_"//solsym(it),
177     .      "kg/m2/s", iim,jjm+1,nhori, 1,1,1, -99, 32,
178     .      "ave(X)", zsto,zout)
179          CALL histdef(nid_tra2, "Wet_"//solsym(it), "Wet_"//solsym(it),
180     .      "kg/m2/s", iim,jjm+1,nhori, 1,1,1, -99, 32,
181     .      "ave(X)", zsto,zout)
182          CALL histdef(nid_tra2, "WetST_"//solsym(it), "WetST_"//solsym(it),
183     .      "kg/m2/s", iim,jjm+1,nhori, 1,1,1, -99, 32,
184     .      "ave(X)", zsto,zout)
185          CALL histdef(nid_tra2, "WetCV_"//solsym(it), "WetCV_"//solsym(it),
186     .      "kg/m2/s", iim,jjm+1,nhori, 1,1,1, -99, 32,
187     .      "ave(X)", zsto,zout)
188          CALL histdef(nid_tra2, "Emi_alt_"//solsym(it), "Emi_alt_"//solsym(it),
189     .      "kg/m2/s", iim,jjm+1,nhori, klev,1,klev,nvert, 32,
190     .      "ave(X)", zsto,zout)
191          CALL histdef(nid_tra2, "Load_"//solsym(it), "Load_"//solsym(it),
192     .      "kg/m2", iim,jjm+1,nhori, 1,1,1, -99, 32,
193     .      "ave(X)", zsto,zout)
194          CALL histdef(nid_tra2, "SConc_"//solsym(it), "SConc_"//solsym(it),
195     .      "kg/m3", iim,jjm+1,nhori, 1,1,1, -99, 32,
196     .      "ave(X)", zsto,zout)
197          do la=1,las
198           CALL histdef(nid_tra2, "OD_"//cla(la)//solsym(it),
199     .                            "OD_"//cla(la)//solsym(it),
200     .        "opt. depth", iim,jjm+1,nhori, 1,1,1, -99, 32,
201     .        "ave(X)", zsto,zout)
202          enddo
203          CALL histdef(nid_tra2, "MD_"//solsym(it), "MD_"//solsym(it),
204     .      "median diameter", iim,jjm+1,nhori, klev,1,klev, nvert, 32,
205     .      "ave(X)", zsto,zout)
206          CALL histdef(nid_tra3, "Inst_Load_"//solsym(it),
207     .                          "Inst_Load_"//solsym(it),
208     .      "kg/m2", iim,jjm+1,nhori, 1,1,1, -99, 32,
209     .      "inst(X)", zout,zout)
210        endif
211#endif
212         CALL histdef(nid_tra, solsym(it), solsym(it), "VMR",
213     .                iim,jjm+1,nhori, klev,1,klev,nvert, 32,
214     .                "ave(X)", zsto,zout)
215#else
216         iq=it+2
217         iiq=niadv(iq)
218         CALL histdef(nid_tra, tnom(iq), ttext(iiq), "U/kga",
219     .                iim,jjm+1,nhori, klev,1,klev,nvert, 32,
220     .                "ave(X)", zsto,zout)
221         if (lessivage) THEN
222         CALL histdef(nid_tra, "fl"//tnom(iq),"Flux "//ttext(iiq),
223     .              "U/m2/s",iim,jjm+1,nhori, klev,1,klev,nvert, 32,
224     .              "ave(X)", zsto,zout)
225         endif
226#endif
227         ENDDO
228#ifdef INCA
229#ifdef INCA_CH4
230         CALL histdef(nid_tra, "O3_column", "O3_column",
231     .           "DU", iim,jjm+1,nhori, 1,1,1, -99, 32,
232     .           "ave(X)", zsto,zout)
233         CALL histdef(nid_tra, "CO_column", "CO_column",
234     .           "10^18 CM-2", iim,jjm+1,nhori, 1,1,1, -99, 32,
235     .           "ave(X)", zsto,zout)
236         CALL histdef(nid_tra, "CH4_column", "CH4_column",
237     .           "10^18 CM-2", iim,jjm+1,nhori, 1,1,1, -99, 32,
238     .           "ave(X)", zsto,zout)
239         CALL histdef(nid_tra, "NO2_column", "NO2_column",
240     .           "10^15 CM-2", iim,jjm+1,nhori, 1,1,1, -99, 32,
241     .           "ave(X)", zsto,zout)
242         CALL histdef(nid_tra, "O3_ste", "O3_ste",
243     .           "CM-2 S-1", iim,jjm+1,nhori, 1,1,1, -99, 32,
244     .           "ave(X)", zsto,zout)
245         CALL histdef(nid_tra, "O3_prod", "O3_prod", "CM-3 S-1",
246     .                iim,jjm+1,nhori, klev,1,klev,nvert, 32,
247     .                "ave(X)", zsto,zout)
248         CALL histdef(nid_tra, "O3_loss", "O3_loss", "CM-3 S-1",
249     .                iim,jjm+1,nhori, klev,1,klev,nvert, 32,
250     .                "ave(X)", zsto,zout)
251
252!        Special variables for daytime averaging
253!        CALL histdef(nid_tra, "day_cnt", "day_cnt", "-",
254!    .                iim,jjm+1,nhori, klev,1,klev,nvert, 32,
255!    .                "t_sum(X)", zsto,zout)
256!        CALL histdef(nid_tra, "NO_day", "NO_day", "VMR",
257!    .                iim,jjm+1,nhori, klev,1,klev,nvert, 32,
258!    .                "t_sum(X)", zsto,zout)
259
260#endif
261#else
262         CALL histdef(nid_tra, "pyu1", "Vent niv 1", "-",
263     .                iim,jjm+1,nhori, 1,1,1, -99, 32,
264     .                "inst(X)",  zsto,zout)
265
266         CALL histdef(nid_tra, "pyv1", "Vent niv 1", "-",
267     .                iim,jjm+1,nhori, 1,1,1, -99, 32,
268     .                "inst(X)",  zsto,zout)
269         CALL histdef(nid_tra, "psrf1", "nature sol", "-",
270     .                iim,jjm+1,nhori, 1,1,1, -99, 32,
271     .                "inst(X)",  zsto,zout)
272         CALL histdef(nid_tra, "psrf2", "nature sol", "-",
273     .                iim,jjm+1,nhori, 1,1,1, -99, 32,
274     .                "inst(X)",  zsto,zout)
275         CALL histdef(nid_tra, "psrf3", "nature sol", "-",
276     .                iim,jjm+1,nhori, 1,1,1, -99, 32,
277     .                "inst(X)",  zsto,zout)
278         CALL histdef(nid_tra, "psrf4", "nature sol", "-",
279     .                iim,jjm+1,nhori, 1,1,1, -99, 32,
280     .                "inst(X)",  zsto,zout)
281         CALL histdef(nid_tra, "ftsol1", "temper sol", "-",
282     .                iim,jjm+1,nhori, 1,1,1, -99, 32,
283     .                "inst(X)",  zsto,zout)
284         CALL histdef(nid_tra, "ftsol2", "temper sol", "-",
285     .                iim,jjm+1,nhori, 1,1,1, -99, 32,
286     .                "inst(X)",  zsto,zout)
287         CALL histdef(nid_tra, "ftsol3", "temper sol", "-",
288     .                iim,jjm+1,nhori, 1,1,1, -99, 32,
289     .                "inst",  zsto,zout)
290         CALL histdef(nid_tra, "ftsol4", "temper sol", "-",
291     .                iim,jjm+1,nhori, 1,1,1, -99, 32,
292     .                "inst(X)",  zsto,zout)
293         CALL histdef(nid_tra, "pplay", "flux u mont","-",
294     .                iim,jjm+1,nhori, klev,1,klev,nvert, 32,
295     .                "inst(X)", zsto,zout)
296         CALL histdef(nid_tra, "t", "flux u mont","-",
297     .                iim,jjm+1,nhori, klev,1,klev,nvert, 32,
298     .                "inst(X)", zsto,zout)
299         CALL histdef(nid_tra, "mfu", "flux u mont","-",
300     .                iim,jjm+1,nhori, klev,1,klev,nvert, 32,
301     .                "ave(X)", zsto,zout)
302         CALL histdef(nid_tra, "mfd", "flux u decen","-",
303     .                iim,jjm+1,nhori, klev,1,klev,nvert, 32,
304     .                "ave(X)", zsto,zout)
305         CALL histdef(nid_tra, "en_u", "flux u mont","-",
306     .                iim,jjm+1,nhori, klev,1,klev,nvert, 32,
307     .                "ave(X)", zsto,zout)
308         CALL histdef(nid_tra, "en_d", "flux u mont","-",
309     .                iim,jjm+1,nhori, klev,1,klev,nvert, 32,
310     .                "ave(X)", zsto,zout)
311         CALL histdef(nid_tra, "de_d", "flux u mont","-",
312     .                iim,jjm+1,nhori, klev,1,klev,nvert, 32,
313     .                "ave(X)", zsto,zout)
314         CALL histdef(nid_tra, "de_u", "flux u decen","-",
315     .                iim,jjm+1,nhori, klev,1,klev,nvert, 32,
316     .                "ave(X)", zsto,zout)
317         CALL histdef(nid_tra, "coefh", "turbulent coef","-",
318     .                iim,jjm+1,nhori, klev,1,klev,nvert, 32,
319     .                "ave(X)", zsto,zout)
320
321#endif
322c
323         CALL histend(nid_tra)
324#ifdef INCA_AER
325         CALL histend(nid_tra2)
326         CALL histend(nid_tra3)
327#endif
328         ndex2d = 0
329         ndex3d = 0
330         ndex = 0
Note: See TracBrowser for help on using the repository browser.