OK, here's the way I understand your problem:
The fortran program outputs very long 20M logical lines, but something causes it to output these broken down into a series of 84-character lines.
And you would like to join the short lines together to create long 20M lines?
My awk cannot read lines longer than about 3000 characters, but if I am correct about your situation, most of your lines are 84 characters in length. Do these two commands on your file to see # lines and also # lines that are NOT 84 characters in length:
wc -l fortran.out
awk 'length!=84' fortran.out|wc -l
It would take almost 250,000 lines of 84 characters each to create one long 20M line.
Although awk cannot read an extremely long line, it can construct a very long output line. This would be an easy task for awk, with the only problem in identifying precisely our stopping point for each logical line. We cannot control on a field value such as 503 since that might show up in field 1 of any of the 250,000 lines.
We might can control on physical line length. If the fortran program always outputs, for each logical record, 249659 lines of length 84 followed by one line of lenth 62, then we could control on that. Or we could control on number of lines.
And by the way, unix lines are terminated with "newline" characters (also called linefeed or LF characters), which is Ctrl-J or octal 12 or decimal 10. Carriage returns in unix do not cause line breaks. They are just another character (Ctrl-M or octal 15 or decimal 13).