Getting an account
You automatically have access to the Babylon machine if you are part of Dartmouth's Thayer School of Engineering. To request access to Amundsen, please send an email to Helene Seroussi.
ssh configuration
Babylon is actually a cluster of 12 independent servers, so you need to first choose on which one you are going to log in. The status of the cluster usage can be found here : https://cluster-usage.thayer.dartmouth.edu/.
You can add the following lines to ~/.ssh/config
on your local machine:
Host babylon babylon?.thayer.dartmouth.edu Hostname babylon?.thayer.dartmouth.edu User USERNAME
and replace USERNAME
by your Dartmouth NetID, which is your username.
Once this is done, you can ssh discovery by simply doing:
ssh babylonX
with X the number of the machine you want to access
Password-less ssh
This machine does not support public key authentication
Environment
On babylon or amundsen, add the following lines to ~/.bashrc
:
export ISSM_DIR=PATHTOTRUNK export FC=gfortran export F77=gfortran export F90=gfortran export CC=gcc export CXX=g++ source $ISSM_DIR/etc/environment.sh alias ma='LD_PRELOAD="/usr/lib/x86_64-linux-gnu/libstdc++.so.6" /thayerfs/apps/matlab/bin/matlab -nodesktop -nosplash -r "addpath $ISSM_DIR/src /m/dev; devpath;"'
Log out and log back in to apply this change.
Installing ISSM on babylon
Babylon and amundsen have both Intel and GNU compilers. Installation should be done with the GNU compilers. You can follow the instructions on the website http://issm.jpl.nasa.gov/download/unix/. Choose PETSc v3.16 or later (install-3.16-linux.sh). You should not need Python.
Use the following configuration script (adapt to your needs):
#!/bin/bash ./configure \ CC=gcc CXX=g++ F90=gfortran FC=gfortran \ --prefix=${ISSM_DIR} \ --with-numthreads=20 \ --with-matlab-dir="/thayerfs/apps/matlab/" \ --with-mpi-include="${ISSM_DIR}/externalpackages/petsc/install/include" \ --with-mpi-libflags="-L${ISSM_DIR}/externalpackages/petsc/install/lib -lmpifort -lmpi" \ --with-metis-dir="${ISSM_DIR}/externalpackages/petsc/install" \ --with-parmetis-dir="${ISSM_DIR}/externalpackages/petsc/install" \ --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-petsc-dir="${ISSM_DIR}/externalpackages/petsc/install" \ --with-m1qn3-dir="${ISSM_DIR}/externalpackages/m1qn3/install" \ --with-triangle-dir="${ISSM_DIR}/externalpackages/triangle/install" \ --enable-debugging \ --enable-development
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 \ CC=gcc CXX=g++ F90=gfortran FC=gfortran CXXFLAGS="-g -O3 -fPIC -std=c++11 -DCODI_ForcedInlines" \ --prefix=$ISSM_DIR \ --without-kriging \ --without-kml \ --without-Love \ --without-Sealevelchange \ --with-matlab-dir="/thayerfs/apps/matlab/" \ --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-parmetis-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-fortran-lib="-L/usr/lib/x86_64-linux-gnu -lgfortran" \ --with-numthreads=32 \ --enable-tape-alloc \ --enable-development \ --enable-debugging