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 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 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.  
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 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 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 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 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 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 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:
(^) Although the two shock finder fields exist in subboxes, they are not updated for each subbox output, but only occasionally, so in general one should NOT use these two fields in subbox snapshots.
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  $ 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 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/SnapByType  [$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.
Note that this merger tree comes in two varieties: "darkmatter based" and "baryonic based". The darkmatter 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 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 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. 
Data products from Nelson+ (2019a) coming soon.
Data products from Pillepich+ (2018b) coming soon.
A catalog of circularities, angular momenta and axis ratios of the stellar component, exactly the same format and analysis as previously available for Illustris1. 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 halfmass 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
zaxis 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:
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.
The possibility exists to crossmatch subhalos between:
We current have available baryonic to dark matter only matching, the first option above. These are data products from: RodriguezGomez+ (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:
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).
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.
Simulation and snapshot coverage:
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. 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 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. 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 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.
This catalog describes the timeevolving 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 galaxyscale 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:
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.
This catalog contains postprocessed 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 precomputed 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:
z=0
, z=0.5
, z=1
, z=1.5
, and z=2
(five snapshots per run).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:
L08
 Leroy et al. 2008GK11
 Gnedin & Kravtsov 2011K13
 Krumholz 2013GD14
 Gnedin & Draine 2014S14
 Sternberg et al. 2014Each model was computed on a cellbycell basis (the "volumetric" method, {type} = vol
) and in 2D projection (the "map" method, {type} = map
). For the L08 model, the cellbycell 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 mapbased 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 halfmass radii (see map_range_rgas and map_range_rstr). 
map_range_rgas    Multiple of gas halfmass radius used to determine the map size (see comment on map_range_min above). 
map_range_rstr    Multiple of stellar halfmass 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 halfmass 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 halfmass radius used to determine the profile extent (see comment on profile_range_min above). 
profile_range_rstr    Multiple of stellar halfmass 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. 
Data products from Zjupa+ (in prep) coming soon.
This catalog contains synthetic stellar photometry (i.e. colors) including the effects of dust obscuration. These correspond to the fiducial dust model of Nelson+ (2018a) (i.e. Model C), to which citation is requested if you use this data.
Simulation and snapshot coverage:
z=0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.7, 1.0
(one file per snapshot).In the single HDF5 file per snapshot, there are two datasets: subhaloIDs
gives the list of subhalo
indices which have been computed (this is redundant, and this array equals [0,1,2,...,nSubhalos1] exactly.),
and Subhalo_StellarPhot_p07c_cf00dust_res_conv_ns1_rad30pkpc
, which has a shape of [nSubhalos,8,12]
.
The dimension 8
corresponds to eight photometric bands, in order: sdss_u, sdss_g, sdss_r, sdss_i, sdss_z, wfc_acs_f606w, des_y, jwst_f150w
. Note that this dataset is primarily intended for analysis of SDSS photometry and colors, and the other three bands
are for testing only.
The dimension 12
corresponds to twelve different projection directions (i.e. observer view angles), since the
dust attenuation mode is viewdependent. In general, one can simply take the first entry for each subhalo, or a random entry
for each subhalo.
The units of this dataset are absolute magnitudes, and the bands are always restframe.
Additional information is available in the header attributes of the HDF5 file.
This catalog contains synthetic images and the corresponding morphological measurements, including GiniM20, CAS and MID statistics, as well as 2D Sersic fits. The full description of the synthetic images and measurements can be found in RodriguezGomez+ (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 PanSTARRS and SDSS, respectively.
Simulation and snapshot coverage:
z=0
, z=0.05
.There are two ways to download this data.
In the single tar collection, the files "morphs_i.hdf5" and "morphs_g.hdf5" contain
statmorph morphological measurements in the observed i and gbands,
respectively (using PanSTARRS 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 RodriguezGomez+ (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 PanSTARRS or SDSS. Note that the SDSS zband data should be used with caution (they are reasonable for morphologies,
but not for magnitudes and colors), since the longwavelength 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 PanSTARRS (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 RodriguezGomez+ (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 PanSTARRS and 0.276 ckpc/h for SDSS.
Data products from Duckworth+ (in prep) coming soon.