- #1

- 10

- 0

## Main Question or Discussion Point

**FORTRAN Problem! "Runtime Error: End of File"**

Hey everyone, back again with another Fortran question.

I am getting the runtime error in Fortran "End of Line". I have tried to simply understand what this means, but I am not getting much help from Google.

I have pasted my code below, and highlighted the line that I understand the error exists. (in my terminal window, it's line 32) I am currently working on the latest distro of Ubuntu, and I am compiling with gfortran.

Could someone please assist me in correcting my error, as well as explain to me what this error means, so that I unserstand what to look for in the future? Also, if anyone knows of a good debugging tutorial or website that would be greatly appreciated as well.

This code is designed to read from an input file (x for now, eventually y as well) and count the number of values on an interval then write this data in another file so that I can create a histogram of the data.

If you need further clarification, please let me know.

Thanks in advance!

program histogram

implicit none

integer x_min, x_next, a, N, M

integer y_min, y_next , b, i, j

real x, y, z

real, dimension(4500, 4500, 4500, 4500) :: histo1

integer, dimension(4500, 4500, 4500, 4500) :: histo2

open(unit=2, file="xz.dat", action="read", status="old")

! open(unit=3, file="yz.dat", action="read"' status="old")

open(unit=7, file="xa.dat", action="write"' status="unknown")

! open(unit=8, file="yb.dat", action="write"' status="unknown")

x_min = -13

! y_min = -13

M = 13

N = 4209

do i = -13, M

do j = 1, N

read(2,*) x, z

! read(3,*) y, z

if (x .lt. (x_min + 1)) then

a = a + 1

! if (y .lt. (x_min + 1)) then

! b = b + 1

end if

end do

if (x .lt. (x_min + 1)) then

x_min = x_next

! if (y .lt. (y_min + 1)) then

! y_min = y_next

end if

end do

write(7,*) x, a

! write(8,*) y, b

close(2)

! close(3)

close(7)

! close(8)

stop

end program