This page contains a comprehensive description of the simulation snapshots, group catalogs, merger trees, and supplementary data sets. Differences and additions in TNG with respect to the original Illustris public data release are noted: aspects which have changed, or which are new in TNG, are marked in blue, while those marked in green are identical to Illustris.

Table of Contents


1. Snapshots

Organization

There are 100 snapshots stored for every run. These include all particles/cells in the whole volume. The complete snapshot listings, spacings and redshifts can be found in the API. Note that, unlike in Illustris, TNG contains two different types of snapshots: 'full' and 'mini'. While both encompass the entire volume, 'mini' snapshots only have a subset of particle fields available (detailed below). In TNG twenty snapshots are full, while the remaining 80 are mini. The 20 full snapshots are:

Snap Scale factor Redshift
2 0.0769 12
3 0.0833 11
4 0.0909 10
6 0.1 9
8 0.1111 8
11 0.125 7
13 0.1429 6
17 0.1667 5
21 0.2 4
25 0.25 3
33 0.3333 2
40 0.4 1.5
50 0.5 1
59 0.5882 0.7
67 0.6667 0.5
72 0.7143 0.4
78 0.7692 0.3
84 0.8333 0.2
91 0.9091 0.1
99 1 0

Every snapshot is stored in a series of "chunks", i.e. more manageable, smaller-size files. The number of chunks per snapshots is different for the different runs:

Run Alt. Name Total NumPart (DM) Chunks per Snapshot Full Snapshot Size Avg Groupcat Size Total Data Volume
L35n270TNG TNG50-4 19,683,000 11 5.2 GB 20 MB 0.6 TB
L35n270TNG_DM TNG50-4-Dark 19,683,000 4 1.2 GB 10 MB 0.1 TB
L35n540TNG TNG50-3 157,464,000 11 44 GB 130 MB 7.5 TB
L35n540TNG_DM TNG50-3-Dark 157,464,000 4 9.4 GB 50 MB 0.6 TB
L35n1080TNG TNG50-2 1,259,712,000 128 350 GB 860 MB 18 TB
L35n1080TNG_DM TNG50-2-Dark 1,259,712,000 85 76 GB 350 MB 4.5 TB
L35n2160TNG TNG50-1 10,077,696,000 680 2.7 TB 7.2 GB ~320 TB
L35n2160TNG_DM TNG50-1-Dark 10,077,696,000 128 600 GB 2.3 GB 36 TB
L75n455TNG TNG100-3 94,196,375 8 27 GB 110 MB 1.5 TB
L75n455TNG_DM TNG100-3-Dark 94,196,375 4 5.7 GB 40 MB 0.4 TB
L75n910TNG TNG100-2 753,571,000 56 215 GB 650 MB 14 TB
L75n910TNG_DM TNG100-2-Dark 753,571,000 8 45 GB 260 MB 2.8 TB
L75n1820TNG TNG100-1 6,028,568,000 448 1.7 TB 4.3 GB 128 TB
L75n1820TNG_DM TNG100-1-Dark 6,028,568,000 64 360 GB 1.7 GB 22 TB
L205n625TNG TNG300-3 244,140,625 16 63 GB 340 MB 4 TB
L205n625TNG_DM TNG300-3-Dark 244,140,625 4 15 GB 130 MB 1 TB
L205n1250TNG TNG300-2 1,953,125,000 100 512 GB 2.2 GB 31 TB
L205n1250TNG_DM TNG300-2-Dark 1,953,125,000 25 117 GB 810 MB 7.2 TB
L205n2500TNG TNG300-1 15,625,000,000 600 4.1 TB 14 GB 235 TB
L205n2500TNG_DM TNG300-1-Dark 15,625,000,000 75 930 GB 5.2 GB 57 TB

Note that the snapshot data is not organized according to spatial position. Rather, particles within the snapshot files are sorted according to their group/subgroup memberships, according to the FoF or Subfind algorithms. Within each particle type, the sort order is: GroupNumber, SubgroupNumber, BindingEnergy, where particles belonging to the group but not to any of its subgroups ("fuzz") are included after the last subgroup. The following figure provides a schematic view of the particle organization within a snapshot, for one particle type. Note that the truncation of a snapshot in chunks is arbitrary, thus halos may happen to be stored across multiple, subsequent chunks. Similarly, the different particle types of a halo can be stored in different sets of chunks.

Caption. Schematic diagram of the organization of particle/cell data within the snapshots for a single particle type. Within a type, particle order is determined by a global sort of the following fields in this order: FoF group number, Subfind subhalo number, binding energy, nearest FoF group number. This implies that FOF halos are contiguous, although they can span file chunks. Subfind subhalos are only contiguous within a single group, being separated between groups by an "inner fuzz" of all FOF particles not bound to any subhalo. Here $N_c$ indicates the number of file chunks, $n_F$ the number of FOF groups, and $N_{S,j}$ the number of subhalos in $j^{\rm th}$ FoF group.

Contents

Every HDF5 snapshot contains several groups: "Header", "Parameters", "Configuration", and five "PartTypeX" groups, for the following particle types (the DM only runs have a single PartType1 group):

  • PartType0 - GAS
  • PartType1 - DM
  • PartType2 - (unused)
  • PartType3 - TRACERS
  • PartType4 - STARS & WIND PARTICLES
  • PartType5 - BLACK HOLES

The most important fields of the Header group are given in the following table.

Header
Field Dimensions Units Description
BoxSize 1 $ ckpc/h $ Spatial extent of the periodic box (in comoving units).
MassTable 6 $ 10^{10} M_\odot/h $ Masses of particle types which have a constant mass (only DM).
NumPart_ThisFile 6 - Number of particles (of each type) included in this (sub-)file.
NumPart_Total 6 - Total number of particles (of each type) across all (sub-)files of this snapshot, modulo $ 2^{32} $.
NumPart_Total_HighWord 6 - Total number of particles (of each type) across all (sub-)files of this snapshot, divided by $ 2^{32} $ and rounded downwards.
Omega0 1 - The cosmological density parameter for matter.
OmegaLambda 1 - The cosmological density parameter for the cosmological constant.
Redshift 1 - The redshift corresponding to the current snapshot.
Time 1 - The scale factor a (=1/(1+z)) corresponding to the current snapshot.
NumFilesPerSnapshot 1 - Number of file chunks per snapshot.

The Parameters and Configuration provide the complete set of parameter file options and run-time configuration options used to run TNG. That is, they encode the fiducial "TNG Galaxy Formation Model". Many will clearly map to Table 1 of Pillepich et al. (2018a), while others deal with more numerical/technical options. In the future, together with the release of the TNG initial conditions and the TNG code base of AREPO, this will enable any of the TNG simulations to be reproduced.

The complete snapshot field listings of the PartTypeX groups, including dimensions, units and descriptions, are given for all the particles types in the following large table. Rows in blue are new or different in some way with respect to original Illustris, while those in green are unchanged.

