The tutorial practicums will require participants to ssh onto the perlmutter machine, navigate the code, case, and run directories, and make some small edits to files. The following materials are for participants who are less familiar with working on remote servers and git to learn a bit of the basics, so that they can better follow the practicums.
Skills to know before arriving at the tutorial
Accessing HPC and running basic HPC
https://www.hpc-carpentry.org/hpc-shell/
Set up for performing above tutorial: https://www.hpc-carpentry.org/hpc-shell/setup.html
Intro to shell
https://librarycarpentry.org/lc-shell/
Intro to Git
https://swcarpentry.github.io/git-novice/
** Even for those who are familiar with git, section 7 may be useful to review for how to generate ssh-keys on perlmutter**:
https://swcarpentry.github.io/git-novice/07-github.html
Tasks to accomplish before arriving at the tutorial
- Using your NERSC account or assigned training account, ssh onto perlmutter
- Create a github account and generate ssh keys to connect local git on perlmutter and github
- Clone E3SM model code into a local directory on perlmutter with the following commands.
mkdir ~/E3SM_code
mkdir ~/E3SM_code/master_240430
cd ~/E3SM_code/master_240430
git clone git@github.com:E3SM-Project/E3SM.git ./
git submodule update --init --recursive
**If you encounter the following error message while cloning the the repository:Cloning into ‘.'...
Warning: Permanently added ‘github.com,140.82.114.4' (ECDSA) to the list of known hosts.
Permission denied (publickey).
fatal: Could not read from remote repository
Then you likely haven’t or had issues setting up your ssh-keys. See the instructions above under Intro to Git or the following page: https://dhaine.github.io/2014-11-06-fmv/novice/git/05-sshkeys.html
Text editors to make code modifications
On NERSC, the following text editors are available. Quick start, cheat-sheets are also provided below.
emacs (https://www.gnu.org/software/emacs/ )
https://ccrma.stanford.edu/guides/package/emacs/emacs.html
https://www.gnu.org/software/emacs/refcards/pdf/refcard.pdf
vim (https://www.vim.org/ )
https://www.cs.cmu.edu/~15131/f17/topics/vim/vim-cheatsheet.pdf
nano (https://www.nano-editor.org/ )