|
|
|
Next: 4.2 WRAPPER
Up: 4. Software Architecture
Previous: 4. Software Architecture
Contents
Broadly, the goals of the software architecture employed in MITgcm are
three-fold
- We wish to be able to study a very broad range of interesting
and challenging rotating fluids problems.
- We wish the model code to be readily targeted to a wide range of
platforms
- On any given platform we would like to be able to achieve
performance comparable to an implementation developed and
specialized specifically for that platform.
These points are summarized in figure
4.1 which conveys the goals of the
MITgcm design. The goals lead to a software architecture which at the
high-level can be viewed as consisting of
- A core set of numerical and support code. This is discussed in
detail in section 2.
- A scheme for supporting optional ``pluggable'' packages
(containing for example mixed-layer schemes, biogeochemical schemes,
atmospheric physics). These packages are used both to overlay
alternate dynamics and to introduce specialized physical content
onto the core numerical code. An overview of the package
scheme is given at the start of part 6.
- A support framework called WRAPPER (Wrappable Application
Parallel Programming Environment Resource), within which the core
numerics and pluggable packages operate.
This chapter focuses on describing the WRAPPER environment under
which both the core numerics and the pluggable packages function. The
description presented here is intended to be a detailed exposition and
contains significant background material, as well as advanced details
on working with the WRAPPER. The examples section of this manual
(part 3) contains more succinct, step-by-step
instructions on running basic numerical experiments both sequentially
and in parallel. For many projects simply starting from an example
code and adapting it to suit a particular situation will be all that
is required.
Figure 4.1:
The MITgcm architecture is designed to allow simulation of a
wide range of physical problems on a wide range of hardware. The
computational resource requirements of the applications targeted
range from around
bytes (
megabytes) of memory to
bytes (
gigabytes). Arithmetic operation
counts for the applications of interest range from
floating
point operations to more than
floating point operations.
|
Next: 4.2 WRAPPER
Up: 4. Software Architecture
Previous: 4. Software Architecture
Contents
mitgcm-support@mitgcm.org
Copyright © 2006
Massachusetts Institute of Technology |
Last update 2011-01-09 |
|
|