Changes between Initial Version and Version 1 of Stallo


Ignore:
Timestamp:
08/23/17 23:34:14 (7 years ago)
Author:
bdef
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Stallo

    v1 v1  
     1== Getting an account ==
     2
     3First, you need to get an account from NOTUR, the webpage for you request is : https://www.metacenter.no/user/application/form/notur/.
     4
     5== ssh configuration ==
     6
     7You can add the following lines to `~/.ssh/config` on your local machine:
     8{{{
     9#!sh
     10Host stallo stallo.uit.no
     11    HostName stallo.uit.no
     12    User YOURSTALLOUSERNAME
     13}}}
     14and replace `YOURSTALLOUSERNAME` by your stallo username.
     15
     16Once this is done, you can ssh stallo by simply doing:
     17
     18{{{
     19#!sh
     20ssh stallo
     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 stallo account:
     39
     40{{{
     41#!sh
     42$your_localhost%scp ~/.ssh/id_rsa.pub username@your_remosthost:~
     43}}}
     44
     45Now on '''Stallo''', 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 Stallo, add the following lines to `~/.bashrc`:
     56{{{
     57#!sh
     58#Module loading                                                                                           
     59module load Automake/1.15-intel-2016a
     60module load libtool/2.4.6-intel-2016a
     61module load CMake/3.5.2-intel-2016a
     62module load intel/2016a
     63module load ParMETIS/4.0.3-intel-2016a
     64module load MUMPS/5.1.1-intel-2016a-parmetis
     65module load PETSc/3.7.2-intel-2016a-Python-2.7.11
     66module load FFTW/3.3.4-intel-2016a
     67module load OpenSSL/1.0.1s-intel-2016a
     68#ISSM                                                                                                     
     69export ISSM_DIR=PATHTOISSM
     70}}}
     71
     72''Log out and log back in'' or source you .bashrc to apply this change.
     73
     74== Installing ISSM on Vilje ==
     75
     76The only package from external packages that you may require (if you need to run some inversion) is m1qn3. Install it from external packages
     77{{{
     78cd externalpackages/m1qn3
     79./install.sh
     80}}}
     81
     82Once this is done in ISSM_DIR do:
     83{{{
     84run ./scripts/automakererun.sh
     85}}}
     86
     87Use the following configuration script:
     88
     89{{{
     90#!/bin/sh
     91./configure \
     92    --prefix=$ISSM_DIR \
     93    --without-kriging \
     94    --with-wrappers=no \
     95    --with-petsc-dir="/global/hds/software/cpu/eb3/PETSc/3.7.2-intel-2016a-Python-2.7.11" \
     96    --with-mpi-include="/global/hds/software/cpu/eb3/impi/5.1.2.150-iccifort-2016.1.150-GCC-4.9.3-2.25/include64" \
     97    --with-mpi-libflags="-L/global/hds/software/cpu/eb3/impi/5.1.2.150-iccifort-2016.1.150-GCC-4.9.3-2.25/lib64 -lmpich -lmpichf90 -lmpichcxx -lmpl" \
     98    --with-metis-dir="/global/hds/software/cpu/eb3/ParMETIS/4.0.3-intel-2016a/include" \
     99    --with-mumps-dir="/global/hds/software/cpu/eb3/MUMPS/5.1.1-intel-2016a-parmetis" \
     100    --with-m1qn3-dir="$ISSM_DIR/externalpackages/m1qn3/install" \
     101    --with-hypre-dir="/global/hds/software/cpu/eb3/Hypre/2.11.1-intel-2016a" \
     102    --with-mkl-libflags="-L/global/hds/software/cpu/eb3/imkl/11.3.1.150-iimpi-8.1.5-GCC-4.9.3-2.25/mkl/lib/intel64 -lmkl_blacs_intelmpi_lp64 -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -liomp5 -lpthread -lmkl_scalapack_lp64 -L/global/hds/software/cpu/eb3/FFTW/3.3.4-intel-2016a/lib/ -lfftw3_mpi -L/global/hds/software/cpu/eb3/SuiteSparse/4.5.3-intel-2016a-ParMETIS-4.0.3/lib -lklu -lamd -lamd -lbtf -lsuitesparseconfig -lumfpack -lcholmod -L/global/hds/software/cpu/eb3/ifort/2016.1.150-GCC-4.9.3-2.25/lib/intel64 -lifcore -lifport -L/global/hds/software/cpu/eb3/OpenSSL/1.0.1s-intel-2016a/lib -lssl -L/global/hds/software/cpu/eb3/SCOTCH/6.0.4-intel-2016a/lib -lesmumps -lptesmumps  -lptscotch  -lptscotcherr  -lptscotcherrexit -lscotch -lscotcherr -lscotcherrexit -lscotch_group" \
     103    --enable-development
     104}}}
     105
     106You can then make your configuration file executable (if it is not already) execute it and install ISSM:
     107{{{
     108chmod +x configure.sh
     109./configure
     110make install
     111}}}
     112
     113== stallo_settings.py ==
     114
     115{{{
     116def stallo_settings(md):                                                                                                                     
     117    md.login='YOURNOTURLOGIN'
     118    md.queue='normal'
     119    md.codepath='YOURCODEPATH'#home is fne
     120    md.executionpath='YOUREXECPATH'#should be in /global/work/username to avoid flooding your home
     121    md.accountname='nn4659k'#this is for ice2ice
     122    md.numnodes=1
     123    md.numprocess=16
     124    return md
     125}}}
     126== stallo_settings.m ==
     127
     128The use of the Python version of the code is encouraged at Uib but you are welcome to clone the python settings.