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

Last change on this file was 634, checked in by Laurent Fairhead, 19 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
RevLine 
[524]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
[634]19cym      CALL gr_fi_ecrit(1,klon,iim,jjmp1,pphis,zx_tmp_2d)
20      CALL histwrite_phy(nid_mth,"phis",itau_w,pphis)
[524]21C
22      i = NINT(zout/zsto)
[634]23cym      CALL gr_fi_ecrit(1,klon,iim,jjmp1,airephy,zx_tmp_2d)
24      CALL histwrite_phy(nid_mth,"aire",itau_w,airephy)
[524]25c
26      zx_tmp_fi2d(1 : klon) = pctsrf( 1 : klon, is_ter)
[634]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)
[524]30c
[634]31cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, slp,zx_tmp_2d)
32      CALL histwrite_phy(nid_mth,"slp",itau_w,slp)
[524]33
[634]34cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxtsol,zx_tmp_2d)
35      CALL histwrite_phy(nid_mth,"tsol",itau_w,zxtsol)
[524]36c
[634]37cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zt2m,zx_tmp_2d)
38      CALL histwrite_phy(nid_mth,"t2m",itau_w,zt2m)
[524]39c
40c ENSEMBLES BEG
[634]41cym      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zt2m,zx_tmp_2d)
42      CALL histwrite_phy(nid_mth,"t2m_min",itau_w,zt2m)
[524]43c
[634]44cym      CALL gr_fi_ecrit(1,klon,iim,jjmp1,zt2m,zx_tmp_2d)
45      CALL histwrite_phy(nid_mth,"t2m_max",itau_w,zt2m)
[524]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)
[634]50c     CALL histwrite_phy(nid_mth,"tsoil",itau_w,zx_tmp_2d,
[524]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
[634]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)
[524]58c
59      DO i = 1, klon
60         zx_tmp_fi2d(i) = pctsrf(i,is_sic)
61      ENDDO
[634]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)
[524]64c
65c     CALL gr_fi_ecrit(klev,klon,iim,jjmp1, t_seri, zx_tmp_3d)
[634]66c     CALL histwrite_phy(nid_mth,"temp",itau_w,zx_tmp_3d,
[524]67c    .                                   iim*jjmp1*klev,ndex3d)
68c
69c ENSEMBLES END
70c
[634]71cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zq2m,zx_tmp_2d)
72      CALL histwrite_phy(nid_mth,"q2m",itau_w,zq2m)
[524]73c
[634]74cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zu10m,zx_tmp_2d)
75      CALL histwrite_phy(nid_mth,"u10m",itau_w,zu10m)
[524]76C
[634]77cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zv10m,zx_tmp_2d)
78      CALL histwrite_phy(nid_mth,"v10m",itau_w,zv10m)
[524]79C
80      DO i = 1, klon
81         zx_tmp_fi2d(i) = paprs(i,1)
82      ENDDO
[634]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)
[524]85c
[634]86cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxqsurf,zx_tmp_2d)
87      CALL histwrite_phy(nid_mth,"qsurf",itau_w,zxqsurf)
[524]88c
89      if (.not. ok_veget) then
[634]90cym          CALL gr_fi_ecrit(1, klon,iim,jjmp1, qsol,zx_tmp_2d)
91          CALL histwrite_phy(nid_mth,"qsol",itau_w,qsol)
[524]92      endif
93c
94      DO i = 1, klon
95         zx_tmp_fi2d(i) = rain_fall(i) + snow_fall(i)
96      ENDDO
[634]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)
[524]99c
[634]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)
[524]102c
103      DO i = 1, klon
104         zx_tmp_fi2d(i) = rain_lsc(i) + snow_lsc(i)
105      ENDDO
[634]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)
[524]108c
109      DO i = 1, klon
110         zx_tmp_fi2d(i) = rain_con(i) + snow_con(i)
111      ENDDO
[634]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)
[524]114c
[634]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)
[524]117c
[634]118cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxsnow,zx_tmp_2d)
119      CALL histwrite_phy(nid_mth,"snow_mass",itau_w,zxsnow)
[524]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)
[634]124cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, evap,zx_tmp_2d)
125      CALL histwrite_phy(nid_mth,"evap",itau_w,evap)
[524]126c
[634]127cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, topsw,zx_tmp_2d)
128      CALL histwrite_phy(nid_mth,"tops",itau_w,topsw)
[524]129c
[634]130cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, topsw0,zx_tmp_2d)
131      CALL histwrite_phy(nid_mth,"tops0",itau_w,topsw0)
[524]132c
[634]133cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, toplw,zx_tmp_2d)
134      CALL histwrite_phy(nid_mth,"topl",itau_w,toplw)
[524]135c
[634]136cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, toplw0,zx_tmp_2d)
137      CALL histwrite_phy(nid_mth,"topl0",itau_w,toplw0)
[524]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 )
[634]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)
[524]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 )
[634]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)
[524]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 )
[634]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)
[524]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 )
[634]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)
[524]163c
[634]164cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, SWup200,zx_tmp_2d)
165      CALL histwrite_phy(nid_mth,"SWup200",itau_w,SWup200)
[524]166c
[634]167cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, SWup200clr,zx_tmp_2d)
168      CALL histwrite_phy(nid_mth,"SWup200clr",itau_w,SWup200clr)
[524]169c
[634]170cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, SWdn200,zx_tmp_2d)
171      CALL histwrite_phy(nid_mth,"SWdn200",itau_w,SWdn200)
[524]172c
[634]173cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, SWdn200clr,zx_tmp_2d)
174      CALL histwrite_phy(nid_mth,"SWdn200clr",itau_w,SWdn200clr)
[524]175c
[634]176cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, LWup200,zx_tmp_2d)
177      CALL histwrite_phy(nid_mth,"LWup200",itau_w,LWup200)
[524]178c
[634]179cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, LWup200clr,zx_tmp_2d)
180      CALL histwrite_phy(nid_mth,"LWup200clr",itau_w,LWup200clr)
[524]181c
182      zx_tmp_fi2d(1:klon)=-1*LWdn200(1:klon)
[634]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)
[524]185c
186      zx_tmp_fi2d(1:klon)=-1*LWdn200clr(1:klon)
[634]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)
[524]189c
190c200 END
[634]191cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, solsw,zx_tmp_2d)
192      CALL histwrite_phy(nid_mth,"sols",itau_w,solsw)
[524]193c
[634]194cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, solsw0,zx_tmp_2d)
195      CALL histwrite_phy(nid_mth,"sols0",itau_w,solsw0)
[524]196c
[634]197cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollw,zx_tmp_2d)
198      CALL histwrite_phy(nid_mth,"soll",itau_w,sollw)
[524]199c
[634]200cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollw0,zx_tmp_2d)
201      CALL histwrite_phy(nid_mth,"soll0",itau_w,sollw0)
[524]202c
203c      zx_tmp_fi2d(1 : klon) = ZFSUP( 1 : klon, 1)
204      zx_tmp_fi2d(1 : klon) = swup ( 1 : klon, 1 )
[634]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)
[524]207c
208c      zx_tmp_fi2d(1 : klon) = ZFSUP0( 1 : klon, 1)
209      zx_tmp_fi2d(1 : klon) = swup0 ( 1 : klon, 1 )
[634]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)
[524]212c
213c      zx_tmp_fi2d(1 : klon) = ZFSDN( 1 : klon, 1)
214      zx_tmp_fi2d(1 : klon) = swdn ( 1 : klon, 1 )
[634]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)
[524]217c
218c      zx_tmp_fi2d(1 : klon) = ZFSDN0( 1 : klon, 1)
219      zx_tmp_fi2d(1 : klon) = swdn0 ( 1 : klon, 1 )
[634]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)
[524]222c
223      zx_tmp_fi2d(1:klon)=sollw(1:klon)+sollwdown(1:klon)
[634]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)
[524]226c
227      zx_tmp_fi2d(1:klon)=sollw0(1:klon)+sollwdownclr(1:klon)
[634]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)
[524]230c
[634]231cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollwdown,zx_tmp_2d)
232      CALL histwrite_phy(nid_mth,"LWdnSFC",itau_w,sollwdown)
[524]233c
234      DO i=1, klon
235       sollwdownclr(i)=lwdn0(i,1)
236      ENDDO !i=1, klon
237c
[634]238cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollwdownclr,zx_tmp_2d)
239      CALL histwrite_phy(nid_mth,"LWdnSFCclr",itau_w,sollwdownclr)
[524]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)
[634]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)
[524]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)
[634]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)
[524]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)
[634]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)
[524]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)
[634]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
[524]266c
[634]267cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, bils,zx_tmp_2d)
268      CALL histwrite_phy(nid_mth,"bils",itau_w,bils)
[524]269c
270      zx_tmp_fi2d(1:klon)=-1*sens(1:klon)
271c     CALL gr_fi_ecrit(1, klon,iim,jjmp1, sens,zx_tmp_2d)
[634]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)
[524]274c
[634]275cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, fder,zx_tmp_2d)
276      CALL histwrite_phy(nid_mth,"fder",itau_w,fder)
[524]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
[634]292cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxffonte,zx_tmp_2d)
293       CALL histwrite_phy(nid_mth,"ffonte",itau_w,zxffonte)
[524]294c
[634]295cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zxfqcalving,zx_tmp_2d)
296       CALL histwrite_phy(nid_mth,"fqcalving",itau_w,zxfqcalving)
[524]297cIM: 171003
298       DO nsrf = 1, nbsrf
299        zx_tmp_fi2d(1 : klon) = fluxu( 1 : klon, 1, nsrf)
[634]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) 
[524]303C     
304        zx_tmp_fi2d(1 : klon) = fluxv( 1 : klon, 1, nsrf)
[634]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)
[524]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)
[634]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) 
[524]319       ENDIF !nsrf.GT.1
320C
321        zx_tmp_fi2d(1 : klon) = ftsol( 1 : klon, nsrf)
[634]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)
[524]325C
326        zx_tmp_fi2d(1 : klon) = fluxt( 1 : klon, 1, nsrf)
[634]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)
[524]330C
331        zx_tmp_fi2d(1 : klon) = fluxlat( 1 : klon, nsrf)
[634]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) 
[524]335C
336        zx_tmp_fi2d(1 : klon) = fsollw( 1 : klon, nsrf)
[634]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)
[524]340c
341        zx_tmp_fi2d(1 : klon) = fsolsw( 1 : klon, nsrf)
[634]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)
[524]345C
346        zx_tmp_fi2d(1 : klon) = wfbils( 1 : klon, nsrf)
[634]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)
[524]350C
351
352      END DO 
353cIM      endif !lev_histday
354
355c
[634]356cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragm,zx_tmp_2d)
357      CALL histwrite_phy(nid_mth,"cdrm",itau_w,cdragm)
[524]358c
[634]359cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragh,zx_tmp_2d)
360      CALL histwrite_phy(nid_mth,"cdrh",itau_w,cdragh)
[524]361c
[634]362cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldl,zx_tmp_2d)
363      CALL histwrite_phy(nid_mth,"cldl",itau_w,cldl)
[524]364c
[634]365cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldm,zx_tmp_2d)
366      CALL histwrite_phy(nid_mth,"cldm",itau_w,cldm)
[524]367c
[634]368cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldh,zx_tmp_2d)
369      CALL histwrite_phy(nid_mth,"cldh",itau_w,cldh)
[524]370c
[634]371cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldt,zx_tmp_2d)
372      CALL histwrite_phy(nid_mth,"cldt",itau_w,cldt)
[524]373c
[634]374cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cldq,zx_tmp_2d)
375      CALL histwrite_phy(nid_mth,"cldq",itau_w,cldq)
[524]376c
377      zx_tmp_fi2d(1:klon) = flwp(1:klon)
[634]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)
[524]380c
381      zx_tmp_fi2d(1:klon) = fiwp(1:klon)
[634]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)
[524]384c
[634]385cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, ue,zx_tmp_2d)
386      CALL histwrite_phy(nid_mth,"ue",itau_w,ue)
[524]387c
[634]388cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, ve,zx_tmp_2d)
389      CALL histwrite_phy(nid_mth,"ve",itau_w,ve)
[524]390c
[634]391cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, uq,zx_tmp_2d)
392      CALL histwrite_phy(nid_mth,"uq",itau_w,uq)
[524]393c
[634]394cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, vq,zx_tmp_2d)
395      CALL histwrite_phy(nid_mth,"vq",itau_w,vq)
[524]396cKE43
397      IF (iflag_con.GE.3) THEN ! sb
398c
[634]399cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cape,zx_tmp_2d)
400      CALL histwrite_phy(nid_mth,"cape",itau_w,cape)
[524]401c
[634]402cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1,pbase,zx_tmp_2d)
403      CALL histwrite_phy(nid_mth,"pbase",itau_w,pbase)
[524]404c
[634]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)
[524]407c
[634]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)
[524]410c
411c34EK
412c
[602]413      ENDIF !iflag_con.GE.3
414c
[634]415cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, prw,zx_tmp_2d)
416      CALL histwrite_phy(nid_mth,"prw",itau_w,prw)
[524]417c
418c
419c
420c
421c  Champs interpolles sur des niveaux de pression
422      DO k=1, nlevENS
423c
[634]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))
[524]426c
[634]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))
[524]429c
[634]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))
[524]432c
[634]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))
[524]435c
436      ENDDO !nlevENS
437      ENDIF !lev_histmth.GE.1
438c
439      IF(lev_histmth.GE.2) THEN
440c
441c Champs 3D:
442C
443c
[634]444cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, flwc,zx_tmp_3d)
445      CALL histwrite_phy(nid_mth,"lwcon",itau_w,flwc)
[524]446c
[634]447cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, fiwc,zx_tmp_3d)
448      CALL histwrite_phy(nid_mth,"iwcon",itau_w,fiwc)
[524]449c
[634]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)
[524]452c
453c#ifdef histmthNMC
454c#include "write_histmthNMC.h"
455c#endif
456c
[634]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))
[524]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
[634]467cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zphi, zx_tmp_3d)
468      CALL histwrite_phy(nid_mth,"geop",itau_w,zphi)
[524]469c
[634]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)
[524]472c
[634]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)
[524]475c
[634]476cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, omega, zx_tmp_3d)
477      CALL histwrite_phy(nid_mth,"vitw",itau_w,omega)
[524]478c
[634]479cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, pplay, zx_tmp_3d)
480      CALL histwrite_phy(nid_mth,"pres",itau_w,pplay)
[524]481c
[634]482cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, cldfra, zx_tmp_3d)
483      CALL histwrite_phy(nid_mth,"rneb",itau_w,cldfra)
[524]484c
[634]485cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, rnebcon, zx_tmp_3d)
486      CALL histwrite_phy(nid_mth,"rnebcon",itau_w,rnebcon)
[524]487c
[634]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)
[524]490c
[634]491cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, wo, zx_tmp_3d)
492      CALL histwrite_phy(nid_mth,"ozone",itau_w,wo)
[524]493c
494cIM 22.03.04 BEG
[634]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)
[524]497c
[634]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))
[524]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)
[634]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)
[524]513C
514        zx_tmp_fi2d(1 : klon) = frugs( 1 : klon, nsrf)
[634]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)
[524]518c
519      zx_tmp_fi2d(1 : klon) = agesno( 1 : klon, nsrf)
[634]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)
[524]523c
524      ENDDO !nsrf=1, nbsrf
525c
[634]526cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, albsol,zx_tmp_2d)
527      CALL histwrite_phy(nid_mth,"albs",itau_w,albsol)
[524]528c
[634]529cym      CALL gr_fi_ecrit(1, klon,iim,jjmp1, albsollw,zx_tmp_2d)
530      CALL histwrite_phy(nid_mth,"albslw",itau_w,albsollw)
[524]531c
532      ENDIF !lev_histmth.GE.3
533c
534c
535      IF(lev_histmth.GE.4) THEN
536c
[634]537cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, clwcon0, zx_tmp_3d)
538      CALL histwrite_phy(nid_mth,"clwcon",itau_w,clwcon0)
[524]539c
[619]540      IF (iflag_con.GE.3) THEN
541c
[634]542cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, Ma, zx_tmp_3d)
543      CALL histwrite_phy(nid_mth,"Ma",itau_w,Ma)
[524]544c
[634]545cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, upwd, zx_tmp_3d)
546      CALL histwrite_phy(nid_mth,"upwd",itau_w,upwd)
[524]547c
[634]548cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, dnwd, zx_tmp_3d)
549      CALL histwrite_phy(nid_mth,"dnwd",itau_w,dnwd)
[524]550c
[634]551cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, dnwd0, zx_tmp_3d)
552      CALL histwrite_phy(nid_mth,"dnwd0",itau_w,dnwd0)
[524]553c
[634]554
555      ENDIF
[524]556c
[634]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)
[524]559c
[634]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)
[524]562c
563cIM: 101003 : K/30min ==> K/s
564      zx_tmp_fi3d(1:klon,1:klev)=d_t_con(1:klon,1:klev)/pdtphys
[634]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)
[524]567c
[634]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)
[524]570c
571cIM: 101003 : K/30min ==> K/s
572      zx_tmp_fi3d(1:klon,1:klev)=d_t_lsc(1:klon,1:klev)/pdtphys
[634]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)
[524]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
[634]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)
[524]581c
[634]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)
[524]584c
585cIM: 101003 : K/30min ==> K/s
586      zx_tmp_fi3d(1:klon,1:klev)=d_t_vdf(1:klon,1:klev)/pdtphys
[634]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)
[524]589c
[634]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)
[524]592c
593cIM: 101003 : K/30min ==> K/s
594      zx_tmp_fi3d(1:klon,1:klev)=d_t_eva(1:klon,1:klev)/pdtphys
[634]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)
[524]597c
[634]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)
[524]600c
601      zpt_conv = 0.
602      where (ptconv) zpt_conv = 1.
[634]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)
[524]605c
[634]606cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, ratqs, zx_tmp_3d)
607      CALL histwrite_phy(nid_mth,"ratqs",itau_w,ratqs)
[524]608c
609cIM: 101003 : K/30min ==> K/s
610      zx_tmp_fi3d(1:klon,1:klev)=d_t_ajs(1:klon,1:klev)/pdtphys
[634]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)
[524]613c
[634]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)
[524]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
[634]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)
[524]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
[634]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)
[524]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
[634]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)
[524]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
[634]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)
[524]640c
641cIM: 101003 : deja en K/s     
642      zx_tmp_fi3d(1:klon,1:klev)=d_t_ec(1:klon,1:klev)
[634]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)
[524]645c
[634]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)
[524]648c
[634]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)
[524]651c
652      IF (ok_orodr) THEN
[634]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)
[524]655c
[634]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)
[524]658c
659      ENDIF
660C
661      IF (ok_orolf) THEN
[634]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)
[524]664c
[634]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)
[524]667      ENDIF
668C
669c
670c effets des aerosols
671c
672c     IF (ok_ade.OR.ok_aie) THEN
[634]673cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, re, zx_tmp_3d)
674      CALL histwrite_phy(nid_mth,"re",itau_w,re)
[524]675c
[634]676cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, fl, zx_tmp_3d)
677      CALL histwrite_phy(nid_mth,"redenom",itau_w,fl)
[524]678c
[634]679cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, cldtau, zx_tmp_3d)
680      CALL histwrite_phy(nid_mth,"tau",itau_w,cldtau)
[524]681c
[634]682cym      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, cldtaupi, zx_tmp_3d)
683      CALL histwrite_phy(nid_mth,"taupi",itau_w,cldtaupi)
[524]684c     endif
685c
686      IF (nqmax.GE.3) THEN
[619]687      DO iq=3,nqmax
[634]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))
[524]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.