h3dy@vax5.cit.cornell.edu (03/23/90)
Many people responded to my slow implied-do i/o problem. -Thank you- If it is a problem on your compiler/machine to do: write (unit) (array(i),i=1,n) then the overwhelming consensus is to pass the array name and n to a subroutine which does: subroutine ouput (array,n) dimension array(n) write (unit) array People were surprised that the implied do was so slow. (I am using Vax Fortran 5.2.) I discovered (oops!) that I was compiling /check, which checks for array out-of-bounds, explaining the huge time difference between the block write and the implied-do write. So, if you need to have array bounds checking, you may need to use a separate subroutine to output large arrays of run-time determined size. Sincere thanks to everyone who responded.