Dynamics: Pressure Gradients, Velocities, Waves, and Vertical Advection¶
These sections provide 3-D-effect forcing for the inherently 1-D column model: external and internal pressure gradients, prescribed velocity profiles, wave–current interactions, and vertical advection.
All scalar forcing fields in this section that use method: file read
the Timeseries (Scalar) File format. Velocity profiles (velocities.u,
velocities.v) use the Profile (Depth-Series) File format. See
Input Data File Formats for complete specifications.
mimic_3d¶
Horizontal gradients that drive mean flow within the single column.
Because pyGOTM is a 1-D model, horizontal advection and pressure gradients
must be prescribed externally. The mimic_3d block allows these
boundary-condition-like inputs to be provided as time series.
Parsed by pygotm.config.settings.Mimic3DSettings.
mimic_3d:
ext_pressure:
type: elevation
dpdx:
method: file
file: ext_press_file.dat
column: 2
dpdy:
method: file
file: ext_press_file.dat
column: 3
int_pressure:
type: none
zeta:
method: constant
constant_value: 0.0
mimic_3d.ext_pressure¶
External (barotropic) pressure gradient.
Parsed by pygotm.config.settings.ExtPressureSettings.
mimic_3d.ext_pressure.type¶
Type |
string |
Valid values |
|
Default |
|
How the external pressure gradient is specified.
elevationThe gradient is expressed as a horizontal gradient in sea-surface elevation \(\partial\zeta/\partial x\) (dimensionless). The values provided in
dpdxanddpdyare directly \(\partial\zeta/\partial x\) and \(\partial\zeta/\partial y\).velocityA reference velocity at a given height above the bottom is specified; the pressure gradient is inferred to maintain that velocity.
average_velocityVertically averaged (depth-mean) horizontal velocities are prescribed.
mimic_3d.ext_pressure.dpdx¶
External pressure gradient in the West–East direction.
Follows the extended InputSetting pattern (method: constant | tidal | file).
When method: file: timeseries file (see Timeseries (Scalar) File). The
conventional layout stores dpdx and dpdy as columns 2 and 3 of a
shared three-column file (column 1 is often a placeholder or a third
gradient quantity):
# Columns: placeholder dpdx [m/m] dpdy [m/m]
1976/04/06 06:00:00 0.00 -3.2010771E-06 -1.6297247E-06
1976/04/06 06:15:00 0.00 -2.9533401E-06 -2.1274509E-06
Default |
|
The tidal extension adds a tidal sub-block for composing two harmonic
constituents:
dpdx:
method: tidal
tidal:
amp_1: 0.0 # amplitude of 1st harmonic
phase_1: 0.0 # phase of 1st harmonic [s]
amp_2: 0.0 # amplitude of 2nd harmonic
phase_2: 0.0 # phase of 2nd harmonic [s]
period_1: 44714.0 # period of 1st harmonic [s] (≈ M2 tide)
period_2: 43200.0 # period of 2nd harmonic [s] (≈ S2 tide)
period_1 and period_2 are the tidal periods (seconds). Default values
correspond to the M2 (44714 s ≈ 12.42 h) and S2 (43200 s = 12 h) tidal
constituents.
mimic_3d.ext_pressure.dpdy¶
External pressure gradient in the South–North direction. Same structure as
dpdx.
mimic_3d.ext_pressure.h¶
Reference height above the bottom (m) used when type: velocity.
Follows the InputSetting pattern.
mimic_3d.int_pressure¶
Internal (baroclinic) pressure gradient arising from horizontal density gradients.
Parsed by pygotm.config.settings.IntPressureSettings.
mimic_3d.int_pressure.type¶
Type |
string |
Valid values |
|
Default |
|
noneNo internal pressure gradient.
prescribedHorizontal T/S gradients are prescribed as time series and used to compute the baroclinic pressure gradient.
plumeDense water inflow (bottom plume) configuration.
mimic_3d.int_pressure.gradients¶
Temperature and salinity gradient inputs. Only used when
int_pressure.type: prescribed.
Each follows the InputSetting pattern:
dtdx/dtdyHorizontal temperature gradients (°C m−1).
dsdx/dsdyHorizontal salinity gradients (psu m−1).
mimic_3d.int_pressure.plume¶
Dense bottom-plume configuration. Only used when int_pressure.type: plume.
typePlume type:
bottomorsurface. Default:"bottom".x_slope/y_slopeBottom slope in the West–East and South–North directions. Dimensionless. Default:
0.0.
mimic_3d.int_pressure.t_adv¶
Type |
boolean |
Default |
|
Include temperature horizontal advection computed from the prescribed gradient.
mimic_3d.int_pressure.s_adv¶
Type |
boolean |
Default |
|
Include salinity horizontal advection.
mimic_3d.zeta¶
Sea-surface elevation \(\zeta\) (m).
Follows the extended InputSetting pattern (method: constant | tidal | file).
Used to set the free-surface height for pressure gradient calculations.
velocities¶
Prescribes and/or relaxes the horizontal velocity profiles.
Parsed by pygotm.config.settings.VelocitySettings.
velocities:
u:
method: off
v:
method: off
relax:
tau: 1.0e15
ramp: 1.0e15
velocities.u / velocities.v¶
Observed or prescribed horizontal velocity profiles (m s−1) in the West–East and South–North directions.
Follows the InputSetting pattern (method: off | constant | file).
When method: file, a time series of full-depth profiles is read. These
are used to nudge the model velocities via relax.tau, or to initialise
the velocity field. The file uses the Profile (Depth-Series) File format. Both
components can share one file using column: 1 for u and
column: 2 for v:
# Horizontal velocity profiles [m/s]: col1=u (W-E), col2=v (S-N)
# Header: timestamp N_levels up_down
2001/08/30 07:00:00 22 2
-6.00000 0.00000 0.12000
-8.00000 0.01000 0.11000
-10.00000 0.02000 0.09000
...
-50.00000 -0.14000 -0.14000
YAML reference:
velocities:
u: { method: file, file: velprof.dat, column: 1 }
v: { method: file, file: velprof.dat, column: 2 }
velocities.relax.tau¶
Units |
s |
Default |
|
Relaxation time scale for nudging model velocities toward the prescribed profile.
velocities.relax.ramp¶
Units |
s |
Default |
|
Duration of a linear ramp-up period at the start of the simulation over which the relaxation strength increases from 0 to its full value.
waves¶
Surface wave parameters for Stokes drift and wave–turbulence interaction.
Parsed by pygotm.config.settings.WaveSettings.
Note
Full Stokes drift integration (Craig–Banner TKE injection) is
[unsupported in compiled runtime] in the current release. The
stokes_active flag in pygotm.gotm.runtime_params.RuntimeParams
must be non-zero to activate this path.
waves:
Hs:
method: constant
constant_value: 0.0
Tz:
method: constant
constant_value: 1.0
phiw:
method: constant
constant_value: 0.0
waves.Hs¶
Significant wave height.
Follows the InputSetting pattern.
Units |
m |
Default |
|
Used to compute the Stokes drift profile and wave-breaking TKE injection.
waves.Tz¶
Zero-crossing wave period (peak period).
Follows the InputSetting pattern.
Units |
s |
Default |
|
Together with Hs, determines the amplitude and depth penetration of the
Stokes drift velocity profile.
waves.phiw¶
Wave propagation direction (meteorological convention: direction from).
Follows the InputSetting pattern.
Units |
degrees |
Default |
|
Used to project Stokes drift into U and V components.
w¶
Vertical (upwelling/downwelling) velocity prescribed at a given height.
Parsed by pygotm.config.settings.VerticalVelocitySettings.
w:
max:
method: off
height:
method: constant
constant_value: 0.0
adv_discr: p2_pdm
w.max¶
Maximum vertical velocity magnitude.
Follows the InputSetting pattern (method: off | constant | file).
Units |
m s−1 |
Default |
|
When active, a vertical velocity profile is imposed following a Gaussian
distribution centred at w.height. The vertical velocity drives
temperature and salinity advection via the scheme selected by adv_discr.
When method: file, w.max and w.height can share a single
two-column timeseries file (see Timeseries (Scalar) File):
# Columns: w_max [m/s] height_above_bottom [m]
2001/08/30 16:24:09 -0.268241e+02 -0.277951e-04
2001/08/30 16:34:09 -0.268404e+02 -0.265529e-04
YAML reference:
w:
max: { method: file, file: vertvel.dat, column: 1 }
height: { method: file, file: vertvel.dat, column: 2 }
w.height¶
Height above the bottom where the prescribed vertical velocity is maximum.
Follows the InputSetting pattern.
Units |
m |
Default |
|
w.adv_discr¶
Type |
string |
Valid values |
|
Default |
|
Advection discretisation scheme for the vertical tracer advection terms.
p2_pdmSecond-order piecewise parabolic scheme with the Positive-Definite Monotone (PDM) limiter. Recommended default; balances accuracy and monotonicity.
upstreamFirst-order upwind scheme. Diffusive but robust.
p2Second-order parabolic scheme without limiter.
superbee/musclTVD (Total Variation Diminishing) schemes for steep gradients.
Implemented in pygotm.util.adv_center.