anchor.diff:      integer(kind=kint), intent(inout) :: add_nodes(:,:)
       integer(kind=kint), intent(in) :: id1, id2
       integer(kind=kint) :: center, left, right
  -    integer(kind=kint) :: pivot(3), tmp(3)
  +    integer(kind=kint) :: pivot(cNCOL_ITEM), tmp(cNCOL_ITEM)
       if (id1 >= id2) return
       center = (id1 + id2) / 2
  -    pivot(1:3) = add_nodes(1:3,center)
  +    pivot(1:cNCOL_ITEM) = add_nodes(1:cNCOL_ITEM,center)
       left = id1
       right = id2
       do
  
positive.code:     real(kind=kreal), pointer :: A(:)
    end type hecmwST_local_matrix
  
    integer(kind=kint), parameter :: cLID = 1
    integer(kind=kint), parameter :: cRANK = 2
    integer(kind=kint), parameter :: cGID = 3
  
    integer(kind=kint), parameter :: DEBUG = 0
  
  
negative.code:     implicit none
      type (hecmwST_local_mesh), intent(inout) :: hecMESHnew
      integer(kind=kint), intent(in) :: n_add_node
      integer(kind=kint), intent(in) :: add_nodes(cNCOL_ITEM,n_add_node)
      integer(kind=kint), intent(out) :: i0
      integer(kind=kint) :: n_node, i, ii
      integer(kind=kint), pointer :: node_ID(:), global_node_ID(:)
  