/[lmdze]/trunk/libf/phylmd/initphysto.f
ViewVC logotype

Contents of /trunk/libf/phylmd/initphysto.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3 - (show annotations)
Wed Feb 27 13:16:39 2008 UTC (16 years, 2 months ago) by guez
File size: 7868 byte(s)
Initial import
1 !
2 ! $Header: /home/cvsroot/LMDZ4/libf/phylmd/initphysto.F,v 1.2 2004/06/22 11:45:32 lmdzadmin Exp $
3 !
4 C
5 C
6 subroutine initphysto
7 . (infile,
8 . rlon, rlat, tstep,t_ops,t_wrt,nq,fileid)
9
10 USE IOIPSL
11
12 use dimens_m
13 use paramet_m
14 use comconst
15 use indicesol
16 use dimphy
17 use logic
18 use comgeom
19 use serre
20 use temps
21 use ener
22 implicit none
23
24 C
25 C Routine d'initialisation des ecritures des fichiers histoires LMDZ
26 C au format IOIPSL
27 C
28 C Appels succesifs des routines: histbeg
29 C histhori
30 C histver
31 C histdef
32 C histend
33 C
34 C Entree:
35 C
36 C infile: nom du fichier histoire a creer
37 C day0,anne0: date de reference
38 C tstep: duree du pas de temps en seconde
39 C t_ops: frequence de l'operation pour IOIPSL
40 C t_wrt: frequence d'ecriture sur le fichier
41 C nq: nombre de traceurs
42 C
43 C Sortie:
44 C fileid: ID du fichier netcdf cree
45 C filevid:ID du fichier netcdf pour la grille v
46 C
47 C L. Fairhead, LMD, 03/99
48 C
49 C =====================================================================
50 C
51 C Declarations
52
53 C Arguments
54 character*(*) infile
55 integer*4 nhoriid, i
56 real tstep, t_ops, t_wrt
57 integer fileid, filevid
58 integer nq,l
59 real nivsigs(llm)
60
61 C Variables locales
62 C
63 integer tau0
64 real zjulian
65 character*3 str
66 character*10 ctrac
67 integer iq
68 integer uhoriid, vhoriid, thoriid, zvertiid
69 integer ii,jj
70 integer zan, idayref
71 logical ok_sync
72 REAL zx_lon(iim,jjm+1), zx_lat(iim,jjm+1)
73 C
74 REAL, intent(in):: rlon(klon), rlat(klon)
75
76 C Initialisations
77 C
78 pi = 4. * atan (1.)
79 str='q '
80 ctrac = 'traceur '
81 ok_sync= .true.
82 C
83 C Appel a histbeg: creation du fichier netcdf et initialisations diverses
84 C
85
86 zan = annee_ref
87 idayref = day_ref
88 CALL ymds2ju(zan, 1, idayref, 0.0, zjulian)
89 tau0 = 0
90
91 CALL gr_fi_ecrit(1,klon,iim,jjm+1,rlon,zx_lon)
92 DO i = 1, iim
93 zx_lon(i,1) = rlon(i+1)
94 zx_lon(i,jjm+1) = rlon(i+1)
95 ENDDO
96 CALL gr_fi_ecrit(1,klon,iim,jjm+1,rlat,zx_lat)
97
98
99 call histbeg_totreg(infile, iim, zx_lon(:,1), jjm+1, zx_lat(1,:),
100 . 1, iim, 1, jjm+1,
101 . tau0, zjulian, tstep, nhoriid, fileid)
102
103 C Appel a histvert pour la grille verticale
104 C
105 DO l=1,llm
106 nivsigs(l)=float(l)
107 ENDDO
108
109 write(*,*) 'avant histvert ds initphysto'
110
111 call histvert(fileid, 'sig_s', 'Niveaux sigma',
112 . 'sigma_level',
113 . llm, nivsigs, zvertiid)
114 C
115 C Appels a histdef pour la definition des variables a sauvegarder
116 C
117 write(*,*) 'apres histvert ds initphysto'
118
119 CALL histdef(fileid, "phis", "Surface geop. height", "-",
120 . iim,jjm+1,nhoriid, 1,1,1, -99, 32,
121 . "once", t_ops, t_wrt)
122 c
123 write(*,*) 'apres phis ds initphysto'
124
125 CALL histdef(fileid, "aire", "Grid area", "-",
126 . iim,jjm+1,nhoriid, 1,1,1, -99, 32,
127 . "once", t_ops, t_wrt)
128 write(*,*) 'apres aire ds initphysto'
129
130 CALL histdef(fileid, "dtime", "tps phys ", "s",
131 . 1,1,nhoriid, 1,1,1, -99, 32,
132 . "once", t_ops, t_wrt)
133
134 CALL histdef(fileid, "istphy", "tps stock", "s",
135 . 1,1,nhoriid, 1,1,1, -99, 32,
136 . "once", t_ops, t_wrt)
137
138 C T
139 C
140 call histdef(fileid, 't', 'Temperature', 'K',
141 . iim, jjm+1, nhoriid, llm, 1, llm, zvertiid,
142 . 32, 'inst(X)', t_ops, t_wrt)
143 write(*,*) 'apres t ds initphysto'
144 C mfu
145 C
146 call histdef(fileid, 'mfu', 'flx m. pan. mt', 'kg m/s',
147 . iim, jjm+1, nhoriid, llm, 1, llm, zvertiid,
148 . 32, 'inst(X)', t_ops, t_wrt)
149 write(*,*) 'apres mfu ds initphysto'
150 C
151 C mfd
152 C
153 call histdef(fileid, 'mfd', 'flx m. pan. des', 'kg m/s',
154 . iim, jjm+1, nhoriid, llm, 1, llm, zvertiid,
155 . 32, 'inst(X)', t_ops, t_wrt)
156
157 C
158 C en_u
159 C
160 call histdef(fileid, 'en_u', 'flx ent pan mt', 'kg m/s',
161 . iim, jjm+1, nhoriid, llm, 1, llm, zvertiid,
162 . 32, 'inst(X)', t_ops, t_wrt)
163 write(*,*) 'apres en_u ds initphysto'
164 C
165 C de_u
166 C
167 call histdef(fileid, 'de_u', 'flx det pan mt', 'kg m/s',
168 . iim, jjm+1, nhoriid, llm, 1, llm, zvertiid,
169 . 32, 'inst(X)', t_ops, t_wrt)
170
171 C
172 C en_d
173 C
174 call histdef(fileid, 'en_d', 'flx ent pan dt', 'kg m/s',
175 . iim, jjm+1, nhoriid, llm, 1, llm, zvertiid,
176 . 32, 'inst(X)', t_ops, t_wrt)
177 C
178
179 C
180 C de_d
181 C
182 call histdef(fileid, 'de_d', 'flx det pan dt', 'kg m/s',
183 . iim, jjm+1, nhoriid, llm, 1, llm, zvertiid,
184 . 32, 'inst(X)', t_ops, t_wrt)
185
186 c coefh frac_impa,frac_nucl
187
188 call histdef(fileid, "coefh", " ", " ",
189 . iim, jjm+1, nhoriid, llm, 1, llm, zvertiid,
190 . 32, "inst(X)", t_ops, t_wrt)
191
192 c abderrahmane le 16 09 02
193 call histdef(fileid, "fm_th", " ", " ",
194 . iim, jjm+1, nhoriid, llm, 1, llm, zvertiid,
195 . 32, "inst(X)", t_ops, t_wrt)
196
197 call histdef(fileid, "en_th", " ", " ",
198 . iim, jjm+1, nhoriid, llm, 1, llm, zvertiid,
199 . 32, "inst(X)", t_ops, t_wrt)
200 c fin aj
201
202 write(*,*) 'apres coefh ds initphysto'
203
204 call histdef(fileid, 'frac_impa', ' ', ' ',
205 . iim, jjm+1, nhoriid, llm, 1, llm, zvertiid,
206 . 32, 'inst(X)', t_ops, t_wrt)
207
208 call histdef(fileid, 'frac_nucl', ' ', ' ',
209 . iim, jjm+1, nhoriid, llm, 1, llm, zvertiid,
210 . 32, 'inst(X)', t_ops, t_wrt)
211
212 c
213 c pyu1
214 c
215 CALL histdef(fileid, "pyu1", " ", " ",
216 . iim,jjm+1,nhoriid, 1,1,1, -99, 32,
217 . "inst(X)", t_ops, t_wrt)
218
219 c
220 c pyv1
221 c
222 CALL histdef(fileid, "pyv1", " ", " ",
223 . iim,jjm+1,nhoriid, 1,1,1, -99, 32,
224 . "inst(X)", t_ops, t_wrt)
225
226 write(*,*) 'apres pyv1 ds initphysto'
227 c
228 c ftsol1
229 c
230 call histdef(fileid, "ftsol1", " ", " ",
231 . iim, jjm+1, nhoriid, 1, 1,1, -99,32,
232 . "inst(X)", t_ops, t_wrt)
233
234 c
235 c ftsol2
236 c
237 call histdef(fileid, "ftsol2", " ", " ",
238 . iim, jjm+1, nhoriid, 1, 1,1, -99,32,
239 . "inst(X)", t_ops, t_wrt)
240
241 c
242 c ftsol3
243 c
244 call histdef(fileid, "ftsol3", " ", " ",
245 . iim, jjm+1, nhoriid, 1, 1,1, -99,
246 . 32, "inst(X)", t_ops, t_wrt)
247
248 c
249 c ftsol4
250 c
251 call histdef(fileid, "ftsol4", " ", " ",
252 . iim, jjm+1, nhoriid, 1, 1,1, -99,
253 . 32, "inst(X)", t_ops, t_wrt)
254
255 c
256 c rain
257 c
258 call histdef(fileid, "rain", " ", " ",
259 . iim, jjm+1, nhoriid, 1, 1,1, -99,
260 . 32, "inst(X)", t_ops, t_wrt)
261
262 c
263 c psrf1
264 c
265 call histdef(fileid, "psrf1", " ", " ",
266 . iim, jjm+1, nhoriid, 1, 1, 1, -99,
267 . 32, "inst(X)", t_ops, t_wrt)
268
269 c
270 c psrf2
271 c
272 call histdef(fileid, "psrf2", " ", " ",
273 . iim, jjm+1, nhoriid, 1, 1, 1, -99,
274 . 32, "inst(X)", t_ops, t_wrt)
275
276 c
277 c psrf3
278 c
279 call histdef(fileid, "psrf3", " ", " ",
280 . iim, jjm+1, nhoriid, 1, 1, 1, -99,
281 . 32, "inst(X)", t_ops, t_wrt)
282
283 c
284 c psrf4
285 c
286 call histdef(fileid, "psrf4", " ", " ",
287 . iim, jjm+1, nhoriid, 1, 1, 1, -99,
288 . 32, "inst(X)", t_ops, t_wrt)
289
290 write(*,*) 'avant histend ds initphysto'
291
292 call histend(fileid)
293 c if (ok_sync) call histsync(fileid)
294 if (ok_sync) call histsync
295
296
297
298 return
299 end

  ViewVC Help
Powered by ViewVC 1.1.21