source: LMDZ4/branches/LMDZ4_V3_patches/libf/phylmd/write_histday.h @ 1287

Last change on this file since 1287 was 918, checked in by Laurent Fairhead, 17 years ago
  • correction du bug ISCCP (n'ecrire ptop que quand ISCCP est appelé)
  • petite inversion de boucle dans isccp_cloud_types.F pour aller + vite
  • "CFisation" d'un certain nombre d'unités pour les hist*
  • les suggestions de JL pour rugoro

SD
LF

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