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

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

Rajout de declarations de tendances par O.Coindreau
LF

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 14.3 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
227c---Ajout Olivia
228         CALL histdef(nid_tra, "d_tr_th_"//tnom(iq),
229     .                "tendance thermique"// ttext(iiq), "?",
230     .                iim,jjm+1,nhori, klev,1,klev,nvert, 32,
231     .                "ave(X)", zsto,zout)
232         CALL histdef(nid_tra, "d_tr_cv_"//tnom(iq),
233     .                "tendance convection"// ttext(iiq), "?",
234     .                iim,jjm+1,nhori, klev,1,klev,nvert, 32,
235     .                "ave(X)", zsto,zout)
236         CALL histdef(nid_tra, "d_tr_cl_"//tnom(iq),
237     .                "tendance couche limite"// ttext(iiq), "?",
238     .                iim,jjm+1,nhori, klev,1,klev,nvert, 32,
239     .                "ave(X)", zsto,zout)
240c---fin Olivia   
241
242#endif
243         ENDDO
244
245#ifdef INCA
246#ifdef INCA_CH4
247         CALL histdef(nid_tra, "O3_column", "O3_column",
248     .           "DU", iim,jjm+1,nhori, 1,1,1, -99, 32,
249     .           "ave(X)", zsto,zout)
250         CALL histdef(nid_tra, "CO_column", "CO_column",
251     .           "10^18 CM-2", iim,jjm+1,nhori, 1,1,1, -99, 32,
252     .           "ave(X)", zsto,zout)
253         CALL histdef(nid_tra, "CH4_column", "CH4_column",
254     .           "10^18 CM-2", iim,jjm+1,nhori, 1,1,1, -99, 32,
255     .           "ave(X)", zsto,zout)
256         CALL histdef(nid_tra, "NO2_column", "NO2_column",
257     .           "10^15 CM-2", iim,jjm+1,nhori, 1,1,1, -99, 32,
258     .           "ave(X)", zsto,zout)
259         CALL histdef(nid_tra, "O3_ste", "O3_ste",
260     .           "CM-2 S-1", iim,jjm+1,nhori, 1,1,1, -99, 32,
261     .           "ave(X)", zsto,zout)
262         CALL histdef(nid_tra, "O3_prod", "O3_prod", "CM-3 S-1",
263     .                iim,jjm+1,nhori, klev,1,klev,nvert, 32,
264     .                "ave(X)", zsto,zout)
265         CALL histdef(nid_tra, "O3_loss", "O3_loss", "CM-3 S-1",
266     .                iim,jjm+1,nhori, klev,1,klev,nvert, 32,
267     .                "ave(X)", zsto,zout)
268
269!        Special variables for daytime averaging
270!        CALL histdef(nid_tra, "day_cnt", "day_cnt", "-",
271!    .                iim,jjm+1,nhori, klev,1,klev,nvert, 32,
272!    .                "t_sum(X)", zsto,zout)
273!        CALL histdef(nid_tra, "NO_day", "NO_day", "VMR",
274!    .                iim,jjm+1,nhori, klev,1,klev,nvert, 32,
275!    .                "t_sum(X)", zsto,zout)
276
277#endif
278#else
279         CALL histdef(nid_tra, "pyu1", "Vent niv 1", "-",
280     .                iim,jjm+1,nhori, 1,1,1, -99, 32,
281     .                "inst(X)",  zsto,zout)
282
283         CALL histdef(nid_tra, "pyv1", "Vent niv 1", "-",
284     .                iim,jjm+1,nhori, 1,1,1, -99, 32,
285     .                "inst(X)",  zsto,zout)
286         CALL histdef(nid_tra, "psrf1", "nature sol", "-",
287     .                iim,jjm+1,nhori, 1,1,1, -99, 32,
288     .                "inst(X)",  zsto,zout)
289         CALL histdef(nid_tra, "psrf2", "nature sol", "-",
290     .                iim,jjm+1,nhori, 1,1,1, -99, 32,
291     .                "inst(X)",  zsto,zout)
292         CALL histdef(nid_tra, "psrf3", "nature sol", "-",
293     .                iim,jjm+1,nhori, 1,1,1, -99, 32,
294     .                "inst(X)",  zsto,zout)
295         CALL histdef(nid_tra, "psrf4", "nature sol", "-",
296     .                iim,jjm+1,nhori, 1,1,1, -99, 32,
297     .                "inst(X)",  zsto,zout)
298         CALL histdef(nid_tra, "ftsol1", "temper sol", "-",
299     .                iim,jjm+1,nhori, 1,1,1, -99, 32,
300     .                "inst(X)",  zsto,zout)
301         CALL histdef(nid_tra, "ftsol2", "temper sol", "-",
302     .                iim,jjm+1,nhori, 1,1,1, -99, 32,
303     .                "inst(X)",  zsto,zout)
304         CALL histdef(nid_tra, "ftsol3", "temper sol", "-",
305     .                iim,jjm+1,nhori, 1,1,1, -99, 32,
306     .                "inst",  zsto,zout)
307         CALL histdef(nid_tra, "ftsol4", "temper sol", "-",
308     .                iim,jjm+1,nhori, 1,1,1, -99, 32,
309     .                "inst(X)",  zsto,zout)
310         CALL histdef(nid_tra, "pplay", "flux u mont","-",
311     .                iim,jjm+1,nhori, klev,1,klev,nvert, 32,
312     .                "inst(X)", zsto,zout)
313         CALL histdef(nid_tra, "t", "flux u mont","-",
314     .                iim,jjm+1,nhori, klev,1,klev,nvert, 32,
315     .                "inst(X)", zsto,zout)
316         CALL histdef(nid_tra, "mfu", "flux u mont","-",
317     .                iim,jjm+1,nhori, klev,1,klev,nvert, 32,
318     .                "ave(X)", zsto,zout)
319         CALL histdef(nid_tra, "mfd", "flux u decen","-",
320     .                iim,jjm+1,nhori, klev,1,klev,nvert, 32,
321     .                "ave(X)", zsto,zout)
322         CALL histdef(nid_tra, "en_u", "flux u mont","-",
323     .                iim,jjm+1,nhori, klev,1,klev,nvert, 32,
324     .                "ave(X)", zsto,zout)
325         CALL histdef(nid_tra, "en_d", "flux u mont","-",
326     .                iim,jjm+1,nhori, klev,1,klev,nvert, 32,
327     .                "ave(X)", zsto,zout)
328         CALL histdef(nid_tra, "de_d", "flux u mont","-",
329     .                iim,jjm+1,nhori, klev,1,klev,nvert, 32,
330     .                "ave(X)", zsto,zout)
331         CALL histdef(nid_tra, "de_u", "flux u decen","-",
332     .                iim,jjm+1,nhori, klev,1,klev,nvert, 32,
333     .                "ave(X)", zsto,zout)
334         CALL histdef(nid_tra, "coefh", "turbulent coef","-",
335     .                iim,jjm+1,nhori, klev,1,klev,nvert, 32,
336     .                "ave(X)", zsto,zout)
337
338#endif
339c
340         CALL histend(nid_tra)
341#ifdef INCA_AER
342         CALL histend(nid_tra2)
343         CALL histend(nid_tra3)
344#endif
345         ndex2d = 0
346         ndex3d = 0
347         ndex = 0
Note: See TracBrowser for help on using the repository browser.