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

Last change on this file since 1072 was 1067, checked in by Laurent Fairhead, 16 years ago
  • Modifications lie au premier niveau du modele pour la diffusion turbulent

du vent.

  • Preparation pour un couplage des courrant oceaniques.

JG

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 38.5 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(:,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       sollwdownclr(1:klon) = -1.*lwdn0(1:klon,1)
286       IF (flag_LWupSFCclr(iff)<=lev_files(iff)) THEN
287      zx_tmp_fi2d(1:klon)=sollwdownclr(1:klon)-sollw0(1:klon)
288      CALL histwrite_phy(nid_files(iff),
289     $                   "LWupSFCclr",itau_w,zx_tmp_fi2d)
290       ENDIF
291
292       IF (flag_LWdnSFCclr(iff)<=lev_files(iff)) THEN
293      CALL histwrite_phy(nid_files(iff),
294     $                   "LWdnSFCclr",itau_w,sollwdownclr)
295       ENDIF
296
297       IF (flag_bils(iff)<=lev_files(iff)) THEN
298      CALL histwrite_phy(nid_files(iff),"bils",itau_w,bils)
299       ENDIF
300
301       IF (flag_sens(iff)<=lev_files(iff)) THEN
302      zx_tmp_fi2d(1:klon)=-1*sens(1:klon)
303      CALL histwrite_phy(nid_files(iff),"sens",itau_w,zx_tmp_fi2d)
304       ENDIF
305
306       IF (flag_fder(iff)<=lev_files(iff)) THEN
307      CALL histwrite_phy(nid_files(iff),"fder",itau_w,fder)
308       ENDIF
309
310       IF (flag_ffonte(iff)<=lev_files(iff)) THEN
311       CALL histwrite_phy(nid_files(iff),"ffonte",itau_w,zxffonte)
312       ENDIF
313
314       IF (flag_fqcalving(iff)<=lev_files(iff)) THEN
315       CALL histwrite_phy(nid_files(iff),
316     $                    "fqcalving",itau_w,zxfqcalving)
317       ENDIF
318
319       IF (flag_fqfonte(iff)<=lev_files(iff)) THEN
320       CALL histwrite_phy(nid_files(iff),
321     $                    "fqfonte",itau_w,zxfqfonte)
322       ENDIF
323
324         DO nsrf = 1, nbsrf
325           IF(nsrf.GE.2) THEN
326            IF (flag_pourc_sol(iff)<=lev_files(iff)) THEN
327            zx_tmp_fi2d(1 : klon) = pctsrf( 1 : klon, nsrf)*100.
328            CALL histwrite_phy(nid_files(iff),
329     $                     "pourc_"//clnsurf(nsrf),itau_w,
330     $                     zx_tmp_fi2d)
331            ENDIF
332
333          IF (flag_fract_sol(iff)<=lev_files(iff)) THEN
334          zx_tmp_fi2d(1 : klon) = pctsrf( 1 : klon, nsrf)
335          CALL histwrite_phy(nid_files(iff),
336     $                    "fract_"//clnsurf(nsrf),itau_w,
337     $      zx_tmp_fi2d)
338          ENDIF
339         ENDIF !nsrf.GT.2
340
341        IF (flag_taux_sol(iff)<=lev_files(iff)) THEN
342        zx_tmp_fi2d(1 : klon) = fluxu( 1 : klon, 1, nsrf)
343        CALL histwrite_phy(nid_files(iff),
344     $                     "taux_"//clnsurf(nsrf),itau_w,
345     $      zx_tmp_fi2d)
346        ENDIF
347
348        IF (flag_tauy_sol(iff)<=lev_files(iff)) THEN           
349        zx_tmp_fi2d(1 : klon) = fluxv( 1 : klon, 1, nsrf)
350        CALL histwrite_phy(nid_files(iff),
351     $                    "tauy_"//clnsurf(nsrf),itau_w,
352     $      zx_tmp_fi2d)
353        ENDIF
354
355        IF (flag_tsol_sol(iff)<=lev_files(iff)) THEN
356        zx_tmp_fi2d(1 : klon) = ftsol( 1 : klon, nsrf)
357        CALL histwrite_phy(nid_files(iff),
358     $                   "tsol_"//clnsurf(nsrf),itau_w,
359     $      zx_tmp_fi2d)
360        ENDIF
361
362      IF (flag_u10m_sol(iff)<=lev_files(iff)) THEN
363      zx_tmp_fi2d(1 : klon) = u10m(1 : klon, nsrf)
364      CALL histwrite_phy(nid_files(iff),"u10m_"//clnsurf(nsrf),
365     $                 itau_w,zx_tmp_fi2d)
366      ENDIF
367
368      IF (flag_v10m_sol(iff)<=lev_files(iff)) THEN
369      zx_tmp_fi2d(1 : klon) = v10m(1 : klon, nsrf)
370      CALL histwrite_phy(nid_files(iff),"v10m_"//clnsurf(nsrf),
371     $              itau_w,zx_tmp_fi2d)
372      ENDIF
373 
374      IF (flag_t2m_sol(iff)<=lev_files(iff)) THEN
375      zx_tmp_fi2d(1 : klon) = t2m(1 : klon, nsrf)
376      CALL histwrite_phy(nid_files(iff),"t2m_"//clnsurf(nsrf),
377     $           itau_w,zx_tmp_fi2d)
378      ENDIF
379
380       IF (flag_sens_sol(iff)<=lev_files(iff)) THEN
381       zx_tmp_fi2d(1 : klon) = fluxt( 1 : klon, 1, nsrf)
382       CALL histwrite_phy(nid_files(iff),
383     $                     "sens_"//clnsurf(nsrf),itau_w,
384     $      zx_tmp_fi2d)
385       ENDIF
386
387        IF (flag_lat_sol(iff)<=lev_files(iff)) THEN
388        zx_tmp_fi2d(1 : klon) = fluxlat( 1 : klon, nsrf)
389        CALL histwrite_phy(nid_files(iff),
390     $                 "lat_"//clnsurf(nsrf),itau_w,
391     $                                   zx_tmp_fi2d)
392          ENDIF
393
394        IF (flag_flw_sol(iff)<=lev_files(iff)) THEN
395        zx_tmp_fi2d(1 : klon) = fsollw( 1 : klon, nsrf)
396        CALL histwrite_phy(nid_files(iff),
397     $                     "flw_"//clnsurf(nsrf),itau_w,
398     $      zx_tmp_fi2d)
399        ENDIF
400
401        IF (flag_fsw_sol(iff)<=lev_files(iff)) THEN
402        zx_tmp_fi2d(1 : klon) = fsolsw( 1 : klon, nsrf)
403        CALL histwrite_phy(nid_files(iff),
404     $                     "fsw_"//clnsurf(nsrf),itau_w,
405     $      zx_tmp_fi2d)
406        ENDIF
407
408        IF (flag_wbils_sol(iff)<=lev_files(iff)) THEN
409        zx_tmp_fi2d(1 : klon) = wfbils( 1 : klon, nsrf)
410        CALL histwrite_phy(nid_files(iff),
411     $                     "wbils_"//clnsurf(nsrf),itau_w,
412     $      zx_tmp_fi2d)
413        ENDIF
414
415        IF (flag_wbilo_sol(iff)<=lev_files(iff)) THEN
416        zx_tmp_fi2d(1 : klon) = wfbilo( 1 : klon, nsrf)
417        CALL histwrite_phy(nid_files(iff),
418     $                    "wbilo_"//clnsurf(nsrf),itau_w,
419     $      zx_tmp_fi2d)
420        ENDIF
421
422       if (iflag_pbl>1 .and. lev_histday.gt.10 ) then
423        IF (flag_tke_sol(iff)<=lev_files(iff)) THEN
424        CALL histwrite_phy(nid_files(iff),
425     $                    "tke_"//clnsurf(nsrf),itau_w,
426     $      pbl_tke(:,1:klev,nsrf))
427       ENDIF
428
429        IF (flag_tke_max_sol(iff)<=lev_files(iff)) THEN
430        CALL histwrite_phy(nid_files(iff),
431     $                    "tke_max_"//clnsurf(nsrf),itau_w,
432     $      pbl_tke(:,1:klev,nsrf))
433        ENDIF
434       endif
435      ENDDO
436
437        IF (flag_cdrm(iff)<=lev_files(iff)) THEN
438      CALL histwrite_phy(nid_files(iff),"cdrm",itau_w,cdragm)
439        ENDIF
440
441        IF (flag_cdrh(iff)<=lev_files(iff)) THEN
442      CALL histwrite_phy(nid_files(iff),"cdrh",itau_w,cdragh)
443        ENDIF
444
445        IF (flag_cldl(iff)<=lev_files(iff)) THEN
446      CALL histwrite_phy(nid_files(iff),"cldl",itau_w,cldl)
447        ENDIF
448
449        IF (flag_cldm(iff)<=lev_files(iff)) THEN
450      CALL histwrite_phy(nid_files(iff),"cldm",itau_w,cldm)
451        ENDIF
452
453        IF (flag_cldh(iff)<=lev_files(iff)) THEN
454      CALL histwrite_phy(nid_files(iff),"cldh",itau_w,cldh)
455        ENDIF
456
457        IF (flag_cldt(iff)<=lev_files(iff)) THEN
458      CALL histwrite_phy(nid_files(iff),"cldt", 
459     &                   itau_w,cldt*100)
460        ENDIF
461
462        IF (flag_cldq(iff)<=lev_files(iff)) THEN
463      CALL histwrite_phy(nid_files(iff),"cldq",itau_w,cldq)
464        ENDIF
465
466        IF (flag_lwp(iff)<=lev_files(iff)) THEN
467      zx_tmp_fi2d(1:klon) = flwp(1:klon)
468      CALL histwrite_phy(nid_files(iff),"lwp",itau_w,zx_tmp_fi2d)
469        ENDIF
470
471        IF (flag_iwp(iff)<=lev_files(iff)) THEN
472      zx_tmp_fi2d(1:klon) = fiwp(1:klon)
473      CALL histwrite_phy(nid_files(iff),"iwp",itau_w,zx_tmp_fi2d)
474        ENDIF
475
476        IF (flag_ue(iff)<=lev_files(iff)) THEN
477      CALL histwrite_phy(nid_files(iff),"ue",itau_w,ue)
478        ENDIF
479
480        IF (flag_ve(iff)<=lev_files(iff)) THEN
481      CALL histwrite_phy(nid_files(iff),"ve",itau_w,ve)
482        ENDIF
483
484        IF (flag_uq(iff)<=lev_files(iff)) THEN
485      CALL histwrite_phy(nid_files(iff),"uq",itau_w,uq)
486        ENDIF
487
488        IF (flag_vq(iff)<=lev_files(iff)) THEN
489      CALL histwrite_phy(nid_files(iff),"vq",itau_w,vq)
490        ENDIF
491
492      IF(iflag_con.GE.3) THEN ! sb
493        IF (flag_cape(iff)<=lev_files(iff)) THEN
494      CALL histwrite_phy(nid_files(iff),"cape",itau_w,cape)
495        ENDIF
496
497        IF (flag_pbase(iff)<=lev_files(iff)) THEN
498      CALL histwrite_phy(nid_files(iff),"pbase",itau_w,pbase)
499        ENDIF
500
501        IF (flag_ptop(iff)<=lev_files(iff)) THEN
502      CALL histwrite_phy(nid_files(iff),"ptop",itau_w,ema_pct)
503        ENDIF
504
505        IF (flag_fbase(iff)<=lev_files(iff)) THEN
506      CALL histwrite_phy(nid_files(iff),"fbase",itau_w,ema_cbmf)
507        ENDIF
508
509        IF (flag_prw(iff)<=lev_files(iff)) THEN
510      CALL histwrite_phy(nid_files(iff),"prw",itau_w,prw)
511        ENDIF
512      ENDIF !iflag_con .GE. 3
513
514        IF (flag_s_pblh(iff)<=lev_files(iff)) THEN
515      CALL histwrite_phy(nid_files(iff),"s_pblh",itau_w,s_pblh)
516        ENDIF
517
518        IF (flag_s_pblt(iff)<=lev_files(iff)) THEN
519      CALL histwrite_phy(nid_files(iff),"s_pblt",itau_w,s_pblt)
520        ENDIF
521
522        IF (flag_s_lcl(iff)<=lev_files(iff)) THEN
523      CALL histwrite_phy(nid_files(iff),"s_lcl",itau_w,s_lcl)
524        ENDIF
525
526        IF (flag_s_capCL(iff)<=lev_files(iff)) THEN
527      CALL histwrite_phy(nid_files(iff),"s_capCL",itau_w,s_capCL)
528        ENDIF
529
530        IF (flag_s_oliqCL(iff)<=lev_files(iff)) THEN
531      CALL histwrite_phy(nid_files(iff),"s_oliqCL",itau_w,s_oliqCL)
532        ENDIF
533
534        IF (flag_s_cteiCL(iff)<=lev_files(iff)) THEN
535      CALL histwrite_phy(nid_files(iff),"s_cteiCL",itau_w,s_cteiCL)
536        ENDIF
537
538        IF (flag_s_therm(iff)<=lev_files(iff)) THEN
539      CALL histwrite_phy(nid_files(iff),"s_therm",itau_w,s_therm)
540        ENDIF
541
542        IF (flag_s_trmb1(iff)<=lev_files(iff)) THEN
543      CALL histwrite_phy(nid_files(iff),"s_trmb1",itau_w,s_trmb1)
544        ENDIF
545
546        IF (flag_s_trmb2(iff)<=lev_files(iff)) THEN
547      CALL histwrite_phy(nid_files(iff),"s_trmb2",itau_w,s_trmb2)
548        ENDIF
549
550        IF (flag_s_trmb3(iff)<=lev_files(iff)) THEN
551      CALL histwrite_phy(nid_files(iff),"s_trmb3",itau_w,s_trmb3)
552        ENDIF
553
554! Champs interpolles sur des niveaux de pression
555! if=1 on ecrit u v w phi sur 850 700 500 200 au niv 1
556! if=2 on ecrit w et ph 500 seulement au niv 1
557!        et u v sur 850 700 500 200
558! if=3 on ecrit ph a 500 seulement au niv 1
559!      on ecrit u v t q a 850 700 500 200 au niv 3
560
561        DO k=1, nlevSTD
562         IF(k.GE.2.AND.k.LE.12) bb2=clevSTD(k)
563         IF(k.GE.13.AND.k.LE.17) bb3=clevSTD(k)
564         IF(bb2.EQ."850".OR.bb2.EQ."700".OR.
565     $      bb2.EQ."500".OR.bb2.EQ."200") THEN
566
567! a refaire correctement !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
568       IF (flag_ulevsSTD(iff)<=lev_files(iff)) THEN
569       CALL histwrite_phy(nid_files(iff),"u"//bb2,
570     & itau_w,uwriteSTD(:,k,iff))
571       ENDIF
572
573       IF (flag_vlevsSTD(iff)<=lev_files(iff)) THEN
574      CALL histwrite_phy(nid_files(iff),"v"//bb2, 
575     & itau_w,vwriteSTD(:,k,iff))
576       ENDIF
577
578       IF (flag_wlevsSTD(iff)<=lev_files(iff)) THEN
579      CALL histwrite_phy(nid_files(iff),"w"//bb2,
580     & itau_w,wwriteSTD(:,k,iff))
581       ENDIF
582
583       IF (flag_philevsSTD(iff)<=lev_files(iff)) THEN
584      CALL histwrite_phy(nid_files(iff),
585     $                  "phi"//bb2,
586     &               itau_w,phiwriteSTD(:,k,iff))
587       ENDIF
588
589       IF (flag_qlevsSTD(iff)<=lev_files(iff)) THEN
590      CALL histwrite_phy(nid_files(iff),"q"//bb2,
591     & itau_w, qwriteSTD(:,k,iff))
592       ENDIF
593
594       IF (flag_tlevsSTD(iff)<=lev_files(iff)) THEN
595      CALL histwrite_phy(nid_files(iff),"t"//bb2,
596     & itau_w, twriteSTD(:,k,iff))
597       ENDIF
598
599       ENDIF !(bb2.EQ."850".OR.bb2.EQ."700".OR.
600       ENDDO
601
602      IF (flag_t_oce_sic(iff)<=lev_files(iff)) THEN
603      DO i=1, klon
604       IF (pctsrf(i,is_oce).GT.epsfra.OR.
605     $     pctsrf(i,is_sic).GT.epsfra) THEN
606        zx_tmp_fi2d(i) = (ftsol(i, is_oce) * pctsrf(i,is_oce)+
607     $                   ftsol(i, is_sic) * pctsrf(i,is_sic))/
608     $                   (pctsrf(i,is_oce)+pctsrf(i,is_sic))
609       ELSE
610        zx_tmp_fi2d(i) = 273.15
611       ENDIF
612      ENDDO
613      CALL histwrite_phy(nid_files(iff),"t_oce_sic",itau_w,zx_tmp_fi2d)
614      ENDIF
615
616      IF (type_ocean=='force ') THEN
617
618      IF (iflag_con.GE.3) THEN
619      IF (iflag_coupl.EQ.1) THEN
620       IF (flag_ale_bl(iff)<=lev_files(iff)) THEN
621       CALL histwrite_phy(nid_files(iff),"ale_bl",itau_w,ale_bl)
622       ENDIF
623       IF (flag_alp_bl(iff)<=lev_files(iff)) THEN
624       CALL histwrite_phy(nid_files(iff),"alp_bl",itau_w,alp_bl)
625       ENDIF
626      ENDIF !iflag_coupl.EQ.1
627
628      IF (iflag_wake.EQ.1) THEN
629       IF (flag_ale_wk(iff)<=lev_files(iff)) THEN
630       CALL histwrite_phy(nid_files(iff),"ale_wk",itau_w,ale_wake)
631       ENDIF
632       IF (flag_alp_wk(iff)<=lev_files(iff)) THEN
633       CALL histwrite_phy(nid_files(iff),"alp_wk",itau_w,alp_wake)
634       ENDIF
635
636       IF (flag_ale(iff)<=lev_files(iff)) THEN
637       CALL histwrite_phy(nid_files(iff),"ale",itau_w,ale)
638       ENDIF
639       IF (flag_alp(iff)<=lev_files(iff)) THEN
640       CALL histwrite_phy(nid_files(iff),"alp",itau_w,alp)
641       ENDIF
642       IF (flag_cin(iff)<=lev_files(iff)) THEN
643       CALL histwrite_phy(nid_files(iff),"cin",itau_w,cin)
644       ENDIF
645       IF (flag_wape(iff)<=lev_files(iff)) THEN
646       CALL histwrite_phy(nid_files(iff),"WAPE",itau_w,wake_pe)
647       ENDIF
648       IF (flag_wake_h(iff)<=lev_files(iff)) THEN
649      CALL histwrite_phy(nid_files(iff),"wake_h",itau_w,wake_h)
650       ENDIF
651
652       IF (flag_wake_s(iff)<=lev_files(iff)) THEN
653      CALL histwrite_phy(nid_files(iff),"wake_s",itau_w,wake_s)
654       ENDIF
655
656        IF (flag_wake_deltat(iff)<=lev_files(iff)) THEN
657       CALL histwrite_phy(nid_files(iff),"wake_deltat",
658     $                     itau_w,wake_deltat)
659        ENDIF
660
661        IF (flag_wake_deltaq(iff)<=lev_files(iff)) THEN
662       CALL histwrite_phy(nid_files(iff),"wake_deltaq",
663     $                    itau_w,wake_deltaq)
664        ENDIF
665
666        IF (flag_wake_omg(iff)<=lev_files(iff)) THEN
667       CALL histwrite_phy(nid_files(iff),"wake_omg",itau_w,wake_omg)
668        ENDIF
669      ENDIF
670
671        IF (flag_Vprecip(iff)<=lev_files(iff)) THEN
672       CALL histwrite_phy(nid_files(iff),"Vprecip",itau_w,Vprecip)
673        ENDIF
674
675        IF (flag_ftd(iff)<=lev_files(iff)) THEN
676       CALL histwrite_phy(nid_files(iff),"ftd",itau_w,ftd)
677        ENDIF
678
679        IF (flag_fqd(iff)<=lev_files(iff)) THEN
680       CALL histwrite_phy(nid_files(iff),"fqd",itau_w,fqd)
681        ENDIF
682
683      ENDIF !(iflag_con.GE.3) 
684 
685      ELSE IF (type_ocean=='slab  ') THEN
686
687      IF ( flag_slab_bils(iff)<=lev_files(iff)) 
688     $     CALL histwrite_phy(
689     $     nid_files(iff),"slab_wbils_oce",itau_w,slab_wfbils)
690
691      ENDIF !type_ocean == force/slab
692
693      IF (flag_weakinv(iff)<=lev_files(iff)) THEN
694      CALL histwrite_phy(nid_files(iff),"weakinv",itau_w,weak_inversion)
695      ENDIF
696
697      IF (flag_dthmin(iff)<=lev_files(iff)) THEN
698      CALL histwrite_phy(nid_files(iff),"dthmin",itau_w,dthmin)
699      ENDIF
700
701       IF (flag_cldtau(iff)<=lev_files(iff)) THEN
702       CALL histwrite_phy(nid_files(iff),"cldtau",itau_w,cldtau)
703       ENDIF
704
705       IF (flag_cldemi(iff)<=lev_files(iff)) THEN
706       CALL histwrite_phy(nid_files(iff),"cldemi",itau_w,cldemi)
707       ENDIF
708
709!      IF (flag_pr_con_l(iff)<=lev_files(iff)) THEN
710!      CALL histwrite_phy(nid_files(iff),"pmflxr",itau_w,pmflxr)
711!      ENDIF
712
713!      IF (flag_pr_con_i(iff)<=lev_files(iff)) THEN
714!      CALL histwrite_phy(nid_files(iff),"pmflxs",itau_w,pmflxs)
715!      ENDIF
716
717!      IF (flag_pr_lsc_l(iff)<=lev_files(iff)) THEN
718!      CALL histwrite_phy(nid_files(iff),"prfl",itau_w,prfl)
719!      ENDIF
720
721!      IF (flag_pr_lsc_i(iff)<=lev_files(iff)) THEN
722!      CALL histwrite_phy(nid_files(iff),"psfl",itau_w,psfl)
723!      ENDIF
724
725      IF (flag_rh2m(iff)<=lev_files(iff)) THEN
726      DO i=1, klon
727       zx_tmp_fi2d(i)=MIN(100.,rh2m(i)*100.)
728      ENDDO
729      CALL histwrite_phy(nid_files(iff),"rh2m",itau_w,zx_tmp_fi2d)
730      ENDIF
731
732      IF (flag_qsat2m(iff)<=lev_files(iff)) THEN
733      CALL histwrite_phy(nid_files(iff),"qsat2m",itau_w,qsat2m)
734      ENDIF
735
736      IF (flag_tpot(iff)<=lev_files(iff)) THEN
737      CALL histwrite_phy(nid_files(iff),"tpot",itau_w,tpot)
738      ENDIF
739
740       IF (flag_tpote(iff)<=lev_files(iff)) THEN
741      CALL histwrite_phy(nid_files(iff),"tpote",itau_w,tpote)
742       ENDIF
743
744      IF (flag_SWnetOR(iff)<=lev_files(iff)) THEN
745      zx_tmp_fi2d(1 : klon) = fsolsw( 1 : klon, is_ter)
746      CALL histwrite_phy(nid_files(iff),"SWnetOR",itau_w, zx_tmp_fi2d)
747      ENDIF
748
749      IF (flag_SWdownOR(iff)<=lev_files(iff)) THEN
750      zx_tmp_fi2d(1:klon) = solsw(1:klon)/(1.-albsol1(1:klon))
751      CALL histwrite_phy(nid_files(iff),"SWdownOR",itau_w, zx_tmp_fi2d)
752      ENDIF
753
754      IF (flag_LWdownOR(iff)<=lev_files(iff)) THEN
755      CALL histwrite_phy(nid_files(iff),"LWdownOR",itau_w,sollwdown)
756      ENDIF
757
758      IF (flag_snowl(iff)<=lev_files(iff)) THEN
759      CALL histwrite_phy(nid_files(iff),"snowl",itau_w,snow_lsc)
760      ENDIF
761
762      IF (iflag_con.GE.3) THEN
763      IF (flag_cape_max(iff)<=lev_files(iff)) THEN
764      CALL histwrite_phy(nid_files(iff),"cape_max",itau_w,cape)
765      ENDIF
766      ENDIF !(iflag_con.GE.3)
767
768      IF (flag_solldown(iff)<=lev_files(iff)) THEN
769      CALL histwrite_phy(nid_files(iff),"solldown",itau_w,sollwdown)
770      ENDIF
771
772      IF (flag_dtsvdfo(iff)<=lev_files(iff)) THEN
773      CALL histwrite_phy(nid_files(iff),"dtsvdfo",itau_w,d_ts(:,is_oce))
774      ENDIF
775
776      IF (flag_dtsvdft(iff)<=lev_files(iff)) THEN
777      CALL histwrite_phy(nid_files(iff),"dtsvdft",itau_w,d_ts(:,is_ter))
778      ENDIF
779
780       IF (flag_dtsvdfg(iff)<=lev_files(iff)) THEN
781        CALL histwrite_phy(nid_files(iff),
782     $                     "dtsvdfg",itau_w, d_ts(:,is_lic))
783       ENDIF
784
785       IF (flag_dtsvdfi(iff)<=lev_files(iff)) THEN
786      CALL histwrite_phy(nid_files(iff),"dtsvdfi",itau_w,d_ts(:,is_sic))
787       ENDIF
788
789       IF (flag_rugs(iff)<=lev_files(iff)) THEN
790      CALL histwrite_phy(nid_files(iff),"rugs",itau_w,zxrugs)
791       ENDIF
792
793! Champs 3D:
794       IF (flag_lwcon(iff)<=lev_files(iff)) THEN
795      CALL histwrite_phy(nid_files(iff),"lwcon",itau_w,flwc)
796       ENDIF
797
798       IF (flag_iwcon(iff)<=lev_files(iff)) THEN
799      CALL histwrite_phy(nid_files(iff),"iwcon",itau_w,fiwc)
800       ENDIF
801
802       IF (flag_temp(iff)<=lev_files(iff)) THEN
803      CALL histwrite_phy(nid_files(iff),"temp",itau_w,t_seri)
804       ENDIF
805
806       IF (flag_theta(iff)<=lev_files(iff)) THEN
807      CALL histwrite_phy(nid_files(iff),"theta",itau_w,theta)
808       ENDIF
809
810       IF (flag_ovap(iff)<=lev_files(iff)) THEN
811      CALL histwrite_phy(nid_files(iff),"ovap",itau_w,qx(:,:,ivap))
812       ENDIF
813
814       IF (flag_geop(iff)<=lev_files(iff)) THEN
815      CALL histwrite_phy(nid_files(iff),"geop",itau_w,zphi)
816       ENDIF
817
818       IF (flag_vitu(iff)<=lev_files(iff)) THEN
819      CALL histwrite_phy(nid_files(iff),"vitu",itau_w,u_seri)
820       ENDIF
821
822       IF (flag_vitv(iff)<=lev_files(iff)) THEN
823      CALL histwrite_phy(nid_files(iff),"vitv",itau_w,v_seri)
824       ENDIF
825
826       IF (flag_vitw(iff)<=lev_files(iff)) THEN
827      CALL histwrite_phy(nid_files(iff),"vitw",itau_w,omega)
828       ENDIF
829
830        IF (flag_pres(iff)<=lev_files(iff)) THEN
831      CALL histwrite_phy(nid_files(iff),"pres",itau_w,pplay)
832        ENDIF
833
834       IF (flag_rneb(iff)<=lev_files(iff)) THEN
835      CALL histwrite_phy(nid_files(iff),"rneb",itau_w,cldfra)
836       ENDIF
837
838       IF (flag_rnebcon(iff)<=lev_files(iff)) THEN
839      CALL histwrite_phy(nid_files(iff),"rnebcon",itau_w,rnebcon)
840       ENDIF
841
842       IF (flag_rhum(iff)<=lev_files(iff)) THEN
843      CALL histwrite_phy(nid_files(iff),"rhum",itau_w,zx_rh)
844       ENDIF
845
846      IF (flag_ozone(iff)<=lev_files(iff)) THEN
847      DO k=1, klev
848       DO i=1, klon
849         zx_tmp_fi3d(i,k)=wo(i,k)*RG/46.6968
850     $                    /(paprs(i,k)-paprs(i,k+1))
851     $                    *(paprs(i,1)/101325.0)
852       ENDDO !i
853      ENDDO !k
854      CALL histwrite_phy(nid_files(iff),"ozone",itau_w,zx_tmp_fi3d)
855      ENDIF
856
857      IF(iflag_con.GE.3) THEN
858       IF (flag_upwd(iff)<=lev_files(iff)) THEN
859      CALL histwrite_phy(nid_files(iff),"upwd",itau_w,upwd)
860       ENDIF
861      ENDIF !(iflag_con.GE.3)
862
863       IF (flag_dtphy(iff)<=lev_files(iff)) THEN
864      CALL histwrite_phy(nid_files(iff),"dtphy",itau_w,d_t)
865       ENDIF
866
867       IF (flag_dqphy(iff)<=lev_files(iff)) THEN
868      CALL histwrite_phy(nid_files(iff),"dqphy",itau_w, d_qx(:,:,ivap))
869       ENDIF
870
871        DO nsrf=1, nbsrf
872        IF (flag_albe_sol(iff)<=lev_files(iff)) THEN
873        zx_tmp_fi2d(1 : klon) = falb1( 1 : klon, nsrf)
874        CALL histwrite_phy(nid_files(iff),"albe_"//clnsurf(nsrf),itau_w,
875     $      zx_tmp_fi2d)
876        ENDIF
877
878        IF (flag_rugs_sol(iff)<=lev_files(iff)) THEN 
879        zx_tmp_fi2d(1 : klon) = frugs( 1 : klon, nsrf)
880        CALL histwrite_phy(nid_files(iff),"rugs_"//clnsurf(nsrf),itau_w,
881     $      zx_tmp_fi2d)
882        ENDIF
883
884        IF (flag_ages_sol(iff)<=lev_files(iff)) THEN
885        zx_tmp_fi2d(1 : klon) = agesno( 1 : klon, nsrf)
886        CALL histwrite_phy(nid_files(iff),"ages_"//clnsurf(nsrf),itau_w
887     $    ,zx_tmp_fi2d)
888        ENDIF
889        ENDDO !nsrf=1, nbsrf
890
891       IF (flag_albs(iff)<=lev_files(iff)) THEN
892      CALL histwrite_phy(nid_files(iff),"albs",itau_w,albsol1)
893       ENDIF
894
895       IF (flag_albslw(iff)<=lev_files(iff)) THEN
896      CALL histwrite_phy(nid_files(iff),"albslw",itau_w,albsol2)
897       ENDIF
898
899!FH Sorties pour la couche limite
900      if (iflag_pbl>1) then
901      zx_tmp_fi3d=0.
902      do nsrf=1,nbsrf
903         do k=1,klev
904          zx_tmp_fi3d(:,k)=zx_tmp_fi3d(:,k)
905     $    +pctsrf(:,nsrf)*pbl_tke(:,k,nsrf)
906         enddo
907      enddo
908       IF (flag_tke(iff)<=lev_files(iff)) THEN
909      CALL histwrite_phy(nid_files(iff),"tke",itau_w,zx_tmp_fi3d)
910       ENDIF
911
912       IF (flag_tke_max(iff)<=lev_files(iff)) THEN
913      CALL histwrite_phy(nid_files(iff),"tke_max",itau_w,zx_tmp_fi3d)
914       ENDIF
915      endif
916
917       IF (flag_kz(iff)<=lev_files(iff)) THEN
918      ! combinaision de cdrag et le coef melange dans la meme variable
919      zx_tmp_fi3d(:,1)     = cdragh(:) 
920      zx_tmp_fi3d(:,2:klev)= coefh(:,2:klev)
921      CALL histwrite_phy(nid_files(iff),"kz",itau_w,zx_tmp_fi3d)
922       ENDIF
923
924       IF (flag_kz_max(iff)<=lev_files(iff)) THEN
925      ! combinaision de cdrag et le coef melange dans la meme variable
926      zx_tmp_fi3d(:,1)     = cdragh(:)
927      zx_tmp_fi3d(:,2:klev)= coefh(:,2:klev)
928      CALL histwrite_phy(nid_files(iff),"kz_max",itau_w,zx_tmp_fi3d)
929       ENDIF
930
931       IF (flag_clwcon(iff)<=lev_files(iff)) THEN
932      CALL histwrite_phy(nid_files(iff),"clwcon",itau_w,clwcon0)
933       ENDIF
934
935      IF(iflag_con.GE.3) THEN
936       IF (flag_Ma(iff)<=lev_files(iff)) THEN
937      CALL histwrite_phy(nid_files(iff),"Ma",itau_w,Ma)
938       ENDIF
939
940       IF (flag_dnwd(iff)<=lev_files(iff)) THEN
941      CALL histwrite_phy(nid_files(iff),"dnwd",itau_w,dnwd)
942       ENDIF
943
944       IF (flag_dnwd0(iff)<=lev_files(iff)) THEN
945      CALL histwrite_phy(nid_files(iff),"dnwd0",itau_w,dnwd0)
946       ENDIF
947      ENDIF !(iflag_con.GE.3)
948
949       IF (flag_dtdyn(iff)<=lev_files(iff)) THEN
950      CALL histwrite_phy(nid_files(iff),"dtdyn",itau_w,d_t_dyn)
951       ENDIF
952
953       IF (flag_dqdyn(iff)<=lev_files(iff)) THEN
954      CALL histwrite_phy(nid_files(iff),"dqdyn",itau_w,d_q_dyn)
955       ENDIF
956
957       IF (flag_dudyn(iff)<=lev_files(iff)) THEN
958      CALL histwrite_phy(nid_files(iff),"dudyn",itau_w,d_u_dyn)
959       ENDIF                                                   
960
961       IF (flag_dvdyn(iff)<=lev_files(iff)) THEN                 
962      CALL histwrite_phy(nid_files(iff),"dvdyn",itau_w,d_v_dyn) 
963       ENDIF                                                     
964
965       IF (flag_dtcon(iff)<=lev_files(iff)) THEN
966      zx_tmp_fi3d(1:klon,1:klev)=d_t_con(1:klon,1:klev)/pdtphys
967      CALL histwrite_phy(nid_files(iff),"dtcon",itau_w,zx_tmp_fi3d)
968       ENDIF
969
970       IF (flag_ducon(iff)<=lev_files(iff)) THEN
971      zx_tmp_fi3d(1:klon,1:klev)=d_u_con(1:klon,1:klev)/pdtphys
972      CALL histwrite_phy(nid_files(iff),"ducon",itau_w,zx_tmp_fi3d)
973       ENDIF
974
975       IF (flag_dqcon(iff)<=lev_files(iff)) THEN
976      zx_tmp_fi3d(1:klon,1:klev)=d_q_con(1:klon,1:klev)/pdtphys
977      CALL histwrite_phy(nid_files(iff),"dqcon",itau_w,zx_tmp_fi3d)
978       ENDIF
979
980      IF(iflag_con.GE.3) THEN
981       IF (iflag_wake == 1) THEN
982         IF (flag_dtwak(iff)<=lev_files(iff)) THEN
983           zx_tmp_fi3d(1:klon,1:klev)=d_t_wake(1:klon,1:klev)           &
984     &                                        /pdtphys
985           CALL histwrite_phy(nid_files(iff),"dtwak",itau_w,zx_tmp_fi3d)
986         ENDIF
987
988        IF (flag_dqwak(iff)<=lev_files(iff)) THEN
989        zx_tmp_fi3d(1:klon,1:klev)=d_q_wake(1:klon,1:klev)/pdtphys
990        CALL histwrite_phy(nid_files(iff),"dqwak",itau_w,zx_tmp_fi3d)
991        ENDIF
992       ENDIF
993      ENDIF !(iflag_con.GE.3) 
994
995       IF (flag_dtlsc(iff)<=lev_files(iff)) THEN
996      zx_tmp_fi3d(1:klon,1:klev)=d_t_lsc(1:klon,1:klev)/pdtphys
997      CALL histwrite_phy(nid_files(iff),"dtlsc",itau_w,zx_tmp_fi3d)
998       ENDIF
999
1000       IF (flag_dtlschr(iff)<=lev_files(iff)) THEN
1001      zx_tmp_fi3d(1:klon, 1:klev)=(d_t_lsc(1:klon,1:klev)+
1002     $                           d_t_eva(1:klon,1:klev))/pdtphys
1003      CALL histwrite_phy(nid_files(iff),"dtlschr",itau_w,zx_tmp_fi3d)
1004       ENDIF
1005
1006       IF (flag_dqlsc(iff)<=lev_files(iff)) THEN
1007      zx_tmp_fi3d(1:klon,1:klev)=d_q_lsc(1:klon,1:klev)/pdtphys
1008      CALL histwrite_phy(nid_files(iff),"dqlsc",itau_w,zx_tmp_fi3d)
1009       ENDIF
1010
1011       IF (flag_dtvdf(iff)<=lev_files(iff)) THEN
1012      zx_tmp_fi3d(1:klon,1:klev)=d_t_vdf(1:klon,1:klev)/pdtphys
1013      CALL histwrite_phy(nid_files(iff),"dtvdf",itau_w,zx_tmp_fi3d)
1014       ENDIF
1015
1016       IF (flag_dqvdf(iff)<=lev_files(iff)) THEN
1017      zx_tmp_fi3d(1:klon,1:klev)=d_q_vdf(1:klon,1:klev)/pdtphys
1018      CALL histwrite_phy(nid_files(iff),"dqvdf",itau_w,zx_tmp_fi3d)
1019       ENDIF
1020
1021       IF (flag_dteva(iff)<=lev_files(iff)) THEN
1022      zx_tmp_fi3d(1:klon,1:klev)=d_t_eva(1:klon,1:klev)/pdtphys
1023      CALL histwrite_phy(nid_files(iff),"dteva",itau_w,zx_tmp_fi3d)
1024       ENDIF
1025
1026       IF (flag_dqeva(iff)<=lev_files(iff)) THEN
1027      zx_tmp_fi3d(1:klon,1:klev)=d_q_eva(1:klon,1:klev)/pdtphys
1028      CALL histwrite_phy(nid_files(iff),"dqeva",itau_w,zx_tmp_fi3d)
1029       ENDIF
1030
1031       IF (flag_ptconv(iff)<=lev_files(iff)) THEN
1032      zpt_conv = 0.
1033      where (ptconv) zpt_conv = 1.
1034      CALL histwrite_phy(nid_files(iff),"ptconv",itau_w,zpt_conv)
1035       ENDIF
1036
1037       IF (flag_ratqs(iff)<=lev_files(iff)) THEN
1038      CALL histwrite_phy(nid_files(iff),"ratqs",itau_w,ratqs)
1039       ENDIF
1040
1041       IF (flag_dtthe(iff)<=lev_files(iff)) THEN
1042      zx_tmp_fi3d(1:klon,1:klev)=d_t_ajs(1:klon,1:klev)/pdtphys
1043      CALL histwrite_phy(nid_files(iff),"dtthe",itau_w,zx_tmp_fi3d)
1044       ENDIF
1045
1046       IF (iflag_thermals.gt.1) THEN
1047        IF (flag_f_th(iff)<=lev_files(iff)) THEN
1048        CALL histwrite_phy(nid_files(iff),"f_th",itau_w,fm_therm)
1049        ENDIF
1050
1051        IF (flag_e_th(iff)<=lev_files(iff)) THEN
1052        CALL histwrite_phy(nid_files(iff),"e_th",itau_w,entr_therm)
1053        ENDIF
1054
1055        IF (flag_w_th(iff)<=lev_files(iff)) THEN
1056        CALL histwrite_phy(nid_files(iff),"w_th",itau_w,zw2)
1057        ENDIF
1058
1059        IF (flag_q_th(iff)<=lev_files(iff)) THEN
1060        CALL histwrite_phy(nid_files(iff),"q_th",itau_w,zqasc)
1061        ENDIF
1062
1063        IF (flag_lambda_th(iff)<=lev_files(iff)) THEN
1064        CALL histwrite_phy(nid_files(iff),"lambda_th",itau_w,lambda_th)
1065        ENDIF
1066
1067        IF (flag_a_th(iff)<=lev_files(iff)) THEN
1068        CALL histwrite_phy(nid_files(iff),"a_th",itau_w,fraca)
1069        ENDIF
1070
1071       IF (flag_d_th(iff)<=lev_files(iff)) THEN
1072       CALL histwrite_phy(nid_files(iff),"d_th",itau_w,detr_therm)
1073       ENDIF
1074
1075       ENDIF !iflag_thermals
1076
1077       IF (flag_f0_th(iff)<=lev_files(iff)) THEN
1078      CALL histwrite_phy(nid_files(iff),"f0_th",itau_w,f0)
1079       ENDIF
1080
1081       IF (flag_f0_th(iff)<=lev_files(iff)) THEN
1082      CALL histwrite_phy(nid_files(iff),"zmax_th",itau_w,zmax0)
1083       ENDIF
1084
1085       IF (flag_dqthe(iff)<=lev_files(iff)) THEN
1086      zx_tmp_fi3d(1:klon,1:klev)=d_q_ajs(1:klon,1:klev)/pdtphys
1087      CALL histwrite_phy(nid_files(iff),"dqthe",itau_w,zx_tmp_fi3d)
1088       ENDIF
1089
1090       IF (flag_dtajs(iff)<=lev_files(iff)) THEN
1091      zx_tmp_fi3d(1:klon,1:klev)=d_t_ajsb(1:klon,1:klev)/pdtphys
1092      CALL histwrite_phy(nid_files(iff),"dtajs",itau_w,zx_tmp_fi3d)
1093       ENDIF
1094
1095       IF (flag_dqajs(iff)<=lev_files(iff)) THEN
1096      zx_tmp_fi3d(1:klon,1:klev)=d_q_ajsb(1:klon,1:klev)/pdtphys
1097      CALL histwrite_phy(nid_files(iff),"dqajs",itau_w,zx_tmp_fi3d)
1098       ENDIF
1099
1100       IF (flag_dtswr(iff)<=lev_files(iff)) THEN
1101      zx_tmp_fi3d(1:klon,1:klev)=heat(1:klon,1:klev)/RDAY
1102      CALL histwrite_phy(nid_files(iff),"dtswr",itau_w,zx_tmp_fi3d)
1103       ENDIF
1104
1105       IF (flag_dtsw0(iff)<=lev_files(iff)) THEN
1106      zx_tmp_fi3d(1:klon,1:klev)=heat0(1:klon,1:klev)/RDAY
1107      CALL histwrite_phy(nid_files(iff),"dtsw0",itau_w,zx_tmp_fi3d)
1108       ENDIF
1109
1110       IF (flag_dtlwr(iff)<=lev_files(iff)) THEN
1111      zx_tmp_fi3d(1:klon,1:klev)=-1.*cool(1:klon,1:klev)/RDAY
1112      CALL histwrite_phy(nid_files(iff),"dtlwr",itau_w,zx_tmp_fi3d)
1113       ENDIF
1114
1115       IF (flag_dtlw0(iff)<=lev_files(iff)) THEN
1116      zx_tmp_fi3d(1:klon,1:klev)=-1.*cool0(1:klon,1:klev)/RDAY
1117      CALL histwrite_phy(nid_files(iff),"dtlw0",itau_w,zx_tmp_fi3d)
1118       ENDIF
1119
1120       IF (flag_dtec(iff)<=lev_files(iff)) THEN
1121      zx_tmp_fi3d(1:klon,1:klev)=d_t_ec(1:klon,1:klev)
1122      CALL histwrite_phy(nid_files(iff),"dtec",itau_w,zx_tmp_fi3d)
1123       ENDIF
1124
1125       IF (flag_duvdf(iff)<=lev_files(iff)) THEN
1126      zx_tmp_fi3d(1:klon,1:klev)=d_u_vdf(1:klon,1:klev)/pdtphys
1127      CALL histwrite_phy(nid_files(iff),"duvdf",itau_w,zx_tmp_fi3d)
1128       ENDIF
1129
1130       IF (flag_dvvdf(iff)<=lev_files(iff)) THEN
1131      zx_tmp_fi3d(1:klon,1:klev)=d_v_vdf(1:klon,1:klev)/pdtphys
1132      CALL histwrite_phy(nid_files(iff),"dvvdf",itau_w,zx_tmp_fi3d)
1133       ENDIF
1134
1135       IF (ok_orodr) THEN
1136      IF (flag_duoro(iff)<=lev_files(iff)) THEN
1137      zx_tmp_fi3d(1:klon,1:klev)=d_u_oro(1:klon,1:klev)/pdtphys
1138      CALL histwrite_phy(nid_files(iff),"duoro",itau_w,zx_tmp_fi3d)
1139       ENDIF
1140
1141      IF (flag_dvoro(iff)<=lev_files(iff)) THEN
1142      zx_tmp_fi3d(1:klon,1:klev)=d_v_oro(1:klon,1:klev)/pdtphys
1143      CALL histwrite_phy(nid_files(iff),"dvoro",itau_w,zx_tmp_fi3d)
1144      ENDIF
1145       ENDIF
1146
1147        IF (ok_orolf) THEN
1148       IF (flag_dulif(iff)<=lev_files(iff)) THEN
1149      zx_tmp_fi3d(1:klon,1:klev)=d_u_lif(1:klon,1:klev)/pdtphys
1150      CALL histwrite_phy(nid_files(iff),"dulif",itau_w,zx_tmp_fi3d)
1151       ENDIF
1152
1153        IF (flag_dvlif(iff)<=lev_files(iff)) THEN
1154      zx_tmp_fi3d(1:klon,1:klev)=d_v_lif(1:klon,1:klev)/pdtphys
1155      CALL histwrite_phy(nid_files(iff),"dvlif",itau_w,zx_tmp_fi3d)
1156       ENDIF
1157        ENDIF
1158
1159       IF (flag_trac(iff)<=lev_files(iff)) THEN
1160         if (nqmax.GE.3) THEN
1161           DO iq=3,nqmax
1162         CALL histwrite_phy(nid_files(iff),tnom(iq),itau_w,qx(:,:,iq))
1163           ENDDO
1164          endif
1165
1166       ENDIF
1167      if (ok_sync) then
1168c$OMP MASTER
1169        call histsync(nid_files(iff))
1170c$OMP END MASTER
1171      endif
1172
1173       ENDIF ! clef_files
1174
1175      ENDDO ! iff=1,nfiles
Note: See TracBrowser for help on using the repository browser.