My Project
 All Classes Files Functions Variables Macros
phys_output_write.h
Go to the documentation of this file.
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 
1307 c--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
2349 c$OMP MASTER
2350  call histsync(nid_files(iff))
2351 c$OMP END MASTER
2352  endif
2353 
2354  ENDIF ! clef_files
2355 
2356  ENDDO ! iff=1,nfiles