Quantcast
Channel: Intel® Fortran Compiler
Viewing all articles
Browse latest Browse all 3270

iostat 31 on write

$
0
0

Hi,

I am migrating a legacy fortran program from HP UX f90 to Redhat Linux using the ifort compiler.  The program is throwing an error on the first attempt to write to a direct access file on the linux version. iostat is 31. The output file is opened without error. The program runs correctly on UNIX.  I’ve managed to isolate the code into a small test program provided below.  What is causing this error?  Please help, I've been struggling with this for a couple of days now.

      program wtf
c     test program to isolate iostat=31 error when writing to idu on Linux using ifort
      integer idu,ierr,ipos
      integer buffsizebytes
      parameter (buffsizebytes=8)
      real rnum
      idu=37
c     open the output file
      open (idu,file='P5904.ft37',access='direct',recl=buffsizebytes,
     +form='unformatted',iostat=ierr)
      if (ierr.ne.0) then
        write (6,*)'Error ',ierr,' opening P5904.ft37'
        stop
      endif
      inquire(unit=idu,nextrec=ipos)
      rnum = 1.0
      write(unit=idu,err=999,iostat=ierr) rnum
      if(iostat == 0) then
        write(6,*) 'write to ',idu,' at position ',ipos,' successful!'
      endif
      goto 1000
  999 write(6,*) 'Error writing to ',idu,'. iostat=',ierr
 1000 end

 


Viewing all articles
Browse latest Browse all 3270

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>