source: LMDZ4/branches/V3_test/libf/phylmd/write_histmth.h @ 3294

Last change on this file since 3294 was 735, checked in by Laurent Fairhead, 18 years ago

Modifications version parallele
YM/LF

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