# Fortran Tools, Libraries, and Application Software

The Fortran Company is now offering FortranTools, a suite of tools consisting of gfortran, the open source Fortran 95 compiler with F03 and F08 features; Code::Blocks, an open source graphical user interface for editing, compiling, running, and debugging Fortran programs; GTK-Fortran; OpenMP; procedures for creating graphical input and output with Fortran programs; GNUPlot plotting; several books in electronic form; the BLAS and LAPACK libraries with the MATRAN Fortran wrapper; interval arithmetic; and other tools. FortranTools is available on Windows from the Fortran Store.

Here is a list of general libraries.

All of the libraries in this first list are free:

- BLAS
- EISPACK
- GAMS–NIST Guide to Available Math Software
- Some statistical and other routines from NIST
- LAPACK
- LINPACK
- The Netlib collection of mathematical software, papers, and databases.
- ODERPACK, a set of routines for ranking and ordering.
- Expokit for computing matrix exponentials
- SLATEC
- StatLib statistical library
- TOMS
- Sorting and merging strings

The following libraries are not free:

Here are many other software tools for Fortran programmers. Some are free; some are not:

- MUESLI, a numerical and graphics library (free)
- Doctran, a documentation generator tool for Fortran codes
- EGGX/Procall Easy and Gratifying Graphics Library for X11
- cfortran.h, which helps with interfacing Fortran with C/C++
- FXDR, subroutines to do unformatted I/O accross platforms, provided by David Pierce at UCSD
- A program that diagrams Fortran (including Fortran 90 and 95) programs
- A Fortran 77 quick sort and another Fortran 77 quick sort
- A random number generator in a module from George Marsaglia
- A random number generator written in Fortran 77 (or Fortran 90 fixed form).
- Another random number generator written in Fortran 77 (or Fortran 90 fixed form).
- The NAS Parallel Benchmarks
- There is a bunch of free software available on the Numerical Algorithms Group software repository and many items of related interest as well.
- A module for sets of integers
- Roman numerals module
- Floppy, a f77 coding convention checker and code tidier
- Flow, which takes output produced by Floppy and produces various reports on the structure of the original Fortran program
- David Bailey’s Multiple Precision Arithmetic Module
- Large Integers Module
- Fortran-M is a small set of extensions to Fortran that supports a modular approach to the design of task parallel, message-passing programs
- Three utilities provided by Michel Olagnon of Ifremer: f90ppr, a Fortran 90 preprocesor, f90split, a Fortran 90 version of fsplit, and f90tops, a Fortran 90 to PostScript converter
- PGPLOT Graphics Subroutine Library
- A program that attempts to convert Numerical Recipes Fortran 90 code to make it compatible with the ELF90 compiler
- Some code that determines processor dependencies and build a usable module can be found here, compliments of Dan Nagle
- Generic linked list module provided by Peter McGavin and Roger Young
- A module for performing sophisticated data input operations
- F2KCLI is a free implementation of the Fortran 2000 command line interface (getting arguments from the command line)
- A version of quick sort has been contributed by Juli Rew of NCAR
- MATRAN: A matrix wrapper for Fortran 95
- John Burkardt’s huge collection of F77 code translated to free-format F90 (Lapack, Eispack, Linpack, Quadpack etc.)
- Open Directory Project: Fortran source code
- Ftcl, an interface for Tcl and Fortran from Arjen Markus
- Xeffort is a free, open source library for the creation of GUIs with Intel Visual Fortran.
- Interfaces allowing direct access to gnuplot from Fortran (for Unix).
- Posix functions in Fortran (for Linux)..
- XML parser written by Arjen Markus
- XML parser written by Mart Rentmeester
- HicEst is a Fortran-based Interpreter.
- make_pm generates a processor model and helps with interfacing Fortran with C/C++.
- Mathtools.net is the technical computing portal for all scientific and engineering needs. The portal is provided as a free service to the scientific community and contains useful links for technical computing programmers.
- The Fortran Interface Wizard automatically generates code for creating a Fortran DLL and interface code for using the DLL from Borland Delphi. A sample delphi project can also be generated. The program is GPL.
- COCO free source code from Purple Sage
- A vectorial graphical library in DXF.
- F2PY – Fortran to Python Interface Generator
- SansGUI, from ProtoDesign, Inc., is a modeling and simulation environment for developing and deploying scientific and engineering simulators without writing any graphical user interface code. SansGUI supports Compaq Visual Fortran for creating tightly-coupled and highly interactive in-process simulators. Other Fortran compilers can be used to create external process simulators.
- DESL, an integrated data manipulation/plotting tool written in Fortran with functionality mostly related, but not limited to, wind tunnel testing of aircraft.
- Stephen Kirkup sells and gives away Fortran codes for solving a range of physical problems by the Boundary Element Method. See the web site http://www.boundary-element-method.com.
- Here are three Makefile builders, one a perl or shell script, and the other two: a perl program, also a perl program.
- FMZM90 (related to FMLIB), provided by David Smith of Loyola Marymount University, is a Fortran-90 module that defines three derived types: multiple-precision real, multiple-precision integer, and multiple-precision complex. Interfaces are provided so that a program can declare variables to be multiple-precision types and then write the code for multiple-precision operations using normal Fortran syntax.
- MarshallSoft Computing offers “SMTP Email Library for Fortran” (SEE4F), which allows the ABSOFT Fortran programmer to send email including MIME attachments. SEE4F is marketed as shareware ($95).

See http://www.marshallsoft.com/

MarshallSoft Computing

P. O. Box 4543

Huntsville AL 35815 USA

Phone 256-881-4630 880-0925 (fax)

mike@marshallsoft.com - This site at NIST contains Fortran 90 bindings for OpenGL.
- Oxford Scientific Software markets and supports GKS for Windows.
- RealWin to create real Windows Applications with Fortran.
- The Numerical Algorithms Group mathematical and statistical libraries
- FORTRAN-lint, from Cleanscape Software, is a stand-alone source code analyzer that expedites software development by simplifying the debugging and maintenance of F77 and F90 programs by detecting problems compilers cannot catch.
- Fortran reverse engineering tools from STI
- SDX Dynamic Systems Modeling & Simulation Software is a general purpose Problem Solving Environment for dynamics related applications in science and engineering.
- GINO v6.0, the graphics and GUI development toolkits, is now available. Pleas visit their website http://www.gino-graphics.com for complete product information.
*INTERACTER*portable graphics interface library and*Winteracter*, Fortran 90 Win32 user-interface and graphics developments tools from Interactive Software Services Ltd*plus*FORT tools for the Fortran programmer from Polyhedron Software- FOR_STRUCT, FOR_STUDY, FOR_C, FOR_C++ tools from Cobalt Blue
- FTNCHEK, which detects unused, undeclared, and uninitialized variables, provided by Robert Moniot (free–439K bytes)
- Forcheck, Leiden University’s Fortran static analyser
- Keyed file shareware pkf.f90: a Fortran 90 module is available from Garnatz and Grovender, Inc.
- Fixed-to-Free Source Form Converter; a preconverter for convert.f90
- f2f90, a command-line version of Metcalf and Reid’s convert.f90, which converts fixed source form to free source form
- A Fortran 77 subroutine that converts Unix time into date and time