anchor.diff:          character(len=charlen), intent(in):: csv_file !! Filename
           integer(ip), optional, intent(in):: skip_header !! Number of lines to skip in read
   
  -        character(len=charlen):: local_buffer
  +        character(len=bigcharlen):: local_buffer
           integer(ip) :: file_unit_no, file_columns, file_rows, i, skip_header_local
   
           if(present(skip_header)) then
  
positive.code:         character(len=charlen), intent(in) :: filename
  
          integer :: fid, nd, i, nc, j
          ! Assume the lines will never be longer than this
          integer, parameter :: sb = 1024
          integer(ip) :: buffer(sb)
          integer(ip), parameter :: empty = -HUGE(1_ip)
          character(len=8192) :: string_buf
  
  
          open(newunit=fid, file=filename, action='read')
  
negative.code:         do i = 1, nd
  
              read(fid, '(A)') string_buf
              if(string_buf(bigcharlen:bigcharlen) /= " ") stop "string_buf is too small"
              !string_buf = trim(string_buf)
              !print*, 'string_buf: ', string_buf
  
              ! "Clear" the buffer
  