/[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.8 by jmc, Wed Feb 20 20:18:59 2008 UTC revision 1.9 by utke, Tue Mar 18 21:34:01 2008 UTC
# Line 157  C--   iii. Set data read flag + memory s Line 157  C--   iii. Set data read flag + memory s
157           theSize = sNx*exchWidthY*myNz           theSize = sNx*exchWidthY*myNz
158           IF ( theCornerMode .EQ. EXCH_UPDATE_CORNERS )           IF ( theCornerMode .EQ. EXCH_UPDATE_CORNERS )
159       &    theSize = (sNx+2*exchWidthX)*exchWidthY*myNz       &    theSize = (sNx+2*exchWidthX)*exchWidthY*myNz
160    # ifndef ALLOW_AUTODIFF_OPENAD
161           CALL MPI_Recv( southRecvBuf_RX(1,eBl,bi,bj), theSize, theType,           CALL MPI_Recv( southRecvBuf_RX(1,eBl,bi,bj), theSize, theType,
162       &                  theProc, theTag, MPI_COMM_MODEL,       &                  theProc, theTag, MPI_COMM_MODEL,
163       &                  mpiStatus, mpiRc )       &                  mpiStatus, mpiRc )
164    # else
165             CALL ampi_recv_RX(
166         & southRecvBuf_RX(1,eBl,bi,bj) ,
167         & theSize ,
168         & theType ,
169         & theProc ,
170         & theTag ,
171         & MPI_COMM_MODEL ,
172         & mpiStatus ,
173         & mpiRc )
174    # endif /* ALLOW_AUTODIFF_OPENAD */
175  #ifndef ALWAYS_USE_MPI  #ifndef ALWAYS_USE_MPI
176          ENDIF                          ENDIF                
177  #endif  #endif
# Line 176  C--   iii. Set data read flag + memory s Line 188  C--   iii. Set data read flag + memory s
188           theSize = sNx*exchWidthY*myNz           theSize = sNx*exchWidthY*myNz
189           IF ( theCornerMode .EQ. EXCH_UPDATE_CORNERS )           IF ( theCornerMode .EQ. EXCH_UPDATE_CORNERS )
190       &    theSize = (sNx+2*exchWidthX)*exchWidthY*myNz       &    theSize = (sNx+2*exchWidthX)*exchWidthY*myNz
191    # ifndef ALLOW_AUTODIFF_OPENAD
192           CALL MPI_Recv( northRecvBuf_RX(1,eBl,bi,bj), theSize, theType,           CALL MPI_Recv( northRecvBuf_RX(1,eBl,bi,bj), theSize, theType,
193       &                  theProc, theTag, MPI_COMM_MODEL,       &                  theProc, theTag, MPI_COMM_MODEL,
194       &                  mpiStatus, mpiRc )       &                  mpiStatus, mpiRc )
195    # else
196             CALL ampi_recv_RX(
197         & northRecvBuf_RX(1,eBl,bi,bj) ,
198         & theSize ,
199         & theType ,
200         & theProc ,
201         & theTag ,
202         & MPI_COMM_MODEL ,
203         & mpiStatus ,
204         & mpiRc )
205    # endif /* ALLOW_AUTODIFF_OPENAD */
206  #ifndef ALWAYS_USE_MPI  #ifndef ALWAYS_USE_MPI
207          ENDIF                          ENDIF                
208  #endif  #endif
# Line 200  C        i.e. we only lock waiting for d Line 224  C        i.e. we only lock waiting for d
224           southCommMode = _tileCommModeS(bi,bj)           southCommMode = _tileCommModeS(bi,bj)
225           northCommMode = _tileCommModeN(bi,bj)           northCommMode = _tileCommModeN(bi,bj)
226           spinCount = 0           spinCount = 0
227    # ifndef ALLOW_AUTODIFF_OPENAD
228     10    CONTINUE     10    CONTINUE
229            CALL FOOL_THE_COMPILER( spinCount )            CALL FOOL_THE_COMPILER( spinCount )
230            spinCount = spinCount+1            spinCount = spinCount+1
# Line 208  C          STOP ' S/R EXCH_RECV_GET_Y: s Line 233  C          STOP ' S/R EXCH_RECV_GET_Y: s
233  C         ENDIF  C         ENDIF
234            IF ( southRecvAck(eBl,bi,bj) .EQ. 0 ) GOTO 10            IF ( southRecvAck(eBl,bi,bj) .EQ. 0 ) GOTO 10
235            IF ( northRecvAck(eBl,bi,bj) .EQ. 0 ) GOTO 10            IF ( northRecvAck(eBl,bi,bj) .EQ. 0 ) GOTO 10
236    # else
237             do while ((southRecvAck(eBl,bi,bj) .EQ. 0.
238         &             .or.
239         &              northRecvAck(eBl,bi,bj) .EQ. 0. ))
240              CALL FOOL_THE_COMPILER( spinCount )
241              spinCount = spinCount+1
242             end do
243    # endif /* ALLOW_AUTODIFF_OPENAD */
244  C        Clear requests  C        Clear requests
245           southRecvAck(eBl,bi,bj) = 0           southRecvAck(eBl,bi,bj) = 0
246           northRecvAck(eBl,bi,bj) = 0           northRecvAck(eBl,bi,bj) = 0

Legend:
Removed from v.1.8  
changed lines
  Added in v.1.9

  ViewVC Help
Powered by ViewVC 1.1.22