anchor.diff:      if (present(m)) m = mm
       if (present(n)) n = nn
   
  -    end subroutine LoadTxt_2D
  -
  -    subroutine LoadTxt_1D(aname, vec, n, comment)
  -    character(LEN=*), intent(IN) :: aname
  -    real(kind(1.d0)), allocatable, intent(out) :: vec(:)
  +    end subroutine LoadTxt_int_2D
  +
  +    subroutine LoadTxt_int_1D(aname, vec, n, comment)
  +    character(LEN=*), intent(IN) :: aname
  +    integer, allocatable, intent(out) :: vec(:)
       integer nn, j
       Type(TTextFile) :: F
       character(LEN=:), allocatable :: InLine
  
positive.code:     call F%Close()
      if (present(n)) n = nn
  
      end subroutine LoadTxt_1D
  
  
      subroutine LoadTxt_int_2D(aname, mat, m, n, comment)
      character(LEN=*), intent(IN) :: aname
      integer, allocatable, intent(out) :: mat(:,:)
      integer mm, nn, j
      Type(TTextFile) :: F
      character(LEN=:), allocatable :: InLine
      integer, optional, intent(out) :: m, n
      character(LEN=:), allocatable, optional, intent(out) :: comment
      integer status
  
      call F%Open(aname)
      nn = F%Columns()
      mm = F%Lines()
      allocate(mat(mm,nn))
      j=1
      do while (F%ReadLineSkipEmptyAndComments(InLine, comment = comment))
          read (InLine,*, iostat=status) mat(j,1:nn)
          if (status/=0) call F%Error( 'LoadTxt: error reading line:' //trim(InLine))
          j = j+1
      end do
      call F%Close()
      if (present(m)) m = mm
      if (present(n)) n = nn
  
      end subroutine LoadTxt_int_2D
  
      subroutine LoadTxt_int_1D(aname, vec, n, comment)
      character(LEN=*), intent(IN) :: aname
      integer, allocatable, intent(out) :: vec(:)
      integer nn, j
      Type(TTextFile) :: F
      character(LEN=:), allocatable :: InLine
      integer, optional, intent(out) :: n
      character(LEN=:), allocatable, optional, intent(out) :: comment
      integer status
  
      call F%Open(aname)
      nn = F%Lines()
      allocate(vec(nn))
      j=1
      do while (F%ReadLineSkipEmptyAndComments(InLine, comment = comment))
          read (InLine,*, iostat=status) vec(j)
          if (status/=0) call F%Error( 'LoadTxt: error reading line:' //trim(InLine))
          j = j+1
      end do
      call F%Close()
      if (present(n)) n = nn
  
      end subroutine LoadTxt_int_1D
  
      function CreateTextFile(fname)
  
negative.code:     integer, optional, intent(out) :: m, n
      character(LEN=:), allocatable, optional, intent(out) :: comment
      integer status
      real(kind(1.d0)), allocatable :: readarr(:)
  
      call F%Open(aname)
      nn = F%Columns()
      mm = F%Lines()
      allocate(mat(mm,nn))
      allocate(readarr(nn))
      j=1
      do while (F%ReadLineSkipEmptyAndComments(InLine, comment = comment))
          read (InLine,*, iostat=status) readarr
          if (status/=0) call F%Error( 'LoadTxt: error reading line:' //trim(InLine))
          mat(j,1:nn) = readarr
          j = j+1
      end do
      call F%Close()
      if (present(m)) m = mm
      if (present(n)) n = nn
  
      end subroutine LoadTxt_2D
  
      subroutine LoadTxt_1D(aname, vec, n, comment)
      character(LEN=*), intent(IN) :: aname
      real(kind(1.d0)), allocatable, intent(out) :: vec(:)
      integer nn, j
      Type(TTextFile) :: F
      character(LEN=:), allocatable :: InLine
      integer, optional, intent(out) :: n
      character(LEN=:), allocatable, optional, intent(out) :: comment
      integer status
  
      call F%Open(aname)
      nn = F%Lines()
      allocate(vec(nn))
      j=1
      do while (F%ReadLineSkipEmptyAndComments(InLine, comment = comment))
          read (InLine,*, iostat=status) vec(j)
          if (status/=0) call F%Error( 'LoadTxt: error reading line:' //trim(InLine))
          j = j+1
      end do
      call F%Close()
      if (present(n)) n = nn
  
      end subroutine LoadTxt_1D
  
  
      subroutine LoadTxt_int_2D(aname, mat, m, n, comment)
      character(LEN=*), intent(IN) :: aname
      integer, allocatable, intent(out) :: mat(:,:)
      integer mm, nn, j
      Type(TTextFile) :: F
      character(LEN=:), allocatable :: InLine
      integer, optional, intent(out) :: m, n
      character(LEN=:), allocatable, optional, intent(out) :: comment
      integer status
  
      call F%Open(aname)
      nn = F%Columns()
  