The Computer Hardware, Advanced Mathematics, and Model Physics (CHAMMP) program [9] seeks to provide climate researchers with an advanced modeling capability for the study of global change issues. As a first goal in the program, current state-of-the-art models have been implemented on massively parallel computers, allowing an increase in spatial resolution. Accomplishment of this task provides the groundwork for the second goal, which is the development of a coupled oceanic and atmospheric model to produce an advanced climate model with improved process representation.
Toward the realization of the program's first objective, a parallel version of the Community Climate Model CCM2 has been developed for scalable parallel MIMD distributed memory computers. Development of the PCCM2 serves two objectives. First, it provides a performance benchmark to indicate how well the current massively parallel computers perform in comparison with machines of a more conventional architecture. Second, it defines the starting point of a development path for future climate models that will couple atmospheric and oceanic models. These models will incorporate more comprehensive physics, different numerical methods and may be written in other parallel programming styles for computers with many thousands of processors.
PCCM2 uses a message-passing, domain decomposition approach, in which each processor is allocated responsibility for computation associated with one part of the computational grid. Messages between processors are generated when data on one processor is needed to complete the computational task of another processor. Much of the research effort associated with development of a parallel code for a distributed computation is concerned with identifying efficient decomposition and communication strategies while at the same time balancing the computational load among the processors. In the PCCM2, this task is complicated by the need to support both semi-Lagrangian transport (for moisture) and spectral transforms (for other fields). Load balancing plays an important role for the physics calculations as well as the spectral dynamics. Parallel input/output are also required for efficient use of a massively parallel processor..
This report gives a brief overview of the parallel algorithms required to implement CCM2 and describes performance issues on distributed memory multiprocessors. The target machine for the parallel code is the Intel Paragon, and a single program, multiple data (SPMD) programming paradigm with message passing was adopted. The code uses the Message Passing Interface (MPI) standard for interprocessor communication providing a degree of portability across platforms. Optionally, the code can be configured so that message passing uses the Parallel Virtual Machine (PVM) constructs for execution across a heterogeneous network of computers, or machine specific (native) communication libraries.