Set bottom boundary conditions for velocity and tracer.
Dimensions of bottom momentum flux are
N/m^2 = (kg/m^3)*(m^2/s^2).
Note the use of rho0 for the conversion from m^2/s^2 to
(kg/m^3)*(m^2/s^2). We do not know the precise value
of cdbot, so the rho0 approximate value is well within
our level of uncertainty. No reason therefore to
use in situ rho for this conversion, even when using
non-Boussinesq version of MOM.
Note that bmf needs to be computed on the data domain since the
halo values are accessed in ocean_vert_gotm.F90.
current_wave_drag_diag
DESCRIPTION
calculates wave-current bottom shear stress
using model of Grand and Madsen(1979) J. Geophys. Res. 84, C4, 1797
see Signell et. al (1990) J. Geophys. Res. 95, C6, 9671
input bot_vel: current velocity at u points
Note: assumed that this is the velocity just above the bottom boundary layer.
A relation between grain size, ripples steepness and and roughness is
assumed. More general relations are possible but not needed, since
the output is used only to parameterise resuspension of organic matter
in the ecosystem model ocean_shared/generic_tracers/generic_ERGOM.F90.
output: effective drag coefficient drag_coeff.
It is valid for momentum flux from currents into the bottom, but
from combined waves+current action.
Velocity%current_wave_stress is the stress from waves and currents
to the sediment.
Note:
1/ drag_coeff in this routine arises from both (waves+current);
That is, ustar**2/uref**2 1 meter above the bottom.
2/ bottom velocity is taken just above the bottom boundary layer, and
assumed here to be at lowest u point.
3/ to understand the calculation of shear stress acting on grains
at sediment surface ("wrk1_2d(i,j) = (ustar2/ucomb)*0.3152"),
see Kuhrts et al. (2004) Eqs. (4,5,6,7).
Assume a thin skin friction layer according to Smith, McLean (1977)
thickness of the skin friction layer zskin scales with roughness length ruff
grained sediments are characterised by median diameter d50[m]
ripples at sea bottom have spacing lambda and height eta with steepness eta/lambda=0.1
common approx. for grain roughness length = d50/12
Nielsen (1983) form drag roughness length = (8/30)*eta*(eta/lambda) ==> (8/3000)*lambda
Yalin (1977) lambda = 1000*d50 ==> form drag = (8/3)*d50
ruff = grain + form drag = (1/12+8/3)*d50 = (33/12)*d50 = 33*grain
Smith, McLean (1977) zskin = 0.09*grain*(lambda/grain)**0.8 = 165*grain = 5*ruff
matching at zskin leads to log(zskin/ruff)/log(zskin/grain)) = log(5)/log(165) = 0.3152
the current induced skin friction velocity is derived from matching skin friction
to wave boundary layer.
4/ Algorithm has yet to be updated for Cgrid.
April 2012
martin.schmidt@io-warnemuende.de
wave_u_diag
DESCRIPTION
calculates wave bottom shear stress velocity
wave friction factor is parametrized by approximation of
Nielsen (1992), Coastal bottom boundary layers and sediment transport!
April 2012
martin.schmidt@io-warnemuende.de
NAMELIST
&ocean_bbc_nml
cdbot
Dimensionless coefficient for quadratic bottom drag.
[real, units: dimensionless]
bmf_implicit
For incorporating the bottom momentum drag implicitly in time.
Default is bmf_implicit=.false.
[logical]
cdbot_law_of_wall
For determining bottom drag coefficient using a constant roughness length.
Will take maximum between cdbot and the computed value using law of
wall log-profile. This option of use when have very very
refined vertical resolution (say on order of meters) near the bottom.
Terrain following coordinates should use this option since they generally
have very refined vertical grid spacing on topography.
Default is cdbot_law_of_wall=.false.
[logical]
law_of_wall_rough_length
Bottom roughness length. Default is law_of_wall_rough_length=0.01m, following
the default used in the Princeton Ocean Model (POM). This value
corresponds to "Law of Wall" physics.
[real, units: metre]
cdbot_roughness_length
For determining bottom drag coefficient using a map of the roughness length.
This approach is more relevant for coarse models
than the constant roughness length used in the cdbot_law_of_wall option.
Default is cdbot_roughness_length=.false.
[logical]
cdbot_roughness_uamp
For determining bottom drag coefficient using a map of the roughness length
and tidal velocity amplitude.
This approach is more relevant for coarse models
than the constant roughness length used in the cdbot_law_of_wall option.
cdbot_lo <= cdbot(i,j) <= cdbot_hi.
Default is cdbot_roughness_length=.false.
[logical]
cdbot_HH
H0 in a parameterization of cdbot_roughness_uamp.
Default is cdbot_HH=1100.0.
[real, units: m]
cdbot_UU
U0 in a parameterization of cdbot_roughness_uamp.
Default is cdbot_UU=1.0.
[real, units: m/s]
cdbot_wave
For determining bottom drag coefficient using a map of the roughness length
and the surface wind wave field. The modified drag coefficient is calculated
following Grant and Mattsen. Likewise this method can be improved using
more sophisticated wave models including swell.
Default is cdbot_wave=.false.
[logical]
uresidual
Residual bottom velocity due to unresolved fluctuations (e.g., waves and tides)
that contribute to bottom dissipation. Should be set to zero when running
with explicit representation of tidal forcing and when waves are well resolved.
Default is uresidual=.05.
[real, units: m/s]
uvmag_max
Maximum magnitude of the bottom velocity used to compute the bottom
momentum drag. Default is uvmag_max=10.0.
[real, units: m/s]
bmf_max
Maximum magnitude of the bottom momentum drag.
Default is bmf_max=1.0.
[real, units: N/m2]
debug_this_module
For debugging purposes.
[logical]
REFERENCES
R.C. Pacanowski and S.M. Griffies
The MOM3 Manual (1999)
S.M. Griffies, M.J. Harrison, R.C. Pacanowski, and A. Rosati
A Technical Guide to MOM4 (2003)