1 |
C $Header$ |
C $Header$ |
2 |
C $Name$ |
C $Name$ |
3 |
|
|
4 |
#include "CPP_OPTIONS.h" |
#include "CPP_EEOPTIONS.h" |
5 |
|
#include "W2_OPTIONS.h" |
6 |
|
|
7 |
SUBROUTINE EXCH2_RECV_RX2( |
SUBROUTINE EXCH2_RECV_RX2( |
8 |
I tIlo, tIhi, tiStride, |
I tIlo, tIhi, tiStride, |
21 |
|
|
22 |
IMPLICIT NONE |
IMPLICIT NONE |
23 |
|
|
24 |
C |
#include "SIZE.h" |
25 |
#include "W2_OPTIONS.h" |
#include "EEPARAMS.h" |
26 |
|
#include "EESUPPORT.h" |
27 |
#include "W2_EXCH2_TOPOLOGY.h" |
#include "W2_EXCH2_TOPOLOGY.h" |
28 |
|
|
|
#include "EEPARAMS.h" |
|
|
CHARACTER*(MAX_LEN_MBUF) messageBuffer |
|
|
C |
|
29 |
C === Routine arguments === |
C === Routine arguments === |
30 |
C tIlo, tIhi, tIstride :: index range in I that will be filled in target "array" |
C tIlo, tIhi, tIstride :: index range in I that will be filled in target "array" |
31 |
C tJlo, tJhi, tJstride :: index range in J that will be filled in target "array" |
C tJlo, tJhi, tJstride :: index range in J that will be filled in target "array" |
82 |
C :: isl etc... source local |
C :: isl etc... source local |
83 |
C :: isc etc... source canonical |
C :: isc etc... source canonical |
84 |
INTEGER itl, jtl, ktl |
INTEGER itl, jtl, ktl |
85 |
INTEGER itc, jtc, ktc |
c INTEGER itc, jtc, ktc |
86 |
INTEGER isc, jsc, ksc |
c INTEGER isc, jsc, ksc |
87 |
INTEGER isl, jsl, ksl |
c INTEGER isl, jsl, ksl |
88 |
C tt :: Target tile |
C tt :: Target tile |
89 |
C iBufr1 :: Buffer counter |
C iBufr1 :: Buffer counter |
90 |
C iBufr2 :: |
C iBufr2 :: |
96 |
C oN :: Opposing send record number |
C oN :: Opposing send record number |
97 |
INTEGER oN |
INTEGER oN |
98 |
C Loop counters |
C Loop counters |
99 |
INTEGER I, nri1, nrj1, nrk1 |
INTEGER I |
|
INTEGER nri2, nrj2, nrk2 |
|
100 |
INTEGER itl1reduce, jtl1reduce |
INTEGER itl1reduce, jtl1reduce |
101 |
INTEGER itl2reduce, jtl2reduce |
INTEGER itl2reduce, jtl2reduce |
102 |
|
|
103 |
C MPI setup |
C MPI setup |
|
#include "SIZE.h" |
|
|
#include "EESUPPORT.h" |
|
|
INTEGER theTag1, theSize1, theType |
|
|
INTEGER theTag2, theSize2 |
|
|
INTEGER sProc, tProc |
|
104 |
#ifdef ALLOW_USE_MPI |
#ifdef ALLOW_USE_MPI |
105 |
|
INTEGER nri1, nrj1, nrk1 |
106 |
|
INTEGER nri2, nrj2, nrk2 |
107 |
|
INTEGER theTag1, theTag2, theType |
108 |
|
c INTEGER theSize1, theSize2 |
109 |
|
INTEGER sProc, tProc |
110 |
INTEGER mpiStatus(MPI_STATUS_SIZE), mpiRc |
INTEGER mpiStatus(MPI_STATUS_SIZE), mpiRc |
111 |
|
#ifdef W2_E2_DEBUG_ON |
112 |
|
CHARACTER*(MAX_LEN_MBUF) messageBuffer |
113 |
|
#endif |
114 |
#endif |
#endif |
115 |
|
|
116 |
tt=exch2_neighbourId(nN, thisTile ) |
tt=exch2_neighbourId(nN, thisTile ) |