Fortran Wiki
Libraries

This page is for linking to available Fortran libraries and source code repositories. See Software repositories for collections of libraries and see Library distribution for methods for packaging and distributing Fortran libraries.

Libraries linked here are classified as follows:

  • (PD) public domain (e.g., software written by the U.S. government)
  • (OS) free and open source software (GPL, LGPL, BSD, and similar licenses)
  • (NC) free for noncommercial use, possibly with commercial licensing options
  • (C) commercial
  • (?) unspecified license

When available, the above tags should link to the license page for a particular library, or to the text of the license itself.


General-Purpose Libraries

  • FGSL - A Fortran interface to the GNU Scientific Library. (OS: GPL)
  • FLIBS is a collection of Fortran modules by Arjen Markus and Michael Baudin. (OS: BSD)
  • FortranCL a Fortran interface for OpenCL, allows to execute code on GPUs and accelerators directly from Fortran. (OS: LGPL)
  • FortCUDA A native Fortran interface to the CUDA GPU library. Contains a Python pre-processor to parse the CUDA C headers and creates ISO_C_BINDING interfaces for the method calls. Comes with a fairly complex example. (OS: GPL)
  • IR_Precision a Fortran (standard 2003) module useful to achieve portable codes. The module makes available portable kind-parameters and some useful procedures to deal with them. (OS: GPL)

Numerical, Scientific, and Mathematical Libraries

  • SLATEC Common Mathematical Library: a comprehensive software library containing over 1400 general purpose mathematical and statistical routines written in Fortran 77. (PD)
  • CERNLIB, a collection of FORTRAN 77 libraries and modules maintained by CERN. (OS: GPL)
  • SLATEC, a Fortran 90 version by John Burkardt. (?)
  • FLAGON, a Fortran-9X library for GPU numerics. (OS: LGPL)
  • ARPREC, a C++/Fortran 90 library for arbitrary precision math. Includes a complete interactive high-precision arithmetic computing interpreter (“toolkit”) written in Fortran, that will integrate symbolic expressions etc. (OS: BSD)
  • FMLIB, David M. Smith’s libraries for multiple precision computation. The package performs multiple-precision real, complex, and integer arithmetic, providing the intrinsic Fortran numerical functions, as well as many special functions. An existing Fortran program can be checked by converting it from double precision to FM arithmetic. (NC)
  • MPFUN90, a pure Fortran 90 library for arbitrary precision math. Includes a complete interactive high-precision arithmetic computing interpreter (“toolkit”) written in Fortran, that will integrate symbolic expressions etc. (OS: BSD)
  • starpac, A Fortran 77 statistical library writen by John Koontz and Janet Donaldson (at NIST) (PD)
  • datapac, A Fortran 77 statistical library written by James Filliben (at NIST) (PD)
  • stspac, A Fortran 77 statistical library written by Charlie Reeves (at NIST) (PD)
  • SLICOT - The Control and Systems Library (GPL)
  • Muesli - A free numerical and graphical Fortran 95 library written by Edouard Canot at IRISA (OS)

Linear Algebra

  • BLAS: Basic Linear Algebra Subprograms that provide standard building blocks for performing basic vector and matrix operations (PD)
  • Expokit provides matrix exponential routines. (NC)
  • LAPACK is the standard package for numerical linear algebra. (OS: BSD)
  • LAPACK95 is a Fortran 95 interface for LAPACK. (OS)
  • BLAP95 - a Fortran 95 interface to the Level 3 BLAS routines and key LAPACK computational and driver routines. ([?])
  • NETLIB freely available mathematical and scientific software much of it in Fortran 77 ([?])

Statistics and Econometrics

  • starpac, A Fortran 77 statistical library writen by John Koontz and Janet Donaldson (at NIST) (PD)
  • datapac, A Fortran 77 statistical library written by James Filliben (at NIST) (PD)
  • stspac, A Fortran 77 statistical library written by Charlie Reeves (at NIST) (PD)
  • MISCLIB, a library of statistical and support routines, written by Barry Brown (M.D.Anderson Cancer Institute) - open source

Optimization and Solvers

  • MINPACK contains routines for solving nonlinear equations and nonlinear least squares problems. (OS: BSD)

Plotting and Graphics

  • ogpf is an object based Fortran 2003 / Fortran 2008 code implements an interface to gnuplot. (PD)
  • gtk-fortran is a new cross-platform library to build Graphical User Interfaces (GUI). It is a GTK+ / Fortran 2003 binding based on the ISO_C_BINDING module. (OS: GPL)
  • GNUFOR2 is a Fortran 90 interface to Gnuplot which helps to plot graphs, surfaces, histograms and images. (?)
  • DISLIN is a high-level scientific data plotting library. (NC)
  • F90GL - Fortran 90 bindings for OpenGL and the GL Utility Toolkit (GLUT) (PD)
  • F03GL - Fortran 2003 bindings for OpenGL, GLU and GLUT ([?])
  • g2 is an easy to use, portable and powerful 2D graphics library. Currently supported devices: PostScript, X11, PNG and JPEG (using gd) and Win32 (xfig in development). g2 is written in C (ANSI) and has a Fortran interface. (OS: LGPL)
  • g95gl - Alternate Fortran 95 (interop) bindings for OpenGL and the GL Utility Toolkit (GLUT)
  • MathGL is a library for making high-quality scientific graphics under Linux and Windows via Qt, FLTK or OpenGL. ([OS: GPL])
  • PGPLOT graphics subroutine library. (NC)
  • libvogle a basic vector-based graphics library in C, but Fortran-callable
  • EGGX/ProCALL is an X11 graphics library for C and FORTRAN created to achieve extreme simplicity. Uses only Xlib. ([OS: GPL])
  • GrWin is a Windows graphics library for FORTRAN and C.
  • Lib_VTK_IO a pure Fortran library to write and read data conforming the VTK standard. This library is not a porting or a wrapper of the VTK code, but it is only an exporter/importer of VTK data format written in pure Fortran language (standard Fortran 2003). (OS: GPL)

Differential Equations

  • ODEPACK is a systematized collection of ODE solvers. (PD)

Permutations

  • ORDERPACK is a library with routines for unconditional, unique, and partial ranking, sorting, and permutation. (?)

Command-Line Parsing

  • KRACKEN: a library for parsing Unix-like command-line arguments. (OS)
  • FLAP a Fortran command Line Arguments Parser for poor men. A very simple and stupid tool for building easily nice Command Line Interface for modern Fortran projects (standards 2003+). (OS: GPL)

Command History Editor

  • cdcdcd REDO: a library that permits you to list, recall, save, and modify interactive input using a simple line-mode editor model. (OS)

XML Parsers

System

  • fortranposix - An implementation of some POSIX functions in Fortran 90/95. (OS: LGPL)
  • modfilesys - Modern Fortran wrappers around the file system interface of libc: rename and remove files, recursively create and remove directories, obtain filenames in a directory, check whether a given file exists and if a directory or a symbolic link, obtain the current working directory and change to a directory, create hard links and symbolic links, resolve the target of symbolic links, canonize path names. (OS: BSD)
  • Posix90 - The Fortran 90 Posix interface project. (OS: GPLv2+)