The 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 stuctures, 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.
On completion of the course delegates should be able to work with most existing Fortran 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 using a text editor.
Real and integer data types
The rules for computer arithmetic
Finite precision and the implications for computer arithmetic
Comprehensive examples to illustrate the above
Basic array syntax
One dimensional and multidimensional arrays
Dynamic arrays - the allocatable attribute
Whole array processing
Array element ordering
Comprehensive set of examples to illustrate the above
Numeric edit descriptors
Input and output of reals and integers
File access - open and close
Speed of access - text versus binary
The first of the two fundamental Fortran building blocks
User defined functions
Scope of variables
Functions and modules
Complete coverage of Fortrans control structures
Character data in Fortran
Fortran's character functions
Basic pointer syntax
Allocate and deallocate
Examples to illustrate use
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
Examples to illustrate simple data structuring facilities