GOAS (Gem On A Stick)
Part 1
Create source code and working directories, download (clone) source code, and database.
Part 1 only needs to be done once!
Create source code directory
First create and change into a directory under your home under which you will keep the source code. For example:
mkdir -p ~/gem/v_5.1.0/GOAS/UQAM_basic_mods
cd ~/gem/v_5.1.0/GOAS/UQAM_basic_mods
Clone and checkout latest GOAS version
git clone https://gitlab.com/eccc/gem/gem.git
cd gem
git checkout -b b_5.1.0-rc6 5.1.0-rc6 # rc6 latest as of 2021/02/10
Change into the directory 'gem':
cd gem
Create work and 'build' directory
In this directory will be your:
- object files and excecutables,
- model scripts,
- example config files,
- example database,
- and you will execute your simulation from here
Since this directory can get large you must not create it under your home but under you data space.
mkdir -p /path/to/my/work/directory
export MY_WORK_DIR=/path/to/my/work/directory
After you created the work directory you need to create some symbolic links to this directory:
mkdir ${MY_WORK_DIR}
mkdir -p /path/to/my/work/directory
export MY_WORK_DIR=/path/to/my/work/directory
mkdir build
cd build
Download database
GOAS comes with it's own database (initial conditions, geophysical & climatological fields, driving data). You only need to download it if you want to run any of the GOAS test configurations. Before downloading it I suggest you create a directory for it outside your home and create a symbolic to this directory, called 'gem_dbase'. For example:
mkdir
If you want to use it you can download it with:
download-dbase.sh .
Set compiler version and compile
• At UQAM
If you want to use the Intel compiler set:
module load openmpi/2.1.5-intel-19.0-mkl
module load utils/misc # to get an up to date version of cmake
cmake -DCOMPILER=intel -DCMAKE_VERBOSE_MAKEFILE=ON -DWORK_PREFIX=${MY_WORK_DIR} ../project
If you want to use the GNU compiler (gcc/gfortran) set:
module load openmpi/3.1.5-gcc-8.3
cmake -DCOMPILER=gnu -DCMAKE_VERBOSE_MAKEFILE=ON -DWORK_PREFIX=${MY_WORK_DIR} ../project
• On Niagara using the native environment (recommended)
module load intel/2019u4 openmpi/4.0.1 fftw/3.3.8 cmake
cmake -DCOMPILER=intel -DCMAKE_VERBOSE_MAKEFILE=ON -DWORK_PREFIX=${MY_WORK_DIR} ../project
• On Niagara using the common Environment
module load CCEnv
module load nixpkgs/16.09
module load intel/2019.3
module load openmpi
module load cmake/3.16.3
module load fftw-mpi
cmake -DCOMPILER=intel -DCMAKE_VERBOSE_MAKEFILE=ON -DWORK_PREFIX=${MY_WORK_DIR} ../project
Create executable
make -j8 work
Run the model
cd ${MY_WORK_DIR}
cd work-... # change into work directory, i.e. work-linux26-x86-64-intel-19.0.3.199
Here you will find several example config files under 'configurations'. If you want to run, for example, a global YinYang simulation execute:
./runprep -dircfg configurations/GY_cfgs
./runmod -dircfg configurations/GY_cfgs -ptopo 2x2x1