Intro to modern Fortran

Course Overview

This 5-day course provides a comprehensive introduction to the key features of modern Fortran including the Fortran base types, arithmetic, precision, arrays and whole array features, I/O, control structures, intrinsic and user defined functions, subroutines, modules, pointers and simple data structuring.

The course builds to provide a solid foundation of skills to start working with existing codes and to progress to the more advanced course.

The course is a mixture of lectures and practical sessions and on completion delegates should be able to work with most existing codes.

Fortran is the main language for numeric computation, especially high performance computing and over 80% of the workload on the UK's academic research supercomputers is written in Fortran.
The course is suitable for both complete beginners and people with some programming background.


Delegates should be comfortable with using a computer system running Unix, Linux or Windows and a text editor.

Course details

Introduction to problem solving

Introduction to programming languages

Introduction to programming

Introduction to arithmetic


Real and Integer data types


Rules for computer arithmetic


​Finite precision and implications for computer arithmetic


basic array syntax


one and multidimensional arrays


dynamic arrays - allocatable attribute


whole array processing


array sections


array element ordering


numeric edit descriptors
input and output of reals and integers
character/ text data


file access - open and close statements


speed of access - text versus binary files




handling errors


the first of the two fundamental Fortran building blocks


intrinsic functions


user defined functions


scope of variable


internal functions


pure and elemental functions


functions and modules

Control Structures

complete coverage of Fortran control structures

Character variables

character/ text data in Fortran


Fortran's character functions

Fortran's other basic data types




Introduction to derived types

Introduction to pointers


Fortran's remaining building block


modules and subroutines


passing parameters in Fortran


passing scalar and array parameters


automatic and allocatable arrays


keyword and optional arguments


internal subroutines and scope


commercial numerical and statistical subroutine libraries


Fortran's code organisation mechanism


basic module syntax


modules for global data


modules for precision specification and constant definition


modules for derived types


implicit and explicit interfaces

Introduction to data structuring with examples

singly linked list: reading an unknown amount of data


reading in an arbitrary number of reals using a linked list and copying to an array


ragged arrays


ragged arrays and variable sized data sets


perfectly balanced tree


date class


date data type with USA and ISO support


Course material

program examples from 4th edition book (updated 2/9/18)
Compressed archive in ZIP format [170.5 KB]
For more information please contact

Contact us today!

Print | Sitemap
© Fortranplus 2009