Giter VIP home page Giter VIP logo

nhgomo's Introduction

NHGOMO

Non-hydrostatic Generalized Operator Modelling of the Ocean (NHGOMO) is a three-dimensional ocean model based on OpenArray (Available at https://github.com/hxmhuang/OpenArray_CXX) which is a simple operator library for the decoupling of ocean modelling and parallel computing. For more details about OpenArray, please see the paper (https://www.geosci-model-dev-discuss.net/gmd-2019-28/) and the simple user mannual of OpenArray (Located at https://github.com/hxmhuang/OpenArray_CXX/tree/master/doc)

NHGOMO is a non-hydrostatic extention for GOMO (https://github.com/hxmhuang/GOMO). 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.

NHGOMO is composed of Fortran files (.F90), header files (.h), a single namelist file (.txt), and a makefile. You can run the ideal test--lock-exchange problem, the default input file lock_exchange_flow.nc is located at the directory ./bin/data.

Compile NHGOMO

To compile NHGOMO, the following software are required:

  1. OpenArray (You can follow the installation guide in the user mannual step by step).
  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.

After the installation of the required software is done, You can follow the basic steps to compile NHGOMO:

  1. Download NHGOMO from GitHub: git clone https://github.com/hxmhuang/NHGOMO.git;
  2. Set environment variables: edit ./env_set to specify path to the required software and library, then type: . env_set;
  3. Edit the makefile: set the path to the libopenarray.a and openarray.mod of OpenArray;
  4. Make: make main

Run NHGOMO

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

nhgomo's People

Contributors

hxmhuang avatar xinghuang2050 avatar

Stargazers

 avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.