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.
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, smallersize 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  TNG504  19,683,000  11  5.2 GB  20 MB  0.6 TB 
L35n270TNG_DM  TNG504Dark  19,683,000  4  1.2 GB  10 MB  0.1 TB 
L35n540TNG  TNG503  157,464,000  11  44 GB  130 MB  7.5 TB 
L35n540TNG_DM  TNG503Dark  157,464,000  4  9.4 GB  50 MB  0.6 TB 
L35n1080TNG  TNG502  1,259,712,000  128  350 GB  860 MB  18 TB 
L35n1080TNG_DM  TNG502Dark  1,259,712,000  85  76 GB  350 MB  4.5 TB 
L35n2160TNG  TNG501  10,077,696,000  680  2.7 TB  7.2 GB  ~320 TB 
L35n2160TNG_DM  TNG501Dark  10,077,696,000  128  600 GB  2.3 GB  36 TB 
L75n455TNG  TNG1003  94,196,375  8  27 GB  110 MB  1.5 TB 
L75n455TNG_DM  TNG1003Dark  94,196,375  4  5.7 GB  40 MB  0.4 TB 
L75n910TNG  TNG1002  753,571,000  56  215 GB  650 MB  14 TB 
L75n910TNG_DM  TNG1002Dark  753,571,000  8  45 GB  260 MB  2.8 TB 
L75n1820TNG  TNG1001  6,028,568,000  448  1.7 TB  4.3 GB  128 TB 
L75n1820TNG_DM  TNG1001Dark  6,028,568,000  64  360 GB  1.7 GB  22 TB 
L205n625TNG  TNG3003  244,140,625  16  63 GB  340 MB  4 TB 
L205n625TNG_DM  TNG3003Dark  244,140,625  4  15 GB  130 MB  1 TB 
L205n1250TNG  TNG3002  1,953,125,000  100  512 GB  2.2 GB  31 TB 
L205n1250TNG_DM  TNG3002Dark  1,953,125,000  25  117 GB  810 MB  7.2 TB 
L205n2500TNG  TNG3001  15,625,000,000  600  4.1 TB  14 GB  235 TB 
L205n2500TNG_DM  TNG3001Dark  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.
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):
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 runtime 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 orange 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 starforming 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 metalorigin 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 3vector (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 starforming 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 cubicspline 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 cubicspline 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 (note: not available in DMonly runs).  
SubfindDMDensity      N  $ (10^{10} M_\odot/h) / (ckpc/h)^3 $  The local total comoving mass density, estimated using the standard cubicspline 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 cubicspline 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 cell.  
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 starforming 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 selfenrichment), 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 cubicspline 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 cubicspline 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 cell.  
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 HeavysideLorentz, 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 accretionstate (quasar) mode, total over the entire lifetime of this blackhole. Field summed during BHBH 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 accretionstate (wind) mode, total over the entire lifetime of this blackhole. Field summed during BHBH merger.  
BH_CumMassGrowth_QM  N  $ (10^{10} M_\odot/h) $  Cumulative mass accreted onto the BH in the high accretionstate (quasar) mode, total over the entire lifetime of this blackhole. Field summed during BHBH merger.  
BH_CumMassGrowth_RM  N  $ (10^{10} M_\odot/h) $  Cumulative mass accreted onto the BH in the low accretionstate (kinetic wind) mode, total over the entire lifetime of this blackhole. Field summed during BHBH 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 TNG1003, 2, and 1 resolutions) ±4 nearestneighbor 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 $ (\gamma1) \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 quasarheated 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 cubicspline 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 cubicspline 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 cell.  
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 massovertime 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.
(*) 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:
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) 

