Group Catalogs, Halo Properties

Merger Trees

Snapshot/Particle Data

Web-based API


1. Are there any useful additional resources for understanding the data?

Since Illustris is, in many aspects, a descendant of the Millenium simulations, much of that excellent documentation may be useful, particularly with respect to the merger tree structure. Since the Arepo owes much of its heritage to Gadget-2, there are many similarities at the particle level.

2. Why are there only 134 snapshots for Illustris-1? What happened to #53 and #55?

For Illustris-1, snapshots 53 and 55 were corrupted and cannot be used. Although the group catalogs exist, the merger trees skip over these snapshots, as if they are not present. In general, for most analysis tasks, the best approach is to simply pretend that these two snapshots do not exist.

Group Catalogs, Halo Properties

1. Are all black holes guaranteed to belong to a halo or subhalo?

Not necessarily. In particular, at z=0 in Illustris-1 there are a handful of black hole particles which are outside of all FoF halos. This number is very small, and may occur if e.g. a BH is seeded in a low mass halo which is then stripped or disrupted, falling below the minimum mass threshold for subhalos. In this case, a BH may reside outside of a group until it falls into the potential center of a new halo.

2. How was the matching between subhalos in the DM-only runs and full physics runs computed?

For every subhalo in the dark matter only run, the DM particle IDs in that subhalo were matched against all the subhalos in the corresponding full physics run. The FP subhalo with the largest number of matching IDs was chosen. No weighting (e.g. by gravitational binding energy) was used.

3. What is the difference between a halo and a subhalo? Group and subgroup? ...

There are currently two distinct types of objects, for which group catalogs exist (once the Rockstar groups are released, there will be three). We presented the following naming definitions in the data release paper:

  • "Group" == "FoF Group" == "FoF Halo" == "Halo"
  • "Subgroup" == "Subfind Group" == "Subhalo"
The first type are computed with a friends-of-friends algorithm, while the second are computed with the Subfind algorithm. Each FoF halo can have zero or more subhalos, which belong to it. One of the properties of the Subfind algorithm is that gravitationally unbound member particles are removed. Therefore, for very small FoF halos (near the minimum particle limit of 32), it is possible that this "unbinding" procedure will remove enough particles such that there is no subhalo (above the minimum particle limit of 20) left. In this case a FoF halo will have no subhalos. If it does, there are two fundamentally different types:

  • The "Central" or "Primary" subhalo, of which there can be only one per FoF halo, which is by construction the most massive.
  • "Satellite" or "secondary" subhalos, of which there can be zero or one or many.

Merger Trees

1. I understand FirstProgenitor and Descendant links, but how does NextProgenitor work?

The 'next progenitor' for a subhalo ID N points to: the "next subhalo" which shares the same descendant as subhalo N. Therefore be careful: it is not a pointer from a given subhalo to a progenitor of that subhalo. By "next subhalo" we mean the next most massive (for LHaloTree), or the one with the next most massive history (for SubLink).

2. Why are there sudden dips in the mass accretion history (MAH) of a subhalo?

Sometimes a subhalo briefly changes its central/satellite status according to SUBFIND. Since centrals are generally more massive than satellites in SUBFIND, the change results in a visible spike in the MAH of the subhalo.

Snapshot/Particle Data

1. Where is the gas temperature of cells? I don't see it in PartType0.

The gas temperature must be derived from the internal energy $u$ and the electron abundance $x_e$ ($=n_e/n_H$) which are PartType0 snapshot fields InternalEnergy and ElectronAbundance, respectively. First, the mean molecular weight can be calculated as $$\mu = \frac{4}{ 1 + 3 X_H + 4 X_H x_e } * m_p.$$ Then, the temperature in Kelvin is given by $$T = (\gamma - 1) * u / k_B * \frac{\rm{UnitEnergy}}{\rm{UnitMass}} * \mu.$$ Here, $\gamma = 5/3$ is the adiabatic index, $k_B$ is the Boltzmann constant in CGS units, and $X_H = 0.76$ is the hydrogen mass fraction. Finally, UnitMass and UnitEnergy are those code units in CGS units. Specifically, UnitEnergy = UnitMass * UnitLength^2 / UnitTime^2 (UnitLength is 1 kpc, UnitTime is 1 Gyr), so their ratio is $10^{10}$.

2. Why does the size of Illustris-1 snapshots suddenly get larger at #72?

Prior to snapshot 72, the Coordinates field of all particle types was written in single precision floating point (32-bits). This was changed to double (64-bit) precision at snapshots 72 through 135.

3. Why are the dark matter IDs so large? Why are they not sequential?

The dark matter particle IDs encode their starting positions in the initial conditions, using a Peano-Hilbert key with 21 bits per dimension (in order to fit into a 64-bit ID). If you would like to make use of this information, get in touch and more details will be scrounged up.

4. How are DM IDs related between the full physics and dark matter only runs?

They are same, meaning that they started in the same locations in the initial conditions.

5. What is this 'GFM_Metals' field which can be found floating around the snapshots?

This field is present for stars and gas in the original snapshot files, but should not be used. In particular, the values are incorrect, and do not contain valid information.

Web-based API

1. Can I download binary (HDF5) data and inspect it in-memory, without first saving a (temporary) file to disk?

Yes. But, this feature is relatively immature in most languages and HDF5 wrappers. For doing this in Python, see h5py issue #552 or the PyTables 'in-memory' page. With the HDF5 library (in C), this requires HDF5 v1.8.9+, and you should look at HDF5 File Image Operations [PDF].

2. wget: unrecognized option `--content-disposition'

The --content-disposition option is how wget knows what filename to save the download as. This was added to wget v1.11 in Jan 2008, if you're using any software this old you are going to have many problems! Please upgrade.