Skip to content

xinghuang2050/GOMO_hx

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GOMO

Generalized Operator Modelling of the Ocean (GOMO) is a three-dimensional ocean model based on OpenArray which is a simple operator library for the decoupling of ocean modelling and parallel computing.

The fundamental equations and algorithms of GOMO are derived from POM2k (Blumberg and Mellor, 1987). GOMO features bottom-following, free-surface, staggered Arakawa C-grid. To effectively evolve the rapid surface fluctuations, GOMO uses the mode-splitting algorithm to address the fast propagating surface gravity waves and slow propagating internal waves in barotropic (external) and baroclinic (internal) modes, respectively. The details of the continuous governing equations, the corresponding operator expression form and the descriptions of all the variables used in GOMO are listed in the ./docs folder.

GOMO is composed of 42 Fortran files (.F90), a header file (.h), a single namelist file (.txt), and a makefile. Pre-processing processing package written in Matlab is located in ./pre. You can use the package to produce the input file for the ideal test--seamount. The default input file seamount65_49_21.nc is located at the directory ./bin/data.

For more details, please see the paper (https://www.geosci-model-dev-discuss.net/gmd-2019-28/) and the simple user mannual of OpenArraylocated at ./docs.

Compile GOMO

To compile GOMO, the following software are required:

  1. OpenArray ( It is available at https://github.com/hxmhuang/OpenArray_CXX).
  2. Fortran 90 or Fortran 95 compiler.
  3. gcc/g++ compiler version 6.1.0 or higher.
  4. Intel icc/icpc compiler version 2017 or higher.
  5. GNU make version 3.81 or higher.
  6. Message Passing Interface (MPI) library.
  7. Parallel NetCDF library version 1.7.0 or higher.
  8. Armadillo, a C++ library for linear algebra & scientific computing, version 8.200.2 or higher.
  9. Boost C++ Libraries, version 1.65.1 or higher.

Before compiling GOMO, OpenArray is required, other required software and library is the same with that of OpenArray (Shown as Section 2 in the User Mannual of OpenArray). After the installation of required software and OpenArray is done, it is fairly easy to compile GOMO, the basic steps are as follows:

  1. Download GOMO from GitHub: git clone https://github.com/hxmhuang/GOMO.git;
  2. Set environment variables to specify path to the required software and library;
  3. Change the directory into GOMO folder and create a ./lib folder. Open makefile and set the path to the libopenarray.a and openarray.mod of OpenArray;
  4. Make. According to the installation guide of OpenArray, makefiles for Linux and Mac OS are provided: For Linux: make -f makefile.linux; For Mac OS: make -f makefile.macos

Run GOMO

After compiling, the executable file ./bin/GOMO will be generated. Within the directory ./bin where GOMO and config.txt files exist, type: ./GOMO or mpirun -np N ./GOMO

About

Generalized Operator Modelling of the Ocean

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published