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

Last change on this file since 1791 was 1791, checked in by Ehouarn Millour, 11 years ago

Enrichissement et organisation en module de la structure ctrl_out des variables de sortie: ajout des champs description, unité et type_ecrit. Adaptation en conséquence des routines histdef et histwrite.
UG
...................................................

Improvement and transformation into a module of the ctrl_out structure describing output vars. New fields: description, unit and type_ecrit. Creation of new routines histwrite and histdef to take advantage of this structure.
UG

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