source: trunk/LMDZ.VENUS/libf/phyvenus/ini_histmth.h @ 3556

Last change on this file since 3556 was 3451, checked in by emillour, 3 months ago

Venus PCM:
Add "Age of Air" scheme from Maureen Cohen.
Activated with flag "ok_aoa=y" and requires that there is also
an "aoa" tracer in traceur.def
MC

File size: 12.4 KB
Line 
1!
2! $Header: /home/cvsroot/LMDZ4/libf/phylmd/ini_histmth.h,v 1.4 2005/03/09 12:30:16 fairhead Exp $
3!
4      IF (ok_mensuel) THEN
5
6         zsto = dtime
7         zout = dtime * ecrit_mth
8
9         idayref = day_ref
10         CALL ymds2ju(annee_ref, 1, idayref, zero, zjulian)
11
12         call histbeg_phy("histmth.nc",itau_phy,
13     .                    zjulian,dtime,nhori,nid_mth)
14
15!$OMP MASTER
16         CALL histvert(nid_mth, "presnivs", "Vertical levels", "Pa",
17     .                 klev, presnivs, nvert)
18
19c-------------------------------------------------------
20      IF(lev_histmth.GE.1) THEN
21c
22ccccccccccccc 2D fields, basics
23c
24         CALL histdef(nid_mth, "phis", "Surface geop. height", "-",
25     .                nbp_lon,jj_nb,nhori, 1,1,1, nvert, 32, 
26     .                "once",  zsto,zout)
27c
28         CALL histdef(nid_mth, "aire", "Grid area", "-",
29     .                nbp_lon,jj_nb,nhori, 1,1,1, nvert, 32, 
30     .                "once",  zsto,zout)
31c
32         CALL histdef(nid_mth, "tsol", "Surface Temperature", "K",
33     .                nbp_lon,jj_nb,nhori, 1,1,1, nvert, 32, 
34     .                "ave(X)", zsto,zout)
35c
36         CALL histdef(nid_mth, "psol", "Surface Pressure", "Pa",
37     .                nbp_lon,jj_nb,nhori, 1,1,1, nvert, 32, 
38     .                "ave(X)", zsto,zout)
39c
40c        CALL histdef(nid_mth, "ue", "Zonal energy transport", "-",
41c    .                nbp_lon,jj_nb,nhori, 1,1,1, nvert, 32, 
42c    .                "ave(X)", zsto,zout)
43c
44c        CALL histdef(nid_mth, "ve", "Merid energy transport", "-",
45c    .                nbp_lon,jj_nb,nhori, 1,1,1, nvert, 32, 
46c    .                "ave(X)", zsto,zout)
47c
48c        CALL histdef(nid_mth, "cdragh", "Drag coef on T", "-",
49c    .                nbp_lon,jj_nb,nhori, 1,1,1, nvert, 32, 
50c    .                "ave(X)", zsto,zout)
51c
52c        CALL histdef(nid_mth, "cdragm", "Drag coef on U", "-",
53c    .                nbp_lon,jj_nb,nhori, 1,1,1, nvert, 32, 
54c    .                "ave(X)", zsto,zout)
55c
56      ENDIF !lev_histmth.GE.1
57c
58c-------------------------------------------------------
59      IF(lev_histmth.GE.2) THEN
60c
61ccccccccccccc 3D fields, basics
62c
63         CALL histdef(nid_mth, "temp", "Air temperature", "K",
64     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
65     .                "ave(X)", zsto,zout)
66c
67         CALL histdef(nid_mth, "pres", "Air pressure", "Pa",
68     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
69     .                "ave(X)", zsto,zout)
70c
71         CALL histdef(nid_mth, "geop", "Geopotential height", "m",
72     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
73     .                "ave(X)", zsto,zout)
74c
75         CALL histdef(nid_mth, "vitu", "Zonal wind", "m/s",
76     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
77     .                "ave(X)", zsto,zout)
78c
79         CALL histdef(nid_mth, "vitv", "Meridional wind", "m/s",
80     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
81     .                "ave(X)", zsto,zout)
82c
83         CALL histdef(nid_mth, "vitw", "Vertical wind", "Pa/s",
84     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
85     .                "ave(X)", zsto,zout)
86c
87         CALL histdef(nid_mth, "dudyn", "Dynamics dU", "m/s2",
88     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
89     .                "ave(X)", zsto,zout)
90c
91         CALL histdef(nid_mth, "duvdf", "Boundary-layer dU", "m/s2",
92     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
93     .                "ave(X)", zsto,zout)
94c
95c        CALL histdef(nid_mth, "mang", "Angular momentum", "kg m2/s",
96c    .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
97c    .                "ave(X)", zsto,zout)
98c
99c        CALL histdef(nid_mth, "Kz", "vertical diffusion coef", "m2/s",
100c    .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
101c    .                "ave(X)", zsto,zout)
102c
103         CALL histdef(nid_mth, "mmean", "Mean molecular mass", "g/mol",
104     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
105     .                "ave(X)", zsto,zout)
106
107c        CALL histdef(nid_mth, "rho", "Air density [mass/Vol]", "kg/m3",
108c    .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
109c    .                "ave(X)", zsto,zout)
110
111       IF ((iflag_trac.eq.1) .and. ok_aoa) THEN
112         CALL histdef(nid_mth, "age", "Age of air", "s",
113     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
114     .                "ave(X)", zsto,zout)
115       ENDIF
116
117c plusieurs traceurs  !!!outputs in [vmr]
118       IF (iflag_trac.eq.1) THEN
119            DO iq=1,nqmax
120             IF (iq.LE.99) THEN
121          WRITE(str2,'(i2.2)') iq
122          CALL histdef(nid_mth, tname(iq), ttext(iq), "mol/mol",
123     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
124     .                "ave(X)", zsto,zout)
125             ELSE
126          PRINT*, "Trop de traceurs"
127          CALL abort
128             ENDIF
129            ENDDO
130       ENDIF
131
132       IF (callthermos .and. ok_chem) THEN
133          CALL histdef(nid_mth, "d_qmoldifCO2", "Dif molec" , "kg/kg",
134     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
135     .                "ave(X)", zsto,zout)
136          CALL histdef(nid_mth, "d_qmoldifO3p", "Dif molec" , "kg/kg",
137     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
138     .                "ave(X)", zsto,zout)
139          CALL histdef(nid_mth, "d_qmoldifN2", "Dif molec" , "kg/kg",
140     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
141     .                "ave(X)", zsto,zout)
142       ENDIF
143c
144         CALL histdef(nid_mth, "tops", "Solar rad. at TOA", "W/m2",
145     .                nbp_lon,jj_nb,nhori, 1,1,1, nvert, 32, 
146     .                "ave(X)", zsto,zout)
147c
148      ENDIF !lev_histmth.GE.2
149c
150c-------------------------------------------------------
151      IF(lev_histmth.GE.3) THEN
152c
153cccccccccccccccccc  Radiative transfer
154c
155c 2D
156c
157         CALL histdef(nid_mth, "topl", "IR rad. at TOA", "W/m2",
158     .                nbp_lon,jj_nb,nhori, 1,1,1, nvert, 32, 
159     .                "ave(X)", zsto,zout)
160c
161         CALL histdef(nid_mth, "sols", "Solar rad. at surf.", "W/m2",
162     .                nbp_lon,jj_nb,nhori, 1,1,1, nvert, 32, 
163     .                "ave(X)", zsto,zout)
164c
165         CALL histdef(nid_mth, "soll", "IR rad. at surface", "W/m2",
166     .                nbp_lon,jj_nb,nhori, 1,1,1, nvert, 32, 
167     .                "ave(X)", zsto,zout)
168c
169c 3D
170c
171         CALL histdef(nid_mth, "SWnet", "Net SW flux","W/m2",
172     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert,
173     .                32, "ave(X)", zsto,zout)
174c
175         CALL histdef(nid_mth, "LWnet", "Net LW flux","W/m2",
176     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert,
177     .                32, "ave(X)", zsto,zout)
178c
179c        CALL histdef(nid_mth, "fluxvdf", "PBL net flux","W/m2",
180c    .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert,
181c    .                32, "ave(X)", zsto,zout)
182c
183c        CALL histdef(nid_mth, "fluxdyn", "Dyn. net flux","W/m2",
184c    .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert,
185c    .                32, "ave(X)", zsto,zout)
186c
187c        CALL histdef(nid_mth, "fluxajs", "Dry adj. net flux","W/m2",
188c    .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert,
189c    .                32, "ave(X)", zsto,zout)
190c
191c        CALL histdef(nid_mth, "fluxec", "Cin. net flux","W/m2",
192c    .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert,
193c    .                32, "ave(X)", zsto,zout)
194c
195      ENDIF !lev_histmth.GE.3
196c
197c-------------------------------------------------------
198      IF(lev_histmth.GE.4) THEN
199c
200         CALL histdef(nid_mth, "dtdyn", "Dynamics dT", "K/s",
201     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
202     .                "ave(X)", zsto,zout)
203c
204c        CALL histdef(nid_mth, "dtphy", "Physics dT", "K/s",
205c    .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
206c    .                "ave(X)", zsto,zout)
207c
208         CALL histdef(nid_mth, "dtvdf", "Boundary-layer dT", "K/s",
209     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
210     .                "ave(X)", zsto,zout)
211c
212         CALL histdef(nid_mth, "dtajs", "Dry adjust. dT", "K/s",
213     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
214     .                "ave(X)", zsto,zout)
215c
216         CALL histdef(nid_mth, "dtswr", "SW radiation dT", "K/s",
217     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
218     .                "ave(X)", zsto,zout)
219c
220         CALL histdef(nid_mth,"dtswrNLTE", "SWNLTE radiation dT", 
221     .                "K/s",nbp_lon,jj_nb,nhori,klev,1,klev,nvert,32,
222     .                "ave(X)", zsto,zout)
223c
224         CALL histdef(nid_mth,"dtswrDCrisp","SWDCrisp radiation dT",
225     .                "K/s",nbp_lon,jj_nb,nhori,klev,1,klev,nvert,32,
226     .                "ave(X)", zsto,zout)
227c
228         CALL histdef(nid_mth, "dtlwr", "LW radiation dT", "K/s",
229     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
230     .                "ave(X)", zsto,zout)
231c
232c        CALL histdef(nid_mth,"dtlwrNLTE", "LWNLTE radiation dT",
233c    .                "K/s",nbp_lon,jj_nb,nhori,klev,1,klev,nvert,32,
234c    .                "ave(X)", zsto,zout)
235c
236c        CALL histdef(nid_mth,"dtlwrLTE","LW_LTE radiation dT",
237c    .                "K/s",nbp_lon,jj_nb,nhori,klev,1,klev,nvert,32,
238c    .                "ave(X)", zsto,zout)
239c
240c        CALL histdef(nid_mth, "dteuv", "UV radiation dT", "K/s",
241c    .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
242c    .                "ave(X)", zsto,zout)
243c        CALL histdef(nid_mth, "dtcond", "Therm conduction", "K/s",
244c    .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
245c    .                "ave(X)", zsto,zout)
246c        CALL histdef(nid_mth, "dumolvis", "molec viscosity (u)"
247c    .                ,"m/s2",nbp_lon,jj_nb,nhori,klev,1,klev,nvert,32,
248c    .                "ave(X)", zsto,zout)
249c        CALL histdef(nid_mth, "dvmolvis", "molec viscosity (v)", 
250c    .                "m/s2",nbp_lon,jj_nb,nhori,klev,1,klev,nvert,32,
251c    .                "ave(X)", zsto,zout)
252
253c
254c        CALL histdef(nid_mth, "dtec", "Cinetic dissip dT", "K/s",
255c    .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
256c    .                "ave(X)", zsto,zout)
257c
258         CALL histdef(nid_mth, "duajs", "Dry convection dU", "m/s2",
259     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
260     .                "ave(X)", zsto,zout)
261c
262         CALL histdef(nid_mth, "dugwo", "GW oro dU", "m/s2",
263     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
264     .                "ave(X)", zsto,zout)
265c
266         CALL histdef(nid_mth, "dugwno", "GW non-oro dU", "m/s2",
267     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
268     .                "ave(X)", zsto,zout)
269
270c         CALL histdef(nid_mth, "co2_vmr", "volume mixture ratio co2", 
271c     .         "cm-3",nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
272c     .                "ave(X)", zsto,zout)
273
274c         CALL histdef(nid_mth, "o_vmr", "volume mixture ratio o",
275c     .                "cm-3",nbp_lon,jj_nb,nhori,klev,1,klev,nvert,32,
276c     .                "ave(X)", zsto,zout)
277c         CALL histdef(nid_mth, "co_vmr", "volume mixture ratio co", 
278c     .         "cm-3",nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
279c     .                "ave(X)", zsto,zout)
280
281c         CALL histdef(nid_mth, "n2_vmr", "volume mixture ratio n2",
282c     .                "cm-3",nbp_lon,jj_nb,nhori,klev,1,klev,nvert,32,
283c     .                "ave(X)", zsto,zout)
284c
285c        CALL histdef(nid_mth, "dvvdf", "Boundary-layer dV", "m/s2",
286c    .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
287c    .                "ave(X)", zsto,zout)
288c
289      ENDIF !lev_histmth.GE.4
290c
291c-------------------------------------------------------
292      IF(lev_histmth.GE.5) THEN
293c
294c        call histdef(nid_mth, "taux", 
295c    $         "Zonal wind stress", "Pa", 
296c    $         nbp_lon,jj_nb,nhori, 1,1,1, nvert, 32,
297c    $         "ave(X)", zsto,zout)
298c
299c        call histdef(nid_mth, "tauy", 
300c    $         "Meridional xind stress", "Pa", 
301c    $         nbp_lon,jj_nb,nhori, 1,1,1, nvert, 32,
302c    $         "ave(X)", zsto,zout)
303c
304c        CALL histdef(nid_mth, "cdrm", "Momentum drag coef.", "-",
305c    .                nbp_lon,jj_nb,nhori, 1,1,1, nvert, 32, 
306c    .                "ave(X)", zsto,zout)
307c
308c        CALL histdef(nid_mth, "cdrh", "Heat drag coef.", "-",
309c    .                nbp_lon,jj_nb,nhori, 1,1,1, nvert, 32, 
310c    .                "ave(X)", zsto,zout)
311c
312      ENDIF !lev_histmth.GE.5
313c-------------------------------------------------------
314
315         CALL histend(nid_mth)
316!$OMP END MASTER
317
318      ENDIF ! fin de test sur ok_mensuel
319
Note: See TracBrowser for help on using the repository browser.