/[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.3 - (hide annotations) (download)
Thu May 30 22:47:26 2002 UTC (21 years, 11 months ago) by heimbach
Branch: MAIN
CVS Tags: checkpoint45d_post, checkpoint45c_post
Changes since 1.2: +27 -1 lines
o modifications to gradient check package (Martin Losch)
  - enable centered differences
  - modified format of standard output

1 heimbach 1.3 C $Header: /u/gcmpack/MITgcm/pkg/grdchk/grdchk_getadxx.F,v 1.2.4.1 2002/05/30 22:12:32 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     if ( grdchkvarindex .eq. 1 ) then
77     #ifdef ALLOW_THETA0_CONTROL
78     il=ilnblnk( xx_theta_file )
79     write(fname(1:80),'(80a)') ' '
80     write(fname(1:80),'(3a,i10.10)')
81     & yadmark, xx_theta_file(1:il),'.',optimcycle
82    
83     call active_read_xyz( fname, tmpfld3d, 1,
84     & doglobalread, ladinit, optimcycle,
85     & mythid, dummy)
86    
87     xx_comp = tmpfld3d( itilepos,jtilepos,layer,itile,jtile )
88    
89     #endif /* ALLOW_THETA0_CONTROL */
90    
91     #ifdef ALLOW_SALT0_CONTROL
92     else if ( grdchkvarindex .eq. 2 ) then
93     il=ilnblnk( xx_salt_file )
94     write(fname(1:80),'(80a)') ' '
95     write(fname(1:80),'(3a,i10.10)')
96     & yadmark, xx_salt_file(1:il),'.',optimcycle
97    
98     call active_read_xyz( fname, tmpfld3d, 1,
99     & doglobalread, ladinit, optimcycle,
100     & mythid, dummy)
101    
102     xx_comp = tmpfld3d( itilepos,jtilepos,layer,itile,jtile )
103    
104     #endif /* ALLOW_SALT0_CONTROL */
105    
106     #ifdef ALLOW_HFLUX_CONTROL
107     else if ( grdchkvarindex .eq. 3 ) then
108     il=ilnblnk( xx_hflux_file )
109     write(fname(1:80),'(80a)') ' '
110     write(fname(1:80),'(3a,i10.10)')
111     & yadmark, xx_hflux_file(1:il),'.',optimcycle
112    
113     call active_read_xy( fname, tmpfld2d, icvrec,
114     & doglobalread, ladinit, optimcycle,
115     & mythid, dummy)
116    
117     xx_comp = tmpfld2d( itilepos,jtilepos,itile,jtile )
118    
119     #endif /* ALLOW_HFLUX_CONTROL */
120    
121     #ifdef ALLOW_SFLUX_CONTROL
122     else if ( grdchkvarindex .eq. 4 ) then
123     il=ilnblnk( xx_sflux_file )
124     write(fname(1:80),'(80a)') ' '
125     write(fname(1:80),'(3a,i10.10)')
126     & yadmark, xx_sflux_file(1:il),'.',optimcycle
127    
128     call active_read_xy( fname, tmpfld2d, icvrec,
129     & doglobalread, ladinit, optimcycle,
130     & mythid, dummy)
131    
132     xx_comp = tmpfld2d( itilepos,jtilepos,itile,jtile )
133    
134     #endif /* ALLOW_SFLUX_CONTROL */
135    
136     #ifdef ALLOW_USTRESS_CONTROL
137     else if ( grdchkvarindex .eq. 5 ) then
138     il=ilnblnk( xx_tauu_file )
139     write(fname(1:80),'(80a)') ' '
140     write(fname(1:80),'(3a,i10.10)')
141     & yadmark, xx_tauu_file(1:il),'.',optimcycle
142    
143     call active_read_xy( fname, tmpfld2d, icvrec,
144     & doglobalread, ladinit, optimcycle,
145     & mythid, dummy)
146    
147     xx_comp = tmpfld2d( itilepos,jtilepos,itile,jtile )
148    
149     #endif /* ALLOW_USTRESS_CONTROL */
150    
151     #ifdef ALLOW_VSTRESS_CONTROL
152     else if ( grdchkvarindex .eq. 6 ) then
153     il=ilnblnk( xx_tauv_file )
154     write(fname(1:80),'(80a)') ' '
155     write(fname(1:80),'(3a,i10.10)')
156     & yadmark, xx_tauv_file(1:il),'.',optimcycle
157    
158     call active_read_xy( fname, tmpfld2d, icvrec,
159     & doglobalread, ladinit, optimcycle,
160     & mythid, dummy)
161    
162     xx_comp = tmpfld2d( itilepos,jtilepos,itile,jtile )
163    
164     #endif /* ALLOW_VSTRESS_CONTROL */
165    
166     #ifdef ALLOW_TR10_CONTROL
167     else if ( grdchkvarindex .eq. 17 ) then
168     il=ilnblnk( xx_tr1_file )
169     write(fname(1:80),'(80a)') ' '
170     write(fname(1:80),'(3a,i10.10)')
171     & yadmark, xx_tr1_file(1:il),'.',optimcycle
172    
173     call active_read_xyz( fname, tmpfld3d, 1,
174     & doglobalread, ladinit, optimcycle,
175     & mythid, dummy)
176    
177     xx_comp = tmpfld3d( itilepos,jtilepos,layer,itile,jtile )
178    
179     #endif /* ALLOW_TR10_CONTROL */
180    
181     #ifdef ALLOW_SST0_CONTROL
182     else if ( grdchkvarindex .eq. 18 ) then
183     il=ilnblnk( xx_sst_file )
184     write(fname(1:80),'(80a)') ' '
185     write(fname(1:80),'(3a,i10.10)')
186     & yadmark, xx_sst_file(1:il),'.',optimcycle
187    
188     call active_read_xy( fname, tmpfld2d, icvrec,
189     & doglobalread, ladinit, optimcycle,
190     & mythid, dummy)
191    
192     xx_comp = tmpfld2d( itilepos,jtilepos,itile,jtile )
193    
194     #endif /* ALLOW_SST0_CONTROL */
195    
196     #ifdef ALLOW_SSS0_CONTROL
197     else if ( grdchkvarindex .eq. 19 ) then
198     il=ilnblnk( xx_sss_file )
199     write(fname(1:80),'(80a)') ' '
200     write(fname(1:80),'(3a,i10.10)')
201     & yadmark, xx_sss_file(1:il),'.',optimcycle
202    
203     call active_read_xy( fname, tmpfld2d, icvrec,
204     & doglobalread, ladinit, optimcycle,
205     & mythid, dummy)
206    
207     xx_comp = tmpfld2d( itilepos,jtilepos,itile,jtile )
208    
209     #endif /* ALLOW_SSS0_CONTROL */
210 heimbach 1.3
211     #ifdef ALLOW_HFACC_CONTROL
212     else if ( grdchkvarindex .eq. 20 ) then
213     il=ilnblnk( xx_hfacc_file )
214     write(fname(1:80),'(80a)') ' '
215     write(fname(1:80),'(3a,i10.10)')
216     & yadmark, xx_hfacc_file(1:il),'.',optimcycle
217    
218     #ifdef ALLOW_HFACC3D_CONTROL
219    
220     call active_read_xyz( fname, tmpfld3d, icvrec,
221     & doglobalread, ladinit, optimcycle,
222     & mythid, dummy)
223    
224     xx_comp = tmpfld3d( itilepos,jtilepos,layer,itile,jtile )
225    
226     #else
227    
228     call active_read_xy( fname, tmpfld2d, icvrec,
229     & doglobalread, ladinit, optimcycle,
230     & mythid, dummy)
231    
232     xx_comp = tmpfld2d( itilepos,jtilepos,itile,jtile )
233    
234     #endif /* ALLOW_HFACC3D_CONTROL */
235     #endif /* ALLOW_HFACC_CONTROL */
236 heimbach 1.2
237     else
238     ce --> this index does not exist yet.
239     endif
240    
241     #endif /* ALLOW_GRADIENT_CHECK */
242    
243     end
244    

  ViewVC Help
Powered by ViewVC 1.1.22