source: LMDZ4/branches/V3_test/libf/phylmd/ini_histhf.h @ 726

Last change on this file since 726 was 704, checked in by Laurent Fairhead, 18 years ago

Inclusion des modifs de Y. Meurdesoif pour la version V3
LF

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