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

Last change on this file since 398 was 306, checked in by slebonnois, 14 years ago

SLebonnois: correction de bugs dans la physique Titan:

  • effg.F : Z doit etre en km, donc conversion
  • optc*_1pt_2.F : On utilise cfffv11 et plus optfrac Du coup, les fichiers input testag* ne sont plus necessaires.
  • phytrac.F : passage de la tendance aerosols en intensif dans tous les cas


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