MITgcm

De POLR
Sauter à la navigation Sauter à la recherche

Introduction

Coming soon [1]

User Guide

Get the code

To install MITgcm in your account, please place you to : /share/work/user_name

   export CVSROOT=':pserver:cvsanon@mitgcm.org:/u/gcmpack'
   cvs login 
     ( enter the CVS password: "cvsanon" )
   cvs co -P MITgcm

If you want a specific verification to play with, place you to :/share/work/user_name/MITgcm/verification

cvs co -P -d verif_name MITgcm/verification/verif_name .

!!! Pay attention this can download a second time all the MITgcm model...

A list of verifications available can be found here: [2]

Play with verification

1- Place you to /share/work/user_name/MITgcm and create a folder run, and place you into (you can add a subfolder with the name of the specific verification you will use)

2- Copy paste in this folder the verification that you want to play with

  cp -r /share/work/user_name/MITgcm/verification/verif_name/* .

If you are at the right place (/share/work/user_name/MITgcm/run/[subfolders]) an that you copy paste correctly you should found the following folders:

build  code_ad   CVS    input_ad   README   run
code   code_oad  input  input_oad  results

Compilation

From here you will be able to compile the code:

 cd build
 ../../../tools/genmake2 -mods ../code
 make depend
 make
 cd ..

You also need to verify that all the packages required for the compilation of the verifications are in the MITgcm/pkg folder. If it is not the case, make a symbolic link between your /pkg verifications folder and MITgcm/pkg as example :

ln -s /share/work/user_name/MITgcm/MITgcm_contrib/darwin2/pkg/* .  # If you are in  MITgcm/pkg

Run the model

3- Prepare your test_case folder, and copy-past or make a symbolic link the input data you will need to run it after compilation

mkdir test_case 
  mkdir test_1
    cd test_1
     cp -r /share/work/user_name/MITgcm/run/verif_name/input/* .   OR  ln -s ../../input/* .
      ../../input_ad/prepare_run  

(you may have to modify on the prepare_run file ligne 10: dir: ../../input or other place where the data will be read)

 ln -s ../../build/mitgcmuv .   Make a symbolic link with the executable

4- Create a /tmp folder to take care of the pickup file.

4bis- If you run your model with a launch file (launch.sh), copy paste it here

5- You are ready to run the model:

 ./mitgcmuv > output.txt  OR  qsub launch.sh

For the last method you can use then qstat -u to see how your run is going

Generated files

coming soon

Packages

Coming soon

Diagnostics

Coming soon

Tools box

Launch file

Here you can find a launch.sh type file that you may copy paste and modify

#!/bin/bash
#
#PBS -l walltime=24:00:00      # Time that I want to allow for my run
#PBS -q default
#PBS -N NAME                   # Name of my run that I will see if I do qstat
#PBS -r n
#PBS -l nodes=1:ppn=1                # Need to be equal with the nPx and nPy specified in Size.h
#PBS -e Run.stderr
#PBS -o Run.stdout
echo "start from HERE"`date`
echo "Host="`hostname`
cat $PBS_NODEFILE | sort | uniq
HOMEDIR=$PBS_O_WORKDIR
cd $HOMEDIR
cat $PBS_NODEFILE > hostname-run
RUNDIR=$(basename $PBS_O_WORKDIR) 
module add gcc/4.9.2
module add dot
module load openmpi/1.8.3_new-gcc-4.9.2
time mpirun --bind-to hwthread -np 1 --mca mpi_yield_when_idle 0  --mca btl tcp,sm,self  mitgcmuv
echo "" ; echo "run ended at: "`date`
cd $HOMEDIR