PartType0 (gas)
Field Full Snaps Mini Snaps Subbox Snaps Dims Units Description
CenterOfMass - N,3 $ ckpc/h $ Spatial position of the center of mass, which in general differs from the geometrical center of the Voronoi cell (the offset should be small). Comoving coordinate.
Coordinates N,3 $ ckpc/h $ Spatial position within the periodic box of size 75000 ckpc/h. Comoving coordinate.
Density N $ (10^{10} M_\odot/h) / (ckpc/h)^3 $ Comoving mass density of cell (calculated as mass/volume).
ElectronAbundance N - Fractional electron number density with respect to the total hydrogen number density, so $n_e = \rm{ElectronAbundance} * n_H$ where $n_H = X_H * \rho / m_p$. Use with caution for star-forming gas (see comment below for NeutralHydrogenAbundance).
EnergyDissipation - N,3 $ (1/a) 10^{10} M_{\odot}/\rm{ckpc} (\rm{km/s})^3 $ Shock finder output: the dissipated energy rate (amount of kinetic energy irreversibly transformed into thermal energy). Note units correspond to (Energy/Time). Multiply by $1/a$ to obtain physical units.
GFM_AGNRadiation - N $ erg / s / cm^{2} $ Bolometric intensity (physical units) at the position of this cell arising from the radiation fields of nearby AGN.
GFM_CoolingRate - N $ erg\,\,cm^{3} / s $ The instantaneous net cooling rate experienced by this gas cell, in cgs units (e.g. $ \Lambda_{\rm net} / n_H^2 $).
GFM_Metallicity N - The ratio $ M_Z / M_{total} $ where $ M_Z $ is the total mass all metal elements (above He). Is NOT in solar units. To convert to solar metallicity, divide by 0.0127 (the primordial solar metallicity).
GFM_Metals - N,10 - Individual abundances of nine species: H, He, C, N, O, Ne, Mg, Si, Fe (in this order). Each is the dimensionless ratio of mass in that species to the total gas cell mass. The tenth entry contains the 'total' of all other (i.e. untracked) metals.
GFM_MetalsTagged - N,6 - Six additional metal-origin tracking fields in this order: SNIa (0), SNII (1), AGB (2), NSNS (3), FeSNIa (4), FeSNII (5). Each keeps track of heavy elements arising from particular processes. Full description below.
GFM_WindDMVelDisp - N $ km/s $ Equal to SubfindVelDisp (redundant).
GFM_WindHostHaloMass - N $ 10^{10} M_{\odot}/h $ Mass of the parent FoF halo of this gas cell (redundant).
InternalEnergy N $ (km/s)^2 $ Internal (thermal) energy per unit mass for this gas cell. See FAQ for conversion to gas temperature. This field holds the corrected values, and is generally recommended for all uses, see the data release background for details.
InternalEnergyOld - (^) N $ (km/s)^2 $ Old internal (thermal) energy per unit mass for this gas cell. See FAQ for conversion to gas temperature. This field holds the original values, and is not recommended for use, see the data release background for details. (^) Note that subboxes do not have corrected values, so the InternalEnergy field for subboxes contains the uncorrected values, and no InternalEnergyOld exists.
Machnumber - N - Shock finder output: The Mach number (ratio of fluid velocity to sound speed) of the gas cell, zero if no shock is present.
MagneticField - N,3 $ (h/a^2) (\rm{UnitPressure})^{1/2} $ The (comoving) magnetic field 3-vector (x,y,z) of this gas cell. Multiply by $h/a^2$ to obtain physical code units, then by $ \rm{UnitPressure}^{1/2} = (\rm{UnitMass} / \rm{UnitLength})^{1/2} / \rm{UnitTime}$ $= (10^{10} M_{\odot} / \rm{kpc})^{1/2} * (\rm{km/s}) / \rm{kpc} = 2.60 \times 10^{-6}$ to obtain CGS units (Gauss).
MagneticFieldDivergence - N $ (h^3/a^2) (10^{10} M_{\odot})^{1/2} \rm(km/s) (\rm{ckpc})^{-5/2} $ The divergence of the magnetic field in this cell. Units are (area)*MagneticFieldUnits/(volume).
Masses N $ 10^{10} M_\odot/h $ Gas mass in this cell. Refinement/derefinement attempts to keep this value within a factor of two of the targetGasMass for every cell.
NeutralHydrogenAbundance - N - Fraction of the hydrogen cell mass (or density) in neutral hydrogen, so $ n_{H_0} = \rm{NeutralHydrogenAbundance} * n_H $. (So note that $n_{H^+} = n_H - n_{H_0}$). Use with caution for star-forming gas, as the calculation is based on the 'effective' temperature of the equation of state, which is not a physical temperature.
ParticleIDs N - The unique ID (uint64) of this gas cell. Constant for the duration of the simulation. May cease to exist (as gas) in a future snapshot due to conversion into a star/wind particle, accretion into a BH, or a derefinement event.
Potential - N $ (km/s)^2 / a $ Gravitational potential energy.
StarFormationRate N $ M_\odot / yr $ Instantaneous star formation rate of this gas cell.
SubfindDMDensity - - N $ (10^{10} M_\odot/h) / (ckpc/h)^3 $ The local total comoving mass density, estimated using the standard cubic-spline SPH kernel over all DM particles within a radius of SubfindHsml.
SubfindDensity - - N $ (10^{10} M_\odot/h) / (ckpc/h)^3 $ The local total comoving mass density, estimated using the standard cubic-spline SPH kernel over all particles/cells within a radius of SubfindHsml.
SubfindHsml - - N $ ckpc/h $ The comoving radius of the sphere centered on this cell enclosing the 64±1 nearest dark matter particles.
SubfindVelDisp - - N $ km/s $ The 3D velocity dispersion of all dark matter particles within a radius of SubfindHsml of this cell.
Velocities N,3 $ km\sqrt{a}/s $ Spatial velocity. Multiply this value by $ \sqrt{a} $ to obtain peculiar velocity.
PartType1 (dm)
Field Full Snaps Mini Snaps Subbox Snaps Dims Units Description
Coordinates N,3 $ ckpc/h $ Spatial position within the periodic box of size 75000 ckpc/h. Comoving coordinate.
ParticleIDs N - The unique ID (uint64) of this DM particle. Constant for the duration of the simulation.
Potential - N $ (km/s)^2 / a $ Gravitational potential energy.
SubfindDMDensity - - N $ (10^{10} M_\odot/h) / (ckpc/h)^3 $ The local total comoving mass density, estimated using the standard cubic-spline SPH kernel over all DM particles within a radius of SubfindHsml.
SubfindDensity - - N $ (10^{10} M_\odot/h) / (ckpc/h)^3 $ The local total comoving mass density, estimated using the standard cubic-spline SPH kernel over all particles/cells within a radius of SubfindHsml.
SubfindHsml - - N $ ckpc/h $ The comoving radius of the sphere centered on this particle enclosing the 64±1 nearest dark matter particles.
SubfindVelDisp - - N $ km/s $ The 3D velocity dispersion of all dark matter particles within a radius of SubfindHsml of this particle.
Velocities N,3 $ km\sqrt{a}/s $ Spatial velocity. Multiply this value by $ \sqrt{a} $ to obtain peculiar velocity.
PartType3 (tracers)
Field Full Snaps Mini Snaps Subbox Snaps Dims Units Description
FluidQuantities (*) - (*) N - Of the various quantities recorded for tracers in Illustris, we now have kept only one, similar to "Last_Star_Time". Therefore, this dataset is now a single number for each tracer, and contains information on the previous presence of the tracer inside a particle of type 4 (either a real star, or wind, particle). If the tracer has never been in a particle of type 4, the value is 0. (i) For tracers that are currently in gas cells or black holes, the range of possible values is [-All.TimeMax, All.TimeMax], as follows: if the tracer was last seen in a 'real' star particle, the value is simply the time it came back to the gas phase, i.e. the possible range of values is [0, All.TimeMax]. If the tracer was last seen in a wind particle, the value is the time it came back to the gas phase, multiplied by (-1), i.e. the possible range of values is [-All.TimeMax, 0]. (ii) For tracers that are currently in a 'real' star particle, the value is fixed at 2*All.TimeMax. (iii) For tracers that are currently in a wind particle, the value equals whatever value they had before joining the wind plus 3*All.TimeMax, i.e. the possible range of values is [2*All.TimeMax, 4*All.TimeMax]. Note (*): field only exists for TNG100, removed in TNG300 and TNG50.
ParentID (**) N - The unique ID (uint64) of the parent of this tracer. Could be a gas cell, star, wind phase cell, or BH. Note (**): TNG100 tracers saved only in the (20) full snapshots! They are saved in all 100 snapshots for TNG300 and TNG50.
TracerID (**) N - The unique ID (uint64) of this tracer. Constant for the duration of the simulation. Note (**): TNG100 tracers saved only in the (20) full snapshots! They are saved in all 100 snapshots for TNG300 and TNG50.
PartType4 (stars / wind particles)
Field Full Snaps Mini Snaps Subbox Snaps Dims Units Description
BirthPos - N,3 $ ckpc/h $ Spatial position within the periodic box where this star particle initially formed. Comoving coordinate.
BirthVel - N,3 $ km \sqrt{a}/s $ Spatial velocity of the parent star-forming gas cell at the time of formation. The peculiar velocity is obtained by multiplying this value by $a^{1/2}$.
Coordinates N,3 $ ckpc/h $ Spatial position within the periodic box of size 75000 ckpc/h. Comoving coordinate.
GFM_InitialMass N $ 10^{10} M_\odot/h $ Mass of this star particle when it was formed (will subsequently decrease due to stellar evolution).
GFM_Metallicity N - See entry under PartType0. Inherited from the gas cell spawning/converted into this star, at the time of birth.
GFM_Metals - N,10 - See entry under PartType0. Inherited from the gas cell spawning/converted into this star, at the time of birth.
GFM_MetalsTagged - N,6 - See entry under PartType0. This field is identical for star particles, and note that it is simply inherited at the time of formation from the gas cell from which the star was born. It does not then evolve or change in any way (i.e. no self-enrichment), so these values describe the 'inherited' wind/SN/NSNS material from the gas.
GFM_StellarFormationTime N - The exact time (given as the scalefactor) when this star was formed. Note: The only differentiation between a real star (>0) and a wind phase gas cell (<=0) is the sign of this quantity.
GFM_StellarPhotometrics - N,8 $ \rm{mag} $ Stellar magnitudes in eight bands: U, B, V, K, g, r, i, z. In detail, these are: Buser's X filter, where X=U,B3,V (Vega magnitudes), then IR K filter + Palomar 200 IR detectors + atmosphere.57 (Vega), then SDSS Camera X Response Function, airmass = 1.3 (June 2001), where X=g,r,i,z (AB magnitudes). They can be found in the filters.log file in the BC03 package. The details on the four SDSS filters can be found in Stoughton et al. 2002, section 3.2.1.
Masses N $ 10^{10} M_\odot/h $ Mass of this star or wind phase cell.
ParticleIDs N - The unique ID (uint64) of this star/wind cell. Constant for the duration of the simulation.
Potential - N $ (km/s)^2 / a $ Gravitational potential energy.
StellarHsml - N $ \rm{ckpc/h} $ The comoving radius of the sphere centered on this particle enclosing the 32±1 nearest particles of this same type. Useful for visualization.
SubfindDMDensity - - N $ (10^{10} M_\odot/h) / (ckpc/h)^3 $ The local total comoving mass density, estimated using the standard cubic-spline SPH kernel over all DM particles within a radius of SubfindHsml.
SubfindDensity - - N $ (10^{10} M_\odot/h) / (ckpc/h)^3 $ The local total comoving mass density, estimated using the standard cubic-spline SPH kernel over all particles/cells within a radius of SubfindHsml.
SubfindHsml - - N $ ckpc/h $ The comoving radius of the sphere centered on this star particle enclosing the 64±1 nearest dark matter particles.
SubfindVelDisp - - N $ km/s $ The 3D velocity dispersion of all dark matter particles within a radius of SubfindHsml of this particle.
Velocities N,3 $ km\sqrt{a}/s $ Spatial velocity. Multiply this value by $ \sqrt{a} $ to obtain peculiar velocity.
PartType5 (black holes)
Field Full Snaps Mini Snaps Subbox Snaps Dims Units Description
BH_BPressure N $ (h^4/a^4) 10^{10} M_{\odot} (\rm{km/s})^2/\rm{ckpc}^3 $ The mean magnetic pressure of gas cells within a radius of BH_Hsml, kernel and volume weighted (kernel weight clipped at a maximum of wt=2.5). Units are those of MagneticField$^{2}$. Note: is still in Heavyside-Lorentz, not Gauss, so multiply by $4\pi$ to be unit consistent with MagneticField.
BH_CumEgyInjection_QM N $ 10^{10} M_\odot/h (ckpc/h)^2 / (0.978Gyr/h)^2$ Cumulative amount of thermal AGN feedback energy injected into surrounding gas in the high accretion-state (quasar) mode, total over the entire lifetime of this blackhole. Field summed during BH-BH merger.
BH_CumEgyInjection_RM N $ 10^{10} M_\odot/h (ckpc/h)^2 / (0.978Gyr/h)^2$ Cumulative amount of kinetic AGN feedback energy injected into surrounding gas in the low accretion-state (wind) mode, total over the entire lifetime of this blackhole. Field summed during BH-BH merger.
BH_CumMassGrowth_QM N $ (10^{10} M_\odot/h) $ Cumulative mass accreted onto the BH in the high accretion-state (quasar) mode, total over the entire lifetime of this blackhole. Field summed during BH-BH merger.
BH_CumMassGrowth_RM N $ (10^{10} M_\odot/h) $ Cumulative mass accreted onto the BH in the low accretion-state (kinetic wind) mode, total over the entire lifetime of this blackhole. Field summed during BH-BH merger.
BH_Density N $ (10^{10} M_\odot/h) / (ckpc/h)^3 $ Local comoving gas density averaged over the nearest neighbors of the BH.
BH_HostHaloMass N $ 10^{10} M_\odot/h $ Mass of the parent FoF halo of this blackhole.
BH_Hsml N $ ckpc/h $ The comoving radius of the sphere enclosing the 64,128,256 (for TNG100-3, -2, and -1 resolutions) ±4 nearest-neighbor gas cells around the BH.
BH_Mass N $ 10^{10} M_\odot/h $ Actual mass of the BH; does not include gas reservoir. Monotonically increases with time according to the accretion prescription, starting from the seed mass.
BH_Mdot N $(10^{10} M_\odot/h) / (0.978Gyr/h)$ The mass accretion rate onto the black hole, instantaneous.
BH_MdotBondi N $(10^{10} M_\odot/h) / (0.978Gyr/h)$ Current estimate of the Bondi accretion rate for this BH. Calculated as $\dot {M}_{\rm bondi}=(\alpha 4\pi G^{2}M_{BH}^{2}\rho )/(c_{s}^{2}+v_{BH}^{2})^{3/2}$ with $\alpha =1$ and $v_{BH}=0$ for TNG.
BH_MdotEddington N $(10^{10} M_\odot/h) / (0.978Gyr/h)$ Current estimate of the Eddington accretion rate for this BH. Calculated as $\dot {M}_{\rm edd}=(4\pi GM_{BH}m_{p})/(\epsilon _{r}\sigma _{T}c)$ where $\epsilon_{r}=0.2$ is the radiative efficieny parameter.
BH_Pressure N $ (10^{10} M_\odot/h) / (ckpc/h) / (0.978Gyr/h)^2 $ Physical gas pressure (in comoving units) near the BH, defined as $ (\gamma-1) \rho u $, where $ \rho $ is the local comoving gas density (BH_Density, as above) $u$ is BH_U (defined below). If this pressure is lower than the reference gas pressure, $ P_{ref} $, the BH accretion rate is lowered by $ (P_{ext}/P_{ref})^2 $.
BH_Progs N - Total number of BHs that have merged into this BH.
BH_U N $ (km/s)^2 $ Thermal energy per unit mass in quasar-heated bubbles near the BH. Used to define the BH_Pressure. Not to be confused with the "radio mode" bubbles injected via the unified feedback model.
Coordinates N,3 $ ckpc/h $ Spatial position within the periodic box of size 75000 ckpc/h. Comoving coordinate.
Masses N $ 10^{10} M_\odot/h $ Total mass of the black hole particle. Includes the gas reservoir from which accretion is tracked onto the actual BH mass (see BH_Mass).
ParticleIDs N - The unique ID (uint64) of this black hole. Constant for the duration of the simulation. May cease to exist in a future snapshot due to a BH merger.
Potential N $ (km/s)^2 / a $ Gravitational potential at the location of the BH.
SubfindDMDensity - - N $ (10^{10} M_\odot/h) / (ckpc/h)^3 $ The local total comoving DM mass density, estimated using the standard cubic-spline SPH kernel over all DM particles within a radius of SubfindHsml.
SubfindDensity - - N $ (10^{10} M_\odot/h) / (ckpc/h)^3 $ The local total comoving mass density, estimated using the standard cubic-spline SPH kernel over all particles/cells within a radius of SubfindHsml.
SubfindHsml - - N $ ckpc/h $ The comoving radius of the sphere centered on this blackhole particle enclosing the 64±1 nearest dark matter particles.
SubfindVelDisp - - N $ km/s $ The 3D velocity dispersion of all dark matter particles within a radius of SubfindHsml of this particle.
Velocities N,3 $ km\sqrt{a}/s $ Spatial velocity. Multiply this value by $ \sqrt{a} $ to obtain peculiar velocity.

