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:
ftp://asisftp.cern.ch/cnl/f90tutor.ps
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
Return to contents
--------------------------------------------------------------------------------
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 t
INTERNET: levine@ics.uci.edu
BITNET: levine@uci
UUCP: ...!uunet!ucivax!levine
Return to contents
--------------------------------------------------------------------------------
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 t
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 t
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.
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 t
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
goi