source: trunk/LMDZ.VENUS/libf/phyvenus/write_histmth.h @ 777

Last change on this file since 777 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
Line 
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)
25      CALL histwrite(nid_mth,"phis",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
26C
27      i = NINT(zout/zsto)
28      CALL gr_fi_ecrit(1,klon,iim,jjmp1,airephy,zx_tmp_2d)
29      CALL histwrite(nid_mth,"aire",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
30c
31      CALL gr_fi_ecrit(1, klon,iim,jjmp1, ftsol,zx_tmp_2d)
32      CALL histwrite(nid_mth,"tsol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
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)
38      CALL histwrite(nid_mth,"psol",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
39c
40c     CALL gr_fi_ecrit(1, klon,iim,jjmp1, ue,zx_tmp_2d)
41c     CALL histwrite(nid_mth,"ue",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
42c
43c     CALL gr_fi_ecrit(1, klon,iim,jjmp1, ve,zx_tmp_2d)
44c VENUS: regardee a l'envers!!!!!!!!!!!!!!!
45c     zx_tmp_2d=-1.*zx_tmp_2d
46c     CALL histwrite(nid_mth,"ve",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
47c
48      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragh,zx_tmp_2d)
49      CALL histwrite(nid_mth,"cdragh",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
50c
51      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragm,zx_tmp_2d)
52      CALL histwrite(nid_mth,"cdragm",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
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)
62      CALL histwrite(nid_mth,"temp",itau_w,zx_tmp_3d,
63     .                                   iim*jjmp1*klev,ndex3d)
64c
65      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, pplay, zx_tmp_3d)
66      CALL histwrite(nid_mth,"pres",itau_w,zx_tmp_3d,
67     .                                   iim*jjmp1*klev,ndex3d)
68c
69      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zphi, zx_tmp_3d)
70      CALL histwrite(nid_mth,"geop",itau_w,zx_tmp_3d,
71     .                                   iim*jjmp1*klev,ndex3d)
72c
73      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, u_seri, zx_tmp_3d)
74      CALL histwrite(nid_mth,"vitu",itau_w,zx_tmp_3d,
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!!!!!!!!!!!!!!!
79      zx_tmp_3d=-1.*zx_tmp_3d
80      CALL histwrite(nid_mth,"vitv",itau_w,zx_tmp_3d,
81     .                                   iim*jjmp1*klev,ndex3d)
82c
83      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, omega, zx_tmp_3d)
84      CALL histwrite(nid_mth,"vitw",itau_w,zx_tmp_3d,
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)
89      CALL histwrite(nid_mth,"dudyn",itau_w,zx_tmp_3d,
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)
94      CALL histwrite(nid_mth,"duvdf",itau_w,zx_tmp_3d,
95     .                                   iim*jjmp1*klev,ndex3d)
96c
97c     CALL gr_fi_ecrit(klev,klon,iim,jjmp1, mang, zx_tmp_3d)
98c     CALL histwrite(nid_mth,"mang",itau_w,zx_tmp_3d,
99c    .                                   iim*jjmp1*klev,ndex3d)
100c
101      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, ycoefh, zx_tmp_3d)
102      CALL histwrite(nid_mth,"Kz",itau_w,zx_tmp_3d,
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
111       CALL histwrite(nid_mth,tname(iq),itau_w,zx_tmp_3d,
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)
121      CALL histwrite(nid_mth,"tops",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
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)
133      CALL histwrite(nid_mth,"topl",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
134c
135      CALL gr_fi_ecrit(1, klon,iim,jjmp1, solsw,zx_tmp_2d)
136      CALL histwrite(nid_mth,"sols",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
137c
138      CALL gr_fi_ecrit(1, klon,iim,jjmp1, sollw,zx_tmp_2d)
139      CALL histwrite(nid_mth,"soll",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
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)
145      CALL histwrite(nid_mth,"SWnet",itau_w,zx_tmp_3d,
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)
150      CALL histwrite(nid_mth,"LWnet",itau_w,zx_tmp_3d,
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)
155      CALL histwrite(nid_mth,"fluxvdf",itau_w,zx_tmp_3d,
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)
160      CALL histwrite(nid_mth,"fluxdyn",itau_w,zx_tmp_3d,
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)
165      CALL histwrite(nid_mth,"fluxajs",itau_w,zx_tmp_3d,
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)
170c     CALL histwrite(nid_mth,"fluxec",itau_w,zx_tmp_3d,
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)
180      CALL histwrite(nid_mth,"dtdyn",itau_w,zx_tmp_3d,
181     .                                   iim*jjmp1*klev,ndex3d)
182c
183c en K/s     
184c     CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_t, zx_tmp_3d)
185c     CALL histwrite(nid_mth,"dtphy",itau_w,zx_tmp_3d,
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)
190      CALL histwrite(nid_mth,"dtvdf",itau_w,zx_tmp_3d,
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)
195      CALL histwrite(nid_mth,"dtajs",itau_w,zx_tmp_3d,
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)
201      CALL histwrite(nid_mth,"dtswr",itau_w,zx_tmp_3d,
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)
207      CALL histwrite(nid_mth,"dtlwr",itau_w,zx_tmp_3d,
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)
212c     CALL histwrite(nid_mth,"dtec",itau_w,zx_tmp_3d,
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)
217      CALL histwrite(nid_mth,"duajs",itau_w,zx_tmp_3d,
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)
222      CALL histwrite(nid_mth,"dugwo",itau_w,zx_tmp_3d,
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)
227      CALL histwrite(nid_mth,"dugwno",itau_w,zx_tmp_3d,
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!!!!!!!!!!!!!!!
233c     zx_tmp_3d=-1.*zx_tmp_3d
234c     CALL histwrite(nid_mth,"dvvdf",itau_w,zx_tmp_3d,
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,
245c    $      zx_tmp_2d,iim*jjmp1,ndex2d) 
246c     
247c      CALL gr_fi_ecrit(1, klon,iim,jjmp1, fluxv , zx_tmp_2d)
248c      CALL histwrite(nid_mth,"tauy_",itau_w,
249c    $      zx_tmp_2d,iim*jjmp1,ndex2d)
250c
251c     CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragm,zx_tmp_2d)
252c     CALL histwrite(nid_mth,"cdrm",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
253c
254c     CALL gr_fi_ecrit(1, klon,iim,jjmp1, cdragh,zx_tmp_2d)
255c     CALL histwrite(nid_mth,"cdrh",itau_w,zx_tmp_2d,iim*jjmp1,ndex2d)
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.