== Getting an account == First, you need to get an account from NOTUR, the webpage for you request is : https://www.metacenter.no/user/application/form/notur/. == ssh configuration == You can add the following lines to `~/.ssh/config` on your local machine: {{{ #!sh Host vilje vilje.hpc.ntnu.no HostName vilje.hpc.ntnu.no User YOURVILJEUSERNAME }}} and replace `YOURVILJEUSERNAME` by your vilje username. Once this is done, you can ssh vilje by simply doing: {{{ #!sh ssh vilje }}} == 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): {{{ #!sh $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 vilje account: {{{ #!sh $your_localhost%scp ~/.ssh/id_rsa.pub username@your_remosthost:~ }}} Now on '''Vilje''', copy the content of id_rsa.pub: {{{ #!sh $your_remosthost%cat ~/id_rsa.pub >> ~/.ssh/authorized_keys $your_remosthost%rm ~/id_rsa.pub }}} remember to have correct rights for the .ssh and the authorized_keys (else key wont work) chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys == Environment == On Vilje, add the following lines to `~/.bashrc`: {{{ #!sh export ISSM_DIR=PATHTOTRUNK # module load intelcomp/17.0.0 mpt/2.14 petsc/3.7.4d module load parmetis/4.0.3 mumps/5.0.2 module load automake }}} ''Log out and log back in'' to apply this change. == Installing ISSM on Vilje == Now, checkout the source code using instructions at https://issm.jpl.nasa.gov/download/ If it is the first time you are installing issm on Vilje you will need to run libtoolize: {{{ libtoolize }}} The only package from external packages that you may require (if you need to run some inversion) is m1qn3. Install it as usual and source you environment file {{{ cd externalpackages/m1qn3 ./install.sh source ../../etc/environment.sh }}} Once this is done in ISSM_DIR do: {{{ ./scripts/automakererun.sh }}} Now, create a configuration file called configure.sh and place it in $ISSM_DIR. Use the following configuration script (adapt to your needs): {{{#!sh #!/bin/sh ./configure \ --prefix=$ISSM_DIR \ --without-kriging \ --with-wrappers=no \ --with-petsc-dir="/sw/sdev/Modules/petsc/petsc-3.7.4" \ --with-mpi-include="/sw/sgi/mpt/mpt-2.14/include/" \ --with-mpi-libflags="-L/sw/sgi/mpt/mpt-2.14/lib -lmpi -lmpi++" \ --with-metis-dir="/sw/sdev/Modules/parmetis/parmetis-4.0.3/include" \ --with-mumps-dir="/sw/sdev/Modules/mumps/mumps-5.0.2" \ --with-cxxoptflags="-O2 -xAVX" \ --with-m1qn3-dir="$ISSM_DIR/externalpackages/m1qn3/install" \ --enable-development }}} You will need to comment the following line in src/c/main/EnvironmentInint.cpp {{{ if(!my_rank) printf("(website: %s contact: %s)\n",PACKAGE_URL,PACKAGE_BUGREPORT); }}} You can then make your configuration file executable (if it is not already) execute it and install ISSM: {{{ chmod +x configure.sh ./configure.sh make install }}} == vilje_settings == Place one of the following function in your path, it will provide your default options to vilje. ||= vilje_settings.py =||= vilje_settings.m =|| {{{#!td {{{#!py def vilje_settings(md): md.login='YOURNOTURLOGIN' md.queue='workq' md.codepath='YOURCODEPATH' #executionpath should be in /work/username to avoid flooding your home md.executionpath='YOUREXECPATH' md.accountname='nn4659k'#this is for ice2ice md.numnodes=1 md.numprocess=8 return md }}} }}} {{{#!td {{{#!matlab cluster.login='YOURNOTURLOGIN' cluster.queue='workq' cluster.codepath='YOURCODEPATH' %executionpath should be in /work/username to avoid flooding your home cluster.executionpath='YOUREXECPATH' % account name should be ice2ice cluster.accountname='nn4659k' cluster.numnodes=1 cluster.numprocess=8 }}} }}}