source: LMDZ4/trunk/libf/phylmd/phys_output_write.h @ 907

Last change on this file since 907 was 907, checked in by lmdzadmin, 16 years ago

Ajout nouvelle ecriture des fichiers de sortie par AI
IM

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 35.0 KB
Line 
1      itau_w = itau_phy + itap
2
3      DO iff=1,nfiles
4
5       IF (clef_files(iff)) THEN
6             ndex2d = 0
7             ndex3d = 0
8
9!!! Champs 1D !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
10       IF (flag_phis(iff)<=lev_files(iff)) THEN
11         CALL histwrite_phy(nid_files(iff),
12     $                      "phis",itau_w,pphis)
13       ENDIF
14
15       IF (flag_aire(iff)<=lev_files(iff)) THEN
16       CALL histwrite_phy(nid_files(iff),"aire",itau_w,airephy)
17       ENDIF
18
19       IF (flag_pourc_sol(iff)<=lev_files(iff)) THEN
20      zx_tmp_fi2d(1 : klon) = pctsrf(1 : klon, is_ter)* 100.
21      CALL histwrite_phy(nid_files(iff),
22     $                   "pourc_"//clnsurf(is_ter),itau_w,
23     $                   zx_tmp_fi2d)
24       ENDIF
25
26       IF (flag_fract_sol(iff)<=lev_files(iff)) THEN
27      zx_tmp_fi2d(1 : klon) = pctsrf(1 : klon, is_ter)
28      CALL histwrite_phy(nid_files(iff),
29     $               "fract_"//clnsurf(is_ter),itau_w,
30     $               zx_tmp_fi2d)
31       ENDIF
32
33       IF (flag_contfracATM(iff)<=lev_files(iff)) THEN
34      DO i=1, klon
35       zx_tmp_fi2d(i)=pctsrf(i,is_ter)+pctsrf(i,is_lic)
36      ENDDO
37      CALL histwrite_phy(nid_files(iff),
38     $                   "contfracATM",itau_w,zx_tmp_fi2d)
39       ENDIF
40
41       IF (flag_contfracOR(iff)<=lev_files(iff)) THEN
42      CALL histwrite_phy(nid_files(iff),"contfracOR",itau_w,
43     $                   pctsrf_new(:,is_ter))
44       ENDIF
45
46       IF (flag_aireTER(iff)<=lev_files(iff)) THEN
47      CALL histwrite_phy(nid_files(iff),
48     $                  "aireTER",itau_w,paire_ter)
49       ENDIF
50
51!!! Champs 2D !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
52
53       IF (flag_flat(iff)<=lev_files(iff)) THEN
54      CALL histwrite_phy(nid_files(iff),"flat",itau_w,zxfluxlat)
55       ENDIF
56
57       IF (flag_slp(iff)<=lev_files(iff)) THEN
58      CALL histwrite_phy(nid_files(iff),"slp",itau_w,slp)
59       ENDIF
60
61       IF (flag_tsol(iff)<=lev_files(iff)) THEN
62      CALL histwrite_phy(nid_files(iff),"tsol",itau_w,zxtsol)
63       ENDIF
64
65       IF (flag_t2m(iff)<=lev_files(iff)) THEN
66      CALL histwrite_phy(nid_files(iff),"t2m",itau_w,zt2m)
67       ENDIF
68
69       IF (flag_t2m_min(iff)<=lev_files(iff)) THEN
70      CALL histwrite_phy(nid_files(iff),"t2m_min",itau_w,zt2m)
71       ENDIF
72
73       IF (flag_t2m_max(iff)<=lev_files(iff)) THEN
74      CALL histwrite_phy(nid_files(iff),"t2m_max",itau_w,zt2m)
75       ENDIF
76
77       IF (flag_wind10m(iff)<=lev_files(iff)) THEN
78      DO i=1, klon
79       zx_tmp_fi2d(i)=SQRT(zu10m(i)*zu10m(i)+zv10m(i)*zv10m(i))
80      ENDDO
81      CALL histwrite_phy(nid_files(iff),"wind10m",itau_w,zx_tmp_fi2d)
82       ENDIF
83
84       IF (flag_wind10max(iff)<=lev_files(iff)) THEN
85      DO i=1, klon
86       zx_tmp_fi2d(i)=SQRT(zu10m(i)*zu10m(i)+zv10m(i)*zv10m(i))
87      ENDDO
88      CALL histwrite_phy(nid_files(iff),"wind10max", 
89     $                   itau_w,zx_tmp_fi2d)
90       ENDIF
91
92       IF (flag_sicf(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),"sicf",itau_w,zx_tmp_fi2d)
97       ENDIF
98
99       IF (flag_q2m(iff)<=lev_files(iff)) THEN
100      CALL histwrite_phy(nid_files(iff),"q2m",itau_w,zq2m)
101       ENDIF
102
103       IF (flag_u10m(iff)<=lev_files(iff)) THEN
104      CALL histwrite_phy(nid_files(iff),"u10m",itau_w,zu10m)
105       ENDIF
106
107       IF (flag_v10m(iff)<=lev_files(iff)) THEN
108      CALL histwrite_phy(nid_files(iff),"v10m",itau_w,zv10m)
109       ENDIF
110
111       IF (flag_psol(iff)<=lev_files(iff)) THEN
112      DO i = 1, klon
113         zx_tmp_fi2d(i) = paprs(i,1)
114      ENDDO
115      CALL histwrite_phy(nid_files(iff),"psol",itau_w,zx_tmp_fi2d)
116       ENDIF
117
118       IF (flag_qsurf(iff)<=lev_files(iff)) THEN
119      CALL histwrite_phy(nid_files(iff),"qsurf",itau_w,zxqsurf)
120       ENDIF
121
122       if (.not. ok_veget) then
123         IF (flag_qsol(iff)<=lev_files(iff)) THEN
124        CALL histwrite_phy(nid_files(iff),"qsol",itau_w,qsol)
125         ENDIF
126       endif
127
128      IF (flag_precip(iff)<=lev_files(iff)) THEN
129       DO i = 1, klon
130         zx_tmp_fi2d(i) = rain_fall(i) + snow_fall(i)
131       ENDDO
132      CALL histwrite_phy(nid_files(iff),"precip",itau_w,zx_tmp_fi2d)
133      ENDIF
134
135       IF (flag_ndayrain(iff)<=lev_files(iff)) THEN
136      CALL histwrite_phy(nid_files(iff),"ndayrain",itau_w,nday_rain)
137       ENDIF
138
139      IF (flag_plul(iff)<=lev_files(iff)) THEN
140       DO i = 1, klon
141         zx_tmp_fi2d(i) = rain_lsc(i) + snow_lsc(i)
142       ENDDO
143      CALL histwrite_phy(nid_files(iff),"plul",itau_w,zx_tmp_fi2d)
144      ENDIF
145
146      IF (flag_pluc(iff)<=lev_files(iff)) THEN
147      DO i = 1, klon
148         zx_tmp_fi2d(i) = rain_con(i) + snow_con(i)
149      ENDDO
150      CALL histwrite_phy(nid_files(iff),"pluc",itau_w,zx_tmp_fi2d)
151      ENDIF
152
153       IF (flag_snow(iff)<=lev_files(iff)) THEN
154      CALL histwrite_phy(nid_files(iff),"snow",itau_w,snow_fall)
155       ENDIF
156
157       IF (flag_evap(iff)<=lev_files(iff)) THEN
158      CALL histwrite_phy(nid_files(iff),"evap",itau_w,evap)
159       ENDIF
160
161       IF (flag_tops(iff)<=lev_files(iff)) THEN
162      CALL histwrite_phy(nid_files(iff),"tops",itau_w,topsw)
163       ENDIF
164
165       IF (flag_tops0(iff)<=lev_files(iff)) THEN
166      CALL histwrite_phy(nid_files(iff),"tops0",itau_w,topsw0)
167       ENDIF
168
169       IF (flag_topl(iff)<=lev_files(iff)) THEN
170      CALL histwrite_phy(nid_files(iff),"topl",itau_w,toplw)
171       ENDIF
172
173       IF (flag_topl0(iff)<=lev_files(iff)) THEN
174      CALL histwrite_phy(nid_files(iff),"topl0",itau_w,toplw0)
175       ENDIF
176
177       IF (flag_SWupTOA(iff)<=lev_files(iff)) THEN
178      zx_tmp_fi2d(1 : klon) = swup ( 1 : klon, klevp1 )
179      CALL histwrite_phy(nid_files(iff), "SWupTOA",itau_w,zx_tmp_fi2d)
180       ENDIF
181
182       IF (flag_SWupTOAclr(iff)<=lev_files(iff)) THEN
183      zx_tmp_fi2d(1 : klon) = swup0 ( 1 : klon, klevp1 )
184      CALL histwrite_phy(nid_files(iff), 
185     $                  "SWupTOAclr",itau_w,zx_tmp_fi2d)
186       ENDIF
187
188       IF (flag_SWdnTOA(iff)<=lev_files(iff)) THEN
189      zx_tmp_fi2d(1 : klon) = swdn ( 1 : klon, klevp1 )
190      CALL histwrite_phy(nid_files(iff), "SWdnTOA",itau_w,zx_tmp_fi2d)
191       ENDIF
192
193       IF (flag_SWdnTOAclr(iff)<=lev_files(iff)) THEN
194      zx_tmp_fi2d(1 : klon) = swdn0 ( 1 : klon, klevp1 )
195      CALL histwrite_phy(nid_files(iff), 
196     $                  "SWdnTOAclr",itau_w,zx_tmp_fi2d)
197       ENDIF
198
199       IF (flag_SWup200(iff)<=lev_files(iff)) THEN
200      CALL histwrite_phy(nid_files(iff),"SWup200",itau_w,SWup200)
201       ENDIF
202
203       IF (flag_SWup200clr(iff)<=lev_files(iff)) THEN
204      CALL histwrite_phy(nid_files(iff),"SWup200clr",itau_w,SWup200clr)
205       ENDIF
206
207       IF (flag_SWdn200(iff)<=lev_files(iff)) THEN
208      CALL histwrite_phy(nid_files(iff),"SWdn200",itau_w,SWdn200)
209       ENDIF
210
211       IF (flag_SWdn200clr(iff)<=lev_files(iff)) THEN
212      CALL histwrite_phy(nid_files(iff),"SWdn200clr",itau_w,SWdn200clr)
213       ENDIF
214
215       IF (flag_LWup200(iff)<=lev_files(iff)) THEN
216      CALL histwrite_phy(nid_files(iff),"LWup200",itau_w,LWup200)
217       ENDIF
218
219       IF (flag_LWup200clr(iff)<=lev_files(iff)) THEN
220      CALL histwrite_phy(nid_files(iff),"LWup200clr",itau_w,LWup200clr)
221       ENDIF
222
223       IF (flag_LWdn200(iff)<=lev_files(iff)) THEN
224      CALL histwrite_phy(nid_files(iff),"LWdn200",itau_w,zx_tmp_fi2d)
225       ENDIF
226
227       IF (flag_LWdn200clr(iff)<=lev_files(iff)) THEN
228      CALL histwrite_phy(nid_files(iff),"LWdn200clr",itau_w,zx_tmp_fi2d)
229       ENDIF
230
231       IF (flag_sols(iff)<=lev_files(iff)) THEN
232      CALL histwrite_phy(nid_files(iff),"sols",itau_w,solsw)
233       ENDIF
234
235       IF (flag_sols0(iff)<=lev_files(iff)) THEN
236      CALL histwrite_phy(nid_files(iff),"sols0",itau_w,solsw0)
237       ENDIF
238
239       IF (flag_soll(iff)<=lev_files(iff)) THEN
240      CALL histwrite_phy(nid_files(iff),"soll",itau_w,sollw)
241       ENDIF
242
243       IF (flag_radsol(iff)<=lev_files(iff)) THEN
244      CALL histwrite_phy(nid_files(iff),"radsol",itau_w,radsol)
245       ENDIF
246
247       IF (flag_soll0(iff)<=lev_files(iff)) THEN
248      CALL histwrite_phy(nid_files(iff),"soll0",itau_w,sollw0)
249       ENDIF
250
251       IF (flag_SWupSFC(iff)<=lev_files(iff)) THEN
252      zx_tmp_fi2d(1 : klon) = swup ( 1 : klon, 1 )
253      CALL histwrite_phy(nid_files(iff), "SWupSFC",itau_w,zx_tmp_fi2d)
254       ENDIF
255
256       IF (flag_SWupSFCclr(iff)<=lev_files(iff)) THEN
257      zx_tmp_fi2d(1 : klon) = swup0 ( 1 : klon, 1 )
258      CALL histwrite_phy(nid_files(iff), 
259     $                   "SWupSFCclr",itau_w,zx_tmp_fi2d)
260       ENDIF
261
262       IF (flag_SWdnSFC(iff)<=lev_files(iff)) THEN
263      zx_tmp_fi2d(1 : klon) = swdn ( 1 : klon, 1 )
264      CALL histwrite_phy(nid_files(iff), 
265     $                   "SWdnSFC",itau_w,zx_tmp_fi2d)
266       ENDIF
267
268       IF (flag_SWdnSFCclr(iff)<=lev_files(iff)) THEN
269      zx_tmp_fi2d(1 : klon) = swdn0 ( 1 : klon, 1 )
270      CALL histwrite_phy(nid_files(iff), 
271     $                  "SWdnSFCclr",itau_w,zx_tmp_fi2d)
272       ENDIF
273
274       IF (flag_LWupSFC(iff)<=lev_files(iff)) THEN
275      zx_tmp_fi2d(1:klon)=sollwdown(1:klon)-sollw(1:klon)
276      CALL histwrite_phy(nid_files(iff),
277     $                    "LWupSFC",itau_w,zx_tmp_fi2d)
278       ENDIF
279
280       IF (flag_LWdnSFC(iff)<=lev_files(iff)) THEN
281      CALL histwrite_phy(nid_files(iff),
282     $                   "LWdnSFC",itau_w,sollwdown)
283       ENDIF
284
285       IF (flag_LWupSFCclr(iff)<=lev_files(iff)) THEN
286      zx_tmp_fi2d(1:klon)=sollwdownclr(1:klon)-sollw0(1:klon)
287      CALL histwrite_phy(nid_files(iff),
288     $                   "LWupSFCclr",itau_w,zx_tmp_fi2d)
289       ENDIF
290
291       IF (flag_LWdnSFCclr(iff)<=lev_files(iff)) THEN
292      CALL histwrite_phy(nid_files(iff),
293     $                   "LWdnSFCclr",itau_w,sollwdownclr)
294       ENDIF
295
296       IF (flag_bils(iff)<=lev_files(iff)) THEN
297      CALL histwrite_phy(nid_files(iff),"bils",itau_w,bils)
298       ENDIF
299
300       IF (flag_sens(iff)<=lev_files(iff)) THEN
301      zx_tmp_fi2d(1:klon)=-1*sens(1:klon)
302      CALL histwrite_phy(nid_files(iff),"sens",itau_w,zx_tmp_fi2d)
303       ENDIF
304
305       IF (flag_fder(iff)<=lev_files(iff)) THEN
306      CALL histwrite_phy(nid_files(iff),"fder",itau_w,fder)
307       ENDIF
308
309       IF (flag_ffonte(iff)<=lev_files(iff)) THEN
310       CALL histwrite_phy(nid_files(iff),"ffonte",itau_w,zxffonte)
311       ENDIF
312
313       IF (flag_fqcalving(iff)<=lev_files(iff)) THEN
314       CALL histwrite_phy(nid_files(iff),
315     $                    "fqcalving",itau_w,zxfqcalving)
316       ENDIF
317
318       IF (flag_fqfonte(iff)<=lev_files(iff)) THEN
319       CALL histwrite_phy(nid_files(iff),
320     $                    "fqfonte",itau_w,zxfqfonte)
321       ENDIF
322
323         DO nsrf = 1, nbsrf
324           IF(nsrf.GT.2) THEN
325            IF (flag_pourc_sol(iff)<=lev_files(iff)) THEN
326            zx_tmp_fi2d(1 : klon) = pctsrf( 1 : klon, nsrf)*100.
327            CALL histwrite_phy(nid_files(iff),
328     $                     "pourc_"//clnsurf(nsrf),itau_w,
329     $                     zx_tmp_fi2d)
330            ENDIF
331
332          IF (flag_fract_sol(iff)<=lev_files(iff)) THEN
333          zx_tmp_fi2d(1 : klon) = pctsrf( 1 : klon, nsrf)
334          CALL histwrite_phy(nid_files(iff),
335     $                    "fract_"//clnsurf(nsrf),itau_w,
336     $      zx_tmp_fi2d)
337          ENDIF
338         ENDIF !nsrf.GT.2
339
340        IF (flag_taux_sol(iff)<=lev_files(iff)) THEN
341        zx_tmp_fi2d(1 : klon) = fluxu( 1 : klon, 1, nsrf)
342        CALL histwrite_phy(nid_files(iff),
343     $                     "taux_"//clnsurf(nsrf),itau_w,
344     $      zx_tmp_fi2d)
345        ENDIF
346
347        IF (flag_tauy_sol(iff)<=lev_files(iff)) THEN           
348        zx_tmp_fi2d(1 : klon) = fluxv( 1 : klon, 1, nsrf)
349        CALL histwrite_phy(nid_files(iff),
350     $                    "tauy_"//clnsurf(nsrf),itau_w,
351     $      zx_tmp_fi2d)
352        ENDIF
353
354        IF (flag_tsol_sol(iff)<=lev_files(iff)) THEN
355        zx_tmp_fi2d(1 : klon) = ftsol( 1 : klon, nsrf)
356        CALL histwrite_phy(nid_files(iff),
357     $                   "tsol_"//clnsurf(nsrf),itau_w,
358     $      zx_tmp_fi2d)
359        ENDIF
360
361      IF (flag_u10m_sol(iff)<=lev_files(iff)) THEN
362      zx_tmp_fi2d(1 : klon) = u10m(1 : klon, nsrf)
363      CALL histwrite_phy(nid_files(iff),"u10m_"//clnsurf(nsrf),
364     $                 itau_w,zx_tmp_fi2d)
365      ENDIF
366
367      IF (flag_v10m_sol(iff)<=lev_files(iff)) THEN
368      zx_tmp_fi2d(1 : klon) = v10m(1 : klon, nsrf)
369      CALL histwrite_phy(nid_files(iff),"v10m_"//clnsurf(nsrf),
370     $              itau_w,zx_tmp_fi2d)
371      ENDIF
372 
373      IF (flag_t2m_sol(iff)<=lev_files(iff)) THEN
374      zx_tmp_fi2d(1 : klon) = t2m(1 : klon, nsrf)
375      CALL histwrite_phy(nid_files(iff),"t2m_"//clnsurf(nsrf),
376     $           itau_w,zx_tmp_fi2d)
377      ENDIF
378
379       IF (flag_sens_sol(iff)<=lev_files(iff)) THEN
380       zx_tmp_fi2d(1 : klon) = fluxt( 1 : klon, 1, nsrf)
381       CALL histwrite_phy(nid_files(iff),
382     $                     "sens_"//clnsurf(nsrf),itau_w,
383     $      zx_tmp_fi2d)
384       ENDIF
385
386        IF (flag_lat_sol(iff)<=lev_files(iff)) THEN
387        zx_tmp_fi2d(1 : klon) = fluxlat( 1 : klon, nsrf)
388        CALL histwrite_phy(nid_files(iff),
389     $                 "lat_"//clnsurf(nsrf),itau_w,
390     $                                   zx_tmp_fi2d)
391          ENDIF
392
393        IF (flag_flw_sol(iff)<=lev_files(iff)) THEN
394        zx_tmp_fi2d(1 : klon) = fsollw( 1 : klon, nsrf)
395        CALL histwrite_phy(nid_files(iff),
396     $                     "flw_"//clnsurf(nsrf),itau_w,
397     $      zx_tmp_fi2d)
398        ENDIF
399
400        IF (flag_fsw_sol(iff)<=lev_files(iff)) THEN
401        zx_tmp_fi2d(1 : klon) = fsolsw( 1 : klon, nsrf)
402        CALL histwrite_phy(nid_files(iff),
403     $                     "fsw_"//clnsurf(nsrf),itau_w,
404     $      zx_tmp_fi2d)
405        ENDIF
406
407        IF (flag_wbils_sol(iff)<=lev_files(iff)) THEN
408        zx_tmp_fi2d(1 : klon) = wfbils( 1 : klon, nsrf)
409        CALL histwrite_phy(nid_files(iff),
410     $                     "wbils_"//clnsurf(nsrf),itau_w,
411     $      zx_tmp_fi2d)
412        ENDIF
413
414        IF (flag_wbilo_sol(iff)<=lev_files(iff)) THEN
415        zx_tmp_fi2d(1 : klon) = wfbilo( 1 : klon, nsrf)
416        CALL histwrite_phy(nid_files(iff),
417     $                    "wbilo_"//clnsurf(nsrf),itau_w,
418     $      zx_tmp_fi2d)
419        ENDIF
420
421       if (iflag_pbl>1 .and. lev_histday.gt.10 ) then
422        IF (flag_tke_sol(iff)<=lev_files(iff)) THEN
423        CALL histwrite_phy(nid_files(iff),
424     $                    "tke_"//clnsurf(nsrf),itau_w,
425     $      pbl_tke(:,1:klev,nsrf))
426       ENDIF
427
428        IF (flag_tke_max_sol(iff)<=lev_files(iff)) THEN
429        CALL histwrite_phy(nid_files(iff),
430     $                    "tke_max_"//clnsurf(nsrf),itau_w,
431     $      pbl_tke(:,1:klev,nsrf))
432        ENDIF
433       endif
434      ENDDO
435
436        IF (flag_cdrm(iff)<=lev_files(iff)) THEN
437      CALL histwrite_phy(nid_files(iff),"cdrm",itau_w,cdragm)
438        ENDIF
439
440        IF (flag_cdrh(iff)<=lev_files(iff)) THEN
441      CALL histwrite_phy(nid_files(iff),"cdrh",itau_w,cdragh)
442        ENDIF
443
444        IF (flag_cldl(iff)<=lev_files(iff)) THEN
445      CALL histwrite_phy(nid_files(iff),"cldl",itau_w,cldl)
446        ENDIF
447
448        IF (flag_cldm(iff)<=lev_files(iff)) THEN
449      CALL histwrite_phy(nid_files(iff),"cldm",itau_w,cldm)
450        ENDIF
451
452        IF (flag_cldh(iff)<=lev_files(iff)) THEN
453      CALL histwrite_phy(nid_files(iff),"cldh",itau_w,cldh)
454        ENDIF
455
456        IF (flag_cldt(iff)<=lev_files(iff)) THEN
457      CALL histwrite_phy(nid_files(iff),"cldt", 
458     &                   itau_w,cldt*100)
459        ENDIF
460
461        IF (flag_cldq(iff)<=lev_files(iff)) THEN
462      CALL histwrite_phy(nid_files(iff),"cldq",itau_w,cldq)
463        ENDIF
464
465        IF (flag_lwp(iff)<=lev_files(iff)) THEN
466      zx_tmp_fi2d(1:klon) = flwp(1:klon)
467      CALL histwrite_phy(nid_files(iff),"lwp",itau_w,zx_tmp_fi2d)
468        ENDIF
469
470        IF (flag_iwp(iff)<=lev_files(iff)) THEN
471      zx_tmp_fi2d(1:klon) = fiwp(1:klon)
472      CALL histwrite_phy(nid_files(iff),"iwp",itau_w,zx_tmp_fi2d)
473        ENDIF
474
475        IF (flag_ue(iff)<=lev_files(iff)) THEN
476      CALL histwrite_phy(nid_files(iff),"ue",itau_w,ue)
477        ENDIF
478
479        IF (flag_ve(iff)<=lev_files(iff)) THEN
480      CALL histwrite_phy(nid_files(iff),"ve",itau_w,ve)
481        ENDIF
482
483        IF (flag_uq(iff)<=lev_files(iff)) THEN
484      CALL histwrite_phy(nid_files(iff),"uq",itau_w,uq)
485        ENDIF
486
487        IF (flag_vq(iff)<=lev_files(iff)) THEN
488      CALL histwrite_phy(nid_files(iff),"vq",itau_w,vq)
489        ENDIF
490
491      IF(iflag_con.GE.3) THEN ! sb
492        IF (flag_cape(iff)<=lev_files(iff)) THEN
493      CALL histwrite_phy(nid_files(iff),"cape",itau_w,cape)
494        ENDIF
495
496        IF (flag_pbase(iff)<=lev_files(iff)) THEN
497      CALL histwrite_phy(nid_files(iff),"pbase",itau_w,pbase)
498        ENDIF
499
500        IF (flag_ptop(iff)<=lev_files(iff)) THEN
501      CALL histwrite_phy(nid_files(iff),"ptop",itau_w,ema_pct)
502        ENDIF
503
504        IF (flag_fbase(iff)<=lev_files(iff)) THEN
505      CALL histwrite_phy(nid_files(iff),"fbase",itau_w,ema_cbmf)
506        ENDIF
507
508        IF (flag_prw(iff)<=lev_files(iff)) THEN
509      CALL histwrite_phy(nid_files(iff),"prw",itau_w,prw)
510        ENDIF
511      ENDIF !iflag_con .GE. 3
512
513        IF (flag_s_pblh(iff)<=lev_files(iff)) THEN
514      CALL histwrite_phy(nid_files(iff),"s_pblh",itau_w,s_pblh)
515        ENDIF
516
517        IF (flag_s_pblt(iff)<=lev_files(iff)) THEN
518      CALL histwrite_phy(nid_files(iff),"s_pblt",itau_w,s_pblt)
519        ENDIF
520
521        IF (flag_s_lclt(iff)<=lev_files(iff)) THEN
522      CALL histwrite_phy(nid_files(iff),"s_lcl",itau_w,s_lcl)
523        ENDIF
524
525        IF (flag_s_capCL(iff)<=lev_files(iff)) THEN
526      CALL histwrite_phy(nid_files(iff),"s_capCL",itau_w,s_capCL)
527        ENDIF
528
529        IF (flag_s_oliqCLL(iff)<=lev_files(iff)) THEN
530      CALL histwrite_phy(nid_files(iff),"s_oliqCL",itau_w,s_oliqCL)
531        ENDIF
532
533        IF (flag_s_cteiCL(iff)<=lev_files(iff)) THEN
534      CALL histwrite_phy(nid_files(iff),"s_cteiCL",itau_w,s_cteiCL)
535        ENDIF
536
537        IF (flag_s_therm(iff)<=lev_files(iff)) THEN
538      CALL histwrite_phy(nid_files(iff),"s_therm",itau_w,s_therm)
539        ENDIF
540
541        IF (flag_s_trmb1(iff)<=lev_files(iff)) THEN
542      CALL histwrite_phy(nid_files(iff),"s_trmb1",itau_w,s_trmb1)
543        ENDIF
544
545        IF (flag_s_trmb2(iff)<=lev_files(iff)) THEN
546      CALL histwrite_phy(nid_files(iff),"s_trmb2",itau_w,s_trmb2)
547        ENDIF
548
549        IF (flag_s_trmb3(iff)<=lev_files(iff)) THEN
550      CALL histwrite_phy(nid_files(iff),"s_trmb3",itau_w,s_trmb3)
551        ENDIF
552
553! Champs interpolles sur des niveaux de pression
554! if=1 on ecrit u v w phi sur 850 700 500 200 au niv 1
555! if=2 on ecrit w et ph 500 seulement au niv 1
556!        et u v sur 850 700 500 200
557! if=3 on ecrit ph a 500 seulement au niv 1
558!      on ecrit u v t q a 850 700 500 200 au niv 3
559
560        DO k=1, nlevSTD
561         IF(k.GE.2.AND.k.LE.12) bb2=clevSTD(k)
562         IF(k.GE.13.AND.k.LE.17) bb3=clevSTD(k)
563         IF(bb2.EQ."850".OR.bb2.EQ."700".OR.
564     $      bb2.EQ."500".OR.bb2.EQ."200") THEN
565
566! a refaire correctement !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
567       IF (flag_ulevsSTD(iff)<=lev_files(iff)) THEN
568       CALL histwrite_phy(nid_files(iff),"u"//bb2, 
569     & itau_w,ulevSTD(:,k))
570       ENDIF
571
572       IF (flag_vlevsSTD(iff)<=lev_files(iff)) THEN
573      CALL histwrite_phy(nid_files(iff),"v"//bb2, 
574     & itau_w,vlevSTD(:,k))
575       ENDIF
576
577       IF (flag_wlevsSTD(iff)<=lev_files(iff)) THEN
578      CALL histwrite_phy(nid_files(iff),"w"//bb2, 
579     & itau_w,wlevSTD(:,k))
580       ENDIF
581
582       IF (flag_philevsSTD(iff)<=lev_files(iff)) THEN
583      CALL histwrite_phy(nid_files(iff),
584     $                  "phi"//bb2, 
585     &               itau_w,philevSTD(:,k))
586       ENDIF
587
588       IF (flag_qlevsSTD(iff)<=lev_files(iff)) THEN
589      CALL histwrite_phy(nid_files(iff),"q"//bb2, 
590     & itau_w, qlevSTD(:,k))
591       ENDIF
592
593       IF (flag_tlevsSTD(iff)<=lev_files(iff)) THEN
594      CALL histwrite_phy(nid_files(iff),"t"//bb2, 
595     & itau_w, tlevSTD(:,k))
596       ENDIF
597
598       ENDIF !(bb2.EQ."850".OR.bb2.EQ."700".OR.
599       ENDDO
600
601!IM diagnostiques flux ocean-atm ou ocean-glace de mer
602!IM pour utilisation dans un modele de "slab" ocean
603
604      IF (flag_fluxo(iff)<=lev_files(iff)) THEN
605      DO i=1, klon
606       IF (pctsrf(i,is_oce).GT.epsfra) THEN
607        zx_tmp_fi2d(i) = fluxo(i)
608       ELSE
609        zx_tmp_fi2d(i) = 0.
610       ENDIF
611      ENDDO
612      CALL histwrite_phy(nid_files(iff),"fluxo",itau_w,zx_tmp_fi2d)
613      ENDIF
614
615      IF (flag_fluxg(iff)<=lev_files(iff)) THEN
616      DO i=1, klon
617       IF (pctsrf(i,is_sic).GT.epsfra) THEN
618        zx_tmp_fi2d(i) = fluxg(i)
619       ELSE
620        zx_tmp_fi2d(i) = 0.
621       ENDIF
622      ENDDO
623      CALL histwrite_phy(nid_files(iff),"fluxg",itau_w,zx_tmp_fi2d)
624      ENDIF
625
626      IF (flag_t_oce_sic(iff)<=lev_files(iff)) THEN
627      DO i=1, klon
628       IF (pctsrf(i,is_oce).GT.epsfra.OR.
629     $     pctsrf(i,is_sic).GT.epsfra) THEN
630        zx_tmp_fi2d(i) = (ftsol(i, is_oce) * pctsrf(i,is_oce)+
631     $                   ftsol(i, is_sic) * pctsrf(i,is_sic))/
632     $                   (pctsrf(i,is_oce)+pctsrf(i,is_sic))
633       ELSE
634        zx_tmp_fi2d(i) = 273.15
635       ENDIF
636      ENDDO
637      CALL histwrite_phy(nid_files(iff),"t_oce_sic",itau_w,zx_tmp_fi2d)
638      ENDIF
639
640      IF (OCEAN.EQ.'force ') THEN
641      IF (flag_lmt_bils(iff)<=lev_files(iff)) THEN
642      DO i=1, klon
643      IF((pctsrf(i,is_oce).GT.epsfra).OR.
644     $   (pctsrf(i,is_sic).GT.epsfra)) THEN
645       zx_tmp_fi2d(i) = (radsol(i) + fluxo(i))*pctsrf(i,is_oce)+
646     $                  fluxg(i)*pctsrf(i,is_sic)
647      ELSE
648       zx_tmp_fi2d(i) = 1.E+20
649      ENDIF
650      ENDDO
651      CALL histwrite_phy(nid_files(iff),"lmt_bils",itau_w,zx_tmp_fi2d)
652      ENDIF
653
654      ELSE IF (OCEAN.EQ.'slab  ') THEN
655
656      IF (flag_slab_bils(iff)<=lev_files(iff)) THEN
657      DO i=1, klon
658      IF((pctsrf(i,is_oce).GT.epsfra).OR.
659     $   (pctsrf(i,is_sic).GT.epsfra)) THEN
660       zx_tmp_fi2d(i) = (radsol(i) + fluxo(i))*pctsrf(i,is_oce)+
661     $                  fluxg(i)*pctsrf(i,is_sic)
662      ELSE
663       zx_tmp_fi2d(i) = 1.E+20
664      ENDIF
665      ENDDO
666      CALL histwrite_phy(nid_files(iff),"slab_bils",itau_w,zx_tmp_fi2d)
667      ENDIF
668
669      IF (flag_tslab(iff)<=lev_files(iff)) THEN
670      DO i=1, klon
671       IF(pctsrf(i,is_oce).GT.epsfra.OR.
672     $    pctsrf(i,is_sic).GT.epsfra) THEN
673        zx_tmp_fi2d(i)=tslab(i)
674       ELSE
675        zx_tmp_fi2d(i) = 1.E+20
676       ENDIF
677      ENDDO !i=1, klon
678      CALL histwrite_phy(nid_files(iff),"tslab",itau_w,zx_tmp_fi2d)
679      ENDIF
680
681      IF (flag_seaice(iff)<=lev_files(iff)) THEN
682      CALL histwrite_phy(nid_files(iff),"seaice",itau_w,seaice)
683      ENDIF
684
685      IF (flag_siceh(iff)<=lev_files(iff)) THEN
686      CALL histwrite_phy(nid_files(iff),"siceh",itau_w, seaice/1000.)
687      ENDIF
688      ENDIF !OCEAN.EQ.force/slab
689
690      IF (flag_weakinv(iff)<=lev_files(iff)) THEN
691      CALL histwrite_phy(nid_files(iff),"weakinv",itau_w,weak_inversion)
692      ENDIF
693
694      IF (flag_dthmin(iff)<=lev_files(iff)) THEN
695      CALL histwrite_phy(nid_files(iff),"dthmin",itau_w,dthmin)
696      ENDIF
697
698       IF (flag_meantaucld(iff)<=lev_files(iff)) THEN
699       CALL histwrite_phy(nid_files(iff),"meantaucld",itau_w,meantaucld)
700       ENDIF
701
702       IF (flag_cldtau(iff)<=lev_files(iff)) THEN
703       CALL histwrite_phy(nid_files(iff),"cldtau",itau_w,cldtau)
704       ENDIF
705
706       IF (flag_cldemi(iff)<=lev_files(iff)) THEN
707       CALL histwrite_phy(nid_files(iff),"cldemi",itau_w,cldemi)
708       ENDIF
709
710      IF (flag_rh2m(iff)<=lev_files(iff)) THEN
711      DO i=1, klon
712       zx_tmp_fi2d(i)=MIN(100.,rh2m(i)*100.)
713      ENDDO
714      CALL histwrite_phy(nid_files(iff),"rh2m",itau_w,zx_tmp_fi2d)
715      ENDIF
716
717      IF (flag_qsat2m(iff)<=lev_files(iff)) THEN
718      CALL histwrite_phy(nid_files(iff),"qsat2m",itau_w,qsat2m)
719      ENDIF
720
721      IF (flag_tpot(iff)<=lev_files(iff)) THEN
722      CALL histwrite_phy(nid_files(iff),"tpot",itau_w,tpot)
723      ENDIF
724
725       IF (flag_tpote(iff)<=lev_files(iff)) THEN
726      CALL histwrite_phy(nid_files(iff),"tpote",itau_w,tpote)
727       ENDIF
728
729      IF (flag_SWnetOR(iff)<=lev_files(iff)) THEN
730      zx_tmp_fi2d(1 : klon) = fsolsw( 1 : klon, is_ter)
731      CALL histwrite_phy(nid_files(iff),"SWnetOR",itau_w, zx_tmp_fi2d)
732      ENDIF
733
734      IF (flag_SWdownOR(iff)<=lev_files(iff)) THEN
735      zx_tmp_fi2d(1:klon) = solsw(1:klon)/(1.-albsol1(1:klon))
736      CALL histwrite_phy(nid_files(iff),"SWdownOR",itau_w, zx_tmp_fi2d)
737      ENDIF
738
739      IF (flag_LWdownOR(iff)<=lev_files(iff)) THEN
740      CALL histwrite_phy(nid_files(iff),"LWdownOR",itau_w,sollwdown)
741      ENDIF
742
743      IF (flag_snowl(iff)<=lev_files(iff)) THEN
744      CALL histwrite_phy(nid_files(iff),"snowl",itau_w,snow_lsc)
745      ENDIF
746
747      IF (flag_cape_max(iff)<=lev_files(iff)) THEN
748      CALL histwrite_phy(nid_files(iff),"cape_max",itau_w,cape)
749      ENDIF
750
751      IF (flag_solldown(iff)<=lev_files(iff)) THEN
752      CALL histwrite_phy(nid_files(iff),"solldown",itau_w,sollwdown)
753      ENDIF
754
755      IF (flag_dtsvdfo(iff)<=lev_files(iff)) THEN
756      CALL histwrite_phy(nid_files(iff),"dtsvdfo",itau_w,d_ts(:,is_oce))
757      ENDIF
758
759      IF (flag_dtsvdft(iff)<=lev_files(iff)) THEN
760      CALL histwrite_phy(nid_files(iff),"dtsvdft",itau_w,d_ts(:,is_ter))
761      ENDIF
762
763       IF (flag_dtsvdfg(iff)<=lev_files(iff)) THEN
764        CALL histwrite_phy(nid_files(iff),
765     $                     "dtsvdfg",itau_w, d_ts(:,is_lic))
766       ENDIF
767
768       IF (flag_dtsvdfi(iff)<=lev_files(iff)) THEN
769      CALL histwrite_phy(nid_files(iff),"dtsvdfi",itau_w,d_ts(:,is_sic))
770       ENDIF
771
772       IF (flag_rugs(iff)<=lev_files(iff)) THEN
773      CALL histwrite_phy(nid_files(iff),"rugs",itau_w,zxrugs)
774       ENDIF
775
776! Champs 3D:
777       IF (flag_lwcon(iff)<=lev_files(iff)) THEN
778      CALL histwrite_phy(nid_files(iff),"lwcon",itau_w,flwc)
779       ENDIF
780
781       IF (flag_iwcon(iff)<=lev_files(iff)) THEN
782      CALL histwrite_phy(nid_files(iff),"iwcon",itau_w,fiwc)
783       ENDIF
784
785       IF (flag_temp(iff)<=lev_files(iff)) THEN
786      CALL histwrite_phy(nid_files(iff),"temp",itau_w,t_seri)
787       ENDIF
788
789       IF (flag_ovap(iff)<=lev_files(iff)) THEN
790      CALL histwrite_phy(nid_files(iff),"ovap",itau_w,qx(:,:,ivap))
791       ENDIF
792
793       IF (flag_geop(iff)<=lev_files(iff)) THEN
794      CALL histwrite_phy(nid_files(iff),"geop",itau_w,zphi)
795       ENDIF
796
797       IF (flag_vitu(iff)<=lev_files(iff)) THEN
798      CALL histwrite_phy(nid_files(iff),"vitu",itau_w,u_seri)
799       ENDIF
800
801       IF (flag_vitv(iff)<=lev_files(iff)) THEN
802      CALL histwrite_phy(nid_files(iff),"vitv",itau_w,v_seri)
803       ENDIF
804
805       IF (flag_vitw(iff)<=lev_files(iff)) THEN
806      CALL histwrite_phy(nid_files(iff),"vitw",itau_w,omega)
807       ENDIF
808
809        IF (flag_pres(iff)<=lev_files(iff)) THEN
810      CALL histwrite_phy(nid_files(iff),"pres",itau_w,pplay)
811        ENDIF
812
813       IF (flag_rneb(iff)<=lev_files(iff)) THEN
814      CALL histwrite_phy(nid_files(iff),"rneb",itau_w,cldfra)
815       ENDIF
816
817       IF (flag_rnebcon(iff)<=lev_files(iff)) THEN
818      CALL histwrite_phy(nid_files(iff),"rnebcon",itau_w,rnebcon)
819       ENDIF
820
821       IF (flag_rhum(iff)<=lev_files(iff)) THEN
822      CALL histwrite_phy(nid_files(iff),"rhum",itau_w,zx_rh)
823       ENDIF
824
825      IF (flag_ozone(iff)<=lev_files(iff)) THEN
826      DO k=1, klev
827       DO i=1, klon
828         zx_tmp_fi3d(i,k)=wo(i,k)*RG/46.6968
829     $                    /(paprs(i,k)-paprs(i,k+1))
830     $                    *(paprs(i,1)/101325.0)
831       ENDDO !i
832      ENDDO !k
833      CALL histwrite_phy(nid_files(iff),"ozone",itau_w,zx_tmp_fi3d)
834      ENDIF
835
836       IF (flag_upwd(iff)<=lev_files(iff)) THEN
837      CALL histwrite_phy(nid_files(iff),"upwd",itau_w,upwd)
838       ENDIF
839
840       IF (flag_dtphy(iff)<=lev_files(iff)) THEN
841      CALL histwrite_phy(nid_files(iff),"dtphy",itau_w,d_t)
842       ENDIF
843
844       IF (flag_dqphy(iff)<=lev_files(iff)) THEN
845      CALL histwrite_phy(nid_files(iff),"dqphy",itau_w, d_qx(:,:,ivap))
846       ENDIF
847
848        DO nsrf=1, nbsrf
849        IF (flag_albe_sol(iff)<=lev_files(iff)) THEN
850        zx_tmp_fi2d(1 : klon) = falb1( 1 : klon, nsrf)
851        CALL histwrite_phy(nid_files(iff),"albe_"//clnsurf(nsrf),itau_w,
852     $      zx_tmp_fi2d)
853        ENDIF
854
855        IF (flag_rugs_sol(iff)<=lev_files(iff)) THEN 
856        zx_tmp_fi2d(1 : klon) = frugs( 1 : klon, nsrf)
857        CALL histwrite_phy(nid_files(iff),"rugs_"//clnsurf(nsrf),itau_w,
858     $      zx_tmp_fi2d)
859        ENDIF
860
861        IF (flag_ages_sol(iff)<=lev_files(iff)) THEN
862        zx_tmp_fi2d(1 : klon) = agesno( 1 : klon, nsrf)
863        CALL histwrite_phy(nid_files(iff),"ages_"//clnsurf(nsrf),itau_w
864     $    ,zx_tmp_fi2d)
865        ENDIF
866        ENDDO !nsrf=1, nbsrf
867
868       IF (flag_albs(iff)<=lev_files(iff)) THEN
869      CALL histwrite_phy(nid_files(iff),"albs",itau_w,albsol1)
870       ENDIF
871
872       IF (flag_albslw(iff)<=lev_files(iff)) THEN
873      CALL histwrite_phy(nid_files(iff),"albslw",itau_w,albsol2)
874       ENDIF
875
876!FH Sorties pour la couche limite
877      if (iflag_pbl>1) then
878      zx_tmp_fi3d=0.
879      do nsrf=1,nbsrf
880         do k=1,klev
881          zx_tmp_fi3d(:,k)=zx_tmp_fi3d(:,k)
882     $    +pctsrf(:,nsrf)*pbl_tke(:,k,nsrf)
883         enddo
884      enddo
885       IF (flag_tke(iff)<=lev_files(iff)) THEN
886      CALL histwrite_phy(nid_files(iff),"tke",itau_w,zx_tmp_fi3d)
887       ENDIF
888
889       IF (flag_tke_max(iff)<=lev_files(iff)) THEN
890      CALL histwrite_phy(nid_files(iff),"tke_max",itau_w,zx_tmp_fi3d)
891       ENDIF
892      endif
893
894       IF (flag_kz(iff)<=lev_files(iff)) THEN
895      CALL histwrite_phy(nid_files(iff),"kz",itau_w,ycoefh)
896       ENDIF
897
898       IF (flag_kz_max(iff)<=lev_files(iff)) THEN
899      CALL histwrite_phy(nid_files(iff),"kz_max",itau_w,ycoefh)
900       ENDIF
901
902       IF (flag_clwcon(iff)<=lev_files(iff)) THEN
903      CALL histwrite_phy(nid_files(iff),"clwcon",itau_w,clwcon0)
904       ENDIF
905
906       IF (flag_Ma(iff)<=lev_files(iff)) THEN
907      CALL histwrite_phy(nid_files(iff),"Ma",itau_w,Ma)
908       ENDIF
909
910       IF (flag_dnwd(iff)<=lev_files(iff)) THEN
911      CALL histwrite_phy(nid_files(iff),"dnwd",itau_w,dnwd)
912       ENDIF
913
914       IF (flag_dnwd0(iff)<=lev_files(iff)) THEN
915      CALL histwrite_phy(nid_files(iff),"dnwd0",itau_w,dnwd0)
916       ENDIF
917
918       IF (flag_dtdyn(iff)<=lev_files(iff)) THEN
919      CALL histwrite_phy(nid_files(iff),"dtdyn",itau_w,d_t_dyn)
920       ENDIF
921
922       IF (flag_dqdyn(iff)<=lev_files(iff)) THEN
923      CALL histwrite_phy(nid_files(iff),"dqdyn",itau_w,d_q_dyn)
924       ENDIF
925
926       IF (flag_dtcon(iff)<=lev_files(iff)) THEN
927      zx_tmp_fi3d(1:klon,1:klev)=d_t_con(1:klon,1:klev)/pdtphys
928      CALL histwrite_phy(nid_files(iff),"dtcon",itau_w,zx_tmp_fi3d)
929       ENDIF
930
931       IF (flag_ducon(iff)<=lev_files(iff)) THEN
932      zx_tmp_fi3d(1:klon,1:klev)=d_u_con(1:klon,1:klev)/pdtphys
933      CALL histwrite_phy(nid_files(iff),"ducon",itau_w,zx_tmp_fi3d)
934       ENDIF
935
936       IF (flag_dqcon(iff)<=lev_files(iff)) THEN
937      zx_tmp_fi3d(1:klon,1:klev)=d_q_con(1:klon,1:klev)/pdtphys
938      CALL histwrite_phy(nid_files(iff),"dqcon",itau_w,zx_tmp_fi3d)
939       ENDIF
940
941       IF (flag_dtlsc(iff)<=lev_files(iff)) THEN
942      zx_tmp_fi3d(1:klon,1:klev)=d_t_lsc(1:klon,1:klev)/pdtphys
943      CALL histwrite_phy(nid_files(iff),"dtlsc",itau_w,zx_tmp_fi3d)
944       ENDIF
945
946       IF (flag_dtlschr(iff)<=lev_files(iff)) THEN
947      zx_tmp_fi3d(1:klon, 1:klev)=(d_t_lsc(1:klon,1:klev)+
948     $                           d_t_eva(1:klon,1:klev))/pdtphys
949      CALL histwrite_phy(nid_files(iff),"dtlschr",itau_w,zx_tmp_fi3d)
950       ENDIF
951
952       IF (flag_dqlsc(iff)<=lev_files(iff)) THEN
953      zx_tmp_fi3d(1:klon,1:klev)=d_q_lsc(1:klon,1:klev)/pdtphys
954      CALL histwrite_phy(nid_files(iff),"dqlsc",itau_w,zx_tmp_fi3d)
955       ENDIF
956
957       IF (flag_dtvdf(iff)<=lev_files(iff)) THEN
958      zx_tmp_fi3d(1:klon,1:klev)=d_t_vdf(1:klon,1:klev)/pdtphys
959      CALL histwrite_phy(nid_files(iff),"dtvdf",itau_w,zx_tmp_fi3d)
960       ENDIF
961
962       IF (flag_dqvdf(iff)<=lev_files(iff)) THEN
963      zx_tmp_fi3d(1:klon,1:klev)=d_q_vdf(1:klon,1:klev)/pdtphys
964      CALL histwrite_phy(nid_files(iff),"dqvdf",itau_w,zx_tmp_fi3d)
965       ENDIF
966
967       IF (flag_dteva(iff)<=lev_files(iff)) THEN
968      zx_tmp_fi3d(1:klon,1:klev)=d_t_eva(1:klon,1:klev)/pdtphys
969      CALL histwrite_phy(nid_files(iff),"dteva",itau_w,zx_tmp_fi3d)
970       ENDIF
971
972       IF (flag_dqeva(iff)<=lev_files(iff)) THEN
973      zx_tmp_fi3d(1:klon,1:klev)=d_q_eva(1:klon,1:klev)/pdtphys
974      CALL histwrite_phy(nid_files(iff),"dqeva",itau_w,zx_tmp_fi3d)
975       ENDIF
976
977       IF (flag_ptconv(iff)<=lev_files(iff)) THEN
978      zpt_conv = 0.
979      where (ptconv) zpt_conv = 1.
980      CALL histwrite_phy(nid_files(iff),"ptconv",itau_w,zpt_conv)
981       ENDIF
982
983       IF (flag_ratqs(iff)<=lev_files(iff)) THEN
984      CALL histwrite_phy(nid_files(iff),"ratqs",itau_w,ratqs)
985       ENDIF
986
987       IF (flag_dtthe(iff)<=lev_files(iff)) THEN
988      zx_tmp_fi3d(1:klon,1:klev)=d_t_ajs(1:klon,1:klev)/pdtphys
989      CALL histwrite_phy(nid_files(iff),"dtthe",itau_w,zx_tmp_fi3d)
990       ENDIF
991
992       IF (flag_dqthe(iff)<=lev_files(iff)) THEN
993      zx_tmp_fi3d(1:klon,1:klev)=d_q_ajs(1:klon,1:klev)/pdtphys
994      CALL histwrite_phy(nid_files(iff),"dqthe",itau_w,zx_tmp_fi3d)
995       ENDIF
996
997       IF (flag_dtajs(iff)<=lev_files(iff)) THEN
998      zx_tmp_fi3d(1:klon,1:klev)=d_t_ajsb(1:klon,1:klev)/pdtphys
999      CALL histwrite_phy(nid_files(iff),"dtajs",itau_w,zx_tmp_fi3d)
1000       ENDIF
1001
1002       IF (flag_dqajs(iff)<=lev_files(iff)) THEN
1003      zx_tmp_fi3d(1:klon,1:klev)=d_q_ajsb(1:klon,1:klev)/pdtphys
1004      CALL histwrite_phy(nid_files(iff),"dqajs",itau_w,zx_tmp_fi3d)
1005       ENDIF
1006
1007       IF (flag_dtswr(iff)<=lev_files(iff)) THEN
1008      zx_tmp_fi3d(1:klon,1:klev)=heat(1:klon,1:klev)/RDAY
1009      CALL histwrite_phy(nid_files(iff),"dtswr",itau_w,zx_tmp_fi3d)
1010       ENDIF
1011
1012       IF (flag_dtsw0(iff)<=lev_files(iff)) THEN
1013      zx_tmp_fi3d(1:klon,1:klev)=heat0(1:klon,1:klev)/RDAY
1014      CALL histwrite_phy(nid_files(iff),"dtsw0",itau_w,zx_tmp_fi3d)
1015       ENDIF
1016
1017       IF (flag_dtlwr(iff)<=lev_files(iff)) THEN
1018      zx_tmp_fi3d(1:klon,1:klev)=-1.*cool(1:klon,1:klev)/RDAY
1019      CALL histwrite_phy(nid_files(iff),"dtlwr",itau_w,zx_tmp_fi3d)
1020       ENDIF
1021
1022       IF (flag_dtlw0(iff)<=lev_files(iff)) THEN
1023      zx_tmp_fi3d(1:klon,1:klev)=-1.*cool0(1:klon,1:klev)/RDAY
1024      CALL histwrite_phy(nid_files(iff),"dtlw0",itau_w,zx_tmp_fi3d)
1025       ENDIF
1026
1027       IF (flag_dtec(iff)<=lev_files(iff)) THEN
1028      zx_tmp_fi3d(1:klon,1:klev)=d_t_ec(1:klon,1:klev)
1029      CALL histwrite_phy(nid_files(iff),"dtec",itau_w,zx_tmp_fi3d)
1030       ENDIF
1031
1032       IF (flag_duvdf(iff)<=lev_files(iff)) THEN
1033      zx_tmp_fi3d(1:klon,1:klev)=d_u_vdf(1:klon,1:klev)/pdtphys
1034      CALL histwrite_phy(nid_files(iff),"duvdf",itau_w,zx_tmp_fi3d)
1035       ENDIF
1036
1037       IF (flag_dvvdf(iff)<=lev_files(iff)) THEN
1038      zx_tmp_fi3d(1:klon,1:klev)=d_v_vdf(1:klon,1:klev)/pdtphys
1039      CALL histwrite_phy(nid_files(iff),"dvvdf",itau_w,zx_tmp_fi3d)
1040       ENDIF
1041
1042       IF (ok_orodr) THEN
1043      IF (flag_duoro(iff)<=lev_files(iff)) THEN
1044      zx_tmp_fi3d(1:klon,1:klev)=d_u_oro(1:klon,1:klev)/pdtphys
1045      CALL histwrite_phy(nid_files(iff),"duoro",itau_w,zx_tmp_fi3d)
1046       ENDIF
1047
1048      IF (flag_dvoro(iff)<=lev_files(iff)) THEN
1049      zx_tmp_fi3d(1:klon,1:klev)=d_v_oro(1:klon,1:klev)/pdtphys
1050      CALL histwrite_phy(nid_files(iff),"dvoro",itau_w,zx_tmp_fi3d)
1051      ENDIF
1052       ENDIF
1053
1054        IF (ok_orolf) THEN
1055       IF (flag_dulif(iff)<=lev_files(iff)) THEN
1056      zx_tmp_fi3d(1:klon,1:klev)=d_u_lif(1:klon,1:klev)/pdtphys
1057      CALL histwrite_phy(nid_files(iff),"dulif",itau_w,zx_tmp_fi3d)
1058       ENDIF
1059
1060        IF (flag_dvlif(iff)<=lev_files(iff)) THEN
1061      zx_tmp_fi3d(1:klon,1:klev)=d_v_lif(1:klon,1:klev)/pdtphys
1062      CALL histwrite_phy(nid_files(iff),"dvlif",itau_w,zx_tmp_fi3d)
1063       ENDIF
1064        ENDIF
1065
1066       IF (flag_trac(iff)<=lev_files(iff)) THEN
1067         if (nqmax.GE.3) THEN
1068           DO iq=3,nqmax
1069         CALL histwrite_phy(nid_files(iff),tnom(iq),itau_w,qx(:,:,iq))
1070           ENDDO
1071          endif
1072
1073       ENDIF
1074      if (ok_sync) then
1075c$OMP MASTER
1076        call histsync(nid_files(iff))
1077c$OMP END MASTER
1078      endif
1079
1080       ENDIF ! clef_files
1081
1082      ENDDO ! iff=1,nfiles
Note: See TracBrowser for help on using the repository browser.