source: LMDZ4/branches/LMDZ4_V2_patch/libf/phylmd/write_histday.h @ 5065

Last change on this file since 5065 was 644, checked in by Laurent Fairhead, 19 years ago

Synchronisation avec tous les diagnostiques de Ionela IM
Inclusion du slab ocean IM
LF

  • 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.