|
|
(13 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 (1957) and Freeman et al. (1972)]. | | [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. |
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:
![{\displaystyle {\begin{aligned}{\hat {x}}&=x\\{\hat {y}}&=y\\\sigma &=\sigma (x,y,z)\\z&=z(x,y,\sigma )\\{\hat {t}}&=t\end{aligned}}}](https://www.myroms.org/myroms.org/v1/media/math/render/svg/3ceec31829b2a562fd6fe3d5c523d00765b2bd37)
|
(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:
![{\displaystyle {\begin{aligned}\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{aligned}}}](https://www.myroms.org/myroms.org/v1/media/math/render/svg/048172c185a28510859813704156b7a4d5c07934)
|
(2)
|
where
![{\displaystyle H_{z}\equiv {\partial z \over \partial \sigma }}](https://www.myroms.org/myroms.org/v1/media/math/render/svg/3c5501b1ef13d87fdecdf0af7cb2ac02429f1d85)
|
(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:
![{\displaystyle {\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}}](https://www.myroms.org/myroms.org/v1/media/math/render/svg/487b4e188a579e162dabc07d33966bd1c9b47f0a)
|
(4)
|
![{\displaystyle {\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}}](https://www.myroms.org/myroms.org/v1/media/math/render/svg/8dc2f5338bce5024907b81f40dad0c97c2e1eb0e)
|
(5)
|
![{\displaystyle {\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}}}](https://www.myroms.org/myroms.org/v1/media/math/render/svg/af6892023a11694d2a145679e95ac2f95f360ebf)
|
(6)
|
![{\displaystyle \rho =\rho (T,S,P)}](https://www.myroms.org/myroms.org/v1/media/math/render/svg/b639c0ff8aeb716adc0b3277afea3d105d28eff1)
|
(7)
|
![{\displaystyle {\frac {\partial \phi }{\partial \sigma }}=\left({\frac {-gH_{z}\rho }{\rho _{o}}}\right)}](https://www.myroms.org/myroms.org/v1/media/math/render/svg/a141769b9c1b88268b6910ac58465bc336071180)
|
(8)
|
![{\displaystyle {\partial H_{z} \over \partial t}+{\partial (H_{z}u) \over \partial x}+{\partial (H_{z}v) \over \partial y}+{\partial (H_{z}\Omega ) \over \partial \sigma }=0}](https://www.myroms.org/myroms.org/v1/media/math/render/svg/d14a9ca9a620ce5f2a5f8f9837db6515645490c3)
|
(9)
|
where
![{\displaystyle {\vec {v}}=(u,v,\Omega )}](https://www.myroms.org/myroms.org/v1/media/math/render/svg/b68da24340a5b6f78df7ca8aa3277e22dfd48167)
|
(10)
|
![{\displaystyle {\vec {v}}\cdot \nabla =u{\frac {\partial }{\partial x}}+v{\frac {\partial }{\partial y}}+\Omega {\frac {\partial }{\partial \sigma }}}](https://www.myroms.org/myroms.org/v1/media/math/render/svg/0921d5afccdf761c817e9f03d26f8a70a8c0ebc6)
|
(11)
|
The vertical velocity in
coordinates is
![{\displaystyle \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]}](https://www.myroms.org/myroms.org/v1/media/math/render/svg/e4770e99d7e01eec1bb1529d1f8e9c766f4a8b7d)
|
(12)
|
and
![{\displaystyle w={\partial z \over \partial t}+u{\partial z \over \partial x}+v{\partial z \over \partial y}+\Omega H_{z}}](https://www.myroms.org/myroms.org/v1/media/math/render/svg/1979105e3053fd5a5bb78e2e79f80dae93829b6f)
|
(13)
|
Vertical Boundary Conditions
In the stretched coordinate system, the vertical boundary conditions
become:
top (
):
![{\displaystyle {\begin{aligned}\left({\frac {K_{m}}{H_{z}}}\right){\frac {\partial u}{\partial \sigma }}&=\tau _{s}^{x}(x,y,t)\\\left({\frac {K_{m}}{H_{z}}}\right){\frac {\partial v}{\partial \sigma }}&=\tau _{s}^{y}(x,y,t)\\\left({\frac {K_{C}}{H_{z}}}\right){\frac {\partial C}{\partial \sigma }}&={Q_{C} \over \rho _{o}c_{P}}\\\Omega &=0\end{aligned}}}](https://www.myroms.org/myroms.org/v1/media/math/render/svg/0b09ae092845e86bef5dd8a076ef432b8347bcfb)
|
(14)
|
and bottom (
):
![{\displaystyle {\begin{aligned}\left({\frac {K_{m}}{H_{z}}}\right){\frac {\partial u}{\partial \sigma }}&=\tau _{b}^{x}(x,y,t)\\\left({\frac {K_{m}}{H_{z}}}\right){\frac {\partial v}{\partial \sigma }}&=\tau _{b}^{y}(x,y,t)\\\left({\frac {K_{C}}{H_{z}}}\right){\frac {\partial C}{\partial \sigma }}&=0\\\Omega &=0\end{aligned}}}](https://www.myroms.org/myroms.org/v1/media/math/render/svg/2221de977d1b9db28704585ffce3cff4dd340b00)
|
(15)
|
Note the simplification of the boundary conditions on vertical
velocity that arises from the
coordinate transformation.