/[MITgcm]/MITgcm/pkg/ctrl/ctrl_init_variables.F
ViewVC logotype

Contents of /MITgcm/pkg/ctrl/ctrl_init_variables.F

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


Revision 1.14 - (show annotations) (download)
Sat Apr 26 19:20:43 2014 UTC (10 years ago) by jmc
Branch: MAIN
CVS Tags: checkpoint65b, checkpoint65c, checkpoint65a, checkpoint65, checkpoint64y, checkpoint64x, checkpoint64z, checkpoint64w
Changes since 1.13: +18 -18 lines
move additional anomaly fields of control vars (related to options:
ALLOW_KAPGM_CONTROL, ALLOW_KAPREDI_CONTROL and ALLOW_BOTTOMDRAG_CONTROL)
from DYNVARS.h into new header file: CTRL_FIELDS.h

1 C $Header: /u/gcmpack/MITgcm/pkg/ctrl/ctrl_init_variables.F,v 1.13 2012/08/10 19:38:57 jmc Exp $
2 C $Name: $
3
4 #include "CTRL_OPTIONS.h"
5
6 subroutine ctrl_init_variables( myThid )
7
8 c ==================================================================
9 c SUBROUTINE ctrl_init_variables
10 c ==================================================================
11 c
12 c o Set parts of the vector of control variables and initialize the
13 c rest to zero.
14 c
15 c started: heimbach@mit.edu 25-Mar-2002
16 c
17 c ==================================================================
18 c SUBROUTINE ctrl_init_variables
19 c ==================================================================
20
21 implicit none
22
23 c == global variables ==
24
25 #include "EEPARAMS.h"
26 #include "SIZE.h"
27 #include "PARAMS.h"
28 c#include "GRID.h"
29 c#include "DYNVARS.h"
30 #include "ctrl.h"
31 #include "CTRL_FIELDS.h"
32
33 c == routine arguments ==
34
35 integer myThid
36
37 c == local variables ==
38
39 integer bi,bj
40 integer i,j,k
41 integer itlo,ithi
42 integer jtlo,jthi
43 integer jmin,jmax
44 integer imin,imax
45 integer ntmp
46 integer ivarindex
47
48 c == end of interface ==
49
50 jtlo = myByLo(myThid)
51 jthi = myByHi(myThid)
52 itlo = myBxLo(myThid)
53 ithi = myBxHi(myThid)
54 jmin = 1-OLy
55 jmax = sNy+OLy
56 imin = 1-OLx
57 imax = sNx+OLx
58
59 #ifdef ALLOW_HFLUX_CONTROL
60 do bj = jtlo,jthi
61 do bi = itlo,ithi
62 do j = jmin,jmax
63 do i = imin,imax
64 xx_hflux0(i,j,bi,bj) = 0. _d 0
65 xx_hflux1(i,j,bi,bj) = 0. _d 0
66 enddo
67 enddo
68 enddo
69 enddo
70 #endif
71
72 #ifdef ALLOW_SFLUX_CONTROL
73 do bj = jtlo,jthi
74 do bi = itlo,ithi
75 do j = jmin,jmax
76 do i = imin,imax
77 xx_sflux0(i,j,bi,bj) = 0. _d 0
78 xx_sflux1(i,j,bi,bj) = 0. _d 0
79 enddo
80 enddo
81 enddo
82 enddo
83 #endif
84
85 #ifdef ALLOW_USTRESS_CONTROL
86 do bj = jtlo,jthi
87 do bi = itlo,ithi
88 do j = jmin,jmax
89 do i = imin,imax
90 xx_tauu0(i,j,bi,bj) = 0. _d 0
91 xx_tauu1(i,j,bi,bj) = 0. _d 0
92 enddo
93 enddo
94 enddo
95 enddo
96 #endif
97
98 #ifdef ALLOW_VSTRESS_CONTROL
99 do bj = jtlo,jthi
100 do bi = itlo,ithi
101 do j = jmin,jmax
102 do i = imin,imax
103 xx_tauv0(i,j,bi,bj) = 0. _d 0
104 xx_tauv1(i,j,bi,bj) = 0. _d 0
105 enddo
106 enddo
107 enddo
108 enddo
109 #endif
110
111 #ifdef ALLOW_UWIND_CONTROL
112 do bj = jtlo,jthi
113 do bi = itlo,ithi
114 do j = jmin,jmax
115 do i = imin,imax
116 xx_uwind0(i,j,bi,bj) = 0. _d 0
117 xx_uwind1(i,j,bi,bj) = 0. _d 0
118 enddo
119 enddo
120 enddo
121 enddo
122 #endif
123
124 #ifdef ALLOW_VWIND_CONTROL
125 do bj = jtlo,jthi
126 do bi = itlo,ithi
127 do j = jmin,jmax
128 do i = imin,imax
129 xx_vwind0(i,j,bi,bj) = 0. _d 0
130 xx_vwind1(i,j,bi,bj) = 0. _d 0
131 enddo
132 enddo
133 enddo
134 enddo
135 #endif
136
137 #ifdef ALLOW_ATEMP_CONTROL
138 do bj = jtlo,jthi
139 do bi = itlo,ithi
140 do j = jmin,jmax
141 do i = imin,imax
142 xx_atemp0(i,j,bi,bj) = 0. _d 0
143 xx_atemp1(i,j,bi,bj) = 0. _d 0
144 enddo
145 enddo
146 enddo
147 enddo
148 #endif
149
150 #ifdef ALLOW_AQH_CONTROL
151 do bj = jtlo,jthi
152 do bi = itlo,ithi
153 do j = jmin,jmax
154 do i = imin,imax
155 xx_aqh0(i,j,bi,bj) = 0. _d 0
156 xx_aqh1(i,j,bi,bj) = 0. _d 0
157 enddo
158 enddo
159 enddo
160 enddo
161 #endif
162
163 #ifdef ALLOW_PRECIP_CONTROL
164 do bj = jtlo,jthi
165 do bi = itlo,ithi
166 do j = jmin,jmax
167 do i = imin,imax
168 xx_precip0(i,j,bi,bj) = 0. _d 0
169 xx_precip1(i,j,bi,bj) = 0. _d 0
170 enddo
171 enddo
172 enddo
173 enddo
174 #endif
175
176 #ifdef ALLOW_SWFLUX_CONTROL
177 do bj = jtlo,jthi
178 do bi = itlo,ithi
179 do j = jmin,jmax
180 do i = imin,imax
181 xx_swflux0(i,j,bi,bj) = 0. _d 0
182 xx_swflux1(i,j,bi,bj) = 0. _d 0
183 enddo
184 enddo
185 enddo
186 enddo
187 #endif
188
189 #ifdef ALLOW_SWDOWN_CONTROL
190 do bj = jtlo,jthi
191 do bi = itlo,ithi
192 do j = jmin,jmax
193 do i = imin,imax
194 xx_swdown0(i,j,bi,bj) = 0. _d 0
195 xx_swdown1(i,j,bi,bj) = 0. _d 0
196 enddo
197 enddo
198 enddo
199 enddo
200 #endif
201
202 #ifdef ALLOW_LWFLUX_CONTROL
203 do bj = jtlo,jthi
204 do bi = itlo,ithi
205 do j = jmin,jmax
206 do i = imin,imax
207 xx_lwflux0(i,j,bi,bj) = 0. _d 0
208 xx_lwflux1(i,j,bi,bj) = 0. _d 0
209 enddo
210 enddo
211 enddo
212 enddo
213 #endif
214
215 #ifdef ALLOW_LWDOWN_CONTROL
216 do bj = jtlo,jthi
217 do bi = itlo,ithi
218 do j = jmin,jmax
219 do i = imin,imax
220 xx_lwdown0(i,j,bi,bj) = 0. _d 0
221 xx_lwdown1(i,j,bi,bj) = 0. _d 0
222 enddo
223 enddo
224 enddo
225 enddo
226 #endif
227
228 #ifdef ALLOW_EVAP_CONTROL
229 do bj = jtlo,jthi
230 do bi = itlo,ithi
231 do j = jmin,jmax
232 do i = imin,imax
233 xx_evap0(i,j,bi,bj) = 0. _d 0
234 xx_evap1(i,j,bi,bj) = 0. _d 0
235 enddo
236 enddo
237 enddo
238 enddo
239 #endif
240
241 #ifdef ALLOW_SNOWPRECIP_CONTROL
242 do bj = jtlo,jthi
243 do bi = itlo,ithi
244 do j = jmin,jmax
245 do i = imin,imax
246 xx_snowprecip0(i,j,bi,bj) = 0. _d 0
247 xx_snowprecip1(i,j,bi,bj) = 0. _d 0
248 enddo
249 enddo
250 enddo
251 enddo
252 #endif
253
254 #ifdef ALLOW_APRESSURE_CONTROL
255 do bj = jtlo,jthi
256 do bi = itlo,ithi
257 do j = jmin,jmax
258 do i = imin,imax
259 xx_apressure0(i,j,bi,bj) = 0. _d 0
260 xx_apressure1(i,j,bi,bj) = 0. _d 0
261 enddo
262 enddo
263 enddo
264 enddo
265 #endif
266
267 #ifdef ALLOW_RUNOFF_CONTROL
268 do bj = jtlo,jthi
269 do bi = itlo,ithi
270 do j = jmin,jmax
271 do i = imin,imax
272 xx_runoff0(i,j,bi,bj) = 0. _d 0
273 xx_runoff1(i,j,bi,bj) = 0. _d 0
274 enddo
275 enddo
276 enddo
277 enddo
278 #endif
279
280 #ifdef ALLOW_SST_CONTROL
281 do bj = jtlo,jthi
282 do bi = itlo,ithi
283 do j = jmin,jmax
284 do i = imin,imax
285 xx_sst0(i,j,bi,bj) = 0. _d 0
286 xx_sst1(i,j,bi,bj) = 0. _d 0
287 enddo
288 enddo
289 enddo
290 enddo
291 #endif
292
293 #ifdef ALLOW_SSS_CONTROL
294 do bj = jtlo,jthi
295 do bi = itlo,ithi
296 do j = jmin,jmax
297 do i = imin,imax
298 xx_sss0(i,j,bi,bj) = 0. _d 0
299 xx_sss1(i,j,bi,bj) = 0. _d 0
300 enddo
301 enddo
302 enddo
303 enddo
304 #endif
305
306 #ifdef ALLOW_SHIFWFLX_CONTROL
307 do bj = jtlo,jthi
308 do bi = itlo,ithi
309 do j = jmin,jmax
310 do i = imin,imax
311 xx_shifwflx0(i,j,bi,bj) = 0. _d 0
312 xx_shifwflx1(i,j,bi,bj) = 0. _d 0
313 enddo
314 enddo
315 enddo
316 enddo
317 #endif
318
319 #ifdef ALLOW_BOTTOMDRAG_CONTROL
320 do bj = jtlo,jthi
321 do bi = itlo,ithi
322 do j = jmin,jmax
323 do i = imin,imax
324 bottomDragFld(i,j,bi,bj) = 0. _d 0
325 enddo
326 enddo
327 enddo
328 enddo
329 #endif
330
331 #ifdef ALLOW_ATM_MEAN_CONTROL
332 do bj = jtlo,jthi
333 do bi = itlo,ithi
334 do j = jmin,jmax
335 do i = imin,imax
336 # ifdef ALLOW_ATEMP_CONTROL
337 xx_atemp_mean (i,j,bi,bj) = 0. _d 0
338 # endif
339 # ifdef ALLOW_AQH_CONTROL
340 xx_aqh_mean (i,j,bi,bj) = 0. _d 0
341 # endif
342 # ifdef ALLOW_UWIND_CONTROL
343 xx_uwind_mean (i,j,bi,bj) = 0. _d 0
344 # endif
345 # ifdef ALLOW_VWIND_CONTROL
346 xx_vwind_mean (i,j,bi,bj) = 0. _d 0
347 # endif
348 # ifdef ALLOW_PRECIP_CONTROL
349 xx_precip_mean(i,j,bi,bj) = 0. _d 0
350 # endif
351 # ifdef ALLOW_SWDOWN_CONTROL
352 xx_swdown_mean(i,j,bi,bj) = 0. _d 0
353 # endif
354 enddo
355 enddo
356 enddo
357 enddo
358 #endif /* ALLOW_ATM_MEAN_CONTROL */
359
360 #ifdef ALLOW_OBCS_CONTROL
361 IF (useOBCS) CALL CTRL_INIT_OBCS_VARIABLES( myThid )
362 #endif
363
364 RETURN
365 END

  ViewVC Help
Powered by ViewVC 1.1.22