We will execute the above model now on three classes of computers:

(a) ordinary serial computers such as the SPARC2 or Silicon Graphics Iri;

(b) vector pipeline computers such as the Cray YMP, with one processor or multitasked for several processors.

(c) massively parallel computers such as the CM-200 or CM-5 of Thinking Machines Corporation.

The respective codes can be found in the directory
of this Chapter. We note that for this simple explicit code the
only impediments to either vectorization or ``parallelization'' are
contained in the friction terms. There is recursion when sweeping
a grid incrementing the ` I` index, for then ` T(I-1)` will have a new
value when the computation commences at point ` I` for ` T(I)`, but
neither in a vector pipeline, nor in a message-passing parallel
computer, can this value be accessed when needed. The solution is
to introduce an auxiliary storage vector, say ` TR`, into which the
values are loaded at the beginning of the timestep, so that
the right hand sides of the expression for are computed using
` TR`, and hence use the correct values.