/[MITgcm]/MITgcm/eesupp/src/exch_z_3d_rx.template
ViewVC logotype

Diff of /MITgcm/eesupp/src/exch_z_3d_rx.template

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

revision 1.2 by heimbach, Fri Nov 17 22:35:03 2006 UTC revision 1.4 by jmc, Wed May 19 01:53:46 2010 UTC
# Line 25  C     !USES: Line 25  C     !USES:
25  C     == Global variables ==  C     == Global variables ==
26  #include "SIZE.h"  #include "SIZE.h"
27  #include "EEPARAMS.h"  #include "EEPARAMS.h"
 #include "EESUPPORT.h"  
 #include "EXCH.h"  
28    
29  C     !INPUT/OUTPUT PARAMETERS:  C     !INPUT/OUTPUT PARAMETERS:
30  C     == Routine arguments ==  C     == Routine arguments ==
# Line 41  C     myThid :: My thread id. Line 39  C     myThid :: My thread id.
39        INTEGER myThid        INTEGER myThid
40    
41  C     !LOCAL VARIABLES:  C     !LOCAL VARIABLES:
42    #ifndef ALLOW_EXCH2
43  C     == Local variables ==  C     == Local variables ==
44  C     OL[wens]       :: Overlap extents in west, east, north, south.  C     OL[wens]       :: Overlap extents in west, east, north, south.
45  C     exchWidth[XY]  :: Extent of regions that will be exchanged.  C     exchWidth[XY]  :: Extent of regions that will be exchanged.
46        INTEGER OLw, OLe, OLn, OLs, exchWidthX, exchWidthY        INTEGER OLw, OLe, OLn, OLs, exchWidthX, exchWidthY
47    #endif
48  CEOP  CEOP
49    
50  #ifdef ALLOW_EXCH2  #ifdef ALLOW_EXCH2
# Line 52  CEOP Line 52  CEOP
52       U                    phi,       U                    phi,
53       I                    myNz, myThid )       I                    myNz, myThid )
54        RETURN        RETURN
55  #else  #else /* ALLOW_EXCH2 */
56    
57        OLw        = OLx        OLw        = OLx
58        OLe        = OLx        OLe        = OLx
# Line 60  CEOP Line 60  CEOP
60        OLs        = OLy        OLs        = OLy
61        exchWidthX = OLx        exchWidthX = OLx
62        exchWidthY = OLy        exchWidthY = OLy
 C     ** NOTE ** The exchange routine we use here does not  
 C                require the preceeding and following barriers.  
 C                However, the slow, simple exchange interface  
 C                that is calling it here is meant to ensure  
 C                that threads are synchronised before exchanges  
 C                begine.  
63        IF (useCubedSphereExchange) THEN        IF (useCubedSphereExchange) THEN
64         CALL EXCH_Z_RX_CUBE( phi,         CALL EXCH1_Z_RX_CUBE( phi, .FALSE.,
65       I            OLw, OLe, OLs, OLn, myNz,       I            OLw, OLe, OLs, OLn, myNz,
66       I            exchWidthX, exchWidthY,       I            exchWidthX, exchWidthY,
67       I            FORWARD_SIMULATION, EXCH_UPDATE_CORNERS, myThid )       I            EXCH_UPDATE_CORNERS, myThid )
68        ELSE        ELSE
69         CALL EXCH_RX( phi,         CALL EXCH1_RX( phi,
70       I            OLw, OLe, OLs, OLn, myNz,       I            OLw, OLe, OLs, OLn, myNz,
71       I            exchWidthX, exchWidthY,       I            exchWidthX, exchWidthY,
72       I            FORWARD_SIMULATION, EXCH_UPDATE_CORNERS, myThid )       I            EXCH_UPDATE_CORNERS, myThid )
73        ENDIF        ENDIF
74    
75        RETURN        RETURN
76  #endif  #endif /* ALLOW_EXCH2 */
77        END        END

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.4

  ViewVC Help
Powered by ViewVC 1.1.22