The code will be compiled with the flag -std2008 i.e. enforce conformance to fortran2008 standard. (2008 is required only for the EXECUTE_COMMAND_LINE command). For updating old fortran software the follownig web page is useful... http://fortranwiki.org/fortran/show/Modernizing+Old+Fortran The following guidelines will be followed in the software (note that exceptions may be made for re-used open source software) 1. Subroutines will be place in MODULES so that the compiler can check the interface between a subroutine and is calling program are consistent 2. No TAB characters will be allowed in the source code (not portable) 3. the KIND of real and complex variables will be specified in the MODULE type_specifications using selected_real_kind(). real and complex variables are then specified with real(dp) :: real_variable_name complex(dp) :: complex_variable_name 4. Loops, ifs etc will be indented to improve the clarity of the code structure 5. The length of character strings will be set using the form character(len=filename_length) NOT character*filename_length 6. The SAVE attribute should be included in modules where required - we cannot assume that variables will be saved automatically. 7. INTRINSIC NONE will be used in programs and subroutines to ensure that all variables are explicitly declared.