Source: http://www.usm.uni-muenchen.de/people/puls/lessons/intro_general/f90_for_beginners.pdf