A Lagrangian numerical model is used to simulate upwelling in an idealized large lake. This simulation is carried out to test the model's potential for simulating lake and ocean circulations.
The model is based on the slippery sack (SS) method that was recently developed by the authors. It represents the lake as a pile of conforming sacks. The motions of the sacks are determined using Newtonian dynamics. The model uses gravity wave retardation to allow for long time steps and has pseudo-Eulerian vertical mixing.
The lake is exposed to northerly winds for 29 h. Upwelling develops in the eastern edge of the basin, and after the winds shut off, upwelling fronts propagate around the lake. This case was previously simulated using a height- and sigma-coordinate ocean model. The SS model produces circulations that are similar to those produced by the other models, but the SS simulation exhibits less mixing.
In this study we modify our slippery sack (SS) free-surface fluid model (Haertel and Randall 2002, hereafter HR02) and use it to simulate upwelling in an idealized large lake. This simulation is carried out to test the model's potential for simulating lake and ocean circulations. In this section we review the SS method, discuss the potential merits of an SS ocean model, and explain why we select lake upwelling as a test problem.
a. The SS method
The SS method is a Lagrangian numerical method that has similarities with both smoothed particle hydrodynamics (Monaghan 1992) and oceanic applications of the particle-in-cell method (e.g., Pavia and Cushman-Roisin 1988). Under the SS method a fluid is represented as a pile of conforming sacks (e.g., Fig. 1). The sacks are assigned a stacking order that specifies their relative vertical positions and is usually defined so that density is a nonincreasing function of height. Horizontal positions xi and velocities vi of sacks are determined using Newtonian dynamics:
where i is the sack index, t is time, f is the Coriolis parameter, k is the unit vector in the vertical, Fpi is the horizontal force on sack i resulting from pressure, Dvi is the diffusive tendency of velocity, which represents momentum transports by subsack-scale processes, and Mi is the mass of sack i. Equations (1) and (2) are easily stepped forward in time (e.g., by Adams–Bashforth time differencing); the challenge of solving them is diagnosing Fpi and Dvi.
Each slippery sack is assumed to have a horizontal mass distribution mi(x′) that is constant with respect to time in the sack's frame of reference (x′ denotes horizontal position relative to the sack center). Each sack is also assumed to have a spatially uniform in situ density ρi. It follows that a sack's vertical thickness Hi is
and the horizontal force on a sack resulting from hydrostatic pressure is
where the integral is evaluated over the horizontal projection of sack i, g is gravity, k is the total number of sacks, sacks with lower indices lie below sacks with higher indices, b is the height of the bottom topography, and A is the horizontal area measure [this equation is a variant of Eq. (7) in HR02 that was adapted to include bottom topography]. Equation (4) may be approximated with a Riemann sum, which leads to the conservation of energy in the limit as the time step approaches zero and requires O(k) operations to evaluate for k sacks (HR02).
Equations (1)–(4) are not derived from equations of motion for a continuous fluid; rather, they are derived by making a few assumptions about sack properties and applying Newton's second law to each sack (HR02). However, it turns out that solutions to (1)–(4) approximate solutions to the equations of motion for an incompressible, hydrostatic fluid having a free surface. HR02 use (1)–(4) to simulate a nonlinear deformation, internal and external gravity waves, and Rossby waves, and they compare the SS solutions to analytic and high-resolution finite-difference solutions for continuous fluids. For each test case, the SS solutions rapidly converge to the control solution as sack sizes are reduced. For example, Fig. 2 shows the dependence of the normalized velocity difference from the control for SS simulations of gravity waves within a two-layer system. The velocity difference is approximately proportional to the square of sack width; that is, the SS method is found to be second-order accurate.
In this study we incorporate diffusion, time-dependent sack densities, and tracers other than density into the SS method. In addition to adding the term Dvi to (2), we include the following generic tracer diffusion equation:
where s denotes an arbitrary tracer and Ds denotes the diffusive tendency of s (see section 3 for a discussion of calculating diffusive tendencies). When (5) is used to diffuse active tracers such as temperature and salinity, sack densities can change, and they are diagnosed with an equation of state. For example, for the upwelling simulation, which is for a freshwater lake, temperature is diffused and density is diagnosed using the United Nations Educational, Scientific, and Cultural Organization (UNESCO) equation of state for pure water (e.g., Gill 1982, p. 599). While we have never tested an equation of state having a pressure dependence, in theory, incorporating such a dependence would be straightforward and, in that case, (1)–(5) would approximate the primitive equations. Note that (1)–(5) do not invoke the Boussinesq approximation; a sack's horizontal acceleration depends on its density.
b. The potential merits of an SS ocean model
The primary advantage of the SS model over existing ocean models is that it has negligible advection errors. To illustrate this point we present an SS simulation of a simple tracer advection problem and compare it to a finite-difference solution. Consider a two-dimensional pool of water 1 m deep and 20 m across in a periodic domain. Suppose that there is a tracer within the water having a Gaussian distribution in x with a radius of 2 m. Suppose also that the water has a uniform velocity of 1 m s−1 in the positive x direction and that there is no tracer diffusion. This problem has an analytic solution; the tracer distribution maintains its shape as it moves with the water. Since the domain is periodic, after 20 s the tracer distribution is identical to the initial condition.
For the SS simulation of this problem we represent the water as a pile of 40 sacks (Fig. 3a), each having a maximum depth of 1 m, a radius of 0.5 m, an initial velocity of 1 m s−1, and a tracer concentration equal to the value of the Gaussian distribution at the sack's center (Fig. 3b). We solve (1)–(5) using forward time differencing with a time step of 0.001 s (the time differencing introduces no errors in this case, but a small time step is used so that identical time differencing may be used for the finite-difference solution to produce negligible time-differencing errors). The SS simulation behaves just like the analytic solution (Figs. 3b–d); the tracer distribution maintains its shape, moves in the positive x direction at 1 m s−1, and at 20 s (Fig. 3d) it is the same as the initial distribution (Fig. 3b). Although round-off errors produce tiny deviations in sack positions at 20 s from their initial positions, the histogram of the tracer is exactly conserved. In contrast, a finite-difference solution having 40 grid points, second-order centered spatial differencing, and the same time differencing degrades steadily with time (Figs. 3c,d). It exhibits unphysical negative tracer values and a reduced tracer maximum, and the tracer is advected too slowly.
In addition to having negligible advection errors, the SS method also has the following appealing properties: 1) it does not require horizontal diffusion or filtering for numerical stability, 2) it represents lower and lateral boundaries in a simple and natural way, and 3) its computational efficiency is competitive with Eulerian models. These properties would appear to make the SS method well suited for lake and ocean simulations, which are computationally intensive and are known to be adversely affected by advection errors, excessive mixing, and boundary-related errors (e.g., Roberts et al. 1996; Pacanowski and Gnanadesikan 1998; Griffies et al. 2000; Beletsky and Schwab 2001). Of course, there are potential disadvantages of an SS ocean model as well, and these are discussed in section 5.
c. Lake upwelling: A good test problem
In this paper we use our SS model to simulate upwelling in an idealized large lake. The case we select was previously simulated by Beletsky et al. (1997) using both a z- and σ-coordinate ocean model. The lake, which sits in a parabolic basin, is exposed to a surface wind stress forcing that lasts 29 h. Upwelling develops in response to the forcing, and, after the forcing shuts off, upwelling fronts propagate around the lake. This case provides a good test of the SS method's potential for simulating lake and ocean circulations for the following reasons: 1) it is a simple example of the response of a body of water to a surface wind stress forcing, 2) the lake has variable bottom topography, 3) the response involves internal gravity wave dynamics and boundary currents, and 4) unlike an ocean simulation, the upwelling simulation does not require open boundary conditions.
In order to adapt the SS model for the upwelling simulation we make it more computationally efficient and we implement vertical diffusion. These changes are described in sections 2 and 3, respectively. The upwelling simulation is presented in section 4, section 5 is a discussion, and section 6 is a summary.
2. Computing efficiently
The following “back-of-the-envelope” calculation suggests that the SS model should require about 1–2 times as much computer processing per sack per time step as a typical Eulerian model requires per grid point per time step. The SS model spends most of its time calculating the pressure force on sacks. This requires evaluating the sack thickness gradient 36 times per sack [we approximate (4) using a Riemann sum having six points per sack width in each horizontal dimension]. The analog in an Eulerian model, evaluating the pressure gradient at a grid point, requires only a single calculation for each grid point. The latter makes up a few percent of the total computations required for a grid point (which include calculating advective and diffusive fluxes for momentum and tracers in all directions). Thus, the SS model should require about the same amount of time to evaluate the pressure force on a sack as a typical Eulerian model requires to complete all calculations for a grid point. Excluding the pressure-force calculation, the SS model requires fewer computations per sack than an Eulerian model requires per grid point; for the SS model advection is trivial and horizontal diffusion is not required for many applications.
The SS model described in HR02 was not even close to being as fast as the above calculation predicts, but since that paper was written we have made four changes to the model that have made it about 600 times faster for most lake and ocean applications, and its speed is now approaching that predicted. These changes are described below.
a. Split time differencing
The time derivative in (2) may be partitioned into three components: the Coriolis acceleration, the pressure acceleration, and the diffusive tendency. Formerly, the SS model used second-order Adams–Bashforth time differencing for all components. The current model uses third-order Adams–Bashforth time differencing for the Coriolis and pressure accelerations and forward time differencing for the diffusive tendency. For the upwelling simulation, the Coriolis and pressure time step is held fixed at 200 s, and the viscous time step is the same during weak winds, but it is reduced (i.e., subcycled) to as low as 50 s during the strongest winds when the coefficient of vertical diffusion is the highest. This allows the model to calculate the pressure force, the most computationally costly part of a time step, as few times as possible.
b. Polynomial mass-distribution function
The sack mass-distribution function used by HR02 is a cosine-squared bell function, and it was selected because it has several appealing properties: 1) it is continuous, 2) it has a continuous horizontal gradient that vanishes at the sack's edges, and 3) it is easy to construct piles that are perfectly level using sacks with this mass distribution. However, this function is computationally expensive because computers approximate trigonometric functions using power series that require many floating point operations to evaluate. The following mass distribution has a similar shape and the same appealing properties, but it requires fewer floating point operations to evaluate:
where rx and ry are the sack radii in the x and y directions, respectively; x′ = (x − xi)/rx, y′ = (y − yi)/ry; and m is nonzero only for |x′| < 1 and |y′| < 1. Evaluating this function and its horizontal gradient at a point requires evaluating two third-order polynomials and two second-order polynomials, a task that modern processors accomplish very quickly (e.g., a 2-gHz Pentium processor can do this about 40 million times per second). Tests have revealed that using this mass distribution instead of the cosine-squared bell function bell changes solutions little, as long the Riemann sum that approximates (4) has a sufficient horizontal resolution (at least six points per sack width in each horizontal dimension).
c. Gravity wave retardation
Under the SS method a pile of sacks has a free surface and supports the rapid oscillations of external gravity waves. In order for these waves to be stable one must use a pressure-acceleration time step on the order of the time it takes a wave to cross a sack radius. Therefore, by reducing the phase speed of external gravity waves, one can increase the maximum stable time step. In this section we show that gravity waves can be slowed under the SS method by gravity wave retardation (GWR), which Jensen (1996, 2001, 2003) used to lengthen time steps by factors of 4–16 in several ocean simulations. One advantage GWR has over mode splitting, an alternative used in some ocean models (e.g., Bleck and Smith 1990; Ezer and Mellor 1997), is that GWR does not require separate solutions for internal and external modes.
To implement GWR one simply reduces the portion of the pressure force associated with the external mode by a constant factor. In (4) the pressure force is decomposed into internal and external components, associated with the first and second terms in brackets, respectively. Multiplying the external component by a positive constant γ yields
Setting γ < 1 slows the phase speed of the external mode by the multiple γ while leaving the phase speeds of internal modes unchanged.
To illustrate the effects of GWR we repeat the gravity wave simulation presented in HR02, using both γ = 1 (no GWR) and γ = 1/2. For this test a two-dimensional fluid comprising two 1-m deep layers with densities ρ1 = 1100 kg m−3 and ρ2 = 1000 kg m−3 is initialized with a lower-layer momentum perturbation that has a Gaussian radius of 1 m and an amplitude of 1 cm s−1. Gravity is set to 1 m s−2, and there is no viscosity or rotation. We represent the fluid using 40 sacks for each layer, each having a radius of 1/2 m, and we approximate (3) using a Riemann sum with a resolution of 1/6 m.
For γ = 1, the solution (Fig. 4a) is very similar to the one presented in HR02 (see their Figs. 5d,f). This is what we expect, since the only differences between the two simulations are the magnitude of the momentum perturbation, the shape of the mass-distribution function, and the resolution of the Riemann sum used to approximate the pressure equation. The momentum perturbation projects onto both internal and external gravity waves. By 5 s, they have propagated away from the center of the domain where the momentum perturbation was originally located (Fig. 4a). The velocity perturbations in the two layers are in (out of) phase for the external (internal) waves, as predicted by linear theory (e.g., Gill 1982, p. 119). When we repeat the simulation setting γ = 1/2 the external waves are slowed by the multiple 1/2, but the internal waves propagate at the same speed (Fig. 4b).
One side effect of GWR is that surface height perturbations associated with balanced external-mode circulations are increased by the factor γ−1. For most lake and ocean applications surface height perturbations are small (tens of centimeters in amplitude), and this amplification is not a problem as long as γ is not too small. For comparison with observations one need only rescale the model surface height perturbations by multiplying by γ (Jensen 1996). Errors in velocities caused by GWR have been found to be small in the open ocean for both baroclinic (Jensen 2001) and barotropic (Jensen 2003) modes for γ > 0.01. Tobis (1996) investigated the impact of GWR on baroclinic instability and found that solutions were fairly accurate provided that the ratio of the modified external to internal radius of deformation remained large, which was the case for γ > 1/64. For the upwelling simulation we use γ = 0.02, which allows increasing the time step by a factor of about 7.
Gravity wave retardation has not yet been thoroughly tested for coastal waters. The increased surface elevation response would most likely influence the magnitude of strong currents in shallow areas (perhaps forcing one to use an even larger value of γ than those discussed above). However, recall that implicit methods also result in large errors when used with a large Courant number (Fig. 6.1 of Mesinger and Arakawa 1976, p. 56). In theory, GWR should not have a large effect on the propagation of shelf waves or topographic waves. For example, the phase speed of the topographic wave is independent of gravity, while the longshore velocity depends on the product of gravity and the surface height gradient (Csanady 1982, p. 131), and this product is unaltered by GWR. The effects of GWR on storm surges have not yet been investigated.
d. Coding/compiling changes
The SS model is coded in C++. A sack's position, velocity, temperature, salinity, mass, and density are represented with the user-defined type sack. A linked list of pointers to sacks is maintained, and this list is sorted by sack density to maintain neutral or stable stratification. Since HR02 was written, we have made the following changes to model's code and the way it is compiled: First, we no longer represent sack position and velocity with user-defined types. The mathematical operations on the built-in types are evaluated much more quickly. Second, the linked list of sack pointers is no longer sorted every time step (i.e., a weakly unstable stratification is allowed for short periods of time). For the upwelling simulation we found that only sorting once per hour changed the simulation little. Third, rather than evaluating (7) for one horizontal position at a time, we now evaluate it for one sack at a time; that is, the value of each of the sums at each horizontal position is maintained in an array. This means that most of the retrievals of sack variables are from the memory cache. Fourth, we now compile the model using the Intel compiler, which produces optimal code for the Pentium 4 processor on which the model is run.
3. Vertical diffusion
One way to parameterize vertical mixing of momentum and tracers by subgrid-scale processes in a lake or ocean model is to calculate height-dependent coefficients of vertical viscosity and tracer diffusivity from vertical profiles of horizontal velocity and temperature/salinity or density (e.g., Pacanowski and Philander 1981; Large et al. 1994; Beletsky et al. 1997). In this section we present an implementation of vertical diffusion for the SS method that was developed to facilitate the use of such parameterizations. The representation of diffusion presented here is used to calculate diffusive tendencies for both velocity [Dvi in (2)] and tracers [Dsi in (5)] in the SS model.
a. Pseudo-Eulerian diffusion
Including vertical diffusion in an Eulerian fluid model is straightforward. For example, a diffusive tendency ∂q/∂t can be set equal to the difference between diffusive fluxes into and out of a grid box divided by the amount of mass in the box:
where i is the vertical index of a grid point, the half indexes denote values at locations halfway between grid points (i.e., at the top and bottom of the grid box), Mi denotes the total mass in the grid box, and Q denotes the vertical diffusive flux, which may be approximated as follows:
where k is the coefficient of diffusion and Δz denotes the difference in the height of grid points i and i + 1.
To implement vertical diffusion under the SS method we simply divide the model domain into vertical columns, associate each sack with the column that its center lies in, and apply the above finite-difference approximation to each column of sacks. We set the column width equal to the sack radius in each dimension, Δz equal to half of the sum of the maximum vertical thicknesses of sacks i and i + 1 (i.e., the vertical distance that would separate the sack centers if they were perfectly aligned), and ρi+1/2 = (ρi + ρi+1)/2. Different diffusion coefficients are used for momentum and tracers (temperature and salinity), and a sack's density is recalculated after each Coriolis/pressure time step (defined in section 2) using an equation of state.
b. Diffusion–advection simulation
To illustrate the above implementation of diffusion, we apply it to a simple problem that involves both diffusion and advection. Consider a two-dimensional fluid 10 m deep and 20 m across on a periodic domain. Suppose that the x velocity of the fluid is 1/2 m s−1 at the top, −1/2 m s−1 at the bottom, and varies linearly in between. Now suppose a tracer is released in the center of the fluid, initially having a Gaussian distribution with a radius of 2 m in each dimension and a maximum value of 10 units.
We compare an SS and a finite-difference solution to this problem. The SS solution uses 200 sacks, each having a radius and a depth of 1 m. A sack's velocity is prescribed to be the value of the linear velocity profile at the vertical midpoint of the sack. The finite-difference solution uses 200 points with Δx = Δz = 1 m. Both solutions use (7)–(8) to represent diffusion, forward time differencing with a very small time step (0.001 s), and k = 1 m2 s−1. The finite-difference solution uses centered differencing to calculate both horizontal and vertical gradients of the tracer.
For both solutions the tracer coverage is sheared horizontally as it spreads vertically (Fig. 5). Owing to advection errors the finite-difference solution contains small regions having negative tracer values (Fig. 5b). In the SS solution the tracer is advected slightly more rapidly (Fig. 5c); this difference is also attributable to advection errors in the finite-difference simulation (see also Figs. 3c,d). Overall, however, the two solutions are quite similar, suggesting that the SS pseudo-Eulerian vertical diffusion behaves similarly to the standard Eulerian finite-difference representation of vertical diffusion. We do not, however, suggest that the former is as accurate as the latter. The SS pseudo-Eulerian diffusion has errors proportional to the first order of the column spacing and the sack height, whereas errors for the Eulerian finite-difference representation of diffusion depend only on the vertical grid spacing Δz and are proportional to Δz and (Δz)2 for nonuniform and uniform grids, respectively. To the extent that the diffusion is used to parameterize mixing processes that are not well understood, using a first-order accurate diffusion scheme for the SS model is not a problem; that is, the uncertainty in the diffusion parameters is greater than the numerical error.
4. The upwelling simulation
In this section we present an SS simulation of upwelling in an idealized large lake. This case was previously simulated using the Princeton Ocean Model (POM; Blumberg and Mellor 1987) and the Dietrich/Center for Air Sea Technology (DieCAST; Dietrich and Ko 1994) model by Beletsky et al. (1997). We compare the SS simulation to these previous simulations.
a. The setting
The lake is 100 m deep, has a diameter of 100 km, and sits in a parabolic basin. The initial temperature distribution is a function of depth only, 20°C above 5 m, 5°C below 15 m, with a constant temperature gradient between 5 and 15 m. The lake is initially motionless and is exposed to northerly winds for 29 h. The amplitude of the wind stress starts at zero, ramps up to 0.3 N m−2 over 18 h, maintains this value for 6 h, and ramps to zero over the next 5 h.
The SS model is initialized by the following procedure. The lake's domain, a box 100 km across in each horizontal dimension and 100 m deep, is divided into rectangular columns having widths dx = dy = 2.5 km. Each column is divided into a stack of 28 boxes with the following vertical dimensions: 6 at 10 m, 2 at 5 m, 4 at 2.5 m, 4 at 1.5 m, 6 at 4/3 m, and 6 at 1 m (listed in ascending order). Each box whose center lies above the lake's bottom is converted to a sack having the same volume as the box and the same horizontal position and temperature as the center of the box. The sack is assigned the horizontal mass distribution defined by (6) with rx = ry = 2.5 km. When the sacks are stacked in the parabolic basin, the lake's surface and isotherms are quite wavy (Fig. 6a). There are two causes for the waves: 1) the collection of boxes is a bumpy approximation of the parabolic lake and 2) converting boxes to sacks redistributes mass in the horizontal. To remove the waves, a 30-day preliminary simulation is run with no wind forcing or Coriolis force and with Newtonion damping of velocity with a time scale of 1 day. The sacks settle and the isotherms flatten (Fig. 6b), and the resulting distribution of sacks is used for the initial condition in the upwelling simulation. Note that this initial condition includes small residual waves. To assess the stability of these waves we ran the model for 15 days without diffusion, wind stress forcing, or damping (but with GWR), starting with this initial condition, and found that the amplitude of the waves remained very small, suggesting that the waves are either stable or perhaps very weakly unstable.
The effective horizontal resolution of the SS simulation is half that of the POM and DieCAST simulations. The SS and DieCAST simulations have similar vertical resolutions, slightly more than twice that of the POM simulation (Beletsky et al. 1997).
c. Numerical details
In order to calculate Fpi we approximate (7) using a Riemann sum with a resolution of 5/6 km, and we set γ = 0.02. Coefficients of vertical viscosity and tracer diffusion are calculated using the Richardson number formulation presented in Beletsky et al. (1997) with α = 25 × 10−3 m3 kg−1 s and K0 = 10−5 m2 s−1. These are the same values used in the DieCAST simulation (W. P. O'Connor 2002, personal communication). Quadratic bottom friction is included with a coefficient of 0.002. The model is run without horizontal diffusion.
The wind stress forcing produces an Ekman layer that transports surface water toward the west. By 29 h the surface layer has deepened in the western edge of the basin, and upwelling has developed in the eastern edge (Fig. 7a). A little numerical noise is apparent in the temperature contours (Fig. 7a), but considering that the SS model has no horizontal diffusion and no filtering to remove such noise, its magnitude is surprisingly small. The temperature distribution in the SS simulation is similar to the temperature distributions produced by the DieCAST model and the POM (Figs. 7b,c). In the SS solution, however, the water is a little cooler in the eastern edge of the basin; the 6°C isotherm intersects the surface a short distance offshore (Fig. 7a), whereas in the POM simulation this isotherm intersects the bottom (Fig. 7b) and in the DieCAST simulation it is closer to the shore (Fig. 7c). This difference between the SS, POM, and DieCAST simulations is also apparent on horizontal cross sections of temperature at the depth of 10 m; the 6°C isotherm encloses a larger area in the SS simulation (Fig. 8a) than it does in the other simulations (Figs. 8b,c). The SS solution probably differs in this way from the POM and DieCAST solutions because it has no horizontal diffusion and no numerical vertical diffusion, whereas the POM and DieCAST simulations each have both parameterized and numerical horizontal diffusion in addition to numerical vertical diffusion.
The similarity between the SS, POM, and DieCAST solutions persists over time. Figures 8d–f show the temperature distribution at 10 m at 120 h for each model. In each of the three simulations the upwelling fronts have propagated counterclockwise around the lake, and the gross structure of the temperature distribution is similar. However, once again the SS solution preserves more of the water masses with temperature extremes; both the 6° and 18°C isotherms enclose larger areas in the SS solution (Fig. 8d) than they do in the POM and DieCAST solutions (Figs. 8e,f).
The comparison of the SS, POM, and DieCAST simulations suggests that the SS model produces circulations similar to those produced by the other models but with less mixing. This result is encouraging since an overly diffuse thermocline has been recognized as a significant problem in numerical lake models (Beletsky and Schwab 2001). We remain optimistic about the SS model's usefulness for simulating lake and ocean circulations, especially for cases in which excessive mixing is detrimental.
In this section we compare the SS model to other models in light of the results presented in this paper. We also mention how we plan to modify the SS model in the near future.
The SS model has advantages over other models with regard to how it handles physical processes and boundaries, and its computational efficiency is competitive with other models.
The primary advantage of the SS model is that it has negligible advection errors. In particular, there is no degradation of temperature, salinity, or momentum distributions. While this characteristic of the model certainly distinguishes it from height- and sigma-coordinate ocean models, it also distinguishes it from isopycnal models (Bleck 1998), which have horizontal advection errors.
2) Vertical mixing
The SS model currently uses pseudo-Eulerian vertical mixing. This means that any vertical mixing scheme used in a height-coordinate model may be adapted to the SS model. One advantage this gives the SS model over isopycnal models is the ability to resolve the mixed layer.
3) Bottom topography
The SS model represents continuous bottom topography in a simple way. This distinguishes it from height-coordinate models that either use step topography or somewhat complicated approximations of continuous topography (e.g., Pacanowski and Gnanadeskikan 1998).
4) Lateral boundaries
Most ocean models have fixed lateral boundaries. This is unrealistic in the sense that if the water is sufficiently perturbed by a large-scale forcing (e.g., as in tides) it can slosh and significantly change its horizontal boundaries. Models that do allow wetting and drying over tidal flats require rather complicated and costly numerical schemes (e.g., Kowalik and Murty 1993). In contrast, the SS model can naturally represent such wetting and drying simply by moving sacks up and down a sloping sea bed.
5) Computational efficiency
The SS model requires slightly more computations per sack than Eulerian models require per grid point, but because it has no numerical diffusion and does not require parameterized horizontal diffusion for numerical stability, it can be run at a lower horizontal resolution and complete simulations in a comparable amount of time. For example, the POM upwelling simulation, which had a duration of 15 days (Beletsky et al. 1997) would take on the order of 10 min to run on a 2-GHz Pentium processor (D. J. Schwab 2002, personal communication). When the SS simulation is run to 15 days it requires 17 min to complete on such a processor. The SS simulation has about half as many sacks as the POM simulation has grid points. However, even at a lower resolution the SS model does a better job of preserving temperature extremes (Figs. 8d,e). Moreover, we are still in the process of optimizing the SS model and expect it to become faster.
The results presented here also suggest that SS model has several disadvantages relative to other ocean models. While none of these disadvantages is particularly severe, we emphasize that the SS model has only undergone limited testing at this point, so that the most significant challenges for the model are probably yet to be discovered. For example, we have not yet tested the SS model for an analog to pressure-gradient errors (Haney 1991), which could result from the approximation of the integral in (7) with a Riemann sum.
1) Side effects of GWR
As we note in section 2, GWR both slows external gravity waves and magnifies surface height perturbations. For many applications these changes are inconsequential. However, for some applications, such as coastal ocean modeling, such changes may cause problems, and it might be necessary to use GWR only in a limited way, resulting in reduced computational efficiency.
2) Numerical noise
Numerical noise develops during the upwelling simulation and appears as high-frequency waves in isotherms (Fig. 7a). The amplitude of this noise increases along with the surface wind stress until 18 h, remains nearly constant from 18 to 29 h, and gradually diminishes after 29 h. The noise in the SS simulation is comparable to that in the POM simulation (Fig. 7b) and greater than that in the DieCAST simulation (Fig. 7c). However, recall that the DieCAST simulation also exhibits the most mixing. Sensitivity tests suggest that the amplitude of the noise in the SS simulation is approximately proportional to the vertical thickness of a sack. While the effects of the noise on the SS upwelling simulation are largely cosmetic, such noise might be more of a problem for simulations with prolonged and spatially variable wind stress forcings.
Representing an arbitrary fluid shape with a pile of sacks constrained to have a mass distribution such as (6) is, in general, a challenging problem. For the upwelling simulation the initial condition includes level isopycnal surfaces, which are easily produced by allowing gravity to act on the fluid in the presence of dissipation without rotation. However, initial conditions involving horizontal gradients in height or isopycnal surfaces may prove to be more difficult to reproduce accurately.
c. Planned improvements for the SS model
In the near future we plan to add the following features to the SS model.
1) Dividing and merging sacks
In the SS upwelling simulation we use sacks with small vertical thicknesses for the near-surface layer so that this layer is highly resolved. These vertically thin sacks move westward and pile up along the western shore, leaving the near-surface layer along the eastern shore poorly resolved. In the future we will address this kind of problem by allowing sacks to divide. A maximum vertical thickness will be specified as a function of height, and when a sack's vertical thickness exceeds the maximum it will be divided into two perfectly overlapping sacks, each having half the vertical thickness. Since dividing sacks will increase the total number of sacks, for long-term simulations we also plan to merge overlapping vertically thin sacks in deep water.
2) Parallel processing
The SS equations of motion are local; solving them for a given sack only requires information about other sacks within a sack width in each dimension. Therefore, the SS method is well suited to parallel programming, and we have already begun working on a parallel version of it. Each processor will keep track of sacks within a horizontal subdomain assigned to it. Processors will pass information to each other about sacks within a sack width of subdomain boundaries.
3) Spherical geometry
The SS method appears to be easily adapted to spherical geometry. Longitude and latitude may be used as horizontal coordinates for sack positions, and the mass-distribution function may be defined in terms of latitude and longitude deviations from the sack center, where the sack radius in each dimension is a fixed number of degrees. Doing so results in a distribution function that has the same form as (6) with the addition of the multiple 1/cos(ϕ), where ϕ is is the sack's latitude. This implementation of spherical geometry is suitable for domains that do not contain poles; we are also exploring a geometry for global SS simulations.
In this study we modify our SS model and use it to simulate upwelling in an idealized large lake. Four modifications make the model more computationally efficient: split time differencing, polynomial mass distributions for sacks, gravity wave retardation, and coding/compiling optimization. A fifth modification, including pseudo-Eulerian vertical diffusion, facilitates the use of parameterizations for vertical mixing by subsack-scale processes. The upwelling simulation is similar to two simulations previously carried out with height- and sigma-coordinate ocean models, but it exhibits less mixing.
The successful completion of the upwelling simulation demonstrates the SS model's potential for simulating lake and ocean circulations. The SS model has several appealing features, including negligible advection errors, no need for horizontal diffusion or filtering for numerical stability, simple and natural bottom topography, and lateral boundaries, and it is computationally competitive with other ocean models. The model has several disadvantages as well related to side effects of gravity wave retardation: the presence of numerical noise and the initialization process. We continue to modify the SS model and plan to apply it in ocean simulations in the near future.
This research was supported by Department of Energy Cooperative Agreement DE-FC02-ER63163 and NOAA Grant GC01-351. We thank Dima Beletsky for providing the data for the POM and DieCAST simulations, and we thank two anonymous reviewers and George Kiladis for their comments.
Corresponding author address: Dr. Patrick T. Haertel, Dept. of Atmospheric Sciences, University of North Dakota, Box 9006, Grand Forks, ND 58202. Email: firstname.lastname@example.org
School of Ocean and Earth Science and Technology Contribution Number 6237 and International Pacific Research Center Contribution Number 225.