- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi all, I'm running in an error:
"forrtl: severe (66): output statement overflows record"
ifort - v says I'm running "Intel(R) 64, Version 17.0.2.187 Build 20170213" in MS Studio Community 2015
I am writing a very long line to a file with 1007 columns, the following statement gives the error
WRITE(16,'(2G13.3, 2I3, 2G10.2, I4, 1200(1X,G15.8,1X,E12.6))') & X, Y, N, IH, ZT, ZB, NH, ( PROP(M), FLAG(M) , M=1, SIZE(PROP) )
Note:
-statement simplified for this post
-unit 16 is well defined
-the value of '1200' in the format is always larger than SIZE(PROP)
I changed the code to first do an internal write to "out_test", where this variable has a large enough size:
CHARACTER(35000) :: out_test
so instead of the above, I do
WRITE(out_test, <SAME FORMAT ETC.>
this works until I try to write it to a file:
WRITE(16,'(A)') trim(out_test)
Again same error.
this however works (but contains line breaks in the output I want to avoid):
WRITE(16,*) trim(out_test)
Any hints?
Cheers
-Ralf
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The default record length for the file is not long enough I think. Add a RECL= to the open statement.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Show us the OPEN statement for unit 16. The documented maximum record length for a formatted, variable-length record is 2147483640 bytes. As far as I know, you should not need to specify RECL. Can you post a small but complete program that shows the problem?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
really confused now. I thought there was some problem with records over 132 characters as I have had problems in the past. I can even look at code where i have added record lengths as a fix. Try as I might I cannot replicate this problem. Maybe with some other /older compiler perhaps ......
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks Andrew and Steve,
indeed it was the OPEN statement:
OPEN(16,FILE=OUTF,STATUS='UNKNOWN',RECL=8192)
which I changed to
OPEN(16,FILE=OUTF,STATUS='UNKNOWN')
This worked.
Cheers
-Ralf
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page