Blame view

SOFTWARE_NOTES/coding_standard.txt 1.34 KB
886c558b   Steve Greedy   SACAMOS Public Re...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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.