[[
wikihub
]]
Search
⌘K
Explore
People
For Agents
Sign in
Explore
People
For Agents
Sign in
@harrisonqian / Awesome / wiki/programming-languages/fortran.md
Suggest edit
Cancel
Submit suggestion
Title
Name
Note
--- visibility: public --- # Fortran **repo:** [rabbiabram/awesome-fortran](https://github.com/rabbiabram/awesome-fortran) **category:** [[programming-languages|Programming Languages]] **related:** [[scientific-computing|Scientific Computing]] --- # Awesome Fortran [](https://github.com/sindresorhus/awesome) [](https://travis-ci.org/rabbiabram/awesome-fortran) A curated list of awesome Fortran frameworks, libraries and software. Inspired by [awesome-swift](https://github.com/Wolg/awesome-swift) by @Wolg. - [Awesome Fortran](#[awesome](/@harrisonqian/awesome/wiki/miscellaneous/awesome)-fortran) - [Functional Libraries](#functional-libraries) - [Graphics Libraries](#graphics-libraries) - [Math libs](#[math](/@harrisonqian/awesome/wiki/theory/math)-libs) - [JSON Manipulation](#[json](/@harrisonqian/awesome/wiki/miscellaneous/json)-manipulation) - [XML Manipulation](#xml-manipulation) - [Date and time manipulation](#date-and-time-manipulation) - [Testing](#testing) - [Encoding-Decoding](#encoding-decoding) - [Portability enabling](#portability-enabling) - [Command-Line parsing](#command-line-parsing) - [Compiling and building](#compiling-and-building) - [Preprocessor](#preprocessor) - [Automatic documentation](#automatic-documentation) - [Computational Fluid Dynamics](#computational-fluid-dynamics) - [Docker](#docker) - [Web](#web) - [Resources](#resources) - [Fortran Websites](#fortran-websites) - [Fortran Videos](#fortran-videos) - [Other [Awesome](/@harrisonqian/awesome/wiki/miscellaneous/awesome) Lists](#other-awesome-lists) - [Contributing](#contributing) ## Functional Libraries * [Functional Fortran](https://github.com/wavebitscientific/functional-fortran) - [Functional programming](/@harrisonqian/awesome/wiki/programming-languages/functional-programming) for modern Fortran. ## Graphics Libraries *Libraries for graphing, graphics, and GUIs* * [DISLIN](https://www.mps.mpg.de/dislin/) - a high-level graphing and user-interface library. * [f90gl](https://math.nist.gov/f90gl/) - public domain implementation of the official NIST Fortran 90 bindings for [OpenGL](/@harrisonqian/awesome/wiki/miscellaneous/opengl). * [F03GL](http://www-stone.ch.cam.ac.uk/pub/f03gl/index.xhtml) - a Fortran 2003 interface to the [OpenGL](/@harrisonqian/awesome/wiki/miscellaneous/opengl) library, along with the GLU and GLUT toolkits. * [gtk-fortran](https://github.com/vmagnin/gtk-fortran/wiki) - a [cross-platform](/@harrisonqian/awesome/wiki/platforms/cross-platform) library to build Graphical User Interfaces (GUI) using [GTK+](https://www.gtk.org/). Very useful when combined with the [Glade](https://glade.[gnome](/@harrisonqian/awesome/wiki/platforms/gnome).org/) RAD tool. * [PGPLOT](https://www.astro.caltech.edu/~tjp/pgplot/) - [cross-platform](/@harrisonqian/awesome/wiki/platforms/cross-platform) scientific graphing library. * [VTKFortran](https://github.com/szaghi/VTKFortran) - Pure Fortran (2003+) library to write and read data conforming the VTK standard. ## Math Libs *Libraries for calculating and other mathematical operations.* * [BLAS](http://www.netlib.org/blas/) - application programming interface standard for publishing libraries to perform basic linear algebra operations such as vector and matrix multiplication. * [CERNLIB](http://cernlib.web.cern.ch/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](http://www.netlib.org/eispack/) - a software library for numerical computation of eigenvalues and eigenvectors of matrices, written in FORTRAN * [FGSL](https://www.lrz.de/services/software/mathematik/gsl/fortran/index.html) - portable, object-based Fortran interface to the [GNU scientific library](https://www.lrz.de/services/software/mathematik/gsl/) * [IMSL](https://www.imsl.com/products/imsl-fortran-libraries) - The IMSL Fortran Numerical Library is the standard for high performance computing commercial mathematics and statistics libraries * [Lis](https://www.ssisc.org/lis/index.en.html) - a Library of Iterative Solvers for Linear Systems * [NAG Fortran Library](https://www.nag.co.uk/content/nag-library-fortran) - 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](/@harrisonqian/awesome/wiki/theory/algorithms) available * [netCDF](https://github.com/Unidata/netcdf-fortran) - 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](https://github.com/xianyi/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](https://github.com/josephalevin/fson) - Fortran 95 [JSON](/@harrisonqian/awesome/wiki/miscellaneous/json) Parser. * [json-fortran](https://github.com/jacobwilliams/json-fortran) - A Fortran 2008 [JSON](/@harrisonqian/awesome/wiki/miscellaneous/json) API. ## XML Manipulation *Libraries for XML data manipulating with Fortran language.* * [fox](https://github.com/andreww/fox) - Fortran XML library * [xml-fortran](https://sourceforge.net/projects/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](https://github.com/wavebitscientific/datetime-fortran) - A Fortran 2003 date and time manipulation library, modeled after [Python](/@harrisonqian/awesome/wiki/programming-languages/python)'s datetime library. ## Testing *Libraries for testing codebases and generating test data.* * [FRUIT](https://sourceforge.net/projects/fortranxunit/) - FORTRAN Unit Test Framework, written in FORTRAN 95 * [Ftunit](http://flibs.sourceforge.net/ftnunit.html) - Fortran unit [testing](/@harrisonqian/awesome/wiki/testing/testing) framework by Arjen Markus * [pFUnit](https://sourceforge.net/projects/pfunit/) - Unit [testing](/@harrisonqian/awesome/wiki/testing/testing) framework for Fortran with MPI extensions by developers from NASA and NGC TASC. Uses parallel codes and object-oriented design. * [Vegetables](https://gitlab.com/everythingfunctional/vegetables) - For a healthier code base, eat your vegetables ## Encoding-Decoding *Libraries for encoding and decoding data with Fortran language.* * [BeFoR64](https://github.com/szaghi/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](https://github.com/szaghi/PENF) - Pure Fortran (2003+) library for ensuring codes portability. ## Command-Line parsing *Libraries for parsing command-line and building user interfaces.* * [FLAP](https://github.com/szaghi/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](https://github.com/cngilbreth/optionsf90) - Options & input processing for modern Fortran. ## Compiling and building *Libraries for compiling and building Fortran projects.* * [FoBiS](https://github.com/szaghi/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++](http://blockit.sourceforge.net/) - A fairly simple [Python](/@harrisonqian/awesome/wiki/programming-languages/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](https://github.com/szaghi/PreForM) - Preprocessor for Fortran poor Men. ## Automatic documentation *Libraries for building documentation.* * [FORD](https://github.com/cmacmackin/ford) - An automatic documentation generator for modern Fortran programs. ## Computational Fluid Dynamics *Libraries for CFD computations* * [MFC](https://github.com/MFlowCode/MFC) - Exascale multiphase compressible flow solver with GPU acceleration via OpenACC. 2025 Gordon Bell Prize Finalist. * [OFF](https://github.com/szaghi/OFF/tree/testing) - Open source Finite volume Fluid dynamics code. ## Docker * [Unoficial Image](https://hub.[docker](/@harrisonqian/awesome/wiki/back-end-development/docker).com/r/baekjoon/onlinejudge-fortran/) - [docker](/@harrisonqian/awesome/wiki/back-end-development/docker) image provided by @baekjoon ## Web * [Fortran Machine](https://github.com/mapmeld/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](https://www.fortran.com/) - A home page of FORTRAN programming language. * [Fortran Dev](https://fortrandev.wordpress.com/) - Fortran development blog. * [Fortran WIKI](http://fortranwiki.org/fortran/show/HomePage) - An open venue for discussing all aspects of the Fortran programming language and [scientific computing](/@harrisonqian/awesome/wiki/miscellaneous/scientific-computing). ## Fortran Videos * [GNU FORTRAN Lesson 1](https://www.youtube.com/watch?v=qUy8M10uZRU) - Videos about the Fortran programming language. # Other Awesome Lists Other amazingly awesome lists can be found in the [awesome-awesomeness](https://github.com/bayandin/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.