Next Article in Journal
Comparison of Methods for Bed Shear Stress Estimation in Complex Flow Field of Bend
Previous Article in Journal
Use of Ensemble-Based Gridded Precipitation Products for Assessing Input Data Uncertainty Prior to Hydrologic Modeling
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Three-Dimensional Unstructured Grid Finite-Volume Model for Coastal and Estuarine Circulation and Its Application

1
Korea Coastal Ocean Modeling Solutions, Uiwang 16037, Korea
2
Korea Institute of Civil Engineering and Building Technology, Goyang 10223, Korea
*
Author to whom correspondence should be addressed.
Current affiliation: Texas Water Development Board, Austin, TX 78711, USA.
Water 2020, 12(10), 2752; https://doi.org/10.3390/w12102752
Submission received: 9 September 2020 / Revised: 29 September 2020 / Accepted: 30 September 2020 / Published: 2 October 2020
(This article belongs to the Section Hydraulics and Hydrodynamics)

Abstract

:
We developed a three-dimensional unstructured grid coastal and estuarine circulation model, named the General Ocean Model (GOM). Combining the finite volume and finite difference methods, GOM achieved both the exact conservation and computational efficiency. The propagation term was implemented by a semi-implicit numerical scheme, the so-called θ scheme, and the time-explicit Eulerian–Lagrangian method was used to discretize the nonlinear advection term to remove the major limitation of the time step, which appears when solving shallow water equations, by the Courant–Friedrichs–Lewy stability condition. Because the GOM uses orthogonal unstructured computational grids, allowing both triangular and quadrilateral grids, considerable flexibility to resolve complex coastal boundaries is allowed without any transformation of governing equations. The GOM was successfully verified with five analytical solutions, and it was also validated when applied to the Texas coast, showing an overall skill value of 0.951. The verification results showed that the algorithm used in GOM was correctly coded, and it is efficient and robust.

1. Introduction

This study focuses on the development of a new three-dimensional coastal and estuarine circulation model, and we named this model the General Ocean Model (GOM). GOM was developed by combining finite difference and finite volume numerical schemes, taking advantage of the computational efficiency of the finite difference method (FDM), the exact conservation of finite volume method (FVM), and the flexibility of representing complex geometry with an orthogonal unstructured grid system. The advantage of the unstructured grid system over the structured grid system is obvious, but it requires more simulation effort; i.e., the unstructured mesh system well resolves complex boundaries, however, the structured grid system struggles to resolve complex geometries but has a regular structured algebraic equation system and thus has an efficient solution technique. The refining model grid to better represent a complex coastal geometry enforces modelers to use a small simulation time step to ensure numerical stability. Even though it has been common to use a high-performance computing system, implementing either distributed memory message passing interface (MPI) or shared memory open multi-processing (OpenMP), it is also true that it requires a higher simulation cost and longer simulation time as it demands more dramatic grid refinement. Thus, more efficient numerical schemes and algorithms are required to adapt the unstructured grid system.
Either significant time constraint with traditional explicit schemes or wave damping with implicit schemes arises when solving shallow water equations. However, the limitation is now well overcome with the semi-implicit approach, the so-called θ method, which was successfully adapted in several ocean models (e.g., the Unstructured nonlinear Tidal Residual Inter-tidal Mudflat model (UnTRIM) by Casulli and Walters [1]; Stanford Unstructured Nonhydrostatic Terrain following Adaptive Navier–Stokes Simulator (SUNTANS) by Fringer et al. [2]; the Semi-Implicit Cross-Scale Hydroscience Integrated System Model (SCHISM) by Zhang et al. [3,4]); and the Finite Volume Coastal Ocean Model (FVCOM) by Chen et al. [5,6]. Then, another significant bottleneck appears in the nonlinear advection term, and the bottleneck can be successfully removed by using the time-explicit Eulerian–Lagrangian method (ELM), which is also known as the semi-Lagrangian (SL) method in the field of the atmospheric modeling. The ELM, which is an unconditionally stable scheme—even though it is an explicit method [7]—has been gaining more attention in the ocean modeling community since Casulli and Walters [1] adapted the method in their model, UnTRIM and successfully applied it in the San Francisco Bay area (e.g., [8,9,10]).
Distinct features of well-recognized ocean circulation models, which are actively used in the United States of America, are well summarized by Fringer et al. [11]. Each model introduced by Fringer et al. [11] has different approaches in horizontal/vertical coordinates systems, numerical schemes, and algorithms when solving governing equations based on the model development purpose. Among those approaches, we greatly benchmarked UnTRIM of Casulli and Walters [1], and we developed a new three-dimensional (3D) estuarine circulation model including the following features to apply our model in general coastal water bodies: (1) an unstructured orthogonal triangular and/or quadrilateral horizontal mesh system; (2) a vertical z-grid system; (3) inclusion of wind stress, atmospheric pressure, Coriolis, horizontal/vertical diffusion, and bottom friction; (4) FVM/FDM for equation discretization; (5) ELM for the nonlinear advection equation; (6) the semi-implicit method for tidal propagation; and (7) wetting and drying. The model we developed here, GOM, is based on well-proven numerical techniques; thus, it is robust, accurate, and fast.

2. Governing Equations in GOM

Using the right-handed Cartesian coordinate system ( x ,   y ,   z ) with the vertical origin at the water surface and z -axis points upward, the primitive equation of motion, for the incompressible fluid, with the parameterization of viscous stress terms, with the Boussinesq approximation, and with the hydrostatic assumption, can be written as
Momentum equations:
u t + u u x + v u y + w u z = g η x g ρ o z = h z = η ρ x d z 1 ρ o P a x + A h ( 2 u x 2 + 2 u y 2 ) + z ( A v u z ) + f v
v t + u v x + v v y + w v z = g η y g ρ o z = h z = η ρ y d z 1 ρ o P a y + A h ( 2 v x 2 + 2 v y 2 ) + z ( A v v z ) f u
P z = ρ g
Continuity equation:
u x + v y + w z = 0
where u ( x , y , z , t ) , v ( x , y , z , t ) , and w ( x , y , z , t ) are the velocity components in the horizontal x , y , and vertical z direction; t is time; η is the free surface elevation measured from the vertical origin; P is pressure; P a is atmospheric pressure; ρ o is the density of the reference fluid; g is the gravitational acceleration; f is the Coriolis parameter; and A h and A v are the horizontal and vertical eddy coefficients, respectively.
Now, we need another form of the continuity equation for the free surface water, and it can be obtained by integrating the original continuity Equation (4) over the depth, applying the kinematic surface (i.e., motion at the surface) and bottom boundary conditions (i.e., motion at the bottom). Then, the original continuity Equation (4) can be successfully rewritten as a new continuity form for free surface flows (i.e., no rigid boundary at the surface), and this form is called as the “free surface equation”
η t + x [ z = h z = η u d z ] + y [ z = h z = η v d z ] = 0

3. Unstructured Orthogonal Mesh and Index

We used an unstructured orthogonal mesh, both triangular and quadrilateral, in this model GOM. Once we construct the orthogonal meshes for the study site, the grid system has N p polygons (i.e., the total number of cells or elements), each having three (if it is triangular) or four sides (if it is quadrilateral), i.e., S i = 3   or   4 , where i = 1 ,   2 ,   ,   N p . The total number of sides in a grid system is defined as N s , and the length of each side is defined as λ j . Each side of the i th polygon is identified by j ( i , l ) ,   l = 1 ,   2 ,   ,   S i , and the corresponding side lengths are defined as λ j ( i , l ) . Finally, the distance between the centers of neighboring cells, which share the j th side, is denoted by δ j (Figure 1); note that a definition of an orthogonal unstructured grid is well explained in several previous studies (e.g., [2,12]).
As shown in Figure 2, along the vertical direction, a finite difference discretization, which is not necessarily uniform, is adopted; the k th vertical layer has a height of Δ z k , i.e., the distance between levels k 1 and k . The horizontal velocities and water surface elevation are defined at staggered locations as follows: The water surface elevation η i , the density ρ i , the salinity S i , and the temperature T i are located at the center of the i th polygon; note that the salinity and temperature are not yet included in the current version, but we show this in Figure 2 for the clarity and to explain the baroclinic gradient term in the later section. The velocity component normal to each face of a prism is defined at the point of intersection between the face and the segment joining the centers of the two prisms that share the face (i.e., the face center).

4. Finite Volume and Difference Discretization

4.1. Momentum Equations in a New Coordinate

