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

Last change on this file since 201 was 175, checked in by slebonnois, 14 years ago

S.LEBONNOIS:

  • Revision majeure de la physique Titan => ajout des nuages version 10 bins (Jeremie Burgalat) Cette version reste a tester mais avec clouds=0, on reste sur l'ancienne.
  • Quelques ajouts dans la doc.
File size: 14.7 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             CALL histdef(nid_mth, "qnoy","nb tot noy" , "n/m2",
120     .                    iim,jjmp1,nhori, klev,1,klev,nvert, 32,
121     .                    "ave(X)", zsto,zout)
122             CALL histdef(nid_mth, "qgl1","V tot gl1" , "m3/m2",
123     .                    iim,jjmp1,nhori, klev,1,klev,nvert, 32,
124     .                    "ave(X)", zsto,zout)
125             CALL histdef(nid_mth, "qgl2","V tot gl2" , "m3/m2",
126     .                    iim,jjmp1,nhori, klev,1,klev,nvert, 32,
127     .                    "ave(X)", zsto,zout)
128             CALL histdef(nid_mth, "qgl3","V tot gl3" , "m3/m2",
129     .                    iim,jjmp1,nhori, klev,1,klev,nvert, 32,
130     .                    "ave(X)", zsto,zout)
131c--------------
132c ----- SATURATION ESP NUAGES
133             if (clouds.eq.1) then
134               CALL histdef(nid_mth,"ch4sat", "saturation CH4", "--",
135     .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
136     .                "ave(X)", zsto,zout)
137               CALL histdef(nid_mth,"c2h6sat", "saturation C2H6", "--",
138     .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
139     .                "ave(X)", zsto,zout)
140               CALL histdef(nid_mth,"c2h2sat", "saturation C2H2", "--",
141     .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
142     .                "ave(X)", zsto,zout)
143c --------------
144c ----- RESERVOIR DE SURFACE
145               CALL histdef(nid_mth, "reserv", "Reservoir surface","m",
146     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
147     .                "ave(X)", zsto,zout)
148c --------------
149c ----- PRECIPITATIONS (precipitations cumulatives)
150               CALL histdef(nid_mth,"prech4","Precip CH4","m",
151     .                iim,jjmp1,nhori, 1,1,1, -99, 32,
152     .                "ave(X)", zsto,zout)
153               CALL histdef(nid_mth,"prec2h6","Precip C2H6",
154     .                "m",iim,jjmp1,nhori, 1,1,1, -99, 32,
155     .                "ave(X)", zsto,zout)
156               CALL histdef(nid_mth,"prec2h2","Precip C2H2",
157     .                "m",iim,jjmp1,nhori, 1,1,1, -99, 32,
158     .                "ave(X)", zsto,zout)
159               CALL histdef(nid_mth,"prenoy","Precip NOY",
160     .                "m",iim,jjmp1,nhori, 1,1,1, -99, 32,
161     .                "ave(X)", zsto,zout)
162               CALL histdef(nid_mth,"preaer","Precip AER",
163     .                "m",iim,jjmp1,nhori, 1,1,1, -99, 32,
164     .                "ave(X)", zsto,zout)
165c --------------
166c ----- FLUX GLACE
167               CALL histdef(nid_mth,"flxgl1", "flux gl CH4",
168     .              "kg/m2/s",iim,jjmp1,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,jjmp1,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,jjmp1,nhori, klev,1,klev,nvert, 32,
175     .              "ave(X)", zsto,zout)
176c --------------
177c ----- RAYON DES GOUTTES
178               CALL histdef(nid_mth,"rcldbar", "rayon moyen goutte",
179     .                "m",iim,jjmp1,nhori, klev,1,klev,nvert, 32,
180     .                "ave(X)", zsto,zout)
181             endif
182          endif
183c --------------
184c ----- TRACEURS CHIMIQUES
185          if (nmicro.lt.nqmax) then
186           DO iq=nmicro+1,nqmax
187         CALL histdef(nid_mth, tname(iq), ttext(iq), "ppm",
188     .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
189     .                "ave(X)", zsto,zout)
190           ENDDO
191c Condensation:
192c          DO iq=nmicro+1,nqmax
193c        CALL histdef(nid_mth, "c_"//tname(iq), "c_"//ttext(iq),
194c    .        "ppm/s",iim,jjmp1,nhori, klev,1,klev,nvert, 32,
195c    .                "ave(X)", zsto,zout)
196c          ENDDO
197          endif
198         endif
199c
200      ENDIF !lev_histmth.GE.2
201c
202c-------------------------------------------------------
203      IF(lev_histmth.GE.3) THEN
204c
205cccccccccccccccccc  Radiative transfer
206c
207c 2D
208c
209         CALL histdef(nid_mth, "topl", "IR rad. at TOA", "W/m2",
210     .                iim,jjmp1,nhori, 1,1,1, -99, 32, 
211     .                "ave(X)", zsto1,zout)
212c
213         CALL histdef(nid_mth, "sols", "Solar rad. at surf.", "W/m2",
214     .                iim,jjmp1,nhori, 1,1,1, -99, 32, 
215     .                "ave(X)", zsto1,zout)
216c
217         CALL histdef(nid_mth, "soll", "IR rad. at surface", "W/m2",
218     .                iim,jjmp1,nhori, 1,1,1, -99, 32, 
219     .                "ave(X)", zsto1,zout)
220c
221c 3D
222c
223         CALL histdef(nid_mth, "SWnet", "Net SW flux","W/m2",
224     .                iim,jjmp1,nhori, klev,1,klev,nvert,
225     .                32, "ave(X)", zsto1,zout)
226c
227         CALL histdef(nid_mth, "LWnet", "Net LW flux","W/m2",
228     .                iim,jjmp1,nhori, klev,1,klev,nvert,
229     .                32, "ave(X)", zsto1,zout)
230c
231c --------------
232c ----- OPACITE BRUME
233         DO k=7,NSPECV,10
234           write(str1,'(i2.2)') k
235         CALL histdef(nid_mth,"thv"//str1,"Haze Opa Vis",
236     .                "--",iim,jjmp1,nhori,klev,1,klev,nvert,32,
237     .                "ave(X)",zsto1,zout)
238         ENDDO
239c
240         DO k=8,NSPECI,10
241           write(str1,'(i2.2)') k
242         CALL histdef(nid_mth,"thi"//str1,"Haze Opa IR",
243     .                "--",iim,jjmp1,nhori,klev,1,klev,nvert,32,
244     .                "ave(X)",zsto1,zout)
245         ENDDO
246c
247c --------------
248c ----- EXTINCTION BRUME
249         DO k=7,NSPECV,10
250           write(str1,'(i2.2)') k
251         CALL histdef(nid_mth,"khv"//str1,"Haze ext Vis ",
252     .                "m-1",iim,jjmp1,nhori,klev,1,klev,nvert,32,
253     .                "ave(X)",zsto1,zout)
254         ENDDO
255c
256         DO k=8,NSPECI,10
257           write(str1,'(i2.2)') k
258         CALL histdef(nid_mth,"khi"//str1,"Haze ext IR ",
259     .                "m-1",iim,jjmp1,nhori,klev,1,klev,nvert,32,
260     .                "ave(X)",zsto1,zout)
261         ENDDO
262c
263c --------------
264c ----- OPACITE GAZ
265         DO k=7,NSPECV,10
266           write(str1,'(i2.2)') k
267         CALL histdef(nid_mth,"tgv"//str1,"Gas Opa Vis",
268     .                "--",iim,jjmp1,nhori,klev,1,klev,nvert,32,
269     .                "ave(X)",zsto1,zout)
270         ENDDO
271c
272         DO k=8,NSPECI,10
273           write(str1,'(i2.2)') k
274         CALL histdef(nid_mth,"tgi"//str1,"Haze Opa IR",
275     .                "--",iim,jjmp1,nhori,klev,1,klev,nvert,32,
276     .                "ave(X)",zsto1,zout)
277         ENDDO
278c
279c --------------
280c ----- EXTINCTION GAZ
281         DO k=7,NSPECV,10
282           write(str1,'(i2.2)') k
283         CALL histdef(nid_mth,"kgv"//str1,"Gas ext Vis ",
284     .                "m-1",iim,jjmp1,nhori,klev,1,klev,nvert,32,
285     .                "ave(X)",zsto1,zout)
286         ENDDO
287c
288         DO k=8,NSPECI,10
289           write(str1,'(i2.2)') k
290         CALL histdef(nid_mth,"kgi"//str1,"Gas ext IR ",
291     .                "m-1",iim,jjmp1,nhori,klev,1,klev,nvert,32,
292     .                "ave(X)",zsto1,zout)
293         ENDDO
294c
295c --------------
296c ----- OPACITE NUAGES
297         if (clouds.eq.1) then
298           CALL histdef(nid_mth,"tcld","Cld Opa proxy",
299     .                "--",iim,jjmp1,nhori,klev,1,klev,nvert,32,
300     .                "ave(X)",zsto,zout)
301c
302c --------------
303c ----- EXTINCTION NUAGES
304           CALL histdef(nid_mth,"kcld","Cld Ext proxy",
305     .                "m-1",iim,jjmp1,nhori,klev,1,klev,nvert,32,
306     .                "ave(X)",zsto,zout)
307         endif
308c
309c --------------
310c ----- OCCURENCE NUAGES
311           do k=1,12
312             write(str1,'(i2.2)') k
313             CALL histdef(nid_mth,"occcld"//str1,"occ cld",
314     .       "--",iim,jjmp1,nhori,klev,1,klev,nvert,32,
315     .       "ave(X)",zsto,zout)
316           enddo
317c
318      ENDIF !lev_histmth.GE.3
319c
320c-------------------------------------------------------
321      IF(lev_histmth.GE.4) THEN
322c
323         CALL histdef(nid_mth, "dtdyn", "Dynamics dT", "K/s",
324     .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
325     .                "ave(X)", zsto,zout)
326c
327         CALL histdef(nid_mth, "dtphy", "Physics dT", "K/s",
328     .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
329     .                "ave(X)", zsto,zout)
330c
331         CALL histdef(nid_mth, "dtvdf", "Boundary-layer dT", "K/s",
332     .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
333     .                "ave(X)", zsto,zout)
334c
335         CALL histdef(nid_mth, "dtajs", "Dry adjust. dT", "K/s",
336     .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
337     .                "ave(X)", zsto,zout)
338c
339         CALL histdef(nid_mth, "dtswr", "SW radiation dT", "K/s",
340     .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
341     .                "ave(X)", zsto,zout)
342c
343         CALL histdef(nid_mth, "dtlwr", "LW radiation dT", "K/s",
344     .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
345     .                "ave(X)", zsto,zout)
346c
347c        CALL histdef(nid_mth, "dtec", "Cinetic dissip dT", "K/s",
348c    .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
349c    .                "ave(X)", zsto,zout)
350c
351         CALL histdef(nid_mth, "duvdf", "Boundary-layer dU", "m/s2",
352     .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
353     .                "ave(X)", zsto,zout)
354c
355         CALL histdef(nid_mth, "dudyn", "Dynamics dU", "m/s2",
356     .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
357     .                "ave(X)", zsto,zout)
358c
359c        CALL histdef(nid_mth, "dvvdf", "Boundary-layer dV", "m/s2",
360c    .                iim,jjmp1,nhori, klev,1,klev,nvert, 32,
361c    .                "ave(X)", zsto,zout)
362c
363      ENDIF !lev_histmth.GE.4
364c
365c-------------------------------------------------------
366      IF(lev_histmth.GE.5) THEN
367c
368c
369c        call histdef(nid_mth, "taux", 
370c    $         "Zonal wind stress", "Pa", 
371c    $         iim,jjmp1,nhori, 1,1,1, -99, 32,
372c    $         "ave(X)", zsto,zout)
373c
374c        call histdef(nid_mth, "tauy", 
375c    $         "Meridional xind stress", "Pa", 
376c    $         iim,jjmp1,nhori, 1,1,1, -99, 32,
377c    $         "ave(X)", zsto,zout)
378c
379c        CALL histdef(nid_mth, "cdrm", "Momentum drag coef.", "-",
380c    .                iim,jjmp1,nhori, 1,1,1, -99, 32, 
381c    .                "ave(X)", zsto,zout)
382c
383c        CALL histdef(nid_mth, "cdrh", "Heat drag coef.", "-",
384c    .                iim,jjmp1,nhori, 1,1,1, -99, 32, 
385c    .                "ave(X)", zsto,zout)
386c
387      ENDIF !lev_histmth.GE.5
388c-------------------------------------------------------
389c
390         CALL histend(nid_mth)
391c
392         ndex2d = 0
393         ndex3d = 0
394c
395      ENDIF ! fin de test sur ok_journe
Note: See TracBrowser for help on using the repository browser.