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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 39 - (show annotations)
Tue Jan 25 15:11:05 2011 UTC (13 years, 3 months ago) by guez
File size: 5692 byte(s)
"pi" comes from "nr_util". Removed subroutine "initialize" in module
"comconst".

Copied the content of "fxy_sin.h" into "fxysinus", instead of getting
it from an "include" line. Removed file "fxy_sin.h".

"ps" has rank 2 in "gcm" and "dynetat0".

Assumed-shape for argument "q" of "integrd".

1 SUBROUTINE initphysto(infile,rlon,rlat,tstep,t_ops,t_wrt,nq,fileid)
2
3 ! From phylmd/initphysto.F,v 1.2 2004/06/22 11:45:32
4 ! Routine d'initialisation des ecritures des fichiers histoires LMDZ
5 ! au format IOIPSL
6
7 ! Appels succesifs des routines: histbeg
8 ! histhori
9 ! histver
10 ! histdef
11 ! histend
12
13 ! Entree:
14
15 ! infile: nom du fichier histoire a creer
16 ! day0,anne0: date de reference
17 ! tstep: duree du pas de temps en seconde
18 ! t_ops: frequence de l'operation pour IOIPSL
19 ! t_wrt: frequence d'ecriture sur le fichier
20 ! nq: nombre de traceurs
21
22 ! Sortie:
23 ! fileid: ID du fichier netcdf cree
24 ! filevid:ID du fichier netcdf pour la grille v
25
26 ! L. Fairhead, 03/99
27
28 USE calendar
29 USE histcom
30 USE dimens_m
31 USE paramet_m
32 USE comconst
33 USE indicesol
34 USE dimphy
35 USE logic
36 USE comgeom
37 USE serre
38 USE temps
39 USE ener
40 USE nr_util, ONLY : pi
41
42 IMPLICIT NONE
43
44 ! Arguments
45 CHARACTER*(*) infile
46 INTEGER nhoriid, i
47 REAL, INTENT (IN) :: tstep
48 REAL t_ops, t_wrt
49 INTEGER fileid, filevid
50 INTEGER nq, l
51 REAL nivsigs(llm)
52
53 ! Variables locales
54
55 INTEGER tau0
56 REAL zjulian
57 CHARACTER*3 str
58 CHARACTER*10 ctrac
59 INTEGER iq
60 INTEGER uhoriid, vhoriid, thoriid, zvertiid
61 INTEGER ii, jj
62 INTEGER zan, idayref
63 LOGICAL ok_sync
64 REAL zx_lon(iim,jjm+1), zx_lat(iim,jjm+1)
65
66 REAL, INTENT (IN) :: rlon(klon), rlat(klon)
67
68 !-----------------------------------------------------
69
70 ! Initialisations
71 str = 'q '
72 ctrac = 'traceur '
73 ok_sync = .TRUE.
74
75 ! Appel a histbeg: creation du fichier netcdf et initialisations
76 ! diverses
77
78 zan = annee_ref
79 idayref = day_ref
80 CALL ymds2ju(zan,1,idayref,0.0,zjulian)
81 tau0 = 0
82
83 CALL gr_fi_ecrit(1,klon,iim,jjm+1,rlon,zx_lon)
84 DO i = 1, iim
85 zx_lon(i,1) = rlon(i+1)
86 zx_lon(i,jjm+1) = rlon(i+1)
87 END DO
88 CALL gr_fi_ecrit(1,klon,iim,jjm+1,rlat,zx_lat)
89
90
91 CALL histbeg_totreg(infile,zx_lon(:,1),zx_lat(1,:),1,iim,1,jjm+1,tau0, &
92 zjulian,tstep,nhoriid,fileid)
93
94 ! Appel a histvert pour la grille verticale
95
96 DO l = 1, llm
97 nivsigs(l) = float(l)
98 END DO
99
100 CALL histvert(fileid,'sig_s','Niveaux sigma','sigma_level',llm,nivsigs, &
101 zvertiid)
102
103 ! Appels a histdef pour la definition des variables a sauvegarder
104
105 CALL histdef(fileid,'phis','Surface geop. height','-',iim,jjm+1,nhoriid, &
106 1,1,1,-99,'once',t_ops,t_wrt)
107
108 CALL histdef(fileid,'aire','Grid area','-',iim,jjm+1,nhoriid,1,1,1,-99, &
109 'once',t_ops,t_wrt)
110
111 CALL histdef(fileid,'dtime','tps phys ','s',1,1,nhoriid,1,1,1,-99, &
112 'once',t_ops,t_wrt)
113
114 CALL histdef(fileid,'istphy','tps stock','s',1,1,nhoriid,1,1,1,-99, &
115 'once',t_ops,t_wrt)
116
117 ! T
118
119 CALL histdef(fileid,'t','Temperature','K',iim,jjm+1,nhoriid,llm,1,llm, &
120 zvertiid,'inst(X)',t_ops,t_wrt)
121
122 CALL histdef(fileid,'mfu','flx m. pan. mt','kg m/s',iim,jjm+1,nhoriid, &
123 llm,1,llm,zvertiid,'inst(X)',t_ops,t_wrt)
124
125 CALL histdef(fileid,'mfd','flx m. pan. des','kg m/s',iim,jjm+1,nhoriid, &
126 llm,1,llm,zvertiid,'inst(X)',t_ops,t_wrt)
127
128
129 ! en_u
130
131 CALL histdef(fileid,'en_u','flx ent pan mt','kg m/s',iim,jjm+1,nhoriid, &
132 llm,1,llm,zvertiid,'inst(X)',t_ops,t_wrt)
133
134 CALL histdef(fileid,'de_u','flx det pan mt','kg m/s',iim,jjm+1,nhoriid, &
135 llm,1,llm,zvertiid,'inst(X)',t_ops,t_wrt)
136
137
138 ! en_d
139
140 CALL histdef(fileid,'en_d','flx ent pan dt','kg m/s',iim,jjm+1,nhoriid, &
141 llm,1,llm,zvertiid,'inst(X)',t_ops,t_wrt)
142
143
144
145 ! de_d
146
147 CALL histdef(fileid,'de_d','flx det pan dt','kg m/s',iim,jjm+1,nhoriid, &
148 llm,1,llm,zvertiid,'inst(X)',t_ops,t_wrt)
149
150 ! coefh frac_impa,frac_nucl
151
152 CALL histdef(fileid,'coefh',' ',' ',iim,jjm+1,nhoriid,llm,1,llm, &
153 zvertiid,'inst(X)',t_ops,t_wrt)
154
155 ! abderrahmane le 16 09 02
156 CALL histdef(fileid,'fm_th',' ',' ',iim,jjm+1,nhoriid,llm,1,llm, &
157 zvertiid,'inst(X)',t_ops,t_wrt)
158
159 CALL histdef(fileid,'en_th',' ',' ',iim,jjm+1,nhoriid,llm,1,llm, &
160 zvertiid,'inst(X)',t_ops,t_wrt)
161 ! fin aj
162
163 CALL histdef(fileid,'frac_impa',' ',' ',iim,jjm+1,nhoriid,llm,1,llm, &
164 zvertiid,'inst(X)',t_ops,t_wrt)
165
166 CALL histdef(fileid,'frac_nucl',' ',' ',iim,jjm+1,nhoriid,llm,1,llm, &
167 zvertiid,'inst(X)',t_ops,t_wrt)
168
169
170 ! pyu1
171
172 CALL histdef(fileid,'pyu1',' ',' ',iim,jjm+1,nhoriid,1,1,1,-99, &
173 'inst(X)',t_ops,t_wrt)
174
175
176 ! pyv1
177
178 CALL histdef(fileid,'pyv1',' ',' ',iim,jjm+1,nhoriid,1,1,1,-99, &
179 'inst(X)',t_ops,t_wrt)
180
181 CALL histdef(fileid,'ftsol1',' ',' ',iim,jjm+1,nhoriid,1,1,1,-99, &
182 'inst(X)',t_ops,t_wrt)
183
184
185 ! ftsol2
186
187 CALL histdef(fileid,'ftsol2',' ',' ',iim,jjm+1,nhoriid,1,1,1,-99, &
188 'inst(X)',t_ops,t_wrt)
189
190
191 ! ftsol3
192
193 CALL histdef(fileid,'ftsol3',' ',' ',iim,jjm+1,nhoriid,1,1,1,-99, &
194 'inst(X)',t_ops,t_wrt)
195
196
197 ! ftsol4
198
199 CALL histdef(fileid,'ftsol4',' ',' ',iim,jjm+1,nhoriid,1,1,1,-99, &
200 'inst(X)',t_ops,t_wrt)
201
202
203 ! rain
204
205 CALL histdef(fileid,'rain',' ',' ',iim,jjm+1,nhoriid,1,1,1,-99, &
206 'inst(X)',t_ops,t_wrt)
207
208
209 ! psrf1
210
211 CALL histdef(fileid,'psrf1',' ',' ',iim,jjm+1,nhoriid,1,1,1,-99, &
212 'inst(X)',t_ops,t_wrt)
213
214
215 ! psrf2
216
217 CALL histdef(fileid,'psrf2',' ',' ',iim,jjm+1,nhoriid,1,1,1,-99, &
218 'inst(X)',t_ops,t_wrt)
219
220
221 ! psrf3
222
223 CALL histdef(fileid,'psrf3',' ',' ',iim,jjm+1,nhoriid,1,1,1,-99, &
224 'inst(X)',t_ops,t_wrt)
225
226
227 ! psrf4
228
229 CALL histdef(fileid,'psrf4',' ',' ',iim,jjm+1,nhoriid,1,1,1,-99, &
230 'inst(X)',t_ops,t_wrt)
231
232 CALL histend(fileid)
233 IF (ok_sync) CALL histsync
234
235 END SUBROUTINE initphysto

  ViewVC Help
Powered by ViewVC 1.1.21