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:
Host fram fram.sigma2.no HostName fram.sigma2.no User YOURFRAMUSERNAME
and replace YOURFRAMUSERNAME
by your stallo username.
Once this is done, you can ssh fram by simply doing:
ssh fram
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):
$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:
$your_localhost%scp ~/.ssh/id_rsa.pub username@your_remosthost:~
Now on fram, copy the content of id_rsa.pub:
$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 fram, add the following lines to ~/.bashrc
:
#ISSM export ISSM_DIR=/cluster/work/users/USERNAME/ISSMDIRNAME
Log out and log back in or source you .bashrc to apply this change.
Installing ISSM on fram
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 fram you will need to run libtoolize (make sure to run it on /cluster not your home directory):
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:
#!/bin/sh #fram configuration script module restore system module load libtool/2.4.6-GCCcore-6.3.0 module load Automake/1.15.1-GCCcore-6.3.0/ module load CMake/3.9.1 module load PETSc/3.8.0-intel-2017a-Python-2.7.13 module load ParMETIS/4.0.3-intel-2017a ./configure \ --prefix=$ISSM_DIR \ --without-kriging \ --with-wrappers=no \ --with-petsc-dir="/cluster/software/PETSc/3.8.0-intel-2017a-Python-2.7.13/" \ --with-mpi-include="/cluster/software/impi/2017.1.132-iccifort-2017.1.132-GCC-6.3.0-2.27/include64" \ --with-mpi-libflags="-L/cluster/software/impi/2017.1.132-iccifort-2017.1.132-GCC-6.3.0-2.27/lib64 -lm\ pich -lmpichf90 -lmpichcxx -lmpl" \ --with-metis-dir="/cluster/software/ParMETIS/4.0.3-intel-2017a/include/" \ --with-m1qn3-dir="$ISSM_DIR/externalpackages/m1qn3/install" \ --enable-development
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
fram_settings.py
def fram_settings(md): md.login='YOURNOTURLOGIN' md.queue='normal' md.codepath='YOURCODEPATH'#should be in /cluster/work/users/USERNAME/ISSMNAME md.executionpath='YOUREXECPATH'#should be in /cluster/work/users/USERNAME/execution md.accountname='nn4659k'#this is for ice2ice md.numnodes=1 md.numprocess=16 return md
fram_settings.m
The use of the Python version of the code is encouraged at Uib but you are welcome to clone the python settings.