Changes between Initial Version and Version 1 of totten


Ignore:
Timestamp:
10/22/21 06:59:12 (3 years ago)
Author:
Mathieu Morlighem
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • totten

    v1 v1  
     1== Getting an account ==
     2
     3First, you need to send an email to Mathieu and request an account.
     4
     5== ssh configuration ==
     6
     7You can add the following lines to `~/.ssh/config` on your local machine:
     8{{{
     9#!sh
     10Host totten totten.dartmouth.edu
     11   HostName totten.dartmouth.edu
     12   User YOURRONNEUSERNAME
     13}}}
     14and replace `YOURRONNEUSERNAME ` by your totten username.
     15
     16Once this is done, you can ssh totten by simply doing:
     17
     18{{{
     19#!sh
     20ssh totten
     21}}}
     22
     23== Password-less ssh ==
     24
     25Once you have the account, you can setup a public key authentification in order to avoid having to input your password for each run.
     26You 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):
     27{{{
     28#!sh
     29$your_localhost% ssh-keygen -t rsa
     30Generating public/private rsa key pair.
     31Enter file in which to save the key (/Users/username/.ssh/id_rsa):RETURN
     32Enter passphrase (empty for no passphrase):RETURN
     33Enter same passphrase again:RETURN
     34Your identification has been saved in /Users/username/.ssh/id_rsa.
     35Your public key has been saved in /Users/username/.ssh/id_rsa.pub.
     36}}}
     37
     38Two 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:
     39
     40{{{
     41#!sh
     42$your_localhost%scp ~/.ssh/id_rsa.pub username@your_remosthost:~
     43}}}
     44
     45Now on '''totten''', copy the content of id_rsa.pub:
     46
     47{{{
     48#!sh
     49$your_remosthost%cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
     50$your_remosthost%rm ~/id_rsa.pub
     51}}}
     52
     53== Environment ==
     54
     55On totten, add the following lines to `~/.bashrc`:
     56{{{
     57#!sh
     58export ISSM_DIR=PATHTOTRUNK
     59source $ISSM_DIR/etc/environment.sh
     60#MATLAB alias
     61export LD_PRELOAD="/usr/lib/x86_64-linux-gnu/libstdc++.so.6" #Bug with MATLAB, issmversion gets a bunch of undefined symbols
     62alias ma='matlab -nodesktop -nosplash -r "addpath $ISSM_DIR/src/m/dev; devpath;"'
     63}}}
     64
     65In order to source `~/.bashrc` on startup, create `~/.bash_profile`, and add the following lines:
     66{{{
     67if [ -f ~/.bashrc ]; then
     68  . ~/.bashrc
     69fi
     70}}}
     71
     72''Log out and log back in'' to apply this change.
     73
     74== Installing ISSM on totten ==
     75
     76You can follow the instructions on the website [http://issm.jpl.nasa.gov/download/unix/]. Choose Petsc v3.12 or later. You should not need Python.
     77
     78Use the following configuration script (adapt to your needs):
     79
     80{{{
     81#!sh
     82./configure \
     83    --prefix=$ISSM_DIR \
     84    --without-kml \
     85    --with-matlab-dir="/usr/local/matlab/" \
     86    --with-triangle-dir=$ISSM_DIR/externalpackages/triangle/install \
     87    --with-metis-dir=$ISSM_DIR/externalpackages/petsc/install \
     88    --with-petsc-dir=$ISSM_DIR/externalpackages/petsc/install \
     89    --with-mpi-include=$ISSM_DIR/externalpackages/petsc/install/include  \
     90    --with-mpi-libflags="-L$ISSM_DIR/externalpackages/petsc/install/lib -lmpi -lmpicxx -lmpifort"\
     91    --with-blas-lapack-dir=$ISSM_DIR/externalpackages/petsc/install \
     92    --with-scalapack-dir=$ISSM_DIR/externalpackages/petsc/install/ \
     93    --with-mumps-dir=$ISSM_DIR/externalpackages/petsc/install/ \
     94    --with-m1qn3-dir=$ISSM_DIR/externalpackages/m1qn3/install \
     95    --with-numthreads=32 \
     96    --enable-development \
     97    --enable-debugging
     98}}}
     99
     100
     101== Python and Openssh ==
     102In order to install gdal, you need to install the python from the externalpackages.
     103Once 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.
     104
     105== Installing ISSM with CoDiPack (AD) ==
     106
     107You will need to install the following additional packages:
     108 - codipack
     109 - medipack
     110 - gsl
     111
     112Use the following configuration script (adapt to your needs, make sure to NOT include --with-petsc-dir):
     113{{{
     114#!sh
     115./configure \
     116   --prefix=$ISSM_DIR\
     117   --without-kriging \
     118   --without-kml \
     119   --without-Love \
     120   --without-Sealevelchange \
     121   --with-gsl-dir=$ISSM_DIR/externalpackages/gsl/install \
     122   --with-matlab-dir="/usr/local/matlab/" \
     123   --with-mpi-include=$ISSM_DIR/externalpackages/petsc/install/include  \
     124   --with-mpi-libflags="-L$ISSM_DIR/externalpackages/petsc/install/lib -lmpifort -lmpi" \
     125   --with-metis-dir=$ISSM_DIR/externalpackages/petsc/install \
     126   --with-mumps-dir=$ISSM_DIR/externalpackages/petsc/install/ \
     127   --with-blas-lapack-dir=$ISSM_DIR/externalpackages/petsc/install \
     128   --with-scalapack-dir=$ISSM_DIR/externalpackages/petsc/install/ \
     129   --with-triangle-dir=$ISSM_DIR/externalpackages/triangle/install \
     130   --with-fortran-lib="-L/usr/lib/gcc/x86_64-linux-gnu/4.9/ -lgfortran" \
     131   --with-m1qn3-dir="$ISSM_DIR/externalpackages/m1qn3/install" \
     132   --with-codipack-dir="$ISSM_DIR/externalpackages/codipack/install" \
     133   --with-medipack-dir="$ISSM_DIR/externalpackages/medipack/install" \
     134   --with-numthreads=20  \
     135   --enable-tape-alloc \
     136   --enable-development \
     137   --enable-debugging
     138
     139}}}