1 Introduction

We consider a two-dimensional (2-D) Saint-Venant system of shallow water equations with source term modeling the bottom topography and Coriolis forces. We denote the stationary bottom elevation by B(xy), the fluid depth above the bottom by h(xyt), and the fluid velocity field by \((u(x,y,t),v(x,y,t))^T\). We also denote by g the gravity constant and by f the Coriolis parameter, which is defined as a linear function of y, that is, \(f(y)=\hat{f}+\beta y\). The system then takes the form:

$$\begin{aligned} \varvec{q}_t+\varvec{F}(\varvec{q})_x+\varvec{G}(\varvec{q})_y=\varvec{S},\quad \varvec{S}{:}{=}\varvec{S}^\mathrm{B}+\varvec{S}^\mathrm{C}, \end{aligned}$$
(1.1)

where \(\varvec{q}{:}{=}(h,hu,hv)^T\) is a vector of conservative variables,

$$\begin{aligned} \varvec{F}(\varvec{q}){:}{=} \begin{pmatrix} hu\\ hu^2+\frac{1}{2}gh^2\\ huv\end{pmatrix} \quad \text{ and }\quad \varvec{G}(\varvec{q}){:}{=} \begin{pmatrix} hv\\ huv\\ hv^2+\frac{1}{2}gh^2 \end{pmatrix} \end{aligned}$$
(1.2)

are the x- and y-fluxes, respectively, and

$$\begin{aligned} \varvec{S}^\mathrm{B}{:}{=} \begin{pmatrix} 0\\ -ghB_x\\ -ghB_y \end{pmatrix} \quad \text{ and }\quad \varvec{S}^\mathrm{C}{:}{=} \begin{pmatrix} 0\\ fhv\\ -fhu \end{pmatrix} \end{aligned}$$
(1.3)

are the source terms due to the bottom topography (\(\varvec{S}^\mathrm{B}\)) and Coriolis forces (\(\varvec{S}^\mathrm{C}\)).

Models of the form (1.1)–(1.3) play an important role in modeling large scale phenomena in geophysical flows, in which oceanic and atmospheric circulations are often perturbations of the so-called geostrophic equilibrium, see, e.g., [11, 20, 37, 41, 43, 44, 47]. These models are governed by a system of balance laws, which can generate solutions with a complex wave structure including nonlinear shock and rarefaction waves, as well as linear contact waves that may appear in the case of a discontinuous function B.

In many situations steady-state solutions are of particular interest since many practically relevant waves can, in fact, be viewed as small perturbations of those equilibria. If the Coriolis forces are not taken into account (\(f=0\)), e.g., when the Saint-Venant system is used to model rivers and coastal flows, one of the most important steady state solutions is the lake at rest one:

$$\begin{aligned} u\equiv 0,\quad v\equiv 0,\quad h+B\equiv \mathrm{Const}. \end{aligned}$$
(1.4)

A good numerical method for the Saint-Venant system should accurately capture both the steady states and their small perturbations (quasi-steady flows). This property diminishes the appearance of unphysical waves of magnitude proportional to the grid size (the so-called “numerical storm”), which are normally present when computing quasi steady states. The methods that exactly preserve the steady states (1.4) are called well-balanced; see, e.g., [1, 14, 19, 24, 27, 31, 36, 39, 40, 42, 49].

In the presence of the Coriolis force, however, the structure of the steady state solutions becomes more complex. In this case, the system (1.1)–(1.3) admits not only the lake at rest steady states (1.4) (which are now less physically relevant), but also geostrophic equilibrium states, near which the circulations are observed. These equilibria satisfy

$$\begin{aligned} u_x+v_y=0,\quad g(h+B)_x=fv,\quad g(h+B)_y=-fu. \end{aligned}$$

The last equations can be rewritten as

$$\begin{aligned} u_x+v_y=0,\quad K_x\equiv 0,\quad L_y\equiv 0, \end{aligned}$$
(1.5)

where

$$\begin{aligned} K{:}{=}\,g(h+B-V)\quad \text {and}\quad L{:}{=}\,g(h+B+U), \end{aligned}$$
(1.6)

are the potential energies and

$$\begin{aligned} V_x{:}{=}\,\frac{f}{g}\,v\quad \text {and}\quad U_y{:}{=}\,\frac{f}{g}\,u, \end{aligned}$$

are the primitives of the Coriolis force \((U,V)^T\). These primitive functions were first introduced in [6] as the so-called “apparent topography” in order to allow consistent treatment of \((B_x,B_y)\) and \((-V_x,U_y)\). They were also used in [2, 3] as “auxiliary water depth” that represents a potential to the Coriolis forces. We also note that the potentials U and V are related to the stream function \(\psi \) in the following way:

$$\begin{aligned} V_x=-\frac{f}{g}\,\psi _x,\quad U_y=\frac{f}{g}\,\psi _y. \end{aligned}$$

In the case when the velocity vector is constant along the streamlines, they become straight lines. It is then natural to align the coordinates with the streamlines, in which case there are two particular geostrophic equilibria, the so-called jets in the rotational frame:

$$\begin{aligned} u\equiv 0,\ v_y\equiv 0,\ h_y\equiv 0,\ B_y\equiv 0,\ K\equiv \mathrm{Const}, \end{aligned}$$
(1.7)

and

$$\begin{aligned} v\equiv 0,\ u_x\equiv 0,\ h_x\equiv 0,\ B_x\equiv 0,\ L\equiv \mathrm{Const}. \end{aligned}$$
(1.8)

It is also instructive to note that in the one-dimensional (1-D) case, the system (1.1)–(1.3) reduces to

$$\begin{aligned} \varvec{q}_t+\varvec{F}(\varvec{q})_x=\varvec{S}^\mathrm{B}+\varvec{S}^\mathrm{C}, \end{aligned}$$
(1.9)

where

$$\begin{aligned} \varvec{q}{:}{=} \begin{pmatrix} h\\ hu\\ hv \end{pmatrix}, \quad \varvec{F}(\varvec{q}){:}{=} \begin{pmatrix} hu\\ hu^2+\frac{1}{2}gh^2\\ huv \end{pmatrix}, \quad \varvec{S}^\mathrm{B}{:}{=} \begin{pmatrix} 0\\ -ghB_x\\ 0 \end{pmatrix}, \quad \varvec{S}^\mathrm{C}{:}{=} \begin{pmatrix} 0\\ fhv\\ -fhu \end{pmatrix}. \nonumber \\ \end{aligned}$$
(1.10)

Correspondingly, the 1-D geostrophic equilibrium steady state is simply given by

$$\begin{aligned} u\equiv 0,\quad K\equiv \mathrm{Const}. \end{aligned}$$
(1.11)

For oceanographic applications, it is essential to design a numerical strategy that preserves a discrete version of the geostrophic equilibrium states (1.7) and (1.8). Otherwise if numerical spurious waves are created, they may quickly become higher than the physical ones. While many studies are devoted to the preservation of lake at rest steady states, the question of preserving the geostrophic equilibria is more delicate for two reasons: it is a genuinely 2-D problem and it involves a nonzero velocity field. This problem is well-known in the numerical community and received great attention in the literature, see, e.g., [2, 3, 5, 6, 22, 23, 36], but its ultimate solution in the context of finite-volume methods is still unavailable.

We note that in a general finite-volume framework the computed solution is realized in terms of its cell averages over the spatial grid cells, followed by a global piecewise polynomial reconstruction. The time evolution is then performed by integrating the system over space-time control volumes. The question of designing well-balanced evolution step for the shallow water system with the Coriolis forces has been discussed in literature; see, e.g., [36]. However, it has been assumed in [36] that higher-order polynomial reconstruction already satisfies equilibrium conditions, which is not true in general.

The goal of this paper is to design well-balanced finite-volume methods, which are based on both a well-balanced piecewise linear reconstruction, which is performed on equilibrium variables uvK and L rather than on the conservative ones hhu and hv, and a well-balanced evolution step. The choice of implementing the reconstruction step for the equilibrium variables is crucial for developing high-order well-balanced schemes as the equilibrium variables remain constant during the reconstruction step and thus at steady states. The presented reconstruction approach is generic and does not hinge upon a specific finite-volume method at hand. To the best of our knowledge, such well-balanced reconstruction has never been implemented in the context of shallow water equations with Coriolis forces. An alternative approach was proposed in [2, 3, 6], where the well-balanced property was achieved by using the hydrostatic reconstruction. In what follows, we will illustrate our approach by implementing the proposed new well-balanced reconstruction in the context of two different finite-volume methods: a central-upwind and evolution Galerkin schemes.

The central-upwind (CU) schemes were originally developed in [25, 26, 29, 30] as a class of simple (Riemann-problem-solver-free), efficient and highly accurate “black-box” solvers for general (multidimensional) hyperbolic systems of conservation laws. The CU schemes were extended to the hyperbolic systems of balance laws and, in particular, to a variety of shallow water models. First, in [24], a well-balanced scheme for the Saint-Venant system was proposed. Later on, the scheme was modified to become positivity preserving [7, 27] and well-balanced in the presence of dry areas [4]. For a recent extension of the CU scheme to the Saint-Venant system with friction terms, we refer the reader to [9].

The evolution Galerkin method was first proposed in [34] for the linear acoustic equation and later generalized in the framework of finite-volume evolution Galerkin (FVEG) schemes for more complex hyperbolic conservation laws, such as the Euler equations of gas dynamics [35] and shallow water equations [13, 18, 36] just to mention few of them. Since in this method the flux integrals are approximated using the multidimensional evolution operators, the interaction of complex multidimensional waves is approximated more accurately in comparison to standard dimensional-splitting schemes that are based on 1-D (approximate) Riemann problem solvers. Extensive numerical experiments also confirm good stability as well as high accuracy of the evolution Galerkin methods [18, 34,35,36].

Although the CU and FVEG schemes are quite different from the construction point of view, we prove theoretically that the proposed linear reconstruction indeed yields second-order well-balanced schemes in both cases. Thus, our construction is quite general and can be used for a variety of numerical schemes. More precisely, assuming that the initial data satisfy equilibrium states (1.7) or (1.8) or (1.11), we prove that both numerical schemes yield solutions that preserve these equilibria exactly (up to the machine accuracy). For general 2-D geostrophic jets it is no longer true that we can align our numerical grid with the jets as the rotational invariance is lost once a spatial discretization is chosen. Nevertheless, we will show that our well-balanced finite-volume methods lead to much more accurate and stable approximations than their non-well-balanced counterparts.

The paper is organized as follows. In the next section, we present a special piecewise linear reconstruction. The semi-discrete second-order CU scheme is presented in Sect. 3. We prove that the scheme is well-balanced in the sense that it exactly preserves geostrophic equilibrium steady states. Section 4 is devoted to the FVEG scheme: We first briefly describe the second-order FVEG scheme and then prove that it exactly preserves geostrophic equilibria. Numerical experiments presented in Sect. 5 confirm our theoretical results and illustrate behavior of both second-order finite-volume methods.

2 Well-balanced piecewise linear reconstruction

Every finite-volume method is based on a global spatial approximation of the computed solution, which is reconstructed from its cell averages. Second-order schemes employ piecewise linear reconstructions, which are typically implemented for either conservative, primitive or characteristic variables; see, e.g., [15, 21, 32, 46]. However, in order to design a well-balanced scheme for the system (1.9), (1.10) or (1.1)–(1.3), we propose to reconstruct equilibrium variables u, v, K and L. As it has been mentioned above, this allows one to exactly preserve the steady states when reconstructing a global piecewise polynomial. In this section, we describe a special 2-D piecewise linear reconstruction, which will be used in the derivation of well-balanced finite-volume methods presented in Sects. 3 and 4.

