/[MITgcm]/MITgcm/pkg/grdchk/grdchk_getadxx.F
ViewVC logotype

Contents of /MITgcm/pkg/grdchk/grdchk_getadxx.F

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.4 - (show annotations) (download)
Sat Jul 13 02:55:58 2002 UTC (21 years, 10 months ago) by heimbach
Branch: MAIN
CVS Tags: checkpoint46b_post, checkpoint46d_pre, checkpoint46a_post, checkpoint46e_pre, checkpoint46b_pre, checkpoint46c_pre, checkpoint46, checkpoint46a_pre, checkpoint46c_post, checkpoint46e_post, checkpoint46d_post
Changes since 1.3: +50 -2 lines
Merging from release1_p5
o added Eliassen Palm flux controls to gradient check package

1 C $Header: /u/gcmpack/MITgcm/pkg/grdchk/grdchk_getadxx.F,v 1.2.4.2 2002/07/11 15:00:29 heimbach Exp $
2
3 #include "CTRL_CPPOPTIONS.h"
4
5
6 subroutine grdchk_getadxx(
7 I icvrec,
8 I itile,
9 I jtile,
10 I layer,
11 I itilepos,
12 I jtilepos,
13 I xx_comp,
14 I mythid
15 & )
16
17 c ==================================================================
18 c SUBROUTINE grdchk_getadxx
19 c ==================================================================
20 c
21 c o Set component a component of the control vector; xx(loc)
22 c
23 c started: Christian Eckert eckert@mit.edu 08-Mar-2000
24 c continued: heimbach@mit.edu: 13-Jun-2001
25 c
26 c ==================================================================
27 c SUBROUTINE grdchk_getadxx
28 c ==================================================================
29
30 implicit none
31
32 c == global variables ==
33
34 #include "EEPARAMS.h"
35 #include "SIZE.h"
36 #include "ctrl.h"
37 #include "optim.h"
38 #include "grdchk.h"
39
40 c == routine arguments ==
41
42 integer icvrec
43 integer jtile
44 integer itile
45 integer layer
46 integer itilepos
47 integer jtilepos
48 _RL xx_comp
49 integer mythid
50
51 #ifdef ALLOW_GRADIENT_CHECK
52 c == local variables ==
53
54 integer il
55 integer dumiter
56 _RL dumtime
57 _RL dummy
58
59 logical doglobalread
60 logical ladinit
61
62 character*(80) fname
63
64 c-- == external ==
65
66 integer ilnblnk
67 external ilnblnk
68
69 c-- == end of interface ==
70
71 doglobalread = .false.
72 ladinit = .false.
73 dumiter = 0
74 dumtime = 0. _d 0
75
76 if ( grdchkvarindex .eq. 0 ) then
77 STOP 'GRDCHK INDEX 0 NOT ALLOWED'
78
79 #ifdef ALLOW_THETA0_CONTROL
80 else if ( grdchkvarindex .eq. 1 ) then
81 il=ilnblnk( xx_theta_file )
82 write(fname(1:80),'(80a)') ' '
83 write(fname(1:80),'(3a,i10.10)')
84 & yadmark, xx_theta_file(1:il),'.',optimcycle
85
86 call active_read_xyz( fname, tmpfld3d, 1,
87 & doglobalread, ladinit, optimcycle,
88 & mythid, dummy)
89
90 xx_comp = tmpfld3d( itilepos,jtilepos,layer,itile,jtile )
91
92 #endif /* ALLOW_THETA0_CONTROL */
93
94 #ifdef ALLOW_SALT0_CONTROL
95 else if ( grdchkvarindex .eq. 2 ) then
96 il=ilnblnk( xx_salt_file )
97 write(fname(1:80),'(80a)') ' '
98 write(fname(1:80),'(3a,i10.10)')
99 & yadmark, xx_salt_file(1:il),'.',optimcycle
100
101 call active_read_xyz( fname, tmpfld3d, 1,
102 & doglobalread, ladinit, optimcycle,
103 & mythid, dummy)
104
105 xx_comp = tmpfld3d( itilepos,jtilepos,layer,itile,jtile )
106
107 #endif /* ALLOW_SALT0_CONTROL */
108
109 #ifdef ALLOW_HFLUX_CONTROL
110 else if ( grdchkvarindex .eq. 3 ) then
111 il=ilnblnk( xx_hflux_file )
112 write(fname(1:80),'(80a)') ' '
113 write(fname(1:80),'(3a,i10.10)')
114 & yadmark, xx_hflux_file(1:il),'.',optimcycle
115
116 call active_read_xy( fname, tmpfld2d, icvrec,
117 & doglobalread, ladinit, optimcycle,
118 & mythid, dummy)
119
120 xx_comp = tmpfld2d( itilepos,jtilepos,itile,jtile )
121
122 #endif /* ALLOW_HFLUX_CONTROL */
123
124 #ifdef ALLOW_SFLUX_CONTROL
125 else if ( grdchkvarindex .eq. 4 ) then
126 il=ilnblnk( xx_sflux_file )
127 write(fname(1:80),'(80a)') ' '
128 write(fname(1:80),'(3a,i10.10)')
129 & yadmark, xx_sflux_file(1:il),'.',optimcycle
130
131 call active_read_xy( fname, tmpfld2d, icvrec,
132 & doglobalread, ladinit, optimcycle,
133 & mythid, dummy)
134
135 xx_comp = tmpfld2d( itilepos,jtilepos,itile,jtile )
136
137 #endif /* ALLOW_SFLUX_CONTROL */
138
139 #ifdef ALLOW_USTRESS_CONTROL
140 else if ( grdchkvarindex .eq. 5 ) then
141 il=ilnblnk( xx_tauu_file )
142 write(fname(1:80),'(80a)') ' '
143 write(fname(1:80),'(3a,i10.10)')
144 & yadmark, xx_tauu_file(1:il),'.',optimcycle
145
146 call active_read_xy( fname, tmpfld2d, icvrec,
147 & doglobalread, ladinit, optimcycle,
148 & mythid, dummy)
149
150 xx_comp = tmpfld2d( itilepos,jtilepos,itile,jtile )
151
152 #endif /* ALLOW_USTRESS_CONTROL */
153
154 #ifdef ALLOW_VSTRESS_CONTROL
155 else if ( grdchkvarindex .eq. 6 ) then
156 il=ilnblnk( xx_tauv_file )
157 write(fname(1:80),'(80a)') ' '
158 write(fname(1:80),'(3a,i10.10)')
159 & yadmark, xx_tauv_file(1:il),'.',optimcycle
160
161 call active_read_xy( fname, tmpfld2d, icvrec,
162 & doglobalread, ladinit, optimcycle,
163 & mythid, dummy)
164
165 xx_comp = tmpfld2d( itilepos,jtilepos,itile,jtile )
166
167 #endif /* ALLOW_VSTRESS_CONTROL */
168
169 #ifdef ALLOW_TR10_CONTROL
170 else if ( grdchkvarindex .eq. 17 ) then
171 il=ilnblnk( xx_tr1_file )
172 write(fname(1:80),'(80a)') ' '
173 write(fname(1:80),'(3a,i10.10)')
174 & yadmark, xx_tr1_file(1:il),'.',optimcycle
175
176 call active_read_xyz( fname, tmpfld3d, 1,
177 & doglobalread, ladinit, optimcycle,
178 & mythid, dummy)
179
180 xx_comp = tmpfld3d( itilepos,jtilepos,layer,itile,jtile )
181
182 #endif /* ALLOW_TR10_CONTROL */
183
184 #ifdef ALLOW_SST0_CONTROL
185 else if ( grdchkvarindex .eq. 18 ) then
186 il=ilnblnk( xx_sst_file )
187 write(fname(1:80),'(80a)') ' '
188 write(fname(1:80),'(3a,i10.10)')
189 & yadmark, xx_sst_file(1:il),'.',optimcycle
190
191 call active_read_xy( fname, tmpfld2d, icvrec,
192 & doglobalread, ladinit, optimcycle,
193 & mythid, dummy)
194
195 xx_comp = tmpfld2d( itilepos,jtilepos,itile,jtile )
196
197 #endif /* ALLOW_SST0_CONTROL */
198
199 #ifdef ALLOW_SSS0_CONTROL
200 else if ( grdchkvarindex .eq. 19 ) then
201 il=ilnblnk( xx_sss_file )
202 write(fname(1:80),'(80a)') ' '
203 write(fname(1:80),'(3a,i10.10)')
204 & yadmark, xx_sss_file(1:il),'.',optimcycle
205
206 call active_read_xy( fname, tmpfld2d, icvrec,
207 & doglobalread, ladinit, optimcycle,
208 & mythid, dummy)
209
210 xx_comp = tmpfld2d( itilepos,jtilepos,itile,jtile )
211
212 #endif /* ALLOW_SSS0_CONTROL */
213
214 #ifdef ALLOW_HFACC_CONTROL
215 else if ( grdchkvarindex .eq. 20 ) then
216 il=ilnblnk( xx_hfacc_file )
217 write(fname(1:80),'(80a)') ' '
218 write(fname(1:80),'(3a,i10.10)')
219 & yadmark, xx_hfacc_file(1:il),'.',optimcycle
220
221 #ifdef ALLOW_HFACC3D_CONTROL
222
223 call active_read_xyz( fname, tmpfld3d, icvrec,
224 & doglobalread, ladinit, optimcycle,
225 & mythid, dummy)
226
227 xx_comp = tmpfld3d( itilepos,jtilepos,layer,itile,jtile )
228
229 #else
230
231 call active_read_xy( fname, tmpfld2d, icvrec,
232 & doglobalread, ladinit, optimcycle,
233 & mythid, dummy)
234
235 xx_comp = tmpfld2d( itilepos,jtilepos,itile,jtile )
236
237 #endif /* ALLOW_HFACC3D_CONTROL */
238 #endif /* ALLOW_HFACC_CONTROL */
239
240 #ifdef ALLOW_EFLUXY0_CONTROL
241 else if ( grdchkvarindex .eq. 21 ) then
242 il=ilnblnk( xx_efluxy_file )
243 write(fname(1:80),'(80a)') ' '
244 write(fname(1:80),'(3a,i10.10)')
245 & yadmark, xx_efluxy_file(1:il),'.',optimcycle
246
247 call active_read_xyz( fname, tmpfld3d, 1,
248 & doglobalread, ladinit, optimcycle,
249 & mythid, dummy)
250
251 xx_comp = tmpfld3d( itilepos,jtilepos,layer,itile,jtile )
252
253 #endif /* ALLOW_THETA0_CONTROL */
254
255 #ifdef ALLOW_EFLUXY0_CONTROL
256 else if ( grdchkvarindex .eq. 21 ) then
257 il=ilnblnk( xx_efluxy_file )
258 write(fname(1:80),'(80a)') ' '
259 write(fname(1:80),'(3a,i10.10)')
260 & yadmark, xx_efluxy_file(1:il),'.',optimcycle
261
262 call active_read_xyz( fname, tmpfld3d, 1,
263 & doglobalread, ladinit, optimcycle,
264 & mythid, dummy)
265
266 xx_comp = tmpfld3d( itilepos,jtilepos,layer,itile,jtile )
267
268 #endif /* ALLOW_EFLUXY0_CONTROL */
269
270 #ifdef ALLOW_EFLUXP0_CONTROL
271 else if ( grdchkvarindex .eq. 22 ) then
272 il=ilnblnk( xx_efluxp_file )
273 write(fname(1:80),'(80a)') ' '
274 write(fname(1:80),'(3a,i10.10)')
275 & yadmark, xx_efluxp_file(1:il),'.',optimcycle
276
277 call active_read_xyz( fname, tmpfld3d, 1,
278 & doglobalread, ladinit, optimcycle,
279 & mythid, dummy)
280
281 xx_comp = tmpfld3d( itilepos,jtilepos,layer,itile,jtile )
282
283 #endif /* ALLOW_EFLUXP0_CONTROL */
284
285 else
286 ce --> this index does not exist yet.
287 endif
288
289 #endif /* ALLOW_GRADIENT_CHECK */
290
291 end
292

  ViewVC Help
Powered by ViewVC 1.1.22