pyGOTM Documentation¶
pyGOTM is a Python + Numba reimplementation of GOTM (General Ocean Turbulence Model), providing compiled single-column 1D ocean and lake turbulence modelling with no Fortran compiler required.
Note
pyGOTM is a reimplementation of GOTM, which was created by Lars Umlauf, Hans Burchard, and Karsten Bolding. All physics equations and algorithms originate from the GOTM Fortran codebase. See the GOTM project for the authoritative scientific documentation.
Getting Started
User Manual
Physics & Methods
API Reference
- Driver
- Configuration
FABMConfPyGotmConfload_pygotm_conf()ExtPressureSettingsGotmConfigGotmSettingsGradientCollectionSettingsGridSettingsInputSettingIntPressureSettingsLightExtinctionSettingsLocationSettingsMimic3DSettingsObservationTurbulenceSettingsPlumeSettingsProfileRelaxationSettingsSalinitySettingsScalarTidalSettingsTemperatureSettingsTidalConstituentSettingsTimeSettingsVelocitySettingsVerticalVelocitySettingsWaveSettingscoerce_config()load_config()load_settings()save_config()save_settings()
- GOTM Runtime
- Mean Flow
coriolis()step_coriolis_batch()step_coriolis_single()- Governing equation
- Numerics
uequation()step_uequation()step_uequation_single()- Governing equation
vequation()step_vequation()step_vequation_single()- Transport equation
- Short-wave radiation absorption
- Surface boundary condition
temperature()step_temperature()step_temperature_single()- Surface boundary condition
salinity()step_salinity()step_salinity_single()- Bottom roughness and friction velocity
- Surface roughness
FrictionWorkspacefriction()step_friction_batch()step_friction_single()- Energy-conserving discretisation
- Stokes drift contributions
shear()step_shear_single()
- Turbulence
- Boundary conditions
TKEEquationWorkspacestep_tkeeq()step_tkeeq_single()- Model constants (Rodi 1987)
- Length-scale limiter
- Boundary conditions
DissipationEquationWorkspacestep_dissipationeq()step_dissipationeq_single()OmegaEquationWorkspacestep_omegaeq()step_omegaeq_single()ProductionWorkspacestep_production()step_production_single()AlphaMNBWorkspacestep_alpha_mnb()step_alpha_mnb_single()CmueCWorkspacestep_cmue_c()step_cmue_c_single()CmueDWorkspacestep_cmue_d()step_cmue_d_single()KBAlgebraicWorkspacestep_kbalgebraic()step_kbalgebraic_single()EpsBAlgebraicWorkspacestep_epsbalgebraic()step_epsbalgebraic_single()VariancesWorkspacestep_variances()step_variances_single()InternalWaveWorkspacestep_internal_wave()step_internal_wave_single()
- Air–Sea Interaction
- Observations
- Utilities
- Input
- Validation
- Execution
- Stokes Drift
- FABM Coupling
- Ice Thermodynamics
- Optional Extensions
- CVMix Interface
Validation
- Validation Overview
- Reference Data Distribution
- Validation Pipeline
- Alignment Before Comparison
- Frechet Theory
- Normalization Theory
- Frechet Indicators
- Status Bands
- Tolerance Configuration
- Report Structure
- Interpreting Remaining Differences
- Running the Validation Suite
- Generated Reports
- Developer Benchmarking
- Validation API
- Test Cases
- Test Cases