anchor.diff:  
               call shmem_double_put(buff(1,buff_id1),buff(1,buff_id),
        >           buff_len, nbr( axis, dir, k ))
  -c            call mpi_send(
  -c     >           buff(1, buff_id ), buff_len,dp_type,
  -c     >           nbr( axis, dir, k ), msg_type(axis,dir),
  -c     >           mpi_comm_world, ierr)
   
            endif
         endif
  
positive.code: c---------------------------------------------------------------------
        msg_id(axis,dir,1) = msg_type(axis,dir) +1000*me
  
  c      print *, 'irecv by process:',me,msg_type(axis,dir)
  
  c     not necessary for shmem. just posts fake recv for mpi_wait later.
  c      call mpi_irecv( buff(1,buff_id), buff_len,
  c     >     dp_type, mpi_any_source, msg_type(axis,dir), 
  c     >     mpi_comm_world,msg_id(axis,dir,1),ierr)
        return
        end
  
  
negative.code: 
              call shmem_double_put(buff(1,buff_id1),buff(1,buff_id),
       >           buff_len, nbr( axis, dir, k ))
  
  
           endif
  