anchor.diff:      !!write(*,*)'===================================='
       !!write(*,*)'rank, neighb:', rank, south,east,north,west,southwest,southeast,northeast,northwest
   
  -    allocate(sendS(nz,nx,nh))
  -    allocate(recvS(nz,nx,nh))
  -    allocate(sendN(nz,nx,nh))
  -    allocate(recvN(nz,nx,nh))
  +    allocate(sendS(nz,nh,nx))
  +    allocate(recvS(nz,nh,nx))
  +    allocate(sendN(nz,nh,nx))
  +    allocate(recvN(nz,nh,nx))
   
       allocate(sendE(nz,ny,nh))
       allocate(recvE(nz,ny,nh))
  
positive.code:     endif
  
      if (southeast.ne.MPI_PROC_NULL) then
         p(:,1-nh:0,nx+1:nx+nh) = recvE
      else !!Homogenous Neumann  
         p(:,1-nh:0,nx+1:nx+nh) = p(:,nh:1:-1,nx:nx-nh:-1)
      end if
      !
      deallocate(sendSE)
  
negative.code: 
      integer(kind=is) :: etag, wtag, ntag, stag
      integer(kind=is) :: ierr,status1 
      !!integer(kind=is) :: ilev
  
      real(kind=rl),dimension(:,:,:),allocatable :: sendN,recvN,sendS,recvS
      real(kind=rl),dimension(:,:,:),allocatable :: sendE,recvE,sendW,recvW
  