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

Last change on this file since 537 was 474, checked in by slebonnois, 13 years ago

Update of Titan physics for clouds.

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