Equations (1) through (5) are invariant under solid rotation of the x - and y - axis on the horizontal plane. If we introduce a new coordinate system, x * and y * , regarding the cell face, and by using the invariant property of the equations, the horizontal momentum Equations (1) and (2) can be expressed as follows
u * t + u * u * x + v * u * y + w u * z = g η x g ρ o h η ρ x d z 1 ρ o P a x + A h ( 2 u * x 2 + 2 u * y 2 ) + z ( A v u * z ) + f v *
v * t + u * v * x + v * v * y + w v * z = g η y g ρ o h η ρ y d z 1 ρ o P a y + A h ( 2 v * x 2 + 2 v * y 2 ) + z ( A v v * z ) f u *
where u * and v * are the horizontal velocity components in a new coordinate system, x * and y * ; note that we omit asterisk * at the x * - and y * - coordinates. The relations of velocity components between true horizontal velocities, u and v , and coordinate transformed along each cell face, horizontal velocities, u * and v * , are u = u * cos θ v * sin θ , and v = u * sin θ + v * cos θ , where θ is the angle between the new x -axis, x * , and the traditional x -axis, x , (Figure 3). For simplicity, * is omitted for the equations from here onwards.
Each term in Equation (6) can be discretized using different methods for the sake of accuracy and efficiency. When solving these equations, the two most significant bottlenecks arise from the barotropic gradient term and the vertical mixing term. Thus, we used the semi-implicit scheme for the barotropic gradient term and the implicit scheme for the vertical diffusion term. On the other hand, the advection, horizontal diffusion, Coriolis, and baroclinic terms are discretized by explicit methods; note that the semi-implicit scheme is also used in the air pressure term. More details in each term are explained in the following sections.

4.1.1. Barotropic Gradient and Vertical Mixing: (Semi-) Implicit Treatment

For the two implicit scheme applied terms, barotropic gradient and the vertical diffusion terms, the finite difference discretization for the velocity component normal to each vertical face of a prism with a staggered grid system can be derived from Equation (6) and takes the following forms:
The barotropic gradient term with a semi-implicit θ scheme:
u j , k n + 1 = u j , k n g Δ t δ j [ θ ( η i ( j , 2 ) n + 1 η i ( j , 1 ) n + 1 ) + ( 1 θ ) ( η i ( j , 2 ) n η i ( j , 1 ) n ) ]
The vertical diffusion term with the implicit scheme:
u j , k n + 1 = u j , k n + Δ t Δ z j , k n [ A v j , k + 1 / 2 u j , k + 1 n + 1 u j , k n + 1 Δ z j , k + 1 / 2 n A v j , k 1 / 2 u j , k n + 1 u j , k 1 n + 1 Δ z j , k 1 / 2 n ]
Then, Equation (6) can be written as
u j , k n + 1 = u j , k n + F j , k n g Δ t δ j [ θ ( η i ( j , 2 ) n + 1 η i ( j , 1 ) n + 1 ) + ( 1 θ ) ( η i ( j , 2 ) n η i ( j , 1 ) n ) ] + Δ t Δ z j , k n [ A v j , k + 1 / 2 u j , k + 1 n + 1 u j , k n + 1 Δ z j , k + 1 / 2 n A v j , k 1 / 2 u j , k n + 1 u j , k 1 n + 1 Δ z j , k 1 / 2 n ]
where k = m j ,   m j + 1 ,   ,   M j n , thus m j and M j n denote the lower and upper limit for the vertical k index at j -th side and time step n . The u j , k n is the horizontal velocity component normal to the j -th side of the i -th mesh (we omit the subscript i in equations for convenience), at vertical level k and time step n ; F is an explicit finite difference operator, which includes the remaining terms in Equation (6): nonlinear advection, baroclinic gradient, air pressure, horizontal diffusion, and Coriolis terms. Calculations of the term F j , k n will be discussed in the following sections.

4.1.2. Nonlinear Advection: ELM

The Eulerian–Lagrangian Method (ELM) is used for solving the nonlinear advection terms in Equations (6) and (7) to take advantage of its simplicity, the enhanced stability, and accuracy. Most of the fundamental equations in fluid dynamics can be derived from principles in either Eulerian or Lagrangian forms. Consider the diffusion-free non-conservative advection equation in 1D
c t + u c = 0
where the c ( x , t ) represents any scalar quantities or velocity vectors, u is the velocity field, and is a gradient operator. Then, the one-dimensional Eulerian advection Equation (11) can be expressed in the Lagrangian form as
D c D t = 0
The mathematical equivalence of Equations (11) and (12) follows from the definition of the total derivative,
D D t = t + d x d t x
and the definition of the velocity,
d x i d t = u i * ( x 1 ,   x 2 , x 3 )
where i = 1, 2, and 3, and * represents a linear interpolant between time step n and n + 1 . When a Lagrangian numerical treatment is applied to Equation (12), the computational grid will be continuously deformed in the general case when u is non-constant. For operational advantage, however, we will discretize Equation (12) on a fixed Eulerian grid system. Let us consider the one-dimensional time-dependent grid in the Eulerian grid shown in Figure 4. A finite difference scheme for Equation (11) is simply
c i n + 1 = c i a n
where c i a n = c [ ( i a ) Δ x , n Δ t ] and n is time step, i is any mesh or grid point, t is the index at a grid point, and a is the Courant-Friedrichs-Lewy (CFL) number. In general, the CFL number is not an integer, therefore, ( i a ) is not the index of a grid point, and a proper interpolation formula should be used to define c i a n . The stability, numerical diffusion, and unphysical oscillations of Equation (15) depend on the interpolation formula chosen. If a linear interpolation between ( i 1 ) and ( i ) is used to estimate c i a n , one obtains the first-order upwind scheme. If a quadratic polynomial fit is used to interpolate between ( i 1 ) , ( i ), and ( i + 1 ) , one obtains Leith’s [13] method. The ELM is well introduced by other researchers (e.g., [14,15,16]), thus, we do not re-introduce this method in detail here. The final form of the nonlinear term ( N L ) in the governing equation that we used in GOM is approximated as
N L = u j ( i a , l ) , k b n
where a and b are the horizontal and vertical CFL numbers, respectively.

4.1.3. Coriolis: ELM

The Coriolis term in the equation is treated with the explicit ELM to take advantage of no time limitation for numerical stability. Consider the Coriolis term in Equation (6)
u t = f v
By the explicit ELM, Equation (17) can be discretized as
u j , k n + 1 = u j , k n + Δ t f v j , k *
where v * is the tangential velocity component in a right-hand coordinate system obtained by the Eulerian–Lagrangian method (see Figure 2). Finally, the Coriolis term ( C O R ) in Equation (6) is discretized by
C O R = Δ t f v j , k *

4.1.4. Horizontal Diffusion: The Finite Volume Cell-Centered Method

The conservation laws of fluid motion may be expressed mathematically in either differential or integral forms. When the integral form of the equation is utilized, the discretization of the equations is the finite volume method. To generalize the method, consider a two-dimensional heat conduction equation
T t = A h 2 T
where 2 is the Laplace operator. Then, Equation (20) can be written as a conservative form
T t = A h [ x ( T x ) + y ( T y ) ]
Let F = ( T x ) and G = ( T y ) , then Equation (21) is written as
T t = A h [ F x + G y ]
Equation (22) is integrated over an element’s area such as quadrilateral or triangular mesh, then
P i ( T t ) d x d y = A h P i ( F x + G y ) d x d y
where P i denotes the i -th polygon. Subsequently, Green’s theorem is applied to the right-hand side of Equation (23). Recall that Green’s theorem converts area integrals to line integrals. Thus, Equation (23) is written as
P i ( T t ) d x d y = A h P i ( F d y G d x )
Finally, Equation (24) can be approximated as
T i n + 1 = T i n + A h Δ t A i P i ( F d y G d x )
Thus, the horizontal diffusion term (HD) in Equation (6) is approximated as:
H D = A h Δ t P i ( P i ( F d y G d x ) )

4.1.5. Atmospheric Pressure: Semi-Implicit Method

The atmospheric pressure term in Equation (6) is approximated by the semi-implicit, method in time and forward difference in space. Consider the atmospheric pressure term in Equation (6)
u t = 1 ρ o P a x
The semi-implicit in time and forward differencing in spatial derivative produces the following finite difference equation of the form
u j , k n + 1 u j , k n Δ t = 1 ρ o ( P a   i ( j , 2 ) n + θ P a   i ( j , 1 ) n + θ δ j )
and the atmospheric pressure term ( A P ) in Equation (6) is approximated as
A P = Δ t ρ o ( P a   i ( j , 2 ) n + θ P a   i ( j , 1 ) n + θ δ j )
The stability analysis indicates that this method is stable when 0.5 θ 1 . The values of P a n + θ are not calculated but provided explicitly as data at each time step.

4.1.6. Baroclinic Gradient: Explicit

