Model help:ROMS: Difference between revisions
No edit summary |
No edit summary |
||
Line 791: | Line 791: | ||
Surface refinement function | Surface refinement function | ||
::::{| | ::::{| | ||
|width=530px|<math> \left\{\begin{matrix} C \left ( \sigma \right ) = {\frac{1 - cosh \left (\theta_{S}\sigma \right )}{cosh \left (\theta_{S}\right ) - 1}} & \theta_{S} > 0 \\ - \sigma ^2 & \theta_{S} <= 0 </math> | |width=530px|<math> \left\{\begin{matrix} C \left ( \sigma \right ) = {\frac{1 - cosh \left (\theta_{S}\sigma \right )}{cosh \left (\theta_{S}\right ) - 1}} & \theta_{S} > 0 \\ - \sigma ^2 & \theta_{S} <= 0 \end{matrix}\right. </math> | ||
|width=50p=x align="right"|(37) | |width=50p=x align="right"|(37) | ||
|} | |} | ||
Bottom refinement function | Bottom refinement function (θ<sub>B</sub> > 0) | ||
::::{| | |||
|width=530px|<math> C \left (\simga \right ) = {\frac{exp \left (\theta_{B} C\left (\sigma \right )\right ) - 1}{1 - exp \left (- \theta_{B}\right )}} </math> | |||
|width=50p=x align="right"|(38) | |||
|} | |||
<div class="NavFrame collapsed" style="text-align:left"> | <div class="NavFrame collapsed" style="text-align:left"> | ||
Line 982: | Line 985: | ||
Now the transformation equation (b) is the default value for ROMS. | Now the transformation equation (b) is the default value for ROMS. | ||
The vertical stretching functions have the following properties: | |||
* C(σ) is a dimensionless, nonlinear, monotonic function; | |||
* C(σ) is a continuous differentiable function, or a differentiable piecewise function with smooth transition; | |||
* C(σ) must be discritized in terms of the fractional stretched vertical coordinate σ; | |||
* C(σ) must be constrained by -1 <= C(σ) <= 0, that is C(σ)= 0 for σ = 0 at the free-surface, C(σ) = -1 for σ = -1 at the ocean bottom. | |||
The 4 available stretching functions has been shown in equations (28)~(38), equation (28) shows the condition for Vstretching = 1, which has the following features: | |||
* 0 <= θ<sub>S</sub> <= 20, 0 <= θ<sub>B</sub> <= 1, respectively. | |||
* It is infinitely differentiable in σ. | |||
* The larger the value of θ<sub>S</sub>, the more resolution is kept above h<sub>c</sub>. | |||
* For θ<sub>B</sub> = 0, the resolution all goes to the surface as θ<sub>S</sub> is increased. | |||
* For θ<sub>B</sub> = 1, the resolution goes to both the surface and the bottom equally as θ<sub>S</sub> is increased. | |||
* For θ<sub>S</sub> is not equal to 0, there is a subtle mismatch in the discretization of the model equations, for instance in the horizontal viscosity term. We recommend that you stick with reasonable values of θ<sub>S</sub>, say θ<sub>S</sub> <= 8. | |||
* Some applications turn out to be sensitive to the value of θ<sub>S</sub> used. | |||
Equation (29)~ (32) shows the condition for Vstretching = 2, which is similar in meaning to equation (28), but the hyperbolic function in C<sub>sur</sub> is cosh instead of sinh and that when σ is close to 0, ΔC/Δσ is also close to 0. | |||
Equations (33)~(36) shows the condition for Vstretching = 3, which is designed for high bottom boundary layer resolution in relatively shallow applications, and the typical values for the control parameters are: | |||
* γ = 3; | |||
* θ<sub>S</sub> = 0.65 for minimal increase of surface resolution; | |||
* θ<sub>S</sub> = 1.0 for significant surface amplification; | |||
* θ<sub>B</sub> = 0.58 for no bottom amplification; | |||
* θ<sub>B</sub> = 1.0 for significant bottom amplification; | |||
* θ<sub>B</sub> = 1.5 for good bottom resolution for gravity flows; | |||
* θ<sub>B</sub> = 3.0 for super-high bottom resolution. | |||
Equations (37), (38) shows the condition for Vstretching = 4, where C(σ) is defined as a continuous, double stretching function. equation (38) is the second stretching of an already stretched transform (37). The resulting stretching function is continuous with respect to θ<sub>S</sub> and θ<sub>B</sub> as their values approach zero. The range of meaningful values for θ<sub>S</sub> and θ<sub>B</sub> are: | |||
0 <= θ<sub>S</sub> <= 10; 0 <= θ<sub>B</sub> <= 4. | |||
However, users need to pay attention to extreme r-factor vlaues near the bottom. | |||
==Examples== | ==Examples== | ||
<span class="remove_this_tag">An example run with input parameters, BLD files, as well as a figure / movie of the output</span> | <span class="remove_this_tag">An example run with input parameters, BLD files, as well as a figure / movie of the output</span> |
Revision as of 11:34, 26 July 2011
ROMS
ROMS is a community model shared by a large user group around the world, with applications ranging from the study of entire ocean basins to coastal sub-regions.
Model introduction
ROMS incorporates advanced features and high-order numerics, allowing efficient and robust resolution of mesoscale dynamics in the oceanic and coastal domains. The model solves the free surface, hydrostatic, primitive equations of the fluid dynamics over variable topography using stretched; terrain-following coordinates in the vertical and orthogonal, curvilinear coordinates in the horizontal. This allows enhancement of the spatial resolution in the regions of interest.
Model parameters
Uses ports
This will be something that the CSDMS facility will add
Provides ports
This will be something that the CSDMS facility will add
Main equations
1) Equations of motion
a) Momentum balance in the x-directions, respectively
[math]\displaystyle{ {\frac{\partial u}{\partial t}} + \vec{v} \nabla u - fv = -{\frac{\partial \phi}{\partial x}} - {\frac{\partial}{\partial z}} \left ( \overline{u'w'} - \nu {\frac{\partial u}{\partial z}} \right ) + F_{u} + D_{u} }[/math] (1)
b) Momentum balance in the y-directions, respectively
[math]\displaystyle{ {\frac{\partial v}{\partial t}} + \vec{v} \nabla v + fu = -{\frac{\partial \phi}{\partial y}} - {\frac{\partial}{\partial z}} \left ( \overline{v'w'} - \nu {\frac{\partial v}{\partial z}} \right )+ F_{v} + D_{v} }[/math] (2)
c) Advective-diffusive equations for a scalar concentration field C(x,y,z,t) (e.g. salinity, temperature, or nutrients)
[math]\displaystyle{ {\frac{\partial C}{\partial t}} + \vec{v} \nabla C = {\frac{\partial}{\partial z}} \left ( \overline{C'w'} - \nu_{\theta} {\frac{\partial C}{\partial z}} \right )+ F_{C} + D_{C} }[/math] (3)
e) Equation of state
[math]\displaystyle{ \rho = \rho \left (T,S,P \right ) }[/math] (4)
f) Vertical momentum equation (assume that the vertical pressure gradient balances the buoyancy force)
[math]\displaystyle{ {\frac{\partial \phi}{\partial z}} = {\frac{- \rho g}{\rho_{o}}} }[/math] (5)
g) continuity equation for an incompressible fluid
[math]\displaystyle{ {\frac{\partial u}{\partial x}} + {\frac{\partial v}{\partial y}} + {\frac{\partial w}{\partial z}} = 0 }[/math] (6)
h) Reynolds stresses (an overbar represents a time average and a prime represents a fluctuation above the mean)
[math]\displaystyle{ \overline{u'w'} = - K_{M} {\frac{\partial u}{\partial z}} }[/math] (7)
[math]\displaystyle{ \overline{v'w'} = - K_{M} {\frac{\partial v}{\partial z}} }[/math] (8)
[math]\displaystyle{ \overline{C'w'} = - K_{C} {\frac{\partial C}{\partial z}} }[/math] (9)
2) Vertical boundary conditions a) top boundary condition ( z = ζ (x,y,t ))
[math]\displaystyle{ K_{m} {\frac{\partial u}{\partial z}} = \tau_{S}^x \left (x,y,t \right ) }[/math] (10)
[math]\displaystyle{ K_{m} {\frac{\partial v}{\partial z}} = \tau_{S}^y \left (x,y,t \right ) }[/math] (11)
[math]\displaystyle{ K_{C} {\frac{\partial C}{\partial z}} = {\frac{Q_{C}}{\rho_{o} c_{P}}} }[/math] (12)
[math]\displaystyle{ w = {\frac{\partial \zeta}{\partial t}} }[/math] (13)
b) bottom boundary condition (z = -h(x,y))
[math]\displaystyle{ K_{m}{\frac{\partial u}{\partial z}} = \tau _{b}^x \left (x,y,t \right ) }[/math] (14)
[math]\displaystyle{ K_{m}{\frac{\partial v}{\partial z}} = \tau _{b}^y \left (x,y,t \right ) }[/math] (15)
[math]\displaystyle{ K_{C}{\frac{\partial C}{\partial z}} = 0 }[/math] (16)
[math]\displaystyle{ -w + \vec{v} \nabla h = 0 }[/math] (17)
c) Horizontal boundary conditions (Eastern and western boundary)(considering biharmonic friction)
[math]\displaystyle{ {\frac{\partial}{\partial x}} \left ( {\frac{h \nu}{mn}}{\frac{\partial^2 u}{\partial x^2}} \right ) = 0 }[/math] (18)
Horizontal boundary conditions (Northern and southern boundary)
[math]\displaystyle{ {\frac{\partial}{\partial y}} \left ( {\frac{h \nu}{mn}}{\frac{\partial^2 u}{\partial y^2}} \right ) = 0 }[/math] (19)
3) Vertical transformation equations
a) vertical coordinate transformation (been available in ROMS since 1999)
[math]\displaystyle{ z \left (x,y,\sigma, t \right ) = S \left (x,y,\sigma \right )+ \zeta \left (x,y,t \right ) [1 + {\frac{S \left (x,y,\sigma \right )}{h \left (x,y\right )}}] }[/math] (20)
[math]\displaystyle{ S \left (x,y,\sigma \right ) = h_{c} \sigma + [h \left (x,y\right ) - h_{c}] C \left (\sigma \right) }[/math] (21)
[math]\displaystyle{ S \left (x,y,\sigma \right ) =\left\{\begin{matrix} 0 & \sigma = 0, C \left (\sigma \right ) = 0 \\ - h \left (x,y \right ) & \sigma = -1, C \left (\sigma \right ) = -1 \end{matrix}\right. }[/math] (22)
b) vertical coordinate transformation (been available in ROMS since 2005)
[math]\displaystyle{ z \left (x,y,\sigma,t \right ) = \zeta \left (x,y,t\right ) + [\zeta \left (x,y,t\right ) + h \left (x,y \right )] S \left (x,y,\sigma \right ) }[/math] (23)
[math]\displaystyle{ S \left (x,y,\delta \right ) = {\frac{h_{c} \delta + h \left (x,y \right ) C \left ( \delta \right )}{h_{c} + h \left (x,y\right )}} }[/math] (24)
[math]\displaystyle{ S \left (x,y,\sigma \right ) =\left\{\begin{matrix} 0 & \sigma = 0, C \left (\sigma \right ) = 0 \\ -1 & \sigma = -1, C \left (\sigma \right ) = -1 \end{matrix}\right. }[/math] (25)
unperturbed depth:
[math]\displaystyle{ \hat{z} \left (x,y,\sigma \right ) \equiv h \left (x,y \right ) S \left (x,y,\sigma \right ) = h \left (x,y\right )[{\frac{h_{c}\sigma + h \left (x,y\right ) C \left (\sigma \right )}{h_{c} +h \left (x,y \right )}}] }[/math] (26)
[math]\displaystyle{ d \hat{z} = d \sigma h \left (x,y\right ) [{\frac{h_{c}}{h_{c} + h \left (x,y\right )}}] }[/math] (27)
4) Vertical stretching functions
a) Vstretching = 1 (Song and Haidvogel (1994))
[math]\displaystyle{ C \left (\sigma \right ) = \left (1-\theta_{B}\right ) {\frac{sinh \left (\theta_{S}\sigma \right )}{sinh \theta_{S}}} + \theta_{B}[{\frac{tanh[\theta_{S}\left (\sigma +{\frac{1}{2}}\right )]}{2 tanh \left ({\frac{1}{2}} \theta_{S}\right )}} - {\frac{1}{2}}] }[/math] (28)
b) Vstretching = 2 (A.Shchepetkin (2005))
[math]\displaystyle{ C \left (\sigma \right ) = \mu C_{sur}\left (\sigma\right ) + \left (1-\mu \right ) C_{bot} \left (\sigma \right ) }[/math] (29)
[math]\displaystyle{ C_{sur} \left (\sigma \right ) = {\frac{1 - cosh \left (\theta_{S} \sigma \right )}{cosh \left (\theta_{S} \right ) - 1}} }[/math] (30)
[math]\displaystyle{ C_{bot} \left (\sigma \right ) = {\frac{sinh[\theta_{B}\left (\sigma + 1 \right )]}{sinh \left (\theta_{B}\right )}} - 1 }[/math] (31)
[math]\displaystyle{ \mu = \left (\sigma +1 \right )^\alpha [1 + {\frac{\alpha}{\beta}} \left ( 1 - \left ( \sigma + 1 \right )^\beta \right )] }[/math] (32)
c) Vstretching = 3 (R.Geyer function for high bottom layer resolution in relatively shallow applications)
[math]\displaystyle{ C \left (\sigma \right ) = \mu C_{bot} \left (\sigma \right ) + \left (1 - \mu \right ) C_{sur} \left (\sigma \right ) }[/math] (33)
[math]\displaystyle{ C_{sur} \left (\sigma \right ) = - {\frac{log[cosh \left (\gamma \right ) abs \left (\sigma \right ) ^\left (\theta_{S}\right )]}{log [cosh \left (\gamma \right )]}} }[/math] (34)
[math]\displaystyle{ C_{bot} \left (\sigma \right ) = {\frac{log [cosh \left (\gamma \right ) \left (\sigma + 1 \right )^ \left (\theta_{B}\right )]}{log [cosh \left (\gamma \right )]}} - 1 }[/math] (35)
[math]\displaystyle{ \mu = {\frac{1}{2}} [1 - tanh \left (\gamma \left (\sigma + {\frac{1}{2}}\right )\right )] }[/math] (36)
d) Vstretching = 4 (A. Shchepetkin (2010) UCLA-ROMS current function)
Surface refinement function
[math]\displaystyle{ \left\{\begin{matrix} C \left ( \sigma \right ) = {\frac{1 - cosh \left (\theta_{S}\sigma \right )}{cosh \left (\theta_{S}\right ) - 1}} & \theta_{S} \gt 0 \\ - \sigma ^2 & \theta_{S} \lt = 0 \end{matrix}\right. }[/math] (37)
Bottom refinement function (θB > 0)
[math]\displaystyle{ C \left (\simga \right ) = {\frac{exp \left (\theta_{B} C\left (\sigma \right )\right ) - 1}{1 - exp \left (- \theta_{B}\right )}} }[/math] (38)
Symbol | Description | Unit |
---|---|---|
Du,Dv,DT,DS | diffusive terms | - |
Fu,Fv,FC | forcing terms | - |
f(x,y) | coriolis parameter | - |
g | acceleration of gravity | m/s2 |
h(x,y) | bottom depth | m |
ν,νθ | molecular viscosity and diffusivity | |
Km,KC | vertical eddy viscosity and diffusivity | - |
P | total pressure, approximately -ρo gz | |
Φ(x,y,z,t) | dynamic pressure, Φ = (P/ρo) | |
ρo + ρ(x,y,z,t) | total in situ density | |
S(x,y,z,t) | salinity | |
t | time | |
T(x,y,z,t) | potential temperature | |
u,v,w | the (x,y,z) components of vector velocity | - |
x,y | horizontal coordinate | |
z | vertical coordinate | |
ζ(x,y,t) | surface elevation | |
QC | surface concentration flux | - |
τS x, τS y | surface wind stress | |
τb x, τb y | bottom stress | - |
S(x,y,δ) | a nonlinear vertical transformation functional (in the vertical transformation equations) | |
ζ(x,y,t) | time-varying free-surface(in the vertical transformation equations) | |
h(x,y) | unperturbed water column thickness (in the vertical transformation equations) | |
σ | fractional vertical stretching coordinate (ranging from -1 <= δ <= 0) | |
C(σ) | nondimensional, monotonic, vertical stretching function (ranging from -1 <= C(δ) <= 0) | |
hc | a positive thickness controlling the stretching | |
Hz | vertical grid thickness, equals to Δz / Δδ |
Output
Symbol | Description | Unit |
---|---|---|
qbT | total volume gravel bedload transport rate per unit width summed over all sizes | L2 / T |
τsg * | Shields number based on surface geometric mean size | - |
Dsg | geometric mean size of the surface material | L |
σsg | geometric standard deviations of the surface materials | - |
Dlg | geometric mean size of the bedload | L |
σlg | geometric standard deviation of the bedload | - |
σl | arithmetic standard deviations of bedload materials | - |
σ | arithmetic standard deviations of the surface materials | - |
Dsx | grain size in the surface material, such that x percentage of the material is finer | L |
Dlx | grain size in the bedload material, such that x percentage of the material is finer | L |
σlx | arithmetic standard deviations of bedload materials | L |
Notes
1 In the Boussinesq approximation, density variations are neglected in the momentum equations except in their contribution to the buoyancy force in the vertical momentum equation.
2 In the vertical transformation equation, if equation (a) is used, the value of hc and other input vertical transformation parameters must be strictly defined. Since the beginning of ROMS, hc = min (hmin,Tcline) where hmin = minval(h) and Tcline is the stretching parameter. It is not possible to build the vertical stretching coordinates when hc > hmin and using transformation (a) because it yields Δz / Δδ < 0. This has been a legacy issue in ROMS for years, and you either consistent with the previous set-up of your application or change the value of Tcline in all input NetCDF files. Therefore, in new applications you need to be sure that Tcline <= hmin when using the transformation (a). However, if transformation (b) is used, hc can be any positive value. It works for both hc <= hmin, or hc > hmin.
Compared to equation (a), Shchepetkin (personal communication) points out that equation (b) has several advantages:
- Regardless of the design of C(σ), it behaves like equally-spaced sigma-coordinates in shallow regions, where h(x,y) << hc. This is advantageous because it avoids excessive resolution and associated CFL limitation is such areas.
- Near-surface refinement behaves more or less like geopotential coordinates in deep regions (level thicknesses, Hz, do not depend or weakly depend on bathymetry), while near-bottom like sigma coordinates (Hz is roughly proportional to depth). This reduces the extreme r-factors near the bottom and reduces pressure gradient errors.
- The true sigma-coordinate system is recovered as hc is close to infinity. This is useful when configuring applications with flat bathymetry and uniform level thickness. Practically, you can achieve this by setting Tcline to 1.0d+16 in ocean.in. This will set hc=1.0*1016. Although not necessary, we also recommend that you set θS=0 and θB=0.
In an undisturbed ocean state, corresponding to zero free-surface, z=S(x,y,σ). Shchepetkin and McWilliams (2005) denotes transformation (a) as an unperturbed coordinate system since all the depths are not affected by the displacements of the free-surface. This ensures that the vertical mass fluxes generated by a purely barotropic motion will vanish at every interface. On the other hand, for transformation equation (b), in an undistrubed ocean state, it yields unperturbed depths as equation (26) and (27), as a consequence, the uppermost grid box retains very little dependency from bathymetry in deep areas, where h_c << h(x,y). For example, if h_c = 250m and h(x,y) changes from 2000 to 6000m, the uppermost grid box changes only by a factor of 1.08 (less than 10%).
Now the transformation equation (b) is the default value for ROMS.
The vertical stretching functions have the following properties:
- C(σ) is a dimensionless, nonlinear, monotonic function;
- C(σ) is a continuous differentiable function, or a differentiable piecewise function with smooth transition;
- C(σ) must be discritized in terms of the fractional stretched vertical coordinate σ;
- C(σ) must be constrained by -1 <= C(σ) <= 0, that is C(σ)= 0 for σ = 0 at the free-surface, C(σ) = -1 for σ = -1 at the ocean bottom.
The 4 available stretching functions has been shown in equations (28)~(38), equation (28) shows the condition for Vstretching = 1, which has the following features:
- 0 <= θS <= 20, 0 <= θB <= 1, respectively.
- It is infinitely differentiable in σ.
- The larger the value of θS, the more resolution is kept above hc.
- For θB = 0, the resolution all goes to the surface as θS is increased.
- For θB = 1, the resolution goes to both the surface and the bottom equally as θS is increased.
- For θS is not equal to 0, there is a subtle mismatch in the discretization of the model equations, for instance in the horizontal viscosity term. We recommend that you stick with reasonable values of θS, say θS <= 8.
- Some applications turn out to be sensitive to the value of θS used.
Equation (29)~ (32) shows the condition for Vstretching = 2, which is similar in meaning to equation (28), but the hyperbolic function in Csur is cosh instead of sinh and that when σ is close to 0, ΔC/Δσ is also close to 0.
Equations (33)~(36) shows the condition for Vstretching = 3, which is designed for high bottom boundary layer resolution in relatively shallow applications, and the typical values for the control parameters are:
- γ = 3;
- θS = 0.65 for minimal increase of surface resolution;
- θS = 1.0 for significant surface amplification;
- θB = 0.58 for no bottom amplification;
- θB = 1.0 for significant bottom amplification;
- θB = 1.5 for good bottom resolution for gravity flows;
- θB = 3.0 for super-high bottom resolution.
Equations (37), (38) shows the condition for Vstretching = 4, where C(σ) is defined as a continuous, double stretching function. equation (38) is the second stretching of an already stretched transform (37). The resulting stretching function is continuous with respect to θS and θB as their values approach zero. The range of meaningful values for θS and θB are: 0 <= θS <= 10; 0 <= θB <= 4. However, users need to pay attention to extreme r-factor vlaues near the bottom.
Examples
An example run with input parameters, BLD files, as well as a figure / movie of the output
Follow the next steps to include images / movies of simulations:
- Upload file: http://csdms.colorado.edu/wiki/Special:Upload
- Create link to the file on your page: [[Image:<file name>]].
See also: Help:Images or Help:Movies
Developer(s)
Name of the module developer(s)
References
Key papers
Links
Any link, eg. to the model questionnaire, etc.