Abstract

AbstractThis paper presents a new discretization of the rotating shallow water equations and a set of decisions, ranging from a simplification of the continuous equations down to the implementation level, yielding a code that is fast and accurate. Accuracy is reached by using WENO reconstructions on the mass flux and on the nonlinear Coriolis term. The results show that the implicit mixing and dissipation, provided by the discretization, allow a very good material conservation of potential vorticity and a minimal energy dissipation. Numerical experiments are presented to assess the accuracy, which include a resolution convergence, a sensitivity on the free‐slip versus no‐slip boundary conditions, a study on the separation of waves from vortical motions. Speed is achieved by a series of choices rather than a single recipe. The main choice is to discretize the covariant form written in index coordinates. This form, rooted in the discrete differential geometry, removes most of the grid scale terms from the equations, and keeps them only where they should be. The model objects appearing in resulting continuous equations have a natural correspondence with the grid cell features. The other choices are guided by the maximization of the arithmetic intensity. Finally this paper also proves that a pure Python implementation can be very fast, thanks to the possibility of having compiled Python. As a result, the code performs 2 TFlops per second using thousand cores.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call