Dynamically Adaptive Multigrid on Parallel Computers for a Semi-Implicit Discretization of the Shallow Water Equations

Reinhold Hess
GMD/SCAI, Germany


Dynamically adaptive local refinements have the potential to reduce essentially the computational costs of numerical simulations. In meteorological prediction models it would be advantageous to provide high resolutions only where it is necessary (e.g., weather fronts, strong low pressure areas). Calm regions could be calculated with a lower mesh size. Since the weather situation is changing during the simulation, the refinement areas have to be adapted in time. This adaptation has to be performed automatically during the simulation and controlled by a suitable refinement criterion.

For the application meteorology a parallel numerical model with dynamically adaptive local refinements has been developed and implemented. The Shallow Water Equations (SWE) were selected as model equations, which form the dynamical basis of full weather prediction models. On a structured global grid, refinement areas are composed of adjacent rectangular patches, which are aligned to the global grid with refinement ratio 1:2. With a suitable refinement criterion the refinement areas are dynamically adapted to the calculated solution.

As a consequence of the very high resolutions, which become available in adaptive models, the time steps of explicit time schemes become unacceptable small (CLF-criterion). For this reason, a semi-implicit time scheme was developed to increase the lengths of stable time steps. This semi-implicit scheme results in a Helmholtz equation, which has to be solved efficiently on the refined grid in every time step. A multigrid algorithm, which deals with local refinements in a very natural way, is used as solver.

A major effort was spent on designing the numerical model for the usage of parallel computers with distributed memory and to combine adaptivity and parallelism. Grid partitioning of the global grid and of the refinements is performed and the explicit message passing approach was used as parallel programming model. Asynchronous communication is used to overlap computation and communication as far as possible.