Vous regardez une version antérieure (v. /display/EDDSDLTEL/GOAS) de cette page.

afficher les différences afficher l'historique de la page

« Afficher la version précédente Vous regardez la version actuelle de cette page. (v. 3) afficher la version suivante »

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 .

Part 2

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
  • Aucune étiquette