source: LMDZ4/branches/LMDZ4_V2_patch/libf/phylmd/ini_histhf.h @ 740

Last change on this file since 740 was 740, checked in by lmdzadmin, 17 years ago

Correction bogues: les ecrit_ sont des REALs lus dans conf_phys.F90 en
nombre de jours sauf pour ecrit_ins et ecrit_tra en secondes!
Les ecrit_ sont initialises dans conf_phys.F90 et peuvent etre modifies dans
physiq.def.
IM

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