anchor.diff:         elseif (indx.eq.4) then ! west
             a2D(1:ny,1-nh:0) = recvW(1,:,:)
   
  -       elseif (indx.eq.5) then ! southwest
  -          a2D(1-nh:0,1-nh:0) = recvSW(1,:,:)
  -
  -       elseif (indx.eq.6) then ! southeast
  -          a2D(1-nh:0,nx+1:nx+nh) = recvSE(1,:,:)
  -
  -       elseif (indx.eq.7) then ! northeast
  -          a2D(ny+1:ny+nh,nx+1:nx+nh) = recvNE(1,:,:)
  -
  -       elseif (indx.eq.8) then ! northwest
  -          a2D(ny+1:ny+nh,1-nh:0) = recvNW(1,:,:)
  +!!$       elseif (indx.eq.5) then ! southwest
  +!!$          a2D(1-nh:0,1-nh:0) = recvSW(1,:,:)
  +!!$
  +!!$       elseif (indx.eq.6) then ! southeast
  +!!$          a2D(1-nh:0,nx+1:nx+nh) = recvSE(1,:,:)
  +!!$
  +!!$       elseif (indx.eq.7) then ! northeast
  +!!$          a2D(ny+1:ny+nh,nx+1:nx+nh) = recvNE(1,:,:)
  +!!$
  +!!$       elseif (indx.eq.8) then ! northwest
  +!!$          a2D(ny+1:ny+nh,1-nh:0) = recvNW(1,:,:)
          endif
   
       enddo      !<-- while  
  
positive.code:     east      = grid(lev)%neighb(2)
      north     = grid(lev)%neighb(3)
      west      = grid(lev)%neighb(4)
      southwest = grid(lev)%neighb(5)
      southeast = grid(lev)%neighb(6)
      northeast = grid(lev)%neighb(7)
      northwest = grid(lev)%neighb(8)
  
      call verify_array_shape_3D(grid(lev)%sendS,nz,nh,nx)
      sendS => grid(lev)%sendS
  
negative.code:        a2D(1:ny,1-nh:0) = a2D(1:ny,nh:1:-1)
      endif
  
  !!$    if (southwest.ne.MPI_PROC_NULL) then
  !!$       call MPI_IRecv(                                      &
  !!$            recvSW,nz*nh*nh,MPI_DOUBLE_PRECISION,southwest, &
  !!$            neswtag,MPI_COMM_WORLD,req(5),ierr)
  !!$       comm(5)=5
  !!$    else !!Homogenous Neumann  
  !!$       a2D(1-nh:0,1-nh:0) = a2D(nh:1:-1,nh:1:-1)
  !!$    endif
  !!$
  !!$    if (southeast.ne.MPI_PROC_NULL) then
  !!$       call MPI_IRecv(                                       &
  !!$            recvSE,nz*nh*nh,MPI_DOUBLE_PRECISION,southeast, &
  !!$            nwsetag,MPI_COMM_WORLD,req(6),ierr)
  !!$       comm(6)=6
  !!$    else !!Homogenous Neumann  
  !!$       a2D(1-nh:0,nx+1:nx+nh) = a2D(nh:1:-1,nx:nx-nh+1:-1)
  !!$    endif
  !!$
  !!$    if (northeast.ne.MPI_PROC_NULL) then
  !!$       call MPI_IRecv(                                      &
  !!$            recvNE,nz*nh*nh,MPI_DOUBLE_PRECISION,northeast, &
  !!$            swnetag,MPI_COMM_WORLD,req(7),ierr)
  !!$       comm(7)=7
  !!$    else !!Homogenous Neumann  
  !!$       a2D(ny+1:ny+nh,nx+1:nx+nh) = a2D(ny:ny-nh+1:-1,nx:nx-nh+1:-1)
  !!$    endif
  !!$
  !!$    if (northwest.ne.MPI_PROC_NULL) then
  !!$       call MPI_IRecv(                                      &
  !!$            recvNW,nz*nh*nh,MPI_DOUBLE_PRECISION,northwest, &
  !!$            senwtag,MPI_COMM_WORLD,req(8),ierr)
  !!$       comm(8)=8
  !!$    else !!Homogenous Neumann  
  !!$       a2D(ny+1:ny+nh,1-nh:0) = a2D(ny:ny-nh+1:-1,nh:1:-1)
  !!$    endif
  
      !--------------------!
      !- Nonblocking SEND -!
  