tangos

Tangos is a system for building and querying databases summarising the results of numerical galaxy simulations.

Learn more in the following categories:

View the Project on GitHub

Tangos Tutorial – Gadget+SubFind

Initial set up

Make sure you have followed the initial set up instructions. Then download the raw simulation data required for this tutorial. Unpack the tar file either in your home folder or the folder that you pointed the TANGOS_SIMULATION_FOLDER environment variable to.

For most Linux or macOS systems, the following typed at your bash command line will download the required data and unpack it in the correct location:

cd $TANGOS_SIMULATION_FOLDER
curl https://zenodo.org/record/5155467/files/tutorial_gadget.tar.gz?download=1 | tar -xz

Import the simulation

At the unix command line type:

tangos add tutorial_gadget --min-particles 100

The process should take about a minute on a standard modern computer, during which you’ll see a bunch of log messages scroll up the screen.

Let’s pick this command apart

Note that all tangos command-line tools provide help. For example tangos --help will show you all subcommands, and tangos add --help will tell you more about the possible options for adding a simulation.

At this point, the database knows about the existence of timesteps and their halos and groups in our simulation, but nothing about the properties of those halos or groups. We need to add more information before the database is useful.

If you want to speed up this process, it can be MPI parallelised since version 1.8.

Import subfind’s properties

At the unix command line type:

tangos import-properties --type halo --for tutorial_gadget
tangos import-properties --type group --for tutorial_gadget

The two processes combined should take about a minute on a standard modern computer, during which you’ll see a bunch of log messages scroll up the screen.

Generate the merger trees

The merger trees are most simply generated using pynbody’s bridge function. To do this type:

tangos link --for tutorial_gadget

which builds the merger tree for the halos, and then you probably also want to run

tangos link --type group --for tutorial_gadget

to make the merger tree for the groups. If you want to speed up these processes, they can each be MPI parallelised.

The construction of each merger tree should take a couple of minutes, and again you’ll see a log scroll up the screen while it happens.

Add some more interesting properties

Let’s finally do some science. We’ll add dark matter density profiles; from your shell type:

tangos write dm_density_profile --with-prerequisites --include-only="NDM()>5000" --type=halo --for tutorial_gadget

If you want to speed up this process, it can be MPI parallelised.

Here,

Explore what’s possible

Now that you have a minimal functioning tangos database, proceed to the data exploration tutorial.