I have a simulation written in Fortran that produces large files of unformatted (direct access) data.
From some of these files I want to produce ascii huma
Try using StreamIO see http://www.star.le.ac.uk/~cgp/streamIO.html
That should allow random access without fixed record size and will probably result in using the same underlying O.S. system calls, thereby hopefully getting the same performance.