Home page  
Home   Your Room   Login   Contact   Feedback   Site Map   Search:  
Discover this product  
About Us
Overview
Getting here
Committees
Products
Forecasts
Order Data
Order Software
Services
Computing
Archive
PrepIFS
Research
Modelling
Reanalysis
Seasonal
Publications
Newsletters
Manuals
Library
News&Events
Calendar
Employment
Open Tenders
   
Home > Research > Ifsdocs > WAVES >  
   


IFS Documentation front page


Table of contents

Chapter 1. Introduction

Chapter 2. The kinematic part of the energy balance equation

Chapter 3. Parametrization of source terms and the energy balance in a growing wind sea

Chapter 4. An optimal interpolation scheme for assimilating altimeter data into the WAM model

Chapter 5 Numerical scheme

Chapter 6 The WAM-model software

Chapter 7 Wind-wave interaction at ECMWF

REFERENCES
 
  Next Section
Previous Section


6.1 Introduction


Figure 6.1 Structure of the model grid.



The WAM model development was finished in the early 1990's. Since then there has been continuous effort at ECMWF to streamline the software in areas such as IO, archiving, vectorization and to adapt the code to the new massive parallel (vector) machines. Nevertheless, many of the original features of the WAM model have been retained. These are described below, followed by a description of the additional features that have been introduced at ECMWF.


The original WAM model software that has been developed over a period of seven years (1985-1992) is fairly general. Spectral resolution and spatial resolution are flexible and the model can be run globally or regionally with open and closed boundaries. Open boundaries are important in case one wishes to use results from a coarse resolution run as boundary conditions for a fine mesh, limited area run. Options such as shallow water, depth refraction or current refraction may be chosen. In this subsection we shall briefly describe the wave model software with emphasis on flexibility and universality. Before doing this, we shall first discuss some design choices.


The model was developed with an important application in mind, namely for predicting operationally waves over the whole globe. With a modest spatial resolution of (resulting in approximately 4000 grid points) and 25 frequencies and 12 directions, it follows that about 1.2 million equations have to be solved. Since the most expensive part of the numerical code, the nonlinear source term, cannot be vectorized, vectorization is achieved over the grid points, which are placed in the innermost loop. In order to make this loop as long as possible, a mapping from the two-dimensional spherical grid to a one-dimensional array is performed. If there are no limitations to the amount of internal memory of the computer, the most efficient procedure is to convert the entire global grid to a single one-dimensional array. In practice, however, there may be restrictions on the amount of memory to be used. For example, in the early days of the WAM model development, the model was tested on a Cray 1S with an internal memory of only 750,000 words. Clearly, the full model grid would not fit into this small memory. It was, therefore, decided to split up the globe in blocks of NIBLO grid points. Typically, NIBLO = 512. The blocks are set up in such a way that the north and south boundaries are either land or open ocean, whereas the east and west boundaries are land, periodic (this occurs, for instance, in the southern ocean), or open ocean (for nesting). In order to allow waves to propagate oss the north or south boundaries of a block, the blocks overlap by a number of latitudes, depending on the propagation scheme. Since we have chosen a first order upwinding scheme, which involves only two neighbouring grid points, the number of overlapping latitudes is two. The computations are done from the last but one southerly latitude to the last but one most northerly latitude (see also Fig. 6.1 and Günther et al., 1991). Although loading only one block at a time circumvents the problem of the limited memory, the drawback of this approach is that extensive input-output (IO) operations are needed. After performing the computations on block IG, the results have to be written to disc and the results of the previous time step of block IG + 1 have to be read before the computations on block IG + 1 may be started. To avoid waiting for IO, an IO scheme is used that allows for simultaneously writing results of block IG - 1, reading results of the previous time step of block IG + 1, while performing calculations on block IG. The block structure combined with this IO scheme yields a very efficient and flexible wave model code. With the preprocessing program PREPROC one may lay out a block structure according to one's own choice.


The later generation of computers, such as the CRAY-YMP, allowed the whole globe to be loaded into the core of the computer, hence a one block structure may be chosen. This is, however, not always the optimal choice when high resolution applications are considered and/or when the wave model is coupled to another model, for example an atmospheric model or a storm-surge model.


Later generation of computers are based on the concept of massive parallel computing. In this context it is important to distinguish between memory shared and memory distributed machines. Machines such as the CRAY-YMP and the CRAY-C90 are examples of shared memory machines. By using Macrotasking it was relatively straightforward to develop a version of the WAM model that utilised more processors in an efficient way. Note that there are limits to the number of processors to be used, because each processor requires a sufficient amount of work. Therefore, a low resolution version of the WAM model, such as the 1.5 deg model, could only perform efficiently on about 4 processors, while the high resolution, 55 km, version ran still efficiently on 16 processors.


The present generation of computers either are memory distributed machines or have memory distribution over nodes while per node the processors share the memory. In general, a memory distributed machine requires a different approach which is described in the next subsection.


Next Section
Previous Section



 

Top of page 23.04.2002
 
   Page Details         © ECMWF
shim shim shim