Difference between revisions of "Terrain-Following Coordinate Transformation"

From WikiROMS
Jump to navigationJump to search
(First draft)   (change visibility)
 
 
(15 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<div class="title">Terrain-Following Coordinate Transformation</div>
From the point of view of the computational model, it is highly
From the point of view of the computational model, it is highly
convenient to introduce a stretched vertical coordinate system which
convenient to introduce a stretched vertical coordinate system which
essentially "flattens out" the variable bottom at <math>z = -h(x,y)\!\,</math>.
essentially "flattens out" the variable bottom at <math>z = -h(x,y)</math>.
Such "<math>s\!\,</math>" coordinate systems have long been used, with slight
Such "<math>\sigma</math>" coordinate systems have long been used, with slight
appropriate modification, in both meteorology and oceanography
appropriate modification, in both meteorology and oceanography
(e.g., Phillips \cite{Phil} and Freeman et al.\ \cite{FHD}).
[e.g., Phillips (1957) and Freeman et al. (1972)].
To proceed, we make the coordinate transformation:
To proceed, we make the coordinate transformation:


:<math> \hat{x} = x</math>
{| class="eqno"
:<math> \hat{y} = y </math>
|<math display="block"> \begin{align} \hat{x} &= x \\
:<math> s = s(x,y,z)\!\,</math>
\hat{y} &= y \\
:<math> z = z(x,y,s)\!\,</math>
\sigma &= \sigma(x,y,z) \\
:<math> \hat{t} = t</math>
z &= z(x,y,\sigma) \\
\hat{t} &= t \end{align} </math> <!--\eqno{(1)}-->
|(1)
|}


See [[S-coordinate]] for the form of <math>s\!\,</math> used here.
See [[Vertical S-coordinate]] for the form of <math>\sigma</math> used here. Also, see [[Bibliography#ShchepetkinAF_2005a | Shchepetkin and McWilliams, 2005]] for a discussion about the nature of this form of <math>\sigma</math> and how it
In the stretched system, the vertical coordinate <math>s\!\,</math> spans the
differs from that used in SCRUM.
range <math>-1 \leq s \leq 0\!\,</math>; we are therefore left with
level upper (<math>s = 0\!\,</math>) and lower (<math>s = -1\!\,</math>) bounding
surfaces. The chain rules for this transformation are:


:<math>\left( { \partial \over \partial x } \right)_z =\left( { \partial \over \partial x } \right)_s - \left( { 1 \over H_z } \right) \left( { \partial z \over \partial x } \right)_s { \partial \over \partial s}</math>
In the stretched system, the vertical coordinate <math>\sigma</math> spans the range <math>-1 \leq \sigma \leq 0</math>; we are therefore left with level upper (<math>\sigma = 0</math>) and lower (<math>\sigma = -1</math>) bounding surfaces.  The chain rules for this transformation are:


:<math>\left( { \partial \over \partial y } \right)_z = \left( { \partial \over \partial y } \right)_s - \left( { 1 \over H_z } \right) \left( { \partial z \over \partial y } \right)_s { \partial \over \partial s}</math>
{| class="eqno"
|<math display="block"> \begin{align} \left( { \partial \over \partial x } \right)_z &= \left( { \partial \over \partial x } \right)_\sigma - \left( { 1 \over H_z } \right) \left( { \partial z \over \partial x } \right)_\sigma { \partial \over \partial \sigma} \\ \\
\left( { \partial \over \partial y } \right)_z &= \left( { \partial \over \partial y } \right)_\sigma - \left( { 1 \over H_z } \right) \left( { \partial z \over \partial y } \right)_\sigma { \partial \over \partial \sigma} \\ \\
{ \partial \over \partial z } &= \left( { \partial \sigma \over \partial z } \right) { \partial \over \partial \sigma} =  { 1 \over H_z } { \partial \over \partial \sigma } \end{align} </math> <!--\eqno{(2)-->
|(2)
|}


:<math>{ \partial \over \partial z } = \left( { \partial s \over \partial z } \right) { \partial \over \partial s} { 1 \over H_z } { \partial \over \partial s }</math>
where
 
{| class="eqno"
|<math display="block">H_z \equiv { \partial z \over \partial \sigma } </math><!--\eqno{(3)}-->
|(3)
|}
 
As a trade-off for this geometric simplification, the [[Equations of Motion|dynamic equations]] become somewhat more complicated.  The resulting dynamic equations, after dropping the carats, are:
 
{| class="eqno"
|<math display="block">{\partial u \over \partial t} - fv + \vec{v} \cdot \nabla u = - {\partial \phi \over \partial x} - \left( \frac{g\rho} {\rho_o} \right) \frac{\partial z}{\partial x} - g {\partial \zeta \over \partial x} + { 1 \over H_z } {\partial \over \partial \sigma} \left[ {(K_m+\nu) \over H_z} {\partial u \over \partial \sigma} \right] + {\cal F}_u + {\cal D}_u </math><!--\eqno{(4)}-->
|(4)
|}


where


:<math>H_z \equiv { \partial z \over \partial s }</math>
{| class="eqno"
|<math display="block">\frac{\partial v}{\partial t} + fu + \vec{v} \cdot \nabla v = - \frac{\partial \phi}{\partial y} - \left( \frac{g\rho} {\rho_o} \right) \frac{\partial z}{\partial y} - g {\partial \zeta \over \partial y} + { 1 \over H_z } {\partial \over \partial \sigma} \left[ {(K_m+\nu) \over H_z} {\partial v \over \partial \sigma} \right] + {\cal F}_v + {\cal D}_v </math><!--\eqno{(5)}-->
|(5)
|}


As a trade-off for this geometric
simplification, the [[Equations of motion|dynamic equations]] become somewhat more
complicated.  The resulting dynamic equations are, after dropping the
carats:


:<math>{\partial u \over \partial t} - fv + \vec{v} \cdot \nabla u = - {\partial \phi \over \partial x} - \left( \frac{g\rho} {\rho_o} \right) \frac{\partial z}{\partial x} - g {\partial \zeta \over \partial x} + {F}_u + {D}_u</math>
{| class="eqno"
|<math display="block">\frac{\partial C}{\partial t} + \vec{v} \cdot \nabla C = { 1 \over H_z } {\partial \over \partial \sigma} \left[ {(K_C+\nu) \over H_z} {\partial C \over \partial \sigma} \right] + {\cal F}_{C} + {\cal D}_{C} </math><!--\eqno{(6)}-->
|(6)
|}


:<math>\frac{\partial v}{\partial t} + fu + \vec{v} \cdot \nabla v = - \frac{\partial \phi}{\partial y} - \left( \frac{g\rho} {\rho_o} \right) \frac{\partial z}{\partial y} - g {\partial \zeta \over \partial y} + {F}_v + {D}_v</math>


:<math>\frac{\partial T}{\partial t} + \vec{v} \cdot \nabla T = {F}_{T} + {D}_{T}</math>
{| class="eqno"
|<math display="block">\rho = \rho(T,S,P) </math><!--\eqno{(7)}-->
|(7)
|}


:<math>\frac{\partial S}{\partial t} + \vec{v} \cdot \nabla S = {F}_{S} + {D}_{S}</math>


:<math>\rho = \rho(T,S,P)\!\,</math>
{| class="eqno"
|<math display="block">\frac{\partial \phi}{\partial \sigma} = \left( \frac{-gH_z\rho} {\rho_o} \right) </math><!--\eqno{(8)}-->
|(8)
|}


:<math>\frac{\partial \phi}{\partial s} = \left( \frac{-gH_z\rho} {\rho_o} \right)</math>


:<math>{\partial H_z \over \partial t} + {\partial (H_zu) \over \partial x} + {\partial (H_zv) \over \partial y} + {\partial (H_z \Omega) \over \partial s} = 0</math>
{| class="eqno"
|<math display="block">{\partial H_z \over \partial t} + {\partial (H_zu) \over \partial x} + {\partial (H_zv) \over \partial y} + {\partial (H_z \Omega) \over \partial \sigma} = 0 </math><!--\eqno{(9)}-->
|(9)
|}


where
where


:<math>\vec{v} = (u,v,\Omega)</math>
{| class="eqno"
|<math display="block">\vec{v} = (u,v,\Omega) </math><!--\eqno{(10)}-->
|(10)
|}


:<math>\vec{v} \cdot \nabla = u \frac{\partial}{\partial x} + v
{| class="eqno"
   \frac{\partial}{\partial y} + \Omega \frac{\partial}{\partial s}</math>
|<math display="block">\vec{v} \cdot \nabla = u \frac{\partial}{\partial x} + v
   \frac{\partial}{\partial y} + \Omega \frac{\partial}{\partial \sigma} </math><!--\eqno{(11)}-->
|(11)
|}


The vertical velocity in <math>s\!\,</math> coordinates is
The vertical velocity in <math>\sigma</math> coordinates is


:<math>\Omega (x,y,s,t) = {1 \over H_z} \left[ w - (1+s) {\partial \zeta \over \partial t} - u {\partial z \over \partial x} - v {\partial z \over \partial y} \right]</math>
{| class="eqno"
|<math display="block">\Omega (x,y,\sigma,t) = {1 \over H_z} \left[ w - {z+h \over \zeta + h} {\partial \zeta \over \partial t} - u {\partial z \over \partial x} - v {\partial z \over \partial y} \right] </math><!--\eqno{(12)}-->
|(12)
|}


and
and


:<math>w = {\partial z \over \partial t} + u {\partial z \over \partial x}
{| class="eqno"
   + v {\partial z \over \partial y} + \Omega H_z</math>
|<math display="block">w = {\partial z \over \partial t} + u {\partial z \over \partial x}
   + v {\partial z \over \partial y} + \Omega H_z </math><!--\eqno{(13)}-->
|(13)
|}


==Vertical Boundary Conditions==
==Vertical Boundary Conditions==
In the stretched coordinate system, the vertical boundary conditions
In the stretched coordinate system, the vertical boundary conditions
become:
become:


top (<math>s = 0\!\,</math>):
top (<math>\sigma = 0</math>):
::<math>\left(\frac{K_m}{H_z}\right) \frac{\partial u}{\partial s} = \tau^x_s (x,y,t)</math>
 
::<math>\left(\frac{K_m}{H_z}\right) \frac{\partial v}{\partial s} = \tau^y_s(x,y,t)</math>
{| class="eqno"
::<math>\left(\frac{K_T}{H_z}\right) \frac{\partial T}{\partial s} = {Q_T \over \rho_o c_P} + {1 \over \rho_o c_P} {dQ \over dT} (T - T_{\rm ref})</math>
|<math display="block"> \begin{align} \left( \frac{K_m}{H_z}\right) \frac{\partial u}{\partial \sigma} &= \tau^x_s (x,y,t) \\
::<math>\left(\frac{K_S}{H_z}\right) \frac{\partial S}{\partial s} = {(E - P) S \over \rho_o}</math>
\left( \frac{K_m}{H_z}\right) \frac{\partial v}{\partial \sigma} &= \tau^y_s(x,y,t)\\
::<math>\Omega = 0\!\,</math>
\left( \frac{K_C}{H_z}\right) \frac{\partial C}{\partial \sigma} &= {Q_C \over \rho_o c_P}\\
\Omega &= 0 \end{align}</math><!--\eqno{(14)}-->
|(14)
|}
 
and bottom (<math>\sigma = -1</math>):


and bottom (<math>s = -1\!\,</math>):
{| class="eqno"
::<math>\left(\frac{K_m}{H_z}\right) \frac{\partial u}{\partial s} = \tau^x_b (x,y,t)</math>
|<math display="block"> \begin{align} \left( \frac{K_m}{H_z}\right) \frac{\partial u}{\partial \sigma} &= \tau^x_b (x,y,t) \\
  & \left(\frac{K_m}{H_z}\right) \frac{\partial v}{\partial s} = \tau^y_b (x,y,t)</math>
\left( \frac{K_m}{H_z}\right) \frac{\partial v}{\partial \sigma} &= \tau^y_b (x,y,t) \\
  & \left(\frac{K_T}{H_z}\right) \frac{\partial T}{\partial s} = 0</math>
\left( \frac{K_C}{H_z}\right) \frac{\partial C}{\partial \sigma} &= 0 \\
::<math>\left(\frac{K_S}{H_z}\right) \frac{\partial S}{\partial s} = 0 </math>
\Omega &= 0 \end{align}</math><!--\eqno{(15)}-->
::<math>\Omega = 0\!\,</math>
|(15)
|}


Note the simplification of the boundary conditions on vertical
Note the simplification of the boundary conditions on vertical
velocity that arises from the <math>s\!\,</math> coordinate transformation.
velocity that arises from the <math>\sigma</math> coordinate transformation.

Latest revision as of 13:17, 4 August 2015

Terrain-Following Coordinate Transformation

From the point of view of the computational model, it is highly convenient to introduce a stretched vertical coordinate system which essentially "flattens out" the variable bottom at . Such "" coordinate systems have long been used, with slight appropriate modification, in both meteorology and oceanography [e.g., Phillips (1957) and Freeman et al. (1972)]. To proceed, we make the coordinate transformation:

(1)

See Vertical S-coordinate for the form of used here. Also, see Shchepetkin and McWilliams, 2005 for a discussion about the nature of this form of and how it differs from that used in SCRUM.

In the stretched system, the vertical coordinate spans the range ; we are therefore left with level upper () and lower () bounding surfaces. The chain rules for this transformation are:

(2)

where

(3)

As a trade-off for this geometric simplification, the dynamic equations become somewhat more complicated. The resulting dynamic equations, after dropping the carats, are:

(4)


(5)


(6)


(7)


(8)


(9)

where

(10)
(11)

The vertical velocity in coordinates is

(12)

and

(13)

Vertical Boundary Conditions

In the stretched coordinate system, the vertical boundary conditions become:

top ():

(14)

and bottom ():

(15)

Note the simplification of the boundary conditions on vertical velocity that arises from the coordinate transformation.