The general unit system is ${\rm kpc}/h$ for lengths, $10^{10} {\rm M}_\odot/h$ for masses, ${\rm km/s}$ for velocities. The frequently occurring $(10^{10} {\rm M}_\odot/h) / (0.978 {\rm Gyr}/h)$ represents mass-over-time in this unit system, and multiplying by 10.22 converts to ${\rm M}_\odot/{\rm yr}$. Comoving quantities can be converted in the corresponding physical ones by multiplying for the appropriate power of the scale factor $a$. For instance, to convert a length in physical units it is sufficient to multiply it by $a$, volumes need a factor $a^3$, densities $a^{-3}$ and so on. Note that at redshift $z=0$ the scale factor is $a=1$, so that the numerical values of comoving quantities are the same as their physical counterparts.

Tagged Metals

(*) The units of all the entries of GFM_MetalsTagged, except for NSNS, are the same as GFM_Metals: dimensionless mass ratios. If you sum up all the elements of GFM_Metals heavier than Helium, you recover the sum of the three tags SNIa+SNII+AGB. Likewise, the Fe entry of GFM_Metals roughly equals the sum of FeSNIa+FeSNII, modulo the small amount of iron consumed (i.e. negative contribution) by AGB winds. The particular fields are:

  • SNIa (0): The total metals ejected by Type Ia supernovae.
  • SNII (1): The total metals ejected by Type II supernovae.
  • AGB (2): the total metals ejected by stellar winds, which is dominated by AGB stars.
  • NSNS (3): the total mass ejected from NS-NS merger events, which are modeled stochastically (i.e. no fractional events) with a DTD scheme similar to that used for SNIa, except with a different $\tau$ value. Note that the units of NSNS are arbitrary. To obtain physical values in units of solar masses, this field must be multiplied by (MyPreferred_NSNS_MassPerEvent/NSNS_MassPerEvent), where MyPreferred_NSNS_MassPerEvent is the amount of mass ejected per NS-NS merger preferred for analysis (e.g. Shen+ 2015 uses here a value of $0.05 M_{\odot}$), and NSNS_MassPerEvent is the value we have set for the simulation, which varies by run. In particular, it is 0.05 for TNG100* and 5000.0 for TNG300* and TNG50*.
  • FeSNIa (4): The total iron ejected by Type Ia supernovae alone.
  • FeSNII (5): The total iron ejected by Type II supernovae alone.

Subboxes

