Hi All,
I am trying to run a program compiled using intel fortran 17.0.5 20170817 compiler on opensuse 12 having ~512 GB ram. The code -
user@machine1:~/STORE/TESTING/ssmis> cat test.f program main irecl= 538109432 c irecl= 2147483647 open(3,file='obstore.data',form='unformatted',& access='direct',recl=irecl) end
here is what i get when i compile & run this code -
user@machine1:~/OBSTORE/TESTING/ssmis> ifort test.f user@machine1:~/OBSTORE/TESTING/ssmis> ./a.out forrtl: severe (118): The 'RECL=' value in an OPEN statement for unit 3, file /home/user/STORE/TESTING/ssmis/obstore.data, exceeds the maximum allowed for the file's record type. Image PC Routine Line Source a.out 000000000042AA63 Unknown Unknown Unknown a.out 0000000000408CBE Unknown Unknown Unknown a.out 00000000004029FE Unknown Unknown Unknown a.out 000000000040294E Unknown Unknown Unknown libc-2.22.so 00002B501C0D66E5 __libc_start_main Unknown Unknown a.out 0000000000402869 Unknown Unknown Unknown user@machine1:~/STORE/TESTING/ssmis>
In function,
open(3,file='obstore.data',form='unformatted', access='direct',recl=irecl)
If i set irecl to be 10x smaller (53810943) or ,
form = formatted, then code works fine.
- What is the "maximum/permissible/allowed" value of irecl for unformatted file.
- Is there a compiler flag through which i can get past the "record length" limitation on unformatted file?
I have already tried integer(kind=8) for irecl, but the error message was same.
Please let me know if more information is required from my end.
Eagerly awaiting your replies.