Chemistry
Angular Momentum Coupling Coefficients, Assisted Model Building with Energy Refinement (AM, Columbus, Combustion Simulation, Computational Chemistry, Computational Chemistry List: Fortran codes, Dalton Quantum Chemistry Program, DelPhi, Dirac, Fast Newton-Raphson Torsion Angle Minimizer (FANTO
Fast Fourier Transforms
CHIRP-Z transform for FFTs, Ernst Mayer, Fast Fourier Transform code, FFTPK90, Jörgs Useful and Ugly FFT page, Pipelined phase-rotation FFT, Romo's Free Software
Increasing Precision
Double-double precision, FMLIB Multiple precision package, Large integers module, MPFUN, Multiple precision arithmetic, Multiprecision Software Directory, Quadruple precision for the NAS FortranPlus compil, Variable Precision Arithmetic
Linear Algebra
Eigenvalues, Sparse, Computing Pseudospectra, Expokit, Fast Hankel and Toeplitz solvers, JTPACK Linear Solver Toolkit, LAPACK, LAPACK, Linear Algebra, LINPACK, LUMOD, Matran
Optimization
CirCut, Computational Optimization and Applications, Constrained and Unconstrained Testing Environment,, Curvi, Decision Tree for Optimization Software, Differential Evolution, DONLP2, Feasible Sequential Quadratic Programming (FSQP), Fortran Genetic Algorithm, Functional Minimization using Simulated Annealing
Ordinary Differential Equations
BIFPACK, Blended Implicit Methods (BiM), BOUNDSCO, Differential Equation Software, Differential Equations, DVERK, Fortran Programs for Solving Boundary-Eigenvalue P, Initial Value Problems, Jeff Cash, ODE
Partial Differential Equations
Finite Elements, Boundary Element Method, Computational Methods for Fluid Dynamics, ELLPACK, FD, FIDISOL/CADSOL, Finite Differencing on a Rectangular Grid, FISHPACK90, FISHPACK: Fortran Subprograms for the Solution of , FUN2D/3D, Introduction to Convective Heat Transfer Analysis
Physics
2-D Lattice Monte Carlo, ABINIT, Adaptive Coordinate Real-space Electronic Structur, Advanced Regional Prediction System (ARPS), ASAD, Assignment of NMR Spectra by Interactive Graphics, Asterix, Astronomical Image Processing System (AIPS), Astrophysics codes, Atmosphere Model Code
Statistics and Econometrics
Adaptive Logistic Basis Function Regression (ALB), Ahlquist Time Series Analysis, ALSCAL, Andrew Jeffrey's Fortran 90 routines, AR and ARFIMA models, ARMA and Kalman Filter model estimation, Autoregressive model estimation, Autoregressive to Anything (ARTA), Bayesian Analysis, Computation and Communication (, BIO 248 Programs
Alan R. Miller
Code from the book "Fortran Programs for Scientists and Engineers", 2nd. ed. (1988).
Algorithms
Codes by Julio F. Fernández for uniform and Gaussian random number generation, matrix diagonalization, and physical simulations.
Algorithms and Data Structures in F and Fortran
Codes from book by Robin Vowels for sorting, linked lists and trees, complex arithmetic, text processing, solving linear equations, graphics, searching, numerical methods, and whole array operations.
Applied Numerical Methods for Scientists and Engin
Fortran and C code from book by Singiresu Rao.
ASTEM97 Steam Tables
By Edward D. Throm, contains routines to provide a wide range of interfaces to the thermodynamic and transport properties.?[Commercial]
Automatic Differentiation of Fortran Codes (ADIFOR
Given code as input, it generates code for derivatives including gradients and hessians.
Benchmark
3-D Computational Fluid Dynamics code using the SOR method. There is a link to CPU times on various platforms, for two grid sizes.
Benchmarks of N. Tajima
Codes to time floating point and integer arithmetic, intrinsic functions, and random access to memory.
BETADER
Derivatives of the Incomplete Beta Function, by Robert J. Boik and James F. Robison-Cox.
BIEPACK
Code for boundary integral equations, by Kendall E. Atkinson.
CASE Lab Codes
Space-time finite element solution for the 1-D Euler equations, STARS orientation angles calculator and elastics vector generator, simulation of a double wedge in a supersonic flow, atmospheric look-up tables, NACA 4-Digit Airfoil, and 2-D aerodynamic loads.
CFD Recipes
Computational fluid dynamics Fortran 77 code associated with "Computational Gasdynamics", a book by Culbert B. Laney.
Check compiler and run-time environment (CHKSYS)
Chksys.f determines the properties of the run-time environment for Fortran 77 programs. Chkcomp.f is a Fortran 77 code containing deliberate deviations from the standard and deliberate bad statements for testing the compiler's accuracy. Chksysff.f90 is a program to determine the properties of the run-time environment for Fortran 90 programs. Chkcomff.f90 is a Fortran 90 source file containing deliberate deviations from the standard and deliberate bad statements for testing the compiler's accuracy.
Cligen Weather Generator
Fortran 77 code to simulate weather, with associated data files.
Collaborative Computational Projects
Links to chemistry, physics, and engineering codes, many in Fortran.
Combinatorial algorithms
Generation of subsets and permutations, Hamiltonian cycles, determinants and permanents, network flow, and minimum spanning trees.
Compiler Diagnostic Test Sets
Fortran 77/90/95 codes to test run-time diagnostic/debug capability of Windows and Linux Fortran Compilers, by Arnaud Desitter and Herman D. Knoble.
Computer Methods for Mathematical Computations
Code from the book, translated to ELF, a Fortran 90 subset. Algorithms for calculations in science and engineering, including linear equations, spline interpolation, integration, differential equations, zero finding, minimization and singular value decomposition.
Dan Nagle (Purple Sage Consulting) code
Fortran Portability Project, Fortran 2003 examples, and Fortran modules.
Daniel A. Steck
Fortran 90 codes to integrate Ito stochastic differential equations, generate random numbers, compute the FFT, and time programs.
David Frank
Codes for a number-crunching benchmark, reading Internet URL addresses, and partially convertng C code to Fortran 90.
DownGradePrecision
Code by Kevin Rhoads to allow precision to be deliberately thrown away in an IEEE floating point compliant computing environment in order to more closely model computations in less precise floating point systems.
DXFortran: Vectorial graphical library in DXF
Develops a vectorial graphical library in DXF (Drawing Interchange Format) format for Fortran 90 programmers. By Carlos Silva and Davide Santos.
Ernesto Martin's codes
Random generator networks and other algorithms.
Examples
Fortran 90 codes from introductory course by John Mahaffy.
F (Fortran 95 subset) Program Examples
Factorial function, iterative computation of the square root, nonadvancing I/O, dynamic arrays, Towers of Hanoi, and other topics.
F2KCLI
Implements the draft F2K standard for accessing the command line and arguments. Site answers questions and lists supported compilers and platforms.
Fast Hankel Transform
By Steve Sheng -- further details can be found in his dissertation.
Fast Wavelet Transform
By Rick Ottolini, based on an article by Gilbert Strang.
Finite Elements
Fortran 90 code by Jacques Laminie.
Fluid Mechanics
NCSE Numerical Methods Library, FDLIB Fluid Dynamics Library, CFDLAB Computational Fluid Dynamics Laboratory, and BEMLIB Boundary-Element Software Library by C. Pozrikidis, Professor of Fluid Mechanics.
Fortran 77 Codes
Programs by Niklaus Zimmermann for climate data analysis, moving window regression, soil profile analysis, and testing predictive (simulated) maps.
Fortran 77 Codes
Programs by John A. Strain to count zeros of the zeta function, compute the Fast Gauss Transform, and use spectral methods to solve nonlinear parabolic systems.
Fortran 90 codes of John Burkardt
Translations of Fortran 77 packages Lapack, Linpack, Eispack, Quadpack, and others. Code for graphics, finite elements, random number generation, and other topics.
Fortran 90 Software Repository
Has short, concise examples of specific features of the Fortran 90, 95 or 2003 language.
Fortran Bits'n'pieces
Fortran sources, including Function Parser, that caches functions (for repetitive calling) and compiles functions to a byte-code representation to speed repeated evaluations. By Stuart Midgley.
Fortran CGI
Fortran 77 CGI examples using GET and POST.
Fortran code
Fortran 77 codes by Daniel Powers for optimization and statistics.
Fortran Library Links
Gary Scott's extensive collection of source code links.
Fortran Programmers Club
Windows 95/98/NT/2000 applications programming in FORTRAN, by Vladimir V. Vasilchenko. Numerous samples of GUIs, using controls and common controls.
Fortran Resources (Lahey)
A collection of links provided by a vendor of Fortran compilers.
Fortran Resources - Garnatz and Grovender
Keyed file shareware in Fortran 90 and 77, Fortran 90 interface to the X Window system.
Fortran Tools by Nelson Beebe
Dcl2inc postprocesses ftnchek .dcl files to create separate include files; dtosstod converts Fortran floating-point precision; fpp is a reversible Fortran preprocessor; lprsf3 is a filter to print Fortran and SFTRAN3 files with boldface keywords; and pretty is a Fortran 66 prettyprinter.
Fortran78 Test Suite
Product of the NIST Information Technology Laboratory (ITL). It is used to determine, insofar as is practical, the degree to which a Fortran processor conforms to FIPS Fortran.
Free Fortran Software
A collection of useful links from the Fortran Market.
Free Software (of Craig C. Douglas)
Fortran and C codes for fast matrix multiplication and multigrid solution of PDEs.
Fundamentals of Numerical Computing
Fortran 90 codes from book by Lawrence Shampine, Richard Allen, and Steven Pruess.
FXDR
Library by David W. Pierce that allows calls to the XDR (eXternal Data Representation) routines from Fortran.
G77_i386_fpe_demo
Demonstrates handling of floating point exceptions under g77/i386/Linux. By Tom Crane.
GAMS : Guide to Available Mathematical Software
Guide to mathematical software in Fortran held at a small number of US government establishments. Some sources are in commercial libraries and are not directly accessible. The code is of a uniformly high quality but usually old; there may be more recent and better algorithms available.
Gaussm3
Fortran 90 code for Gauss-Legendre and Gaussian quadrature, and solving linear equations by Gauss and Gauss-Jordan elimination, LU and Singular Value Decomposition.
GBYTES/SBYTES Library
Packages to handle binary unpacking and packing, in Fortran 77 and 90.
Gridpak
Package for curvilinear orthogonal grid generation, which creates an orthogonal grid when provided with boundary information.
H. D. Knoble's Collection of Fortran Algorith
Sourcecode of programs, mostly of a tutorial nature.
Hello, World
Example of simple program in Fortran.
Helmholtz
Fortran 90 code to solve the Diffusion-Advection-Reaction equation in 2D.
High Performance Fortran Applications Software Cat
Links to fragments, which are very short codes or code fragments to demonstrate the language features and constructs, kernels, which are short self-contained codes chosen as representative of particular application algorithms and their language feature requirements, and full applications codes, not necessarily stored in full locally, but registered here with relevant pointers given to the code owner/contact person.
Hompack90
Suite of Fortran 90 subroutines by Layne T. Watson for solving nonlinear systems of equations by homotopy methods. There are subroutines for fixed point, zero finding, and general homotopy curve tracking problems, utilizing both dense and sparse Jacobian matrices, and implementing three different algorithms: ODE-based, normal flow, and augmented Jacobian.
Image Estimation by Example
Fortran 90 code of Jos Claerbout.
Input Routines
Fortran 90 module by Andy Stone that parses input lines into 'words', and routines that read a 'word' and translate it into a specified form, usually an integer or double-precision number. In conjunction with a simple CASE structure this provides a powerful and flexible method for organising data input. The package includes documentation, and an example program and data file as illustrations of the ways in which the module can be used to organise data. [gzipped tar file].
Introducing Fortran 95
Code from the book by Ian Chivers and Jane Sleightholme.
Introduction to F
Examples of the F (Fortran 95 subset) language, by Harvey Gould.
Introduction to Scientific Computing
Fortran and C codes in gzipped tar file from book by Brigitte Lucquin and Olivier Pironneau.
Iounits.f
Fortran 77 module to automatically assign i/o unit numbers, by Judah Milgram.
ISO Varying String
Implemented in the F subset by Rich Townsend.
Jeff Cameron's Fortran code
Code for the VMS operating system and for a fractal figure called Sierpinski's Gasket.
Jon Ahlquist's date manipulation code
Conversion to and from Julian dates, day-of-week and other date calculations, plus historical information. See also datesub.f90 at http://users.bigpond.net.au/amiller/
JPL Planetary and Lunar Ephemerides on CD-ROM by
Contains three different Jet Propulsion Laboratory Planetary and Lunar Ephemerides (DE200, DE405, and DE406) along with associated reading and interpolating routines, allowing the user to obtain the rectangular coordinates of the sun, moon, and nine major planets by means of a subroutine written in standard Fortran.
Jugoslav Dujic's Fortran Resources
XFT (eXtended Fortran Types) is a set of Fortran modules which wrap some Win32 APIs, the Dialog Management section has an enhanced DFLOGM module from CVF 6 and the Win32 Headers section has translations of some C header files that were not (yet?) incorporated in CVF.
Katherine Prescott's Fortran Downloads
Fortran 90 codes to solve ordinary and partial differential equations, tridiagonal linear systems and to simulate some problems involving lakes and rivers.
KindFinder
Fortran 90 program by Werner W. Schultz that checks for the available KIND parameters available for a given Fortran 90 or 95 compiler. It prints into a file a new Fortran program that can be compiled to write into a unit the various parameters that describe each integer/real representation.
LFA_Search
Fortran 90 code by Chad M. Schafer to numerically approximate the least favorable alternative (LFA) and least regrettable alternative (LRA). These define the minimax expected size and minimax regret confidence procedures, respectively.
Linear Algebra and Econometrics
SPARSEM is a collection of sparse matrix classes that makes programming with sparse matrices (and large problems) almost as easy as a matrix language. BLUPF90 is a BLUP program written using SPARSEM. REMLF90 is a REML version of BLUPF90 that uses accelerated EM algorithm. Other programs included are dense matrix module DENSEOP, Gibbs sampling program GIBBS90, and several versions of linear-threshold models. By Ignacy Misztal and collaborators.
Lucent Technologies (Bell Labs.) Non-Exclusive Lim
An old but dependable library of Fortran 77 code which includes approximation, ODE/PDE solution, linear algebra, optimization, quadrature, root finding, special functions and FFTs. You must agree to single-user licence conditions before downloading a gzipped tar file (1Mb).
MathFinance - Financial Functions Library
Fortran 90 code for the Cox-Ross-Rubinstein binomial model, the analytic Black-Scholes formula, and Monte Carlo Simulation.
Memory Leaks
Fortran 90 test program by Arjen Markus to see if memory leaks originating from derived-types can be circumvented.
Moisture Content Adjustment
Code to predict a property (P2) of dimension lumber at a target moisture content (MC2) given the value of the property (P1) at an initial moisture content (MC1).
MPLOT
Package of MATLAB-style-callable routines for plain graphics by Valery E.Grikurov, Professor of Mathematics and Mathematical Physics. RGB color scheme is used (TrueColor mode supported).
Multivariate Normal Probabilities and Quadratic As
Codes by Professor Zvi Drezner.
NAS Parallel Benchmarks
Set of eight programs designed to help evaluate the performance of parallel supercomputers. The benchmarks, which are derived from computational fluid dynamics (CFD) applications, consist of five kernels and three pseudo-applications.
Ncregrid
Tool by Patrick Jöckel for data transfer of gridded 2- and 3-dimensional (spatial) geophysical/geochemical scalar fields between grids of different resolutions. The algorithm handles data on rectangular latitude/longitude grids (not necessarily evenly spaced) and vertical pressure hybrid grids of arbitrary resolution. The input/output data format is netCDF.
Nick Yas'ko Products
Codes for ANSI control sequences, solving linear equations, and creating Poscript graphics.
NSWC Library of Mathematics Subroutines
NSWC (Naval Surface Warfare Center) Library of Mathematics Subroutines written in Fortran 66. Old but very high quality code. Unfortunately the manual is only available in hard copy, and is very difficult to obtain. The source code is also available by ftp from: ftp://math.jpl.nasa.gov/pub/nswc.93
Numerical Analysis
Codes for the book by Richard L. Burden and J. Douglas Faires.
Numerical and Statistical Codes
By Jean-Pierre Moreau.
Numerical Electromagnet Code (NEC) Archives
Code in Fortran, C, and Basic.
Numerical Methods
Fortran 90 codes for a course.
Numerical Methods
Code for algebraic and transcendental equations, systems of linear equations, interpolation routines, numerical integration, eigenvalues, and special functions, by Abdusamad Salih.
Numerical Methods and Software
Code from book and for nonlinear optimization and matrix equations, by Stephen Nash.
Numerical Recipes Home Page
Home of the Numerical Recipes series of books on scientific programming, including the Numerical Recipes On-Line Software Store, free upgrades and bug fixes, and the complete books on-line in PostScript and Acrobat formats. The Numerical Recipes code in Fortran 77 and Fortran 90 is not in the public domain.
Ooura's Mathematical Software Packages
Quadrature, FFT (1D & 2D), Bessel functions, and GAMERF (gamma and error functions, including quadruple precision).
Open-Source Software
Codes by Richard Brent for multiple precision arithmetic, uniform and normal random number generators, irreducible/primitive trinomials, and parallel sorting.
OpenMP Tutorial
Has examples of Fortran codes using the Message-Passing Interface (MPI).
OpenMP: Sample Programs
Two simple examples of Fortran 77 and 90 programs using the OpenMP API for shared-memory parallel programming.
Orderpack 1.0 sorting and ranking routines in Fort
Public domain package by Michel Olagnon of general and specialized sorting and ranking routines in Fortran 90. Specialized routines include partial sorts, partial ranks, unique sorts, unique ranks, partial and unique sorts, as well as partial and unique ranks.
OSCall
OS Command line interface utility for Compaq/Intel Visual Fortran with immediate return or wait specified in milliseconds (routine automatically quotes the command string).
Overflow from Alan Miller's Fortran web site
Includes updates of some TOMS algorithms, logistic regression, a Fortran 90 version of the special functions from the NSWC (Naval Surface Warfare Center) Math. Library, quadruple precision using 10-byte reals for the NAS Fortran-Plus compiler giving about 38 decimal digit accuracy, and code for Imagine1's F compiler, including the author's least-squares package. F code should compile using any standard Fortran compiler.
Panel Code (Aeronautics)
By Professor Kevin D. Jones of the U.S. Naval Postgraduate School.
Parallel Sparse Symmetric Direct Solver (PSPASES)
High performance, scalable, parallel, MPI-based library, intended for solving linear systems of equations involving sparse symmetric positive definite matrices. The library provides various interfaces to solve the system using four phases of direct method of solution: compute fill-reducing ordering, perform symbolic factorization, compute numerical factorization, and solve triangular systems of equations.
PDEs and linear equations
Fortran and C codes by Dong Liang.
Peter Benner Fortran 77 code
SLICOT Subroutine Library in Control Theory, Parallel Library in Control (PLiC) for large-scale time-invariant linear control systems in state-space form on parallel distributed computers, eigenvalues of Hamiltonian Matrices, subroutines for compressing a symmetric or triangular matrix to packed storage mode or to unpack a packed array to full storage mode, benchmark examples of discrete-time algebraic Riccati equations, benchmark examples of continuous-time algebraic Riccati equations.
PNNL Fortran Library (FLIB)
Mainly non-numeric library for handling text, including parsing, accessing the command line, dates and times, and some random number generation.
PORT Mathematical Subroutine Library
Collection of Fortran 77 routines that address many traditional areas of mathematical software, including approximation, ordinary and partial differential equations, linear algebra and eigensystems, optimization, quadrature, root finding, special functions, and Fourier transforms, but excluding statistical calculations. PORT stands for Portable, Outstanding, Reliable, and Tested.
Problem Generators
Generators for linear ordering and clustering problems, by John E. Mitchell.
PSIDE (Parallel Software for Implicit Differential
Code for solving implicit differential equations on shared memory parallel computers, by Jacques J.B. de Swart, Walter M. Lioen, and Wolter A. van der Veen.
PsSchur
Computes the periodic real Schur decomposition of a matrix product. By Kurt Lust.
Public Domain Aeronautical Software (PDAS)
Programs for aeronautical engineering, many from NASA or USAF, complete with public domain source code, instructions and sample cases on CD-ROM. [Commercial]
RIM: Computing the Acoutic Field Surrounding a Vib
Shareware by Stephen Kirkup.
Robert Parker Software
Plotxy allows the user, either interactively at the terminal, or though scripts, to create simple graphs in the x-y plane. It gives the user complete of control of many aspects of the graph (eg, picture size, text font, line weight, math and Greek symbols, color palette specification). Color produces contour diagrams, with Contour producing a B/W equivalent. Magmap maps magnetic field components using spherical harmonic representations. PSD estimates the Power Spectral Density of a time series. Cross calculates frequency domain functions from a pair of input time series.
Roland Schmehl's Fortran parser
Another parser of Fortran code.
Rule Learning
Code estimates the population rule learning model on experimental data.
Selected Publications and Unpublished Software of
Code for partial differential equations, quadrature, and the solution of linear systems, with associated papers.
ShareBufferWin32
Easy Inter-Process Shared Memory Communication Utilities for Win32 using a simple Fortran 77-style interface. Written for Compaq Visual Fortran by Gary Scott.
Software by P.B. Stark and Coauthors
Bvls.f solves least-squares problems with bounds on the variables. Qr.f computes QR decompositions in a stable way. Sbl1.f finds bounds on linear functionals of an n-vector subject to an l1 constraint on the misfit to a set of linear relations, and linear inequality constraints on the variables. Sbvq.f finds bounds on linear functionals of an n-vector subject to a quadratic constraint on the misfit to a set of linear relations, and linear inequality constraints on the variables.
SophtwareKodeWerks
Fortran 77 codes to solve the quadratic equation, solve a nonlinear equation using the Newton-Raphson method, fit a simple linear regression, and solve a system of equations using Gaussian elimination.
Special Functions code
Routines to accompany the book "Computation of Special Functions", by Shanjie Zhang and Jianming Jin.
Stefan Goedecker's Free Software
Fast Fourier Transforms and Silicon interatomic potentials.
StopWatch
Fortran 90 module, by William Mitchell, for measuring execution time of program segments. It is designed to be a portable, easy-to-use means of measuring execution time.
Sugihara's Integer-Arithmetic Geometric Softw
Geometric Software ? (by Kokichi Sugihara) for Voronoi diagrams in 2D and 3D, and convex hulls in 3D and 4D.
Texas KZK Time Domain Code
Fortran 77 time-domain computer code to model axisymmetric sound beams in fluids. The code is based on an augmented KZK equation that accounts for nonlinearity, diffraction, thermoviscous absorption, and absorption and dispersion due to an arbitrary number of relaxation phenomena.
The Boundary Element Method
Manuals and Fortran source codes for the solution of Laplace, Helmholtz and acoustics problems by the boundary element method.
Time Series, Climate Modeling, and other Code
By Richard Blender.
TLM3D
Code by J. L. Herring for transmission line modelling of electromagnetic fields in 3-dimensions using the symmetrical condensed node.
Token
Fortran 77 string tokenizer, similar to the C function.
Tomasz Plewa's Numerical methods directory
Directory of links to numerical analysis sites, many of which contain software.
Twist: a Compression Utility
Compression tool tailored for fields where node-to-node variations are small, and where undefined (dry) nodes are abundant.
Utilities in Fortran 90
Fortran 90 code by Michel Olagnon: pre-processor and pretty-printer, with command-line interface for Unix, fsplit utility for splitting large files into separate ones for each procedure, PostScript converter, interface bloc generator, and format creator for numeric strings.
Wavelet Analysis
Code to accompany book by Christopher Torrence and Gilbert P. Compo.
Weekday
Fortran 77 code to compute the day of the week of a date using the Zeller congruence algorithm.
Wild-card String Matching
Fortran 77 code by Clive Page to do wild-card matching to a pattern, which may contain "?" to match any single character, and "*" to match zero or more consecutive characters of any type.
XML
Module by Mart Rentmeester that reads and interprets XML in standard Fortran 95. Also at the site is code for varying length strings, the complementary error function, an interface to the GD Graphics Library, and nucleon-nucleon potential models.
XML-Fortran
Aims to be a library that allows programmers to access XML files.
xmlf90, an XML parser in Fortran90
Written by Alberto Garcia in the F subset of Fortran 95, freely available under the BSD license.