Skip to content

GCOMS1k Install

jasontempestholt edited this page Apr 26, 2024 · 19 revisions

Setup on Archer2

export CONFIG=GCOMS1k
export WORK=/work/n01/n01/$USER
export WDIR=$WORK/$CONFIG
export INPUTS=$WDIR/INPUTS
export START_FILES=$WDIR/START_FILES
export CDIR=$WDIR/nemo/cfgs
export TDIR=$WDIR/nemo/tools
export CONFIG_DIR=$WDIR/nemo/cfgs/$CONFIG
export GIT=$WORK/Git/
export TMPLD=$CDIR/$CONFIG/GCOMS1k_templates
export REPO_DIR=$GIT/GCOMS1k
export HPC_TARG=archer2
export COMPILER=gnu
export MPI_TARG=mpich

Make the directories

mkdir $WDIR
mkdir $INPUTS
mkdir $START_FILES
mkdir $GIT

Enable Git and clone the repository


exec ssh-agent $SHELL 
ssh-add ~/.ssh/id_ed25519

cd  $GIT
git clone https://github.com/NOC-MSM/GCOMS1k

Install XIOS

Following SE-NEMO

cd $WDIR
svn co http://forge.ipsl.jussieu.fr/ioserver/svn/XIOS/branchs/xios-2.5@1964 xios
cd xios
cp $REPO_DIR/arch/xios/2.5/* ./arch
. $REPO_DIR/scripts/env/${HPC_TARG}/${COMPILER}-${MPI_TARG}-ucx
./make_xios --full --prod --arch ${HPC_TARG}-${COMPILER}-${MPI_TARG} --netcdf_lib netcdf4_par --job 10
export XIOS_DIR=$WDIR/xios

Install NEMO

cd $WDIR
export NEMO_VER=4.0.4
svn co http://forge.ipsl.jussieu.fr/nemo/svn/NEMO/branches/UKMO/NEMO_4.0.4_mirror nemo

Make directores

mkdir $CONFIG_DIR
cd $CONFIG_DIR
mkdir EXPREF
cd $CONFIG_DIR/EXPREF

mkdir meta_out
mkdir RESTARTS
mkdir OUTPUTS
mkdir OUTPUTS_PROCESSED
mkdir OUTPUTS_ZIP
cp $REPO_DIR/GCOMS1k_templates/*.xml .
cp $REPO_DIR/GCOMS1k_templates/namelist_cfg_domain_v$NEMO_VER namelist_cfg_domain
cp $REPO_DIR/GCOMS1k_templates/namelist_ref_v$NEMO_VER namelist_ref

ln -s $XIOS_DIR/bin/xios_server.exe $CONFIG_DIR/EXPREF/xios_server.exe

cp -r $REPO_DIR/MY_SRC_v$NEMO_VER $CONFIG_DIR/MY_SRC

cd $WDIR/nemo
cp  $REPO_DIR/arch/nemo/$NEMO_VER/* arch
# Dirty fix to hard wire path otherwise user will have to set XIOS_DIR in every new shell session
sed -i "s?XXX_XIOS_DIR_XXX?$XIOS_DIR?" ./arch/arch-${HPC_TARG}-${COMPILER}-${MPI_TARG}.fcm

cp $REPO_DIR/GCOMS1k_templates/cpp_GCOMS1k.4.0.4.fcm  $CONFIG_DIR/cpp_GCOMS1k.fcm
echo 'GCOMS1k OCE ICE' >> $WDIR/nemo/cfgs/work_cfgs.txt

Compile

cd $WDIR/nemo
. $REPO_DIR/scripts/env/${HPC_TARG}/${COMPILER}-${MPI_TARG}-ucx
./makenemo -m ${HPC_TARG}-${COMPILER}-${MPI_TARG} -r $CONFIG -j 16

Install NEMO tools on Archer

Switch to cray compiler

export COMPILER=cray
. $REPO_DIR/scripts/env/${HPC_TARG}/${COMPILER}-${MPI_TARG}-ucx

export PATCHES=$GIT/$CONFIG/STARTFILES/PATCHES
cd $TDIR/WEIGHTS/src
patch -b < $PATCHES/scripinterp_mod.patch
patch -b < $PATCHES/scripinterp.patch
patch -b < $PATCHES/scrip.patch
patch -b < $PATCHES/scripshape.patch
patch -b < $PATCHES/scripgrid.patch
cd $TDIR

./maketools -m ${HPC_TARG}-${COMPILER}-${MPI_TARG} -n DOMAINcfg
./maketools -m  ${HPC_TARG}-${COMPILER}-${MPI_TARG} -n REBUILD_NEMO
./maketools -m  ${HPC_TARG}-${COMPILER}-${MPI_TARG} -n WEIGHTS

Install pyNEMO on livljobs6

export WORK=/work/$USER
export LD_LIBRARY_PATH=/usr/lib/jvm/jre-1.7.0-openjdk.x86_64/lib/amd64/server:$LD_LIBRARY_PATH
unset SSH_ASKPASS

module load anaconda/2.1.0  # Want python2
conda create --name new_env scipy=0.16.0 numpy=1.9.2 matplotlib=1.4.3 basemap netcdf4 libgfortran=1.0.0 
source activate new_env

conda install -c https://conda.anaconda.org/conda-forge seawater=3.3.4
conda install -c https://conda.anaconda.org/srikanthnagella thredds_crawler
conda install -c https://conda.anaconda.org/srikanthnagella pyjnius
cd $WORK
git clone https://[email protected]/jdha/nrct.git nrct  
cd $WORK/nrct/Python

To get correct branch

git checkout Generalise-tide-input
#git checkout ORCA0083

To up date

git pull

To build

python setup.py build clean
python setup.py build
export PYTHONPATH=/login/$USER/.conda/envs/new_env/lib/python2.7/site-packages/:$PYTHONPATH
python setup.py install --prefix ~/.conda/envs/new_env

Access ORCA0083 data on livljobs6

sshfs on LIVLJOBS6 (requires NOCL to add to fuse group)

exec ssh-agent $SHELL
ssh-add ~/.ssh/id_rsa_jasmin

export GitTEMPLATES= /work/jholt/Git/GCOMS1k/STARTFILES/TEMPLATES/
export JASMINDIR=/work/jholt/JASMIN/

mkdir $JASMINDIR
mkdir $JASMINDIR/ncml_templates/

cd $JASMINDIR
mkdir NEMO-ORCA0083-N006/  
mkdir NEMO-ORCA0083-N006-2013_2015/
mkdir NEMO-ORCA0083-N006-fix-2013/  
  
cp $GitTEMPLATES/sym_link_setup-fix .
cp $GitTEMPLATES/ncml_templates/* ncml_templates/
cp $GitTEMPLATES/ncml_setup .

sshfs [email protected]:/gws/nopw/j04/nemo_vol1/ORCA0083-N006/means/   $JASMINDIR/NEMO-ORCA0083-N006/  -o default_permissions,uid=18261,gid=18062,umask=022 -o transform_symlinks
sshfs [email protected]:/gws/nopw/j04/nemo_vol2/ORCA0083-N006/medusa/ $JASMINDIR/NEMO-ORCA0083-N006-2013_2015/  -o default_permissions,uid=18261,gid=18062,umask=022 -o transform_symlinks
sshfs [email protected]:/gws/nopw/j04/nemo_vol5/jdha/ORCA0083-N006-fix/means/ $JASMINDIR/NEMO-ORCA0083-N006-fix-2013  -o default_permissions,uid=18261,gid=18062,umask=022 -o transform_symlinks

To unmount:

fusermount -u $JASMINDIR/NEMO-ORCA0083-N006/  
fusermount -u $JASMINDIR/NEMO-ORCA0083-N006-2013_2015/  
fusermount -u $JASMINDIR/NEMO-ORCA0083-N006-fix-2013/

To set up data access by ncml

ncml_setup
sym_link_setup-fix 

Install GridBuilder

down load from:

http://austides.com/wp-content/uploads/GridBuilder_web.exe 

start matlab

module load matlab/2016b
 matlab &

In matlab click on GridBuilder.mltbx Check Add-Ons location in Preferences: ~/Documents/MATLAB/Add-Ons/Toolboxes/

Get my hack to read GEBCO data - NOTE 03/04/2024 : I'm note sure this is still needed (or may be incompatible with latest verison)

cp ~/work/Git/GCOMS1k/STARTFILES/Generate_Domains/Mfiles/getUserBathymetry.m  ~/Documents/MATLAB/Add-Ons/Toolboxes/GridBuilder/code/Functions/