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

Last change on this file since 3094 was 1530, checked in by emillour, 9 years ago

Venus and Titan GCMs:
Updates in the physics to keep up with updates in LMDZ5 (up to
LMDZ5 trunk, rev 2350) concerning dynamics/physics separation:

  • Adapted makelmdz and makelmdz_fcm script to stop if trying to compile 1d model or newstart or start2archive in parallel.
  • got rid of references to "dimensions.h" in physics. Within physics packages, use nbp_lon (=iim), nbp_lat (=jjmp1) and nbp_lev (=llm) from module mod_grid_phy_lmdz (in phy_common) instead. Only partially done for Titan, because of many hard-coded commons; a necessary first step will be to clean these up (using modules).

EM

File size: 16.4 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     .                nbp_lon,jj_nb,nhori, 1,1,1, nvert, 32, 
25     .                "once",  zsto,zout)
26
27         CALL histdef(nid_mth, "aire", "Grid area", "-",
28     .                nbp_lon,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     .                nbp_lon,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     .                nbp_lon,jj_nb,nhori, 1,1,1, nvert, 32, 
40     .                "ave(X)", zsto,zout)
41
42         CALL histdef(nid_mth, "psol", "Surface Pressure", "Pa",
43     .                nbp_lon,jj_nb,nhori, 1,1,1, nvert, 32, 
44     .                "ave(X)", zsto,zout)
45
46c        CALL histdef(nid_mth, "ue", "Zonal energy transport", "-",
47c    .                nbp_lon,jj_nb,nhori, 1,1,1, nvert, 32, 
48c    .                "ave(X)", zsto,zout)
49
50c        CALL histdef(nid_mth, "ve", "Merid energy transport", "-",
51c    .                nbp_lon,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     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
63     .                "ave(X)", zsto,zout)
64
65         CALL histdef(nid_mth, "pres", "Air pressure", "Pa",
66     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
67     .                "ave(X)", zsto,zout)
68
69         CALL histdef(nid_mth, "geop", "Geopotential height", "m",
70     .                nbp_lon,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     .                nbp_lon,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     .                nbp_lon,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     .                nbp_lon,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    .                nbp_lon,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     .                nbp_lon,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     .                nbp_lon,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     .                nbp_lon,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     .                nbp_lon,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     .                    nbp_lon,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     .                    nbp_lon,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     .                    nbp_lon,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     .                    nbp_lon,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     .                    nbp_lon,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     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
131     .                "ave(X)", zsto,zout)
132               CALL histdef(nid_mth,"c2h6sat", "saturation C2H6", "--",
133     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
134     .                "ave(X)", zsto,zout)
135               CALL histdef(nid_mth,"c2h2sat", "saturation C2H2", "--",
136     .                nbp_lon,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     .                nbp_lon,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     .                nbp_lon,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     .                nbp_lon,jj_nb,nhori, 1,1,1, nvert, 32,
152     .                "ave(X)", zsto,zout)
153               CALL histdef(nid_mth,"prec2h6","Precip C2H6",
154     .                "um/s",nbp_lon,jj_nb,nhori, 1,1,1, nvert, 32,
155     .                "ave(X)", zsto,zout)
156               CALL histdef(nid_mth,"prec2h2","Precip C2H2",
157     .                "um/s",nbp_lon,jj_nb,nhori, 1,1,1, nvert, 32,
158     .                "ave(X)", zsto,zout)
159               CALL histdef(nid_mth,"prenoy","Precip NOY",
160     .                "um/s",nbp_lon,jj_nb,nhori, 1,1,1, nvert, 32,
161     .                "ave(X)", zsto,zout)
162               CALL histdef(nid_mth,"preaer","Precip AER",
163     .                "um/s",nbp_lon,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",nbp_lon,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",nbp_lon,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",nbp_lon,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",nbp_lon,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",nbp_lon,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",nbp_lon,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",nbp_lon,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     .                nbp_lon,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",nbp_lon,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     .                nbp_lon,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     .                nbp_lon,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     .                nbp_lon,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     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert,
236     .                32, "ave(X)", zsto1,zout)
237
238c        CALL histdef(nid_mth, "SWup", "upward SW flux","W/m2",
239c    .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert,
240c    .                32, "ave(X)", zsto1,zout)
241
242c        CALL histdef(nid_mth, "SWdn", "downward SW flux","W/m2",
243c    .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert,
244c    .                32, "ave(X)", zsto1,zout)
245
246         CALL histdef(nid_mth, "LWnet", "Net LW flux","W/m2",
247     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert,
248     .                32, "ave(X)", zsto1,zout)
249
250c        CALL histdef(nid_mth, "LWup", "upward LW flux","W/m2",
251c    .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert,
252c    .                32, "ave(X)", zsto1,zout)
253
254c        CALL histdef(nid_mth, "LWdn", "downward LW flux","W/m2",
255c    .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert,
256c    .                32, "ave(X)", zsto1,zout)
257
258         CALL histdef(nid_mth, "fluxvdf", "PBL net flux","W/m2",
259     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert,
260     .                32, "ave(X)", zsto,zout)
261
262         CALL histdef(nid_mth, "fluxdyn", "Dyn. net flux","W/m2",
263     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert,
264     .                32, "ave(X)", zsto,zout)
265
266         CALL histdef(nid_mth, "fluxajs", "Dry adj. net flux","W/m2",
267     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert,
268     .                32, "ave(X)", zsto,zout)
269
270c        CALL histdef(nid_mth, "fluxec", "Cin. net flux","W/m2",
271c    .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert,
272c    .                32, "ave(X)", zsto,zout)
273
274c --------------
275c ----- OPACITE BRUME
276         DO k=7,NSPECV,10
277           write(str2,'(i2.2)') k
278         CALL histdef(nid_mth,"thv"//str2,"Haze Opa Vis",
279     .                "--",nbp_lon,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,"thi"//str2,"Haze Opa IR",
286     .                "--",nbp_lon,jj_nb,nhori,klev,1,klev,nvert,32,
287     .                "ave(X)",zsto1,zout)
288         ENDDO
289
290c --------------
291c ----- EXTINCTION BRUME
292         DO k=7,NSPECV,10
293           write(str2,'(i2.2)') k
294         CALL histdef(nid_mth,"khv"//str2,"Haze ext Vis ",
295     .                "m-1",nbp_lon,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,"khi"//str2,"Haze ext IR ",
302     .                "m-1",nbp_lon,jj_nb,nhori,klev,1,klev,nvert,32,
303     .                "ave(X)",zsto1,zout)
304         ENDDO
305
306c --------------
307c ----- OPACITE GAZ
308         DO k=7,NSPECV,10
309           write(str2,'(i2.2)') k
310         CALL histdef(nid_mth,"tgv"//str2,"Gas Opa Vis",
311     .                "--",nbp_lon,jj_nb,nhori,klev,1,klev,nvert,32,
312     .                "ave(X)",zsto1,zout)
313         ENDDO
314
315         DO k=8,NSPECI,10
316           write(str2,'(i2.2)') k
317         CALL histdef(nid_mth,"tgi"//str2,"Haze Opa IR",
318     .                "--",nbp_lon,jj_nb,nhori,klev,1,klev,nvert,32,
319     .                "ave(X)",zsto1,zout)
320         ENDDO
321
322c --------------
323c ----- EXTINCTION GAZ
324         DO k=7,NSPECV,10
325           write(str2,'(i2.2)') k
326         CALL histdef(nid_mth,"kgv"//str2,"Gas ext Vis ",
327     .                "m-1",nbp_lon,jj_nb,nhori,klev,1,klev,nvert,32,
328     .                "ave(X)",zsto1,zout)
329         ENDDO
330
331         DO k=8,NSPECI,10
332           write(str2,'(i2.2)') k
333         CALL histdef(nid_mth,"kgi"//str2,"Gas ext IR ",
334     .                "m-1",nbp_lon,jj_nb,nhori,klev,1,klev,nvert,32,
335     .                "ave(X)",zsto1,zout)
336         ENDDO
337
338c --------------
339c ----- OPACITE NUAGES
340         if (clouds.eq.1) then
341           CALL histdef(nid_mth,"tcld","Cld Opa proxy",
342     .                "--",nbp_lon,jj_nb,nhori,klev,1,klev,nvert,32,
343     .                "ave(X)",zsto,zout)
344
345c --------------
346c ----- EXTINCTION NUAGES
347           CALL histdef(nid_mth,"kcld","Cld Ext proxy",
348     .                "m-1",nbp_lon,jj_nb,nhori,klev,1,klev,nvert,32,
349     .                "ave(X)",zsto,zout)
350         endif
351
352c --------------
353c ----- OCCURENCE NUAGES
354           do k=1,12
355             write(str2,'(i2.2)') k
356             CALL histdef(nid_mth,"occcld"//str2,"occ cld",
357     .       "--",nbp_lon,jj_nb,nhori,klev,1,klev,nvert,32,
358     .       "ave(X)",zsto,zout)
359           enddo
360
361      ENDIF !lev_histmth.GE.3
362
363c-------------------------------------------------------
364      IF(lev_histmth.GE.4) THEN
365
366         CALL histdef(nid_mth, "dtdyn", "Dynamics dT", "K/s",
367     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
368     .                "ave(X)", zsto,zout)
369
370         CALL histdef(nid_mth, "dtphy", "Physics dT", "K/s",
371     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
372     .                "ave(X)", zsto,zout)
373
374         CALL histdef(nid_mth, "dtvdf", "Boundary-layer dT", "K/s",
375     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
376     .                "ave(X)", zsto,zout)
377
378         CALL histdef(nid_mth, "dtajs", "Dry adjust. dT", "K/s",
379     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
380     .                "ave(X)", zsto,zout)
381
382         CALL histdef(nid_mth, "dtswr", "SW radiation dT", "K/s",
383     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
384     .                "ave(X)", zsto,zout)
385
386         CALL histdef(nid_mth, "dtlwr", "LW radiation dT", "K/s",
387     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
388     .                "ave(X)", zsto,zout)
389
390c        CALL histdef(nid_mth, "dtec", "Cinetic dissip dT", "K/s",
391c    .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
392c    .                "ave(X)", zsto,zout)
393
394c        CALL histdef(nid_mth, "dvvdf", "Boundary-layer dV", "m/s2",
395c    .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
396c    .                "ave(X)", zsto,zout)
397
398      ENDIF !lev_histmth.GE.4
399
400c-------------------------------------------------------
401      IF(lev_histmth.GE.5) THEN
402
403
404c        call histdef(nid_mth, "taux", 
405c    $         "Zonal wind stress", "Pa", 
406c    $         nbp_lon,jj_nb,nhori, 1,1,1, nvert, 32,
407c    $         "ave(X)", zsto,zout)
408
409c        call histdef(nid_mth, "tauy", 
410c    $         "Meridional xind stress", "Pa", 
411c    $         nbp_lon,jj_nb,nhori, 1,1,1, nvert, 32,
412c    $         "ave(X)", zsto,zout)
413
414c        CALL histdef(nid_mth, "cdrm", "Momentum drag coef.", "-",
415c    .                nbp_lon,jj_nb,nhori, 1,1,1, nvert, 32, 
416c    .                "ave(X)", zsto,zout)
417
418c        CALL histdef(nid_mth, "cdrh", "Heat drag coef.", "-",
419c    .                nbp_lon,jj_nb,nhori, 1,1,1, nvert, 32, 
420c    .                "ave(X)", zsto,zout)
421
422      ENDIF !lev_histmth.GE.5
423c-------------------------------------------------------
424
425         CALL histend(nid_mth)
426
427      ENDIF ! fin de test sur ok_journe
Note: See TracBrowser for help on using the repository browser.