Modern Fortran: Style and Usage