source: LMDZ4/trunk/libf/phylmd/write_histday.h @ 996

Last change on this file since 996 was 996, checked in by lsce, 16 years ago
  • Modifications liées au calcul des nouveau sous-fractions
  • Nettoyage de ocean slab : il reste uniquement la version avec glace de mer forcé
  • Nouveaux variables pour distiguer la version et type d'ocean : type_ocean=force/slab/couple, version_ocean=opa8/nemo pour couplé ou version_ocean=sicOBS pour slab

JG

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 22.8 KB
Line 
1c
2c $Header$
3c
4      if (ok_journe) THEN
5c
6      ndex2d = 0
7      ndex3d = 0
8c
9c Champs 2D:
10c
11         itau_w = itau_phy + itap
12
13c  temperature tendency due to moist convective processes
14       DO l=1, klev
15       DO i=1, klon
16        zx_tmp_fi3d(i,l)=d_t_con(i,l)/pdtphys
17       ENDDO !i
18       ENDDO !l
19c
20      IF(lev_histday.GE.1) THEN
21c
22       CALL histwrite_phy(nid_day,"phis",itau_w,pphis)
23 
24c
25       CALL histwrite_phy(nid_day,"aire",itau_w,airephy)
26c
27      DO i=1, klon
28       zx_tmp_fi2d(i)=pctsrf(i,is_ter)+pctsrf(i,is_lic)
29      ENDDO
30c
31cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d)
32      CALL histwrite_phy(nid_day,"contfracATM",itau_w,zx_tmp_fi2d)
33c
34cym      CALL gr_fi_ecrit(1,klon,iim,jjmp1,pctsrf(:,is_ter),zx_tmp_2d)
35      CALL histwrite_phy(nid_day,"contfracOR",itau_w,
36     &                   pctsrf(:,is_ter))
37c
38
39      CALL histwrite_phy(nid_day,"dthmin",itau_w,dthmin)
40      CALL histwrite_phy(nid_day,"weakinv",itau_w,weak_inversion)
41
42cIM: 101003 : K/30min ==> K/s
43
44cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxtsol,zx_tmp_2d)
45      CALL histwrite_phy(nid_day,"tsol",itau_w,zxtsol)
46C
47cym      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zt2m,zx_tmp_2d)
48      CALL histwrite_phy(nid_day,"t2m",itau_w,zt2m)
49c
50c   En attendant un eventuel debugage.
51
52cym      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zt2m,zx_tmp_2d)
53      CALL histwrite_phy(nid_day,"t2m_min",itau_w,zt2m)
54c
55cym      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zt2m,zx_tmp_2d)
56      CALL histwrite_phy(nid_day,"t2m_max",itau_w,zt2m)
57c
58      DO i = 1, klon
59         zx_tmp_fi2d(i) = rain_lsc(i) + snow_lsc(i)
60      ENDDO
61cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
62      CALL histwrite_phy(nid_day,"plul",itau_w,zx_tmp_fi2d)
63c
64      DO i = 1, klon
65         zx_tmp_fi2d(i) = rain_con(i) + snow_con(i)
66      ENDDO
67cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
68      CALL histwrite_phy(nid_day,"pluc",itau_w,zx_tmp_fi2d)
69c
70cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, snow_lsc,zx_tmp_2d)
71      CALL histwrite_phy(nid_day,"snowl",itau_w,snow_lsc)
72c
73      IF(1.EQ.0) THEN
74cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, snow_con,zx_tmp_2d)
75      CALL histwrite_phy(nid_day,"snowc",itau_w,snow_con)
76      ENDIF
77c
78cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxfluxlat,zx_tmp_2d)
79      CALL histwrite_phy(nid_day,"flat",itau_w,zxfluxlat)
80c
81      DO i = 1, klon
82         zx_tmp_fi2d(i) = pctsrf(i,is_sic)
83      ENDDO
84c
85cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
86      CALL histwrite_phy(nid_day,"sicf",itau_w,zx_tmp_fi2d)
87c
88cym      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zq2m,zx_tmp_2d)
89      CALL histwrite_phy(nid_day,"q2m",itau_w,zq2m)
90c
91cym      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zu10m,zx_tmp_2d)
92      CALL histwrite_phy(nid_day,"u10m",itau_w,zu10m)
93c
94cym      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zv10m,zx_tmp_2d)
95      CALL histwrite_phy(nid_day,"v10m",itau_w,zv10m)
96c
97      DO i=1, klon
98       zx_tmp_fi2d(i)=SQRT(zu10m(i)*zu10m(i)+zv10m(i)*zv10m(i))
99      ENDDO
100cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)     
101      CALL histwrite_phy(nid_day,"wind10m",itau_w,zx_tmp_fi2d)
102c
103cym      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
104      CALL histwrite_phy(nid_day,"wind10max",itau_w,zx_tmp_fi2d)
105c
106      DO i=1, klon
107         zx_tmp_fi2d(i) = paprs(i,1)
108      ENDDO
109cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
110      CALL histwrite_phy(nid_day,"psol",itau_w,zx_tmp_fi2d)
111c
112      DO i=1, klon
113         zx_tmp_fi2d(i) = (rain_fall(i) + snow_fall(i))
114      ENDDO
115cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
116      CALL histwrite_phy(nid_day,"precip",itau_w,zx_tmp_fi2d)
117c
118cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, snow_fall,zx_tmp_2d)
119      CALL histwrite_phy(nid_day,"snowf",itau_w,snow_fall)
120c
121cIM: 140404   CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxsnow,zx_tmp_2d)
122c     CALL gr_fi_ecrit(1, klon,iim,jjmp1, zsnow_mass,zx_tmp_2d)
123c     CALL histwrite(nid_day,"snow_mass",itau_w,zx_tmp_2d,iim*jjmp1,
124c    .               ndex2d)
125c
126cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, evap,zx_tmp_2d)
127      CALL histwrite_phy(nid_day,"evap",itau_w,evap)
128c
129cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, topsw,zx_tmp_2d)
130      CALL histwrite_phy(nid_day,"tops",itau_w,topsw)
131c
132cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, toplw,zx_tmp_2d)
133      CALL histwrite_phy(nid_day,"topl",itau_w,toplw)
134c
135cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, solsw,zx_tmp_2d)
136      CALL histwrite_phy(nid_day,"sols",itau_w,solsw)
137c
138cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollw,zx_tmp_2d)
139      CALL histwrite_phy(nid_day,"soll",itau_w,sollw)
140c
141cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, radsol,zx_tmp_2d)
142      CALL histwrite_phy(nid_day,"radsol",itau_w,radsol)
143c
144cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldl,zx_tmp_2d)
145      CALL histwrite_phy(nid_day,"cldl",itau_w,cldl)
146c
147cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldm,zx_tmp_2d)
148      CALL histwrite_phy(nid_day,"cldm",itau_w,cldm)
149c
150cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldh,zx_tmp_2d)
151      CALL histwrite_phy(nid_day,"cldh",itau_w,cldh)
152c
153cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldt,zx_tmp_2d)
154      CALL histwrite_phy(nid_day,"cldt",itau_w,cldt)
155c
156cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldq,zx_tmp_2d)
157      CALL histwrite_phy(nid_day,"cldq",itau_w,cldq)
158c
159cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, prw,zx_tmp_2d)
160      CALL histwrite_phy(nid_day,"prw",itau_w,prw)
161
162c   Ecriture de champs dynamiques sur des niveaux de pression
163c     DO k=1, nlevENS
164      DO k=1, nlevSTD
165c
166c        bb=clevSTD(k)
167c
168         IF(k.GE.2.AND.k.LE.12) bb2=clevSTD(k)
169         IF(k.GE.13.AND.k.LE.17) bb3=clevSTD(k)
170c         aa=clevSTD(k)
171c         bb=aa(1:lnblnk1(aa))
172c        ENDIF
173c
174      IF(bb2.EQ."850".OR.bb2.EQ."700"
175     $   .OR.bb2.EQ."500".OR.bb2.EQ."200") THEN
176c
177cym        CALL gr_fi_ecrit(1, klon,iim,jjmp1,usumSTD(:,k,1),zx_tmp_2d)
178        CALL histwrite_phy(nid_day,"u"//bb2,itau_w,usumSTD(:,k,1))
179c
180cym        CALL gr_fi_ecrit(1, klon,iim,jjmp1,vsumSTD(:,k,1),zx_tmp_2d)
181        CALL histwrite_phy(nid_day,"v"//bb2,itau_w,vsumSTD(:,k,1))
182c
183      ENDIF !(bb2.EQ."850".OR.bb2.EQ."700".OR.bb2.EQ."500".OR.bb2.EQ."200") THEN
184c
185c w500
186c
187      IF(bb2.EQ."500") THEN
188c
189cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1,wsumSTD(:,k,1),zx_tmp_2d)
190      CALL histwrite_phy(nid_day,"w"//bb2,itau_w,wsumSTD(:,k,1))
191c
192cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1,phisumSTD(:,k,1),zx_tmp_2d)
193      CALL histwrite_phy(nid_day,"phi"//bb2,itau_w,phisumSTD(:,k,1))
194
195      ENDIF !(bb2.EQ."500") THEN
196c
197      ENDDO !nlevSTD
198c
199cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, slp,zx_tmp_2d)
200      CALL histwrite_phy(nid_day,"slp",itau_w,slp)
201
202cym      CALL gr_fi_ecrit(1,klon,iim,jjmp1,cape,zx_tmp_2d)
203      CALL histwrite_phy(nid_day,"cape_max",itau_w,cape)
204c
205cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollwdown,zx_tmp_2d)
206      CALL histwrite_phy(nid_day,"solldown",itau_w,sollwdown)
207c
208      DO i=1, klon
209        zx_tmp_fi2d(i)=-1*sens(i)
210      ENDDO
211cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
212      CALL histwrite_phy(nid_day,"sens",itau_w,zx_tmp_fi2d)
213c
214      zx_tmp_fi2d(1 : klon) = swdn(1 : klon, 1)
215
216cym      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
217      CALL histwrite_phy(nid_day, "SWdnSFC",itau_w,zx_tmp_fi2d)
218c
219      IF (OCEAN.EQ.'force ') THEN
220c
221      DO i=1, klon
222      IF((pctsrf(i,is_oce).GT.epsfra).OR.
223     .   (pctsrf(i,is_sic).GT.epsfra)) THEN
224       zx_tmp_fi2d(i) = (radsol(i) + fluxo(i))*pctsrf(i,is_oce)+
225     .                  fluxg(i)*pctsrf(i,is_sic)
226      ELSE
227       zx_tmp_fi2d(i) = 1.E+20
228      ENDIF
229      ENDDO
230cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
231      CALL histwrite_phy(nid_day,"lmt_bils",itau_w, zx_tmp_fi2d)
232c
233      ELSE IF (OCEAN.EQ.'slab  ') THEN
234c
235      DO i=1, klon
236      IF((pctsrf(i,is_oce).GT.epsfra).OR.
237     .   (pctsrf(i,is_sic).GT.epsfra)) THEN
238       zx_tmp_fi2d(i) = (radsol(i) + fluxo(i))*pctsrf(i,is_oce)+
239     .                  fluxg(i)*pctsrf(i,is_sic)
240      ELSE
241       zx_tmp_fi2d(i) = 1.E+20
242      ENDIF
243      ENDDO
244cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
245      CALL histwrite_phy(nid_day,"slab_bils",itau_w,zx_tmp_fi2d)
246c
247      DO i=1, klon
248       IF(pctsrf(i,is_oce).GT.epsfra.OR.
249     $    pctsrf(i,is_sic).GT.epsfra) THEN
250        zx_tmp_fi2d(i)=tslab(i)
251       ELSE
252        zx_tmp_fi2d(i) = 1.E+20
253       ENDIF
254      ENDDO !i=1, klon
255cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
256      CALL histwrite_phy(nid_day,"tslab",itau_w,zx_tmp_fi2d)
257c
258cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, seaice,zx_tmp_2d)
259      CALL histwrite_phy(nid_day,"seaice",itau_w,seaice)
260c
261cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, seaice/1000.,zx_tmp_2d)
262      CALL histwrite_phy(nid_day,"siceh",itau_w,seaice/1000.)
263c
264      ENDIF !(OCEAN.EQ.'slab  ') THEN
265c
266      DO i=1, klon
267       IF (pctsrf(i,is_oce).GT.epsfra) THEN
268        zx_tmp_fi2d(i) = fluxo(i)
269       ELSE
270        zx_tmp_fi2d(i) = 0.
271       ENDIF
272      ENDDO
273c
274cym     CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
275      CALL histwrite_phy(nid_day,"fluxo",itau_w,zx_tmp_fi2d)
276c
277      DO i=1, klon
278       IF (pctsrf(i,is_sic).GT.epsfra) THEN
279        zx_tmp_fi2d(i) = fluxg(i)
280       ELSE
281        zx_tmp_fi2d(i) = 0.
282       ENDIF
283      ENDDO
284c
285cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
286      CALL histwrite_phy(nid_day,"fluxg",itau_w,zx_tmp_fi2d)
287c
288      ENDIF !lev_histday.GE.1
289c
290      IF(lev_histday.GE.2) THEN
291c
292cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, bils,zx_tmp_2d)
293      CALL histwrite_phy(nid_day,"bils",itau_w, bils)
294c
295cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, fder,zx_tmp_2d)
296      CALL histwrite_phy(nid_day,"fder",itau_w,fder)
297c
298      ENDIF !lev_histday.GE.2
299c
300      IF(lev_histday.GE.3) THEN
301c=================================================================
302c   ECRITURE DES CHAMPS 3D
303c=================================================================
304
305c
306c Champs 3D:
307c
308cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, t_seri, zx_tmp_3d)
309      CALL histwrite_phy(nid_day,"temp",itau_w,t_seri)
310c
311cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, qx(1,1,ivap), zx_tmp_3d)
312      CALL histwrite_phy(nid_day,"ovap",itau_w,qx(:,:,ivap))
313c
314cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zphi, zx_tmp_3d)
315      CALL histwrite_phy(nid_day,"geop",itau_w,zphi)
316c
317cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, u_seri, zx_tmp_3d)
318      CALL histwrite_phy(nid_day,"vitu",itau_w,u_seri)
319c
320cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, v_seri, zx_tmp_3d)
321      CALL histwrite_phy(nid_day,"vitv",itau_w,v_seri)
322c
323cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, omega, zx_tmp_3d)
324      CALL histwrite_phy(nid_day,"vitw",itau_w,omega)
325c
326cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, pplay, zx_tmp_3d)
327      CALL histwrite_phy(nid_day,"pres",itau_w,pplay)
328c
329      CALL histwrite_phy(nid_day,"rhum",itau_w,zx_rh)
330
331cFin Wake parameters 2D     
332c Wake parameters 3D
333c
334          print*,'SSS test2'
335if (1.eq.0) then
336
337c
338      ENDIF !lev_histday.GE.3
339c=================================================================
340c   FIN ECRITURE DES CHAMPS 3D
341c=================================================================
342      IF(lev_histday.ge.4) THEN
343c=================================================================
344c
345c   ECRITURE DES CHAMPS SUR LES SOUS SURFACES
346c
347c=================================================================
348      zx_tmp_fi2d(1 : klon) = swup( 1 : klon, klevp1 )
349cym      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
350      CALL histwrite_phy(nid_day, "SWupTOA",itau_w,zx_tmp_fi2d)
351c
352      zx_tmp_fi2d(1 : klon) = swup( 1 : klon, 1 )
353cym      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
354      CALL histwrite_phy(nid_day, "SWupSFC",itau_w,zx_tmp_fi2d)
355c
356      zx_tmp_fi2d(1 : klon) = swdn( 1 : klon, klevp1 )
357cym      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
358      CALL histwrite_phy(nid_day, "SWdnTOA",itau_w,zx_tmp_fi2d)
359c
360      zx_tmp_fi2d(1 : klon) = swup0( 1 : klon, klevp1 )
361cym      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
362      CALL histwrite_phy(nid_day, "SWupTOAclr",itau_w,zx_tmp_fi2d)
363c
364      zx_tmp_fi2d(1 : klon) = swup0( 1 : klon, 1 )
365cym      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
366      CALL histwrite_phy(nid_day, "SWupSFCclr",itau_w,zx_tmp_fi2d)
367c
368      zx_tmp_fi2d(1 : klon) = swdn0( 1 : klon, klevp1 )
369cym      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
370      CALL histwrite_phy(nid_day, "SWdnTOAclr",itau_w,zx_tmp_fi2d)
371c
372      zx_tmp_fi2d(1 : klon) = swdn0( 1 : klon, 1 )
373cym      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
374      CALL histwrite_phy(nid_day, "SWdnSFCclr",itau_w,zx_tmp_fi2d)
375c
376cIM AMMA-MIP
377cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollwdown,zx_tmp_2d)
378      CALL histwrite_phy(nid_day,"LWdnSFC",itau_w,sollwdown)
379c
380      zx_tmp_fi2d(1:klon)=sollwdown(1:klon)-sollw(1:klon)
381cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d)
382      CALL histwrite_phy(nid_day,"LWupSFC",itau_w,zx_tmp_fi2d)
383c
384cIM   IF (iflag_con.GE.3) THEN
385        if (ok_ISCCP) then
386cIM ema_pct= 0.     CALL gr_fi_ecrit(1, klon,iim,jjmp1, ema_pct,zx_tmp_2d)
387cym       CALL gr_fi_ecrit(1, klon,iim,jjmp1, meanptop(:,1),zx_tmp_2d)
388          CALL histwrite_phy(nid_day,"ptop",itau_w,meanptop(:,1))
389        ENDIF
390cIM   ENDIF
391c
392      zx_tmp_fi2d(1 : klon) = ftsol(1 : klon, is_ter)
393cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d ,zx_tmp_2d)
394      CALL histwrite_phy(nid_day,"tter",itau_w,zx_tmp_fi2d)
395c
396      zx_tmp_fi2d(1 : klon) = ftsol(1 : klon, is_lic)
397cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
398      CALL histwrite_phy(nid_day,"tlic",itau_w,zx_tmp_fi2d)
399c
400      zx_tmp_fi2d(1 : klon) = ftsol(1 : klon, is_oce)
401cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
402      CALL histwrite_phy(nid_day,"toce",itau_w,zx_tmp_fi2d)
403c
404      zx_tmp_fi2d(1 : klon) = ftsol(1 : klon, is_sic)
405cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
406      CALL histwrite_phy(nid_day,"tsic",itau_w,zx_tmp_fi2d)
407c
408      zx_tmp_fi2d(1 : klon) = t2m(1 : klon, is_ter)
409cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d)
410      CALL histwrite_phy(nid_day,"t2mter",itau_w,zx_tmp_fi2d)
411c
412      zx_tmp_fi2d(1 : klon) = t2m(1 : klon, is_ter)
413cym      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
414      CALL histwrite_phy(nid_day,"t2mter_min",itau_w,zx_tmp_fi2d)
415c
416      zx_tmp_fi2d(1 : klon) = t2m(1 : klon, is_ter)
417cym      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
418      CALL histwrite_phy(nid_day,"t2mter_max",itau_w,zx_tmp_fi2d)
419c
420      zx_tmp_fi2d(1 : klon) = t2m(1 : klon, is_lic)
421cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d)
422      CALL histwrite_phy(nid_day,"t2mlic",itau_w,zx_tmp_fi2d)
423c
424      zx_tmp_fi2d(1 : klon) = t2m(1 : klon, is_oce)
425cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d)
426      CALL histwrite_phy(nid_day,"t2moce",itau_w,zx_tmp_fi2d)
427c
428      zx_tmp_fi2d(1 : klon) = t2m(1 : klon, is_sic)
429cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d)
430      CALL histwrite_phy(nid_day,"t2msic",itau_w,zx_tmp_fi2d)
431c
432      zx_tmp_fi2d(1 : klon) = u10m(1 : klon, is_ter)
433cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d)
434      CALL histwrite_phy(nid_day,"u10mter",itau_w,zx_tmp_fi2d)
435c
436      zx_tmp_fi2d(1 : klon) = v10m(1 : klon, is_ter)
437cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d)
438      CALL histwrite_phy(nid_day,"v10mter",itau_w,zx_tmp_fi2d)
439c
440      zx_tmp_fi2d(1 : klon) = u10m(1 : klon, is_lic)
441cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d)
442      CALL histwrite_phy(nid_day,"u10mlic",itau_w,zx_tmp_fi2d)
443c
444      zx_tmp_fi2d(1 : klon) = v10m(1 : klon, is_lic)
445cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d)
446      CALL histwrite_phy(nid_day,"v10mlic",itau_w,zx_tmp_fi2d)
447c
448      zx_tmp_fi2d(1 : klon) = u10m(1 : klon, is_oce)
449cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d)
450      CALL histwrite_phy(nid_day,"u10moce",itau_w,zx_tmp_fi2d)
451c
452      zx_tmp_fi2d(1 : klon) = v10m(1 : klon, is_oce)
453cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d)
454      CALL histwrite_phy(nid_day,"v10moce",itau_w,zx_tmp_fi2d)
455c
456      zx_tmp_fi2d(1 : klon) = u10m(1 : klon, is_sic)
457cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d)
458      CALL histwrite_phy(nid_day,"u10msic",itau_w,zx_tmp_fi2d)
459C
460      zx_tmp_fi2d(1 : klon) = v10m(1 : klon, is_sic)
461cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d)
462      CALL histwrite_phy(nid_day,"v10msic",itau_w,zx_tmp_fi2d)
463C
464      DO nsrf = 1, nbsrf
465C
466        zx_tmp_fi2d(1 : klon) = pctsrf( 1 : klon, nsrf)*100.
467cym        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
468        CALL histwrite_phy(nid_day,"pourc_"//clnsurf(nsrf),itau_w,
469     &                     zx_tmp_fi2d) 
470C
471        zx_tmp_fi2d(1 : klon) = pctsrf( 1 : klon, nsrf)
472cym        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
473        CALL histwrite_phy(nid_day,"fract_"//clnsurf(nsrf),itau_w,
474     &                     zx_tmp_fi2d) 
475C
476        zx_tmp_fi2d(1 : klon) = ftsol( 1 : klon, nsrf)
477cym        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
478        CALL histwrite_phy(nid_day,"tsol_"//clnsurf(nsrf),itau_w,
479     $                     zx_tmp_fi2d) 
480C
481        zx_tmp_fi2d(1 : klon) = fluxt( 1 : klon, 1, nsrf)
482cym        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
483        CALL histwrite_phy(nid_day,"sens_"//clnsurf(nsrf),itau_w,
484     $                     zx_tmp_fi2d) 
485
486        zx_tmp_fi2d(1 : klon) = fluxlat( 1 : klon, nsrf)
487cym        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
488        CALL histwrite_phy(nid_day,"lat_"//clnsurf(nsrf),itau_w,
489     $                     zx_tmp_fi2d) 
490C
491        zx_tmp_fi2d(1 : klon) = fluxu( 1 : klon, 1, nsrf)
492cym        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
493        CALL histwrite_phy(nid_day,"taux_"//clnsurf(nsrf),itau_w,
494     $                     zx_tmp_fi2d) 
495C     
496        zx_tmp_fi2d(1 : klon) = fluxv( 1 : klon, 1, nsrf)
497cym        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
498        CALL histwrite_phy(nid_day,"tauy_"//clnsurf(nsrf),itau_w,
499     $                     zx_tmp_fi2d)
500C
501        zx_tmp_fi2d(1 : klon) = falb1( 1 : klon, nsrf)
502cym        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
503        CALL histwrite_phy(nid_day,"albe_"//clnsurf(nsrf),itau_w,
504     $                     zx_tmp_fi2d) 
505C
506        zx_tmp_fi2d(1 : klon) = frugs( 1 : klon, nsrf)
507cym        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
508        CALL histwrite_phy(nid_day,"rugs_"//clnsurf(nsrf),itau_w,
509     $                     zx_tmp_fi2d) 
510C
511! FH Sorties specifiques pour Mellor et Yamada
512      if (iflag_pbl>1 .and. lev_histday.gt.10 ) then
513
514        CALL histwrite_phy(nid_day,"tke_"//clnsurf(nsrf),itau_w,
515     $      pbl_tke(:,1:klev,nsrf))
516
517        CALL histwrite_phy(nid_day,"tke_max_"//clnsurf(nsrf),itau_w,
518     $      pbl_tke(:,1:klev,nsrf))
519        endif
520
521      END DO 
522c=================================================================
523c   FIN ECRITURE DES CHAMPS SUR LES SOUS SURFACES
524c=================================================================
525      ENDIF !lev_histday.GE.4
526c
527      IF(lev_histday.GE.5) THEN !lev_histday.GE.5
528c
529c rajout sorties F. Aires
530c
531cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, topsw0,zx_tmp_2d)
532      CALL histwrite_phy(nid_day,"tops0",itau_w,topsw0)
533c
534cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, toplw0,zx_tmp_2d)
535      CALL histwrite_phy(nid_day,"topl0",itau_w,toplw0)
536c
537cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, solsw0,zx_tmp_2d)
538      CALL histwrite_phy(nid_day,"sols0",itau_w,solsw0)
539c
540cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollw0,zx_tmp_2d)
541      CALL histwrite_phy(nid_day,"soll0",itau_w, sollw0)
542c
543cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, cldfra, zx_tmp_3d)
544      CALL histwrite_phy(nid_day,"rneb",itau_w,cldfra)
545c
546cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, rnebcon, zx_tmp_3d)
547      CALL histwrite_phy(nid_day,"rnebcon",itau_w,rnebcon)
548c
549cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, flwc,zx_tmp_3d)
550      CALL histwrite_phy(nid_day,"lwcon",itau_w,flwc)
551c
552cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, fiwc,zx_tmp_3d)
553      CALL histwrite_phy(nid_day,"iwcon",itau_w,fiwc)
554c
555      zx_tmp_fi2d(1:klon) = flwp(1:klon)
556cym     CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
557      CALL histwrite_phy(nid_day,"lwp",itau_w,zx_tmp_fi2d)
558c
559      zx_tmp_fi2d(1:klon) = fiwp(1:klon)
560cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
561      CALL histwrite_phy(nid_day,"iwp",itau_w,zx_tmp_fi2d)
562c
563cym      CALL gr_fi_ecrit(1,klon,iim,jjmp1, meantaucld,zx_tmp_2d)
564      CALL histwrite_phy(nid_day,"meantaucld",itau_w,meantaucld)
565c
566cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, cldtau,zx_tmp_3d)
567      CALL histwrite_phy(nid_day,"cldtau",itau_w,cldtau)
568c
569cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, cldemi,zx_tmp_3d)
570      CALL histwrite_phy(nid_day,"cldemi",itau_w,cldemi)
571c
572c
573cIM: 101003 : K/30min ==> K/s
574      zx_tmp_fi3d(1:klon,1:klev)=
575     s   (d_q_vdf(1:klon,1:klev)+d_q_ajs(1:klon,1:klev))/pdtphys
576      CALL histwrite_phy(nid_day,"dqpbl",itau_w,zx_tmp_fi3d)
577
578      CALL histwrite_phy(nid_day,"dtwak",itau_w,dt_wake)
579
580          CALL histwrite_phy(nid_day,"cape",itau_w,cape)
581c
582      CALL histwrite_phy(nid_day,"wh",itau_w,wake_h)
583c
584      CALL histwrite_phy(nid_day,"ws",itau_w,wake_s)
585c
586      CALL histwrite_phy(nid_day,"cin",itau_w,cin)
587
588      CALL histwrite_phy(nid_day,"wale",itau_w,ale_wake)
589c
590      CALL histwrite_phy(nid_day,"walp",itau_w,alp_wake)
591c
592      CALL histwrite_phy(nid_day,"blale",itau_w,Ale_bl)
593c
594      CALL histwrite_phy(nid_day,"blalp",itau_w,Alp_bl)
595
596      CALL histwrite_phy(nid_day,"wdt1",itau_w,wake_deltat(:,1))
597c
598      CALL histwrite_phy(nid_day,"wdq1",itau_w,wake_deltaq(:,1))
599c
600
601      zx_tmp_fi3d(1:klon,1:klev)=d_t_con(1:klon,1:klev)/pdtphys
602cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
603      CALL histwrite_phy(nid_day,"dtcon",itau_w,zx_tmp_fi3d)
604c
605      zx_tmp_fi3d(1:klon,1:klev)=d_q_con(1:klon,1:klev)/pdtphys
606cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
607      CALL histwrite_phy(nid_day,"dqcon",itau_w,zx_tmp_fi3d)
608c
609      DO i=1, klon
610       zx_tmp_fi2d(i)=MIN(100.,rh2m(i)*100.)
611      ENDDO
612c
613cym      CALL gr_fi_ecrit(1,klon,iim,jjmp1, zx_tmp_2d,zx_tmp_2d)
614      CALL histwrite_phy(nid_day,"rh2m",itau_w,zx_tmp_fi2d)
615c
616cym      CALL gr_fi_ecrit(1,klon,iim,jjmp1, qsat2m,zx_tmp_2d)
617      CALL histwrite_phy(nid_day,"qsat2m",itau_w,qsat2m)
618c
619cym      CALL gr_fi_ecrit(1,klon,iim,jjmp1, tpot,zx_tmp_2d)
620      CALL histwrite_phy(nid_day,"tpot",itau_w,tpot)
621c
622cym      CALL gr_fi_ecrit(1,klon,iim,jjmp1, tpote,zx_tmp_2d)
623      CALL histwrite_phy(nid_day,"tpote",itau_w,tpote)
624c
625      ENDIF !lev_histday.GE.5
626c=================================================================
627c=================================================================
628c=================================================================
629c
630      if (ok_sync) then
631c$OMP MASTER
632        call histsync(nid_day)
633c$OMP END MASTER
634      endif
635
636      ENDIF
Note: See TracBrowser for help on using the repository browser.