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

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

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


Revision 1.6 - (hide annotations) (download)
Thu Dec 19 14:00:08 2002 UTC (21 years, 4 months ago) by heimbach
Branch: MAIN
CVS Tags: checkpoint47e_post, checkpoint48e_post, checkpoint48b_post, checkpoint48c_pre, checkpoint48d_pre, checkpoint47i_post, checkpoint48d_post, checkpoint48f_post, checkpoint48h_post, checkpoint47g_post, checkpoint48a_post, checkpoint47j_post, branch-exfmods-tag, checkpoint48c_post, checkpoint47f_post, checkpoint48, checkpoint48g_post, checkpoint47h_post
Branch point for: branch-exfmods-curt
Changes since 1.5: +14 -14 lines
Replaced obsolete yadmark by yadprefix.
(currently no need to specify in data.ctrl)

1 heimbach 1.6 C $Header: /u/gcmpack/MITgcm/pkg/grdchk/grdchk_getadxx.F,v 1.5 2002/09/16 18:11:58 heimbach Exp $
2 heimbach 1.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 heimbach 1.5 I adxx_comp,
14 heimbach 1.2 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 heimbach 1.5 _RL adxx_comp
49 heimbach 1.2 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 heimbach 1.4 if ( grdchkvarindex .eq. 0 ) then
77     STOP 'GRDCHK INDEX 0 NOT ALLOWED'
78    
79 heimbach 1.2 #ifdef ALLOW_THETA0_CONTROL
80 heimbach 1.4 else if ( grdchkvarindex .eq. 1 ) then
81 heimbach 1.2 il=ilnblnk( xx_theta_file )
82     write(fname(1:80),'(80a)') ' '
83     write(fname(1:80),'(3a,i10.10)')
84 heimbach 1.6 & yadprefix, xx_theta_file(1:il),'.',optimcycle
85 heimbach 1.2
86     call active_read_xyz( fname, tmpfld3d, 1,
87     & doglobalread, ladinit, optimcycle,
88     & mythid, dummy)
89    
90 heimbach 1.5 adxx_comp = tmpfld3d( itilepos,jtilepos,layer,itile,jtile )
91 heimbach 1.2
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 heimbach 1.6 & yadprefix, xx_salt_file(1:il),'.',optimcycle
100 heimbach 1.2
101     call active_read_xyz( fname, tmpfld3d, 1,
102     & doglobalread, ladinit, optimcycle,
103     & mythid, dummy)
104    
105 heimbach 1.5 adxx_comp = tmpfld3d( itilepos,jtilepos,layer,itile,jtile )
106 heimbach 1.2
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 heimbach 1.6 & yadprefix, xx_hflux_file(1:il),'.',optimcycle
115 heimbach 1.2
116     call active_read_xy( fname, tmpfld2d, icvrec,
117     & doglobalread, ladinit, optimcycle,
118     & mythid, dummy)
119    
120 heimbach 1.5 adxx_comp = tmpfld2d( itilepos,jtilepos,itile,jtile )
121 heimbach 1.2
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 heimbach 1.6 & yadprefix, xx_sflux_file(1:il),'.',optimcycle
130 heimbach 1.2
131     call active_read_xy( fname, tmpfld2d, icvrec,
132     & doglobalread, ladinit, optimcycle,
133     & mythid, dummy)
134    
135 heimbach 1.5 adxx_comp = tmpfld2d( itilepos,jtilepos,itile,jtile )
136 heimbach 1.2
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 heimbach 1.6 & yadprefix, xx_tauu_file(1:il),'.',optimcycle
145 heimbach 1.2
146     call active_read_xy( fname, tmpfld2d, icvrec,
147     & doglobalread, ladinit, optimcycle,
148     & mythid, dummy)
149    
150 heimbach 1.5 adxx_comp = tmpfld2d( itilepos,jtilepos,itile,jtile )
151 heimbach 1.2
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 heimbach 1.6 & yadprefix, xx_tauv_file(1:il),'.',optimcycle
160 heimbach 1.2
161     call active_read_xy( fname, tmpfld2d, icvrec,
162     & doglobalread, ladinit, optimcycle,
163     & mythid, dummy)
164    
165 heimbach 1.5 adxx_comp = tmpfld2d( itilepos,jtilepos,itile,jtile )
166 heimbach 1.2
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 heimbach 1.6 & yadprefix, xx_tr1_file(1:il),'.',optimcycle
175 heimbach 1.2
176     call active_read_xyz( fname, tmpfld3d, 1,
177     & doglobalread, ladinit, optimcycle,
178     & mythid, dummy)
179    
180 heimbach 1.5 adxx_comp = tmpfld3d( itilepos,jtilepos,layer,itile,jtile )
181 heimbach 1.2
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 heimbach 1.6 & yadprefix, xx_sst_file(1:il),'.',optimcycle
190 heimbach 1.2
191     call active_read_xy( fname, tmpfld2d, icvrec,
192     & doglobalread, ladinit, optimcycle,
193     & mythid, dummy)
194    
195 heimbach 1.5 adxx_comp = tmpfld2d( itilepos,jtilepos,itile,jtile )
196 heimbach 1.2
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 heimbach 1.6 & yadprefix, xx_sss_file(1:il),'.',optimcycle
205 heimbach 1.2
206     call active_read_xy( fname, tmpfld2d, icvrec,
207     & doglobalread, ladinit, optimcycle,
208     & mythid, dummy)
209    
210 heimbach 1.5 adxx_comp = tmpfld2d( itilepos,jtilepos,itile,jtile )
211 heimbach 1.2
212     #endif /* ALLOW_SSS0_CONTROL */
213 heimbach 1.3
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 heimbach 1.6 & yadprefix, xx_hfacc_file(1:il),'.',optimcycle
220 heimbach 1.3
221     #ifdef ALLOW_HFACC3D_CONTROL
222    
223     call active_read_xyz( fname, tmpfld3d, icvrec,
224     & doglobalread, ladinit, optimcycle,
225     & mythid, dummy)
226    
227 heimbach 1.5 adxx_comp = tmpfld3d( itilepos,jtilepos,layer,itile,jtile )
228 heimbach 1.3
229     #else
230    
231     call active_read_xy( fname, tmpfld2d, icvrec,
232     & doglobalread, ladinit, optimcycle,
233     & mythid, dummy)
234    
235 heimbach 1.5 adxx_comp = tmpfld2d( itilepos,jtilepos,itile,jtile )
236 heimbach 1.3
237     #endif /* ALLOW_HFACC3D_CONTROL */
238     #endif /* ALLOW_HFACC_CONTROL */
239 heimbach 1.4
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 heimbach 1.6 & yadprefix, xx_efluxy_file(1:il),'.',optimcycle
246 heimbach 1.4
247     call active_read_xyz( fname, tmpfld3d, 1,
248     & doglobalread, ladinit, optimcycle,
249     & mythid, dummy)
250    
251 heimbach 1.5 adxx_comp = tmpfld3d( itilepos,jtilepos,layer,itile,jtile )
252 heimbach 1.4
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 heimbach 1.6 & yadprefix, xx_efluxy_file(1:il),'.',optimcycle
261 heimbach 1.4
262     call active_read_xyz( fname, tmpfld3d, 1,
263     & doglobalread, ladinit, optimcycle,
264     & mythid, dummy)
265    
266 heimbach 1.5 adxx_comp = tmpfld3d( itilepos,jtilepos,layer,itile,jtile )
267 heimbach 1.4
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 heimbach 1.6 & yadprefix, xx_efluxp_file(1:il),'.',optimcycle
276 heimbach 1.4
277     call active_read_xyz( fname, tmpfld3d, 1,
278     & doglobalread, ladinit, optimcycle,
279     & mythid, dummy)
280    
281 heimbach 1.5 adxx_comp = tmpfld3d( itilepos,jtilepos,layer,itile,jtile )
282 heimbach 1.4
283     #endif /* ALLOW_EFLUXP0_CONTROL */
284 heimbach 1.2
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