wiki:totten

Version 9 (modified by Mathieu Morlighem, 3 years ago) ( diff )

--

Important note about drive and storage

Totten has several drives. Your home directory is on a small drive (6 TB), so make sure to work on the big RAID system /totten_1 that has 83 TB. You will probably need to create a directory:

cd /totten_1
mkdir YOURUSERNAME

and replace YOURUSERNAME by your totten username. This is were you should checkout ISSM and create your "projects" directory.

Getting an account

First, you need to send an email to Mathieu and Ed and request an account.

ssh configuration

You can add the following lines to ~/.ssh/config on your local machine:

Host totten totten.dartmouth.edu
   HostName totten.dartmouth.edu
   User YOURUSERNAME

and replace YOURUSERNAME by your totten username.

Once this is done, you can ssh totten by simply doing:

ssh totten

Password-less ssh

Once you have the account, you can setup a public key authentification in order to avoid having to input your password for each run. You need to have a SSH public/private key pair. If you do not, you can create a SSH public/private key pair by typing the following command and following the prompts (no passphrase necessary):

$your_localhost% ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/username/.ssh/id_rsa):RETURN
Enter passphrase (empty for no passphrase):RETURN
Enter same passphrase again:RETURN
Your identification has been saved in /Users/username/.ssh/id_rsa.
Your public key has been saved in /Users/username/.ssh/id_rsa.pub.

Two files were created: your private key /Users/username/.ssh/id_rsa, and the public key /Users/username/.ssh/id_rsa.pub. The private key is read-only and only for you, it is used to decrypt all correspondence encrypted with the public key. The contents of the public key need to be copied to ~/.ssh/authorized_keys on your totten account:

$your_localhost%scp ~/.ssh/id_rsa.pub username@your_remosthost:~

Now on totten, copy the content of id_rsa.pub:

$your_remosthost%cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
$your_remosthost%rm ~/id_rsa.pub

If Totten complains that about /home/mmorligh/.ssh/authorized_keys: No such file or directory, you may need to create an .ssh directory first.

Environment

On totten, add the following lines to ~/.bashrc:

export ISSM_DIR=PATHTOTRUNK
source $ISSM_DIR/etc/environment.sh
#MATLAB alias
export LD_PRELOAD="/usr/lib/x86_64-linux-gnu/libstdc++.so.6" #Bug with MATLAB, issmversion gets a bunch of undefined symbols
alias ma='matlab -nodesktop -nosplash -r "addpath $ISSM_DIR/src/m/dev; devpath;"'

Feel free to removing anything that you may have by default in this file. Log out and log back in to apply this change.

Installing ISSM on totten

You can follow the instructions on the website http://issm.jpl.nasa.gov/download/unix/. You will need to install the following packages:

  • autotools
  • petsc (take the latest version 3.16 or later)
  • triangle
  • m1qn3

Use the following configuration script (adapt to your needs):

./configure \
    --prefix=$ISSM_DIR \
    --without-kml \
    --with-matlab-dir="/usr/local/MATLAB/R2021b" \
    --with-triangle-dir=$ISSM_DIR/externalpackages/triangle/install \
    --with-metis-dir=$ISSM_DIR/externalpackages/petsc/install \
    --with-petsc-dir=$ISSM_DIR/externalpackages/petsc/install \
    --with-mpi-include=$ISSM_DIR/externalpackages/petsc/install/include  \
    --with-mpi-libflags="-L$ISSM_DIR/externalpackages/petsc/install/lib -lmpi -lmpicxx -lmpifort"\
    --with-blas-lapack-dir=$ISSM_DIR/externalpackages/petsc/install \
    --with-scalapack-dir=$ISSM_DIR/externalpackages/petsc/install/ \
    --with-mumps-dir=$ISSM_DIR/externalpackages/petsc/install/ \
    --with-m1qn3-dir=$ISSM_DIR/externalpackages/m1qn3/install \
    --with-numthreads=32 \
    --enable-development \
    --enable-debugging

}}}

Python and Openssh

In order to install gdal, you need to install the python from the externalpackages. Once that is done, unset the PYTHON-related variables in etc/environment.sh, because this python installation causes future issues with other packages, e.g. PETSC.

Installing ISSM with CoDiPack (AD)

You will need to install the following additional packages:

  • codipack
  • medipack
  • gsl

Use the following configuration script (adapt to your needs, make sure to NOT include --with-petsc-dir):

./configure \
   --prefix=$ISSM_DIR\
   --without-kriging \
   --without-kml \
   --without-Love \
   --without-Sealevelchange \
   --with-gsl-dir=$ISSM_DIR/externalpackages/gsl/install \
   --with-matlab-dir="/usr/local/MATLAB/R2021b" \
   --with-mpi-include=$ISSM_DIR/externalpackages/petsc/install/include  \
   --with-mpi-libflags="-L$ISSM_DIR/externalpackages/petsc/install/lib -lmpi -lmpicxx -lmpifort"\
   --with-metis-dir=$ISSM_DIR/externalpackages/petsc/install \
   --with-mumps-dir=$ISSM_DIR/externalpackages/petsc/install/ \
   --with-blas-lapack-dir=$ISSM_DIR/externalpackages/petsc/install \
   --with-scalapack-dir=$ISSM_DIR/externalpackages/petsc/install/ \
   --with-triangle-dir=$ISSM_DIR/externalpackages/triangle/install \
   --with-m1qn3-dir="$ISSM_DIR/externalpackages/m1qn3/install" \
   --with-codipack-dir="$ISSM_DIR/externalpackages/codipack/install" \
   --with-medipack-dir="$ISSM_DIR/externalpackages/medipack/install" \
   --with-numthreads=32 \
   --enable-tape-alloc \
   --enable-development \
   --enable-debugging
Note: See TracWiki for help on using the wiki.