\begin{abstract}
Two parallel implementations of a state-of-the-art ocean model are
described and analyzed: one is written in the implicitly parallel language
Id for the Monsoon multithreaded dataflow architecture, and the other in
data parallel CM Fortran for the CM-5.  The multithreaded programming model
is inherently more expressive than the data parallel model. One goal of
this study is to understand what, if any, are the performance penalties of
multithreaded execution when implementing a program that is well suited for
data parallel execution.  To avoid technology and machine configuration
issues, the two implementations are compared in terms of overhead cycles
per {\it required} floating point operation.  When simulating flows in
complex geometries typical of ocean basins, the data parallel model only
remains efficient if redundant computations are performed over land. The
generality of the Id programming model allows one to easily and
transparently implement a parallel code that computes only in the ocean.
When simulating ocean basins with complex and irregular geometry the
normalised performance on Monsoon is comparable with that of the CM-5. For
more regular geometries, that map well to the computational domain, the
data-parallel approach proves to be a better match.  We conclude by
examining the extent to which clusters of mainstream symmetric
multiprocessor (SMP) systems offer a scientific computing environment which
can capitalize on and combine the strengths of the two paradigms.
\end{abstract}