We consider a rectangular domain and split it into the uniform Cartesian cells \(C_{j,k}{:}{=}[x_{j-\frac{1}{2}},x_{j+\frac{1}{2}}]\times [y_{k-\frac{1}{2}},y_{k+\frac{1}{2}}]\) of size \(|C_{j,k}|=\Delta x\Delta y\) centered at \((x_j,y_k)=(j\Delta x,k\Delta y)\), \(~j=j_L,\ldots ,j_R,~k=k_L,\ldots ,k_R\).

We first replace the bottom topography function B with its continuous piecewise bilinear interpolant \({\widetilde{B}}\) (see [27]):

$$\begin{aligned} {\widetilde{B}}(x,y)=&B_{{j-\frac{1}{2}},{k-\frac{1}{2}}}+\left( B_{{j+\frac{1}{2}},{k-\frac{1}{2}}}-B_{{j-\frac{1}{2}},{k-\frac{1}{2}}} \right) \cdot \frac{x-x_{j-\frac{1}{2}}}{\Delta x}\\&+\left( B_{{j-\frac{1}{2}},{k+\frac{1}{2}}}-B_{{j-\frac{1}{2}},{k-\frac{1}{2}}}\right) \cdot \frac{y-y_{k-\frac{1}{2}}}{\Delta y}\\&+\left( B_{{j+\frac{1}{2}},{k+\frac{1}{2}}}-B_{{j+\frac{1}{2}},{k-\frac{1}{2}}}-B_{{j-\frac{1}{2}},{k+\frac{1}{2}}}+B_{{j-\frac{1}{2}},{k-\frac{1}{2}}} \right) \\&\cdot \frac{(x-x_{j-\frac{1}{2}})(y-y_{k-\frac{1}{2}})}{\Delta x\Delta y},\quad (x,y)\in I_{j,k}. \end{aligned}$$

where \(B_{j\pm {\frac{1}{2}},k\pm {\frac{1}{2}}}{:}{=}B(x_{j\pm {\frac{1}{2}},k\pm {\frac{1}{2}}})\). We then obtain that

$$\begin{aligned} B_{j,k}{:}{=}{\widetilde{B}}(x_j,y_k)=\frac{1}{4} \left( B_{{j+\frac{1}{2}},k}+B_{{j-\frac{1}{2}},k} +B_{j,{k+\frac{1}{2}}}+B_{j,{k-\frac{1}{2}}}\right) , \end{aligned}$$
(2.1)

where

$$\begin{aligned} B_{{j+\frac{1}{2}},k}{:}{=}{\widetilde{B}}(x_{j+\frac{1}{2}},y_k)={\frac{1}{2}}\left( B_{{j+\frac{1}{2}},{k+\frac{1}{2}}}+B_{{j+\frac{1}{2}},{k-\frac{1}{2}}}\right) \end{aligned}$$
(2.2)

and

$$\begin{aligned} B_{j,{k+\frac{1}{2}}}{:}{=}{\widetilde{B}}(x_j,y_{k+\frac{1}{2}})={\frac{1}{2}}\left( B_{{j+\frac{1}{2}},{k+\frac{1}{2}}} +B_{{j-\frac{1}{2}},{k+\frac{1}{2}}}\right) . \end{aligned}$$
(2.3)

We assume that at a certain time level t the cell averages of the computed solution,

$$\begin{aligned} {\bar{\varvec{q}}}_{j,k}(t){:}{=}\frac{1}{\Delta x\Delta y}\iint \limits _{C_{j,k}} \varvec{q}(x,y,t)\,dxdy, \end{aligned}$$

are available and the point values of the velocities at the cell centers \(x_{j,k}\) are

$$\begin{aligned} u_{j,k}=\frac{\bar{(hu)}_{j,k}}{\bar{h}_{j,k}}\quad \text {and}\quad v_{j,k}=\frac{\bar{(hv)}_{j,k}}{\bar{h}_{j,k}}. \end{aligned}$$
(2.4)

We note that if some of the values of \(h_{j,k}\) are very small or even zero, the computation of the velocities \(u_{j,k}\) and \(v_{j,k}\) in (2.4) should be desingularized. We refer the reader to [27, formulae (2.17)–(2.21)], where several desingularization strategies have been discussed.

From here on we suppress the time-dependence of all of the indexed quantities in order to shorten the notation. The values of the primitives of the Coriolis forces at the midpoints of the cell interfaces are obtained using the second-order midpoint quadrature:

$$\begin{aligned} \begin{aligned} U_{j,k_L-\frac{1}{2}}&=0,\quad U_{j,{k+\frac{1}{2}}}=\frac{1}{g} \sum _{\ell =k_L}^kf_\ell u_{j,\ell }\Delta y,\\ V_{j_L-\frac{1}{2},k}&=0,\quad V_{{j+\frac{1}{2}},k}=\frac{f_k}{g}\sum _{m=j_L}^jv_{m,k}\Delta x, \end{aligned} \qquad \quad j\ge j_L,\quad k\ge k_L, \end{aligned}$$
(2.5)

where \(f_k{:}{=}\hat{f}+\beta y_k\). The sums in (2.5) can be efficiently computed via the following recursive formualae:

$$\begin{aligned}&U_{j,k_L - \frac{1}{2}} = 0, \quad U_{j,{k+\frac{1}{2}}} = U_{j,k - \frac{1}{2}} + \frac{f_k}{g} u_{j,k}\Delta y, \\&V_{j_L - \frac{1}{2}, k} = 0, \quad V_{{j+\frac{1}{2}}, k} = V_{j- \frac{1}{2}, k} + \frac{f_k}{g} v_{j,k} \Delta x. \end{aligned}$$

The corresponding values at the cell centers are then equal to

$$\begin{aligned} U_{j,k}={\frac{1}{2}}\left( U_{j,{k-\frac{1}{2}}}+U_{j,{k+\frac{1}{2}}}\right) \quad \text {and}\quad V_{j,k}={\frac{1}{2}}\left( V_{{j-\frac{1}{2}},k}+V_{{j+\frac{1}{2}},k}\right) , \end{aligned}$$
(2.6)

and thus the point values of K and L at \((x,y)=(x_j,y_k)\) are

$$\begin{aligned} K_{j,k}=g(\bar{h}_{j,k}+B_{j,k}-V_{j,k})\quad \text {and}\quad L_{j,k}=g(\bar{h}_{j,k}+B_{j,k}+U_{j,k}). \end{aligned}$$
(2.7)

Equipped with (2.4) and (2.7), we construct piecewise linear approximants for the equilibrium variables \({\varvec{p}}{:}{=}\,(u,v,K,L)^T\):

$$\begin{aligned} {\widetilde{\varvec{p}}}(x,y)=\varvec{p}_{j,k}+{(\varvec{p}_x)}_{j,k}(x-x_j) +{(\varvec{p}_y)}_{j,k}(y-y_k),\quad (x,y)\in C_{j,k}, \end{aligned}$$
(2.8)

where the slopes are obtained using a nonlinear limiter, say, the generalized minmod one (see, e.g., [33, 38, 45, 48]):

$$\begin{aligned} \begin{aligned} {(\varvec{p}_x)}_{j,k}&=\mathrm{minmod}\left( \theta \,\frac{\varvec{p}_{j+1,k} -\varvec{p}_{j,k}}{\Delta x},\,\frac{\varvec{p}_{j+1,k}-\varvec{p}_{j-1,k}}{2\Delta x},\, \theta \,\frac{\varvec{p}_{j,k}-\varvec{p}_{j-1,k}}{\Delta x}\right) ,\\ {(\varvec{p}_y)}_{j,k}&=\mathrm{minmod}\left( \theta \,\frac{\varvec{p}_{j,k+1} -\varvec{p}_{j,k}}{\Delta y},\,\frac{\varvec{p}_{j,k+1}-\varvec{p}_{j,k-1}}{2\Delta y},\, \theta \,\frac{\varvec{p}_{j,k}-\varvec{p}_{j,k-1}}{\Delta y}\right) , \end{aligned} \qquad \end{aligned}$$
(2.9)

with the minmod function

