An efficient implementation of a semi-implicit barotropic mode solver for the MPAS-Ocean

Hyun-Gyu Kang1, Katherine J Evans2, Philip W Jones3, Mark R Petersen3, Andy Salinger4 and Raymond S Tuminaro5, (1)Oak Ridge National Laboratory, Oak Ridge, United States, (2)Oak Ridge National Laboratory, Oak Ridge, TN, United States, (3)Los Alamos National Laboratory, Los Alamos, NM, United States, (4)Sandia National Laboratory, Albuquerque, NM, United States, (5)Sandia National Laboratories, Livermore, CA, United States
Abstract:
A semi-implicit time-stepping method for the barotropic mode of the Model for Prediction Across Scales Ocean (MPAS-O) has been implemented by using a preconditioned Krylov iterative solver. A nonlinear barotropic system is discretized in time with the Crank-Nicolson method to build a Helmholtz-type problem. To solve the nonlinear system, barotropic thickness inside each divergence operator is replaced by a lagged value from the previous iteration. This means that the matrix of the Helmholtz equation operator should be reassembled on each iteration. With a finite volume horizontal discretization used in the MPAS-O, it is found that the nonlinear system is symmetric and positive definite. We employ the preconditioned pipelined conjugate gradient algorithm to solve this system for better parallel scalability. The Block-Jacobi preconditioner with reordering of a global matrix, which does not require further communications, is constructed using a linear barotropic system to accelerate the convergence of the solver. Therefore, the preconditioner does not need to be reassembled during iteration in contrast with the matrix of the operator. Several numerical experiments show that the semi-implicit barotropic mode solver has better numerical efficiency compare to an existing explicit subcycling scheme up to 14,440 cores with 1.4M cells. Moreover, it is found that the semi-implicit solver can take almost two times larger time step size without loss of accuracy.