How do I flush output to file after each write with a gfortran Fortran 90 program?

13,014

Solution 1

The other way, if gfortran implements it, is to call the non-standard subroutine flush. Not all compilers do implement this.

Solution 2

You need to make the output unbuffered. Try setting the GFORTRAN_UNBUFFERED_ALL environment variable to 'y', 'Y' or 1.

Share:
13,014
phoganuci
Author by

phoganuci

Updated on June 05, 2022

Comments

  • phoganuci
    phoganuci almost 2 years

    I am running a loop in a Fortran 90 program that outputs numerical values to an output file for each iteration of the loop. The problem is that the output is not saved to the file but every so many steps. How do I get it to flush each step?

    Example code:

    open(unit=1,file='output')
    
    do i = 1, 1000
     write(1,*) i
    end do
    
    close(unit=1)
    

    Thanks in advance.