Jan 14 – 17, 2020
Institute of Cosmos Sciences (ICCUB-IEEC)
Europe/Madrid timezone

Recommended software

Participants should bring their own computers to the hands-on sessions. In order to take full advantage of these sessions we encourage all participants to use a unix based OS (linux/Mac), and to install some software packages beforehand. We will be working mainly with Python3.7.

Our suggestion is to have a working installation of Anaconda Distribution in your systems, so you can create an environment that satisfies the main requirements and needs from each hands-on session.

Once your installation of Anaconda Distribution is up and running just follow the instructions here in order to create a conda environment and to test it:


And you should be good to go!


Specific instructions for each of the hands-on sessions can be found below:


  • Tuesday hands-on session (Prof. M. Gieles):

For the collisional hands-on session you will need to use 2 codes:

1- NBODY6++, a collisional N-body code developed by Sverre Aarseth (NBODY6) and extensively parallelized by  Wang et al. 2015, MNRAS, 450, 4070 (NBODY6++). 

2- LIMEPY, a mass model code developed by Mark Gieles & Alice Zocchi 2015, MNRAS, 454, 576. 

To proceed, you will need a fortran and c++ compilers, and python with at least numpy and scipy.

Below you find installation instructions for both codes (please activate the MWG_BCN20 conda environment before following these instructions below):


= NBODY6++ =

Get the latest version from the git repository:

> git clone https://github.com/nbodyx/Nbody6ppGPU.git

Goto the directory:

> cd Nbody6ppGPU

Familiarise yourself with the manual: doc/nbody6++_manual.pdf

Configure and compile:

> ./configure --disable-gpu --disable-mpi --disable-openmp

> make

Note that we deselected all the parallelisation and GPU support, this to ensure the code compiles on most platforms. The executable "nbody6++" is now in the directory build. If you want a global installation in /usr/local/bin then do

> make install

The code requires an input file that set the initial conditions and set some code parameters. Below an example that we will use in the school. If this is stored in a file called "input", the code can be run as:

> nbody6++ < input > our 2>err

input example file:

1 1.0E8 1000.0 40 40 0

2000 2 10 43532 50 1 10

0.02 0.02 0.2 1.0 1.0 2000.0 2.0E-04 1 0.7

0 1 1 0 1 0 4 0 0 2

0 1 0 1 2 0 0 0 3 6

1 0 2 0 0 2 0 0 0 2

1 0 2 1 1 0 1 1 2 0

0 0 0 0 0 2 -3 0 0 0

1.0E-5 2E-4 0.1 1.0 1.0E-06 0.01 0.125

2.35 150.0 0.08 0 0 0.001 0 1.0

0.5 0.0 0.0 0.0



Limepy should be installed in your computer after setting the MWG_BCN20 conda environment (see iformation above):

 Within (i)python limepy is imported as:

 In [1]: from limepy import limepy

 Several examples can be found in:


and a brief manual here:



  • Wednesday hands-on session (Prof. D. Ceverino / A. Di Cintio):

In the Hands-on session II you will use “Python3” scripts and the “Pynbody” software. Both of them are included in the “conda environment” you should have installed in your computer after following the instructions above.


  • Thursday hands-on session (Prof. F. Anders / T. Antoja / S. Roca-Fàbrega):

In this session you will use the “yt” and the “Pynbody” software, through “Jupyter notebook” scripts. All this software is included in the “conda environment” you should have installed in your computer after following the instructions above.

It is also highly recommended to have the Topcat software installed in your laptop: 



  • Friday  hands-on session (Prof. J. Álvarez / R. Badia)

In the last Hands-on session you will use “python3.7” and “pip” that is already included in the “conda environment” you have installed in your computer after following the instructions above.

In addition you will need to follow steps in order to get the docker:

Docker installation

**Warning:** requires docker version >= 17.12.0-ce

Be aware that for some distros the docker package has been renamed from 'docker' to 'docker-ce. Make sure you install the new package.

> docker --version

> docker ps # this should be empty as no docker processes are yet running.



If you have any problem in any of the installation / testing steps, please do not hesitate on contacting sroca01 at ucm dot es.