Menu

Tree [ae473f] master /
 History

HTTPS access


File Date Author Commit
 doc 2016-07-01 Hans Burchard Hans Burchard [27f4d3] Some changes in report, removing undefined refe...
 extras 2012-01-18 Karsten Bolding Karsten Bolding [3c8f73] removed trainling blanks
 gui.py 2016-11-05 Jorn Bruggeman Jorn Bruggeman [ae473f] gui: skip listFiles in DataFile.load in order t...
 include 2016-03-26 Jorn Bruggeman Jorn Bruggeman [22b5da] added support for version embedding (if GOTM_EM...
 scr 2015-05-06 Karsten Bolding Karsten Bolding [91ccaa] test_airsea: updated and added plot-script
 scripts 2016-05-20 Karsten Bolding Karsten Bolding [70065d] Windows example configuration and build scripts...
 src 2016-10-09 Karsten Bolding Karsten Bolding [0672b4] extinct_method=7: user specified values for A, ...
 templates 2001-02-12 gotm gotm [b882e3] Initial revision
 .gitignore 2016-10-09 Karsten Bolding Karsten Bolding [8defd8] .gitignore - vim .swp files
 BUGS 2001-02-12 gotm gotm [b882e3] Initial revision
 COPYING 2001-02-12 gotm gotm [b882e3] Initial revision
 HISTORY 2005-08-17 kbk kbk [04fe62] information via www.gotm.net only
 INSTALL 2001-02-12 gotm gotm [b882e3] Initial revision
 README.md 2016-04-25 Karsten Bolding Karsten Bolding [1437ca] README.md: fixed FABM and CMake links
 makefiles.tar.gz 2016-04-20 Karsten Bolding Karsten Bolding [4b96ca] Make based build system removed - use CMake
 remove_blanks_at_end_of_line.sh 2012-09-18 Knut Knut [ee4598] removed trailing blanks

Read Me

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.

A more comprehensive description is given at the official GOTM homepage (when opdated mid June 2016).

Short guide on how to compile GOTM

The following prerequisites must be fulfilled before compilation is started

  1. The source code for GOTM and FABM must have been cloned from Git repositories. The actual cloning will depend on the platform and Git-utilities used. Further information is provide here
  2. A Fortran compiler supporting at least Fortran 2003 must be avaialble
  3. On Linux gfortran versions including and above 4.7 have been tested as well has the Intel Fortran compiler.
  4. On Windows the Intel Fortran compiler configured with VisualStudio is working.
  5. NetCDF
  6. On Linux/Mac GOTM and NetCDF must be compiled with the same Fortran compiler. The configuration and compilation of the NetCDF library is beyond the purpose of this guide.
  7. On Windows NetCDF is provided in the repository - compatible with the Intel Fortran compiler
  8. CMake must be installed. CMake is used to configure the compilation and generate native build systems - i.e. Make-based systems on Linux/Mac and VisualStudio on Windows. CMake can be run in command-line and GUI-mode. Further information is provided here. A detailed description is beyond the purpose of this guide.

Only when the above 4 points are checked it makes sense to proceed.

On Linux/Unix/Mac

Text in italics are commands and text in bold are variables.

In the following it is assumed the GOTM and FABM source code is cloned to GOTM_BASE and FABM_BASE. Default values are:
* GOTM_BASE = $HOME/GOTM/code
* FABM_BASE = $HOME/FABM/code

Configuring using the provided script

CMake advocates out of source compilation i.e. the actual compilation is separated from the source code. The first step is to create a build directory and change to it:
* mkdir -p $HOME/build/gotm/ && cd $HOME/build/gotm

Executing the script $GOTM_BASE/scripts/linux/gotm_configure.sh will generate a Make-based build system in a sub-directory named after the compiler used - default is gfortran.

This step must be completed without any errors before advancing to the actual compilation.

Building using the provided script

Executing the script $GOTM_BASE/scripts/linux/gotm_build.sh will compile GOTM according to the configuration carried out in the previous step.

A manual build can also be done like:
* cd $HOME/build/gotm/<compiler> && make install</compiler>

CMake installs the generated executable and libraries in an install_directory - default i $HOME/local.
To test if the compilation has been succesful - try:
* $HOME/local/bin/gotm -c

For furher use of GOTM it is a big advantage to add $HOME/local/bin to the PATH.

The scripts used above for configuration and compilation have some documentation included and it should be relative easy to adjust to specific need and taste.

On Windows

Still to be done