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
- Host: GitHub
- URL: https://github.com/gotm-model/code
- Owner: gotm-model
- License: gpl-2.0
- Created: 2015-12-11T10:46:27.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2026-02-07T17:15:54.000Z (5 days ago)
- Last Synced: 2026-02-08T01:44:28.344Z (5 days ago)
- Language: Fortran
- Homepage: https://gotm.net
- Size: 9.07 MB
- Stars: 63
- Watchers: 12
- Forks: 55
- Open Issues: 27
- Releases: 9
-
Metadata Files:
- Readme: README.md
- Changelog: HISTORY
- License: COPYING
README.md
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
- Name: GOTM
- Login: gotm-model
- Email:
- Kind: organization
- Description:
- Website: https://gotm.net
- Location:
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/16253606?v=4
- Repositories: 4
- Last ynced at: 2024-03-26T10:19:17.112Z
- Profile URL: https://github.com/gotm-model
GitHub Events
Total
- Delete event: 1
- Pull request event: 12
- Fork event: 4
- Discussion event: 2
- Issues event: 13
- Watch event: 7
- Issue comment event: 47
- Push event: 20
Last Year
- Delete event: 1
- Pull request event: 10
- Fork event: 3
- Discussion event: 2
- Issues event: 10
- Watch event: 6
- Issue comment event: 27
- Push event: 19
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 | 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:
- io-warnemuende.de: 2
- bolding-burchard.com: 2
- bolding-bruggeman.com: 2
- lanl.gov: 1
- cnrs.fr: 1
- iow.de: 1
- dmu.dk: 1
- gmx.net: 1
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
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
- Total packages: 1
- Total downloads: unknown
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 12
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
- actions/checkout v4 composite
- actions/setup-python v4 composite
- actions/checkout v2 composite
Score: -Infinity