source: LMDZ4/tags/LMDZ4_V2/libf/phylmd/write_histday.h @ 3962

Last change on this file since 3962 was 741, checked in by (none), 18 years ago

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

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 22.1 KB
Line 
1c
2c $Header$
3c
4      if (ok_journe) THEN
5c
6      ndex2d = 0
7      ndex3d = 0
8c
9c Champs 2D:
10c
11         itau_w = itau_phy + itap
12
13c
14      IF(lev_histday.GE.1) THEN
15c
16       CALL gr_fi_ecrit(1,klon,iim,jjmp1,pphis,zx_tmp_2d)
17       CALL histwrite(nid_day,"phis",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
18c
19cIM 310804      CALL gr_fi_ecrit(1,klon,iim,jjmp1,paire,zx_tmp_2d)
20         CALL gr_fi_ecrit(1,klon,iim,jjmp1,airephy,zx_tmp_2d)
21       CALL histwrite(nid_day,"aire",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
22c
23      DO i=1, klon
24       zx_tmp_fi2d(i)=pctsrf(i,is_ter)+pctsrf(i,is_lic)
25      ENDDO
26c
27      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d)
28      CALL histwrite(nid_day,"contfracATM",itau_w,
29     $      zx_tmp_2d,iim*jjmp1,ndex2d)
30c
31      CALL gr_fi_ecrit(1,klon,iim,jjmp1,pctsrf_new(:,is_ter),zx_tmp_2d)
32      CALL histwrite(nid_day,"contfracOR",itau_w,
33     $      zx_tmp_2d,iim*jjmp1,ndex2d)
34c
35      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxtsol,zx_tmp_2d)
36      CALL histwrite(nid_day,"tsol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
37C
38      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zt2m,zx_tmp_2d)
39      CALL histwrite(nid_day,"t2m",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
40c
41c   En attendant un eventuel debugage.
42
43      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zt2m,zx_tmp_2d)
44      CALL histwrite(nid_day,"t2m_min",itau_w,zx_tmp_2d,
45     .               iim*jjmp1,ndex2d)
46c
47      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zt2m,zx_tmp_2d)
48      CALL histwrite(nid_day,"t2m_max",itau_w,zx_tmp_2d,
49     .               iim*jjmp1,ndex2d)
50c
51      DO i = 1, klon
52         zx_tmp_fi2d(i) = rain_lsc(i) + snow_lsc(i)
53      ENDDO
54      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
55      CALL histwrite(nid_day,"plul",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
56c
57      DO i = 1, klon
58         zx_tmp_fi2d(i) = rain_con(i) + snow_con(i)
59      ENDDO
60      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
61      CALL histwrite(nid_day,"pluc",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
62c
63      CALL gr_fi_ecrit(1, klon,iim,jjmp1, snow_lsc,zx_tmp_2d)
64      CALL histwrite(nid_day,"snowl",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
65c
66      IF(1.EQ.0) THEN
67      CALL gr_fi_ecrit(1, klon,iim,jjmp1, snow_con,zx_tmp_2d)
68      CALL histwrite(nid_day,"snowc",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
69      ENDIF
70c
71      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxfluxlat,zx_tmp_2d)
72      CALL histwrite(nid_day,"flat",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
73c
74      DO i = 1, klon
75         zx_tmp_fi2d(i) = pctsrf(i,is_sic)
76      ENDDO
77c
78      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
79      CALL histwrite(nid_day,"sicf",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
80c
81      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zq2m,zx_tmp_2d)
82      CALL histwrite(nid_day,"q2m",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
83c
84      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zu10m,zx_tmp_2d)
85      CALL histwrite(nid_day,"u10m",itau_w,zx_tmp_2d,iim*jjmp1,
86     .               ndex2d)
87c
88      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zv10m,zx_tmp_2d)
89      CALL histwrite(nid_day,"v10m",itau_w,zx_tmp_2d,iim*jjmp1,
90     .               ndex2d)
91c
92      DO i=1, klon
93       zx_tmp_fi2d(i)=SQRT(zu10m(i)*zu10m(i)+zv10m(i)*zv10m(i))
94      ENDDO
95      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
96      CALL histwrite(nid_day,"wind10m",itau_w,zx_tmp_2d,
97     $     iim*jjmp1,ndex2d)
98c
99      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
100      CALL histwrite(nid_day,"wind10max",itau_w,zx_tmp_2d,
101     .               iim*jjmp1,ndex2d)
102c
103      DO i=1, klon
104         zx_tmp_fi2d(i) = paprs(i,1)
105      ENDDO
106      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
107      CALL histwrite(nid_day,"psol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
108c
109      DO i=1, klon
110         zx_tmp_fi2d(i) = (rain_fall(i) + snow_fall(i))
111      ENDDO
112      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
113      CALL histwrite(nid_day,"precip",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
114c
115      CALL gr_fi_ecrit(1, klon,iim,jjmp1, snow_fall,zx_tmp_2d)
116      CALL histwrite(nid_day,"snowf",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
117c
118cIM: 140404   CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxsnow,zx_tmp_2d)
119c     CALL gr_fi_ecrit(1, klon,iim,jjmp1, zsnow_mass,zx_tmp_2d)
120c     CALL histwrite(nid_day,"snow_mass",itau_w,zx_tmp_2d,iim*jjmp1,
121c    .               ndex2d)
122c
123      CALL gr_fi_ecrit(1, klon,iim,jjmp1, evap,zx_tmp_2d)
124      CALL histwrite(nid_day,"evap",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
125c
126      CALL gr_fi_ecrit(1, klon,iim,jjmp1, topsw,zx_tmp_2d)
127      CALL histwrite(nid_day,"tops",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
128c
129      CALL gr_fi_ecrit(1, klon,iim,jjmp1, toplw,zx_tmp_2d)
130      CALL histwrite(nid_day,"topl",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
131c
132      CALL gr_fi_ecrit(1, klon,iim,jjmp1, solsw,zx_tmp_2d)
133      CALL histwrite(nid_day,"sols",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
134c
135      CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollw,zx_tmp_2d)
136      CALL histwrite(nid_day,"soll",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
137c
138      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldl,zx_tmp_2d)
139      CALL histwrite(nid_day,"cldl",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
140c
141      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldm,zx_tmp_2d)
142      CALL histwrite(nid_day,"cldm",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
143c
144      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldh,zx_tmp_2d)
145      CALL histwrite(nid_day,"cldh",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
146c
147      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldt,zx_tmp_2d)
148      CALL histwrite(nid_day,"cldt",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
149c
150      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldq,zx_tmp_2d)
151      CALL histwrite(nid_day,"cldq",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
152c
153      CALL gr_fi_ecrit(1, klon,iim,jjmp1, prw,zx_tmp_2d)
154      CALL histwrite(nid_day,"prw",itau_w,zx_tmp_2d,
155     .               iim*jjmp1,ndex2d)
156
157c   Ecriture de champs dynamiques sur des niveaux de pression
158c     DO k=1, nlevENS
159      DO k=1, nlevSTD
160c
161c        bb=clevSTD(k)
162c
163         IF(k.GE.2.AND.k.LE.12) bb2=clevSTD(k)
164         IF(k.GE.13.AND.k.LE.17) bb3=clevSTD(k)
165c         aa=clevSTD(k)
166c         bb=aa(1:lnblnk1(aa))
167c        ENDIF
168c
169      IF(bb2.EQ."850".OR.bb2.EQ."700"
170     $   .OR.bb2.EQ."500".OR.bb2.EQ."200") THEN
171c
172        CALL gr_fi_ecrit(1, klon,iim,jjmp1,usumSTD(:,k,1),zx_tmp_2d)
173        CALL histwrite(nid_day,"u"//bb2,itau_w,zx_tmp_2d,
174     $       iim*jjmp1,ndex2d)
175c
176        CALL gr_fi_ecrit(1, klon,iim,jjmp1,vsumSTD(:,k,1),zx_tmp_2d)
177        CALL histwrite(nid_day,"v"//bb2,itau_w,zx_tmp_2d,
178     $       iim*jjmp1,ndex2d)
179c
180      ENDIF !(bb2.EQ."850".OR.bb2.EQ."700".OR.bb2.EQ."500".OR.bb2.EQ."200") THEN
181c
182c w500
183c
184      IF(bb2.EQ."500") THEN
185c
186      CALL gr_fi_ecrit(1, klon,iim,jjmp1,wsumSTD(:,k,1),zx_tmp_2d)
187      CALL histwrite(nid_day,"w"//bb2,itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
188c
189      CALL gr_fi_ecrit(1, klon,iim,jjmp1,phisumSTD(:,k,1),zx_tmp_2d)
190      CALL histwrite(nid_day,"phi"//bb2,itau_w,zx_tmp_2d,
191     $     iim*jjmp1,ndex2d)
192
193      ENDIF !(bb2.EQ."500") THEN
194c
195      ENDDO !nlevSTD
196c
197      CALL gr_fi_ecrit(1, klon,iim,jjmp1, slp,zx_tmp_2d)
198      CALL histwrite(nid_day,"slp",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
199
200      CALL gr_fi_ecrit(1,klon,iim,jjmp1,cape,zx_tmp_2d)
201      CALL histwrite(nid_day,"cape_max",itau_w,zx_tmp_2d,
202     .               iim*jjmp1,ndex2d)
203c
204      CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollwdown,zx_tmp_2d)
205      CALL histwrite(nid_day,"solldown",itau_w,zx_tmp_2d,iim*jjmp1,
206     .               ndex2d)
207c
208      DO i=1, klon
209        zx_tmp_fi2d(i)=-1*sens(i)
210      ENDDO
211      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
212      CALL histwrite(nid_day,"sens",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
213c
214      zx_tmp_fi2d(1 : klon) = swdn(1 : klon, 1)
215
216      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
217      CALL histwrite(nid_day, "SWdnSFC",itau_w,zx_tmp_2d,
218     .                               iim*jjmp1,ndex2d)
219c
220      IF (OCEAN.EQ.'force ') THEN
221c
222      DO i=1, klon
223      IF((pctsrf(i,is_oce).GT.epsfra).OR.
224     .   (pctsrf(i,is_sic).GT.epsfra)) THEN
225       zx_tmp_fi2d(i) = (radsol(i) + fluxo(i))*pctsrf(i,is_oce)+
226     .                  fluxg(i)*pctsrf(i,is_sic)
227      ELSE
228       zx_tmp_fi2d(i) = 1.E+20
229      ENDIF
230      ENDDO
231      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
232      CALL histwrite(nid_day,"lmt_bils",itau_w,
233     .     zx_tmp_2d,iim*jjmp1,ndex2d)
234c
235      ELSE IF (OCEAN.EQ.'slab  ') THEN
236c
237      DO i=1, klon
238      IF((pctsrf(i,is_oce).GT.epsfra).OR.
239     .   (pctsrf(i,is_sic).GT.epsfra)) THEN
240       zx_tmp_fi2d(i) = (radsol(i) + fluxo(i))*pctsrf(i,is_oce)+
241     .                  fluxg(i)*pctsrf(i,is_sic)
242      ELSE
243       zx_tmp_fi2d(i) = 1.E+20
244      ENDIF
245      ENDDO
246      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
247      CALL histwrite(nid_day,"slab_bils",itau_w,
248     .     zx_tmp_2d,iim*jjmp1,ndex2d)
249c
250      DO i=1, klon
251       IF(pctsrf(i,is_oce).GT.epsfra.OR.
252     $    pctsrf(i,is_sic).GT.epsfra) THEN
253        zx_tmp_fi2d(i)=tslab(i)
254       ELSE
255        zx_tmp_fi2d(i) = 1.E+20
256       ENDIF
257      ENDDO !i=1, klon
258      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
259      CALL histwrite(nid_day,"tslab",itau_w,zx_tmp_2d,
260     .     iim*jjmp1,ndex2d)
261c
262      CALL gr_fi_ecrit(1, klon,iim,jjmp1, seaice,zx_tmp_2d)
263      CALL histwrite(nid_day,"seaice",itau_w,zx_tmp_2d,
264     .     iim*jjmp1,ndex2d)
265c
266      CALL gr_fi_ecrit(1, klon,iim,jjmp1, seaice/1000.,zx_tmp_2d)
267      CALL histwrite(nid_day,"siceh",itau_w,zx_tmp_2d,
268     .     iim*jjmp1,ndex2d)
269c
270      ENDIF !(OCEAN.EQ.'slab  ') THEN
271c
272      DO i=1, klon
273       IF (pctsrf(i,is_oce).GT.epsfra) THEN
274        zx_tmp_fi2d(i) = fluxo(i)
275       ELSE
276        zx_tmp_fi2d(i) = 1.E+20
277       ENDIF
278      ENDDO
279c
280      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
281      CALL histwrite(nid_day,"fluxo",itau_w,zx_tmp_2d,
282     .     iim*jjmp1,ndex2d)
283c
284      DO i=1, klon
285       IF (pctsrf(i,is_sic).GT.epsfra) THEN
286        zx_tmp_fi2d(i) = fluxg(i)
287       ELSE
288        zx_tmp_fi2d(i) = 1.E+20
289       ENDIF
290      ENDDO
291c
292      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
293      CALL histwrite(nid_day,"fluxg",itau_w,zx_tmp_2d,
294     .     iim*jjmp1,ndex2d)
295c
296      ENDIF !lev_histday.GE.1
297c
298      IF(lev_histday.GE.2) THEN
299c
300      CALL gr_fi_ecrit(1, klon,iim,jjmp1, bils,zx_tmp_2d)
301      CALL histwrite(nid_day,"bils",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
302c
303      CALL gr_fi_ecrit(1, klon,iim,jjmp1, fder,zx_tmp_2d)
304      CALL histwrite(nid_day,"fder",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
305c
306      ENDIF !lev_histday.GE.2
307c
308      IF(lev_histday.GE.3) THEN
309c=================================================================
310c   ECRITURE DES CHAMPS 3D
311c=================================================================
312
313c
314c Champs 3D:
315c
316      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, t_seri, zx_tmp_3d)
317      CALL histwrite(nid_day,"temp",itau_w,zx_tmp_3d,
318     .                                   iim*jjmp1*klev,ndex3d)
319c
320      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, qx(1,1,ivap), zx_tmp_3d)
321      CALL histwrite(nid_day,"ovap",itau_w,zx_tmp_3d,
322     .                                   iim*jjmp1*klev,ndex3d)
323c
324      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zphi, zx_tmp_3d)
325      CALL histwrite(nid_day,"geop",itau_w,zx_tmp_3d,
326     .                                   iim*jjmp1*klev,ndex3d)
327c
328      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, u_seri, zx_tmp_3d)
329      CALL histwrite(nid_day,"vitu",itau_w,zx_tmp_3d,
330     .                                   iim*jjmp1*klev,ndex3d)
331c
332      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, v_seri, zx_tmp_3d)
333      CALL histwrite(nid_day,"vitv",itau_w,zx_tmp_3d,
334     .                                   iim*jjmp1*klev,ndex3d)
335c
336      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, omega, zx_tmp_3d)
337      CALL histwrite(nid_day,"vitw",itau_w,zx_tmp_3d,
338     .                                   iim*jjmp1*klev,ndex3d)
339c
340      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, pplay, zx_tmp_3d)
341      CALL histwrite(nid_day,"pres",itau_w,zx_tmp_3d,
342     .                                   iim*jjmp1*klev,ndex3d)
343c
344      ENDIF !lev_histday.GE.3
345c=================================================================
346c   FIN ECRITURE DES CHAMPS 3D
347c=================================================================
348      IF(lev_histday.ge.4) THEN
349c=================================================================
350c
351c   ECRITURE DES CHAMPS SUR LES SOUS SURFACES
352c
353c=================================================================
354      zx_tmp_fi2d(1 : klon) = swup( 1 : klon, klevp1 )
355      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
356      CALL histwrite(nid_day, "SWupTOA",itau_w,zx_tmp_2d,
357     .                               iim*jjmp1,ndex2d)
358c
359      zx_tmp_fi2d(1 : klon) = swup( 1 : klon, 1 )
360      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
361      CALL histwrite(nid_day, "SWupSFC",itau_w,zx_tmp_2d,
362     .                               iim*jjmp1,ndex2d)
363c
364      zx_tmp_fi2d(1 : klon) = swdn( 1 : klon, klevp1 )
365      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
366      CALL histwrite(nid_day, "SWdnTOA",itau_w,zx_tmp_2d,
367     .                               iim*jjmp1,ndex2d)
368c
369      zx_tmp_fi2d(1 : klon) = swup0( 1 : klon, klevp1 )
370      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
371      CALL histwrite(nid_day, "SWupTOAclr",itau_w,zx_tmp_2d,
372     .                               iim*jjmp1,ndex2d)
373c
374      zx_tmp_fi2d(1 : klon) = swup0( 1 : klon, 1 )
375      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
376      CALL histwrite(nid_day, "SWupSFCclr",itau_w,zx_tmp_2d,
377     .                               iim*jjmp1,ndex2d)
378c
379      zx_tmp_fi2d(1 : klon) = swdn0( 1 : klon, klevp1 )
380      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
381      CALL histwrite(nid_day, "SWdnTOAclr",itau_w,zx_tmp_2d,
382     .                               iim*jjmp1,ndex2d)
383c
384      zx_tmp_fi2d(1 : klon) = swdn0( 1 : klon, 1 )
385      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
386      CALL histwrite(nid_day, "SWdnSFCclr",itau_w,zx_tmp_2d,
387     .                               iim*jjmp1,ndex2d)
388c
389      zx_tmp_fi2d(1 : klon) = ftsol(1 : klon, is_ter)
390      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d ,zx_tmp_2d)
391      CALL histwrite(nid_day,"tter",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
392c
393      zx_tmp_fi2d(1 : klon) = ftsol(1 : klon, is_lic)
394      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
395      CALL histwrite(nid_day,"tlic",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
396c
397      zx_tmp_fi2d(1 : klon) = ftsol(1 : klon, is_oce)
398      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
399      CALL histwrite(nid_day,"toce",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
400c
401      zx_tmp_fi2d(1 : klon) = ftsol(1 : klon, is_sic)
402      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
403      CALL histwrite(nid_day,"tsic",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
404c
405      zx_tmp_fi2d(1 : klon) = t2m(1 : klon, is_ter)
406      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d)
407      CALL histwrite(nid_day,"t2mter",itau_w,zx_tmp_2d,iim*jjmp1,
408     .               ndex2d)
409c
410      zx_tmp_fi2d(1 : klon) = t2m(1 : klon, is_ter)
411      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
412      CALL histwrite(nid_day,"t2mter_min",itau_w,zx_tmp_2d,
413     .               iim*jjmp1,ndex2d)
414c
415      zx_tmp_fi2d(1 : klon) = t2m(1 : klon, is_ter)
416      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
417      CALL histwrite(nid_day,"t2mter_max",itau_w,zx_tmp_2d,
418     .               iim*jjmp1,ndex2d)
419c
420      zx_tmp_fi2d(1 : klon) = t2m(1 : klon, is_lic)
421      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d)
422      CALL histwrite(nid_day,"t2mlic",itau_w,zx_tmp_2d,iim*jjmp1,
423     .               ndex2d)
424c
425      zx_tmp_fi2d(1 : klon) = t2m(1 : klon, is_oce)
426      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d)
427      CALL histwrite(nid_day,"t2moce",itau_w,zx_tmp_2d,iim*jjmp1,
428     .               ndex2d)
429c
430      zx_tmp_fi2d(1 : klon) = t2m(1 : klon, is_sic)
431      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d)
432      CALL histwrite(nid_day,"t2msic",itau_w,zx_tmp_2d,iim*jjmp1,
433     .               ndex2d)
434c
435      zx_tmp_fi2d(1 : klon) = u10m(1 : klon, is_ter)
436      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d)
437      CALL histwrite(nid_day,"u10mter",itau_w,zx_tmp_2d,iim*jjmp1,
438     .               ndex2d)
439c
440      zx_tmp_fi2d(1 : klon) = v10m(1 : klon, is_ter)
441      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d)
442      CALL histwrite(nid_day,"v10mter",itau_w,zx_tmp_2d,iim*jjmp1,
443     .               ndex2d)
444c
445      zx_tmp_fi2d(1 : klon) = u10m(1 : klon, is_lic)
446      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d)
447      CALL histwrite(nid_day,"u10mlic",itau_w,zx_tmp_2d,iim*jjmp1,
448     .               ndex2d)
449c
450      zx_tmp_fi2d(1 : klon) = v10m(1 : klon, is_lic)
451      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d)
452      CALL histwrite(nid_day,"v10mlic",itau_w,zx_tmp_2d,iim*jjmp1,
453     .               ndex2d)
454c
455      zx_tmp_fi2d(1 : klon) = u10m(1 : klon, is_oce)
456      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d)
457      CALL histwrite(nid_day,"u10moce",itau_w,zx_tmp_2d,iim*jjmp1,
458     .               ndex2d)
459c
460      zx_tmp_fi2d(1 : klon) = v10m(1 : klon, is_oce)
461      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d)
462      CALL histwrite(nid_day,"v10moce",itau_w,zx_tmp_2d,iim*jjmp1,
463     .               ndex2d)
464c
465      zx_tmp_fi2d(1 : klon) = u10m(1 : klon, is_sic)
466      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d)
467      CALL histwrite(nid_day,"u10msic",itau_w,zx_tmp_2d,iim*jjmp1,
468     .               ndex2d)
469C
470      zx_tmp_fi2d(1 : klon) = v10m(1 : klon, is_sic)
471      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d)
472      CALL histwrite(nid_day,"v10msic",itau_w,zx_tmp_2d,iim*jjmp1,
473     .               ndex2d)
474C
475      DO nsrf = 1, nbsrf
476C
477        zx_tmp_fi2d(1 : klon) = pctsrf( 1 : klon, nsrf)*100.
478        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
479        CALL histwrite(nid_day,"pourc_"//clnsurf(nsrf),itau_w,
480     $      zx_tmp_2d,iim*jjmp1,ndex2d) 
481C
482        zx_tmp_fi2d(1 : klon) = pctsrf( 1 : klon, nsrf)
483        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
484        CALL histwrite(nid_day,"fract_"//clnsurf(nsrf),itau_w,
485     $      zx_tmp_2d,iim*jjmp1,ndex2d) 
486C
487        zx_tmp_fi2d(1 : klon) = ftsol( 1 : klon, nsrf)
488        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
489        CALL histwrite(nid_day,"tsol_"//clnsurf(nsrf),itau_w,
490     $      zx_tmp_2d,iim*jjmp1,ndex2d) 
491C
492        zx_tmp_fi2d(1 : klon) = fluxt( 1 : klon, 1, nsrf)
493        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
494        CALL histwrite(nid_day,"sens_"//clnsurf(nsrf),itau_w,
495     $      zx_tmp_2d,iim*jjmp1,ndex2d) 
496
497        zx_tmp_fi2d(1 : klon) = fluxlat( 1 : klon, nsrf)
498        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
499        CALL histwrite(nid_day,"lat_"//clnsurf(nsrf),itau_w,
500     $      zx_tmp_2d,iim*jjmp1,ndex2d) 
501C
502        zx_tmp_fi2d(1 : klon) = fluxu( 1 : klon, 1, nsrf)
503        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
504        CALL histwrite(nid_day,"taux_"//clnsurf(nsrf),itau_w,
505     $      zx_tmp_2d,iim*jjmp1,ndex2d) 
506C     
507        zx_tmp_fi2d(1 : klon) = fluxv( 1 : klon, 1, nsrf)
508        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
509        CALL histwrite(nid_day,"tauy_"//clnsurf(nsrf),itau_w,
510     $      zx_tmp_2d,iim*jjmp1,ndex2d)
511C
512        zx_tmp_fi2d(1 : klon) = falbe( 1 : klon, nsrf)
513        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
514        CALL histwrite(nid_day,"albe_"//clnsurf(nsrf),itau_w,
515     $      zx_tmp_2d,iim*jjmp1,ndex2d) 
516C
517        zx_tmp_fi2d(1 : klon) = frugs( 1 : klon, nsrf)
518        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
519        CALL histwrite(nid_day,"rugs_"//clnsurf(nsrf),itau_w,
520     $      zx_tmp_2d,iim*jjmp1,ndex2d) 
521C
522      END DO 
523c=================================================================
524c   FIN ECRITURE DES CHAMPS SUR LES SOUS SURFACES
525c=================================================================
526      ENDIF !lev_histday.GE.4
527c
528      IF(lev_histday.GE.5) THEN !lev_histday.GE.5
529c
530c rajout sorties F. Aires
531c
532      CALL gr_fi_ecrit(1, klon,iim,jjmp1, topsw0,zx_tmp_2d)
533      CALL histwrite(nid_day,"tops0",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
534c
535      CALL gr_fi_ecrit(1, klon,iim,jjmp1, toplw0,zx_tmp_2d)
536      CALL histwrite(nid_day,"topl0",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
537c
538      CALL gr_fi_ecrit(1, klon,iim,jjmp1, solsw0,zx_tmp_2d)
539      CALL histwrite(nid_day,"sols0",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
540c
541      CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollw0,zx_tmp_2d)
542      CALL histwrite(nid_day,"soll0",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
543c
544      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, cldfra, zx_tmp_3d)
545      CALL histwrite(nid_day,"rneb",itau_w,zx_tmp_3d,
546     .                                   iim*jjmp1*klev,ndex3d)
547c
548      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, rnebcon, zx_tmp_3d)
549      CALL histwrite(nid_day,"rnebcon",itau_w,zx_tmp_3d,
550     .                                   iim*jjmp1*klev,ndex3d)
551c
552      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, flwc,zx_tmp_3d)
553      CALL histwrite(nid_day,"lwcon",itau_w,zx_tmp_3d,
554     .               iim*jjmp1*klev,ndex3d)
555c
556      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, fiwc,zx_tmp_3d)
557      CALL histwrite(nid_day,"iwcon",itau_w,zx_tmp_3d,
558     .               iim*jjmp1*klev,ndex3d)
559c
560      zx_tmp_fi2d(1:klon) = flwp(1:klon)
561      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
562      CALL histwrite(nid_day,"lwp",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
563c
564      zx_tmp_fi2d(1:klon) = fiwp(1:klon)
565      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
566      CALL histwrite(nid_day,"iwp",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
567c
568      CALL gr_fi_ecrit(1,klon,iim,jjmp1, meantaucld,zx_tmp_2d)
569      CALL histwrite(nid_day,"meantaucld",itau_w,zx_tmp_2d,
570     .               iim*jjmp1,ndex2d)
571c
572      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, cldtau,zx_tmp_3d)
573      CALL histwrite(nid_day,"cldtau",itau_w,zx_tmp_3d,
574     .               iim*jjmp1*klev,ndex3d)
575c
576      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, cldemi,zx_tmp_3d)
577      CALL histwrite(nid_day,"cldemi",itau_w,zx_tmp_3d,
578     .               iim*jjmp1*klev,ndex3d)
579c
580      ENDIF !lev_histday.GE.5
581c=================================================================
582c=================================================================
583c=================================================================
584c
585      if (ok_sync) then
586        call histsync(nid_day)
587      endif
588
589      ENDIF
Note: See TracBrowser for help on using the repository browser.