Fortran Problems reading binary file in FORTRAN

Click For Summary
The discussion centers on issues encountered while reading a binary file in FORTRAN, specifically a file generated with unformatted output. The user, Marcelo, successfully writes data to the file using specific data types but faces a crash when attempting to read back a large array of data. The program reads the initial integers correctly but fails after 256 iterations when reading the array, despite the expected size being much larger (406924). The error message indicates that the input statement requires more data than is available. Marcelo has attempted various file opening options and different input files but continues to experience the same issue. Suggestions from other users include verifying the file's size before reading and ensuring that the data types and sizes match between writing and reading operations.
marcelosousa1
Messages
1
Reaction score
0
I am having problems reading a binary file in FORTRAN. I know that the file was generated by the code below:

open(7,file='hctd1_kxx.dat',form='unformatted')
...
write(7) iscl
write(7) inode,npoints
write(7) (kxm(i)*(10**(prop(i))),i=1,npoints)
close(7)

iscl, inode, npoints are integer*4 and kxm(), prop() are real*4

I am trying to read the file using the code below (variables have consistent data types and sizes):

open(11,file='hctd1_kxx.dat',status='old', form='unformatted', ACTION='READ')
...
read(7) iscl
read(7) inode,npoints
read(7) (single(i),i=1,npoints)

The program reads OK until it reaches the line above, where it always crashes after performing 256 iterations (it should go to npoints=406924).

I tried different input files and opening the file using different options for the CONVERT specifier and it keeps crashing after the first 256 entries.

The error message I get is the following: "forrtl: severe (67): input statement requires too much data".

Does anyone have any suggestions?

Thanks a lot for your attention!

Marcelo
P.S.: my compiler is Compaq Visual Fortran 6.5
 
Technology news on Phys.org
Have you checked that it creates a file of the correct size before you try to read the data back?
 
Learn If you want to write code for Python Machine learning, AI Statistics/data analysis Scientific research Web application servers Some microcontrollers JavaScript/Node JS/TypeScript Web sites Web application servers C# Games (Unity) Consumer applications (Windows) Business applications C++ Games (Unreal Engine) Operating systems, device drivers Microcontrollers/embedded systems Consumer applications (Linux) Some more tips: Do not learn C++ (or any other dialect of C) as a...

Similar threads

  • · Replies 12 ·
Replies
12
Views
3K
Replies
8
Views
2K
  • · Replies 5 ·
Replies
5
Views
5K
  • · Replies 12 ·
Replies
12
Views
2K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 16 ·
Replies
16
Views
3K
  • · Replies 33 ·
2
Replies
33
Views
3K
  • · Replies 1 ·
Replies
1
Views
4K
  • · Replies 4 ·
Replies
4
Views
4K
  • · Replies 4 ·
Replies
4
Views
1K