98 |
INTEGER oNb |
INTEGER oNb |
99 |
INTEGER iBufr |
INTEGER iBufr |
100 |
INTEGER sNb, sBi, sBj, sLv |
INTEGER sNb, sBi, sBj, sLv |
|
INTEGER i,j |
|
101 |
c CHARACTER*(MAX_LEN_MBUF) msgBuf |
c CHARACTER*(MAX_LEN_MBUF) msgBuf |
102 |
|
|
103 |
soT = exch2_neighbourId( nN, thisTile ) |
soT = exch2_neighbourId( nN, thisTile ) |
111 |
C 2 get directly data from 1rst level buffer (sLv=1); |
C 2 get directly data from 1rst level buffer (sLv=1); |
112 |
|
|
113 |
C find the tile indices (local to this Proc) corresponding to |
C find the tile indices (local to this Proc) corresponding to |
114 |
C this source tile Id "soT" |
C this source tile Id "soT" (note: this is saved in W2_tileIndex array) |
115 |
sLv = 1 |
sLv = 1 |
116 |
sNb = oNb |
sNb = oNb |
117 |
DO j=1,sizeBj |
sBi = W2_tileIndex(soT) |
118 |
DO i=1,sizeBi |
sBj = 1 + (sBi-1)/sizeBi |
119 |
IF ( W2_myTileList(i,j).EQ.soT ) THEN |
sBi = 1 + MOD(sBi-1,sizeBi) |
|
sBi = i |
|
|
sBj = j |
|
|
ENDIF |
|
|
ENDDO |
|
|
ENDDO |
|
120 |
#ifdef ALLOW_USE_MPI |
#ifdef ALLOW_USE_MPI |
121 |
ELSEIF ( commSetting .EQ. 'M' ) THEN |
ELSEIF ( commSetting .EQ. 'M' ) THEN |
122 |
sLv = 2 |
sLv = 2 |