Report on the Fortran Modernisation Workshop

This two day intense workshop covered a vast array of topics related to developing reliable computational science software in Fortran more effectively, yet still retained time for practical work trying these out and discussions between the course leaders and participants. It was attended by 31 students and staff members of the University. Wadud Miah (NAG) led the workshop, assisted in lecturing by Fatima Chami (Durham) and Kyle Fernandes (Cambridge).

Wadud began by arguing for the importance of good software engineering practices in computational science, then gave a potted history of Fortran culminating with a tour through the features in recent versions of the standard that facilitate writing good code. Sessions also covered supporting tools that enable good development practices, including a brief guest lecture from Mistral Contrastin (Cambridge) describing the CamFort program checker, which uses annotations in program comments to support checks such as consistent use of physical units.

The full list of topics included: tips for writing optimised and efficient Fortran, using the NetCDF and HDF5 scientific file formats for data sharing and efficient I/O, using GNU make to automate the build process, the pFUnit unit testing framework, code documentation with Doxygen, more reliable interoperability between C and Fortran in the latest Fortran version, an introduction to parallelism for Fortran (including using CUDA), in-memory visualisation using plplot, IEEE floating point exception handling, software verification and portability, and version control with git.

If you are interested in these topics but couldn’t make this iteration, the workshop will be repeated in multiple locations around the UK over the coming months: Southampton in July, Culham in August, London in September, and Daresbury in October. See for full details and the up-to-date list. Our thanks to those that did attend for their enthusiasm, and feedback on ways to further improve the workshop.

Many thanks to the lecturers for providing their time for free to deliver this course, and to the Doctoral Training Centre for the venue (again at no cost). One advantage of the network of contacts that the RSDN has across Oxford is that we can often obtain suitable teaching space for free, so if there are advanced training courses that you would like to see happen, or indeed deliver, do get in touch.

A lecture by Fatima during the workshop
The final practical session