source: trunk/libf/phyvenus/write_histmth.h @ 124

Last change on this file since 124 was 101, checked in by slebonnois, 14 years ago

SL: modifications pour arriver a compiler le gcm VENUS !
Ca marche !
A noter: modifs de makelmdz

File size: 9.7 KB
RevLine 
[3]1!
2! $Header: /home/cvsroot/LMDZ4/libf/phylmd/write_histmth.h,v 1.2 2005/03/09 12:30:16 fairhead Exp $
3!
4      IF (ok_mensuel) THEN
5c
6      ndex2d = 0
7      ndex3d = 0
8      zx_tmp_2d = 0.
9      zx_tmp_3d = 0.
10      zx_tmp_fi2d=0.
11      zx_tmp_fi3d=0.
12
13         zsto = dtime
14         zout = dtime * ecrit_mth
15         itau_w = itau_phy + itap
16
17c
18c-------------------------------------------------------
19      IF(lev_histmth.GE.1) THEN
20c
21ccccccccccccc 2D fields, basics
22c
23      i = NINT(zout/zsto)
24      CALL gr_fi_ecrit(1,klon,iim,jjmp1,pphis,zx_tmp_2d)
[97]25      CALL histwrite(nid_mth,"phis",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
[3]26C
27      i = NINT(zout/zsto)
28      CALL gr_fi_ecrit(1,klon,iim,jjmp1,airephy,zx_tmp_2d)
[97]29      CALL histwrite(nid_mth,"aire",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
[3]30c
31      CALL gr_fi_ecrit(1, klon,iim,jjmp1, ftsol,zx_tmp_2d)
[97]32      CALL histwrite(nid_mth,"tsol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
[3]33c
34      DO i = 1, klon
35         zx_tmp_fi2d(i) = paprs(i,1)
36      ENDDO
37      CALL gr_fi_ecrit(1, klon,iim,jjmp1, zx_tmp_fi2d,zx_tmp_2d)
[97]38      CALL histwrite(nid_mth,"psol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
[3]39c
40c     CALL gr_fi_ecrit(1, klon,iim,jjmp1, ue,zx_tmp_2d)
[97]41c     CALL histwrite(nid_mth,"ue",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
[3]42c
43c     CALL gr_fi_ecrit(1, klon,iim,jjmp1, ve,zx_tmp_2d)
44c VENUS: regardee a l'envers!!!!!!!!!!!!!!!
[97]45c     zx_tmp_2d=-1.*zx_tmp_2d
46c     CALL histwrite(nid_mth,"ve",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
[3]47c
48      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragh,zx_tmp_2d)
[97]49      CALL histwrite(nid_mth,"cdragh",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
[3]50c
51      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragm,zx_tmp_2d)
[97]52      CALL histwrite(nid_mth,"cdragm",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
[3]53c
54      ENDIF !lev_histmth.GE.1
55c
56c-------------------------------------------------------
57      IF(lev_histmth.GE.2) THEN
58c
59ccccccccccccc 3D fields, basics
60c
61      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, t_seri, zx_tmp_3d)
[97]62      CALL histwrite(nid_mth,"temp",itau_w,zx_tmp_3d,
[3]63     .                                   iim*jjmp1*klev,ndex3d)
64c
65      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, pplay, zx_tmp_3d)
[97]66      CALL histwrite(nid_mth,"pres",itau_w,zx_tmp_3d,
[3]67     .                                   iim*jjmp1*klev,ndex3d)
68c
69      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zphi, zx_tmp_3d)
[97]70      CALL histwrite(nid_mth,"geop",itau_w,zx_tmp_3d,
[3]71     .                                   iim*jjmp1*klev,ndex3d)
72c
73      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, u_seri, zx_tmp_3d)
[97]74      CALL histwrite(nid_mth,"vitu",itau_w,zx_tmp_3d,
[3]75     .                                   iim*jjmp1*klev,ndex3d)
76c
77      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, v_seri, zx_tmp_3d)
78c VENUS: regardee a l'envers!!!!!!!!!!!!!!!
[97]79      zx_tmp_3d=-1.*zx_tmp_3d
80      CALL histwrite(nid_mth,"vitv",itau_w,zx_tmp_3d,
[3]81     .                                   iim*jjmp1*klev,ndex3d)
82c
83      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, omega, zx_tmp_3d)
[97]84      CALL histwrite(nid_mth,"vitw",itau_w,zx_tmp_3d,
[3]85     .                                   iim*jjmp1*klev,ndex3d)
86c
87c en (m/s)/s     
88      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_u_dyn, zx_tmp_3d)
[97]89      CALL histwrite(nid_mth,"dudyn",itau_w,zx_tmp_3d,
[3]90     .                                   iim*jjmp1*klev,ndex3d)
91c
92c en (m/s)/s     
93      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_u_vdf, zx_tmp_3d)
[97]94      CALL histwrite(nid_mth,"duvdf",itau_w,zx_tmp_3d,
[3]95     .                                   iim*jjmp1*klev,ndex3d)
96c
97c     CALL gr_fi_ecrit(klev,klon,iim,jjmp1, mang, zx_tmp_3d)
[97]98c     CALL histwrite(nid_mth,"mang",itau_w,zx_tmp_3d,
[3]99c    .                                   iim*jjmp1*klev,ndex3d)
100c
101      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, ycoefh, zx_tmp_3d)
[97]102      CALL histwrite(nid_mth,"Kz",itau_w,zx_tmp_3d,
[3]103     .                                   iim*jjmp1*klev,ndex3d)
104c
105c plusieurs traceurs
106       IF (iflag_trac.eq.1) THEN
107         DO iq=1,nqmax
108          IF (iq.LE.99) THEN
109       CALL gr_fi_ecrit(klev,klon,iim,jjmp1, qx(1,1,iq), zx_tmp_3d)
110       WRITE(str2,'(i2.2)') iq
[101]111       CALL histwrite(nid_mth,tname(iq),itau_w,zx_tmp_3d,
[3]112     .                                   iim*jjmp1*klev,ndex3d)
113          ELSE
114       PRINT*, "Trop de traceurs"
115       CALL abort
116          ENDIF
117         ENDDO
118       ENDIF
119c
120      CALL gr_fi_ecrit(1, klon,iim,jjmp1, topsw,zx_tmp_2d)
[97]121      CALL histwrite(nid_mth,"tops",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
[3]122c
123      ENDIF !lev_histmth.GE.2
124c
125c-------------------------------------------------------
126      IF(lev_histmth.GE.3) THEN
127c
128cccccccccccccccccc  Radiative transfer
129c
130c 2D
131c
132      CALL gr_fi_ecrit(1, klon,iim,jjmp1, toplw,zx_tmp_2d)
[97]133      CALL histwrite(nid_mth,"topl",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
[3]134c
135      CALL gr_fi_ecrit(1, klon,iim,jjmp1, solsw,zx_tmp_2d)
[97]136      CALL histwrite(nid_mth,"sols",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
[3]137c
138      CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollw,zx_tmp_2d)
[97]139      CALL histwrite(nid_mth,"soll",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
[3]140c
141c 3D
142c
143      zx_tmp_fi3d(1:klon,1:klev)=swnet(1:klon,1:klev)
144      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
[97]145      CALL histwrite(nid_mth,"SWnet",itau_w,zx_tmp_3d,
[3]146     .                                   iim*jjmp1*klev,ndex3d)
147c
148      zx_tmp_fi3d(1:klon,1:klev)=lwnet(1:klon,1:klev)
149      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
[97]150      CALL histwrite(nid_mth,"LWnet",itau_w,zx_tmp_3d,
[3]151     .                                   iim*jjmp1*klev,ndex3d)
152c
153      zx_tmp_fi3d(1:klon,1:klev)=fluxt(1:klon,1:klev)
154      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
[97]155      CALL histwrite(nid_mth,"fluxvdf",itau_w,zx_tmp_3d,
[3]156     .                                   iim*jjmp1*klev,ndex3d)
157c
158      zx_tmp_fi3d(1:klon,1:klev)=flux_dyn(1:klon,1:klev)
159      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
[97]160      CALL histwrite(nid_mth,"fluxdyn",itau_w,zx_tmp_3d,
[3]161     .                                   iim*jjmp1*klev,ndex3d)
162c
163      zx_tmp_fi3d(1:klon,1:klev)=flux_ajs(1:klon,1:klev)
164      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
[97]165      CALL histwrite(nid_mth,"fluxajs",itau_w,zx_tmp_3d,
[3]166     .                                   iim*jjmp1*klev,ndex3d)
167c
168c     zx_tmp_fi3d(1:klon,1:klev)=flux_ec(1:klon,1:klev)
169c     CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
[97]170c     CALL histwrite(nid_mth,"fluxec",itau_w,zx_tmp_3d,
[3]171c    .                                   iim*jjmp1*klev,ndex3d)
172c
173      ENDIF !lev_histmth.GE.3
174c
175c-------------------------------------------------------
176      IF(lev_histmth.GE.4) THEN
177c
178c en K/s     
179      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_t_dyn, zx_tmp_3d)
[97]180      CALL histwrite(nid_mth,"dtdyn",itau_w,zx_tmp_3d,
[3]181     .                                   iim*jjmp1*klev,ndex3d)
182c
183c en K/s     
184c     CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_t, zx_tmp_3d)
[97]185c     CALL histwrite(nid_mth,"dtphy",itau_w,zx_tmp_3d,
[3]186c    .                                   iim*jjmp1*klev,ndex3d)
187c
188c en K/s     
189      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,d_t_vdf,zx_tmp_3d)
[97]190      CALL histwrite(nid_mth,"dtvdf",itau_w,zx_tmp_3d,
[3]191     .                                   iim*jjmp1*klev,ndex3d)
192c
193c en K/s     
194      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,d_t_ajs,zx_tmp_3d)
[97]195      CALL histwrite(nid_mth,"dtajs",itau_w,zx_tmp_3d,
[3]196     .                                   iim*jjmp1*klev,ndex3d)
197c
198c K/day ==> K/s
199      zx_tmp_fi3d(1:klon,1:klev)=heat(1:klon,1:klev)/RDAY
200      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
[97]201      CALL histwrite(nid_mth,"dtswr",itau_w,zx_tmp_3d,
[3]202     .                                   iim*jjmp1*klev,ndex3d)
203c
204c K/day ==> K/s     
205      zx_tmp_fi3d(1:klon,1:klev)=-1.*cool(1:klon,1:klev)/RDAY
206      CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
[97]207      CALL histwrite(nid_mth,"dtlwr",itau_w,zx_tmp_3d,
[3]208     .                                   iim*jjmp1*klev,ndex3d)
209c en K/s     
210c     zx_tmp_fi3d(1:klon,1:klev)=d_t_ec(1:klon,1:klev)
211c     CALL gr_fi_ecrit(klev,klon,iim,jjmp1,zx_tmp_fi3d,zx_tmp_3d)
[97]212c     CALL histwrite(nid_mth,"dtec",itau_w,zx_tmp_3d,
[3]213c    .                                   iim*jjmp1*klev,ndex3d)
214c
215c en (m/s)/s     
216      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_u_ajs, zx_tmp_3d)
[97]217      CALL histwrite(nid_mth,"duajs",itau_w,zx_tmp_3d,
[3]218     .                                   iim*jjmp1*klev,ndex3d)
219c
220c en (m/s)/s     
221      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_u_oro, zx_tmp_3d)
[97]222      CALL histwrite(nid_mth,"dugwo",itau_w,zx_tmp_3d,
[3]223     .                                   iim*jjmp1*klev,ndex3d)
224c
225c en (m/s)/s     
226      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_u_hin, zx_tmp_3d)
[97]227      CALL histwrite(nid_mth,"dugwno",itau_w,zx_tmp_3d,
[3]228     .                                   iim*jjmp1*klev,ndex3d)
229c
230c en (m/s)/s     
231c     CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_v_vdf, zx_tmp_3d)
232c VENUS: regardee a l'envers!!!!!!!!!!!!!!!
[97]233c     zx_tmp_3d=-1.*zx_tmp_3d
234c     CALL histwrite(nid_mth,"dvvdf",itau_w,zx_tmp_3d,
[3]235c    .                                   iim*jjmp1*klev,ndex3d)
236c
237      ENDIF !lev_histmth.GE.4
238c
239c-------------------------------------------------------
240       IF(lev_histmth.GE.5) THEN
241c
242c
243c      CALL gr_fi_ecrit(1, klon,iim,jjmp1, fluxu , zx_tmp_2d)
244c      CALL histwrite(nid_mth,"taux_",itau_w,
[97]245c    $      zx_tmp_2d,iim*jjmp1,ndex2d) 
[3]246c     
247c      CALL gr_fi_ecrit(1, klon,iim,jjmp1, fluxv , zx_tmp_2d)
248c      CALL histwrite(nid_mth,"tauy_",itau_w,
[97]249c    $      zx_tmp_2d,iim*jjmp1,ndex2d)
[3]250c
251c     CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragm,zx_tmp_2d)
[97]252c     CALL histwrite(nid_mth,"cdrm",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
[3]253c
254c     CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragh,zx_tmp_2d)
[97]255c     CALL histwrite(nid_mth,"cdrh",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
[3]256c
257      ENDIF !lev_histmth.GE.5
258c-------------------------------------------------------
259c
260      if (ok_sync) then
261        call histsync(nid_mth)
262      endif
263      ENDIF
Note: See TracBrowser for help on using the repository browser.