| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| real(kind=wp), | public | :: | bbl_thick_min | = | 0.0_wp |
Minimum effective BBL thickness (m). Typical 0.1 m. |
|
| real(kind=wp), | public | :: | bed_factor | = | 1.0_wp |
Multiplier on the bed-layer (k=1) drag tendency only. Default
|
|
| real(kind=wp), | public | :: | bg_vel | = | 0.0_wp |
Background velocity floor (m/s) for the distributed quadratic form. Typical 0.1 m/s. |
|
| real(kind=wp), | public | :: | cd | = | 0.0_wp |
Quadratic drag coefficient (dimensionless). Typical 2.5e-3. Zero disables the quadratic branch. |
|
| real(kind=wp), | public | :: | cdrag_side | = | 0.0_wp |
Side-wall drag coefficient (dimensionless) for the channel drag. Zero (default) disables the branch. |
|
| logical, | public | :: | channel_drag | = | .false. |
Lateral side-wall (channel) drag: a per-layer Rayleigh sink at
every layer with a partially blocked cross-stream perimeter.
Default |
|
| character(len=16), | public | :: | form | = | "quadratic" |
Bottom-drag variant: “quadratic” (default, log-layer du/dt = -C_d·|U|·u/h) or “linear” (Rayleigh du/dt = -r·u). |
|
| real(kind=wp), | public | :: | hbbl | = | 0.0_wp |
Bottom-boundary-layer thickness (m) over which drag is distributed. Zero (default) = bed-only mode. |
|
| logical, | public | :: | implicit | = | .false. |
Backward-Euler (implicit) bottom drag: |
|
| real(kind=wp), | public | :: | r | = | 0.0_wp |
Linear Rayleigh coefficient (1/s). Active when |
type :: ocean_bdrag_config_t character(len=16) :: form = "quadratic" !! Bottom-drag variant: "quadratic" (default, log-layer !! du/dt = -C_d·|U|·u/h) or "linear" (Rayleigh du/dt = -r·u). real(wp) :: cd = 0.0_wp !! Quadratic drag coefficient (dimensionless). Typical 2.5e-3. !! Zero disables the quadratic branch. real(wp) :: r = 0.0_wp !! Linear Rayleigh coefficient (1/s). Active when `form = "linear"`. real(wp) :: hbbl = 0.0_wp !! Bottom-boundary-layer thickness (m) over which drag is !! distributed. Zero (default) = bed-only mode. real(wp) :: bg_vel = 0.0_wp !! Background velocity floor (m/s) for the distributed quadratic !! form. Typical 0.1 m/s. real(wp) :: bbl_thick_min = 0.0_wp !! Minimum effective BBL thickness (m). Typical 0.1 m. real(wp) :: bed_factor = 1.0_wp !! Multiplier on the bed-layer (k=1) drag tendency only. Default !! `1.0` = bit-identical. logical :: channel_drag = .false. !! Lateral side-wall (channel) drag: a per-layer Rayleigh sink at !! every layer with a partially blocked cross-stream perimeter. !! Default `.false.`. Flat-bottom/all-wet ⇒ exact no-op. real(wp) :: cdrag_side = 0.0_wp !! Side-wall drag coefficient (dimensionless) for the channel drag. !! Zero (default) disables the branch. logical :: implicit = .false. !! Backward-Euler (implicit) bottom drag: `u^{n+1}=u/(1+dt·λ)`, !! unconditionally stable. Default `.false.` = explicit !! forward-Euler (bit-identical) but unstable on thin shelf layers. !! Recommend `.true.` for shallow-shelf runs. end type ocean_bdrag_config_t