source: LMDZ4/branches/pre_V3/libf/phylmd/write_histday.h @ 701

Last change on this file since 701 was 684, checked in by lmdzadmin, 18 years ago

Ajout nouveaux flags (ip_ebil_phy, ok_slab_sicOBS) ds physiq.def +
Lecture freq. ecriture en nombre de jours
IM

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