Articles | Volume 7, issue 6
Development and technical paper
17 Dec 2014
Development and technical paper |  | 17 Dec 2014

A global finite-element shallow-water model supporting continuous and discontinuous elements

P. A. Ullrich

Abstract. This paper presents a novel nodal finite-element method for either continuous and discontinuous elements, as applied to the 2-D shallow-water equations on the cubed sphere. The cornerstone of this method is the construction of a robust derivative operator that can be applied to compute discrete derivatives even over a discontinuous function space. A key advantage of the robust derivative is that it can be applied to partial differential equations in either a conservative or a non-conservative form. However, it is also shown that discontinuous penalization is required to recover the correct order of accuracy for discontinuous elements. Two versions with discontinuous elements are examined, using either the g1 and g2 flux correction function for distribution of boundary fluxes and penalty across nodal points. Scalar and vector hyperviscosity (HV) operators valid for both continuous and discontinuous elements are also derived for stabilization and removal of grid-scale noise. This method is validated using four standard shallow-water test cases, including geostrophically balanced flow, a mountain-induced Rossby wave train, the Rossby–Haurwitz wave and a barotropic instability. The results show that although the discontinuous basis requires a smaller time step size than that required for continuous elements, the method exhibits better stability and accuracy properties in the absence of hyperviscosity.

Short summary
This paper compares continuous and discontinuous discretizations of the shallow-water equations on the sphere using the flux reconstruction formulation. The discontinuous framework comes at a cost, including a reduced time step size and higher computational expense, but has a number of desirable properties which may make it desirable for future use in atmospheric models.