View on Github

Awesome Fortran Awesome Build Status

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

Functional Libraries

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.
  • PAW - conceived as an instrument to assist physicists in the analysis and presentation of their data

JSON Manipulation

Libraries for JSON data manipulating with Fortran language.

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.

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.

Automatic documentation

Libraries for building documentation.

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

Computational Fluid Dynamics

Libraries for CFD computations

  • OFF - Open source Finite volume Fluid dynamics code.

Docker

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

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.