234 |
OBNptr1(I,K,bi,bj,iTracer)=0. _d 0 |
OBNptr1(I,K,bi,bj,iTracer)=0. _d 0 |
235 |
# endif |
# endif |
236 |
#endif /* ALLOW_OBCS_NORTH */ |
#endif /* ALLOW_OBCS_NORTH */ |
237 |
|
|
238 |
#ifdef ALLOW_OBCS_SOUTH |
#ifdef ALLOW_OBCS_SOUTH |
239 |
OBSptr (I,K,bi,bj,iTracer)=0. _d 0 |
OBSptr (I,K,bi,bj,iTracer)=0. _d 0 |
240 |
# ifdef ALLOW_OBCS_PRESCRIBE |
# ifdef ALLOW_OBCS_PRESCRIBE |
243 |
# endif |
# endif |
244 |
#endif /* ALLOW_OBCS_SOUTH */ |
#endif /* ALLOW_OBCS_SOUTH */ |
245 |
ENDDO |
ENDDO |
246 |
|
|
247 |
DO J=1-Oly,sNy+Oly |
DO J=1-Oly,sNy+Oly |
248 |
#ifdef ALLOW_OBCS_EAST |
#ifdef ALLOW_OBCS_EAST |
249 |
OBEptr (J,K,bi,bj,iTracer)=0. _d 0 |
OBEptr (J,K,bi,bj,iTracer)=0. _d 0 |
252 |
OBEptr1(J,K,bi,bj,iTracer)=0. _d 0 |
OBEptr1(J,K,bi,bj,iTracer)=0. _d 0 |
253 |
# endif |
# endif |
254 |
#endif /* ALLOW_OBCS_EAST */ |
#endif /* ALLOW_OBCS_EAST */ |
255 |
|
|
256 |
#ifdef ALLOW_OBCS_WEST |
#ifdef ALLOW_OBCS_WEST |
257 |
OBWptr (J,K,bi,bj,iTracer)=0. _d 0 |
OBWptr (J,K,bi,bj,iTracer)=0. _d 0 |
258 |
# ifdef ALLOW_OBCS_PRESCRIBE |
# ifdef ALLOW_OBCS_PRESCRIBE |
290 |
#endif /* ALLOW_ORLANSKI */ |
#endif /* ALLOW_ORLANSKI */ |
291 |
|
|
292 |
ENDDO |
ENDDO |
293 |
ENDDO |
ENDDO |
294 |
|
|
295 |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----| |
296 |
C jmc: here is the logical place to read OBCS-pickup files |
C jmc: here is the logical place to read OBCS-pickup files |
297 |
C but a) without Orlanski: pass the test 1+1=2 without reading pickup. |
C but a) without Orlanski: pass the test 1+1=2 without reading pickup. |
298 |
C b) with Orlanski: 1+1=2 fail even with this bit of code |
C b) with Orlanski: 1+1=2 fail even with this bit of code |
299 |
IF ( nIter0.NE.0 ) THEN |
IF ( nIter0.NE.0 .OR. pickupSuff.NE.' ' ) THEN |
300 |
prec = precFloat64 |
prec = precFloat64 |
301 |
IF (pickupSuff.EQ.' ') THEN |
IF (pickupSuff.EQ.' ') THEN |
302 |
WRITE(suff,'(I10.10)') nIter0 |
WRITE(suff,'(I10.10)') nIter0 |
324 |
C-- Apply OBCS values to initial conditions for consistency |
C-- Apply OBCS values to initial conditions for consistency |
325 |
C (but initial conditions only) |
C (but initial conditions only) |
326 |
#ifdef ALLOW_DEBUG |
#ifdef ALLOW_DEBUG |
327 |
IF (debugMode) |
IF (debugMode) |
328 |
& CALL DEBUG_CALL('OBCS_APPLY_UV + OBCS_APPLY_TS',myThid) |
& CALL DEBUG_CALL('OBCS_APPLY_UV + OBCS_APPLY_TS',myThid) |
329 |
#endif |
#endif |
330 |
DO bj = myByLo(myThid), myByHi(myThid) |
DO bj = myByLo(myThid), myByHi(myThid) |
340 |
C This is only necessary of the boudnary values have been read |
C This is only necessary of the boudnary values have been read |
341 |
C from a file. |
C from a file. |
342 |
#ifdef ALLOW_DEBUG |
#ifdef ALLOW_DEBUG |
343 |
IF (debugMode) |
IF (debugMode) |
344 |
& CALL DEBUG_CALL('EXCHANGES in OBCS_INIT_VARIABLES',myThid) |
& CALL DEBUG_CALL('EXCHANGES in OBCS_INIT_VARIABLES',myThid) |
345 |
#endif |
#endif |
346 |
CALL EXCH_UV_XYZ_RL(uVel,vVel,.TRUE.,myThid) |
CALL EXCH_UV_XYZ_RL(uVel,vVel,.TRUE.,myThid) |
356 |
C but initialise ptracers differently |
C but initialise ptracers differently |
357 |
IF ( nIter0 .EQ. PTRACERS_Iter0 ) THEN |
IF ( nIter0 .EQ. PTRACERS_Iter0 ) THEN |
358 |
#ifdef ALLOW_DEBUG |
#ifdef ALLOW_DEBUG |
359 |
IF (debugMode) |
IF (debugMode) |
360 |
& CALL DEBUG_CALL('OBCS_APPLY_PTRACER',myThid) |
& CALL DEBUG_CALL('OBCS_APPLY_PTRACER',myThid) |
361 |
#endif |
#endif |
362 |
DO iTracer=1,PTRACERS_numInUse |
DO iTracer=1,PTRACERS_numInUse |
363 |
DO bj = myByLo(myThid), myByHi(myThid) |
DO bj = myByLo(myThid), myByHi(myThid) |
364 |
DO bi = myBxLo(myThid), myBxHi(myThid) |
DO bi = myBxLo(myThid), myBxHi(myThid) |
365 |
DO K=1,Nr |
DO K=1,Nr |
366 |
CALL OBCS_APPLY_PTRACER( |
CALL OBCS_APPLY_PTRACER( |
367 |
I bi, bj, K, iTracer, |
I bi, bj, K, iTracer, |
368 |
U ptracer(1-Olx,1-Oly,K,bi,bj,iTracer), |
U ptracer(1-Olx,1-Oly,K,bi,bj,iTracer), |
369 |
I myThid ) |
I myThid ) |
370 |
ENDDO |
ENDDO |
376 |
C This is only necessary of the boudnary values have been read |
C This is only necessary of the boudnary values have been read |
377 |
C from a file. |
C from a file. |
378 |
#ifdef ALLOW_DEBUG |
#ifdef ALLOW_DEBUG |
379 |
IF (debugMode) CALL DEBUG_CALL( |
IF (debugMode) CALL DEBUG_CALL( |
380 |
& 'PTRACERS EXCHANGES in OBCS_INIT_VARIABLES',myThid) |
& 'PTRACERS EXCHANGES in OBCS_INIT_VARIABLES',myThid) |
381 |
#endif |
#endif |
382 |
CALL PTRACERS_FIELDS_BLOCKING_EXCH( myThid ) |
CALL PTRACERS_FIELDS_BLOCKING_EXCH( myThid ) |