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

Last change on this file since 699 was 684, checked in by lmdzadmin, 18 years ago

Ajout nouveaux flags (ip_ebil_phy, ok_slab_sicOBS) ds physiq.def +
Lecture freq. ecriture en nombre de jours
IM

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