|Acceptance Date||2021-01 IN PRESS|
|Author(s)||Roullet Guillaume1, Gaillard Tugdual1|
|Affiliation(s)||1 : Univ. Brest, CNRS, IRD, Ifremer, Laboratoire d'Oc\'eanographie Physique et Spatiale (LOPS), IUEM, Brest, France|
|Source||ESSOAR/JAMES (Wiley) In Press|
This 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 build-in 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 the free-slip vs. 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 keep 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 is not only possible but also very fast, thanks to the possibility of having compiled Python. As a result, the code performs 2 TFlop per second using thousand cores.
Roullet Guillaume, Gaillard Tugdual A Fast Monotone Discretization of the Rotating Shallow Water Equations. ESSOAR/JAMES IN PRESS. Publisher's official version : https://doi.org/10.1002/essoar.10507325.1 , Open Access version : https://archimer.ifremer.fr/doc/00700/81226/