program datareader real (kind=8), dimension(1524) :: xpt, ypt real (kind=8) :: x, y integer :: errval, cntr open (unit=15, file="testdata.dat", status="old") errval = 0 cntr = 0 do while ( errval /= -1 ) read ( 15, *, iostat=errval ) x, y if ( errval == 0 ) then cntr = cntr + 1 xpt(cntr) = x ypt(cntr) = y else close(15) endif enddo do i=1, cntr print *, xpt(i), ypt(i) enddo end