/[MITgcm]/MITgcm/pkg/obcs/obcs_init_variables.F
ViewVC logotype

Annotation of /MITgcm/pkg/obcs/obcs_init_variables.F

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


Revision 1.36 - (hide annotations) (download)
Mon Nov 8 17:35:08 2010 UTC (13 years, 7 months ago) by jmc
Branch: MAIN
CVS Tags: checkpoint62v, checkpoint62u, checkpoint62t, checkpoint62s, checkpoint62r, checkpoint62q, checkpoint62p, checkpoint62o, checkpoint62n
Changes since 1.35: +24 -8 lines
add calls to OBCS_COPY_TRACER (for Theta, Salt and pTracers)

1 jmc 1.36 C $Header: /u/gcmpack/MITgcm/pkg/obcs/obcs_init_variables.F,v 1.35 2010/10/25 23:31:02 jmc Exp $
2 adcroft 1.3 C $Name: $
3 adcroft 1.2
4     #include "OBCS_OPTIONS.h"
5    
6 jmc 1.35 CBOP
7     C !ROUTINE: OBCS_INIT_VARIABLES
8     C !INTERFACE:
9 adcroft 1.2 SUBROUTINE OBCS_INIT_VARIABLES( myThid )
10 jmc 1.35
11     C !DESCRIPTION:
12 jmc 1.33 C *==========================================================*
13     C | SUBROUTINE OBCS_INIT_VARIABLES
14     C | o Initialise OBCs variable data
15     C *==========================================================*
16     C *==========================================================*
17 jmc 1.35
18     C !USES:
19 adcroft 1.2 IMPLICIT NONE
20     C === Global variables ===
21     #include "SIZE.h"
22     #include "EEPARAMS.h"
23     #include "PARAMS.h"
24     #include "DYNVARS.h"
25     #include "OBCS.h"
26 jmc 1.17 #ifdef ALLOW_PTRACERS
27 mlosch 1.14 #include "PTRACERS_SIZE.h"
28 jmc 1.24 #include "PTRACERS_PARAMS.h"
29     #include "PTRACERS_FIELDS.h"
30 mlosch 1.14 #include "OBCS_PTRACERS.h"
31     #endif /* ALLOW_PTRACERS */
32 adcroft 1.2
33 jmc 1.35 C !INPUT/OUTPUT PARAMETERS:
34 adcroft 1.2 C == Routine arguments ==
35 jmc 1.35 C myThid :: my Thread Id Number
36 adcroft 1.2 INTEGER myThid
37 jmc 1.35 CEOP
38 adcroft 1.2
39     #ifdef ALLOW_OBCS
40    
41 jmc 1.35 C !LOCAL VARIABLES:
42 adcroft 1.2 C == Local variables ==
43     INTEGER bi, bj
44     INTEGER I, J, K
45 mlosch 1.14 #ifdef ALLOW_PTRACERS
46     INTEGER iTracer
47     #endif /* ALLOW_PTRACERS */
48 adcroft 1.2
49 adcroft 1.12 #ifdef ALLOW_DEBUG
50     IF (debugMode) CALL DEBUG_ENTER('OBCS_INIT_VARIABLES',myThid)
51     #endif
52    
53 adcroft 1.2 DO bj = myByLo(myThid), myByHi(myThid)
54     DO bi = myBxLo(myThid), myBxHi(myThid)
55    
56     DO K=1,Nr
57     DO I=1-Olx,sNx+Olx
58 heimbach 1.10 #ifdef ALLOW_OBCS_NORTH
59     OBNu(I,K,bi,bj)=0. _d 0
60     OBNv(I,K,bi,bj)=0. _d 0
61     OBNt(I,K,bi,bj)=0. _d 0
62     OBNs(I,K,bi,bj)=0. _d 0
63     # ifdef ALLOW_OBCS_PRESCRIBE
64     OBNu0(I,K,bi,bj)=0. _d 0
65     OBNv0(I,K,bi,bj)=0. _d 0
66     OBNt0(I,K,bi,bj)=0. _d 0
67     OBNs0(I,K,bi,bj)=0. _d 0
68     OBNu1(I,K,bi,bj)=0. _d 0
69     OBNv1(I,K,bi,bj)=0. _d 0
70     OBNt1(I,K,bi,bj)=0. _d 0
71     OBNs1(I,K,bi,bj)=0. _d 0
72     # endif
73     #endif /* ALLOW_OBCS_NORTH */
74    
75     #ifdef ALLOW_OBCS_SOUTH
76     OBSu(I,K,bi,bj)=0. _d 0
77     OBSv(I,K,bi,bj)=0. _d 0
78     OBSt(I,K,bi,bj)=0. _d 0
79     OBSs(I,K,bi,bj)=0. _d 0
80     # ifdef ALLOW_OBCS_PRESCRIBE
81     OBSu0(I,K,bi,bj)=0. _d 0
82     OBSv0(I,K,bi,bj)=0. _d 0
83     OBSt0(I,K,bi,bj)=0. _d 0
84     OBSs0(I,K,bi,bj)=0. _d 0
85     OBSu1(I,K,bi,bj)=0. _d 0
86     OBSv1(I,K,bi,bj)=0. _d 0
87     OBSt1(I,K,bi,bj)=0. _d 0
88     OBSs1(I,K,bi,bj)=0. _d 0
89     # endif
90     #endif /* ALLOW_OBCS_SOUTH */
91 adcroft 1.2 ENDDO
92 heimbach 1.10
93 adcroft 1.2 DO J=1-Oly,sNy+Oly
94 heimbach 1.10 #ifdef ALLOW_OBCS_EAST
95     OBEu(J,K,bi,bj)=0. _d 0
96     OBEv(J,K,bi,bj)=0. _d 0
97     OBEt(J,K,bi,bj)=0. _d 0
98     OBEs(J,K,bi,bj)=0. _d 0
99     # ifdef ALLOW_OBCS_PRESCRIBE
100     OBEu0(J,K,bi,bj)=0. _d 0
101     OBEv0(J,K,bi,bj)=0. _d 0
102     OBEt0(J,K,bi,bj)=0. _d 0
103     OBEs0(J,K,bi,bj)=0. _d 0
104     OBEu1(J,K,bi,bj)=0. _d 0
105     OBEv1(J,K,bi,bj)=0. _d 0
106     OBEt1(J,K,bi,bj)=0. _d 0
107     OBEs1(J,K,bi,bj)=0. _d 0
108     # endif
109     #endif /* ALLOW_OBCS_EAST */
110    
111     #ifdef ALLOW_OBCS_WEST
112     OBWu(J,K,bi,bj)=0. _d 0
113     OBWv(J,K,bi,bj)=0. _d 0
114     OBWt(J,K,bi,bj)=0. _d 0
115     OBWs(J,K,bi,bj)=0. _d 0
116     # ifdef ALLOW_OBCS_PRESCRIBE
117     OBWu0(J,K,bi,bj)=0. _d 0
118     OBWv0(J,K,bi,bj)=0. _d 0
119     OBWt0(J,K,bi,bj)=0. _d 0
120     OBWs0(J,K,bi,bj)=0. _d 0
121     OBWu1(J,K,bi,bj)=0. _d 0
122     OBWv1(J,K,bi,bj)=0. _d 0
123     OBWt1(J,K,bi,bj)=0. _d 0
124     OBWs1(J,K,bi,bj)=0. _d 0
125     # endif
126     #endif /* ALLOW_OBCS_WEST */
127 adcroft 1.2 ENDDO
128     ENDDO
129 jmc 1.5
130 jmc 1.33 #ifdef ALLOW_NONHYDROSTATIC
131     DO K=1,Nr
132     DO I=1-Olx,sNx+Olx
133     OBNw (I,K,bi,bj) = 0. _d 0
134     OBSw (I,K,bi,bj) = 0. _d 0
135     # ifdef ALLOW_OBCS_PRESCRIBE
136     OBNw0(I,K,bi,bj) = 0. _d 0
137     OBSw0(I,K,bi,bj) = 0. _d 0
138     OBNw1(I,K,bi,bj) = 0. _d 0
139     OBSw1(I,K,bi,bj) = 0. _d 0
140     # endif
141     ENDDO
142     DO J=1-Oly,sNy+Oly
143     OBEw (J,K,bi,bj) = 0. _d 0
144     OBWw (J,K,bi,bj) = 0. _d 0
145     # ifdef ALLOW_OBCS_PRESCRIBE
146     OBEw0(J,K,bi,bj) = 0. _d 0
147     OBWw0(J,K,bi,bj) = 0. _d 0
148     OBEw1(J,K,bi,bj) = 0. _d 0
149     OBWw1(J,K,bi,bj) = 0. _d 0
150     # endif
151     ENDDO
152     ENDDO
153     #endif /* ALLOW_NONHYDROSTATIC */
154    
155     #ifdef NONLIN_FRSURF
156     DO I=1-Olx,sNx+Olx
157     OBNeta (I,bi,bj) = 0. _d 0
158     OBSeta (I,bi,bj) = 0. _d 0
159     # ifdef ALLOW_OBCS_PRESCRIBE
160     OBNeta0(I,bi,bj) = 0. _d 0
161     OBSeta0(I,bi,bj) = 0. _d 0
162     OBNeta1(I,bi,bj) = 0. _d 0
163     OBSeta1(I,bi,bj) = 0. _d 0
164     # endif
165     ENDDO
166     DO J=1-Oly,sNy+Oly
167     OBEeta (J,bi,bj) = 0. _d 0
168     OBWeta (J,bi,bj) = 0. _d 0
169     # ifdef ALLOW_OBCS_PRESCRIBE
170     OBEeta0(J,bi,bj) = 0. _d 0
171     OBWeta0(J,bi,bj) = 0. _d 0
172     OBEeta1(J,bi,bj) = 0. _d 0
173     OBWeta1(J,bi,bj) = 0. _d 0
174     # endif
175     ENDDO
176     #endif /* NONLIN_FRSURF */
177    
178     C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
179    
180 dimitri 1.21 #ifdef ALLOW_SEAICE
181     DO I=1-Olx,sNx+Olx
182     #ifdef ALLOW_OBCS_NORTH
183     OBNa (I,bi,bj)=0. _d 0
184     OBNh (I,bi,bj)=0. _d 0
185     OBNa0(I,bi,bj)=0. _d 0
186     OBNh0(I,bi,bj)=0. _d 0
187     OBNa1(I,bi,bj)=0. _d 0
188     OBNh1(I,bi,bj)=0. _d 0
189 dimitri 1.22 OBNsl (I,bi,bj)=0. _d 0
190     OBNsn (I,bi,bj)=0. _d 0
191     OBNsl0(I,bi,bj)=0. _d 0
192     OBNsn0(I,bi,bj)=0. _d 0
193     OBNsl1(I,bi,bj)=0. _d 0
194     OBNsn1(I,bi,bj)=0. _d 0
195 dimitri 1.23 OBNuice (I,bi,bj)=0. _d 0
196     OBNvice (I,bi,bj)=0. _d 0
197     OBNuice0(I,bi,bj)=0. _d 0
198     OBNvice0(I,bi,bj)=0. _d 0
199     OBNuice1(I,bi,bj)=0. _d 0
200     OBNvice1(I,bi,bj)=0. _d 0
201 dimitri 1.21 #endif /* ALLOW_OBCS_NORTH */
202     #ifdef ALLOW_OBCS_SOUTH
203     OBSa (I,bi,bj)=0. _d 0
204     OBSh (I,bi,bj)=0. _d 0
205     OBSa0(I,bi,bj)=0. _d 0
206     OBSh0(I,bi,bj)=0. _d 0
207     OBSa1(I,bi,bj)=0. _d 0
208     OBSh1(I,bi,bj)=0. _d 0
209 dimitri 1.22 OBSsl (I,bi,bj)=0. _d 0
210     OBSsn (I,bi,bj)=0. _d 0
211     OBSsl0(I,bi,bj)=0. _d 0
212     OBSsn0(I,bi,bj)=0. _d 0
213     OBSsl1(I,bi,bj)=0. _d 0
214     OBSsn1(I,bi,bj)=0. _d 0
215 dimitri 1.23 OBSuice (I,bi,bj)=0. _d 0
216     OBSvice (I,bi,bj)=0. _d 0
217     OBSuice0(I,bi,bj)=0. _d 0
218     OBSvice0(I,bi,bj)=0. _d 0
219     OBSuice1(I,bi,bj)=0. _d 0
220     OBSvice1(I,bi,bj)=0. _d 0
221 dimitri 1.21 #endif /* ALLOW_OBCS_SOUTH */
222     ENDDO
223     DO J=1-Oly,sNy+Oly
224     #ifdef ALLOW_OBCS_EAST
225     OBEa (J,bi,bj)=0. _d 0
226     OBEh (J,bi,bj)=0. _d 0
227     OBEa0(J,bi,bj)=0. _d 0
228     OBEh0(J,bi,bj)=0. _d 0
229     OBEa1(J,bi,bj)=0. _d 0
230     OBEh1(J,bi,bj)=0. _d 0
231 dimitri 1.25 OBEsl (J,bi,bj)=0. _d 0
232     OBEsn (J,bi,bj)=0. _d 0
233     OBEsl0(J,bi,bj)=0. _d 0
234     OBEsn0(J,bi,bj)=0. _d 0
235     OBEsl1(J,bi,bj)=0. _d 0
236     OBEsn1(J,bi,bj)=0. _d 0
237     OBEuice (J,bi,bj)=0. _d 0
238     OBEvice (J,bi,bj)=0. _d 0
239     OBEuice0(J,bi,bj)=0. _d 0
240     OBEvice0(J,bi,bj)=0. _d 0
241     OBEuice1(J,bi,bj)=0. _d 0
242     OBEvice1(J,bi,bj)=0. _d 0
243 dimitri 1.21 #endif /* ALLOW_OBCS_EAST */
244     #ifdef ALLOW_OBCS_WEST
245     OBWa (J,bi,bj)=0. _d 0
246     OBWh (J,bi,bj)=0. _d 0
247     OBWa0(J,bi,bj)=0. _d 0
248     OBWh0(J,bi,bj)=0. _d 0
249     OBWa1(J,bi,bj)=0. _d 0
250     OBWh1(J,bi,bj)=0. _d 0
251 dimitri 1.25 OBWsl (J,bi,bj)=0. _d 0
252     OBWsn (J,bi,bj)=0. _d 0
253     OBWsl0(J,bi,bj)=0. _d 0
254     OBWsn0(J,bi,bj)=0. _d 0
255     OBWsl1(J,bi,bj)=0. _d 0
256     OBWsn1(J,bi,bj)=0. _d 0
257     OBWuice (J,bi,bj)=0. _d 0
258     OBWvice (J,bi,bj)=0. _d 0
259     OBWuice0(J,bi,bj)=0. _d 0
260     OBWvice0(J,bi,bj)=0. _d 0
261     OBWuice1(J,bi,bj)=0. _d 0
262     OBWvice1(J,bi,bj)=0. _d 0
263 dimitri 1.21 #endif /* ALLOW_OBCS_WEST */
264     ENDDO
265     #endif /* ALLOW_SEAICE */
266    
267 mlosch 1.14 #ifdef ALLOW_PTRACERS
268 mlosch 1.20 #ifndef ALLOW_AUTODIFF_TAMC
269 mlosch 1.16 IF ( usePTRACERS ) THEN
270 mlosch 1.20 #endif
271 mlosch 1.16 DO iTracer=1,PTRACERS_numInUse
272     DO K=1,Nr
273     DO I=1-Olx,sNx+Olx
274 mlosch 1.14 #ifdef ALLOW_OBCS_NORTH
275 mlosch 1.16 OBNptr (I,K,bi,bj,iTracer)=0. _d 0
276 mlosch 1.14 # ifdef ALLOW_OBCS_PRESCRIBE
277 mlosch 1.16 OBNptr0(I,K,bi,bj,iTracer)=0. _d 0
278     OBNptr1(I,K,bi,bj,iTracer)=0. _d 0
279 mlosch 1.14 # endif
280     #endif /* ALLOW_OBCS_NORTH */
281 jmc 1.27
282 mlosch 1.14 #ifdef ALLOW_OBCS_SOUTH
283 mlosch 1.16 OBSptr (I,K,bi,bj,iTracer)=0. _d 0
284 mlosch 1.14 # ifdef ALLOW_OBCS_PRESCRIBE
285 mlosch 1.16 OBSptr0(I,K,bi,bj,iTracer)=0. _d 0
286     OBSptr1(I,K,bi,bj,iTracer)=0. _d 0
287 mlosch 1.14 # endif
288     #endif /* ALLOW_OBCS_SOUTH */
289 mlosch 1.16 ENDDO
290 jmc 1.27
291 mlosch 1.16 DO J=1-Oly,sNy+Oly
292 mlosch 1.14 #ifdef ALLOW_OBCS_EAST
293 mlosch 1.16 OBEptr (J,K,bi,bj,iTracer)=0. _d 0
294 mlosch 1.14 # ifdef ALLOW_OBCS_PRESCRIBE
295 mlosch 1.16 OBEptr0(J,K,bi,bj,iTracer)=0. _d 0
296     OBEptr1(J,K,bi,bj,iTracer)=0. _d 0
297 mlosch 1.14 # endif
298     #endif /* ALLOW_OBCS_EAST */
299 jmc 1.27
300 mlosch 1.14 #ifdef ALLOW_OBCS_WEST
301 mlosch 1.16 OBWptr (J,K,bi,bj,iTracer)=0. _d 0
302 mlosch 1.14 # ifdef ALLOW_OBCS_PRESCRIBE
303 mlosch 1.16 OBWptr0(J,K,bi,bj,iTracer)=0. _d 0
304     OBWptr1(J,K,bi,bj,iTracer)=0. _d 0
305 mlosch 1.14 # endif
306     #endif /* ALLOW_OBCS_WEST */
307 mlosch 1.16 ENDDO
308 mlosch 1.14 ENDDO
309     ENDDO
310 mlosch 1.20 #ifndef ALLOW_AUTODIFF_TAMC
311 mlosch 1.16 ENDIF
312 mlosch 1.20 #endif
313 mlosch 1.14 #endif /* ALLOW_PTRACERS */
314    
315 jmc 1.33 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
316 adcroft 1.2
317     #ifdef ALLOW_ORLANSKI
318     IF (useOrlanskiNorth.OR.useOrlanskiSouth.OR.
319     & useOrlanskiEast.OR.useOrlanskiWest) THEN
320 adcroft 1.12 #ifdef ALLOW_DEBUG
321     IF (debugMode) CALL DEBUG_CALL('ORLANSKI_INIT',myThid)
322     #endif
323 adcroft 1.2 CALL ORLANSKI_INIT(bi, bj, myThid)
324     ENDIF
325     #endif /* ALLOW_ORLANSKI */
326 adcroft 1.3
327     ENDDO
328 jmc 1.27 ENDDO
329 jmc 1.7
330 adcroft 1.9 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
331 jmc 1.29 C Only needed for Orlanski:
332 jmc 1.31 IF ( nIter0.NE.0 .OR. pickupSuff.NE.' ' ) THEN
333 jmc 1.29 CALL OBCS_READ_PICKUP( nIter0, myThid )
334 jmc 1.31 ENDIF
335 mlosch 1.30 C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|
336 adcroft 1.9
337 jmc 1.29 C-- Load/compute OBCS values (initial conditions only)
338 jmc 1.31 IF ( nIter0.EQ.0 .AND. pickupSuff.EQ.' ' ) THEN
339 adcroft 1.12 #ifdef ALLOW_DEBUG
340 jmc 1.29 IF (debugMode) CALL DEBUG_CALL('OBCS_CALC',myThid)
341 adcroft 1.12 #endif
342 jahn 1.34 CALL OBCS_CALC( startTime, nIter0,
343 jmc 1.29 & uVel, vVel, wVel, theta, salt, myThid )
344 heimbach 1.10
345 jmc 1.17 C-- Apply OBCS values to initial conditions for consistency
346     C (but initial conditions only)
347 adcroft 1.12 #ifdef ALLOW_DEBUG
348 jmc 1.27 IF (debugMode)
349 jmc 1.35 & CALL DEBUG_CALL('OBCS_APPLY_UV + OBCS_APPLY_TS',myThid)
350 adcroft 1.12 #endif
351 mlosch 1.15 DO bj = myByLo(myThid), myByHi(myThid)
352     DO bi = myBxLo(myThid), myBxHi(myThid)
353 jmc 1.35 CALL OBCS_APPLY_UV( bi, bj, 0, uVel, vVel, myThid )
354 jmc 1.36 CALL OBCS_APPLY_TS( bi, bj, 0, theta, salt, myThid )
355 mlosch 1.15 ENDDO
356     ENDDO
357 mlosch 1.18 IF (useOBCSprescribe) THEN
358     C After applying the boundary conditions exchange the 3D-fields.
359 jmc 1.32 C This is only necessary of the boundary values have been read
360 mlosch 1.18 C from a file.
361     #ifdef ALLOW_DEBUG
362 jmc 1.27 IF (debugMode)
363 jmc 1.35 & CALL DEBUG_CALL('EXCHANGES in OBCS_INIT_VARIABLES',myThid)
364 mlosch 1.18 #endif
365     CALL EXCH_UV_XYZ_RL(uVel,vVel,.TRUE.,myThid)
366 jmc 1.26 _EXCH_XYZ_RL( theta, myThid )
367     _EXCH_XYZ_RL( salt , myThid )
368 mlosch 1.18 ENDIF
369     C endif start from rest
370 jmc 1.31 #ifdef ALLOW_OBCS_PRESCRIBE
371 jmc 1.32 ELSEIF ( useOBCSprescribe ) THEN
372     C No real need to set OB values here.
373     C However, with present implementation, only do initialisation when called
374     C with myTime=startTime (S/R EXF_GETFFIELDREC, setting "first")
375     C or with myIter=nIter0 (S/R OBCS_EXTERNAL_FIELDS_LOAD). And this
376     C cannot be changed because of OBCS_CALC(startTime,nIter0) call above.
377 jmc 1.31 CALL OBCS_PRESCRIBE_READ( startTime, nIter0, myThid )
378     #endif
379 mlosch 1.18 ENDIF
380 jmc 1.36 DO bj = myByLo(myThid), myByHi(myThid)
381     DO bi = myBxLo(myThid), myBxHi(myThid)
382     CALL OBCS_COPY_TRACER( theta(1-Olx,1-Oly,1,bi,bj),
383     I Nr, bi, bj, myThid )
384     CALL OBCS_COPY_TRACER( salt (1-Olx,1-Oly,1,bi,bj),
385     I Nr, bi, bj, myThid )
386     ENDDO
387     ENDDO
388 jmc 1.31
389 mlosch 1.14 #ifdef ALLOW_PTRACERS
390 mlosch 1.15 C repeat everything for passive tracers
391 mlosch 1.18 IF ( usePTRACERS ) THEN
392     C catch the case when we do start from a pickup for dynamics variables
393     C but initialise ptracers differently
394 jmc 1.36 IF ( nIter0.EQ.PTRACERS_Iter0 ) THEN
395 mlosch 1.15 #ifdef ALLOW_DEBUG
396 jmc 1.27 IF (debugMode)
397 mlosch 1.15 & CALL DEBUG_CALL('OBCS_APPLY_PTRACER',myThid)
398     #endif
399     DO iTracer=1,PTRACERS_numInUse
400     DO bj = myByLo(myThid), myByHi(myThid)
401     DO bi = myBxLo(myThid), myBxHi(myThid)
402     DO K=1,Nr
403 jmc 1.27 CALL OBCS_APPLY_PTRACER(
404     I bi, bj, K, iTracer,
405 mlosch 1.18 U ptracer(1-Olx,1-Oly,K,bi,bj,iTracer),
406 mlosch 1.15 I myThid )
407     ENDDO
408     ENDDO
409 mlosch 1.14 ENDDO
410 mlosch 1.15 ENDDO
411 jmc 1.36 C endif start from rest
412     ENDIF
413     IF ( nIter0.EQ.PTRACERS_Iter0 .AND. useOBCSprescribe ) THEN
414 mlosch 1.11 C After applying the boundary conditions exchange the 3D-fields.
415 jmc 1.32 C This is only necessary of the boundary values have been read
416 mlosch 1.11 C from a file.
417 adcroft 1.12 #ifdef ALLOW_DEBUG
418 jmc 1.27 IF (debugMode) CALL DEBUG_CALL(
419 mlosch 1.18 & 'PTRACERS EXCHANGES in OBCS_INIT_VARIABLES',myThid)
420 adcroft 1.12 #endif
421 jmc 1.19 CALL PTRACERS_FIELDS_BLOCKING_EXCH( myThid )
422 jmc 1.36 ELSE
423     C- This call is part of ptracers exchange S/R but is needed in all cases
424     DO iTracer=1,PTRACERS_numInUse
425     DO bj = myByLo(myThid), myByHi(myThid)
426     DO bi = myBxLo(myThid), myBxHi(myThid)
427     CALL OBCS_COPY_TRACER( pTracer(1-Olx,1-Oly,1,bi,bj,iTracer),
428     I Nr, bi, bj, myThid )
429     ENDDO
430     ENDDO
431     ENDDO
432 mlosch 1.15 ENDIF
433 mlosch 1.18 C endif usePTRACERS
434     ENDIF
435 mlosch 1.15 #endif /* ALLOW_PTRACERS */
436 mlosch 1.11
437 adcroft 1.2 #endif /* ALLOW_OBCS */
438 heimbach 1.10
439 adcroft 1.12 #ifdef ALLOW_DEBUG
440     IF (debugMode) CALL DEBUG_LEAVE('OBCS_INIT_VARIABLES',myThid)
441     #endif
442 adcroft 1.2 RETURN
443     END

  ViewVC Help
Powered by ViewVC 1.1.22