| 1 | == Getting an account == |
| 2 | |
| 3 | First, 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 | |
| 7 | You can add the following lines to `~/.ssh/config` on your local machine: |
| 8 | {{{ |
| 9 | #!sh |
| 10 | Host stallo stallo.uit.no |
| 11 | HostName stallo.uit.no |
| 12 | User YOURSTALLOUSERNAME |
| 13 | }}} |
| 14 | and replace `YOURSTALLOUSERNAME` by your stallo username. |
| 15 | |
| 16 | Once this is done, you can ssh stallo by simply doing: |
| 17 | |
| 18 | {{{ |
| 19 | #!sh |
| 20 | ssh stallo |
| 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 stallo account: |
| 39 | |
| 40 | {{{ |
| 41 | #!sh |
| 42 | $your_localhost%scp ~/.ssh/id_rsa.pub username@your_remosthost:~ |
| 43 | }}} |
| 44 | |
| 45 | Now 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 | |
| 55 | On Stallo, add the following lines to `~/.bashrc`: |
| 56 | {{{ |
| 57 | #!sh |
| 58 | #Module loading |
| 59 | module load Automake/1.15-intel-2016a |
| 60 | module load libtool/2.4.6-intel-2016a |
| 61 | module load CMake/3.5.2-intel-2016a |
| 62 | module load intel/2016a |
| 63 | module load ParMETIS/4.0.3-intel-2016a |
| 64 | module load MUMPS/5.1.1-intel-2016a-parmetis |
| 65 | module load PETSc/3.7.2-intel-2016a-Python-2.7.11 |
| 66 | module load FFTW/3.3.4-intel-2016a |
| 67 | module load OpenSSL/1.0.1s-intel-2016a |
| 68 | #ISSM |
| 69 | export 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 | |
| 76 | The only package from external packages that you may require (if you need to run some inversion) is m1qn3. Install it from external packages |
| 77 | {{{ |
| 78 | cd externalpackages/m1qn3 |
| 79 | ./install.sh |
| 80 | }}} |
| 81 | |
| 82 | Once this is done in ISSM_DIR do: |
| 83 | {{{ |
| 84 | run ./scripts/automakererun.sh |
| 85 | }}} |
| 86 | |
| 87 | Use 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 | |
| 106 | You can then make your configuration file executable (if it is not already) execute it and install ISSM: |
| 107 | {{{ |
| 108 | chmod +x configure.sh |
| 109 | ./configure |
| 110 | make install |
| 111 | }}} |
| 112 | |
| 113 | == stallo_settings.py == |
| 114 | |
| 115 | {{{ |
| 116 | def 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 | |
| 128 | The use of the Python version of the code is encouraged at Uib but you are welcome to clone the python settings. |