This repository is a research fork of the General Ocean Turbulence Model (GOTM). It adds an optional internal-pressure forcing for a one-dimensional water column aligned with a planar slope.
- Added the opt-in internal-pressure mode
slope_bbl. - Represented the along-slope pressure force using the buoyancy anomaly relative to a reference profile.
- Added independent x- and y-direction slope factors.
- Added fixed and evolving reference-profile options.
- Added an optional classic Ekman-depth cap for CVMix bottom KPP.
- Added optional additive assembly of CVMix interior and bottom-KPP mixing.
- Added focused regression tests for all extension options.
- Preserved the behavior of the existing
none,gradients, andplumeinternal-pressure modes.
The formulation, configuration parameters, equations, assumptions, current restart limitation, and regression-test instructions are described in Slope-following bottom-boundary-layer forcing. The optional KPP depth limit is documented in Bottom-KPP Ekman-depth clipping. The alternative coefficient assembly is documented in Additive interior mixing in bottom KPP.
GOTM uses CMake and requires a Fortran compiler. A minimal CVMix-enabled out-of-source build and the focused extension tests can be run with:
cmake -S . -B build -DGOTM_USE_CVMIX=ON
cmake --build build
cmake --build build --target check_slope_bbl
cmake --build build --target check_bottom_kpp_ekman_clip
cmake --build build --target check_bottom_kpp_additive_mixingThe slope-following forcing is disabled unless int_pressure.type is set to
slope_bbl; standard GOTM configurations therefore retain their existing
behavior.
GOTM is a one-dimensional water-column model for marine and limnological applications, with a range of parameterizations for vertical turbulent mixing. For the official model, documentation, and development history, see the upstream GOTM repository and the GOTM website.
This fork retains the license and copyright terms distributed with the upstream GOTM source code. See COPYING.
OpenAI Codex was used to assist with code organization, documentation drafting, and regression-test preparation for this extension. The repository author is responsible for the scientific formulation, configuration choices, review, validation, and interpretation of results. AI-assisted changes should be independently reviewed and validated before use in scientific or operational work.