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

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

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


Revision 1.2 - (show annotations) (download)
Fri Jul 13 14:50:46 2001 UTC (22 years, 11 months ago) by heimbach
Branch: MAIN
CVS Tags: checkpoint44e_post, checkpoint44f_post, checkpoint43a-release1mods, checkpoint40pre3, checkpoint40pre7, checkpoint40pre6, checkpoint40pre9, checkpoint40pre8, chkpt44d_post, release1_p1, release1_p2, release1_p3, checkpoint44e_pre, release1_b1, checkpoint43, release1_chkpt44d_post, checkpoint40pre2, release1-branch_tutorials, chkpt44a_post, checkpoint44h_pre, checkpoint40pre4, chkpt44c_pre, checkpoint45a_post, ecco_c44_e19, ecco_c44_e18, ecco_c44_e17, ecco_c44_e16, checkpoint44g_post, checkpoint45b_post, release1-branch-end, release1_final_v1, checkpoint44b_post, checkpoint44h_post, ecco_c44_e22, checkpoint40pre5, chkpt44a_pre, ecco_c44_e23, ecco_c44_e20, ecco_c44_e21, ecco-branch-mod1, ecco-branch-mod2, ecco-branch-mod3, ecco-branch-mod4, ecco-branch-mod5, release1_beta1, checkpoint44b_pre, checkpoint42, checkpoint40, checkpoint41, checkpoint44, checkpoint45, chkpt44c_post, checkpoint44f_pre, release1-branch_branchpoint
Branch point for: release1_final, release1-branch, release1, ecco-branch, release1_coupled
Changes since 1.1: +254 -0 lines
Adding gradient check package.

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

  ViewVC Help
Powered by ViewVC 1.1.22