source: LMDZ4/trunk/libf/phylmd/ini_histhf.h @ 955

Last change on this file since 955 was 776, checked in by Laurent Fairhead, 17 years ago

Suite du merge entre la version et la HEAD: quelques modifications
de Yann sur le

LF

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