anchor.diff:      endif
     end subroutine SpMtx_aggregate
   
  -  subroutine SpMtx_DistributeAssembled(A,A_interf,A_ghost,M)
  +  subroutine SpMtx_DistributeAssembled(A,A_ghost,M)
       use Graph_class
       use Mesh_class
       implicit none
   
  -    type(SpMtx),intent(inout) :: A,A_interf,A_ghost
  +    type(SpMtx),intent(inout) :: A,A_ghost
       type(Mesh)                :: M
  -    integer :: i,k,ierr,n
  +    integer :: i,k,ierr,n,ol
       integer, dimension(:), pointer :: xadj
       integer, dimension(:), pointer :: adjncy
       integer                        :: nedges
  
positive.code:       call SpMtx_printRaw(A=A,startnz=A%mtx_bbs(2,1),endnz=A%mtx_bbe(2,1))
        write(stream,*)'A inner:'
        call SpMtx_printRaw(A=A,startnz=A%mtx_bbs(2,2),endnz=A%mtx_bbe(2,2))
        write(stream,*)'A ghost:'
        call SpMtx_printRaw(A_ghost)
      endif
      ! Localise A:
      call SpMtx_Build_lggl(A,A_ghost,M)
      if (sctls%verbose>3) then 
        write(stream,*)'tobsent:',M%lg_fmap(1:M%ntobsent)
  
negative.code:     integer,dimension(4)           :: buf
      
  !    integer, dimension(:), pointer :: itmp
      ol=max(sctls%overlap,sctls%smoothers)
      if (ismaster()) then ! Here master simply splits the matrix into pieces
                           !   using METIS
        call SpMtx_buildAdjncy(A,nedges,xadj,adjncy)
  