source: LMDZ4/tags/LMDZ4_V3_2/libf/phylmd/ini_histhf.h @ 4999

Last change on this file since 4999 was 912, checked in by (none), 16 years ago

This commit was manufactured by cvs2svn to create tag 'LMDZ4_V3_2'.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 13.2 KB
Line 
1!
2! $Header$
3!
4
5      IF (ok_hf) THEN
6c$OMP MASTER
7c
8       zstohf = ecrit_hf
9       zstophy = dtime
10       zstoday = ecrit_day
11       zout = ecrit_hf
12c
13         idayref = day_ref
14         CALL ymds2ju(annee_ref, 1, idayref, 0.0, zjulian)
15
16c
17cym         CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlon,zx_lon)
18cym         DO i = 1, iim
19cym            zx_lon(i,1) = rlon(i+1)
20cym            zx_lon(i,jjmp1) = rlon(i+1)
21cym         ENDDO
22
23cym         CALL gr_fi_ecrit(1,klon,iim,jjmp1,rlat,zx_lat)
24
25cccIM      CALL histbeg("histhf", iim,zx_lon, jjmp1,zx_lat,
26cym         CALL histbeg("histhf", iim,zx_lon(:,1), jjmp1,zx_lat(1,:),
27cym     .                 1,iim,1,jjmp1, itau_phy, zjulian, dtime, 
28cym     .                 nhori, nid_hf)
29
30         CALL histbeg_phy("histhf", itau_phy, zjulian, dtime, 
31     .                 nhori, nid_hf)
32
33         CALL histvert(nid_hf, "presnivs", "Vertical levels", "mb",
34     .                 klev, presnivs/100., nvert)
35c
36
37      IF(type_run.EQ."CLIM".OR.type_run.EQ."ENSP") THEN
38c
39      IF(lev_histhf.GE.1) THEN
40c
41         CALL histdef(nid_hf, "aireTER","Grid area CONT","-",
42     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
43     .                "once", zstohf,zout)
44c
45         CALL histdef(nid_hf, "contfracATM","% sfce ter+lic ","-",
46     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
47     .                "once", zstohf,zout)
48c
49         CALL histdef(nid_hf, "contfracOR","% sfce terre OR", "-",
50     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
51     .                "once", zstohf,zout)
52c
53c Champs 2D:
54c
55         CALL histdef(nid_hf, "t2m", "Temperature 2m", "K",
56     .                iim,jj_nb,nhori, 1,1,1, -99, 32, 
57     .                "inst(X)", zstohf,zout)
58c
59         CALL histdef(nid_hf, "q2m", "Specific humidity", "kg/kg",
60     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
61     .                "inst(X)", zstohf,zout)
62c
63         CALL histdef(nid_hf, "psol", "Surface Pressure", "Pa",
64     .                iim,jj_nb,nhori, 1,1,1, -99, 32, 
65     .                "inst(X)", zstohf,zout)
66c
67         CALL histdef(nid_hf, "precip", "Precipitation", "kg/(s*m2)",
68     .                iim,jj_nb,nhori, 1,1,1, -99, 32, 
69     .                "ave(X)", zstophy,zout)
70c
71cIM ENSEMBLES BEG
72         CALL histdef(nid_hf, "tsol", "Surface Temperature", "K",
73     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
74     .                "inst(X)", zstohf,zout)
75c
76         CALL histdef(nid_hf, "slp", "Sea Level Pressure", "Pa",
77     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
78     .                "inst(X)", zstohf,zout)
79c
80         CALL histdef(nid_hf, "u10m", "Vent zonal 10m", "m/s",
81     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
82     .                "inst(X)", zstohf,zout)
83c
84         CALL histdef(nid_hf, "v10m", "Vent meridien 10m", "m/s",
85     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
86     .                "inst(X)", zstohf,zout)
87c
88         CALL histdef(nid_hf, "wind10m","10-m wind speed","m/s",
89     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
90     .                "inst(X)", zstohf,zout)
91c
92         DO k=1, nlevSTD
93c
94         bb2=clevSTD(k)
95c
96c        IF(k.GE.2) THEN
97c         aa=clevSTD(k)
98c         bb=aa(1:lnblnk1(aa))
99c        ENDIF
100c
101         bb2=clevSTD(k)
102         IF(bb2.EQ."500") THEN
103         CALL histdef(nid_hf, "phi"//bb2,
104     .                "Geopotential "//bb2//"mb", "m",
105     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
106     .                "inst(X)", zstohf,zout)
107         ENDIF !bb2.EQ."500"
108         ENDDO !k=1, nlevSTD
109c
110      ENDIF !lev_histhf.GE.1
111c
112      IF(lev_histhf.GE.2) THEN
113c
114         CALL histdef(nid_hf, "cldt", "Total cloudiness", "%",
115     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
116     .                "ave(X)", zstophy,zout)
117c
118         CALL histdef(nid_hf, "SWnetOR",
119     .                "Sfce net SW radiation OR", "W/m2",
120     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
121     .                "ave(X)", zstophy,zout)
122c
123         CALL histdef(nid_hf, "SWdownOR",
124     .                "Sfce incident SW radiation OR", "W/m2",
125     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
126     .                "ave(X)", zstophy,zout)
127c
128         CALL histdef(nid_hf, "LWdownOR",
129     .                "Sfce incident LW radiation OR", "W/m2",
130     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
131     .                "ave(X)", zstophy,zout)
132      ENDIF !lev_histhf.GE.2
133c
134cIM ENSEMBLES END
135c
136      IF(lev_histhf.GE.3) THEN
137c
138         DO k=1, nlevSTD
139c
140c        bb=clevSTD(k)
141c
142c        IF(k.GE.2) THEN
143c         IF(k.GE.1.AND.k.LE.10) bb2=clevSTD(k)
144c         IF(k.GE.11.AND.k.LE.17) bb3=clevSTD(k)
145c         aa=clevSTD(k)
146c         bb=aa(1:lnblnk1(aa))
147c        ENDIF
148c
149         bb2=clevSTD(k)
150         IF(bb2.EQ."1000".OR.bb2.EQ."925".OR.
151     $      bb2.EQ."850".OR.bb2.EQ."700".OR.
152     $      bb2.EQ."500".OR.bb2.EQ."300".OR.
153     $      bb2.EQ."250".OR.bb2.EQ."200".OR.
154     $      bb2.EQ."150".OR.bb2.EQ."100".OR.
155     $      bb2.EQ."50".OR.bb2.EQ."30".OR.
156     $      bb2.EQ."10")THEN
157c
158          CALL histdef(nid_hf, "t"//bb2,
159     .                 "Temperature "//bb2//"mb","K",
160     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
161     .                "inst(X)", zstohf,zout)
162c
163          IF(bb2.NE."500") THEN
164          CALL histdef(nid_hf, "phi"//bb2,
165     .                "Geopotential "//bb2//"mb", "m",
166     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
167     .                "inst(X)", zstohf,zout)
168          ENDIF
169c
170          IF(bb2.GE."200") THEN
171          CALL histdef(nid_hf, "q"//bb2,
172     .                 "Specific humidity "//bb2//"mb","kg/kg",
173     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
174     .                "inst(X)", zstohf,zout)
175          ENDIF
176c
177          CALL histdef(nid_hf, "u"//bb2,
178     .                 "Zonal wind "//bb2//"mb","m/s",
179     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
180     .                "inst(X)", zstohf,zout)
181c
182          CALL histdef(nid_hf, "v"//bb2,
183     .                 "Meridional wind "//bb2//"mb","m/s",
184     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
185     .                "inst(X)", zstohf,zout)
186c
187          CALL histdef(nid_hf, "w"//bb2,
188     .                 "Vertical motion "//bb2//"mb","Pa/s",
189     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
190     .                "inst(X)", zstohf,zstohf)
191         ENDIF
192c
193         ENDDO !nlevSTD
194c
195      ENDIF !lev_histhf.GE.3
196c
197      IF(lev_histhf.GE.4) THEN
198c
199cIM sorties hf 3D
200c
201#undef histhf3d
202#define histhf3d
203#ifdef histhf3d
204#include "ini_histhf3d.h"
205#endif
206      ENDIF !lev_histhf.GE.4
207c
208      ELSE IF(type_run.EQ."AMIP".OR.type_run.EQ."CFMI") THEN
209c
210      IF(lev_histhf.GE.1) THEN
211c
212        DO k=1, nlevSTD
213c
214c
215c        bb=clevSTD(k)
216c
217c        IF(k.GE.2) THEN
218         IF(k.GE.2.AND.k.LE.12) bb2=clevSTD(k)
219         IF(k.GE.13.AND.k.LE.17) bb3=clevSTD(k)
220c         aa=clevSTD(k)
221c         bb=aa(1:lnblnk1(aa))
222c        ENDIF
223c
224         IF(bb2.EQ."850".or.bb2.EQ."200") THEN
225c
226          CALL histdef(nid_hf, "u"//bb2,
227     .                 "Zonal wind "//bb2//"mb","m/s",
228     .         iim,jj_nb,nhori, 1,1,1, -99, 32,
229     .         "inst(X)", zstohf,zstohf)
230c
231          CALL histdef(nid_hf, "v"//bb2,
232     .                 "Meridional wind "//bb2//"mb","m/s",
233     .         iim,jj_nb,nhori, 1,1,1, -99, 32,
234     .         "inst(X)", zstohf,zstohf)
235c
236         ENDIF !bb2.EQ."850".or.bb2.EQ."200"
237        ENDDO !k=1, nlevSTD
238c
239        CALL histdef(nid_hf, "topl", 
240     .       "Outgoing longwave radiation", "W/m2",
241     .       iim,jj_nb,nhori, 1,1,1, -99, 32,
242     .       "ave(X)", zstophy,zout)
243c
244        CALL histdef(nid_hf, "precip","Total precipitation rate",
245     .       "kg/(s*m2)",iim,jj_nb,nhori, 1,1,1, -99, 32, 
246     .       "ave(X)", zstophy,zout)
247c
248        CALL histdef(nid_hf, "slp", 
249     .       "Mean sea-level pressure", "Pa",
250     .       iim,jj_nb,nhori, 1,1,1, -99, 32,
251     .       "inst(X)", zstohf,zout)
252c
253cIM 280504 BEG
254      ENDIF !(lev_histhf.GE.1) THEN
255c
256      IF(lev_histhf.GE.2) THEN
257c
258        DO k=1, nlevSTD
259c
260c        bb=clevSTD(k)
261c
262c        IF(k.GE.2) THEN
263         IF(k.GE.2.AND.k.LE.12) bb2=clevSTD(k)
264         IF(k.GE.13.AND.k.LE.17) bb3=clevSTD(k)
265c         aa=clevSTD(k)
266c         bb=aa(1:lnblnk1(aa))
267c        ENDIF
268c
269         IF(bb2.EQ."850".OR.bb2.EQ."500") THEN
270c
271          CALL histdef(nid_hf, "t"//bb2,
272     .                 "Temperature "//bb2//"mb","K",
273     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
274     .                "inst(X)", zstohf,zstohf)
275c
276          CALL histdef(nid_hf, "q"//bb2,
277     .                 "Specific humidity "//bb2//"mb","kg/kg",
278     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
279     .                "inst(X)", zstohf,zstohf)
280c
281         ENDIF !bb2
282c
283         IF(bb2.EQ."500") THEN
284c
285          CALL histdef(nid_hf, "phi"//bb2,
286     .                "Geopotential "//bb2//"mb", "m",
287     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
288     .                "inst(X)", zstohf,zstohf)
289c
290          CALL histdef(nid_hf, "w"//bb2,
291     .                 "Vertical motion "//bb2//"mb","Pa/s",
292     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
293     .                "inst(X)", zstohf,zstohf)
294         ENDIF !bb2.EQ."500"
295c
296         IF(bb3.EQ."50") THEN
297c
298          CALL histdef(nid_hf, "t"//bb3,
299     .                 "Temperature "//bb3//"mb","K",
300     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
301     .                "inst(X)", zstohf,zstohf)
302c
303          CALL histdef(nid_hf, "u"//bb3,
304     .                 "Zonal wind "//bb3//"mb","m/s",
305     .         iim,jj_nb,nhori, 1,1,1, -99, 32,
306     .         "inst(X)", zstohf,zstohf)
307c
308          CALL histdef(nid_hf, "v"//bb3,
309     .                 "Meridional wind "//bb3//"mb","m/s",
310     .         iim,jj_nb,nhori, 1,1,1, -99, 32,
311     .         "inst(X)", zstohf,zstohf)
312c
313         ENDIF !bb3
314c
315        ENDDO !k=1, nlevSTD
316c
317        CALL histdef(nid_hf, "u10m", "Vent zonal 10m", "m/s",
318     .               iim,jj_nb,nhori, 1,1,1, -99, 32,
319     .               "inst(X)", zstohf,zout)
320c
321        CALL histdef(nid_hf, "v10m", "Vent meridien 10m", "m/s",
322     .               iim,jj_nb,nhori, 1,1,1, -99, 32,
323     .               "inst(X)", zstohf,zout)
324c
325        CALL histdef(nid_hf, "t2m", "Temperature 2m", "K",
326     .               iim,jj_nb,nhori, 1,1,1, -99, 32,
327     .               "inst(X)", zstohf,zout)
328c
329        CALL histdef(nid_hf, "q2m", "Specific humidity", "kg/kg",
330     .               iim,jj_nb,nhori, 1,1,1, -99, 32,
331     .               "inst(X)", zstohf,zout)
332c
333        CALL histdef(nid_hf, "psol", "Surface Pressure", "Pa",
334     .               iim,jj_nb,nhori, 1,1,1, -99, 32, 
335     .               "inst(X)", zstohf,zout)
336c
337        CALL histdef(nid_hf, "cldt", "Total cloudiness", "%",
338     .               iim,jj_nb,nhori, 1,1,1, -99, 32,
339     .               "ave(X)", zstohf,zout)
340c
341        CALL histdef(nid_hf, "taux",
342     $         "Zonal wind stress","Pa",
343     $         iim,jj_nb,nhori, 1,1,1, -99, 32,
344     $         "ave(X)", zstohf,zout)
345c
346        CALL histdef(nid_hf, "tauy",
347     $         "Meridional wind stress ", "Pa",
348     $         iim,jj_nb,nhori, 1,1,1, -99, 32,
349     $         "ave(X)", zstohf,zout)
350c
351        CALL histdef(nid_hf, "prw", "Precipitable water", "kg/m2",
352     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
353cIM 090904  .                "ave(X)", zstohf,zout)
354     .                "ave(X)", zstophy,zout)
355c
356        CALL histdef(nid_hf, "sens", "Sensible heat flux", "W/m2",
357     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
358cIM 090904  .                "ave(X)", zstohf,zout)
359     .                "ave(X)", zstophy,zout)
360c
361        CALL histdef(nid_hf, "flat", "Latent heat flux", "W/m2",
362     .                iim,jj_nb,nhori, 1,1,1, -99, 32,
363     .                "ave(X)", zstohf,zout)
364c
365c       CALL histdef(nid_hf, "snow_mass", "Snow Mass", "kg/m2",
366c    .                iim,jj_nb,nhori, 1,1,1, -99, 32,
367c    .                "ave(X)", zstohf,zout)
368c
369        CALL histdef(nid_hf, "SWdnSFC", "SWdn at surface","W/m2",
370     .                iim,jj_nb,nhori, 1,1,1,-99,
371     .                32, "ave(X)", zstohf,zout)
372c
373        CALL histdef(nid_hf, "SWupSFC", "SWup at surface","W/m2",
374     .                iim,jj_nb,nhori, 1,1,1,-99,
375     .                32, "ave(X)", zstohf,zout)
376c
377        CALL histdef(nid_hf,"LWdnSFC","Down. IR rad. at surface",
378     .                "W/m2", iim,jj_nb,nhori, 1,1,1, -99, 32,
379     .                "ave(X)", zstohf,zout)
380c
381        CALL histdef(nid_hf,"LWupSFC","Upwd. IR rad. at surface",
382     .                "W/m2", iim,jj_nb,nhori, 1,1,1, -99, 32,
383     .                "ave(X)", zstohf,zout)
384c
385        CALL histdef(nid_hf, "SWdnTOA", "SWdn at TOA","W/m2",
386     .                iim,jj_nb,nhori, 1,1,1,-99,
387     .                32, "ave(X)", zstohf,zout)
388c
389        CALL histdef(nid_hf, "SWupTOA", "SWup at TOA","W/m2",
390     .                iim,jj_nb,nhori, 1,1,1,-99,
391     .                32, "ave(X)", zstohf,zout)
392c
393        DO k=1, nbteta
394         CALL histdef(nid_hf, "PV"//ctetaSTD(k),
395     $               "Vorticite potentielle "//ctetaSTD(k)//"K",
396     $               "1/(Pa*s)",iim,jj_nb,nhori, 1,1,1, -99,
397     $                 32, "inst(X)", zstohf,zout) 
398        ENDDO !k=1, nbteta
399c
400c planetary boundary layer height
401c
402c       ENDIF !1.EQ.0
403c
404      ENDIF !(lev_histhf.GE.2) THEN
405cIM 280504 END
406c
407      ENDIF !type_run
408c
409      CALL histend(nid_hf)
410c
411c$OMP END MASTER
412      ENDIF ! ok_hf
Note: See TracBrowser for help on using the repository browser.