source: LMDZ4/trunk/libf/phylmd/phys_output_write.h @ 1337

Last change on this file since 1337 was 1337, checked in by Laurent Fairhead, 14 years ago

Additions to aerosol outputs for CMIP5 exercise


Additions aux sorties aérosols pour l'exercice CMIP5

Michael, Anne

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 51.6 KB
Line 
1      itau_w = itau_phy + itap
2
3      DO iff=1,nfiles
4
5       IF (clef_files(iff)) THEN
6             ndex2d = 0
7             ndex3d = 0
8
9!!! Champs 1D !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
10       IF (o_phis%flag(iff)<=lev_files(iff)) THEN
11         CALL histwrite_phy(nid_files(iff),
12     $                      o_phis%name,itau_w,pphis)
13       ENDIF
14
15       IF (o_aire%flag(iff)<=lev_files(iff)) THEN
16       CALL histwrite_phy(nid_files(iff),o_aire%name,itau_w,airephy)
17       ENDIF
18
19       IF (o_contfracATM%flag(iff)<=lev_files(iff)) THEN
20      DO i=1, klon
21       zx_tmp_fi2d(i)=pctsrf(i,is_ter)+pctsrf(i,is_lic)
22      ENDDO
23      CALL histwrite_phy(nid_files(iff),
24     $             o_contfracATM%name,itau_w,zx_tmp_fi2d)
25       ENDIF
26
27       IF (o_contfracOR%flag(iff)<=lev_files(iff)) THEN
28      CALL histwrite_phy(nid_files(iff),o_contfracOR%name,itau_w,
29     $                   pctsrf(:,is_ter))
30       ENDIF
31
32       IF (o_aireTER%flag(iff)<=lev_files(iff)) THEN
33      CALL histwrite_phy(nid_files(iff),
34     $                  o_aireTER%name,itau_w,paire_ter)
35       ENDIF
36
37!!! Champs 2D !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
38
39       IF (o_flat%flag(iff)<=lev_files(iff)) THEN
40      CALL histwrite_phy(nid_files(iff),o_flat%name,itau_w,zxfluxlat)
41       ENDIF
42
43       IF (o_slp%flag(iff)<=lev_files(iff)) THEN
44      CALL histwrite_phy(nid_files(iff),o_slp%name,itau_w,slp)
45       ENDIF
46
47       IF (o_tsol%flag(iff)<=lev_files(iff)) THEN
48      CALL histwrite_phy(nid_files(iff),o_tsol%name,itau_w,zxtsol)
49       ENDIF
50
51       IF (o_t2m%flag(iff)<=lev_files(iff)) THEN
52      CALL histwrite_phy(nid_files(iff),o_t2m%name,itau_w,zt2m)
53       ENDIF
54
55       IF (o_t2m_min%flag(iff)<=lev_files(iff)) THEN
56      CALL histwrite_phy(nid_files(iff),o_t2m_min%name,itau_w,zt2m)
57       ENDIF
58
59       IF (o_t2m_max%flag(iff)<=lev_files(iff)) THEN
60      CALL histwrite_phy(nid_files(iff),o_t2m_max%name,itau_w,zt2m)
61       ENDIF
62
63       IF (o_wind10m%flag(iff)<=lev_files(iff)) THEN
64      DO i=1, klon
65       zx_tmp_fi2d(i)=SQRT(zu10m(i)*zu10m(i)+zv10m(i)*zv10m(i))
66      ENDDO
67      CALL histwrite_phy(nid_files(iff),
68     s                  o_wind10m%name,itau_w,zx_tmp_fi2d)
69       ENDIF
70
71       IF (o_wind10max%flag(iff)<=lev_files(iff)) THEN
72      DO i=1, klon
73       zx_tmp_fi2d(i)=SQRT(zu10m(i)*zu10m(i)+zv10m(i)*zv10m(i))
74      ENDDO
75      CALL histwrite_phy(nid_files(iff),o_wind10max%name, 
76     $                   itau_w,zx_tmp_fi2d)
77       ENDIF
78
79       IF (o_sicf%flag(iff)<=lev_files(iff)) THEN
80      DO i = 1, klon
81         zx_tmp_fi2d(i) = pctsrf(i,is_sic)
82      ENDDO
83      CALL histwrite_phy(nid_files(iff),
84     $                   o_sicf%name,itau_w,zx_tmp_fi2d)
85       ENDIF
86
87       IF (o_q2m%flag(iff)<=lev_files(iff)) THEN
88      CALL histwrite_phy(nid_files(iff),o_q2m%name,itau_w,zq2m)
89       ENDIF
90
91       IF (o_u10m%flag(iff)<=lev_files(iff)) THEN
92      CALL histwrite_phy(nid_files(iff),o_u10m%name,itau_w,zu10m)
93       ENDIF
94
95       IF (o_v10m%flag(iff)<=lev_files(iff)) THEN
96      CALL histwrite_phy(nid_files(iff),o_v10m%name,itau_w,zv10m)
97       ENDIF
98
99       IF (o_psol%flag(iff)<=lev_files(iff)) THEN
100      DO i = 1, klon
101         zx_tmp_fi2d(i) = paprs(i,1)
102      ENDDO
103      CALL histwrite_phy(nid_files(iff),
104     s                   o_psol%name,itau_w,zx_tmp_fi2d)
105       ENDIF
106
107       IF (o_qsurf%flag(iff)<=lev_files(iff)) THEN
108      CALL histwrite_phy(nid_files(iff),o_qsurf%name,itau_w,zxqsurf)
109       ENDIF
110
111       if (.not. ok_veget) then
112         IF (o_qsol%flag(iff)<=lev_files(iff)) THEN
113        CALL histwrite_phy(nid_files(iff),o_qsol%name,itau_w,qsol)
114         ENDIF
115       endif
116
117      IF (o_precip%flag(iff)<=lev_files(iff)) THEN
118       DO i = 1, klon
119         zx_tmp_fi2d(i) = rain_fall(i) + snow_fall(i)
120       ENDDO
121      CALL histwrite_phy(nid_files(iff),o_precip%name,
122     s                   itau_w,zx_tmp_fi2d)
123      ENDIF
124
125       IF (o_ndayrain%flag(iff)<=lev_files(iff)) THEN
126      CALL histwrite_phy(nid_files(iff),o_ndayrain%name,
127     s                   itau_w,nday_rain)
128       ENDIF
129
130      IF (o_plul%flag(iff)<=lev_files(iff)) THEN
131       DO i = 1, klon
132         zx_tmp_fi2d(i) = rain_lsc(i) + snow_lsc(i)
133       ENDDO
134      CALL histwrite_phy(nid_files(iff),o_plul%name,itau_w,zx_tmp_fi2d)
135      ENDIF
136
137      IF (o_pluc%flag(iff)<=lev_files(iff)) THEN
138      DO i = 1, klon
139         zx_tmp_fi2d(i) = rain_con(i) + snow_con(i)
140      ENDDO
141      CALL histwrite_phy(nid_files(iff),o_pluc%name,itau_w,zx_tmp_fi2d)
142      ENDIF
143
144       IF (o_snow%flag(iff)<=lev_files(iff)) THEN
145      CALL histwrite_phy(nid_files(iff),o_snow%name,itau_w,snow_fall)
146       ENDIF
147
148       IF (o_msnow%flag(iff)<=lev_files(iff)) THEN
149      CALL histwrite_phy(nid_files(iff),o_msnow%name,itau_w,snow_o)
150       ENDIF
151
152       IF (o_fsnow%flag(iff)<=lev_files(iff)) THEN
153      CALL histwrite_phy(nid_files(iff),o_fsnow%name,itau_w,zfra_o)
154       ENDIF
155
156       IF (o_evap%flag(iff)<=lev_files(iff)) THEN
157      CALL histwrite_phy(nid_files(iff),o_evap%name,itau_w,evap)
158       ENDIF
159
160       IF (o_tops%flag(iff)<=lev_files(iff)) THEN
161      CALL histwrite_phy(nid_files(iff),o_tops%name,itau_w,topsw)
162       ENDIF
163
164       IF (o_tops0%flag(iff)<=lev_files(iff)) THEN
165      CALL histwrite_phy(nid_files(iff),o_tops0%name,itau_w,topsw0)
166       ENDIF
167
168       IF (o_topl%flag(iff)<=lev_files(iff)) THEN
169      CALL histwrite_phy(nid_files(iff),o_topl%name,itau_w,toplw)
170       ENDIF
171
172       IF (o_topl0%flag(iff)<=lev_files(iff)) THEN
173      CALL histwrite_phy(nid_files(iff),o_topl0%name,itau_w,toplw0)
174       ENDIF
175
176       IF (o_SWupTOA%flag(iff)<=lev_files(iff)) THEN
177      zx_tmp_fi2d(1 : klon) = swup ( 1 : klon, klevp1 )
178      CALL histwrite_phy(nid_files(iff),o_SWupTOA%name,
179     s                     itau_w,zx_tmp_fi2d)
180       ENDIF
181
182       IF (o_SWupTOAclr%flag(iff)<=lev_files(iff)) THEN
183      zx_tmp_fi2d(1 : klon) = swup0 ( 1 : klon, klevp1 )
184      CALL histwrite_phy(nid_files(iff), 
185     $                  o_SWupTOAclr%name,itau_w,zx_tmp_fi2d)
186       ENDIF
187
188       IF (o_SWdnTOA%flag(iff)<=lev_files(iff)) THEN
189      zx_tmp_fi2d(1 : klon) = swdn ( 1 : klon, klevp1 )
190      CALL histwrite_phy(nid_files(iff),
191     s                  o_SWdnTOA%name,itau_w,zx_tmp_fi2d)
192       ENDIF
193
194       IF (o_SWdnTOAclr%flag(iff)<=lev_files(iff)) THEN
195      zx_tmp_fi2d(1 : klon) = swdn0 ( 1 : klon, klevp1 )
196      CALL histwrite_phy(nid_files(iff), 
197     $                  o_SWdnTOAclr%name,itau_w,zx_tmp_fi2d)
198       ENDIF
199
200       IF (o_nettop%flag(iff)<=lev_files(iff)) THEN
201      zx_tmp_fi2d(:) = topsw(:)-toplw(:)
202      CALL histwrite_phy(nid_files(iff),
203     $                  o_nettop%name,itau_w,zx_tmp_fi2d)
204       ENDIF
205
206       IF (o_SWup200%flag(iff)<=lev_files(iff)) THEN
207      CALL histwrite_phy(nid_files(iff),o_SWup200%name,itau_w,SWup200)
208       ENDIF
209
210       IF (o_SWup200clr%flag(iff)<=lev_files(iff)) THEN
211      CALL histwrite_phy(nid_files(iff),
212     s                   o_SWup200clr%name,itau_w,SWup200clr)
213       ENDIF
214
215       IF (o_SWdn200%flag(iff)<=lev_files(iff)) THEN
216      CALL histwrite_phy(nid_files(iff),o_SWdn200%name,itau_w,SWdn200)
217       ENDIF
218
219       IF (o_SWdn200clr%flag(iff)<=lev_files(iff)) THEN
220      CALL histwrite_phy(nid_files(iff),
221     s                o_SWdn200clr%name,itau_w,SWdn200clr)
222       ENDIF
223
224       IF (o_LWup200%flag(iff)<=lev_files(iff)) THEN
225      CALL histwrite_phy(nid_files(iff),o_LWup200%name,itau_w,LWup200)
226       ENDIF
227
228       IF (o_LWup200clr%flag(iff)<=lev_files(iff)) THEN
229      CALL histwrite_phy(nid_files(iff),
230     s                   o_LWup200clr%name,itau_w,LWup200clr)
231       ENDIF
232
233       IF (o_LWdn200%flag(iff)<=lev_files(iff)) THEN
234      CALL histwrite_phy(nid_files(iff),
235     s                   o_LWdn200%name,itau_w,LWdn200)
236       ENDIF
237
238       IF (o_LWdn200clr%flag(iff)<=lev_files(iff)) THEN
239      CALL histwrite_phy(nid_files(iff),
240     s                  o_LWdn200clr%name,itau_w,LWdn200clr)
241       ENDIF
242
243       IF (o_sols%flag(iff)<=lev_files(iff)) THEN
244      CALL histwrite_phy(nid_files(iff),o_sols%name,itau_w,solsw)
245       ENDIF
246
247       IF (o_sols0%flag(iff)<=lev_files(iff)) THEN
248      CALL histwrite_phy(nid_files(iff),o_sols0%name,itau_w,solsw0)
249       ENDIF
250
251       IF (o_soll%flag(iff)<=lev_files(iff)) THEN
252      CALL histwrite_phy(nid_files(iff),o_soll%name,itau_w,sollw)
253       ENDIF
254
255       IF (o_radsol%flag(iff)<=lev_files(iff)) THEN
256      CALL histwrite_phy(nid_files(iff),o_radsol%name,itau_w,radsol)
257       ENDIF
258
259       IF (o_soll0%flag(iff)<=lev_files(iff)) THEN
260      CALL histwrite_phy(nid_files(iff),o_soll0%name,itau_w,sollw0)
261       ENDIF
262
263       IF (o_SWupSFC%flag(iff)<=lev_files(iff)) THEN
264      zx_tmp_fi2d(1 : klon) = swup ( 1 : klon, 1 )
265      CALL histwrite_phy(nid_files(iff),
266     s               o_SWupSFC%name,itau_w,zx_tmp_fi2d)
267       ENDIF
268
269       IF (o_SWupSFCclr%flag(iff)<=lev_files(iff)) THEN
270      zx_tmp_fi2d(1 : klon) = swup0 ( 1 : klon, 1 )
271      CALL histwrite_phy(nid_files(iff), 
272     $                   o_SWupSFCclr%name,itau_w,zx_tmp_fi2d)
273       ENDIF
274
275       IF (o_SWdnSFC%flag(iff)<=lev_files(iff)) THEN
276      zx_tmp_fi2d(1 : klon) = swdn ( 1 : klon, 1 )
277      CALL histwrite_phy(nid_files(iff), 
278     $                   o_SWdnSFC%name,itau_w,zx_tmp_fi2d)
279       ENDIF
280
281       IF (o_SWdnSFCclr%flag(iff)<=lev_files(iff)) THEN
282      zx_tmp_fi2d(1 : klon) = swdn0 ( 1 : klon, 1 )
283      CALL histwrite_phy(nid_files(iff), 
284     $                  o_SWdnSFCclr%name,itau_w,zx_tmp_fi2d)
285       ENDIF
286
287       IF (o_LWupSFC%flag(iff)<=lev_files(iff)) THEN
288      zx_tmp_fi2d(1:klon)=sollwdown(1:klon)-sollw(1:klon)
289      CALL histwrite_phy(nid_files(iff),
290     $                    o_LWupSFC%name,itau_w,zx_tmp_fi2d)
291       ENDIF
292
293       IF (o_LWdnSFC%flag(iff)<=lev_files(iff)) THEN
294      CALL histwrite_phy(nid_files(iff),
295     $                   o_LWdnSFC%name,itau_w,sollwdown)
296       ENDIF
297
298       sollwdownclr(1:klon) = -1.*lwdn0(1:klon,1)
299       IF (o_LWupSFCclr%flag(iff)<=lev_files(iff)) THEN
300      zx_tmp_fi2d(1:klon)=sollwdownclr(1:klon)-sollw0(1:klon)
301      CALL histwrite_phy(nid_files(iff),
302     $                   o_LWupSFCclr%name,itau_w,zx_tmp_fi2d)
303       ENDIF
304
305       IF (o_LWdnSFCclr%flag(iff)<=lev_files(iff)) THEN
306      CALL histwrite_phy(nid_files(iff),
307     $                   o_LWdnSFCclr%name,itau_w,sollwdownclr)
308       ENDIF
309
310       IF (o_bils%flag(iff)<=lev_files(iff)) THEN
311      CALL histwrite_phy(nid_files(iff),o_bils%name,itau_w,bils)
312       ENDIF
313
314       IF (o_sens%flag(iff)<=lev_files(iff)) THEN
315      zx_tmp_fi2d(1:klon)=-1*sens(1:klon)
316      CALL histwrite_phy(nid_files(iff),o_sens%name,itau_w,zx_tmp_fi2d)
317       ENDIF
318
319       IF (o_fder%flag(iff)<=lev_files(iff)) THEN
320      CALL histwrite_phy(nid_files(iff),o_fder%name,itau_w,fder)
321       ENDIF
322
323       IF (o_ffonte%flag(iff)<=lev_files(iff)) THEN
324       CALL histwrite_phy(nid_files(iff),o_ffonte%name,itau_w,zxffonte)
325       ENDIF
326
327       IF (o_fqcalving%flag(iff)<=lev_files(iff)) THEN
328       CALL histwrite_phy(nid_files(iff),
329     $                    o_fqcalving%name,itau_w,zxfqcalving)
330       ENDIF
331
332       IF (o_fqfonte%flag(iff)<=lev_files(iff)) THEN
333       CALL histwrite_phy(nid_files(iff),
334     $                   o_fqfonte%name,itau_w,zxfqfonte)
335       ENDIF
336
337       IF (o_taux%flag(iff)<=lev_files(iff)) THEN
338         zx_tmp_fi2d=0.
339         do nsrf=1,nbsrf
340          zx_tmp_fi2d(:)=zx_tmp_fi2d(:)+pctsrf(:,nsrf)*fluxu(:,1,nsrf)
341         enddo
342         CALL histwrite_phy(nid_files(iff),
343     $                   o_taux%name,itau_w,zx_tmp_fi2d)
344       ENDIF
345
346       IF (o_tauy%flag(iff)<=lev_files(iff)) THEN
347         zx_tmp_fi2d=0.
348         do nsrf=1,nbsrf
349          zx_tmp_fi2d(:)=zx_tmp_fi2d(:)+pctsrf(:,nsrf)*fluxv(:,1,nsrf)
350         enddo
351         CALL histwrite_phy(nid_files(iff),
352     $                   o_tauy%name,itau_w,zx_tmp_fi2d)
353       ENDIF
354
355         DO nsrf = 1, nbsrf
356!           IF(nsrf.GE.2) THEN
357            IF (o_pourc_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN
358            zx_tmp_fi2d(1 : klon) = pctsrf( 1 : klon, nsrf)*100.
359            CALL histwrite_phy(nid_files(iff),
360     $                     o_pourc_srf(nsrf)%name,itau_w,
361     $                     zx_tmp_fi2d)
362            ENDIF
363
364          IF (o_fract_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN
365          zx_tmp_fi2d(1 : klon) = pctsrf( 1 : klon, nsrf)
366          CALL histwrite_phy(nid_files(iff),
367     $                  o_fract_srf(nsrf)%name,itau_w,
368     $                  zx_tmp_fi2d)
369          ENDIF
370!         ENDIF !nsrf.GT.2
371
372        IF (o_taux_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN
373        zx_tmp_fi2d(1 : klon) = fluxu( 1 : klon, 1, nsrf)
374        CALL histwrite_phy(nid_files(iff),
375     $                     o_taux_srf(nsrf)%name,itau_w,
376     $                     zx_tmp_fi2d)
377        ENDIF
378
379        IF (o_tauy_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN           
380        zx_tmp_fi2d(1 : klon) = fluxv( 1 : klon, 1, nsrf)
381        CALL histwrite_phy(nid_files(iff),
382     $                    o_tauy_srf(nsrf)%name,itau_w,
383     $                    zx_tmp_fi2d)
384        ENDIF
385
386        IF (o_tsol_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN
387        zx_tmp_fi2d(1 : klon) = ftsol( 1 : klon, nsrf)
388        CALL histwrite_phy(nid_files(iff),
389     $                   o_tsol_srf(nsrf)%name,itau_w,
390     $      zx_tmp_fi2d)
391        ENDIF
392
393      IF (o_u10m_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN
394      zx_tmp_fi2d(1 : klon) = u10m(1 : klon, nsrf)
395      CALL histwrite_phy(nid_files(iff),o_u10m_srf(nsrf)%name,
396     $                 itau_w,zx_tmp_fi2d)
397      ENDIF
398
399      IF (o_v10m_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN
400      zx_tmp_fi2d(1 : klon) = v10m(1 : klon, nsrf)
401      CALL histwrite_phy(nid_files(iff),o_v10m_srf(nsrf)%name,
402     $              itau_w,zx_tmp_fi2d)
403      ENDIF
404 
405      IF (o_t2m_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN
406      zx_tmp_fi2d(1 : klon) = t2m(1 : klon, nsrf)
407      CALL histwrite_phy(nid_files(iff),o_t2m_srf(nsrf)%name,
408     $           itau_w,zx_tmp_fi2d)
409      ENDIF
410
411      IF (o_evap_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN
412      zx_tmp_fi2d(1 : klon) = fevap(1 : klon, nsrf)
413      CALL histwrite_phy(nid_files(iff),o_evap_srf(nsrf)%name,
414     $           itau_w,zx_tmp_fi2d)
415      ENDIF
416
417       IF (o_sens_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN
418       zx_tmp_fi2d(1 : klon) = fluxt( 1 : klon, 1, nsrf)
419       CALL histwrite_phy(nid_files(iff),
420     $                    o_sens_srf(nsrf)%name,itau_w,
421     $      zx_tmp_fi2d)
422       ENDIF
423
424        IF (o_lat_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN
425        zx_tmp_fi2d(1 : klon) = fluxlat( 1 : klon, nsrf)
426        CALL histwrite_phy(nid_files(iff),
427     $                 o_lat_srf(nsrf)%name,itau_w,
428     $                                   zx_tmp_fi2d)
429          ENDIF
430
431        IF (o_flw_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN
432        zx_tmp_fi2d(1 : klon) = fsollw( 1 : klon, nsrf)
433        CALL histwrite_phy(nid_files(iff),
434     $                     o_flw_srf(nsrf)%name,itau_w,
435     $      zx_tmp_fi2d)
436        ENDIF
437
438        IF (o_fsw_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN
439        zx_tmp_fi2d(1 : klon) = fsolsw( 1 : klon, nsrf)
440        CALL histwrite_phy(nid_files(iff),
441     $                   o_fsw_srf(nsrf)%name,itau_w,
442     $      zx_tmp_fi2d)
443        ENDIF
444
445        IF (o_wbils_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN
446        zx_tmp_fi2d(1 : klon) = wfbils( 1 : klon, nsrf)
447        CALL histwrite_phy(nid_files(iff),
448     $                   o_wbils_srf(nsrf)%name,itau_w,
449     $      zx_tmp_fi2d)
450        ENDIF
451
452        IF (o_wbilo_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN
453        zx_tmp_fi2d(1 : klon) = wfbilo( 1 : klon, nsrf)
454        CALL histwrite_phy(nid_files(iff),
455     $                    o_wbilo_srf(nsrf)%name,itau_w,
456     $      zx_tmp_fi2d)
457        ENDIF
458
459       if (iflag_pbl>1 .and. lev_histday.gt.10 ) then
460        IF (o_tke_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN
461        CALL histwrite_phy(nid_files(iff),
462     $                   o_tke_srf(nsrf)%name,itau_w,
463     $                    pbl_tke(:,1:klev,nsrf))
464       ENDIF
465
466        IF (o_tke_max_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN
467        CALL histwrite_phy(nid_files(iff),
468     $                    o_tke_max_srf(nsrf)%name,itau_w,
469     $      pbl_tke(:,1:klev,nsrf))
470        ENDIF
471       endif
472      ENDDO
473
474        IF (o_cdrm%flag(iff)<=lev_files(iff)) THEN
475      CALL histwrite_phy(nid_files(iff),o_cdrm%name,itau_w,cdragm)
476        ENDIF
477
478        IF (o_cdrh%flag(iff)<=lev_files(iff)) THEN
479      CALL histwrite_phy(nid_files(iff),o_cdrh%name,itau_w,cdragh)
480        ENDIF
481
482        IF (o_cldl%flag(iff)<=lev_files(iff)) THEN
483      CALL histwrite_phy(nid_files(iff),o_cldl%name,itau_w,cldl)
484        ENDIF
485
486        IF (o_cldm%flag(iff)<=lev_files(iff)) THEN
487      CALL histwrite_phy(nid_files(iff),o_cldm%name,itau_w,cldm)
488        ENDIF
489
490        IF (o_cldh%flag(iff)<=lev_files(iff)) THEN
491      CALL histwrite_phy(nid_files(iff),o_cldh%name,itau_w,cldh)
492        ENDIF
493
494        IF (o_cldt%flag(iff)<=lev_files(iff)) THEN
495      CALL histwrite_phy(nid_files(iff),o_cldt%name, 
496     &                   itau_w,cldt)
497        ENDIF
498
499        IF (o_cldq%flag(iff)<=lev_files(iff)) THEN
500      CALL histwrite_phy(nid_files(iff),o_cldq%name,itau_w,cldq)
501        ENDIF
502
503        IF (o_lwp%flag(iff)<=lev_files(iff)) THEN
504      zx_tmp_fi2d(1:klon) = flwp(1:klon)
505      CALL histwrite_phy(nid_files(iff),
506     s                   o_lwp%name,itau_w,zx_tmp_fi2d)
507        ENDIF
508
509        IF (o_iwp%flag(iff)<=lev_files(iff)) THEN
510      zx_tmp_fi2d(1:klon) = fiwp(1:klon)
511      CALL histwrite_phy(nid_files(iff),
512     s                    o_iwp%name,itau_w,zx_tmp_fi2d)
513        ENDIF
514
515        IF (o_ue%flag(iff)<=lev_files(iff)) THEN
516      CALL histwrite_phy(nid_files(iff),o_ue%name,itau_w,ue)
517        ENDIF
518
519        IF (o_ve%flag(iff)<=lev_files(iff)) THEN
520      CALL histwrite_phy(nid_files(iff),o_ve%name,itau_w,ve)
521        ENDIF
522
523        IF (o_uq%flag(iff)<=lev_files(iff)) THEN
524      CALL histwrite_phy(nid_files(iff),o_uq%name,itau_w,uq)
525        ENDIF
526
527        IF (o_vq%flag(iff)<=lev_files(iff)) THEN
528      CALL histwrite_phy(nid_files(iff),o_vq%name,itau_w,vq)
529        ENDIF
530
531      IF(iflag_con.GE.3) THEN ! sb
532        IF (o_cape%flag(iff)<=lev_files(iff)) THEN
533      CALL histwrite_phy(nid_files(iff),o_cape%name,itau_w,cape)
534        ENDIF
535
536        IF (o_pbase%flag(iff)<=lev_files(iff)) THEN
537      CALL histwrite_phy(nid_files(iff),o_pbase%name,itau_w,ema_pcb)
538        ENDIF
539
540        IF (o_ptop%flag(iff)<=lev_files(iff)) THEN
541      CALL histwrite_phy(nid_files(iff),o_ptop%name,itau_w,ema_pct)
542        ENDIF
543
544        IF (o_fbase%flag(iff)<=lev_files(iff)) THEN
545      CALL histwrite_phy(nid_files(iff),o_fbase%name,itau_w,ema_cbmf)
546        ENDIF
547
548        IF (o_prw%flag(iff)<=lev_files(iff)) THEN
549      CALL histwrite_phy(nid_files(iff),o_prw%name,itau_w,prw)
550        ENDIF
551
552      IF (o_cape_max%flag(iff)<=lev_files(iff)) THEN
553      CALL histwrite_phy(nid_files(iff),o_cape_max%name,itau_w,cape)
554      ENDIF
555
556       IF (o_upwd%flag(iff)<=lev_files(iff)) THEN
557      CALL histwrite_phy(nid_files(iff),o_upwd%name,itau_w,upwd)
558       ENDIF
559
560       IF (o_Ma%flag(iff)<=lev_files(iff)) THEN
561      CALL histwrite_phy(nid_files(iff),o_Ma%name,itau_w,Ma)
562       ENDIF
563
564       IF (o_dnwd%flag(iff)<=lev_files(iff)) THEN
565      CALL histwrite_phy(nid_files(iff),o_dnwd%name,itau_w,dnwd)
566       ENDIF
567
568       IF (o_dnwd0%flag(iff)<=lev_files(iff)) THEN
569      CALL histwrite_phy(nid_files(iff),o_dnwd0%name,itau_w,dnwd0)
570       ENDIF
571
572       IF (o_ftime_con%flag(iff)<=lev_files(iff)) THEN
573        zx_tmp_fi2d=float(itau_con)/float(itap)
574      CALL histwrite_phy(nid_files(iff),o_ftime_con%name,
575     s                   itau_w,zx_tmp_fi2d)
576       ENDIF
577
578       IF (o_mc%flag(iff)<=lev_files(iff)) THEN
579        if(iflag_thermals.gt.1)then
580         zx_tmp_fi3d=dnwd+dnwd0+upwd+fm_therm
581        else
582         zx_tmp_fi3d=dnwd+dnwd0+upwd
583        endif
584      CALL histwrite_phy(nid_files(iff),o_mc%name,itau_w,zx_tmp_fi3d)
585       ENDIF
586     
587      ENDIF !iflag_con .GE. 3
588
589        IF (o_s_pblh%flag(iff)<=lev_files(iff)) THEN
590      CALL histwrite_phy(nid_files(iff),o_s_pblh%name,itau_w,s_pblh)
591        ENDIF
592
593        IF (o_s_pblt%flag(iff)<=lev_files(iff)) THEN
594      CALL histwrite_phy(nid_files(iff),o_s_pblt%name,itau_w,s_pblt)
595        ENDIF
596
597        IF (o_s_lcl%flag(iff)<=lev_files(iff)) THEN
598      CALL histwrite_phy(nid_files(iff),o_s_lcl%name,itau_w,s_lcl)
599        ENDIF
600
601        IF (o_s_capCL%flag(iff)<=lev_files(iff)) THEN
602      CALL histwrite_phy(nid_files(iff),o_s_capCL%name,itau_w,s_capCL)
603        ENDIF
604
605        IF (o_s_oliqCL%flag(iff)<=lev_files(iff)) THEN
606      CALL histwrite_phy(nid_files(iff),o_s_oliqCL%name,itau_w,s_oliqCL)
607        ENDIF
608
609        IF (o_s_cteiCL%flag(iff)<=lev_files(iff)) THEN
610      CALL histwrite_phy(nid_files(iff),o_s_cteiCL%name,itau_w,s_cteiCL)
611        ENDIF
612
613        IF (o_s_therm%flag(iff)<=lev_files(iff)) THEN
614      CALL histwrite_phy(nid_files(iff),o_s_therm%name,itau_w,s_therm)
615        ENDIF
616
617        IF (o_s_trmb1%flag(iff)<=lev_files(iff)) THEN
618      CALL histwrite_phy(nid_files(iff),o_s_trmb1%name,itau_w,s_trmb1)
619        ENDIF
620
621        IF (o_s_trmb2%flag(iff)<=lev_files(iff)) THEN
622      CALL histwrite_phy(nid_files(iff),o_s_trmb2%name,itau_w,s_trmb2)
623        ENDIF
624
625        IF (o_s_trmb3%flag(iff)<=lev_files(iff)) THEN
626      CALL histwrite_phy(nid_files(iff),o_s_trmb3%name,itau_w,s_trmb3)
627        ENDIF
628
629! Champs interpolles sur des niveaux de pression
630
631        ll=0
632        DO k=1, nlevSTD
633!         IF(k.GE.2.AND.k.LE.12) bb2=clevSTD(k)
634!         IF(k.GE.13.AND.k.LE.17) bb3=clevSTD(k)
635         bb2=clevSTD(k) 
636         IF(bb2.EQ."850".OR.bb2.EQ."700".OR.
637     $      bb2.EQ."500".OR.bb2.EQ."200".OR.
638     $      bb2.EQ."50".OR.bb2.EQ."10") THEN
639
640! a refaire correctement !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
641          ll=ll+1
642       IF (o_uSTDlevs(ll)%flag(iff)<=lev_files(iff)) THEN
643       CALL histwrite_phy(nid_files(iff),o_uSTDlevs(ll)%name,
644     &                    itau_w,uwriteSTD(:,k,iff))
645       ENDIF
646
647       IF (o_vSTDlevs(ll)%flag(iff)<=lev_files(iff)) THEN
648      CALL histwrite_phy(nid_files(iff),o_vSTDlevs(ll)%name, 
649     &                   itau_w,vwriteSTD(:,k,iff))
650       ENDIF
651
652       IF (o_wSTDlevs(ll)%flag(iff)<=lev_files(iff)) THEN
653      CALL histwrite_phy(nid_files(iff),o_wSTDlevs(ll)%name,
654     &                    itau_w,wwriteSTD(:,k,iff))
655       ENDIF
656
657       IF (o_phiSTDlevs(ll)%flag(iff)<=lev_files(iff)) THEN
658      CALL histwrite_phy(nid_files(iff),o_phiSTDlevs(ll)%name,
659     &               itau_w,phiwriteSTD(:,k,iff))
660       ENDIF
661
662       IF (o_qSTDlevs(ll)%flag(iff)<=lev_files(iff)) THEN
663      CALL histwrite_phy(nid_files(iff),o_qSTDlevs(ll)%name,
664     &                   itau_w, qwriteSTD(:,k,iff))
665       ENDIF
666
667       IF (o_tSTDlevs(ll)%flag(iff)<=lev_files(iff)) THEN
668      CALL histwrite_phy(nid_files(iff),o_tSTDlevs(ll)%name,
669     &                   itau_w, twriteSTD(:,k,iff))
670       ENDIF
671
672       ENDIF !(bb2.EQ."850".OR.bb2.EQ."700".OR.
673       ENDDO
674
675      IF (o_t_oce_sic%flag(iff)<=lev_files(iff)) THEN
676      DO i=1, klon
677       IF (pctsrf(i,is_oce).GT.epsfra.OR.
678     $     pctsrf(i,is_sic).GT.epsfra) THEN
679        zx_tmp_fi2d(i) = (ftsol(i, is_oce) * pctsrf(i,is_oce)+
680     $                   ftsol(i, is_sic) * pctsrf(i,is_sic))/
681     $                   (pctsrf(i,is_oce)+pctsrf(i,is_sic))
682       ELSE
683        zx_tmp_fi2d(i) = 273.15
684       ENDIF
685      ENDDO
686      CALL histwrite_phy(nid_files(iff),
687     s                   o_t_oce_sic%name,itau_w,zx_tmp_fi2d)
688      ENDIF
689
690! Couplage convection-couche limite
691      IF (iflag_con.GE.3) THEN
692      IF (iflag_coupl.EQ.1) THEN
693       IF (o_ale_bl%flag(iff)<=lev_files(iff)) THEN
694       CALL histwrite_phy(nid_files(iff),o_ale_bl%name,itau_w,ale_bl)
695       ENDIF
696       IF (o_alp_bl%flag(iff)<=lev_files(iff)) THEN
697       CALL histwrite_phy(nid_files(iff),o_alp_bl%name,itau_w,alp_bl)
698       ENDIF
699      ENDIF !iflag_coupl.EQ.1
700      ENDIF !(iflag_con.GE.3)
701
702! Wakes
703      IF (iflag_con.EQ.3) THEN
704      IF (iflag_wake.EQ.1) THEN
705       IF (o_ale_wk%flag(iff)<=lev_files(iff)) THEN
706       CALL histwrite_phy(nid_files(iff),o_ale_wk%name,itau_w,ale_wake)
707       ENDIF
708       IF (o_alp_wk%flag(iff)<=lev_files(iff)) THEN
709       CALL histwrite_phy(nid_files(iff),o_alp_wk%name,itau_w,alp_wake)
710       ENDIF
711
712       IF (o_ale%flag(iff)<=lev_files(iff)) THEN
713       CALL histwrite_phy(nid_files(iff),o_ale%name,itau_w,ale)
714       ENDIF
715       IF (o_alp%flag(iff)<=lev_files(iff)) THEN
716       CALL histwrite_phy(nid_files(iff),o_alp%name,itau_w,alp)
717       ENDIF
718       IF (o_cin%flag(iff)<=lev_files(iff)) THEN
719       CALL histwrite_phy(nid_files(iff),o_cin%name,itau_w,cin)
720       ENDIF
721       IF (o_wape%flag(iff)<=lev_files(iff)) THEN
722       CALL histwrite_phy(nid_files(iff),o_WAPE%name,itau_w,wake_pe)
723       ENDIF
724       IF (o_wake_h%flag(iff)<=lev_files(iff)) THEN
725      CALL histwrite_phy(nid_files(iff),o_wake_h%name,itau_w,wake_h)
726       ENDIF
727
728       IF (o_wake_s%flag(iff)<=lev_files(iff)) THEN
729      CALL histwrite_phy(nid_files(iff),o_wake_s%name,itau_w,wake_s)
730       ENDIF
731
732        IF (o_wake_deltat%flag(iff)<=lev_files(iff)) THEN
733       CALL histwrite_phy(nid_files(iff),o_wake_deltat%name,
734     $                     itau_w,wake_deltat)
735        ENDIF
736
737        IF (o_wake_deltaq%flag(iff)<=lev_files(iff)) THEN
738       CALL histwrite_phy(nid_files(iff),o_wake_deltaq%name,
739     $                    itau_w,wake_deltaq)
740        ENDIF
741
742        IF (o_wake_omg%flag(iff)<=lev_files(iff)) THEN
743       CALL histwrite_phy(nid_files(iff),
744     s                    o_wake_omg%name,itau_w,wake_omg)
745        ENDIF
746
747         IF (o_dtwak%flag(iff)<=lev_files(iff)) THEN
748           zx_tmp_fi3d(1:klon,1:klev)=d_t_wake(1:klon,1:klev)
749     &                                        /pdtphys
750           CALL histwrite_phy(nid_files(iff),
751     &                       o_dtwak%name,itau_w,zx_tmp_fi3d)
752         ENDIF
753
754        IF (o_dqwak%flag(iff)<=lev_files(iff)) THEN
755        zx_tmp_fi3d(1:klon,1:klev)=d_q_wake(1:klon,1:klev)/pdtphys
756        CALL histwrite_phy(nid_files(iff),
757     &                     o_dqwak%name,itau_w,zx_tmp_fi3d)
758        ENDIF
759      ENDIF ! iflag_wake.EQ.1
760
761        IF (o_Vprecip%flag(iff)<=lev_files(iff)) THEN
762       CALL histwrite_phy(nid_files(iff),o_Vprecip%name,itau_w,Vprecip)
763        ENDIF
764
765        IF (o_ftd%flag(iff)<=lev_files(iff)) THEN
766       CALL histwrite_phy(nid_files(iff),o_ftd%name,itau_w,ftd)
767        ENDIF
768
769        IF (o_fqd%flag(iff)<=lev_files(iff)) THEN
770       CALL histwrite_phy(nid_files(iff),o_fqd%name,itau_w,fqd)
771        ENDIF
772      ENDIF !(iflag_con.EQ.3) 
773 
774      IF (type_ocean=='slab ') THEN
775      IF ( o_slab_bils%flag(iff)<=lev_files(iff)) 
776     $     CALL histwrite_phy(
777     $     nid_files(iff),o_slab_bils%name,itau_w,slab_wfbils)
778
779      ENDIF !type_ocean == force/slab
780
781      IF (o_weakinv%flag(iff)<=lev_files(iff)) THEN
782      CALL histwrite_phy(nid_files(iff),
783     s                  o_weakinv%name,itau_w,weak_inversion)
784      ENDIF
785
786      IF (o_dthmin%flag(iff)<=lev_files(iff)) THEN
787      CALL histwrite_phy(nid_files(iff),o_dthmin%name,itau_w,dthmin)
788      ENDIF
789
790       IF (o_cldtau%flag(iff)<=lev_files(iff)) THEN
791       CALL histwrite_phy(nid_files(iff),o_cldtau%name,itau_w,cldtau)
792       ENDIF
793
794       IF (o_cldemi%flag(iff)<=lev_files(iff)) THEN
795       CALL histwrite_phy(nid_files(iff),o_cldemi%name,itau_w,cldemi)
796       ENDIF
797
798      IF (o_pr_con_l%flag(iff)<=lev_files(iff)) THEN
799      CALL histwrite_phy(nid_files(iff),
800     s         o_pr_con_l%name,itau_w,pmflxr(:,1:klev))
801      ENDIF
802
803      IF (o_pr_con_i%flag(iff)<=lev_files(iff)) THEN
804      CALL histwrite_phy(nid_files(iff),
805     s         o_pr_con_i%name,itau_w,pmflxs(:,1:klev))
806      ENDIF
807
808      IF (o_pr_lsc_l%flag(iff)<=lev_files(iff)) THEN
809      CALL histwrite_phy(nid_files(iff),
810     s        o_pr_lsc_l%name,itau_w,prfl(:,1:klev))
811      ENDIF
812
813      IF (o_pr_lsc_i%flag(iff)<=lev_files(iff)) THEN
814      CALL histwrite_phy(nid_files(iff),
815     s        o_pr_lsc_i%name,itau_w,psfl(:,1:klev))
816      ENDIF
817
818      IF (o_re%flag(iff)<=lev_files(iff)) THEN
819      CALL histwrite_phy(nid_files(iff),o_re%name,itau_w,re)
820      ENDIF
821
822      IF (o_fl%flag(iff)<=lev_files(iff)) THEN
823      CALL histwrite_phy(nid_files(iff),o_fl%name,itau_w,fl)
824      ENDIF
825
826
827
828      IF (o_rh2m%flag(iff)<=lev_files(iff)) THEN
829      DO i=1, klon
830       zx_tmp_fi2d(i)=MIN(100.,rh2m(i)*100.)
831      ENDDO
832      CALL histwrite_phy(nid_files(iff),o_rh2m%name,itau_w,zx_tmp_fi2d)
833      ENDIF
834
835      IF (o_rh2m_min%flag(iff)<=lev_files(iff)) THEN
836      DO i=1, klon
837       zx_tmp_fi2d(i)=MIN(100.,rh2m(i)*100.)
838      ENDDO
839      CALL histwrite_phy(nid_files(iff),o_rh2m_min%name,
840     s               itau_w,zx_tmp_fi2d)
841      ENDIF
842
843      IF (o_rh2m_max%flag(iff)<=lev_files(iff)) THEN
844      DO i=1, klon
845       zx_tmp_fi2d(i)=MIN(100.,rh2m(i)*100.)
846      ENDDO
847      CALL histwrite_phy(nid_files(iff),o_rh2m_max%name,
848     s              itau_w,zx_tmp_fi2d)
849      ENDIF
850
851
852      IF (o_qsat2m%flag(iff)<=lev_files(iff)) THEN
853      CALL histwrite_phy(nid_files(iff),o_qsat2m%name,itau_w,qsat2m)
854      ENDIF
855
856      IF (o_tpot%flag(iff)<=lev_files(iff)) THEN
857      CALL histwrite_phy(nid_files(iff),o_tpot%name,itau_w,tpot)
858      ENDIF
859
860       IF (o_tpote%flag(iff)<=lev_files(iff)) THEN
861      CALL histwrite_phy(nid_files(iff),o_tpote%name,itau_w,tpote)
862       ENDIF
863
864      IF (o_SWnetOR%flag(iff)<=lev_files(iff)) THEN
865      zx_tmp_fi2d(1 : klon) = fsolsw( 1 : klon, is_ter)
866      CALL histwrite_phy(nid_files(iff),
867     s                   o_SWnetOR%name,itau_w, zx_tmp_fi2d)
868      ENDIF
869
870      IF (o_SWdownOR%flag(iff)<=lev_files(iff)) THEN
871      zx_tmp_fi2d(1:klon) = solsw(1:klon)/(1.-albsol1(1:klon))
872      CALL histwrite_phy(nid_files(iff),
873     s                   o_SWdownOR%name,itau_w, zx_tmp_fi2d)
874      ENDIF
875
876      IF (o_LWdownOR%flag(iff)<=lev_files(iff)) THEN
877      CALL histwrite_phy(nid_files(iff),
878     s                  o_LWdownOR%name,itau_w,sollwdown)
879      ENDIF
880
881      IF (o_snowl%flag(iff)<=lev_files(iff)) THEN
882      CALL histwrite_phy(nid_files(iff),o_snowl%name,itau_w,snow_lsc)
883      ENDIF
884
885      IF (o_solldown%flag(iff)<=lev_files(iff)) THEN
886      CALL histwrite_phy(nid_files(iff),
887     s                   o_solldown%name,itau_w,sollwdown)
888      ENDIF
889
890      IF (o_dtsvdfo%flag(iff)<=lev_files(iff)) THEN
891      CALL histwrite_phy(nid_files(iff),
892     s                 o_dtsvdfo%name,itau_w,d_ts(:,is_oce))
893      ENDIF
894
895      IF (o_dtsvdft%flag(iff)<=lev_files(iff)) THEN
896      CALL histwrite_phy(nid_files(iff),
897     s                   o_dtsvdft%name,itau_w,d_ts(:,is_ter))
898      ENDIF
899
900       IF (o_dtsvdfg%flag(iff)<=lev_files(iff)) THEN
901        CALL histwrite_phy(nid_files(iff),
902     $                   o_dtsvdfg%name,itau_w, d_ts(:,is_lic))
903       ENDIF
904
905       IF (o_dtsvdfi%flag(iff)<=lev_files(iff)) THEN
906      CALL histwrite_phy(nid_files(iff),
907     s                   o_dtsvdfi%name,itau_w,d_ts(:,is_sic))
908       ENDIF
909
910       IF (o_rugs%flag(iff)<=lev_files(iff)) THEN
911      CALL histwrite_phy(nid_files(iff),o_rugs%name,itau_w,zxrugs)
912       ENDIF
913
914! OD550 per species
915      IF (new_aod .and. (.not. aerosol_couple)) THEN
916
917          IF (o_od550aer%flag(iff)<=lev_files(iff)) THEN
918             CALL histwrite_phy(nid_files(iff),o_od550aer%name,itau_w,
919     $            od550aer)
920          ENDIF
921          IF (o_od865aer%flag(iff)<=lev_files(iff)) THEN
922             CALL histwrite_phy(nid_files(iff),o_od865aer%name,itau_w,
923     $            od865aer)
924          ENDIF
925          IF (o_absvisaer%flag(iff)<=lev_files(iff)) THEN
926             CALL histwrite_phy(nid_files(iff),o_absvisaer%name,itau_w,
927     $            absvisaer)
928          ENDIF
929          IF (o_od550lt1aer%flag(iff)<=lev_files(iff)) THEN
930            CALL histwrite_phy(nid_files(iff),o_od550lt1aer%name,itau_w,
931     $            od550lt1aer)
932          ENDIF
933
934        IF (o_sconcso4%flag(iff)<=lev_files(iff)) THEN
935        CALL histwrite_phy(nid_files(iff),o_sconcso4%name,itau_w,
936     $       sconcso4)
937        ENDIF
938        IF (o_sconcoa%flag(iff)<=lev_files(iff)) THEN
939        CALL histwrite_phy(nid_files(iff),o_sconcoa%name,itau_w,
940     $       sconcoa)
941        ENDIF
942        IF (o_sconcbc%flag(iff)<=lev_files(iff)) THEN
943        CALL histwrite_phy(nid_files(iff),o_sconcbc%name,itau_w,
944     $       sconcbc)
945        ENDIF
946        IF (o_sconcss%flag(iff)<=lev_files(iff)) THEN
947        CALL histwrite_phy(nid_files(iff),o_sconcss%name,itau_w,
948     $       sconcss)
949        ENDIF
950        IF (o_sconcdust%flag(iff)<=lev_files(iff)) THEN
951        CALL histwrite_phy(nid_files(iff),o_sconcdust%name,itau_w,
952     $       sconcdust)
953        ENDIF
954
955        IF (o_concso4%flag(iff)<=lev_files(iff)) THEN
956        CALL histwrite_phy(nid_files(iff),o_concso4%name,itau_w,
957     $       concso4)
958        ENDIF
959        IF (o_concoa%flag(iff)<=lev_files(iff)) THEN
960        CALL histwrite_phy(nid_files(iff),o_concoa%name,itau_w,
961     $       concoa)
962        ENDIF
963        IF (o_concbc%flag(iff)<=lev_files(iff)) THEN
964        CALL histwrite_phy(nid_files(iff),o_concbc%name,itau_w,
965     $       concbc)
966        ENDIF
967        IF (o_concss%flag(iff)<=lev_files(iff)) THEN
968        CALL histwrite_phy(nid_files(iff),o_concss%name,itau_w,
969     $       concss)
970        ENDIF
971        IF (o_concdust%flag(iff)<=lev_files(iff)) THEN
972        CALL histwrite_phy(nid_files(iff),o_concdust%name,itau_w,
973     $       concdust)
974        ENDIF
975
976        IF (o_loadso4%flag(iff)<=lev_files(iff)) THEN
977        CALL histwrite_phy(nid_files(iff),o_loadso4%name,itau_w,
978     $       loadso4)
979        ENDIF
980        IF (o_loadoa%flag(iff)<=lev_files(iff)) THEN
981        CALL histwrite_phy(nid_files(iff),o_loadoa%name,itau_w,
982     $       loadoa)
983        ENDIF
984        IF (o_loadbc%flag(iff)<=lev_files(iff)) THEN
985        CALL histwrite_phy(nid_files(iff),o_loadbc%name,itau_w,
986     $       loadbc)
987        ENDIF
988        IF (o_loadss%flag(iff)<=lev_files(iff)) THEN
989        CALL histwrite_phy(nid_files(iff),o_loadss%name,itau_w,
990     $       loadss)
991        ENDIF
992        IF (o_loaddust%flag(iff)<=lev_files(iff)) THEN
993        CALL histwrite_phy(nid_files(iff),o_loaddust%name,itau_w,
994     $       loaddust)
995        ENDIF
996
997      DO naero = 1, naero_spc
998          IF (o_tausumaero(naero)%flag(iff)<=lev_files(iff)) THEN
999             CALL histwrite_phy(nid_files(iff),
1000     $            o_tausumaero(naero)%name,itau_w,
1001     $            tausum_aero(:,2,naero) )
1002          ENDIF
1003      END DO
1004      ENDIF
1005
1006       IF (ok_ade) THEN
1007          IF (o_topswad%flag(iff)<=lev_files(iff)) THEN
1008             CALL histwrite_phy(nid_files(iff),o_topswad%name,itau_w,
1009     $            topswad_aero)
1010          ENDIF
1011          IF (o_solswad%flag(iff)<=lev_files(iff)) THEN
1012             CALL histwrite_phy(nid_files(iff),o_solswad%name,itau_w,
1013     $            solswad_aero)
1014          ENDIF
1015
1016!====MS forcing diagnostics
1017        if (new_aod) then             
1018        IF (o_swtoaas_nat%flag(iff)<=lev_files(iff)) THEN
1019        CALL histwrite_phy(nid_files(iff),o_swtoaas_nat%name,itau_w,
1020     $      topsw_aero(:,1))
1021        ENDIF
1022
1023        IF (o_swsrfas_nat%flag(iff)<=lev_files(iff)) THEN
1024        CALL histwrite_phy(nid_files(iff),o_swsrfas_nat%name,itau_w,
1025     $      solsw_aero(:,1))
1026        ENDIF
1027
1028        IF (o_swtoacs_nat%flag(iff)<=lev_files(iff)) THEN
1029        CALL histwrite_phy(nid_files(iff),o_swtoacs_nat%name,itau_w,
1030     $      topsw0_aero(:,1))
1031        ENDIF
1032
1033        IF (o_swsrfcs_nat%flag(iff)<=lev_files(iff)) THEN
1034        CALL histwrite_phy(nid_files(iff),o_swsrfcs_nat%name,itau_w,
1035     $      solsw0_aero(:,1))
1036        ENDIF
1037 
1038!ant
1039        IF (o_swtoaas_ant%flag(iff)<=lev_files(iff)) THEN
1040        CALL histwrite_phy(nid_files(iff),o_swtoaas_ant%name,itau_w,
1041     $      topsw_aero(:,2))
1042        ENDIF
1043
1044        IF (o_swsrfas_ant%flag(iff)<=lev_files(iff)) THEN
1045        CALL histwrite_phy(nid_files(iff),o_swsrfas_ant%name,itau_w,
1046     $      solsw_aero(:,2))
1047        ENDIF
1048
1049        IF (o_swtoacs_ant%flag(iff)<=lev_files(iff)) THEN
1050        CALL histwrite_phy(nid_files(iff),o_swtoacs_ant%name,itau_w,
1051     $      topsw0_aero(:,2))
1052        ENDIF
1053
1054        IF (o_swsrfcs_ant%flag(iff)<=lev_files(iff)) THEN
1055        CALL histwrite_phy(nid_files(iff),o_swsrfcs_ant%name,itau_w,
1056     $      solsw0_aero(:,2))
1057        ENDIF
1058
1059!cf
1060
1061        if (.not. aerosol_couple) then
1062        IF (o_swtoacf_nat%flag(iff)<=lev_files(iff)) THEN
1063        CALL histwrite_phy(nid_files(iff),o_swtoacf_nat%name,itau_w,
1064     $      topswcf_aero(:,1))
1065        ENDIF
1066
1067        IF (o_swsrfcf_nat%flag(iff)<=lev_files(iff)) THEN
1068        CALL histwrite_phy(nid_files(iff),o_swsrfcf_nat%name,itau_w,
1069     $      solswcf_aero(:,1))
1070        ENDIF
1071
1072        IF (o_swtoacf_ant%flag(iff)<=lev_files(iff)) THEN
1073        CALL histwrite_phy(nid_files(iff),o_swtoacf_ant%name,itau_w,
1074     $      topswcf_aero(:,2))
1075        ENDIF
1076
1077        IF (o_swsrfcf_ant%flag(iff)<=lev_files(iff)) THEN
1078        CALL histwrite_phy(nid_files(iff),o_swsrfcf_ant%name,itau_w,
1079     $      solswcf_aero(:,2))
1080        ENDIF
1081
1082        IF (o_swtoacf_zero%flag(iff)<=lev_files(iff)) THEN
1083        CALL histwrite_phy(nid_files(iff),o_swtoacf_zero%name,itau_w,
1084     $      topswcf_aero(:,3))
1085        ENDIF
1086
1087        IF (o_swsrfcf_zero%flag(iff)<=lev_files(iff)) THEN
1088        CALL histwrite_phy(nid_files(iff),o_swsrfcf_zero%name,itau_w,
1089     $      solswcf_aero(:,3))
1090        ENDIF
1091        endif
1092
1093        endif ! new_aod
1094!====MS forcing diagnostics
1095
1096       ENDIF
1097
1098       IF (ok_aie) THEN
1099          IF (o_topswai%flag(iff)<=lev_files(iff)) THEN
1100             CALL histwrite_phy(nid_files(iff),o_topswai%name,itau_w,
1101     $            topswai_aero)
1102          ENDIF
1103          IF (o_solswai%flag(iff)<=lev_files(iff)) THEN
1104             CALL histwrite_phy(nid_files(iff),o_solswai%name,itau_w,
1105     $            solswai_aero)
1106          ENDIF
1107          IF (o_scdnc%flag(iff)<=lev_files(iff)) THEN
1108             CALL histwrite_phy(nid_files(iff),o_scdnc%name,itau_w,
1109     $            scdnc)
1110          ENDIF
1111          IF (o_cldncl%flag(iff)<=lev_files(iff)) THEN
1112             CALL histwrite_phy(nid_files(iff),o_cldncl%name,itau_w,
1113     $            cldncl)
1114          ENDIF
1115          IF (o_reffclws%flag(iff)<=lev_files(iff)) THEN
1116             CALL histwrite_phy(nid_files(iff),o_reffclws%name,itau_w,
1117     $            reffclws)
1118          ENDIF
1119          IF (o_reffclwc%flag(iff)<=lev_files(iff)) THEN
1120             CALL histwrite_phy(nid_files(iff),o_reffclwc%name,itau_w,
1121     $            reffclwc)
1122          ENDIF
1123          IF (o_cldnvi%flag(iff)<=lev_files(iff)) THEN
1124             CALL histwrite_phy(nid_files(iff),o_cldnvi%name,itau_w,
1125     $            cldnvi)
1126          ENDIF
1127          IF (o_lcc%flag(iff)<=lev_files(iff)) THEN
1128             CALL histwrite_phy(nid_files(iff),o_lcc%name,itau_w,
1129     $            lcc)
1130          ENDIF
1131          IF (o_lcc3d%flag(iff)<=lev_files(iff)) THEN
1132             CALL histwrite_phy(nid_files(iff),o_lcc3d%name,itau_w,
1133     $            lcc3d)
1134          ENDIF
1135          IF (o_lcc3dcon%flag(iff)<=lev_files(iff)) THEN
1136             CALL histwrite_phy(nid_files(iff),o_lcc3dcon%name,itau_w,
1137     $            lcc3dcon)
1138          ENDIF
1139          IF (o_lcc3dstra%flag(iff)<=lev_files(iff)) THEN
1140             CALL histwrite_phy(nid_files(iff),o_lcc3dstra%name,itau_w,
1141     $            lcc3dstra)
1142          ENDIF
1143          IF (o_reffclwtop%flag(iff)<=lev_files(iff)) THEN
1144             CALL histwrite_phy(nid_files(iff),o_reffclwtop%name,itau_w,
1145     $            reffclwtop)
1146          ENDIF
1147       ENDIF
1148
1149! Champs 3D:
1150       IF (o_ec550aer%flag(iff)<=lev_files(iff)) THEN
1151      CALL histwrite_phy(nid_files(iff),o_ec550aer%name,itau_w,ec550aer)
1152       ENDIF
1153
1154       IF (o_lwcon%flag(iff)<=lev_files(iff)) THEN
1155      CALL histwrite_phy(nid_files(iff),o_lwcon%name,itau_w,flwc)
1156       ENDIF
1157
1158       IF (o_iwcon%flag(iff)<=lev_files(iff)) THEN
1159      CALL histwrite_phy(nid_files(iff),o_iwcon%name,itau_w,fiwc)
1160       ENDIF
1161
1162       IF (o_temp%flag(iff)<=lev_files(iff)) THEN
1163      CALL histwrite_phy(nid_files(iff),o_temp%name,itau_w,t_seri)
1164       ENDIF
1165
1166       IF (o_theta%flag(iff)<=lev_files(iff)) THEN
1167      CALL histwrite_phy(nid_files(iff),o_theta%name,itau_w,theta)
1168       ENDIF
1169
1170       IF (o_ovap%flag(iff)<=lev_files(iff)) THEN
1171      CALL histwrite_phy(nid_files(iff),o_ovap%name,itau_w,qx(:,:,ivap))
1172       ENDIF
1173
1174       IF (o_ovapinit%flag(iff)<=lev_files(iff)) THEN
1175      CALL histwrite_phy(nid_files(iff),
1176     $                   o_ovapinit%name,itau_w,q_seri)
1177       ENDIF
1178
1179       IF (o_geop%flag(iff)<=lev_files(iff)) THEN
1180      CALL histwrite_phy(nid_files(iff),o_geop%name,itau_w,zphi)
1181       ENDIF
1182
1183       IF (o_vitu%flag(iff)<=lev_files(iff)) THEN
1184      CALL histwrite_phy(nid_files(iff),o_vitu%name,itau_w,u_seri)
1185       ENDIF
1186
1187       IF (o_vitv%flag(iff)<=lev_files(iff)) THEN
1188      CALL histwrite_phy(nid_files(iff),o_vitv%name,itau_w,v_seri)
1189       ENDIF
1190
1191       IF (o_vitw%flag(iff)<=lev_files(iff)) THEN
1192      CALL histwrite_phy(nid_files(iff),o_vitw%name,itau_w,omega)
1193       ENDIF
1194
1195        IF (o_pres%flag(iff)<=lev_files(iff)) THEN
1196      CALL histwrite_phy(nid_files(iff),o_pres%name,itau_w,pplay)
1197        ENDIF
1198
1199        IF (o_paprs%flag(iff)<=lev_files(iff)) THEN
1200      CALL histwrite_phy(nid_files(iff),o_paprs%name,
1201     s                    itau_w,paprs(:,1:klev))
1202        ENDIF
1203
1204       IF (o_rneb%flag(iff)<=lev_files(iff)) THEN
1205      CALL histwrite_phy(nid_files(iff),o_rneb%name,itau_w,cldfra)
1206       ENDIF
1207
1208       IF (o_rnebcon%flag(iff)<=lev_files(iff)) THEN
1209      CALL histwrite_phy(nid_files(iff),o_rnebcon%name,itau_w,rnebcon)
1210       ENDIF
1211
1212       IF (o_rhum%flag(iff)<=lev_files(iff)) THEN
1213      CALL histwrite_phy(nid_files(iff),o_rhum%name,itau_w,zx_rh)
1214       ENDIF
1215
1216      IF (o_ozone%flag(iff)<=lev_files(iff)) THEN
1217         CALL histwrite_phy(nid_files(iff), o_ozone%name, itau_w,
1218     $        wo(:, :, 1) * dobson_u * 1e3 / zmasse / rmo3 * rmd)
1219      ENDIF
1220
1221      IF (o_ozone_light%flag(iff)<=lev_files(iff) .and.
1222     $     read_climoz == 2) THEN
1223         CALL histwrite_phy(nid_files(iff), o_ozone_light%name, itau_w,
1224     $        wo(:, :, 2) * dobson_u * 1e3 / zmasse / rmo3 * rmd)
1225      ENDIF
1226
1227       IF (o_dtphy%flag(iff)<=lev_files(iff)) THEN
1228      CALL histwrite_phy(nid_files(iff),o_dtphy%name,itau_w,d_t)
1229       ENDIF
1230
1231       IF (o_dqphy%flag(iff)<=lev_files(iff)) THEN
1232      CALL histwrite_phy(nid_files(iff),
1233     s                  o_dqphy%name,itau_w, d_qx(:,:,ivap))
1234       ENDIF
1235
1236        DO nsrf=1, nbsrf
1237        IF (o_albe_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN
1238        zx_tmp_fi2d(1 : klon) = falb1( 1 : klon, nsrf)
1239        CALL histwrite_phy(nid_files(iff),
1240     s                    o_albe_srf(nsrf)%name,itau_w,
1241     $                     zx_tmp_fi2d)
1242        ENDIF
1243
1244        IF (o_rugs_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN 
1245        zx_tmp_fi2d(1 : klon) = frugs( 1 : klon, nsrf)
1246        CALL histwrite_phy(nid_files(iff),
1247     s                     o_rugs_srf(nsrf)%name,itau_w,
1248     $      zx_tmp_fi2d)
1249        ENDIF
1250
1251        IF (o_ages_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN
1252        zx_tmp_fi2d(1 : klon) = agesno( 1 : klon, nsrf)
1253        CALL histwrite_phy(nid_files(iff),
1254     s                     o_ages_srf(nsrf)%name,itau_w
1255     $    ,zx_tmp_fi2d)
1256        ENDIF
1257        ENDDO !nsrf=1, nbsrf
1258
1259       IF (o_albs%flag(iff)<=lev_files(iff)) THEN
1260      CALL histwrite_phy(nid_files(iff),o_albs%name,itau_w,albsol1)
1261       ENDIF
1262
1263       IF (o_albslw%flag(iff)<=lev_files(iff)) THEN
1264      CALL histwrite_phy(nid_files(iff),o_albslw%name,itau_w,albsol2)
1265       ENDIF
1266
1267!FH Sorties pour la couche limite
1268      if (iflag_pbl>1) then
1269      zx_tmp_fi3d=0.
1270      do nsrf=1,nbsrf
1271         do k=1,klev
1272          zx_tmp_fi3d(:,k)=zx_tmp_fi3d(:,k)
1273     $    +pctsrf(:,nsrf)*pbl_tke(:,k,nsrf)
1274         enddo
1275      enddo
1276       IF (o_tke%flag(iff)<=lev_files(iff)) THEN
1277      CALL histwrite_phy(nid_files(iff),o_tke%name,itau_w,zx_tmp_fi3d)
1278       ENDIF
1279
1280       IF (o_tke_max%flag(iff)<=lev_files(iff)) THEN
1281      CALL histwrite_phy(nid_files(iff),
1282     s                   o_tke_max%name,itau_w,zx_tmp_fi3d)
1283       ENDIF
1284      endif
1285
1286       IF (o_kz%flag(iff)<=lev_files(iff)) THEN
1287      CALL histwrite_phy(nid_files(iff),o_kz%name,itau_w,coefh)
1288       ENDIF
1289
1290       IF (o_kz_max%flag(iff)<=lev_files(iff)) THEN
1291      CALL histwrite_phy(nid_files(iff),o_kz_max%name,itau_w,coefh)
1292       ENDIF
1293
1294       IF (o_clwcon%flag(iff)<=lev_files(iff)) THEN
1295      CALL histwrite_phy(nid_files(iff),o_clwcon%name,itau_w,clwcon0)
1296       ENDIF
1297
1298       IF (o_dtdyn%flag(iff)<=lev_files(iff)) THEN
1299      CALL histwrite_phy(nid_files(iff),o_dtdyn%name,itau_w,d_t_dyn)
1300       ENDIF
1301
1302       IF (o_dqdyn%flag(iff)<=lev_files(iff)) THEN
1303      CALL histwrite_phy(nid_files(iff),o_dqdyn%name,itau_w,d_q_dyn)
1304       ENDIF
1305
1306       IF (o_dudyn%flag(iff)<=lev_files(iff)) THEN
1307      CALL histwrite_phy(nid_files(iff),o_dudyn%name,itau_w,d_u_dyn)
1308       ENDIF                                                   
1309
1310       IF (o_dvdyn%flag(iff)<=lev_files(iff)) THEN                 
1311      CALL histwrite_phy(nid_files(iff),o_dvdyn%name,itau_w,d_v_dyn) 
1312       ENDIF                                                     
1313
1314       IF (o_dtcon%flag(iff)<=lev_files(iff)) THEN
1315      zx_tmp_fi3d(1:klon,1:klev)=d_t_con(1:klon,1:klev)/pdtphys
1316      CALL histwrite_phy(nid_files(iff),o_dtcon%name,itau_w,zx_tmp_fi3d)
1317       ENDIF
1318
1319       IF (o_ducon%flag(iff)<=lev_files(iff)) THEN
1320      zx_tmp_fi3d(1:klon,1:klev)=d_u_con(1:klon,1:klev)/pdtphys
1321      CALL histwrite_phy(nid_files(iff),o_ducon%name,itau_w,zx_tmp_fi3d)
1322       ENDIF
1323
1324       IF (o_dqcon%flag(iff)<=lev_files(iff)) THEN
1325      zx_tmp_fi3d(1:klon,1:klev)=d_q_con(1:klon,1:klev)/pdtphys
1326      CALL histwrite_phy(nid_files(iff),o_dqcon%name,itau_w,zx_tmp_fi3d)
1327       ENDIF
1328
1329       IF (o_dtlsc%flag(iff)<=lev_files(iff)) THEN
1330      zx_tmp_fi3d(1:klon,1:klev)=d_t_lsc(1:klon,1:klev)/pdtphys
1331      CALL histwrite_phy(nid_files(iff),o_dtlsc%name,itau_w,zx_tmp_fi3d)
1332       ENDIF
1333
1334       IF (o_dtlschr%flag(iff)<=lev_files(iff)) THEN
1335      zx_tmp_fi3d(1:klon, 1:klev)=(d_t_lsc(1:klon,1:klev)+
1336     $                           d_t_eva(1:klon,1:klev))/pdtphys
1337      CALL histwrite_phy(nid_files(iff),
1338     s                   o_dtlschr%name,itau_w,zx_tmp_fi3d)
1339       ENDIF
1340
1341       IF (o_dqlsc%flag(iff)<=lev_files(iff)) THEN
1342      zx_tmp_fi3d(1:klon,1:klev)=d_q_lsc(1:klon,1:klev)/pdtphys
1343      CALL histwrite_phy(nid_files(iff),o_dqlsc%name,itau_w,zx_tmp_fi3d)
1344       ENDIF
1345
1346       IF (o_dtvdf%flag(iff)<=lev_files(iff)) THEN
1347      zx_tmp_fi3d(1:klon,1:klev)=d_t_vdf(1:klon,1:klev)/pdtphys
1348      CALL histwrite_phy(nid_files(iff),o_dtvdf%name,itau_w,zx_tmp_fi3d)
1349       ENDIF
1350
1351       IF (o_dqvdf%flag(iff)<=lev_files(iff)) THEN
1352      zx_tmp_fi3d(1:klon,1:klev)=d_q_vdf(1:klon,1:klev)/pdtphys
1353      CALL histwrite_phy(nid_files(iff),o_dqvdf%name,itau_w,zx_tmp_fi3d)
1354       ENDIF
1355
1356       IF (o_dteva%flag(iff)<=lev_files(iff)) THEN
1357      zx_tmp_fi3d(1:klon,1:klev)=d_t_eva(1:klon,1:klev)/pdtphys
1358      CALL histwrite_phy(nid_files(iff),o_dteva%name,itau_w,zx_tmp_fi3d)
1359       ENDIF
1360
1361       IF (o_dqeva%flag(iff)<=lev_files(iff)) THEN
1362      zx_tmp_fi3d(1:klon,1:klev)=d_q_eva(1:klon,1:klev)/pdtphys
1363      CALL histwrite_phy(nid_files(iff),o_dqeva%name,itau_w,zx_tmp_fi3d)
1364       ENDIF
1365
1366       IF (o_ptconv%flag(iff)<=lev_files(iff)) THEN
1367      zpt_conv = 0.
1368      where (ptconv) zpt_conv = 1.
1369      CALL histwrite_phy(nid_files(iff),o_ptconv%name,itau_w,zpt_conv)
1370       ENDIF
1371
1372       IF (o_ratqs%flag(iff)<=lev_files(iff)) THEN
1373      CALL histwrite_phy(nid_files(iff),o_ratqs%name,itau_w,ratqs)
1374       ENDIF
1375
1376       IF (o_dtthe%flag(iff)<=lev_files(iff)) THEN
1377      zx_tmp_fi3d(1:klon,1:klev)=d_t_ajs(1:klon,1:klev)/pdtphys
1378      CALL histwrite_phy(nid_files(iff),o_dtthe%name,itau_w,zx_tmp_fi3d)
1379       ENDIF
1380
1381       IF (iflag_thermals.gt.1) THEN
1382        IF (o_ftime_th%flag(iff)<=lev_files(iff)) THEN
1383! Pour l instant 0 a y reflichir pour les thermiques
1384         zx_tmp_fi2d=0. 
1385        CALL histwrite_phy(nid_files(iff),o_ftime_th%name,
1386     s                     itau_w,zx_tmp_fi2d)
1387        ENDIF
1388
1389        IF (o_f_th%flag(iff)<=lev_files(iff)) THEN
1390        CALL histwrite_phy(nid_files(iff),o_f_th%name,itau_w,fm_therm)
1391        ENDIF
1392
1393        IF (o_e_th%flag(iff)<=lev_files(iff)) THEN
1394        CALL histwrite_phy(nid_files(iff),o_e_th%name,itau_w,entr_therm)
1395        ENDIF
1396
1397        IF (o_w_th%flag(iff)<=lev_files(iff)) THEN
1398        CALL histwrite_phy(nid_files(iff),o_w_th%name,itau_w,zw2)
1399        ENDIF
1400
1401        IF (o_q_th%flag(iff)<=lev_files(iff)) THEN
1402        CALL histwrite_phy(nid_files(iff),o_q_th%name,itau_w,zqasc)
1403        ENDIF
1404
1405        IF (o_lambda_th%flag(iff)<=lev_files(iff)) THEN
1406        CALL histwrite_phy(nid_files(iff),
1407     s                     o_lambda_th%name,itau_w,lambda_th)
1408        ENDIF
1409
1410        IF (o_a_th%flag(iff)<=lev_files(iff)) THEN
1411        CALL histwrite_phy(nid_files(iff),o_a_th%name,itau_w,fraca)
1412        ENDIF
1413
1414       IF (o_d_th%flag(iff)<=lev_files(iff)) THEN
1415       CALL histwrite_phy(nid_files(iff),o_d_th%name,itau_w,detr_therm)
1416       ENDIF
1417
1418      ENDIF !iflag_thermals
1419
1420       IF (o_f0_th%flag(iff)<=lev_files(iff)) THEN
1421      CALL histwrite_phy(nid_files(iff),o_f0_th%name,itau_w,f0)
1422       ENDIF
1423
1424       IF (o_f0_th%flag(iff)<=lev_files(iff)) THEN
1425      CALL histwrite_phy(nid_files(iff),o_zmax_th%name,itau_w,zmax0)
1426       ENDIF
1427
1428       IF (o_dqthe%flag(iff)<=lev_files(iff)) THEN
1429      zx_tmp_fi3d(1:klon,1:klev)=d_q_ajs(1:klon,1:klev)/pdtphys
1430      CALL histwrite_phy(nid_files(iff),o_dqthe%name,itau_w,zx_tmp_fi3d)
1431       ENDIF
1432
1433       IF (o_dtajs%flag(iff)<=lev_files(iff)) THEN
1434      zx_tmp_fi3d(1:klon,1:klev)=d_t_ajsb(1:klon,1:klev)/pdtphys
1435      CALL histwrite_phy(nid_files(iff),o_dtajs%name,itau_w,zx_tmp_fi3d)
1436       ENDIF
1437
1438       IF (o_dqajs%flag(iff)<=lev_files(iff)) THEN
1439      zx_tmp_fi3d(1:klon,1:klev)=d_q_ajsb(1:klon,1:klev)/pdtphys
1440      CALL histwrite_phy(nid_files(iff),o_dqajs%name,itau_w,zx_tmp_fi3d)
1441       ENDIF
1442
1443       IF (o_dtswr%flag(iff)<=lev_files(iff)) THEN
1444      zx_tmp_fi3d(1:klon,1:klev)=heat(1:klon,1:klev)/RDAY
1445      CALL histwrite_phy(nid_files(iff),o_dtswr%name,itau_w,zx_tmp_fi3d)
1446       ENDIF
1447
1448       IF (o_dtsw0%flag(iff)<=lev_files(iff)) THEN
1449      zx_tmp_fi3d(1:klon,1:klev)=heat0(1:klon,1:klev)/RDAY
1450      CALL histwrite_phy(nid_files(iff),o_dtsw0%name,itau_w,zx_tmp_fi3d)
1451       ENDIF
1452
1453       IF (o_dtlwr%flag(iff)<=lev_files(iff)) THEN
1454      zx_tmp_fi3d(1:klon,1:klev)=-1.*cool(1:klon,1:klev)/RDAY
1455      CALL histwrite_phy(nid_files(iff),o_dtlwr%name,itau_w,zx_tmp_fi3d)
1456       ENDIF
1457
1458       IF (o_dtlw0%flag(iff)<=lev_files(iff)) THEN
1459      zx_tmp_fi3d(1:klon,1:klev)=-1.*cool0(1:klon,1:klev)/RDAY
1460      CALL histwrite_phy(nid_files(iff),o_dtlw0%name,itau_w,zx_tmp_fi3d)
1461       ENDIF
1462
1463       IF (o_dtec%flag(iff)<=lev_files(iff)) THEN
1464      zx_tmp_fi3d(1:klon,1:klev)=d_t_ec(1:klon,1:klev)
1465      CALL histwrite_phy(nid_files(iff),o_dtec%name,itau_w,zx_tmp_fi3d)
1466       ENDIF
1467
1468       IF (o_duvdf%flag(iff)<=lev_files(iff)) THEN
1469      zx_tmp_fi3d(1:klon,1:klev)=d_u_vdf(1:klon,1:klev)/pdtphys
1470      CALL histwrite_phy(nid_files(iff),o_duvdf%name,itau_w,zx_tmp_fi3d)
1471       ENDIF
1472
1473       IF (o_dvvdf%flag(iff)<=lev_files(iff)) THEN
1474      zx_tmp_fi3d(1:klon,1:klev)=d_v_vdf(1:klon,1:klev)/pdtphys
1475      CALL histwrite_phy(nid_files(iff),o_dvvdf%name,itau_w,zx_tmp_fi3d)
1476       ENDIF
1477
1478       IF (ok_orodr) THEN
1479      IF (o_duoro%flag(iff)<=lev_files(iff)) THEN
1480      zx_tmp_fi3d(1:klon,1:klev)=d_u_oro(1:klon,1:klev)/pdtphys
1481      CALL histwrite_phy(nid_files(iff),o_duoro%name,itau_w,zx_tmp_fi3d)
1482       ENDIF
1483
1484      IF (o_dvoro%flag(iff)<=lev_files(iff)) THEN
1485      zx_tmp_fi3d(1:klon,1:klev)=d_v_oro(1:klon,1:klev)/pdtphys
1486      CALL histwrite_phy(nid_files(iff),o_dvoro%name,itau_w,zx_tmp_fi3d)
1487      ENDIF
1488       ENDIF
1489
1490        IF (ok_orolf) THEN
1491       IF (o_dulif%flag(iff)<=lev_files(iff)) THEN
1492      zx_tmp_fi3d(1:klon,1:klev)=d_u_lif(1:klon,1:klev)/pdtphys
1493      CALL histwrite_phy(nid_files(iff),o_dulif%name,itau_w,zx_tmp_fi3d)
1494       ENDIF
1495
1496        IF (o_dvlif%flag(iff)<=lev_files(iff)) THEN
1497      zx_tmp_fi3d(1:klon,1:klev)=d_v_lif(1:klon,1:klev)/pdtphys
1498      CALL histwrite_phy(nid_files(iff),o_dvlif%name,itau_w,zx_tmp_fi3d)
1499       ENDIF
1500        ENDIF
1501
1502!       IF (o_trac%flag(iff)<=lev_files(iff)) THEN
1503         if (nqtot.GE.3) THEN
1504!           DO iq=3,nqtot
1505           DO iq=3,4
1506       IF (o_trac(iq-2)%flag(iff)<=lev_files(iff)) THEN
1507         CALL histwrite_phy(nid_files(iff),
1508     s                  o_trac(iq-2)%name,itau_w,qx(:,:,iq))
1509       ENDIF
1510           ENDDO
1511         endif
1512
1513      if (ok_sync) then
1514c$OMP MASTER
1515        call histsync(nid_files(iff))
1516c$OMP END MASTER
1517      endif
1518
1519       ENDIF ! clef_files
1520
1521      ENDDO ! iff=1,nfiles
Note: See TracBrowser for help on using the repository browser.