anchor.diff:  
       real(kind=rp), dimension(:,:,:), pointer :: sendN,recvN,sendS,recvS
       real(kind=rp), dimension(:,:,:), pointer :: sendE,recvE,sendW,recvW
  -    real(kind=rp), dimension(:,:,:), pointer :: sendSW,recvSW,sendSE,recvSE
  -    real(kind=rp), dimension(:,:,:), pointer :: sendNW,recvNW,sendNE,recvNE
  +!!$    real(kind=rp), dimension(:,:,:), pointer :: sendSW,recvSW,sendSE,recvSE
  +!!$    real(kind=rp), dimension(:,:,:), pointer :: sendNW,recvNW,sendNE,recvNE
   
       call tic(lev,'fill_halo_2D_nb')
   
  
positive.code:        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,:,:)
         endif
  
      enddo      !<-- while  
  
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 -!
  