Important note about 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 install ISSM and create your "projects" directory.
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 alias ma='LD_PRELOAD=/usr/lib/x86_64-linux-gnu/libstdc++.so.6:/usr/lib/x86_64-linux-gnu/libgfortran.so.5:$ISSM_DIR/externalpackages/petsc/install/lib/libmpi.so:$ISSM_DIR/externalpackages/petsc/install/lib/libmpifort.so:$ISSM_DIR/externalpackages/petsc/install/lib/libmpifort.so.12 /usr/local/MATLAB/R2023b/bin/matlab -nodesktop -nosplash -r "addpath $ISSM_DIR/src/m/dev; devpath;"'
Feel free to remove 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.20 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 -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-fortran-lib="-L/usr/lib/x86_64-linux-gnu -lgfortran" \ --with-parmetis-dir="$ISSM_DIR/externalpackages/petsc/install/" \ --with-numthreads=32 \ --enable-development \ --enable-debugging
Run Jupyter Notebook on totten
You can run Jupyter Notebook on totten (after ssh
to the remote server) with the following command:
jupyter notebook --no-browser --port=8080
Keep this terminal alive, where you will need the token to access the Notebook.
To access your notebook via the browser from your local machine, you just need to link the totten's port 8080
to your localhost:8080
by the command (on your local machine)
ssh -L 8080:localhost:8080 yourname@totten.dartmouth.edu
After this, open a web browser on your local machine, and access the Jupyter Notebook from http://localhost:8080/
.
You might be asked to enter the token, which you can find in the terminal you kept alive for Jupyter Notebook.
Install custom image on kubeflow
Installing ISSM with CoDiPack (AD)
You will need to install the following *additional* packages:
- codipack
- medipack
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-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 -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-cxxoptflags="-g -O3 -fPIC -std=c++11 -DCODI_ForcedInlines" \ --with-fortran-lib="-L/usr/lib/x86_64-linux-gnu -lgfortran" \ --with-numthreads=32 \ --enable-tape-alloc \ --enable-development \ --enable-debugging