In many ways, NECI is a fairly hostile environment to code, especially for inexperienced software developers, or those who are not familiar with the ideosynchrasies of different versions of FORTRAN/Fortran.
In the following sections we aim to give some general guidance for working in the NECI codebase, and
As a general guideline, programs should be written to fail as loudly and as early as possible. This pushes the job of finding errors and debugging up the tree.
Just “looks wrong” to the programmer.
Syntax highlighting in the editor makes a mistake stand out.
Error detected by compiler.
Error detected by linker.
Runtime error detected by debug sanity checks through code.
Runtime error caused in code at a different location to the bug.
Runtime error only occurs when running in parallel, or in bigger calculations.
Simulation appears to run correctly, but gives obviously wrong output.
Simulation appears to run correctly, but gives subtly wrong output.
We strongly aim to be at the top of the list.