2. Build the MOM6-SIS2-COBALT

To build the MOM6-SIS2-COBALT, users will complete the following steps:

2.1. Install the Prerequisite Softwares

Note

Conda warning: Before you install anything or try to build the model, make sure to deactivate your conda environment because it could interfere with brew and the model build process.

Users on any sufficiently up-to-date machine with a UNIX-based operating system should be able to install the prerequisite software and build the MOM6-SIS2-COBALT. Users can follow the commands below to install the prerequisite software with admin access or ask their HPC helpdesks for any issues related to the installation of the prerequisite software.

# Linux system such as Ubuntu
sudo apt update
sudo apt install make gfortran git git-lfs tcsh netcdf-bin libnetcdf-dev libnetcdff-dev openmpi-bin libopenmpi-dev

# MacOS, install Homebrew from terminal and install the prerequisite software
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
brew install make
brew install gfortran
brew install openmpi
brew install netcdf
brew install netcdf-fortran
brew install wget
brew install git
brew install git-lfs

For Windows users, we recommend installing WSL (Windows Subsystem for Ubuntu and Linux), and following the above steps to install the prerequisite software. Alternatively users can opt for the Docker container approach. See Container-Based Quick Start Guide for more details.

After completing installation, continue to the next section to download the CEFI-regional-MOM6.

2.2. Download the CEFI-regional-MOM6 Code

The CEFI-regional-MOM6 source code is publicly available on GitHub. To download the code (including submodules), clone the main branch of the repository:

git clone https://github.com/NOAA-GFDL/CEFI-regional-MOM6.git --recursive

The cloned repository contains files and sub-directories shown in Table 2.1.

Table 2.1 Files and Subdirectories of the CEFI-regional-MOM6 Repository

File/Directory Name

Description

LICENSE.md

A copy of the Gnu lesser general public license, version 3

README.md

This file with basic pointers to more information

src

Contains the source code for MOM6-SIS2-COBALT model

builds

Contains build script to build MOM6-SIS2-COBALT

diagnostics

Contains scripts that can be utilized for analyzing model results after postprocessing

exps

Contains 1D MOM6-SIS2-COBALT example and other CEFI regional configurations

tools

Contains preprocessing scripts that can be used to generate model input files

xmls

Contains FRE xml files designed for running the CEFI-regional-MOM6 workflow on Gaea

docs

Contains release notes, documentation, and User’s Guide

2.3. Set Up the Environment and Build the Executables

After download the source code, users can navigate to the builds directory and create a folder for your machine configurations:

cd CEFI-regional-MOM6/builds
mkdir YOUR_MACHINE_DIRECTORY
cd YOUR_MACHINE_DIRECTORY

The YOUR_MACHINE_DIRECTORY should contain two files: NAME_OF_YOUR_mk_FILE.env and NAME_OF_YOUR_mk_FILE.mk (e.g. gnu.env and gnu.mk or somthing similiar). The NAME_OF_YOUR_mk_FILE.env file is mainly used for the HPC system to allow you to module load necessary software to build the model. In most cases, if you already have gfortran (or intel compiler), mpi (openmpi or mpich), and netcdf installed on your system, the NAME_OF_YOUR_mk_FILE.env file can be left blank.

The NAME_OF_YOUR_mk_FILE.mk file may be different depends on your system configurations (e.g. Intel v.s. GNU compilers). We already have a few examples within the builds folder. Users can also find more general templates here. Below are some recommended templates:

Table 2.2 Recommended mkmf templates

Platform/Compiler

Template

gaea (Intel)

mkmf/templates/ncrc5-intel-classic.mk

MacOS (GNU)

CEFI-regional-MOM6/builds/MacOS/osx-gnu.mk

Ubuntu (GNU)

mkmf/templates/linux-ubuntu-trusty-gnu.mk

Once the two files are created, use the following command to build the model (Make sure to use correct names that are consistent with both your machine folder and your mk/env files):

cd CEFI-regional-MOM6/builds
./linux-build.bash -m YOUR_MACHINE_DIRECTORY -p NAME_OF_YOUR_mk_FILE -t repro -f mom6sis2

If the build completes successfully, you should be able to find the executable here: builds/build/YOUR_MACHINE_DIRECTORY-NAME_OF_YOUR_mk_FILE/ocean_ice/repro/MOM6SIS2

2.4. Run an Experiment

To test your MOM6SIS2, first navigate to the exps folder:

cd ../exps

Download the model input files:

wget ftp://nomads.gfdl.noaa.gov/1/users/cefi/OM4.single_column.COBALT/data/1d_ci_datasets.tar.gz && tar -zxvf 1d_ci_datasets.tar.gz && rm -rf 1d_ci_datasets.tar.gz

Navigate to the 1-D example:

cd OM4.single_column.COBALT

Use the following command to run the 1-D example:

mpirun -np 1 ../../builds/build/YOUR_MACHINE_DIRECTORY-NAME_OF_YOUR_mk_FILE/ocean_ice/repro/MOM6SIS2