Unless otherwise declared, variable names starting with I, J,...N are of type INTEGER, otherwise they are DOUBLE*8. In FORTRAN, this kind of variable usage is called implicit declaration. Due to the fact that it hides typos in variable names this is deprecated and its use is considered a bug. To prevent it from accidentally being used, every function and subroutine must start the sequence of variable declarations with implicit none.