Free Fortran Software
This software is made available as a service of the
Fortran Market and others.
Please take anything you think you will find useful.
There should be a version of the I/O module and the kind
parameter module for each Fortran 90 implementation.
Vendors: please supply a version for your implementation!
-
There are free versions of
the F compiler
available from Imagine1, Inc. for Windows, Linux, the Mac, and
several versions of Unix.
-
COCO free source code from Purple Sage
-
A Fortran 90 syntax (lexical) coloring file for the vim text editor is
available at
http://www.unb.ca/chem/ajit/f90.vim.
It has options for fixed source format, Fortran 95, the Lahey subset
language elf90, and the Imagine1 subset language F.
-
Generic linked list module
provided by Peter McGavin and Roger Young
-
Variable precision arithmetic module by Lawry Schonfelder
-
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.
-
Some code that determines processor dependencies
and build a usable module can be found
here, compliments of Dan Nagle.
-
This site at NIST contains Fortran 90 bindings for
OpenGL.
-
Pacific-Sierra Research
free Linux Fortran 90 compiler
-
Here is a
Fortran 77 to Java translator.
-
Stepanyuk Oleg has written
"Optima90L", free downloadable software
to adapt your F66/F77 sources for F90 and remove all
operators which will be removed from next Fortran (F2000?) or
optimize your F90 sources for better speed & compatibly.
This program will give you recommendations about adapting
& optimizing your text for full compartibly with F90.
-
Ernst Meese of the
Norwegian University of Science and Technology, Trondheim, Norway
has written a small
library in Fortran 90 for solving sparse matrix problems. It contains modules for the
compressed sparse row (CSR) and the modified sparse row (MSR) data storeage
formats, a very general incomplete LU factorsation routine, the Krylov
subspace solvers CGS, BiCGSTAB and GMRES, and some more.
understandable. It is available together with a manual by ftp at
ftp.maskin.ntnu.no/pub/mtf/smlib.
-
C2F, a C to Fortran 90 translator for Windows 95/NT.
-
A program that attempts to convert Numerical Recipes Fortran 90 code
to make it compatible with the ELF90 compiler.
-
PSPLOT,
a Fortran-callable PostScript plotting library
-
ForUtil, a collection of free Fortran 77 utilities
from
Ripley Software Development
-
PGPLOT Graphics Subroutine Library
-
The libraries section
contains links to many program libraries.
-
CCF
is a conditional compilation facility for Fortran.
-
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
-
FLIB, a collection of Fortran routines,
with emphasis on nonnumeric computations,
contributed by Rob Stewart of Kansas State University.
-
The High Performance Fortran Library in Fortran 90
-
Fortran-M
is a small set of extensions to Fortran
that supports a modular approach to the design of task
parallel, message-passing programs.
-
f2c,
a Fortran 77 to C translator;
for a DOS C compiler to go with it, check out
DJGPP.
-
Information about
GNU Fortran (g77).
-
Fixed-to-Free Source Form Converter;
alternate site;
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 module containing kind parameters.
There is a different version for each Fortran 90 implementation.
-
Large Integers Module
-
David Bailey's Multiple Precision Arithmetic Module
-
Interval Arithmetic
software plus papers and other information about interval arithmetic
maintained by
R. Baker Kearfott, Department of Mathematics,
University of Southwestern Louisiana, U.S.L. Box 4-1010,
Lafayette, LA 70504-1010 USA; rbk@usl.edu;
+1-318-482-5270,
+1-318-482-5346 (fax)
(the software is in directory intlib).
-
An Input/Output Module containing some commonly used constants
and a useful function that finds an unused unit number.
There is a different version for each Fortran 90 implementation.
-
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
-
A module for sets of integers
-
Roman numerals module
-
There is a bunch of free software available on the
Numerical Algorithms Group software repository
and many items of related interest as well.
-
Molecular dynamics Fortran 77 benchmark
-
The NAS Parallel Benchmarks
-
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).
-
A Linux script to run f2c
and other Fortran related stuff for Linux.
-
A
Fortran 77 quick sort
and another
Fortran 77 quick sort
-
Ratfor, with some bugs fixed,
compliments of Jon Claerbout of Stanford University
-
FTNCHEK,
which detects unused, undeclared, and uninitialized variables,
provided by Robert Moniot (439K bytes)
-
A perl script that makes Fortran 90 make files,
contributed by Michael Wester.
-
StopWatch, a Fortran 90 module for timing Fortran programs,
developed by William Mitchell of NIST.
-
A program that diagrams Fortran (including Fortran 90 and 95) programs.
-
FLECS, preprocessor that translates into Fortran 90
-
EZUP, a Fortran 77 to ELF90 converter
-
FXDR, subroutines to do unformatted I/O accross platforms,
provided by David Pierce at UCSD
-
There is a bunch of F90 software, including
least squares, quad precision, and random number generation, from
Alan Miller.
-
There are example programs from the
Online Tutorial for Windows 95 applications programming with Fortran
by Vladimir V. Vasilchenko.
-
A Fortran 77 subroutine that converts Unix time into date and time