| | 1 | == Getting an account == |
| | 2 | |
| | 3 | First, you need to send an email to Mathieu and request an account. |
| | 4 | |
| | 5 | == ssh configuration == |
| | 6 | |
| | 7 | You can add the following lines to `~/.ssh/config` on your local machine: |
| | 8 | {{{ |
| | 9 | #!sh |
| | 10 | Host totten totten.dartmouth.edu |
| | 11 | HostName totten.dartmouth.edu |
| | 12 | User YOURRONNEUSERNAME |
| | 13 | }}} |
| | 14 | and replace `YOURRONNEUSERNAME ` by your totten username. |
| | 15 | |
| | 16 | Once this is done, you can ssh totten by simply doing: |
| | 17 | |
| | 18 | {{{ |
| | 19 | #!sh |
| | 20 | ssh totten |
| | 21 | }}} |
| | 22 | |
| | 23 | == Password-less ssh == |
| | 24 | |
| | 25 | Once you have the account, you can setup a public key authentification in order to avoid having to input your password for each run. |
| | 26 | 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): |
| | 27 | {{{ |
| | 28 | #!sh |
| | 29 | $your_localhost% ssh-keygen -t rsa |
| | 30 | Generating public/private rsa key pair. |
| | 31 | Enter file in which to save the key (/Users/username/.ssh/id_rsa):RETURN |
| | 32 | Enter passphrase (empty for no passphrase):RETURN |
| | 33 | Enter same passphrase again:RETURN |
| | 34 | Your identification has been saved in /Users/username/.ssh/id_rsa. |
| | 35 | Your public key has been saved in /Users/username/.ssh/id_rsa.pub. |
| | 36 | }}} |
| | 37 | |
| | 38 | 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: |
| | 39 | |
| | 40 | {{{ |
| | 41 | #!sh |
| | 42 | $your_localhost%scp ~/.ssh/id_rsa.pub username@your_remosthost:~ |
| | 43 | }}} |
| | 44 | |
| | 45 | Now 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 | |
| | 55 | On totten, add the following lines to `~/.bashrc`: |
| | 56 | {{{ |
| | 57 | #!sh |
| | 58 | export ISSM_DIR=PATHTOTRUNK |
| | 59 | source $ISSM_DIR/etc/environment.sh |
| | 60 | #MATLAB alias |
| | 61 | export LD_PRELOAD="/usr/lib/x86_64-linux-gnu/libstdc++.so.6" #Bug with MATLAB, issmversion gets a bunch of undefined symbols |
| | 62 | alias ma='matlab -nodesktop -nosplash -r "addpath $ISSM_DIR/src/m/dev; devpath;"' |
| | 63 | }}} |
| | 64 | |
| | 65 | In order to source `~/.bashrc` on startup, create `~/.bash_profile`, and add the following lines: |
| | 66 | {{{ |
| | 67 | if [ -f ~/.bashrc ]; then |
| | 68 | . ~/.bashrc |
| | 69 | fi |
| | 70 | }}} |
| | 71 | |
| | 72 | ''Log out and log back in'' to apply this change. |
| | 73 | |
| | 74 | == Installing ISSM on totten == |
| | 75 | |
| | 76 | You 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 | |
| | 78 | Use 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 == |
| | 102 | In order to install gdal, you need to install the python from the externalpackages. |
| | 103 | 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. |
| | 104 | |
| | 105 | == Installing ISSM with CoDiPack (AD) == |
| | 106 | |
| | 107 | You will need to install the following additional packages: |
| | 108 | - codipack |
| | 109 | - medipack |
| | 110 | - gsl |
| | 111 | |
| | 112 | Use 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 | }}} |