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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 151 - (show annotations)
Tue Jun 23 15:14:20 2015 UTC (8 years, 10 months ago) by guez
File size: 5784 byte(s)
In procedure inifilr, only a part of the arrays modfrstu and modfrstv
were defined. Split these into 4 arrays that are fully defined and
used: modfrst[ns][uv].

Clarified the logic for the computation of jfilt[ns][uv]. Changed the
initial value of the search so that the initial values for northern
hemisphere and southern hemisphere cannot be the same.

Clarified the logic for the computation of modfrst[ns][uv]: removed
the cycle and exit instructions.

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 dynetat0_m, only: day_ref, annee_ref
29 USE histbeg_totreg_m, ONLY : histbeg_totreg
30 USE histdef_m, ONLY : histdef
31 USE histend_m, ONLY : histend
32 use histsync_m, only: histsync
33 USE histvert_m, ONLY : histvert
34 USE dimens_m
35 USE paramet_m
36 USE comconst
37 USE indicesol
38 USE dimphy
39 use conf_gcm_m
40 USE comgeom
41 USE nr_util, ONLY : pi
42 USE ymds2ju_m
43
44 IMPLICIT NONE
45
46 ! Arguments
47 CHARACTER(len=*) infile
48 INTEGER nhoriid, i
49 REAL, INTENT (IN) :: tstep
50 REAL t_ops, t_wrt
51 INTEGER fileid
52 INTEGER nq, l
53 REAL nivsigs(llm)
54
55 ! Variables locales
56
57 INTEGER tau0
58 REAL zjulian
59 CHARACTER(len=3) str
60 CHARACTER(len=10) ctrac
61 INTEGER uhoriid, vhoriid, thoriid, zvertiid
62 LOGICAL ok_sync
63 REAL zx_lon(iim,jjm+1), zx_lat(iim,jjm+1)
64
65 REAL, INTENT (IN) :: rlon(klon), rlat(klon)
66
67 !-----------------------------------------------------
68
69 ! Initialisations
70 str = 'q '
71 ctrac = 'traceur '
72 ok_sync = .TRUE.
73
74 ! Appel a histbeg: creation du fichier netcdf et initialisations
75 ! diverses
76
77 CALL ymds2ju(annee_ref,1,day_ref,0.0,zjulian)
78 tau0 = 0
79
80 CALL gr_fi_ecrit(1,klon,iim,jjm+1,rlon,zx_lon)
81 DO i = 1, iim
82 zx_lon(i,1) = rlon(i+1)
83 zx_lon(i,jjm+1) = rlon(i+1)
84 END DO
85 CALL gr_fi_ecrit(1,klon,iim,jjm+1,rlat,zx_lat)
86
87
88 CALL histbeg_totreg(infile,zx_lon(:,1),zx_lat(1,:),1,iim,1,jjm+1,tau0, &
89 zjulian,tstep,nhoriid,fileid)
90
91 ! Appel a histvert pour la grille verticale
92
93 DO l = 1, llm
94 nivsigs(l) = float(l)
95 END DO
96
97 CALL histvert(fileid,'sig_s','Niveaux sigma','sigma_level',nivsigs, &
98 zvertiid)
99
100 ! Appels a histdef pour la definition des variables a sauvegarder
101
102 CALL histdef(fileid,'phis','Surface geop. height','-',iim,jjm+1,nhoriid, &
103 1,1,1,-99,'once',t_ops,t_wrt)
104
105 CALL histdef(fileid,'aire','Grid area','-',iim,jjm+1,nhoriid,1,1,1,-99, &
106 'once',t_ops,t_wrt)
107
108 CALL histdef(fileid,'dtime','tps phys ','s',1,1,nhoriid,1,1,1,-99, &
109 'once',t_ops,t_wrt)
110
111 CALL histdef(fileid,'istphy','tps stock','s',1,1,nhoriid,1,1,1,-99, &
112 'once',t_ops,t_wrt)
113
114 ! T
115
116 CALL histdef(fileid,'t','Temperature','K',iim,jjm+1,nhoriid,llm,1,llm, &
117 zvertiid,'inst(X)',t_ops,t_wrt)
118
119 CALL histdef(fileid,'mfu','flx m. pan. mt','kg m/s',iim,jjm+1,nhoriid, &
120 llm,1,llm,zvertiid,'inst(X)',t_ops,t_wrt)
121
122 CALL histdef(fileid,'mfd','flx m. pan. des','kg m/s',iim,jjm+1,nhoriid, &
123 llm,1,llm,zvertiid,'inst(X)',t_ops,t_wrt)
124
125
126 ! en_u
127
128 CALL histdef(fileid,'en_u','flx ent pan mt','kg m/s',iim,jjm+1,nhoriid, &
129 llm,1,llm,zvertiid,'inst(X)',t_ops,t_wrt)
130
131 CALL histdef(fileid,'de_u','flx det pan mt','kg m/s',iim,jjm+1,nhoriid, &
132 llm,1,llm,zvertiid,'inst(X)',t_ops,t_wrt)
133
134
135 ! en_d
136
137 CALL histdef(fileid,'en_d','flx ent pan dt','kg m/s',iim,jjm+1,nhoriid, &
138 llm,1,llm,zvertiid,'inst(X)',t_ops,t_wrt)
139
140
141
142 ! de_d
143
144 CALL histdef(fileid,'de_d','flx det pan dt','kg m/s',iim,jjm+1,nhoriid, &
145 llm,1,llm,zvertiid,'inst(X)',t_ops,t_wrt)
146
147 ! coefh frac_impa,frac_nucl
148
149 CALL histdef(fileid,'coefh',' ',' ',iim,jjm+1,nhoriid,llm,1,llm, &
150 zvertiid,'inst(X)',t_ops,t_wrt)
151
152 ! abderrahmane le 16 09 02
153 CALL histdef(fileid,'fm_th',' ',' ',iim,jjm+1,nhoriid,llm,1,llm, &
154 zvertiid,'inst(X)',t_ops,t_wrt)
155
156 CALL histdef(fileid,'en_th',' ',' ',iim,jjm+1,nhoriid,llm,1,llm, &
157 zvertiid,'inst(X)',t_ops,t_wrt)
158 ! fin aj
159
160 CALL histdef(fileid,'frac_impa',' ',' ',iim,jjm+1,nhoriid,llm,1,llm, &
161 zvertiid,'inst(X)',t_ops,t_wrt)
162
163 CALL histdef(fileid,'frac_nucl',' ',' ',iim,jjm+1,nhoriid,llm,1,llm, &
164 zvertiid,'inst(X)',t_ops,t_wrt)
165
166
167 ! pyu1
168
169 CALL histdef(fileid,'pyu1',' ',' ',iim,jjm+1,nhoriid,1,1,1,-99, &
170 'inst(X)',t_ops,t_wrt)
171
172
173 ! pyv1
174
175 CALL histdef(fileid,'pyv1',' ',' ',iim,jjm+1,nhoriid,1,1,1,-99, &
176 'inst(X)',t_ops,t_wrt)
177
178 CALL histdef(fileid,'ftsol1',' ',' ',iim,jjm+1,nhoriid,1,1,1,-99, &
179 'inst(X)',t_ops,t_wrt)
180
181
182 ! ftsol2
183
184 CALL histdef(fileid,'ftsol2',' ',' ',iim,jjm+1,nhoriid,1,1,1,-99, &
185 'inst(X)',t_ops,t_wrt)
186
187
188 ! ftsol3
189
190 CALL histdef(fileid,'ftsol3',' ',' ',iim,jjm+1,nhoriid,1,1,1,-99, &
191 'inst(X)',t_ops,t_wrt)
192
193
194 ! ftsol4
195
196 CALL histdef(fileid,'ftsol4',' ',' ',iim,jjm+1,nhoriid,1,1,1,-99, &
197 'inst(X)',t_ops,t_wrt)
198
199
200 ! rain
201
202 CALL histdef(fileid,'rain',' ',' ',iim,jjm+1,nhoriid,1,1,1,-99, &
203 'inst(X)',t_ops,t_wrt)
204
205
206 ! psrf1
207
208 CALL histdef(fileid,'psrf1',' ',' ',iim,jjm+1,nhoriid,1,1,1,-99, &
209 'inst(X)',t_ops,t_wrt)
210
211
212 ! psrf2
213
214 CALL histdef(fileid,'psrf2',' ',' ',iim,jjm+1,nhoriid,1,1,1,-99, &
215 'inst(X)',t_ops,t_wrt)
216
217
218 ! psrf3
219
220 CALL histdef(fileid,'psrf3',' ',' ',iim,jjm+1,nhoriid,1,1,1,-99, &
221 'inst(X)',t_ops,t_wrt)
222
223
224 ! psrf4
225
226 CALL histdef(fileid,'psrf4',' ',' ',iim,jjm+1,nhoriid,1,1,1,-99, &
227 'inst(X)',t_ops,t_wrt)
228
229 CALL histend(fileid)
230 IF (ok_sync) CALL histsync
231
232 END SUBROUTINE initphysto

  ViewVC Help
Powered by ViewVC 1.1.21