An open API service indexing awesome lists of open source software.

https://github.com/beliavsky/fortran_faq

originally the comp.lang.fortran FAQ from January 1997 by Keith Bierman
https://github.com/beliavsky/fortran_faq

faq faqs fortran

Last synced: 4 months ago
JSON representation

originally the comp.lang.fortran FAQ from January 1997 by Keith Bierman

Awesome Lists containing this project

README

          

### Fortran FAQ

Here are some answers to frequently asked questions. The "author", as is
the custom, has appropriated posted responses as seemed apt. I have tried
to leave attributions in, as correctly as possible. To anyone who has been
offended by omission or otherwise, my apologies. I shall give priority to
corrections regarding attribution.

No one takes responsibility for any of this text, neither the employer of
the "author", the "author", friends of the "author", pets of the "author"
nor anyone else.

Your mileage WILL vary.

A good place to look for FAQ's is:

host: rtfm.mit.edu
directory: /pub/usenet

The structure of the current list has been modified from previous versions
in an attempt to group related questions according to their topic, and to
maintain consistency with the new order. Let the author know if any
inconsistencies have been introduced by the revision. A more recent reorganization, and htmlization
(which is what this ascii text is derived from) thanks to Abraham Agay.

,;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;,
;; ;;
;; Numbering convention: ;;
;; ''''''''''''''''''''' ;;
;; l) General Category: ;;
;; l.m) Topic: ;;
;; l.m.n) Question: ;;
;; ;;
`;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;'

SUMMARY OF CHANGES
==================

C 1.2.4 Added
C 2. Updated
C + misc other updates (bad bookkeeping)

1.2.1 Updated

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

1) GENERAL INTEREST:

1.1) The language and its development

1.1.0) How should one spell FORTRAN/Fortran?

1.1.1) Where can I learn more about the history of Fortran?

1.1.2) How does Fortran 90 relate to FORTRAN '77 and what is Fortran 90?

1.1.3) Is Fortran 90 a Standard? Where can I get a copy of the Fortran 90
Standard? How about electronic copies? (getting other standards)

1.1.4) Who creates these silly standards anyway?

See also:

2.1.5) Tell me about Parallel Fortran dialects, what are they, etc.

1.2) Learning Fortran and its style

1.2.1) What are good books on Fortran?

1.2.2) Where can I find a f90 tutorial or course?

1.2.3) What constitutes good FORTRAN style?

1.2.4) What is a good subset of Fortran?

1.3) General Fortran (particularly Fortran 90) resources

1.3.1) f90.faq from Michel Olagnon

1.3.2) f90 "market" announcement from walt brainerd

2) TOOLS:

2.1) Compilers

2.1.1) Where can I get a free (FORTRAN 77) compiler?

2.1.2) What is the best (FORTRAN 77) compiler for a PC?

2.1.3) What is the best Fortran for...

2.1.4) What Fortran 90/95 compilers/translators are available?

2.1.5) Tell me about Parallel Fortran dialects, what are they, etc.

See also:

2.2.6) What is preprocessing, how can it help? How can it hurt?

3.1.4) For whatever reasons, I want to translate my Fortran into C.
What tools are available?

2.2) Other tools (pretty printers, lints, converters, etc.)

2.2.1) I have heard of fortran "lints"; what are they, and where can
I get one?

2.2.2) Are there pretty printers for FORTRAN? Flowchart generators?

2.2.3) Is there a WEB for Fortran (and what is WEB anyway)?

2.2.4) Fortran text editors?

2.2.5) How can I convert an existing FORTRAN 77 program
to the free form source of Fortran 90?

2.2.6) What is preprocessing, how can it help? How can it hurt?

2.3) Fortran Packages and libraries

2.3.1) Where can I get "foo" (some random package), older posts
to comp.lang.fortran etc

2.3.2) Where can I find coded BLAS (and what are coded BLAS?)

2.3.3) Where can I get mathematical software?

2.3.4) What Interval Arithmetic packages are avaliable?

2.3.5) FLIB announcement

3) TECHNICAL QUESTIONS:

3.1) Fortran and other languages (essentially C)

3.1.1) "Why do people use FORTRAN? C is so much better"

3.1.2) Why are there aimless debates?

3.1.3) How do I call f77 from C (and visa versa)

3.1.4) For whatever reasons, I want to translate my Fortran into
C. What tools are available?

3.1.5) For whatever reasons, I want to translate my existing C code
into Fortran. What tools are available?

3.2) System differences

3.2.1) My compiler is mis-behaving; who enforces the standard?

3.2.2) My F77 program compiled ok on a , but gives me heaps
of syntax errors on a . What's wrong?

3.2.3) My F77 program ran ok on a , but on a
it just gives me strange results. What's wrong?

3.2.4) How can I read my VAX binary data somewhere else?

3.3) Language extensions

3.3.1) How common is DO ... END DO?

3.3.2) What are ENCODE and DECODE statements, and how are they translated
to standard Fortran? How can I convert numbers to character strings
(and vice-versa)?

3.4) .......

3.4.1) What is involved in parsing Fortran?

4) WWW SOFTWARE/FORTRAN

4.1.1) WWW and Fortran

Start of contents

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

1.1) The language(s) and its(their) development

1.1.0) How should one spell FORTRAN/Fortran?

FORTRAN is generally the preferred spelling for discussions
of versions of the language prior to the current one ("90").
Fortran is the spelling chosen by X3J3 and WG5.
In this document a feeble effort has been made to capitalize
accordingly (e.g. vast existing software ... FORTRAN vs.
generic Fortran to mean all versions of the standard,
and specifically the modern dialect, ISO 1539:1991).

---------------------------------------
~From: walt@fortran.com (Walt Brainerd)
---------------------------------------

There was an effort to "standardize" on spelling of programming
languages just after F77 became a standard. The rule: if you say
the letters, it is all caps (APL); if you pronounce it as a word,
it is not (Cobol, Fortran, Ada). See, for example the definitive
article describing Fortran 77 in the Oct 1978 issue of the Comm.
of the ACM. The timing was such that FORTRAN got put on the
standard itself, though many always after that have referred to
it as Fortran 77. Of course, there are those who think it is
not truly Fortran if not written with all caps.

ISO 1539:1991 and its ANSI counterpart X3.198-1992 consistently
employ the spelling "Fortran" to refer to the language being
defined. Reference(s) to the older version employ "small caps"
for the "ORTRAN" characters.

__________________________________________________________________________

1.1.1) Where can I learn more about the history of Fortran?

The book "Abstracting Away the Machine: The History of the FORTRAN Programming Language (FORmula TRANslation)"
was self-published by Mark Jones Lorenzo in 2019 https://www.amazon.com/Abstracting-Away-Machine-Programming-TRANslation/dp/1082395943
and has been favorably received. Also see the Fortran Wiki http://fortranwiki.org/fortran/show/Fortran+History and Wikipedia.

-------------------------------------------------
~From: metcalf@apofort.cern.ch (Michael Metcalf )
-------------------------------------------------

The history of Fortran is documented in:

Annals of History of Computing,
6, 1, January, 1984 (whole issue)

Programming Systems and Languages
(S. Rosen ed.),
McGraw Hill, 1967,
pp 29-47 (this is Backus's original paper)

History of Prorammining Languages
(R.L. Wexelblat ed.),
Academic Press, 1981,
pp 25-74

A summary appears in:

Encyclopedia of Science and Technology,
Academic Press, 1986,
vol. 5, under 'Fortran'

and in:

Fortran 90 Explained
(Oxford, 1990).
Chapter 1 of

__________________________________________________________________________

1.1.2) How does Fortran 90 relate to FORTRAN '77?

With a few minor exceptions, Fortran 90 is a superset of
X3.9-1978 FORTRAN.

But this does not mean that all "77" codes will port sans changes.
Many (if not most) programmers employed constructs beyond the '77
standard, or rely on unspecified behavior (say, assuming that an
OPEN of an existing file will position the file pointer to just
past the last record already written) which has changed (that is
to say, has become specified).

This leads to the obvious question, what is new in Fortran 90?

A complete answer would require considerable text.
Some of the most obvious additions are:

1) array notation (operators, etc.)
2) dynamic memory allocation
3) derived types and operator overloading
4) keyword argument passing, INTENT (in, out, inout)
5) modules
6) modern control structures
7) free format source code form
8) other stuff

While it is always tricky to characterize the motives of
a large group of people, I am inclined to try
as follows:

'90 incorporates two sets of improvements:

(1) relatively minor fixups that *could* have been
done earlier

(2) relatively major changes to enable better software
engineering practices.

Sometimes a "minor" fixup has major effect, such as addition
of free form source form combined with canonization of the
MIL-STD 1753 INCLUDE.

I further go off on a limb and assert that it was the goal
of the *committee* to evolve Fortran in a fashion to enable
it to continue to be the premier language for scientific
computation.

__________________________________________________________________________

1.1.3) Is it a Standard? Where can I get a copy of the Fortran 90
Standard? How about electronic copies?

Fortran 90 was adopted as an International Standard by ISO
in July, 1991. It was published by them as ISO/IEC 1539:1991,
and is obtainable directly for 185 Swiss francs from:

ISO Publications
1 rue de Varembe
Case postale 56
CH-1211 Geneva 20
Switzerland
Fax: + 41 22 734 10 79

or from:

American National Standards Institute
Attn: Customer Service
11 West 42nd Street
New York, NY 10036
Phone: (212)642-4900 8:45-4:45 (EST)
Fax: (212)302-1286

BSI
2 Park Street
London W1A 2BS

DIN
Burggrafenstrasse 6
Postfach 1107
D-1000 Berlin 30

AFNOR
Tour Europe
Cedex 7
92049 Paris La Defence

SCC
1200-45 O'Connor
Ottawa
Ontario K1P 6N7

You can obtain copies for $225 through:

Global Engineering Documents
2805 McGaw Ave.
Irvine, CA. 92714
(714) 261-1455
(800) 854-7179

In accordance with an official agreement with the International
Standards Organization, Unicomp is now able to distribute
electronic versions of the Fortran 90 standard:

ISO/IEC 1539 : 1991,
Information technology--Programming languages--Fortran

The money received from this effort will go partly to fund ISO
activities and partly to recover the costs incurred by Unicomp
in preparing and typesetting the standard document.
The prices are set by ISO.

The document can be obtained in three versions:

1. An ASCII version suitable for viewing on a computer
terminal using any kind of editor. Cost: USD 125.

2. A PostScript version with a license allowing the
purchaser to print n paper copies. Cost: USD 125 + 10n.

3. Complete source in ditroff with macros and software to
extract and create the annexes. The source constitutes
a fairly high level marked-up document; for example,
each program beginning and ending is marked and there
are few low-level typographic commands such as size
and font changes. Cost USD 1000.

I am quite enthused especially about version (2). If you want
to have 10 copies for your organization, and it costs $10 to
make a printed copy, then the cost to make the 10 copies would
be $125 + $200, or just $32.50 per copy, which is a substantial
savings over purchasing paper copies.

Versions (1) and (3) will be accompanied by a license restricting
use to one CPU and prohibiting copying, except for backup purposes,
etc. The version (2) license will prohibit distributing any of the
printed copies outside of the purchasing organization.

If you have special requirements, such as wanting to distribute
a copy with each version of your compiler or using the source
as a part of your documentation, we can make special arrangements,
subject to the approval of the ISO. Please advise me of your
requirements and we can work up a proposal together.

ISO and Unicomp think this will provide the oft requested access
to the standard in electronic form. This is the first time this
is being tried, so we hope that organizations will be careful to
observe the rules and encourage the continued availability of
this and other standards in electronic form.

Payment can be made by Visa or MasterCard, or with a check on
a US Bank in US funds. We will accept a purchase
order only if the amount is $500 or more.

Walter S. Brainerd; Unicomp;
phone: 505-275-0800.
email: Walt Brainerd

;;; Additional note.

X3J3 working papers are often available via
ftp from:

host: ftp.ncsa.uiuc.edu
directory: x3j3

rpc wrote:

It has been a few years since I last ordered a MIL-STD, so my
information might be out-of-date. At that time, the address
to write for MIL-STDs was:

Naval Publications and Forms Center, Code 3015
5801 Tabor Ave
Philadelphia, PA 19120

Phone: 1-(215)-697-4834

Use form DD1425, if possible (they will send you a copy with
your first order).

MIL-STD 1753 is a short document (about 10 pages).

And finally, note that the FORTRAN 77 standard is online at
the Fortran Market:

http://www.fortran.com/fortran/market.html
http://www.fortran.com/walt/fortran

__________________________________________________________________________

1.1.4) Who creates these silly standards anyway?

Typically X3J3. X3J3 is an ANSI subcommittee dedicated to Fortran.
WG5 is the ISO counterpart. WG5 owns responsibility for Fortran
on an international basis. WG5 has previously tasked X3J3 to do
the work. This arrangement continues.

WG5 is composed of Fortran users, vendors, and academics
from several ISO supporting nations. Delegates represent
*their*countries* not their companies; so several delegates
from a single company is permitted.

ANSI rules prohibit multiple voting delegates from the same company.
X3J3 is composed of users (aerospace, government labs, military,
DECUS, railroads, oil to name a few), vendors (IBM, CRI, Sun,
Convex, DEC, UNISYS, to name a few) and the odd academic
(oxford, yale, liverpool, to name a couple).
Members need not be US citizens nor must their company be US
domiciled. Being a member of a standards group is typically
involves non-trivial work.
To be effective, one should plan on at least 8 weeks of time
per year (those who are really doing the hard work do far more).
This time commitment is typically far more expensive than the
travel and membership costs.

X3J3 meetings are open to the public. There are typically 4
meetings a year, typically 3 are in the US and 1 *may* be
overseas (to precede or follow the WG5 plenary session).
Membership fees are levied by ANSI, and are on the near order
of $600 ($300ish cast as an ISO "tax", but mandatory for all).
In addition, attendees to a particular X3J3 meeting pay a
"meeting fee" which covers reproduction costs, snacks and etc.
The meeting fee has been about $100 for the last several meetings.

WG5 has established various goals and targets for future work.
Roughly speaking 5yrs rather than 13years are the targets for
future work.

Current work projects include cleanup and interpretations
of Fortran (90), features for future versions of the standard
(e.g. parallel processing, "object-oriented" technologies, etc.).
In addition to work done directly by X3J3, there is work on
standardized modules, and OS bindings taking place in other
organizations. X3J3 would like to keep track of such efforts,
those involved are invited to inform X3J3 early in their
development efforts if possible. X3J3 is currently working
with X3H5, DIN (varying string character) and tracking the
efforts of HPFF.

New members are always welcome. Visitors are also; though it
is very hard to get a good grip on things in only one meeting!

Contact the X3J3 chair for more information:

email: jwagener@trc.amoco.com (chair)

Upcoming meeting is: 5 Feb - 9 Feb Las Vegas

papers are often available via ftp from:

host: ftp.ncsa.uiuc.edu
directory: x3j3

__________________________________________________________________________

B) Learning Fortran

1.2.1) What are good books on Fortran?

Don't know if they are good. Inclusion in the list
is not endorsement.

On Fortran 90:

English:

Fortran 90
Counihan,
Pitman, 1991,
ISBN 0-273-03073-6.

Fortran 90 Explained
Metcalf and Reid,
Oxford University Press, 1990,
ISBN 0-19-853772-7,
about $30.

This book is a complete, audited description of the language
in a more readable style than the standard itself.
It is kept up-to-date on each printing with X3J3 and WG5's
latest interpretations.
It has seven Appendices, including an extended example program
that is available by ftp, and a comprehensive Index.

Fortran 90/95 Explained
Michael Metcalf and John Reid,
Oxford University Press, Oxford and New York, 1996,
ISBN 0 19 851888 9
(about $US33 or 16.95 pounds sterling).

Sequel to 90 explained.

Fortran 90 for Scientists and Engineers
Brian D. Hahn, Edward Arnold, 1994,
ISBN 0-340-60034-9.

Fortran 90 Handbook
Adams, Brainerd, Martin, Smith and Wagener,
McGraw-Hill, 1992,
ISBN 0-07-000406-4.

Fortran 90 Language Guide
Gehrke,
Springer, London, 1995,
ISBN 3-540-19926-8

Fortran 95 Language Guide
Gehrke,
Springer, London, 1996,
ISBN 3-540-76062-8

Fortran-90-Nachschlagewerk
Gehrke,
RRZN, 1993

Fortran 90 Programming
Ellis, Philips, Lahey,
Addison Wesley, Wokingham, 1994,
ISBN 0-201-54446-6.

Migrating to Fortran 90
James F. Kerrigan,
O'Reilly Associates,
1993, ISBN 1-56592-049-X.

Programmer's Guide to Fortran 90, second edition
Brainerd, Goldberg and Adams,
Unicomp, 1994.

Programming in Fortran 90
Morgan and Schonfelder,
Alfred Waller, Oxfordshire, 1993,
ISBN 1-872474-06-3.

Programming in Fortran 90
I.M. Smith,
Wiley,
ISBN 0471-94185-9.

Fortran 90,
Loren P. Meissner (U. of San Francisco) (c) 1995,
PWS Publishing Co.,
ISBN 0-534-93372-6

Fortran 90: A Reference Guide
Luc Chamberland,
Prentice-Hall, 1995,
ISBN 0-13-397332-8

Introducing Fortran 90
Ian Chivers and Jane Sleightholme
Springer Verlag,
ISBN 3-540-19940-3

Chinese:

Programming Language FORTRAN 90
He Xingui, Xu zuyuan, Wu gingbao and Chen mingyuan,
China Railway Publishing House, Beijing,
ISBN 7-113-01788-6/TP.187, 1994.

Dutch:

Fortran 90
W.S. Brainerd, Ch.H. Goldberg, and J.C. Adams,
translated by J.M. den Haan,
Academic Service, 1991,
ISBN 90 6233 722 8.

French:

Fortran 90; Approche par la Pratique
Lignelet,
Se'rie Informatique E'ditions, Menton, 1993,
ISBN 2-090615-01-4.

Fortran 90. Les concepts fondamentaux,
the translation of "Fortran 90 Explained" M. Metcalf, J. Reid,
translated by M. Caillet and B. Pichon,
AFNOR, Paris,
ISBN 2-12-486513-7.

Fortran 90; Initiation a` partir du Fortran 77
Aberti,
Se'rie Informatique E'ditions, Menton, 1992,
ISBN 2-090615-00-6.

Les specificites du Fortran 90,
DUBESSET, M. et VIGNES, J.,
editions Technip, 1993.
ISBN 2-7108-0652-5

Manuel complet du langage Fortran 90, et guide d'application,
LIGNELET, P.,
S.I. editions, Jan. 1995.
ISBN 2-909615-02-2

Programmer en Fortran 90,
DELANNOY, C.,
Eyrolles, 1992.
ISBN 2-212-08723-3

Savez-vous parler Fortran,
AIN, M.,
Bibliotheque des universites (de Boeck), 1994.
ISBN 2-8041-1755-3

Support de cours Fortran 90 IDRIS
Corde, P. & Delouis, H.
anonymous ftp from:

host: ftp.ifremer.fr
directory: pub/ifremer/fortran90/
file: f90_cours_4.ps.gz

Traitement de donnees numeriques avec Fortran 90,
Olagnon, M.
Masson, 1996.
ISBN 2-225-85259-6

was just published this week. Though it is in French,
the example programs

http://www.ifremer.fr/ditigo/molagnon/livref90.html

are in Fortran 90. One of them, CVIBM, deals with
conversions between IEEE and former IBM format,
and may be of some use to you.
Anonymous ftp from:

host: ftp.ifremer.fr
directory: pub/ifremer/ditigo/fortran90/livremo/
file: cvibfl.f90

German:

Fortran 90
B.Wojcieszynski and R.Wojcieszynski,
Addison-Wesley, 1993,
ISBN 3-89319-600-5.

Fortran 90: eine informelle Einf"hrung
Heisterkamp,
BI-Wissenschaftsverlag, 1991,
ISBN 3-411153-21-0.

Fortran 90, Lehr- und Arbeitsbuch fuer das erfolgreiche Programmieren
W.S. Brainerd, C.H. Goldberg, and J.C. Adams,
translated by Peter Thomas and Klaus G. Paul,
R. Olbenbourg Verlag, Muenchen, 1994,
ISBN 3-486-22102-7.

Fortran 90 Lehr- und Handbuch
T. Michel,
BI-Wissenschaftsverlag, 1994.

Fortran 90 Referenz-Handbuch: der neue Fortran-Standard
Gehrke,
Carl Hansen Verlag, 1991,
ISBN 3-446163-21-2.

Programmierung in Fortran 90
Schobert,
Oldenburg, 1991.

Software Entwicklung in Fortran 90
U"berhuber and Meditz,
Springer Verlag, 1993,
ISBN 0-387-82450-2.

Japanese:

Fortran 90 Explained
Metcalf and Reid,
translated by H. Nisimura, H. Wada, K. Nishimura, M. Takata,
Kyoritsu Shuppan Co., Ltd., 1993,
ISSN 0385-6984.

On Fortran in general:

Author Title Year
------ ----------------------------- ----
Kruger Efficient Fortran Programming 1990
Mojena/Ageloff FORTRAN 77 1990
Boyle FORTRAN 77 PDQ 1989
Bezner FORTRAN 77 1989
Tremblay PROGRAMMING IN FORTRAN 77 1988
Salmon ENGINEERS & SCIENTISTS WITH FORTRAN 77 1988
Nyhoff/Leestma FORTRAN 77 FOR ENGINEERS & SCIENTISTS 1988
McCracken/Salmon ENGINEERS & SCIENTISTS WITH FORTRAN 77 1988
Davis/Hoffman FORTRAN 77: A STRUCTURED DISCIPLINED STYLE 1988
Barnard/Skillicorn FORTRAN 77 FOR ENGINEERS AND SCIENTISTS 1988
Gregory A. Moses Engineering Applications Software Develop.. 1988
Gehrke PC-FORTRAN-Handbuch 1988
Mashaw PROGRAMMING STRUCTURED FORTRAN 77 1987
Cole FORTRAN 77: A STRUCTURED ... APPROACH 1987
Boillot UNDERSTANDING FORTRAN-77 1987
Gehrke FORTRAN-77-Handbuch 1987
Starkey/Ross FUNDAMENTAL PROGRAMMING WITH FORTRAN 77 1986
Rouse/Bugnitz INTRODUCTION TO FORTRAN 77 1986
Ratzer FORTRAN 77 COURSE 1986
Page FORTRAN 77 FOR HUMANS 1986
Lehman SOCIAL SCIENCES: ALGORITHMS & FORTRAN 77 1986
Smith FORTRAN 77: A PROBLEM-SOLVING APPROACH 1985
Shelly FORTRAN 77: AN INTRODUCTION 1985
Nickerson FUNDAMENTALS OF FORTRAN 77 PROGRAMMING 1985
Metcalf EFFECTIVE FORTRAN 77 1985
Metcalf FORTRAN Optimization 1985
McKeown STRUCTURED PROGRAMMING USING FORTRAN 77 1985
Hume FORTRAN 77 FOR SCIENTISTS & ENGINEERS 1985
Dillman PROBLEM SOLVING WITH FORTRAN 77 1985
Brainerd FORTRAN 77 FUNDAMENTALS AND STYLE 1985
Borse FORTRAN 77&NUMERICAL METHODS FOR ENGINEERS 1985
Adman FORTRAN 77 SOLUTIONS NON-SCIENTIFIC PROBS. 1985
Etter PROBLEM SOLVING WITH STRUCTURED FORTRAN 77 1984
Etter PROBLEM SOLVING USING FORTRAN 77 ?
Dyck FORTRAN 77: A STRUCTURED APPROACH ... 1984
Chivers/Clark FORTRAN 77: A HANDS ON APPROACH 1984
Adman FORTRAN 77 FOR NON-SCIENTISTS 1984
Willamson/Levesque A GUIDEBOOK TO FORTRAN ON SUPERCOMPUTER 1989
Rule FORTRAN 77: A PRACTICAL APPROACH 1983
Rouse/Bugnitz PROGRAMMING THE IBM PC: FORTRAN 77 1983
Nyhoff/Leestma PROBLEM SOLVING WITH FORTRAN 77 1983
Marateck FORTRAN 77 1983
Lehmnkuhl FORTRAN 77 1983
Law ANSI FORTRAN 77: INTRO. TO SOFTWARE DESIGN 1983
Holoien/Behforooz ... STRUCTURED PROGRAMMING WITH FORTRAN 77 1983
Grout FUNDAMENTAL..PROGRAMMING USING FORTRAN 77 1983
Fleming/Redish THE U. S. MC MASTER GLOSSARY OF FORTRAN-77 1983
Cole ANSI FORTRAN IV WITH FORTRAN 77 EXTENSIONS 1983
Wu ANSI FORTRAN IV & 77 AND BUSINESS PROGRAMS 1982
Pollack STRUCTURED FORTRAN 77 PROGRAMMING 1982
Katzan FORTRAN 77 1982
Gibson/Young INTRO TO PROGRAMMING USING FORTRAN 77 1982
Ellis STRUCTURED APPROACH FORTRAN 77 PROGRAMMING 1982
Durgin FORTRAN 77 1982
Nanney A PROBLEM-SOLVING APPROACH USING FORTRAN77 1981
Merchant FORTRAN 77: LANGUAGE AND STYLE 1981
Khailany BUSINESS PROGRAMMING FORTRAN IV/ANSI F.. 1981
Ashcroft PROGRAMMING WITH FORTRAN 77 1981
Gehrke FORTRAN-77-Sprachumfang 1981
Wagener FORTRAN 77 ?
Wagener PRINCIPLES OF FORTRAN 77 PROGRAMMING 1980
Meissner/Organick FORTRAN77 FEATURING STRUCTURED PROGRAMMING 1980
Hume/Holt PROGRAMMING FORTRAN 77 1979
Balfour PROGRAMMING IN STANDARD FORTRAN 77 1979

A free Fortran 77 book
----------------------

This excellent book is offered to the public by the
author:

Clive G. Page,
Professional Programmer's Guide to Fortran 77
Pitman, 1988
122 pages (including index)

It can be found at the anonymous FTP site:

Host: ftp.star.le.ac.uk
Directory: /pub/fortran/
File: prof77.ps.gz

There is also a Latex version available.

-----------------------------------------------
~From: Z.W.T.Mason@sussex.ac.uk (Zebedee Mason)
-----------------------------------------------

Jeffrey Templon (templon@studbolt.mit.edu) wrote:
: Hi,
:
: I just discovered this one and don't remember seeing it pointed
: to here. It's a PS copy of an out-of-print book by Clive Page,
: "Professional Programmer's Guide to Fortran 77" and what I've
: seen of it looks real good.
:
: JT

I bought it when it was in print, never needed to buy another
one since. Why can't all programming books be this short and
to the point?

Zeb.

Another free Fortran 77 book
----------------------------

Interactive Fortran 77: A Hands on Approach (second edition)
Ian D Chivers and Jane Sleightholme
Ellis Horwood, 1990
Series in Computers and their Applications
ISBN: 0-13-466764-6

Copyright (C) Ian D Chivers and Jane Sleightholme.

Legal comments:

Unless otherwise specified, Ian D Chivers and Jane Sleightholme
hold all rights, including copyright and retains such rights.
This work may be distributed in its entirety provided the work
is distributed as a whole with this copyright notice intact.

This work may not be distributed in hard copy or other machine
readable form, redistributed, transmitted or translated without
prior written authorization from Ian D Chivers and Jane Sleightholme.

Commercial use can only be allowed by specific license agreements.
The accuracy of this document cannot be guaranteed. Ian D Chivers
and Jane Sleighthome make no warranty, either express or implied,
with respect to the use of any information and assumes no liabilities
for loss or damage, whether such loss or damage is caused by error
or omission.

If this electronic book is made available anywhere other than the
original system, Ian Chivers or Jane Sleigtholme must be notified
in writing (email is acceptable) and the copyright notice must
retain intact.

PDF version:

http://www.kcl.ac.uk/kis/support/cc/fortran/f77book.pdf

Unix compressed postscript version:

http://www.kcl.ac.uk/kis/support/cc/fortran/f77book.ps.Z

PC pkzip postscript version:

http://www.kcl.ac.uk/kis/support/cc/fortran/f77ps.zip

__________________________________________________________________________

1.2.2) Where can I find a f90 tutorial or course?

Copyright but freely available course material is available
from Manchester Computer Centre on the World Wide Web with
the URL:

http://www.hpctec.mcc.ac.uk/hpctec/courses/Fortran90/F90course.html

The ftp address is:

host: ftp.mcc.ac.uk
directory: /pub/mantec/Fortran90

A complete Tutorial is available under WWW with
the URL:

http://asis01.cern.ch/CN/CNTUT/f90/Overview.html

or via anonymous ftp from:

host: cernvm.cern.ch
directory: cnl.200
file: f90tutor.ps

An ASCII copy of this material as a set of slides for a
six-hour course is available from:

metcalf@cern.ch.

Courses are available from:

Walt Brainerd, a member of X3J3,
also on HPF
email: walt@fortran.com

PSR (see above);

CETech, Inc. (also on HPF)
8196 SW Hall Blvd., Ste. 304,
Beaverton, Oregon 97008, USA.
Phone: (503)644-6106
Fax: (503)643-8425
Email: cetech@teleport.com).

Some European companies offering courses and conversion
consultancy are:

IT Independent Training Limited,
113 Liscombe, Birch Hill,
Bracknell, Berkshire, RG12 7DE, UK
tel: +44 344 860172
fax: +44 344 867992

Simulog, attn. Mr. E.Plestan,
1 rue James Joule,
F-78286 Guyancourt Cedex, France
tel: +33 1 30 12 27 00
fax: +33 1 30 12 27 27

CTS,
Prinz-Otto Str. 7c,
D-85521 Ottobrunn , Germany
tel: +49-89-6083758
fax: +49-89-6083758

__________________________________________________________________________

1.2.3) What constitutes good FORTRAN style?

One rendition of a FORTRAN 77 style guide is available through
anonymous ftp from ics.uci.edu (128.195.1.1). To retrieve
(please note that it's not really "anonymous", that's just
the Name that you'll be using):

% ftp ics.uci.edu
anonymous
cd pub/levine
ascii
get F77_Style_Guide
bye

If you can't access this site directly, please send an e-mail
request to:

INTERNET: levine@ics.uci.edu
BITNET: levine@uci
UUCP: ...!uunet!ucivax!levine

__________________________________________________________________________

1.2.4) What are good Subsets of Fortran?

One is F:

Announcing the first book on the F programming language
-------------------------------------------------------

"The F programming Language", by Michael Metcalf and John Reid,
Oxford University Press, Oxford and New York, 1996,
ISBN 0-19-850026-2, (about $US30 or 16.95 pounds sterling).

The F programming language is a dramatic new development in
scientific programming. Building on the well-established strengths
of the Fortran family of languages, it is carefully crafted to be
both safe and regular, whilst retaining the enormously powerful
numerical capabilities of its parent language, Fortran 90, as well
as its data abstraction capability. Thus, an array syntax becomes
available as part of a medium-size, widely-available language for
the first time. In this respect, the language is clearly superior
to older ones such as Pascal, C, and Basic.

F is ideally suited for teaching as a first programming language,
and provides a smooth path into both Fortran 90 and High Performance
Fortran (it is a subset of both).

In the absence of a formal standard for F, this book is the defining
document for the language, setting out the complete syntax and
semantics of the language in a readable but thorough way.
It is essential reading for all F practitioners.

Compilers for F are available from Imagine1 for Windows 95, Linux
and some Unix platforms, with Windows NT, Macintosh PowerPC and 68K
families coming shortly. The compilers are based on technology from
Absoft, Fujitsu, and NAG. For details see:

http://www.imagine1.com/imagine1 or contact info@imagine1.com.

Table of Contents:
1. Why F? . . . . . . . . . . . . . . . . 1
2. Language elements . . . . . . . . . 7
3. Expressions and assignments . . . . 29
4. Control constructs . . . . . . . . 49
5. Program units and procedures . . . 61
6. Array features . . . . . . . . . . 89
7. Specification statements . . . . . 113
8. Intrinsic procedures . . . . . . . 131
9. Data transfer . . . . . . . . . . . 151
10. Operations on external files . . . 175
Appendix A. Intrinsic procedures . . . 185
Appendix B. The statements of F . . . . 191
Appendix C. Diffences from Fortran 90 . 195
Appendix D. Pointer example . . . . . 201
Appendix E. The terms of F . . . . . . 211
Appendix F. Solutions to exercises . . 221
Index . . . . . . . . . . . . . . . . . 233

Michael Metcalf works at CERN, Geneva. He is the author of a
range of publications, including the books "Effective Fortran 77"
and "Fortran 90/95 Explained" (with John Reid) (Oxford University
Press), and "Fortran Optimization" (Academic Press).
He was Editor of the Fortran 90 standard.

John Reid works for the Rutherford Appleton Laboratory and
is well known as a numerical analyst; he is a co-author of
"Direct Methods for Sparse Matrices" and "Fortran 90/95 Explained"
(Oxford University Press). He served as Secretary of X3J3 and
played a leading role in the development of Fortran 90.

Ordering information:

1) N. America: Order Department, Monday-Friday, 8:15am-5:00pm (EST)

Phone: 1-800-451-7556
Fax: 1-919-677-1303
Post: Order Department
Oxford University Press
2001 Evans Road
Cary, NC 27513
E-mail: orders@oup-usa.org
WWW: http://www.oup-usa.org/

2) UK: send order and payment to:

CWO Department, OUP,
FREEPOST NH 4051, Corby, Northants
NN18 9BR - no stamp required

Phone: with a credit card, the 24-hour credit
card hotline is: +44 (0)1536 454534

Postage and packing for UK orders:
- under #20 - add #2.06,
over #20 - add #3.53,
over #50 - add #4.70.

WWW: http://www.oup.co.uk/

3) Eire, Europe, and the rest of the world,
send order and payment to:

CWO Dept, OUP,
Saxon Way West, Corby,
Northants NN18 9ES, UK

Fax: credit card sales: +44 1536 746337

Postage and packing for non-UK orders:
add 10% of the total price of the books.

4) Imagine1
11930 Menaul NE, Suite 106
Albuquerque, NM 87112
Toll free phone number: 1 888 323 1758.
See also Imagine1's e-mail address and WWW URL above.

Demos available (and free for linux)

ftp swcp.com
login as anonymous and give e-mail address as password
cd ~ftp/pub/walt/Fbin
get f_linux.tar.Z (or f_solaris1.tar.Z or f_solaris2.tar.Z)

Please send problems or questions to
info@imagine1.com.
--------

Another subset is ELF,

Lahey has a native LF90 compiler for Windows and DOS:

sales@lahey.com
http://www.lahey.com

It is particularly well optimized on the Pentium.

Also on offer is elf90, a subset language that does not have old
features like storage association, is designed for teaching, and is
very cheap. Also "Prof. Loren Meissner"
can provide information, and possibly a textbook on this dialect.
But in a nutshell, elf90 is said to be f90 sans What's not in Elf90

To promote a more efficient and modern programming language the
Fortran statements listed below are not supported by the Elf90
language. If you use a Fortran 90 feature that is not supported, an
on-screen error message is provided.

ALLOCATABLE* ASSIGN BLOCK DATA
COMMON CONTINUE DATA DIMENSION*
DO LABEL DOUBLE PRECISION END
END BLOCK DATA ENTRY EQUIVALENCE
EXTERNAL GO TO (COMPUTED) GO TO (ASSIGNED)
IMPLICIT INCLUDE INTENT*
INTRINSIC OPTIONAL PARAMETER*
POINTER* SAVE* TARGET*

*Note: The ALLOCATABLE, TARGET, POINTER, INTENT, PARAMETER,
DIMENSION, and SAVE attributes are declared in type declaration
statements.

__________________________________________________________________________

1.3) General Fortran (particularly Fortran 90) resources

1.3.1) f90.faq

Michel Olagnon's Fortran 90 List
--------------------------------

F90 FAN's : Fortran 90 Frequently Asked about News.
A Fortran 90 addition to the Fortran FAQ.

Michel Olagnon - October 1st, 1993.
Last updated - November 29th, 1996.

Send flames and suggestions for improvement to:

email: Michel.Olagnon@ifremer.fr
WWW: http://www.ifremer.fr/ditigo/molagnon/molagnon.html

The current updated version of this FAQ is available
from:

ftp://ftp.ifremer.fr/ifremer/ditigo/fortran90/engfaq

It can be found on WWW at URLs:

http://www.mols.susx.ac.uk/eggen/Fortran90/f90-faq.html
(thanks to Bernd Eggen),

http://www.kcl.ac.uk/kis/support/cc/fortran/engfaq.html
(thanks to Ian Chivers),

http://lenti.med.umn.edu/~mwd/f90-faq.html
(thanks to Mark Dalton),

http://www.uni-karlsruhe.de/~Fortran90/olagnon-faq.html
(thanks to Michael Hennecke),

http://www.ifremer.fr/ditigo/molagnon/fortran90/engfaq.html

Contents :
----------

1. Fortran 90 and Fortran 77
2. Available in Fortran 90:

2.1. Compilers
2.2. Code re-structurers and converters
2.3. Libraries and utilities
2.4. Tests and Benchmarks
2.5. Examples and repositories
2.6. Courses and Consultancy

3. Documentation:

3.1. Standards
3.2. Glossary
3.3. Journals
3.4. Tutorials and other documents
3.5. Books
3.6. Articles
3.7. WWW-Mosaic pages

4. Fortran 90 Benchmarking
5. Announced, foreseen, and rumours
6. Workshops, seminars, conferences
7. Developments, related languages

7.1. Standard
7.2. HPF
7.3. PVM
7.4. MPI
7.5. Parallel Programming

8. Addresses

1.0 Fortran 90 and Fortran 77:
------------------------------

Fortran 90 is, with very few exceptions, a superset of Fortran 77.
The FAQ of the Usenet group Comp.lang.fortran deals with both
standards, and may be obtained, like any FAQ, via anonymous ftp
from:

ftp://rtfm.mit.edu/pub/usenet/comp.lang.fortran/Fortran_FAQ

host: rtfm.mit.edu
directory: pub/usenet/comp.lang.fortran
file: Fortran_FAQ

It is also available on the WWW:

http://www.cis.ohio-state.edu/hypertext/faq/usenet/
fortran-faq/faq.html

The present document is an attempt to supplement that FAQ with
some specific Fortran 90 information.

Anyone interested is also invited to join the mailbase list
comp-fortran-90, by sending an e-mail message to:

mailbase@mailbase.ac.uk

containing the only line:

join comp-fortran-90 firstname lastname

more info on URL:

http://www.mailbase.ac.uk/lists-a-e/comp-fortran-90/

The main extensions of Fortran 90 over Fortran 77 are:
------------------------------------------------------

o array notation (for instance, X(1:N)=R(1:N)*COS(A(1:N)))
o dynamic memory allocation (ALLOCATE, DEALLOCATE, ...)
o derived types and operator overloading
o better declarations, and prototyping possible
o MODULES, allowing users to create ``storage pools'',
or to define environment
o more of modern control structures (SELECT CASE, EXIT, ...)
o more of useful intrinsics (date, precision, arrays, ...)
o free format source code form

``Pure'' Fortran 77 is F90 compatible. Yet, it is better to convert
it to a ``mixed'' format, acceptable both as free and fixed source
form Fortran 90, which only requires replacing C by ! as the comment
character, to use & as the continuation line character, and to
append it to the continued line, to remove blanks embedded inside
constants or identifiers, and to check some intrinsics usage. Most
of this can be done automatically.

Fortran 90 allows the Fortran 77 programmer to write code faster,
to make it more legible, and to avoid many bugs. For a newcomer to
programming, it is an opportunity to learn a modern language, with
most recommended features, and yet to be in line with scientific
and industrial engineering communities where Fortran is and is
going to remain for a good while THE favourite language.

2.0 Available in Fortran 90:
----------------------------

2.1 Compilers
-------------

There is presently no free full F90 compiler. However, some
compilers restricted to modern subsets of the language are free.
These are:

ELF90 from Lahey
for DOS 3.3 or higher, Windows 95, or Windows NT:

http://www.lahey.com/"

F from Imagine1 for Linux:

http://www.imagine1.com/imagine1

Compilers for these subsets are also available for other
platforms, but presently not for free.

Absoft's version of CF90
for: Power Mac
URL: http://www.absoft.com

ACE f90 and HPF
for: Parsytec PowerPC-based machines
URL: http://www.ace.nl/

Apogee - highly optimizing Apogee-Fortran 90, C-DAC Fortran 90
(comes with debugger).
Both compilers are for SPARC architectures.
URL: http://www.apogee.com/

APR xHPF 2.1 - HPF compiler
([Cray]T3D,
[IBM]SP-2,
[Intel]Paragon,
[Dec Alpha]3000/900 275Mhz,
[SGI Power Challenge]MIPS R8000,
[Sun SPARC]2000 40Mhz)

CRAY CF90
for: Crays YMP and YMP-C90,
Superserver 6400
Sparc Solaris 2.3
plans for HP, SGI
URL: http://www.cray.com/PUBLIC/product-info/craysoft/
Fortran_90.html

DEC Fortran 90 V2.0
for: Digital UNIX Alpha
OpenVMS Alpha,
UNIX version including full HPF support, Digital Parallel
Software Environment (PSE), companion product on UNIX for
HPF programming.
URL: http://www.digital.com/info/hpc/f90

EPC Fortran 90
for: Sparc Solaris 1.X and 2.X,
IBM RS/6000,
Intel 3/486 (SVR3&4, Solaris 2.x),
SGI,
Motorola 88000/100/100 (SVR3&4),
MIPS

Fujitsu full compiler
for: Sparc Solaris 1.1 and 2.x
next: Sun Sparc (MP) 3Q/95,
HP PA-RISC 4Q/95
MIPS ABI 4Q/95,
SGI 4Q/95,
Windows 1Q/96

HP, HP Fortran 90 - full compiler
for: HP-UX 10.20,
10.10,
10.01
SPP-UX
URL: http://www.hp.com/go/hpfortran

IBM XLF V3 full compiler
for: RISC System/6000 + KAP preprocessor
from KAI, for AIX V3.2 and V4.1
URL: http://www.torolab.ibm.com:80/ap/fortran/xlfortran/

Imagine1 F - educational subset
(dusty features removed, for inexpensive F90 learning)
URL: http://www.imagine1.com/imagine1

Lahey LF90
for: DOS,
Windows including Pentium optimizations and
Interacter Kit.
URL: http://www.lahey.com/

Lahey ELF90 - educational subset
(dusty features removed, for inexpensive F90 learning)

Microsoft Fortran Powerstation V4.0
for: Windows NT 3.5
Windows 95
URL: http://www.microsoft.com/fortran

MicroWay
for: DOS,
OS/2,
Unix,
Linux.

NA Software F90+
for: OS/2,
DOS/Windows3.1,
Windows NT,
Sun,
Inmos T800
PC Linux, also HPF for Linux.
Cost-effective personal version for Windows95
URL: http://www5.informatik.tu-muenchen.de/sci-comp/info/
software/fortran.html

NAG/ACE Optimizing f90 - release 1.0
for: Sparc Solaris 2.
URL: http://www.nag.co.uk/nagware/ACE/Info.html

NAGWare f90
uses C as intermediate language, now at rel:2.2,
includes HPF extensions and exists in Linux version.
URL: http://www.nag.co.uk/nagware/NCNJNKNM.html

NEC FORTRAN90/SX
for its supercomputer SX series.

Pacific Sierra VAST/f90
uses F77 as intermediate language,
for: Unix
VMS
Convex
URL: http://www.psrv.com/vast/vastf90.html

Parasoft
uses F77 as intermediate language
URL: http://www.parasoft.com/f90.html

PGI f90/HPF compiler,
for: SGI,
IBM SP2,
HP/Convex
URL: http://www.pgroup.com/

Salford FTN90
PC implementation of NAG f90, direct generation
of object code.
URL: http://www.salford.ac.uk/docs/ss.html

SGI
under IRIX 6.1 on R8000 machines:
Power Challenge,
Power Indigo 2,
Power Onyx
URL: http://www.sgi.com/

SPARCompiler Fortran 90
Sun's Cray-compatible compiler.
URL: http://www.sun.com/sunsoft/Products/Developer-products

Stern C. S. CF90
Cray-compatible for DEC OSF/1 (Digital UNIX).

NOTE: Some vendors, such as Convex on their machines, offer
a number of F90 extensions, for instance array syntax
or ALLOCATE instruction.

Code re-structurers and converters
----------------------------------

Pacific-Sierra VAST/77to90
(see article by JKP in Fortran Journal 5/4)
URL: http://www.psrv.com/vast/vast77to90.html

LOFT90, by NA Software
(available also under Linux)

FORESYS 1.4
GUI based High Performance Global Analysis,
F77->F90 conversion, and parallelization.
URL: http://www.cais.net/s2i/www/general/foresys.html

FORGE Explorer 2.0
Distributed and shared memory Parallelizer,
Applied Parallel Research, Inc.
URL: http://www.infomall.org/apri/

NAGWare f90 tools
pretty-printer,
declarations standardiser,
precision standardiser,
names changer.
URL: http://www.nag.co.uk/nagware/NENF.html

CONVERT, conversion to F90 free format
proposed by Mike Metcalf via anonymous ftp
on:
host: jkr.cc.rl.ac.uk (130.246.8.23)
directory: pub/MandR/
file: convert.f90
URL: ftp://jkr.cc.rl.ac.uk/pub/MandR/convert.f90

ftof90.c
minimal F77 -> F90 conversion.
URL: ftp://ftp.ifremer.fr/ifremer/ditigo/fortran90/ftof90.c.gz

f90ppr
F90 pre-processor similar to cpp.
URL: ftp://ftp.ifremer.fr/ifremer/ditigo/fortran90/f90ppr.f90.gz

flecs90
FLECS to F90 translator.
URL: ftp://odin.mda.uth.tmc.edu/pub/source/flecs90.tar.Z

HPF mapper
for PVM or Parmacs,
on Sun clusters: NA software.

Libraries and utilities
-----------------------

*Emacs* package free-format f90-mode
URL: http://www.mailbase.ac.uk/lists-a-e/comp-fortran-90/
files/f90.el
Among the options one finds automatic matching and completion
of all end-blocks (for example, indenting a line starting with
end, finds the corresponding if/do/module... and checks/fills
in the right kind of block and a possible name), it has an
automatic fill-function which breaks a line and inserts
&-signs (two if inside a string) when a line gets too long,
different coloring for different features which is updated
with every indent of a line.
The most common commands are available via a menu.

Performance Library
LAPACK, BLAS, FFTPACK, VFFTPACK et LINPACK
optimized for SPARC (Sun Performance Workshop).
URL: http://www.sun.com/sunsoft/Products/Developer-products

INTERACTER
graphics library for Lahey LF90 and Salford FTN90,
on 386/486/pentium + DOS Extenders (Int. Soft. Serv.).
URL: http://www.demon.co.uk/issltd/

Lahey has F90 components (manual, array intrinsics, front end,...)
that they would like to license to others.

NAG fl90, numerical and statistical library,
Sun 4, Sgi, DECstation, and IBM RISC System/6000.

NAG tool components
(parser, semantic analyser, tree modification library
and tree flattener).

Numerical recipes
URL: http://nr.harvard.edu/nr/nrf90_blurb.html
(Others give caveats: http://math.jpl.nasa.gov/nr !)

Cray LibSci(tm),
numerical library for Crays and Sparc Solaris 2.3

MPFUN
(Multiple Precision Floating Point Computation Package)
by David W. Bailey, for Cray CF-90.
URL: ftp://ftp.irisa.fr/pub/netlib/mpfun/

MSL library (Visual Numerics)

Syntax verifier extracted from NAG compiler,
put into public domain by NAG for Sun 3, Sun 4, Sgi.
Interactive checking of user's code over www at:
URL: http://www.nag.co.uk/0/Forms/f90_interface.html

ISF and PKF modules
shareware from Garnatz and Grovender, Inc
ISAM/VSAM/btree file structure, and Positional Key file structure
URL: http://www.winternet.com/~gginc

XLIB interface
from Garnatz and Grovender also.
URL: http://www.winternet.com/~gginc

CADNA,
by professeur Vignes from Universite Pierre et Marie Curie,
implements stochastic arithmetic in Fortran 90, and
enables monitoring of precision loss and/or numerical
instabilities during execution. (Control of Accuracy
and Debugging for Numerical Aplications in Fortran)
More information available from AERO (see also articles
by J. Vignes), or Pr. Chesneaux (chesneaux@masi.ibp.fr).

ISO/IEC 1539-2 (Auxiliary standard)
Variable length character strings in Fortran
(with a demonstration of implementation at URL:
ftp://ftp.liv.ac.uk/pub/fortran_std/is1539-2.html)

LAPACK,
(minimaly) translated by myself (M.O.), successfully
passed all its tests with NAg-f90 2.0.
I aggressively translated single precision Blas, and
intend to do the same with other Blas as soon as I
have time.
Steve Moulton works on LAPACK conversion.

StopWatch
Measurement of execution times by W.F Mitchell
URL: http://math.nist.gov/acmd/Staff/WMitchell/StopWatch.html

F90 makedepend
perl script by Kate Hedstrom
URL: http://marine.rutgers.edu/po/perl.html

Automatic differentiation with Fortran programs
URL: http://www.mcs.anl.gov/Projects/autodiff/AD_Tools

Tests and Benchmarks
--------------------

Lahey Test suite
F77 & F90 (license agreement)

NAGware Test suite
tests for compilers (same as U_F90_TS)

U_F90_TS Test suite
from Dr. Brian Smith (University of New Mexico),
marketed by Unicomp and NAG.

SHAPE Test suite
3400 tests of array instructions,
from Spackman & Hendrickson, Inc.

Parasoft Test suite
1500 tests for compilers

Quetzal Benchmark
from John K. Prentice.
URL: http://www.swcp.com/~quetzal/access.html

Benchmark of Syracuse University
via anonymous ftp on:
host: minerva.npac.syr.edu
directory: old_pub
URL: ftp://minerva.npac.syr.edu/old_pub/

Channel benchmark
by John D. McCalpin, via anonymous ftp on:
host: perelandra.cms.udel.edu
directory: bench/channel.
URL: ftp://perelandra.cms.udel.edu/bench/channel

Examples and repositories
-------------------------

Nag has set up a repository for contributed code:
WWW: http://www.nag.co.uk/1/nagware/Examples

The Fortran Market has established itself on the World Wide Web.
"ONE place to find all information, products,
and services related to Fortran"
WWW: http://www.fortran.com/fortran/market.html

Lahey Computer Systems
downloadable F90 public domain code.
URL: http://www.lahey.com/other.htm

11,000 lines offered by Richard Maine via anonymous ftp on:
host: ftp.dfrf.nasa.gov
directory: pub/fdas/f90sample/
file: fdas.tar.Z

Many of the example codes and problem solutions from:
NUMERICAL METHODS FOR DIFFERENTIAL EQUATIONS -
A computational approach, by John R. Dormand
have been coded in F.
URL: ftp://ftp.tees.ac.uk/pub/j.r.dormand/F-files

STEJOI, statistical package for joint occurrence events,
on Sun, including source code and everything,
via anonymous ftp on:
host: ftp.ifremer.fr
directory: ifremer/ditigo/fortran90/
file: f90dvl.tar.Z

Module unsigned_32
for definition and use of unsigned 32 bits integers,
also via anonymous ftp on:
host: ftp.ifremer.fr
directory: ifremer/ditigo/fortran90/
file: unsi32.f90.Z

f90split, experimental version,
similar to Unix BSD fsplit, but for free source form,
also via anonymous ftp on:
host: ftp.ifremer.fr
directory: ifremer/ditigo/fortran90/
file: f90split.f90.gz

Algorithm 999 by A.G. Buckley
for unconstrained nonlinear minimization,
via anonymous ftp on:
host: ftp.royalroads.ca
directory: pub/software/bbuckley/alg999/
file: source

Courses and Consultancy
-----------------------

IT Independent Training Limited, UK

CTS, Germany

Unicomp, USA

Pacific-Sierra Research Corp., USA

CETech, Inc., USA

3.0 Documentation:
------------------

Standards
---------

ISO/IEC 1539:1991 (E) International Standard
Information technology - Programming langages - Fortran
Somewhat expensive (CHF 210 ~ US$ 140 !) for instance, at ISO.
Surprisingly enough, the identical, save for foreword and
acknowledgements, ANSI standard X3.198-1992 is even more expensive.

Walter S. Brainerd, Unicomp., offers:

o for 125 US$, an electronic ascii monouser version,
o for 125 + 10n US$, an electronic PostScript version,
and the right to make n paper copies,
o or for 1000 US$, an electronic ditroff monouser version.

URL: http://www.fortran.com/fortran/iso1539.html

A version with French glossary is available as European norm
NF EN 21539.

Glossary
--------

Fortran terminology glossary
by Ken Hawick hawick@npac.sys.edu
URL: http://www.npac.syr.edu/hpfa/fortgloss/fortgloss.html

Journals
--------

Fortran Journal
ISSN 1060-0221
Enquiries: Walt Brainerd (email: walt@fortran.com)
Subscriptions: Fortran Users Group
P.O. Box 4201
Fullerton, CA 92634
(about $30/year individual, $100/year company,
~$50/$150 outside the USA, call 1 (714) 441 2022)

Fortran Forum
edited by Loren Meissner (email: meissner@usfca.edu)
Subscriptions: ACM membership services
email: acmhelp@acm.org
10$ members, 20$ non members
More info: http://www.acm.org/

Tutorials and other documents
-----------------------------

University of Liverpool on-line tutorial
URL: http://www.liv.ac.uk/HPC/HTMLFrontPageF90.html

P. Corde and H. Delouis
``Support de cours Fortran 90 IDRIS''.
This is a very complete reference (224 pp.), in French,
for which the authors have agreed to give free access.
URL: http://www.idris.fr/data/cours/lang/f90/F90_cours4.ps

Prof. Loren Meissner has written an ELF subset
(Essential Lahey Fortran) textbook, from his PWS book,
and offers it on a royalty basis of $1.00 per copy,
with advance royalty payment for 100 copies
(email: LPMeissner@msn.com).

Copyright but freely available course material
is available from Manchester Computer Centre.
URL: http://www.hpctec.mcc.ac.uk/hpctec/courses/Fortran90/
F90course.html

Bo Einarsson and Yurij Shokin
have written a tutorial on the transition from
Fortran 77 to Fortran 90, with the title:
"Fortran 90 for the Fortran 77 programmer"
URL: http://www.nsc.liu.se/f77to90.html

Michel Goossens has now installed a Fortran 90 tutorial
on the World Wide Web (WWW), with the title:
"F90 Tutorial/Overview"
There is no copyright on this material.
URL: http://wwwcn.cern.ch/asdoc/f90.html

There is a Fortran (90) tutorial on the net that might
be of some use (from the University of New Mexico).
URL: ftp://mycroft.plk.af.mil/pub/Fortran_90/Tutorial/

See also:

URL: http://www.nsc.liu.se/~boein/fortran.html

URL: http://www.kcl.ac.uk/kis/support/cc/fortran/f90home.html

Digital Equipment Corporation (DEC)
URL: http://www.digital.com:80/info/hpc/f90/users.html#tutorial

Computational Science Education Project (CSEP)
Oak Ridge National Laboratory (ORNL)
URL: http://csep1.phy.ornl.gov/pl/pl.html

URL: ftp://ftp.th-darmstadt.de/pub/thd/fortran/f90/

The University of Liverpool
URL: http://www.liv.ac.uk/HPC/F90page.html

Belfast
URL: http://www.pcc.qub.ac.uk/tec/courses/courselist.html

Univ. of New Mexico
URL: http://www.arc.unm.edu/workshop/fortran90/f90-main.html

Syracuse Univ.
URL: http://www.npac.syr.edu/EDUCATION/PUB/hpfe/

Pacific-Sierra Research mini-tutorial about converting
Fortran 77 programs to High Performance Fortran
URL: http://www.psrv.com/77toHPF

EPCC Writing Data parallel programs with High Performance Fortran
URL: http://www.epcc.ed.ac.uk/epcc-tec/package.html

Leicester
URL: ftp://ftp.star.le.ac.uk/pub/fortran/

Books
-----

* in English,

Adams, Brainerd, Martin, Smith.
Fortran Top 90 - Ninety Key Features of Fortran 90,
Unicomp, Sept. 1994.

Adams, Brainerd, Martin, Smith, Wagener.
Fortran 90 Handbook,
McGraw-Hill, 1992.
ISBN 0-07-000406-4

Brainerd, W., Goldberg, and Adams.
Programmer's guide to Fortran 90,
2nd edition, Unicomp, 1994.
ISBN 0-07-000248-7

Chamberland, Luc.
Fortran 90 : A Reference Guide,
Prentice Hall.
ISBN 0-13-397332-8.

Chivers, I. and Sleightholme, J.
Introducing Fortran 90,
Springer-Verlag, Sept. 1995.
ISBN 3-540-19940-3
URL: http://www.kcl.ac.uk/kis/support/cc/fortran/

Counihan,
Fortran 90,
Pitman, 1991.
ISBN 0-273-03073-6

Einarsson, B., Shokins, Y.
Fortran 90 for the Fortran 77 programmer
HTML-book.
URL: http://www.nsc.liu.se/~boein/fortran.html

Ellis, T.M.R, Lahey, T. and Philips, I.
Fortran 90 Programming,
Addison Wesley, 1994,
ISBN 0-201-54446-6
With examples in URL:
ftp://aw.com/aw.computer.science/

Gehrke, W.
Fortran 95 Language Guide,
Springer-Verlag, 1996.
ISBN 3-540-76062-8 (Softcover)

Hahn, B.D., Edward Arnold.
Fortran 90 for Scientists and Engineers,
1994.
ISBN 0-340-60034-9

Kerrigan, J.
Migrating to Fortran 90,
O'Reilly and Associates, 1993 (2nd ed. Sept.94),
ISBN 1-56592-049-X
With examples in URL:
ftp://uunet.uu.net/nutshell/fortran90/

Charles H. Koelbel, David B. Loveman, Robert S. Schreiber,
Guy L. Stelle Jr., Mary E. Zosel
High Performance Fortran Handbook,
MIT Press, 349 pages, 1994.
ISBN 0-262-61094-9 $24.95 in paper back
ISBN 0-262-11185-3 $45 for hard cover

Mayo, W.E. and Cwiakala, M.
Schaum's Outline of Theory and Praxis
-- Programming in Fortran 90,
Mc Graw Hill, 1996.
ISBN 0-07-041156-5

Meissner, L.
Fortran90,
PWS Kent, Boston, 1995.
ISBN 0-534-93372-6

Metcalf, M. and Reid, J.
Fortran 90/95 Explained,
Oxford University Press, 1996.
ISBN 0-19-851888-9

Metcalf, M. and Reid, J.
The F programming Language,
Oxford University Press, 1996.
ISBN 0-19-850026-2

Morgan and Schonfelder,
Programming in Fortran 90,
Alfred Waller Ltd., 1993.
ISBN 1-872474-06-3

Redwine, C.,
Upgrading to Fortran 90,
Springer, 1995
ISBN 0-387-97995-6

Schick W., Silverman Gordon,
Fortran90 and engineering computations,
John Wiley and sons, 1995
ISBN 0-471-58512-2

Smith, I.M.
Programming in Fortran 90,
Wiley,
ISBN 0-471-94185-9
With examples in URL:
ftp://golden.eng.man.ac.uk/pub/fe/

Vowels, R.
Introduction to Fortran 90/95, Algorithms and
Structured Programming
ISBN 0-9596384-8-2
URL: http://www.cs.rmit.edu.au/~rav/FORTRAN.html

* in French,

Aberti, C.
Fortran 90: Initiation a partir du Fortran 77,
S.I. E'ditions, 1992.
ISBN 2-909615-00-6

Ain, M.
Savez-vous parler Fortran,
Bibliotheque des universites (de Boeck), 1994.
ISBN 2-8041-1755-3

Delannoy, C.
Programmer en Fortran 90,
Eyrolles, 1992.
ISBN 2-212-08723-3

Dubesset, M. et Vignes, J.
Les spe'cificites du Fortran 90,
E'ditions Technip, 1993.
ISBN 2-7108-0652-5

Lignelet, P.
Fortran 90: Approche par la Pratique,
S.I. E'ditions, 1993.
ISBN 2-909615-01-4

Lignelet, P.
Manuel complet du langage Fortran 90 et Fortran 95,
Calcul intensif et ge'nie logiciel,
Masson, 1996.
ISBN 2-225-85229-4

Lignelet, P.
Structures de Donne'es (et leurs algorithmes) en Fortran 90/95
Masson, 1996.
ISBN 2-225-85373-8
URL: http://www.ifremer.fr/ditigo/molagnon/fortran90/livrepl2.html

Metcalf, M. et Reid, J.
(translated by M. Caillet and B. Pichon)
Fortran 90: Les concepts fondamentaux,
AFNOR Editions, 1993.
ISBN 2-12-486513-7

Olagnon, M.
Traitement de donne'es nume'riques avec Fortran 90
Masson, 1996.
ISBN 2-225-85259-6
URL: http://www.ifremer.fr/ditigo/molagnon/livre.html

* in Chinese,

He Xingui, Xu Zuyuan, Wu Gingbao and Chen Mingyuan
Programming Language FORTRAN 90,
China Railway Publishing House, Beijing, 1994.
ISBN 7-113-01788-6/TP.187

* in German,

Brainerd, W.S., Goldberg Ch.H., Adams J.C.,
(translated by Peter Thomas and Klaus G. Paul)
Fortran 90, Lehr- und Arbeitsbuch fuer das erfolgreiche Programmieren
,
R. Olbenbourg Verlag, Muenchen, 1994,
ISBN 3-486-22102-7

Gehrke.
Fortran 90 Referenz-Handbuch,
Carl Hansen Verlag, 1991.
ISBN 3-446163-21-2

Heisterkamp.
Fortran 90: Eine Informelle Einfuehrung,
BI-Wissenschaftsverlag, 1991.
ISBN 3-411153-21-0

Langer.
Programmieren in Fortran,
Springer Verlag, 1993.
ISBN 0-387-82446-4

Michel, T.
Fortran 90 Lehr- und Handbuch,
BI-Wissenschaftsverlag, 1994.

Schobert, Oldenburg.
Programmierung in Fortran 90,
1991.

Ueberhuber, C., Meditz, P.
Software-Entwicklung in Fortran 90,
Springer Verlag, 1993.
ISBN 3-211-82450-2

Wojcieszynski, B, Wojcieszynski, R.
Fortran 90 Programmieren mit dem neuen Standard,
Addison-Wesley, 1993.
ISBN 3-89319-600-5

* in Dutch,

Brainerd, W.S., Goldberg Ch.H., Adams J.C.,
(transl. by J.M. den Haan)
Fortran 90,
Academic Service, 1991.
ISBN 90-6233-722-8

* in Swedish,

Blom, K.
Fortran90 - en introduktion
Studentlitteratur, Lund, 1994.
ISN 91-44-47881-X
URL: http://www.studli.se/publishing/MBok/M004750/M004788/
T004788.html

Einarsson, B., Shokins, Y.
Fortran 90 for the Fortran 77 programmer
HTML-book.
URL: http://www.nsc.liu.se/~boein/fortran.html

* in Russian,

Einarsson, B., Shokins, Y.
Fortran 90 for the Fortran 77 programmer
Printed book.
URL: http://www.nsc.liu.se/~boein/fortran.html

Metcalf, Reid
(translated by P.Gorbounov)
Fortran 90 Explained.
Mir Publishers, Moscow, 1995.
ISBN 5-03-001426-8
Russian customers: Mr. A.S.Popov, E-mail asp@mir.msk.su
European residents: Petr.Gorbounov@cern.ch

* in Japanese

Metcalf, Reid
(translated by H.Nisimura, H.Wada, K.Nishimura, M.Takata)
Fortran 90 Explained,
Kyoritsu Shuppan Co., Ltd., 1993
ISSN 0385-6984.

Articles
--------

Appleby, D.,
FORTRAN First in a six-part series on languages
that have stood the test of time
-- BYTE, Sep. 1991, 147-150

Baker, S.,
Complying with Fortran90; How does the current crop
of Fortran90 compilers measure up to the standard?
-- Dr. Doff's Journal (Jan. 1995) p68-76

Bernheim, M.,
Fortran Mode d'emploi - Fortran 90
-- Intereditions (1991) 163-176

Brankin, R.W., Gladwell, I.,
A Fortran 90 Version of RKSUITE: An ODE Initial Value Solver,
-- Annals of Numerical Mathematics, Vol 1, 1994, in press.

Buckley, A. G.,
Conversion to Fortran 90: A Case Study
-- ACM TOMS Vol20 n 3 Sept.1994 308-353

Buckley, Albert G.,
Algorithm 999: A Fortran 90 code for unconstrained
non linear minimisation
-- ACM TOMS Vol20 n 3 Sept.1994 354-372
URL: ftp://ftp.royalroads.ca/pub/software/bbuckley/

Chesneaux, J.M.,
Description d'utilisation du logiciel CADNA_F
-- MASI 92.32 (1992) Institut Blaise Pascal, Paris

Corde, P., Girou, D.,
Fortran 90: la nouvelle norme
-- Tribunix Dossiers calculateurs, Vol 8. No. 41 (1992) 12-17

Craig, C., Slishman G.,
Variants of Matrix Multiplication for Fortran90
-- SIGNUM Newsletter Vol 29 N 2 Apr. 1994 4-6

Delves L.M, Schonfelder J.L, Craven P.
Fortran90; an Overview
-- Oct.1993 IASC

Delves M,
N.A Performance of Fortran90 Compilers
-- Nov. 1994

Digital Corporation,
Evolving from Fortran77 towards Fortran90,
-- Fall Decus 1993, San Francisco

Dodson Z.,
A Fortran90 Tutorial
-- Nov.1993

Dongarra, J., Du Croz J., Hammarling S., Wasniewski J., Zemla A.,
LAPACK90 The Fortran90 Interface for LAPACK,
-- PARA95, Copenhagen 1995
Lecture Notes Springer Verlag, to be published.

Du Croz, Jeremy J.,
Building Libraries with Fortran 90
-- Fortran Journal 4/5, Sep./Oct 1992

Du Croz, J.
The Nag Fortran90 library
-- Nagua 14 april 1994 Oxford

Gehrke, Wilhelm
Fachwoerterliste Englisch-Deutsch fuer Fortran 90
-- SPR.F90 2, RRZN, 18 pp., 1995
URL: http://www.rrzn.uni-hannover.de/Umdrucke/SPR.F90.2.ps

Gehrke, Wilhelm
Fortran 90-Syntax: Eisenbahnschienen-Diagramme
-- SPR.F90 3, RRZN, 48 pp., 1994
URL: http://www.rrzn.uni-hannover.de/Umdrucke/SPR.F90.3.ps

Gehrke, Wilhelm
Fachwoerterliste Englisch-Deutsch fuer Fortran 95
-- SPR.F95 2, RRZN, 19 pp., 1995
URL: http://www.rrzn.uni-hannover.de/Umdrucke/SPR.F95.2.ps

Gehrke, Wilhelm
Fortran 95-Syntax: Eisenbahnschienen-Diagramme
-- SPR.F95 3, RRZN, 50 pp., 1995
URL: http://www.rrzn.uni-hannover.de/Umdrucke/SPR.F95.3.ps

Glassy, L.,
Tiny-Ninety: A subset of F90 for beginning programmers
-- Fortran Journal 4/3, May/Jun. 1992, 2-6

Hanson, R.J.,
A design of high-performance Fortran 90 Libraries
-- IMSL technical report series No. 9201 (1992)

Hanson, R.J.,
Operator and Function Modules with FORTRAN90
-- VNI Technical Report series No 9305

Hanson, R.J.,
Matrix multiplication in Fortran 90 using Strassen's algorithm
-- Fortran Journal 4/3, May/Jun. 1992, 6-7

Hennecke, M.,
A Fortran 90 interface to random Number Generation
-- Computer Physics Communications, in press
URL: http://www.uni-karlsruhe.de/~Michael.Hennecke/
Publications/#CPC95

Iles, Robert,
Fortran 90: The First Two Years
-- Unicom Seminar on Fortran and C in Scientific Computing, 1993.

Iles, R., Palant, L.,
Fortran 90: 2 ans deja
-- Tribunix No. 49 Mai/Juin 1993, 32-37.

Hann, R.
Nagware Fortran90 tools
-- Nagua 14 april 1994 Oxford

Hill J.M.D
The high performance Fortran library in Fortran90: sorting
-- Technical Report LPA7/TR02.9408 The London parallel
applications center August 1994 (revise 9/1/1995)

Joubert, A.W
The high performance Fortran library in Fortran90: prefix
and suffix scans
-- Technical Report LPA7/TR01.9408 The London parallel
applications center August 1994

Kearfott, R.B
Algorithm 737: INTLIB: A Portable Fortran77 Interval
Standard-Function Library
-- ACM TOMS Vol20 n% 4, Dec. 1994 447-459

Kearfott, R.B
A Fortran 90 environment for research and prototyping of
enclosure algorithms for canstrained and unconstrained
non linear equations
-- ACM TOMS Vol 21, 1 , Juin 1995 63-78

Lahey, T.,
Fortran 90 is coming !
-- Programmer's Journal, Mar/Apr 1991.

Lignelet, P.,
Fortran -- Les Techniques de l'ingenieur,
-- H2120, Dec 1993.

Mc Calpin, John D.
Optimization of Fortran90 array notation : A Case Study
-- Internal report College of Marine Studies, Univ. of
Delaware submitted to "Scientific Programming" Jan. 1995
URL: ftp://(perelandra.cms.udel.edu:/models/Papers/f90.ps

Maine, R.,
Review of NAG Fortran 90 translator
-- Fortran Journal 3/6, Nov/dec 1991.

Marshall,A.C,
Comparison between Sun, EPC and NAg Fortran 90 Compilers
-- The University of Liverpool (Dec. 1996).
URL: http://www.liv.ac.uk/HPC/FortranCompilerStudyHTML/
FortranCompilerStudyHTML.html

Marshall,A.C,
Fortran 90 derived types, User defined operators, Modules
and Object Oriented Facilities
-- The University of Liverpool BCS seminar 1994
(12 Sep. 1992), 30-33

Metcalf, M.,
Recent progress in Fortran standardization
-- Computer Physics Communications 57 (1989) 78-83.

Metcalf, M.,
Fortran 90 - A summary
-- Int. Journal of modern Physics C, Vol. 1,
Nos. 2&3 (1990) 193-206.

Metcalf, M.,
A derived data type for data analysis
-- Computers in Physics, Nov/Dec 1991, 599-604.

Metcalf, M.,
A first encounter with Fortran 90
-- Fortran Journal 4/1, Jan/Feb 1992, 2-7.

Metcalf, M.,
An encounter with F90
-- Particle World 3/3 (1993), 130-134.

Metcalf, M.,
Fortran 90 Tutorial
-- CERN Computer Newsletter,
Nos. 206/207/208/209/210/211 (1992-1993).

Metcalf, M.,
Using the f90 compiler as a software tool
-- CERN Computer Newsletter, No. 209 (1992).

Metcalf, M.,
Still programming after these years
-- New Scientist, (12 Sep. 1992), 30-33

Morgan, S.,
Fortran90 An outline of the ISO standard
-- BCS seminar 1994

Olagnon, M.,
Experience with NagWare f90
-- Fortran Journal 4/6, Nov/dec 1992, 2-5.

Olagnon, M.,
f90ppr A Fortran90 Pre-processor A Fortran 90 Pretty- printer,
-- Fortran Journal Vol 7 n2 Mar/Apr 1995 pp8-14

de Polignac, Christian,
Du Fortran VAX au Fortran 90
-- Decus, Paris, 7 Avril 1993.

de Polignac, Christian,
Interfacing a Fortran77 multiple precision package
using Fortran90
-- Nagua, Oxford, 14 april 1994.

Prentice, John K.,
Fortran 90 benchmark results
-- Fortran Journal 5/3, May/June 1993.

Prentice, John K.,
Performance benchmarks for Fortran90 compilers
-- Mathematech Vol1 n1 1994, 66-73

Prentice, John K., Ameko, A.K.,
Performance benchmarks for selected Fortran90 compilers
(to appear in Fortran Journal)

Reid, John,
The Fortran 90 Standard -- Programming environments for
high level scientific problem solving,
-- Gaffney ed., IEEE Trans., North-Holland (1992), 343-348.

Reid, John,
Fortran 90, the language for scientific computing in
the 1990s
-- Unicom Seminar on Fortran and C in Scientific Computing, 1992

Reid, John,
The advantages of Fortran 90
-- Computing 48, 219-238.

Reid, John.
Fortran90: the future
-- Nagua 14 april 1994 Oxford

de Roeck, Yann-Herve, Plessix, Rene-Edouard,
Combining F90 and PVM to construct synthetic seismograms
by ray-tracing
-- proc. IEEE Oceans 94.

Robin, F.,
Fortran 90 et High Performance Fortran,
-- Bulletin technique CEA, Oct. 1992, 3-7.

Sawyer, M.,
A summary of Fortran 90
-- EPCC-TN92-04, Univ. of Edinburgh, (1992).

Schonfelder, J.L.,
Semantic extension possibilities in the proposed
new Fortran
-- Software practice and experience, Vol.19, (1989), 529-551.

Schonfelder, J.L., Morgan, J.S.,
Dynamic strings in Fortran 90
-- Software practice and experience, Vol.20(12), (1990), 1259-1271.

Schonfelder, J.L.
High Performance Fortran and Fortran95
-- University of Liverpool Nov. 1994

Scott, Kilpatrick and Maley
The formal specification of abstract data types and their
implementation in Fortran 90
-- Computer Physics Communications 84 (1994) 201-225.

Sipelstein, J.M., Blelloch, G.E.,
Collection-oriented languages
-- Proceedings of the IEEE, Vol. 79, No. 4, (1991), 504-530.

Vignes, Jean,
Vers un calcul scientifique fiable : l'arithmetique stochastique
-- La Vie des Sciences, Comptes rendus, serie generale,
tome 10, 1993, No 2, 81-101.

Vignes, Jean,
A stochastic arithmetic for reliable scientific computation
-- MATCOM 940 - Mathematics and Computers in Simulation
35 (1993) 233-261.

Walker, D.W.,
A Fortran 90 code for magnetohydrodynamics.
Part I: banded convolution
-- Oak Ridge National Lab. report TM-12032 (1992).

Walter, W.,
Fortran 90: Was bringt der neue Fortran-Standard fuer das
numerische Programmieren ?
-- Jahrbuch Ueberblicke Mathematik Vieweg, (1991) 151-174.

Walter W.V
Fortran XSC: A portable Fortran90 module library for accurate
and reliable scientific computing
-- Computing Supplementum 9, 265-286

Wampler, K. Dean,
The Object-Oriented programming Paradigm and Fortran programs
-- Computers in Physics, Jul/Aug 1990, 385-394.

Ward, T.
The world's first Fortran90 compiler.
-- PROGRAM NOW March 1992, 67-69

Willhoft, Robert G.,
Comparison of the functional Power of APL2 and Fortran 90
-- APL Quote Quad, 1991

Fortran90 at NAS: Perceptions and plans
-- RND-93-001
URL: http://www.nas.nasa.gov/NAS/TechReports/

3.6 - Other places for Help on Fortran 90
-----------------------------------------

Fortran 90 Tutorials:
http://wwwcn.cern.ch/asdoc/f90.html

Programmer's Guide to Fortran 90:
http://www.fortran.com/fortran/Books/gd.html

Fortran Market:
http://www.fortran.com/fortran/market.html

Karlsruhe University:
http://www.uni-karlsruhe.de/~Fortran90/

King's College London:
http://www.kcl.ac.uk/kis/support/cc/fortran/f90home.html

Fortran FAQ:
http://www.cis.ohio-state.edu/hypertext/faq/usenet/
fortran-faq/faq.html

Fortran90 interface modules for INTLIB interval computations:
ftp://interval.usl.edu/pub/interval_math/www/

FTP-able fortran90 Tutorial from ftp.cs.unm.edu:
ftp://ftp.cs.unm.edu/pub/smith-quetzal/Fortran90_Tutorial/

Free Software:
http://www.fortran.com/fortran/free.html

How to get Fortran 90 Standard documentation:
http://www.fortran.com/fortran/iso1539.html

Free Code - At Lahey:
http://www.lahey.com/other.htm

Free Compilers/tools List - At Cern:
http://cuiwww.unige.ch/cgi-bin/freecomp

Programming Languages research - At Indiana University:
http://www.cs.indiana.edu/inds/proglang.html

Other languages - At CMU:
http://www.cs.cmu.edu/Web/computing.html#language

- At UNM:
http://www.arc.unm.edu/workshop/fortran90/f90-7.html

- The F programming language:
http://www.imagine1.com/imagine1/

4.0 - Fortran 90 Benchmarking
-----------------------------

An interesting article by John K. Prentice appeared in the
May/June 93 issue of Fortran Journal.
He also gave a new one in the Nov/Dec 94 issue.

I made some tests myself with LAPACK, and got a ratio of 10
between Sun f77 and Nag f90 2.0 when no source change was performed.
With an aggressive rewriting, especially using array instructions
and intrinsics, the ratio gets down to 2, which is also that of a
f77 [sd]axpy to a C one.

On actual applications, this ratio seems to be much closer to 1,
and even sometimes in favor of Fortran 90.
On Sept. 7th, 1993, John wrote "I think there is in fact beginning
to be a quite large body of evidence to suggest that most of the
efficiency fears about F90 are unfounded."

For Nag f90 on workstations, the effect of the underlying C
compiler (gcc, vendor, etc...) seems very limited (less than 4%).

With more recent F90 compilers, performance seems at least as good
and often better than with the corresponding F77 compiler, for old
F77 code. For instance, Lahey reports improvement from 8.5 to 14.1
Mflops with linpack on a pentium between EM/32 and their F90 compiler.

5.0 Announced, foreseen, and rumours
------------------------------------

F: a carefully crafted subset of Fortran 90, meant for both
teachers and professional programmers, by Imagine1 Inc.,
NAG Inc., Fujitsu Limited, and Absoft Corp.
F will be available on Unix and Linux platforms, the 68k
or PowerPC Macintosh, and PCs running either Windows 95
or Windows NT.

FORTNER Research (formerly Laguage Systems Corp) expects to
deliver f90 for Macintoshes in 1996.

Digital Windows NT (Alpha) compiler
URL: http://www.digital.com/info/hpc/f90

MATLAB compatibility with PowerStationFortran 90 (1st quarter 96)

6.0 Workshops, seminars, conferences
------------------------------------

SEL-HPC:
the London and South-East centre for High Performance Computing
URL: http://www.lpac.ac.uk/SEL-HPC/

NAG Seminars:
URL: http://www.nag.co.uk/other/seminars.html

7.0 - Developments, related languages
-------------------------------------

7.1 - Standard
--------------

Work did not stop with the publication of the Fortran 90 standard.
A new release is scheduled for 1996 (called 95), mainly devoted to
clarifications, corrections and interpretations. It is currently
being circulated as a draft for comments. A more important
revision is scheduled for 2000 (or 2001 ? called F2k though C.Burley's
F00 is a pleasant alternative).

Some interim features are to be processed as "technical reports" and
incorporated in the next major upgrade, now known as "Fortran 2000"
and planned for release around the year 2000. The features for which
interim technical reports have been proposed are the following:

o Floating-point exception handling
o Interoperability with C
o Parammeterized derived types and allocatable components

However, the last of these lacks support in some quarters.

The ISO working group devoted to the evolution of Fortran is WG5.

URL: http://www.etrc.ox.ac.uk/wg5.html

Inputs are received from the National bodies (X3J3 in the USA).
Documents related to the work of X3J3 can be found via anonymous
ftp on ftp.ncsa.uiuc.edu, directory x3j3.

7.2 - HPF
---------

High Performance Fortran (HPF) is a language for programming
massively parallel architectures. It lets the user insert
directives for code and data distribution among the processors
in the (Fortran 90) code.

URL: http://www.erc.msstate.edu/hpff/home.html

Electronic copies of HPF draft specification are available by
anonymous FTP from the following sources:

Machine name File name
--------------------- ----------------------------------------
titan.cs.rice.edu public/HPFF/draft/hpf-v10-final.tar
titan.cs.rice.edu public/HPFF/draft/hpf-v10-final.tar.Z
titan.cs.rice.edu public/HPFF/draft/hpf-v10-final.ps
titan.cs.rice.edu public/HPFF/draft/hpf-v10-final.ps.Z
think.com public/HPFF/hpf-v10-final.ps.Z
ftp.gmd.de hpf-europe/hpf-v10-final.ps.Z
theory.tc.cornell.edu pub/hpf-v10-final.ps.Z
minerva.npac.syr.edu public/hpf-v10-final.tar.Z

on-line tutorial from University of Liverpool:
URL: http://www.liv.ac.uk/HPC/HTMLFrontPageHPF.html

course on HPF is freely available from Edinburgh:
URL: http://www.epcc.ed.ac.uk/epcc-tec/course-packages/
HPF-Package-form.html

Other sources of information:

Karlsruhe University:
http://www.uni-karlsruhe.de/~HPF/

Liverpool University:
http://www.liv.ac.uk/HPC/HPCpage.html

www.lpac.ac.uk/SEL-HPC:
http://www.lpac.ac.uk/SEL-HPC/

7.3 - PVM
---------

Parallel Virtual Machine consists of a library and a run-time
environment which allow the distribution of a program over a network
of (even heterogeneous) computers. It works with Fortran 77,
C and to some extent Fortran 90. One can refer to the article
by Y-H de Roeck and R-E Plessix, and a set of example wrapper
routines for the PVM calls is available as:

URL: ftp://ftp.ifremer.fr/ifremer/ditigo/fortran90/pvm2f90.tar.gz

There is a usenet comp.parallel.pvm group, and the FAQ for it
can be found via anonymous ftp on:

host: rtfm.mit.edu
directory: /pub/usenet/comp.parallel.pvm

7.4 - MPI
---------

MPI (Message Passing Interface) is the standard for multicomputer
and cluster message passing introduced by the Message Passing
Interface Forum in April 1994.

URL: http://www.erc.msstate.edu/mpi/

7.5 - Parallel Programming
--------------------------

An interesting report can be obtained via anonymous ftp on:

host: bulldog.wes.army.mil
directory: pub/
file: report.ps.Z

for a large review of products related to parallel systems
programming.

8.0 - Addresses
---------------

3ip,
104, rue Castagnary,
F-75015 Paris, France
tel: +33 1 48 56 23 33,
fax: +33 1 48 56 23 44

Absoft,
2781 Bond Street Rochester Hills,
MI 48309 USA
URL: http://www.absoft.com
tel: (810) 853-0050 ,
Fax: (810) 853-0108
email: fortran@absoft.com

ACE,
Van Eeghenstraat 100,
1071 Gl Amsterdam, Netherlands
URL: http://www.ace.nl/
tel: +31 20 6646416,
fax: +31 20 6750389

AERO, Mr. Berthon,
3 av. de l'opera. F-75001 Paris,
France
tel: +33 1 44 55 30 80,
fax: +33 1 40 15 95 54

AFNOR,
Tour Europe,
Cedex 7,
F-92049 Paris la Defense,
France
tel: +33 1 42 91 55 55

Apogee Software Inc.,
1901 S.Bascom Ave.,
Suite 325,
Campbell,
CA 95008-2207, USA
URL: http://www.apogee.com/
tel: (408) 369-9001,
fax: (408) 369-9018,
email: info@apogee.com

Applied Parallel Research, Inc.,
550 Main St.,
Placerville,
CA 95667
URL: http://ftp.netcom.com/pub/forge/home.html
tel: (916) 621-1600,
fax: (916) 621-0593,
email: support@apri.com

CETech, Inc.,
8196 SW Hall Blvd.,
Ste. 304, Beaverton,
Oregon 97008, USA.
tel: (503) 644-6106,
fax: (503) 643-8425,
email: cetech@teleport.com

Cray Research,Inc.,
655 Lone Oak Drive,
Eagan, MN 55121
URL: http://www.cray.com/

CTS,
Prinz-Otto Str. 7c,
D-85521 Ottobrunn,
Germany
tel: +49 89 6083758,
fax: +49 89 6083758

DEC (Digital Equipment Corporation)
URL: http://www.digital.com/info.html
email: f90@digital.com

DEC Fortran 90 home page:
http://www.digital.com/info/hpc/f90

EPC,
17 Alva St. Edinburgh,
EH2 4PH, United Kingdom
URL: http://www.epc.co.uk/
tel: +44-31-225-6262,
fax: +44-31-225-6644,
email: support@epc.ed.ac.uk

EPC,
20 Victor Square,
Scotts Valley,
California 95066
tel: (408) 438-1851,
fax: (408) 438-3510,
email: info@epc.com

Fortran Journal,
P.O. Box 4201,
Fullerton,
CA 92634, USA
fax: (714) 441-2022

Fujitsu Open Systems Solutions, Inc.,
3055 Orchard Drive,
San Jose,
CA 95134 USA
URL: http://www.fortran.com/fortran/Fujitsu/fuji.html
tel: (408) 456-7809,
fax: (408) 456-7050,
email: info@ossi.com

Garnatz et Grovender Inc.,
5301 26th Avenue South,
Mineapolis MN 55417-1923 USA
tel: (612) 722-3094,
email: gginc@winternet.com

HP
URL: http://www.hp.com/go/workstations

IBM
URL: http://www.torolab.ibm.com:80/ap/fortran/xlfortran/

ICHOR,
27 rue Linne,
F-75005 Paris,
France
tel: +33 1 43 37 02 02

IDRIS,
B.P. 167,
F-91403 Orsay Cedex,
France

Imagine1,
11930 Menaul Blvd. NE,
Suite #106, Albuquerque,
NM 87112, USA
URL: http://www.imagine1.com/imagine1
fax: (505) 323-1759,
tel: (505) 323-1758,
email: info@imagine1.com

ISO,
1 rue de Varembe,
Case postale 56,
CH-1211 Geneve 20,
Switzerland
fax: +41 22 734 10 79

Interactive Software Services Ltd.,
25 St Michaels Close,
Penkridge,
Stafford ST19 5AD, UK
tel: +44 1785 715588,
fax: +44 1785 714913,
email: support@issltd.demon.co.uk

IT Independent Training Limited,
113 Liscombe,
Birch Hill, Bracknell,
Berkshire, RG12 7DE, UK
tel: +44 344 860172,
fax: +44 344 867992

KAI (Kuck & Associates),
Champaign, IL USA
tel: (217) 356-2288,
fax: (217) 356-5199,
email: katy@kai.com

Lahey Computer Systems, Inc.,
865 Tahoe Blvd.,
P.O. Box 6091,
Incline Village,
NV 89450, USA
URL: http://www.lahey.com/
tel: (702) 831-2500,
fax: (702) 831-8123,
email: sales@lahey.com

Microsoft
URL: http://www.microsoft.com/fortran

Microway,
Research Park, Box 79,
Kingston, MA 02364, USA
tel: (508) 746-7341,
fax: (508) 746-4678,
email: nina@microway.com

NA Software Ltd,
Roscoe House,
62 Roscoe St.,
Liverpool L1 9DW, UK
tel: +44 51 7094738,
fax: +44 51 7095645,
email: f90doc@nasoftwr.demon.co.uk

NAG Ltd.,
Wilkinson House,
Jordan Hill Road,
Oxford, OX2 8DR, UK
URL: http://www.nag.c