source: LMDZ5/trunk/libf/phylmd/phys_output_write_F90.h @ 1813

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

Correction de bugs lors des définitions.
UG
..........
Bugs corrected in vars definitions.
UG

File size: 33.0 KB
Line 
1! ug Si itap ==  0 alors on ne fait pas de calculs, juste des appels à histwrite pour définir les variables de sorties
2
3!!! Champs 1D !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
4      CALL histwrite_phy(o_phis, pphis)
5      CALL histwrite_phy(o_aire, airephy)
6
7IF (itap > 0) THEN
8      DO i=1, klon
9       zx_tmp_fi2d(i)=pctsrf(i,is_ter)+pctsrf(i,is_lic)
10      ENDDO
11ENDIF
12
13      CALL histwrite_phy(o_contfracATM, zx_tmp_fi2d)
14      CALL histwrite_phy(o_contfracOR, pctsrf(:,is_ter))
15      CALL histwrite_phy(o_aireTER, paire_ter)
16!!! Champs 2D !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
17      CALL histwrite_phy(o_flat, zxfluxlat)
18      CALL histwrite_phy(o_slp, slp)
19      CALL histwrite_phy(o_tsol, zxtsol)
20      CALL histwrite_phy(o_t2m, zt2m)
21      CALL histwrite_phy(o_t2m_min, zt2m)
22      CALL histwrite_phy(o_t2m_max, zt2m)
23
24IF (itap > 0) THEN
25      DO i=1, klon
26       zx_tmp_fi2d(i)=SQRT(zu10m(i)*zu10m(i)+zv10m(i)*zv10m(i))
27      ENDDO
28ENDIF
29      CALL histwrite_phy(o_wind10m, zx_tmp_fi2d)
30
31IF (itap > 0) THEN
32      DO i=1, klon
33       zx_tmp_fi2d(i)=SQRT(zu10m(i)*zu10m(i)+zv10m(i)*zv10m(i))
34      ENDDO
35ENDIF
36      CALL histwrite_phy(o_wind10max, zx_tmp_fi2d)
37
38IF (itap > 0) THEN
39      DO i = 1, klon
40         zx_tmp_fi2d(i) = pctsrf(i,is_sic)
41      ENDDO
42ENDIF
43      CALL histwrite_phy(o_sicf, zx_tmp_fi2d)
44      CALL histwrite_phy(o_q2m, zq2m)
45      CALL histwrite_phy(o_ustar, zustar)
46      CALL histwrite_phy(o_u10m, zu10m)
47      CALL histwrite_phy(o_v10m, zv10m)
48
49IF (itap > 0) THEN
50      DO i = 1, klon
51         zx_tmp_fi2d(i) = paprs(i,1)
52      ENDDO
53ENDIF
54      CALL histwrite_phy(o_psol, zx_tmp_fi2d)
55      CALL histwrite_phy(o_mass, zmasse)
56      CALL histwrite_phy(o_qsurf, zxqsurf)
57
58IF (.NOT. ok_veget) THEN
59      CALL histwrite_phy(o_qsol, qsol)
60ENDIF
61
62IF (itap > 0) THEN
63       DO i = 1, klon
64         zx_tmp_fi2d(i) = rain_fall(i) + snow_fall(i)
65       ENDDO
66ENDIF
67
68      CALL histwrite_phy(o_precip, zx_tmp_fi2d)
69      CALL histwrite_phy(o_ndayrain, nday_rain)
70
71IF (itap > 0) THEN
72       DO i = 1, klon
73         zx_tmp_fi2d(i) = rain_lsc(i) + snow_lsc(i)
74       ENDDO
75ENDIF
76      CALL histwrite_phy(o_plul, zx_tmp_fi2d)
77
78IF (itap > 0) THEN
79      DO i = 1, klon
80         zx_tmp_fi2d(i) = rain_con(i) + snow_con(i)
81      ENDDO
82ENDIF
83      CALL histwrite_phy(o_pluc, zx_tmp_fi2d)
84      CALL histwrite_phy(o_snow, snow_fall)
85      CALL histwrite_phy(o_msnow, snow_o)
86      CALL histwrite_phy(o_fsnow, zfra_o)
87      CALL histwrite_phy(o_evap, evap)
88      CALL histwrite_phy(o_tops, topsw)
89      CALL histwrite_phy(o_tops0, topsw0)
90      CALL histwrite_phy(o_topl, toplw)
91      CALL histwrite_phy(o_topl0, toplw0)
92
93IF (itap > 0) THEN
94      zx_tmp_fi2d(1 : klon) = swup ( 1 : klon, klevp1 )
95ENDIF
96      CALL histwrite_phy(o_SWupTOA, zx_tmp_fi2d)
97
98IF (itap > 0) THEN
99      zx_tmp_fi2d(1 : klon) = swup0 ( 1 : klon, klevp1 )
100ENDIF
101      CALL histwrite_phy(o_SWupTOAclr, zx_tmp_fi2d)
102
103IF (itap > 0) THEN
104      zx_tmp_fi2d(1 : klon) = swdn ( 1 : klon, klevp1 )
105ENDIF
106      CALL histwrite_phy(o_SWdnTOA, zx_tmp_fi2d)
107
108IF (itap > 0) THEN
109      zx_tmp_fi2d(1 : klon) = swdn0 ( 1 : klon, klevp1 )
110ENDIF
111      CALL histwrite_phy(o_SWdnTOAclr, zx_tmp_fi2d)
112
113IF (itap > 0) THEN
114      zx_tmp_fi2d(:) = topsw(:)-toplw(:)
115ENDIF
116      CALL histwrite_phy(o_nettop, zx_tmp_fi2d)
117      CALL histwrite_phy(o_SWup200, SWup200)
118      CALL histwrite_phy(o_SWup200clr, SWup200clr)
119      CALL histwrite_phy(o_SWdn200, SWdn200)
120      CALL histwrite_phy(o_SWdn200clr, SWdn200clr)
121      CALL histwrite_phy(o_LWup200, LWup200)
122      CALL histwrite_phy(o_LWup200clr, LWup200clr)
123      CALL histwrite_phy(o_LWdn200, LWdn200)
124      CALL histwrite_phy(o_LWdn200clr, LWdn200clr)
125      CALL histwrite_phy(o_sols, solsw)
126      CALL histwrite_phy(o_sols0, solsw0)
127      CALL histwrite_phy(o_soll, sollw)
128      CALL histwrite_phy(o_radsol, radsol)
129      CALL histwrite_phy(o_soll0, sollw0)
130
131IF (itap > 0) THEN
132      zx_tmp_fi2d(1 : klon) = swup ( 1 : klon, 1 )
133ENDIF
134      CALL histwrite_phy(o_SWupSFC, zx_tmp_fi2d)
135
136IF (itap > 0) THEN
137      zx_tmp_fi2d(1 : klon) = swup0 ( 1 : klon, 1 )
138ENDIF
139      CALL histwrite_phy(o_SWupSFCclr, zx_tmp_fi2d)
140
141IF (itap > 0) THEN
142      zx_tmp_fi2d(1 : klon) = swdn ( 1 : klon, 1 )
143ENDIF
144      CALL histwrite_phy(o_SWdnSFC, zx_tmp_fi2d)
145
146IF (itap > 0) THEN
147      zx_tmp_fi2d(1 : klon) = swdn0 ( 1 : klon, 1 )
148ENDIF
149      CALL histwrite_phy(o_SWdnSFCclr, zx_tmp_fi2d)
150
151IF (itap > 0) THEN
152      zx_tmp_fi2d(1:klon)=sollwdown(1:klon)-sollw(1:klon)
153ENDIF
154      CALL histwrite_phy(o_LWupSFC, zx_tmp_fi2d)
155      CALL histwrite_phy(o_LWdnSFC, sollwdown)
156
157IF (itap > 0) THEN
158       sollwdownclr(1:klon) = -1.*lwdn0(1:klon,1)
159      zx_tmp_fi2d(1:klon)=sollwdownclr(1:klon)-sollw0(1:klon)
160ENDIF
161      CALL histwrite_phy(o_LWupSFCclr, zx_tmp_fi2d)
162      CALL histwrite_phy(o_LWdnSFCclr, sollwdownclr)
163      CALL histwrite_phy(o_bils, bils)
164      CALL histwrite_phy(o_bils_diss, bils_diss)
165      CALL histwrite_phy(o_bils_ec, bils_ec)
166      CALL histwrite_phy(o_bils_tke, bils_tke)
167      CALL histwrite_phy(o_bils_kinetic, bils_kinetic)
168      CALL histwrite_phy(o_bils_latent, bils_latent)
169      CALL histwrite_phy(o_bils_enthalp, bils_enthalp)
170
171IF (itap > 0) THEN
172      zx_tmp_fi2d(1:klon)=-1*sens(1:klon)
173ENDIF
174      CALL histwrite_phy(o_sens, zx_tmp_fi2d)
175      CALL histwrite_phy(o_fder, fder)
176      CALL histwrite_phy(o_ffonte, zxffonte)
177      CALL histwrite_phy(o_fqcalving, zxfqcalving)
178      CALL histwrite_phy(o_fqfonte, zxfqfonte)
179IF (itap > 0) THEN
180      zx_tmp_fi2d=0.
181      DO nsrf=1,nbsrf
182        zx_tmp_fi2d(:)=zx_tmp_fi2d(:)+pctsrf(:,nsrf)*fluxu(:,1,nsrf)
183      ENDDO
184ENDIF
185      CALL histwrite_phy(o_taux, zx_tmp_fi2d)
186
187IF (itap > 0) THEN
188      zx_tmp_fi2d=0.
189      DO nsrf=1,nbsrf
190          zx_tmp_fi2d(:)=zx_tmp_fi2d(:)+pctsrf(:,nsrf)*fluxv(:,1,nsrf)
191      ENDDO
192ENDIF
193      CALL histwrite_phy(o_tauy, zx_tmp_fi2d)
194
195
196         DO nsrf = 1, nbsrf
197IF (itap > 0)             zx_tmp_fi2d(1 : klon) = pctsrf( 1 : klon, nsrf)*100.
198      CALL histwrite_phy(o_pourc_srf(nsrf), zx_tmp_fi2d)
199IF (itap > 0)           zx_tmp_fi2d(1 : klon) = pctsrf( 1 : klon, nsrf)
200      CALL histwrite_phy(o_fract_srf(nsrf), zx_tmp_fi2d)
201IF (itap > 0)         zx_tmp_fi2d(1 : klon) = fluxu( 1 : klon, 1, nsrf)
202      CALL histwrite_phy(o_taux_srf(nsrf), zx_tmp_fi2d)
203IF (itap > 0)         zx_tmp_fi2d(1 : klon) = fluxv( 1 : klon, 1, nsrf)
204      CALL histwrite_phy(o_tauy_srf(nsrf), zx_tmp_fi2d)
205IF (itap > 0)         zx_tmp_fi2d(1 : klon) = ftsol( 1 : klon, nsrf)
206      CALL histwrite_phy(o_tsol_srf(nsrf), zx_tmp_fi2d)
207IF (itap > 0)         zx_tmp_fi2d(1 : klon) = evap_pot( 1 : klon, nsrf)
208      CALL histwrite_phy(o_evappot_srf(nsrf), zx_tmp_fi2d)
209IF (itap > 0)       zx_tmp_fi2d(1 : klon) = ustar(1 : klon, nsrf)
210      CALL histwrite_phy(o_ustar_srf(nsrf), zx_tmp_fi2d)
211IF (itap > 0)       zx_tmp_fi2d(1 : klon) = u10m(1 : klon, nsrf)
212      CALL histwrite_phy(o_u10m_srf(nsrf), zx_tmp_fi2d)
213IF (itap > 0)       zx_tmp_fi2d(1 : klon) = v10m(1 : klon, nsrf)
214      CALL histwrite_phy(o_v10m_srf(nsrf), zx_tmp_fi2d)
215IF (itap > 0)       zx_tmp_fi2d(1 : klon) = t2m(1 : klon, nsrf)
216      CALL histwrite_phy(o_t2m_srf(nsrf), zx_tmp_fi2d)
217IF (itap > 0)       zx_tmp_fi2d(1 : klon) = fevap(1 : klon, nsrf)
218      CALL histwrite_phy(o_evap_srf(nsrf), zx_tmp_fi2d)
219IF (itap > 0)        zx_tmp_fi2d(1 : klon) = fluxt( 1 : klon, 1, nsrf)
220      CALL histwrite_phy(o_sens_srf(nsrf), zx_tmp_fi2d)
221IF (itap > 0)         zx_tmp_fi2d(1 : klon) = fluxlat( 1 : klon, nsrf)
222      CALL histwrite_phy(o_lat_srf(nsrf), zx_tmp_fi2d)
223IF (itap > 0)         zx_tmp_fi2d(1 : klon) = fsollw( 1 : klon, nsrf)
224      CALL histwrite_phy(o_flw_srf(nsrf), zx_tmp_fi2d)
225IF (itap > 0)         zx_tmp_fi2d(1 : klon) = fsolsw( 1 : klon, nsrf)
226      CALL histwrite_phy(o_fsw_srf(nsrf), zx_tmp_fi2d)
227IF (itap > 0)         zx_tmp_fi2d(1 : klon) = wfbils( 1 : klon, nsrf)
228      CALL histwrite_phy(o_wbils_srf(nsrf), zx_tmp_fi2d)
229IF (itap > 0)         zx_tmp_fi2d(1 : klon) = wfbilo( 1 : klon, nsrf)
230      CALL histwrite_phy(o_wbilo_srf(nsrf), zx_tmp_fi2d)
231
232      IF (iflag_pbl > 1) THEN
233      CALL histwrite_phy(o_tke_srf(nsrf),  pbl_tke(:,1:klev,nsrf))
234      CALL histwrite_phy(o_tke_max_srf(nsrf),  pbl_tke(:,1:klev,nsrf))
235      ENDIF
236
237      ENDDO
238      CALL histwrite_phy(o_cdrm, cdragm)
239      CALL histwrite_phy(o_cdrh, cdragh)
240      CALL histwrite_phy(o_cldl, cldl)
241      CALL histwrite_phy(o_cldm, cldm)
242      CALL histwrite_phy(o_cldh, cldh)
243      CALL histwrite_phy(o_cldt, cldt)
244      CALL histwrite_phy(o_cldq, cldq)
245IF (itap > 0)       zx_tmp_fi2d(1:klon) = flwp(1:klon)
246      CALL histwrite_phy(o_lwp, zx_tmp_fi2d)
247IF (itap > 0)       zx_tmp_fi2d(1:klon) = fiwp(1:klon)
248      CALL histwrite_phy(o_iwp, zx_tmp_fi2d)
249      CALL histwrite_phy(o_ue, ue)
250      CALL histwrite_phy(o_ve, ve)
251      CALL histwrite_phy(o_uq, uq)
252      CALL histwrite_phy(o_vq, vq)
253      IF(iflag_con.GE.3) THEN ! sb
254      CALL histwrite_phy(o_cape, cape)
255      CALL histwrite_phy(o_pbase, ema_pcb)
256      CALL histwrite_phy(o_ptop, ema_pct)
257      CALL histwrite_phy(o_fbase, ema_cbmf)
258        if (iflag_con /= 30) then
259      CALL histwrite_phy(o_plcl, plcl)
260      CALL histwrite_phy(o_plfc, plfc)
261      CALL histwrite_phy(o_wbeff, wbeff)
262        end if
263
264      CALL histwrite_phy(o_cape_max, cape)
265
266      CALL histwrite_phy(o_upwd, upwd)
267      CALL histwrite_phy(o_Ma, Ma)
268      CALL histwrite_phy(o_dnwd, dnwd)
269      CALL histwrite_phy(o_dnwd0, dnwd0)
270IF (itap > 0)         zx_tmp_fi2d=float(itau_con)/float(itap)
271      CALL histwrite_phy(o_ftime_con, zx_tmp_fi2d)
272IF (itap > 0) THEN
273      IF(iflag_thermals>=1)THEN
274         zx_tmp_fi3d=dnwd+dnwd0+upwd+fm_therm(:,1:klev)
275      ELSE
276         zx_tmp_fi3d=dnwd+dnwd0+upwd
277      ENDIF
278ENDIF
279      CALL histwrite_phy(o_mc, zx_tmp_fi3d)
280      ENDIF !iflag_con .GE. 3
281      CALL histwrite_phy(o_prw, prw)
282      CALL histwrite_phy(o_s_pblh, s_pblh)
283      CALL histwrite_phy(o_s_pblt, s_pblt)
284      CALL histwrite_phy(o_s_lcl, s_lcl)
285      CALL histwrite_phy(o_s_therm, s_therm)
286!IM : Les champs suivants (s_capCL, s_oliqCL, s_cteiCL, s_trmb1, s_trmb2, s_trmb3) ne sont pas definis dans HBTM.F
287!       IF (o_s_capCL%flag(iff)<=lev_files(iff)) THEN
288!     CALL histwrite_phy(nid_files(iff),clef_stations(iff),
289!    $o_s_capCL%name,itau_w,s_capCL)
290!       ENDIF
291!       IF (o_s_oliqCL%flag(iff)<=lev_files(iff)) THEN
292!     CALL histwrite_phy(nid_files(iff),clef_stations(iff),
293!    $o_s_oliqCL%name,itau_w,s_oliqCL)
294!       ENDIF
295!       IF (o_s_cteiCL%flag(iff)<=lev_files(iff)) THEN
296!     CALL histwrite_phy(nid_files(iff),clef_stations(iff),
297!    $o_s_cteiCL%name,itau_w,s_cteiCL)
298!       ENDIF
299!       IF (o_s_trmb1%flag(iff)<=lev_files(iff)) THEN
300!     CALL histwrite_phy(nid_files(iff),clef_stations(iff),
301!    $o_s_trmb1%name,itau_w,s_trmb1)
302!       ENDIF
303!       IF (o_s_trmb2%flag(iff)<=lev_files(iff)) THEN
304!     CALL histwrite_phy(nid_files(iff),clef_stations(iff),
305!    $o_s_trmb2%name,itau_w,s_trmb2)
306!       ENDIF
307!       IF (o_s_trmb3%flag(iff)<=lev_files(iff)) THEN
308!     CALL histwrite_phy(nid_files(iff),clef_stations(iff),
309!    $o_s_trmb3%name,itau_w,s_trmb3)
310!       ENDIF
311
312
313
314! ATTENTION, LES ANCIENS HISTWRITE ONT ETES CONSERVES EN ATTENDANT MIEUX:
315! Champs interpolles sur des niveaux de pression
316      DO iff=1, nfiles
317        ll=0
318        DO k=1, nlevSTD
319         bb2=clevSTD(k) 
320         IF(bb2.EQ."850".OR.bb2.EQ."700".OR. &
321            bb2.EQ."500".OR.bb2.EQ."200".OR. &
322            bb2.EQ."100".OR. &
323            bb2.EQ."50".OR.bb2.EQ."10") THEN
324
325! a refaire correctement !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
326          ll=ll+1
327      CALL histwrite_phy(o_uSTDlevs(ll),uwriteSTD(:,k,iff), iff)
328      CALL histwrite_phy(o_vSTDlevs(ll),vwriteSTD(:,k,iff), iff)
329      CALL histwrite_phy(o_wSTDlevs(ll),wwriteSTD(:,k,iff), iff)
330      CALL histwrite_phy(o_zSTDlevs(ll),phiwriteSTD(:,k,iff), iff)
331      CALL histwrite_phy(o_qSTDlevs(ll),qwriteSTD(:,k,iff), iff)
332      CALL histwrite_phy(o_tSTDlevs(ll),twriteSTD(:,k,iff), iff)
333
334       ENDIF !(bb2.EQ."850".OR.bb2.EQ."700".OR.
335       ENDDO
336       ENDDO
337
338
339
340IF (itap > 0) THEN
341      DO i=1, klon
342       IF (pctsrf(i,is_oce).GT.epsfra.OR. &
343           pctsrf(i,is_sic).GT.epsfra) THEN
344        zx_tmp_fi2d(i) = (ftsol(i, is_oce) * pctsrf(i,is_oce)+ &
345                         ftsol(i, is_sic) * pctsrf(i,is_sic))/ &
346                         (pctsrf(i,is_oce)+pctsrf(i,is_sic))
347       ELSE
348        zx_tmp_fi2d(i) = 273.15
349       ENDIF
350      ENDDO
351ENDIF
352      CALL histwrite_phy(o_t_oce_sic, zx_tmp_fi2d)
353
354! Couplage convection-couche limite
355      IF (iflag_con.GE.3) THEN
356      IF (iflag_coupl>=1) THEN
357      CALL histwrite_phy(o_ale_bl, ale_bl)
358      CALL histwrite_phy(o_alp_bl, alp_bl)
359      ENDIF !iflag_coupl>=1
360      ENDIF !(iflag_con.GE.3)
361! Wakes
362      IF (iflag_con.EQ.3) THEN
363      IF (iflag_wake>=1) THEN
364      CALL histwrite_phy(o_ale_wk, ale_wake)
365      CALL histwrite_phy(o_alp_wk, alp_wake)
366      CALL histwrite_phy(o_ale, ale)
367      CALL histwrite_phy(o_alp, alp)
368      CALL histwrite_phy(o_cin, cin)
369      CALL histwrite_phy(o_WAPE, wake_pe)
370      CALL histwrite_phy(o_wake_h, wake_h)
371      CALL histwrite_phy(o_wake_s, wake_s)
372      CALL histwrite_phy(o_wake_deltat, wake_deltat)
373      CALL histwrite_phy(o_wake_deltaq, wake_deltaq)
374      CALL histwrite_phy(o_wake_omg, wake_omg)
375IF (itap > 0) zx_tmp_fi3d(1:klon,1:klev)=d_t_wake(1:klon,1:klev) &
376                                              /pdtphys
377      CALL histwrite_phy(o_dtwak, zx_tmp_fi3d)
378IF (itap > 0) zx_tmp_fi3d(1:klon,1:klev)=d_q_wake(1:klon,1:klev)/pdtphys
379      CALL histwrite_phy(o_dqwak, zx_tmp_fi3d)
380      ENDIF ! iflag_wake>=1
381      CALL histwrite_phy(o_Vprecip, Vprecip)
382      CALL histwrite_phy(o_ftd, ftd)
383      CALL histwrite_phy(o_fqd, fqd)
384      ELSEIF (iflag_con.EQ.30) THEN
385! sortie RomP convection descente insaturee iflag_con=30
386      CALL histwrite_phy(o_Vprecip, Vprecip)
387      CALL histwrite_phy(o_wdtrainA, wdtrainA)
388      CALL histwrite_phy(o_wdtrainM, wdtrainM)
389      ENDIF !(iflag_con.EQ.3.or.iflag_con.EQ.30)
390!!! nrlmd le 10/04/2012
391        IF (iflag_trig_bl>=1) THEN
392      CALL histwrite_phy(o_n2, n2)
393      CALL histwrite_phy(o_s2, s2)
394      CALL histwrite_phy(o_proba_notrig, proba_notrig)
395      CALL histwrite_phy(o_random_notrig, random_notrig)
396      CALL histwrite_phy(o_ale_bl_stat, ale_bl_stat)
397      CALL histwrite_phy(o_ale_bl_trig, ale_bl_trig)
398       ENDIF  !(iflag_trig_bl>=1)
399        IF (iflag_clos_bl>=1) THEN
400      CALL histwrite_phy(o_alp_bl_det, alp_bl_det)
401      CALL histwrite_phy(o_alp_bl_fluct_m, alp_bl_fluct_m)
402      CALL histwrite_phy(o_alp_bl_fluct_tke,  &
403       alp_bl_fluct_tke)
404      CALL histwrite_phy(o_alp_bl_conv, alp_bl_conv)
405      CALL histwrite_phy(o_alp_bl_stat, alp_bl_stat)
406       ENDIF  !(iflag_clos_bl>=1)
407!!! fin nrlmd le 10/04/2012
408      IF (type_ocean=='slab ') THEN
409      CALL histwrite_phy(o_slab_bils, slab_wfbils)
410      ENDIF !type_ocean == force/slab
411      CALL histwrite_phy(o_weakinv, weak_inversion)
412      CALL histwrite_phy(o_dthmin, dthmin)
413      CALL histwrite_phy(o_cldtau, cldtau)
414      CALL histwrite_phy(o_cldemi, cldemi)
415      CALL histwrite_phy(o_pr_con_l, pmflxr(:,1:klev))
416      CALL histwrite_phy(o_pr_con_i, pmflxs(:,1:klev))
417      CALL histwrite_phy(o_pr_lsc_l, prfl(:,1:klev))
418      CALL histwrite_phy(o_pr_lsc_i, psfl(:,1:klev))
419      CALL histwrite_phy(o_re, re)
420      CALL histwrite_phy(o_fl, fl)
421IF (itap > 0) THEN
422      DO i=1, klon
423       zx_tmp_fi2d(i)=MIN(100.,rh2m(i)*100.)
424      ENDDO
425ENDIF
426      CALL histwrite_phy(o_rh2m, zx_tmp_fi2d)
427
428IF (itap > 0) THEN
429      DO i=1, klon
430       zx_tmp_fi2d(i)=MIN(100.,rh2m(i)*100.)
431      ENDDO
432ENDIF
433      CALL histwrite_phy(o_rh2m_min, zx_tmp_fi2d)
434
435IF (itap > 0) THEN
436      DO i=1, klon
437       zx_tmp_fi2d(i)=MIN(100.,rh2m(i)*100.)
438      ENDDO
439ENDIF
440      CALL histwrite_phy(o_rh2m_max, zx_tmp_fi2d)
441
442      CALL histwrite_phy(o_qsat2m, qsat2m)
443      CALL histwrite_phy(o_tpot, tpot)
444      CALL histwrite_phy(o_tpote, tpote)
445IF (itap > 0) zx_tmp_fi2d(1 : klon) = fsolsw( 1 : klon, is_ter)
446      CALL histwrite_phy(o_SWnetOR,  zx_tmp_fi2d)
447IF (itap > 0) zx_tmp_fi2d(1:klon) = solsw(1:klon)/(1.-albsol1(1:klon))
448      CALL histwrite_phy(o_SWdownOR,  zx_tmp_fi2d)
449      CALL histwrite_phy(o_LWdownOR, sollwdown)
450      CALL histwrite_phy(o_snowl, snow_lsc)
451      CALL histwrite_phy(o_solldown, sollwdown)
452      CALL histwrite_phy(o_dtsvdfo, d_ts(:,is_oce))
453      CALL histwrite_phy(o_dtsvdft, d_ts(:,is_ter))
454      CALL histwrite_phy(o_dtsvdfg,  d_ts(:,is_lic))
455      CALL histwrite_phy(o_dtsvdfi, d_ts(:,is_sic))
456      CALL histwrite_phy(o_rugs, zxrugs)
457! OD550 per species
458      IF (new_aod .and. (.not. aerosol_couple)) THEN
459          IF (ok_ade.OR.ok_aie) THEN
460      CALL histwrite_phy(o_od550aer, od550aer)
461      CALL histwrite_phy(o_od865aer, od865aer)
462      CALL histwrite_phy(o_absvisaer, absvisaer)
463      CALL histwrite_phy(o_od550lt1aer, od550lt1aer)
464      CALL histwrite_phy(o_sconcso4, sconcso4)
465      CALL histwrite_phy(o_sconcoa, sconcoa)
466      CALL histwrite_phy(o_sconcbc, sconcbc)
467      CALL histwrite_phy(o_sconcss, sconcss)
468      CALL histwrite_phy(o_sconcdust, sconcdust)
469      CALL histwrite_phy(o_concso4, concso4)
470      CALL histwrite_phy(o_concoa, concoa)
471      CALL histwrite_phy(o_concbc, concbc)
472      CALL histwrite_phy(o_concss, concss)
473      CALL histwrite_phy(o_concdust, concdust)
474      CALL histwrite_phy(o_loadso4, loadso4)
475      CALL histwrite_phy(o_loadoa, loadoa)
476      CALL histwrite_phy(o_loadbc, loadbc)
477      CALL histwrite_phy(o_loadss, loadss)
478      CALL histwrite_phy(o_loaddust, loaddust)
479!--STRAT AER
480          ENDIF
481          IF (ok_ade.OR.ok_aie.OR.flag_aerosol_strat) THEN
482          DO naero = 1, naero_spc
483      CALL histwrite_phy(o_tausumaero(naero), &
484       tausum_aero(:,2,naero) )
485          END DO
486          ENDIF
487      ENDIF
488       IF (ok_ade) THEN
489      CALL histwrite_phy(o_topswad, topswad_aero)
490      CALL histwrite_phy(o_topswad0, topswad0_aero)
491      CALL histwrite_phy(o_solswad, solswad_aero)
492      CALL histwrite_phy(o_solswad0, solswad0_aero)
493!====MS forcing diagnostics
494        if (new_aod) then
495      CALL histwrite_phy(o_swtoaas_nat, topsw_aero(:,1))
496      CALL histwrite_phy(o_swsrfas_nat, solsw_aero(:,1))
497      CALL histwrite_phy(o_swtoacs_nat, topsw0_aero(:,1))
498      CALL histwrite_phy(o_swsrfcs_nat, solsw0_aero(:,1))
499!ant
500      CALL histwrite_phy(o_swtoaas_ant, topsw_aero(:,2))
501      CALL histwrite_phy(o_swsrfas_ant, solsw_aero(:,2))
502      CALL histwrite_phy(o_swtoacs_ant, topsw0_aero(:,2))
503      CALL histwrite_phy(o_swsrfcs_ant, solsw0_aero(:,2))
504!cf
505        if (.not. aerosol_couple) then
506      CALL histwrite_phy(o_swtoacf_nat, topswcf_aero(:,1))
507      CALL histwrite_phy(o_swsrfcf_nat, solswcf_aero(:,1))
508      CALL histwrite_phy(o_swtoacf_ant, topswcf_aero(:,2))
509      CALL histwrite_phy(o_swsrfcf_ant, solswcf_aero(:,2))
510      CALL histwrite_phy(o_swtoacf_zero,topswcf_aero(:,3))
511      CALL histwrite_phy(o_swsrfcf_zero,solswcf_aero(:,3))
512        endif
513    endif ! new_aod
514!====MS forcing diagnostics
515       ENDIF
516       IF (ok_aie) THEN
517      CALL histwrite_phy(o_topswai, topswai_aero)
518      CALL histwrite_phy(o_solswai, solswai_aero)
519      CALL histwrite_phy(o_scdnc, scdnc)
520      CALL histwrite_phy(o_cldncl, cldncl)
521      CALL histwrite_phy(o_reffclws, reffclws)
522      CALL histwrite_phy(o_reffclwc, reffclwc)
523      CALL histwrite_phy(o_cldnvi, cldnvi)
524      CALL histwrite_phy(o_lcc, lcc)
525      CALL histwrite_phy(o_lcc3d, lcc3d)
526      CALL histwrite_phy(o_lcc3dcon, lcc3dcon)
527      CALL histwrite_phy(o_lcc3dstra, lcc3dstra)
528      CALL histwrite_phy(o_reffclwtop, reffclwtop)
529       ENDIF
530! Champs 3D:
531       IF (ok_ade .OR. ok_aie) then
532      CALL histwrite_phy(o_ec550aer, ec550aer)
533       ENDIF
534      CALL histwrite_phy(o_lwcon, flwc)
535      CALL histwrite_phy(o_iwcon, fiwc)
536      CALL histwrite_phy(o_temp, t_seri)
537      CALL histwrite_phy(o_theta, theta)
538      CALL histwrite_phy(o_ovapinit, qx(:,:,ivap))
539      CALL histwrite_phy(o_ovap, q_seri)
540      CALL histwrite_phy(o_oliq, ql_seri)
541      CALL histwrite_phy(o_geop, zphi)
542      CALL histwrite_phy(o_vitu, u_seri)
543      CALL histwrite_phy(o_vitv, v_seri)
544      CALL histwrite_phy(o_vitw, omega)
545      CALL histwrite_phy(o_pres, pplay)
546      CALL histwrite_phy(o_paprs, paprs(:,1:klev))
547IF (itap > 0) THEN
548         DO i=1, klon
549          zx_tmp_fi3d1(i,1)= pphis(i)/RG
550!020611   zx_tmp_fi3d(i,1)= pphis(i)/RG
551         ENDDO
552         DO k=1, klev
553!020611        DO k=1, klev-1
554         DO i=1, klon
555!020611         zx_tmp_fi3d(i,k+1)= zx_tmp_fi3d(i,k) - (t_seri(i,k) *RD * 
556          zx_tmp_fi3d1(i,k+1)= zx_tmp_fi3d1(i,k) - (t_seri(i,k) *RD *  &
557          (paprs(i,k+1) - paprs(i,k))) / ( pplay(i,k) * RG ) 
558         ENDDO
559         ENDDO
560ENDIF
561      CALL histwrite_phy(o_zfull,zx_tmp_fi3d1(:,2:klevp1))
562!020611    $o_zfull%name,itau_w,zx_tmp_fi3d)
563
564IF (itap > 0)  THEN
565         DO i=1, klon
566          zx_tmp_fi3d(i,1)= pphis(i)/RG - ( &
567          (t_seri(i,1)+zxtsol(i))/2. *RD * &
568          (pplay(i,1) - paprs(i,1)))/( (paprs(i,1)+pplay(i,1))/2.* RG)
569         ENDDO
570         DO k=1, klev-1
571         DO i=1, klon
572          zx_tmp_fi3d(i,k+1)= zx_tmp_fi3d(i,k) - ( &
573          (t_seri(i,k)+t_seri(i,k+1))/2. *RD *  &
574          (pplay(i,k+1) - pplay(i,k))) / ( paprs(i,k) * RG ) 
575         ENDDO
576         ENDDO
577ENDIF
578      CALL histwrite_phy(o_zhalf, zx_tmp_fi3d)
579      CALL histwrite_phy(o_rneb, cldfra)
580      CALL histwrite_phy(o_rnebcon, rnebcon)
581      CALL histwrite_phy(o_rnebls, rneb)
582      CALL histwrite_phy(o_rhum, zx_rh)
583      CALL histwrite_phy(o_ozone, &
584       wo(:, :, 1) * dobson_u * 1e3 / zmasse / rmo3 * rmd)
585
586      IF (read_climoz == 2) THEN
587      CALL histwrite_phy(o_ozone_light, &
588       wo(:, :, 2) * dobson_u * 1e3 / zmasse / rmo3 * rmd)
589      ENDIF
590
591      CALL histwrite_phy(o_dtphy, d_t)
592      CALL histwrite_phy(o_dqphy,  d_qx(:,:,ivap))
593        DO nsrf=1, nbsrf
594IF (itap > 0) zx_tmp_fi2d(1 : klon) = falb1( 1 : klon, nsrf)
595      CALL histwrite_phy(o_albe_srf(nsrf), zx_tmp_fi2d)
596IF (itap > 0) zx_tmp_fi2d(1 : klon) = frugs( 1 : klon, nsrf)
597      CALL histwrite_phy(o_rugs_srf(nsrf), zx_tmp_fi2d)
598IF (itap > 0) zx_tmp_fi2d(1 : klon) = agesno( 1 : klon, nsrf)
599      CALL histwrite_phy(o_ages_srf(nsrf), zx_tmp_fi2d)
600        ENDDO !nsrf=1, nbsrf
601      CALL histwrite_phy(o_alb1, albsol1)
602      CALL histwrite_phy(o_alb2, albsol2)
603!FH Sorties pour la couche limite
604      if (iflag_pbl>1) then
605      zx_tmp_fi3d=0.
606IF (itap > 0) THEN
607      do nsrf=1,nbsrf
608         do k=1,klev
609          zx_tmp_fi3d(:,k)=zx_tmp_fi3d(:,k) &
610          +pctsrf(:,nsrf)*pbl_tke(:,k,nsrf)
611         enddo
612      enddo
613ENDIF
614      CALL histwrite_phy(o_tke, zx_tmp_fi3d)
615
616      CALL histwrite_phy(o_tke_max, zx_tmp_fi3d)
617      ENDIF
618
619      CALL histwrite_phy(o_kz, coefh(:,:,is_ave))
620
621      CALL histwrite_phy(o_kz_max, coefh(:,:,is_ave))
622
623      CALL histwrite_phy(o_clwcon, clwcon0)
624      CALL histwrite_phy(o_dtdyn, d_t_dyn)
625      CALL histwrite_phy(o_dqdyn, d_q_dyn)
626      CALL histwrite_phy(o_dudyn, d_u_dyn)
627      CALL histwrite_phy(o_dvdyn, d_v_dyn)
628
629IF (itap > 0) THEN
630      zx_tmp_fi3d(1:klon,1:klev)=d_t_con(1:klon,1:klev)/pdtphys
631ENDIF
632      CALL histwrite_phy(o_dtcon, zx_tmp_fi3d)
633      if(iflag_thermals.eq.1)then
634IF (itap > 0) THEN
635      zx_tmp_fi3d(1:klon,1:klev)=d_t_con(1:klon,1:klev)/pdtphys + &
636                                 d_t_ajsb(1:klon,1:klev)/pdtphys
637ENDIF
638      CALL histwrite_phy(o_tntc, zx_tmp_fi3d)
639      else if(iflag_thermals.gt.1.and.iflag_wake.EQ.1)then
640IF (itap > 0) THEN
641      zx_tmp_fi3d(1:klon,1:klev)=d_t_con(1:klon,1:klev)/pdtphys + &
642                                 d_t_ajs(1:klon,1:klev)/pdtphys + &
643                                 d_t_wake(1:klon,1:klev)/pdtphys
644ENDIF
645      CALL histwrite_phy(o_tntc, zx_tmp_fi3d)
646      endif
647IF (itap > 0) zx_tmp_fi3d(1:klon,1:klev)=d_u_con(1:klon,1:klev)/pdtphys
648      CALL histwrite_phy(o_ducon, zx_tmp_fi3d)
649IF (itap > 0) zx_tmp_fi3d(1:klon,1:klev)=d_v_con(1:klon,1:klev)/pdtphys
650      CALL histwrite_phy(o_dvcon, zx_tmp_fi3d)
651IF (itap > 0) zx_tmp_fi3d(1:klon,1:klev)=d_q_con(1:klon,1:klev)/pdtphys
652      CALL histwrite_phy(o_dqcon, zx_tmp_fi3d)
653
654      IF(iflag_thermals.EQ.1) THEN
655IF (itap > 0) zx_tmp_fi3d(1:klon,1:klev)=d_q_con(1:klon,1:klev)/pdtphys
656        CALL histwrite_phy(o_tnhusc, zx_tmp_fi3d)
657      ELSE IF(iflag_thermals.GT.1.AND.iflag_wake.EQ.1) THEN
658IF (itap > 0) THEN
659         zx_tmp_fi3d(1:klon,1:klev)=d_q_con(1:klon,1:klev)/pdtphys + &
660                                     d_q_ajs(1:klon,1:klev)/pdtphys + &
661                                     d_q_wake(1:klon,1:klev)/pdtphys
662ENDIF
663         CALL histwrite_phy(o_tnhusc, zx_tmp_fi3d)
664      ENDIF
665
666IF (itap > 0) zx_tmp_fi3d(1:klon,1:klev)=d_t_lsc(1:klon,1:klev)/pdtphys
667      CALL histwrite_phy(o_dtlsc, zx_tmp_fi3d)
668IF (itap > 0) zx_tmp_fi3d(1:klon, 1:klev)=(d_t_lsc(1:klon,1:klev)+ &
669                                 d_t_eva(1:klon,1:klev))/pdtphys
670      CALL histwrite_phy(o_dtlschr, zx_tmp_fi3d)
671IF (itap > 0) zx_tmp_fi3d(1:klon,1:klev)=d_q_lsc(1:klon,1:klev)/pdtphys
672      CALL histwrite_phy(o_dqlsc, zx_tmp_fi3d)
673IF (itap > 0) zx_tmp_fi3d(1:klon,1:klev)=beta_prec(1:klon,1:klev)
674      CALL histwrite_phy(o_beta_prec, zx_tmp_fi3d)
675!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
676! Sorties specifiques a la separation thermiques/non thermiques
677       if (iflag_thermals>=1) then
678IF(itap > 0) zx_tmp_fi3d(1:klon,1:klev)=d_t_lscth(1:klon,1:klev)/pdtphys
679      CALL histwrite_phy(o_dtlscth, zx_tmp_fi3d)
680IF(itap > 0) zx_tmp_fi3d(1:klon,1:klev)=d_t_lscst(1:klon,1:klev)/pdtphys
681      CALL histwrite_phy(o_dtlscst, zx_tmp_fi3d)
682IF(itap > 0) zx_tmp_fi3d(1:klon,1:klev)=d_q_lscth(1:klon,1:klev)/pdtphys
683      CALL histwrite_phy(o_dqlscth, zx_tmp_fi3d)
684IF(itap > 0) zx_tmp_fi3d(1:klon,1:klev)=d_q_lscst(1:klon,1:klev)/pdtphys
685      CALL histwrite_phy(o_dqlscst, zx_tmp_fi3d)
686      CALL histwrite_phy(o_plulth, plul_th)
687      CALL histwrite_phy(o_plulst, plul_st)
688IF (itap > 0) THEN
689      do k=1,klev
690      do i=1,klon
691          if (ptconvth(i,k)) then
692           zx_tmp_fi3d(i,k)=1.
693          else
694           zx_tmp_fi3d(i,k)=0.
695          endif
696      enddo
697      enddo
698ENDIF
699      CALL histwrite_phy(o_ptconvth, zx_tmp_fi3d)
700IF (itap > 0) THEN
701      do i=1,klon
702           zx_tmp_fi2d(1:klon)=lmax_th(:)
703      enddo
704ENDIF
705      CALL histwrite_phy(o_lmaxth, zx_tmp_fi2d)
706      endif ! iflag_thermals>=1
707!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
708IF (itap > 0) zx_tmp_fi3d(1:klon,1:klev)=d_t_vdf(1:klon,1:klev)/pdtphys
709      CALL histwrite_phy(o_dtvdf, zx_tmp_fi3d)
710IF(itap > 0) zx_tmp_fi3d(1:klon,1:klev)=d_t_diss(1:klon,1:klev)/pdtphys
711      CALL histwrite_phy(o_dtdis, zx_tmp_fi3d)
712IF (itap > 0) zx_tmp_fi3d(1:klon,1:klev)=d_q_vdf(1:klon,1:klev)/pdtphys
713      CALL histwrite_phy(o_dqvdf, zx_tmp_fi3d)
714IF (itap > 0) zx_tmp_fi3d(1:klon,1:klev)=d_t_eva(1:klon,1:klev)/pdtphys
715      CALL histwrite_phy(o_dteva, zx_tmp_fi3d)
716IF (itap > 0) zx_tmp_fi3d(1:klon,1:klev)=d_q_eva(1:klon,1:klev)/pdtphys
717      CALL histwrite_phy(o_dqeva, zx_tmp_fi3d)
718      zpt_conv = 0.
719      WHERE (ptconv) zpt_conv = 1.
720      CALL histwrite_phy(o_ptconv, zpt_conv)
721      CALL histwrite_phy(o_ratqs, ratqs)
722IF (itap > 0) THEN
723      zx_tmp_fi3d(1:klon,1:klev)=d_t_ajs(1:klon,1:klev)/pdtphys - &
724                                 d_t_ajsb(1:klon,1:klev)/pdtphys
725ENDIF
726      CALL histwrite_phy(o_dtthe, zx_tmp_fi3d)
727       IF (iflag_thermals>=1) THEN
728! Pour l instant 0 a y reflichir pour les thermiques
729         zx_tmp_fi2d=0. 
730      CALL histwrite_phy(o_ftime_th, zx_tmp_fi2d)
731      CALL histwrite_phy(o_f_th, fm_therm)
732      CALL histwrite_phy(o_e_th, entr_therm)
733      CALL histwrite_phy(o_w_th, zw2)
734      CALL histwrite_phy(o_q_th, zqasc)
735      CALL histwrite_phy(o_a_th, fraca)
736      CALL histwrite_phy(o_d_th, detr_therm)
737      CALL histwrite_phy(o_f0_th, f0)
738      CALL histwrite_phy(o_zmax_th, zmax_th)
739IF (itap > 0) THEN
740      zx_tmp_fi3d(1:klon,1:klev)=d_q_ajs(1:klon,1:klev)/pdtphys - &
741                                 d_q_ajsb(1:klon,1:klev)/pdtphys
742ENDIF
743      CALL histwrite_phy(o_dqthe, zx_tmp_fi3d)
744      ENDIF !iflag_thermals
745IF(itap > 0) zx_tmp_fi3d(1:klon,1:klev)=d_t_ajsb(1:klon,1:klev)/pdtphys
746      CALL histwrite_phy(o_dtajs, zx_tmp_fi3d)
747IF(itap > 0) zx_tmp_fi3d(1:klon,1:klev)=d_q_ajsb(1:klon,1:klev)/pdtphys
748      CALL histwrite_phy(o_dqajs, zx_tmp_fi3d)
749IF(itap > 0) zx_tmp_fi3d(1:klon,1:klev)=heat(1:klon,1:klev)/RDAY
750      CALL histwrite_phy(o_dtswr, zx_tmp_fi3d)
751IF(itap > 0) zx_tmp_fi3d(1:klon,1:klev)=heat0(1:klon,1:klev)/RDAY
752      CALL histwrite_phy(o_dtsw0, zx_tmp_fi3d)
753IF(itap > 0) zx_tmp_fi3d(1:klon,1:klev)=-1.*cool(1:klon,1:klev)/RDAY
754      CALL histwrite_phy(o_dtlwr, zx_tmp_fi3d)
755IF(itap > 0) zx_tmp_fi3d(1:klon,1:klev)=-1.*cool0(1:klon,1:klev)/RDAY
756      CALL histwrite_phy(o_dtlw0, zx_tmp_fi3d)
757IF(itap > 0) zx_tmp_fi3d(1:klon,1:klev)=d_t_ec(1:klon,1:klev)/pdtphys
758      CALL histwrite_phy(o_dtec, zx_tmp_fi3d)
759IF(itap > 0) zx_tmp_fi3d(1:klon,1:klev)=d_u_vdf(1:klon,1:klev)/pdtphys
760      CALL histwrite_phy(o_duvdf, zx_tmp_fi3d)
761IF(itap > 0) zx_tmp_fi3d(1:klon,1:klev)=d_v_vdf(1:klon,1:klev)/pdtphys
762      CALL histwrite_phy(o_dvvdf, zx_tmp_fi3d)
763       IF (ok_orodr) THEN
764IF(itap > 0) zx_tmp_fi3d(1:klon,1:klev)=d_u_oro(1:klon,1:klev)/pdtphys
765      CALL histwrite_phy(o_duoro, zx_tmp_fi3d)
766IF(itap > 0) zx_tmp_fi3d(1:klon,1:klev)=d_v_oro(1:klon,1:klev)/pdtphys
767      CALL histwrite_phy(o_dvoro, zx_tmp_fi3d)
768IF(itap > 0) zx_tmp_fi3d(1:klon,1:klev)=d_t_oro(1:klon,1:klev)/pdtphys
769      CALL histwrite_phy(o_dtoro, zx_tmp_fi3d)
770       ENDIF
771        IF (ok_orolf) THEN
772IF(itap > 0) zx_tmp_fi3d(1:klon,1:klev)=d_u_lif(1:klon,1:klev)/pdtphys
773      CALL histwrite_phy(o_dulif, zx_tmp_fi3d)
774       ENDIF
775IF(itap > 0) zx_tmp_fi3d(1:klon,1:klev)=d_v_lif(1:klon,1:klev)/pdtphys
776      CALL histwrite_phy(o_dvlif, zx_tmp_fi3d)
777
778IF(itap > 0) zx_tmp_fi3d(1:klon,1:klev)=d_t_lif(1:klon,1:klev)/pdtphys
779      CALL histwrite_phy(o_dtlif, zx_tmp_fi3d)
780
781       IF (ok_hines) THEN
782IF(itap > 0) zx_tmp_fi3d(1:klon,1:klev)=d_u_hin(1:klon,1:klev)/pdtphys
783      CALL histwrite_phy(o_duhin, zx_tmp_fi3d)
784IF(itap > 0) zx_tmp_fi3d(1:klon,1:klev)=d_v_hin(1:klon,1:klev)/pdtphys
785      CALL histwrite_phy(o_dvhin, zx_tmp_fi3d)
786IF(itap > 0) zx_tmp_fi3d(1:klon,1:klev)=d_t_hin(1:klon,1:klev)/pdtphys
787      CALL histwrite_phy(o_dthin, zx_tmp_fi3d)
788        ENDIF
789      CALL histwrite_phy(o_rsu, swup)
790      CALL histwrite_phy(o_rsd, swdn)
791      CALL histwrite_phy(o_rlu, lwup)
792      CALL histwrite_phy(o_rld, lwdn)
793      CALL histwrite_phy(o_rsucs, swup0)
794      CALL histwrite_phy(o_rsdcs, swdn0)
795      CALL histwrite_phy(o_rlucs, lwup0)
796      CALL histwrite_phy(o_rldcs, lwdn0)
797IF(itap > 0) THEN
798      zx_tmp_fi3d(1:klon,1:klev)=d_t(1:klon,1:klev)+ &
799      d_t_dyn(1:klon,1:klev)
800ENDIF
801      CALL histwrite_phy(o_tnt, zx_tmp_fi3d)
802IF(itap > 0) THEN
803      zx_tmp_fi3d(1:klon,1:klev)=heat(1:klon,1:klev)/RDAY - &
804      cool(1:klon,1:klev)/RDAY
805ENDIF
806      CALL histwrite_phy(o_tntr, zx_tmp_fi3d)
807IF(itap > 0) THEN
808      zx_tmp_fi3d(1:klon,1:klev)= (d_t_lsc(1:klon,1:klev)+ &
809                                   d_t_eva(1:klon,1:klev)+ &
810                                   d_t_vdf(1:klon,1:klev))/pdtphys
811ENDIF
812      CALL histwrite_phy(o_tntscpbl, zx_tmp_fi3d)
813IF(itap > 0) THEN
814      zx_tmp_fi3d(1:klon,1:klev)=d_qx(1:klon,1:klev,ivap)+ &
815      d_q_dyn(1:klon,1:klev)
816ENDIF
817      CALL histwrite_phy(o_tnhus, zx_tmp_fi3d)
818IF(itap > 0) THEN
819      zx_tmp_fi3d(1:klon,1:klev)=d_q_lsc(1:klon,1:klev)/pdtphys+ &
820                                 d_q_eva(1:klon,1:klev)/pdtphys
821ENDIF
822      CALL histwrite_phy(o_tnhusscpbl, zx_tmp_fi3d)
823      CALL histwrite_phy(o_evu, coefm(:,:,is_ave))
824IF(itap > 0) THEN
825      zx_tmp_fi3d(1:klon,1:klev)=q_seri(1:klon,1:klev)+ &
826                                 ql_seri(1:klon,1:klev) 
827ENDIF
828      CALL histwrite_phy(o_h2o, zx_tmp_fi3d)
829       if (iflag_con >= 3) then
830IF(itap > 0) THEN
831             zx_tmp_fi3d(1:klon,1:klev)=-1 * (dnwd(1:klon,1:klev)+ &
832                  dnwd0(1:klon,1:klev)) 
833ENDIF
834      CALL histwrite_phy(o_mcd, zx_tmp_fi3d)
835IF(itap > 0) THEN
836             zx_tmp_fi3d(1:klon,1:klev)=upwd(1:klon,1:klev) + &
837                  dnwd(1:klon,1:klev)+ dnwd0(1:klon,1:klev) 
838ENDIF
839      CALL histwrite_phy(o_dmc, zx_tmp_fi3d)
840       else if (iflag_con == 2) then
841      CALL histwrite_phy(o_mcd,  pmfd)
842      CALL histwrite_phy(o_dmc,  pmfu + pmfd)
843       end if
844      CALL histwrite_phy(o_ref_liq, ref_liq)
845      CALL histwrite_phy(o_ref_ice, ref_ice)
846      if (RCO2_per.NE.RCO2_act.OR.RCH4_per.NE.RCH4_act.OR. &
847       RN2O_per.NE.RN2O_act.OR.RCFC11_per.NE.RCFC11_act.OR. &
848       RCFC12_per.NE.RCFC12_act) THEN
849IF(itap > 0) zx_tmp_fi2d(1 : klon) = swupp ( 1 : klon, klevp1 )
850      CALL histwrite_phy(o_rsut4co2, zx_tmp_fi2d)
851IF(itap > 0) zx_tmp_fi2d(1 : klon) = lwupp ( 1 : klon, klevp1 )
852      CALL histwrite_phy(o_rlut4co2, zx_tmp_fi2d)
853IF(itap > 0) zx_tmp_fi2d(1 : klon) = swup0p ( 1 : klon, klevp1 )
854      CALL histwrite_phy(o_rsutcs4co2, zx_tmp_fi2d)
855IF(itap > 0) zx_tmp_fi2d(1 : klon) = lwup0p ( 1 : klon, klevp1 )
856      CALL histwrite_phy(o_rlutcs4co2, zx_tmp_fi2d)
857      CALL histwrite_phy(o_rsu4co2, swupp)
858      CALL histwrite_phy(o_rlu4co2, lwupp)
859      CALL histwrite_phy(o_rsucs4co2, swup0p)
860      CALL histwrite_phy(o_rlucs4co2, lwup0p)
861      CALL histwrite_phy(o_rsd4co2, swdnp)
862      CALL histwrite_phy(o_rld4co2, lwdnp)
863      CALL histwrite_phy(o_rsdcs4co2, swdn0p)
864      CALL histwrite_phy(o_rldcs4co2, lwdn0p)
865      ENDIF
866        IF (nqtot.GE.3) THEN
867         DO iq=3,nqtot
868             CALL histwrite_phy(o_trac(iq-2), qx(:,:,iq))
869         ENDDO
870         DO iq=3,nqtot
871         zx_tmp_fi2d=0.
872IF(itap > 0) THEN
873         DO k=1,klev
874            zx_tmp_fi2d(:)=zx_tmp_fi2d(:)+zmasse(:,k)*qx(:,k,iq)
875         ENDDO
876ENDIF
877            CALL histwrite_phy(o_trac_cum(iq-2), zx_tmp_fi2d)
878         ENDDO
879        ENDIF
880
Note: See TracBrowser for help on using the repository browser.