source: LMDZ5/trunk/libf/phylmd/phys_output_write.h @ 1655

Last change on this file since 1655 was 1653, checked in by musat, 12 years ago
  • reorganise aerosol cases with ok_ade and ok_aie
  • ADE clear-sky at TOA and ADE clear-sky at SRF have been added in the outputs
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 76.1 KB
Line 
1      itau_w = itau_phy + itap + start_time * day_step / iphysiq
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),clef_stations(iff),
12     $                  o_phis%name,itau_w,pphis)
13       ENDIF
14
15       IF (.NOT.clef_stations(iff)) THEN
16       IF (o_aire%flag(iff)<=lev_files(iff)) THEN
17       CALL histwrite_phy(nid_files(iff),clef_stations(iff),
18     $o_aire%name,itau_w,airephy)
19       ENDIF
20
21       IF (o_contfracATM%flag(iff)<=lev_files(iff)) THEN
22      DO i=1, klon
23       zx_tmp_fi2d(i)=pctsrf(i,is_ter)+pctsrf(i,is_lic)
24      ENDDO
25      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
26     $             o_contfracATM%name,itau_w,zx_tmp_fi2d)
27       ENDIF
28       ENDIF
29
30       IF (o_contfracOR%flag(iff)<=lev_files(iff)) THEN
31      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
32     $                  o_contfracOR%name,itau_w,pctsrf(:,is_ter))
33       ENDIF
34
35       IF (o_aireTER%flag(iff)<=lev_files(iff)) THEN
36      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
37     $                  o_aireTER%name,itau_w,paire_ter)
38       ENDIF
39
40!!! Champs 2D !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
41
42       IF (o_flat%flag(iff)<=lev_files(iff)) THEN
43      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
44     $                  o_flat%name,itau_w,zxfluxlat)
45       ENDIF
46
47       IF (o_slp%flag(iff)<=lev_files(iff)) THEN
48      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
49     $                  o_slp%name,itau_w,slp)
50       ENDIF
51
52       IF (o_tsol%flag(iff)<=lev_files(iff)) THEN
53      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
54     $                  o_tsol%name,itau_w,zxtsol)
55       ENDIF
56
57       IF (o_t2m%flag(iff)<=lev_files(iff)) THEN
58      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
59     $                  o_t2m%name,itau_w,zt2m)
60       ENDIF
61
62      IF (.NOT.clef_stations(iff)) THEN
63       IF (o_t2m_min%flag(iff)<=lev_files(iff)) THEN
64      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
65     $o_t2m_min%name,itau_w,zt2m)
66       ENDIF
67
68       IF (o_t2m_max%flag(iff)<=lev_files(iff)) THEN
69      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
70     $o_t2m_max%name,itau_w,zt2m)
71       ENDIF
72       ENDIF
73
74       IF (o_wind10m%flag(iff)<=lev_files(iff)) THEN
75      DO i=1, klon
76       zx_tmp_fi2d(i)=SQRT(zu10m(i)*zu10m(i)+zv10m(i)*zv10m(i))
77      ENDDO
78      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
79     s                  o_wind10m%name,itau_w,zx_tmp_fi2d)
80       ENDIF
81
82      IF (.NOT.clef_stations(iff)) THEN
83       IF (o_wind10max%flag(iff)<=lev_files(iff)) THEN
84      DO i=1, klon
85       zx_tmp_fi2d(i)=SQRT(zu10m(i)*zu10m(i)+zv10m(i)*zv10m(i))
86      ENDDO
87      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
88     $o_wind10max%name,itau_w,zx_tmp_fi2d)
89       ENDIF
90      ENDIF
91
92       IF (o_sicf%flag(iff)<=lev_files(iff)) THEN
93      DO i = 1, klon
94         zx_tmp_fi2d(i) = pctsrf(i,is_sic)
95      ENDDO
96      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
97     $                   o_sicf%name,itau_w,zx_tmp_fi2d)
98       ENDIF
99
100       IF (o_q2m%flag(iff)<=lev_files(iff)) THEN
101      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
102     $o_q2m%name,itau_w,zq2m)
103       ENDIF
104
105       IF (o_u10m%flag(iff)<=lev_files(iff)) THEN
106      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
107     $o_u10m%name,itau_w,zu10m)
108       ENDIF
109
110       IF (o_v10m%flag(iff)<=lev_files(iff)) THEN
111      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
112     $o_v10m%name,itau_w,zv10m)
113       ENDIF
114
115       IF (o_psol%flag(iff)<=lev_files(iff)) THEN
116      DO i = 1, klon
117         zx_tmp_fi2d(i) = paprs(i,1)
118      ENDDO
119      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
120     s                   o_psol%name,itau_w,zx_tmp_fi2d)
121       ENDIF
122
123       IF (o_mass%flag(iff)<=lev_files(iff)) THEN
124      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
125     s                   o_mass%name,itau_w,zmasse)
126        ENDIF
127
128
129       IF (o_qsurf%flag(iff)<=lev_files(iff)) THEN
130      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
131     $o_qsurf%name,itau_w,zxqsurf)
132       ENDIF
133
134       if (.not. ok_veget) then
135         IF (o_qsol%flag(iff)<=lev_files(iff)) THEN
136        CALL histwrite_phy(nid_files(iff),clef_stations(iff),
137     $o_qsol%name,itau_w,qsol)
138         ENDIF
139       endif
140
141      IF (o_precip%flag(iff)<=lev_files(iff)) THEN
142       DO i = 1, klon
143         zx_tmp_fi2d(i) = rain_fall(i) + snow_fall(i)
144       ENDDO
145      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
146     $o_precip%name,itau_w,zx_tmp_fi2d)
147      ENDIF
148
149       IF (o_ndayrain%flag(iff)<=lev_files(iff)) THEN
150      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
151     $o_ndayrain%name,itau_w,nday_rain)
152       ENDIF
153
154      IF (o_plul%flag(iff)<=lev_files(iff)) THEN
155       DO i = 1, klon
156         zx_tmp_fi2d(i) = rain_lsc(i) + snow_lsc(i)
157       ENDDO
158      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
159     $o_plul%name,itau_w,zx_tmp_fi2d)
160      ENDIF
161
162      IF (o_pluc%flag(iff)<=lev_files(iff)) THEN
163      DO i = 1, klon
164         zx_tmp_fi2d(i) = rain_con(i) + snow_con(i)
165      ENDDO
166      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
167     $o_pluc%name,itau_w,zx_tmp_fi2d)
168      ENDIF
169
170       IF (o_snow%flag(iff)<=lev_files(iff)) THEN
171      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
172     $o_snow%name,itau_w,snow_fall)
173       ENDIF
174
175       IF (o_msnow%flag(iff)<=lev_files(iff)) THEN
176      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
177     $o_msnow%name,itau_w,snow_o)
178       ENDIF
179
180       IF (o_fsnow%flag(iff)<=lev_files(iff)) THEN
181      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
182     $o_fsnow%name,itau_w,zfra_o)
183       ENDIF
184
185       IF (o_evap%flag(iff)<=lev_files(iff)) THEN
186      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
187     $o_evap%name,itau_w,evap)
188       ENDIF
189
190       IF (o_tops%flag(iff)<=lev_files(iff)) THEN
191      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
192     $o_tops%name,itau_w,topsw)
193       ENDIF
194
195       IF (o_tops0%flag(iff)<=lev_files(iff)) THEN
196      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
197     $o_tops0%name,itau_w,topsw0)
198       ENDIF
199
200       IF (o_topl%flag(iff)<=lev_files(iff)) THEN
201      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
202     $o_topl%name,itau_w,toplw)
203       ENDIF
204
205       IF (o_topl0%flag(iff)<=lev_files(iff)) THEN
206      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
207     $o_topl0%name,itau_w,toplw0)
208       ENDIF
209
210       IF (o_SWupTOA%flag(iff)<=lev_files(iff)) THEN
211      zx_tmp_fi2d(1 : klon) = swup ( 1 : klon, klevp1 )
212      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
213     $o_SWupTOA%name,itau_w,zx_tmp_fi2d)
214       ENDIF
215
216       IF (o_SWupTOAclr%flag(iff)<=lev_files(iff)) THEN
217      zx_tmp_fi2d(1 : klon) = swup0 ( 1 : klon, klevp1 )
218      CALL histwrite_phy(nid_files(iff),clef_stations(iff), 
219     $                  o_SWupTOAclr%name,itau_w,zx_tmp_fi2d)
220       ENDIF
221
222       IF (o_SWdnTOA%flag(iff)<=lev_files(iff)) THEN
223      zx_tmp_fi2d(1 : klon) = swdn ( 1 : klon, klevp1 )
224      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
225     s                  o_SWdnTOA%name,itau_w,zx_tmp_fi2d)
226       ENDIF
227
228       IF (o_SWdnTOAclr%flag(iff)<=lev_files(iff)) THEN
229      zx_tmp_fi2d(1 : klon) = swdn0 ( 1 : klon, klevp1 )
230      CALL histwrite_phy(nid_files(iff),clef_stations(iff), 
231     $                  o_SWdnTOAclr%name,itau_w,zx_tmp_fi2d)
232       ENDIF
233
234       IF (o_nettop%flag(iff)<=lev_files(iff)) THEN
235      zx_tmp_fi2d(:) = topsw(:)-toplw(:)
236      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
237     $                  o_nettop%name,itau_w,zx_tmp_fi2d)
238       ENDIF
239
240       IF (o_SWup200%flag(iff)<=lev_files(iff)) THEN
241      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
242     $o_SWup200%name,itau_w,SWup200)
243       ENDIF
244
245       IF (o_SWup200clr%flag(iff)<=lev_files(iff)) THEN
246      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
247     s                   o_SWup200clr%name,itau_w,SWup200clr)
248       ENDIF
249
250       IF (o_SWdn200%flag(iff)<=lev_files(iff)) THEN
251      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
252     $o_SWdn200%name,itau_w,SWdn200)
253       ENDIF
254
255       IF (o_SWdn200clr%flag(iff)<=lev_files(iff)) THEN
256      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
257     s                o_SWdn200clr%name,itau_w,SWdn200clr)
258       ENDIF
259
260       IF (o_LWup200%flag(iff)<=lev_files(iff)) THEN
261      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
262     $o_LWup200%name,itau_w,LWup200)
263       ENDIF
264
265       IF (o_LWup200clr%flag(iff)<=lev_files(iff)) THEN
266      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
267     s                   o_LWup200clr%name,itau_w,LWup200clr)
268       ENDIF
269
270       IF (o_LWdn200%flag(iff)<=lev_files(iff)) THEN
271      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
272     s                   o_LWdn200%name,itau_w,LWdn200)
273       ENDIF
274
275       IF (o_LWdn200clr%flag(iff)<=lev_files(iff)) THEN
276      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
277     s                  o_LWdn200clr%name,itau_w,LWdn200clr)
278       ENDIF
279
280       IF (o_sols%flag(iff)<=lev_files(iff)) THEN
281      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
282     $o_sols%name,itau_w,solsw)
283       ENDIF
284
285       IF (o_sols0%flag(iff)<=lev_files(iff)) THEN
286      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
287     $o_sols0%name,itau_w,solsw0)
288       ENDIF
289
290       IF (o_soll%flag(iff)<=lev_files(iff)) THEN
291      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
292     $o_soll%name,itau_w,sollw)
293       ENDIF
294
295       IF (o_radsol%flag(iff)<=lev_files(iff)) THEN
296      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
297     $o_radsol%name,itau_w,radsol)
298       ENDIF
299
300       IF (o_soll0%flag(iff)<=lev_files(iff)) THEN
301      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
302     $o_soll0%name,itau_w,sollw0)
303       ENDIF
304
305       IF (o_SWupSFC%flag(iff)<=lev_files(iff)) THEN
306      zx_tmp_fi2d(1 : klon) = swup ( 1 : klon, 1 )
307      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
308     s               o_SWupSFC%name,itau_w,zx_tmp_fi2d)
309       ENDIF
310
311       IF (o_SWupSFCclr%flag(iff)<=lev_files(iff)) THEN
312      zx_tmp_fi2d(1 : klon) = swup0 ( 1 : klon, 1 )
313      CALL histwrite_phy(nid_files(iff),clef_stations(iff), 
314     $                   o_SWupSFCclr%name,itau_w,zx_tmp_fi2d)
315       ENDIF
316
317       IF (o_SWdnSFC%flag(iff)<=lev_files(iff)) THEN
318      zx_tmp_fi2d(1 : klon) = swdn ( 1 : klon, 1 )
319      CALL histwrite_phy(nid_files(iff),clef_stations(iff), 
320     $                   o_SWdnSFC%name,itau_w,zx_tmp_fi2d)
321       ENDIF
322
323       IF (o_SWdnSFCclr%flag(iff)<=lev_files(iff)) THEN
324      zx_tmp_fi2d(1 : klon) = swdn0 ( 1 : klon, 1 )
325      CALL histwrite_phy(nid_files(iff),clef_stations(iff), 
326     $                  o_SWdnSFCclr%name,itau_w,zx_tmp_fi2d)
327       ENDIF
328
329       IF (o_LWupSFC%flag(iff)<=lev_files(iff)) THEN
330      zx_tmp_fi2d(1:klon)=sollwdown(1:klon)-sollw(1:klon)
331      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
332     $                    o_LWupSFC%name,itau_w,zx_tmp_fi2d)
333       ENDIF
334
335       IF (o_LWdnSFC%flag(iff)<=lev_files(iff)) THEN
336      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
337     $                   o_LWdnSFC%name,itau_w,sollwdown)
338       ENDIF
339
340       sollwdownclr(1:klon) = -1.*lwdn0(1:klon,1)
341       IF (o_LWupSFCclr%flag(iff)<=lev_files(iff)) THEN
342      zx_tmp_fi2d(1:klon)=sollwdownclr(1:klon)-sollw0(1:klon)
343      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
344     $                   o_LWupSFCclr%name,itau_w,zx_tmp_fi2d)
345       ENDIF
346
347       IF (o_LWdnSFCclr%flag(iff)<=lev_files(iff)) THEN
348      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
349     $                   o_LWdnSFCclr%name,itau_w,sollwdownclr)
350       ENDIF
351
352       IF (o_bils%flag(iff)<=lev_files(iff)) THEN
353      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
354     $o_bils%name,itau_w,bils)
355       ENDIF
356
357       IF (o_sens%flag(iff)<=lev_files(iff)) THEN
358      zx_tmp_fi2d(1:klon)=-1*sens(1:klon)
359      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
360     $o_sens%name,itau_w,zx_tmp_fi2d)
361       ENDIF
362
363       IF (o_fder%flag(iff)<=lev_files(iff)) THEN
364      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
365     $o_fder%name,itau_w,fder)
366       ENDIF
367
368       IF (o_ffonte%flag(iff)<=lev_files(iff)) THEN
369       CALL histwrite_phy(nid_files(iff),clef_stations(iff),
370     $o_ffonte%name,itau_w,zxffonte)
371       ENDIF
372
373       IF (o_fqcalving%flag(iff)<=lev_files(iff)) THEN
374       CALL histwrite_phy(nid_files(iff),clef_stations(iff),
375     $                    o_fqcalving%name,itau_w,zxfqcalving)
376       ENDIF
377
378       IF (o_fqfonte%flag(iff)<=lev_files(iff)) THEN
379       CALL histwrite_phy(nid_files(iff),clef_stations(iff),
380     $                   o_fqfonte%name,itau_w,zxfqfonte)
381       ENDIF
382
383       IF (o_taux%flag(iff)<=lev_files(iff)) THEN
384         zx_tmp_fi2d=0.
385         do nsrf=1,nbsrf
386          zx_tmp_fi2d(:)=zx_tmp_fi2d(:)+pctsrf(:,nsrf)*fluxu(:,1,nsrf)
387         enddo
388         CALL histwrite_phy(nid_files(iff),clef_stations(iff),
389     $                   o_taux%name,itau_w,zx_tmp_fi2d)
390       ENDIF
391
392       IF (o_tauy%flag(iff)<=lev_files(iff)) THEN
393         zx_tmp_fi2d=0.
394         do nsrf=1,nbsrf
395          zx_tmp_fi2d(:)=zx_tmp_fi2d(:)+pctsrf(:,nsrf)*fluxv(:,1,nsrf)
396         enddo
397         CALL histwrite_phy(nid_files(iff),clef_stations(iff),
398     $                   o_tauy%name,itau_w,zx_tmp_fi2d)
399       ENDIF
400
401         DO nsrf = 1, nbsrf
402!           IF(nsrf.GE.2) THEN
403            IF (o_pourc_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN
404            zx_tmp_fi2d(1 : klon) = pctsrf( 1 : klon, nsrf)*100.
405            CALL histwrite_phy(nid_files(iff),
406     $                     clef_stations(iff),
407     $                     o_pourc_srf(nsrf)%name,itau_w,
408     $                     zx_tmp_fi2d)
409            ENDIF
410
411          IF (o_fract_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN
412          zx_tmp_fi2d(1 : klon) = pctsrf( 1 : klon, nsrf)
413          CALL histwrite_phy(nid_files(iff),clef_stations(iff),
414     $                  o_fract_srf(nsrf)%name,itau_w,
415     $                  zx_tmp_fi2d)
416          ENDIF
417!         ENDIF !nsrf.GT.2
418
419        IF (o_taux_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN
420        zx_tmp_fi2d(1 : klon) = fluxu( 1 : klon, 1, nsrf)
421        CALL histwrite_phy(nid_files(iff),clef_stations(iff),
422     $                     o_taux_srf(nsrf)%name,itau_w,
423     $                     zx_tmp_fi2d)
424        ENDIF
425
426        IF (o_tauy_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN           
427        zx_tmp_fi2d(1 : klon) = fluxv( 1 : klon, 1, nsrf)
428        CALL histwrite_phy(nid_files(iff),clef_stations(iff),
429     $                    o_tauy_srf(nsrf)%name,itau_w,
430     $                    zx_tmp_fi2d)
431        ENDIF
432
433        IF (o_tsol_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN
434        zx_tmp_fi2d(1 : klon) = ftsol( 1 : klon, nsrf)
435        CALL histwrite_phy(nid_files(iff),clef_stations(iff),
436     $                   o_tsol_srf(nsrf)%name,itau_w,
437     $      zx_tmp_fi2d)
438        ENDIF
439
440      IF (o_u10m_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN
441      zx_tmp_fi2d(1 : klon) = u10m(1 : klon, nsrf)
442      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
443     $o_u10m_srf(nsrf)%name,
444     $                 itau_w,zx_tmp_fi2d)
445      ENDIF
446
447      IF (o_v10m_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN
448      zx_tmp_fi2d(1 : klon) = v10m(1 : klon, nsrf)
449      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
450     $o_v10m_srf(nsrf)%name,
451     $              itau_w,zx_tmp_fi2d)
452      ENDIF
453 
454      IF (o_t2m_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN
455      zx_tmp_fi2d(1 : klon) = t2m(1 : klon, nsrf)
456      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
457     $o_t2m_srf(nsrf)%name,
458     $           itau_w,zx_tmp_fi2d)
459      ENDIF
460
461      IF (o_evap_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN
462      zx_tmp_fi2d(1 : klon) = fevap(1 : klon, nsrf)
463      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
464     $o_evap_srf(nsrf)%name,
465     $           itau_w,zx_tmp_fi2d)
466      ENDIF
467
468       IF (o_sens_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN
469       zx_tmp_fi2d(1 : klon) = fluxt( 1 : klon, 1, nsrf)
470       CALL histwrite_phy(nid_files(iff),clef_stations(iff),
471     $                    o_sens_srf(nsrf)%name,itau_w,
472     $      zx_tmp_fi2d)
473       ENDIF
474
475        IF (o_lat_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN
476        zx_tmp_fi2d(1 : klon) = fluxlat( 1 : klon, nsrf)
477        CALL histwrite_phy(nid_files(iff),clef_stations(iff),
478     $                 o_lat_srf(nsrf)%name,itau_w,
479     $                                   zx_tmp_fi2d)
480          ENDIF
481
482        IF (o_flw_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN
483        zx_tmp_fi2d(1 : klon) = fsollw( 1 : klon, nsrf)
484        CALL histwrite_phy(nid_files(iff),clef_stations(iff),
485     $                     o_flw_srf(nsrf)%name,itau_w,
486     $      zx_tmp_fi2d)
487        ENDIF
488
489        IF (o_fsw_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN
490        zx_tmp_fi2d(1 : klon) = fsolsw( 1 : klon, nsrf)
491        CALL histwrite_phy(nid_files(iff),clef_stations(iff),
492     $                   o_fsw_srf(nsrf)%name,itau_w,
493     $      zx_tmp_fi2d)
494        ENDIF
495
496        IF (o_wbils_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN
497        zx_tmp_fi2d(1 : klon) = wfbils( 1 : klon, nsrf)
498        CALL histwrite_phy(nid_files(iff),clef_stations(iff),
499     $                   o_wbils_srf(nsrf)%name,itau_w,
500     $      zx_tmp_fi2d)
501        ENDIF
502
503        IF (o_wbilo_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN
504        zx_tmp_fi2d(1 : klon) = wfbilo( 1 : klon, nsrf)
505        CALL histwrite_phy(nid_files(iff),clef_stations(iff),
506     $                    o_wbilo_srf(nsrf)%name,itau_w,
507     $      zx_tmp_fi2d)
508        ENDIF
509
510       if (iflag_pbl>1 .and. lev_files(iff).gt.10 ) then
511        IF (o_tke_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN
512        CALL histwrite_phy(nid_files(iff),clef_stations(iff),
513     $                   o_tke_srf(nsrf)%name,itau_w,
514     $                    pbl_tke(:,1:klev,nsrf))
515       ENDIF
516
517      IF (.NOT.clef_stations(iff)) THEN
518        IF (o_tke_max_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN
519        CALL histwrite_phy(nid_files(iff),clef_stations(iff),
520     $                    o_tke_max_srf(nsrf)%name,itau_w,
521     $      pbl_tke(:,1:klev,nsrf))
522        ENDIF
523      ENDIF
524       endif
525      ENDDO
526
527        IF (o_cdrm%flag(iff)<=lev_files(iff)) THEN
528      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
529     $o_cdrm%name,itau_w,cdragm)
530        ENDIF
531
532        IF (o_cdrh%flag(iff)<=lev_files(iff)) THEN
533      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
534     $o_cdrh%name,itau_w,cdragh)
535        ENDIF
536
537        IF (o_cldl%flag(iff)<=lev_files(iff)) THEN
538      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
539     $o_cldl%name,itau_w,cldl)
540        ENDIF
541
542        IF (o_cldm%flag(iff)<=lev_files(iff)) THEN
543      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
544     $o_cldm%name,itau_w,cldm)
545        ENDIF
546
547        IF (o_cldh%flag(iff)<=lev_files(iff)) THEN
548      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
549     $o_cldh%name,itau_w,cldh)
550        ENDIF
551
552        IF (o_cldt%flag(iff)<=lev_files(iff)) THEN
553      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
554     $o_cldt%name, 
555     &                   itau_w,cldt)
556        ENDIF
557
558        IF (o_cldq%flag(iff)<=lev_files(iff)) THEN
559      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
560     $o_cldq%name,itau_w,cldq)
561        ENDIF
562
563        IF (o_lwp%flag(iff)<=lev_files(iff)) THEN
564      zx_tmp_fi2d(1:klon) = flwp(1:klon)
565      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
566     s                   o_lwp%name,itau_w,zx_tmp_fi2d)
567        ENDIF
568
569        IF (o_iwp%flag(iff)<=lev_files(iff)) THEN
570      zx_tmp_fi2d(1:klon) = fiwp(1:klon)
571      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
572     s                    o_iwp%name,itau_w,zx_tmp_fi2d)
573        ENDIF
574
575        IF (o_ue%flag(iff)<=lev_files(iff)) THEN
576      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
577     $o_ue%name,itau_w,ue)
578        ENDIF
579
580        IF (o_ve%flag(iff)<=lev_files(iff)) THEN
581      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
582     $o_ve%name,itau_w,ve)
583        ENDIF
584
585        IF (o_uq%flag(iff)<=lev_files(iff)) THEN
586      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
587     $o_uq%name,itau_w,uq)
588        ENDIF
589
590        IF (o_vq%flag(iff)<=lev_files(iff)) THEN
591      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
592     $o_vq%name,itau_w,vq)
593        ENDIF
594
595      IF(iflag_con.GE.3) THEN ! sb
596        IF (o_cape%flag(iff)<=lev_files(iff)) THEN
597      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
598     $o_cape%name,itau_w,cape)
599        ENDIF
600
601        IF (o_pbase%flag(iff)<=lev_files(iff)) THEN
602      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
603     $o_pbase%name,itau_w,ema_pcb)
604        ENDIF
605
606        IF (o_ptop%flag(iff)<=lev_files(iff)) THEN
607      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
608     $o_ptop%name,itau_w,ema_pct)
609        ENDIF
610
611        IF (o_fbase%flag(iff)<=lev_files(iff)) THEN
612      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
613     $o_fbase%name,itau_w,ema_cbmf)
614        ENDIF
615
616        if (iflag_con /= 30) then
617           if (o_plcl%flag(iff)<=lev_files(iff)) THEN
618              CALL histwrite_phy(nid_files(iff),clef_stations(iff),
619     $             o_plcl%name,itau_w,plcl)
620           ENDIF
621
622           IF (o_plfc%flag(iff)<=lev_files(iff)) THEN
623              CALL histwrite_phy(nid_files(iff),clef_stations(iff),
624     $             o_plfc%name,itau_w,plfc)
625           ENDIF
626
627           IF (o_wbeff%flag(iff)<=lev_files(iff)) THEN
628              CALL histwrite_phy(nid_files(iff),clef_stations(iff),
629     $             o_wbeff%name,itau_w,wbeff)
630           ENDIF
631        end if
632
633      IF (.NOT.clef_stations(iff)) THEN
634      IF (o_cape_max%flag(iff)<=lev_files(iff)) THEN
635      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
636     $o_cape_max%name,itau_w,cape)
637      ENDIF
638      ENDIF
639
640       IF (o_upwd%flag(iff)<=lev_files(iff)) THEN
641      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
642     $o_upwd%name,itau_w,upwd)
643       ENDIF
644
645       IF (o_Ma%flag(iff)<=lev_files(iff)) THEN
646      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
647     $o_Ma%name,itau_w,Ma)
648       ENDIF
649
650       IF (o_dnwd%flag(iff)<=lev_files(iff)) THEN
651      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
652     $o_dnwd%name,itau_w,dnwd)
653       ENDIF
654
655       IF (o_dnwd0%flag(iff)<=lev_files(iff)) THEN
656      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
657     $o_dnwd0%name,itau_w,dnwd0)
658       ENDIF
659
660       IF (o_ftime_con%flag(iff)<=lev_files(iff)) THEN
661        zx_tmp_fi2d=float(itau_con)/float(itap)
662      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
663     $o_ftime_con%name,
664     s                   itau_w,zx_tmp_fi2d)
665       ENDIF
666
667       IF (o_mc%flag(iff)<=lev_files(iff)) THEN
668        if(iflag_thermals>=1)then
669         zx_tmp_fi3d=dnwd+dnwd0+upwd+fm_therm(:,1:klev)
670        else
671         zx_tmp_fi3d=dnwd+dnwd0+upwd
672        endif
673      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
674     $o_mc%name,itau_w,zx_tmp_fi3d)
675       ENDIF
676     
677      ENDIF !iflag_con .GE. 3
678
679        IF (o_prw%flag(iff)<=lev_files(iff)) THEN
680      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
681     $o_prw%name,itau_w,prw)
682        ENDIF
683
684        IF (o_s_pblh%flag(iff)<=lev_files(iff)) THEN
685      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
686     $o_s_pblh%name,itau_w,s_pblh)
687        ENDIF
688
689        IF (o_s_pblt%flag(iff)<=lev_files(iff)) THEN
690      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
691     $o_s_pblt%name,itau_w,s_pblt)
692        ENDIF
693
694        IF (o_s_lcl%flag(iff)<=lev_files(iff)) THEN
695      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
696     $o_s_lcl%name,itau_w,s_lcl)
697        ENDIF
698
699        IF (o_s_therm%flag(iff)<=lev_files(iff)) THEN
700      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
701     $o_s_therm%name,itau_w,s_therm)
702        ENDIF
703
704!IM : Les champs suivants (s_capCL, s_oliqCL, s_cteiCL, s_trmb1, s_trmb2, s_trmb3) ne sont pas definis dans HBTM.F
705!       IF (o_s_capCL%flag(iff)<=lev_files(iff)) THEN
706!     CALL histwrite_phy(nid_files(iff),clef_stations(iff),
707!    $o_s_capCL%name,itau_w,s_capCL)
708!       ENDIF
709
710!       IF (o_s_oliqCL%flag(iff)<=lev_files(iff)) THEN
711!     CALL histwrite_phy(nid_files(iff),clef_stations(iff),
712!    $o_s_oliqCL%name,itau_w,s_oliqCL)
713!       ENDIF
714
715!       IF (o_s_cteiCL%flag(iff)<=lev_files(iff)) THEN
716!     CALL histwrite_phy(nid_files(iff),clef_stations(iff),
717!    $o_s_cteiCL%name,itau_w,s_cteiCL)
718!       ENDIF
719
720!       IF (o_s_trmb1%flag(iff)<=lev_files(iff)) THEN
721!     CALL histwrite_phy(nid_files(iff),clef_stations(iff),
722!    $o_s_trmb1%name,itau_w,s_trmb1)
723!       ENDIF
724
725!       IF (o_s_trmb2%flag(iff)<=lev_files(iff)) THEN
726!     CALL histwrite_phy(nid_files(iff),clef_stations(iff),
727!    $o_s_trmb2%name,itau_w,s_trmb2)
728!       ENDIF
729
730!       IF (o_s_trmb3%flag(iff)<=lev_files(iff)) THEN
731!     CALL histwrite_phy(nid_files(iff),clef_stations(iff),
732!    $o_s_trmb3%name,itau_w,s_trmb3)
733!       ENDIF
734
735! Champs interpolles sur des niveaux de pression
736
737        ll=0
738        DO k=1, nlevSTD
739         bb2=clevSTD(k) 
740         IF(bb2.EQ."850".OR.bb2.EQ."700".OR.
741     $      bb2.EQ."500".OR.bb2.EQ."200".OR.
742     $      bb2.EQ."100".OR.
743     $      bb2.EQ."50".OR.bb2.EQ."10") THEN
744
745! a refaire correctement !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
746          ll=ll+1
747       IF (o_uSTDlevs(ll)%flag(iff)<=lev_files(iff)) THEN
748       CALL histwrite_phy(nid_files(iff),clef_stations(iff),
749     $o_uSTDlevs(ll)%name,
750     &                    itau_w,uwriteSTD(:,k,iff))
751       ENDIF
752
753       IF (o_vSTDlevs(ll)%flag(iff)<=lev_files(iff)) THEN
754      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
755     $o_vSTDlevs(ll)%name, 
756     &                   itau_w,vwriteSTD(:,k,iff))
757       ENDIF
758
759       IF (o_wSTDlevs(ll)%flag(iff)<=lev_files(iff)) THEN
760      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
761     $o_wSTDlevs(ll)%name,
762     &                    itau_w,wwriteSTD(:,k,iff))
763       ENDIF
764
765       IF (o_zSTDlevs(ll)%flag(iff)<=lev_files(iff)) THEN
766      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
767     $o_zSTDlevs(ll)%name,
768     &               itau_w,phiwriteSTD(:,k,iff))
769       ENDIF
770
771       IF (o_qSTDlevs(ll)%flag(iff)<=lev_files(iff)) THEN
772      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
773     $o_qSTDlevs(ll)%name,
774     &                   itau_w, qwriteSTD(:,k,iff))
775       ENDIF
776
777       IF (o_tSTDlevs(ll)%flag(iff)<=lev_files(iff)) THEN
778      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
779     $o_tSTDlevs(ll)%name,
780     &                   itau_w, twriteSTD(:,k,iff))
781       ENDIF
782
783       ENDIF !(bb2.EQ."850".OR.bb2.EQ."700".OR.
784       ENDDO
785
786      IF (o_t_oce_sic%flag(iff)<=lev_files(iff)) THEN
787      DO i=1, klon
788       IF (pctsrf(i,is_oce).GT.epsfra.OR.
789     $     pctsrf(i,is_sic).GT.epsfra) THEN
790        zx_tmp_fi2d(i) = (ftsol(i, is_oce) * pctsrf(i,is_oce)+
791     $                   ftsol(i, is_sic) * pctsrf(i,is_sic))/
792     $                   (pctsrf(i,is_oce)+pctsrf(i,is_sic))
793       ELSE
794        zx_tmp_fi2d(i) = 273.15
795       ENDIF
796      ENDDO
797      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
798     s                   o_t_oce_sic%name,itau_w,zx_tmp_fi2d)
799      ENDIF
800
801! Couplage convection-couche limite
802      IF (iflag_con.GE.3) THEN
803      IF (iflag_coupl>=1) THEN
804       IF (o_ale_bl%flag(iff)<=lev_files(iff)) THEN
805       CALL histwrite_phy(nid_files(iff),clef_stations(iff),
806     $o_ale_bl%name,itau_w,ale_bl)
807       ENDIF
808       IF (o_alp_bl%flag(iff)<=lev_files(iff)) THEN
809       CALL histwrite_phy(nid_files(iff),clef_stations(iff),
810     $o_alp_bl%name,itau_w,alp_bl)
811       ENDIF
812      ENDIF !iflag_coupl>=1
813      ENDIF !(iflag_con.GE.3)
814
815! Wakes
816      IF (iflag_con.EQ.3) THEN
817      IF (iflag_wake>=1) THEN
818       IF (o_ale_wk%flag(iff)<=lev_files(iff)) THEN
819       CALL histwrite_phy(nid_files(iff),clef_stations(iff),
820     $o_ale_wk%name,itau_w,ale_wake)
821       ENDIF
822       IF (o_alp_wk%flag(iff)<=lev_files(iff)) THEN
823       CALL histwrite_phy(nid_files(iff),clef_stations(iff),
824     $o_alp_wk%name,itau_w,alp_wake)
825       ENDIF
826
827       IF (o_ale%flag(iff)<=lev_files(iff)) THEN
828       CALL histwrite_phy(nid_files(iff),clef_stations(iff),
829     $o_ale%name,itau_w,ale)
830       ENDIF
831       IF (o_alp%flag(iff)<=lev_files(iff)) THEN
832       CALL histwrite_phy(nid_files(iff),clef_stations(iff),
833     $o_alp%name,itau_w,alp)
834       ENDIF
835       IF (o_cin%flag(iff)<=lev_files(iff)) THEN
836       CALL histwrite_phy(nid_files(iff),clef_stations(iff),
837     $o_cin%name,itau_w,cin)
838       ENDIF
839       IF (o_wape%flag(iff)<=lev_files(iff)) THEN
840       CALL histwrite_phy(nid_files(iff),clef_stations(iff),
841     $o_WAPE%name,itau_w,wake_pe)
842       ENDIF
843       IF (o_wake_h%flag(iff)<=lev_files(iff)) THEN
844      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
845     $o_wake_h%name,itau_w,wake_h)
846       ENDIF
847
848       IF (o_wake_s%flag(iff)<=lev_files(iff)) THEN
849      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
850     $o_wake_s%name,itau_w,wake_s)
851       ENDIF
852
853        IF (o_wake_deltat%flag(iff)<=lev_files(iff)) THEN
854       CALL histwrite_phy(nid_files(iff),clef_stations(iff),
855     $o_wake_deltat%name,
856     $                     itau_w,wake_deltat)
857        ENDIF
858
859        IF (o_wake_deltaq%flag(iff)<=lev_files(iff)) THEN
860       CALL histwrite_phy(nid_files(iff),clef_stations(iff),
861     $o_wake_deltaq%name,
862     $                    itau_w,wake_deltaq)
863        ENDIF
864
865        IF (o_wake_omg%flag(iff)<=lev_files(iff)) THEN
866       CALL histwrite_phy(nid_files(iff),clef_stations(iff),
867     s                    o_wake_omg%name,itau_w,wake_omg)
868        ENDIF
869
870         IF (o_dtwak%flag(iff)<=lev_files(iff)) THEN
871           zx_tmp_fi3d(1:klon,1:klev)=d_t_wake(1:klon,1:klev)
872     &                                        /pdtphys
873           CALL histwrite_phy(nid_files(iff),
874     $clef_stations(iff),
875     &                       o_dtwak%name,itau_w,zx_tmp_fi3d)
876         ENDIF
877
878        IF (o_dqwak%flag(iff)<=lev_files(iff)) THEN
879        zx_tmp_fi3d(1:klon,1:klev)=d_q_wake(1:klon,1:klev)/pdtphys
880        CALL histwrite_phy(nid_files(iff),clef_stations(iff),
881     &                     o_dqwak%name,itau_w,zx_tmp_fi3d)
882        ENDIF
883      ENDIF ! iflag_wake>=1
884
885        IF (o_Vprecip%flag(iff)<=lev_files(iff)) THEN
886       CALL histwrite_phy(nid_files(iff),clef_stations(iff),
887     $o_Vprecip%name,itau_w,Vprecip)
888        ENDIF
889
890        IF (o_ftd%flag(iff)<=lev_files(iff)) THEN
891       CALL histwrite_phy(nid_files(iff),clef_stations(iff),
892     $o_ftd%name,itau_w,ftd)
893        ENDIF
894
895        IF (o_fqd%flag(iff)<=lev_files(iff)) THEN
896       CALL histwrite_phy(nid_files(iff),clef_stations(iff),
897     $o_fqd%name,itau_w,fqd)
898        ENDIF
899      ENDIF !(iflag_con.EQ.3) 
900 
901!!! nrlmd le 10/04/2012
902
903        IF (iflag_trig_bl>=1) THEN
904          IF (o_n2%flag(iff)<=lev_files(iff)) THEN
905        CALL histwrite_phy(nid_files(iff),clef_stations(iff),
906     s                     o_n2%name,itau_w,n2)
907         ENDIF
908
909         IF (o_s2%flag(iff)<=lev_files(iff)) THEN
910        CALL histwrite_phy(nid_files(iff),clef_stations(iff),
911     s                     o_s2%name,itau_w,s2)
912         ENDIF
913
914          IF (o_proba_notrig%flag(iff)<=lev_files(iff)) THEN
915        CALL histwrite_phy(nid_files(iff),clef_stations(iff),
916     s                     o_proba_notrig%name,itau_w,proba_notrig)
917         ENDIF
918
919         IF (o_random_notrig%flag(iff)<=lev_files(iff)) THEN
920        CALL histwrite_phy(nid_files(iff),clef_stations(iff),
921     s                     o_random_notrig%name,itau_w,random_notrig)
922         ENDIF
923
924         IF (o_ale_bl_stat%flag(iff)<=lev_files(iff)) THEN
925        CALL histwrite_phy(nid_files(iff),clef_stations(iff),
926     s                     o_ale_bl_stat%name,itau_w,ale_bl_stat)
927         ENDIF
928
929         IF (o_ale_bl_trig%flag(iff)<=lev_files(iff)) THEN
930        CALL histwrite_phy(nid_files(iff),clef_stations(iff),
931     s                     o_ale_bl_trig%name,itau_w,ale_bl_trig)
932         ENDIF
933       ENDIF  !(iflag_trig_bl>=1)
934
935        IF (iflag_clos_bl>=1) THEN
936         IF (o_alp_bl_det%flag(iff)<=lev_files(iff)) THEN
937        CALL histwrite_phy(nid_files(iff),clef_stations(iff),
938     s                     o_alp_bl_det%name,itau_w,alp_bl_det)
939         ENDIF
940
941         IF (o_alp_bl_fluct_m%flag(iff)<=lev_files(iff)) THEN
942        CALL histwrite_phy(nid_files(iff),clef_stations(iff),
943     s                     o_alp_bl_fluct_m%name,itau_w,alp_bl_fluct_m)
944         ENDIF
945
946         IF (o_alp_bl_fluct_tke%flag(iff)<=lev_files(iff)) THEN
947        CALL histwrite_phy(nid_files(iff),clef_stations(iff),
948     s                o_alp_bl_fluct_tke%name,itau_w,alp_bl_fluct_tke)
949         ENDIF
950
951         IF (o_alp_bl_conv%flag(iff)<=lev_files(iff)) THEN
952        CALL histwrite_phy(nid_files(iff),clef_stations(iff),
953     s                     o_alp_bl_conv%name,itau_w,alp_bl_conv)
954         ENDIF
955
956         IF (o_alp_bl_stat%flag(iff)<=lev_files(iff)) THEN
957        CALL histwrite_phy(nid_files(iff),clef_stations(iff),
958     s                     o_alp_bl_stat%name,itau_w,alp_bl_stat)
959         ENDIF
960       ENDIF  !(iflag_clos_bl>=1)
961
962!!! fin nrlmd le 10/04/2012
963
964      IF (type_ocean=='slab ') THEN
965      IF ( o_slab_bils%flag(iff)<=lev_files(iff)) 
966     $     CALL histwrite_phy(
967     $     nid_files(iff),clef_stations(iff),
968     $o_slab_bils%name,itau_w,slab_wfbils)
969
970      ENDIF !type_ocean == force/slab
971
972      IF (o_weakinv%flag(iff)<=lev_files(iff)) THEN
973      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
974     s                  o_weakinv%name,itau_w,weak_inversion)
975      ENDIF
976
977      IF (o_dthmin%flag(iff)<=lev_files(iff)) THEN
978      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
979     $o_dthmin%name,itau_w,dthmin)
980      ENDIF
981
982       IF (o_cldtau%flag(iff)<=lev_files(iff)) THEN
983       CALL histwrite_phy(nid_files(iff),clef_stations(iff),
984     $o_cldtau%name,itau_w,cldtau)
985       ENDIF
986
987       IF (o_cldemi%flag(iff)<=lev_files(iff)) THEN
988       CALL histwrite_phy(nid_files(iff),clef_stations(iff),
989     $o_cldemi%name,itau_w,cldemi)
990       ENDIF
991
992      IF (o_pr_con_l%flag(iff)<=lev_files(iff)) THEN
993      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
994     s         o_pr_con_l%name,itau_w,pmflxr(:,1:klev))
995      ENDIF
996
997      IF (o_pr_con_i%flag(iff)<=lev_files(iff)) THEN
998      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
999     s         o_pr_con_i%name,itau_w,pmflxs(:,1:klev))
1000      ENDIF
1001
1002      IF (o_pr_lsc_l%flag(iff)<=lev_files(iff)) THEN
1003      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1004     s        o_pr_lsc_l%name,itau_w,prfl(:,1:klev))
1005      ENDIF
1006
1007      IF (o_pr_lsc_i%flag(iff)<=lev_files(iff)) THEN
1008      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1009     s        o_pr_lsc_i%name,itau_w,psfl(:,1:klev))
1010      ENDIF
1011
1012      IF (o_re%flag(iff)<=lev_files(iff)) THEN
1013      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1014     $o_re%name,itau_w,re)
1015      ENDIF
1016
1017      IF (o_fl%flag(iff)<=lev_files(iff)) THEN
1018      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1019     $o_fl%name,itau_w,fl)
1020      ENDIF
1021
1022
1023
1024      IF (o_rh2m%flag(iff)<=lev_files(iff)) THEN
1025      DO i=1, klon
1026       zx_tmp_fi2d(i)=MIN(100.,rh2m(i)*100.)
1027      ENDDO
1028      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1029     $o_rh2m%name,itau_w,zx_tmp_fi2d)
1030      ENDIF
1031
1032      IF (.NOT.clef_stations(iff)) THEN
1033      IF (o_rh2m_min%flag(iff)<=lev_files(iff)) THEN
1034      DO i=1, klon
1035       zx_tmp_fi2d(i)=MIN(100.,rh2m(i)*100.)
1036      ENDDO
1037      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1038     $o_rh2m_min%name,
1039     s               itau_w,zx_tmp_fi2d)
1040      ENDIF
1041
1042      IF (o_rh2m_max%flag(iff)<=lev_files(iff)) THEN
1043      DO i=1, klon
1044       zx_tmp_fi2d(i)=MIN(100.,rh2m(i)*100.)
1045      ENDDO
1046      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1047     $o_rh2m_max%name,
1048     s              itau_w,zx_tmp_fi2d)
1049      ENDIF
1050      ENDIF
1051
1052
1053      IF (o_qsat2m%flag(iff)<=lev_files(iff)) THEN
1054      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1055     $o_qsat2m%name,itau_w,qsat2m)
1056      ENDIF
1057
1058      IF (o_tpot%flag(iff)<=lev_files(iff)) THEN
1059      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1060     $o_tpot%name,itau_w,tpot)
1061      ENDIF
1062
1063       IF (o_tpote%flag(iff)<=lev_files(iff)) THEN
1064      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1065     $o_tpote%name,itau_w,tpote)
1066       ENDIF
1067
1068      IF (o_SWnetOR%flag(iff)<=lev_files(iff)) THEN
1069      zx_tmp_fi2d(1 : klon) = fsolsw( 1 : klon, is_ter)
1070      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1071     s                   o_SWnetOR%name,itau_w, zx_tmp_fi2d)
1072      ENDIF
1073
1074      IF (o_SWdownOR%flag(iff)<=lev_files(iff)) THEN
1075      zx_tmp_fi2d(1:klon) = solsw(1:klon)/(1.-albsol1(1:klon))
1076      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1077     s                   o_SWdownOR%name,itau_w, zx_tmp_fi2d)
1078      ENDIF
1079
1080      IF (o_LWdownOR%flag(iff)<=lev_files(iff)) THEN
1081      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1082     s                  o_LWdownOR%name,itau_w,sollwdown)
1083      ENDIF
1084
1085      IF (o_snowl%flag(iff)<=lev_files(iff)) THEN
1086      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1087     $o_snowl%name,itau_w,snow_lsc)
1088      ENDIF
1089
1090      IF (o_solldown%flag(iff)<=lev_files(iff)) THEN
1091      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1092     s                   o_solldown%name,itau_w,sollwdown)
1093      ENDIF
1094
1095      IF (o_dtsvdfo%flag(iff)<=lev_files(iff)) THEN
1096      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1097     s                 o_dtsvdfo%name,itau_w,d_ts(:,is_oce))
1098      ENDIF
1099
1100      IF (o_dtsvdft%flag(iff)<=lev_files(iff)) THEN
1101      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1102     s                   o_dtsvdft%name,itau_w,d_ts(:,is_ter))
1103      ENDIF
1104
1105       IF (o_dtsvdfg%flag(iff)<=lev_files(iff)) THEN
1106        CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1107     $                   o_dtsvdfg%name,itau_w, d_ts(:,is_lic))
1108       ENDIF
1109
1110       IF (o_dtsvdfi%flag(iff)<=lev_files(iff)) THEN
1111      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1112     s                   o_dtsvdfi%name,itau_w,d_ts(:,is_sic))
1113       ENDIF
1114
1115       IF (o_rugs%flag(iff)<=lev_files(iff)) THEN
1116      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1117     $o_rugs%name,itau_w,zxrugs)
1118       ENDIF
1119
1120! OD550 per species
1121      IF (new_aod .and. (.not. aerosol_couple)) THEN
1122          IF (ok_ade.OR.ok_aie) THEN
1123
1124          IF (o_od550aer%flag(iff)<=lev_files(iff)) THEN
1125             CALL histwrite_phy(nid_files(iff),
1126     $clef_stations(iff),
1127     $o_od550aer%name,itau_w,
1128     $            od550aer)
1129          ENDIF
1130          IF (o_od865aer%flag(iff)<=lev_files(iff)) THEN
1131             CALL histwrite_phy(nid_files(iff),
1132     $clef_stations(iff),
1133     $o_od865aer%name,itau_w,
1134     $            od865aer)
1135          ENDIF
1136          IF (o_absvisaer%flag(iff)<=lev_files(iff)) THEN
1137             CALL histwrite_phy(nid_files(iff),
1138     $clef_stations(iff),
1139     $o_absvisaer%name,itau_w,
1140     $            absvisaer)
1141          ENDIF
1142          IF (o_od550lt1aer%flag(iff)<=lev_files(iff)) THEN
1143            CALL histwrite_phy(nid_files(iff),
1144     $clef_stations(iff),
1145     $o_od550lt1aer%name,itau_w,
1146     $            od550lt1aer)
1147          ENDIF
1148
1149          IF (o_sconcso4%flag(iff)<=lev_files(iff)) THEN
1150              CALL histwrite_phy(nid_files(iff),
1151     $clef_stations(iff),
1152     $o_sconcso4%name,itau_w,
1153     $            sconcso4)
1154          ENDIF
1155          IF (o_sconcoa%flag(iff)<=lev_files(iff)) THEN
1156              CALL histwrite_phy(nid_files(iff),
1157     $clef_stations(iff),
1158     $o_sconcoa%name,itau_w,
1159     $            sconcoa)
1160          ENDIF
1161          IF (o_sconcbc%flag(iff)<=lev_files(iff)) THEN
1162              CALL histwrite_phy(nid_files(iff),
1163     $clef_stations(iff),
1164     $o_sconcbc%name,itau_w,
1165     $            sconcbc)
1166          ENDIF
1167          IF (o_sconcss%flag(iff)<=lev_files(iff)) THEN
1168              CALL histwrite_phy(nid_files(iff),
1169     $clef_stations(iff),
1170     $o_sconcss%name,itau_w,
1171     $            sconcss)
1172          ENDIF
1173          IF (o_sconcdust%flag(iff)<=lev_files(iff)) THEN
1174              CALL histwrite_phy(nid_files(iff),
1175     $clef_stations(iff),
1176     $o_sconcdust%name,itau_w,
1177     $            sconcdust)
1178          ENDIF
1179         
1180          IF (o_concso4%flag(iff)<=lev_files(iff)) THEN
1181              CALL histwrite_phy(nid_files(iff),
1182     $clef_stations(iff),
1183     $o_concso4%name,itau_w,
1184     $            concso4)
1185          ENDIF
1186          IF (o_concoa%flag(iff)<=lev_files(iff)) THEN
1187              CALL histwrite_phy(nid_files(iff),
1188     $clef_stations(iff),
1189     $o_concoa%name,itau_w,
1190     $            concoa)
1191          ENDIF
1192          IF (o_concbc%flag(iff)<=lev_files(iff)) THEN
1193              CALL histwrite_phy(nid_files(iff),
1194     $clef_stations(iff),
1195     $o_concbc%name,itau_w,
1196     $            concbc)
1197          ENDIF
1198          IF (o_concss%flag(iff)<=lev_files(iff)) THEN
1199              CALL histwrite_phy(nid_files(iff),
1200     $clef_stations(iff),
1201     $o_concss%name,itau_w,
1202     $            concss)
1203          ENDIF
1204          IF (o_concdust%flag(iff)<=lev_files(iff)) THEN
1205              CALL histwrite_phy(nid_files(iff),
1206     $clef_stations(iff),
1207     $o_concdust%name,itau_w,
1208     $            concdust)
1209          ENDIF
1210         
1211          IF (o_loadso4%flag(iff)<=lev_files(iff)) THEN
1212              CALL histwrite_phy(nid_files(iff),
1213     $clef_stations(iff),
1214     $o_loadso4%name,itau_w,
1215     $            loadso4)
1216          ENDIF
1217          IF (o_loadoa%flag(iff)<=lev_files(iff)) THEN
1218              CALL histwrite_phy(nid_files(iff),
1219     $clef_stations(iff),
1220     $o_loadoa%name,itau_w,
1221     $            loadoa)
1222          ENDIF
1223          IF (o_loadbc%flag(iff)<=lev_files(iff)) THEN
1224              CALL histwrite_phy(nid_files(iff),
1225     $clef_stations(iff),
1226     $o_loadbc%name,itau_w,
1227     $            loadbc)
1228          ENDIF
1229          IF (o_loadss%flag(iff)<=lev_files(iff)) THEN
1230              CALL histwrite_phy(nid_files(iff),
1231     $clef_stations(iff),
1232     $o_loadss%name,itau_w,
1233     $            loadss)
1234          ENDIF
1235          IF (o_loaddust%flag(iff)<=lev_files(iff)) THEN
1236              CALL histwrite_phy(nid_files(iff),
1237     $clef_stations(iff),
1238     $o_loaddust%name,itau_w,
1239     $            loaddust)
1240          ENDIF
1241         
1242          DO naero = 1, naero_spc
1243            IF (o_tausumaero(naero)%flag(iff)<=lev_files(iff)) THEN
1244                CALL histwrite_phy(nid_files(iff),
1245     $clef_stations(iff),
1246     $              o_tausumaero(naero)%name,itau_w,
1247     $              tausum_aero(:,2,naero) )
1248            ENDIF
1249          END DO
1250          endif
1251      ENDIF
1252     
1253       IF (ok_ade) THEN
1254          IF (o_topswad%flag(iff)<=lev_files(iff)) THEN
1255             CALL histwrite_phy(nid_files(iff),
1256     $clef_stations(iff),
1257     $o_topswad%name,itau_w,
1258     $            topswad_aero)
1259          ENDIF
1260          IF (o_topswad0%flag(iff)<=lev_files(iff)) THEN
1261             CALL histwrite_phy(nid_files(iff),
1262     $clef_stations(iff),
1263     $o_topswad0%name,itau_w,
1264     $            topswad0_aero)
1265          ENDIF
1266          IF (o_solswad%flag(iff)<=lev_files(iff)) THEN
1267             CALL histwrite_phy(nid_files(iff),
1268     $clef_stations(iff),
1269     $o_solswad%name,itau_w,
1270     $            solswad_aero)
1271          ENDIF
1272          IF (o_solswad0%flag(iff)<=lev_files(iff)) THEN
1273             CALL histwrite_phy(nid_files(iff),
1274     $clef_stations(iff),
1275     $o_solswad0%name,itau_w,
1276     $            solswad0_aero)
1277          ENDIF
1278
1279!====MS forcing diagnostics
1280        if (new_aod) then             
1281        IF (o_swtoaas_nat%flag(iff)<=lev_files(iff)) THEN
1282        CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1283     $o_swtoaas_nat%name,itau_w,
1284     $      topsw_aero(:,1))
1285        ENDIF
1286
1287        IF (o_swsrfas_nat%flag(iff)<=lev_files(iff)) THEN
1288        CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1289     $o_swsrfas_nat%name,itau_w,
1290     $      solsw_aero(:,1))
1291        ENDIF
1292
1293        IF (o_swtoacs_nat%flag(iff)<=lev_files(iff)) THEN
1294        CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1295     $o_swtoacs_nat%name,itau_w,
1296     $      topsw0_aero(:,1))
1297        ENDIF
1298
1299        IF (o_swsrfcs_nat%flag(iff)<=lev_files(iff)) THEN
1300        CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1301     $o_swsrfcs_nat%name,itau_w,
1302     $      solsw0_aero(:,1))
1303        ENDIF
1304 
1305!ant
1306        IF (o_swtoaas_ant%flag(iff)<=lev_files(iff)) THEN
1307        CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1308     $o_swtoaas_ant%name,itau_w,
1309     $      topsw_aero(:,2))
1310        ENDIF
1311
1312        IF (o_swsrfas_ant%flag(iff)<=lev_files(iff)) THEN
1313        CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1314     $o_swsrfas_ant%name,itau_w,
1315     $      solsw_aero(:,2))
1316        ENDIF
1317
1318        IF (o_swtoacs_ant%flag(iff)<=lev_files(iff)) THEN
1319        CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1320     $o_swtoacs_ant%name,itau_w,
1321     $      topsw0_aero(:,2))
1322        ENDIF
1323
1324        IF (o_swsrfcs_ant%flag(iff)<=lev_files(iff)) THEN
1325        CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1326     $o_swsrfcs_ant%name,itau_w,
1327     $      solsw0_aero(:,2))
1328        ENDIF
1329
1330!cf
1331
1332        if (.not. aerosol_couple) then
1333        IF (o_swtoacf_nat%flag(iff)<=lev_files(iff)) THEN
1334        CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1335     $o_swtoacf_nat%name,itau_w,
1336     $      topswcf_aero(:,1))
1337        ENDIF
1338
1339        IF (o_swsrfcf_nat%flag(iff)<=lev_files(iff)) THEN
1340        CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1341     $o_swsrfcf_nat%name,itau_w,
1342     $      solswcf_aero(:,1))
1343        ENDIF
1344
1345        IF (o_swtoacf_ant%flag(iff)<=lev_files(iff)) THEN
1346        CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1347     $o_swtoacf_ant%name,itau_w,
1348     $      topswcf_aero(:,2))
1349        ENDIF
1350
1351        IF (o_swsrfcf_ant%flag(iff)<=lev_files(iff)) THEN
1352        CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1353     $o_swsrfcf_ant%name,itau_w,
1354     $      solswcf_aero(:,2))
1355        ENDIF
1356
1357        IF (o_swtoacf_zero%flag(iff)<=lev_files(iff)) THEN
1358        CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1359     $o_swtoacf_zero%name,itau_w,
1360     $      topswcf_aero(:,3))
1361        ENDIF
1362
1363        IF (o_swsrfcf_zero%flag(iff)<=lev_files(iff)) THEN
1364        CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1365     $o_swsrfcf_zero%name,itau_w,
1366     $      solswcf_aero(:,3))
1367        ENDIF
1368        endif
1369
1370        endif ! new_aod
1371!====MS forcing diagnostics
1372
1373       ENDIF
1374
1375       IF (ok_aie) THEN
1376          IF (o_topswai%flag(iff)<=lev_files(iff)) THEN
1377             CALL histwrite_phy(nid_files(iff),
1378     $clef_stations(iff),
1379     $o_topswai%name,itau_w,
1380     $            topswai_aero)
1381          ENDIF
1382          IF (o_solswai%flag(iff)<=lev_files(iff)) THEN
1383             CALL histwrite_phy(nid_files(iff),
1384     $clef_stations(iff),
1385     $o_solswai%name,itau_w,
1386     $            solswai_aero)
1387          ENDIF
1388          IF (o_scdnc%flag(iff)<=lev_files(iff)) THEN
1389             CALL histwrite_phy(nid_files(iff),
1390     $clef_stations(iff),
1391     $o_scdnc%name,itau_w,
1392     $            scdnc)
1393          ENDIF
1394          IF (o_cldncl%flag(iff)<=lev_files(iff)) THEN
1395             CALL histwrite_phy(nid_files(iff),
1396     $clef_stations(iff),
1397     $o_cldncl%name,itau_w,
1398     $            cldncl)
1399          ENDIF
1400         IF (o_reffclws%flag(iff)<=lev_files(iff)) THEN
1401            CALL histwrite_phy(nid_files(iff),
1402     $clef_stations(iff),
1403     $o_reffclws%name,itau_w,
1404     $            reffclws)
1405         ENDIF
1406         IF (o_reffclwc%flag(iff)<=lev_files(iff)) THEN
1407            CALL histwrite_phy(nid_files(iff),
1408     $clef_stations(iff),
1409     $o_reffclwc%name,itau_w,
1410     $            reffclwc)
1411         ENDIF
1412          IF (o_cldnvi%flag(iff)<=lev_files(iff)) THEN
1413             CALL histwrite_phy(nid_files(iff),
1414     $clef_stations(iff),
1415     $o_cldnvi%name,itau_w,
1416     $            cldnvi)
1417          ENDIF
1418          IF (o_lcc%flag(iff)<=lev_files(iff)) THEN
1419             CALL histwrite_phy(nid_files(iff),
1420     $clef_stations(iff),
1421     $o_lcc%name,itau_w,
1422     $            lcc)
1423          ENDIF
1424          IF (o_lcc3d%flag(iff)<=lev_files(iff)) THEN
1425             CALL histwrite_phy(nid_files(iff),
1426     $clef_stations(iff),
1427     $o_lcc3d%name,itau_w,
1428     $            lcc3d)
1429          ENDIF
1430          IF (o_lcc3dcon%flag(iff)<=lev_files(iff)) THEN
1431             CALL histwrite_phy(nid_files(iff),
1432     $clef_stations(iff),
1433     $o_lcc3dcon%name,itau_w,
1434     $            lcc3dcon)
1435          ENDIF
1436          IF (o_lcc3dstra%flag(iff)<=lev_files(iff)) THEN
1437             CALL histwrite_phy(nid_files(iff),
1438     $clef_stations(iff),
1439     $o_lcc3dstra%name,itau_w,
1440     $            lcc3dstra)
1441          ENDIF
1442          IF (o_reffclwtop%flag(iff)<=lev_files(iff)) THEN
1443             CALL histwrite_phy(nid_files(iff),
1444     $clef_stations(iff),
1445     $o_reffclwtop%name,itau_w,
1446     $            reffclwtop)
1447          ENDIF
1448       ENDIF
1449
1450! Champs 3D:
1451       IF (ok_ade .OR. ok_aie) then
1452          IF (o_ec550aer%flag(iff)<=lev_files(iff)) THEN
1453             CALL histwrite_phy(nid_files(iff),
1454     $clef_stations(iff),
1455     $o_ec550aer%name,itau_w,
1456     &            ec550aer)
1457          ENDIF
1458       ENDIF
1459
1460       IF (o_lwcon%flag(iff)<=lev_files(iff)) THEN
1461      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1462     $o_lwcon%name,itau_w,flwc)
1463       ENDIF
1464
1465       IF (o_iwcon%flag(iff)<=lev_files(iff)) THEN
1466      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1467     $o_iwcon%name,itau_w,fiwc)
1468       ENDIF
1469
1470       IF (o_temp%flag(iff)<=lev_files(iff)) THEN
1471      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1472     $o_temp%name,itau_w,t_seri)
1473       ENDIF
1474
1475       IF (o_theta%flag(iff)<=lev_files(iff)) THEN
1476      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1477     $o_theta%name,itau_w,theta)
1478       ENDIF
1479
1480       IF (o_ovapinit%flag(iff)<=lev_files(iff)) THEN
1481      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1482     $o_ovapinit%name,itau_w,
1483     $ qx(:,:,ivap))
1484       ENDIF
1485
1486       IF (o_ovap%flag(iff)<=lev_files(iff)) THEN
1487      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1488     $                   o_ovap%name,itau_w,q_seri)
1489       ENDIF
1490                                                               
1491       IF (o_oliq%flag(iff)<=lev_files(iff)) THEN             
1492      CALL histwrite_phy(nid_files(iff),clef_stations(iff),   
1493     $                   o_oliq%name,itau_w,ql_seri)           
1494       ENDIF
1495
1496       IF (o_geop%flag(iff)<=lev_files(iff)) THEN
1497      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1498     $o_geop%name,itau_w,zphi)
1499       ENDIF
1500
1501       IF (o_vitu%flag(iff)<=lev_files(iff)) THEN
1502      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1503     $o_vitu%name,itau_w,u_seri)
1504       ENDIF
1505
1506       IF (o_vitv%flag(iff)<=lev_files(iff)) THEN
1507      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1508     $o_vitv%name,itau_w,v_seri)
1509       ENDIF
1510
1511       IF (o_vitw%flag(iff)<=lev_files(iff)) THEN
1512      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1513     $o_vitw%name,itau_w,omega)
1514       ENDIF
1515
1516        IF (o_pres%flag(iff)<=lev_files(iff)) THEN
1517      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1518     $o_pres%name,itau_w,pplay)
1519        ENDIF
1520
1521        IF (o_paprs%flag(iff)<=lev_files(iff)) THEN
1522      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1523     $o_paprs%name,
1524     s                    itau_w,paprs(:,1:klev))
1525        ENDIF
1526
1527        IF (o_zfull%flag(iff)<=lev_files(iff)) THEN
1528         DO i=1, klon
1529          zx_tmp_fi3d1(i,1)= pphis(i)/RG
1530!020611   zx_tmp_fi3d(i,1)= pphis(i)/RG
1531         ENDDO
1532         DO k=1, klev
1533!020611        DO k=1, klev-1
1534         DO i=1, klon
1535!020611         zx_tmp_fi3d(i,k+1)= zx_tmp_fi3d(i,k) - (t_seri(i,k) *RD * 
1536          zx_tmp_fi3d1(i,k+1)= zx_tmp_fi3d1(i,k) - (t_seri(i,k) *RD * 
1537     $    (paprs(i,k+1) - paprs(i,k))) / ( pplay(i,k) * RG ) 
1538         ENDDO
1539         ENDDO
1540      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1541     $o_zfull%name,itau_w,zx_tmp_fi3d1(:,2:klevp1))
1542!020611    $o_zfull%name,itau_w,zx_tmp_fi3d)
1543        ENDIF
1544
1545        IF (o_zhalf%flag(iff)<=lev_files(iff)) THEN
1546         DO i=1, klon
1547          zx_tmp_fi3d(i,1)= pphis(i)/RG - (
1548     $    (t_seri(i,1)+zxtsol(i))/2. *RD *
1549     $    (pplay(i,1) - paprs(i,1)))/( (paprs(i,1)+pplay(i,1))/2. * RG)
1550         ENDDO
1551         DO k=1, klev-1
1552         DO i=1, klon
1553          zx_tmp_fi3d(i,k+1)= zx_tmp_fi3d(i,k) - (
1554     $    (t_seri(i,k)+t_seri(i,k+1))/2. *RD * 
1555     $    (pplay(i,k+1) - pplay(i,k))) / ( paprs(i,k) * RG ) 
1556         ENDDO
1557         ENDDO
1558      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1559     $o_zhalf%name,itau_w,zx_tmp_fi3d)
1560        ENDIF
1561
1562       IF (o_rneb%flag(iff)<=lev_files(iff)) THEN
1563      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1564     $o_rneb%name,itau_w,cldfra)
1565       ENDIF
1566
1567       IF (o_rnebcon%flag(iff)<=lev_files(iff)) THEN
1568      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1569     $o_rnebcon%name,itau_w,rnebcon)
1570       ENDIF
1571
1572       IF (o_rhum%flag(iff)<=lev_files(iff)) THEN
1573      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1574     $o_rhum%name,itau_w,zx_rh)
1575       ENDIF
1576
1577      IF (o_ozone%flag(iff)<=lev_files(iff)) THEN
1578         CALL histwrite_phy(nid_files(iff),clef_stations(iff), 
1579     $o_ozone%name, itau_w,
1580     $        wo(:, :, 1) * dobson_u * 1e3 / zmasse / rmo3 * rmd)
1581      ENDIF
1582
1583      IF (o_ozone_light%flag(iff)<=lev_files(iff) .and.
1584     $     read_climoz == 2) THEN
1585         CALL histwrite_phy(nid_files(iff),clef_stations(iff), 
1586     $o_ozone_light%name, itau_w,
1587     $        wo(:, :, 2) * dobson_u * 1e3 / zmasse / rmo3 * rmd)
1588      ENDIF
1589
1590       IF (o_dtphy%flag(iff)<=lev_files(iff)) THEN
1591      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1592     $o_dtphy%name,itau_w,d_t)
1593       ENDIF
1594
1595       IF (o_dqphy%flag(iff)<=lev_files(iff)) THEN
1596      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1597     s                  o_dqphy%name,itau_w, d_qx(:,:,ivap))
1598       ENDIF
1599
1600        DO nsrf=1, nbsrf
1601        IF (o_albe_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN
1602        zx_tmp_fi2d(1 : klon) = falb1( 1 : klon, nsrf)
1603        CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1604     s                    o_albe_srf(nsrf)%name,itau_w,
1605     $                     zx_tmp_fi2d)
1606        ENDIF
1607
1608        IF (o_rugs_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN 
1609        zx_tmp_fi2d(1 : klon) = frugs( 1 : klon, nsrf)
1610        CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1611     s                     o_rugs_srf(nsrf)%name,itau_w,
1612     $      zx_tmp_fi2d)
1613        ENDIF
1614
1615        IF (o_ages_srf(nsrf)%flag(iff)<=lev_files(iff)) THEN
1616        zx_tmp_fi2d(1 : klon) = agesno( 1 : klon, nsrf)
1617        CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1618     s                     o_ages_srf(nsrf)%name,itau_w
1619     $    ,zx_tmp_fi2d)
1620        ENDIF
1621        ENDDO !nsrf=1, nbsrf
1622
1623       IF (o_alb1%flag(iff)<=lev_files(iff)) THEN
1624      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1625     $o_alb1%name,itau_w,albsol1)
1626       ENDIF
1627
1628       IF (o_alb2%flag(iff)<=lev_files(iff)) THEN
1629      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1630     $o_alb2%name,itau_w,albsol2)
1631       ENDIF
1632
1633!FH Sorties pour la couche limite
1634      if (iflag_pbl>1) then
1635      zx_tmp_fi3d=0.
1636      do nsrf=1,nbsrf
1637         do k=1,klev
1638          zx_tmp_fi3d(:,k)=zx_tmp_fi3d(:,k)
1639     $    +pctsrf(:,nsrf)*pbl_tke(:,k,nsrf)
1640         enddo
1641      enddo
1642       IF (o_tke%flag(iff)<=lev_files(iff)) THEN
1643      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1644     $o_tke%name,itau_w,zx_tmp_fi3d)
1645       ENDIF
1646
1647      IF (.NOT.clef_stations(iff)) THEN
1648       IF (o_tke_max%flag(iff)<=lev_files(iff)) THEN
1649      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1650     s                   o_tke_max%name,itau_w,zx_tmp_fi3d)
1651       ENDIF
1652      ENDIF
1653      endif
1654
1655       IF (o_kz%flag(iff)<=lev_files(iff)) THEN
1656      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1657     $o_kz%name,itau_w,coefh)
1658       ENDIF
1659
1660      IF (.NOT.clef_stations(iff)) THEN
1661       IF (o_kz_max%flag(iff)<=lev_files(iff)) THEN
1662      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1663     $o_kz_max%name,itau_w,coefh)
1664       ENDIF
1665      ENDIF
1666
1667       IF (o_clwcon%flag(iff)<=lev_files(iff)) THEN
1668      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1669     $o_clwcon%name,itau_w,clwcon0)
1670       ENDIF
1671
1672       IF (o_dtdyn%flag(iff)<=lev_files(iff)) THEN
1673      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1674     $o_dtdyn%name,itau_w,d_t_dyn)
1675       ENDIF
1676
1677       IF (o_dqdyn%flag(iff)<=lev_files(iff)) THEN
1678      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1679     $o_dqdyn%name,itau_w,d_q_dyn)
1680       ENDIF
1681
1682       IF (o_dudyn%flag(iff)<=lev_files(iff)) THEN
1683      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1684     $o_dudyn%name,itau_w,d_u_dyn)
1685       ENDIF                                                   
1686
1687       IF (o_dvdyn%flag(iff)<=lev_files(iff)) THEN                 
1688      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1689     $o_dvdyn%name,itau_w,d_v_dyn) 
1690       ENDIF                                                     
1691
1692       IF (o_dtcon%flag(iff)<=lev_files(iff)) THEN
1693      zx_tmp_fi3d(1:klon,1:klev)=d_t_con(1:klon,1:klev)/pdtphys
1694      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1695     $o_dtcon%name,itau_w,zx_tmp_fi3d)
1696      ENDIF                                                     
1697
1698      if(iflag_thermals.eq.1)then
1699      IF (o_tntc%flag(iff)<=lev_files(iff)) THEN
1700      zx_tmp_fi3d(1:klon,1:klev)=d_t_con(1:klon,1:klev)/pdtphys +
1701     $                           d_t_ajsb(1:klon,1:klev)/pdtphys
1702      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1703     $o_tntc%name,itau_w,zx_tmp_fi3d)
1704      ENDIF
1705      else if(iflag_thermals.gt.1.and.iflag_wake.EQ.1)then
1706      IF (o_tntc%flag(iff)<=lev_files(iff)) THEN
1707      zx_tmp_fi3d(1:klon,1:klev)=d_t_con(1:klon,1:klev)/pdtphys +
1708     $                           d_t_ajs(1:klon,1:klev)/pdtphys +
1709     $                           d_t_wake(1:klon,1:klev)/pdtphys
1710      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1711     $o_tntc%name,itau_w,zx_tmp_fi3d)
1712      ENDIF
1713      endif
1714
1715       IF (o_ducon%flag(iff)<=lev_files(iff)) THEN
1716      zx_tmp_fi3d(1:klon,1:klev)=d_u_con(1:klon,1:klev)/pdtphys
1717      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1718     $o_ducon%name,itau_w,zx_tmp_fi3d)
1719       ENDIF
1720
1721       IF (o_dvcon%flag(iff)<=lev_files(iff)) THEN
1722      zx_tmp_fi3d(1:klon,1:klev)=d_v_con(1:klon,1:klev)/pdtphys
1723      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1724     $o_dvcon%name,itau_w,zx_tmp_fi3d)
1725       ENDIF
1726
1727       IF (o_dqcon%flag(iff)<=lev_files(iff)) THEN
1728      zx_tmp_fi3d(1:klon,1:klev)=d_q_con(1:klon,1:klev)/pdtphys
1729      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1730     $o_dqcon%name,itau_w,zx_tmp_fi3d)
1731       ENDIF
1732
1733      if(iflag_thermals.eq.1)then
1734       IF (o_tnhusc%flag(iff)<=lev_files(iff)) THEN
1735      zx_tmp_fi3d(1:klon,1:klev)=d_q_con(1:klon,1:klev)/pdtphys
1736      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1737     $o_tnhusc%name,itau_w,zx_tmp_fi3d)
1738       ENDIF
1739      else if(iflag_thermals.gt.1.and.iflag_wake.EQ.1)then
1740      IF (o_tnhusc%flag(iff)<=lev_files(iff)) THEN
1741      zx_tmp_fi3d(1:klon,1:klev)=d_q_con(1:klon,1:klev)/pdtphys +
1742     $                           d_q_ajs(1:klon,1:klev)/pdtphys +
1743     $                           d_q_wake(1:klon,1:klev)/pdtphys
1744      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1745     $o_tnhusc%name,itau_w,zx_tmp_fi3d)
1746      ENDIF
1747      endif
1748
1749       IF (o_dtlsc%flag(iff)<=lev_files(iff)) THEN
1750      zx_tmp_fi3d(1:klon,1:klev)=d_t_lsc(1:klon,1:klev)/pdtphys
1751      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1752     $o_dtlsc%name,itau_w,zx_tmp_fi3d)
1753       ENDIF
1754
1755       IF (o_dtlschr%flag(iff)<=lev_files(iff)) THEN
1756      zx_tmp_fi3d(1:klon, 1:klev)=(d_t_lsc(1:klon,1:klev)+
1757     $                           d_t_eva(1:klon,1:klev))/pdtphys
1758      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1759     s                   o_dtlschr%name,itau_w,zx_tmp_fi3d)
1760       ENDIF
1761
1762       IF (o_dqlsc%flag(iff)<=lev_files(iff)) THEN
1763      zx_tmp_fi3d(1:klon,1:klev)=d_q_lsc(1:klon,1:klev)/pdtphys
1764      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1765     $o_dqlsc%name,itau_w,zx_tmp_fi3d)
1766       ENDIF
1767
1768!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1769! Sorties specifiques a la separation thermiques/non thermiques
1770       if (iflag_thermals>=1) then
1771
1772       IF (o_dtlscth%flag(iff)<=lev_files(iff)) THEN
1773      zx_tmp_fi3d(1:klon,1:klev)=d_t_lscth(1:klon,1:klev)/pdtphys
1774      CALL
1775     s histwrite_phy(nid_files(iff),clef_stations(iff),
1776     $o_dtlscth%name,itau_w,zx_tmp_fi3d)
1777       ENDIF
1778
1779       IF (o_dtlscst%flag(iff)<=lev_files(iff)) THEN
1780      zx_tmp_fi3d(1:klon,1:klev)=d_t_lscst(1:klon,1:klev)/pdtphys
1781      CALL
1782     s histwrite_phy(nid_files(iff),clef_stations(iff),
1783     $o_dtlscst%name,itau_w,zx_tmp_fi3d)
1784       ENDIF
1785
1786       IF (o_dqlscth%flag(iff)<=lev_files(iff)) THEN
1787      zx_tmp_fi3d(1:klon,1:klev)=d_q_lscth(1:klon,1:klev)/pdtphys
1788      CALL
1789     s histwrite_phy(nid_files(iff),clef_stations(iff),
1790     $o_dqlscth%name,itau_w,zx_tmp_fi3d)
1791       ENDIF
1792
1793       IF (o_dqlscst%flag(iff)<=lev_files(iff)) THEN
1794      zx_tmp_fi3d(1:klon,1:klev)=d_q_lscst(1:klon,1:klev)/pdtphys
1795      CALL
1796     s histwrite_phy(nid_files(iff),clef_stations(iff),
1797     $o_dqlscst%name,itau_w,zx_tmp_fi3d)
1798       ENDIF
1799
1800       IF (o_plulth%flag(iff)<=lev_files(iff)) THEN
1801      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1802     $o_plulth%name,itau_w,plul_th)
1803       ENDIF
1804
1805       IF (o_plulst%flag(iff)<=lev_files(iff)) THEN
1806      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1807     $o_plulst%name,itau_w,plul_st)
1808       ENDIF
1809
1810      do k=1,klev
1811      do i=1,klon
1812          if (ptconvth(i,k)) then
1813           zx_tmp_fi3d(i,k)=1.
1814          else
1815           zx_tmp_fi3d(i,k)=0.
1816          endif
1817      enddo
1818      enddo
1819       IF (o_ptconvth%flag(iff)<=lev_files(iff)) THEN
1820      CALL
1821     s  histwrite_phy(nid_files(iff),clef_stations(iff),
1822     $o_ptconvth%name,itau_w,zx_tmp_fi3d)
1823       ENDIF
1824
1825      do i=1,klon
1826           zx_tmp_fi2d(1:klon)=lmax_th(:)
1827      enddo
1828       IF (o_ptconvth%flag(iff)<=lev_files(iff)) THEN
1829      CALL
1830     s histwrite_phy(nid_files(iff),clef_stations(iff),
1831     $o_lmaxth%name,itau_w,zx_tmp_fi2d)
1832       ENDIF
1833
1834      endif ! iflag_thermals>=1
1835
1836!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1837
1838       IF (o_dtvdf%flag(iff)<=lev_files(iff)) THEN
1839      zx_tmp_fi3d(1:klon,1:klev)=d_t_vdf(1:klon,1:klev)/pdtphys
1840      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1841     $o_dtvdf%name,itau_w,zx_tmp_fi3d)
1842       ENDIF
1843
1844       IF (o_dqvdf%flag(iff)<=lev_files(iff)) THEN
1845      zx_tmp_fi3d(1:klon,1:klev)=d_q_vdf(1:klon,1:klev)/pdtphys
1846      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1847     $o_dqvdf%name,itau_w,zx_tmp_fi3d)
1848       ENDIF
1849
1850       IF (o_dteva%flag(iff)<=lev_files(iff)) THEN
1851      zx_tmp_fi3d(1:klon,1:klev)=d_t_eva(1:klon,1:klev)/pdtphys
1852      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1853     $o_dteva%name,itau_w,zx_tmp_fi3d)
1854       ENDIF
1855
1856       IF (o_dqeva%flag(iff)<=lev_files(iff)) THEN
1857      zx_tmp_fi3d(1:klon,1:klev)=d_q_eva(1:klon,1:klev)/pdtphys
1858      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1859     $o_dqeva%name,itau_w,zx_tmp_fi3d)
1860       ENDIF
1861
1862       IF (o_ptconv%flag(iff)<=lev_files(iff)) THEN
1863      zpt_conv = 0.
1864      where (ptconv) zpt_conv = 1.
1865      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1866     $o_ptconv%name,itau_w,zpt_conv)
1867       ENDIF
1868
1869       IF (o_ratqs%flag(iff)<=lev_files(iff)) THEN
1870      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1871     $o_ratqs%name,itau_w,ratqs)
1872       ENDIF
1873
1874       IF (o_dtthe%flag(iff)<=lev_files(iff)) THEN
1875      zx_tmp_fi3d(1:klon,1:klev)=d_t_ajs(1:klon,1:klev)/pdtphys -
1876     $                           d_t_ajsb(1:klon,1:klev)/pdtphys
1877      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1878     $o_dtthe%name,itau_w,zx_tmp_fi3d)
1879       ENDIF
1880
1881       IF (iflag_thermals>=1) THEN
1882        IF (o_ftime_th%flag(iff)<=lev_files(iff)) THEN
1883! Pour l instant 0 a y reflichir pour les thermiques
1884         zx_tmp_fi2d=0. 
1885        CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1886     $o_ftime_th%name,
1887     s                     itau_w,zx_tmp_fi2d)
1888        ENDIF
1889
1890        IF (o_f_th%flag(iff)<=lev_files(iff)) THEN
1891        CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1892     $o_f_th%name,itau_w,fm_therm)
1893        ENDIF
1894
1895        IF (o_e_th%flag(iff)<=lev_files(iff)) THEN
1896        CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1897     $o_e_th%name,itau_w,entr_therm)
1898        ENDIF
1899
1900        IF (o_w_th%flag(iff)<=lev_files(iff)) THEN
1901        CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1902     $o_w_th%name,itau_w,zw2)
1903        ENDIF
1904
1905        IF (o_q_th%flag(iff)<=lev_files(iff)) THEN
1906        CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1907     $o_q_th%name,itau_w,zqasc)
1908        ENDIF
1909
1910
1911        IF (o_a_th%flag(iff)<=lev_files(iff)) THEN
1912        CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1913     $o_a_th%name,itau_w,fraca)
1914        ENDIF
1915
1916       IF (o_d_th%flag(iff)<=lev_files(iff)) THEN
1917       CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1918     $o_d_th%name,itau_w,detr_therm)
1919       ENDIF
1920
1921       IF (o_f0_th%flag(iff)<=lev_files(iff)) THEN
1922      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1923     $o_f0_th%name,itau_w,f0)
1924       ENDIF
1925
1926       IF (o_zmax_th%flag(iff)<=lev_files(iff)) THEN
1927       CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1928     $o_zmax_th%name,itau_w,zmax_th)
1929       ENDIF
1930
1931       IF (o_dqthe%flag(iff)<=lev_files(iff)) THEN
1932      zx_tmp_fi3d(1:klon,1:klev)=d_q_ajs(1:klon,1:klev)/pdtphys -
1933     $                           d_q_ajsb(1:klon,1:klev)/pdtphys
1934      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1935     $o_dqthe%name,itau_w,zx_tmp_fi3d)
1936       ENDIF
1937
1938      ENDIF !iflag_thermals
1939
1940       IF (o_dtajs%flag(iff)<=lev_files(iff)) THEN
1941      zx_tmp_fi3d(1:klon,1:klev)=d_t_ajsb(1:klon,1:klev)/pdtphys
1942      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1943     $o_dtajs%name,itau_w,zx_tmp_fi3d)
1944       ENDIF
1945
1946       IF (o_dqajs%flag(iff)<=lev_files(iff)) THEN
1947      zx_tmp_fi3d(1:klon,1:klev)=d_q_ajsb(1:klon,1:klev)/pdtphys
1948      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1949     $o_dqajs%name,itau_w,zx_tmp_fi3d)
1950       ENDIF
1951
1952       IF (o_dtswr%flag(iff)<=lev_files(iff)) THEN
1953      zx_tmp_fi3d(1:klon,1:klev)=heat(1:klon,1:klev)/RDAY
1954      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1955     $o_dtswr%name,itau_w,zx_tmp_fi3d)
1956       ENDIF
1957
1958       IF (o_dtsw0%flag(iff)<=lev_files(iff)) THEN
1959      zx_tmp_fi3d(1:klon,1:klev)=heat0(1:klon,1:klev)/RDAY
1960      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1961     $o_dtsw0%name,itau_w,zx_tmp_fi3d)
1962       ENDIF
1963
1964       IF (o_dtlwr%flag(iff)<=lev_files(iff)) THEN
1965      zx_tmp_fi3d(1:klon,1:klev)=-1.*cool(1:klon,1:klev)/RDAY
1966      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1967     $o_dtlwr%name,itau_w,zx_tmp_fi3d)
1968       ENDIF
1969
1970       IF (o_dtlw0%flag(iff)<=lev_files(iff)) THEN
1971      zx_tmp_fi3d(1:klon,1:klev)=-1.*cool0(1:klon,1:klev)/RDAY
1972      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1973     $o_dtlw0%name,itau_w,zx_tmp_fi3d)
1974       ENDIF
1975
1976       IF (o_dtec%flag(iff)<=lev_files(iff)) THEN
1977      zx_tmp_fi3d(1:klon,1:klev)=d_t_ec(1:klon,1:klev)
1978      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1979     $o_dtec%name,itau_w,zx_tmp_fi3d)
1980       ENDIF
1981
1982       IF (o_duvdf%flag(iff)<=lev_files(iff)) THEN
1983      zx_tmp_fi3d(1:klon,1:klev)=d_u_vdf(1:klon,1:klev)/pdtphys
1984      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1985     $o_duvdf%name,itau_w,zx_tmp_fi3d)
1986       ENDIF
1987
1988       IF (o_dvvdf%flag(iff)<=lev_files(iff)) THEN
1989      zx_tmp_fi3d(1:klon,1:klev)=d_v_vdf(1:klon,1:klev)/pdtphys
1990      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1991     $o_dvvdf%name,itau_w,zx_tmp_fi3d)
1992       ENDIF
1993
1994       IF (ok_orodr) THEN
1995      IF (o_duoro%flag(iff)<=lev_files(iff)) THEN
1996      zx_tmp_fi3d(1:klon,1:klev)=d_u_oro(1:klon,1:klev)/pdtphys
1997      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
1998     $o_duoro%name,itau_w,zx_tmp_fi3d)
1999       ENDIF
2000
2001      IF (o_dvoro%flag(iff)<=lev_files(iff)) THEN
2002      zx_tmp_fi3d(1:klon,1:klev)=d_v_oro(1:klon,1:klev)/pdtphys
2003      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
2004     $o_dvoro%name,itau_w,zx_tmp_fi3d)
2005      ENDIF
2006
2007      IF (o_dtoro%flag(iff)<=lev_files(iff)) THEN
2008      zx_tmp_fi3d(1:klon,1:klev)=d_t_oro(1:klon,1:klev)/pdtphys
2009      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
2010     $o_dtoro%name,itau_w,zx_tmp_fi3d)
2011      ENDIF
2012       ENDIF
2013
2014        IF (ok_orolf) THEN
2015       IF (o_dulif%flag(iff)<=lev_files(iff)) THEN
2016      zx_tmp_fi3d(1:klon,1:klev)=d_u_lif(1:klon,1:klev)/pdtphys
2017      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
2018     $o_dulif%name,itau_w,zx_tmp_fi3d)
2019       ENDIF
2020
2021        IF (o_dvlif%flag(iff)<=lev_files(iff)) THEN
2022      zx_tmp_fi3d(1:klon,1:klev)=d_v_lif(1:klon,1:klev)/pdtphys
2023      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
2024     $o_dvlif%name,itau_w,zx_tmp_fi3d)
2025       ENDIF
2026
2027        IF (o_dtlif%flag(iff)<=lev_files(iff)) THEN
2028      zx_tmp_fi3d(1:klon,1:klev)=d_t_lif(1:klon,1:klev)/pdtphys
2029      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
2030     $o_dtlif%name,itau_w,zx_tmp_fi3d)
2031       ENDIF
2032        ENDIF
2033
2034       IF (ok_hines) THEN
2035       IF (o_duhin%flag(iff)<=lev_files(iff)) THEN
2036      zx_tmp_fi3d(1:klon,1:klev)=d_u_hin(1:klon,1:klev)/pdtphys
2037      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
2038     $o_duhin%name,itau_w,zx_tmp_fi3d)
2039       ENDIF
2040
2041
2042        IF (o_dvhin%flag(iff)<=lev_files(iff)) THEN
2043      zx_tmp_fi3d(1:klon,1:klev)=d_v_hin(1:klon,1:klev)/pdtphys
2044      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
2045     $o_dvhin%name,itau_w,zx_tmp_fi3d)
2046       ENDIF
2047
2048        IF (o_dthin%flag(iff)<=lev_files(iff)) THEN
2049      zx_tmp_fi3d(1:klon,1:klev)=d_t_hin(1:klon,1:klev)/pdtphys
2050      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
2051     $o_dthin%name,itau_w,zx_tmp_fi3d)
2052       ENDIF
2053        ENDIF
2054
2055       IF (o_rsu%flag(iff)<=lev_files(iff)) THEN
2056      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
2057     $o_rsu%name,itau_w,swup)
2058       ENDIF
2059       IF (o_rsd%flag(iff)<=lev_files(iff)) THEN
2060      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
2061     $o_rsd%name,itau_w,swdn)
2062       ENDIF
2063       IF (o_rlu%flag(iff)<=lev_files(iff)) THEN
2064      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
2065     $o_rlu%name,itau_w,lwup)
2066       ENDIF
2067       IF (o_rld%flag(iff)<=lev_files(iff)) THEN
2068      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
2069     $o_rld%name,itau_w,lwdn)
2070       ENDIF
2071
2072       IF (o_rsucs%flag(iff)<=lev_files(iff)) THEN
2073      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
2074     $o_rsucs%name,itau_w,swup0)
2075       ENDIF
2076       IF (o_rsdcs%flag(iff)<=lev_files(iff)) THEN
2077      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
2078     $o_rsdcs%name,itau_w,swdn0)
2079       ENDIF
2080       IF (o_rlucs%flag(iff)<=lev_files(iff)) THEN
2081      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
2082     $o_rlucs%name,itau_w,lwup0)
2083       ENDIF
2084       IF (o_rldcs%flag(iff)<=lev_files(iff)) THEN
2085      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
2086     $o_rldcs%name,itau_w,lwdn0)
2087       ENDIF
2088
2089       IF (o_tnt%flag(iff)<=lev_files(iff)) THEN
2090      zx_tmp_fi3d(1:klon,1:klev)=d_t(1:klon,1:klev)+
2091     $d_t_dyn(1:klon,1:klev)
2092      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
2093     $o_tnt%name,itau_w,zx_tmp_fi3d)
2094       ENDIF
2095
2096       IF (o_tntr%flag(iff)<=lev_files(iff)) THEN
2097      zx_tmp_fi3d(1:klon,1:klev)=heat(1:klon,1:klev)/RDAY -
2098     $cool(1:klon,1:klev)/RDAY
2099      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
2100     $o_tntr%name,itau_w,zx_tmp_fi3d)
2101       ENDIF
2102
2103       IF (o_tntscpbl%flag(iff)<=lev_files(iff)) THEN
2104      zx_tmp_fi3d(1:klon,1:klev)= (d_t_lsc(1:klon,1:klev)+
2105     $                             d_t_eva(1:klon,1:klev)+
2106     $                             d_t_vdf(1:klon,1:klev))/pdtphys
2107      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
2108     $o_tntscpbl%name,itau_w,zx_tmp_fi3d)
2109       ENDIF
2110
2111       IF (o_tnhus%flag(iff)<=lev_files(iff)) THEN
2112      zx_tmp_fi3d(1:klon,1:klev)=d_qx(1:klon,1:klev,ivap)+
2113     $d_q_dyn(1:klon,1:klev)
2114      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
2115     $o_tnhus%name,itau_w,zx_tmp_fi3d)
2116       ENDIF
2117
2118       IF (o_tnhusscpbl%flag(iff)<=lev_files(iff)) THEN
2119      zx_tmp_fi3d(1:klon,1:klev)=d_q_lsc(1:klon,1:klev)/pdtphys+
2120     $                           d_q_eva(1:klon,1:klev)/pdtphys
2121      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
2122     $o_tnhusscpbl%name,itau_w,zx_tmp_fi3d)
2123       ENDIF
2124
2125       IF (o_evu%flag(iff)<=lev_files(iff)) THEN
2126      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
2127     $o_evu%name,itau_w,coefm)
2128       ENDIF
2129
2130       IF (o_h2o%flag(iff)<=lev_files(iff)) THEN
2131      zx_tmp_fi3d(1:klon,1:klev)=q_seri(1:klon,1:klev)+
2132     $                           ql_seri(1:klon,1:klev) 
2133      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
2134     $o_h2o%name,itau_w,zx_tmp_fi3d)
2135       ENDIF
2136
2137       if (iflag_con >= 3) then
2138          IF (o_mcd%flag(iff)<=lev_files(iff)) THEN
2139             zx_tmp_fi3d(1:klon,1:klev)=-1 * (dnwd(1:klon,1:klev)+
2140     $            dnwd0(1:klon,1:klev)) 
2141             CALL histwrite_phy(nid_files(iff),clef_stations(iff),
2142     $            o_mcd%name,itau_w,zx_tmp_fi3d)
2143          ENDIF
2144
2145          IF (o_dmc%flag(iff)<=lev_files(iff)) THEN
2146             zx_tmp_fi3d(1:klon,1:klev)=upwd(1:klon,1:klev) +
2147     $            dnwd(1:klon,1:klev)+ dnwd0(1:klon,1:klev) 
2148             CALL histwrite_phy(nid_files(iff),clef_stations(iff),
2149     $            o_dmc%name,itau_w,zx_tmp_fi3d)
2150          ENDIF
2151       else if (iflag_con == 2) then
2152          IF (o_mcd%flag(iff) <= lev_files(iff)) THEN
2153             CALL histwrite_phy(nid_files(iff), clef_stations(iff),
2154     $            o_mcd%name, itau_w, pmfd)
2155          ENDIF
2156
2157          IF (o_dmc%flag(iff) <= lev_files(iff)) THEN
2158             CALL histwrite_phy(nid_files(iff), clef_stations(iff),
2159     $            o_dmc%name, itau_w, pmfu + pmfd)
2160          ENDIF
2161       end if
2162
2163       IF (o_ref_liq%flag(iff)<=lev_files(iff)) THEN
2164      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
2165     $o_ref_liq%name,itau_w,ref_liq)
2166       ENDIF
2167
2168       IF (o_ref_ice%flag(iff)<=lev_files(iff)) THEN
2169      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
2170     $o_ref_ice%name,itau_w,ref_ice)
2171       ENDIF
2172
2173      if (RCO2_per.NE.RCO2_act.OR.RCH4_per.NE.RCH4_act.OR.
2174     $ RN2O_per.NE.RN2O_act.OR.RCFC11_per.NE.RCFC11_act.OR.
2175     $ RCFC12_per.NE.RCFC12_act) THEN
2176
2177       IF (o_rsut4co2%flag(iff)<=lev_files(iff)) THEN
2178      zx_tmp_fi2d(1 : klon) = swupp ( 1 : klon, klevp1 )
2179      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
2180     $o_rsut4co2%name,itau_w,zx_tmp_fi2d)
2181       ENDIF
2182
2183       IF (o_rlut4co2%flag(iff)<=lev_files(iff)) THEN
2184      zx_tmp_fi2d(1 : klon) = lwupp ( 1 : klon, klevp1 )
2185      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
2186     $o_rlut4co2%name,itau_w,zx_tmp_fi2d)
2187       ENDIF
2188
2189       IF (o_rsutcs4co2%flag(iff)<=lev_files(iff)) THEN
2190      zx_tmp_fi2d(1 : klon) = swup0p ( 1 : klon, klevp1 )
2191      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
2192     $o_rsutcs4co2%name,itau_w,zx_tmp_fi2d)
2193       ENDIF
2194
2195       IF (o_rlutcs4co2%flag(iff)<=lev_files(iff)) THEN
2196      zx_tmp_fi2d(1 : klon) = lwup0p ( 1 : klon, klevp1 )
2197      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
2198     $o_rlutcs4co2%name,itau_w,zx_tmp_fi2d)
2199       ENDIF
2200
2201       IF (o_rsu4co2%flag(iff)<=lev_files(iff)) THEN
2202      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
2203     $o_rsu4co2%name,itau_w,swupp)
2204       ENDIF
2205
2206       IF (o_rlu4co2%flag(iff)<=lev_files(iff)) THEN
2207      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
2208     $o_rlu4co2%name,itau_w,lwupp)
2209       ENDIF
2210
2211       IF (o_rsucs4co2%flag(iff)<=lev_files(iff)) THEN
2212      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
2213     $o_rsucs4co2%name,itau_w,swup0p)
2214       ENDIF
2215
2216       IF (o_rlucs4co2%flag(iff)<=lev_files(iff)) THEN
2217      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
2218     $o_rlucs4co2%name,itau_w,lwup0p)
2219       ENDIF
2220
2221       IF (o_rsd4co2%flag(iff)<=lev_files(iff)) THEN
2222      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
2223     $o_rsd4co2%name,itau_w,swdnp)
2224       ENDIF
2225
2226       IF (o_rld4co2%flag(iff)<=lev_files(iff)) THEN
2227      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
2228     $o_rld4co2%name,itau_w,lwdnp)
2229       ENDIF
2230
2231       IF (o_rsdcs4co2%flag(iff)<=lev_files(iff)) THEN
2232      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
2233     $o_rsdcs4co2%name,itau_w,swdn0p)
2234       ENDIF
2235
2236       IF (o_rldcs4co2%flag(iff)<=lev_files(iff)) THEN
2237      CALL histwrite_phy(nid_files(iff),clef_stations(iff),
2238     $o_rldcs4co2%name,itau_w,lwdn0p)
2239       ENDIF
2240
2241      endif
2242
2243        if (nqtot.GE.3) THEN
2244         DO iq=3,nqtot
2245       IF (o_trac(iq-2)%flag(iff)<=lev_files(iff)) THEN
2246         CALL histwrite_phy(nid_files(iff),clef_stations(iff),
2247     s                  o_trac(iq-2)%name,itau_w,qx(:,:,iq))
2248       ENDIF
2249         ENDDO
2250        endif
2251
2252      if (ok_sync) then
2253c$OMP MASTER
2254      call histsync(nid_files(iff))
2255c$OMP END MASTER
2256      endif
2257
2258       ENDIF ! clef_files
2259
2260      ENDDO ! iff=1,nfiles
Note: See TracBrowser for help on using the repository browser.