Introduction

From a linux machine

Open a terminal and then
ssh -Y sverdrup.uio.no

From a windows machine

From Windows menu, start X-Win32. Then create a new connection for sverdrup.uio.no
X-win32-1
Create a new connection with X-Win32 on Windows
Click on "Manual..." and define a new configuration for sverdrup:
X-win32-2
A new configuration for sverdrup
Then, click on Save (if it does not work, it is likely you'll have to do the same operation every time you login on this machine i.e. your configuration cannot be saved) Then to open a terminal on sverdrup, click on "Launch" (or "Test"); enter your Login and password.

Set-up your environment

For the lessons, we need to use a recent version of Fortran, having Fortran 2003 features. To do so and for every session:
module load gcc/5.2.0

Clone the Fortran repository to get Fortran examples

git clone https://github.com/annefou/Fortran
Once you have clone the Fortran repository, you may have to update it (take new examples we built during the lectures; take bug fixes, etc.).
cd Fortran
git pull


The unix shell

If you are not familiar with any linux shell (for instance bash), please follow this link. The first steps should be sufficient.

Editing your source files

You need an editor (anyone) to write your source code (such as sublime, nano, emacs, gedit, notepad++,etc.). You usually don't need to install a new editor yourself but if you wish to install it on your laptop, the easiest to install is sublime.

Version control with git

It is very important (mandatory!) to keep track of your files with a version control system. For our project, we will be using git and github to collaborate. It will help you to keep track of your changes and revert some changes if needed. You can find several good tutorials on the web. Here is a short list on git tutorials but feel free to use any other resources:

During the first lesson, we will set-up a git repository (only one for all of us) and we will learn how to use it. Each student can have its own git branch but the final goal is to build a unique library. An interactive tutorial on git branch is available here.