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

Last change on this file since 1724 was 1724, checked in by musat, 11 years ago

Ajout coefficient beta (=Evap/Evap? potentielle) fonction de la latitude
et de la saison (voir these AbdulKhadre? Traore).

Frederic Hourdin
IM

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