source: LMDZ4/branches/LMDZ4_par_0/libf/phylmd/write_histmth.h @ 5456

Last change on this file since 5456 was 634, checked in by Laurent Fairhead, 20 years ago

Modifications faites à la physique pour la rendre parallele YM
Une branche de travail LMDZ4_par_0 a été créée provisoirement afin de tester
les modifs pleinement avant leurs inclusions dans le tronc principal
LF

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 26.0 KB
Line 
1!
2! $Header$
3!
4      IF (ok_mensuel) THEN
5c
6      ndex2d = 0
7      ndex3d = 0
8
9         zsto = dtime
10         zout = dtime * ecrit_mth
11         itau_w = itau_phy + itap
12
13      i = NINT(zout/zsto)
14c
15      IF(lev_histmth.GE.1) THEN
16c
17c Champs 2D:
18c
19cym      CALL gr_fi_ecrit(1,klon,iim,jjmp1,pphis,zx_tmp_2d)
20      CALL histwrite_phy(nid_mth,"phis",itau_w,pphis)
21C
22      i = NINT(zout/zsto)
23cym      CALL gr_fi_ecrit(1,klon,iim,jjmp1,airephy,zx_tmp_2d)
24      CALL histwrite_phy(nid_mth,"aire",itau_w,airephy)
25c
26      zx_tmp_fi2d(1 : klon) = pctsrf( 1 : klon, is_ter)
27cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d) 
28      CALL histwrite_phy(nid_mth,"pourc_"//clnsurf(is_ter),itau_w,
29     $      zx_tmp_fi2d)
30c
31cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, slp,zx_tmp_2d)
32      CALL histwrite_phy(nid_mth,"slp",itau_w,slp)
33
34cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxtsol,zx_tmp_2d)
35      CALL histwrite_phy(nid_mth,"tsol",itau_w,zxtsol)
36c
37cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zt2m,zx_tmp_2d)
38      CALL histwrite_phy(nid_mth,"t2m",itau_w,zt2m)
39c
40c ENSEMBLES BEG
41cym      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zt2m,zx_tmp_2d)
42      CALL histwrite_phy(nid_mth,"t2m_min",itau_w,zt2m)
43c
44cym      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zt2m,zx_tmp_2d)
45      CALL histwrite_phy(nid_mth,"t2m_max",itau_w,zt2m)
46c
47c     CALL gr_fi_ecrit(1,klon,iim,jjmp1,ftsoil(:,1,is_ter),zx_tmp_2d)
48c     CALL gr_fi_ecrit(1,klon,iim,jjmp1,ftsol(:,is_ter),zx_tmp_2d)
49c     CALL gr_fi_ecrit(1,klon,iim,jjmp1,ztsol,zx_tmp_2d)
50c     CALL histwrite_phy(nid_mth,"tsoil",itau_w,zx_tmp_2d,
51c    .               iim*jjmp1,ndex2d)
52c
53      DO i=1, klon
54       zx_tmp_fi2d(i)=SQRT(zu10m(i)*zu10m(i)+zv10m(i)*zv10m(i))
55      ENDDO
56cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
57      CALL histwrite_phy(nid_mth,"wind10m",itau_w,zx_tmp_fi2d)
58c
59      DO i = 1, klon
60         zx_tmp_fi2d(i) = pctsrf(i,is_sic)
61      ENDDO
62cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
63      CALL histwrite_phy(nid_mth,"sicf",itau_w,zx_tmp_fi2d)
64c
65c     CALL gr_fi_ecrit(klev,klon,iim,jjmp1, t_seri, zx_tmp_3d)
66c     CALL histwrite_phy(nid_mth,"temp",itau_w,zx_tmp_3d,
67c    .                                   iim*jjmp1*klev,ndex3d)
68c
69c ENSEMBLES END
70c
71cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zq2m,zx_tmp_2d)
72      CALL histwrite_phy(nid_mth,"q2m",itau_w,zq2m)
73c
74cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zu10m,zx_tmp_2d)
75      CALL histwrite_phy(nid_mth,"u10m",itau_w,zu10m)
76C
77cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zv10m,zx_tmp_2d)
78      CALL histwrite_phy(nid_mth,"v10m",itau_w,zv10m)
79C
80      DO i = 1, klon
81         zx_tmp_fi2d(i) = paprs(i,1)
82      ENDDO
83cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
84      CALL histwrite_phy(nid_mth,"psol",itau_w,zx_tmp_fi2d)
85c
86cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxqsurf,zx_tmp_2d)
87      CALL histwrite_phy(nid_mth,"qsurf",itau_w,zxqsurf)
88c
89      if (.not. ok_veget) then
90cym          CALL gr_fi_ecrit(1, klon,iim,jjmp1, qsol,zx_tmp_2d)
91          CALL histwrite_phy(nid_mth,"qsol",itau_w,qsol)
92      endif
93c
94      DO i = 1, klon
95         zx_tmp_fi2d(i) = rain_fall(i) + snow_fall(i)
96      ENDDO
97cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
98      CALL histwrite_phy(nid_mth,"precip",itau_w,zx_tmp_fi2d)
99c
100cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, nday_rain,zx_tmp_2d)
101      CALL histwrite_phy(nid_mth,"ndayrain",itau_w,nday_rain)
102c
103      DO i = 1, klon
104         zx_tmp_fi2d(i) = rain_lsc(i) + snow_lsc(i)
105      ENDDO
106cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
107      CALL histwrite_phy(nid_mth,"plul",itau_w,zx_tmp_fi2d)
108c
109      DO i = 1, klon
110         zx_tmp_fi2d(i) = rain_con(i) + snow_con(i)
111      ENDDO
112cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
113      CALL histwrite_phy(nid_mth,"pluc",itau_w,zx_tmp_fi2d)
114c
115cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, snow_fall,zx_tmp_2d)
116      CALL histwrite_phy(nid_mth,"snow",itau_w,snow_fall)
117c
118cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxsnow,zx_tmp_2d)
119      CALL histwrite_phy(nid_mth,"snow_mass",itau_w,zxsnow)
120c
121cIM: 071003
122c     zx_tmp_fi2d(1:klon)=evap(1:klon)*86400.
123c     CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
124cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, evap,zx_tmp_2d)
125      CALL histwrite_phy(nid_mth,"evap",itau_w,evap)
126c
127cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, topsw,zx_tmp_2d)
128      CALL histwrite_phy(nid_mth,"tops",itau_w,topsw)
129c
130cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, topsw0,zx_tmp_2d)
131      CALL histwrite_phy(nid_mth,"tops0",itau_w,topsw0)
132c
133cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, toplw,zx_tmp_2d)
134      CALL histwrite_phy(nid_mth,"topl",itau_w,toplw)
135c
136cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, toplw0,zx_tmp_2d)
137      CALL histwrite_phy(nid_mth,"topl0",itau_w,toplw0)
138c
139c     zx_tmp_fi2d(1 : klon) = ZFSUP( 1 : klon, klevp1)
140cIM 080304   zx_tmp_fi2d(1 : klon) = swup ( 1 : klon, 2 )
141      zx_tmp_fi2d(1 : klon) = swup ( 1 : klon, klevp1 )
142cym      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
143      CALL histwrite_phy(nid_mth, "SWupTOA",itau_w,zx_tmp_fi2d)
144c
145c
146c      zx_tmp_fi2d(1 : klon) = ZFSUP0( 1 : klon, klevp1)
147cIM 080304   zx_tmp_fi2d(1 : klon) = swup0 ( 1 : klon, 2 )
148      zx_tmp_fi2d(1 : klon) = swup0 ( 1 : klon, klevp1 )
149cym      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
150      CALL histwrite_phy(nid_mth, "SWupTOAclr",itau_w,zx_tmp_fi2d)
151c
152c      zx_tmp_fi2d(1 : klon) = ZFSDN( 1 : klon, klevp1)
153cIM 080304   zx_tmp_fi2d(1 : klon) = swdn ( 1 : klon, 2 )
154      zx_tmp_fi2d(1 : klon) = swdn ( 1 : klon, klevp1 )
155cym      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
156      CALL histwrite_phy(nid_mth, "SWdnTOA",itau_w,zx_tmp_fi2d)
157c
158c      zx_tmp_fi2d(1 : klon) = ZFSDN0( 1 : klon, klevp1)
159cIM 080304   zx_tmp_fi2d(1 : klon) = swdn0 ( 1 : klon, 2 )
160      zx_tmp_fi2d(1 : klon) = swdn0 ( 1 : klon, klevp1 )
161cym      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
162      CALL histwrite_phy(nid_mth, "SWdnTOAclr",itau_w,zx_tmp_fi2d)
163c
164cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, SWup200,zx_tmp_2d)
165      CALL histwrite_phy(nid_mth,"SWup200",itau_w,SWup200)
166c
167cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, SWup200clr,zx_tmp_2d)
168      CALL histwrite_phy(nid_mth,"SWup200clr",itau_w,SWup200clr)
169c
170cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, SWdn200,zx_tmp_2d)
171      CALL histwrite_phy(nid_mth,"SWdn200",itau_w,SWdn200)
172c
173cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, SWdn200clr,zx_tmp_2d)
174      CALL histwrite_phy(nid_mth,"SWdn200clr",itau_w,SWdn200clr)
175c
176cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, LWup200,zx_tmp_2d)
177      CALL histwrite_phy(nid_mth,"LWup200",itau_w,LWup200)
178c
179cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, LWup200clr,zx_tmp_2d)
180      CALL histwrite_phy(nid_mth,"LWup200clr",itau_w,LWup200clr)
181c
182      zx_tmp_fi2d(1:klon)=-1*LWdn200(1:klon)
183cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
184      CALL histwrite_phy(nid_mth,"LWdn200",itau_w,zx_tmp_fi2d)
185c
186      zx_tmp_fi2d(1:klon)=-1*LWdn200clr(1:klon)
187cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
188      CALL histwrite_phy(nid_mth,"LWdn200clr",itau_w,zx_tmp_fi2d)
189c
190c200 END
191cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, solsw,zx_tmp_2d)
192      CALL histwrite_phy(nid_mth,"sols",itau_w,solsw)
193c
194cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, solsw0,zx_tmp_2d)
195      CALL histwrite_phy(nid_mth,"sols0",itau_w,solsw0)
196c
197cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollw,zx_tmp_2d)
198      CALL histwrite_phy(nid_mth,"soll",itau_w,sollw)
199c
200cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollw0,zx_tmp_2d)
201      CALL histwrite_phy(nid_mth,"soll0",itau_w,sollw0)
202c
203c      zx_tmp_fi2d(1 : klon) = ZFSUP( 1 : klon, 1)
204      zx_tmp_fi2d(1 : klon) = swup ( 1 : klon, 1 )
205cym      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
206      CALL histwrite_phy(nid_mth, "SWupSFC",itau_w,zx_tmp_fi2d)
207c
208c      zx_tmp_fi2d(1 : klon) = ZFSUP0( 1 : klon, 1)
209      zx_tmp_fi2d(1 : klon) = swup0 ( 1 : klon, 1 )
210cym      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
211      CALL histwrite_phy(nid_mth, "SWupSFCclr",itau_w,zx_tmp_fi2d)
212c
213c      zx_tmp_fi2d(1 : klon) = ZFSDN( 1 : klon, 1)
214      zx_tmp_fi2d(1 : klon) = swdn ( 1 : klon, 1 )
215cym      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
216      CALL histwrite_phy(nid_mth, "SWdnSFC",itau_w,zx_tmp_fi2d)
217c
218c      zx_tmp_fi2d(1 : klon) = ZFSDN0( 1 : klon, 1)
219      zx_tmp_fi2d(1 : klon) = swdn0 ( 1 : klon, 1 )
220cym      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zx_tmp_fi2d,zx_tmp_2d)
221      CALL histwrite_phy(nid_mth, "SWdnSFCclr",itau_w,zx_tmp_fi2d)
222c
223      zx_tmp_fi2d(1:klon)=sollw(1:klon)+sollwdown(1:klon)
224cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d)
225      CALL histwrite_phy(nid_mth,"LWupSFC",itau_w,zx_tmp_fi2d)
226c
227      zx_tmp_fi2d(1:klon)=sollw0(1:klon)+sollwdownclr(1:klon)
228cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d, zx_tmp_2d)
229      CALL histwrite_phy(nid_mth,"LWupSFCclr",itau_w,zx_tmp_fi2d)
230c
231cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollwdown,zx_tmp_2d)
232      CALL histwrite_phy(nid_mth,"LWdnSFC",itau_w,sollwdown)
233c
234      DO i=1, klon
235       sollwdownclr(i)=lwdn0(i,1)
236      ENDDO !i=1, klon
237c
238cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollwdownclr,zx_tmp_2d)
239      CALL histwrite_phy(nid_mth,"LWdnSFCclr",itau_w,sollwdownclr)
240c
241c
242c effets des aerosols
243c
244c     IF (ok_ade.OR.ok_aie) THEN
245      zx_tmp_fi2d(1:klon) = topswai(1:klon) - topswad(1:klon)
246c      CALL gr_fi_ecrit(1, klon,iim,jjmp1, topswad,zx_tmp_2d)
247cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d ,zx_tmp_2d)
248      CALL histwrite_phy(nid_mth,"topsad",itau_w,zx_tmp_fi2d)
249c
250      zx_tmp_fi2d(1:klon) = solswai(1:klon) - solswad(1:klon)
251c      CALL gr_fi_ecrit(1, klon,iim,jjmp1, solswad,zx_tmp_2d)
252cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d ,zx_tmp_2d)
253      CALL histwrite_phy(nid_mth,"solsad",itau_w,zx_tmp_fi2d)
254c
255      zx_tmp_fi2d(1:klon) = topsw(1:klon) - topswai(1:klon)
256c      CALL gr_fi_ecrit(1, klon,iim,jjmp1, topswai,zx_tmp_2d)
257cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d ,zx_tmp_2d)
258      CALL histwrite_phy(nid_mth,"topsai",itau_w,zx_tmp_fi2d)
259c
260      zx_tmp_fi2d(1:klon) = solsw(1:klon) - solswai(1:klon)
261c      CALL gr_fi_ecrit(1, klon,iim,jjmp1, solswai,zx_tmp_2d)
262cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1,zx_tmp_fi2d ,zx_tmp_2d)
263      CALL histwrite_phy(nid_mth,"solsai",itau_w,zx_tmp_fi2d)
264cym
265c      endif
266c
267cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, bils,zx_tmp_2d)
268      CALL histwrite_phy(nid_mth,"bils",itau_w,bils)
269c
270      zx_tmp_fi2d(1:klon)=-1*sens(1:klon)
271c     CALL gr_fi_ecrit(1, klon,iim,jjmp1, sens,zx_tmp_2d)
272cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
273      CALL histwrite_phy(nid_mth,"sens",itau_w,zx_tmp_fi2d)
274c
275cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, fder,zx_tmp_2d)
276      CALL histwrite_phy(nid_mth,"fder",itau_w,fder)
277c
278c
279c      DO i = 1, klon
280c         zx_tmp_fi2d(i) = fluxu(i,1)
281c      ENDDO
282c      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
283c      CALL histwrite(nid_mth,"frtu",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
284c
285c      DO i = 1, klon
286c         zx_tmp_fi2d(i) = fluxv(i,1)
287c      ENDDO
288c      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
289c      CALL histwrite(nid_mth,"frtv",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
290c
291c
292cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxffonte,zx_tmp_2d)
293       CALL histwrite_phy(nid_mth,"ffonte",itau_w,zxffonte)
294c
295cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxfqcalving,zx_tmp_2d)
296       CALL histwrite_phy(nid_mth,"fqcalving",itau_w,zxfqcalving)
297cIM: 171003
298       DO nsrf = 1, nbsrf
299        zx_tmp_fi2d(1 : klon) = fluxu( 1 : klon, 1, nsrf)
300cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
301        CALL histwrite_phy(nid_mth,"taux_"//clnsurf(nsrf),itau_w,
302     $      zx_tmp_fi2d) 
303C     
304        zx_tmp_fi2d(1 : klon) = fluxv( 1 : klon, 1, nsrf)
305cym        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
306        CALL histwrite_phy(nid_mth,"tauy_"//clnsurf(nsrf),itau_w,
307     $      zx_tmp_fi2d)
308       ENDDO
309cIM: 171003
310c
311cIM      if ( lev_histday.gt.1 ) then
312      DO nsrf = 1, nbsrf
313CYYY
314       IF(nsrf.GT.1) THEN
315        zx_tmp_fi2d(1 : klon) = pctsrf( 1 : klon, nsrf)
316cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
317        CALL histwrite_phy(nid_mth,"pourc_"//clnsurf(nsrf),itau_w,
318     $      zx_tmp_fi2d) 
319       ENDIF !nsrf.GT.1
320C
321        zx_tmp_fi2d(1 : klon) = ftsol( 1 : klon, nsrf)
322cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
323        CALL histwrite_phy(nid_mth,"tsol_"//clnsurf(nsrf),itau_w,
324     $      zx_tmp_fi2d)
325C
326        zx_tmp_fi2d(1 : klon) = fluxt( 1 : klon, 1, nsrf)
327cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
328        CALL histwrite_phy(nid_mth,"sens_"//clnsurf(nsrf),itau_w,
329     $      zx_tmp_fi2d)
330C
331        zx_tmp_fi2d(1 : klon) = fluxlat( 1 : klon, nsrf)
332cym        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
333        CALL histwrite_phy(nid_mth,"lat_"//clnsurf(nsrf),itau_w,
334     $      zx_tmp_fi2d) 
335C
336        zx_tmp_fi2d(1 : klon) = fsollw( 1 : klon, nsrf)
337cym        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
338        CALL histwrite_phy(nid_mth,"flw_"//clnsurf(nsrf),itau_w,
339     $      zx_tmp_fi2d)
340c
341        zx_tmp_fi2d(1 : klon) = fsolsw( 1 : klon, nsrf)
342cym        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
343        CALL histwrite_phy(nid_mth,"fsw_"//clnsurf(nsrf),itau_w,
344     $      zx_tmp_fi2d)
345C
346        zx_tmp_fi2d(1 : klon) = wfbils( 1 : klon, nsrf)
347cym        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
348        CALL histwrite_phy(nid_mth,"wbils_"//clnsurf(nsrf),itau_w,
349     $      zx_tmp_fi2d)
350C
351
352      END DO 
353cIM      endif !lev_histday
354
355c
356cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragm,zx_tmp_2d)
357      CALL histwrite_phy(nid_mth,"cdrm",itau_w,cdragm)
358c
359cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragh,zx_tmp_2d)
360      CALL histwrite_phy(nid_mth,"cdrh",itau_w,cdragh)
361c
362cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldl,zx_tmp_2d)
363      CALL histwrite_phy(nid_mth,"cldl",itau_w,cldl)
364c
365cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldm,zx_tmp_2d)
366      CALL histwrite_phy(nid_mth,"cldm",itau_w,cldm)
367c
368cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldh,zx_tmp_2d)
369      CALL histwrite_phy(nid_mth,"cldh",itau_w,cldh)
370c
371cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldt,zx_tmp_2d)
372      CALL histwrite_phy(nid_mth,"cldt",itau_w,cldt)
373c
374cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldq,zx_tmp_2d)
375      CALL histwrite_phy(nid_mth,"cldq",itau_w,cldq)
376c
377      zx_tmp_fi2d(1:klon) = flwp(1:klon)
378cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
379      CALL histwrite_phy(nid_mth,"lwp",itau_w,zx_tmp_fi2d)
380c
381      zx_tmp_fi2d(1:klon) = fiwp(1:klon)
382cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
383      CALL histwrite_phy(nid_mth,"iwp",itau_w,zx_tmp_fi2d)
384c
385cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, ue,zx_tmp_2d)
386      CALL histwrite_phy(nid_mth,"ue",itau_w,ue)
387c
388cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, ve,zx_tmp_2d)
389      CALL histwrite_phy(nid_mth,"ve",itau_w,ve)
390c
391cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, uq,zx_tmp_2d)
392      CALL histwrite_phy(nid_mth,"uq",itau_w,uq)
393c
394cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, vq,zx_tmp_2d)
395      CALL histwrite_phy(nid_mth,"vq",itau_w,vq)
396cKE43
397      IF (iflag_con.GE.3) THEN ! sb
398c
399cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cape,zx_tmp_2d)
400      CALL histwrite_phy(nid_mth,"cape",itau_w,cape)
401c
402cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1,pbase,zx_tmp_2d)
403      CALL histwrite_phy(nid_mth,"pbase",itau_w,pbase)
404c
405cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1,ema_pct,zx_tmp_2d)
406      CALL histwrite_phy(nid_mth,"ptop",itau_w,ema_pct)
407c
408cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1,ema_cbmf,zx_tmp_2d)
409      CALL histwrite_phy(nid_mth,"fbase",itau_w,ema_cbmf)
410c
411c34EK
412c
413      ENDIF !iflag_con.GE.3
414c
415cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, prw,zx_tmp_2d)
416      CALL histwrite_phy(nid_mth,"prw",itau_w,prw)
417c
418c
419c
420c
421c  Champs interpolles sur des niveaux de pression
422      DO k=1, nlevENS
423c
424cym        CALL gr_fi_ecrit(1, klon,iim,jjmp1, ulev(:,k),zx_tmp_2d)
425        CALL histwrite_phy(nid_mth,"u"//clev(k),itau_w, ulev(:,k))
426c
427cym        CALL gr_fi_ecrit(1, klon,iim,jjmp1, vlev(:,k),zx_tmp_2d)
428        CALL histwrite_phy(nid_mth,"v"//clev(k),itau_w,vlev(:,k))
429c
430cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, wlev(:,k),zx_tmp_2d)
431      CALL histwrite_phy(nid_mth,"w"//clev(k),itau_w,wlev(:,k))
432c
433cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, philev(:,k),zx_tmp_2d)
434      CALL histwrite_phy(nid_mth,"phi"//clev(k),itau_w,philev(:,k))
435c
436      ENDDO !nlevENS
437      ENDIF !lev_histmth.GE.1
438c
439      IF(lev_histmth.GE.2) THEN
440c
441c Champs 3D:
442C
443c
444cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, flwc,zx_tmp_3d)
445      CALL histwrite_phy(nid_mth,"lwcon",itau_w,flwc)
446c
447cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, fiwc,zx_tmp_3d)
448      CALL histwrite_phy(nid_mth,"iwcon",itau_w,fiwc)
449c
450cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, t_seri, zx_tmp_3d)
451      CALL histwrite_phy(nid_mth,"temp",itau_w,t_seri)
452c
453c#ifdef histmthNMC
454c#include "write_histmthNMC.h"
455c#endif
456c
457cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, qx(1,1,ivap), zx_tmp_3d)
458      CALL histwrite_phy(nid_mth,"ovap",itau_w,qx(:,:,ivap))
459c
460cIM: 071003
461c     zx_tmp_fi3d(1:klon,1:klev)=qx(1:klon,1:klev,ivap)/
462c    .                         (1-qx(1:klon,1:klev,ivap))
463c     CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zx_tmp_fi3d, zx_tmp_3d)
464c     CALL histwrite(nid_mth,"wvap",itau_w,zx_tmp_3d,
465c    .                                   iim*jjmp1*klev,ndex3d)
466c
467cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zphi, zx_tmp_3d)
468      CALL histwrite_phy(nid_mth,"geop",itau_w,zphi)
469c
470cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, u_seri, zx_tmp_3d)
471      CALL histwrite_phy(nid_mth,"vitu",itau_w,u_seri)
472c
473cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, v_seri, zx_tmp_3d)
474      CALL histwrite_phy(nid_mth,"vitv",itau_w,v_seri)
475c
476cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, omega, zx_tmp_3d)
477      CALL histwrite_phy(nid_mth,"vitw",itau_w,omega)
478c
479cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, pplay, zx_tmp_3d)
480      CALL histwrite_phy(nid_mth,"pres",itau_w,pplay)
481c
482cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, cldfra, zx_tmp_3d)
483      CALL histwrite_phy(nid_mth,"rneb",itau_w,cldfra)
484c
485cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, rnebcon, zx_tmp_3d)
486      CALL histwrite_phy(nid_mth,"rnebcon",itau_w,rnebcon)
487c
488cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zx_rh, zx_tmp_3d)
489      CALL histwrite_phy(nid_mth,"rhum",itau_w,zx_rh)
490c
491cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, wo, zx_tmp_3d)
492      CALL histwrite_phy(nid_mth,"ozone",itau_w,wo)
493c
494cIM 22.03.04 BEG
495cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_t, zx_tmp_3d)
496      CALL histwrite_phy(nid_mth,"dtphy",itau_w,d_t)
497c
498cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_qx(:,:,ivap), 
499cym     .                 zx_tmp_3d)
500      CALL histwrite_phy(nid_mth,"dqphy",itau_w, d_qx(:,:,ivap))
501cIM 22.03.04 END
502c
503      ENDIF !lev_histmth.GE.2
504c
505      IF(lev_histmth.GE.3) THEN
506c
507       DO nsrf=1, nbsrf
508c
509        zx_tmp_fi2d(1 : klon) = falbe( 1 : klon, nsrf)
510cym        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
511        CALL histwrite_phy(nid_mth,"albe_"//clnsurf(nsrf),itau_w,
512     $      zx_tmp_fi2d)
513C
514        zx_tmp_fi2d(1 : klon) = frugs( 1 : klon, nsrf)
515cym        CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d , zx_tmp_2d)
516        CALL histwrite_phy(nid_mth,"rugs_"//clnsurf(nsrf),itau_w,
517     $      zx_tmp_fi2d)
518c
519      zx_tmp_fi2d(1 : klon) = agesno( 1 : klon, nsrf)
520cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, agesno,zx_tmp_2d)
521      CALL histwrite_phy(nid_mth,"ages_"//clnsurf(nsrf),itau_w
522     $    ,zx_tmp_fi2d)
523c
524      ENDDO !nsrf=1, nbsrf
525c
526cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, albsol,zx_tmp_2d)
527      CALL histwrite_phy(nid_mth,"albs",itau_w,albsol)
528c
529cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, albsollw,zx_tmp_2d)
530      CALL histwrite_phy(nid_mth,"albslw",itau_w,albsollw)
531c
532      ENDIF !lev_histmth.GE.3
533c
534c
535      IF(lev_histmth.GE.4) THEN
536c
537cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, clwcon0, zx_tmp_3d)
538      CALL histwrite_phy(nid_mth,"clwcon",itau_w,clwcon0)
539c
540      IF (iflag_con.GE.3) THEN
541c
542cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, Ma, zx_tmp_3d)
543      CALL histwrite_phy(nid_mth,"Ma",itau_w,Ma)
544c
545cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, upwd, zx_tmp_3d)
546      CALL histwrite_phy(nid_mth,"upwd",itau_w,upwd)
547c
548cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, dnwd, zx_tmp_3d)
549      CALL histwrite_phy(nid_mth,"dnwd",itau_w,dnwd)
550c
551cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, dnwd0, zx_tmp_3d)
552      CALL histwrite_phy(nid_mth,"dnwd0",itau_w,dnwd0)
553c
554
555      ENDIF
556c
557cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_t_dyn, zx_tmp_3d)
558      CALL histwrite_phy(nid_mth,"dtdyn",itau_w,d_t_dyn)
559c
560cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_q_dyn, zx_tmp_3d)
561      CALL histwrite_phy(nid_mth,"dqdyn",itau_w,d_q_dyn)
562c
563cIM: 101003 : K/30min ==> K/s
564      zx_tmp_fi3d(1:klon,1:klev)=d_t_con(1:klon,1:klev)/pdtphys
565cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
566      CALL histwrite_phy(nid_mth,"dtcon",itau_w,zx_tmp_fi3d)
567c
568cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_q_con, zx_tmp_3d)
569      CALL histwrite_phy(nid_mth,"dqcon",itau_w,d_q_con)
570c
571cIM: 101003 : K/30min ==> K/s
572      zx_tmp_fi3d(1:klon,1:klev)=d_t_lsc(1:klon,1:klev)/pdtphys
573cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
574      CALL histwrite_phy(nid_mth,"dtlsc",itau_w,zx_tmp_fi3d)
575cIM: 071003
576cIM: 101003 : K/30min ==> K/s
577      zx_tmp_fi3d(1:klon, 1:klev)=(d_t_lsc(1:klon,1:klev)+
578     .                             d_t_eva(1:klon,1:klev))/pdtphys
579cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zx_tmp_fi3d, zx_tmp_3d)
580      CALL histwrite_phy(nid_mth,"dtlschr",itau_w,zx_tmp_fi3d)
581c
582cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_q_lsc, zx_tmp_3d)
583      CALL histwrite_phy(nid_mth,"dqlsc",itau_w,d_q_lsc)
584c
585cIM: 101003 : K/30min ==> K/s
586      zx_tmp_fi3d(1:klon,1:klev)=d_t_vdf(1:klon,1:klev)/pdtphys
587cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
588      CALL histwrite_phy(nid_mth,"dtvdf",itau_w,zx_tmp_fi3d)
589c
590cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_q_vdf, zx_tmp_3d)
591      CALL histwrite_phy(nid_mth,"dqvdf",itau_w,d_q_vdf)
592c
593cIM: 101003 : K/30min ==> K/s
594      zx_tmp_fi3d(1:klon,1:klev)=d_t_eva(1:klon,1:klev)/pdtphys
595cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
596      CALL histwrite_phy(nid_mth,"dteva",itau_w,zx_tmp_fi3d)
597c
598cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_q_eva, zx_tmp_3d)
599      CALL histwrite_phy(nid_mth,"dqeva",itau_w, d_q_eva)
600c
601      zpt_conv = 0.
602      where (ptconv) zpt_conv = 1.
603cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zpt_conv, zx_tmp_3d)
604      CALL histwrite_phy(nid_mth,"ptconv",itau_w,zpt_conv)
605c
606cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, ratqs, zx_tmp_3d)
607      CALL histwrite_phy(nid_mth,"ratqs",itau_w,ratqs)
608c
609cIM: 101003 : K/30min ==> K/s
610      zx_tmp_fi3d(1:klon,1:klev)=d_t_ajs(1:klon,1:klev)/pdtphys
611cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
612      CALL histwrite_phy(nid_mth,"dtajs",itau_w,zx_tmp_fi3d)
613c
614cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_q_ajs, zx_tmp_3d)
615      CALL histwrite_phy(nid_mth,"dqajs",itau_w,d_q_ajs)
616c
617cIM: 101003 : K/day ==> K/s
618cIM: LMD_ARMIP3   zx_tmp_fi3d(1:klon,1:klev)=heat(1:klon,1:klev)*pdtphys/RDAY
619      zx_tmp_fi3d(1:klon,1:klev)=heat(1:klon,1:klev)/RDAY
620cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
621      CALL histwrite_phy(nid_mth,"dtswr",itau_w,zx_tmp_fi3d)
622c
623cIM: 101003 : K/day ==> K/s     
624cIM: LMD_ARMIP3   zx_tmp_fi3d(1:klon,1:klev)=heat0(1:klon,1:klev)*pdtphys/RDAY
625      zx_tmp_fi3d(1:klon,1:klev)=heat0(1:klon,1:klev)/RDAY
626cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
627      CALL histwrite_phy(nid_mth,"dtsw0",itau_w,zx_tmp_fi3d)
628c
629cIM: 101003 : K/day ==> K/s     
630cIM: LMD_ARMIP3     zx_tmp_fi3d(1:klon,1:klev)=-1.*cool(1:klon,1:klev)*pdtphys/RDAY
631      zx_tmp_fi3d(1:klon,1:klev)=-1.*cool(1:klon,1:klev)/RDAY
632cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
633      CALL histwrite_phy(nid_mth,"dtlwr",itau_w,zx_tmp_fi3d)
634c
635cIM: 101003 : K/day ==> K/s     
636cIM: LMD_ARMIP3     zx_tmp_fi3d(1:klon,1:klev)=-1.*cool0(1:klon,1:klev)*pdtphys/RDAY
637      zx_tmp_fi3d(1:klon,1:klev)=-1.*cool0(1:klon,1:klev)/RDAY
638cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
639      CALL histwrite_phy(nid_mth,"dtlw0",itau_w,zx_tmp_fi3d)
640c
641cIM: 101003 : deja en K/s     
642      zx_tmp_fi3d(1:klon,1:klev)=d_t_ec(1:klon,1:klev)
643cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
644      CALL histwrite_phy(nid_mth,"dtec",itau_w,zx_tmp_fi3d)
645c
646cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_u_vdf, zx_tmp_3d)
647      CALL histwrite_phy(nid_mth,"duvdf",itau_w,d_u_vdf)
648c
649cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_v_vdf, zx_tmp_3d)
650      CALL histwrite_phy(nid_mth,"dvvdf",itau_w,d_v_vdf)
651c
652      IF (ok_orodr) THEN
653cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_u_oro, zx_tmp_3d)
654      CALL histwrite_phy(nid_mth,"duoro",itau_w,d_u_oro)
655c
656cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_v_oro, zx_tmp_3d)
657      CALL histwrite_phy(nid_mth,"dvoro",itau_w,d_v_oro)
658c
659      ENDIF
660C
661      IF (ok_orolf) THEN
662cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_u_lif, zx_tmp_3d)
663      CALL histwrite_phy(nid_mth,"dulif",itau_w,d_u_lif)
664c
665cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_v_lif, zx_tmp_3d)
666      CALL histwrite_phy(nid_mth,"dvlif",itau_w, d_v_lif)
667      ENDIF
668C
669c
670c effets des aerosols
671c
672c     IF (ok_ade.OR.ok_aie) THEN
673cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, re, zx_tmp_3d)
674      CALL histwrite_phy(nid_mth,"re",itau_w,re)
675c
676cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, fl, zx_tmp_3d)
677      CALL histwrite_phy(nid_mth,"redenom",itau_w,fl)
678c
679cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, cldtau, zx_tmp_3d)
680      CALL histwrite_phy(nid_mth,"tau",itau_w,cldtau)
681c
682cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, cldtaupi, zx_tmp_3d)
683      CALL histwrite_phy(nid_mth,"taupi",itau_w,cldtaupi)
684c     endif
685c
686      IF (nqmax.GE.3) THEN
687      DO iq=3,nqmax
688c         CALL gr_fi_ecrit(klev,klon,iim,jjmp1, qx(1,1,iq), zx_tmp_3d)
689         CALL histwrite_phy(nid_mth,tnom(iq),itau_w,qx(:,:,iq))
690      ENDDO
691      ENDIF
692c
693      ENDIF !lev_histmth.GE.4
694c
695      if (ok_sync) then
696        call histsync(nid_mth)
697      endif
698      ENDIF
Note: See TracBrowser for help on using the repository browser.