>apparent state: unit 2 named RW-total-tadmix4pi-6pi-DY.dat >last format: (2g25.8e3) >lately reading sequential formatted external IO >Aborted
If you recall, his error was a list IO error which leads me to suspect he is using a read(2,*) somewhere in his code whose argument list does not match up with the data columns in the file.
Matthias Schroeder wrote:
Christoph P. Kukulies wrote:On Thu, Sep 20, 2007 at 10:12:50AM +0200, Klaus Wacker wrote:On Wed, Sep 19, 2007 at 10:25:55AM -0500, Hendrik van Hees wrote:Thank you very much for all the responses. I think I didn't make the problem clear. With the older version of gcc (I am using the fortran compiler, g77)gcc version 3.3.5 20050117 (prerelease) (SUSE Linux) the little code runs fine.With the newer version, which is definitely in my installation of SL 5 (I use yum as a package manager),gcc version 3.4.6 20060404 (Red Hat 3.4.6-4)the same code does not work any more. Perhaps it helps, when I give the relevant piece of code:ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccopen(unit=1, $ file='RW-total-tadmix4pi-6pi-DY.dat') do x=0.2d0,1.45d0,0.01d0 erg=ipol(x1,set1,x)+ipol(x2,set2,x)+ipol(x3,set3,x) $ +ipol(x4,set4,x)+ipol(x5,set5,x) write(unit=1,fmt='(2g25.8e3)') $ x,erg end do close(unit=1)ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc add omega and phi (all pT) open (unit=2, file='RW-total-tadmix4pi-6pi-DY.dat', $ status='old') do j=1,nmax1 read(unit=2,fmt='(2g25.8e3)') x1(j),set1(j) c write(*,*) x1(j),set1(j) end do close(unit=2)ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccAs you see. It simply writes some columns of double precision, and in the next step it reads the same in again.Somehow the code you show doesn't fit the error message. You seem to be using unit 1 only for writing, whereas the error message talks aboutreading from unit 1.the crucial statement is read(unit=2,fmt='(2g25.8e3)') x1(j),set1(j)Maybe, but I would not bet on that. As Klaus pointed out the number of interations in the first loop is not defined. By chance the OP apparently got away with that on the first systems he used.We don't know which value nmax1 has, so maybe he is trying to read one more element than he has written????I anyhow don't quite understand why he first writes the values to a file (in a not well defined format ("format real as decimal or exponential" )) only to read it back in a later stage by the same program. To me it looks as if there are a few things that are not well defined, which is not always a good thing in programming...Matthiasalbeit the error message talks about unit 1 in the OP (but I guess he changed the unit numbers in the code snippet). The format '(2g25.8e3)' is obviously triggering the error message I would assume. It could be a matter of the math libs used or also the fortran runtime library may have changed in that point. Have you (OP) looked at the intermediate data file and compared it under the different platforms? -- Chris Christoph P. U. Kukulies kukulies (at) rwth-aachen.de
