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

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

On avait perdu des modifs de Anne et Marie-Angele
LF

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 74.4 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      IF (iflag_con.GE.3) THEN
722c
723      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, Ma, zx_tmp_3d)
724      CALL histwrite(nid_mth,"Ma",itau_w,zx_tmp_3d,
725     .                                   iim*jjmp1*klev,ndex3d)
726c
727      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, dnwd, zx_tmp_3d)
728      CALL histwrite(nid_mth,"dnwd",itau_w,zx_tmp_3d,
729     .                                   iim*jjmp1*klev,ndex3d)
730c
731      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, dnwd0, zx_tmp_3d)
732      CALL histwrite(nid_mth,"dnwd0",itau_w,zx_tmp_3d,
733     .                                   iim*jjmp1*klev,ndex3d)
734c
735      ENDIF !iflag_con.GE.3
736c
737      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_t_dyn, zx_tmp_3d)
738      CALL histwrite(nid_mth,"dtdyn",itau_w,zx_tmp_3d,
739     .                                   iim*jjmp1*klev,ndex3d)
740c
741      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_q_dyn, zx_tmp_3d)
742      CALL histwrite(nid_mth,"dqdyn",itau_w,zx_tmp_3d,
743     .                                   iim*jjmp1*klev,ndex3d)
744c
745cIM: 101003 : K/30min ==> K/s
746      zx_tmp_fi3d(1:klon,1:klev)=d_t_con(1:klon,1:klev)/pdtphys
747      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
748      CALL histwrite(nid_mth,"dtcon",itau_w,zx_tmp_3d,
749     .                                   iim*jjmp1*klev,ndex3d)
750c
751      zx_tmp_fi3d(1:klon,1:klev)=d_q_con(1:klon,1:klev)/pdtphys
752      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
753      CALL histwrite(nid_mth,"dqcon",itau_w,zx_tmp_3d,
754     .                                   iim*jjmp1*klev,ndex3d)
755c
756cIM: 101003 : K/30min ==> K/s
757      zx_tmp_fi3d(1:klon,1:klev)=d_t_lsc(1:klon,1:klev)/pdtphys
758      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
759      CALL histwrite(nid_mth,"dtlsc",itau_w,zx_tmp_3d,
760     .                                   iim*jjmp1*klev,ndex3d)
761cIM: 101003 : K/30min ==> K/s
762      zx_tmp_fi3d(1:klon, 1:klev)=(d_t_lsc(1:klon,1:klev)+
763     .                             d_t_eva(1:klon,1:klev))/pdtphys
764      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zx_tmp_fi3d, zx_tmp_3d)
765      CALL histwrite(nid_mth,"dtlschr",itau_w,zx_tmp_3d,
766     .                                   iim*jjmp1*klev,ndex3d)
767c
768      zx_tmp_fi3d(1:klon,1:klev)=d_q_lsc(1:klon,1:klev)/pdtphys
769      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
770      CALL histwrite(nid_mth,"dqlsc",itau_w,zx_tmp_3d,
771     .                                   iim*jjmp1*klev,ndex3d)
772c
773cIM: 101003 : K/30min ==> K/s
774      zx_tmp_fi3d(1:klon,1:klev)=d_t_vdf(1:klon,1:klev)/pdtphys
775      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
776      CALL histwrite(nid_mth,"dtvdf",itau_w,zx_tmp_3d,
777     .                                   iim*jjmp1*klev,ndex3d)
778c
779      zx_tmp_fi3d(1:klon,1:klev)=d_q_vdf(1:klon,1:klev)/pdtphys
780      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
781      CALL histwrite(nid_mth,"dqvdf",itau_w,zx_tmp_3d,
782     .                                   iim*jjmp1*klev,ndex3d)
783c
784cIM: 101003 : K/30min ==> K/s
785      zx_tmp_fi3d(1:klon,1:klev)=d_t_eva(1:klon,1:klev)/pdtphys
786      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
787      CALL histwrite(nid_mth,"dteva",itau_w,zx_tmp_3d,
788     .                                   iim*jjmp1*klev,ndex3d)
789c
790      zx_tmp_fi3d(1:klon,1:klev)=d_q_eva(1:klon,1:klev)/pdtphys
791      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
792      CALL histwrite(nid_mth,"dqeva",itau_w,zx_tmp_3d,
793     .                                   iim*jjmp1*klev,ndex3d)
794c
795      zpt_conv = 0.
796      where (ptconv) zpt_conv = 1.
797      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zpt_conv, zx_tmp_3d)
798      CALL histwrite(nid_mth,"ptconv",itau_w,zx_tmp_3d,
799     .                                   iim*(jjmp1)*klev,ndex3d)
800c
801      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, ratqs, zx_tmp_3d)
802      CALL histwrite(nid_mth,"ratqs",itau_w,zx_tmp_3d,
803     .                                   iim*(jjmp1)*klev,ndex3d)
804c
805cIM: 101003 : K/30min ==> K/s
806      zx_tmp_fi3d(1:klon,1:klev)=d_t_ajs(1:klon,1:klev)/pdtphys
807      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
808      CALL histwrite(nid_mth,"dtajs",itau_w,zx_tmp_3d,
809     .                                   iim*jjmp1*klev,ndex3d)
810c
811      zx_tmp_fi3d(1:klon,1:klev)=d_q_ajs(1:klon,1:klev)/pdtphys
812      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
813      CALL histwrite(nid_mth,"dqajs",itau_w,zx_tmp_3d,
814     .                                   iim*jjmp1*klev,ndex3d)
815c
816cIM: 101003 : K/day ==> K/s
817      zx_tmp_fi3d(1:klon,1:klev)=heat(1:klon,1:klev)/RDAY
818      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
819      CALL histwrite(nid_mth,"dtswr",itau_w,zx_tmp_3d,
820     .                                   iim*jjmp1*klev,ndex3d)
821c
822cIM: 101003 : K/day ==> K/s     
823      zx_tmp_fi3d(1:klon,1:klev)=heat0(1:klon,1:klev)/RDAY
824      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
825      CALL histwrite(nid_mth,"dtsw0",itau_w,zx_tmp_3d,
826     .                                   iim*jjmp1*klev,ndex3d)
827c
828cIM: 101003 : K/day ==> K/s     
829      zx_tmp_fi3d(1:klon,1:klev)=-1.*cool(1:klon,1:klev)/RDAY
830      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
831      CALL histwrite(nid_mth,"dtlwr",itau_w,zx_tmp_3d,
832     .                                   iim*jjmp1*klev,ndex3d)
833c
834cIM: 101003 : K/day ==> K/s     
835      zx_tmp_fi3d(1:klon,1:klev)=-1.*cool0(1:klon,1:klev)/RDAY
836      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
837      CALL histwrite(nid_mth,"dtlw0",itau_w,zx_tmp_3d,
838     .                                   iim*jjmp1*klev,ndex3d)
839c
840cIM: 101003 : deja en K/s     
841      zx_tmp_fi3d(1:klon,1:klev)=d_t_ec(1:klon,1:klev)
842      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
843      CALL histwrite(nid_mth,"dtec",itau_w,zx_tmp_3d,
844     .                                   iim*jjmp1*klev,ndex3d)
845c
846      zx_tmp_fi3d(1:klon,1:klev)=d_u_vdf(1:klon,1:klev)/pdtphys
847      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
848      CALL histwrite(nid_mth,"duvdf",itau_w,zx_tmp_3d,
849     .                                   iim*jjmp1*klev,ndex3d)
850c
851      zx_tmp_fi3d(1:klon,1:klev)=d_v_vdf(1:klon,1:klev)/pdtphys
852      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
853      CALL histwrite(nid_mth,"dvvdf",itau_w,zx_tmp_3d,
854     .                                   iim*jjmp1*klev,ndex3d)
855c
856      IF (ok_orodr) THEN
857      zx_tmp_fi3d(1:klon,1:klev)=d_u_oro(1:klon,1:klev)/pdtphys
858      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
859      CALL histwrite(nid_mth,"duoro",itau_w,zx_tmp_3d,
860     .                                   iim*jjmp1*klev,ndex3d)
861c
862      zx_tmp_fi3d(1:klon,1:klev)=d_v_oro(1:klon,1:klev)/pdtphys
863      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
864      CALL histwrite(nid_mth,"dvoro",itau_w,zx_tmp_3d,
865     .                                   iim*jjmp1*klev,ndex3d)
866c
867      ENDIF
868C
869      IF (ok_orolf) THEN
870      zx_tmp_fi3d(1:klon,1:klev)=d_u_lif(1:klon,1:klev)/pdtphys
871      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
872      CALL histwrite(nid_mth,"dulif",itau_w,zx_tmp_3d,
873     .                                   iim*jjmp1*klev,ndex3d)
874c
875      zx_tmp_fi3d(1:klon,1:klev)=d_v_lif(1:klon,1:klev)/pdtphys
876      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
877      CALL histwrite(nid_mth,"dvlif",itau_w,zx_tmp_3d,
878     .                                   iim*jjmp1*klev,ndex3d)
879      ENDIF
880C
881      IF (nqmax.GE.3) THEN
882      DO iq=3,nqmax
883         CALL gr_fi_ecrit(klev,klon,iim,jjmp1, qx(1,1,iq), zx_tmp_3d)
884         CALL histwrite(nid_mth,tnom(iq),itau_w,zx_tmp_3d,
885     .                                   iim*jjmp1*klev,ndex3d)
886      ENDDO
887      ENDIF
888c
889      ENDIF !lev_histmth.GE.4
890c
891      ELSE IF(type_run.EQ."AMIP".OR.type_run.EQ."CFMI") THEN
892c
893      IF(lev_histmth.GE.1) THEN
894c
895c Champs 2D:
896c
897      CALL gr_fi_ecrit(1,klon,iim,jjmp1,pphis/RG,zx_tmp_2d)
898      CALL histwrite(nid_mth,"phis",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
899C
900cIM 310804   CALL gr_fi_ecrit(1,klon,iim,jjmp1,paire,zx_tmp_2d)
901      CALL gr_fi_ecrit(1,klon,iim,jjmp1,airephy,zx_tmp_2d)
902      CALL histwrite(nid_mth,"aire",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
903c
904      zx_tmp_fi2d(1 : klon) = pctsrf(1 : klon, is_ter)* 100.
905      CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d, zx_tmp_2d)
906      CALL histwrite(nid_mth,"pourc_"//clnsurf(is_ter),itau_w,
907     $      zx_tmp_2d,iim*jjmp1,ndex2d)
908c
909      zx_tmp_fi2d(1 : klon) = pctsrf(1 : klon, is_ter)
910      CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d, zx_tmp_2d)
911      CALL histwrite(nid_mth,"fract_"//clnsurf(is_ter),itau_w,
912     $      zx_tmp_2d,iim*jjmp1,ndex2d)
913c
914      zx_tmp_fi2d(1 : klon) = pctsrf(1 : klon, is_lic)* 100.
915      CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d, zx_tmp_2d)
916      CALL histwrite(nid_mth,"pourc_"//clnsurf(is_lic),itau_w,
917     $      zx_tmp_2d,iim*jjmp1,ndex2d)
918c
919      zx_tmp_fi2d(1 : klon) = pctsrf(1 : klon, is_lic)
920      CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d, zx_tmp_2d)
921      CALL histwrite(nid_mth,"fract_"//clnsurf(is_lic),itau_w,
922     $      zx_tmp_2d,iim*jjmp1,ndex2d)
923c
924      zx_tmp_fi2d(1 : klon) = pctsrf(1 : klon, is_sic)* 100.
925      CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
926      CALL histwrite(nid_mth,"pourc_"//clnsurf(is_sic),itau_w,
927     $      zx_tmp_2d,iim*jjmp1,ndex2d)
928c
929      zx_tmp_fi2d(1 : klon) = pctsrf(1 : klon, is_sic)
930      CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
931      CALL histwrite(nid_mth,"fract_"//clnsurf(is_sic),itau_w,
932     $      zx_tmp_2d,iim*jjmp1,ndex2d)
933c
934      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxfluxlat,zx_tmp_2d)
935      CALL histwrite(nid_mth,"flat",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
936c
937      zx_tmp_fi2d(1 : klon) = topsw(1:klon)-toplw(1:klon)
938      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
939      CALL histwrite(nid_mth,"bilTOA",itau_w,
940     .               zx_tmp_2d,iim*jjmp1,ndex2d)
941c
942c     IF(itap.EQ.ecrit_mth) THEN
943c       DO i=1, klon
944c         IF(nday_clr(i).GT.0.) THEN
945c          tops01(i)=tops01(i)/nday_clr(i)
946c         ELSE
947c          tops01(i)=1.e+20
948c         ENDIF
949c       ENDDO
950c       CALL gr_fi_ecrit(1, klon,iim,jjmp1, tops01,zx_tmp_2d)
951c       CALL histwrite(nid_mth,"tops01",itau_w,zx_tmp_2d,
952c    .       iim*jjmp1,ndex2d)
953c     ENDIF !itap.EQ.ecrit_mth
954c
955c220404 BEG
956c
957c temperature tendency due to total diabatic heating
958       DO l=1, klev
959       DO i=1, klon
960       d_t(i,l) = (t_seri(i,l)-t(i,l))/dtime
961       ENDDO !i
962       ENDDO !l
963c
964      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_t,zx_tmp_3d)
965      CALL histwrite(nid_mth,"dtdia",itau_w,zx_tmp_3d,
966     $       iim*jjmp1*klev,ndex3d)
967c
968c temperature tendency due to SW radiation
969       DO l=1, klev
970       DO i=1, klon
971       zx_tmp_fi3d(i,l)=heat(i,l)/RDAY
972       ENDDO !i
973       ENDDO !l
974c
975      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zx_tmp_fi3d,zx_tmp_3d)
976      CALL histwrite(nid_mth,"dtsw",itau_w,zx_tmp_3d,
977     $       iim*jjmp1*klev,ndex3d)
978c
979c temperature tendency due to LW radiation
980       DO l=1, klev
981       DO i=1, klon
982        zx_tmp_fi3d(i,l)=-1*cool(i,l)/RDAY
983       ENDDO !i
984       ENDDO !l
985c
986      CALL gr_fi_ecrit(klev, klon,iim,jjmp1, zx_tmp_fi3d,zx_tmp_3d)
987      CALL histwrite(nid_mth,"dtlw",itau_w,zx_tmp_3d,
988     $       iim*jjmp1*klev,ndex3d)
989c
990c  temperature tendency due to moist convective processes
991       DO l=1, klev
992       DO i=1, klon
993        zx_tmp_fi3d(i,l)=d_t_con(i,l)/pdtphys
994       ENDDO !i
995       ENDDO !l
996c
997      CALL gr_fi_ecrit(klev, klon,iim,jjmp1, zx_tmp_fi3d,zx_tmp_3d)
998      CALL histwrite(nid_mth,"dtcon",itau_w,zx_tmp_3d,
999     $       iim*jjmp1*klev,ndex3d)
1000c
1001c temperature tendency due to dry convective processes
1002       DO l=1, klev
1003       DO i=1, klon
1004        zx_tmp_fi3d(i,l)=d_t_ajs(i,l)/pdtphys
1005       ENDDO !i
1006       ENDDO !l
1007c
1008      CALL gr_fi_ecrit(klev, klon,iim,jjmp1, zx_tmp_fi3d,zx_tmp_3d)
1009      CALL histwrite(nid_mth,"dtajs",itau_w,zx_tmp_3d,
1010     $       iim*jjmp1*klev,ndex3d)
1011c
1012c  temperature tendency due to large scale precipitation
1013       DO l=1, klev
1014       DO i=1, klon
1015       zx_tmp_fi3d(i,l)=d_t_lsc(i,l)/pdtphys
1016       ENDDO !i
1017       ENDDO !l
1018c
1019      CALL gr_fi_ecrit(klev, klon,iim,jjmp1, zx_tmp_fi3d,zx_tmp_3d)
1020      CALL histwrite(nid_mth,"dtlsc",itau_w,zx_tmp_3d,
1021     $       iim*jjmp1*klev,ndex3d)
1022c
1023c  total moisture tendency due to diabatic processes
1024       DO l=1, klev
1025       DO i=1, klon
1026        d_qx(i,l,ivap) = ( q_seri(i,l) - qx(i,l,ivap) ) / dtime
1027        zx_tmp_fi3d(i,l)=d_qx(i,l,ivap)
1028       ENDDO !i
1029       ENDDO !l
1030c
1031      CALL gr_fi_ecrit(klev, klon,iim,jjmp1, zx_tmp_fi3d,zx_tmp_3d)
1032      CALL histwrite(nid_mth,"dqdia",itau_w,zx_tmp_3d,
1033     $       iim*jjmp1*klev,ndex3d)
1034c
1035cBEG 210404 BEG
1036c
1037      IF(ok_orodr.AND.ok_orolf) THEN
1038      DO k = 1, klev
1039      DO i = 1, klon
1040        d_u_oli(i,k) = (d_u_oro(i,k) + d_u_lif(i,k))/pdtphys
1041        d_v_oli(i,k) = (d_v_oro(i,k) + d_v_lif(i,k))/pdtphys
1042      ENDDO
1043      ENDDO
1044      ENDIF !(ok_orodr.AND.ok_orolf) THEN
1045c
1046      CALL gr_fi_ecrit(klev, klon,iim,jjmp1,d_u_oli,zx_tmp_3d)
1047      CALL histwrite(nid_mth,"duoli",itau_w,zx_tmp_3d,
1048     $       iim*jjmp1*klev,ndex3d)
1049c
1050      CALL gr_fi_ecrit(klev, klon,iim,jjmp1,d_v_oli,zx_tmp_3d)
1051      CALL histwrite(nid_mth,"dvoli",itau_w,zx_tmp_3d,
1052     $       iim*jjmp1*klev,ndex3d)
1053c
1054      zx_tmp_fi3d(1:klon,1:klev)=d_u_con(1:klon,1:klev)/pdtphys
1055      CALL gr_fi_ecrit(klev, klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
1056      CALL histwrite(nid_mth,"ducon",itau_w,zx_tmp_3d,
1057     $       iim*jjmp1*klev,ndex3d)
1058c
1059      zx_tmp_fi3d(1:klon,1:klev)=d_v_con(1:klon,1:klev)/pdtphys
1060      CALL gr_fi_ecrit(klev, klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
1061      CALL histwrite(nid_mth,"dvcon",itau_w,zx_tmp_3d,
1062     $       iim*jjmp1*klev,ndex3d)
1063c
1064      CALL gr_fi_ecrit(klev, klon,iim,jjmp1,d_u,zx_tmp_3d)
1065      CALL histwrite(nid_mth,"dutot",itau_w,zx_tmp_3d,
1066     $       iim*jjmp1*klev,ndex3d)
1067c
1068      CALL gr_fi_ecrit(klev, klon,iim,jjmp1,d_v,zx_tmp_3d)
1069      CALL histwrite(nid_mth,"dvtot",itau_w,zx_tmp_3d,
1070     $       iim*jjmp1*klev,ndex3d)
1071
1072cEND 210404 END
1073c
1074c cldtrue
1075c     CALL gr_fi_ecrit(klev, klon,iim,jjmp1,cldtrue,zx_tmp_3d)
1076c     CALL histwrite(nid_mth,"cldtrue",itau_w,zx_tmp_3d,
1077c    $       iim*jjmp1*klev,ndex3d)
1078c
1079c     CALL gr_fi_ecrit(klev, klon,iim,jjmp1,cldTOA,zx_tmp_3d)
1080c     CALL histwrite(nid_mth,"cldTOA",itau_w,zx_tmp_3d,
1081c    $       iim*jjmp1*klev,ndex3d)
1082c
1083c     CALL gr_fi_ecrit(klev, klon,iim,jjmp1,cldSFC,zx_tmp_3d)
1084c     CALL histwrite(nid_mth,"cldSFC",itau_w,zx_tmp_3d,
1085c    $       iim*jjmp1*klev,ndex3d)
1086c
1087      DO i=1, klon
1088cIM 151004    zx_tmp_fi2d(i)=GWDtaux1(i,1)-GWDtaux0(i,1)
1089       zx_tmp_fi2d(i)=zustrdr(i)+zustrli(i)
1090      ENDDO
1091      CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
1092      CALL histwrite(nid_mth,"GWDtaux",
1093     $               itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1094c
1095      DO i=1, klon
1096cIM 151004    zx_tmp_fi2d(i)=GWDtauy1(i,1)-GWDtauy0(i,1)
1097       zx_tmp_fi2d(i)=zvstrdr(i)+zvstrli(i)
1098      ENDDO
1099      CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
1100      CALL histwrite(nid_mth,"GWDtauy",
1101     $               itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1102c
1103c220404 END
1104cAMIP2 END
1105c
1106      CALL gr_fi_ecrit(1, klon,iim,jjmp1, slp,zx_tmp_2d)
1107      CALL histwrite(nid_mth,"slp",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1108
1109      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxtsol,zx_tmp_2d)
1110      CALL histwrite(nid_mth,"tsol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1111c
1112      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zt2m,zx_tmp_2d)
1113      CALL histwrite(nid_mth,"t2m",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1114c
1115c ENSEMBLES BEG
1116      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zt2m,zx_tmp_2d)
1117      CALL histwrite(nid_mth,"t2m_min",itau_w,zx_tmp_2d,
1118     .               iim*jjmp1,ndex2d)
1119c
1120      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zt2m,zx_tmp_2d)
1121      CALL histwrite(nid_mth,"t2m_max",itau_w,zx_tmp_2d,
1122     .               iim*jjmp1,ndex2d)
1123c
1124c     CALL gr_fi_ecrit(1,klon,iim,jjmp1,ftsoil(:,1,is_ter),zx_tmp_2d)
1125c     CALL gr_fi_ecrit(1,klon,iim,jjmp1,ftsol(:,is_ter),zx_tmp_2d)
1126c     CALL gr_fi_ecrit(1,klon,iim,jjmp1,ztsol,zx_tmp_2d)
1127c     CALL histwrite(nid_mth,"tsoil",itau_w,zx_tmp_2d,
1128c    .               iim*jjmp1,ndex2d)
1129c
1130      DO i=1, klon
1131       zx_tmp_fi2d(i)=SQRT(zu10m(i)*zu10m(i)+zv10m(i)*zv10m(i))
1132      ENDDO
1133      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
1134      CALL histwrite(nid_mth,"wind10m",itau_w,zx_tmp_2d,
1135     $     iim*jjmp1,ndex2d)
1136c
1137      DO i = 1, klon
1138         zx_tmp_fi2d(i) = pctsrf(i,is_sic)
1139      ENDDO
1140      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
1141      CALL histwrite(nid_mth,"sicf",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1142c
1143c     CALL gr_fi_ecrit(klev,klon,iim,jjmp1, t_seri, zx_tmp_3d)
1144c     CALL histwrite(nid_mth,"temp",itau_w,zx_tmp_3d,
1145c    .                                   iim*jjmp1*klev,ndex3d)
1146c
1147c ENSEMBLES END
1148c
1149      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zq2m,zx_tmp_2d)
1150      CALL histwrite(nid_mth,"q2m",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1151c
1152      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zu10m,zx_tmp_2d)
1153      CALL histwrite(nid_mth,"u10m",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1154C
1155      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zv10m,zx_tmp_2d)
1156      CALL histwrite(nid_mth,"v10m",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1157C
1158      DO i = 1, klon
1159         zx_tmp_fi2d(i) = paprs(i,1)
1160      ENDDO
1161      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
1162      CALL histwrite(nid_mth,"psol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1163c
1164      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxqsurf,zx_tmp_2d)
1165      CALL histwrite(nid_mth,"qsurf",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1166c
1167      if (.not. ok_veget) then
1168          CALL gr_fi_ecrit(1, klon,iim,jjmp1, qsol,zx_tmp_2d)
1169          CALL histwrite(nid_mth,"qsol",itau_w,zx_tmp_2d,iim*jjmp1
1170     $        ,ndex2d)
1171      endif
1172c
1173      DO i = 1, klon
1174         zx_tmp_fi2d(i) = rain_fall(i) + snow_fall(i)
1175      ENDDO
1176      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
1177      CALL histwrite(nid_mth,"precip",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1178c
1179      CALL gr_fi_ecrit(1, klon,iim,jjmp1, nday_rain,zx_tmp_2d)
1180      CALL histwrite(nid_mth,"ndayrain",itau_w,zx_tmp_2d,
1181     $               iim*jjmp1,ndex2d)
1182c
1183      DO i = 1, klon
1184         zx_tmp_fi2d(i) = rain_lsc(i) + snow_lsc(i)
1185      ENDDO
1186      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
1187      CALL histwrite(nid_mth,"plul",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1188c
1189      DO i = 1, klon
1190         zx_tmp_fi2d(i) = rain_con(i) + snow_con(i)
1191      ENDDO
1192      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
1193      CALL histwrite(nid_mth,"pluc",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1194c
1195      CALL gr_fi_ecrit(1, klon,iim,jjmp1, snow_fall,zx_tmp_2d)
1196      CALL histwrite(nid_mth,"snowf",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1197c
1198c     CALL gr_fi_ecrit(1, klon,iim,jjmp1, zsnow_mass,zx_tmp_2d)
1199c     CALL histwrite(nid_mth,"snow_mass",itau_w,zx_tmp_2d,iim*jjmp1,
1200c    .               ndex2d)
1201c
1202      CALL gr_fi_ecrit(1, klon,iim,jjmp1, evap,zx_tmp_2d)
1203      CALL histwrite(nid_mth,"evap",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1204c
1205      CALL gr_fi_ecrit(1, klon,iim,jjmp1, topsw,zx_tmp_2d)
1206      CALL histwrite(nid_mth,"tops",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1207c
1208      CALL gr_fi_ecrit(1, klon,iim,jjmp1, topsw0,zx_tmp_2d)
1209      CALL histwrite(nid_mth,"tops0",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1210c
1211      CALL gr_fi_ecrit(1, klon,iim,jjmp1, toplw,zx_tmp_2d)
1212      CALL histwrite(nid_mth,"topl",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1213c
1214      CALL gr_fi_ecrit(1, klon,iim,jjmp1, toplw0,zx_tmp_2d)
1215      CALL histwrite(nid_mth,"topl0",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1216c
1217      zx_tmp_fi2d(1 : klon) = swup ( 1 : klon, klevp1 )
1218      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
1219      CALL histwrite(nid_mth, "SWupTOA",itau_w,zx_tmp_2d,
1220     .                               iim*jjmp1,ndex2d)
1221c
1222c
1223      zx_tmp_fi2d(1 : klon) = swup0 ( 1 : klon, klevp1 )
1224      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
1225      CALL histwrite(nid_mth, "SWupTOAclr",itau_w,zx_tmp_2d,
1226     .                               iim*jjmp1,ndex2d)
1227c
1228      zx_tmp_fi2d(1 : klon) = swdn ( 1 : klon, klevp1 )
1229      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
1230      CALL histwrite(nid_mth, "SWdnTOA",itau_w,zx_tmp_2d,
1231     .                               iim*jjmp1,ndex2d)
1232c
1233      zx_tmp_fi2d(1 : klon) = swdn0 ( 1 : klon, klevp1 )
1234      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
1235      CALL histwrite(nid_mth, "SWdnTOAclr",itau_w,zx_tmp_2d,
1236     .                               iim*jjmp1,ndex2d)
1237c
1238      CALL gr_fi_ecrit(1, klon,iim,jjmp1, SWup200,zx_tmp_2d)
1239      CALL histwrite(nid_mth,"SWup200",itau_w,zx_tmp_2d,
1240     $     iim*jjmp1,ndex2d)
1241c
1242      CALL gr_fi_ecrit(1, klon,iim,jjmp1, SWup200clr,zx_tmp_2d)
1243      CALL histwrite(nid_mth,"SWup200clr",itau_w,zx_tmp_2d,
1244     $     iim*jjmp1,ndex2d)
1245c
1246      CALL gr_fi_ecrit(1, klon,iim,jjmp1, SWdn200,zx_tmp_2d)
1247      CALL histwrite(nid_mth,"SWdn200",itau_w,zx_tmp_2d,
1248     $     iim*jjmp1,ndex2d)
1249c
1250      CALL gr_fi_ecrit(1, klon,iim,jjmp1, SWdn200clr,zx_tmp_2d)
1251      CALL histwrite(nid_mth,"SWdn200clr",itau_w,zx_tmp_2d,
1252     $     iim*jjmp1,ndex2d)
1253c
1254      CALL gr_fi_ecrit(1, klon,iim,jjmp1, LWup200,zx_tmp_2d)
1255      CALL histwrite(nid_mth,"LWup200",itau_w,zx_tmp_2d,
1256     $     iim*jjmp1,ndex2d)
1257c
1258      CALL gr_fi_ecrit(1, klon,iim,jjmp1, LWup200clr,zx_tmp_2d)
1259      CALL histwrite(nid_mth,"LWup200clr",itau_w,zx_tmp_2d,
1260     $     iim*jjmp1,ndex2d)
1261c
1262      zx_tmp_fi2d(1:klon)=-1*LWdn200(1:klon)
1263      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
1264      CALL histwrite(nid_mth,"LWdn200",itau_w,zx_tmp_2d,
1265     $     iim*jjmp1,ndex2d)
1266c
1267      zx_tmp_fi2d(1:klon)=-1*LWdn200clr(1:klon)
1268      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
1269      CALL histwrite(nid_mth,"LWdn200clr",itau_w,zx_tmp_2d,
1270     $     iim*jjmp1,ndex2d)
1271c
1272c200 END
1273      CALL gr_fi_ecrit(1, klon,iim,jjmp1, solsw,zx_tmp_2d)
1274      CALL histwrite(nid_mth,"sols",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1275c
1276      CALL gr_fi_ecrit(1, klon,iim,jjmp1, solsw0,zx_tmp_2d)
1277      CALL histwrite(nid_mth,"sols0",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1278c
1279      CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollw,zx_tmp_2d)
1280      CALL histwrite(nid_mth,"soll",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1281c
1282      CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollw0,zx_tmp_2d)
1283      CALL histwrite(nid_mth,"soll0",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1284c
1285c      zx_tmp_fi2d(1 : klon) = ZFSUP( 1 : klon, 1)
1286      zx_tmp_fi2d(1 : klon) = swup ( 1 : klon, 1 )
1287      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
1288      CALL histwrite(nid_mth, "SWupSFC",itau_w,zx_tmp_2d,
1289     .                               iim*jjmp1,ndex2d)
1290c
1291c      zx_tmp_fi2d(1 : klon) = ZFSUP0( 1 : klon, 1)
1292      zx_tmp_fi2d(1 : klon) = swup0 ( 1 : klon, 1 )
1293      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
1294      CALL histwrite(nid_mth, "SWupSFCclr",itau_w,zx_tmp_2d,
1295     .                               iim*jjmp1,ndex2d)
1296c
1297c      zx_tmp_fi2d(1 : klon) = ZFSDN( 1 : klon, 1)
1298      zx_tmp_fi2d(1 : klon) = swdn ( 1 : klon, 1 )
1299      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
1300      CALL histwrite(nid_mth, "SWdnSFC",itau_w,zx_tmp_2d,
1301     .                               iim*jjmp1,ndex2d)
1302c
1303c      zx_tmp_fi2d(1 : klon) = ZFSDN0( 1 : klon, 1)
1304      zx_tmp_fi2d(1 : klon) = swdn0 ( 1 : klon, 1 )
1305      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
1306      CALL histwrite(nid_mth, "SWdnSFCclr",itau_w,zx_tmp_2d,
1307     .                               iim*jjmp1,ndex2d)
1308c
1309cIM 080904   zx_tmp_fi2d(1:klon)=sollw(1:klon)+sollwdown(1:klon)
1310cIM 130904   zx_tmp_fi2d(1:klon)=sollw(1:klon)-sollwdown(1:klon)
1311      zx_tmp_fi2d(1:klon)=sollwdown(1:klon)-sollw(1:klon)
1312      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d)
1313      CALL histwrite(nid_mth,"LWupSFC",itau_w,zx_tmp_2d,iim*jjmp1,
1314     .               ndex2d)
1315c
1316      DO i=1, klon
1317       sollwdownclr(i)=-1.*lwdn0(i,1)
1318      ENDDO !i=1, klon
1319c
1320cIM 080904   zx_tmp_fi2d(1:klon)=sollw0(1:klon)+sollwdownclr(1:klon)
1321cIM 130904   zx_tmp_fi2d(1:klon)=sollw0(1:klon)-sollwdownclr(1:klon)
1322      zx_tmp_fi2d(1:klon)=sollwdownclr(1:klon)-sollw0(1:klon)
1323      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d)
1324      CALL histwrite(nid_mth,"LWupSFCclr",itau_w,zx_tmp_2d,iim*jjmp1,
1325     .               ndex2d)
1326c
1327      CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollwdown,zx_tmp_2d)
1328      CALL histwrite(nid_mth,"LWdnSFC",itau_w,zx_tmp_2d,iim*jjmp1,
1329     .               ndex2d)
1330c
1331c     DO i=1, klon
1332cIM 08004    sollwdownclr(i)=lwdn0(i,1)
1333c      sollwdownclr(i)=-1.*lwdn0(i,1)
1334c     ENDDO !i=1, klon
1335c
1336      CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollwdownclr,zx_tmp_2d)
1337      CALL histwrite(nid_mth,"LWdnSFCclr",itau_w,zx_tmp_2d,
1338     $               iim*jjmp1,ndex2d)
1339c
1340      CALL gr_fi_ecrit(1, klon,iim,jjmp1, bils,zx_tmp_2d)
1341      CALL histwrite(nid_mth,"bils",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1342c
1343      zx_tmp_fi2d(1:klon)=-1*sens(1:klon)
1344c     CALL gr_fi_ecrit(1, klon,iim,jjmp1, sens,zx_tmp_2d)
1345      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
1346      CALL histwrite(nid_mth,"sens",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1347c
1348      CALL gr_fi_ecrit(1, klon,iim,jjmp1, fder,zx_tmp_2d)
1349      CALL histwrite(nid_mth,"fder",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1350c
1351c
1352c      DO i = 1, klon
1353c         zx_tmp_fi2d(i) = fluxu(i,1)
1354c      ENDDO
1355c      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
1356c      CALL histwrite(nid_mth,"frtu",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1357c
1358c      DO i = 1, klon
1359c         zx_tmp_fi2d(i) = fluxv(i,1)
1360c      ENDDO
1361c      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
1362c      CALL histwrite(nid_mth,"frtv",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1363c
1364c
1365       CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxffonte,zx_tmp_2d)
1366       CALL histwrite(nid_mth,"ffonte",itau_w,zx_tmp_2d,iim*jjmp1,
1367     $                ndex2d)
1368c
1369       CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxfqcalving,zx_tmp_2d)
1370       CALL histwrite(nid_mth,"fqcalving",itau_w,zx_tmp_2d,iim*jjmp1,
1371     $                ndex2d)
1372c
1373       DO nsrf = 1, nbsrf
1374        zx_tmp_fi2d(1 : klon) = fluxu( 1 : klon, 1, nsrf)
1375        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
1376        CALL histwrite(nid_mth,"taux_"//clnsurf(nsrf),itau_w,
1377     $      zx_tmp_2d,iim*jjmp1,ndex2d) 
1378C     
1379        zx_tmp_fi2d(1 : klon) = fluxv( 1 : klon, 1, nsrf)
1380        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
1381        CALL histwrite(nid_mth,"tauy_"//clnsurf(nsrf),itau_w,
1382     $      zx_tmp_2d,iim*jjmp1,ndex2d)
1383       ENDDO
1384c
1385        zx_tmp_fi2d(1 : klon) = pctsrf( 1 : klon, is_oce)*100.
1386        CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
1387        CALL histwrite(nid_mth,"pourc_"//clnsurf(is_oce),itau_w,
1388     $      zx_tmp_2d,iim*jjmp1,ndex2d) 
1389c
1390        zx_tmp_fi2d(1 : klon) = pctsrf( 1 : klon, is_oce)
1391        CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
1392        CALL histwrite(nid_mth,"fract_"//clnsurf(is_oce),itau_w,
1393     $      zx_tmp_2d,iim*jjmp1,ndex2d) 
1394c
1395      DO nsrf = 1, nbsrf
1396CYYY
1397C
1398        zx_tmp_fi2d(1 : klon) = ftsol( 1 : klon, nsrf)
1399        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
1400        CALL histwrite(nid_mth,"tsol_"//clnsurf(nsrf),itau_w,
1401     $      zx_tmp_2d,iim*jjmp1,ndex2d)
1402C
1403        zx_tmp_fi2d(1 : klon) = fluxt( 1 : klon, 1, nsrf)
1404        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
1405        CALL histwrite(nid_mth,"sens_"//clnsurf(nsrf),itau_w,
1406     $      zx_tmp_2d,iim*jjmp1,ndex2d)
1407C
1408        zx_tmp_fi2d(1 : klon) = fluxlat( 1 : klon, nsrf)
1409        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
1410        CALL histwrite(nid_mth,"lat_"//clnsurf(nsrf),itau_w,
1411     $      zx_tmp_2d,iim*jjmp1,ndex2d) 
1412C
1413        zx_tmp_fi2d(1 : klon) = fsollw( 1 : klon, nsrf)
1414        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
1415        CALL histwrite(nid_mth,"flw_"//clnsurf(nsrf),itau_w,
1416     $      zx_tmp_2d,iim*jjmp1,ndex2d)
1417c
1418        zx_tmp_fi2d(1 : klon) = fsolsw( 1 : klon, nsrf)
1419        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
1420        CALL histwrite(nid_mth,"fsw_"//clnsurf(nsrf),itau_w,
1421     $      zx_tmp_2d,iim*jjmp1,ndex2d)
1422C
1423        zx_tmp_fi2d(1 : klon) = wfbils( 1 : klon, nsrf)
1424        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
1425        CALL histwrite(nid_mth,"wbils_"//clnsurf(nsrf),itau_w,
1426     $      zx_tmp_2d,iim*jjmp1,ndex2d)
1427C
1428       IF(1.EQ.0) THEN
1429C
1430        zx_tmp_fi2d(1:klon) = fevap(1:klon,nsrf)*pctsrf(1:klon,nsrf)
1431        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
1432        CALL histwrite(nid_mth,"evapour_"//clnsurf(nsrf),itau_w,
1433     $      zx_tmp_2d,iim*jjmp1,ndex2d)
1434C
1435        zx_tmp_fi2d(1:klon) = (rain_fall(1:klon) + snow_fall(1:klon))
1436     $                        *pctsrf(1:klon,nsrf)
1437        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
1438        CALL histwrite(nid_mth,"prepour_"//clnsurf(nsrf),itau_w,
1439     $      zx_tmp_2d,iim*jjmp1,ndex2d)
1440C
1441       ENDIF !(1.EQ.0) THEN
1442C
1443      END DO 
1444c
1445      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragm,zx_tmp_2d)
1446      CALL histwrite(nid_mth,"cdrm",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1447c
1448      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragh,zx_tmp_2d)
1449      CALL histwrite(nid_mth,"cdrh",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1450c
1451      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldl,zx_tmp_2d)
1452      CALL histwrite(nid_mth,"cldl",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1453c
1454      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldm,zx_tmp_2d)
1455      CALL histwrite(nid_mth,"cldm",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1456c
1457      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldh,zx_tmp_2d)
1458      CALL histwrite(nid_mth,"cldh",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1459c
1460      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldt*100.,zx_tmp_2d)
1461      CALL histwrite(nid_mth,"cldt",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1462c
1463      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldq,zx_tmp_2d)
1464      CALL histwrite(nid_mth,"cldq",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1465c
1466      zx_tmp_fi2d(1:klon) = flwp(1:klon)
1467      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
1468      CALL histwrite(nid_mth,"lwp",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1469c
1470      zx_tmp_fi2d(1:klon) = fiwp(1:klon)
1471      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
1472      CALL histwrite(nid_mth,"iwp",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1473c
1474      CALL gr_fi_ecrit(1, klon,iim,jjmp1, ue,zx_tmp_2d)
1475      CALL histwrite(nid_mth,"ue",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1476c
1477      CALL gr_fi_ecrit(1, klon,iim,jjmp1, ve,zx_tmp_2d)
1478      CALL histwrite(nid_mth,"ve",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1479c
1480      CALL gr_fi_ecrit(1, klon,iim,jjmp1, uq,zx_tmp_2d)
1481      CALL histwrite(nid_mth,"uq",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1482c
1483      CALL gr_fi_ecrit(1, klon,iim,jjmp1, vq,zx_tmp_2d)
1484      CALL histwrite(nid_mth,"vq",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1485cKE43
1486      IF (iflag_con.GE.3) THEN ! sb
1487c
1488      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cape,zx_tmp_2d)
1489      CALL histwrite(nid_mth,"cape",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1490c
1491      CALL gr_fi_ecrit(1, klon,iim,jjmp1,pbase,zx_tmp_2d)
1492      CALL histwrite(nid_mth,"pbase",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1493c
1494      CALL gr_fi_ecrit(1, klon,iim,jjmp1,ema_pct,zx_tmp_2d)
1495      CALL histwrite(nid_mth,"ptop",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1496c
1497      CALL gr_fi_ecrit(1, klon,iim,jjmp1,ema_cbmf,zx_tmp_2d)
1498      CALL histwrite(nid_mth,"fbase",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1499c
1500c34EK
1501c
1502      CALL gr_fi_ecrit(1, klon,iim,jjmp1, prw,zx_tmp_2d)
1503      CALL histwrite(nid_mth,"prw",itau_w,zx_tmp_2d,
1504     .               iim*jjmp1,ndex2d)
1505c
1506      ENDIF !iflag_con.GE.3
1507c
1508cIM cf. AM 081204 BEG
1509cHBTM2
1510c
1511c
1512      CALL gr_fi_ecrit(1, klon,iim,jjmp1, s_pblh,zx_tmp_2d)
1513      CALL histwrite(nid_mth,"s_pblh",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1514c
1515      CALL gr_fi_ecrit(1, klon,iim,jjmp1, s_pblt,zx_tmp_2d)
1516      CALL histwrite(nid_mth,"s_pblt",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1517c
1518      CALL gr_fi_ecrit(1, klon,iim,jjmp1, s_lcl,zx_tmp_2d)
1519      CALL histwrite(nid_mth,"s_lcl",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1520c
1521      CALL gr_fi_ecrit(1, klon,iim,jjmp1, s_capCL,zx_tmp_2d)
1522      CALL histwrite(nid_mth,"s_capCL",itau_w,zx_tmp_2d,iim*jjmp1,
1523     .               ndex2d)
1524c
1525      CALL gr_fi_ecrit(1, klon,iim,jjmp1, s_oliqCL,zx_tmp_2d)
1526      CALL histwrite(nid_mth,"s_oliqCL",itau_w,zx_tmp_2d,iim*jjmp1,
1527     .               ndex2d)
1528c
1529      CALL gr_fi_ecrit(1, klon,iim,jjmp1, s_cteiCL,zx_tmp_2d)
1530      CALL histwrite(nid_mth,"s_cteiCL",itau_w,zx_tmp_2d,iim*jjmp1,
1531     .               ndex2d)
1532c
1533      CALL gr_fi_ecrit(1, klon,iim,jjmp1, s_therm,zx_tmp_2d)
1534      CALL histwrite(nid_mth,"s_therm",itau_w,zx_tmp_2d,iim*jjmp1,
1535     .               ndex2d)
1536c
1537      CALL gr_fi_ecrit(1, klon,iim,jjmp1, s_trmb1,zx_tmp_2d)
1538      CALL histwrite(nid_mth,"s_trmb1",itau_w,zx_tmp_2d,iim*jjmp1,
1539     .               ndex2d)
1540c
1541      CALL gr_fi_ecrit(1, klon,iim,jjmp1, s_trmb2,zx_tmp_2d)
1542      CALL histwrite(nid_mth,"s_trmb2",itau_w,zx_tmp_2d,iim*jjmp1,
1543     .               ndex2d)
1544c
1545      CALL gr_fi_ecrit(1, klon,iim,jjmp1, s_trmb3,zx_tmp_2d)
1546      CALL histwrite(nid_mth,"s_trmb3",itau_w,zx_tmp_2d,iim*jjmp1,
1547     .               ndex2d)
1548c
1549cIM cf. AM 081204 END
1550c
1551c  Champs interpolles sur des niveaux de pression
1552c     DO k=1, nlevENS
1553      DO k=1, nlevSTD
1554c
1555c        bb=clevSTD(k)
1556c
1557c        IF(k.GE.2) THEN
1558         IF(k.GE.2.AND.k.LE.12) bb2=clevSTD(k)
1559         IF(k.GE.13.AND.k.LE.17) bb3=clevSTD(k)
1560c         aa=clevSTD(k)
1561c         bb=aa(1:lnblnk1(aa))
1562c        ENDIF
1563c
1564       IF(bb2.EQ."850".OR.bb2.EQ."700"
1565     $   .OR.bb2.EQ."500".OR.bb2.EQ."200") THEN
1566c
1567        CALL gr_fi_ecrit(1, klon,iim,jjmp1,usumSTD(:,k,2),zx_tmp_2d)
1568        CALL histwrite(nid_mth,"u"//bb2,itau_w,zx_tmp_2d,
1569     $       iim*jjmp1,ndex2d)
1570c
1571        CALL gr_fi_ecrit(1, klon,iim,jjmp1,vsumSTD(:,k,2),zx_tmp_2d)
1572        CALL histwrite(nid_mth,"v"//bb2,itau_w,zx_tmp_2d,
1573     $       iim*jjmp1,ndex2d)
1574c
1575      CALL gr_fi_ecrit(1, klon,iim,jjmp1,wsumSTD(:,k,2),zx_tmp_2d)
1576      CALL histwrite(nid_mth,"w"//bb2,itau_w,zx_tmp_2d,
1577     $     iim*jjmp1,ndex2d)
1578c
1579      CALL gr_fi_ecrit(1, klon,iim,jjmp1,phisumSTD(:,k,2),zx_tmp_2d)
1580      CALL histwrite(nid_mth,"phi"//bb2,itau_w,zx_tmp_2d,
1581     $     iim*jjmp1,ndex2d)
1582c
1583      ENDIF !(bb2.EQ."850".OR.bb2.EQ."700"
1584      ENDDO !nlevSTD
1585c
1586      DO i=1, klon
1587       IF (pctsrf(i,is_oce).GT.epsfra) THEN
1588        zx_tmp_fi2d(i) = fluxo(i)
1589       ELSE
1590        zx_tmp_fi2d(i) = 1.E+20
1591       ENDIF
1592      ENDDO
1593c
1594      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
1595      CALL histwrite(nid_mth,"fluxo",itau_w,zx_tmp_2d,
1596     .     iim*jjmp1,ndex2d)
1597c
1598      DO i=1, klon
1599       IF (pctsrf(i,is_sic).GT.epsfra) THEN
1600        zx_tmp_fi2d(i) = fluxg(i)
1601       ELSE
1602        zx_tmp_fi2d(i) = 1.E+20
1603       ENDIF
1604      ENDDO
1605c
1606      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
1607      CALL histwrite(nid_mth,"fluxg",itau_w,zx_tmp_2d,
1608     .     iim*jjmp1,ndex2d)
1609c
1610      IF (OCEAN.EQ.'force ') THEN
1611c
1612      DO i=1, klon
1613      IF((pctsrf(i,is_oce).GT.epsfra).OR.
1614     .   (pctsrf(i,is_sic).GT.epsfra)) THEN
1615       zx_tmp_fi2d(i) = (radsol(i) + fluxo(i))*pctsrf(i,is_oce)+
1616     .                  fluxg(i)*pctsrf(i,is_sic)
1617      ELSE
1618       zx_tmp_fi2d(i) = 1.E+20
1619      ENDIF
1620      ENDDO
1621      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
1622      CALL histwrite(nid_mth,"lmt_bils",itau_w,
1623     .     zx_tmp_2d,iim*jjmp1,ndex2d)
1624c
1625      ELSE IF (OCEAN.EQ.'slab  ') THEN
1626c
1627c
1628      DO i=1, klon
1629      IF((pctsrf(i,is_oce).GT.epsfra).OR.
1630     .   (pctsrf(i,is_sic).GT.epsfra)) THEN
1631       zx_tmp_fi2d(i) = (radsol(i) + fluxo(i))*pctsrf(i,is_oce)+
1632     .                  fluxg(i)*pctsrf(i,is_sic)
1633      ELSE
1634       zx_tmp_fi2d(i) = 1.E+20
1635      ENDIF
1636      ENDDO
1637      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
1638      CALL histwrite(nid_mth,"slab_bils",itau_w,
1639     .     zx_tmp_2d,iim*jjmp1,ndex2d)
1640c
1641      DO i=1, klon
1642       IF(pctsrf(i,is_oce).GT.epsfra.OR.
1643     $    pctsrf(i,is_sic).GT.epsfra) THEN
1644        zx_tmp_fi2d(i)=tslab(i)
1645       ELSE
1646        zx_tmp_fi2d(i) = 1.E+20
1647       ENDIF
1648      ENDDO !i=1, klon
1649      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
1650      CALL histwrite(nid_mth,"tslab",itau_w,zx_tmp_2d,
1651     .     iim*jjmp1,ndex2d)
1652c
1653      CALL gr_fi_ecrit(1, klon,iim,jjmp1, seaice,zx_tmp_2d)
1654      CALL histwrite(nid_mth,"seaice",itau_w,zx_tmp_2d,
1655     .     iim*jjmp1,ndex2d)
1656c
1657      CALL gr_fi_ecrit(1, klon,iim,jjmp1, seaice/1000.,zx_tmp_2d)
1658      CALL histwrite(nid_mth,"siceh",itau_w,zx_tmp_2d,
1659     .     iim*jjmp1,ndex2d)
1660c
1661      ENDIF !OCEAN.EQ.force/slab
1662c
1663      ENDIF !lev_histmth.GE.1
1664c
1665      IF(lev_histmth.GE.2) THEN
1666c
1667c Champs 3D:
1668C
1669c
1670      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, flwc,zx_tmp_3d)
1671      CALL histwrite(nid_mth,"lwcon",itau_w,zx_tmp_3d,
1672     .               iim*jjmp1*klev,ndex3d)
1673c
1674      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, fiwc,zx_tmp_3d)
1675      CALL histwrite(nid_mth,"iwcon",itau_w,zx_tmp_3d,
1676     .               iim*jjmp1*klev,ndex3d)
1677c
1678      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, t_seri, zx_tmp_3d)
1679      CALL histwrite(nid_mth,"temp",itau_w,zx_tmp_3d,
1680     .                                   iim*jjmp1*klev,ndex3d)
1681c
1682c#ifdef histmthNMC
1683c#include "write_histmthNMC.h"
1684c#endif
1685c
1686      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, qx(1,1,ivap), zx_tmp_3d)
1687      CALL histwrite(nid_mth,"ovap",itau_w,zx_tmp_3d,
1688     .                                   iim*jjmp1*klev,ndex3d)
1689c
1690c     zx_tmp_fi3d(1:klon,1:klev)=qx(1:klon,1:klev,ivap)/
1691c    .                         (1-qx(1:klon,1:klev,ivap))
1692c     CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zx_tmp_fi3d, zx_tmp_3d)
1693c     CALL histwrite(nid_mth,"wvap",itau_w,zx_tmp_3d,
1694c    .                                   iim*jjmp1*klev,ndex3d)
1695c
1696      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zphi, zx_tmp_3d)
1697      CALL histwrite(nid_mth,"geop",itau_w,zx_tmp_3d,
1698     .                                   iim*jjmp1*klev,ndex3d)
1699c
1700      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, u_seri, zx_tmp_3d)
1701      CALL histwrite(nid_mth,"vitu",itau_w,zx_tmp_3d,
1702     .                                   iim*jjmp1*klev,ndex3d)
1703c
1704      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, v_seri, zx_tmp_3d)
1705      CALL histwrite(nid_mth,"vitv",itau_w,zx_tmp_3d,
1706     .                                   iim*jjmp1*klev,ndex3d)
1707c
1708      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, omega, zx_tmp_3d)
1709      CALL histwrite(nid_mth,"vitw",itau_w,zx_tmp_3d,
1710     .                                   iim*jjmp1*klev,ndex3d)
1711c
1712      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, pplay, zx_tmp_3d)
1713      CALL histwrite(nid_mth,"pres",itau_w,zx_tmp_3d,
1714     .                                   iim*jjmp1*klev,ndex3d)
1715c
1716      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, cldfra*100., zx_tmp_3d)
1717      CALL histwrite(nid_mth,"rneb",itau_w,zx_tmp_3d,
1718     .                                   iim*jjmp1*klev,ndex3d)
1719c
1720      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, rnebcon, zx_tmp_3d)
1721      CALL histwrite(nid_mth,"rnebcon",itau_w,zx_tmp_3d,
1722     .                                   iim*jjmp1*klev,ndex3d)
1723c
1724      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zx_rh, zx_tmp_3d)
1725      CALL histwrite(nid_mth,"rhum",itau_w,zx_tmp_3d,
1726     .                                   iim*jjmp1*klev,ndex3d)
1727c
1728      DO k=1, klev
1729       DO i=1, klon
1730cIM 151004        zx_tmp_fi3d(i,k)=MAX(wo(i,k),1.0e-12)*RG/46.6968
1731c    $                    /(paprs(i,k)-paprs(i,k+1))
1732c    $                    *(paprs(i,1)/101325.0)
1733c        zx_tmp2_fi3d(i,k)=MAX(wo(i,k)*1.0e+6,1.0e-6)*RG/46.6968
1734         zx_tmp_fi3d(i,k)=wo(i,k)*RG/46.6968
1735     $                    /(paprs(i,k)-paprs(i,k+1))
1736     $                    *(paprs(i,1)/101325.0)
1737       ENDDO !i
1738      ENDDO !k
1739c
1740c     CALL gr_fi_ecrit(klev,klon,iim,jjmp1, wo, zx_tmp_3d)
1741c     CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp2_fi3d,zx_tmp_3d)
1742      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
1743      CALL histwrite(nid_mth,"ozone",itau_w,zx_tmp_3d,
1744     .                                   iim*jjmp1*klev,ndex3d)
1745c
1746      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_t, zx_tmp_3d)
1747      CALL histwrite(nid_mth,"dtphy",itau_w,zx_tmp_3d,
1748     .                                   iim*jjmp1*klev,ndex3d)
1749c
1750      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_qx(:,:,ivap), 
1751     .                 zx_tmp_3d)
1752      CALL histwrite(nid_mth,"dqphy",itau_w,zx_tmp_3d,
1753     .                                   iim*jjmp1*klev,ndex3d)
1754c
1755      ENDIF !lev_histmth.GE.2
1756c
1757      IF(lev_histmth.GE.3) THEN
1758c
1759       DO nsrf=1, nbsrf
1760c
1761        zx_tmp_fi2d(1 : klon) = falbe( 1 : klon, nsrf)
1762        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
1763        CALL histwrite(nid_mth,"albe_"//clnsurf(nsrf),itau_w,
1764     $      zx_tmp_2d,iim*jjmp1,ndex2d)
1765C
1766        zx_tmp_fi2d(1 : klon) = frugs( 1 : klon, nsrf)
1767        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
1768        CALL histwrite(nid_mth,"rugs_"//clnsurf(nsrf),itau_w,
1769     $      zx_tmp_2d,iim*jjmp1,ndex2d)
1770c
1771      zx_tmp_fi2d(1 : klon) = agesno( 1 : klon, nsrf)
1772      CALL gr_fi_ecrit(1, klon,iim,jjmp1, agesno,zx_tmp_2d)
1773      CALL histwrite(nid_mth,"ages_"//clnsurf(nsrf),itau_w
1774     $    ,zx_tmp_2d,iim*jjmp1,ndex2d)
1775c
1776      ENDDO !nsrf=1, nbsrf
1777c
1778      CALL gr_fi_ecrit(1, klon,iim,jjmp1, albsol,zx_tmp_2d)
1779      CALL histwrite(nid_mth,"albs",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1780c
1781      CALL gr_fi_ecrit(1, klon,iim,jjmp1, albsollw,zx_tmp_2d)
1782      CALL histwrite(nid_mth,"albslw",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
1783c
1784      ENDIF !lev_histmth.GE.3
1785c
1786c
1787      IF(lev_histmth.GE.4) THEN
1788c
1789      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, clwcon0, zx_tmp_3d)
1790      CALL histwrite(nid_mth,"clwcon",itau_w,zx_tmp_3d,
1791     .                                   iim*jjmp1*klev,ndex3d)
1792c
1793      IF (iflag_con.GE.3) THEN
1794c
1795      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, Ma, zx_tmp_3d)
1796      CALL histwrite(nid_mth,"Ma",itau_w,zx_tmp_3d,
1797     .                                   iim*jjmp1*klev,ndex3d)
1798c
1799      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, upwd, zx_tmp_3d)
1800      CALL histwrite(nid_mth,"upwd",itau_w,zx_tmp_3d,
1801     .                                   iim*jjmp1*klev,ndex3d)
1802c
1803      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, dnwd, zx_tmp_3d)
1804      CALL histwrite(nid_mth,"dnwd",itau_w,zx_tmp_3d,
1805     .                                   iim*jjmp1*klev,ndex3d)
1806c
1807      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, dnwd0, zx_tmp_3d)
1808      CALL histwrite(nid_mth,"dnwd0",itau_w,zx_tmp_3d,
1809     .                                   iim*jjmp1*klev,ndex3d)
1810c
1811      ENDIF !iflag_con.GE.3
1812c
1813      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_t_dyn, zx_tmp_3d)
1814      CALL histwrite(nid_mth,"dtdyn",itau_w,zx_tmp_3d,
1815     .                                   iim*jjmp1*klev,ndex3d)
1816c
1817      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_q_dyn, zx_tmp_3d)
1818      CALL histwrite(nid_mth,"dqdyn",itau_w,zx_tmp_3d,
1819     .                                   iim*jjmp1*klev,ndex3d)
1820c
1821cIM: 101003 : K/30min ==> K/s
1822c
1823      zx_tmp_fi3d(1:klon,1:klev)=d_q_con(1:klon,1:klev)/pdtphys
1824      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
1825      CALL histwrite(nid_mth,"dqcon",itau_w,zx_tmp_3d,
1826     .                                   iim*jjmp1*klev,ndex3d)
1827c
1828cIM: 101003 : K/30min ==> K/s
1829      zx_tmp_fi3d(1:klon, 1:klev)=(d_t_lsc(1:klon,1:klev)+
1830     .                             d_t_eva(1:klon,1:klev))/pdtphys
1831      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zx_tmp_fi3d, zx_tmp_3d)
1832      CALL histwrite(nid_mth,"dtlschr",itau_w,zx_tmp_3d,
1833     .                                   iim*jjmp1*klev,ndex3d)
1834c
1835      zx_tmp_fi3d(1:klon,1:klev)=d_q_lsc(1:klon,1:klev)/pdtphys
1836      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
1837      CALL histwrite(nid_mth,"dqlsc",itau_w,zx_tmp_3d,
1838     .                                   iim*jjmp1*klev,ndex3d)
1839c
1840cIM: 101003 : K/30min ==> K/s
1841      zx_tmp_fi3d(1:klon,1:klev)=d_t_vdf(1:klon,1:klev)/pdtphys
1842      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
1843      CALL histwrite(nid_mth,"dtvdf",itau_w,zx_tmp_3d,
1844     .                                   iim*jjmp1*klev,ndex3d)
1845c
1846      zx_tmp_fi3d(1:klon,1:klev)=d_q_vdf(1:klon,1:klev)/pdtphys
1847      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
1848      CALL histwrite(nid_mth,"dqvdf",itau_w,zx_tmp_3d,
1849     .                                   iim*jjmp1*klev,ndex3d)
1850c
1851cIM: 101003 : K/30min ==> K/s
1852      zx_tmp_fi3d(1:klon,1:klev)=d_t_eva(1:klon,1:klev)/pdtphys
1853      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
1854      CALL histwrite(nid_mth,"dteva",itau_w,zx_tmp_3d,
1855     .                                   iim*jjmp1*klev,ndex3d)
1856c
1857      zx_tmp_fi3d(1:klon,1:klev)=d_q_eva(1:klon,1:klev)/pdtphys
1858      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
1859      CALL histwrite(nid_mth,"dqeva",itau_w,zx_tmp_3d,
1860     .                                   iim*jjmp1*klev,ndex3d)
1861c
1862      zpt_conv = 0.
1863      where (ptconv) zpt_conv = 1.
1864      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zpt_conv, zx_tmp_3d)
1865      CALL histwrite(nid_mth,"ptconv",itau_w,zx_tmp_3d,
1866     .                                   iim*(jjmp1)*klev,ndex3d)
1867c
1868      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, ratqs, zx_tmp_3d)
1869      CALL histwrite(nid_mth,"ratqs",itau_w,zx_tmp_3d,
1870     .                                   iim*(jjmp1)*klev,ndex3d)
1871c
1872      zx_tmp_fi3d(1:klon,1:klev)=d_q_ajs(1:klon,1:klev)/pdtphys
1873      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
1874      CALL histwrite(nid_mth,"dqajs",itau_w,zx_tmp_3d,
1875     .                                   iim*jjmp1*klev,ndex3d)
1876c
1877cIM: 101003 : K/day ==> K/s
1878      zx_tmp_fi3d(1:klon,1:klev)=heat(1:klon,1:klev)/RDAY
1879      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
1880      CALL histwrite(nid_mth,"dtswr",itau_w,zx_tmp_3d,
1881     .                                   iim*jjmp1*klev,ndex3d)
1882c
1883cIM: 101003 : K/day ==> K/s     
1884      zx_tmp_fi3d(1:klon,1:klev)=heat0(1:klon,1:klev)/RDAY
1885      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
1886      CALL histwrite(nid_mth,"dtsw0",itau_w,zx_tmp_3d,
1887     .                                   iim*jjmp1*klev,ndex3d)
1888c
1889cIM: 101003 : K/day ==> K/s     
1890      zx_tmp_fi3d(1:klon,1:klev)=-1.*cool(1:klon,1:klev)/RDAY
1891      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
1892      CALL histwrite(nid_mth,"dtlwr",itau_w,zx_tmp_3d,
1893     .                                   iim*jjmp1*klev,ndex3d)
1894c
1895cIM: 101003 : K/day ==> K/s     
1896      zx_tmp_fi3d(1:klon,1:klev)=-1.*cool0(1:klon,1:klev)/RDAY
1897      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
1898      CALL histwrite(nid_mth,"dtlw0",itau_w,zx_tmp_3d,
1899     .                                   iim*jjmp1*klev,ndex3d)
1900c
1901cIM: 101003 : deja en K/s     
1902      zx_tmp_fi3d(1:klon,1:klev)=d_t_ec(1:klon,1:klev)
1903      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
1904      CALL histwrite(nid_mth,"dtec",itau_w,zx_tmp_3d,
1905     .                                   iim*jjmp1*klev,ndex3d)
1906c
1907      zx_tmp_fi3d(1:klon,1:klev)=d_u_vdf(1:klon,1:klev)/pdtphys
1908      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
1909      CALL histwrite(nid_mth,"duvdf",itau_w,zx_tmp_3d,
1910     .                                   iim*jjmp1*klev,ndex3d)
1911c
1912      zx_tmp_fi3d(1:klon,1:klev)=d_v_vdf(1:klon,1:klev)/pdtphys
1913      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
1914      CALL histwrite(nid_mth,"dvvdf",itau_w,zx_tmp_3d,
1915     .                                   iim*jjmp1*klev,ndex3d)
1916c
1917      IF (ok_orodr) THEN
1918      zx_tmp_fi3d(1:klon,1:klev)=d_u_oro(1:klon,1:klev)/pdtphys
1919      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
1920      CALL histwrite(nid_mth,"duoro",itau_w,zx_tmp_3d,
1921     .                                   iim*jjmp1*klev,ndex3d)
1922c
1923      zx_tmp_fi3d(1:klon,1:klev)=d_v_oro(1:klon,1:klev)/pdtphys
1924      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
1925      CALL histwrite(nid_mth,"dvoro",itau_w,zx_tmp_3d,
1926     .                                   iim*jjmp1*klev,ndex3d)
1927c
1928      ENDIF
1929C
1930      IF (ok_orolf) THEN
1931      zx_tmp_fi3d(1:klon,1:klev)=d_u_lif(1:klon,1:klev)/pdtphys
1932      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
1933      CALL histwrite(nid_mth,"dulif",itau_w,zx_tmp_3d,
1934     .                                   iim*jjmp1*klev,ndex3d)
1935c
1936      zx_tmp_fi3d(1:klon,1:klev)=d_v_lif(1:klon,1:klev)/pdtphys
1937      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
1938      CALL histwrite(nid_mth,"dvlif",itau_w,zx_tmp_3d,
1939     .                                   iim*jjmp1*klev,ndex3d)
1940      ENDIF
1941C
1942      IF (nqmax.GE.3) THEN
1943      DO iq=3,nqmax
1944         CALL gr_fi_ecrit(klev,klon,iim,jjmp1, qx(1,1,iq), zx_tmp_3d)
1945         CALL histwrite(nid_mth,tnom(iq),itau_w,zx_tmp_3d,
1946     .                                   iim*jjmp1*klev,ndex3d)
1947      ENDDO
1948      ENDIF
1949c
1950      ENDIF !lev_histmth.GE.4
1951c
1952      ENDIF !(type_run.EQ."AMIP")
1953c
1954      if (ok_sync) then
1955        call histsync(nid_mth)
1956      endif
1957c
1958      ENDIF !ok_mensuel
Note: See TracBrowser for help on using the repository browser.