source: LMDZ4/trunk/libf/phylmd/write_histmth.h @ 652

Last change on this file since 652 was 644, checked in by Laurent Fairhead, 20 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: 74.7 KB
Line 
1c
2c $Header$
3c
4      IF (ok_mensuel) THEN
5c
6      ndex2d = 0
7      ndex3d = 0
8
9         itau_w = itau_phy + itap
10
11c
12      IF(type_run.EQ."CLIM".OR.type_run.EQ."ENSP") THEN
13c
14      IF(lev_histmth.GE.1) THEN
15c
16c Champs 2D:
17c
18      CALL gr_fi_ecrit(1,klon,iim,jjmp1,pphis,zx_tmp_2d)
19      CALL histwrite(nid_mth,"phis",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
20C
21cIM 310804   CALL gr_fi_ecrit(1,klon,iim,jjmp1,paire,zx_tmp_2d)
22      CALL gr_fi_ecrit(1,klon,iim,jjmp1,airephy,zx_tmp_2d)
23      CALL histwrite(nid_mth,"aire",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
24c
25      zx_tmp_fi2d(1 : klon) = pctsrf(1 : klon, is_ter)* 100.
26      CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
27      CALL histwrite(nid_mth,"pourc_"//clnsurf(is_ter),itau_w,
28     $      zx_tmp_2d,iim*jjmp1,ndex2d)
29c
30      zx_tmp_fi2d(1 : klon) = pctsrf(1 : klon, is_ter)
31      CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
32      CALL histwrite(nid_mth,"fract_"//clnsurf(is_ter),itau_w,
33     $      zx_tmp_2d,iim*jjmp1,ndex2d)
34c
35      CALL gr_fi_ecrit(1, klon,iim,jjmp1, slp,zx_tmp_2d)
36      CALL histwrite(nid_mth,"slp",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
37
38      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxtsol,zx_tmp_2d)
39      CALL histwrite(nid_mth,"tsol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
40c
41      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zt2m,zx_tmp_2d)
42      CALL histwrite(nid_mth,"t2m",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
43c
44c ENSEMBLES BEG
45      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zt2m,zx_tmp_2d)
46      CALL histwrite(nid_mth,"t2m_min",itau_w,zx_tmp_2d,
47     .               iim*jjmp1,ndex2d)
48c
49      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zt2m,zx_tmp_2d)
50      CALL histwrite(nid_mth,"t2m_max",itau_w,zx_tmp_2d,
51     .               iim*jjmp1,ndex2d)
52c
53c     CALL gr_fi_ecrit(1,klon,iim,jjmp1,ftsoil(:,1,is_ter),zx_tmp_2d)
54c     CALL gr_fi_ecrit(1,klon,iim,jjmp1,ftsol(:,is_ter),zx_tmp_2d)
55c     CALL gr_fi_ecrit(1,klon,iim,jjmp1,ztsol,zx_tmp_2d)
56c     CALL histwrite(nid_mth,"tsoil",itau_w,zx_tmp_2d,
57c    .               iim*jjmp1,ndex2d)
58c
59      DO i=1, klon
60       zx_tmp_fi2d(i)=SQRT(zu10m(i)*zu10m(i)+zv10m(i)*zv10m(i))
61      ENDDO
62      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
63      CALL histwrite(nid_mth,"wind10m",itau_w,zx_tmp_2d,
64     $     iim*jjmp1,ndex2d)
65c
66      DO i = 1, klon
67         zx_tmp_fi2d(i) = pctsrf(i,is_sic)
68      ENDDO
69      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
70      CALL histwrite(nid_mth,"sicf",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
71c
72c     CALL gr_fi_ecrit(klev,klon,iim,jjmp1, t_seri, zx_tmp_3d)
73c     CALL histwrite(nid_mth,"temp",itau_w,zx_tmp_3d,
74c    .                                   iim*jjmp1*klev,ndex3d)
75c
76c ENSEMBLES END
77c
78      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zq2m,zx_tmp_2d)
79      CALL histwrite(nid_mth,"q2m",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
80c
81      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zu10m,zx_tmp_2d)
82      CALL histwrite(nid_mth,"u10m",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
83C
84      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zv10m,zx_tmp_2d)
85      CALL histwrite(nid_mth,"v10m",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
86C
87      DO i = 1, klon
88         zx_tmp_fi2d(i) = paprs(i,1)
89      ENDDO
90      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
91      CALL histwrite(nid_mth,"psol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
92c
93      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxqsurf,zx_tmp_2d)
94      CALL histwrite(nid_mth,"qsurf",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
95c
96      if (.not. ok_veget) then
97          CALL gr_fi_ecrit(1, klon,iim,jjmp1, qsol,zx_tmp_2d)
98          CALL histwrite(nid_mth,"qsol",itau_w,zx_tmp_2d,iim*jjmp1
99     $        ,ndex2d)
100      endif
101c
102      DO i = 1, klon
103         zx_tmp_fi2d(i) = rain_fall(i) + snow_fall(i)
104      ENDDO
105      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
106      CALL histwrite(nid_mth,"precip",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
107c
108      CALL gr_fi_ecrit(1, klon,iim,jjmp1, nday_rain,zx_tmp_2d)
109      CALL histwrite(nid_mth,"ndayrain",itau_w,zx_tmp_2d,
110     $               iim*jjmp1,ndex2d)
111c
112      DO i = 1, klon
113         zx_tmp_fi2d(i) = rain_lsc(i) + snow_lsc(i)
114      ENDDO
115      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
116      CALL histwrite(nid_mth,"plul",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
117c
118      DO i = 1, klon
119         zx_tmp_fi2d(i) = rain_con(i) + snow_con(i)
120      ENDDO
121      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
122      CALL histwrite(nid_mth,"pluc",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
123c
124      CALL gr_fi_ecrit(1, klon,iim,jjmp1, snow_fall,zx_tmp_2d)
125      CALL histwrite(nid_mth,"snow",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
126c
127c     CALL gr_fi_ecrit(1, klon,iim,jjmp1, zsnow_mass,zx_tmp_2d)
128c     CALL histwrite(nid_mth,"snow_mass",itau_w,zx_tmp_2d,iim*jjmp1,
129c    .               ndex2d)
130c
131      CALL gr_fi_ecrit(1, klon,iim,jjmp1, evap,zx_tmp_2d)
132      CALL histwrite(nid_mth,"evap",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
133c
134      CALL gr_fi_ecrit(1, klon,iim,jjmp1, topsw,zx_tmp_2d)
135      CALL histwrite(nid_mth,"tops",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
136c
137      CALL gr_fi_ecrit(1, klon,iim,jjmp1, topsw0,zx_tmp_2d)
138      CALL histwrite(nid_mth,"tops0",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
139c
140      CALL gr_fi_ecrit(1, klon,iim,jjmp1, toplw,zx_tmp_2d)
141      CALL histwrite(nid_mth,"topl",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
142c
143      CALL gr_fi_ecrit(1, klon,iim,jjmp1, toplw0,zx_tmp_2d)
144      CALL histwrite(nid_mth,"topl0",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
145c
146      zx_tmp_fi2d(1 : klon) = swup ( 1 : klon, klevp1 )
147      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
148      CALL histwrite(nid_mth, "SWupTOA",itau_w,zx_tmp_2d,
149     .                               iim*jjmp1,ndex2d)
150c
151      zx_tmp_fi2d(1 : klon) = swup0 ( 1 : klon, klevp1 )
152      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
153      CALL histwrite(nid_mth, "SWupTOAclr",itau_w,zx_tmp_2d,
154     .                               iim*jjmp1,ndex2d)
155c
156      zx_tmp_fi2d(1 : klon) = swdn ( 1 : klon, klevp1 )
157      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
158      CALL histwrite(nid_mth, "SWdnTOA",itau_w,zx_tmp_2d,
159     .                               iim*jjmp1,ndex2d)
160c
161      zx_tmp_fi2d(1 : klon) = swdn0 ( 1 : klon, klevp1 )
162      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
163      CALL histwrite(nid_mth, "SWdnTOAclr",itau_w,zx_tmp_2d,
164     .                               iim*jjmp1,ndex2d)
165c
166      CALL gr_fi_ecrit(1, klon,iim,jjmp1, SWup200,zx_tmp_2d)
167      CALL histwrite(nid_mth,"SWup200",itau_w,zx_tmp_2d,
168     $     iim*jjmp1,ndex2d)
169c
170      CALL gr_fi_ecrit(1, klon,iim,jjmp1, SWup200clr,zx_tmp_2d)
171      CALL histwrite(nid_mth,"SWup200clr",itau_w,zx_tmp_2d,
172     $     iim*jjmp1,ndex2d)
173c
174      CALL gr_fi_ecrit(1, klon,iim,jjmp1, SWdn200,zx_tmp_2d)
175      CALL histwrite(nid_mth,"SWdn200",itau_w,zx_tmp_2d,
176     $     iim*jjmp1,ndex2d)
177c
178      CALL gr_fi_ecrit(1, klon,iim,jjmp1, SWdn200clr,zx_tmp_2d)
179      CALL histwrite(nid_mth,"SWdn200clr",itau_w,zx_tmp_2d,
180     $     iim*jjmp1,ndex2d)
181c
182      CALL gr_fi_ecrit(1, klon,iim,jjmp1, LWup200,zx_tmp_2d)
183      CALL histwrite(nid_mth,"LWup200",itau_w,zx_tmp_2d,
184     $     iim*jjmp1,ndex2d)
185c
186      CALL gr_fi_ecrit(1, klon,iim,jjmp1, LWup200clr,zx_tmp_2d)
187      CALL histwrite(nid_mth,"LWup200clr",itau_w,zx_tmp_2d,
188     $     iim*jjmp1,ndex2d)
189c
190      zx_tmp_fi2d(1:klon)=-1*LWdn200(1:klon)
191      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
192      CALL histwrite(nid_mth,"LWdn200",itau_w,zx_tmp_2d,
193     $     iim*jjmp1,ndex2d)
194c
195      zx_tmp_fi2d(1:klon)=-1*LWdn200clr(1:klon)
196      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
197      CALL histwrite(nid_mth,"LWdn200clr",itau_w,zx_tmp_2d,
198     $     iim*jjmp1,ndex2d)
199c
200c200 END
201      CALL gr_fi_ecrit(1, klon,iim,jjmp1, solsw,zx_tmp_2d)
202      CALL histwrite(nid_mth,"sols",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
203c
204      CALL gr_fi_ecrit(1, klon,iim,jjmp1, solsw0,zx_tmp_2d)
205      CALL histwrite(nid_mth,"sols0",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
206c
207      CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollw,zx_tmp_2d)
208      CALL histwrite(nid_mth,"soll",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
209c
210      CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollw0,zx_tmp_2d)
211      CALL histwrite(nid_mth,"soll0",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
212c
213c      zx_tmp_fi2d(1 : klon) = ZFSUP( 1 : klon, 1)
214      zx_tmp_fi2d(1 : klon) = swup ( 1 : klon, 1 )
215      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
216      CALL histwrite(nid_mth, "SWupSFC",itau_w,zx_tmp_2d,
217     .                               iim*jjmp1,ndex2d)
218c
219c      zx_tmp_fi2d(1 : klon) = ZFSUP0( 1 : klon, 1)
220      zx_tmp_fi2d(1 : klon) = swup0 ( 1 : klon, 1 )
221      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
222      CALL histwrite(nid_mth, "SWupSFCclr",itau_w,zx_tmp_2d,
223     .                               iim*jjmp1,ndex2d)
224c
225c      zx_tmp_fi2d(1 : klon) = ZFSDN( 1 : klon, 1)
226      zx_tmp_fi2d(1 : klon) = swdn ( 1 : klon, 1 )
227      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
228      CALL histwrite(nid_mth, "SWdnSFC",itau_w,zx_tmp_2d,
229     .                               iim*jjmp1,ndex2d)
230c
231c      zx_tmp_fi2d(1 : klon) = ZFSDN0( 1 : klon, 1)
232      zx_tmp_fi2d(1 : klon) = swdn0 ( 1 : klon, 1 )
233      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
234      CALL histwrite(nid_mth, "SWdnSFCclr",itau_w,zx_tmp_2d,
235     .                               iim*jjmp1,ndex2d)
236c
237cIM 080904   zx_tmp_fi2d(1:klon)=sollw(1:klon)+sollwdown(1:klon)
238cIM 130904   zx_tmp_fi2d(1:klon)=sollw(1:klon)-sollwdown(1:klon)
239      zx_tmp_fi2d(1:klon)=sollwdown(1:klon)-sollw(1:klon)
240      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d)
241      CALL histwrite(nid_mth,"LWupSFC",itau_w,zx_tmp_2d,iim*jjmp1,
242     .               ndex2d)
243c
244      DO i=1, klon
245       sollwdownclr(i)=-1.*lwdn0(i,1)
246      ENDDO !i=1, klon
247
248cIM 080904   zx_tmp_fi2d(1:klon)=sollw0(1:klon)+sollwdownclr(1:klon)
249cIM 130904   zx_tmp_fi2d(1:klon)=sollw0(1:klon)-sollwdownclr(1:klon)
250      zx_tmp_fi2d(1:klon)=sollwdownclr(1:klon)-sollw0(1:klon)
251      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d)
252      CALL histwrite(nid_mth,"LWupSFCclr",itau_w,zx_tmp_2d,iim*jjmp1,
253     .               ndex2d)
254c
255      CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollwdown,zx_tmp_2d)
256      CALL histwrite(nid_mth,"LWdnSFC",itau_w,zx_tmp_2d,iim*jjmp1,
257     .               ndex2d)
258c
259c     DO i=1, klon
260cIM 080904     sollwdownclr(i)=lwdn0(i,1)
261c      sollwdownclr(i)=-1.*lwdn0(i,1)
262c     ENDDO !i=1, klon
263c
264      CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollwdownclr,zx_tmp_2d)
265      CALL histwrite(nid_mth,"LWdnSFCclr",itau_w,zx_tmp_2d,
266     $               iim*jjmp1,ndex2d)
267c
268      CALL gr_fi_ecrit(1, klon,iim,jjmp1, bils,zx_tmp_2d)
269      CALL histwrite(nid_mth,"bils",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
270c
271      zx_tmp_fi2d(1:klon)=-1*sens(1:klon)
272c     CALL gr_fi_ecrit(1, klon,iim,jjmp1, sens,zx_tmp_2d)
273      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
274      CALL histwrite(nid_mth,"sens",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
275c
276      CALL gr_fi_ecrit(1, klon,iim,jjmp1, fder,zx_tmp_2d)
277      CALL histwrite(nid_mth,"fder",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
278c
279c
280c      DO i = 1, klon
281c         zx_tmp_fi2d(i) = fluxu(i,1)
282c      ENDDO
283c      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
284c      CALL histwrite(nid_mth,"frtu",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
285c
286c      DO i = 1, klon
287c         zx_tmp_fi2d(i) = fluxv(i,1)
288c      ENDDO
289c      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
290c      CALL histwrite(nid_mth,"frtv",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
291c
292c
293       CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxffonte,zx_tmp_2d)
294       CALL histwrite(nid_mth,"ffonte",itau_w,zx_tmp_2d,iim*jjmp1,
295     $                ndex2d)
296c
297       CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxfqcalving,zx_tmp_2d)
298       CALL histwrite(nid_mth,"fqcalving",itau_w,zx_tmp_2d,iim*jjmp1,
299     $                ndex2d)
300c
301       DO nsrf = 1, nbsrf
302        zx_tmp_fi2d(1 : klon) = fluxu( 1 : klon, 1, nsrf)
303        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
304        CALL histwrite(nid_mth,"taux_"//clnsurf(nsrf),itau_w,
305     $      zx_tmp_2d,iim*jjmp1,ndex2d) 
306C     
307        zx_tmp_fi2d(1 : klon) = fluxv( 1 : klon, 1, nsrf)
308        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
309        CALL histwrite(nid_mth,"tauy_"//clnsurf(nsrf),itau_w,
310     $      zx_tmp_2d,iim*jjmp1,ndex2d)
311       ENDDO
312c
313      DO nsrf = 1, nbsrf
314CYYY
315       IF(nsrf.GT.2) THEN
316        zx_tmp_fi2d(1 : klon) = pctsrf( 1 : klon, nsrf)*100.
317        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
318        CALL histwrite(nid_mth,"pourc_"//clnsurf(nsrf),itau_w,
319     $      zx_tmp_2d,iim*jjmp1,ndex2d) 
320c
321        zx_tmp_fi2d(1 : klon) = pctsrf( 1 : klon, nsrf)
322        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
323        CALL histwrite(nid_mth,"fract_"//clnsurf(nsrf),itau_w,
324     $      zx_tmp_2d,iim*jjmp1,ndex2d) 
325       ENDIF !nsrf.GT.2
326C
327        zx_tmp_fi2d(1 : klon) = ftsol( 1 : klon, nsrf)
328        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
329        CALL histwrite(nid_mth,"tsol_"//clnsurf(nsrf),itau_w,
330     $      zx_tmp_2d,iim*jjmp1,ndex2d)
331C
332        zx_tmp_fi2d(1 : klon) = fluxt( 1 : klon, 1, nsrf)
333        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
334        CALL histwrite(nid_mth,"sens_"//clnsurf(nsrf),itau_w,
335     $      zx_tmp_2d,iim*jjmp1,ndex2d)
336C
337        zx_tmp_fi2d(1 : klon) = fluxlat( 1 : klon, nsrf)
338        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
339        CALL histwrite(nid_mth,"lat_"//clnsurf(nsrf),itau_w,
340     $      zx_tmp_2d,iim*jjmp1,ndex2d) 
341C
342        zx_tmp_fi2d(1 : klon) = fsollw( 1 : klon, nsrf)
343        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
344        CALL histwrite(nid_mth,"flw_"//clnsurf(nsrf),itau_w,
345     $      zx_tmp_2d,iim*jjmp1,ndex2d)
346c
347        zx_tmp_fi2d(1 : klon) = fsolsw( 1 : klon, nsrf)
348        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
349        CALL histwrite(nid_mth,"fsw_"//clnsurf(nsrf),itau_w,
350     $      zx_tmp_2d,iim*jjmp1,ndex2d)
351C
352        zx_tmp_fi2d(1 : klon) = wfbils( 1 : klon, nsrf)
353        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
354        CALL histwrite(nid_mth,"wbils_"//clnsurf(nsrf),itau_w,
355     $      zx_tmp_2d,iim*jjmp1,ndex2d)
356C
357       IF(1.EQ.0) THEN
358C
359        zx_tmp_fi2d(1:klon) = fevap(1:klon,nsrf)*pctsrf(1:klon,nsrf)
360        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
361        CALL histwrite(nid_mth,"evapour_"//clnsurf(nsrf),itau_w,
362     $      zx_tmp_2d,iim*jjmp1,ndex2d)
363C
364        zx_tmp_fi2d(1:klon) = (rain_fall(1:klon) + snow_fall(1:klon))
365     $                        *pctsrf(1:klon,nsrf)
366        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
367        CALL histwrite(nid_mth,"prepour_"//clnsurf(nsrf),itau_w,
368     $      zx_tmp_2d,iim*jjmp1,ndex2d)
369C
370       ENDIF !(1.EQ.0) THEN
371C
372      END DO 
373c
374      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragm,zx_tmp_2d)
375      CALL histwrite(nid_mth,"cdrm",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
376c
377      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragh,zx_tmp_2d)
378      CALL histwrite(nid_mth,"cdrh",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
379c
380      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldl,zx_tmp_2d)
381      CALL histwrite(nid_mth,"cldl",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
382c
383      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldm,zx_tmp_2d)
384      CALL histwrite(nid_mth,"cldm",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
385c
386      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldh,zx_tmp_2d)
387      CALL histwrite(nid_mth,"cldh",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
388c
389      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldt,zx_tmp_2d)
390      CALL histwrite(nid_mth,"cldt",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
391c
392      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldq,zx_tmp_2d)
393      CALL histwrite(nid_mth,"cldq",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
394c
395      zx_tmp_fi2d(1:klon) = flwp(1:klon)
396      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
397      CALL histwrite(nid_mth,"lwp",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
398c
399      zx_tmp_fi2d(1:klon) = fiwp(1:klon)
400      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
401      CALL histwrite(nid_mth,"iwp",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
402c
403      CALL gr_fi_ecrit(1, klon,iim,jjmp1, ue,zx_tmp_2d)
404      CALL histwrite(nid_mth,"ue",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
405c
406      CALL gr_fi_ecrit(1, klon,iim,jjmp1, ve,zx_tmp_2d)
407      CALL histwrite(nid_mth,"ve",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
408c
409      CALL gr_fi_ecrit(1, klon,iim,jjmp1, uq,zx_tmp_2d)
410      CALL histwrite(nid_mth,"uq",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
411c
412      CALL gr_fi_ecrit(1, klon,iim,jjmp1, vq,zx_tmp_2d)
413      CALL histwrite(nid_mth,"vq",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
414cKE43
415      IF (iflag_con.GE.3) THEN ! sb
416c
417      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cape,zx_tmp_2d)
418      CALL histwrite(nid_mth,"cape",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
419c
420      CALL gr_fi_ecrit(1, klon,iim,jjmp1,pbase,zx_tmp_2d)
421      CALL histwrite(nid_mth,"pbase",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
422c
423      CALL gr_fi_ecrit(1, klon,iim,jjmp1,ema_pct,zx_tmp_2d)
424      CALL histwrite(nid_mth,"ptop",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
425c
426      CALL gr_fi_ecrit(1, klon,iim,jjmp1,ema_cbmf,zx_tmp_2d)
427      CALL histwrite(nid_mth,"fbase",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
428c
429c34EK
430c
431      CALL gr_fi_ecrit(1, klon,iim,jjmp1, prw,zx_tmp_2d)
432      CALL histwrite(nid_mth,"prw",itau_w,zx_tmp_2d,
433     .               iim*jjmp1,ndex2d)
434c
435      ENDIF !iflag_con.GE.3
436c
437c
438cIM cf. AM 081204 BEG
439cHBTM2
440c
441c
442      CALL gr_fi_ecrit(1, klon,iim,jjmp1, s_pblh,zx_tmp_2d)
443      CALL histwrite(nid_mth,"s_pblh",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
444c
445      CALL gr_fi_ecrit(1, klon,iim,jjmp1, s_pblt,zx_tmp_2d)
446      CALL histwrite(nid_mth,"s_pblt",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
447c
448      CALL gr_fi_ecrit(1, klon,iim,jjmp1, s_lcl,zx_tmp_2d)
449      CALL histwrite(nid_mth,"s_lcl",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
450c
451      CALL gr_fi_ecrit(1, klon,iim,jjmp1, s_capCL,zx_tmp_2d)
452      CALL histwrite(nid_mth,"s_capCL",itau_w,zx_tmp_2d,iim*jjmp1,
453     .               ndex2d)
454c
455      CALL gr_fi_ecrit(1, klon,iim,jjmp1, s_oliqCL,zx_tmp_2d)
456      CALL histwrite(nid_mth,"s_oliqCL",itau_w,zx_tmp_2d,iim*jjmp1,
457     .               ndex2d)
458c
459      CALL gr_fi_ecrit(1, klon,iim,jjmp1, s_cteiCL,zx_tmp_2d)
460      CALL histwrite(nid_mth,"s_cteiCL",itau_w,zx_tmp_2d,iim*jjmp1,
461     .               ndex2d)
462c
463      CALL gr_fi_ecrit(1, klon,iim,jjmp1, s_therm,zx_tmp_2d)
464      CALL histwrite(nid_mth,"s_therm",itau_w,zx_tmp_2d,iim*jjmp1,
465     .               ndex2d)
466c
467      CALL gr_fi_ecrit(1, klon,iim,jjmp1, s_trmb1,zx_tmp_2d)
468      CALL histwrite(nid_mth,"s_trmb1",itau_w,zx_tmp_2d,iim*jjmp1,
469     .               ndex2d)
470c
471      CALL gr_fi_ecrit(1, klon,iim,jjmp1, s_trmb2,zx_tmp_2d)
472      CALL histwrite(nid_mth,"s_trmb2",itau_w,zx_tmp_2d,iim*jjmp1,
473     .               ndex2d)
474c
475      CALL gr_fi_ecrit(1, klon,iim,jjmp1, s_trmb3,zx_tmp_2d)
476      CALL histwrite(nid_mth,"s_trmb3",itau_w,zx_tmp_2d,iim*jjmp1,
477     .               ndex2d)
478c
479cIM cf. AM 081204 END
480c
481c  Champs interpolles sur des niveaux de pression
482      DO k=1, nlevSTD
483c
484c        bb=clevSTD(k)
485c
486c        IF(k.GE.2) THEN
487         IF(k.GE.2.AND.k.LE.12) bb2=clevSTD(k)
488         IF(k.GE.13.AND.k.LE.17) bb3=clevSTD(k)
489c         aa=clevSTD(k)
490c         bb=aa(1:lnblnk1(aa))
491c        ENDIF
492c
493      IF(bb2.EQ."850".OR.bb2.EQ."700".OR.
494     $   bb2.EQ."500".OR.bb2.EQ."200") THEN
495c
496        CALL gr_fi_ecrit(1, klon,iim,jjmp1,usumSTD(:,k,2),zx_tmp_2d)
497        CALL histwrite(nid_mth,"u"//bb2,itau_w,zx_tmp_2d,
498     $       iim*jjmp1,ndex2d)
499c
500        CALL gr_fi_ecrit(1, klon,iim,jjmp1,vsumSTD(:,k,2),zx_tmp_2d)
501        CALL histwrite(nid_mth,"v"//bb2,itau_w,zx_tmp_2d,
502     $       iim*jjmp1,ndex2d)
503c
504      CALL gr_fi_ecrit(1, klon,iim,jjmp1,wsumSTD(:,k,2),zx_tmp_2d)
505      CALL histwrite(nid_mth,"w"//bb2,itau_w,zx_tmp_2d,
506     $     iim*jjmp1,ndex2d)
507c
508      CALL gr_fi_ecrit(1, klon,iim,jjmp1,phisumSTD(:,k,2),zx_tmp_2d)
509      CALL histwrite(nid_mth,"phi"//bb2,itau_w,zx_tmp_2d,
510     $     iim*jjmp1,ndex2d)
511c
512      ENDIF !(bb2.EQ."850".OR.bb2.EQ."700".OR.
513      ENDDO !nlevSTD
514c
515      DO i=1, klon
516       IF (pctsrf(i,is_oce).GT.epsfra) THEN
517        zx_tmp_fi2d(i) = fluxo(i)
518       ELSE
519        zx_tmp_fi2d(i) = 1.E+20
520       ENDIF
521      ENDDO
522c
523      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
524      CALL histwrite(nid_mth,"fluxo",itau_w,zx_tmp_2d,
525     .     iim*jjmp1,ndex2d)
526c
527      DO i=1, klon
528       IF (pctsrf(i,is_sic).GT.epsfra) THEN
529        zx_tmp_fi2d(i) = fluxg(i)
530       ELSE
531        zx_tmp_fi2d(i) = 1.E+20
532       ENDIF
533      ENDDO
534c
535      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
536      CALL histwrite(nid_mth,"fluxg",itau_w,zx_tmp_2d,
537     .     iim*jjmp1,ndex2d)
538c
539      IF (OCEAN.EQ.'force ') THEN
540c
541      DO i=1, klon
542      IF((pctsrf(i,is_oce).GT.epsfra).OR.
543     .   (pctsrf(i,is_sic).GT.epsfra)) THEN
544       zx_tmp_fi2d(i) = (radsol(i) + fluxo(i))*pctsrf(i,is_oce)+
545     .                  fluxg(i)*pctsrf(i,is_sic)
546      ELSE
547       zx_tmp_fi2d(i) = 1.E+20
548      ENDIF
549      ENDDO
550      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
551      CALL histwrite(nid_mth,"lmt_bils",itau_w,
552     .     zx_tmp_2d,iim*jjmp1,ndex2d)
553c
554      ELSE IF (OCEAN.EQ.'slab  ') THEN
555c
556      DO i=1, klon
557      IF((pctsrf(i,is_oce).GT.epsfra).OR.
558     .   (pctsrf(i,is_sic).GT.epsfra)) THEN
559       zx_tmp_fi2d(i) = (radsol(i) + fluxo(i))*pctsrf(i,is_oce)+
560     .                  fluxg(i)*pctsrf(i,is_sic)
561      ELSE
562       zx_tmp_fi2d(i) = 1.E+20
563      ENDIF
564      ENDDO
565      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
566      CALL histwrite(nid_mth,"slab_bils",itau_w,
567     .     zx_tmp_2d,iim*jjmp1,ndex2d)
568c
569      DO i=1, klon
570       IF(pctsrf(i,is_oce).GT.epsfra.OR.
571     $    pctsrf(i,is_sic).GT.epsfra) THEN
572        zx_tmp_fi2d(i)=tslab(i)
573       ELSE
574        zx_tmp_fi2d(i) = 1.E+20
575       ENDIF
576      ENDDO !i=1, klon
577      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
578      CALL histwrite(nid_mth,"tslab",itau_w,zx_tmp_2d,
579     .     iim*jjmp1,ndex2d)
580c
581      CALL gr_fi_ecrit(1, klon,iim,jjmp1, seaice,zx_tmp_2d)
582      CALL histwrite(nid_mth,"seaice",itau_w,zx_tmp_2d,
583     .     iim*jjmp1,ndex2d)
584c
585      CALL gr_fi_ecrit(1, klon,iim,jjmp1, seaice/1000.,zx_tmp_2d)
586      CALL histwrite(nid_mth,"siceh",itau_w,zx_tmp_2d,
587     .     iim*jjmp1,ndex2d)
588c
589      ENDIF !OCEAN.EQ.force/slab
590c
591      ENDIF !lev_histmth.GE.1
592c
593      IF(lev_histmth.GE.2) THEN
594c
595c Champs 3D:
596C
597c
598      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, flwc,zx_tmp_3d)
599      CALL histwrite(nid_mth,"lwcon",itau_w,zx_tmp_3d,
600     .               iim*jjmp1*klev,ndex3d)
601c
602      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, fiwc,zx_tmp_3d)
603      CALL histwrite(nid_mth,"iwcon",itau_w,zx_tmp_3d,
604     .               iim*jjmp1*klev,ndex3d)
605c
606      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, t_seri, zx_tmp_3d)
607      CALL histwrite(nid_mth,"temp",itau_w,zx_tmp_3d,
608     .                                   iim*jjmp1*klev,ndex3d)
609c
610c#ifdef histmthNMC
611c#include "write_histmthNMC.h"
612c#endif
613c
614      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, qx(1,1,ivap), zx_tmp_3d)
615      CALL histwrite(nid_mth,"ovap",itau_w,zx_tmp_3d,
616     .                                   iim*jjmp1*klev,ndex3d)
617c
618c     zx_tmp_fi3d(1:klon,1:klev)=qx(1:klon,1:klev,ivap)/
619c    .                         (1-qx(1:klon,1:klev,ivap))
620c     CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zx_tmp_fi3d, zx_tmp_3d)
621c     CALL histwrite(nid_mth,"wvap",itau_w,zx_tmp_3d,
622c    .                                   iim*jjmp1*klev,ndex3d)
623c
624      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zphi, zx_tmp_3d)
625      CALL histwrite(nid_mth,"geop",itau_w,zx_tmp_3d,
626     .                                   iim*jjmp1*klev,ndex3d)
627c
628      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, u_seri, zx_tmp_3d)
629      CALL histwrite(nid_mth,"vitu",itau_w,zx_tmp_3d,
630     .                                   iim*jjmp1*klev,ndex3d)
631c
632      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, v_seri, zx_tmp_3d)
633      CALL histwrite(nid_mth,"vitv",itau_w,zx_tmp_3d,
634     .                                   iim*jjmp1*klev,ndex3d)
635c
636      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, omega, zx_tmp_3d)
637      CALL histwrite(nid_mth,"vitw",itau_w,zx_tmp_3d,
638     .                                   iim*jjmp1*klev,ndex3d)
639c
640      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, pplay, zx_tmp_3d)
641      CALL histwrite(nid_mth,"pres",itau_w,zx_tmp_3d,
642     .                                   iim*jjmp1*klev,ndex3d)
643c
644      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, cldfra, zx_tmp_3d)
645      CALL histwrite(nid_mth,"rneb",itau_w,zx_tmp_3d,
646     .                                   iim*jjmp1*klev,ndex3d)
647c
648      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, rnebcon, zx_tmp_3d)
649      CALL histwrite(nid_mth,"rnebcon",itau_w,zx_tmp_3d,
650     .                                   iim*jjmp1*klev,ndex3d)
651c
652      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zx_rh, zx_tmp_3d)
653      CALL histwrite(nid_mth,"rhum",itau_w,zx_tmp_3d,
654     .                                   iim*jjmp1*klev,ndex3d)
655c
656      DO k=1, klev
657       DO i=1, klon
658cIM 151004      zx_tmp_fi3d(i,k)=MAX(wo(i,k),1.0e-12)*RG/46.6968
659c    $                    /(paprs(i,k)-paprs(i,k+1))
660c    $                    *(paprs(i,1)/101325.0)
661c        zx_tmp2_fi3d(i,k)=MAX(wo(i,k)*1.0e+6,1.0e-6)*RG/46.6968
662         zx_tmp_fi3d(i,k)=wo(i,k)*RG/46.6968
663     $                    /(paprs(i,k)-paprs(i,k+1))
664     $                    *(paprs(i,1)/101325.0)
665       ENDDO !i
666      ENDDO !k
667c
668c     CALL gr_fi_ecrit(klev,klon,iim,jjmp1, wo, zx_tmp_3d)
669c     CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp2_fi3d,zx_tmp_3d)
670      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
671      CALL histwrite(nid_mth,"ozone",itau_w,zx_tmp_3d,
672     .                                   iim*jjmp1*klev,ndex3d)
673c
674      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_t, zx_tmp_3d)
675      CALL histwrite(nid_mth,"dtphy",itau_w,zx_tmp_3d,
676     .                                   iim*jjmp1*klev,ndex3d)
677c
678      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_qx(:,:,ivap), 
679     .                 zx_tmp_3d)
680      CALL histwrite(nid_mth,"dqphy",itau_w,zx_tmp_3d,
681     .                                   iim*jjmp1*klev,ndex3d)
682c
683      ENDIF !lev_histmth.GE.2
684c
685      IF(lev_histmth.GE.3) THEN
686c
687       DO nsrf=1, nbsrf
688c
689        zx_tmp_fi2d(1 : klon) = falbe( 1 : klon, nsrf)
690        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
691        CALL histwrite(nid_mth,"albe_"//clnsurf(nsrf),itau_w,
692     $      zx_tmp_2d,iim*jjmp1,ndex2d)
693C
694        zx_tmp_fi2d(1 : klon) = frugs( 1 : klon, nsrf)
695        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
696        CALL histwrite(nid_mth,"rugs_"//clnsurf(nsrf),itau_w,
697     $      zx_tmp_2d,iim*jjmp1,ndex2d)
698c
699      zx_tmp_fi2d(1 : klon) = agesno( 1 : klon, nsrf)
700      CALL gr_fi_ecrit(1, klon,iim,jjmp1, agesno,zx_tmp_2d)
701      CALL histwrite(nid_mth,"ages_"//clnsurf(nsrf),itau_w
702     $    ,zx_tmp_2d,iim*jjmp1,ndex2d)
703c
704      ENDDO !nsrf=1, nbsrf
705c
706      CALL gr_fi_ecrit(1, klon,iim,jjmp1, albsol,zx_tmp_2d)
707      CALL histwrite(nid_mth,"albs",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
708c
709      CALL gr_fi_ecrit(1, klon,iim,jjmp1, albsollw,zx_tmp_2d)
710      CALL histwrite(nid_mth,"albslw",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
711c
712      ENDIF !lev_histmth.GE.3
713c
714c
715      IF(lev_histmth.GE.4) THEN
716c
717      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, clwcon0, zx_tmp_3d)
718      CALL histwrite(nid_mth,"clwcon",itau_w,zx_tmp_3d,
719     .                                   iim*jjmp1*klev,ndex3d)
720c
721      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, Ma, zx_tmp_3d)
722      CALL histwrite(nid_mth,"Ma",itau_w,zx_tmp_3d,
723     .                                   iim*jjmp1*klev,ndex3d)
724c
725      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, upwd, zx_tmp_3d)
726      CALL histwrite(nid_mth,"upwd",itau_w,zx_tmp_3d,
727     .                                   iim*jjmp1*klev,ndex3d)
728c
729      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, dnwd, zx_tmp_3d)
730      CALL histwrite(nid_mth,"dnwd",itau_w,zx_tmp_3d,
731     .                                   iim*jjmp1*klev,ndex3d)
732c
733      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, dnwd0, zx_tmp_3d)
734      CALL histwrite(nid_mth,"dnwd0",itau_w,zx_tmp_3d,
735     .                                   iim*jjmp1*klev,ndex3d)
736c
737c
738      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_t_dyn, zx_tmp_3d)
739      CALL histwrite(nid_mth,"dtdyn",itau_w,zx_tmp_3d,
740     .                                   iim*jjmp1*klev,ndex3d)
741c
742      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_q_dyn, zx_tmp_3d)
743      CALL histwrite(nid_mth,"dqdyn",itau_w,zx_tmp_3d,
744     .                                   iim*jjmp1*klev,ndex3d)
745c
746cIM: 101003 : K/30min ==> K/s
747      zx_tmp_fi3d(1:klon,1:klev)=d_t_con(1:klon,1:klev)/pdtphys
748      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
749      CALL histwrite(nid_mth,"dtcon",itau_w,zx_tmp_3d,
750     .                                   iim*jjmp1*klev,ndex3d)
751c
752      zx_tmp_fi3d(1:klon,1:klev)=d_q_con(1:klon,1:klev)/pdtphys
753      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
754      CALL histwrite(nid_mth,"dqcon",itau_w,zx_tmp_3d,
755     .                                   iim*jjmp1*klev,ndex3d)
756c
757cIM: 101003 : K/30min ==> K/s
758      zx_tmp_fi3d(1:klon,1:klev)=d_t_lsc(1:klon,1:klev)/pdtphys
759      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
760      CALL histwrite(nid_mth,"dtlsc",itau_w,zx_tmp_3d,
761     .                                   iim*jjmp1*klev,ndex3d)
762cIM: 101003 : K/30min ==> K/s
763      zx_tmp_fi3d(1:klon, 1:klev)=(d_t_lsc(1:klon,1:klev)+
764     .                             d_t_eva(1:klon,1:klev))/pdtphys
765      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zx_tmp_fi3d, zx_tmp_3d)
766      CALL histwrite(nid_mth,"dtlschr",itau_w,zx_tmp_3d,
767     .                                   iim*jjmp1*klev,ndex3d)
768c
769      zx_tmp_fi3d(1:klon,1:klev)=d_q_lsc(1:klon,1:klev)/pdtphys
770      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
771      CALL histwrite(nid_mth,"dqlsc",itau_w,zx_tmp_3d,
772     .                                   iim*jjmp1*klev,ndex3d)
773c
774cIM: 101003 : K/30min ==> K/s
775      zx_tmp_fi3d(1:klon,1:klev)=d_t_vdf(1:klon,1:klev)/pdtphys
776      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
777      CALL histwrite(nid_mth,"dtvdf",itau_w,zx_tmp_3d,
778     .                                   iim*jjmp1*klev,ndex3d)
779c
780      zx_tmp_fi3d(1:klon,1:klev)=d_q_vdf(1:klon,1:klev)/pdtphys
781      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
782      CALL histwrite(nid_mth,"dqvdf",itau_w,zx_tmp_3d,
783     .                                   iim*jjmp1*klev,ndex3d)
784c
785cIM: 101003 : K/30min ==> K/s
786      zx_tmp_fi3d(1:klon,1:klev)=d_t_eva(1:klon,1:klev)/pdtphys
787      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
788      CALL histwrite(nid_mth,"dteva",itau_w,zx_tmp_3d,
789     .                                   iim*jjmp1*klev,ndex3d)
790c
791      zx_tmp_fi3d(1:klon,1:klev)=d_q_eva(1:klon,1:klev)/pdtphys
792      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
793      CALL histwrite(nid_mth,"dqeva",itau_w,zx_tmp_3d,
794     .                                   iim*jjmp1*klev,ndex3d)
795c
796      zpt_conv = 0.
797      where (ptconv) zpt_conv = 1.
798      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zpt_conv, zx_tmp_3d)
799      CALL histwrite(nid_mth,"ptconv",itau_w,zx_tmp_3d,
800     .                                   iim*(jjmp1)*klev,ndex3d)
801c
802      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, ratqs, zx_tmp_3d)
803      CALL histwrite(nid_mth,"ratqs",itau_w,zx_tmp_3d,
804     .                                   iim*(jjmp1)*klev,ndex3d)
805c
806cIM: 101003 : K/30min ==> K/s
807      zx_tmp_fi3d(1:klon,1:klev)=d_t_ajs(1:klon,1:klev)/pdtphys
808      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
809      CALL histwrite(nid_mth,"dtajs",itau_w,zx_tmp_3d,
810     .                                   iim*jjmp1*klev,ndex3d)
811c
812      zx_tmp_fi3d(1:klon,1:klev)=d_q_ajs(1:klon,1:klev)/pdtphys
813      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
814      CALL histwrite(nid_mth,"dqajs",itau_w,zx_tmp_3d,
815     .                                   iim*jjmp1*klev,ndex3d)
816c
817cIM: 101003 : K/day ==> K/s
818      zx_tmp_fi3d(1:klon,1:klev)=heat(1:klon,1:klev)/RDAY
819      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
820      CALL histwrite(nid_mth,"dtswr",itau_w,zx_tmp_3d,
821     .                                   iim*jjmp1*klev,ndex3d)
822c
823cIM: 101003 : K/day ==> K/s     
824      zx_tmp_fi3d(1:klon,1:klev)=heat0(1:klon,1:klev)/RDAY
825      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
826      CALL histwrite(nid_mth,"dtsw0",itau_w,zx_tmp_3d,
827     .                                   iim*jjmp1*klev,ndex3d)
828c
829cIM: 101003 : K/day ==> K/s     
830      zx_tmp_fi3d(1:klon,1:klev)=-1.*cool(1:klon,1:klev)/RDAY
831      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
832      CALL histwrite(nid_mth,"dtlwr",itau_w,zx_tmp_3d,
833     .                                   iim*jjmp1*klev,ndex3d)
834c
835cIM: 101003 : K/day ==> K/s     
836      zx_tmp_fi3d(1:klon,1:klev)=-1.*cool0(1:klon,1:klev)/RDAY
837      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
838      CALL histwrite(nid_mth,"dtlw0",itau_w,zx_tmp_3d,
839     .                                   iim*jjmp1*klev,ndex3d)
840c
841cIM: 101003 : deja en K/s     
842      zx_tmp_fi3d(1:klon,1:klev)=d_t_ec(1:klon,1:klev)
843      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
844      CALL histwrite(nid_mth,"dtec",itau_w,zx_tmp_3d,
845     .                                   iim*jjmp1*klev,ndex3d)
846c
847      zx_tmp_fi3d(1:klon,1:klev)=d_u_vdf(1:klon,1:klev)/pdtphys
848      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
849      CALL histwrite(nid_mth,"duvdf",itau_w,zx_tmp_3d,
850     .                                   iim*jjmp1*klev,ndex3d)
851c
852      zx_tmp_fi3d(1:klon,1:klev)=d_v_vdf(1:klon,1:klev)/pdtphys
853      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
854      CALL histwrite(nid_mth,"dvvdf",itau_w,zx_tmp_3d,
855     .                                   iim*jjmp1*klev,ndex3d)
856c
857      IF (ok_orodr) THEN
858      zx_tmp_fi3d(1:klon,1:klev)=d_u_oro(1:klon,1:klev)/pdtphys
859      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
860      CALL histwrite(nid_mth,"duoro",itau_w,zx_tmp_3d,
861     .                                   iim*jjmp1*klev,ndex3d)
862c
863      zx_tmp_fi3d(1:klon,1:klev)=d_v_oro(1:klon,1:klev)/pdtphys
864      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
865      CALL histwrite(nid_mth,"dvoro",itau_w,zx_tmp_3d,
866     .                                   iim*jjmp1*klev,ndex3d)
867c
868      ENDIF
869C
870      IF (ok_orolf) THEN
871      zx_tmp_fi3d(1:klon,1:klev)=d_u_lif(1:klon,1:klev)/pdtphys
872      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
873      CALL histwrite(nid_mth,"dulif",itau_w,zx_tmp_3d,
874     .                                   iim*jjmp1*klev,ndex3d)
875c
876      zx_tmp_fi3d(1:klon,1:klev)=d_v_lif(1:klon,1:klev)/pdtphys
877      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
878      CALL histwrite(nid_mth,"dvlif",itau_w,zx_tmp_3d,
879     .                                   iim*jjmp1*klev,ndex3d)
880      ENDIF
881C
882      IF (nqmax.GE.3) THEN
883      DO iq=1,nqmax-2
884      IF (iq.LE.99) THEN
885         CALL gr_fi_ecrit(klev,klon,iim,jjmp1, qx(1,1,iq+2), zx_tmp_3d)
886         WRITE(str2,'(i2.2)') iq
887         CALL histwrite(nid_mth,"trac"//str2,itau_w,zx_tmp_3d,
888     .                                   iim*jjmp1*klev,ndex3d)
889      ELSE
890         PRINT*, "Trop de traceurs"
891         CALL abort
892      ENDIF
893      ENDDO
894      ENDIF
895c
896      ENDIF !lev_histmth.GE.4
897c
898      ELSE IF(type_run.EQ."AMIP".OR.type_run.EQ."CFMI") THEN
899c
900      IF(lev_histmth.GE.1) THEN
901c
902c Champs 2D:
903c
904      CALL gr_fi_ecrit(1,klon,iim,jjmp1,pphis/RG,zx_tmp_2d)
905      CALL histwrite(nid_mth,"phis",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
906C
907cIM 310804   CALL gr_fi_ecrit(1,klon,iim,jjmp1,paire,zx_tmp_2d)
908      CALL gr_fi_ecrit(1,klon,iim,jjmp1,airephy,zx_tmp_2d)
909      CALL histwrite(nid_mth,"aire",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
910c
911      zx_tmp_fi2d(1 : klon) = pctsrf(1 : klon, is_ter)* 100.
912      CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d, zx_tmp_2d)
913      CALL histwrite(nid_mth,"pourc_"//clnsurf(is_ter),itau_w,
914     $      zx_tmp_2d,iim*jjmp1,ndex2d)
915c
916      zx_tmp_fi2d(1 : klon) = pctsrf(1 : klon, is_ter)
917      CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d, zx_tmp_2d)
918      CALL histwrite(nid_mth,"fract_"//clnsurf(is_ter),itau_w,
919     $      zx_tmp_2d,iim*jjmp1,ndex2d)
920c
921      zx_tmp_fi2d(1 : klon) = pctsrf(1 : klon, is_lic)* 100.
922      CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d, zx_tmp_2d)
923      CALL histwrite(nid_mth,"pourc_"//clnsurf(is_lic),itau_w,
924     $      zx_tmp_2d,iim*jjmp1,ndex2d)
925c
926      zx_tmp_fi2d(1 : klon) = pctsrf(1 : klon, is_lic)
927      CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d, zx_tmp_2d)
928      CALL histwrite(nid_mth,"fract_"//clnsurf(is_lic),itau_w,
929     $      zx_tmp_2d,iim*jjmp1,ndex2d)
930c
931      zx_tmp_fi2d(1 : klon) = pctsrf(1 : klon, is_sic)* 100.
932      CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
933      CALL histwrite(nid_mth,"pourc_"//clnsurf(is_sic),itau_w,
934     $      zx_tmp_2d,iim*jjmp1,ndex2d)
935c
936      zx_tmp_fi2d(1 : klon) = pctsrf(1 : klon, is_sic)
937      CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
938      CALL histwrite(nid_mth,"fract_"//clnsurf(is_sic),itau_w,
939     $      zx_tmp_2d,iim*jjmp1,ndex2d)
940c
941      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxfluxlat,zx_tmp_2d)
942      CALL histwrite(nid_mth,"flat",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
943c
944      zx_tmp_fi2d(1 : klon) = topsw(1:klon)-toplw(1:klon)
945      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
946      CALL histwrite(nid_mth,"bilTOA",itau_w,
947     .               zx_tmp_2d,iim*jjmp1,ndex2d)
948c
949c     IF(itap.EQ.ecrit_mth) THEN
950c       DO i=1, klon
951c         IF(nday_clr(i).GT.0.) THEN
952c          tops01(i)=tops01(i)/nday_clr(i)
953c         ELSE
954c          tops01(i)=1.e+20
955c         ENDIF
956c       ENDDO
957c       CALL gr_fi_ecrit(1, klon,iim,jjmp1, tops01,zx_tmp_2d)
958c       CALL histwrite(nid_mth,"tops01",itau_w,zx_tmp_2d,
959c    .       iim*jjmp1,ndex2d)
960c     ENDIF !itap.EQ.ecrit_mth
961c
962c220404 BEG
963c
964c temperature tendency due to total diabatic heating
965       DO l=1, klev
966       DO i=1, klon
967       d_t(i,l) = (t_seri(i,l)-t(i,l))/dtime
968       ENDDO !i
969       ENDDO !l
970c
971      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_t,zx_tmp_3d)
972      CALL histwrite(nid_mth,"dtdia",itau_w,zx_tmp_3d,
973     $       iim*jjmp1*klev,ndex3d)
974c
975c temperature tendency due to SW radiation
976       DO l=1, klev
977       DO i=1, klon
978       zx_tmp_fi3d(i,l)=heat(i,l)/RDAY
979       ENDDO !i
980       ENDDO !l
981c
982      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zx_tmp_fi3d,zx_tmp_3d)
983      CALL histwrite(nid_mth,"dtsw",itau_w,zx_tmp_3d,
984     $       iim*jjmp1*klev,ndex3d)
985c
986c temperature tendency due to LW radiation
987       DO l=1, klev
988       DO i=1, klon
989        zx_tmp_fi3d(i,l)=-1*cool(i,l)/RDAY
990       ENDDO !i
991       ENDDO !l
992c
993      CALL gr_fi_ecrit(klev, klon,iim,jjmp1, zx_tmp_fi3d,zx_tmp_3d)
994      CALL histwrite(nid_mth,"dtlw",itau_w,zx_tmp_3d,
995     $       iim*jjmp1*klev,ndex3d)
996c
997c  temperature tendency due to moist convective processes
998       DO l=1, klev
999       DO i=1, klon
1000        zx_tmp_fi3d(i,l)=d_t_con(i,l)/pdtphys
1001       ENDDO !i
1002       ENDDO !l
1003c
1004      CALL gr_fi_ecrit(klev, klon,iim,jjmp1, zx_tmp_fi3d,zx_tmp_3d)
1005      CALL histwrite(nid_mth,"dtcon",itau_w,zx_tmp_3d,
1006     $       iim*jjmp1*klev,ndex3d)
1007c
1008c temperature tendency due to dry convective processes
1009       DO l=1, klev
1010       DO i=1, klon
1011        zx_tmp_fi3d(i,l)=d_t_ajs(i,l)/pdtphys
1012       ENDDO !i
1013       ENDDO !l
1014c
1015      CALL gr_fi_ecrit(klev, klon,iim,jjmp1, zx_tmp_fi3d,zx_tmp_3d)
1016      CALL histwrite(nid_mth,"dtajs",itau_w,zx_tmp_3d,
1017     $       iim*jjmp1*klev,ndex3d)
1018c
1019c  temperature tendency due to large scale precipitation
1020       DO l=1, klev
1021       DO i=1, klon
1022       zx_tmp_fi3d(i,l)=d_t_lsc(i,l)/pdtphys
1023       ENDDO !i
1024       ENDDO !l
1025c
1026      CALL gr_fi_ecrit(klev, klon,iim,jjmp1, zx_tmp_fi3d,zx_tmp_3d)
1027      CALL histwrite(nid_mth,"dtlsc",itau_w,zx_tmp_3d,
1028     $       iim*jjmp1*klev,ndex3d)
1029c
1030c  total moisture tendency due to diabatic processes
1031       DO l=1, klev
1032       DO i=1, klon
1033        d_qx(i,l,ivap) = ( q_seri(i,l) - qx(i,l,ivap) ) / dtime
1034        zx_tmp_fi3d(i,l)=d_qx(i,l,ivap)
1035       ENDDO !i
1036       ENDDO !l
1037c
1038      CALL gr_fi_ecrit(klev, klon,iim,jjmp1, zx_tmp_fi3d,zx_tmp_3d)
1039      CALL histwrite(nid_mth,"dqdia",itau_w,zx_tmp_3d,
1040     $       iim*jjmp1*klev,ndex3d)
1041c
1042cBEG 210404 BEG
1043c
1044      IF(ok_orodr.AND.ok_orolf) THEN
1045      DO k = 1, klev
1046      DO i = 1, klon
1047        d_u_oli(i,k) = (d_u_oro(i,k) + d_u_lif(i,k))/pdtphys
1048        d_v_oli(i,k) = (d_v_oro(i,k) + d_v_lif(i,k))/pdtphys
1049      ENDDO
1050      ENDDO
1051      ENDIF !(ok_orodr.AND.ok_orolf) THEN
1052c
1053      CALL gr_fi_ecrit(klev, klon,iim,jjmp1,d_u_oli,zx_tmp_3d)
1054      CALL histwrite(nid_mth,"duoli",itau_w,zx_tmp_3d,
1055     $       iim*jjmp1*klev,ndex3d)
1056c
1057      CALL gr_fi_ecrit(klev, klon,iim,jjmp1,d_v_oli,zx_tmp_3d)
1058      CALL histwrite(nid_mth,"dvoli",itau_w,zx_tmp_3d,
1059     $       iim*jjmp1*klev,ndex3d)
1060c
1061      zx_tmp_fi3d(1:klon,1:klev)=d_u_con(1:klon,1:klev)/pdtphys
1062      CALL gr_fi_ecrit(klev, klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
1063      CALL histwrite(nid_mth,"ducon",itau_w,zx_tmp_3d,
1064     $       iim*jjmp1*klev,ndex3d)
1065c
1066      zx_tmp_fi3d(1:klon,1:klev)=d_v_con(1:klon,1:klev)/pdtphys
1067      CALL gr_fi_ecrit(klev, klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
1068      CALL histwrite(nid_mth,"dvcon",itau_w,zx_tmp_3d,
1069     $       iim*jjmp1*klev,ndex3d)
1070c
1071      CALL gr_fi_ecrit(klev, klon,iim,jjmp1,d_u,zx_tmp_3d)
1072      CALL histwrite(nid_mth,"dutot",itau_w,zx_tmp_3d,
1073     $       iim*jjmp1*klev,ndex3d)
1074c
1075      CALL gr_fi_ecrit(klev, klon,iim,jjmp1,d_v,zx_tmp_3d)
1076      CALL histwrite(nid_mth,"dvtot",itau_w,zx_tmp_3d,
1077     $       iim*jjmp1*klev,ndex3d)
1078
1079cEND 210404 END
1080c
1081c cldtrue
1082c     CALL gr_fi_ecrit(klev, klon,iim,jjmp1,cldtrue,zx_tmp_3d)
1083c     CALL histwrite(nid_mth,"cldtrue",itau_w,zx_tmp_3d,
1084c    $       iim*jjmp1*klev,ndex3d)
1085c
1086c     CALL gr_fi_ecrit(klev, klon,iim,jjmp1,cldTOA,zx_tmp_3d)
1087c     CALL histwrite(nid_mth,"cldTOA",itau_w,zx_tmp_3d,
1088c    $       iim*jjmp1*klev,ndex3d)
1089c
1090c     CALL gr_fi_ecrit(klev, klon,iim,jjmp1,cldSFC,zx_tmp_3d)
1091c     CALL histwrite(nid_mth,"cldSFC",itau_w,zx_tmp_3d,
1092c    $       iim*jjmp1*klev,ndex3d)
1093c
1094      DO i=1, klon
1095cIM 151004    zx_tmp_fi2d(i)=GWDtaux1(i,1)-GWDtaux0(i,1)
1096       zx_tmp_fi2d(i)=zustrdr(i)+zustrli(i)
1097      ENDDO
1098      CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
1099      CALL histwrite(nid_mth,"GWDtaux",
1100     $               itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1101c
1102      DO i=1, klon
1103cIM 151004    zx_tmp_fi2d(i)=GWDtauy1(i,1)-GWDtauy0(i,1)
1104       zx_tmp_fi2d(i)=zvstrdr(i)+zvstrli(i)
1105      ENDDO
1106      CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
1107      CALL histwrite(nid_mth,"GWDtauy",
1108     $               itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1109c
1110c220404 END
1111cAMIP2 END
1112c
1113      CALL gr_fi_ecrit(1, klon,iim,jjmp1, slp,zx_tmp_2d)
1114      CALL histwrite(nid_mth,"slp",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1115
1116      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxtsol,zx_tmp_2d)
1117      CALL histwrite(nid_mth,"tsol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1118c
1119      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zt2m,zx_tmp_2d)
1120      CALL histwrite(nid_mth,"t2m",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1121c
1122c ENSEMBLES BEG
1123      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zt2m,zx_tmp_2d)
1124      CALL histwrite(nid_mth,"t2m_min",itau_w,zx_tmp_2d,
1125     .               iim*jjmp1,ndex2d)
1126c
1127      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zt2m,zx_tmp_2d)
1128      CALL histwrite(nid_mth,"t2m_max",itau_w,zx_tmp_2d,
1129     .               iim*jjmp1,ndex2d)
1130c
1131c     CALL gr_fi_ecrit(1,klon,iim,jjmp1,ftsoil(:,1,is_ter),zx_tmp_2d)
1132c     CALL gr_fi_ecrit(1,klon,iim,jjmp1,ftsol(:,is_ter),zx_tmp_2d)
1133c     CALL gr_fi_ecrit(1,klon,iim,jjmp1,ztsol,zx_tmp_2d)
1134c     CALL histwrite(nid_mth,"tsoil",itau_w,zx_tmp_2d,
1135c    .               iim*jjmp1,ndex2d)
1136c
1137      DO i=1, klon
1138       zx_tmp_fi2d(i)=SQRT(zu10m(i)*zu10m(i)+zv10m(i)*zv10m(i))
1139      ENDDO
1140      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
1141      CALL histwrite(nid_mth,"wind10m",itau_w,zx_tmp_2d,
1142     $     iim*jjmp1,ndex2d)
1143c
1144      DO i = 1, klon
1145         zx_tmp_fi2d(i) = pctsrf(i,is_sic)
1146      ENDDO
1147      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
1148      CALL histwrite(nid_mth,"sicf",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1149c
1150c     CALL gr_fi_ecrit(klev,klon,iim,jjmp1, t_seri, zx_tmp_3d)
1151c     CALL histwrite(nid_mth,"temp",itau_w,zx_tmp_3d,
1152c    .                                   iim*jjmp1*klev,ndex3d)
1153c
1154c ENSEMBLES END
1155c
1156      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zq2m,zx_tmp_2d)
1157      CALL histwrite(nid_mth,"q2m",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1158c
1159      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zu10m,zx_tmp_2d)
1160      CALL histwrite(nid_mth,"u10m",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1161C
1162      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zv10m,zx_tmp_2d)
1163      CALL histwrite(nid_mth,"v10m",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1164C
1165      DO i = 1, klon
1166         zx_tmp_fi2d(i) = paprs(i,1)
1167      ENDDO
1168      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
1169      CALL histwrite(nid_mth,"psol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1170c
1171      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxqsurf,zx_tmp_2d)
1172      CALL histwrite(nid_mth,"qsurf",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1173c
1174      if (.not. ok_veget) then
1175          CALL gr_fi_ecrit(1, klon,iim,jjmp1, qsol,zx_tmp_2d)
1176          CALL histwrite(nid_mth,"qsol",itau_w,zx_tmp_2d,iim*jjmp1
1177     $        ,ndex2d)
1178      endif
1179c
1180      DO i = 1, klon
1181         zx_tmp_fi2d(i) = rain_fall(i) + snow_fall(i)
1182      ENDDO
1183      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
1184      CALL histwrite(nid_mth,"precip",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1185c
1186      CALL gr_fi_ecrit(1, klon,iim,jjmp1, nday_rain,zx_tmp_2d)
1187      CALL histwrite(nid_mth,"ndayrain",itau_w,zx_tmp_2d,
1188     $               iim*jjmp1,ndex2d)
1189c
1190      DO i = 1, klon
1191         zx_tmp_fi2d(i) = rain_lsc(i) + snow_lsc(i)
1192      ENDDO
1193      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
1194      CALL histwrite(nid_mth,"plul",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1195c
1196      DO i = 1, klon
1197         zx_tmp_fi2d(i) = rain_con(i) + snow_con(i)
1198      ENDDO
1199      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
1200      CALL histwrite(nid_mth,"pluc",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1201c
1202      CALL gr_fi_ecrit(1, klon,iim,jjmp1, snow_fall,zx_tmp_2d)
1203      CALL histwrite(nid_mth,"snowf",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1204c
1205c     CALL gr_fi_ecrit(1, klon,iim,jjmp1, zsnow_mass,zx_tmp_2d)
1206c     CALL histwrite(nid_mth,"snow_mass",itau_w,zx_tmp_2d,iim*jjmp1,
1207c    .               ndex2d)
1208c
1209      CALL gr_fi_ecrit(1, klon,iim,jjmp1, evap,zx_tmp_2d)
1210      CALL histwrite(nid_mth,"evap",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1211c
1212      CALL gr_fi_ecrit(1, klon,iim,jjmp1, topsw,zx_tmp_2d)
1213      CALL histwrite(nid_mth,"tops",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1214c
1215      CALL gr_fi_ecrit(1, klon,iim,jjmp1, topsw0,zx_tmp_2d)
1216      CALL histwrite(nid_mth,"tops0",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1217c
1218      CALL gr_fi_ecrit(1, klon,iim,jjmp1, toplw,zx_tmp_2d)
1219      CALL histwrite(nid_mth,"topl",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1220c
1221      CALL gr_fi_ecrit(1, klon,iim,jjmp1, toplw0,zx_tmp_2d)
1222      CALL histwrite(nid_mth,"topl0",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1223c
1224      zx_tmp_fi2d(1 : klon) = swup ( 1 : klon, klevp1 )
1225      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
1226      CALL histwrite(nid_mth, "SWupTOA",itau_w,zx_tmp_2d,
1227     .                               iim*jjmp1,ndex2d)
1228c
1229c
1230      zx_tmp_fi2d(1 : klon) = swup0 ( 1 : klon, klevp1 )
1231      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
1232      CALL histwrite(nid_mth, "SWupTOAclr",itau_w,zx_tmp_2d,
1233     .                               iim*jjmp1,ndex2d)
1234c
1235      zx_tmp_fi2d(1 : klon) = swdn ( 1 : klon, klevp1 )
1236      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
1237      CALL histwrite(nid_mth, "SWdnTOA",itau_w,zx_tmp_2d,
1238     .                               iim*jjmp1,ndex2d)
1239c
1240      zx_tmp_fi2d(1 : klon) = swdn0 ( 1 : klon, klevp1 )
1241      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
1242      CALL histwrite(nid_mth, "SWdnTOAclr",itau_w,zx_tmp_2d,
1243     .                               iim*jjmp1,ndex2d)
1244c
1245      CALL gr_fi_ecrit(1, klon,iim,jjmp1, SWup200,zx_tmp_2d)
1246      CALL histwrite(nid_mth,"SWup200",itau_w,zx_tmp_2d,
1247     $     iim*jjmp1,ndex2d)
1248c
1249      CALL gr_fi_ecrit(1, klon,iim,jjmp1, SWup200clr,zx_tmp_2d)
1250      CALL histwrite(nid_mth,"SWup200clr",itau_w,zx_tmp_2d,
1251     $     iim*jjmp1,ndex2d)
1252c
1253      CALL gr_fi_ecrit(1, klon,iim,jjmp1, SWdn200,zx_tmp_2d)
1254      CALL histwrite(nid_mth,"SWdn200",itau_w,zx_tmp_2d,
1255     $     iim*jjmp1,ndex2d)
1256c
1257      CALL gr_fi_ecrit(1, klon,iim,jjmp1, SWdn200clr,zx_tmp_2d)
1258      CALL histwrite(nid_mth,"SWdn200clr",itau_w,zx_tmp_2d,
1259     $     iim*jjmp1,ndex2d)
1260c
1261      CALL gr_fi_ecrit(1, klon,iim,jjmp1, LWup200,zx_tmp_2d)
1262      CALL histwrite(nid_mth,"LWup200",itau_w,zx_tmp_2d,
1263     $     iim*jjmp1,ndex2d)
1264c
1265      CALL gr_fi_ecrit(1, klon,iim,jjmp1, LWup200clr,zx_tmp_2d)
1266      CALL histwrite(nid_mth,"LWup200clr",itau_w,zx_tmp_2d,
1267     $     iim*jjmp1,ndex2d)
1268c
1269      zx_tmp_fi2d(1:klon)=-1*LWdn200(1:klon)
1270      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
1271      CALL histwrite(nid_mth,"LWdn200",itau_w,zx_tmp_2d,
1272     $     iim*jjmp1,ndex2d)
1273c
1274      zx_tmp_fi2d(1:klon)=-1*LWdn200clr(1:klon)
1275      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
1276      CALL histwrite(nid_mth,"LWdn200clr",itau_w,zx_tmp_2d,
1277     $     iim*jjmp1,ndex2d)
1278c
1279c200 END
1280      CALL gr_fi_ecrit(1, klon,iim,jjmp1, solsw,zx_tmp_2d)
1281      CALL histwrite(nid_mth,"sols",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1282c
1283      CALL gr_fi_ecrit(1, klon,iim,jjmp1, solsw0,zx_tmp_2d)
1284      CALL histwrite(nid_mth,"sols0",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1285c
1286      CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollw,zx_tmp_2d)
1287      CALL histwrite(nid_mth,"soll",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1288c
1289      CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollw0,zx_tmp_2d)
1290      CALL histwrite(nid_mth,"soll0",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1291c
1292c      zx_tmp_fi2d(1 : klon) = ZFSUP( 1 : klon, 1)
1293      zx_tmp_fi2d(1 : klon) = swup ( 1 : klon, 1 )
1294      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
1295      CALL histwrite(nid_mth, "SWupSFC",itau_w,zx_tmp_2d,
1296     .                               iim*jjmp1,ndex2d)
1297c
1298c      zx_tmp_fi2d(1 : klon) = ZFSUP0( 1 : klon, 1)
1299      zx_tmp_fi2d(1 : klon) = swup0 ( 1 : klon, 1 )
1300      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
1301      CALL histwrite(nid_mth, "SWupSFCclr",itau_w,zx_tmp_2d,
1302     .                               iim*jjmp1,ndex2d)
1303c
1304c      zx_tmp_fi2d(1 : klon) = ZFSDN( 1 : klon, 1)
1305      zx_tmp_fi2d(1 : klon) = swdn ( 1 : klon, 1 )
1306      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
1307      CALL histwrite(nid_mth, "SWdnSFC",itau_w,zx_tmp_2d,
1308     .                               iim*jjmp1,ndex2d)
1309c
1310c      zx_tmp_fi2d(1 : klon) = ZFSDN0( 1 : klon, 1)
1311      zx_tmp_fi2d(1 : klon) = swdn0 ( 1 : klon, 1 )
1312      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
1313      CALL histwrite(nid_mth, "SWdnSFCclr",itau_w,zx_tmp_2d,
1314     .                               iim*jjmp1,ndex2d)
1315c
1316cIM 080904   zx_tmp_fi2d(1:klon)=sollw(1:klon)+sollwdown(1:klon)
1317cIM 130904   zx_tmp_fi2d(1:klon)=sollw(1:klon)-sollwdown(1:klon)
1318      zx_tmp_fi2d(1:klon)=sollwdown(1:klon)-sollw(1:klon)
1319      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d)
1320      CALL histwrite(nid_mth,"LWupSFC",itau_w,zx_tmp_2d,iim*jjmp1,
1321     .               ndex2d)
1322c
1323      DO i=1, klon
1324       sollwdownclr(i)=-1.*lwdn0(i,1)
1325      ENDDO !i=1, klon
1326c
1327cIM 080904   zx_tmp_fi2d(1:klon)=sollw0(1:klon)+sollwdownclr(1:klon)
1328cIM 130904   zx_tmp_fi2d(1:klon)=sollw0(1:klon)-sollwdownclr(1:klon)
1329      zx_tmp_fi2d(1:klon)=sollwdownclr(1:klon)-sollw0(1:klon)
1330      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d)
1331      CALL histwrite(nid_mth,"LWupSFCclr",itau_w,zx_tmp_2d,iim*jjmp1,
1332     .               ndex2d)
1333c
1334      CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollwdown,zx_tmp_2d)
1335      CALL histwrite(nid_mth,"LWdnSFC",itau_w,zx_tmp_2d,iim*jjmp1,
1336     .               ndex2d)
1337c
1338c     DO i=1, klon
1339cIM 08004    sollwdownclr(i)=lwdn0(i,1)
1340c      sollwdownclr(i)=-1.*lwdn0(i,1)
1341c     ENDDO !i=1, klon
1342c
1343      CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollwdownclr,zx_tmp_2d)
1344      CALL histwrite(nid_mth,"LWdnSFCclr",itau_w,zx_tmp_2d,
1345     $               iim*jjmp1,ndex2d)
1346c
1347      CALL gr_fi_ecrit(1, klon,iim,jjmp1, bils,zx_tmp_2d)
1348      CALL histwrite(nid_mth,"bils",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1349c
1350      zx_tmp_fi2d(1:klon)=-1*sens(1:klon)
1351c     CALL gr_fi_ecrit(1, klon,iim,jjmp1, sens,zx_tmp_2d)
1352      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
1353      CALL histwrite(nid_mth,"sens",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1354c
1355      CALL gr_fi_ecrit(1, klon,iim,jjmp1, fder,zx_tmp_2d)
1356      CALL histwrite(nid_mth,"fder",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1357c
1358c
1359c      DO i = 1, klon
1360c         zx_tmp_fi2d(i) = fluxu(i,1)
1361c      ENDDO
1362c      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
1363c      CALL histwrite(nid_mth,"frtu",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1364c
1365c      DO i = 1, klon
1366c         zx_tmp_fi2d(i) = fluxv(i,1)
1367c      ENDDO
1368c      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
1369c      CALL histwrite(nid_mth,"frtv",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1370c
1371c
1372       CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxffonte,zx_tmp_2d)
1373       CALL histwrite(nid_mth,"ffonte",itau_w,zx_tmp_2d,iim*jjmp1,
1374     $                ndex2d)
1375c
1376       CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxfqcalving,zx_tmp_2d)
1377       CALL histwrite(nid_mth,"fqcalving",itau_w,zx_tmp_2d,iim*jjmp1,
1378     $                ndex2d)
1379c
1380       DO nsrf = 1, nbsrf
1381        zx_tmp_fi2d(1 : klon) = fluxu( 1 : klon, 1, nsrf)
1382        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
1383        CALL histwrite(nid_mth,"taux_"//clnsurf(nsrf),itau_w,
1384     $      zx_tmp_2d,iim*jjmp1,ndex2d) 
1385C     
1386        zx_tmp_fi2d(1 : klon) = fluxv( 1 : klon, 1, nsrf)
1387        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
1388        CALL histwrite(nid_mth,"tauy_"//clnsurf(nsrf),itau_w,
1389     $      zx_tmp_2d,iim*jjmp1,ndex2d)
1390       ENDDO
1391c
1392        zx_tmp_fi2d(1 : klon) = pctsrf( 1 : klon, is_oce)*100.
1393        CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
1394        CALL histwrite(nid_mth,"pourc_"//clnsurf(is_oce),itau_w,
1395     $      zx_tmp_2d,iim*jjmp1,ndex2d) 
1396c
1397        zx_tmp_fi2d(1 : klon) = pctsrf( 1 : klon, is_oce)
1398        CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
1399        CALL histwrite(nid_mth,"fract_"//clnsurf(is_oce),itau_w,
1400     $      zx_tmp_2d,iim*jjmp1,ndex2d) 
1401c
1402      DO nsrf = 1, nbsrf
1403CYYY
1404C
1405        zx_tmp_fi2d(1 : klon) = ftsol( 1 : klon, nsrf)
1406        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
1407        CALL histwrite(nid_mth,"tsol_"//clnsurf(nsrf),itau_w,
1408     $      zx_tmp_2d,iim*jjmp1,ndex2d)
1409C
1410        zx_tmp_fi2d(1 : klon) = fluxt( 1 : klon, 1, nsrf)
1411        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
1412        CALL histwrite(nid_mth,"sens_"//clnsurf(nsrf),itau_w,
1413     $      zx_tmp_2d,iim*jjmp1,ndex2d)
1414C
1415        zx_tmp_fi2d(1 : klon) = fluxlat( 1 : klon, nsrf)
1416        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
1417        CALL histwrite(nid_mth,"lat_"//clnsurf(nsrf),itau_w,
1418     $      zx_tmp_2d,iim*jjmp1,ndex2d) 
1419C
1420        zx_tmp_fi2d(1 : klon) = fsollw( 1 : klon, nsrf)
1421        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
1422        CALL histwrite(nid_mth,"flw_"//clnsurf(nsrf),itau_w,
1423     $      zx_tmp_2d,iim*jjmp1,ndex2d)
1424c
1425        zx_tmp_fi2d(1 : klon) = fsolsw( 1 : klon, nsrf)
1426        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
1427        CALL histwrite(nid_mth,"fsw_"//clnsurf(nsrf),itau_w,
1428     $      zx_tmp_2d,iim*jjmp1,ndex2d)
1429C
1430        zx_tmp_fi2d(1 : klon) = wfbils( 1 : klon, nsrf)
1431        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
1432        CALL histwrite(nid_mth,"wbils_"//clnsurf(nsrf),itau_w,
1433     $      zx_tmp_2d,iim*jjmp1,ndex2d)
1434C
1435       IF(1.EQ.0) THEN
1436C
1437        zx_tmp_fi2d(1:klon) = fevap(1:klon,nsrf)*pctsrf(1:klon,nsrf)
1438        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
1439        CALL histwrite(nid_mth,"evapour_"//clnsurf(nsrf),itau_w,
1440     $      zx_tmp_2d,iim*jjmp1,ndex2d)
1441C
1442        zx_tmp_fi2d(1:klon) = (rain_fall(1:klon) + snow_fall(1:klon))
1443     $                        *pctsrf(1:klon,nsrf)
1444        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
1445        CALL histwrite(nid_mth,"prepour_"//clnsurf(nsrf),itau_w,
1446     $      zx_tmp_2d,iim*jjmp1,ndex2d)
1447C
1448       ENDIF !(1.EQ.0) THEN
1449C
1450      END DO 
1451c
1452      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragm,zx_tmp_2d)
1453      CALL histwrite(nid_mth,"cdrm",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1454c
1455      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragh,zx_tmp_2d)
1456      CALL histwrite(nid_mth,"cdrh",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1457c
1458      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldl,zx_tmp_2d)
1459      CALL histwrite(nid_mth,"cldl",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1460c
1461      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldm,zx_tmp_2d)
1462      CALL histwrite(nid_mth,"cldm",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1463c
1464      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldh,zx_tmp_2d)
1465      CALL histwrite(nid_mth,"cldh",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1466c
1467      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldt*100.,zx_tmp_2d)
1468      CALL histwrite(nid_mth,"cldt",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1469c
1470      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldq,zx_tmp_2d)
1471      CALL histwrite(nid_mth,"cldq",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1472c
1473      zx_tmp_fi2d(1:klon) = flwp(1:klon)
1474      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
1475      CALL histwrite(nid_mth,"lwp",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1476c
1477      zx_tmp_fi2d(1:klon) = fiwp(1:klon)
1478      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
1479      CALL histwrite(nid_mth,"iwp",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1480c
1481      CALL gr_fi_ecrit(1, klon,iim,jjmp1, ue,zx_tmp_2d)
1482      CALL histwrite(nid_mth,"ue",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1483c
1484      CALL gr_fi_ecrit(1, klon,iim,jjmp1, ve,zx_tmp_2d)
1485      CALL histwrite(nid_mth,"ve",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1486c
1487      CALL gr_fi_ecrit(1, klon,iim,jjmp1, uq,zx_tmp_2d)
1488      CALL histwrite(nid_mth,"uq",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1489c
1490      CALL gr_fi_ecrit(1, klon,iim,jjmp1, vq,zx_tmp_2d)
1491      CALL histwrite(nid_mth,"vq",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1492cKE43
1493      IF (iflag_con.GE.3) THEN ! sb
1494c
1495      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cape,zx_tmp_2d)
1496      CALL histwrite(nid_mth,"cape",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1497c
1498      CALL gr_fi_ecrit(1, klon,iim,jjmp1,pbase,zx_tmp_2d)
1499      CALL histwrite(nid_mth,"pbase",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1500c
1501      CALL gr_fi_ecrit(1, klon,iim,jjmp1,ema_pct,zx_tmp_2d)
1502      CALL histwrite(nid_mth,"ptop",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1503c
1504      CALL gr_fi_ecrit(1, klon,iim,jjmp1,ema_cbmf,zx_tmp_2d)
1505      CALL histwrite(nid_mth,"fbase",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1506c
1507c34EK
1508c
1509      CALL gr_fi_ecrit(1, klon,iim,jjmp1, prw,zx_tmp_2d)
1510      CALL histwrite(nid_mth,"prw",itau_w,zx_tmp_2d,
1511     .               iim*jjmp1,ndex2d)
1512c
1513      ENDIF !iflag_con.GE.3
1514c
1515cIM cf. AM 081204 BEG
1516cHBTM2
1517c
1518c
1519      CALL gr_fi_ecrit(1, klon,iim,jjmp1, s_pblh,zx_tmp_2d)
1520      CALL histwrite(nid_mth,"s_pblh",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1521c
1522      CALL gr_fi_ecrit(1, klon,iim,jjmp1, s_pblt,zx_tmp_2d)
1523      CALL histwrite(nid_mth,"s_pblt",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1524c
1525      CALL gr_fi_ecrit(1, klon,iim,jjmp1, s_lcl,zx_tmp_2d)
1526      CALL histwrite(nid_mth,"s_lcl",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1527c
1528      CALL gr_fi_ecrit(1, klon,iim,jjmp1, s_capCL,zx_tmp_2d)
1529      CALL histwrite(nid_mth,"s_capCL",itau_w,zx_tmp_2d,iim*jjmp1,
1530     .               ndex2d)
1531c
1532      CALL gr_fi_ecrit(1, klon,iim,jjmp1, s_oliqCL,zx_tmp_2d)
1533      CALL histwrite(nid_mth,"s_oliqCL",itau_w,zx_tmp_2d,iim*jjmp1,
1534     .               ndex2d)
1535c
1536      CALL gr_fi_ecrit(1, klon,iim,jjmp1, s_cteiCL,zx_tmp_2d)
1537      CALL histwrite(nid_mth,"s_cteiCL",itau_w,zx_tmp_2d,iim*jjmp1,
1538     .               ndex2d)
1539c
1540      CALL gr_fi_ecrit(1, klon,iim,jjmp1, s_therm,zx_tmp_2d)
1541      CALL histwrite(nid_mth,"s_therm",itau_w,zx_tmp_2d,iim*jjmp1,
1542     .               ndex2d)
1543c
1544      CALL gr_fi_ecrit(1, klon,iim,jjmp1, s_trmb1,zx_tmp_2d)
1545      CALL histwrite(nid_mth,"s_trmb1",itau_w,zx_tmp_2d,iim*jjmp1,
1546     .               ndex2d)
1547c
1548      CALL gr_fi_ecrit(1, klon,iim,jjmp1, s_trmb2,zx_tmp_2d)
1549      CALL histwrite(nid_mth,"s_trmb2",itau_w,zx_tmp_2d,iim*jjmp1,
1550     .               ndex2d)
1551c
1552      CALL gr_fi_ecrit(1, klon,iim,jjmp1, s_trmb3,zx_tmp_2d)
1553      CALL histwrite(nid_mth,"s_trmb3",itau_w,zx_tmp_2d,iim*jjmp1,
1554     .               ndex2d)
1555c
1556cIM cf. AM 081204 END
1557c
1558c  Champs interpolles sur des niveaux de pression
1559c     DO k=1, nlevENS
1560      DO k=1, nlevSTD
1561c
1562c        bb=clevSTD(k)
1563c
1564c        IF(k.GE.2) THEN
1565         IF(k.GE.2.AND.k.LE.12) bb2=clevSTD(k)
1566         IF(k.GE.13.AND.k.LE.17) bb3=clevSTD(k)
1567c         aa=clevSTD(k)
1568c         bb=aa(1:lnblnk1(aa))
1569c        ENDIF
1570c
1571       IF(bb2.EQ."850".OR.bb2.EQ."700"
1572     $   .OR.bb2.EQ."500".OR.bb2.EQ."200") THEN
1573c
1574        CALL gr_fi_ecrit(1, klon,iim,jjmp1,usumSTD(:,k,2),zx_tmp_2d)
1575        CALL histwrite(nid_mth,"u"//bb2,itau_w,zx_tmp_2d,
1576     $       iim*jjmp1,ndex2d)
1577c
1578        CALL gr_fi_ecrit(1, klon,iim,jjmp1,vsumSTD(:,k,2),zx_tmp_2d)
1579        CALL histwrite(nid_mth,"v"//bb2,itau_w,zx_tmp_2d,
1580     $       iim*jjmp1,ndex2d)
1581c
1582      CALL gr_fi_ecrit(1, klon,iim,jjmp1,wsumSTD(:,k,2),zx_tmp_2d)
1583      CALL histwrite(nid_mth,"w"//bb2,itau_w,zx_tmp_2d,
1584     $     iim*jjmp1,ndex2d)
1585c
1586      CALL gr_fi_ecrit(1, klon,iim,jjmp1,phisumSTD(:,k,2),zx_tmp_2d)
1587      CALL histwrite(nid_mth,"phi"//bb2,itau_w,zx_tmp_2d,
1588     $     iim*jjmp1,ndex2d)
1589c
1590      ENDIF !(bb2.EQ."850".OR.bb2.EQ."700"
1591      ENDDO !nlevSTD
1592c
1593      DO i=1, klon
1594       IF (pctsrf(i,is_oce).GT.epsfra) THEN
1595        zx_tmp_fi2d(i) = fluxo(i)
1596       ELSE
1597        zx_tmp_fi2d(i) = 1.E+20
1598       ENDIF
1599      ENDDO
1600c
1601      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
1602      CALL histwrite(nid_mth,"fluxo",itau_w,zx_tmp_2d,
1603     .     iim*jjmp1,ndex2d)
1604c
1605      DO i=1, klon
1606       IF (pctsrf(i,is_sic).GT.epsfra) THEN
1607        zx_tmp_fi2d(i) = fluxg(i)
1608       ELSE
1609        zx_tmp_fi2d(i) = 1.E+20
1610       ENDIF
1611      ENDDO
1612c
1613      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
1614      CALL histwrite(nid_mth,"fluxg",itau_w,zx_tmp_2d,
1615     .     iim*jjmp1,ndex2d)
1616c
1617      IF (OCEAN.EQ.'force ') THEN
1618c
1619      DO i=1, klon
1620      IF((pctsrf(i,is_oce).GT.epsfra).OR.
1621     .   (pctsrf(i,is_sic).GT.epsfra)) THEN
1622       zx_tmp_fi2d(i) = (radsol(i) + fluxo(i))*pctsrf(i,is_oce)+
1623     .                  fluxg(i)*pctsrf(i,is_sic)
1624      ELSE
1625       zx_tmp_fi2d(i) = 1.E+20
1626      ENDIF
1627      ENDDO
1628      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
1629      CALL histwrite(nid_mth,"lmt_bils",itau_w,
1630     .     zx_tmp_2d,iim*jjmp1,ndex2d)
1631c
1632      ELSE IF (OCEAN.EQ.'slab  ') THEN
1633c
1634c
1635      DO i=1, klon
1636      IF((pctsrf(i,is_oce).GT.epsfra).OR.
1637     .   (pctsrf(i,is_sic).GT.epsfra)) THEN
1638       zx_tmp_fi2d(i) = (radsol(i) + fluxo(i))*pctsrf(i,is_oce)+
1639     .                  fluxg(i)*pctsrf(i,is_sic)
1640      ELSE
1641       zx_tmp_fi2d(i) = 1.E+20
1642      ENDIF
1643      ENDDO
1644      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
1645      CALL histwrite(nid_mth,"slab_bils",itau_w,
1646     .     zx_tmp_2d,iim*jjmp1,ndex2d)
1647c
1648      DO i=1, klon
1649       IF(pctsrf(i,is_oce).GT.epsfra.OR.
1650     $    pctsrf(i,is_sic).GT.epsfra) THEN
1651        zx_tmp_fi2d(i)=tslab(i)
1652       ELSE
1653        zx_tmp_fi2d(i) = 1.E+20
1654       ENDIF
1655      ENDDO !i=1, klon
1656      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
1657      CALL histwrite(nid_mth,"tslab",itau_w,zx_tmp_2d,
1658     .     iim*jjmp1,ndex2d)
1659c
1660      CALL gr_fi_ecrit(1, klon,iim,jjmp1, seaice,zx_tmp_2d)
1661      CALL histwrite(nid_mth,"seaice",itau_w,zx_tmp_2d,
1662     .     iim*jjmp1,ndex2d)
1663c
1664      CALL gr_fi_ecrit(1, klon,iim,jjmp1, seaice/1000.,zx_tmp_2d)
1665      CALL histwrite(nid_mth,"siceh",itau_w,zx_tmp_2d,
1666     .     iim*jjmp1,ndex2d)
1667c
1668      ENDIF !OCEAN.EQ.force/slab
1669c
1670      ENDIF !lev_histmth.GE.1
1671c
1672      IF(lev_histmth.GE.2) THEN
1673c
1674c Champs 3D:
1675C
1676c
1677      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, flwc,zx_tmp_3d)
1678      CALL histwrite(nid_mth,"lwcon",itau_w,zx_tmp_3d,
1679     .               iim*jjmp1*klev,ndex3d)
1680c
1681      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, fiwc,zx_tmp_3d)
1682      CALL histwrite(nid_mth,"iwcon",itau_w,zx_tmp_3d,
1683     .               iim*jjmp1*klev,ndex3d)
1684c
1685      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, t_seri, zx_tmp_3d)
1686      CALL histwrite(nid_mth,"temp",itau_w,zx_tmp_3d,
1687     .                                   iim*jjmp1*klev,ndex3d)
1688c
1689c#ifdef histmthNMC
1690c#include "write_histmthNMC.h"
1691c#endif
1692c
1693      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, qx(1,1,ivap), zx_tmp_3d)
1694      CALL histwrite(nid_mth,"ovap",itau_w,zx_tmp_3d,
1695     .                                   iim*jjmp1*klev,ndex3d)
1696c
1697c     zx_tmp_fi3d(1:klon,1:klev)=qx(1:klon,1:klev,ivap)/
1698c    .                         (1-qx(1:klon,1:klev,ivap))
1699c     CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zx_tmp_fi3d, zx_tmp_3d)
1700c     CALL histwrite(nid_mth,"wvap",itau_w,zx_tmp_3d,
1701c    .                                   iim*jjmp1*klev,ndex3d)
1702c
1703      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zphi, zx_tmp_3d)
1704      CALL histwrite(nid_mth,"geop",itau_w,zx_tmp_3d,
1705     .                                   iim*jjmp1*klev,ndex3d)
1706c
1707      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, u_seri, zx_tmp_3d)
1708      CALL histwrite(nid_mth,"vitu",itau_w,zx_tmp_3d,
1709     .                                   iim*jjmp1*klev,ndex3d)
1710c
1711      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, v_seri, zx_tmp_3d)
1712      CALL histwrite(nid_mth,"vitv",itau_w,zx_tmp_3d,
1713     .                                   iim*jjmp1*klev,ndex3d)
1714c
1715      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, omega, zx_tmp_3d)
1716      CALL histwrite(nid_mth,"vitw",itau_w,zx_tmp_3d,
1717     .                                   iim*jjmp1*klev,ndex3d)
1718c
1719      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, pplay, zx_tmp_3d)
1720      CALL histwrite(nid_mth,"pres",itau_w,zx_tmp_3d,
1721     .                                   iim*jjmp1*klev,ndex3d)
1722c
1723      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, cldfra*100., zx_tmp_3d)
1724      CALL histwrite(nid_mth,"rneb",itau_w,zx_tmp_3d,
1725     .                                   iim*jjmp1*klev,ndex3d)
1726c
1727      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, rnebcon, zx_tmp_3d)
1728      CALL histwrite(nid_mth,"rnebcon",itau_w,zx_tmp_3d,
1729     .                                   iim*jjmp1*klev,ndex3d)
1730c
1731      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zx_rh, zx_tmp_3d)
1732      CALL histwrite(nid_mth,"rhum",itau_w,zx_tmp_3d,
1733     .                                   iim*jjmp1*klev,ndex3d)
1734c
1735      DO k=1, klev
1736       DO i=1, klon
1737cIM 151004        zx_tmp_fi3d(i,k)=MAX(wo(i,k),1.0e-12)*RG/46.6968
1738c    $                    /(paprs(i,k)-paprs(i,k+1))
1739c    $                    *(paprs(i,1)/101325.0)
1740c        zx_tmp2_fi3d(i,k)=MAX(wo(i,k)*1.0e+6,1.0e-6)*RG/46.6968
1741         zx_tmp_fi3d(i,k)=wo(i,k)*RG/46.6968
1742     $                    /(paprs(i,k)-paprs(i,k+1))
1743     $                    *(paprs(i,1)/101325.0)
1744       ENDDO !i
1745      ENDDO !k
1746c
1747c     CALL gr_fi_ecrit(klev,klon,iim,jjmp1, wo, zx_tmp_3d)
1748c     CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp2_fi3d,zx_tmp_3d)
1749      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
1750      CALL histwrite(nid_mth,"ozone",itau_w,zx_tmp_3d,
1751     .                                   iim*jjmp1*klev,ndex3d)
1752c
1753      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_t, zx_tmp_3d)
1754      CALL histwrite(nid_mth,"dtphy",itau_w,zx_tmp_3d,
1755     .                                   iim*jjmp1*klev,ndex3d)
1756c
1757      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_qx(:,:,ivap), 
1758     .                 zx_tmp_3d)
1759      CALL histwrite(nid_mth,"dqphy",itau_w,zx_tmp_3d,
1760     .                                   iim*jjmp1*klev,ndex3d)
1761c
1762      ENDIF !lev_histmth.GE.2
1763c
1764      IF(lev_histmth.GE.3) THEN
1765c
1766       DO nsrf=1, nbsrf
1767c
1768        zx_tmp_fi2d(1 : klon) = falbe( 1 : klon, nsrf)
1769        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
1770        CALL histwrite(nid_mth,"albe_"//clnsurf(nsrf),itau_w,
1771     $      zx_tmp_2d,iim*jjmp1,ndex2d)
1772C
1773        zx_tmp_fi2d(1 : klon) = frugs( 1 : klon, nsrf)
1774        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
1775        CALL histwrite(nid_mth,"rugs_"//clnsurf(nsrf),itau_w,
1776     $      zx_tmp_2d,iim*jjmp1,ndex2d)
1777c
1778      zx_tmp_fi2d(1 : klon) = agesno( 1 : klon, nsrf)
1779      CALL gr_fi_ecrit(1, klon,iim,jjmp1, agesno,zx_tmp_2d)
1780      CALL histwrite(nid_mth,"ages_"//clnsurf(nsrf),itau_w
1781     $    ,zx_tmp_2d,iim*jjmp1,ndex2d)
1782c
1783      ENDDO !nsrf=1, nbsrf
1784c
1785      CALL gr_fi_ecrit(1, klon,iim,jjmp1, albsol,zx_tmp_2d)
1786      CALL histwrite(nid_mth,"albs",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1787c
1788      CALL gr_fi_ecrit(1, klon,iim,jjmp1, albsollw,zx_tmp_2d)
1789      CALL histwrite(nid_mth,"albslw",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1790c
1791      ENDIF !lev_histmth.GE.3
1792c
1793c
1794      IF(lev_histmth.GE.4) THEN
1795c
1796      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, clwcon0, zx_tmp_3d)
1797      CALL histwrite(nid_mth,"clwcon",itau_w,zx_tmp_3d,
1798     .                                   iim*jjmp1*klev,ndex3d)
1799c
1800      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, Ma, zx_tmp_3d)
1801      CALL histwrite(nid_mth,"Ma",itau_w,zx_tmp_3d,
1802     .                                   iim*jjmp1*klev,ndex3d)
1803c
1804      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, upwd, zx_tmp_3d)
1805      CALL histwrite(nid_mth,"upwd",itau_w,zx_tmp_3d,
1806     .                                   iim*jjmp1*klev,ndex3d)
1807c
1808      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, dnwd, zx_tmp_3d)
1809      CALL histwrite(nid_mth,"dnwd",itau_w,zx_tmp_3d,
1810     .                                   iim*jjmp1*klev,ndex3d)
1811c
1812      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, dnwd0, zx_tmp_3d)
1813      CALL histwrite(nid_mth,"dnwd0",itau_w,zx_tmp_3d,
1814     .                                   iim*jjmp1*klev,ndex3d)
1815c
1816c
1817      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_t_dyn, zx_tmp_3d)
1818      CALL histwrite(nid_mth,"dtdyn",itau_w,zx_tmp_3d,
1819     .                                   iim*jjmp1*klev,ndex3d)
1820c
1821      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_q_dyn, zx_tmp_3d)
1822      CALL histwrite(nid_mth,"dqdyn",itau_w,zx_tmp_3d,
1823     .                                   iim*jjmp1*klev,ndex3d)
1824c
1825cIM: 101003 : K/30min ==> K/s
1826c
1827      zx_tmp_fi3d(1:klon,1:klev)=d_q_con(1:klon,1:klev)/pdtphys
1828      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
1829      CALL histwrite(nid_mth,"dqcon",itau_w,zx_tmp_3d,
1830     .                                   iim*jjmp1*klev,ndex3d)
1831c
1832cIM: 101003 : K/30min ==> K/s
1833      zx_tmp_fi3d(1:klon, 1:klev)=(d_t_lsc(1:klon,1:klev)+
1834     .                             d_t_eva(1:klon,1:klev))/pdtphys
1835      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zx_tmp_fi3d, zx_tmp_3d)
1836      CALL histwrite(nid_mth,"dtlschr",itau_w,zx_tmp_3d,
1837     .                                   iim*jjmp1*klev,ndex3d)
1838c
1839      zx_tmp_fi3d(1:klon,1:klev)=d_q_lsc(1:klon,1:klev)/pdtphys
1840      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
1841      CALL histwrite(nid_mth,"dqlsc",itau_w,zx_tmp_3d,
1842     .                                   iim*jjmp1*klev,ndex3d)
1843c
1844cIM: 101003 : K/30min ==> K/s
1845      zx_tmp_fi3d(1:klon,1:klev)=d_t_vdf(1:klon,1:klev)/pdtphys
1846      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
1847      CALL histwrite(nid_mth,"dtvdf",itau_w,zx_tmp_3d,
1848     .                                   iim*jjmp1*klev,ndex3d)
1849c
1850      zx_tmp_fi3d(1:klon,1:klev)=d_q_vdf(1:klon,1:klev)/pdtphys
1851      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
1852      CALL histwrite(nid_mth,"dqvdf",itau_w,zx_tmp_3d,
1853     .                                   iim*jjmp1*klev,ndex3d)
1854c
1855cIM: 101003 : K/30min ==> K/s
1856      zx_tmp_fi3d(1:klon,1:klev)=d_t_eva(1:klon,1:klev)/pdtphys
1857      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
1858      CALL histwrite(nid_mth,"dteva",itau_w,zx_tmp_3d,
1859     .                                   iim*jjmp1*klev,ndex3d)
1860c
1861      zx_tmp_fi3d(1:klon,1:klev)=d_q_eva(1:klon,1:klev)/pdtphys
1862      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
1863      CALL histwrite(nid_mth,"dqeva",itau_w,zx_tmp_3d,
1864     .                                   iim*jjmp1*klev,ndex3d)
1865c
1866      zpt_conv = 0.
1867      where (ptconv) zpt_conv = 1.
1868      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zpt_conv, zx_tmp_3d)
1869      CALL histwrite(nid_mth,"ptconv",itau_w,zx_tmp_3d,
1870     .                                   iim*(jjmp1)*klev,ndex3d)
1871c
1872      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, ratqs, zx_tmp_3d)
1873      CALL histwrite(nid_mth,"ratqs",itau_w,zx_tmp_3d,
1874     .                                   iim*(jjmp1)*klev,ndex3d)
1875c
1876      zx_tmp_fi3d(1:klon,1:klev)=d_q_ajs(1:klon,1:klev)/pdtphys
1877      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
1878      CALL histwrite(nid_mth,"dqajs",itau_w,zx_tmp_3d,
1879     .                                   iim*jjmp1*klev,ndex3d)
1880c
1881cIM: 101003 : K/day ==> K/s
1882      zx_tmp_fi3d(1:klon,1:klev)=heat(1:klon,1:klev)/RDAY
1883      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
1884      CALL histwrite(nid_mth,"dtswr",itau_w,zx_tmp_3d,
1885     .                                   iim*jjmp1*klev,ndex3d)
1886c
1887cIM: 101003 : K/day ==> K/s     
1888      zx_tmp_fi3d(1:klon,1:klev)=heat0(1:klon,1:klev)/RDAY
1889      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
1890      CALL histwrite(nid_mth,"dtsw0",itau_w,zx_tmp_3d,
1891     .                                   iim*jjmp1*klev,ndex3d)
1892c
1893cIM: 101003 : K/day ==> K/s     
1894      zx_tmp_fi3d(1:klon,1:klev)=-1.*cool(1:klon,1:klev)/RDAY
1895      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
1896      CALL histwrite(nid_mth,"dtlwr",itau_w,zx_tmp_3d,
1897     .                                   iim*jjmp1*klev,ndex3d)
1898c
1899cIM: 101003 : K/day ==> K/s     
1900      zx_tmp_fi3d(1:klon,1:klev)=-1.*cool0(1:klon,1:klev)/RDAY
1901      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
1902      CALL histwrite(nid_mth,"dtlw0",itau_w,zx_tmp_3d,
1903     .                                   iim*jjmp1*klev,ndex3d)
1904c
1905cIM: 101003 : deja en K/s     
1906      zx_tmp_fi3d(1:klon,1:klev)=d_t_ec(1:klon,1:klev)
1907      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
1908      CALL histwrite(nid_mth,"dtec",itau_w,zx_tmp_3d,
1909     .                                   iim*jjmp1*klev,ndex3d)
1910c
1911      zx_tmp_fi3d(1:klon,1:klev)=d_u_vdf(1:klon,1:klev)/pdtphys
1912      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
1913      CALL histwrite(nid_mth,"duvdf",itau_w,zx_tmp_3d,
1914     .                                   iim*jjmp1*klev,ndex3d)
1915c
1916      zx_tmp_fi3d(1:klon,1:klev)=d_v_vdf(1:klon,1:klev)/pdtphys
1917      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
1918      CALL histwrite(nid_mth,"dvvdf",itau_w,zx_tmp_3d,
1919     .                                   iim*jjmp1*klev,ndex3d)
1920c
1921      IF (ok_orodr) THEN
1922      zx_tmp_fi3d(1:klon,1:klev)=d_u_oro(1:klon,1:klev)/pdtphys
1923      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
1924      CALL histwrite(nid_mth,"duoro",itau_w,zx_tmp_3d,
1925     .                                   iim*jjmp1*klev,ndex3d)
1926c
1927      zx_tmp_fi3d(1:klon,1:klev)=d_v_oro(1:klon,1:klev)/pdtphys
1928      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
1929      CALL histwrite(nid_mth,"dvoro",itau_w,zx_tmp_3d,
1930     .                                   iim*jjmp1*klev,ndex3d)
1931c
1932      ENDIF
1933C
1934      IF (ok_orolf) THEN
1935      zx_tmp_fi3d(1:klon,1:klev)=d_u_lif(1:klon,1:klev)/pdtphys
1936      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
1937      CALL histwrite(nid_mth,"dulif",itau_w,zx_tmp_3d,
1938     .                                   iim*jjmp1*klev,ndex3d)
1939c
1940      zx_tmp_fi3d(1:klon,1:klev)=d_v_lif(1:klon,1:klev)/pdtphys
1941      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
1942      CALL histwrite(nid_mth,"dvlif",itau_w,zx_tmp_3d,
1943     .                                   iim*jjmp1*klev,ndex3d)
1944      ENDIF
1945C
1946      IF (nqmax.GE.3) THEN
1947      DO iq=1,nqmax-2
1948      IF (iq.LE.99) THEN
1949         CALL gr_fi_ecrit(klev,klon,iim,jjmp1, qx(1,1,iq+2), zx_tmp_3d)
1950         WRITE(str2,'(i2.2)') iq
1951         CALL histwrite(nid_mth,"trac"//str2,itau_w,zx_tmp_3d,
1952     .                                   iim*jjmp1*klev,ndex3d)
1953      ELSE
1954         PRINT*, "Trop de traceurs"
1955         CALL abort
1956      ENDIF
1957      ENDDO
1958      ENDIF
1959c
1960      ENDIF !lev_histmth.GE.4
1961c
1962      ENDIF !(type_run.EQ."AMIP")
1963c
1964      if (ok_sync) then
1965        call histsync(nid_mth)
1966      endif
1967c
1968      ENDIF !ok_mensuel
Note: See TracBrowser for help on using the repository browser.