source: trunk/LMDZ.TITAN/libf/phytitan/ini_histmth.h @ 1056

Last change on this file since 1056 was 1056, checked in by slebonnois, 11 years ago

SL: Titan runs ! see DOC/chantiers/commit_importants.log

File size: 14.7 KB
Line 
1      IF (ok_mensuel) THEN
2
3         zsto = dtime
4         zout = dtime * REAL(ecrit_mth)
5c zsto1: pour des flux radiatifs calcules tous les radpas appels physiq
6         zsto1= dtime * REAL(radpas)
7
8         idayref = day_ref
9         CALL ymds2ju(annee_ref, 1, idayref, zero, zjulian)
10
11         CALL histbeg_phy("histmth.nc", itau_phy, zjulian, dtime,
12     .                 nhori, nid_mth)
13
14!$OMP MASTER
15         CALL histvert(nid_mth, "presnivs", "Vertical levels", "Pa",
16     .                 klev, presnivs, nvert)
17
18c-------------------------------------------------------
19      IF(lev_histmth.GE.1) THEN
20
21ccccccccccccc 2D fields, invariables
22
23         CALL histdef(nid_mth, "phis", "Surface geop. height", "-",
24     .                iim,jj_nb,nhori, 1,1,1, nvert, 32, 
25     .                "once",  zsto,zout)
26
27         CALL histdef(nid_mth, "aire", "Grid area", "-",
28     .                iim,jj_nb,nhori, 1,1,1, nvert, 32, 
29     .                "once",  zsto,zout)
30
31ccccccc axe Ls
32         CALL histdef(nid_mth, "ls", "Solar longitude", "degrees",
33     .                iim,jj_nb,nhori, 1,1,1, nvert, 32, 
34     .                "ave(X)", zsto,zout)
35
36ccccccccccccc 2D fields, variables
37
38         CALL histdef(nid_mth, "tsol", "Surface Temperature", "K",
39     .                iim,jj_nb,nhori, 1,1,1, nvert, 32, 
40     .                "ave(X)", zsto,zout)
41
42         CALL histdef(nid_mth, "psol", "Surface Pressure", "Pa",
43     .                iim,jj_nb,nhori, 1,1,1, nvert, 32, 
44     .                "ave(X)", zsto,zout)
45
46c        CALL histdef(nid_mth, "ue", "Zonal energy transport", "-",
47c    .                iim,jj_nb,nhori, 1,1,1, nvert, 32, 
48c    .                "ave(X)", zsto,zout)
49
50c        CALL histdef(nid_mth, "ve", "Merid energy transport", "-",
51c    .                iim,jj_nb,nhori, 1,1,1, nvert, 32, 
52c    .                "ave(X)", zsto,zout)
53
54      ENDIF !lev_histmth.GE.1
55
56c-------------------------------------------------------
57      IF(lev_histmth.GE.2) THEN
58
59ccccccccccccc 3D fields, basics
60
61         CALL histdef(nid_mth, "temp", "Air temperature", "K",
62     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
63     .                "ave(X)", zsto,zout)
64
65         CALL histdef(nid_mth, "pres", "Air pressure", "Pa",
66     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
67     .                "ave(X)", zsto,zout)
68
69         CALL histdef(nid_mth, "geop", "Geopotential height", "m",
70     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
71     .                "ave(X)", zsto,zout)
72
73         CALL histdef(nid_mth, "vitu", "Zonal wind", "m/s",
74     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
75     .                "ave(X)", zsto,zout)
76
77         CALL histdef(nid_mth, "vitv", "Meridional wind", "m/s",
78     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
79     .                "ave(X)", zsto,zout)
80
81         CALL histdef(nid_mth, "vitw", "Vertical wind", "Pa/s",
82     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
83     .                "ave(X)", zsto,zout)
84
85c        CALL histdef(nid_mth, "Kz", "vertical diffusion coef", "m2/s",
86c    .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
87c    .                "ave(X)", zsto,zout)
88
89         CALL histdef(nid_mth, "tops", "Solar rad. at TOA", "W/m2",
90     .                iim,jj_nb,nhori, 1,1,1, nvert, 32, 
91     .                "ave(X)", zsto1,zout)
92
93         CALL histdef(nid_mth, "duvdf", "Boundary-layer dU", "m/s2",
94     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
95     .                "ave(X)", zsto,zout)
96
97         CALL histdef(nid_mth, "dudyn", "Dynamics dU", "m/s2",
98     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
99     .                "ave(X)", zsto,zout)
100
101cccccccccccccccccc  Tracers
102
103         if (iflag_trac.eq.1) THEN
104          if (microfi.ge.1) then
105c           DO iq=1,nmicro
106c             CALL histdef(nid_mth, tname(iq), ttext(iq), "n/m2",
107c     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
108c     .                "ave(X)", zsto,zout)
109c           ENDDO
110             CALL histdef(nid_mth, "qaer","nb tot aer" , "n/m2",
111     .                    iim,jj_nb,nhori, klev,1,klev,nvert, 32,
112     .                    "ave(X)", zsto,zout)
113
114            if (clouds.eq.1) then
115             CALL histdef(nid_mth, "qnoy","nb tot noy" , "n/m2",
116     .                    iim,jj_nb,nhori, klev,1,klev,nvert, 32,
117     .                    "ave(X)", zsto,zout)
118             CALL histdef(nid_mth, "qgl1","V tot gl1" , "m3/m2",
119     .                    iim,jj_nb,nhori, klev,1,klev,nvert, 32,
120     .                    "ave(X)", zsto,zout)
121             CALL histdef(nid_mth, "qgl2","V tot gl2" , "m3/m2",
122     .                    iim,jj_nb,nhori, klev,1,klev,nvert, 32,
123     .                    "ave(X)", zsto,zout)
124             CALL histdef(nid_mth, "qgl3","V tot gl3" , "m3/m2",
125     .                    iim,jj_nb,nhori, klev,1,klev,nvert, 32,
126     .                    "ave(X)", zsto,zout)
127c--------------
128c ----- SATURATION ESP NUAGES
129               CALL histdef(nid_mth,"ch4sat", "saturation CH4", "--",
130     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
131     .                "ave(X)", zsto,zout)
132               CALL histdef(nid_mth,"c2h6sat", "saturation C2H6", "--",
133     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
134     .                "ave(X)", zsto,zout)
135               CALL histdef(nid_mth,"c2h2sat", "saturation C2H2", "--",
136     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
137     .                "ave(X)", zsto,zout)
138c --------------
139c ----- RESERVOIR DE SURFACE
140               CALL histdef(nid_mth, "reserv", "Reservoir surface","m",
141     .                iim,jj_nb,nhori, 1,1,1, nvert, 32,
142     .                "ave(X)", zsto,zout)
143c --------------
144c ----- ECHANGE GAZ SURF/ATM (evaporation)
145               CALL histdef(nid_mth, "evapch4", "Evaporation CH4","m",
146     .                iim,jj_nb,nhori, 1,1,1, nvert, 32,
147     .                "ave(X)", zsto,zout)
148c --------------
149c ----- PRECIPITATIONS (precipitations moyennes)
150               CALL histdef(nid_mth,"prech4","Precip CH4","um/s",
151     .                iim,jj_nb,nhori, 1,1,1, nvert, 32,
152     .                "ave(X)", zsto,zout)
153               CALL histdef(nid_mth,"prec2h6","Precip C2H6",
154     .                "um/s",iim,jj_nb,nhori, 1,1,1, nvert, 32,
155     .                "ave(X)", zsto,zout)
156               CALL histdef(nid_mth,"prec2h2","Precip C2H2",
157     .                "um/s",iim,jj_nb,nhori, 1,1,1, nvert, 32,
158     .                "ave(X)", zsto,zout)
159               CALL histdef(nid_mth,"prenoy","Precip NOY",
160     .                "um/s",iim,jj_nb,nhori, 1,1,1, nvert, 32,
161     .                "ave(X)", zsto,zout)
162               CALL histdef(nid_mth,"preaer","Precip AER",
163     .                "um/s",iim,jj_nb,nhori, 1,1,1, nvert, 32,
164     .                "ave(X)", zsto,zout)
165c --------------
166c ----- FLUX GLACE
167               CALL histdef(nid_mth,"flxgl1", "flux gl CH4",
168     .              "kg/m2/s",iim,jj_nb,nhori, klev,1,klev,nvert, 32,
169     .              "ave(X)", zsto,zout)
170               CALL histdef(nid_mth,"flxgl2", "flux gl C2H6",
171     .              "kg/m2/s",iim,jj_nb,nhori, klev,1,klev,nvert, 32,
172     .              "ave(X)", zsto,zout)
173               CALL histdef(nid_mth,"flxgl3", "flux gl C2H2",
174     .              "kg/m2/s",iim,jj_nb,nhori, klev,1,klev,nvert, 32,
175     .              "ave(X)", zsto,zout)
176c --------------
177c ----- Source/puits GLACE
178               CALL histdef(nid_mth,"solch4", "dQ gl CH4",
179     .              "m3/m3",iim,jj_nb,nhori, klev,1,klev,nvert, 32,
180     .              "ave(X)", zsto,zout)
181               CALL histdef(nid_mth,"solc2h6", "dQ gl C2H6",
182     .              "m3/m3",iim,jj_nb,nhori, klev,1,klev,nvert, 32,
183     .              "ave(X)", zsto,zout)
184               CALL histdef(nid_mth,"solc2h2", "dQ gl C2H2",
185     .              "m3/m3",iim,jj_nb,nhori, klev,1,klev,nvert, 32,
186     .              "ave(X)", zsto,zout)
187c --------------
188c ----- RAYON DES GOUTTES
189               CALL histdef(nid_mth,"rcldbar", "rayon moyen goutte",
190     .                "m",iim,jj_nb,nhori, klev,1,klev,nvert, 32,
191     .                "ave(X)", zsto,zout)
192            endif
193          endif
194c --------------
195c ----- TRACEURS CHIMIQUES
196          if (nmicro.lt.nqmax) then
197           DO iq=nmicro+1,nqmax
198         CALL histdef(nid_mth, tname(iq), ttext(iq), "ppm",
199     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
200     .                "ave(X)", zsto,zout)
201           ENDDO
202c Condensation:
203c          DO iq=nmicro+1,nqmax
204c        CALL histdef(nid_mth, "c_"//tname(iq), "c_"//ttext(iq),
205c    .        "ppm/s",iim,jj_nb,nhori, klev,1,klev,nvert, 32,
206c    .                "ave(X)", zsto,zout)
207c          ENDDO
208          endif
209         endif
210
211      ENDIF !lev_histmth.GE.2
212
213c-------------------------------------------------------
214      IF(lev_histmth.GE.3) THEN
215
216cccccccccccccccccc  Radiative transfer
217
218c 2D
219
220         CALL histdef(nid_mth, "topl", "IR rad. at TOA", "W/m2",
221     .                iim,jj_nb,nhori, 1,1,1, nvert, 32, 
222     .                "ave(X)", zsto1,zout)
223
224         CALL histdef(nid_mth, "sols", "Solar rad. at surf.", "W/m2",
225     .                iim,jj_nb,nhori, 1,1,1, nvert, 32, 
226     .                "ave(X)", zsto1,zout)
227
228         CALL histdef(nid_mth, "soll", "IR rad. at surface", "W/m2",
229     .                iim,jj_nb,nhori, 1,1,1, nvert, 32, 
230     .                "ave(X)", zsto1,zout)
231
232c 3D
233
234         CALL histdef(nid_mth, "SWnet", "Net SW flux","W/m2",
235     .                iim,jj_nb,nhori, klev,1,klev,nvert,
236     .                32, "ave(X)", zsto1,zout)
237
238         CALL histdef(nid_mth, "LWnet", "Net LW flux","W/m2",
239     .                iim,jj_nb,nhori, klev,1,klev,nvert,
240     .                32, "ave(X)", zsto1,zout)
241
242c --------------
243c ----- OPACITE BRUME
244         DO k=7,NSPECV,10
245           write(str2,'(i2.2)') k
246         CALL histdef(nid_mth,"thv"//str2,"Haze Opa Vis",
247     .                "--",iim,jj_nb,nhori,klev,1,klev,nvert,32,
248     .                "ave(X)",zsto1,zout)
249         ENDDO
250
251         DO k=8,NSPECI,10
252           write(str2,'(i2.2)') k
253         CALL histdef(nid_mth,"thi"//str2,"Haze Opa IR",
254     .                "--",iim,jj_nb,nhori,klev,1,klev,nvert,32,
255     .                "ave(X)",zsto1,zout)
256         ENDDO
257
258c --------------
259c ----- EXTINCTION BRUME
260         DO k=7,NSPECV,10
261           write(str2,'(i2.2)') k
262         CALL histdef(nid_mth,"khv"//str2,"Haze ext Vis ",
263     .                "m-1",iim,jj_nb,nhori,klev,1,klev,nvert,32,
264     .                "ave(X)",zsto1,zout)
265         ENDDO
266
267         DO k=8,NSPECI,10
268           write(str2,'(i2.2)') k
269         CALL histdef(nid_mth,"khi"//str2,"Haze ext IR ",
270     .                "m-1",iim,jj_nb,nhori,klev,1,klev,nvert,32,
271     .                "ave(X)",zsto1,zout)
272         ENDDO
273
274c --------------
275c ----- OPACITE GAZ
276         DO k=7,NSPECV,10
277           write(str2,'(i2.2)') k
278         CALL histdef(nid_mth,"tgv"//str2,"Gas Opa Vis",
279     .                "--",iim,jj_nb,nhori,klev,1,klev,nvert,32,
280     .                "ave(X)",zsto1,zout)
281         ENDDO
282
283         DO k=8,NSPECI,10
284           write(str2,'(i2.2)') k
285         CALL histdef(nid_mth,"tgi"//str2,"Haze Opa IR",
286     .                "--",iim,jj_nb,nhori,klev,1,klev,nvert,32,
287     .                "ave(X)",zsto1,zout)
288         ENDDO
289
290c --------------
291c ----- EXTINCTION GAZ
292         DO k=7,NSPECV,10
293           write(str2,'(i2.2)') k
294         CALL histdef(nid_mth,"kgv"//str2,"Gas ext Vis ",
295     .                "m-1",iim,jj_nb,nhori,klev,1,klev,nvert,32,
296     .                "ave(X)",zsto1,zout)
297         ENDDO
298
299         DO k=8,NSPECI,10
300           write(str2,'(i2.2)') k
301         CALL histdef(nid_mth,"kgi"//str2,"Gas ext IR ",
302     .                "m-1",iim,jj_nb,nhori,klev,1,klev,nvert,32,
303     .                "ave(X)",zsto1,zout)
304         ENDDO
305
306c --------------
307c ----- OPACITE NUAGES
308         if (clouds.eq.1) then
309           CALL histdef(nid_mth,"tcld","Cld Opa proxy",
310     .                "--",iim,jj_nb,nhori,klev,1,klev,nvert,32,
311     .                "ave(X)",zsto,zout)
312
313c --------------
314c ----- EXTINCTION NUAGES
315           CALL histdef(nid_mth,"kcld","Cld Ext proxy",
316     .                "m-1",iim,jj_nb,nhori,klev,1,klev,nvert,32,
317     .                "ave(X)",zsto,zout)
318         endif
319
320c --------------
321c ----- OCCURENCE NUAGES
322           do k=1,12
323             write(str2,'(i2.2)') k
324             CALL histdef(nid_mth,"occcld"//str2,"occ cld",
325     .       "--",iim,jj_nb,nhori,klev,1,klev,nvert,32,
326     .       "ave(X)",zsto,zout)
327           enddo
328
329      ENDIF !lev_histmth.GE.3
330
331c-------------------------------------------------------
332      IF(lev_histmth.GE.4) THEN
333
334         CALL histdef(nid_mth, "dtdyn", "Dynamics dT", "K/s",
335     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
336     .                "ave(X)", zsto,zout)
337
338         CALL histdef(nid_mth, "dtphy", "Physics dT", "K/s",
339     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
340     .                "ave(X)", zsto,zout)
341
342         CALL histdef(nid_mth, "dtvdf", "Boundary-layer dT", "K/s",
343     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
344     .                "ave(X)", zsto,zout)
345
346         CALL histdef(nid_mth, "dtajs", "Dry adjust. dT", "K/s",
347     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
348     .                "ave(X)", zsto,zout)
349
350         CALL histdef(nid_mth, "dtswr", "SW radiation dT", "K/s",
351     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
352     .                "ave(X)", zsto,zout)
353
354         CALL histdef(nid_mth, "dtlwr", "LW radiation dT", "K/s",
355     .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
356     .                "ave(X)", zsto,zout)
357
358c        CALL histdef(nid_mth, "dtec", "Cinetic dissip dT", "K/s",
359c    .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
360c    .                "ave(X)", zsto,zout)
361
362c        CALL histdef(nid_mth, "dvvdf", "Boundary-layer dV", "m/s2",
363c    .                iim,jj_nb,nhori, klev,1,klev,nvert, 32,
364c    .                "ave(X)", zsto,zout)
365
366      ENDIF !lev_histmth.GE.4
367
368c-------------------------------------------------------
369      IF(lev_histmth.GE.5) THEN
370
371
372c        call histdef(nid_mth, "taux", 
373c    $         "Zonal wind stress", "Pa", 
374c    $         iim,jj_nb,nhori, 1,1,1, nvert, 32,
375c    $         "ave(X)", zsto,zout)
376
377c        call histdef(nid_mth, "tauy", 
378c    $         "Meridional xind stress", "Pa", 
379c    $         iim,jj_nb,nhori, 1,1,1, nvert, 32,
380c    $         "ave(X)", zsto,zout)
381
382c        CALL histdef(nid_mth, "cdrm", "Momentum drag coef.", "-",
383c    .                iim,jj_nb,nhori, 1,1,1, nvert, 32, 
384c    .                "ave(X)", zsto,zout)
385
386c        CALL histdef(nid_mth, "cdrh", "Heat drag coef.", "-",
387c    .                iim,jj_nb,nhori, 1,1,1, nvert, 32, 
388c    .                "ave(X)", zsto,zout)
389
390      ENDIF !lev_histmth.GE.5
391c-------------------------------------------------------
392
393         CALL histend(nid_mth)
394
395      ENDIF ! fin de test sur ok_journe
Note: See TracBrowser for help on using the repository browser.