The baroclinic gradient term (BG) in Equation (6) can be discretized with the explicit scheme
u j , k n + 1 = u j , k n g Δ t ρ o δ j [ k k = k M Δ z j , k k n ( ρ i ( j , 2 ) , k k n ρ i ( j , 1 ) , k k n ) Δ z j , k n 2 ( ρ i ( j , 2 ) , k n ρ i ( j , 1 ) , k n ) ]
Then, the final numerical discretization of explicit term F in Equation (10) is written as
F j , k n = N L + H D + C O R + A P + B G

4.2. Boundary Treatment

4.2.1. Surface and Bottom Boundary Treatment for the Vertical Diffusion Term

While the vertical diffusion term in Equation (10) applies for a middle of a water column, new relations are required at both surface and bottom boundary layers to accelerate by the wind stress and to retard by the bottom friction. Using the shear stress, the vertical boundary conditions at the surface and the bottom yield the following formulae:
A v j , M + 1 / 2 u j , M + 1 n + 1 u j , M n + 1 Δ z j , M + 1 / 2 n = γ T n + 1 ( u j , a i r n + 1 u j , M n + 1 )  
A v j , m 1 / 2 u j , m n + 1 u j , m 1 n + 1 Δ z j , m 1 / 2 n = γ B n + 1 u j , m n + 1
where m and M denote the bottom and top layers, respectively, and provide the surface and the bottom stress coefficients as γ T n + 1 = A v j , M + 1 / 2 n Δ z j , M + 1 / 2 n and γ B n + 1 = A v j , m 1 / 2 n Δ z j , m 1 / 2 n , respectively. Then, the bottom stress coefficient γ B can be explained with the non-dimensional bottom drag coefficient, C d b . Then, we can approximate C d b with Chezy’s formula and Manning’s roughness coefficient n , i.e., γ B = C d b ( u 2 + v 2 ) = g C z 2 ( u 2 + v 2 ) , where u and v are velocities at the bottom layer, and C z is the Chezy friction coefficient, which can be formulated as
Cz = R 1 / 6 n H 1 / 6 n
where R is the hydraulic radius, and n is Manning’s roughness coefficient; in shallow estuaries, the hydraulic radius can be approximated by the total water depth.
Similarly, the boundary conditions at the free surface are specified by the prescribed wind stresses
ρ o A v u z = τ w x = ρ a C d a u w u w 2 + v w 2 = ρ a γ T u w
ρ o A v v z = τ w y = ρ a C d a v w u w 2 + v w 2 = ρ a γ T v w
where τ w x and τ w y are the wind stresses in x and y directions at the free surface; ρ o and ρ a are the density of the water and the air, respectively; u w and v w are the components of wind speed measured at some distance above the free surface; and C d a is the surface drag coefficient. Then, the surface drag coefficient is now calculated by the empirical relationships such developed by either Garratt [17] or Smith [18], which are adopted in this model.
C d a = 0.001 ( 0.75 + 0.067 W s ) ,   Garratt   ( 1997 )
C d a = 0.001 ( 0.61 + 0.063 W s ) ,   Smith   ( 1980 )
where W s is the wind speed measured at 10 m above the water surface.

4.2.2. Treatment of Open Boundary Conditions

The tidal open boundary condition for the surface elevation is prescribed by
η ( x , y , t ) = n = 1 N a n c o s ( 2 π T n t + ϕ n )
where a n , T n , and ϕ n are the amplitude, period, and phase angle of each tidal constituent, respectively. When open boundary conditions are provided in terms of the surface elevation, the normal velocity component is assumed to be of a zero slope while the tangential velocity component may be either (1) zero, (2) zero slope, or (3) computed from the momentum equations. In this model, it is assumed that the velocity gradients are zero at the open boundary.

4.3. Free Surface Equation

To obtain complete local and global mass conservation and stability, the free surface Equation (5) is discretized by the finite volume method. Consider a uniform rectangular mesh in the Cartesian coordinate, as shown in Figure 5. To obtain a semi-implicit finite volume equation, integrate Equation (5) over an area of an element P i , then
P i ( η t ) Δ x Δ y = P i ( x [ h η u d z ] + y [ h η v d z ] ) Δ x Δ y
Now, a semi-implicit finite volume discretization for Equation (40) gives
( η i n + 1 η i n Δ t ) Δ x Δ y = θ [ ( k = m M Δ z j ( i , 1 ) , k n u j ( i , 1 ) , k n + 1 k = m M Δ z j ( i , 3 ) , k n u j ( i , 3 ) , k n + 1 Δ x ) Δ x Δ y + ( k = m M Δ z j ( i , 2 ) , k n v j ( i , 2 ) , k n + 1 k = m M Δ z j ( i , 4 ) , k n v j ( i , 4 ) , k n + 1 Δ y ) Δ x Δ y ] ( 1 θ ) [ ( k = m M Δ z j ( i , 1 ) , k n u j ( i , 1 ) , k n k = m M Δ z j ( i , 3 ) , k n u j ( i , 3 ) , k n Δ x ) Δ x Δ y + ( k = m M Δ z j ( i , 2 ) , k n v j ( i , 2 ) , k n k = m M Δ z j ( i , 4 ) , k n v j ( i , 4 ) , k n Δ y ) Δ x Δ y ]
where Δ x = λ j ( i , 2 ) = λ j ( i , 4 ) and Δ y = λ j ( i , 1 ) = λ j ( i , 3 ) .
If Equation (41) is generalized for any shape of polygons in the unstructured grid system, a semi-implicit finite volume discretization for the free surface equation at the center of each polygon is taken to be [1]:
P i η i n + 1 = P i η i n θ Δ t l = 1 S i [ S i , l λ j ( i , l ) k = m M Δ z j ( i , l ) , k n u j ( i , l ) , k n + 1 ] ( 1 θ ) Δ t l = 1 S i [ S i , l λ j ( i , l ) k = m M Δ z j ( i , l ) , k n u j ( i , l ) , k n ]
where P i denotes the area of the i -th polygon, i.e., P i = Δ x × Δ y in Figure 5, and S i , l is a sign function of flows at each side, which is defined as [1]
S i , l = i [ j ( i , l ) , 2 ] 2 i + i [ j ( i , l ) , 1 ] i [ j ( i , l ) , 2 ] i [ j ( i , l ) , 1 ] ]

5. Solution Algorithm

5.1. Solution of Governing Equations

Including wind stress at the surface layer and bottom stress at the bottom layer, and re-arranging the original x-momentum Equation (10), then we have the following tridiagonal matrix form for the i -th water column from the surface to the bottom layer at the j -th side
A j n U j n + 1 = G j n θ g Δ t δ j [ η i ( j , 2 ) n + 1 η i ( j , 1 ) n + 1 ] Δ Z j n
where
A j n = [ ( Δ t γ T n + 1 + Δ z j , M n + a j , M 1 2 n ) a j , M 1 2 n a j , M 1 2 n ( a j , M 1 2 n + Δ z j , M 1 n + a j , M 3 2 n ) a j , M 3 2 n · · · a j , m + 1 2 n ( a j , m + 1 2 n + Δ z j , m n + Δ t γ B n + 1 ) ] , U j n + 1 = [ u j , M n + 1 u j , M 1 n + 1 u j , m n + 1 ] , Δ Z j n = [ Δ z j , M n Δ z j , M 1 n Δ z j , m n ] , G j n = [ Δ z j , M n { F j , M n g Δ t δ j ( 1 θ ) ( η i ( j , 2 ) n η i ( j , 1 ) n ) } + Δ t γ T n + 1 u j , a n + 1 Δ z j , M 1 n { F j , M 1 n g Δ t δ j ( 1 θ ) ( η i ( j , 2 ) n η i ( j , 1 ) n ) } Δ z j , m n { F j , m n g Δ t δ j ( 1 θ ) ( η i ( j , 2 ) n η i ( j , 1 ) n ) } ]
with a j , k ± 1 / 2 n = Δ t A v j , k ± 1 / 2 n Δ z j , k ± 1 / 2 n , γ B = C d b u m 2 + v m 2 , and γ T = C d a ρ a ρ o u w 2 + v w 2 .
If we substitute U j n + 1 from Equation (44) into Equation (42), which is the free surface wave equation, and rearrange the equation, then we have
P i η i n + 1 g Δ t 2 θ 2 l = 1 S i λ j ( i , l ) δ j ( i , l ) [ ( Δ Z ) T A 1 Δ Z ] j ( i , l ) n ( η i [ j ( i , l ) , 2 ] n + 1 η i [ j ( i , l ) , 1 ] n + 1 ) = P i η i n ( 1 θ ) Δ t l = 1 S i S i , l λ j ( i , l ) [ ( Δ Z ) T U ] j ( i , l ) n θ Δ t l = 1 S i S i , l λ j ( i , l ) [ ( Δ Z ) T A 1 G ] j ( i , l ) n
Equation (46) has a strongly diagonal dominant, a symmetric linear sparse matrix system of N p equations for η i n + 1 , thus, it can be efficiently solved by an iterative matrix solver, e.g., a preconditioned conjugate gradient method. Once the new water surface elevation at the center of each polygon is computed, substitute η i n + 1 into the momentum Equation (44); then, horizontal velocities at the new time level at each face, U j n + 1 , will be obtained. Equation (44) has a tridiagonal system, and it can be solved efficiently by a direct tri-diagonal algorithm such as the Thomas algorithm. Finally, the vertical component of the velocity can be obtained from the integration of the incompressible continuity Equation (4).
w i , k + 1 / 2 n + 1 = w i , k 1 / 2 n + 1 1 P i l = 1 s i S i , l λ j ( i , l ) Δ z j ( i , l ) , k n u j ( i , l ) , k n + 1 k = m ,   m + 1 ,   ,   M 1

