Class Information: 2013

Fortran 95 compilers

The most convenient way to do the exercises might be on your own computer after installing a compiler. The main choices are listed below. gfortran is the most universal/popular, is completely free and can be used on Windows, MacOSX or Linux. For Windows, the silverfrost compiler seems to work well: this is free on your own computer, but on an ETH-owned machine it would be necessary to buy a license. Possibly the best compiler is the one by Intel, which works on Windows, MacOSX and Linux. ETH has a site license for it that employees can use, but unfortunately this isn't available for masters students. A drawback is that your computer must be networked so it can connect to the central ETH license server.

gfortran: Developed by the GNU, the free software foundation. See Recent versions of Linux will have this on the installation disk. For MacosX, make sure you first install Xtools (up to Snow Leopard this is on the installation disk; from Lion it is an App that can be downloaded); and a convenient place to download is For Windows I recommend using gfortran with the cygwin environment (

silverfrost (for Windows): free for personal use, download from

Intel Visual Fortran Compiler: download from Documentation here.

Useful editors that highlight Fortran syntax: emacs or xemacs (unix-based), for MacOSX: aquamacs (here), smultron (here)

Free resources on the internet

1. A manual. A good one is the Intel Fortan Language Reference Manual (download PDF file from Intel).

2. Tutorials

3. General information and/or pages of links to relevant sites

4. Unix tutorials

Topics to be covered

Class schedule and handouts (including exercises)

Fortran Topics Numerical Topics Download
1 (19.09) History, basics, simple programs   Class1.pdf
2 (26.09) More basics, interactive I/O, do loops, functions&subroutines Finite differences Class2.pdf
3 (03.10) Modules, ascii file I/O, Array functions, assumed size arrays. 1-D diffusion equation Class3.pdf
4 (10.10) Precision, namelists, formatted I/O. 2-D diffusion equation. Class4.pdf
.. (17.10) NO LECTURE    
5 (24.10) Derived types. Binary I/O. Keyword&optional arguments. where, forall. Character string manipulation. Streamfunction. Upwind advection. 2-D advection-diffusion. Class5.pdf
6 (31.10) Recursive functions. Iterative & multigrid solvers. Jacobi & Gauss-Seidel iterations. Program 2D Poisson solver. Class6.pdf Vcycle.f90
7 (07.11) Pointers. Generic procedures, operators and overloading. Convection (2-D, infinite-Pr). Class7.pdf
8 (14.11) Makefiles. Writing fast code (optimisation).   Class8.pdf
9 (21.11)   Finite (low) Prandtl number convection. Class9.pdf
10 (28.11) Parallel computing.   Class10.pdf
11 (05.12) Libraries. Implicit timestepping. Class11.pdf
.. (12.12) NO LECTURE    
(19.12) Review, Fortran 2003&2008 features, discussion   Class12.pdf