I an currently working on a code that is ,as far as I know, compiling well with ifort. I tried to compile it with gfortran and I got the following error:
WRITE(100, '(8ES18.10E)') a 1 Error: Positive exponent width required in format string at (1)
I am puzzle by this format:8ES18.10E, what is supposed to mean the last E? Is it a ifort/gfortran incompatibility?
Thanks for advice
Ein the format should not be present.E. It doesn't surprise me that Intel Fortran doesn't reject it, it's but the latest incarnation of a long line of compilers extending back to the 60s. Along the way it has picked up many, many non-standard features (or features which are no longer standard) and through an unbounded enthusiasm for backward compatibility not dropped (m)any of them, though judicious use of flags can persuade it to be more ruthless in this regard.ES18.10E, and why gfortran correctly rejects it.18is the overall width of the formatted number.10is the number of digits that follows the decimal point. The trailingErequires an integer value to specify the number of digits in the exponent. As @HighPerformanceMark states Intel is accepting an extension to the Fortran standard. Intel provides an option to request conformance to the Fortran standard (see its documentation).ES18.10Eso much as it's under no obligation whatsoever to tell you thatES18.10Eisn't a valid format item.