Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

(Original author's: Ben Hillman and Walter Hannah from the ACME-ECP Confluence)

...

The committee that defines the standards:  https://j3-fortran.org/

What standard to use:  You should stick mostly with Fortran95 but we do want to use the ISO-C bindings available in Fortran2003.  So technically that means Fortran2003 is allowed but see below.

Modern language features (classes)

Do not use modern Fortran approaches for abstraction, such as classes. Current OpenACC/OpenMP implementations do not play well with Fortran classes, so we should avoid using these for anything that we think might need to be ported in the future. But in general, it is probably best to avoid their use for this project, and favor more fundamental data structures.

...

In general, you should never use features that are new in the latest Fortran standard.  It takes a long time for compilers to implement them correctly and even longer from them to perform well.  For example, avoid Fortran2003 features for type extension and inheritance, polymorphism, dynamic type allocation, (and type-bound procedures.)

Line width

Source code lines should not exceed 100 characters in length.
Once a line reaches 100 characters, it should be split into multiple lines with a continuation character. This rule applies to comment lines as well.

...