Modern Fortran in Practice by Arjen Markus