source: LMDZ4/tags/LF_20080728/libf/phytherm/write_histmth.h @ 1353

Last change on this file since 1353 was 864, checked in by lsce, 17 years ago

ACo : ajout clef CPP (COUPLE + AER) pour le modele couple avec les aerosol (IPSL_ESM_V1)

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