← Back to Awesome

Sections

Fortran

GitHub repository ↗ synced 2026/8/9

Awesome Fortran Awesome Build Status

A curated list of awesome Fortran frameworks, libraries and software. Inspired by awesome-swift by @Wolg.

  • Portability enabling
  • Command-Line parsing
  • Compiling and building
  • Preprocessor
  • Formatting
  • Automatic documentation
  • Computational Fluid Dynamics
  • Docker
  • Web
  • Fortran Websites

Functional Libraries

  • Functional Fortran - Functional programming for modern Fortran.

Graphics Libraries

Libraries for graphing, graphics, and GUIs

  • DISLIN - a high-level graphing and user-interface library.
  • f90gl - public domain implementation of the official NIST Fortran 90 bindings for OpenGL.
  • F03GL - a Fortran 2003 interface to the OpenGL library, along with the GLU and GLUT toolkits.
  • gtk-fortran - a cross-platform library to build Graphical User Interfaces (GUI) using GTK+. Very useful when combined with the Glade RAD tool.
  • PGPLOT - cross-platform scientific graphing library.
  • VTKFortran - Pure Fortran (2003+) library to write and read data conforming the VTK standard.

Math Libs

Libraries for calculating and other mathematical operations.

  • BLAS - application programming interface standard for publishing libraries to perform basic linear algebra operations such as vector and matrix multiplication.
  • CERNLIB - The CERN Program Library is a large collection of general purpose libraries and modules maintained and offered in both source and object code form on the CERN central computers
  • EISPACK - a software library for numerical computation of eigenvalues and eigenvectors of matrices, written in FORTRAN
  • FGSL - portable, object-based Fortran interface to the GNU scientific library
  • IMSL - The IMSL Fortran Numerical Library is the standard for high performance computing commercial mathematics and statistics libraries
  • Lis - a Library of Iterative Solvers for Linear Systems
  • NAG Fortran Library - Produced by experts for use in a variety of applications, the NAG Fortran Library has a global reputation for its excellence and, with hundreds of fully documented and tested routines, is the largest collection of mathematical and statistical algorithms available
  • netCDF - a set of software libraries and self-describing, machine-independent data formats that support the creation, access, and sharing of array-oriented scientific data.
  • OpenBLAS - one of the fastest open source BLAS libraries available. Almost as fast as Intel MKL.

JSON Manipulation

Libraries for JSON data manipulating with Fortran language.

  • FSON - Fortran 95 JSON Parser.
  • json-fortran - A Fortran 2008 JSON API.

XML Manipulation

Libraries for XML data manipulating with Fortran language.

  • fox - Fortran XML library
  • xml-fortran - an all-Fortran solution for reading and writing XML files.

Date and time manipulation

Libraries for date and time manipulation with Fortran language.

  • datetime-fortran - A Fortran 2003 date and time manipulation library, modeled after Python's datetime library.

Testing

Libraries for testing codebases and generating test data.

  • FRUIT - FORTRAN Unit Test Framework, written in FORTRAN 95
  • Ftunit - Fortran unit testing framework by Arjen Markus
  • pFUnit - Unit testing framework for Fortran with MPI extensions by developers from NASA and NGC TASC. Uses parallel codes and object-oriented design.
  • Vegetables - For a healthier code base, eat your vegetables

Encoding-Decoding

Libraries for encoding and decoding data with Fortran language.

  • BeFoR64 - Base64 encoding/decoding library for FoRtran poor men. A KISS library for base64 encoding/decoding for modern (2003+) Fortran projects.

Portability enabling

Libraries for enabling codes portability.

  • PENF - Pure Fortran (2003+) library for ensuring codes portability.

Command-Line parsing

Libraries for parsing command-line and building user interfaces.

  • FLAP - Fortran command Line Arguments Parser for poor men. A KISS library for building easily nice Command Line Interfaces (CLI) for modern (2003+) Fortran projects.
  • options.f90 - Options & input processing for modern Fortran.

Compiling and building

Libraries for compiling and building Fortran projects.

  • FoBiS - Fortran Building System for poor men. A KISS tool for automatic building modern Fortran projects.

Preprocessor

Libraries for conditional-compilation, macros for code simplification, and inclusion of additional source files, templating systems.

  • Blockit/PyF95++ - A fairly simple Python framework used to block parse your code (or any text file) into nested blocks. The BlockIt framework has already been used to create a templating capability for the Fortran 95/2003 language along with some language extensions.
  • PreForM - Preprocessor for Fortran poor Men.

Formatting

Tools for formatting and style-checking Fortran source code.

  • ffmt - Fast, configurable Fortran formatter with support for Fypp, Doxygen, and OpenACC/OpenMP directives. Written in Rust, installable via pip.

Automatic documentation

Libraries for building documentation.

  • FORD - An automatic documentation generator for modern Fortran programs.

Computational Fluid Dynamics

Libraries for CFD computations

  • MFC - Exascale multiphase compressible flow solver with GPU acceleration via OpenACC. 2025 Gordon Bell Prize Finalist.
  • OFF - Open source Finite volume Fluid dynamics code.

Docker

  • Unoficial Image - docker image provided by @baekjoon

Web

  • Fortran Machine - An MVC web stack written in Fortran 90

Resources

Various resources, such as books, websites and articles, for improving your Fortran development skills and knowledge.

Fortran Websites

  • The Fortran Company - A home page of FORTRAN programming language.
  • Fortran Dev - Fortran development blog.
  • Fortran WIKI - An open venue for discussing all aspects of the Fortran programming language and scientific computing.

Fortran Videos

  • GNU FORTRAN Lesson 1 - Videos about the Fortran programming language.

Other Awesome Lists

Other amazingly awesome lists can be found in the awesome-awesomeness list.

Contributing

Your contributions are always welcome! Please submit a pull request or create an issue to add a new framework, library or software to the list. Do not submit a project, which hasn't been updated in the past 6 months or is not awesome.