source: LMDZ4/trunk/libf/phytherm/write_histday.h @ 1081

Last change on this file since 1081 was 852, checked in by Laurent Fairhead, 17 years ago

Mise a jour de la physique avec thermiques avec la version de FH d'aout 2007
LF

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