== 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 stallo stallo.uit.no HostName stallo.uit.no User YOURSTALLOUSERNAME }}} and replace `YOURSTALLOUSERNAME` by your stallo username. Once this is done, you can ssh stallo by simply doing: {{{ #!sh ssh stallo }}} == 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 stallo account: {{{ #!sh $your_localhost%scp ~/.ssh/id_rsa.pub username@your_remosthost:~ }}} Now on '''Stallo''', 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 Stallo, we were ask not to load modules in .bashrc if possible. This is fine, just use the load command that are on top of the configure.sh while installing and while running the loads are taken care of by the queue file. You still need an ISSM path in your .bashrc as follows: {{{ #ISSM export ISSM_DIR=PATHTOISSM }}} ''Log out and log back in'' or source you .bashrc to apply this change. == Installing ISSM on Stallo == 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 stallo 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 from external packages {{{ cd externalpackages/m1qn3 ./install.sh }}} Once this is done in ISSM_DIR do: {{{ ./scripts/automakererun.sh }}} Use the following configuration script. Notur support made a great job at having a properly installed PETSc here so we have a clean configure file,: {{{ #!/bin/sh #Stallo configuration script #this uses system stuff, you need to load the following: module purge module load CMake/3.8.0-GCCcore-6.3.0 module load Automake/1.15.1-GCCcore-6.3.0 module load libtool/2.4.6 #module load OpenSSL/1.1.0e-intel-2017a module load PETSc/3.7.5-intel-2017a-downloaded-deps ./configure \ --prefix=$ISSM_DIR \ --without-kriging \ --with-wrappers=no \ --with-petsc-dir="/global/hds/software/cpu/eb3/PETSc/3.7.5-intel-2017a-downloaded-deps" \ --with-mpi-include="/global/hds/software/cpu/eb3/impi/2017.1.132-iccifort-2017.1.132-GCC-6.3.0-2.27/include64" \ --with-mpi-libflags="-L/global/hds/software/cpu/eb3/impi/2017.1.132-iccifort-2017.1.132-GCC-6.3.0-2.27/lib64 -lmpich -lmpichf90 -lmpichcxx -lmpl" \ --with-metis-dir="/global/hds/software/cpu/eb3/PETSc/3.7.5-intel-2017a-downloaded-deps" \ --with-mumps-dir="/global/hds/software/cpu/eb3/PETSc/3.7.5-intel-2017a-downloaded-deps" \ --with-m1qn3-dir="$ISSM_DIR/externalpackages/m1qn3/install" \ --with-hypre-dir="/global/hds/software/cpu/eb3/PETSc/3.7.5-intel-2017a-downloaded-deps" \ --with-mkl-libflags="-L/global/hds/software/cpu/eb3/imkl/2017.1.132-iimpi-2017a/mkl/lib/intel64 -lmkl_scalapack_lp64 -lmkl_blacs_intelmpi_lp64 -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lmkl_scalapack_lp64 -lpthread" \ --enable-development }}} You can then make your configuration file executable (if it is not already) execute it and install ISSM before installing you will need to load the module in your environment: {{{ chmod +x configure.sh ./configure.sh module purge module load CMake/3.8.0-GCCcore-6.3.0 module load Automake/1.15.1-GCCcore-6.3.0 module load libtool/2.4.6 module load PETSc/3.7.5-intel-2017a-downloaded-deps make install }}} == stallo_settings.py == {{{ def stallo_settings(md): md.login='YOURNOTURLOGIN' md.queue='normal' md.codepath='YOURCODEPATH'#home is fne md.executionpath='YOUREXECPATH'#should be in /global/work/username to avoid flooding your home md.accountname='nn4659k'#this is for ice2ice md.numnodes=1 md.numprocess=16 return md }}} == stallo_settings.m == The use of the Python version of the code is encouraged at Uib but you are welcome to clone the python settings.