GOTM

The General Ocean Turbulence Model is an ambitious name for a one-dimensional water column model for marine and limnological applications.
https://github.com/gotm-model/code

Category: Hydrosphere
Sub Category: Ocean Models

Keywords from Contributors

biogeochemical-models coupling hydrodynamic-modeling estuary-earth-science

Last synced: about 4 hours ago
JSON representation

Repository metadata

Source code for the General Ocean Turbulence Model

README.md

Build Status

What is GOTM?

GOTM - the General Ocean Turbulence Model is an ambitious name for a one-dimensional water column model for marine and limnological applications. It is coupled to a choice of traditional as well as state-of-the-art parameterisations for vertical turbulent mixing. The package consists of the FORTRAN source code, a number of idealised and realistic test cases, and a scientific documentation, all published under the GNU public license.

Further information about GOTM can be found here.

Manual build and install

Note these instruction are writen for the development version of GOTM and the cases described below will only work with this version.

GOTM being written in Fortran requires compilation before it can be used.

Below is provided a short description on how to obtain the code, configure, compile and install GOTM.

Cloning the code

The GOTM source code is in a Git repository and as a first step this code most be cloned to the local computer(*). Git must be installed.

Not strictly necessary creating a new folder for GOTM is a good idea.

mkdir GOTM
cd GOTM

Now clone the code to the local machine:

git clone --recurse-submodules https://github.com/gotm-model/code.git
cd code

Configuring the code for compilation

A few requisits must be fullfilled befor proceeding. Being general descriptions the following instructions should work both on Linux/Mac and Windows. The example commands are to be executed in a terminal window - alternatives using a GUI is possible but beyond the instructions given here.

As a common build system we use CMake and Ninja. So please install these before proceeding.

Furthermore, a Fortran compiler must be installed and discoverable by CMake.

NetCDF has been - and maybe still will be a headache - but it is assumed that NetCDF is installed with Fortran support. For Windows we provide a prebuilt set of libraries.

As an alternative to use system installed programs (CMake, Ninja, Fortran and required libraries) scroll to the bottom of the page(**) and follow the instructions to create a Conda environment with everything required. Then return and continue from here.

Configuration is done with cmake - an example being:

cmake -G Ninja -B build -S code

This will create a new folder - build - with the necessary information for actual compiling the code.

The build system for GOTM provides support for options to pass to the actual compilation. These are provided as extra arguments to the above cmake execution. As and example to include support for ice - use the following:

cmake -G Ninja -B build -S code -DGOTM_USE_STIM

If something goes wrong it is always safe to completely remove the build folder and start all over.

Compiling the code

If the cmake command did not result in any errors we are ready to actually compile the code into an executable:

cmake --build build

This will take a little while but should en up in a compiled GOTM executable in the build folder.
This executable is ready to run but for convinience you might install it in a folder in the PATH on your computer - in which case you can just type - gotm - in any folder.

Installing the GOTM executable

The installation also is done by CMake:

cmake --install build --prefix <folder_in_your_path>

To test if it works open a new terminal window and execute - gotm.

GOTM test cases

GOTM comes with a number of ready to run test cases. There are also in a Git repository and can be obtained like:

git clone --recurse-submodules https://github.com/gotm-model/cases.git

Entering any of the cases folders and just executing - gotm - should run the model for the specific configuration.

An older description is provided here GOTM homepage.

(*) For people who intend to contribute to the GOTM source code a 'fork' is a better solution.

(**) Create a Conda environment.
If a Conda is not already available install miniconda. Activate the base environment and do (note you must be in the root of the GOTM source code - where the environment.yml files is):

conda env create -f environment.yml

If successful activate the gfortran environment.

conda activate gfortran

Return to the configuration instructions give further up.


Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 1 day ago

Total Commits: 2,269
Total Committers: 20
Avg Commits per committer: 113.45
Development Distribution Score (DDS): 0.7

Commits in past year: 35
Committers in past year: 7
Avg Commits per committer in past year: 5.0
Development Distribution Score (DDS) in past year: 0.6

Name Email Commits
jorn j****n 681
Jorn Bruggeman j****n@b****m 382
Jorn Bruggeman j****n@b****m 253
Karsten Bolding k****n@b****m 229
kbk k****k 135
hb hb 104
Knut k****s@g****t 96
lars l****s 82
gotm g****m 63
Karsten Bolding k****n@b****m 58
kb kb 56
Qing Li l****u@g****m 39
lumlauf l****f@i****e 34
Karsten Bolding b****d@d****k 25
Hans Burchard h****d@i****e 15
Hans Burchard h****d@i****e 9
Bruno Deremble b****e@c****r 5
t-bltg 1****g 1
frv-bjb f****b 1
Dylan Schlichting d****g@l****v 1

Committer domains:


Issue and Pull Request metadata

Last synced: 3 days ago

Total issues: 42
Total pull requests: 49
Average time to close issues: 4 months
Average time to close pull requests: 3 months
Total issue authors: 25
Total pull request authors: 9
Average comments per issue: 3.12
Average comments per pull request: 2.22
Merged pull request: 29
Bot issues: 0
Bot pull requests: 0

Past year issues: 11
Past year pull requests: 17
Past year average time to close issues: 21 days
Past year average time to close pull requests: 6 days
Past year issue authors: 8
Past year pull request authors: 3
Past year average comments per issue: 2.27
Past year average comments per pull request: 0.94
Past year merged pull request: 8
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/gotm-model/code

Top Issue Authors

  • bderembl (7)
  • bolding (6)
  • Beliavsky (2)
  • poplarShift (2)
  • shajar007 (2)
  • qingli411 (2)
  • Krishnaveni499 (2)
  • iuryt (2)
  • robertladwig (1)
  • emyrizzi11 (1)
  • eesa10-bu (1)
  • YingpuRin (1)
  • gaelforget (1)
  • knutaros (1)
  • tomsail (1)

Top Pull Request Authors

  • knutaros (20)
  • qingli411 (10)
  • bderembl (10)
  • bolding (3)
  • dylanschlichting (2)
  • martaw22 (1)
  • PatrickFarnole (1)
  • t-bltg (1)
  • jornbr (1)

Top Issue Labels

  • enhancement (7)

Top Pull Request Labels

  • enhancement (5)
  • bug (1)

Package metadata

proxy.golang.org: github.com/gotm-model/code

  • Homepage:
  • Documentation: https://pkg.go.dev/github.com/gotm-model/code#section-documentation
  • Licenses: gpl-2.0
  • Latest release: v6.0.7+incompatible (published almost 2 years ago)
  • Last Synced: 2026-02-02T21:00:46.492Z (10 days ago)
  • Versions: 12
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Rankings:
    • Dependent packages count: 5.395%
    • Average: 5.576%
    • Dependent repos count: 5.758%

Dependencies

.github/workflows/release.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v4 composite
.github/workflows/gotm.yml actions
  • actions/checkout v2 composite

Score: -Infinity