source: trunk/LMDZ.VENUS/libf/phyvenus/ini_histins.h @ 1543

Last change on this file since 1543 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: 13.5 KB
Line 
1!
2! $Header: /home/cvsroot/LMDZ4/libf/phylmd/ini_histins.h,v 1.1.1.1 2004/05/19 12:53:08 lmdzadmin Exp $
3!
4      IF (ok_instan) THEN
5
6         zsto = dtime * ecrit_ins
7         zout = dtime * ecrit_ins
8
9         idayref = day_ref
10         CALL ymds2ju(annee_ref, 1, idayref, zero, zjulian)
11
12         call histbeg_phy("histins.nc",itau_phy,
13     .                    zjulian,dtime,nhori,nid_ins)
14
15!$OMP MASTER
16         CALL histvert(nid_ins, "presnivs", "Vertical levels", "Pa",
17     .                 klev, presnivs, nvert)
18
19c-------------------------------------------------------
20      IF(lev_histins.GE.1) THEN
21c
22ccccccccccccc 2D fields, basics
23c
24         CALL histdef(nid_ins, "phis", "Surface geop. height", "-",
25     .                nbp_lon,jj_nb,nhori, 1,1,1, nvert, 32, 
26     .                "once",  zsto,zout)
27c
28         CALL histdef(nid_ins, "aire", "Grid area", "-",
29     .                nbp_lon,jj_nb,nhori, 1,1,1, nvert, 32, 
30     .                "once",  zsto,zout)
31c
32         CALL histdef(nid_ins, "tsol", "Surface Temperature", "K",
33     .                nbp_lon,jj_nb,nhori, 1,1,1, nvert, 32, 
34     .                "ins(X)", zsto,zout)
35c
36         CALL histdef(nid_ins, "psol", "Surface Pressure", "Pa",
37     .                nbp_lon,jj_nb,nhori, 1,1,1, nvert, 32, 
38     .                "ins(X)", zsto,zout)
39c
40c        CALL histdef(nid_ins, "ue", "Zonal energy transport", "-",
41c    .                nbp_lon,jj_nb,nhori, 1,1,1, nvert, 32, 
42c    .                "ins(X)", zsto,zout)
43c
44c        CALL histdef(nid_ins, "ve", "Merid energy transport", "-",
45c    .                nbp_lon,jj_nb,nhori, 1,1,1, nvert, 32, 
46c    .                "ins(X)", zsto,zout)
47c
48c        CALL histdef(nid_ins, "cdragh", "Drag coef on T", "-",
49c    .                nbp_lon,jj_nb,nhori, 1,1,1, nvert, 32, 
50c    .                "ins(X)", zsto,zout)
51c
52c        CALL histdef(nid_ins, "cdragm", "Drag coef on U", "-",
53c    .                nbp_lon,jj_nb,nhori, 1,1,1, nvert, 32, 
54c    .                "ins(X)", zsto,zout)
55c
56      ENDIF !lev_histins.GE.1
57c
58c-------------------------------------------------------
59      IF(lev_histins.GE.2) THEN
60c
61ccccccccccccc 3D fields, basics
62c
63         CALL histdef(nid_ins, "temp", "Air temperature", "K",
64     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
65     .                "ins(X)", zsto,zout)
66c
67         CALL histdef(nid_ins, "pres", "Air pressure", "Pa",
68     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
69     .                "ins(X)", zsto,zout)
70c
71         CALL histdef(nid_ins, "geop", "Geopotential height", "m",
72     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
73     .                "ins(X)", zsto,zout)
74c
75         CALL histdef(nid_ins, "vitu", "Zonal wind", "m/s",
76     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
77     .                "ins(X)", zsto,zout)
78c
79         CALL histdef(nid_ins, "vitv", "Meridional wind", "m/s",
80     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
81     .                "ins(X)", zsto,zout)
82c
83         CALL histdef(nid_ins, "vitw", "Vertical wind", "Pa/s",
84     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
85     .                "ins(X)", zsto,zout)
86c
87         CALL histdef(nid_ins, "dudyn", "Dynamics dU", "m/s2",
88     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
89     .                "ins(X)", zsto,zout)
90c
91         CALL histdef(nid_ins, "duvdf", "Boundary-layer dU", "m/s2",
92     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
93     .                "ins(X)", zsto,zout)
94c
95c        CALL histdef(nid_ins, "mang", "Angular momentum", "kg m2/s",
96c    .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
97c    .                "ins(X)", zsto,zout)
98c
99c        CALL histdef(nid_ins, "Kz", "vertical diffusion coef", "m2/s",
100c    .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
101c    .                "ins(X)", zsto,zout)
102c
103         CALL histdef(nid_ins, "mmean", "Mean molecular mass", "g/mol",
104     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
105     .                "ins(X)", zsto,zout)
106
107         CALL histdef(nid_ins, "rho", "Air density [mass/Vol]", "kg/m3",
108     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
109     .                "ins(X)", zsto,zout)
110
111
112c plusieurs traceurs  !!!outputs in [vmr]
113       IF (iflag_trac.eq.1) THEN
114            DO iq=1,nqmax
115             IF (iq.LE.99) THEN
116          WRITE(str2,'(i2.2)') iq
117          CALL histdef(nid_ins, tname(iq), ttext(iq), "mol/mol",
118     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
119     .                "ins(X)", zsto,zout)
120             ELSE
121          PRINT*, "Trop de traceurs"
122          CALL abort
123             ENDIF
124            ENDDO
125       ENDIF
126
127       IF (callthermos .and. ok_chem) THEN
128          CALL histdef(nid_ins, "d_qmoldif CO2", "Dif molec" , "kg/kg",
129     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
130     .                "ins(X)", zsto,zout)
131          CALL histdef(nid_ins, "d_qmoldif O3p", "Dif molec" , "kg/kg",
132     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
133     .                "ins(X)", zsto,zout)
134          CALL histdef(nid_ins, "d_qmoldif N2", "Dif molec" , "kg/kg",
135     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
136     .                "ins(X)", zsto,zout)
137       ENDIF
138c
139         CALL histdef(nid_ins, "tops", "Solar rad. at TOA", "W/m2",
140     .                nbp_lon,jj_nb,nhori, 1,1,1, nvert, 32, 
141     .                "ins(X)", zsto,zout)
142c
143          if (ok_cloud) THEN
144
145          if (nb_mode.GE.1) THEN
146           
147c
148         CALL histdef(nid_ins, "NBRTOTm1", "Nbr total droplet",
149     .                "#/cm3",nbp_lon,jj_nb,nhori,klev,1,klev,nvert,32,
150     .                "ins(X)", zsto,zout)
151c
152
153c
154c         CALL histdef(nid_ins, "R_MEDIANm1", "Median radius
155c     .    for log normal distribution" ,
156c     .                "fraction",
157c     .                nbp_lon,jj_nb,nhori, klev,1,klev, nvert, 32, 
158c     .                "ins(X)", zsto,zout)
159c
160
161c
162c         CALL histdef(nid_ins, "STDDEVm1", "Std Deviation
163c     .    for log normal distribution",
164c     .                "fraction",
165c     .                nbp_lon,jj_nb,nhori, klev,1,klev, nvert, 32, 
166c     .                "ins(X)", zsto,zout)
167c
168
169          if (nb_mode.GE.2) THEN
170
171c
172         CALL histdef(nid_ins, "NBRTOTm2", "Nbr total droplet",
173     .                "#/cm3",nbp_lon,jj_nb,nhori,klev,1,klev,nvert,32,
174     .                "ins(X)", zsto,zout)
175c
176
177c
178c         CALL histdef(nid_ins, "R_MEDIANm2", "Median radius
179c     .    for log normal distribution" ,
180c     .                "fraction",
181c     .                nbp_lon,jj_nb,nhori, klev,1,klev, nvert, 32, 
182c     .                "ins(X)", zsto,zout)
183c
184
185c
186c         CALL histdef(nid_ins, "STDDEVm2", "Std Deviation
187c     .    for log normal distribution",
188c     .                "fraction",
189c     .                nbp_lon,jj_nb,nhori, klev,1,klev, nvert, 32, 
190c     .                "ins(X)", zsto,zout)
191c
192
193          if (nb_mode.GE.3) THEN
194         
195c
196         CALL histdef(nid_ins, "NBRTOTm3", "Nbr total droplet", "#/cm3",
197     .                nbp_lon,jj_nb,nhori, klev,1,klev, nvert, 32, 
198     .                "ins(X)", zsto,zout)
199c
200
201c
202c         CALL histdef(nid_ins, "R_MEDIANm3", "Median radius
203c     .   for log normal distribution" ,
204c     .                "fraction",
205c     .                nbp_lon,jj_nb,nhori, klev,1,klev, nvert, 32, 
206c     .                "ins(X)", zsto,zout)
207c
208
209c
210c         CALL histdef(nid_ins, "STDDEVm3", "Std Deviation
211c     .    for log normal distribution",
212c     .                "fraction",
213c     .                nbp_lon,jj_nb,nhori, klev,1,klev, nvert, 32, 
214c     .                "ins(X)", zsto,zout)
215c
216
217         ENDIF
218         ENDIF
219         ENDIF
220         
221c
222         CALL histdef(nid_ins, "WH2SO4", "Weight fraction H2SO4",
223     .                "fraction",
224     .                nbp_lon,jj_nb,nhori, klev,1,klev, nvert, 32, 
225     .                "ins(X)", zsto,zout)
226c
227
228c
229         CALL histdef(nid_ins, "rho_droplet", "density cloud droplet",
230     .                "kg.m-3",
231     .                nbp_lon,jj_nb,nhori, klev,1,klev, nvert, 32, 
232     .                "ins(X)", zsto,zout)
233c
234
235                ENDIF
236               
237          if (ok_sedim) THEN
238c
239         CALL histdef(nid_ins, "d_tr_sed_H2SO4", "var mmr from sedim",
240     .                "kg/kg",
241     .                nbp_lon,jj_nb,nhori, klev,1,klev, nvert, 32, 
242     .                "ins(X)", zsto,zout)
243c
244
245c
246         CALL histdef(nid_ins, "d_tr_sed_H2O", "var mmr from sedim",
247     .                "kg/kg",
248     .                nbp_lon,jj_nb,nhori, klev,1,klev, nvert, 32, 
249     .                "ins(X)", zsto,zout)
250c
251
252c
253         CALL histdef(nid_ins, "F_sedim", "tendency from sedim",
254     .                "kg.m-2.s-1",
255     .                nbp_lon,jj_nb,nhori, klev,1,klev, nvert, 32, 
256     .                "ins(X)", zsto,zout)
257c
258                ENDIF
259      ENDIF !lev_histins.GE.2
260c
261c-------------------------------------------------------
262      IF(lev_histins.GE.3) THEN
263c
264cccccccccccccccccc  Radiative transfer
265c
266c 2D
267c
268         CALL histdef(nid_ins, "topl", "IR rad. at TOA", "W/m2",
269     .                nbp_lon,jj_nb,nhori, 1,1,1, nvert, 32, 
270     .                "ins(X)", zsto,zout)
271c
272         CALL histdef(nid_ins, "sols", "Solar rad. at surf.", "W/m2",
273     .                nbp_lon,jj_nb,nhori, 1,1,1, nvert, 32, 
274     .                "ins(X)", zsto,zout)
275c
276         CALL histdef(nid_ins, "soll", "IR rad. at surface", "W/m2",
277     .                nbp_lon,jj_nb,nhori, 1,1,1, nvert, 32, 
278     .                "ins(X)", zsto,zout)
279c
280c 3D
281c
282         CALL histdef(nid_ins, "SWnet", "Net SW flux","W/m2",
283     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert,
284     .                32, "ins(X)", zsto,zout)
285c
286         CALL histdef(nid_ins, "LWnet", "Net LW flux","W/m2",
287     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert,
288     .                32, "ins(X)", zsto,zout)
289c
290         CALL histdef(nid_ins, "fluxvdf", "PBL net flux","W/m2",
291     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert,
292     .                32, "ins(X)", zsto,zout)
293c
294         CALL histdef(nid_ins, "fluxdyn", "Dyn. net flux","W/m2",
295     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert,
296     .                32, "ins(X)", zsto,zout)
297c
298         CALL histdef(nid_ins, "fluxajs", "Dry adj. net flux","W/m2",
299     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert,
300     .                32, "ins(X)", zsto,zout)
301c
302c        CALL histdef(nid_ins, "fluxec", "Cin. net flux","W/m2",
303c    .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert,
304c    .                32, "ins(X)", zsto,zout)
305c
306      ENDIF !lev_histins.GE.3
307c
308c-------------------------------------------------------
309      IF(lev_histins.GE.4) THEN
310c
311         CALL histdef(nid_ins, "dtdyn", "Dynamics dT", "K/s",
312     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
313     .                "ins(X)", zsto,zout)
314c
315c        CALL histdef(nid_ins, "dtphy", "Physics dT", "K/s",
316c    .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
317c    .                "ins(X)", zsto,zout)
318c
319         CALL histdef(nid_ins, "dtvdf", "Boundary-layer dT", "K/s",
320     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
321     .                "ins(X)", zsto,zout)
322c
323         CALL histdef(nid_ins, "dtajs", "Dry adjust. dT", "K/s",
324     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
325     .                "ins(X)", zsto,zout)
326c
327         CALL histdef(nid_ins, "dtswr", "SW radiation dT", "K/s",
328     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
329     .                "ins(X)", zsto,zout)
330c
331         CALL histdef(nid_ins, "dtlwr", "LW radiation dT", "K/s",
332     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
333     .                "ins(X)", zsto,zout)
334c
335c        CALL histdef(nid_ins, "dtec", "Cinetic dissip dT", "K/s",
336c    .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
337c    .                "ins(X)", zsto,zout)
338c
339         CALL histdef(nid_ins, "duajs", "Dry convection dU", "m/s2",
340     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
341     .                "ins(X)", zsto,zout)
342c
343         CALL histdef(nid_ins, "dugwo", "GW oro dU", "m/s2",
344     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
345     .                "ins(X)", zsto,zout)
346c
347         CALL histdef(nid_ins, "dugwno", "GW non-oro dU", "m/s2",
348     .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
349     .                "ins(X)", zsto,zout)
350c
351c        CALL histdef(nid_ins, "dvvdf", "Boundary-layer dV", "m/s2",
352c    .                nbp_lon,jj_nb,nhori, klev,1,klev,nvert, 32,
353c    .                "ins(X)", zsto,zout)
354c
355      ENDIF !lev_histins.GE.4
356c
357c-------------------------------------------------------
358      IF(lev_histins.GE.5) THEN
359c
360c        call histdef(nid_ins, "taux", 
361c    $         "Zonal wind stress", "Pa", 
362c    $         nbp_lon,jj_nb,nhori, 1,1,1, nvert, 32,
363c    $         "ins(X)", zsto,zout)
364c
365c        call histdef(nid_ins, "tauy", 
366c    $         "Meridional xind stress", "Pa", 
367c    $         nbp_lon,jj_nb,nhori, 1,1,1, nvert, 32,
368c    $         "ins(X)", zsto,zout)
369c
370c        CALL histdef(nid_ins, "cdrm", "Momentum drag coef.", "-",
371c    .                nbp_lon,jj_nb,nhori, 1,1,1, nvert, 32, 
372c    .                "ins(X)", zsto,zout)
373c
374c        CALL histdef(nid_ins, "cdrh", "Heat drag coef.", "-",
375c    .                nbp_lon,jj_nb,nhori, 1,1,1, nvert, 32, 
376c    .                "ins(X)", zsto,zout)
377c
378      ENDIF !lev_histins.GE.5
379c-------------------------------------------------------
380c
381         CALL histend(nid_ins)
382!$OMP END MASTER
383
384      ENDIF
Note: See TracBrowser for help on using the repository browser.