Home Contact Us Site Map  
    next up previous contents
Next: 4.2 WRAPPER Up: 4. Software Architecture Previous: 4. Software Architecture   Contents

4.1 Overall architectural goals

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

  1. A core set of numerical and support code. This is discussed in detail in section 2.

  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.

  3. 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 $ 10^7$ bytes ( $ \approx 10$ megabytes) of memory to $ 10^{11}$ bytes ( $ \approx 100$ gigabytes). Arithmetic operation counts for the applications of interest range from $ 10^{9}$ floating point operations to more than $ 10^{17}$ floating point operations.

next up previous contents
Next: 4.2 WRAPPER Up: 4. Software Architecture Previous: 4. Software Architecture   Contents
Copyright 2006 Massachusetts Institute of Technology Last update 2018-01-23