5.2. Treatment of Flooding and Drying

Once the free surface elevation has been computed throughout the computational domain, before proceeding to the next time step, some of the vertical grid spacings Δ z j , k n + 1 must be updated to account for the new surface location. As shown in Figure 6, at each time step, the new total water depth at the polygon’s sides, H j n + 1 , may be defined as
H j n + 1 = m a x [ 0   ( o r   d r y _ d e p t h ) , h j + η i ( j , 1 ) n + 1 ,   h j + η i ( j , 2 ) n + 1 ]
According to the new total water depth, the vertical grid spacing Δ z j n + 1 should be updated. Thus, an occurrence of zero value for the total water depth H j n + 1 implies that all the vertical faces separating prisms between the water column i ( j , 1 ) and i ( j , 2 ) are dry and may become wet at a later time when H j n + 1 becomes positive [1]. When the total water depth is equal to zero, the friction factor at that point will be assumed to be infinity, and, accordingly, the corresponding velocity u or v across the side of the cell is forced to vanish. The occurrence of a zero value for the total water depth in one side of a cell implies zero velocity or zero mass flux until the total water depth becomes positive i.e., the boundary shorelines, which are varying with time, are defined by the condition of no mass flux. This guarantees mass conservation over the computational domain. An element is considered a dry cell only if the total water depths at all sides are zero.
To reduce computational noise or oscillation due to a very small wet element, a minimum critical dry depth is defined except using “0” in Equation (48). Therefore, elements are considered a wet element when the total water depth is greater than the critical depth and dry elements when the total water depth is less than or equal to the critical dry depth. The drying process can take place not only along the coast but also in interior regions such as shoals. For a shallow estuary, even under moderate wind stresses, some interior points over shoals can be dried completely, whereas the surrounding elements are still wet. Similarly, when the sea surface elevation is at a previously flooded location, this element returns to a dry cell. Then, an isolated dry element will not be turned into a wet cell until at least one of the neighboring elements also turns into a wet element.

6. Model Verification with Analytical Solutions

In previous sections, Section 2, Section 3, Section 4 and Section 5, we showed governing equations, grid systems, numerical schemes, and solution algorithms used in GOM. These processes may be similar or identical to other models, such listed by Fringer et al. [11]. However, conveying this information into a computer machine language is all different, and we used a standard FORTRAN 90 for this. Even though these processes are well-proven and robust approaches, any mistake in the final coding process leads to failure. To check the final success of this project, we compared a newly developed model, GOM, to well-known analytical solutions.

6.1. Wind Setup

