Introduction to Fortran

Overview

Instructor: Jian Tao

Time: Friday, November 1, 2024 — 1:30PM-4:00PM CT

Location: Blocker 220

Prerequisites: Active HPRC account

Fortran (Formula Translation) is a general-purpose, imperative programming language that is especially suited to numeric computation and scientific computing. Fortran was originally developed by IBM in the 1950s for scientific and engineering applications and it dominates this area of programming early on and has been in continuous use for over half a century in computationally intensive areas such as numerical weather prediction, finite element analysis, computational fluid dynamics, computational physics, crystallography and computational chemistry. It is a popular language for high-performance computing and is used for programs that benchmark and rank the world's fastest supercomputers.

This class will provide an introduction to the Fortran (mainly Fortran 90) programming language.

Course Materials

  • Introduction to Fortran (Fall 2024): PDF
  • Example program (Fall 2024): TAR

Resources

Many Fortran tutorials can be found on the Fortran Wiki.

Materials from Previous Classes

  • Introduction to Fortran (Spring 2022): PDF
  • Introduction to Fortran (Fall 2021): PDF
  • Example program (Fall 2021): TAR
  • Introduction to Fortran (Spring 2021): PDF
  • Introduction to Fortran (Fall 2018): PDF
  • Introduction to Fortran Examples (Fall 2018): TGZ

Learning Objectives and Agenda

Learning Objectives

  • Understand the Basics of Fortran: Participants will gain an understanding of Fortran as a general-purpose, imperative programming language that is particularly suited to numeric computation and scientific computing.
  • Practical Skills: Participants will learn how to compile and run Fortran programs on Linux systems, understand program structure, variable types, input/output operations, logical expressions, loops, arrays, subprograms, functions, modules, and derived data types.

Agenda:

  • Introduction to Fortran 90
  • Compile and run Fortran programs on Linux systems
  • Program structure
  • Variable Type
  • I/O
  • Logical expressions
  • Loops
  • Arrays
  • Subprograms and functions
  • Modules
  • Derived data types
  • Fortran 90 resources on the Web
  • Hands-on session

Note: During the class many aspects of the material will be demonstrated live on the Grace cluster, where attendees will themselves log in to practice.

Contact the HPRC helpdesk with any questions regarding cluster accounts.