Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

FORTRAN Problem! Runtime Error: End of File

  1. Aug 6, 2013 #1
    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(3)
    ! close(8)
    end program
  2. jcsd
  3. Aug 6, 2013 #2
    Ok so I solved my runtime error by removing the 'z' in the read line. Now I just need to get the program to write all the data I require to my new file. I'll come back if I have issues with this.
  4. Aug 6, 2013 #3


    User Avatar
    Staff Emeritus
    Science Advisor
    Homework Helper

    When you do, please use the
    Code (Text):
     tags to load your source files.  It helps in trying to track down errors.
Share this great discussion with others via Reddit, Google+, Twitter, or Facebook