source: LMDZ4/branches/LMDZ4V5.0-dev/libf/phylmd/phys_output_write.h @ 1347

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

Additions to aerosol outputs for CMIP5 exercise
(Needed because of chageset r1346 LF)


Additions aux sorties aérosols pour l'exercice CMIP5
(Nécessaires suite au changeset r1346 LF)

Michael, Anne

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 51.9 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,pbase)
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          IF (ok_ade.OR.ok_aie) THEN
917
918          IF (o_od550aer%flag(iff)<=lev_files(iff)) THEN
919             CALL histwrite_phy(nid_files(iff),o_od550aer%name,itau_w,
920     $            od550aer)
921          ENDIF
922          IF (o_od865aer%flag(iff)<=lev_files(iff)) THEN
923             CALL histwrite_phy(nid_files(iff),o_od865aer%name,itau_w,
924     $            od865aer)
925          ENDIF
926          IF (o_absvisaer%flag(iff)<=lev_files(iff)) THEN
927             CALL histwrite_phy(nid_files(iff),o_absvisaer%name,itau_w,
928     $            absvisaer)
929          ENDIF
930          IF (o_od550lt1aer%flag(iff)<=lev_files(iff)) THEN
931            CALL histwrite_phy(nid_files(iff),o_od550lt1aer%name,itau_w,
932     $            od550lt1aer)
933          ENDIF
934
935          IF (o_sconcso4%flag(iff)<=lev_files(iff)) THEN
936              CALL histwrite_phy(nid_files(iff),o_sconcso4%name,itau_w,
937     $            sconcso4)
938          ENDIF
939          IF (o_sconcoa%flag(iff)<=lev_files(iff)) THEN
940              CALL histwrite_phy(nid_files(iff),o_sconcoa%name,itau_w,
941     $            sconcoa)
942          ENDIF
943          IF (o_sconcbc%flag(iff)<=lev_files(iff)) THEN
944              CALL histwrite_phy(nid_files(iff),o_sconcbc%name,itau_w,
945     $            sconcbc)
946          ENDIF
947          IF (o_sconcss%flag(iff)<=lev_files(iff)) THEN
948              CALL histwrite_phy(nid_files(iff),o_sconcss%name,itau_w,
949     $            sconcss)
950          ENDIF
951          IF (o_sconcdust%flag(iff)<=lev_files(iff)) THEN
952              CALL histwrite_phy(nid_files(iff),o_sconcdust%name,itau_w,
953     $            sconcdust)
954          ENDIF
955         
956          IF (o_concso4%flag(iff)<=lev_files(iff)) THEN
957              CALL histwrite_phy(nid_files(iff),o_concso4%name,itau_w,
958     $            concso4)
959          ENDIF
960          IF (o_concoa%flag(iff)<=lev_files(iff)) THEN
961              CALL histwrite_phy(nid_files(iff),o_concoa%name,itau_w,
962     $            concoa)
963          ENDIF
964          IF (o_concbc%flag(iff)<=lev_files(iff)) THEN
965              CALL histwrite_phy(nid_files(iff),o_concbc%name,itau_w,
966     $            concbc)
967          ENDIF
968          IF (o_concss%flag(iff)<=lev_files(iff)) THEN
969              CALL histwrite_phy(nid_files(iff),o_concss%name,itau_w,
970     $            concss)
971          ENDIF
972          IF (o_concdust%flag(iff)<=lev_files(iff)) THEN
973              CALL histwrite_phy(nid_files(iff),o_concdust%name,itau_w,
974     $            concdust)
975          ENDIF
976         
977          IF (o_loadso4%flag(iff)<=lev_files(iff)) THEN
978              CALL histwrite_phy(nid_files(iff),o_loadso4%name,itau_w,
979     $            loadso4)
980          ENDIF
981          IF (o_loadoa%flag(iff)<=lev_files(iff)) THEN
982              CALL histwrite_phy(nid_files(iff),o_loadoa%name,itau_w,
983     $            loadoa)
984          ENDIF
985          IF (o_loadbc%flag(iff)<=lev_files(iff)) THEN
986              CALL histwrite_phy(nid_files(iff),o_loadbc%name,itau_w,
987     $            loadbc)
988          ENDIF
989          IF (o_loadss%flag(iff)<=lev_files(iff)) THEN
990              CALL histwrite_phy(nid_files(iff),o_loadss%name,itau_w,
991     $            loadss)
992          ENDIF
993          IF (o_loaddust%flag(iff)<=lev_files(iff)) THEN
994              CALL histwrite_phy(nid_files(iff),o_loaddust%name,itau_w,
995     $            loaddust)
996          ENDIF
997         
998          DO naero = 1, naero_spc
999            IF (o_tausumaero(naero)%flag(iff)<=lev_files(iff)) THEN
1000                CALL histwrite_phy(nid_files(iff),
1001     $              o_tausumaero(naero)%name,itau_w,
1002     $              tausum_aero(:,2,naero) )
1003            ENDIF
1004          END DO
1005          endif
1006      ENDIF
1007     
1008       IF (ok_ade) THEN
1009          IF (o_topswad%flag(iff)<=lev_files(iff)) THEN
1010             CALL histwrite_phy(nid_files(iff),o_topswad%name,itau_w,
1011     $            topswad_aero)
1012          ENDIF
1013          IF (o_solswad%flag(iff)<=lev_files(iff)) THEN
1014             CALL histwrite_phy(nid_files(iff),o_solswad%name,itau_w,
1015     $            solswad_aero)
1016          ENDIF
1017
1018!====MS forcing diagnostics
1019        if (new_aod) then             
1020        IF (o_swtoaas_nat%flag(iff)<=lev_files(iff)) THEN
1021        CALL histwrite_phy(nid_files(iff),o_swtoaas_nat%name,itau_w,
1022     $      topsw_aero(:,1))
1023        ENDIF
1024
1025        IF (o_swsrfas_nat%flag(iff)<=lev_files(iff)) THEN
1026        CALL histwrite_phy(nid_files(iff),o_swsrfas_nat%name,itau_w,
1027     $      solsw_aero(:,1))
1028        ENDIF
1029
1030        IF (o_swtoacs_nat%flag(iff)<=lev_files(iff)) THEN
1031        CALL histwrite_phy(nid_files(iff),o_swtoacs_nat%name,itau_w,
1032     $      topsw0_aero(:,1))
1033        ENDIF
1034
1035        IF (o_swsrfcs_nat%flag(iff)<=lev_files(iff)) THEN
1036        CALL histwrite_phy(nid_files(iff),o_swsrfcs_nat%name,itau_w,
1037     $      solsw0_aero(:,1))
1038        ENDIF
1039 
1040!ant
1041        IF (o_swtoaas_ant%flag(iff)<=lev_files(iff)) THEN
1042        CALL histwrite_phy(nid_files(iff),o_swtoaas_ant%name,itau_w,
1043     $      topsw_aero(:,2))
1044        ENDIF
1045
1046        IF (o_swsrfas_ant%flag(iff)<=lev_files(iff)) THEN
1047        CALL histwrite_phy(nid_files(iff),o_swsrfas_ant%name,itau_w,
1048     $      solsw_aero(:,2))
1049        ENDIF
1050
1051        IF (o_swtoacs_ant%flag(iff)<=lev_files(iff)) THEN
1052        CALL histwrite_phy(nid_files(iff),o_swtoacs_ant%name,itau_w,
1053     $      topsw0_aero(:,2))
1054        ENDIF
1055
1056        IF (o_swsrfcs_ant%flag(iff)<=lev_files(iff)) THEN
1057        CALL histwrite_phy(nid_files(iff),o_swsrfcs_ant%name,itau_w,
1058     $      solsw0_aero(:,2))
1059        ENDIF
1060
1061!cf
1062
1063        if (.not. aerosol_couple) then
1064        IF (o_swtoacf_nat%flag(iff)<=lev_files(iff)) THEN
1065        CALL histwrite_phy(nid_files(iff),o_swtoacf_nat%name,itau_w,
1066     $      topswcf_aero(:,1))
1067        ENDIF
1068
1069        IF (o_swsrfcf_nat%flag(iff)<=lev_files(iff)) THEN
1070        CALL histwrite_phy(nid_files(iff),o_swsrfcf_nat%name,itau_w,
1071     $      solswcf_aero(:,1))
1072        ENDIF
1073
1074        IF (o_swtoacf_ant%flag(iff)<=lev_files(iff)) THEN
1075        CALL histwrite_phy(nid_files(iff),o_swtoacf_ant%name,itau_w,
1076     $      topswcf_aero(:,2))
1077        ENDIF
1078
1079        IF (o_swsrfcf_ant%flag(iff)<=lev_files(iff)) THEN
1080        CALL histwrite_phy(nid_files(iff),o_swsrfcf_ant%name,itau_w,
1081     $      solswcf_aero(:,2))
1082        ENDIF
1083
1084        IF (o_swtoacf_zero%flag(iff)<=lev_files(iff)) THEN
1085        CALL histwrite_phy(nid_files(iff),o_swtoacf_zero%name,itau_w,
1086     $      topswcf_aero(:,3))
1087        ENDIF
1088
1089        IF (o_swsrfcf_zero%flag(iff)<=lev_files(iff)) THEN
1090        CALL histwrite_phy(nid_files(iff),o_swsrfcf_zero%name,itau_w,
1091     $      solswcf_aero(:,3))
1092        ENDIF
1093        endif
1094
1095        endif ! new_aod
1096!====MS forcing diagnostics
1097
1098       ENDIF
1099
1100       IF (ok_aie) THEN
1101          IF (o_topswai%flag(iff)<=lev_files(iff)) THEN
1102             CALL histwrite_phy(nid_files(iff),o_topswai%name,itau_w,
1103     $            topswai_aero)
1104          ENDIF
1105          IF (o_solswai%flag(iff)<=lev_files(iff)) THEN
1106             CALL histwrite_phy(nid_files(iff),o_solswai%name,itau_w,
1107     $            solswai_aero)
1108          ENDIF
1109          IF (o_scdnc%flag(iff)<=lev_files(iff)) THEN
1110             CALL histwrite_phy(nid_files(iff),o_scdnc%name,itau_w,
1111     $            scdnc)
1112          ENDIF
1113          IF (o_cldncl%flag(iff)<=lev_files(iff)) THEN
1114             CALL histwrite_phy(nid_files(iff),o_cldncl%name,itau_w,
1115     $            cldncl)
1116          ENDIF
1117          IF (o_reffclws%flag(iff)<=lev_files(iff)) THEN
1118             CALL histwrite_phy(nid_files(iff),o_reffclws%name,itau_w,
1119     $            reffclws)
1120          ENDIF
1121          IF (o_reffclwc%flag(iff)<=lev_files(iff)) THEN
1122             CALL histwrite_phy(nid_files(iff),o_reffclwc%name,itau_w,
1123     $            reffclwc)
1124          ENDIF
1125          IF (o_cldnvi%flag(iff)<=lev_files(iff)) THEN
1126             CALL histwrite_phy(nid_files(iff),o_cldnvi%name,itau_w,
1127     $            cldnvi)
1128          ENDIF
1129          IF (o_lcc%flag(iff)<=lev_files(iff)) THEN
1130             CALL histwrite_phy(nid_files(iff),o_lcc%name,itau_w,
1131     $            lcc)
1132          ENDIF
1133          IF (o_lcc3d%flag(iff)<=lev_files(iff)) THEN
1134             CALL histwrite_phy(nid_files(iff),o_lcc3d%name,itau_w,
1135     $            lcc3d)
1136          ENDIF
1137          IF (o_lcc3dcon%flag(iff)<=lev_files(iff)) THEN
1138             CALL histwrite_phy(nid_files(iff),o_lcc3dcon%name,itau_w,
1139     $            lcc3dcon)
1140          ENDIF
1141          IF (o_lcc3dstra%flag(iff)<=lev_files(iff)) THEN
1142             CALL histwrite_phy(nid_files(iff),o_lcc3dstra%name,itau_w,
1143     $            lcc3dstra)
1144          ENDIF
1145          IF (o_reffclwtop%flag(iff)<=lev_files(iff)) THEN
1146             CALL histwrite_phy(nid_files(iff),o_reffclwtop%name,itau_w,
1147     $            reffclwtop)
1148          ENDIF
1149       ENDIF
1150
1151! Champs 3D:
1152       IF (o_ec550aer%flag(iff)<=lev_files(iff)) THEN
1153      CALL histwrite_phy(nid_files(iff),o_ec550aer%name,itau_w,ec550aer)
1154       ENDIF
1155
1156       IF (o_lwcon%flag(iff)<=lev_files(iff)) THEN
1157      CALL histwrite_phy(nid_files(iff),o_lwcon%name,itau_w,flwc)
1158       ENDIF
1159
1160       IF (o_iwcon%flag(iff)<=lev_files(iff)) THEN
1161      CALL histwrite_phy(nid_files(iff),o_iwcon%name,itau_w,fiwc)
1162       ENDIF
1163
1164       IF (o_temp%flag(iff)<=lev_files(iff)) THEN
1165      CALL histwrite_phy(nid_files(iff),o_temp%name,itau_w,t_seri)
1166       ENDIF
1167
1168       IF (o_theta%flag(iff)<=lev_files(iff)) THEN
1169      CALL histwrite_phy(nid_files(iff),o_theta%name,itau_w,theta)
1170       ENDIF
1171
1172       IF (o_ovap%flag(iff)<=lev_files(iff)) THEN
1173      CALL histwrite_phy(nid_files(iff),o_ovap%name,itau_w,qx(:,:,ivap))
1174       ENDIF
1175
1176       IF (o_ovapinit%flag(iff)<=lev_files(iff)) THEN
1177      CALL histwrite_phy(nid_files(iff),
1178     $                   o_ovapinit%name,itau_w,q_seri)
1179       ENDIF
1180
1181       IF (o_geop%flag(iff)<=lev_files(iff)) THEN
1182      CALL histwrite_phy(nid_files(iff),o_geop%name,itau_w,zphi)
1183       ENDIF
1184
1185       IF (o_vitu%flag(iff)<=lev_files(iff)) THEN
1186      CALL histwrite_phy(nid_files(iff),o_vitu%name,itau_w,u_seri)
1187       ENDIF
1188
1189       IF (o_vitv%flag(iff)<=lev_files(iff)) THEN
1190      CALL histwrite_phy(nid_files(iff),o_vitv%name,itau_w,v_seri)
1191       ENDIF
1192
1193       IF (o_vitw%flag(iff)<=lev_files(iff)) THEN
1194      CALL histwrite_phy(nid_files(iff),o_vitw%name,itau_w,omega)
1195       ENDIF
1196
1197        IF (o_pres%flag(iff)<=lev_files(iff)) THEN
1198      CALL histwrite_phy(nid_files(iff),o_pres%name,itau_w,pplay)
1199        ENDIF
1200
1201        IF (o_paprs%flag(iff)<=lev_files(iff)) THEN
1202      CALL histwrite_phy(nid_files(iff),o_paprs%name,
1203     s                    itau_w,paprs(:,1:klev))
1204        ENDIF
1205
1206       IF (o_rneb%flag(iff)<=lev_files(iff)) THEN
1207      CALL histwrite_phy(nid_files(iff),o_rneb%name,itau_w,cldfra)
1208       ENDIF
1209
1210       IF (o_rnebcon%flag(iff)<=lev_files(iff)) THEN
1211      CALL histwrite_phy(nid_files(iff),o_rnebcon%name,itau_w,rnebcon)
1212       ENDIF
1213
1214       IF (o_rhum%flag(iff)<=lev_files(iff)) THEN
1215      CALL histwrite_phy(nid_files(iff),o_rhum%name,itau_w,zx_rh)
1216       ENDIF
1217
1218      IF (o_ozone%flag(iff)<=lev_files(iff)) THEN
1219         CALL histwrite_phy(nid_files(iff), o_ozone%name, itau_w,
1220     $        wo(:, :, 1) * dobson_u * 1e3 / zmasse / rmo3 * rmd)
1221      ENDIF
1222
1223      IF (o_ozone_light%flag(iff)<=lev_files(iff) .and.
1224     $     read_climoz == 2) THEN
1225         CALL histwrite_phy(nid_files(iff), o_ozone_light%name, itau_w,
1226     $        wo(:, :, 2) * dobson_u * 1e3 / zmasse / rmo3 * rmd)
1227      ENDIF
1228
1229       IF (o_dtphy%flag(iff)<=lev_files(iff)) THEN
1230      CALL histwrite_phy(nid_files(iff),o_dtphy%name,itau_w,d_t)
1231       ENDIF
1232
1233       IF (o_dqphy%flag(iff)<=lev_files(iff)) THEN
1234      CALL histwrite_phy(nid_files(iff),
1235     s                  o_dqphy%name,itau_w, d_qx(:,:,ivap))
1236       ENDIF
1237
1238        DO nsrf=1, nbsrf
1239        IF (o_albe_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN
1240        zx_tmp_fi2d(1 : klon) = falb1( 1 : klon, nsrf)
1241        CALL histwrite_phy(nid_files(iff),
1242     s                    o_albe_srf(nsrf)%name,itau_w,
1243     $                     zx_tmp_fi2d)
1244        ENDIF
1245
1246        IF (o_rugs_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN 
1247        zx_tmp_fi2d(1 : klon) = frugs( 1 : klon, nsrf)
1248        CALL histwrite_phy(nid_files(iff),
1249     s                     o_rugs_srf(nsrf)%name,itau_w,
1250     $      zx_tmp_fi2d)
1251        ENDIF
1252
1253        IF (o_ages_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN
1254        zx_tmp_fi2d(1 : klon) = agesno( 1 : klon, nsrf)
1255        CALL histwrite_phy(nid_files(iff),
1256     s                     o_ages_srf(nsrf)%name,itau_w
1257     $    ,zx_tmp_fi2d)
1258        ENDIF
1259        ENDDO !nsrf=1, nbsrf
1260
1261       IF (o_albs%flag(iff)<=lev_files(iff)) THEN
1262      CALL histwrite_phy(nid_files(iff),o_albs%name,itau_w,albsol1)
1263       ENDIF
1264
1265       IF (o_albslw%flag(iff)<=lev_files(iff)) THEN
1266      CALL histwrite_phy(nid_files(iff),o_albslw%name,itau_w,albsol2)
1267       ENDIF
1268
1269!FH Sorties pour la couche limite
1270      if (iflag_pbl>1) then
1271      zx_tmp_fi3d=0.
1272      do nsrf=1,nbsrf
1273         do k=1,klev
1274          zx_tmp_fi3d(:,k)=zx_tmp_fi3d(:,k)
1275     $    +pctsrf(:,nsrf)*pbl_tke(:,k,nsrf)
1276         enddo
1277      enddo
1278       IF (o_tke%flag(iff)<=lev_files(iff)) THEN
1279      CALL histwrite_phy(nid_files(iff),o_tke%name,itau_w,zx_tmp_fi3d)
1280       ENDIF
1281
1282       IF (o_tke_max%flag(iff)<=lev_files(iff)) THEN
1283      CALL histwrite_phy(nid_files(iff),
1284     s                   o_tke_max%name,itau_w,zx_tmp_fi3d)
1285       ENDIF
1286      endif
1287
1288       IF (o_kz%flag(iff)<=lev_files(iff)) THEN
1289      CALL histwrite_phy(nid_files(iff),o_kz%name,itau_w,coefh)
1290       ENDIF
1291
1292       IF (o_kz_max%flag(iff)<=lev_files(iff)) THEN
1293      CALL histwrite_phy(nid_files(iff),o_kz_max%name,itau_w,coefh)
1294       ENDIF
1295
1296       IF (o_clwcon%flag(iff)<=lev_files(iff)) THEN
1297      CALL histwrite_phy(nid_files(iff),o_clwcon%name,itau_w,clwcon0)
1298       ENDIF
1299
1300       IF (o_dtdyn%flag(iff)<=lev_files(iff)) THEN
1301      CALL histwrite_phy(nid_files(iff),o_dtdyn%name,itau_w,d_t_dyn)
1302       ENDIF
1303
1304       IF (o_dqdyn%flag(iff)<=lev_files(iff)) THEN
1305      CALL histwrite_phy(nid_files(iff),o_dqdyn%name,itau_w,d_q_dyn)
1306       ENDIF
1307
1308       IF (o_dudyn%flag(iff)<=lev_files(iff)) THEN
1309      CALL histwrite_phy(nid_files(iff),o_dudyn%name,itau_w,d_u_dyn)
1310       ENDIF                                                   
1311
1312       IF (o_dvdyn%flag(iff)<=lev_files(iff)) THEN                 
1313      CALL histwrite_phy(nid_files(iff),o_dvdyn%name,itau_w,d_v_dyn) 
1314       ENDIF                                                     
1315
1316       IF (o_dtcon%flag(iff)<=lev_files(iff)) THEN
1317      zx_tmp_fi3d(1:klon,1:klev)=d_t_con(1:klon,1:klev)/pdtphys
1318      CALL histwrite_phy(nid_files(iff),o_dtcon%name,itau_w,zx_tmp_fi3d)
1319       ENDIF
1320
1321       IF (o_ducon%flag(iff)<=lev_files(iff)) THEN
1322      zx_tmp_fi3d(1:klon,1:klev)=d_u_con(1:klon,1:klev)/pdtphys
1323      CALL histwrite_phy(nid_files(iff),o_ducon%name,itau_w,zx_tmp_fi3d)
1324       ENDIF
1325
1326       IF (o_dqcon%flag(iff)<=lev_files(iff)) THEN
1327      zx_tmp_fi3d(1:klon,1:klev)=d_q_con(1:klon,1:klev)/pdtphys
1328      CALL histwrite_phy(nid_files(iff),o_dqcon%name,itau_w,zx_tmp_fi3d)
1329       ENDIF
1330
1331       IF (o_dtlsc%flag(iff)<=lev_files(iff)) THEN
1332      zx_tmp_fi3d(1:klon,1:klev)=d_t_lsc(1:klon,1:klev)/pdtphys
1333      CALL histwrite_phy(nid_files(iff),o_dtlsc%name,itau_w,zx_tmp_fi3d)
1334       ENDIF
1335
1336       IF (o_dtlschr%flag(iff)<=lev_files(iff)) THEN
1337      zx_tmp_fi3d(1:klon, 1:klev)=(d_t_lsc(1:klon,1:klev)+
1338     $                           d_t_eva(1:klon,1:klev))/pdtphys
1339      CALL histwrite_phy(nid_files(iff),
1340     s                   o_dtlschr%name,itau_w,zx_tmp_fi3d)
1341       ENDIF
1342
1343       IF (o_dqlsc%flag(iff)<=lev_files(iff)) THEN
1344      zx_tmp_fi3d(1:klon,1:klev)=d_q_lsc(1:klon,1:klev)/pdtphys
1345      CALL histwrite_phy(nid_files(iff),o_dqlsc%name,itau_w,zx_tmp_fi3d)
1346       ENDIF
1347
1348       IF (o_dtvdf%flag(iff)<=lev_files(iff)) THEN
1349      zx_tmp_fi3d(1:klon,1:klev)=d_t_vdf(1:klon,1:klev)/pdtphys
1350      CALL histwrite_phy(nid_files(iff),o_dtvdf%name,itau_w,zx_tmp_fi3d)
1351       ENDIF
1352
1353       IF (o_dqvdf%flag(iff)<=lev_files(iff)) THEN
1354      zx_tmp_fi3d(1:klon,1:klev)=d_q_vdf(1:klon,1:klev)/pdtphys
1355      CALL histwrite_phy(nid_files(iff),o_dqvdf%name,itau_w,zx_tmp_fi3d)
1356       ENDIF
1357
1358       IF (o_dteva%flag(iff)<=lev_files(iff)) THEN
1359      zx_tmp_fi3d(1:klon,1:klev)=d_t_eva(1:klon,1:klev)/pdtphys
1360      CALL histwrite_phy(nid_files(iff),o_dteva%name,itau_w,zx_tmp_fi3d)
1361       ENDIF
1362
1363       IF (o_dqeva%flag(iff)<=lev_files(iff)) THEN
1364      zx_tmp_fi3d(1:klon,1:klev)=d_q_eva(1:klon,1:klev)/pdtphys
1365      CALL histwrite_phy(nid_files(iff),o_dqeva%name,itau_w,zx_tmp_fi3d)
1366       ENDIF
1367
1368       IF (o_ptconv%flag(iff)<=lev_files(iff)) THEN
1369      zpt_conv = 0.
1370      where (ptconv) zpt_conv = 1.
1371      CALL histwrite_phy(nid_files(iff),o_ptconv%name,itau_w,zpt_conv)
1372       ENDIF
1373
1374       IF (o_ratqs%flag(iff)<=lev_files(iff)) THEN
1375      CALL histwrite_phy(nid_files(iff),o_ratqs%name,itau_w,ratqs)
1376       ENDIF
1377
1378       IF (o_dtthe%flag(iff)<=lev_files(iff)) THEN
1379      zx_tmp_fi3d(1:klon,1:klev)=d_t_ajs(1:klon,1:klev)/pdtphys
1380      CALL histwrite_phy(nid_files(iff),o_dtthe%name,itau_w,zx_tmp_fi3d)
1381       ENDIF
1382
1383       IF (iflag_thermals.gt.1) THEN
1384        IF (o_ftime_th%flag(iff)<=lev_files(iff)) THEN
1385! Pour l instant 0 a y reflichir pour les thermiques
1386         zx_tmp_fi2d=0. 
1387        CALL histwrite_phy(nid_files(iff),o_ftime_th%name,
1388     s                     itau_w,zx_tmp_fi2d)
1389        ENDIF
1390
1391        IF (o_f_th%flag(iff)<=lev_files(iff)) THEN
1392        CALL histwrite_phy(nid_files(iff),o_f_th%name,itau_w,fm_therm)
1393        ENDIF
1394
1395        IF (o_e_th%flag(iff)<=lev_files(iff)) THEN
1396        CALL histwrite_phy(nid_files(iff),o_e_th%name,itau_w,entr_therm)
1397        ENDIF
1398
1399        IF (o_w_th%flag(iff)<=lev_files(iff)) THEN
1400        CALL histwrite_phy(nid_files(iff),o_w_th%name,itau_w,zw2)
1401        ENDIF
1402
1403        IF (o_q_th%flag(iff)<=lev_files(iff)) THEN
1404        CALL histwrite_phy(nid_files(iff),o_q_th%name,itau_w,zqasc)
1405        ENDIF
1406
1407        IF (o_lambda_th%flag(iff)<=lev_files(iff)) THEN
1408        CALL histwrite_phy(nid_files(iff),
1409     s                     o_lambda_th%name,itau_w,lambda_th)
1410        ENDIF
1411
1412        IF (o_a_th%flag(iff)<=lev_files(iff)) THEN
1413        CALL histwrite_phy(nid_files(iff),o_a_th%name,itau_w,fraca)
1414        ENDIF
1415
1416       IF (o_d_th%flag(iff)<=lev_files(iff)) THEN
1417       CALL histwrite_phy(nid_files(iff),o_d_th%name,itau_w,detr_therm)
1418       ENDIF
1419
1420      ENDIF !iflag_thermals
1421
1422       IF (o_f0_th%flag(iff)<=lev_files(iff)) THEN
1423      CALL histwrite_phy(nid_files(iff),o_f0_th%name,itau_w,f0)
1424       ENDIF
1425
1426       IF (o_f0_th%flag(iff)<=lev_files(iff)) THEN
1427      CALL histwrite_phy(nid_files(iff),o_zmax_th%name,itau_w,zmax0)
1428       ENDIF
1429
1430       IF (o_dqthe%flag(iff)<=lev_files(iff)) THEN
1431      zx_tmp_fi3d(1:klon,1:klev)=d_q_ajs(1:klon,1:klev)/pdtphys
1432      CALL histwrite_phy(nid_files(iff),o_dqthe%name,itau_w,zx_tmp_fi3d)
1433       ENDIF
1434
1435       IF (o_dtajs%flag(iff)<=lev_files(iff)) THEN
1436      zx_tmp_fi3d(1:klon,1:klev)=d_t_ajsb(1:klon,1:klev)/pdtphys
1437      CALL histwrite_phy(nid_files(iff),o_dtajs%name,itau_w,zx_tmp_fi3d)
1438       ENDIF
1439
1440       IF (o_dqajs%flag(iff)<=lev_files(iff)) THEN
1441      zx_tmp_fi3d(1:klon,1:klev)=d_q_ajsb(1:klon,1:klev)/pdtphys
1442      CALL histwrite_phy(nid_files(iff),o_dqajs%name,itau_w,zx_tmp_fi3d)
1443       ENDIF
1444
1445       IF (o_dtswr%flag(iff)<=lev_files(iff)) THEN
1446      zx_tmp_fi3d(1:klon,1:klev)=heat(1:klon,1:klev)/RDAY
1447      CALL histwrite_phy(nid_files(iff),o_dtswr%name,itau_w,zx_tmp_fi3d)
1448       ENDIF
1449
1450       IF (o_dtsw0%flag(iff)<=lev_files(iff)) THEN
1451      zx_tmp_fi3d(1:klon,1:klev)=heat0(1:klon,1:klev)/RDAY
1452      CALL histwrite_phy(nid_files(iff),o_dtsw0%name,itau_w,zx_tmp_fi3d)
1453       ENDIF
1454
1455       IF (o_dtlwr%flag(iff)<=lev_files(iff)) THEN
1456      zx_tmp_fi3d(1:klon,1:klev)=-1.*cool(1:klon,1:klev)/RDAY
1457      CALL histwrite_phy(nid_files(iff),o_dtlwr%name,itau_w,zx_tmp_fi3d)
1458       ENDIF
1459
1460       IF (o_dtlw0%flag(iff)<=lev_files(iff)) THEN
1461      zx_tmp_fi3d(1:klon,1:klev)=-1.*cool0(1:klon,1:klev)/RDAY
1462      CALL histwrite_phy(nid_files(iff),o_dtlw0%name,itau_w,zx_tmp_fi3d)
1463       ENDIF
1464
1465       IF (o_dtec%flag(iff)<=lev_files(iff)) THEN
1466      zx_tmp_fi3d(1:klon,1:klev)=d_t_ec(1:klon,1:klev)
1467      CALL histwrite_phy(nid_files(iff),o_dtec%name,itau_w,zx_tmp_fi3d)
1468       ENDIF
1469
1470       IF (o_duvdf%flag(iff)<=lev_files(iff)) THEN
1471      zx_tmp_fi3d(1:klon,1:klev)=d_u_vdf(1:klon,1:klev)/pdtphys
1472      CALL histwrite_phy(nid_files(iff),o_duvdf%name,itau_w,zx_tmp_fi3d)
1473       ENDIF
1474
1475       IF (o_dvvdf%flag(iff)<=lev_files(iff)) THEN
1476      zx_tmp_fi3d(1:klon,1:klev)=d_v_vdf(1:klon,1:klev)/pdtphys
1477      CALL histwrite_phy(nid_files(iff),o_dvvdf%name,itau_w,zx_tmp_fi3d)
1478       ENDIF
1479
1480       IF (ok_orodr) THEN
1481      IF (o_duoro%flag(iff)<=lev_files(iff)) THEN
1482      zx_tmp_fi3d(1:klon,1:klev)=d_u_oro(1:klon,1:klev)/pdtphys
1483      CALL histwrite_phy(nid_files(iff),o_duoro%name,itau_w,zx_tmp_fi3d)
1484       ENDIF
1485
1486      IF (o_dvoro%flag(iff)<=lev_files(iff)) THEN
1487      zx_tmp_fi3d(1:klon,1:klev)=d_v_oro(1:klon,1:klev)/pdtphys
1488      CALL histwrite_phy(nid_files(iff),o_dvoro%name,itau_w,zx_tmp_fi3d)
1489      ENDIF
1490       ENDIF
1491
1492        IF (ok_orolf) THEN
1493       IF (o_dulif%flag(iff)<=lev_files(iff)) THEN
1494      zx_tmp_fi3d(1:klon,1:klev)=d_u_lif(1:klon,1:klev)/pdtphys
1495      CALL histwrite_phy(nid_files(iff),o_dulif%name,itau_w,zx_tmp_fi3d)
1496       ENDIF
1497
1498        IF (o_dvlif%flag(iff)<=lev_files(iff)) THEN
1499      zx_tmp_fi3d(1:klon,1:klev)=d_v_lif(1:klon,1:klev)/pdtphys
1500      CALL histwrite_phy(nid_files(iff),o_dvlif%name,itau_w,zx_tmp_fi3d)
1501       ENDIF
1502        ENDIF
1503
1504!       IF (o_trac%flag(iff)<=lev_files(iff)) THEN
1505         if (nqtot.GE.3) THEN
1506!           DO iq=3,nqtot
1507           DO iq=3,4
1508       IF (o_trac(iq-2)%flag(iff)<=lev_files(iff)) THEN
1509         CALL histwrite_phy(nid_files(iff),
1510     s                  o_trac(iq-2)%name,itau_w,qx(:,:,iq))
1511       ENDIF
1512           ENDDO
1513         endif
1514
1515      if (ok_sync) then
1516c$OMP MASTER
1517        call histsync(nid_files(iff))
1518c$OMP END MASTER
1519      endif
1520
1521       ENDIF ! clef_files
1522
1523      ENDDO ! iff=1,nfiles
Note: See TracBrowser for help on using the repository browser.