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

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

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

revision 1.5 by jmc, Wed May 19 01:53:46 2010 UTC revision 1.6 by jmc, Mon May 14 13:15:05 2012 UTC
# Line 12  C     !ROUTINE: EXCH_UV_3D_RX Line 12  C     !ROUTINE: EXCH_UV_3D_RX
12    
13  C     !INTERFACE:  C     !INTERFACE:
14        SUBROUTINE EXCH_UV_3D_RX(        SUBROUTINE EXCH_UV_3D_RX(
15       U                          Uphi, Vphi,       U                          uPhi, vPhi,
16       I                          withSigns, myNz, myThid )       I                          withSigns, myNz, myThid )
17    
18  C     !DESCRIPTION:  C     !DESCRIPTION:
# Line 34  C     === Global data === Line 34  C     === Global data ===
34    
35  C     !INPUT/OUTPUT PARAMETERS:  C     !INPUT/OUTPUT PARAMETERS:
36  C     === Routine arguments ===  C     === Routine arguments ===
37  C     Uphi      :: 2 components of a vector field with overlap regions  C     uPhi      :: 2 components of a vector field with overlap regions
38  C     Vphi      :: to be exchanged  C     vPhi      :: to be exchanged
39  C     withSigns :: Flag controlling whether vector is signed.  C     withSigns :: Flag controlling whether vector is signed.
40  C     myNz      :: 3rd dimension of array to exchange  C     myNz      :: 3rd dimension of array to exchange
41  C     myThid    :: my Thread Id. number  C     myThid    :: my Thread Id. number
42        INTEGER myNz        INTEGER myNz
43        _RX Uphi(1-OLx:sNx+OLx,1-OLy:sNy+OLy,myNz,nSx,nSy)        _RX uPhi(1-OLx:sNx+OLx,1-OLy:sNy+OLy,myNz,nSx,nSy)
44        _RX Vphi(1-OLx:sNx+OLx,1-OLy:sNy+OLy,myNz,nSx,nSy)        _RX vPhi(1-OLx:sNx+OLx,1-OLy:sNy+OLy,myNz,nSx,nSy)
45        LOGICAL withSigns        LOGICAL withSigns
46        INTEGER myThid        INTEGER myThid
47    
# Line 57  CEOP Line 57  CEOP
57  #ifdef ALLOW_EXCH2  #ifdef ALLOW_EXCH2
58  #ifdef W2_USE_R1_ONLY  #ifdef W2_USE_R1_ONLY
59        CALL EXCH2_UV_CGRID_3D_RX(        CALL EXCH2_UV_CGRID_3D_RX(
60       U                     Uphi, Vphi,       U                     uPhi, vPhi,
61       I                     withSigns, myNz, myThid )       I                     withSigns, myNz, myThid )
62  #else  #else
63        CALL EXCH2_UV_3D_RX(        CALL EXCH2_UV_3D_RX(
64       U                     Uphi, Vphi,       U                     uPhi, vPhi,
65       I                     withSigns, myNz, myThid )       I                     withSigns, myNz, myThid )
66  #endif  #endif
       RETURN  
67  #else /* ALLOW_EXCH2 */  #else /* ALLOW_EXCH2 */
68    
69        OLw        = OLx        OLw        = OLx
# Line 74  CEOP Line 73  CEOP
73        exchWidthX = OLx        exchWidthX = OLx
74        exchWidthY = OLy        exchWidthY = OLy
75        IF (useCubedSphereExchange) THEN        IF (useCubedSphereExchange) THEN
76         CALL EXCH1_UV_RX_CUBE( Uphi, Vphi, withSigns,         CALL EXCH1_UV_RX_CUBE( uPhi, vPhi, withSigns,
77       I            OLw, OLe, OLs, OLn, myNz,       I            OLw, OLe, OLs, OLn, myNz,
78       I            exchWidthX, exchWidthY,       I            exchWidthX, exchWidthY,
79       I            EXCH_UPDATE_CORNERS, myThid )       I            EXCH_UPDATE_CORNERS, myThid )
80        ELSE        ELSE
81         CALL EXCH1_RX( Uphi,  #ifdef DISCONNECTED_TILES
82           CALL EXCH0_RX( uPhi,
83         I            OLw, OLe, OLs, OLn, myNz,
84         I            exchWidthX, exchWidthY,
85         I            EXCH_UPDATE_CORNERS, myThid )
86           CALL EXCH0_RX( vPhi,
87         I            OLw, OLe, OLs, OLn, myNz,
88         I            exchWidthX, exchWidthY,
89         I            EXCH_UPDATE_CORNERS, myThid )
90    #else /* DISCONNECTED_TILES */
91           CALL EXCH1_RX( uPhi,
92       I            OLw, OLe, OLs, OLn, myNz,       I            OLw, OLe, OLs, OLn, myNz,
93       I            exchWidthX, exchWidthY,       I            exchWidthX, exchWidthY,
94       I            EXCH_UPDATE_CORNERS, myThid )       I            EXCH_UPDATE_CORNERS, myThid )
95         CALL EXCH1_RX( Vphi,         CALL EXCH1_RX( vPhi,
96       I            OLw, OLe, OLs, OLn, myNz,       I            OLw, OLe, OLs, OLn, myNz,
97       I            exchWidthX, exchWidthY,       I            exchWidthX, exchWidthY,
98       I            EXCH_UPDATE_CORNERS, myThid )       I            EXCH_UPDATE_CORNERS, myThid )
99    #endif /* DISCONNECTED_TILES */
100        ENDIF        ENDIF
101    
       RETURN  
102  #endif /* ALLOW_EXCH2 */  #endif /* ALLOW_EXCH2 */
103    
104          RETURN
105        END        END
106    
107  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|  C---+----1----+----2----+----3----+----4----+----5----+----6----+----7-|--+----|

Legend:
Removed from v.1.5  
changed lines
  Added in v.1.6

  ViewVC Help
Powered by ViewVC 1.1.22