/[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.4 by jmc, Fri Aug 17 18:34:17 2007 UTC revision 1.5 by jmc, Wed May 19 01:53:46 2010 UTC
# Line 27  C     *================================= Line 27  C     *=================================
27    
28  C     !USES:  C     !USES:
29        IMPLICIT NONE        IMPLICIT NONE
30    
31  C     === Global data ===  C     === Global data ===
32  #include "SIZE.h"  #include "SIZE.h"
33  #include "EEPARAMS.h"  #include "EEPARAMS.h"
 c#include "EESUPPORT.h"  
 c#include "EXCH.h"  
34    
35  C     !INPUT/OUTPUT PARAMETERS:  C     !INPUT/OUTPUT PARAMETERS:
36  C     === Routine arguments ===  C     === Routine arguments ===
37  C     phi    :: Array with overlap regions are to be exchanged  C     Uphi      :: 2 components of a vector field with overlap regions
38  C               Note - The interface to EXCH_RX assumes that  C     Vphi      :: to be exchanged
39  C               the standard Fortran 77 sequence association rules  C     withSigns :: Flag controlling whether vector is signed.
40  C               apply.  C     myNz      :: 3rd dimension of array to exchange
41  C     myNz   :: 3rd dimension of array to exchange  C     myThid    :: my Thread Id. number
 C     myThid :: My thread id.  
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)
# Line 75  CEOP Line 73  CEOP
73        OLs        = OLy        OLs        = OLy
74        exchWidthX = OLx        exchWidthX = OLx
75        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.  
76        IF (useCubedSphereExchange) THEN        IF (useCubedSphereExchange) THEN
77         CALL EXCH_UV_RX_CUBE( Uphi, Vphi, withSigns,         CALL EXCH1_UV_RX_CUBE( Uphi, Vphi, withSigns,
78       I            OLw, OLe, OLs, OLn, myNz,       I            OLw, OLe, OLs, OLn, myNz,
79       I            exchWidthX, exchWidthY,       I            exchWidthX, exchWidthY,
80       I            FORWARD_SIMULATION, EXCH_UPDATE_CORNERS, myThid )       I            EXCH_UPDATE_CORNERS, myThid )
81        ELSE        ELSE
82         CALL EXCH_RX( Uphi,         CALL EXCH1_RX( Uphi,
83       I            OLw, OLe, OLs, OLn, myNz,       I            OLw, OLe, OLs, OLn, myNz,
84       I            exchWidthX, exchWidthY,       I            exchWidthX, exchWidthY,
85       I            FORWARD_SIMULATION, EXCH_UPDATE_CORNERS, myThid )       I            EXCH_UPDATE_CORNERS, myThid )
86         CALL EXCH_RX( Vphi,         CALL EXCH1_RX( Vphi,
87       I            OLw, OLe, OLs, OLn, myNz,       I            OLw, OLe, OLs, OLn, myNz,
88       I            exchWidthX, exchWidthY,       I            exchWidthX, exchWidthY,
89       I            FORWARD_SIMULATION, EXCH_UPDATE_CORNERS, myThid )       I            EXCH_UPDATE_CORNERS, myThid )
90        ENDIF        ENDIF
91    
92        RETURN        RETURN

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

  ViewVC Help
Powered by ViewVC 1.1.22