/[MITgcm]/MITgcm/pkg/generic_advdiff/gad_advection.F
ViewVC logotype

Diff of /MITgcm/pkg/generic_advdiff/gad_advection.F

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

revision 1.24 by dimitri, Mon Jun 28 21:10:55 2004 UTC revision 1.27 by heimbach, Fri Sep 17 23:02:01 2004 UTC
# Line 44  C !USES: =============================== Line 44  C !USES: ===============================
44  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
45  # include "tamc.h"  # include "tamc.h"
46  # include "tamc_keys.h"  # include "tamc_keys.h"
47    # ifdef ALLOW_PTRACERS
48    #  include "PTRACERS_SIZE.h"
49    # endif
50  #endif  #endif
51  #ifdef ALLOW_EXCH2  #ifdef ALLOW_EXCH2
52  #include "W2_EXCH2_TOPOLOGY.h"  #include "W2_EXCH2_TOPOLOGY.h"
# Line 198  C--   Make local copy of tracer array Line 201  C--   Make local copy of tracer array
201         ENDDO         ENDDO
202        ENDDO        ENDDO
203    
204        IF (useCubedSphereExchange) THEN  cph  The following block is needed for useCubedSphereExchange only,
205    cph  but needs to be set for all cases to avoid spurious
206    cph  TAF dependencies
207         southWestCorner = .TRUE.         southWestCorner = .TRUE.
208         southEastCorner = .TRUE.         southEastCorner = .TRUE.
209         northWestCorner = .TRUE.         northWestCorner = .TRUE.
# Line 217  C--   Make local copy of tracer array Line 222  C--   Make local copy of tracer array
222  #else  #else
223         nCFace = bi         nCFace = bi
224  #endif  #endif
225          IF (useCubedSphereExchange) THEN
226    
227         nipass=3         nipass=3
228  #ifdef ALLOW_AUTODIFF_TAMC  #ifdef ALLOW_AUTODIFF_TAMC
# Line 303  C      ----------------|--||------- Line 309  C      ----------------|--||-------
309  C                      |  \/  C                      |  \/
310  C                      |   x T(sNx+1,    0)  C                      |   x T(sNx+1,    0)
311         IF ( southWestCorner ) THEN         IF ( southWestCorner ) THEN
312          localTij(0    ,0    )= localTij(0    ,1  )          DO J=1,OLy
313             DO I=1,OLx
314              localTij(1-I, 1-J   )= localTij(1-J  ,1  )
315             ENDDO
316            ENDDO
317         ENDIF         ENDIF
318         IF ( southEastCorner ) THEN         IF ( southEastCorner ) THEN
319          localTij(sNx+1,0    )= localTij(sNx+1,1  )          DO J=1,OLy
320             DO I=1,OLx
321              localTij(sNx+I, 1-J )=localTij(sNx+J, I  )
322             ENDDO
323            ENDDO
324         ENDIF         ENDIF
325         IF ( northWestCorner ) THEN         IF ( northWestCorner ) THEN
326          localTij(0    ,sNy+1)= localTij(0    ,sNy)          DO J=1,OLy
327             DO I=1,OLx
328              localTij( 1-I ,sNy+J)=localTij( 1-J , sNy+1-I )
329             ENDDO
330            ENDDO
331         ENDIF         ENDIF
332         IF ( northEastCorner ) THEN         IF ( northEastCorner ) THEN
333          localTij(sNx+1,sNy+1)= localTij(sNx+1,sNy)          DO J=1,OLy
334             DO I=1,OLx
335              localTij(sNx+I,sNy+J)=localTij(sNx+J, sNy+1-I )
336             ENDDO
337            ENDDO
338         ENDIF         ENDIF
339        ENDIF        ENDIF
340    
# Line 410  C      ----------------|----------- Line 432  C      ----------------|-----------
432  C                      |      C                      |    
433  C         x T(sNx,0) =====>x T(sNx+1,    0)  C         x T(sNx,0) =====>x T(sNx+1,    0)
434         IF ( southWestCorner ) THEN         IF ( southWestCorner ) THEN
435           localTij(    0,0    ) = localTij(  1,0    )          DO J=1,Oly
436             DO I=1,Olx
437              localTij( 1-i , 1-j ) = localTij(j   , 1-i )
438             ENDDO
439            ENDDO
440         ENDIF         ENDIF
441         IF ( southEastCorner ) THEN         IF ( southEastCorner ) THEN
442           localTij(sNx+1,0    ) = localTij(sNx,0    )          DO J=1,Oly
443             DO I=1,Olx
444              localTij(sNx+i, 1-j ) = localTij(sNx+1-j, 1-i )
445             ENDDO
446            ENDDO
447         ENDIF         ENDIF
448         IF ( northWestCorner ) THEN         IF ( northWestCorner ) THEN
449           localTij(0    ,sNy+1) = localTij(  1,sNy+1)          DO J=1,Oly
450             DO I=1,Olx
451              localTij( 1-i ,sNy+j) = localTij(j   ,sNy+i)
452             ENDDO
453            ENDDO
454         ENDIF         ENDIF
455         IF ( northEastCorner ) THEN         IF ( northEastCorner ) THEN
456           localTij(sNx+1,sNy+1) = localTij(sNx,sNy+1)          DO J=1,Oly
457             DO I=1,Olx
458              localTij(sNx+i,sNy+j) = localTij(sNx+1-j,sNy+i)
459             ENDDO
460            ENDDO
461         ENDIF         ENDIF
462        ENDIF        ENDIF
463    

Legend:
Removed from v.1.24  
changed lines
  Added in v.1.27

  ViewVC Help
Powered by ViewVC 1.1.22