The steady-state wind-induced setup due to constant wind stress in a rectangular basin can be written as
η ( x ) = τ w ρ g H ( x L 2 )
where η is the setup of the water surface, τ w is the applied wind stress, H and L are the depth and length of the basin, respectively, and the x is the distance from the origin. The horizontal grid used in the wind setup test is 21 × 5 cells with a length of 21 km and a width of 5 km. The depth of the computational domain is a constant 5 m, and the horizontal grid spacing is 1 km in both directions. Constant wind stress of 0.1 N/m2 (i.e., 1 dyne/cm2 is applied in the positive x -direction, and a time step of 30 s is used in the simulation. Both 2-dimensional (with one vertical layer) and 3-dimensional (with 5 vertical layers) setups are used to verify the model. Both analytical and numerical results are calculated/extracted from 0.5, 10.5, and 20.5 km from the origin and compared, and both 2D and 3D simulation results reached a steady-state condition in one day and are the same as the analytical results (Table 1 and Figure 7).

6.2. Tidal Propagation with Constant Depth

Tide is the most significant phenomenon in the ocean, and thus tidal simulation is one of the most important applications of a coastal and estuarine hydrodynamic model. Lynch and Gray [19] derived the analytical solutions for tidally forced estuaries of various geometries and depths. If we consider only tidal propagation term, i.e., the barotropic gradient term, in the original momentum Equation (1), and the continuity Equation (5), the one-dimensional shallow water equations in Cartesian coordinates are
U t + g h η x = 0
η t + U x = 0
where U = u h is the depth-integrated velocity in x -direction. Assuming a closed boundary at x = l and an open boundary at x = 0 , the boundary conditions and initial conditions associated with Equations (50) and (51) are
Boundary   conditions : U ( l , x ) = 0 η ( 0 , t ) = η 0 + a · sin ( ω t ) Initial   conditions : η ( x , 0 ) = η 0 U ( x , 0 ) = 0
where a is a tidal amplitude, ω is an angular frequency of the given tide, and η 0 is the initial water surface elevation measured from the undisturbed surface. With these initial and boundary conditions, the analytical solutions of the one-dimensional shallow wave equations for water surface elevation and velocity are [20]
η ( x , t ) = a · cos ( k ( l x ) ) cos ( k l ) sin ( ω t ) + n = 0 [ 2 a ω l c ( k n 2 k 2 ) sin ( k n x ) sin ( ω n t ) ] + η 0
U ( x , t ) = a c · s i n ( k ( l x ) ) cos ( k l ) cos ( ω t ) + n = 0 [ 2 a ω l ( k n 2 k 2 ) cos ( k n x ) cos ( ω n t ) ]
where k is the wavenumber ( = 2 π L , where L is the wavelength), k n = ( 2 n + 1 ) π 2 L , l is the basin’s length, n is the number of nodes, x is the interested location measured from the origin, and t is the time.
To compare the numerical solution with a linear analytical solution, a rectangular basin with a constant water depth of 10 m is considered. The model domain is discretized with 929 mixed elements (quadrilateral elements at the left and triangular elements at the right, Δ x = Δ y = ~ 2   km ) and one vertical layer, as shown in Figure 8; note that the only reason we constructed a mixed grid in this problem was to prove our model’s capability to handle both triangular and rectangular grids. Input tidal forcing along the open boundary was set with 0.5 m of amplitude and a period of 12.42 h. The simulation time step was set to 30 min, and the test simulations were run with θ = 1 and θ = 0.5 , respectively. It is noted that when using the implicit numerical scheme, i.e., θ = 1 , numerical diffusion is introduced. Thus, the numerical solution should correspond to the first mode of the analytical solution, which corresponds to the first terms of Equations (53) and (54). If a semi-implicit scheme, i.e., θ = 0.5 , is used, the numerical solution should be compared to the complete Equations (53) and (54) which include the higher mode solution [20,21].
The model results were extracted from three locations and compared with analytical solutions: (1) near the mouth (Station 1, x = 9   km , y = 15   km ), (2) the middle of the basin (Station 2, x = ~   29.1   km , y = ~ 14.7   km ), and (3) near the closed boundary (Station 3, x = ~ 50.7   km , y = ~ 14.7   km ). Model results with θ = 1 , which should be compared with the first term in the analytical solution, agree well with analytical solutions (Figure 9). When θ = 0.5 is used, which should be compared with the full equation, the model results had a little discrepancy with analytical solutions but mostly agreed well (Figure 10).

6.3. Tidal Propagation with Nonlinear Advection

If nonlinear advection terms are included in the two-dimensional shallow water equations, it is not feasible to obtain an analytical solution. However, if the equations are reduced to one-dimension, we can obtain the harmonic series solution. Including only nonlinear advection and propagation terms, the original momentum Equation (1) and the continuity Equation (5) can be reduced as
U t + u U x + g h η x = 0
η t + U x = 0
The boundary conditions are
u ( l , t ) = 0 η ( 0 , t ) = a · sin ( ω t )
With the boundary conditions, the analytical solution of Equations (55) and (56) up to the first order can be written as [20]
η ( x , t ) = a   cos ( k ( l x ) ) cos ( k l ) sin ( ω t ) + a 2 k 8 h   c o s 2 ( k l ) [ x sin ( 2 k ( l x ) ) + l cos ( 4 k l ) sin ( 2 k ( l + x ) ) l cos ( 4 k l ) tan ( 2 k l ) cos ( 2 x ( l x ) ) ] cos ( 2 ω t )
u ( x , t ) = 1 h [ a c   sin ( k ( l x ) ) cos ( k l ) cos ( ω t ) + a 2 k 8 h   c o s 2 ( k l ) [ x cos ( 2 k ( l x ) ) + l 2 k sin ( 2 k ( l x ) ) l cos ( 4 k l ) cos ( 2 k ( l + x ) ) + l cos ( 4 k l ) tan ( 2 k l ) sin ( 2 k ( l x ) ) ] sin ( 2 ω t ) ]
To test nonlinear advection term in the developed model, numerical simulations were conducted with the identical basin and tidal forcing conditions used in the previous test. Because the analytical solutions present up to the first mode solution, the implicit numerical solution, θ = 1 , should be compared to the analytical solution. Numerical results were extracted at the same three locations as in the previous test (Figure 8) and compared with analytical solutions. The results show that the numerical and analytical solutions are in good agreement (Figure 11).

6.4. Quarter-Annular Harbor Test with a Sloping Bottom

Lynch and Gray [19] derived the analytical solutions for a tidally forced estuary with a flat bottom and a sloping bottom. The quarter-annular test, which contains spatially varying geometry and bathymetry, is one of the well-known test cases for testing the integrated numerical schemes of a developed ocean circulation numerical model. Numerical results will be poor with spurious oscillations or with excessive numerical dissipation if poor numerical schemes are used.
The analytical solutions for the Quarter-annular harbor test are well described by Lynch and Gray [19] and Lynch and Officer [22]. Neglecting nonlinear, Coriolis, and horizontal diffusion terms and assuming linear bottom friction, we can obtain the following vertically averaged equations
u t + g η x + τ u = 0
v t + g η y + τ v = 0
η t + h u x + h v y = 0
where η is water surface elevation, u and v are vertically averaged velocities, g is gravitational acceleration, and τ is the linear bottom friction coefficient. With the following boundary conditions: no flow boundaries at the closed end; r = r 1 , which is the inner radius for the quarter-annular harbor at the open boundary; r = r 0 , which is the outer radius for the quarter-annular harbor; and periodic tidal forcing η = η 0   cos ( ω t ) , where η 0 is amplitude, the analytic solutions for surface elevation and horizontal velocity are [19,22]
η ( r , t ) = R e { ( A r s 1 + B r s 2 ) e i ω t }
v ( r , t ) = R e { ( A s 1 r s 1 1 + B s 2 r s 2 1 ) i ω β 2 H 0 e i ω t }
where
A = η 0 s 2 r 1 s 2 s 2 r 1 s 2 r 2 s 1 s 1 r 1 s 1 r 2 s 2 ,       B = η 0 s 1 r 1 s 1 s 2 r 1 s 2 r 2 s 1 s 1 r 1 s 1 r 2 s 2 s 1 = 1 + 1 β 2 ,       s 2 = 1 1 β 2 β 2 = ( ω 2 i ω τ ) g h 0 ,       h 0 = h 1 r 1 2 τ = N h 2 [ λ 2 tanh ( λ ) λ + ( λ 2 K 1 ) tanh ( λ ) ] K = k h N ,       λ = i ω h 2 N
and N is the eddy viscosity; k is the bottom friction.
The tested computational domain consists of a quarter of an annulus enclosed with land boundaries on three sides and an open ocean boundary on the outer edge. The inner radius has r 1 = 60 , 960   m   ( = 200 , 000   f t ) , and the outer radius has r 0 = 152 , 400   m   ( = 500 , 000   f t ) . The bathymetry along the inner radius r 1 is h 1 = 3.048   m   ( = 10   f t ) , and it drops quadratically at radius r [23], i.e., h r = h 1 r 2 / r 1 2 . The discretization uses a radial spacing of 15 , 240   m   ( = 50 , 000   f t ) and an angular spacing of 11.25 degrees. Then, the computational domain consists of 48 rectangular cells with 63 nodes (Figure 12).
The model started from a state of rest, and periodic tidal force at the open boundary, advection, and quadratic bottom friction terms are activated. The elevation boundary is forced with a spatially uniform M 2 tide (tidal period = 12.42 h) with amplitude of 0.3048 m ( = 1   f t ) . Total simulation time was set to 5 days with a time step of 174.656 s. Modeled water level time series are extracted every time step at three different locations in the domain, and the numerical results showed a good agreement with analytical solutions (Figure 13).

6.5. Wetting and Drying Test on Tidal Flats

Some shallow parts of coastal water bodies become wet and dry periodically in response to the tide, and, thus, the correct reproduction of the wetting and drying of the tidal flats is one of the desirable features of numerical tidal flow models based on shallow water equations. There are several different approaches to solve the wetting and drying process, and the major difference between all the models is the way to determine the drying and wetting cells and depths. The method to determine drying cells in the present model is based on Casulli and Walters [1], as explained in Equation (48).
To validate the wetting and drying scheme implemented in the developed model, we compared our model results with the analytical solution developed by Carrier and Greenspan [24]. The derivation of the analytical solution is well-reviewed in several papers (e.g., [20,25,26]). To compare with the analytical solution, a rectangular basin with a linearly sloping bottom is considered. The length and the width of the basin are set to 55 km and 100 m, respectively. The water depth at the origin, x = 0 m, is set to 50 m, and the bottom slope,   α , is 1:1000; thus, the initial land and water interface is at x = 50 km (Figure 14). The computational domain is divided by 550 × 1 quadrilateral elements ( Δ x , Δ y = 100 m). A periodic tide with an amplitude 0.2 m and a period of 1 h is applied at the open boundary, at x = 0 m. Analytical results, which are originally given with non-dimensional variables, are converted to dimensional variables and compared with model results. Both analytical and numerical results are calculated and extracted every 1 6 π tidal period and compared. Numerical simulation results show that the analytical and the numerical solutions are in good agreement, showing that the wetting and drying process implemented in GOM works well (Figure 15 and Figure 16).

7. Model Application to the Texas Coast

Even though a model is verified with some analytical problems, it is sometimes not enough since each analytical problem is focused only on a specific term. For this reason, it is also important to verify the model with a realistic field problem, which includes all the physical aspects. The developed model, GOM, is applied to highly complex geometry, the northern Texas coast, to assess the performance of the developed model. Then, the model results are compared with the results of one of the well-known and widely used ocean circulation models, the Semi-Implicit Cross-Scale Hydroscience Integrated System Model (SCHISM). One of the main reasons why we chose the SCHISM here is its similarity in the horizontal grid system and its numerical scheme, the ELM, which is applied in the nonlinear advection term.

7.1. Model Domain and Grid Generation

We developed a model grid from the lower Galveston Bay to Sabine Lake (Figure 17). We used National Oceanic Atmospheric Administration (NOAA) ‘Medium Shoreline’ data for the land/sea boundary and ‘Coastal Bathymetry 2013’ from the Texas Natural Resources Information System (TNRIS) to correctly identify the locations of ship channels and the Intracoastal Waterway. The horizontal grid resolution varies from about 10 m at ship channels to about 3000 m at offshore boundaries. Most of the ship channels are resolved with quadrilateral elements, and otherwise, most of the model domains are covered by triangular elements. The offshore boundary for the model domain was set at about 15 km offshore from the coastline, and the final horizontal grids consist of 210,510 elements and 126,474 nodes.
After the horizontal grid was generated, the digital elevation models (DEMs) were interpolated onto the computational grid using the inverse distance weight (IDW) interpolation method. We used two different sources of DEMs: (1) the ETOPO1 Global Relief Model and (2) the Coastal Relief Model (CRM). The ETOPO1 is a 1 arc-minute global relief model of Earth’s surface that integrates land topography and ocean bathymetry, and it covers the entire Gulf of Mexico. The CRM has finer spatial resolution than ETOPO1; it provides one of the 3 arc-second, 1/3 arc-second, or 1/9 arc-second resolution DEMs depending on the area. Some portions of the study area are covered by either 1/3 or 1/9 arc-second DEMs, thus, both data are interpolated onto the grid; note that the minimum water depth was set to 1.0 m throughout the model domain.

7.2. Forcing Conditions and Model Setup

The developed model was validated for the one-month period in July 2017 and was forced by the tides, river discharge, and atmospheric wind stress. Three NOAA tide stations data, which are relatively close to the open boundary grids, were interpolated to the model boundary grids: Freeport (NOAA 8772447), Galveston Bay Entrance (NOAA 8771341), and Sabine Pass (NOAA 8770822) (Figure 17 and Table 2). Daily freshwater inflows obtained from the United States Geological Survey (USGS) gaging stations were specified at 10 river boundaries (Figure 17 and Table 2). These USGS stations are mostly located several kilometers upstream from the model river boundary nodes, but we assumed that there were no additional sources and sinks between the river gages and model river boundary nodes. For the wind stress, the North American Mesoscale forecast system (NAM) 6-hourly reanalysis data were interpolated onto the entire horizontal model grids. Spatially uniform bottom friction with Manning’s coefficient of 0.016 was used.
The still water condition was considered at the beginning, i.e., no water surface elevation disturbance and no water movement. The implicitness parameter was set to 0.6, and a two-dimensional simulation was considered. Finally, the model simulation time step was set to 600 s. Note that we also ran the SCHISM model with identical model setups to compare the simulation results.

7.3. Model Validation

Model simulation results of the developed model, GOM, and the SCHISM were compared with the hourly measured water surface elevation data at twelve NOAA tide stations, which are shown in Figure 17 and Table 2. Figure 18 and Figure 19 show that the results of both models are almost identical and give a good agreement with observed water surface elevations. Note that there are some differences at the beginning of the simulation, but these were caused by applying a tide ramping up option only for the SCHISM simulation.
To better evaluate the model simulation results, we used two types of quantitative error analysis methods: mean absolute error (MAE) and predictive skill (it is also called skill or index of agreement), which was introduced by Willmott [27]. They are defined as follows [28,29]:
M A E = | M n O n | N
S k i l l = 1 ( M n O n ) 2 ( | M n O ¯ | + | O n O ¯ | ) 2 ,       ( 0 S k i l l 1 )
where M n and O n are n th modeled and observed data, respectively; N is the total data number compared, and O ¯ is the mean observed value. The mean absolute error explains how much the modeled data deviate from the observed data, the value of skill explains how much the model can reproduce the observed data, and the value Skill = 1 indicates the perfect agreement [29].
When performing the error analysis, the first 5-day simulation results were excluded since the model required times to be stabilized. Overall, the developed model reproduces water surface elevations well throughout the entire model domain, and the results are quite similar to the SCHISM (Table 3). The overall MAE is 5.6 cm for the GOM simulation, varying from 2.1 cm to 10.5 cm. The model skill value varies from 0.887 to 0.995, and the overall value is 0.951, indicating that the developed model performs well in a complex geometric study area with realistic forcing conditions. Note that there are some possibilities that we can improve the model simulation results by modulating bathymetry, bottom friction, and tidal boundary conditions. Applying spatially varying bottom friction is a common remedy to increase the model simulation results, and it is better to apply the correctness factors for the tidal amplitude and phase when the reference tide stations are off from the model’s boundary nodes. However, we ignored them since the goal of this simulation was not to improve the model simulation results but to validate the developed model’s performance.

8. Conclusions

We developed a three-dimensional numerical model with an orthogonal unstructured grid, either triangular or quadrilateral, for coastal and estuarine circulation, and we named it the General Ocean Model (GOM). This model is implemented with a combined finite difference and finite volume method. To eliminate the major simulation time step constraint which arises when solving shallow water equations, we used a semi-implicit method, which is stable when the implicitness factor, θ , is between 0.5 and 1.0 for the wave propagation term. To moderate another time constraint, we adopted the Eulerian–Lagrangian method for the nonlinear advection term. In addition to the elimination of time constraints, exact numerical conservation is achieved by using the finite volume method.
We benchmarked an algorithm developed by Casulli and Walters [1], and this algorithm is simple, stable, and efficient. The algorithm is easy to expand from 2D to 3D equations, and by implementing ELM and semi-implicit schemes, this model can be used with fine spatial and vertical resolutions of the grid with relatively large time steps. We aimed to develop a model that can be used in coastal and estuarine regions, and, thus, the wetting and drying process is naturally achieved. In addition, this model can be used for a storm surge simulation since the atmospheric pressure term is included. The developed model, GOM, successfully passed five analytical tests we chose, and finally, it was verified with a realistic application to the Texas coast. The model simulation results were also compared with SCHISM to double-check the model performance.
There was another model that we initially considered to compare with our model, FVCOM by Chen et al. [5]. FVCOM is one of the leading and probably the most widely used finite volume ocean circulation models, thus, it might be worth comparing GOM with FVCOM, and they are as follows: First, FVCOM uses so-called “mode splitting”, while GOM solves 3D momentum equations directly from the integral forms, thus, no splitting error exists in GOM. Second, adopting the semi-implicit scheme in the recent FVCOM, users can have more freedom to apply this model with a highly refined unstructured model grid having a relatively large simulation time step. However, there is one difference in the horizontal mesh system when compared to our model—FVCOM only allows users to use a triangular mesh grid, while both triangular and quadrilateral grids can be used in our model, GOM. The study area, the Texas coast, is mostly shallow and fully connected with relatively narrow ship channels and the Gulf Intracoastal Waterway. This ship channel system can be better represented by quadrilateral grids than triangular grids to reduce the total grid size. Note that our model has not yet been parallelized, thus, the total number of the elements in the final grid is relatively important to reduce the total simulation time. Another advantage of using quadrilateral grids over triangular grids is their computational efficiency. We believe that adapting the advantages of both grids, i.e., grid refinement flexibility from triangular grids and efficiency from quadrilateral grids, gives users more accurate results and freedom to use this model. Another important difference in numerical schemes used in our model and FVCOM can be found in the treatment of the nonlinear advection term. Our model adopted the Eulerian–Lagrangian Method, while FVCOM uses the second-order explicit upwind method [5,30].
Even though this model is successfully tested, there are some aspects we want to improve when comparing it to well-recognized ocean circulation models, as mentioned by Fringer et al. [11]. With the Z-grid system (our model uses the current version of this), the model saved computational time in 3-dimensional simulations because the number of vertical grid cells is less in the shallow water area. However, the model requires one big surface layer, and this unwillingly reduces 3D to 2D in shallow water or an inundation area, thus, it is difficult to resolve 3D motions in the shallow area; this drawback will be improved by implementing the sigma ( σ ) grid. Another missing puzzle in this model, which aims to solve general coastal water motions, is the lack of transport equations. Even though this model includes the baroclinic gradient term, the salinity transport equation is not yet included. Implementation of these in this model will be our next task.

Author Contributions

All authors have significantly contributed to the manuscript by initiating the idea, J.L. (Jun Lee); designing the study, J.L. (Jun Lee), J.L. (Jungwoo Lee), S.-L.Y., S.-K.K.; acquiring funds, J.L. (Jungwoo Lee), S.-L.Y., S.-K.K.; developing the source code, J.L. (Jun Lee) and J.L. (Jungwoo Lee); numerical simulation with analytical tests, J.L. (Jun Lee) and J.L. (Jungwoo Lee); numerical modeling study for the Texas coast, J.L. (Jungwoo Lee); and drafting the manuscript, J.L. (Jun Lee), J.L. (Jungwoo Lee), S.-L.Y., S.-K.K. All authors have reviewed and agreed upon the manuscript content. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the Korea Institute of Civil Engineering and Building Technology (KICT) (project number: 20150121-0001-01) and the National Research Council of Science & Technology (NST) granted by the Korea Government (MSIT) (No. CAP-18-07-KICT).

Acknowledgments

The authors would like to thank KICT and NST for the financial support.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Casulli, V.; Walters, R.A. An unstructured grid, three-dimensional model based on the shallow water equations. Int. J. Numer. Methods Fluids 2000, 32, 331–348. [Google Scholar] [CrossRef]
  2. Fringer, O.; Gerritsen, M.; Street, R. An unstructured-grid, finite-volume, nonhydrostatic, parallel coastal ocean simulator. Ocean Model. 2006, 14, 139–173. [Google Scholar] [CrossRef]
  3. Zhang, Y.J.; Ateljevich, E.; Yu, H.-C.; Wu, C.H.; Yu, J.C.S. A new vertical coordinate system for a 3D unstructured-grid model. Ocean Model. 2015, 85, 16–31. [Google Scholar] [CrossRef]
  4. Zhang, Y.J.; Ye, F.; Stanev, E.V.; Grashorn, S. Seamless cross-scale modeling with SCHISM. Ocean Model. 2016, 102, 64–81. [Google Scholar] [CrossRef] [Green Version]
  5. Chen, C.; Liu, H.; Beardsley, R.C. An Unstructured Grid, Finite-Volume, Three-Dimensional, Primitive Equations Ocean Model: Application to Coastal Ocean and Estuaries. Journal of Atmospheric and Oceanic Technology 2003, 20, 159–186. [Google Scholar] [CrossRef]
  6. Lai, Z.; Chen, C.; Cowles, G.W.; Beardsley, R.C. A nonhydrostatic version of FVCOM: 1. Validation experiments. J. Geophys. Res. Space Phys. 2010, 115, C11. [Google Scholar] [CrossRef] [Green Version]
  7. Staniforth, A.; Côté, J. Semi-Lagrangian Integration Schemes for Atmospheric Models—A Review. Mon. Weather Rev. 1991, 119, 2206–2223. [Google Scholar] [CrossRef] [Green Version]
  8. MacWilliams, M.; Gross, E. Hydrodynamic Simulation of Circulation and Residence Time in Clifton Court Forebay. San Franc. Estuary Watershed Sci. 2013, 11. [Google Scholar] [CrossRef] [Green Version]
  9. MacWilliams, M.; Bever, A.J.; Gross, E.; Ketefian, G.; Kimmerer, W. Three-Dimensional Modeling of Hydrodynamics and Salinity in the San Francisco Estuary: An Evaluation of Model Accuracy, X2, and the Low-Salinity Zone. San Franc. Estuary Watershed Sci. 2015, 13. [Google Scholar] [CrossRef] [Green Version]
  10. MacWilliams, M.L.; Ateljevich, E.S.; Monismith, S.G.; Enright, C. An Overview of Multi-Dimensional Models of the Sacramento–San Joaquin Delta. San Franc. Estuary Watershed Sci. 2016, 14. [Google Scholar] [CrossRef] [Green Version]
  11. Fringer, O.B.; Dawson, C.; He, R.; Ralston, D.K.; Zhang, Y.J. The future of coastal and estuarine modeling: Findings from a workshop. Ocean Model. 2019, 143, 101458. [Google Scholar] [CrossRef]
  12. Cheng, R.T.; Casulli, V. Evaluation of the UnTRIM Model for 3-D Tidal Circulation. Estuar. Coast. Model. 2001, 628–642. [Google Scholar] [CrossRef] [Green Version]
  13. Leith, C.E. Atmospheric Predictability and Two-Dimensional Turbulence. J. Atmos. Sci. 1971, 28, 145–161. [Google Scholar] [CrossRef] [Green Version]
  14. Cheng, R.T.; Casulli, V.; Milford, S.N. Eulerian-Lagrangian Solution of the Convection-Dispersion Equation in Natural Coordinates. Water Resour. Res. 1984, 20, 944–952. [Google Scholar] [CrossRef]
  15. Oliveira, A.; Baptista, A.M. On the role of tracking on Eulerian-Lagrangian solutions of the transport equation. Adv. Water Resour. 1998, 21, 539–554. [Google Scholar] [CrossRef]
  16. Lentine, M.; Grétarsson, J.T.; Fedkiw, R. An unconditionally stable fully conservative semi-Lagrangian method. J. Comput. Phys. 2011, 230, 2857–2879. [Google Scholar] [CrossRef] [Green Version]
  17. Garratt, J.R. Review of Drag Coefficients over Oceans and Continents. Mon. Weather Rev. 1977, 105, 915–929. [Google Scholar] [CrossRef] [Green Version]
  18. Smith, S.D. Wind Stress and Heat Flux over the Ocean in Gale Force Winds. J. Phys. Oceanogr. 1980, 10, 709–726. [Google Scholar] [CrossRef]
  19. Lynch, D.R.; Gray, W.G. Analytic Solutions for Computer Flow Model Testing. J. Hydraul. Div. 1978, 104, 1409–1428. [Google Scholar]
  20. Liu, Y. Two-Dimensional Finite-Difference Model for Moving Boundary Hydrodynamic Problems. Ph.D. Thesis, University of Florida, Gainesville, FL, USA, 1988. [Google Scholar]
  21. Lee, J. Three-Dimensional Unstructured Finite Difference and Volume Model for Barotropic Coastal and Estuarine Circulation and Application to Hurricane Ivan (2004) and Dennis (2005). Ph.D. Thesis, University of Florida, Gainesville, FL, USA, 2008. [Google Scholar]
  22. Lynch, D.R.; Officer, C.B. Analytic test cases for three-dimensional hydrodynamic models. Int. J. Numer. Methods Fluids 1985, 5, 529–543. [Google Scholar] [CrossRef]
  23. Luettich, R.A.; Muccino, J.C.; Foreman, M.G.G. Considerations in the Calculation of Vertical Velocity in Three-Dimensional Circulation Models. J. Atmos. Ocean. Technol. 2002, 19, 2063–2076. [Google Scholar] [CrossRef] [Green Version]
  24. Carrier, G.F.; Greenspan, H.P. Water waves of finite amplitude on a sloping beach. J. Fluid Mech. 1958, 4, 97–109. [Google Scholar] [CrossRef]
  25. Sobey, R.J. Wetting and drying in coastal flows. Coast. Eng. 2009, 56, 565–576. [Google Scholar] [CrossRef] [Green Version]
  26. Mungkasi, S.; Roberts, S.G. Approximations of the Carrier-Greenspan periodic solution to the shallow water wave equations for flows on a sloping beach. Int. J. Numer. Methods Fluids 2012, 69, 763–780. [Google Scholar] [CrossRef] [Green Version]
  27. Willmott, C.J. Some Comments on the Evaluation of Model Performance. Bull. Am. Meteorol. Soc. 1982, 63, 1309–1313. [Google Scholar] [CrossRef] [Green Version]
  28. Kim, C.-K.; Park, K. A modeling study of water and salt exchange for a micro-tidal, stratified northern Gulf of Mexico estuary. J. Mar. Syst. 2012, 96, 103–115. [Google Scholar] [CrossRef]
  29. Lee, J.; Lee, J.; Yun, S.-L.; Oh, H.-C. Development of a finite volume two-dimensional model and its application in a bay with two inlets: Mobile Bay, Alabama. Cont. Shelf Res. 2017, 146, 13–27. [Google Scholar] [CrossRef]
  30. Chen, C.; Huang, H.; Beardsley, R.C.; Liu, H.; Xu, Q.; Cowles, G. A finite volume numerical approach for coastal ocean circulation studies: Comparisons with finite difference models. J. Geophys. Res. Space Phys. 2007, 112, C03018. [Google Scholar] [CrossRef]
Figure 1. Orthogonal unstructured mesh and its notation used in the General Ocean Model (GOM), where P i is the i th polygon; λ j ( i , 1 ~ l ) is the length of the j th side when calling from the i th polygon; and δ j is the distance between the centers of neighboring cells that share the j th side.
Figure 1. Orthogonal unstructured mesh and its notation used in the General Ocean Model (GOM), where P i is the i th polygon; λ j ( i , 1 ~ l ) is the length of the j th side when calling from the i th polygon; and δ j is the distance between the centers of neighboring cells that share the j th side.
Water 12 02752 g001
Figure 2. Location of computational variables, where η i , ρ i , S i , and T i denotes the water surface elevation, water density, salinity, and water temperature, respectively, which are defined at the center of the i th element; h j is the water depth which is defined at the j th side; u j , k * and v j , k * are the face normal and tangential velocities which are defined at the j th side; and k is the vertical layer index.
Figure 2. Location of computational variables, where η i , ρ i , S i , and T i denotes the water surface elevation, water density, salinity, and water temperature, respectively, which are defined at the center of the i th element; h j is the water depth which is defined at the j th side; u j , k * and v j , k * are the face normal and tangential velocities which are defined at the j th side; and k is the vertical layer index.
Water 12 02752 g002
Figure 3. Introduction of a new coordinate system, where x and y are the axes of the true east and north coordinate; x * and y * are the transformed axes assigned at each side; and θ is the angle between these two axes.
Figure 3. Introduction of a new coordinate system, where x and y are the axes of the true east and north coordinate; x * and y * are the transformed axes assigned at each side; and θ is the angle between these two axes.
Water 12 02752 g003
Figure 4. The schematic diagram for the Eulerian grid on the Lagrangian frame, where i is the horizontal grid point; t is the time level; a is the CFL number; n and p are the integer part and the decimal part of a , respectively (i.e., a = n + p ,   0 p < 1 ) .
Figure 4. The schematic diagram for the Eulerian grid on the Lagrangian frame, where i is the horizontal grid point; t is the time level; a is the CFL number; n and p are the integer part and the decimal part of a , respectively (i.e., a = n + p ,   0 p < 1 ) .
Water 12 02752 g004
Figure 5. Numerical stencils of a rectangular grid for the finite volume method, where λ j ( i , 1 )   ~   λ j ( i , 4 ) are the length of each cell face.
Figure 5. Numerical stencils of a rectangular grid for the finite volume method, where λ j ( i , 1 )   ~   λ j ( i , 4 ) are the length of each cell face.
Water 12 02752 g005
Figure 6. Determination of wet and dry depth at an element face, where h j is the water depth at the j th side; η i ( i .1 ) is the water surface elevation at the i th element; and η i ( i .2 ) is the water surface elevation at the neighboring element which shares the j th side.
Figure 6. Determination of wet and dry depth at an element face, where h j is the water depth at the j th side; η i ( i .1 ) is the water surface elevation at the i th element; and η i ( i .2 ) is the water surface elevation at the neighboring element which shares the j th side.
Water 12 02752 g006
Figure 7. Numerical results of the wind setup test (2D simulation results).
Figure 7. Numerical results of the wind setup test (2D simulation results).
Water 12 02752 g007
Figure 8. Computation domain and mixed (triangular and quadrilateral) meshes for tidal propagation tests. Three red dots denote the model simulation comparison locations: from the left to the right—station 1, 2, 3.
Figure 8. Computation domain and mixed (triangular and quadrilateral) meshes for tidal propagation tests. Three red dots denote the model simulation comparison locations: from the left to the right—station 1, 2, 3.
Water 12 02752 g008
Figure 9. Comparison of water surface elevation for tidal propagation test at three locations with θ = 1.0 . Solid lines and circles represent analytical solutions and numerical results, respectively. ST_1, ST_2, and ST_3 denote result extraction locations shown in Figure 8.
Figure 9. Comparison of water surface elevation for tidal propagation test at three locations with θ = 1.0 . Solid lines and circles represent analytical solutions and numerical results, respectively. ST_1, ST_2, and ST_3 denote result extraction locations shown in Figure 8.
Water 12 02752 g009
Figure 10. Comparison of water surface elevation for the tidal propagation test at three different locations with θ = 0.5 . Solid lines and circles represent analytical solutions and numerical results, respectively. ST_1, ST_2, and ST_3 denote result extraction locations shown in Figure 8.
Figure 10. Comparison of water surface elevation for the tidal propagation test at three different locations with θ = 0.5 . Solid lines and circles represent analytical solutions and numerical results, respectively. ST_1, ST_2, and ST_3 denote result extraction locations shown in Figure 8.
Water 12 02752 g010
Figure 11. Comparison of water surface elevation for nonlinear advection at three different locations with θ = 1.0 . Solid lines and circles represent analytical solutions and numerical results, respectively. ST_1, ST_2, and ST_3 denote result extraction locations shown in Figure 8.
Figure 11. Comparison of water surface elevation for nonlinear advection at three different locations with θ = 1.0 . Solid lines and circles represent analytical solutions and numerical results, respectively. ST_1, ST_2, and ST_3 denote result extraction locations shown in Figure 8.
Water 12 02752 g011
Figure 12. Computational mesh for the quarter annular test. Upper panel: x–y plane, lower panel: x–z plane. Three data extraction locations are shown with numbers on the upper panel.
Figure 12. Computational mesh for the quarter annular test. Upper panel: x–y plane, lower panel: x–z plane. Three data extraction locations are shown with numbers on the upper panel.
Water 12 02752 g012
Figure 13. Comparison of water surface elevation for the Quarter Annular test case at three different locations. Solid lines and circles represent analytical solutions and numerical results, respectively. ST_1, ST_2, and ST_3 denote result extraction locations shown in Figure 12.
Figure 13. Comparison of water surface elevation for the Quarter Annular test case at three different locations. Solid lines and circles represent analytical solutions and numerical results, respectively. ST_1, ST_2, and ST_3 denote result extraction locations shown in Figure 12.
Water 12 02752 g013
Figure 14. Definition sketch for Carrier and Greenspan [24] analytical solution on a linearly sloping beach, where MSL denotes the mean sea level; h is the water depth; η ( x , t ) is space and time-dependent water surface elevation; and α is the bottom slope.
Figure 14. Definition sketch for Carrier and Greenspan [24] analytical solution on a linearly sloping beach, where MSL denotes the mean sea level; h is the water depth; η ( x , t ) is space and time-dependent water surface elevation; and α is the bottom slope.
Water 12 02752 g014
Figure 15. Comparison of wave profiles as predicted by theory (solid red lines) and numerical model (blue circles) of wetting and drying at time = 0 to π /2.
Figure 15. Comparison of wave profiles as predicted by theory (solid red lines) and numerical model (blue circles) of wetting and drying at time = 0 to π /2.
Water 12 02752 g015
Figure 16. Comparison of wave profiles as predicted by theory (solid red lines) and numerical model (blue circles) of wetting and drying at time = 2π/3 to π.
Figure 16. Comparison of wave profiles as predicted by theory (solid red lines) and numerical model (blue circles) of wetting and drying at time = 2π/3 to π.
Water 12 02752 g016
Figure 17. The model domain and the horizontal grid. The ten blue dots denote included river boundaries, and the twelve red squares show National Oceanic Atmospheric Administration (NOAA) tide stations; the numbers are the corresponding station numbers in Table 2. The upper panel is the zoom-in of the selected coastal area at the lower Galveston Bay.
Figure 17. The model domain and the horizontal grid. The ten blue dots denote included river boundaries, and the twelve red squares show National Oceanic Atmospheric Administration (NOAA) tide stations; the numbers are the corresponding station numbers in Table 2. The upper panel is the zoom-in of the selected coastal area at the lower Galveston Bay.
Water 12 02752 g017
Figure 18. Water surface elevation comparison between measurements (blue circles), GOM simulation results (solid red lines), and Semi-Implicit Cross-Scale Hydroscience Integrated System Model (SCHISM) simulation results (solid black lines) from tide stations 1 to 6.
Figure 18. Water surface elevation comparison between measurements (blue circles), GOM simulation results (solid red lines), and Semi-Implicit Cross-Scale Hydroscience Integrated System Model (SCHISM) simulation results (solid black lines) from tide stations 1 to 6.
Water 12 02752 g018
Figure 19. Water surface elevation comparison between measurements (blue circles), GOM simulation results (solid red lines), and SCHISM simulation results (solid black lines) from tide stations 7 to 12.
Figure 19. Water surface elevation comparison between measurements (blue circles), GOM simulation results (solid red lines), and SCHISM simulation results (solid black lines) from tide stations 7 to 12.
Water 12 02752 g019
Table 1. Comparisons between analytical and simulated wind setup, where η is the setup of the water surface.
Table 1. Comparisons between analytical and simulated wind setup, where η is the setup of the water surface.
x   ( km ) η a n a l y t i c a l ( cm ) η 2 D   m o d e l ( cm ) η 3 D   m o d e l ( cm )
0.5−2.04−2.04−2.04
10.5000
20.52.042.042.04
Table 2. NOAA tide stations and United States Geological Survey (USGS) river gaging stations used in the model simulation.
Table 2. NOAA tide stations and United States Geological Survey (USGS) river gaging stations used in the model simulation.
# in Figure 17NOAA Station IDStation NameUSGS Station IDStation Name
18770822Sabine Pass08030500Sabine River
28770520Rainbow Bridge08041780Neches River
38770808High Island08042558Double Bayou
48770971Rollover Pass08067070Trinity River
58770777Manchester08067500Cedar Bayou
68770613Morgan’s Point08070200San Jacinto River
78771013Eagle Point08074500Buffalo Bayou
88771341Galveston Bay Entrance08078000Chocolate Bayou
98771450Galveston Pier 2108116650Brazos River
108771486Galveston Railroad Br.08117705San Bernard River
118771972San Luis Pass--
128772447Freeport--
Table 3. Error analysis of the surface elevation simulation for both the SCHISM and GOM.
Table 3. Error analysis of the surface elevation simulation for both the SCHISM and GOM.
Tide StationSCHISMGOMN
MAE (cm)SkillMAE (cm)Skill
(1) Sabine Pass5.40.9595.30.961600
(2) Rainbow Bridge5.50.9455.50.945600
(3) High Island5.50.9515.60.950600
(4) Rollover Pass6.40.9346.50.931600
(5) Manchester10.80.89710.50.901600
(6) Morgan’s Point9.10.9098.80.912600
(7) Eagle Point5.00.9575.10.955600
(8) Galveston Bay Entrance3.60.9843.60.983600
(9) Galveston Pier 213.20.9813.30.980600
(10) Galveston Railroad Br.3.20.9843.20.983600
(11) San Luis Pass8.10.8908.10.887600
(12) Freeport2.20.9942.10.995600
Overall5.70.9515.60.9517200
MAE: Mean Absolute Error. Skill: Predictive skill.

Share and Cite

MDPI and ACS Style

Lee, J.; Lee, J.; Yun, S.-L.; Kim, S.-K. Three-Dimensional Unstructured Grid Finite-Volume Model for Coastal and Estuarine Circulation and Its Application. Water 2020, 12, 2752. https://doi.org/10.3390/w12102752

AMA Style

Lee J, Lee J, Yun S-L, Kim S-K. Three-Dimensional Unstructured Grid Finite-Volume Model for Coastal and Estuarine Circulation and Its Application. Water. 2020; 12(10):2752. https://doi.org/10.3390/w12102752

Chicago/Turabian Style

Lee, Jun, Jungwoo Lee, Sang-Leen Yun, and Seog-Ku Kim. 2020. "Three-Dimensional Unstructured Grid Finite-Volume Model for Coastal and Estuarine Circulation and Its Application" Water 12, no. 10: 2752. https://doi.org/10.3390/w12102752

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop