anchor.diff:  ! Read the file, in free format
   open(unit=21,file=val%file,status='old')
   do i = 1,val%nrows
  -    read(21,*,iostat=ios) (val%array(i,j),j=1,val%ncols)
  -    if (ios.ne.0) then
  +    read(21,'(A)',iostat=ios,err=1002,end=1002) input_line
  +    read(input_line,*,iostat=ios) (val%array(i,j),j=1,val%ncols)
  +    1002 if (ios.ne.0) then
           write(stderr,*) 'read_fltinv_data_file: read error on file ',trim(val%file),' at line ',i
  +        write(stderr,*) 'offending line: ',trim(input_line)
           ierr = 1
           return
       endif
  
positive.code:                 nn = ndisp_dof
                  mm = ndisp_dof
              else
                  nn = (index(disp_components,nchar)-1)*displacement%nrows
                  mm = (index(disp_components,mchar)-1)*displacement%nrows
              endif
  
negative.code: ! Local variables
  integer :: i, j, ios, ierr
  character(len=32) :: fmt_str
  character(len=512) :: input_line
  
  
  ierr = 0
  