TNG1003  2431  7  ~4 Myr  ~7 Myr  ~19 Myr 
TNG1002  4380  7  ~2 Myr  ~4 Myr  ~10 Myr 
TNG1001  7908  28  ~1 Myr  ~1.5 Myr  ~2.5 Myr 
TNG3003  2050  6  ~6 Myr  ~11 Myr  ~8 Myr 
TNG3002  3045  12  ~3 Myr  ~6 Myr  ~4 Myr 
TNG3001  2449  48  ~1.5 Myr  ~4 Myr  ~6 Myr 
TNG504  2333  11  ~7 Myr  ~6 Myr  ~8 Myr 
TNG503  4006  11  ~2 Myr  ~3 Myr  ~4 Myr 
TNG502  1895  34  ~3 Myr  ~6 Myr  ~8 Myr 
TNG501  ~3600  68  ~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 Subbox0  Crowded, including a $5 \times 10^{13} {\rm M}_\odot$ halo  ~1.5  (9000, 17000, 63000)  7.5 ${\rm cMpc}/h$  0.1% 
TNG100 Subbox1  Less crowded, including several $\gt 10^{12} {\rm M}_\odot$ halos  ~0.3  (37000, 43500, 67500)  7.5 ${\rm cMpc}/h$  0.1% 
TNG300 Subbox0  Most massive cluster (~$2 \times 10^{15} M_{\odot}$), merging at z=0    (44, 49, 148) * 1000  15 ${\rm cMpc}/h$  0.04% 
TNG300 Subbox1  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 Subbox2  Semiunderdense, one local group analog at z=0    (169, 97.9, 138) * 1000  10 ${\rm cMpc}/h$  0.01% 
TNG50 Subbox0  Somewhatcrowded (~6 MWs)  ~1  (26000, 10000, 26500)  4.0 ${\rm cMpc}/h$  0.15% 
TNG50 Subbox1  Lowdensity (many isolated dwarfs, no halos above $5 \times 10^{10}$ M$_{\odot}$  <1  (12500, 10000, 22500)  4.0 ${\rm cMpc}/h$  0.15% 
TNG50 Subbox2  Most massive cluster ($2 \times 10^{14}$ M$_{\odot}$ at z=0)  >1  (7300, 24500, 21500)  5.0 ${\rm cMpc}/h$  0.3% 
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 subfiles, 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:
The Group fields are derived with a standard friendsoffriends (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 Illustris3 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    Massweighted 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    Massweighted 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 tophat 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. 
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 starforming. 
SubhaloGasMetalFractionsSfrWeighted  float32  N,10    Same as SubhaloGasMetalFractionsSfr, but weighted by the cell starformation rate rather than the cell mass. 
SubhaloGasMetallicity  float32  N    Massweighted 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    Massweighted 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 starformation 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    Massweighted 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 summedup 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 $  Onedimensional velocity dispersion of all the member particles/cells (the 3D dispersion divided by $\sqrt{3}$). 
SubhaloVmax  float32  N  $ km/s $  Maximum value of the sphericallyaveraged rotation curve. 
SubhaloVmaxRad  float32  N  $ kpc/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 windphase 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.
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. 
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 webbased tools and API (e.g. only analyze particlelevel 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 twodimensional 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 onedimensional 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 onedimensional 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 onedimensional 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 twodimensional 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 twodimensional 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). 
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 postprocessing computations which result in valueadded 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:
Merger trees have been created for the various Illustris simulations using SubLink (RodriguezGomez+ 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 depthfirst fashion. Numbering also indicates the ondisk storage ordering for the SubLink trees, which adopt the approach of Lemson+ (2006). For example, the main progenitor branch (from 57 in the example) and the full progenitor tree (from 513 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.
The SubLink algorithm constructs merger trees at the subhalo level. A unique descendant is assigned to each subhalo in three steps (see RodriguezGomez+ 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.
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 Illustris1 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 "depthfirst" 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 "depthfirst" 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. DMonly or stars + starforming 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. DMonly or stars + starforming 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. 
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 Illustris1 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 135). 
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. 
Data products from Nelson+ (2019a) coming soon.
Data products from Pillepich+ (2018b) coming soon.
Data products from Genel+ (2015) coming soon.
A catalog for crossmatching subhalos between:
Data products from Lovell+ (2018), RodriguezGomez+ (2015), and Nelson+ (2015) coming soon.
Data products from Genel+ (2018) coming soon.
This catalog is comprised of two data sets: 'mergers' and 'details'. The mergers file contains a record of each BHBH 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' BHwhich 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.
IMPORTANT NOTE: For both the mergers and details files, there are a few small missing data gaps. In TNG1001, 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: inbefore, 1: outbefore, 2: outaft]. Frequently these details were not found, in which case the array values are zero. 
/details/time  (N,3) float  Time (scalefactor) for each entry. 
/details/mass  (N,3) float  Blackhole mass. 
/details/mdot  (N,3) float  Blackhole mass accretion rate. 
/details/rho  (N,3) float  Local gas density in the vicinity of the blackhole. 
/details/cs  (N,3) float  Local gas soundspeed in the vicinity of the blackhole. 
/time  (N) float  Time (scalefactor) 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 scalefactor) for each entry. 
/mass  (N) float  Blackhole mass. 
/mdot  (N) float  Blackhole mass accretion rate. 
/rho  (N) float  Local gas density in the vicinity of the blackhole. 
/cs  (N) float  Local gas soundspeed in the vicinity of the blackhole. 
Data products related to insitu vs. exsitu stellar mass growth from RodriguezGomez et al. (2015), and RodriguezGomez et al. (2016a) coming soon.
Data products from Nelson+ (in prep) coming soon.
Data products from Diemer+ (2019) and Stevens+ (2019) coming soon.
Data products from Zjupa+ (in prep) coming soon.
Data products from Nelson+ (2018a) coming soon.
Data products from RodriguezGomez+ (2018) coming soon.
Data products from Duckworth+ (in prep) coming soon.