Separate "subbox" cutouts exist for each baryonic run. These are spatial cutouts of fixed comoving size and fixed comoving coordinates, and the primary benefit is that their time resolution is significantly better than that of the main snapshots. This may be useful for some types of analysis or particular science questions, or for making movies. There are two subboxes for TNG100 (corresponding to the original Illustris subboxes #0 and #2, the latter increased in size), and three subboxes for TNG50 and TNG300. Two notes of caution: first, the time spacing of the subboxes is not uniform in scale factor or redshift, but scales with the time integration hierarchy of the simulation, and is thus variable, with some discrete factor of two jumps at several points during the simulations. Second, the subboxes, unlike the full box, are not periodic.

Run Number of
Subbox Snapshots
Chunks
per Snap
Time Resolution
(at z=6)
(at z=2) (at z=0)
TNG100-324317 ~4 Myr ~7 Myr ~19 Myr
TNG100-243807 ~2 Myr ~4 Myr ~10 Myr
TNG100-1790828 ~1 Myr ~1.5 Myr ~2.5 Myr
TNG300-320506 ~6 Myr ~11 Myr ~8 Myr
TNG300-2304512 ~3 Myr ~6 Myr ~4 Myr
TNG300-1244948 ~1.5 Myr ~4 Myr ~6 Myr
TNG50-4233311 ~7 Myr ~6 Myr ~8 Myr
TNG50-3400611 ~2 Myr ~3 Myr ~4 Myr
TNG50-2189534 ~3 Myr ~6 Myr ~8 Myr
TNG50-1~360068 ~3 Myr ~2 Myr ~2 Myr

The subboxes sample different areas of the large boxes, roughly described by the environment column in the following table. The particle fields are all identical to the main snapshots. However, the ordering differs. In particular, particles/cells in the subboxes are not ordered according to their group membership, as no group catalogs are available for these cutouts.

Subbox # Environment $\Omega_m^{sub}$ XYZ Center BoxSize Volume Fraction
TNG100 Subbox-0 Crowded, including a $5 \times 10^{13} {\rm M}_\odot$ halo ~1.5 (9000, 17000, 63000) 7.5 ${\rm cMpc}/h$ 0.1%
TNG100 Subbox-1 Less crowded, including several $\gt 10^{12} {\rm M}_\odot$ halos ~0.3 (37000, 43500, 67500) 7.5 ${\rm cMpc}/h$ 0.1%
TNG300 Subbox-0 Most massive cluster (~$2 \times 10^{15} M_{\odot}$), merging at z=0 - (44, 49, 148) * 1000 15 ${\rm cMpc}/h$ 0.04%
TNG300 Subbox-1 Crowded, above average # of halos above $10^{13} M_{\odot}$ at z=1 (many groups) - (20, 175, 15) * 1000 15 ${\rm cMpc}/h$ 0.04%
TNG300 Subbox-2 Semi-underdense, one local group analog at z=0 - (169, 97.9, 138) * 1000 10 ${\rm cMpc}/h$ 0.01%
TNG50 Subbox-0 Somewhat-crowded (~6 MWs) ~1 (26000, 10000, 26500) 4.0 ${\rm cMpc}/h$ 0.15%
TNG50 Subbox-1 Low-density (many isolated dwarfs, no halos above $5 \times 10^{10}$ M$_{\odot}$ <1 (12500, 10000, 22500) 4.0 ${\rm cMpc}/h$ 0.15%
TNG50 Subbox-2 Most massive cluster ($2 \times 10^{14}$ M$_{\odot}$ at z=0) >1 (7300, 24500, 21500) 5.0 ${\rm cMpc}/h$ 0.3%

2. Group Catalogs

There is one group catalog associated with each snapshot, which includes both FoF and Subfind objects. The group files are split into a small number of sub-files, just as with the raw snapshots. In TNG, these files are called "fof_subhalo_tab_*", whereas in original Illustris they were called "groups_*" (they are otherwise essentially identical). Every HDF5 group catalog contains the following groups: Header, Group, Subhalo. The IDs of the member particles of each group/subgroup are not stored in the group catalog files. Rather, particles/cells in the snapshot files are ordered according to group membership.

In order to reduce confusion, we adopt the following terminology when referring to different types of objects:

  • "Group", "FoF Group", and "FoF Halo" all refer to halos.
  • "Subgroup", "Subhalo", and "Subfind Group" all refer to subhalos.
  • The first (most massive) subgroup of each halo is the "Primary Subgroup" or "Central Subgroup".
  • All other following subgroups within the same halo are "Secondary Subgroups", or "Satellite Subgroups".

FoF Halos

The Group fields are derived with a standard friends-of-friends (FoF) algorithm with linking length $b=0.2$. The FoF algorithm is run on the dark matter particles, and the other types (gas, stars, BHs) are attached to the same groups as their nearest DM particle. The fields for the FoF halo catalog are described in the following table (all fields are float32 unless otherwise specified):

Field DataType Dimensions Units Description
GroupBHMass float32 N $ 10^{10} M_\odot / h $ Sum of the BH_Mass field of all blackholes (type 5) in this group.
GroupBHMdot float32 N $(10^{10} M_\odot/h) / (0.978Gyr/h)$ Sum of the BH_Mdot field of all blackholes (type 5) in this group.
GroupCM float32 N,3 $ ckpc/h $ Center of mass of the group, computed as the sum of the mass weighted relative coordinates of all particles/cells in the group, of all types. Comoving coordinate. (Available only for the Illustris-3 run)
GroupFirstSub int32 N - Index into the Subhalo table of the first/primary/most massive Subfind group within this FoF group. Note: This value is signed (or should be interpreted as signed)! In this case, a value of -1 indicates that this FoF group has no subhalos.
GroupGasMetalFractions float32 N,10 - Individual abundances: H, He, C, N, O, Ne, Mg, Si, Fe, total (in this order). Each is the dimensionless ratio of the total mass in that species divided by the total gas mass, for all gas cells in the group. The tenth entry contains the 'total' of all other (i.e. untracked) metals.
GroupGasMetallicity float32 N - Mass-weighted average metallicity (Mz/Mtot, where Z = any element above He) of all gas cells in this FOF group.
GroupLen int32 N - Integer counter of the total number of particles/cells of all types in this group.
GroupLenType int32 N,6 - Integer counter of the total number of particles/cells, split into the six different types, in this group. Note: Wind phase cells are counted as stars (type 4) for GroupLenType.
GroupMass float32 N $ 10^{10} M_\odot / h $ Sum of the individual masses of every particle/cell, of all types, in this group.
GroupMassType float32 N,6 $ 10^{10} M_\odot / h $ Sum of the individual masses of every particle/cell, split into the six different types, in this group. Note: Wind phase cells are counted as gas (type 0) for GroupMassType.
GroupNsubs int32 N - Count of the total number of Subfind groups within this FoF group.
GroupPos float32 N,3 $ ckpc/h $ Spatial position within the periodic box (of the particle with the minimum gravitational potential energy). Comoving coordinate.
GroupSFR float32 N $ M_\odot / yr $ Sum of the individual star formation rates of all gas cells in this group.
GroupStarMetalFractions float32 N,10 - Individual abundances: H, He, C, N, O, Ne, Mg, Si, Fe, total (in this order). Each is the dimensionless ratio of the total mass in that species divided by the total stellar mass, for all stars in the group. The tenth entry contains the 'total' of all other (i.e. untracked) metals.
GroupStarMetallicity float32 N - Mass-weighted average metallicity (Mz/Mtot, where Z = any element above He) of all star particles in this FOF group.
GroupVel float32 N,3 $ km/s/a $ Velocity of the group, computed as the sum of the mass weighted velocities of all particles/cells in this group, of all types. The peculiar velocity is obtained by multiplying this value by $1/a.$
GroupWindMass float32 N $ 10^{10} M_\odot / h $ Sum of the individual masses of all wind phase gas cells (type 4, BirthTime <= 0) in this group.
Group_M_Crit200 float32 N $ 10^{10} M_\odot / h $ Total Mass of this group enclosed in a sphere whose mean density is 200 times the critical density of the Universe, at the time the halo is considered.
Group_M_Crit500 float32 N $ 10^{10} M_\odot / h $ Total Mass of this group enclosed in a sphere whose mean density is 500 times the critical density of the Universe, at the time the halo is considered.
Group_M_Mean200 float32 N $ 10^{10} M_\odot / h $ Total Mass of this group enclosed in a sphere whose mean density is 200 times the mean density of the Universe, at the time the halo is considered.
Group_M_TopHat200 float32 N $ 10^{10} M_\odot / h $ Total Mass of this group enclosed in a sphere whose mean density is $\Delta_c$ times the critical density' of the Universe, at the time the halo is considered. $\Delta_c$ derives from the solution of the collapse of a spherical top-hat perturbation (fitting formula from Bryan+ 1998). The subscript 200 can be ignored.
Group_R_Crit200 float32 N $ ckpc/h $ Comoving Radius of a sphere centered at the GroupPos of this Group whose mean density is 200 times the critical density of the Universe, at the time the halo is considered.
Group_R_Crit500 float32 N $ ckpc/h $ Comoving Radius of a sphere centered at the GroupPos of this Group whose mean density is 500 times the critical density of the Universe, at the time the halo is considered.
Group_R_Mean200 float32 N $ ckpc/h $ Comoving Radius of a sphere centered at the GroupPos of this Group whose mean density is 200 times the mean density of the Universe, at the time the halo is considered.
Group_R_TopHat200 float32 N $ ckpc/h $ Comoving Radius of a sphere centered at the GroupPos of this Group whose mean density is $\Delta_c$ times the critical density of the Universe, at the time the halo is considered.

Subfind Subhalos

The Subhalo fields are derived with the Subfind algorithm, with modifications to add additional baryonic properties to each subhalo entry. Descriptions of all fields in this subhalo catalog are given in the following table. Note that for all mass calculations by type, wind phase cells are counted as gas.

Field DataType Dimensions Units Description
SubhaloFlag int16 N - Flag field indicating suitability of this subhalo for certain types of analysis. If zero, this subhalo should generally be excluded, and is not thought to be of cosmological origin. That is, it may have formed within an existing halo, or is possibly a baryonic fragment of a disk or other galactic structure identified by Subfind. If one, this subhalo should be considered a 'galaxy' or 'satellite' of cosmological origin. (Note: always true for centrals). See the data release background for details.
SubhaloBHMass float32 N $ 10^{10} M_\odot/h $ Sum of the masses of all blackholes in this subhalo.
SubhaloBHMdot float32 N $(10^{10} M_\odot/h) / (0.978Gyr/h)$ Sum of the instantaneous accretion rates $\dot{M}$ of all blackholes in this subhalo.
SubhaloBfldDisk (*) float32 N $ (h/a^2) (\rm{UnitPressure})^{1/2} $ The square root of the volume weighted value of $B^{2}$ for all gas cells within the canonical two times the stellar half mass radius. This value gives a magnetic field strength which would have the same amount of mean magnetic energy as the galaxy cells. (*) Only available for full snapshots.
SubhaloBfldHalo (*) float32 N $ (h/a^2) (\rm{UnitPressure})^{1/2} $ The square root of the volume weighted value of $B^{2}$ for all gas cells in the subhalo. This value gives a magnetic field strength which would have the same amount of mean magnetic energy as the subhalo cells. (*) Only available for full snapshots.
SubhaloCM float32 N,3 $ ckpc/h $ Comoving center of mass of the Subhalo, computed as the sum of the mass weighted relative coordinates of all particles/cells in the Subhalo, of all types.
SubhaloGasMetalFractions float32 N,10 - Individual abundances: H, He, C, N, O, Ne, Mg, Si, Fe, total (in this order). Each is the dimensionless ratio of the total mass in that species divided by the total gas mass, both restricted to gas cells within twice the stellar half mass radius. The tenth entry contains the 'total' of all other (i.e. untracked) metals.
SubhaloGasMetalFractionsHalfRad float32 N,10 - Same as SubhaloGasMetalFractions, but restricted to cells within the stellar half mass radius.
SubhaloGasMetalFractionsMaxRad float32 N,10 - Same as SubhaloGasMetalFractions, but restricted to cells within the radius of $V_{\rm max}$.
SubhaloGasMetalFractionsSfr float32 N,10 - Same as SubhaloGasMetalFractions, but restricted to cells which are star-forming.
SubhaloGasMetalFractionsSfrWeighted float32 N,10 - Same as SubhaloGasMetalFractionsSfr, but weighted by the cell star-formation rate rather than the cell mass.
SubhaloGasMetallicity float32 N - Mass-weighted average metallicity (Mz/Mtot, where Z = any element above He) of the gas cells bound to this Subhalo, but restricted to cells within twice the stellar half mass radius.
SubhaloGasMetallicityHalfRad float32 N - Same as SubhaloGasMetallicity, but restricted to cells within the stellar half mass radius.
SubhaloGasMetallicityMaxRad float32 N - Same as SubhaloGasMetallicity, but restricted to cells within the radius of $V_{max}$.
SubhaloGasMetallicitySfr float32 N - Mass-weighted average metallicity (Mz/Mtot, where Z = any element above He) of the gas cells bound to this Subhalo, but restricted to cells which are star forming.
SubhaloGasMetallicitySfrWeighted float32 N - Same as SubhaloGasMetallicitySfr, but weighted by the cell star-formation rate rather than the cell mass.
SubhaloGrNr int32 N - Index into the Group table of the FOF host/parent of this Subhalo.
SubhaloHalfmassRad float32 N $ ckpc/h $ Comoving radius containing half of the total mass (SubhaloMass) of this Subhalo.
SubhaloHalfmassRadType float32 N,6 $ ckpc/h $ Comoving radius containing half of the mass of this Subhalo split by Type (SubhaloMassType).
SubhaloIDMostbound int64 N - The ID of the particle with the smallest binding energy (could be any type).
SubhaloLen int32 N - Total number of member particle/cells in this Subhalo, of all types.
SubhaloLenType int32 N,6 - Total number of member particle/cells in this Subhalo, separated by type.
SubhaloMass float32 N $ 10^{10} M_\odot/h $ Total mass of all member particle/cells which are bound to this Subhalo, of all types. Particle/cells bound to subhaloes of this Subhalo are NOT accounted for.
SubhaloMassInHalfRad float32 N $ 10^{10} M_\odot/h $ Sum of masses of all particles/cells within the stellar half mass radius.
SubhaloMassInHalfRadType float32 N,6 $ 10^{10} M_\odot/h $ Sum of masses of all particles/cells (split by type) within the stellar half mass radius.
SubhaloMassInMaxRad float32 N $ 10^{10} M_\odot/h $ Sum of masses of all particles/cells within the radius of $V_{max}$.
SubhaloMassInMaxRadType float32 N,6 $ 10^{10} M_\odot/h $ Sum of masses of all particles/cells (split by type) within the radius of $V_{max}$.
SubhaloMassInRad float32 N $ 10^{10} M_\odot/h $ Sum of masses of all particles/cells within twice the stellar half mass radius.
SubhaloMassInRadType float32 N,6 $ 10^{10} M_\odot/h $ Sum of masses of all particles/cells (split by type) within twice the stellar half mass radius.
SubhaloMassType float32 N,6 $ 10^{10} M_\odot/h $ Total mass of all member particle/cells which are bound to this Subhalo, separated by type. Particle/cells bound to subhaloes of this Subhalo are NOT accounted for. Note: Wind phase cells are counted as gas (type 0) for SubhaloMassType.
SubhaloParent int32 N - Index back into this same Subhalo table of the unique Subfind host/parent of this Subhalo. This index is local to the group (i.e. 2 indicates the third most massive subhalo of the parent halo of this subhalo, not the third most massive of the whole snapshot). The values are often zero for all subhalos of a group, indicating that there is no resolved hierarchical structure in that group, beyond the primary subhalo having as direct children all of the secondary subhalos.
SubhaloPos float32 N,3 $ ckpc/h $ Spatial position within the periodic box (of the particle with the minium gravitational potential energy). Comoving coordinate.
SubhaloSFR float32 N $ M_\odot / yr $ Sum of the individual star formation rates of all gas cells in this subhalo.
SubhaloSFRinHalfRad float32 N $ M_\odot / yr $ Same as SubhaloSFR, but restricted to cells within the stellar half mass radius.
SubhaloSFRinMaxRad float32 N $ M_\odot / yr $ Same as SubhaloSFR, but restricted to cells within the radius of $V_{max}$.
SubhaloSFRinRad float32 N $ M_\odot / yr $ Same as SubhaloSFR, but restricted to cells within twice the stellar half mass radius.
SubhaloSpin float32 N,3 $ (kpc/h) (km/s) $ Total spin per axis, computed for each as the mass weighted sum of the relative coordinate times relative velocity of all member particles/cells.
SubhaloStarMetalFractions float32 N,10 - Individual abundances: H, He, C, N, O, Ne, Mg, Si, Fe, total (in this order). Each is the dimensionless ratio of the total mass in that species divided by the total stellar mass, both restricted to stars within twice the stellar half mass radius. The tenth entry contains the 'total' of all other (i.e. untracked) metals.
SubhaloStarMetalFractionsHalfRad float32 N,10 - Same as SubhaloStarMetalFractions, but restricted to stars within the stellar half mass radius.
SubhaloStarMetalFractionsMaxRad float32 N,10 - Same as SubhaloStarMetalFractions, but restricted to stars within the radius of $V_{\rm max}$.
SubhaloStarMetallicity float32 N - Mass-weighted average metallicity (Mz/Mtot, where Z = any element above He) of the star particles bound to this Subhalo, but restricted to stars within twice the stellar half mass radius.
SubhaloStarMetallicityHalfRad float32 N - Same as SubhaloStarMetallicity, but restricted to stars within the stellar half mass radius.
SubhaloStarMetallicityMaxRad float32 N - Same as SubhaloStarMetallicity, but restricted to stars within the radius of $V_{max}$.
SubhaloStellarPhotometrics float32 N,8 $ \rm{mag} $ Eight bands: U, B, V, K, g, r, i, z. Magnitudes based on the summed-up luminosities of all the stellar particles of the group. For details on the bands, see snapshot table for stars.
SubhaloStellarPhotometricsMassInRad float32 N $ 10^{10} M_\odot/h $ Sum of the mass of the member stellar particles, but restricted to stars within the radius SubhaloStellarPhotometricsRad.
SubhaloStellarPhotometricsRad float32 N $ ckpc/h $ Radius at which the surface brightness profile (computed from all member stellar particles) drops below the limit of 20.7 mag arcsec$^{-2}$ in the K band (in comoving units).
SubhaloVel float32 N,3 $ km/s $ Peculiar velocity of the group, computed as the sum of the mass weighted velocities of all particles/cells in this group, of all types. No unit conversion is needed.
SubhaloVelDisp float32 N $ km/s $ One-dimensional velocity dispersion of all the member particles/cells (the 3D dispersion divided by $\sqrt{3}$).
SubhaloVmax float32 N $ km/s $ Maximum value of the spherically-averaged rotation curve.
SubhaloVmaxRad float32 N $ ckpc/h $ Comoving radius of rotation curve maximum (where $V_{max}$ is achieved).
SubhaloWindMass float32 N $ 10^{10} M_\odot/h $ Sum of masses of all wind-phase cells in this subhalo (with Type==4 and BirthTime<=0).

Note: all quantities restricted to some fraction (0.5, 1.0, or 2.0) of the stellar half mass radius are by definition zero if there are no stars in subhalo.

Header

The following table describes the Header group of each groupcat file:

Field Type Description
Ngroups_ThisFile int Number of groups within this file chunk.
Nsubgroups_ThisFile int Number of subgroups within this file chunk.
Ngroups_Total int Total number of groups for this snapshot.
Nsubgroups_Total int Total number of subgroups for this snapshot.
NumFiles int Total number of file chunks the group catalog is split between.
Time float Scalefactor of the snapshot corresponding to this group catalog.
Redshift float Redshift of the snapshot corresponding to this group catalog.

3. Important Additional Files

Offsets

The "offsets" files are simply helpers which facilitate rapid loading of data. If you want to use the helper scripts for working with the actual data files (snapshots or group catalogs) on your local machine, then it is required that you download the offset file(s) for the snapshot(s) you are interested in working with.

If you only work with the web-based tools and API (e.g. only analyze particle-level data using cutouts), then downloading offset files is not required.

Note that in Illustris, offsets were embedded inside the group catalog files for convenience. In TNG however, we have kept offsets as a separate HDF5 file (one per snapshot), which need to be downloaded as required. Most simply, you can think of offsets as describing where in the group catalog files to find a specific halo/subhalo, and where in the snapshot files to find the start of the particles of a given halo/subhalo.

The following table describes the fields in each offsets file.

Field Dimensions Description
FileOffsets/Snap [$6, N_{\rm c}$] int array The offset table (by type) for the snapshot files, giving the first particle index in each snap file chunk. Determines which files(s) a given offset+length will cover. A two-dimensional array, where the element $(i,j)$ equals the cumulative sum (i.e. offset) of particles of type $i$ in all snapshot file chunks prior to $j$.
FileOffsets/Group [$N_{\rm c}$] int array The offset table for groups in the group catalog files. A one-dimensional array, where the $i^{th}$ element equals the first group number in the $i^{th}$ groupcat file chunk.
FileOffsets/Subhalo [$N_{\rm c}$] int array The offset table for subhalos in the group catalog files. A one-dimensional array, where the $i^{th}$ element equals the first subgroup number in the $i^{th}$ groupcat file chunk.
FileOffsets/SubLink [$N_{\rm c}$] int array The offset table for trees in the SubLink files. A one-dimensional array, where the $i^{th}$ element equals the first tree number in the $i^{th}$ SubLink file chunk.
Group/SnapByType Ngroups_Total,6 The offset table for a given group number (by type), into the snapshot files. That is, the global particle index (across all snap file chunks) of the first particle of this group. A two-dimensional array, where the element $(i,j)$ equals the cumulative sum (i.e. offset) of particles of type $i$ in all groups prior to group number $j$.
Subhalo/SnapByType Nsubgroups_Total,6 The offset table for a given subhalo number (by type), into the snapshot files. That is, the global particle index (across all snap file chunks) of the first particle of this subhalo. A two-dimensional array, where the element $(i,j)$ equals the cumulative sum (i.e. offset) of particles of type $i$ in all subhalos prior to subhalo number $j$.
Subhalo/LHaloTree/File Nsubgroups_Total The LHaloTree file number with the tree which contains this subhalo.
Subhalo/LHaloTree/Num Nsubgroups_Total The number of the tree within the above file within which this subhalo is located (e.g. TreeX).
Subhalo/LHaloTree/Index Nsubgroups_Total The LHaloTree index within the above tree dataset at which this subhalo is located.
Subhalo/Sublink/RowNum Nsubgroups_Total The SubLink global index of the location of this subhalo.
Subhalo/Sublink/SubhaloID Nsubgroups_Total The Sublink ID of this subhalo.
Subhalo/Sublink/LastProgenitorID Nsubgroups_Total The SubLink ID of the last progenitor of this tree (all the subhalos contained in the tree rooted in this subhalo are the ones with IDs between SubhaloID and LastProgenitorID).

The "simulation.hdf5" File

Each run has a single file available called simulation.hdf5 which is purely optional, for convenience, and not required by any of the helper scripts or examples. Its purpose is to encapsulate all data of an entire simulation into a single file. They can be downloaded on each simulation page.

To accomplish this, we make advantage of a new feature of the HDF5 library called "virtual datasets". You can think of a virtual dataset as a collection of symbolic links to one or more datasets in other HDF5 file(s), where these symlinks can refer to subsets of a dataset, in either the source or target of the link. The simulation.hdf5 is thus a large collection of "links", which refer to other files which actually contain data. In order to use it, you must therefore also download the necessary files (e.g. of snapshots, group catalogs, or supplementary data catalogs).

What does it let us do? First of all, no more file chunks! The fact that a snapshot or group catalog is split over multiple files is no longer relevant. Loading becomes very simple:

with h5py.File('simulation.hdf5','r') as f:
    gas_cell_mass = f['/Snapshots/99/PartType0/Masses'][()]
    subhalo_size_stars = f['/Groups/99/Subhalos/SubhaloHalfmassRadType'][:,4]

where gas_cell_mass then contains the masses of every gas cell in the entire z=0 snapshot, while subhalo_size_stars contains the stellar half mass radii of all the subhalos in the z=0 group catalog. The simulation.hdf5 also makes loading the particles of a given halo or subhalo trivial:

halo_id = 400
part_type = 1

with h5py.File('simulation.hdf5','r') as f:
    start = f['/Offsets/99/Group/SnapByType'][halo_id, part_type]
    length = f['/Groups/99/Group/GroupLenType'][halo_id, part_type]

    dm_positions = f['/Snapshots/99/PartType1/Coordinates'][start:start+length,:]

where dm_positions would then contain the dark matter coordinates of every DM particle belonging to halo index 400 of the given simulation.

Finally, supplementary data catalogs (either those we provide, or similar computations you have run yourself) can be virtually inserted at any time as datasets in snapshots or group catalogs. This provides a nice, clean way to organize post-processing computations which result in value-added values for halos, subhalos, or individual particles/cells. You can then load such catalogs with the same scripts (and same syntax) as 'original' snapshot/group catalog fields.

There are two requirements to use a simulation.hdf5 file:

  • Actual data files must be organized exactly as suggested and described in the example scripts tutorial (i.e., an "output" directory containing a "snapdir_099" subdirectory and a "group_099" subdirectory, along with a "postprocessing" directory containing, among others, an "offsets" subdirectory).
  • HDF5 virtual datasets are a new feature, only supported by HDF5 version 1.10.x and later. This is not presently the default version installed on most clusters, which still use 1.8.x. You may have to install a newer version yourself, or request that your system administrator do so. Note! Files created with advanced features of the new HDF5 library series are not backwards compatible. The old 1.8.x series of HDF5 reaches end of life in 2019, so it is a good idea regardless to migrate. In Python, you will also need a fairly new version of h5py (e.g. 2.9.x).

4. Merger Trees

Merger trees have been created for the various Illustris simulations using SubLink (Rodriguez-Gomez+ 2015) and LHaloTree (Springel+ 2005). The LHaloTree are essentially identical to the primary trees of the Millennium and Aquarius simulations, but in HDF5 format. Merger tree formats in TNG are identical to Illustris, with additional fields from the group catalogs also present. In the population average sense the different merger trees give similar results. In more detail, the exact merger history or mass assembly history for any given halo may differ. For any given science goal, one type of tree may be more or less useful, and users are free to use whichever they prefer. These codes are all included in the Sussing Merger Trees comparison project (Srisawat+ 2013).

The following figure shows a schematic of the structure of both the SubLink and LHaloTree merger trees. It is not necessary to understand the complete details of the trees to practically use them. In particular, the only critical links are the 'descendant' (black), 'first progenitor' (green), and 'next progenitor' (red) associations. These are shown for all tree nodes in the diagram. For their exact definitions, see the tables below. Walking back in time following along the main (most massive) progenitor branch consists of following the first progenitor links until they end (value equals -1). Similarly, walking forward in time along the descendants branch consists of following the descendant links until they end (value equals -1), which typically occurs at $z=0$. The full progenitor history, and not just the main branch, requires following both the first and next progenitor links. In this way the user can identify all subhalos at a previous snapshot which have a common descendant. Examples of walking the tree are provided in the example scripts.

Caption. Schematic diagram of the merger tree structure for both SubLink and LHaloTree. Both algorithms connect subhalos across different snapshots in the simulation. Rows indicate discrete snapshots, with time increasing downwards towards redshift zero (the horizontal axis is arbitrary). Green circles represent subhalos (the nodes of the merger tree), while beige boxes indicate the grouping of the subhalos into their parent FoF groups. The most important links are for the descendant (black), first progenitor (green), and next progenitor (red), which are shown for all subhalos. The root descendant (purple), last progenitor (blue), and main leaf progenitor (orange) links exist only for the SubLink trees, and for simplicity these last three link types are shown only for subhalos 5, 7, and 19 (darker striped circles).

The number inside each circle from the figure is the unique ID (within the whole simulation) of the corresponding subhalo, which is assigned in a depth-first fashion. Numbering also indicates the on-disk storage ordering for the SubLink trees, which adopt the approach of Lemson+ (2006). For example, the main progenitor branch (from 5-7 in the example) and the full progenitor tree (from 5-13 in the example) are both contiguous subsets of each merger tree field, whose location and size can be calculated using these links. The ordering within a single tree in the LHaloTree is not guaranteed to follow this scheme.

The 'root descendant' (purple), 'last progenitor' (blue), and 'main leaf progenitor' (orange) links exist only for the SubLink trees. For simplicity, these last three link types are shown only for nodes 5, 7, and 19 (darker striped circles). Using these links is optional, but allows efficient extraction of main progenitor branches, subtrees (i.e., the set containing a subhalo and "all" its progenitors), "forward" descendant branches, and other subsets of the tree. For their full definitions, see the following table.

Each subhalo spans a "subtree" consisting of the subhalo itself and all its progenitors. As an example, the subhalos belonging to the subtree of subhalo 5 are shown in darker green in the figure. Other subhalos not belonging to this subtree are shown in lighter green, and their links are indicated with dashed arrows. In the SubLink trees, the subtree of any subhalo can be extracted easily using the 'last progenitor' pointer. As shown in the figure, since subhalo 13 is the 'last progenitor' of subhalo 5, the subtree of subhalo 5 consists of all subhalos with IDs between 5 and 13. Similarly, the main progenitor branch of any subhalo can be retrieved efficiently using the 'main leaf progenitor' link.

Both SubLink and LHaloTree contain the links 'first subhalo in FoF group' (light brown dotted arrow) and 'next subhalo in FoF group' (dark brown dotted arrow), which connect subhalos that belong to the same FoF group. The FoF groups do not play a direct role in the construction of the merger tree. However, in SubLink, subhalos that belong to the same FoF group are also considered to be part of the same tree. As a result, two otherwise independent trees (based on the progenitor and descendant links) are considered to be the same tree if they are "connected" by a FoF group. This is exemplified in the figure by the FoF group containing subhalos 12, 16, and 20. This FoF group acts as a bridge between the left and right trees.

SubLink

The SubLink algorithm constructs merger trees at the subhalo level. A unique descendant is assigned to each subhalo in three steps (see Rodriguez-Gomez+ 2015). First, descendant candidates are identified for each subhalo as those subhalos in the following snapshot that have common particles with the subhalo in question. Second, each of the descendant candidates is given a score based on a merit function that takes into account the binding energy rank of each particle. Third, the unique descendant of the subhalo in question is the descendant candidate with the highest score. Sometimes the halo finder does not detect a small subhalo that is passing through a larger structure, because the density contrast is not high enough. {\sc SubLink} deals with this issue by allowing some subhalos to skip a snapshot when finding a descendant. Once all descendant connections have been made, the main progenitor of each subhalo is defined as the one with the "most massive history" behind it.

Note that this merger tree comes in two varieties: "dark-matter based" and "baryonic based". The dark-matter based tree is the fiducial choice, and has been publicly released as "SubLink". The baryonic based tree is called "SubLink_gal" and has not been publicly released for simplicity, although it is available upon request. While the two will largely give identical results, depending on scientific application, one might be more useful than the other.

The SubLink merger tree is one large data structure split across several sequential HDF5 files named tree_extended.[fileNum].hdf5, where [fileNum] goes from e.g. 0 to 9 for the Illustris-1 run. These files store the data on a per tree basis, and therefore are completely independent from each other. More specifically, any two subhalos that are connected by any of the pointers described in the SubLink table are guaranteed to belong to the same tree, and, therefore, their data is found in the same file. The following table lists the fields which are present in each file.

Field DataType Dimensions Units Description
SubhaloID int64 (N) - Unique identifier of this subhalo, assigned in a "depth-first" fashion (Lemson & Springel 2006). This value is contiguous within a single tree.
SubhaloIDRaw int64 (N) - Unique identifier of this subhalo in raw format (= SnapNum*10^12 + SubfindID).
LastProgenitorID int64 (N) - The SubhaloID of the last progenitor of the tree rooted at this subhalo. Since the SubhaloIDs are assigned in a "depth-first" fashion, all the subhalos contained in the tree rooted at this subhalo are the ones with SubhaloIDs between (and including) the SubhaloID and LastProgenitorID of this subhalo. For subhalos with no progenitors, LastProgenitorID == SubhaloID.
MainLeafProgenitorID int64 (N) - The SubhaloID of the last progenitor along the main branch, i.e. the earliest progenitor obtained by following the FirstProgenitorID pointer. For subhalos with no progenitors, MainLeafProgenitorID == SubhaloID.
RootDescendantID int64 (N) - The SubhaloID of the latest subhalo that can be reached by following the DescendantID link, i.e. the root of the tree to which this subhalo belongs. For subhalos with no descendants, RootDescendantID == SubhaloID.
TreeID int64 (N) - Unique identifier of the tree to which this subhalo belongs.
SnapNum int16 (N) - The snapshot in which this subhalo is found.
FirstProgenitorID int64 (N) - The SubhaloID of this subhalo's first progenitor. The first progenitor is the one with the "most massive history" behind it (following De Lucia & Blaizot 2007). For subhalos with no progenitors, FirstProgenitorID == -1.
NextProgenitorID int64 (N) - The SubhaloID of the subhalo with the next most massive history which shares the same descendant as this subhalo. If there are no more subhalos sharing the same descendant, NextProgenitorID == -1.
DescendantID int64 (N) - The SubhaloID of this subhalo's descendant. If this subhalo has no descendants, DescendantID == -1.
FirstSubhaloInFOFGroupID int64 (N) - The SubhaloID of the first subhalo (i.e., the one with the most massive history) from the same FOF group.
NextSubhaloInFOFGroupID int64 (N) - The SubhaloID of the next subhalo (ordered by their mass history) from the same FOF group. If there are no more subhalos in the same FOF group, NextSubhaloInFOFGroupID == -1.
NumParticles uint32 (N) - Number of particles in the current subhalo which were used in the merger tree to determine descendants (e.g. DM-only or stars + star-forming gas).
Mass float32 (N) $ 10^{10} M_\odot/h $ Mass of the current subhalo, including only the particles which were used in the merger tree to determine descendants (e.g. DM-only or stars + star-forming gas).
MassHistory float32 (N) $ 10^{10} M_\odot/h $ Sum of the Mass field of all progenitors along the main branch (De Lucia & Blaizot 2007).
SubfindID int32 (N) - Index of this subhalo in the Subfind group catalog.
All original fields from the group catalogs are also available, reordered into the same order as the merger trees for convenience. See the group catalog description for their units, dimensions, and descriptions.
Fields: Group_M_Crit200, Group_M_Mean200, Group_M_TopHat200, SubhaloBHMass, SubhaloBHMdot, SubhaloCM, ...
Note: Group_M_Crit200, Group_M_Mean200, and Group_M_Tophat200 are FOF group quantities, so that all subhalos from the same FOF group will have the same value.

LHaloTree

The LHaloTree algorithm is virtually identical to that used for the Millennium simulation, constructing trees based on subhalos instead of main halos, described fully in the supplementary information of Springel+ (2005). In short, to determine the appropriate descendant, the unique IDs that label each particle are tracked between outputs. For a given halo, the algorithm finds all halos in the subsequent output that contain some of its particles. These are then counted in a weighted fashion, giving higher weight to particles that are more tightly bound in the halo under consideration, and the one with the highest count is selected as the descendant. In this way, preference is given to tracking the fate of the inner parts of a structure, which may survive for a long time upon infall into a bigger halo, even though much of the mass in the outer parts can be quickly stripped. To allow for the possibility that halos may temporarily disappear for one snapshot, the process is repeated for Snapshot n to Snapshot n+2. If either there is a descendant found in Snapshot $n + 2$ but none found in Snapshot n+1, or, if the descendant in Snapshot n+1 has several direct progenitors and the descendant in Snapshot n+2 has only one, then a link is made that skips the intervening snapshot.

The LHaloTree merger tree is one large data structure split across several HDF5 files named trees_sf1_99.[chunkNum].hdf5, where [chunkNum] goes from e.g. 0 to 511 for the Illustris-1 run. Within each file there are a number of groups named TreeX, where X is an integer which simply increases from zero to the number of tree groups in that file chunk. Note that a given TreeX group may contain subhalos spanning different FoF groups as well as snapshots, and to efficiently locate a specific subhalo at a specific snapshot (e.g z=0) the offsets can be used. The pair (SubhaloNumber,SnapNum) provides the indexing into the Subfind group catalog. The five other indices for each entry in a TreeX group (e.g. Descendant) index into that same group in the tree file. The following tables describe the fields. First, the Header group:

Dataset Dimensions Units Description
Redshifts {N_snap} - List of redshifts of the snapshots used to create this merger tree.
TotNsubhalos {N_snap} - Equal to the number of Subfind/Subhalo groups in the group catalog, for each snapshot used to create this merger tree.
TreeNHalos {N_halos} - 'The size of {N} for each "TreeX" group in this file', e.g. the total number of halos (across time) in that group.
FirstSnapshotNr 1 - First snapshot number used to make these merger trees (should be 0).
LastSnapshotNr 1 - Last snapshot number used to make these merger trees (should be 99 for TNG).
SnapSkipFac 1 - Snapshot stride when making these merger trees (should be 1).
NtreesPerFile 1 - 'The size of {N_halos} for this file', can be used to calculate the offset to map a FoF group number to a "TreeX" group name (made to be roughly equal across chunks).
NhalosPerFile 1 - The total number of tree members (subhalos) 'in this file.' Equals the sum of all elements of TreeNHalos.
ParticleMass 1 $ 10^{10} M_\odot / h $ The dark matter particle mass used to make these merger trees.

TreeX Groups:

Dataset Dimensions Description
SubhaloNumber (N) The ID of this subhalo, unique within the full simulation for this snapshot. Indexes the Subfind group catalog at SnapNum.
Descendant (N) The index of the subhalo's descendant within the merger tree, if any (-1 otherwise). Indexes this TreeX group.
FirstProgenitor (N) The index of the subhalo's first progenitor within the merger tree, if any (-1 otherwise). The first progenitor is defined as the most massive one (-1 if none). Indexes this TreeX group.
NextProgenitor (N) The index of the next subhalo from the same snapshot which shares the same descendant, if any (-1 if this is the last). Indexes this TreeX group.
FirstHaloInFOFGroup (N) The index of the main subhalo (i.e. the most massive one) from the same FOF group. Indexes this TreeX group.
NextHaloInFOFGroup (N) The index of the next subhalo from the same FOF group (-1 if this is the last). Indexes this TreeX group.
FileNr (N) File number in which the subhalo is found. (Redundant, i.e. for a given [chunkNum] file, this array will be constant and equal to [chunkNum])
SnapNum (N) The snapshot in which this subhalo was found.
Most all original fields from the group catalogs are also available, reordered into the same order as the merger trees for convenience. See the group catalog description for their units, dimensions, and descriptions.
Fields: Group_M_Crit200, Group_M_Mean200, Group_M_TopHat200, SubhaloBHMass, SubhaloBHMdot, SubhaloCM, ...
Note: Group_M_Crit200, Group_M_Mean200, and Group_M_Tophat200 are FOF group quantities, so that only the first subgroup from each FOF group will have a nonzero value.

5. Supplementary Data Catalogs


(a) Tracer Tracks

Data products from Nelson+ (2019a) coming soon.


(b) Stellar Masses, Star Formation Rates

Data products from Pillepich+ (2018b) coming soon.


(c) Stellar Circularities, Angular Momenta, Axis Ratios

A catalog of circularities, angular momenta and axis ratios of the stellar component, exactly the same format and analysis as previously available for Illustris-1. For complete definitions on the calculation of each value, see the following table and Genel+ (2015), where they were first presented. Citation to that paper is requested if you use these data catalogs.

The first four quantities are calculated after alignment with the angular momentum vector of the stars within 10 times the stellar half-mass radius, and measure the quantities inside that radius. The Circ* fields are based on the distribution of the circularity parameter $\epsilon$. First the system is rotated such that the z-axis is aligned with the angular momentum vector as described above. Then, for every stellar particle with specific angular momentum $J_z$ we calculate $ \epsilon = \frac{ J_z }{ J(E) } $ where $J(E)$ is the maximum angular momentum of the stellar particles at positions between 50 before and 50 after the particle in question in a list where the stellar particles are sorted by their binding energy ($=U_{\rm grav} + v^2$).

Simulation and snapshot coverage:

  • Available for TNG100-1, TNG100-2, and TNG100-3 (all snapshots/redshifts).
  • Restricted to subhalos with stellar mass $M^\star > 3.4 \times 10^8 M_\odot$, measured within the usual twice stellar half mass radius, and at least 100 stars.

Group Name Units Description
/Snapshot_N/SubfindID - The Subfind IDs these values correspond to at this snapshot.
/Snapshot_N/SpecificAngMom $ km/s \times kpc $ The specific angular momentum of the stars.
/Snapshot_N/CircAbove07Frac - The fractional mass of stars with $ \epsilon \gt 0.7 $. This is a common definition of the "disk" stars - those with significant (positive) rotational support.
/Snapshot_N/CircAbove07MinusBelowNeg07Frac - The fractional mass of stars with $ \epsilon \gt 0.7 $ minus the fraction of stars with $ \epsilon \lt -0.7 $. This removes the contribution of the "bulge" to the "disk", assuming the bulge is symmetric around $ \epsilon=0 $.
/Snapshot_N/CircTwiceBelow0Frac - The fractional mass of stars with $ \epsilon \lt 0 $, multiplied by two. This is another common way in the literature to define the "bulge".
/Snapshot_N/MassTensorEigenVals $ kpc $ Three numbers for each galaxy that correspond to the eigenvalues of the mass tensor of the stellar mass inside the stellar $2R_{1/2}$. In a coordinate system that is aligned with the eigenvectors (principal axes), the component $i$ equals $M_i\equiv\sqrt{\sum\limits_j m_jr_{j,i}^2}/\sqrt{\sum\limits_j m_j}$, where $j$ enumerates over stellar particles inside that radius, $r_{j,i}$ is the distance of stellar particle $j$ in the $i$ axis from the most bound particle of the galaxy, and $m_j$ is its mass, and $i\in(1,2,3)$. They are sorted such that $M_1 \lt M_2 \lt M_3$. Example use: $M_1/\sqrt{M_2M_3}$ can represent the flatness of the galaxy.
/Snapshot_N/ReducedMassTensorEigenVals - Similar to the above, except less weight is given to further away particles. The orientation of the system is the same, but the quantity measured for each axis is instead $M_i\equiv\sqrt{\sum\limits_j m_jr_{j,i}^2/R_j^2}/\sqrt{\sum\limits_j m_j}$, where $R_j\equiv\sum\limits_i r_{j,i}^2$ is the distance of star $j$ from the centre of the galaxy.

Note: In addition to the values measured within $10 R_E$, the "SpecificAngMom" and "Circ*" fields are also computed including all stars in the subhalo. These are available as the _allstars datasets.


(d) Subhalo Matching Between Runs

The possibility exists to cross-match subhalos between:

  • matched baryonic and dark matter only runs (e.g. TNG100-1 and TNG100-1-Dark) runs, at the same resolution.
  • two baryonic realizations of the same box at different resolutions (e.g. TNG100-1 and TNG100-2)
  • two simulations of the same box with different physical models (e.g. TNG100-1 and Illustris-1)

We current have available baryonic to dark matter only matching, the first option above. These are data products from: Rodriguez-Gomez+ (2015; for SubLink), and Nelson+ (2015; for LHaloTree). Citation to these papers, as relevant, is requested if you use this data catalog.

Simulation and snapshot coverage:

  • Available for all three TNG100 baryonic runs (all resolutions), and all three TNG300 baryonic runs (all resolutions). All snapshots.

Data format: a single file subhalo_matching_to_dark.hdf5 for each simulation. Each contains one hundred groups named Snapshot_N. Within each group are two arrays, each with the same size, equal to the number of subhalos at the corresponding snapshot. The two arrays provide the results of two different matching algorithms, and should for the most part provide the same answer. Each array gives integer indices, whose value is the corresponding index of the matched subhalo in the DM only run. If no suitable match exists, a value of -1 is present for that subhalo index.

The first array SubhaloIndexDark_LHaloTree is based on the LHaloTree matching algorithm. The matching is bidirectional, i.e. TNG <-> DMO. In each base, the best subhalo candidate is chosen as that with the largest number of matching DM particles ($\alpha=0$). Only if the candidate in each direction agrees (bijective), then these matches are saved.

The second array SubhaloIndexDark_SubLink is based on the SubLink weighting algorithm. The direction of the matching is TNG -> DMO, i.e. for each subhalo in the baryonic physics box a best match is found in the DMO run.

Future: The second two types of matching catalogs (between different resolution levels, and between TNG100 and original Illustris), will be available for selected snapshots in the future, following Lovell+ (2018).


(e) Stellar Projected Sizes

Data products from Genel+ (2018) coming soon.


(f) Blackhole Mergers and Details

This catalog is comprised of two data sets: 'mergers' and 'details'. The mergers file contains a record of each BH-BH merger in the simulation. The details file contain properties of each BH at significantly higher time resolution than the snapshots. In both cases the information is extracted from output files separate from the snapshots, and so represents additional data which is otherwise not available from the snapshots alone. Here we distinguish the two BHs which participate in the merger as 'in' and 'out' BH. The difference, which during the simulation is chosen randomly by the code, is which BH ID number persists along with the remnant after the merger. The 'out' BH survives after the merger, increased in mass by that of the 'in' BH--which no longer exists after the merger event.

There exists one blackhole_mergers.hdf5 and one blackhole_details.hdf5 per baryonic run. All datasets corresponding to physical values are in code units, with masses in units of $10^{10} M_\odot / h$, mass accretion rates in units of $M_\odot / \rm{yr}$, gas densities in units of $(10^{10} M_\odot / h) / (\rm{ckpc} / h)^3$, and gas sound speeds in units of $\rm{km / s}$. They were generated with the illustris_blackholes code. Citation recommmended to Kelley et al. (2016) and Blecha et al. (2016) as appropriate.

Simulation and snapshot coverage:

  • Available for all TNG baryonic runs, as well as all original Illustris baryonic runs.
  • IMPORTANT NOTE: For both the mergers and details files, there are a few small missing data gaps. In TNG100-1, this includes redshift periods [0.96 - 0.98], [1.18 - 1.20], [1.27 - 1.40], [2.06 - 2.48]. This information was lost to data corruption and cannot be recovered, and appropriate care should be taken in analysis of this data.

Blackhole mergers:

Dataset Shape/Datatype Description
/Header/unique_ids (NumBHsTot) uint64 The ID numbers of all unique BH participating in mergers.
/Header/num_mergers (attribute) The total number of mergers stored $(N)$.
/tree/* - Information describing the BH merger tree. If one of the below events does not exist, the value in the array is -1, NOTE: not zero. For example, if next[123] = 345, then merger 345 is the next merger that the BH remnant from merger 123 is involved in. If, prev_in[345] == 123 and prev_out[345] = -1, then the 123 merger remnant is the 'in' BH of merger 345, and the other BH of that merger was never in a previous merger (and so has a prev value of -1).
/tree/next (N) int The index number of the next merger this remnant takes part in.
/tree/prev_in (N) int The index number of the previous merger this 'in' BH was part of.
/tree/prev_out (N) int The index number of the previous merger this 'out' BH was part of.
/details/* - Information from the 'details' catalog for the BHs in each merger. Details entries were searched by trying to match the 'in' BH just before merger, and the 'out' BH both just before, and just after merger. This corresponds to the three 'columns' for each entry 'row': [0: in-before, 1: out-before, 2: out-aft]. Frequently these details were not found, in which case the array values are zero.
/details/time (N,3) float Time (scale-factor) for each entry.
/details/mass (N,3) float Blackhole mass.
/details/mdot (N,3) float Blackhole mass accretion rate. NOTE: This is the expected Bondi accretion rate, before the Eddington limit or local pressure criterion ar e applied, and thus will not in general reflect the true mdot of the BH used during the simulation. Should be used with caution.
/details/rho (N,3) float Local gas density in the vicinity of the blackhole.
/details/cs (N,3) float Local gas sound-speed in the vicinity of the blackhole.
/time (N) float Time (scale-factor) for each merger event.
/id_in (N) uint64 ID number of the 'in' BH.
/id_out (N) uint64 ID number of the 'out' BH.
/mass_in (N) float Mass of the 'in' BH (immediately preceding merger).
/mass_out (N) float Mass of the 'out' BH (immediately preceding merger).
/snapshot (N) int Output snapshot during which, or immediately following, this merger event occured.

Blackhole details:

Dataset Shape/Datatype Description
/Header/num_entries (attribute) The total number of details entries stored $(N)$.
/Header/num_blackholes (attribute) The total number of unique BHs with details entries $(M)$.
/unique/id (M) uint64 ID numbers of each unique BH.
/unique/first_index (M) int The index number (into any of the size N arrays) of the first entry for each unique BH.
/unique/num_entries (M) int The total number of entries (in any of the size N arrays) for each unique BH.
/id (N) uint64 ID number of the BH for each details entry.
/time (N) float Time (cosmological scale-factor) for each entry.
/mass (N) float Blackhole mass.
/mdot (N) float Blackhole mass accretion rate. NOTE: This is the expected Bondi accretion rate, before the Eddington limit or local pressure criterion ar e applied, and thus will not in general reflect the true mdot of the BH used during the simulation. Should be used with caution.
/rho (N) float Local gas density in the vicinity of the blackhole.
/cs (N) float Local gas sound-speed in the vicinity of the blackhole.

(g) Stellar Assembly

Data products related to in-situ vs. ex-situ stellar mass growth from Rodriguez-Gomez et al. (2015), and Rodriguez-Gomez et al. (2016a) coming soon.


(h) Subbox Subhalo List

This catalog describes the time-evolving intersection of the subhalos/merger trees with the subboxes. Allows the selection of objects of interest, which can then be traced at high time resolution using the snapshots of a given subbox. This enables science requiring high time resolution, and also visualizations of galaxy-scale evolution. This data was created in Nelson+ (2019b) and citation to that work is requested if you use this supplementary catalog.

Simulation and snapshot coverage:

  • Available for all subboxes of all TNG baryonic runs.

Each simulation contains one file per subbox named subbox{N}_{snap}.hdf5, corresponding to subbox number {N} and the subhalo selection of all {nSubhalosFullSnap} at snapshot {snap} of the full box. Each contains the following fields:

Field Dimensions dtype Description
SubboxScaleFac {nSubSnaps} float32 The scale factor of each subbox snapshot.
SubboxSnapNum {nFullSnaps} int16 For each full box snapshot, the corresponding subbox snapshot number (at the same time). Unmatched has value -1.
FullBoxSnapNum {nSubSnaps} int16 For each subbox snapshot, the corresponding fullbox snapshot number (at the same time). Unmatched has value -1.
SnapNumMapApprox {nSubSnaps} float32 For each subbox snapshot, the time delta between its scale factor and the matching fullbox snapshot. This is 0.0 for exact matches, but for runs with SubboxSyncModulo > 1, this can be greater than zero.
EverInSubboxFlag {nSubhalosFullSnap} bool For every subhalo in the full box group catalog, flag indicating if its main progenitor branch (MPB) is ever inside the subbox at any point in time.
SubhaloIDs {nSubhalos} int32 List of subhalo IDs/indices from the fullbox snapshot which are inside the subbox at some point in time.
SubhaloPos {nSubhalos,nSubSnaps,3} float32 Interpolated position of each such subhalo at each subbox snapshot (cubic spline within MPB extent, linear extrapolation outside).
SubhaloPosExtrap {nSubhalos,nSubSnaps} int16 Flag which is one if this particular SubhaloPos is an extrapolation beyond the end(s) of the MPB, and zero otherwise.
SubhaloMBID {nSubhalos,nSubSnaps} uint64 The SubhaloIDMostbound replicated to each subbox snapshot, i.e. to allow the possibility for an alternate position definition as Subfind would compute.
SubhaloMinSBSnap {nSubhalos} int32 The minimum subbox snapshot number where this subhalo is inside the subbox (i.e. 0 if it is inside since the beginning of time).
SubhaloMaxSBSnap {nSubhalos} int32 The maximum subbox snapshot number where this subhalo is inside the subbox (i.e. equal to the total number of subbox snapshots if inside at the final time).
minEdgeDistRedshifts {7} float32 A list of redshifts (100.0, 6.0, 4.0, 3.0, 2.0, 1.0, 0.0) corresponding to the following field:
SubhaloMinEdgeDist {nSubhalos, 7} float32 The minimum distance (code units) between the boundaries of the subbox and the (interpolated) position of the subhalo, between z=0 and the given redshift. A positive value indicates inside, so e.g. SubhaloMinEdgeDist[9,5] > 300.0 implies that the 10th subhalo is never closer than 300 ckpc/h from the edges of the subbox between z=0 and z=1. A negative value indicates outside.
Subhalo{Stars,Gas,BH}_Mass {nSubhalos, nRad, nSubSnaps} float32 Measurements of the total enclosed mass (code units) in each of these 3 components, as a function of time, for several different 3D apertures. These are: [30 pkpc, 30 ckpc/h, 50 ckpc/h], so nRad=3.
SubhaloGas_SFR {nSubhalos, nRad, nSubSnaps} float32 The total StarFormationRate of all gas within each aperture (code units), as a function of time.
SubhaloBH_CumEgyInjection_{QM,RM} {nSubhalos, nRad, nSubSnaps} float32 The maximum of the 'BH_CumEgyInjection_{QM,RM}' fields for any BHs within each aperture (code units), as a function of time.
SubhaloBH_Num {nSubhalos, nRad, nSubSnaps} int16 The number of BHs within each aperture, as a function of time.

Note that {nSubhalos} corresponds to the subset of subhalos which are ever inside the subbox. The 'SubLink' merger tree is used for all MPBs.


(i) Molecular and atomic hydrogen (HI+H2) galaxy contents

This catalog contains post-processed modeling of atomic (HI) and molecular (H2) hydrogen, on a per subhalo (i.e. per galaxy) basis. The total mass of each component is available, as well as pre-computed radial profiles. Note that all results sum, by construction, over the gas cells gravitationally bound to each subhalo only. Citation recommmended to Diemer et al. (2018) and Diemer et al. (2019) as appropriate.

Simulation and snapshot coverage:

In many of the datasets, the placeholder {model}_{type} appears. Here, {model} refers to a model for the HI/H2 transition, and can be one of:

Each model was computed on a cell-by-cell basis (the "volumetric" method, {type} = vol) and in 2D projection (the "map" method, {type} = map). For the L08 model, the cell-by-cell method was found to be unphysical and the L08_vol data are not included in the release for that reason.

Due to the fundamentally different nature of the volumetric and projected calculations, the radial profiles are provided in three versions, denoted as {proj} below. Profiles of projected quantities can only be expressed in projected, 2D radii (they carry the suffix {proj} = map in the profile names listed below). The profiles of volumetric quantities are given in two versions, namely as a 3D profile (suffix {proj} = 3d) and projected onto the same plane as the maps from which projected quantities were generated (suffix {proj} = 2d). When integrating the profiles to get total quantities, one should multiply the suffix {proj} = map and suffix {proj} = 2d profiles with the bin area and the suffix {proj} = 3d profiles with the bin volume. When multiplying the profiles with each other (for example, to obtain the total HI or H2 mass profiles), one should always multiply profiles of the same projection type.

The galaxy selection was designed to be complete both in stellar and in gas mass, i.e., a galaxy needs to either exceed the minimum stellar OR the minimum gas mass. For the original Illustris and TNG100, those limits were both set to $2 \times 10^8 M_\odot$. Please note that this is a rather aggressive limit, including galaxies that are resolved by only a few hundred particles. Depending on the application, it may well be wise to make more conservative mass cuts. For TNG300, the stellar mass cut is $5\times 10^{10}M_{\odot }$, the gas mass cut is $5\times 10^{9}M_{\odot }$. The stellar mass cut was chosen to be relatively high to reduce the otherwise very large dataset, and because that stellar mass range is well covered by TNG100.

In the listings below, Ngal denotes the number of subhalos (galaxies) in the file, and Nbin the number of radial bins for the profiles.

Dataset Shape/Dimensions Units Description
id_subhalo Ngal - Subfind ID of the subhalos.
id_group Ngal - FOF IDs of the groups the subhalos belong to.
is_primary Ngal - Whether the galaxies are the primary subalo (central galaxy) of their group or a satellite.
m_neutral_H Ngal $M_\odot$ The total neutral hydrogen mass (including all bound gas cells). Note that the neutral fraction is determined by the simulation (that is, by the Springel & Hernquist 2003 ISM model for cells above the star formation threshold), and does not depend on the HI/H2 model. The HI and H2 masses of volumetric models should sum to the total neutral mass, in the map-based models this is not exactly true due to inaccuracies when summing over maps.
m_hi_{model}_{type} Ngal $M_\odot$ The total HI mass (including all bound gas cells) according to the respective HI/H2 model.
m_h2_{model}_{type} Ngal $M_\odot$ The total H2 mass (including all bound gas cells) according to the respective HI/H2 model.
profile_bins Ngal, Nbin $\rm{kpc}$ The outer edge of the radial profile bins for each galaxy. The inner edge of the innermost bin is zero. All profiles are based on the same binning scheme.
profile_bins_area Ngal, Nbin $\rm{kpc}^2$ The area covered by each profile bin if the profile is a projected profile ("2d" or "map" in the profile name). The area can easily be computed from the bins but is given for convenience.
profile_bins_volume Ngal, Nbin $\rm{kpc}^3$ The volume of each profile bin if the profile is a 3D profile ("3d" in the profile name). The volume can easily be computed from the bins but is given for convenience.
profile_gas_rho_{proj} Ngal, Nbin $M_\odot / \rm{kpc}^3$ The total gas density profile.
profile_stars_rho_{proj} Ngal, Nbin $M_\odot / \rm{kpc}^3$ The stellar mass density profile.
profile_sfr_{proj} Ngal, Nbin $M_\odot / \rm{kpc}^3 / {\rm yr}$ The star formation rate profile.
profile_f_neutral_H_{proj} Ngal, Nbin - The neutral hydrogen fraction profile, i.e., the mass in neutral hydrogen divided by the total gas mass in each bin. To obtain a profile of the neutral gas density, multiply with profile_gas_rho.
profile_f_mol_{model}_{type}_{proj} Ngal, Nbin - The molecular fraction in radial bins, i.e., the mass in H2 divided by the mass in neutral hydrogen. To obtain the molecular mass profile, multiply profile_gas_rho, profile_f_neutral_H, and profile_f_mol. To get the HI mass, apply the same multiplication but with 1 - profile_f_mol.

In addition, the config/ group contains a number of metadata attributes giving details of the analysis procedure:

Attribute Units Description
sim - Simulation name.
snap_idx - Snapshot number.
snap_z - Redshift of snapshot.
Mstar_min $M_\odot$ Minimum stellar mass (total mass bound to the subhalo) of galaxies to be extracted. None indicates no limit. Note that the stellar and gas mass limits are applied inclusively, meaning that a galaxy needs to have either the desired stellar or gas mass, not both.
Mstar_max $M_\odot$ Maximum stellar mass of a galaxy. See comment about Mstar_min above.
Mgas_min $M_\odot$ Minimum gas mass of a galaxy. See comment about Mstar_min above.
Mgas_max $M_\odot$ Maximum gas mass of a galaxy. See comment about Mstar_min above.
map_range_min $\rm{kpc}$ The minimum radial extent of maps in physical kpc. The map size is the maximum of this number and the sizes determined from the stellar and gass half-mass radii (see map_range_rgas and map_range_rstr).
map_range_rgas - Multiple of gas half-mass radius used to determine the map size (see comment on map_range_min above).
map_range_rstr - Multiple of stellar half-mass radius used to determine the map size (see comment on map_range_min above).
map_r_npix - The number of pixels used in the maps (the total number of pixels is the square of this number).
map_smoothing_factor - This factor multiplies the smoothing length used to create projected maps. By default, the factor is 1 in which case the smoothing corresponds to a Gaussian kernel with a width of half the cell size.
profile_nbins - The number of bins in the profile, i.e. Nbin in the table above.
profile_bin_min $\rm{kpc}$ The radius of the outer edge of the innermost bin. This number is fixed in physical kpc because it has to do with the resolution of the simulation rather than the size of the galaxy.
profile_range_min $\rm{kpc}$ The minimum extent of the profiles in physical kpc. The outermost bin is the maximum of this number and the sizes determined from the stellar and gass half-mass radii (see profile_range_rgas and profile_range_rstr). The profile is binned into profile_nbins linearly spaced bins between profile_bin_min and the outermost edge.
profile_range_rgas - Multiple of gas half-mass radius used to determine the profile extent (see comment on profile_range_min above).
profile_range_rstr - Multiple of stellar half-mass radius used to determine the profile extent (see comment on profile_range_min above).
uv_escape_frac - The escape fraction used in the UV computation (a number between 0 and 1, 0.1 by default).
uv_ngrid - The size of the 3D grid used for the Fourier transform in the UV computation.


(j) Halo/galaxy angular momentum and baryon content

Data products from Zjupa+ (in prep) coming soon.


(k) SDSS Photometry, Colors, and Mock Fiber Spectra

Data products from Nelson+ (2018a) coming soon.


(l) SKIRT Synthetic Images and Optical Morphologies

This catalog contains synthetic images and the corresponding morphological measurements, including Gini-M20, CAS and MID statistics, as well as 2D Sersic fits. The full description of the synthetic images and measurements can be found in Rodriguez-Gomez+ (2019), to which citation is requested if you use this data. Full details are not repeated, for which the user is directed to the paper.

Synthetic images and measurements are available separately for: "pogs" and "sdss", designed to match Pan-STARRS and SDSS, respectively.

Simulation and snapshot coverage:

  • Available for: TNG100-1.
  • For each, redshifts: z=0, z=0.05.
  • Restricted to subhalos with (total) stellar mass M* > 109.5 solar masses.

There are two ways to download this data.

  • The entire dataset (for one survey/snapshot combination) can be downloaded as a single tar file (above).
  • The FITS and PNG images can be downloaded separately for each subhalo for which they are available through the API, similar to the original Illustris FITS files. For example, /api/TNG100-1/snapshots/99/subhalos/397866/skirt/broadband_sdss.fits downloads the broadband FITS file matched to the SDSS survey, for the central subhalo of FoF group #500 in TNG100-1 at redshift zero.

In the single tar collection, the files "morphs_i.hdf5" and "morphs_g.hdf5" contain statmorph morphological measurements in the observed i- and g-bands, respectively (using Pan-STARRS or SDSS filter curves, depending on the dataset), and "subfind_ids.txt" contains the associated subhalo IDs. For a description of the measurements, see Section 4 of Rodriguez-Gomez+ (2019). In general, only morphological measurements with flag == 0 are reliable. If interested in parameters derived from the Sérsic fits, then flag_sersic == 0 should be imposed as well. In addition, only measurements with S/N > 2.5 (included in the catalog as sn_per_pixel) should be trusted. See Section 5 of the paper, for more details.

The idealized synthetic images themselves are available in FITS format. The dimensions of each image are NxNx4, where N is the number of pixels in each dimension and the 4 layers correspond to the observed g,r,i,z broadband filters of Pan-STARRS or SDSS. Note that the SDSS z-band data should be used with caution (they are reasonable for morphologies, but not for magnitudes and colors), since the long-wavelength tail of the SDSS z filter curve extends beyond the wavelength range of the SKIRT runs (clipped at 0.95 microns in the rest frame).

These synthetic broadband images are "idealized", meaning that some realism may need to be added before analyzing them. Most importantly, they should be convolved with an adequate PSF (for most purposes, a 2D Gaussian with the same FWHM as the observations should suffice) and background shot noise should be added. In general, Gaussian noise with sigma_sky ~ 1/20 (1/10) for Pan-STARRS (SDSS) represents a good compromise between observational realism and detection strength. Note that the image units are electrons/s/pixel. For more details, see Section 3.4 of the paper.

In addition to the FITS files, PNG images are also available. These are analogous to Fig. 4 of Rodriguez-Gomez+ (2019), such that different panels show different morphological diagnostics. These figures can be used to quickly inspect the morphology of a given galaxy.

Notes: The z=0 images and measurements were created by assuming that the galaxies are actually located at z=0.0485 (this determines the pixel scale, etc.). Galaxy sizes (e.g. "rhalf", "sersic_rhalf", "rpetro", "rmax") are given in pixels. To convert to simulation units (ckpc/h), note that the scale of each pixel at z=0.0485 corresponds to 0.174 ckpc/h for Pan-STARRS and 0.276 ckpc/h for SDSS.


(m) DisPerSE Cosmic Web

Data products from Duckworth+ (in prep) coming soon.