/[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.4 - (hide 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 heimbach 1.4 C $Header: /u/gcmpack/MITgcm/pkg/grdchk/grdchk_getadxx.F,v 1.2.4.2 2002/07/11 15:00:29 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     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 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     & 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 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     & 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 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     & 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 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