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

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

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

revision 1.1 by adcroft, Tue May 29 14:06:38 2001 UTC revision 1.2 by cnh, Fri Sep 21 03:55:50 2001 UTC
# Line 2  C $Header$ Line 2  C $Header$
2  C $Name$  C $Name$
3  #include "CPP_EEOPTIONS.h"  #include "CPP_EEOPTIONS.h"
4    
5    CBOP
6    C     !ROUTINE: EXCH_RX_RECV_GET_Y
7    
8    C     !INTERFACE:
9        SUBROUTINE EXCH_RX_RECV_GET_Y( array,        SUBROUTINE EXCH_RX_RECV_GET_Y( array,
10       I            myOLw, myOLe, myOLs, myOLn, myNz,       I            myOLw, myOLe, myOLs, myOLn, myNz,
11       I            exchWidthX, exchWidthY,       I            exchWidthX, exchWidthY,
12       I            theSimulationMode, theCornerMode, myThid )       I            theSimulationMode, theCornerMode, myThid )
 C     /==========================================================\  
 C     | SUBROUTINE RECV_GET_Y                                    |  
 C     | o "Send" or "put" Y edges for RX array.                  |  
 C     |==========================================================|  
 C     | Routine that invokes actual message passing send or      |  
 C     | direct "put" of data to update X faces of an XY[R] array.|  
 C     \==========================================================/  
13        IMPLICIT NONE        IMPLICIT NONE
14    
15    C     !DESCRIPTION:
16    C     *==========================================================*
17    C     | SUBROUTINE RECV_GET_Y                                    
18    C     | o "Send" or "put" Y edges for RX array.                  
19    C     *==========================================================*
20    C     | Routine that invokes actual message passing send or      
21    C     | direct "put" of data to update X faces of an XY[R] array.
22    C     *==========================================================*
23    
24    C     !USES:
25  C     == Global variables ==  C     == Global variables ==
26  #include "SIZE.h"  #include "SIZE.h"
27  #include "EEPARAMS.h"  #include "EEPARAMS.h"
28  #include "EESUPPORT.h"  #include "EESUPPORT.h"
29  #include "EXCH.h"  #include "EXCH.h"
30    
31    C     !INPUT/OUTPUT PARAMETERS:
32  C     == Routine arguments ==  C     == Routine arguments ==
33  C     array - Array with edges to exchange.  C     array :: Array with edges to exchange.
34  C     myOLw - West, East, North and South overlap region sizes.  C     myOLw :: West, East, North and South overlap region sizes.
35  C     myOLe  C     myOLe
36  C     myOLn  C     myOLn
37  C     myOLs  C     myOLs
38  C     exchWidthX - Width of data region exchanged.  C     exchWidthX :: Width of data region exchanged.
39  C     exchWidthY  C     exchWidthY
40  C     theSimulationMode - Forward or reverse mode exchange ( provides  C     theSimulationMode :: Forward or reverse mode exchange ( provides
41  C                         support for adjoint integration of code. )  C                          support for adjoint integration of code. )
42  C     theCornerMode     - Flag indicating whether corner updates are  C     theCornerMode     :: Flag indicating whether corner updates are
43  C                         needed.  C                          needed.
44  C     myThid            - Thread number of this instance of S/R EXCH...  C     myThid            :: Thread number of this instance of S/R EXCH...
45  C     eBl               - Edge buffer level  C     eBl               :: Edge buffer level
46        INTEGER myOLw        INTEGER myOLw
47        INTEGER myOLe        INTEGER myOLe
48        INTEGER myOLs        INTEGER myOLs
# Line 48  C     eBl               - Edge buffer le Line 56  C     eBl               - Edge buffer le
56        INTEGER theSimulationMode        INTEGER theSimulationMode
57        INTEGER theCornerMode        INTEGER theCornerMode
58        INTEGER myThid        INTEGER myThid
 CEndOfInterface  
59    
60    C     !LOCAL VARIABLES:
61  C     == Local variables ==  C     == Local variables ==
62  C     I, J, K, iMin, iMax, iB    - Loop counters and extents  C     I, J, K, iMin, iMax, iB    :: Loop counters and extents
63  C     bi, bj  C     bi, bj
64  C     biS, bjS                   - South tile indices  C     biS, bjS                   :: South tile indices
65  C     biN, bjN                   - North tile indices  C     biN, bjN                   :: North tile indices
66  C     eBl                        - Current exchange buffer level  C     eBl                        :: Current exchange buffer level
67  C     theProc, theTag, theType,  - Variables used in message building  C     theProc, theTag, theType,  :: Variables used in message building
68  C     theSize  C     theSize
69  C     southCommMode              - Working variables holding type  C     southCommMode              :: Working variables holding type
70  C     northCommMode                of communication a particular  C     northCommMode                 of communication a particular
71  C                                  tile face uses.  C                                   tile face uses.
72  C     spinCount                  - Exchange statistics counter  C     spinCount                  :: Exchange statistics counter
73    C     mpiStatus                  :: MPI error code
74        INTEGER I, J, K, iMin, iMax, jMin, jMax, iB, iB0        INTEGER I, J, K, iMin, iMax, jMin, jMax, iB, iB0
75        INTEGER bi, bj, biS, bjS, biN, bjN        INTEGER bi, bj, biS, bjS, biN, bjN
76        INTEGER eBl        INTEGER eBl
# Line 72  C     spinCount                  - Excha Line 81  C     spinCount                  - Excha
81        INTEGER theProc, theTag, theType, theSize        INTEGER theProc, theTag, theType, theSize
82        INTEGER mpiStatus(MPI_STATUS_SIZE,4), mpiRc        INTEGER mpiStatus(MPI_STATUS_SIZE,4), mpiRc
83  #endif  #endif
84    CEOP
85    
86  C--   Under a "put" scenario we  C--   Under a "put" scenario we
87  C--     i. set completetion signal for buffer we put into.  C--     i. set completetion signal for buffer we put into.

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

  ViewVC Help
Powered by ViewVC 1.1.22