$$\begin{aligned} \text{ minmod }(z_1,z_2,\ldots ){:}{=}\left\{ \begin{array}{lc} \min (z_1,z_2,\ldots ),&{}~~\text{ if }~~z_i>0~~\forall i,\\ \max (z_1,z_2,\ldots ),&{}~~\text{ if }~~z_i<0~~\forall i,\\ 0,&{}~~\text{ otherwise },\end{array}\right. \end{aligned}$$

which is applied in a componentwise manner. The parameter \(\theta \in [1,2]\) controls the amount of numerical dissipation: the larger the \(\theta \) the smaller the numerical dissipation.

Thus, the reconstructed point values of \({\varvec{p}}\) at the cell interfaces are

$$\begin{aligned} \begin{aligned}&\varvec{p}_{j,k}^\mathrm{E}={\widetilde{\varvec{p}}}(x_{j+\frac{1}{2}}-0,y_k) =\varvec{p}_{j,k}+\frac{\Delta x}{2}{(\varvec{p}_x)}_{j,k},&\varvec{p}_{j,k}^\mathrm{W}={\widetilde{\varvec{p}}}\left( x_{j-\frac{1}{2}}+0,y_k\right) \\&\quad =\varvec{p}_{j,k}-\frac{\Delta x}{2}{(\varvec{p}_x)}_{j,k},\\&\varvec{p}_{j,k}^\mathrm{N}={\widetilde{\varvec{p}}}\left( x_j,y_{k+\frac{1}{2}}-0\right) =\varvec{p}_{j,k}+\frac{\Delta y}{2}{(\varvec{p}_y)}_{j,k},&\varvec{p}_{j,k}^\mathrm{S}={\widetilde{\varvec{p}}}(x_j,y_{k-\frac{1}{2}}+0)\\&\quad =\varvec{p}_{j,k}-\frac{\Delta y}{2}{(\varvec{p}_y)}_{j,k}. \end{aligned} \end{aligned}$$
(2.10)

Once the polynomials \({\widetilde{\varvec{p}}}=({\widetilde{u}},{\widetilde{v}},{\widetilde{K}},{\widetilde{L}})^T\) are constructed, we obtain the corresponding reconstruction for h:

$$\begin{aligned} {\widetilde{h}}(x,y)=h_k^x(x)+h_j^y(y)-\bar{h}_{j,k},\quad (x,y)\in C_{j,k}, \end{aligned}$$
(2.11)

where

$$\begin{aligned} \begin{aligned}&h_k^x(x){:}{=}\frac{{\widetilde{K}}(x,y_k)}{g}+\mu _x\left( V_{j,k} -B_{j,k}\right) +\frac{\delta _x \left( V_{j,k}-B_{j,k}\right) }{\Delta x}(x-x_j),\\&\quad x\in (x_{j-\frac{1}{2}},x_{j+\frac{1}{2}}),\\&h_j^y(y){:}{=}\frac{{\widetilde{L}}(x_j,y)}{g}-\mu _y\left( U_{j,k} +B_{j,k}\right) -\frac{\delta _y\left( U_{j,k}+B_{j,k}\right) }{\Delta y}(y-y_k),\\&\quad y\in (y_{k-\frac{1}{2}},y_{k+\frac{1}{2}}). \end{aligned} \end{aligned}$$
(2.12)

Here, \(\mu _x,\delta _x\) and \(\mu _y,\delta _y\) stand for the short average and short central difference discrete operators in the x- and y-directions, respectively:

$$\begin{aligned} \begin{aligned}&\mu _xF_{j,k}{:}{=}\frac{F_{{j+\frac{1}{2}},k}+F_{{j-\frac{1}{2}},k}}{2},\qquad \delta _xF_{j,k}{:}{=}F_{{j+\frac{1}{2}},k}-F_{{j-\frac{1}{2}},k},\\&\mu _yF_{j,k}{:}{=}\frac{F_{j,{k+\frac{1}{2}}}+F_{j,{k-\frac{1}{2}}}}{2},\qquad \delta _yF_{j,k}{:}{=}F_{j,{k+\frac{1}{2}}}-F_{j,{k-\frac{1}{2}}}. \end{aligned} \end{aligned}$$

More precisely, we have

$$\begin{aligned} {\widetilde{h}}(x,y)&=\frac{K_{j,k}+L_{j,k}}{g}+\mu _x \left( V_{j,k}-B_{j,k}\right) -\mu _y\left( U_{j,k}+B_{j,k}\right) -\bar{h}_{j,k}\nonumber \\&\quad +\left[ \frac{1}{g}{(K_x)}_{j,k}+\dfrac{\delta _x \left( V_{j,k}-B_{j,k}\right) }{\Delta x}\right] (x-x_j)\nonumber \\&\quad +\left[ \frac{1}{g}{(L_y)}_{j,k}-\dfrac{\delta _y\left( U_{j,k} +B_{j,k}\right) }{\Delta y}\right] (y-y_k)\nonumber \\&=\bar{h}_{j,k}+{(h_x)}_{j,k}(x-x_j)+{(h_y)}_{j,k}(y-y_k), \quad (x,y)\in C_{j,k}, \end{aligned}$$
(2.13)

where

$$\begin{aligned} {(h_x)}_{j,k}:= & {} \left[ \frac{1}{g}{(K_x)}_{j,k} +\dfrac{\delta _x\left( V_{j,k}-B_{j,k}\right) }{\Delta x}\right] \quad \text{ and }\quad {(h_y)}_{j,k}\\ := & {} \left[ \frac{1}{g}{(L_y)}_{j,k}-\dfrac{\delta _y \left( U_{j,k}+B_{j,k}\right) }{\Delta y}\right] \end{aligned}$$

denote the x- and y-slopes of the reconstruction \({\widetilde{h}}\) in the cell \(C_{j,k}\), respectively. Finally, the corresponding values of \({\widetilde{h}}\) in the cell \(C_{j,k}\) at \((x,y)=(x_{j\pm {\frac{1}{2}}},y_k)\) and \((x,y)=(x_j,y_{k\pm {\frac{1}{2}}})\) are

$$\begin{aligned} \begin{array}{ll} h_{j,k}^\mathrm{E}=\dfrac{K_{j,k}^\mathrm{E}}{g}+V_{{j+\frac{1}{2}},k}-B_{{j+\frac{1}{2}},k},&{}\quad h_{j,k}^\mathrm{W}=\dfrac{K_{j,k}^\mathrm{W}}{g}+V_{{j-\frac{1}{2}},k}-B_{{j-\frac{1}{2}},k},\\ h_{j,k}^\mathrm{N}=\dfrac{L_{j,k}^\mathrm{N}}{g}-U_{j,{k+\frac{1}{2}}}-B_{j,{k+\frac{1}{2}}},&{}\quad h_{j,k}^\mathrm{S}=\dfrac{L_{j,k}^\mathrm{S}}{g}-U_{j,{k-\frac{1}{2}}}-B_{j,{k-\frac{1}{2}}}. \end{array} \qquad \end{aligned}$$
(2.14)

Theorem 2.1

Suppose that the discrete initial data satisfy the geostrophic equilibrium conditions (1.7) or (1.8). Then the linear reconstruction (2.8), (2.9), (2.11) preserves these equilibrium conditions.

Proof

Without loss of generality, we will assume that the discrete initial data are in the equilibrium state (1.7). First, we note that for linear reconstructions for K and u, we obviously have \({\widetilde{K}}\equiv \mathrm{Const}\) and \(\widetilde{u}\equiv 0\). Since the discrete values of v and B do not change in the y-direction, we have \(\widetilde{v}_y\equiv 0\) and \(\widetilde{B}_y\equiv 0\). It then follows from (2.12) that \(h_j^y(y)=h(x_j,y)\) for all jk and \(y\in (y_{k-\frac{1}{2}},y_{k+\frac{1}{2}})\), which according to (1.7) implies \(h_j^y(y)=\mathrm{Const}\) and thus \(\widetilde{h}_y(x,y)=0\). Consequently, all of the equilibrium conditions in (1.7) hold for \(\widetilde{h}\), \(\widetilde{u}\), \(\widetilde{v}\) and \(\widetilde{K}\). \(\square \)

3 Semi-discrete central-upwind scheme

In this section, we briefly describe a semi-discrete second-order CU scheme for the considered shallow water system with Coriolis forces (1.1)–(1.3). The scheme is a modification of the 2-D CU scheme from [30] (for the detailed derivation of the CU schemes we refer the reader to [25, 26, 29]). We prove that the geostrophic equilibrium steady states are exactly preserved by the CU scheme on the discrete level.

A semi-discrete CU scheme for (1.1)–(1.3) is the following system of ODEs (see, e.g., [25, 26, 30]):

$$\begin{aligned} \frac{d}{dt}\,\bar{\varvec{q}}_{j,k}=-\frac{\varvec{\mathcal F}_{{j+\frac{1}{2}},k}-\varvec{\mathcal F}_{{j-\frac{1}{2}},k}}{\Delta x}- \frac{\varvec{\mathcal G}_{j,{k+\frac{1}{2}}}-\varvec{\mathcal G}_{j,{k-\frac{1}{2}}}}{\Delta y}+\bar{\varvec{S}}^B_{j,k}+ \bar{\varvec{S}}^\mathrm{C}_{j,k}. \end{aligned}$$
(3.1)

The first and the second component of the numerical fluxes \(\varvec{\mathcal F}_{{j+\frac{1}{2}},k}\) in (3.1) are taken to be the same as in the original CU scheme from [30]:

$$\begin{aligned}&\mathcal F^{(1)}_{{j+\frac{1}{2}},k}=\frac{a^+_{{j+\frac{1}{2}},k}h_{j,k}^\mathrm{E}u_{j,k}^\mathrm{E}- a^-_{{j+\frac{1}{2}},k}h_{j+1,k}^\mathrm{W}u_{j+1,k}^\mathrm{W}}{a^+_{{j+\frac{1}{2}},k}-a^-_{{j+\frac{1}{2}},k}}+ \frac{a^+_{{j+\frac{1}{2}},k}a^-_{{j+\frac{1}{2}},k}}{a^+_{{j+\frac{1}{2}},k}-a^-_{{j+\frac{1}{2}},k}}\nonumber \\&\quad \left( h_{j+1,k}^\mathrm{W}-h_{j,k}^\mathrm{E}\right) , \end{aligned}$$
(3.2)

and

$$\begin{aligned} \mathcal F^{(2)}_{{j+\frac{1}{2}},k}=&\frac{a^+_{{j+\frac{1}{2}},k}\left\{ h_{j,k}^\mathrm{E}(u_{j,k}^\mathrm{E})^2+ \frac{g}{2}(h_{j,k}^\mathrm{E})^2\right\} -a^-_{{j+\frac{1}{2}},k}\left\{ h_{j+1,k}^\mathrm{W}(u_{j+1,k}^\mathrm{W})^2+ \frac{g}{2}(h_{j+1,k}^\mathrm{W})^2\right\} }{a^+_{{j+\frac{1}{2}},k} -a^-_{{j+\frac{1}{2}},k}}\nonumber \\&+\frac{a^+_{{j+\frac{1}{2}},k}a^-_{{j+\frac{1}{2}},k}}{a^+_{{j+\frac{1}{2}},k}-a^-_{{j+\frac{1}{2}},k}} \left( h_{j+1,k}^\mathrm{W}u_{j+1,k}^\mathrm{W}-h_{j,k}^\mathrm{E} u_{j,k}^\mathrm{E}\right) , \end{aligned}$$
(3.3)

However, to ensure a well-balanced property of the scheme, the third component of the flux has to be approximated in a different way (see the proof of Theorem 3.1 below). For example, one may use a standard upwind approach and compute the third component of the flux as follows:

$$\begin{aligned} \mathcal F^{(3)}_{{j+\frac{1}{2}},k}=&\left\{ \begin{array}{lc}h_{j,k}^\mathrm{E}u_{j,k}^\mathrm{E}v_{j,k}^\mathrm{E},&{} ~\text{ if }~~u_{j,k}^\mathrm{E}+u_{j+1,k}^\mathrm{W}>0,\\ h_{j+1,k}^\mathrm{W}u_{j+1,k}^\mathrm{W}v_{j+1,k}^\mathrm{W}, &{}~\text{ otherwise }.\end{array}\right. \end{aligned}$$
(3.4)

Similarly, the first and the third component of the numerical fluxes \(\varvec{\mathcal G}_{j,{k+\frac{1}{2}}}\) are the same as in the original CU scheme from [30]:

$$\begin{aligned} \mathcal G^{(1)}_{j,{k+\frac{1}{2}}}=&\frac{b^+_{j,{k+\frac{1}{2}}}h_{j,k}^\mathrm{N}v_{j,k}^\mathrm{N}- b^-_{j,{k+\frac{1}{2}}}h_{j,k+1}^\mathrm{S}v_{j,k+1}^\mathrm{S}}{b^+_{j,{k+\frac{1}{2}}}-b^-_{j,{k+\frac{1}{2}}}}+ \frac{b^+_{j,{k+\frac{1}{2}}}b^-_{j,{k+\frac{1}{2}}}}{b^+_{j,{k+\frac{1}{2}}} -b^-_{j,{k+\frac{1}{2}}}}\nonumber \\&\left( h_{j,k+1}^\mathrm{S}-h_{j,k}^\mathrm{N}\right) , \end{aligned}$$
(3.5)

and

$$\begin{aligned} \mathcal G^{(3)}_{j,{k+\frac{1}{2}}}=&\frac{b^+_{j,{k+\frac{1}{2}}} \left\{ h_{j,k}^\mathrm{N}(v_{j,k}^\mathrm{N})^2+ \frac{g}{2}(h_{j,k}^\mathrm{N})^2\right\} -b^-_{j,{k+\frac{1}{2}}} \left\{ h_{j,k+1}^\mathrm{S}(v_{j,k+1}^\mathrm{S})^2+ \frac{g}{2}(h_{j,k+1}^\mathrm{S})^2\right\} }{b^+_{j,{k+\frac{1}{2}}} -b^-_{j,{k+\frac{1}{2}}}}\nonumber \\&+\frac{b^+_{j,{k+\frac{1}{2}}}b^-_{j,{k+\frac{1}{2}}}}{b^+_{j,{k+\frac{1}{2}}}-b^-_{j,{k+\frac{1}{2}}}} \left( h_{j,k+1}^\mathrm{S}v_{j,k+1}^\mathrm{S}-h_{j,k}^\mathrm{N} v_{j,k}^\mathrm{N}\right) , \end{aligned}$$
(3.6)

and the second component is computed according to the upwind approach:

$$\begin{aligned} \mathcal G^{(2)}_{j,{k+\frac{1}{2}}}=&\left\{ \begin{array}{lc}h_{j,k}^\mathrm{N}u_{j,k}^\mathrm{N}v_{j,k}^\mathrm{N},&{} ~\text{ if }~~v_{j,k}^\mathrm{N}+v_{j,k+1}^\mathrm{S}>0,\\ h_{j,k+1}^\mathrm{S}u_{j,k+1}^\mathrm{S}v_{j,k+1}^\mathrm{S}, &{}~\text{ otherwise }.\end{array}\right. \end{aligned}$$
(3.7)

The cell averages of the nonzero components of the source terms in (3.1) are

$$\begin{aligned} \bar{(S^B)}^{(2)}_{j,k}=-g\,\bar{h}_{j,k}\frac{B_{{j+\frac{1}{2}},k}-B_{{j-\frac{1}{2}},k}}{\Delta x},\quad \bar{(S^B)}^{(3)}_{j,k}=-g\,\bar{h}_{j,k}\frac{B_{j,{k+\frac{1}{2}}}-B_{j,{k-\frac{1}{2}}}}{\Delta y}, \nonumber \\ \end{aligned}$$
(3.8)

and

$$\begin{aligned} \bar{(S^\mathrm{C})}^{(2)}_{j,k}=f_k\,\bar{(hv)}_{j,k},\quad \bar{(S^\mathrm{C})}^{(3)}_{j,k}=-f_k\,\bar{(hu)}_{j,k}. \end{aligned}$$
(3.9)

Finally,

$$\begin{aligned} \begin{aligned}&a^+_{{j+\frac{1}{2}},k}=\max \left( u^\mathrm{E}_{j,k}+\sqrt{gh^\mathrm{E}_{j,k}},\, u^\mathrm{W}_{j+1,k}+\sqrt{gh^\mathrm{W}_{j+1,k}},\,0\right) ,\\&a^-_{{j+\frac{1}{2}},k}=\min \left( u^\mathrm{E}_{j,k}-\sqrt{gh^\mathrm{E}_{j,k}},\,u^\mathrm{W}_{j+1,k}-\sqrt{gh^\mathrm{W}_{j+1,k}},\,0\right) , \end{aligned} \end{aligned}$$
(3.10)

and

$$\begin{aligned} \begin{aligned}&b^+_{j,{k+\frac{1}{2}}}=\max \left( v^\mathrm{N}_{j,k}+\sqrt{gh^\mathrm{N}_{j,k}},\, v^\mathrm{S}_{j,k+1}+\sqrt{gh^\mathrm{S}_{j,k+1}},\,0\right) ,\\&b^-_{j,{k+\frac{1}{2}}}=\min \left( v^\mathrm{N}_{j,k}-\sqrt{gh^\mathrm{N}_{j,k}},\, v^\mathrm{S}_{j,k+1}-\sqrt{gh^\mathrm{S}_{j,k+1}},\,0\right) \end{aligned} \end{aligned}$$
(3.11)

are the one-sided local propagation speeds in the x- and y-directions, respectively, estimated from the smallest and largest eigenvalues of the Jacobians \(\frac{\partial \varvec{F}}{\partial \mathbf {q}}\) and \(\frac{\partial \varvec{G}}{\partial \mathbf {q}}\).

Theorem 3.1

The semi-discrete CU scheme (3.1)–(3.11) coupled with the reconstruction described in Sect. 2 is well-balanced in the sense that it exactly preserves the geostrophic equilibrium steady states (1.7) and (1.8).

Proof

We assume that at a certain time level t the computed solution is at the equilibrium state (1.8). Thus, for all jk we have

$$\begin{aligned}&v_{j,k}^\mathrm{N}=v_{j,k}^\mathrm{S}=v_{j,k}=v_{j,k}^\mathrm{E}=v_{j,k}^\mathrm{W}\equiv 0, \quad L_{j,k}^\mathrm{N}=L_{j,k}=L_{j,k}^\mathrm{S} \equiv \widehat{L}, \end{aligned}$$
(3.12)
$$\begin{aligned}&h_{j,k}^\mathrm{E}=\bar{h}_{j,k}=h_{j,k}^\mathrm{W} =\widehat{h}_k,\quad u_{j,k}^\mathrm{E}=u_{j,k} =u_{j,k}^\mathrm{W}=\widehat{u}_k,\nonumber \\&\quad B_{{j+\frac{1}{2}},k}=B_{j,k}=B_{{j-\frac{1}{2}},k}=\widehat{B}_k, \end{aligned}$$
(3.13)

where \(\widehat{L}\) is a constant and the quantities \(\widehat{h}_k\), \(\widehat{u}_k\) and \(\widehat{B}_k\) depend on the y-variable only. Notice that in this case we obtain from Theorem 2.1, (2.14) and (3.12) that

$$\begin{aligned} h_{j.k}^\mathrm{N}=\frac{\widehat{L}}{g}-U_{j,{k+\frac{1}{2}}}-B_{j,{k+\frac{1}{2}}},\quad h_{j,k}^\mathrm{S}=\frac{\widehat{L}}{g}-U_{j,{k-\frac{1}{2}}}-B_{j,{k-\frac{1}{2}}},\quad \forall j,k. \qquad \end{aligned}$$
(3.14)

Our goal is to show that for the above data the right-hand side (RHS) of (3.1) vanishes. First, it follows from (3.2), (3.12) and (3.13) that for all jk, \(\mathcal F^{(m)}_{{j+\frac{1}{2}},k}-\mathcal F^{(m)}_{{j-\frac{1}{2}},k}=0,~m=1,2,3\).

Furthermore, using (3.5), (3.12) and (3.14), we obtain

$$\begin{aligned} \mathcal G^{(1)}_{j,{k+\frac{1}{2}}}=\frac{b^+_{j,{k+\frac{1}{2}}}b^-_{j,{k+\frac{1}{2}}}}{b^+_{j,{k+\frac{1}{2}}}-b^-_{j,{k+\frac{1}{2}}}}\left( h_{j,k+1}^\mathrm{S}-h_{j,k}^\mathrm{N}\right) \equiv 0, \quad \forall j,k, \end{aligned}$$

and the first component on the RHS of (3.1) clearly vanishes.

Similarly, from (3.6), (3.12) and (3.14) we have

$$\begin{aligned} \mathcal G^{(3)}_{j,{k+\frac{1}{2}}}=\frac{g}{2}\left( \frac{\widehat{L}}{g}-U_{j,{k+\frac{1}{2}}}-B_{j,{k+\frac{1}{2}}}\right) ^2,\quad \forall j,k, \end{aligned}$$

and thus

$$\begin{aligned} \begin{aligned}&-\frac{\mathcal G^{(3)}_{j,{k+\frac{1}{2}}}-\mathcal G^{(3)}_{j,{k-\frac{1}{2}}}}{\Delta y}\\&\quad =g\left( \frac{B_{j,{k+\frac{1}{2}}}-B_{j,{k-\frac{1}{2}}}}{\Delta y}+\frac{U_{j,{k+\frac{1}{2}}} -U_{j,{k-\frac{1}{2}}}}{\Delta y}\right) \\&\qquad \left( \frac{\widehat{L}}{g}-\frac{U_{j,{k+\frac{1}{2}}}+U_{j,{k-\frac{1}{2}}}}{2} -\frac{B_{j,{k+\frac{1}{2}}}+B_{j,{k-\frac{1}{2}}}}{2}\right) . \end{aligned} \end{aligned}$$

Using (2.1)–(2.3) and (2.5)–(2.7) we obtain

$$\begin{aligned} \begin{aligned} -\frac{\mathcal G^{(3)}_{j,{k+\frac{1}{2}}}-\mathcal G^{(3)}_{j,{k-\frac{1}{2}}}}{\Delta y}&=g\left( \frac{B_{j,{k+\frac{1}{2}}}-B_{j,{k-\frac{1}{2}}}}{\Delta y}-\frac{f_k}{g}u_{j,k}\right) \left( \frac{\widehat{L}}{g}-U_{j,k}-B_{j,k}\right) \\&=g\,\bar{h}_{j,k}\frac{B_{j,{k+\frac{1}{2}}}-B_{j,{k-\frac{1}{2}}}}{\Delta y}-f_k\, \bar{(hu)}_{j,k}, \end{aligned} \end{aligned}$$

which is equal to \(-\,\bar{(S^B)}^{(3)}_{j,k}-\bar{(S^\mathrm{C})}^{(3)}_{j,k}\) (see (3.8)) so that the third component on the RHS of (3.1) vanishes as well.

Finally, since \(v\equiv 0\), both \(\mathcal G^{(2)}_{j,{k+\frac{1}{2}}}\) and \(\bar{(S^\mathrm{C})}^{(2)}_{j,k}\) are identically equal to zero, which ensures that the second component on the RHS of (3.1) is zero.

Similarly, one can prove that the equilibrium state (1.7) is exactly preserved as well. This completes the proof of the theorem. \(\square \)

Remark 3.1

We note that at the cell interfaces where \(a^+_{{j+\frac{1}{2}},k}-a^-_{{j+\frac{1}{2}},k}\) is equal or very close to zero, the x-numerical fluxes (3.2) and (3.3) reduce to

$$\begin{aligned} \mathcal F^{(1)}_{{j+\frac{1}{2}},k}=\frac{h_{j,k}^\mathrm{E}u_{j,k}^\mathrm{E}+h_{j+1,k}^\mathrm{W}u_{j+1,k}^\mathrm{W}}{2}, \end{aligned}$$

and

$$\begin{aligned} \mathcal F^{(2)}_{{j+\frac{1}{2}},k}=\frac{h_{j,k}^\mathrm{E}(u_{j,k}^\mathrm{E})^2+\frac{g}{2}(h_{j,k}^\mathrm{E})^2+h_{j+1,k}^\mathrm{W}(u_{j+1,k}^\mathrm{W})^2+ \frac{g}{2}(h_{j+1,k}^\mathrm{W})^2}{2}, \end{aligned}$$

respectively. Similarly, wherever \(b^+_{j,{k+\frac{1}{2}}}-b^-_{j,{k+\frac{1}{2}}}\) is equal or very close to zero, the y-numerical fluxes (3.5) and (3.6) reduce to

$$\begin{aligned} \mathcal G^{(1)}_{j,{k+\frac{1}{2}}}=\frac{h_{j,k}^\mathrm{N}v_{j,k}^\mathrm{N}+h_{j,k+1}^\mathrm{S}v_{j,k+1}^\mathrm{S}}{2} \end{aligned}$$

and

$$\begin{aligned} \mathcal G^{(3)}_{j,{k+\frac{1}{2}}}=\frac{h_{j,k}^\mathrm{N}(v_{j,k}^\mathrm{N})^2+\frac{g}{2}(h_{j,k}^\mathrm{N})^2+ h_{j,k+1}^\mathrm{S}(v_{j,k+1}^\mathrm{S})^2+\frac{g}{2}(h_{j,k+1}^\mathrm{S})^2}{2}. \end{aligned}$$

Remark 3.2

The implementation of the CU semi-discrete schemes requires solving the time-dependent ODE system (3.1). To this end, one can use any stable and sufficiently accurate ODE solver. In the numerical experiments reported Sect. 5, we have use the three-stage third-order strong stability preserving (SSP) Runge-Kutta method; see, e.g., [16, 17].

4 Finite-volume evolution Galerkin method

In this section, we present a well-balanced FVEG method for the 2-D system (1.1)–(1.3). Notice that the FVEG method is generically multidimensional as it is based on the theory of bicharacteristics, which leads to a very accurate and stable approximation of the multidimensional wave propagation. We refer a reader to our previous works, where the FVEG method has been developed for various hyperbolic systems of balance laws; see, e.g., [13, 18, 34,35,36].

More precisely, the FVEG method can be formulated as predictor-corrector method. In the corrector step, the fully discrete finite-volume update is realized as follows:

$$\begin{aligned} \bar{\varvec{q}}_{j,k}^{n+1}=\bar{\varvec{q}}_{j,k}^n-\frac{\Delta t}{\Delta x}\left( \varvec{\mathcal F}_{{j+\frac{1}{2}},k}^{n+{\frac{1}{2}}}-\varvec{\mathcal F}_{{j-\frac{1}{2}},k}^{n+{\frac{1}{2}}}\right) - \frac{\Delta t}{\Delta y}\left( \varvec{\mathcal G}_{j,{k+\frac{1}{2}}}^{n+{\frac{1}{2}}}-\varvec{\mathcal G}_{j,{k-\frac{1}{2}}}^{n+{\frac{1}{2}}}\right) +\Delta t\varvec{S}_{j,k}^{n+{\frac{1}{2}}}.\nonumber \\ \end{aligned}$$
(4.1)

Here, \(\varvec{\mathcal F}^{n+{\frac{1}{2}}}\) and \(\varvec{\mathcal G}^{n+{\frac{1}{2}}}\) represent approximations to the edge fluxes at the intermediate time level \(t=t^{n+{\frac{1}{2}}}\) in the x- and y-directions, respectively, and \(\varvec{S}^{n+{\frac{1}{2}}}\) stands for the approximation of the source terms at the same time level \(t=t^{n+{\frac{1}{2}}}\).

The numerical fluxes \(\varvec{\mathcal F}^{n+{\frac{1}{2}}}\) and \(\varvec{\mathcal G}^{n+{\frac{1}{2}}}\) are computed using a predicted solution obtained by an approximate evolution (from time \(t^n\) to \(t^{n+{\frac{1}{2}}}\)) operator denoted by \(E_{\Delta t/2}\) (defined below in (4.10)) applied to the reconstruction \({\widetilde{\varvec{p}}}(x,y,t^n)\) in (2.8) and an appropriate quadrature for the cell interface integration.

The choice of the cell interface quadrature is quite delicate. As it has been shown in [35] a second-order quadrature may not be a good option: While the midpoint rule does not take into account all of the multidimensional effects, the trapezoidal rule leads to an unconditionally unstable method. On the other hand, the use of the fourth-order Simpson quadrature results in a stable FVEG method with the following x-flux:

$$\begin{aligned} \varvec{\mathcal F}_{{j+\frac{1}{2}},k}^{n+{\frac{1}{2}}}&\approx \frac{1}{\Delta t}\int \limits _{t^n}^{t^{n+1}}\int \limits _{y_{k-\frac{1}{2}}}^{y_{k+\frac{1}{2}}} \varvec{F}\left( \varvec{q}(x_{j+\frac{1}{2}},y,t)\right) \,dydt\approx \int \limits _{y_{k-\frac{1}{2}}}^{y_{k+\frac{1}{2}}}\varvec{F}\left( \varvec{q}(x_{j+\frac{1}{2}},y,t^{n+{\frac{1}{2}}})\right) \, dy\nonumber \\&\approx \!\!\sum _{\ell \in \{\pm {\frac{1}{2}},0\}}\omega _\ell \varvec{F}\big (\varvec{q}(x_{j+\frac{1}{2}},y_{k+\ell },t^{n+{\frac{1}{2}}})\big )\nonumber \\&= \sum _{\ell \in \{\pm {\frac{1}{2}},0\}}\omega _\ell \varvec{F}\left( E_{\Delta t/2}\, {\widetilde{\varvec{p}}}(x,y,t^n)\Big |_{(x_{j+\frac{1}{2}},y_{k+\ell })}\right) , \end{aligned}$$
(4.2)

where \(\omega _{\pm {\frac{1}{2}}}=1/6\) and \(\omega _0=2/3\) are the weights of the Simpson quadrature. Similarly, the y-flux is approximated by

$$\begin{aligned}&\varvec{\mathcal G}_{j,{k+\frac{1}{2}}}^{n+{\frac{1}{2}}}\approx \,\!\!\sum _{m\in \{\pm {\frac{1}{2}},0\}}\omega _m\varvec{G}\left( \varvec{q}(x_{j+m},y_{k+\frac{1}{2}},t^{n+{\frac{1}{2}}})\right) \nonumber \\&\quad = \sum _{m\in \{\pm {\frac{1}{2}},0\}}\omega _m\varvec{G}\Big (E_{\Delta t/2}\,\widetilde{\varvec{p}}(x,y,t^n)\Big |_{(x_{j+m},y_{k+\frac{1}{2}})}\Big ). \end{aligned}$$
(4.3)

The source term is then rewritten as \(\varvec{S}=\big (0,-gh(B-V)_x,-gh(B+U)_y\big )^T\) and discretized by

$$\begin{aligned} \varvec{S}_{j,k}^{n+{\frac{1}{2}}}=-g\left( \begin{array}{c}0\\ \displaystyle {\frac{1}{\Delta x}\sum _{\ell \in \{\pm {\frac{1}{2}},0\}} \omega _\ell ~\mu _x\left( h_{j,k+\ell }^{n+{\frac{1}{2}}}\right) ~ \delta _x\left( B_{j,k+\ell }-V_{j,k+\ell }^{n+{\frac{1}{2}}}\right) }\\ \displaystyle {\frac{1}{\Delta y}\sum _{m\in \{\pm {\frac{1}{2}},0\}} \omega _m~\mu _y\left( h_{j+m,k}^{n+{\frac{1}{2}}}\right) ~ \delta _y\left( B_{j+m,k}+U_{j+m,k}^{n+{\frac{1}{2}}}\right) } \end{array}\right) . \end{aligned}$$
(4.4)

Here, the potentials

$$\begin{aligned} \delta _xV_{j,k+\ell }^{n+{\frac{1}{2}}}=\frac{\Delta x}{g}\,f_{k+\ell }\, \mu _x\left( v_{j,k+\ell }^{n+{\frac{1}{2}}}\right) \quad \text{ and }\quad \delta _yU_{j+m,k}^{n+{\frac{1}{2}}}=\frac{\Delta y}{g}\,\mu _y \left( f_ku_{j+m,k}^{n+{\frac{1}{2}}}\right) \qquad \end{aligned}$$
(4.5)

are obtained using the definition of the discrete primitives of the Coriolis forces, (2.5), and \(\mu _x\big (h_{j,k+\ell }^{n+{\frac{1}{2}}}\big )\) and \(\mu _y\big (h_{j+m,k}^{n+{\frac{1}{2}}}\big )\) are computed using the following point values of h:

$$\begin{aligned} \begin{aligned}&h_{j\pm {\frac{1}{2}},k+\ell }^{n+{\frac{1}{2}}}=\frac{1}{g}K^{n+{\frac{1}{2}}}_{j\pm {\frac{1}{2}},k+\ell } -B_{j\pm {\frac{1}{2}},k+\ell }+V^{n+{\frac{1}{2}}}_{j\pm {\frac{1}{2}},k+\ell },&~\ell \in \Big \{-{\frac{1}{2}},0,{\frac{1}{2}}\Big \},\\&h_{j+m,k\pm {\frac{1}{2}}}^{n+{\frac{1}{2}}}=\frac{1}{g}L^{n+{\frac{1}{2}}}_{j+m,k\pm {\frac{1}{2}}} -B_{j+m,k\pm {\frac{1}{2}}}-U^{n+{\frac{1}{2}}}_{j+m,k\pm {\frac{1}{2}}},&~m\in \Big \{-{\frac{1}{2}},0,{\frac{1}{2}}\Big \}. \end{aligned}\qquad \end{aligned}$$
(4.6)

Note that the point values in (4.6) are also used in the computation of the x- and y-momentum fluxes (4.2) and (4.3), respectively. The new velocities \(v_{j\pm {\frac{1}{2}},k+\ell }^{n+{\frac{1}{2}}}\) and \(u_{j+m,k\pm {\frac{1}{2}}}^{n+{\frac{1}{2}}}\) in (4.5) as well as \(K_{j\pm {\frac{1}{2}},k+\ell }^{n+{\frac{1}{2}}}\) and \(L_{j+m,k\pm {\frac{1}{2}}}^{n+{\frac{1}{2}}}\) in (4.6) are predicted by the approximate evolution operator \(E_{\Delta t/2}\) as we explain below (cf. (4.10), (4.11) and (4.14)).

Remark 4.1

The source discretization (4.4) has been shown to yield a well-balanced finite-volume update, see [36]. However, we would like to point out that the intermediate values of the water depth \(h_{j\pm {\frac{1}{2}},k+\ell }^{n+{\frac{1}{2}}},\ h_{j+m,k\pm {\frac{1}{2}}}^{n+{\frac{1}{2}}}\) in (4.6) are now computed carefully from the equilibrium variables K and L and are not evolved by the evolution operator as it has been done in [36]. Note that the new well-balanced evolution operator \(E_{\Delta t/2}\) is derived for the equilibrium variables KLu and v, which is crucial in order to preserve jets in the rotational frame exactly.

Our next aim is to present the well-balanced predictor step. The novelty of the present paper relies on new well-balanced evolution operators that will be applied to the reconstruction \({\widetilde{\varvec{p}}}\) from Sect. 2. To this end, we first split \({\widetilde{\varvec{p}}}\) into the following piecewise constant and piecewise linear parts:

$$\begin{aligned} {\widetilde{\varvec{p}}}(x,y,t^n)={\widetilde{\varvec{p}}}^{\,\mathrm I}(x,y,t^n)+{\widetilde{\varvec{p}}}^{\,\mathrm II}(x,y,t^n), \end{aligned}$$
(4.7)

where

$$\begin{aligned} {\widetilde{\varvec{p}}}^{\,\mathrm I}(x,y,t^n){:}{=}(1-\mu _x^2\mu _y^2)\varvec{p}_{j,k}^n,\quad (x,y)\in C_{j,k}, \end{aligned}$$
(4.8)

and

$$\begin{aligned} {\widetilde{\varvec{p}}}^{\,\mathrm II}(x,y,t^n)\,{:}=\,\mu _x^2\mu _y^2\varvec{p}_{j,k}^n+(\varvec{p}_x)_{j,k}^n(x-x_j)+(\varvec{p}_y)_{j,k}^n(y-y_k),\quad (x,y)\in C_{j,k}.\nonumber \\ \end{aligned}$$
(4.9)

The slopes \((\varvec{p}_x)_{j,k}^n\) and \((\varvec{p}_y)_{j,k}^n\) in (4.9) are computed using the minmod function (see Sect. 2) and \(\mu _x^2\mu _y^2\varvec{p}_{j,k}^n=\big [\varvec{p}_{j+1,k+1}^n+\varvec{p}_{j+1,k-1}^n +\varvec{p}_{j-1,k+1}^n+\varvec{p}_{j-1,k-1}^n+ 2(\varvec{p}_{j+1,k}^n+\varvec{p}_{j,k+1}^n+\varvec{p}_{j-1,k}^n+\varvec{p}_{j,k-1}^n) +4\varvec{p}_{j,k}^n\big ]/16\).

Having split the reconstruction \({\widetilde{\varvec{p}}}\) into the piecewise constant, (4.8), and piecewise linear, (4.9), parts, we now apply two different approximate evolution operators, \(E_{\Delta t/2}^{const}\) and \(E_{\Delta t/2}^{bilin}\), to each of them:

$$\begin{aligned} \varvec{p}^{n+{\frac{1}{2}}}{:}{=}E_{\Delta t/2}\,{\widetilde{\varvec{p}}}^n=E_{\Delta t/2}^{const}\, {\widetilde{\varvec{p}}}^{\,\mathrm I}+E_{\Delta t/2}^{bilin}\,{\widetilde{\varvec{p}}}^{\,\mathrm II}. \end{aligned}$$
(4.10)

Let us denote by \(P\,{:}=\,(x_{j+\ell },y_{k+m},t^{n+{\frac{1}{2}}})\) an arbitrary integration point at the cell interface (\(\ell ,m\in \big \{-{\frac{1}{2}},0,{\frac{1}{2}}\big \}\)) where we need to predict the solution. We also denote by \(u^*\), \(v^*\) and \(c^*\) the local velocities and speed of gravity waves (\(c=\sqrt{gh}\)) at the point \((x_{j+\ell },y_{k+m},t^n)\). For example,

$$\begin{aligned} u^*=\left\{ \begin{array}{ll} \mu _x\mu _yu_{j+\ell ,k+m}^n,&{}~\text{ if }~\ell =\pm {\frac{1}{2}},\,m=\pm {\frac{1}{2}},\\ \mu _xu_{j+\ell ,k+m}^n,&{}~\text{ if }~\ell =\pm {\frac{1}{2}},\,m=0,\\ \mu _yu_{j+\ell ,k+m}^n,&{}~\text{ if }~\ell =0,\,m=\pm {\frac{1}{2}}, \end{array}\right. \end{aligned}$$

and the values of \(v^*\) and \(c^*\) are obtained in a similar manner. Next, we introduce a parameter \(\theta \in (0,2\pi ]\) and denote by \(Q{:}{=}Q(\theta )=\big (x_{j+\ell }-\frac{\Delta t}{2}(u^*-c^*\cos \theta ),y_{k+m}-\frac{\Delta t}{2}(v^*-c^*\sin \theta ),t^n\big )\) points on the so-called sonic circle centered at \(Q_0=(x_{j+\ell }-\frac{\Delta t}{2}u^*,y_{k+m}-\frac{\Delta t}{2}v^*,t^n)\), see Fig. 1.

Fig. 1
figure 1

Bicharacteristic cone used in the evolution operator

Following the approach from [36], we present well-balanced evolution operators for both parts \({\widetilde{\varvec{p}}}^{\,\mathrm I}\) and \({\widetilde{\varvec{p}}}^{\,\mathrm II}\) of the reconstruction (4.7). These approximate evolution operators are derived from the theory of bicharacteristics for multidimensional systems of hyperbolic conservation laws and take into account the entire domain of dependence. This helps to avoid dimensional splitting and thus leads to very accurate and stable algorithms. In what follows, we provide explicit formulae for the well-balanced approximate evolution operators, which together with the finite-volume update (4.1) define the FVEG scheme. We refer the reader to “Appendix A” and [12] for more details on the derivation of the well-balanced approximate evolution operators \(E^{const}_{\Delta t/2}\) and \(E^{bilin}_{\Delta t/2}\) acting on the piecewise constant and piecewise bilinear functions, respectively.

First, we have the following approximate evolution operator \(E_{\Delta t/2}^{const}\) acting on the piecewise constant approximate functions \({\widetilde{\varvec{p}}}^{\,\mathrm I}\) and providing the information at time level \(t^{n+{\frac{1}{2}}}\):

$$\begin{aligned} \begin{aligned} u^{\,\mathrm{I},n+{\frac{1}{2}}}(P)&=\frac{1}{2\pi }\int \limits _0^{2\pi } \left[ -\frac{1}{c^*}{\widetilde{K}}^{\,\mathrm I}(Q)\text{ sgn }(\cos \theta )+ \widetilde{u}^{\,\mathrm I}(Q)\Big (\cos ^2\theta +\frac{1}{2}\Big ) +\widetilde{v}^{\,\mathrm I}(Q)\sin \theta \cos \theta \right] d\theta ,\\ v^{\,\mathrm{I},n+{\frac{1}{2}}}(P)&=\frac{1}{2\pi }\int \limits _0^{2\pi } \left[ -\frac{1}{c^*}\widetilde{L}^{\,\mathrm I}(Q)\text{ sgn }(\sin \theta ) +\widetilde{u}^{\,\mathrm I}(Q)\sin \theta \cos \theta +\widetilde{v}^{\,\mathrm I}(Q)\Big (\sin ^2\theta +\frac{1}{2}\Big )\right] d\theta ,\\ K^{\,\mathrm{I},n+{\frac{1}{2}}}(P)&=\frac{1}{2\pi }\int \limits _0^{2\pi } \left[ \widetilde{K}^{\,\mathrm I}(Q) -c^*\left( \widetilde{u}^{\,\mathrm I}(Q)\text{ sgn }(\cos \theta ) +\widetilde{v}^{\,\mathrm I}(Q)\text{ sgn }(\sin \theta )\right) \right] d\theta \\&\quad \,+g(\widetilde{v}^{\,\mathrm I}(Q_0)-V^{\,\mathrm{I},n+{\frac{1}{2}}}(P)),\\ L^{\,\mathrm{I},n+{\frac{1}{2}}}(P)&=\frac{1}{2\pi }\int \limits _0^{2\pi } \left[ \widetilde{L}^{\,\mathrm I}(Q) -c^*\left( \widetilde{u}^{\,\mathrm I}(Q)\text{ sgn }(\cos \theta ) +\widetilde{v}^{\,\mathrm I}(Q)\text{ sgn }(\sin \theta )\right) \right] d\theta \\&\quad \, -g(\widetilde{u}^{\,\mathrm I}(Q_0)-U^{\,\mathrm{I},n+{\frac{1}{2}}}(P)). \end{aligned} \end{aligned}$$
(4.11)

Here, \(V^{\,\mathrm{I},n+{\frac{1}{2}}}(P)\) and \(U^{\,\mathrm{I},n+{\frac{1}{2}}}(P)\) are the new potential functions computed from the new velocities \(u^{\,\mathrm{I},n+{\frac{1}{2}}}\) and \(v^{\,\mathrm{I},n+{\frac{1}{2}}}\), that is, if \(P=(x_{j+\frac{1}{2}},y_{k+m},t^{n+{\frac{1}{2}}})\) with \(m\in \{-1/2,\,0,\,1/2\}\) then

$$\begin{aligned} V^{\,\mathrm{I},n+{\frac{1}{2}}}(P)=\frac{f_{k+m}}{g}\sum _{i=j_L}^j\frac{\Delta x}{2} \left( v_{i-{\frac{1}{2}},k+m}^{\,\mathrm{I},n+{\frac{1}{2}}}+v^{\,\mathrm{I},n+{\frac{1}{2}}}_{i+{\frac{1}{2}},k+m} \right) . \end{aligned}$$
(4.12)

Analogously, for \(P=(x_{j+\ell },y_{k+\frac{1}{2}},t^{n+{\frac{1}{2}}})\) with \(\ell \in \{-1/2,\,0,\,1/2\}\) we have

$$\begin{aligned} U^{\,\mathrm{I},n+{\frac{1}{2}}}(P)=\frac{1}{g}\sum _{i=k_L}^k \frac{\Delta y}{2}\left( f_{i-{\frac{1}{2}}}u^{\,\mathrm{I},n+{\frac{1}{2}}}_{j+\ell ,i-{\frac{1}{2}}}+f_{i+{\frac{1}{2}}}u^{\,\mathrm{I},n+{\frac{1}{2}}}_{j+\ell ,i+{\frac{1}{2}}}\right) . \end{aligned}$$
(4.13)

Next, the approximate evolution operator \(E_{\Delta t/2}^{bilin}\) acts on piecewise linear data \({\widetilde{\varvec{p}}}^{\,\mathrm II}\) resulting in

$$\begin{aligned}&u^{\,\mathrm{II},n+{\frac{1}{2}}}(P)=\widetilde{u}^{\,\mathrm II}(Q_0) -\frac{1}{\pi }\int \limits _0^{2\pi }\frac{1}{c^*}\widetilde{K}^{\,\mathrm II}(Q)\cos \theta \, d\theta \nonumber \\&\quad +\frac{1}{4}\int \limits _0^{2\pi }\left[ 3\widetilde{u}^{\,\mathrm II}(Q) \cos ^2\theta +3\widetilde{v}^{\,\mathrm II}(Q)\sin \theta \cos \theta - \widetilde{u}^{\,\mathrm II}(Q)-{\frac{1}{2}}\widetilde{u}^{\,\mathrm II}(Q_0)\right] d\theta ,\nonumber \\&v^{\,\mathrm{II},n+{\frac{1}{2}}}(P)=\widetilde{v}^{\,\mathrm II}(Q_0)-\frac{1}{\pi }\int \limits _0^{2\pi }\frac{1}{c^*}\widetilde{L}^{\,\mathrm II}(Q) \sin \theta \, d\theta \nonumber \\&\quad +\frac{1}{4}\int \limits _0^{2\pi }\left[ 3\widetilde{u}^{\,\mathrm II}(Q) \sin \theta \cos \theta +3\widetilde{v}^{\,\mathrm II}(Q)\sin ^2\theta - \widetilde{v}^{\,\mathrm II}(Q)-{\frac{1}{2}}\widetilde{v}^{\,\mathrm II}(Q_0)\right] d\theta ,\nonumber \\&\widetilde{K}^{\,\mathrm{II},n+{\frac{1}{2}}}(P)=\widetilde{K}^{\,\mathrm II}(Q_0) +\frac{1}{4}\int \limits _0^{2\pi }(\widetilde{K}^{\,\mathrm II}(Q)- \widetilde{K}^{\,\mathrm II}(Q_0))d\theta \nonumber \\&\quad -\frac{c^*}{\pi }\int \limits _0^{2\pi }\left( \widetilde{u}^{\,\mathrm II}(Q)\cos \theta + \widetilde{v}^{\,\mathrm II}(Q)\sin \theta \right) d\theta \nonumber \\&\quad +\frac{\Delta t}{4\pi }\int \limits _0^{2\pi }\left[ u^*(\widetilde{K}^{\,\mathrm II}_x(Q)-g\widetilde{h}^{\,\mathrm II}_x(Q)) +v^*(\widetilde{K}^{\,\mathrm II}_y(Q)-g\widetilde{h}^{\,\mathrm II}_y(Q)) \right] d\theta \nonumber \\&\quad +g(\widetilde{v}^{\,\mathrm II}(Q_0) -V^{\,\mathrm{II},n+{\frac{1}{2}}}(P))\nonumber \\&\widetilde{L}^{\,\mathrm{II},n+{\frac{1}{2}}}(P)=\widetilde{L}^{\,\mathrm II} (Q_0)+\frac{1}{4}\int \limits _0^{2\pi }(\widetilde{L}^{\,\mathrm II}(Q)- \widetilde{L}^{\,\mathrm II}(Q_0))d\theta \nonumber \\&\quad -\frac{c^*}{\pi }\int \limits _0^{2\pi }\left( \widetilde{u}^{\,\mathrm II}(Q)\cos \theta + \widetilde{v}^{\,\mathrm II}(Q)\sin \theta \right) d\theta \nonumber \\&\quad +\frac{\Delta t}{4\pi }\int \limits _0^{2\pi }\left[ u^*(\widetilde{L}^{\,\mathrm II}_x(Q)-g\widetilde{h}^{\,\mathrm II}_x(Q)) +v^*(\widetilde{L}^{\,\mathrm II}_y(Q)\right. \nonumber \\&\quad \left. -g\widetilde{h}^{\,\mathrm II}_y(Q)) \right] d\theta -g(\widetilde{u}^{\,\mathrm II}(Q_0)-U^{\,\mathrm{II},n+{\frac{1}{2}}}(P)). \end{aligned}$$
(4.14)

As before, the new potentials \(V^{\,\mathrm{II},n+{\frac{1}{2}}}(P)\) and \(U^{\,\mathrm{II},n+{\frac{1}{2}}}(P)\) are to be computed using (4.12) and (4.13).

The FVEG scheme (4.1)–(4.4), (4.10), (4.11), (4.14) with the linear reconstruction (2.8), (2.11) yield the second-order FVEG scheme. The first-order FVEG scheme is obtained by combining the finite-volume update (4.1)–(4.4) with the evolution operator (4.11) which now acts only on piecewise constant data \({\varvec{p}}_{j,k}\), i.e. \(\widetilde{\varvec{p}}^I\Big |_{C_{j,k}} \equiv \varvec{p}_{j,k}\) and \(\widetilde{\varvec{p}}^{II}\Big |_{C_{j,k}} \equiv 0.\) We now prove that both the first-order FVEG scheme (4.1)–(4.4), (4.11) and the second-order FVEG scheme (4.1)–(4.4), (4.10), (4.11), (4.14) with the linear reconstruction (2.8), (2.11) are indeed well-balanced.

Theorem 4.1

Suppose that the discrete initial data satisfy one of the geostrophic equilibrium conditions (1.7) or (1.8). Then both evolution operators \(E_{\Delta t/2}^{const}\) in (4.11) and \(E_{\Delta t/2}^{bilin}\) in (4.14) are well-balanced, that is, the predicted solution \({\varvec{p}}^{n+{\frac{1}{2}}}=E_{\Delta t/2}{\widetilde{\varvec{p}}}^n\) is in the same geostrophic equilibrium.

Proof

We assume that the discrete initial data satisfy (1.7) (in the case it satisfies (1.8), the proof is completely analogous).

We begin with showing that the operator \(E_{\Delta t/2}^{const}\) is well-balanced. To this end, we follow [36, Theorem 3.1] and simplify (4.11). We first notice that for the data satisfying (1.7)

$$\begin{aligned} \begin{aligned}&\int \limits _0^{2\pi }\widetilde{v}^{\,\mathrm I}(Q) \sin \theta \cos \theta \,d\theta = \int \limits _0^{2\pi }\widetilde{v}^{\,\mathrm I}(Q) \text{ sgn }(\sin \theta )\,d\theta =0,\\&\int \limits _0^{2\pi }\widetilde{K}^{\,\mathrm I}(Q) \text{ sgn }(\cos \theta )\,d\theta = \int \limits _0^{2\pi }\widetilde{L}^{\,\mathrm I}(Q) \text{ sgn }(\sin \theta )\,d\theta =0. \end{aligned} \end{aligned}$$

We also point out that for the data satisfying (1.7), \(Q_0=(x_{j+\ell },y_{k+m}-\frac{\Delta t}{2}v^*,t^n)\) and therefore,

$$\begin{aligned} \frac{1}{2\pi }\int \limits _0^{2\pi }\widetilde{v}^{\,\mathrm I}(Q)\Big (\sin ^2\theta +\frac{1}{2}\Big )d\theta = {\frac{1}{2}}\big [\widetilde{v}^{\,\mathrm I}(Q_0+)+\widetilde{v}^{\,\mathrm I}(Q_0-)\big ], \end{aligned}$$

where \(\widetilde{v}^{\,\mathrm I}(Q_0+)\) and \(\widetilde{v}^{\,\mathrm I}(Q_0-)\) are the right and left limiting values of the reconstructed velocity \(\widetilde{v}^{\,\mathrm I}\) at the point \(Q_0\), which are independent of y. Using the above identities in (4.11) yields the simplified approximate evolution operator, valid for the jet in the rotational frame (1.7):

$$\begin{aligned} \begin{aligned}&u^{\,\mathrm{I},n+{\frac{1}{2}}}(P)=0,\qquad v^{\,\mathrm{I},n+{\frac{1}{2}}}(P) ={\frac{1}{2}}\big [\widetilde{v}^{\,\mathrm I}(Q_0+)+\widetilde{v}^{\,\mathrm I} (Q_0-)\big ],\\&K^{\,\mathrm{I},n+{\frac{1}{2}}}(P)=\frac{1}{2\pi }\int \limits _0^{2\pi } \widetilde{K}^{\,\mathrm I}(Q)\,d\theta ,\quad L^{\,\mathrm{I},n+{\frac{1}{2}}}(P)=\frac{1}{2\pi }\int \limits _0^{2\pi } \widetilde{L}^{\,\mathrm I}(Q)\,d\theta . \end{aligned} \end{aligned}$$

It is now easy to see that \(v^{\,\mathrm{I},n+{\frac{1}{2}}}_y\equiv L^{\,\mathrm{I},n+{\frac{1}{2}}}_y\equiv 0\) and \(K^{\,\mathrm{I},n+{\frac{1}{2}}}\equiv \mathrm{Const}\). Hence, \(V^{\,\mathrm{I},n+{\frac{1}{2}}}_y\equiv 0\) and taking into account (4.6), \(h^{\,\mathrm{I},n+{\frac{1}{2}}}_y\equiv 0\) as well. Consequently, all of the equilibrium conditions in (1.7) hold for the predicted solution values.

Next, we prove that the operator \(E_{\Delta t/2}^{bilin}\) is also well-balanced (note that this part of the proof has not been presented in [36]). It follows from (4.9) that for the data satisfying (1.7), the reconstructed functions used in \(E_{\Delta t/2}^{bilin}\) are

$$\begin{aligned} \begin{aligned}&\widetilde{u}^{\,\mathrm II}(x,y,t^n)\equiv 0,\quad \widetilde{v}^{\,\mathrm II}(x,y,t^n)=\mu _x^2v_{j,k}^n+(v_x)_{j,k}^n(x-x_j),\\&\widetilde{K}^{\,\mathrm II}(x,y,t^n)\equiv \mathrm{Const},\quad \widetilde{L}^{\,\mathrm II}(x,y,t^n)=\mu _x^2L_{j,k}^n+(L_x)_{j,k}^n(x-x_j), \end{aligned} \qquad x\in (x_{j-\frac{1}{2}},x_{j+\frac{1}{2}}), \end{aligned}$$

where \(v_{j,k}^n\), \(L_{j,k}^n\), \((v_x)_{j,k}^n\) and \((L_x)_{j,k}^n\) are independent of k. Now substituting these interpolants into (4.14) and simplifying the resulting expressions, we obtain for the data satisfying (1.7):

$$\begin{aligned} \begin{aligned} u^{\,\mathrm{II},n+{\frac{1}{2}}}(P)&=-\frac{1}{\pi }\int \limits _0^{2\pi } \frac{1}{c^*}\widetilde{K}^{\,\mathrm II}(Q)\cos \theta \,d\theta +\frac{3}{4}\int \limits _0^{2\pi }\widetilde{v}^{\,\mathrm II}(Q) \sin \theta \cos \theta \,d\theta =0,\\ v^{\,\mathrm{II},n+{\frac{1}{2}}}(P)&=\widetilde{v}^{\,\mathrm II}(Q_0) -\frac{1}{\pi }\int \limits _0^{2\pi }\frac{1}{c^*}\widetilde{L}^{\,\mathrm II}(Q)\sin \theta \, d\theta \\&\quad +\frac{1}{4}\int \limits _0^{2\pi }\left[ 3\widetilde{v}^{\,\mathrm II}(Q)\sin ^2\theta -\widetilde{v}^{\,\mathrm II}(Q)- {\frac{1}{2}}\widetilde{v}^{\,\mathrm II}(Q_0)\right] d\theta ,\\&=\Big (1-\frac{\pi }{4}\Big )\widetilde{v}^{\,\mathrm II}(Q_0) +\frac{\pi }{8}\big [\widetilde{v}^{\,\mathrm II}(Q_0+)+\widetilde{v}^{\,\mathrm II}(Q_0-)\big ]\\&= {\frac{1}{2}}\big [\widetilde{v}^{\,\mathrm II}(Q_0+)+\widetilde{v}^{\,\mathrm II}(Q_0-)\big ], \end{aligned} \end{aligned}$$

where we set \(\widetilde{v}^{\,\mathrm II}(Q_0){:}{=}{\frac{1}{2}}\big [\widetilde{v}^{\,\mathrm II}(Q_0+)+\widetilde{v}^{\,\mathrm II}(Q_0-)\big ]\) and, as before, denote by \(\widetilde{v}^{\,\mathrm II}(Q_0+)\) and \(\widetilde{v}^{\,\mathrm II}(Q_0-)\) the right and left limiting values of the reconstructed velocity \(\widetilde{v}^{\,\mathrm II}\) at the point \(Q_0\), which are independent of y. Further, for the time evolution of the potentials we have

$$\begin{aligned} \begin{aligned} \widetilde{K}^{\,\mathrm{II},n+{\frac{1}{2}}}(P)&=\widetilde{K}^{\,\mathrm II}(Q_0)- \frac{c^*}{\pi }\int \limits _0^{2\pi }\widetilde{v}^{\,\mathrm II}(Q) \sin \theta \,d\theta +g(\widetilde{v}^{\,\mathrm II}(Q_0)-V^{\,\mathrm{II},n+{\frac{1}{2}}}(P))\\&=\widetilde{K}^{\,\mathrm II}(Q_0),\\ \widetilde{L}^{\,\mathrm{II},n+{\frac{1}{2}}}(P)&=\widetilde{L}^{\,\mathrm II}(Q_0) +\frac{1}{4}\int \limits _0^{2\pi }(\widetilde{L}^{\,\mathrm II}(Q)- \widetilde{L}^{\,\mathrm II}(Q_0))d\theta -\frac{c^*}{\pi }\int \limits _0^{2\pi }\widetilde{v}^{\,\mathrm II}(Q)\sin \theta \,d\theta \\&=\Big (1-\frac{\pi }{2}\Big )\widetilde{L}^{\,\mathrm II}(Q_0) +\frac{\pi }{4}\big [\widetilde{L}^{\,\mathrm II}(Q_0+)+\widetilde{L}^{\,\mathrm II}(Q_0-)\big ]\\&= {\frac{1}{2}}\big [\widetilde{L}^{\,\mathrm II}(Q_0+)+\widetilde{L}^{\,\mathrm II}(Q_0-)\big ], \end{aligned} \end{aligned}$$

where we again define \(\widetilde{L}^{\,\mathrm II}(Q_0){:}{=}{\frac{1}{2}}\big [\widetilde{L}^{\,\mathrm II}(Q_0+)+\widetilde{L}^{\,\mathrm II}(Q_0-) \big ]\) and denote by \(\widetilde{L}^{\,\mathrm II}(Q_0+)\) and \(\widetilde{L}^{\,\mathrm II} (Q_0-)\) the right and left limiting values of the reconstructed potential \(\widetilde{L}^{\,\mathrm II}\) at the point \(Q_0\), which are independent of y. As in the constant case, it is now easy to see that the equilibrium conditions (1.7) hold also for the predicted solution values. This completes the proof of Theorem 4.1. \(\square \)

Applying Theorems 2.1 and 4.1 as well as [36, Theorem 2.1], where the well-balanced property for the finite-volume update (4.1)–(4.4) was proved, we finally have the following result.

Theorem 4.2

Suppose that the discrete initial data satisfy one of the geostrophic equilibrium conditions (1.7) or (1.8). Then the solution computed by either the first- or second-order FVEG scheme also satisfies these conditions, that is, the FVEG schemes (4.1)–(4.4) with the evolution operators \(E_{\Delta t/2}^{const}\) (4.11) and \(E_{\Delta t/2}^{bilin}\) (4.14) are well-balanced.

5 Numerical examples

In this section, we demonstrate the performance of the developed CU and FVEG schemes on a number of 1-D and 2-D numerical experiments. In all of the examples below, we take the minmod parameter in (2.9) to be either \(\theta =1.5\) (for the CU scheme) or \(\theta =1\) (for the FVEG scheme) and the CFL number either 0.5 (for the CU scheme) or 0.6 (for the FVEG scheme). Our numerical experiments indicate that these choices of parameters yield the most accurate and stable results.

5.1 One-dimensional examples

Example 1—Geostrophic Steady State. In the first example taken from [8], the computational domain is \([-5,5]\), the bottom topography is flat (\(B\equiv 0\)), \(f=10\), \(g=1\), and the flow is initially at the geostrophic equilibrium with

$$\begin{aligned} K(x)\equiv 2,\quad u(x)\equiv 0,\quad v(x)=\frac{2g}{f} x e^{-x^2}. \end{aligned}$$

At the boundary, a zero-order extrapolation is used. Both well-balanced schemes presented in the paper—the CU and FVEG ones—preserve this steady state within the machine accuracy.

In order to illustrate the essential role of the proposed well-balanced reconstruction, we also present the results obtained by the non-well-balanced versions of the CU and FVEG schemes, obtained by replacing the well-balanced reconstruction in Sect. 2 with the standard piecewise linear reconstruction of the conservative variables. In Figs. 2 and 3, we plot the equilibrium variables u and K, computed using a uniform grid with 200 cells at time \(T=200\) by the well-balanced CU scheme together with the same quantities computed by non-well-balanced CU and FVEG schemes. As one can clearly see, the non-well-balanced schemes are capable of preserving the geostrophic steady state within the size of the local truncation errors only.

Fig. 2
figure 2

Example 1: equilibrium variables (\(u\equiv 0\), \(K\equiv 2\)) computed by the well-balanced (solid line) and non-well-balanced (solid line with dots) CU schemes

Fig. 3
figure 3

Example 1: same as in Fig. 2, but using the non-well-balanced FVEG scheme

Remark 5.1

We would like to note that if the FVEG scheme uses a non-well-balanced reconstruction together with a standard, non-well-balanced evolution operator, the error in the computing geostrophic steady states will be much larger.

Example 2—Geostrophic Steady State with a Periodic Bottom. We now take the same computational domain \([-5,5]\), but use periodic boundary conditions. The bottom topography is given by

$$\begin{aligned} B(x)=\frac{f}{g}\sin \left( \frac{\pi }{5}x\right) ,\quad f=1=g, \end{aligned}$$

and the flow is initially at the geostrophic equilibrium, namely:

$$\begin{aligned} K(x)\equiv 1,\quad v(x)=\frac{\pi }{5}\cos \left( \frac{\pi }{5} x\right) ,\quad u(x)\equiv 0. \end{aligned}$$

The periodic boundary conditions are implemented in the following way. We use two ghost cells on both sides of the computational domain for the variables u, v, h and B, which are periodic. However, the potential V as well as the equilibrium variable K are not necessarily periodic and thus should be treated in a different way: We only assign their values at the ghost cell \(C_0\) by setting \(V_0{:}{=}\frac{\Delta x}{2}(v_{-1}+v_0)\) and then computing \(K_0\) from (1.6).

As in Example 1, the well-balanced CU scheme as well as the well-balanced FVEG scheme preserves this steady state within the machine accuracy. At the same time, their versions that use a non-well-balanced piecewise linear reconstruction lead to appearance of the artificial waves. This can be seen in Figs. 4 and 5, where we plot the equilibrium variables u and K, computed using a uniform grid with 200 cells at time \(T=200\) by the well-balanced CU scheme together with the same quantities computed by non-well-balanced CU (Fig. 4) and FVEG (Fig. 5) schemes. For both schemes, the amplitudes of the artificial waves are proportional to the size of the local truncation errors.

Fig. 4
figure 4

Example 2: equilibrium variables (\(u\equiv 0\), \(K\equiv 1\)) computed by the well-balanced (solid line) and non-well-balanced (solid line with dots) CU schemes

Fig. 5
figure 5

Example 2: same as in Fig. 4, but using the non-well-balanced FVEG scheme

Example 3—Rossby Adjustment in an Open Domain. In this example taken from [6] (see also [8, 36]) we numerically solve the 1-D system (1.9), (1.10) subject to the following initial data:

$$\begin{aligned} h(x,0)\equiv 1,\quad u(x,0)\equiv 0,\quad v(x,0)=2N_2(x), \end{aligned}$$

where

$$\begin{aligned} N_2(x)=\frac{(1+\tanh (2x+2))(1-\tanh (2x-2))}{(1+\tanh (2))^2}. \end{aligned}$$

The bottom topography is flat (\(B\equiv 0\)), \(f=g=1\), and the boundary conditions are set to be a zero-order extrapolation at both sides of the computational domain \([-250,250]\).

We compute the solution of this problem by both well-balanced CU and FVEG schemes using 20000 uniform cells. Time evolution of the water depth is shown in Fig. 6. As one can see, the results obtained by both proposed schemes are very similar. We also show long time evolution of the values of fv and \(gh_x\), computed by the well-balanced CU scheme (the FVEG results are practically the same and we thus do not show them). In this example, the solution is expected to converge to a geostrophic steady state, at which these quantities are supposed to be equal. However, as it was pointed out in [6], some wave modes have almost zero group-velocity and stay for long time in the core of the jet. Therefore, the convergence to the geostrophic equilibrium is quite slow, see Fig. 7.

Fig. 6
figure 6

Example 3: time evolution of h computed by the well-balanced CU (\(\circ \)’s) and FVEG (\(\times \)’s) schemes

Fig. 7
figure 7

Example 3: long time evolution of fv (dashed-dotted line) and \(gh_x\) (solid line) computed by the well-balanced CU scheme

5.2 Two-dimensional examples

Example 4—Geostrophic Jet. In this example, we test the well-balanced and non-well-balanced FVEG schemes on a general 2-D geostrophic jet. The computational domain is \([-10,10]\times [-10,10]\), the bottom topograph is flat (\(B\equiv 0\)) and \(f=1=g\). We consider the initial conditions

$$\begin{aligned}&h(x,y,0)=1+ \dfrac{1}{4} \left[ 1-\tanh \left( 10\big (\sqrt{2.5x^2+0.4y^2}-1\big )\right) \right] ,\\&u(x,y,0)=\frac{1}{\sqrt{2.5x^2+0.4y^2}}\left[ \left( 1 -\left( \tanh \left( 10\sqrt{2.5x^2+0.4y^2}-10\right) \right) ^2\right) y\right] ,\\&v(x,y,0)\\&\quad =-\frac{1}{\sqrt{2.5x^2+0.4y^2}}\left[ 6.25\left( 1 -\left( \tanh \left( 10 \sqrt{2.5x^2+0.4y^2}-10 \right) \right) ^2\right) x\right] , \end{aligned}$$

which, as one can easily check, satisfy the equilibrium conditions (1.5).

We would like to point out that the well-balanced reconstruction presented in Sect. 2 as well as the well-balanced evolution operators (4.11), (4.14) are constructed in such a way that they preserve two particular jets in the rotational frame, (1.7) and (1.8), only. Nevertheless, the well-balanced finite-volume schemes developed in this paper also approximate general 2-D geostrophic jets in a more accurate and stable way than their non-well-balanced counterparts. To demonstrate this, we present, in Fig. 8, a long time evolution of \(K_x\) and \(L_y\), computed using a coarse uniform mesh with \(50\times 50\) cells.

Fig. 8
figure 8

Example 4: long time evolution of the \(L^2\)-norm of \(K_x\) and \(L_y\) computed by the second-order well-balanced (solid line) and non-well-balanced (dashed line) FVEG schemes. To plot these curves, we have used a cubic smoothing spline representation

Example 5—Stationary Vortex. In the last numerical experiment, which is a slight modification of the test problem proposed in [2], we consider a stationary vortex in the square domain \([-1,1]\times [-1,1]\) with the boundary conditions set to be a zero-order extrapolation in both x- and y-directions. We take the flat bottom topography \((B\equiv 0)\), \(f=1/\varepsilon \) and \(g=1/\varepsilon ^2\) with \(\varepsilon =0.05\), which correspond to a low Mach number regime (see [2]), and the following initial conditions:

$$\begin{aligned} h(r,0)= & {} 1+\varepsilon ^2\left\{ \begin{array}{lc}\dfrac{5}{2} (1+5\varepsilon ^2)r^2,&{}~r<\dfrac{1}{5}\\[2ex] \dfrac{1}{10}(1+5\varepsilon ^2)+2r-\dfrac{3}{10}-\dfrac{5}{2} r^2+\varepsilon ^2(4\ln (5r)+\dfrac{7}{2}-20r+\dfrac{25}{2}r^2),&{} ~\dfrac{1}{5}\le r<\dfrac{2}{5},\\ \dfrac{1}{5}(1-10\varepsilon ^{2}+4\varepsilon ^2\ln 2),&{}~r\ge \dfrac{2}{5},\end{array}\right. \\ u(x,y,0)= & {} -\varepsilon y\Upsilon (r),\quad v(x,y,0) =\varepsilon x\Upsilon (r),\quad \Upsilon (r){:}{=} \left\{ \begin{array}{lc}5,&{}~r<\dfrac{1}{5}\\ \dfrac{2}{r}-5,&{}~\dfrac{1}{5}\le r<\dfrac{2}{5},\\ 0,&{}~r\ge \dfrac{2}{5},\end{array}\right. \end{aligned}$$

where \(r{:}{=}\sqrt{x^2+y^2}\).

We compute the numerical solutions by both the well-balanced and non-well-balanced schemes. In the following, we present the results obtained by the CU schemes using a \(200\times 200\) grid. The time evolution of the errors, \(||h(x,y,0)-h(x,y,t)||_{L^2}\), presented in Fig. 9 clearly demonstrates that our well-balanced method outperforms the non-well-balanced one. Indeed, as time evolves the error of the non-well-balanced CU scheme increases considerably in comparison with the well-balanced CU scheme. This fact is also demonstrated in Fig. 10, where the corresponding numerical solutions at time \(T=10\) are presented. One can clearly see the structural deficiency of the non-well-balanced solution that does not preserve the circular symmetry of the vortex, which is dissipated much more when the non-well-balanced CU scheme is used. We note that though the considered stationary vortex is not a discrete steady state of the well-balanced CU scheme, it preserves the initial vortex structure in a much better way.

Fig. 9
figure 9

Example 5: comparison of time evolution of the \(L^2\)-errors obtained by the well-balanced and non-well-balanced CU schemes

Fig. 10
figure 10

Example 5: stationary vortex computed at \(T=10\) by the well-balanced (left) and non-well-balanced (right) CU schemes. Top view (top row) and the 1-D slice along \(y=0\) (bottom row)

6 Conclusions

In this paper, we have studied preservation of nontrivial equilibrium states, the so-called jets in the rotational frame (1.7), (1.8) that appear in the shallow water equations with the Coriolis forces. This is a model typically used in the oceanographic applications. We would like to point out that in comparison with the lake at rest equilibria (\(h+B\equiv \text{ Const }, u\equiv v\equiv 0\)), the geostrophic equilibria (1.7), (1.8) are much harder to preserve since some of the equilibrium variables are now globally defined potentials.

In Sect. 2, we have derived a new second-order well-balanced reconstruction and proved that it yields well-balanced schemes. In order to illustrate a generality of our approach, we have shown how the new well-balanced reconstructions can be incorporated into the framework of the central-upwind and finite-volume evolution Galerkin schemes. It should also be pointed out that for the latter scheme the evolution operator has been carefully derived to evolve the equilibrium variables. We have proven that the proposed schemes exactly preserve jets in the rotational frame steady states (1.7), (1.8). The importance of this property has been illustrated in a number of numerical examples, where small perturbations of the steady states have been considered. Furthermore, we have shown that although our well-balanced finite-volume methods do not preserve general 2-D geostrophic jets exactly, they still approximate them more accurately than the corresponding non-well-balanced finite-volume schemes. We believe that the proposed approach can be extended to multilayer shallow water equations, for which we have already developed the second-order central-upwind [10, 28] and finite-volume evolution Galerkin [13] schemes.