This page describes the data structure and data details for the TNG-Cluster simulation.
This page exclusively describes the differences and important details of TNG-Cluster.
It therefore complements the normal Data Specifications page, that remains the primary source of documentation.
This is a TNG spin-off project that is comprised of a set of 352 high-mass galaxy cluster zoom simulations. It is intended to directly complement TNG300-1, and has exactly the same resolution. The physics and galaxy formation model of TNG-Cluster is identical to all other TNG simulations. The focus is on $M_{\rm halo} > 10^{14.5} \rm{M}_\odot$, where the combined halo mass function of TNG300 + TNG-Cluster provides a roughly flat sampling in mass, until $M_{\rm halo} > 10^{15.0} \rm{M}_\odot$ above which we simulate every cluster in the TNG-Cluster parent box to obtain $\rm{1 Gpc}$ volume-limited statistics. The resulting halo mass function looks like this:
TNG-Cluster can be used to study these 352 clusters (as well as their progenitors and proto-cluster environments) at higher redshift. It can also be used to study satellite and nearby galaxies, out to a few virial radii. The specific clusters were selected based on their $z=0$ halo mass alone, and are random and unbiased in all other aspects. Further details on the sample, the included physics, and the simulation can be found in Nelson et al. (2024) and the TNG-Cluster project page.
To support proper attribution, recognize the effort of individuals involved, and monitor ongoing usage and impact, we request the following:
Any publication making use of data from the TNG-Cluster should cite two papers:
Please refer to the simulation as "TNG-Cluster" and not by other variations such as "Cluster-TNG" or "TNG-Clusters".
Any publication referring to the underlying physical galaxy formation model and its numerical details can cite the two TNG methods papers:
Finally, use of the supplementary data catalogs should include the relevant citation(s) - full details can be found on this page, below.
For more information, see also the community considerations of the original TNG simulations.
TNG-Cluster has a data structure that is nearly, but not exactly, identical to all other TNG simulations. It has the same 100 snapshots, and the combination of 20 full plus 80 mini snapshots is unchanged. It also has the same snapshot files, group catalogs i.e. galaxy and halo catalogs, merger trees, and so on.
In particular, the 352 original zoom simulations were stitched back together to create a "virtual" box. The resulting parent volume -- called L680n8192TNG or TNG-Cluster for short -- has the full, fiducial resolution and the full hydrodynamical results. We write a series of files with a structure that enables the recovery of the exact particle set and/or group catalog of any of the original zooms (details below). This reconstruction is ultimately for convenience: the "virtual box" has an identical data structure to all other full volume TNG simulations to date, enabling seamless analysis and the application of all existing tools, codes, and post-processing pipelines.
The two images above give a sense of the result: they show the entire TNG-Cluster volume at $z=0$.
In both cases, the 352 target clusters are marked with individual circles, and the corresponding number
next to each gives the original FoF halo ID from the parent DMO box from which the TNG-Cluster halos were
selected (see below for usage of this OrigHaloID
). The left panel shows only high-resolution
dark matter particles, that are confined to the regions near these target halos. The right panel shows
the gas belonging to the FoF halos in the high-resolution regions, together with all "outer fuzz" (i.e.
gas outside of all halos) from the first (most massive) zoom halo alone. This shows how the large, void
regions between halos are represented only coarsely in TNG-Cluster (see below for details).
(a) As a collection of zoom simulations, only a small fraction of the entire box has been simulated at high (TNG300-1) resolution. As a general rule, one cannot analyze all (sub)halos in the catalog, nor all particles/cells (regions of space) in the box indiscriminately!
(b) Most analyses of TNG-Cluster will focus only on the 352 targeted zoom halos (and their satellite/nearby galaxy populations), which have little or no "contamination", i.e. low resolution particles/cells present within those halos. At the particle level, the high-resolution regions typically end at a few virial radii away from these halos (at $z=0$). For example, if calculating a radial profile as a function of distance, once PartType2 DM particles (see below) start to be found the low-resolution region has been reached, and this region of space should not be analyzed in detail.
(c) As a collection of zoom simulations, each original simulation contains low-resolution particles/cells which fill the unused volume. One set of these 'background' particles/cells is present for each original zoom halo. Therefore, they overlap each other in space, and overlap the high-resolution regimes (i.e. halos) from another zoom. As a result: (i) globally loading all particles in the volume is dangerous for any reason; (ii) the total mass in the box will exceed that expected from the volume and the chosen cosmology. The exact particles/cells from a single original zoom simulation can be loaded, as noted below.
(d)
The snapshot.loadOriginalZoom()
function of the illustris_python
package can be used
to load exactly the particles/cells of a snapshot from a single, original zoom simulation (i.e. single cluster).
The number of files in the group catalogs is equal to the number of original zoom simulations: each file contains exactly the group catalog of this original run. The number of files in the snapshots is exactly twice this number: the first contains all the particles/cells that were contained within the FoF halos of this original run. The second, whose chunk number equals the first plus the total number of primary zoom targets, contains all particles/cells outside all FoF halos of this original run ("outer fuzz").
i
(in the parent box) are exactly
those contained in snap_ZZZ.i.hdf5
and snap_ZZZ.i+N.hdf5
where N
is
the number of zoom halos in TNG-Cluster (that is, 352) for any snapshot number ZZZ
. One can
load just these two files to recover the original simulation at the particle-level. (The group catalog can
similarly be recovered by loading only fof_subhalo_tab_ZZZ.i.hdf5
)./postprocesssing/offsets/
files. Specifically,
OriginalZooms/GroupsTotalLengthByType
and OriginalZooms/GroupsSnapOffsetByType
provide the length and offset of this first subset, in the snapshot, by type, while
OriginalZooms/OuterFuzzTotalLengthByType
and OriginalZooms/OuterFuzzSnapOffsetByType
do likewise for this second subset.To maintain global ID uniqueness: the IDs of individual particles/cells have been shifted from their
original values (in the original zoom runs) by 1e9*GroupOrigHaloID
. This applies to all
ParticleIDs fields (of all types), as well as PartType3/TracerID and PartType3/ParentID. Therefore, the
particles/cells which originate from a particular zoom run are those with
(ID > 1e9*GroupOrigHaloID)
& (ID < 1e9*(GroupOrigHaloID+1))
.
For convenience, the tracer particles have been ordered in the snapshots (unlike in Illustris/TNG,
where they are not). In particular, tracers are in a group ordering, similarly to the other particle types,
for $z=0$ only. This means that the tracers belonging to a given subhalo or halo can be easily loaded. To do
so, the TracerLengthType
and TracerOffsetType
datasets of the (sub)halo catalogs can
be used. They give, for the given (sub)halo, separately for the tracer parent type (i.e. gas, stars, or BHs),
the starting offset and length in the PartType3
datasets of the snapshot for member tracers. At
all snapshots, tracers are kept in the same (i.e. $z=0$) order. This means that at $z>0$ tracers are not in
group order. However, this greatly simplifies analysis, as the same tracer will be found at exactly the same
snapshot index, for all snapshots. Note: tracers for a given (sub)halo belonging to different parent types are
not stored contiguously, so to load -all- the tracers for a given (sub)halo, three contiguous loads of the snapshot
are needed, one for each parent type.
Finally, note that in TNG-Cluster:
Related analyses such as high time-cadence, impact of baryonic feedback on dark matter, and resolution convergence, are more appropriate for the TNG300 series.
Each is a link that leads into the API for that halo at $z=0$.
The snapshot data is nearly identical to the TNG boxes. See the TNG Snapshot Documentation for details.
The one important exception is that: PartType2 is no longer unused!. It contains the low-resolution dark matter particles, i.e. DM outside of the high-resolution regions. This is often referred to as contamination, and its presence (in any halo, subhalo, or region of space) indicates a region that was not simulated at high-resolution in TNG-Cluster, and thus should not be analyzed in detail.
The updated particle types in the snapshots are:
Several particle types have minor additions in the TNG-Cluster snapshots:
Field | Units | Dimension | Description |
---|---|---|---|
AllowRefinement | -- | N | Flag which takes a value of either 0 or a positive integer. If positive, then this gas cell was part of the high resolution region of the targeted zoom halo. If zero, it was in the low resolution background, and could be considered 'contamination' if found within/near a halo of interest. (Not present in mini snapshots). |
Field | Units | Dimension | Description |
---|---|---|---|
FluidQuantities | various | N,5 | Five quantities were stored for each tracer. These are (in order): TMAX, TMAX_TIME, TMAX_RHO, WIND_COUNTER, SHOCKMACHNUM_MAX. Note that although tracers are output also for mini-snapshots (that is, TracerID and ParentID fields), FluidQuantities are not, and are only saved for full snapshots. After being saved, the TMAX, TMAX_TIME, TMAX_RHO, and SHOCKMACHNUM_MAX fields are reset to zero, i.e. at each full snapshot they contain information about the maxima reached between that snapshot and the previous. For example, to determine a global TMAX value across all time, the maximum TMAX value must be taken across all snapshots. |
Four quantities were added, all intended to integrate (i.e. be cumulative in time) along the main progenitor branch (MPB) of a blackhole. That is, during each BH-BH binary merger event, to take the value from the more massive of the two BHs. However, this mechanism does not always work. As a result, all four of the following values can take, and then continue to accumulate, from either of the two BHs during a merger, at random. While they may still be useful for some analyses, they should therefore be used with caution.
Field | Units | Dimension | Description |
---|---|---|---|
BH_WindCount | -- | N | Number of kinetic feedback events (winds) of this black hole. These correspond to discrete times of energy output while the SMBH is in the low/kinetic feedback mode of the TNG model. This quantity was meant to be accumulated along the main progenitor branch (MPB) of a black hole, but see caveat above. |
BH_WindTimes | -- | N,5 | Times (i.e. scalefactors) of the last five kinetic feedback events of this black hole. These correspond to discrete times of energy output while the SMBH is in the low/kinetic feedback mode of the TNG model. The events are ordered in time, but the array is rolled/periodic, i.e. the smallest time is not necessarily the first entry. See caveat above about MPB. |
BH_MPB_CumEgyLow | $ 10^{10} M_\odot/h (ckpc/h)^2$ / $(0.978Gyr/h)^2$ | N | Cumulative amount of kinetic AGN feedback energy injected into surrounding gas in the low accretion-state (wind) mode, total over the entire lifetime of this blackhole. See caveat above about MPB. |
BH_MPB_CumEgyHigh | $ 10^{10} M_\odot/h (ckpc/h)^2$ / $(0.978Gyr/h)^2$ | N | Cumulative amount of thermal AGN feedback energy injected into surrounding gas in the high accretion-state (quasar) mode, total over the entire lifetime of this blackhole. See caveat above about MPB. |
The group catalog data is nearly identical to the TNG boxes. See the TNG Group Catalog Documentation for details.
Four additional fields exist for each FoF group:
Field | Units | Dimension | Description |
---|---|---|---|
GroupContaminationFracByMass | -- | Ngroups | Fraction of 'low resolution contamination', from zero (good) to one (bad), equal to the number of PartType2 particles (low-res DM) divided by the number of PartType1 particles (high-res DM) in this FoF halo. In general, halos (and their subhalos) should only be analyzed if they have zero, or near zero, contamination. |
GroupContaminationFracByNumPart | -- | Ngroups | Fraction of 'low resolution contamination', from zero (good) to one (bad), equal to the mass of PartType2 particles (low-res DM) divided by the mass of PartType1 particles (high-res DM) in this FoF halo. In general, halos (and their subhalos) should only be analyzed if they have zero, or near zero, contamination. |
GroupOrigHaloID | -- | Ngroups | Integer which gives the original FoF halo ID from the parent DMO box from which the TNG-Cluster halos were selected. Ranges from 0 (the most massive halo of the parent box) to 5711 (the least massive halo simulated). Note that each zoom run (i.e. "original FoF halo ID") contains many FoF halos: the primary zoom target, as well as all other halos in the high resolution region / containing high resolution particles. The set of all halos coming from a single zoom run can be chosen as those which have the same GroupOrigHaloID. |
GroupPrimaryZoomTarget | -- | Ngroups | Flag with a value of either zero or one. If one, this was the first (i.e. most massive) FoF halo of an original zoom simulation. At z=0, this is exactly the set of halos that were the original zoom targets. Most analyses of TNG-Cluster will use only the 352 halos with GroupPrimaryZoomTarget > 0. The total number of unity values in this dataset equals the number of unique values of GroupOrigHaloID by definition. At higher redshift, z>0, a complication exists: the first FoF halo of each original zoom does not necessarily correspond to the SubLink main progenitor of the $z=0$ halo. We therefore flag (the parent groups of) all SubLink main progenitors at $z>0$ with GroupPrimaryZoomTarget == 2 , if not already flagged by unity. At $z>0$ one can decide, e.g. by looking at contamination, which (or both) of these two sets of halos are appropriate for a given analysis. |
GroupOffsetType | -- | Ngroups, 6 | These are the same "offsets" as in the offsets files, which identify the starting index of member particles of this FoF halo in the snapshot, for a given type. Copied into the group catalogs for convenience (new convention). |
All subhalos have two additional datasets:
Field | Units | Dimension | Description |
---|---|---|---|
SubhaloOrigHaloID | -- | Nsubgroups | Integer giving the original FoF halo ID from the parent DMO box from which the TNG-Cluster halos were selected. Exactly the same as GroupOrigHaloID, i.e. all subhalos have the same value of this field as their parent halos. |
SubhaloOffsetType | -- | Nsubgroups, 6 | These are the same "offsets" as in the offsets files, which identify the starting index of member particles of this subhalo in the snapshot, for a given type. Copied into the group catalogs for convenience (new convention). |
At snapshot 99 only, the following four fields also exist in the group catalogs, giving the offsets and lengths needed to load the tracers for a particular (sub)halo:
Field | Units | Dimension | Description |
---|---|---|---|
Group/TracerLengthType | -- | Ngroups, 6 | See description of fields and usage examples under the Tracer Tracks Catalog documentation. |
Group/TracerOffsetType | -- | Ngroups, 6 | See description of fields and usage examples under the Tracer Tracks Catalog documentation. |
SubhaloLengthType | -- | Nsubgroups, 6 | See description of fields and usage examples under the Tracer Tracks Catalog documentation. |
SubhaloOffsetType | -- | Nsubgroups, 6 | See description of fields and usage examples under the Tracer Tracks Catalog documentation. |
TNG-Cluster has the SubLink and LHaloTree merger trees. Their structure and usage is identical to all the other TNG boxes.
See the TNG Merger Tree Documentation for details.
"Supplementary" or "post-processing" catalogs have been created by various members of the TNG team, extended collaboration, and general public. They typically contain valuable (and often computationally expensive) calculations, which are released here in the hope that they will accelerate the science and productivity of all users of the TNG-Cluster data. Most often, they are catalogs of physical quantities calculated for halos or subhalos, at one or more snapshots. Each will have a somewhat different structure, so one should carefully read the provided documentation. To use any of these catalogs, one should download the respective HDF5 file(s) and directly load them using e.g. h5py
.
We list here, specifically, catalogs that exist for TNG-Cluster. Some of these exist for the original TNG boxes, while others are unique to TNG-Cluster.
The TNG-Cluster Catalog is a dynamic, online-accessible table which contains numerous derived properties for all the TNG-Cluster halos. It is continually updated with specialized and contributed analysis of all kinds. An example of a selection of fields is shown below (Table B1 from Nelson et al. 2024).
Simulation and snapshot coverage:
This catalog mainly contains properties of the clusters at $z=0$, plus selected details of their main progenitors at higher redshift.
The full, unabridged table is available for download (in txt/csv, and several other formats):
cat = zarr.open('www.tng-project.org/files/TNG-Cluster_Catalog.zarr')
Last updated: [6 March 2025]. Update history:
Catalog contains multiple measurements of thermodynamical properties that can be used to classify a cluster as either cool-core (CC) or non-cool-core (NCC), according to various different definitions. These values were derived for and used in Lehle+ (2024) and Lehle+ (2025a), to which citation is requested if you use this data catalog.
Simulation and snapshot coverage:
For each cluster, three measurements of central gas properties which can be used to define the 'cool core' state. The central gas properties where computed from non-star-forming gas cells with temperature $\rm{T} > 10^6 \rm{K}$ to approximate the sensitivity of X-ray observations. The SCC/WCC/NCC classification exists for all 352 halos and all snapshots.
Dataset | Units | Description |
---|---|---|
HaloIDs | -- | The haloIDs ordered in M500 (TNG-Cluster) or M200 (TNG300). All the other datasets have this same order, i.e. the first dimension of all other datasets has a size of len(HaloIDs) and corresponds to these halos. |
centralCoolingTime | $\rm{Gyr}$ | The central cooling time $t_{\rm cool}$, computed in an aperture of $r < 0.012 r_{\rm 500,c}$. These only exist for the full snapshots. |
centralCoolingTime_flag | -- | Flags: 0 for strong cool-cores (SCC) (i.e. $t_{\rm cool} < 1 \rm{Gyr}$). 1 for weak cool-cores (WCC) ($1 \rm{Gyr} \leq t_{\rm cool} < 7.7 \rm{Gyr}$). 2 for non-cool-cores (NCC) ($t_{\rm cool} \geq 7.7 \rm{Gyr}$). |
centralCoolingTime_10pkpc | $\rm{Gyr}$ | The central cooling time, computed in an aperture of $\rm{10 pkpc}$. These only exist for the full snapshots. |
centralCoolingTime_10pkpc_flag | -- | Flags: 0 for strong cool-cores (SCC) (i.e. $t_{\rm cool} < 1 \rm{Gyr}$). 1 for weak cool-cores (WCC) ($1 \rm{Gyr} \leq t_{\rm cool} < 7.7 \rm{Gyr}$). 2 for non-cool-cores (NCC) ($t_{\rm cool} \geq 7.7 \rm{Gyr}$). |
centralNumDens | $\rm{cm^{-3}}$ | Central electron number density $n_e$, computed in an aperture of $r < 0.012 r_{\rm 500,c}$. |
centralNumDens_flag | -- | Flags: 0 for SCCs (i.e. $n_e > 0.015 1/\rm{cm}^3$). 1 for WCCs ($0.005 1/\rm{cm}^3 < n_e \leq 0.015 1/\rm{cm}^3$). 2 for NCCs ($n_e \leq 0.005 1/\rm{cm}^3$). |
centralNumDens_10pkpc | $\rm{cm^{-3}}$ | Central electron number density $n_e$, computed in an aperture of $\rm{10 pkpc}$. |
centralNumDens_10pkpc_flag | -- | Flags: 0 for SCCs (i.e. $n_e > 0.015 1/\rm{cm}^3$). 1 for WCCs ($0.005 1/\rm{cm}^3 < n_e \leq 0.015 1/\rm{cm}^3$). 2 for NCCs ($n_e \leq 0.005 1/\rm{cm}^3$). |
slopeNumDens | -- | Slope of the electron number density profile at $r = 0.04 r_{\rm 500,c}$. (in the literature called $\alpha$). |
slopeNumDens_flag | -- | Flags: 0 for SCCs (i.e. $\alpha > 0.75$). 1 for WCCs ($0.5 < \alpha \leq 0.75$). 2 for NCCs ($\alpha \leq 0.5$). |
centralEntropy | $\rm{keV \, cm^2}$ | Central entropy $K_0$, computed in an aperture of $r < 0.012 r_{\rm 500,c}$. |
centralEntropy_flag | -- | Flags: 0 for SCCs (i.e. $K_0 \leq \rm{22 keV cm^2}$). 1 for WCCs ($22 < K_0 \leq \rm{150 keV cm^2}$). 2 for NCCs ($K_0 > \rm{150 keV cm^2}$). |
centralEntropy_10pkpc | $\rm{keV \, cm^2}$ | Central entropy $K_0$, computed in an aperture of $\rm{10 pkpc}$. |
centralEntropy_10pkpc_flag | -- | Flags: 0 for SCCs (i.e. $K_0 \leq \rm{22 keV cm^2}$). 1 for WCCs ($22 < K_0 \leq \rm{150 keV cm^2}$). 2 for NCCs ($K_0 > \rm{150 keV cm^2}$). |
concentrationPhys | -- | Physical X-ray concentration parameter $C_{\rm phys}$, computed within $\rm{40 kpc}$ versus $\rm{400 kpc}$. These only exist for the full snapshots. |
concentrationPhys_flag | -- | Flags: 0 for SCCs (i.e. $C_{\rm phys} > 0.155$). 1 for WCCs ($0.075 < C_{\rm phys} \leq 0.155$). 2 for NCCs ($C_{\rm phys} \leq 0.075$). |
concentrationScaled | -- | Scaled X-ray concentration parameter $C_{\rm scaled}$, computed within $0.15 r_{\rm 500c}$ versus $r_{\rm 500c}$. These only exist for the full snapshots. |
concentrationScaled_flag | -- | Flags: 0 for SCCs (i.e. $C_{\rm scaled} > 0.5$). 1 for WCCs ($0.2 < C_{\rm scaled} \leq 0.5$). 2 for NCCs ($C_{\rm scaled} \leq 0.2$). |
Note: all datasets have a shape [Nhalo,100]
where Nhalo = 352
(TNG-Cluster) or Nhalo = 280
(TNG300-1).
At all snapshots $z > 0$, the analyzed halos are the main progenitors (i.e. MPBs) of the $z=0$ halos with GroupPrimaryZoomTarget == 1
.
Note: the slopeNumDens
, concentrationPhys
, and concentrationScaled
fields are available only for TNG-Cluster.
Note: the 10 kpc values are computed considering all FoF halo gas cells, while the other quantities are computed consider all central subhalo gas cells.
Note: if you want a fiducial (theoretical) classification criterion for CC state, we suggest central cooling time, followed by central entropy.
Catalog containing different measurements of the degree to which a halo is relaxed. For complete definitions on the calculation of each value, see the following table, and Ayromlou+ (2024). Citation to this paper is requested if you use this data catalog.
Simulation and snapshot coverage:
For each cluster, two measurements of 'relaxedness' are recorded, along with three flags used to identify relaxed clusters:
Dataset | Description |
---|---|
Halo/Dis_and_Mass_Criteria_Flag | The relaxedness flag of a cluster based on both Distance_Criterion_Flag and
Mass_Criterion_Flag . A cluster is considered relaxed (this flag=1) if both flags are set to 1, and non-relaxed (this flag=0) if either of them is set to 0.
|
Halo/Distance_Criterion | The distance between the most bound particle of a cluster (GroupPos ) and its center of
mass (GroupCM ), normalized by the halo virial radius (Group_R_Crit200 ).
|
Halo/Distance_Criterion_Flag | The relaxedness flag of a cluster based on Distance_Criterion . A cluster is considered
relaxed (flag=1) if this distance is less than 0.1 R200c and non-relaxed (flag=0) otherwise.
|
Halo/Mass_Criterion | The ratio between the mass of the central subhalo (SubhaloMass ) and the total mass of its
host cluster (GroupMass ).
|
Halo/Mass_Criterion_Flag | The relaxedness flag based on Mass_Criterion . A cluster is relaxed (flag=1) if this mass ratio
m_central/m_total>0.85 and non-relaxed (flag=0) otherwise.
|
Note: all datasets have a shape of [100,352]
where the first dimension corresponds to the snapshots,
and the second corresponds to the number of clusters.
Important Note: at each snapshot, the 352 analyzed clusters are those with GroupPrimaryZoomTarget == 1
at that snapshot.
They are not the main progenitors of the $z=0$ target clusters. Do not treat a slice as a MPB or time series for a single cluster!
This dataset contains 2D maps (i.e. images) of various physical quantities in projection. These include direct observables, such as X-ray surface brightness and the Sunyaev-Zeldovich effect, as well as theoretical quantities such as total gas column density. A variety of viewing directions, and map sizes and depths are considered. These projections were originally created for and used in Nelson+ (2024) to which citation is requested if you use this data.
Simulation and snapshot coverage:
Each file contains projections for all clusters, across three different viewing directions. Each file is for one physical quantity, and one map size + depth configuration.
Quantities:
gas - coldens_msunkpc2
- (mass) column density in [$\log \rm{M}_\odot / \rm{kpc}^2$]
gas - sz_yparam
- Sunyaev-Zeldovich y-parameter in [$\log$] (dimensionless)
gas - vel_los
- line of sight velocity, mass-weighted, in [$\rm{km/s}$]
gas - velsigma_los
- line of sight velocity dispersion, mass-weighted, in [$\rm{km/s}$]
gas - xray_lum
- total (bolometric) X-ray luminosity, in [$\log \rm{erg} \rm{s}^{-1} \rm{kpc}^{-2}$]
gas - xray_lum_0.5-2.0kev
- soft band (0.5-2.0 keV) X-ray luminosity (APEC model), in [$\log \rm{erg} \rm{s}^{-1} \rm{kpc}^{-2}$]
gas - xray_lum_0.5-5.0kev
- higher energy (0.5-5.0 keV) X-ray luminosity (APEC model), in [$\log \rm{erg} \rm{s}^{-1} \rm{kpc}^{-2}$]
gas - coldens_MgII
- column density of MgII in [$\log \rm{cm}^{-2}$]
gas - coldens_HI
- column density of neutral HI in [$\log \rm{cm}^{-2}$]
Map sizes and depths
2r200_d=r200
is +/- 2 r200c in extent, and +/- 1 r200 in depth.0.5r500_d=r200
is +/- 0.5 r500c in extent (i.e. focused on the central regions), and +/- 1 r200 in depth (i.e. only gas within ~rvir along the projection direction).0.5r500_d=3r200
is +/- 0.5 r500c in extent, and +/- 3 r200 in depth (i.e. also including outskirts/gas which contributes from larger distances in projection).All projections are made considering all particles (global scope) of the original zoom simulation of each cluster. Each projection is 2000x2000 pixels. In a given file (one quantity, one size/depth configuration) there are three projections for each halo, corresponding to projecting along the z-axis, y-axis, and x-axis (see the axes_set
HDF5 attribute, and the other HDF5 attributes for general metadata, including name
for the quantity and its units). Thus these three directions are random with respect to the orientation of the halo/galaxy.
Each halo is contained in a separate HDF5 dataset named Halo_N
where N
is the Halo ID, with shape [2000,2000,3]
. The last dimension corresponds to the different viewing directions. These datasets contain attributes:
[minmax_guess]
provides a good range for the colorbar/range of values,[box_center]
provides the position of the center of the projection in code units (SubhaloPos), and[box_size]
provides the extent (i.e. across the image, left to right) of the projection in code units.HaloIDs
- the corresponding halo IDs. SubhaloIDs
- the corresponding subhalo IDs. r200c
- for reference [pkpc]. r500c
- for reference [pkpc]. grid_dist
- [2000,2000] array giving the distance from the (halo) center, to each pixel, in units of r200c or r500c (as appropriate). The same for all halos. To convert these distances to code units, multiply by the box_size[0]/2
attribute for a particular halo. grid_angle
- [2000,2000] array giving the angle, in deg, of each pixel, where 0/360 is +x, 90 is +y, 180 is -x, and 270 is -y. Note that the halos/galaxies have not been rotated in any way, so these angles are arbitrary with respect to the orientation of the halo/galaxy. Note: this dataset can be extended to other fields, redshifts, or configurations.
This large catalog contains information about the stellar assembly of all galaxies across all
snapshots, focusing on in situ vs. ex situ stellar mass growth, the contribution from star
formation before or after infall, the role of major and/or minor mergers and flyby encounters.
There exists one stellar_assembly.hdf5
file per baryonic run. All datasets are masses,
and are given in code units, that is, $10^{10} M_\odot / h$. There is one group per snapshot,
and within each group, all datasets have the same size, corresponding to exactly one entry per
Subfind subhalo. Citation recommmended to
Rodriguez-Gomez et al. (2015),
Rodriguez-Gomez et al. (2016a), and/or
Rodriguez-Gomez et al. (2016b) as appropriate.
Further information and usage examples are available in these same papers.
Simulation and snapshot coverage:
Dataset | Description |
---|---|
/Snapshot_N/StellarMassInSitu | The amount of stellar mass that was formed in situ. |
/Snapshot_N/StellarMassExSitu | The amount of stellar mass that was formed ex situ. |
/Snapshot_N/StellarMassTotal | The total stellar mass of the galaxy. |
/Snapshot_N/StellarMassAfterInfall | The amount of (ex situ) stellar mass that was formed after entering the halo where the galaxy is currently found. |
/Snapshot_N/StellarMassBeforeInfall | The amount of (ex situ) stellar mass that was formed before entering the halo where the galaxy is currently found. |
/Snapshot_N/StellarMassFromCompletedMergers | The amount of (ex situ) stellar mass that was accreted from completed mergers, as defined by the "AccretionOrigin" property. |
/Snapshot_N/StellarMassFromCompletedMergersMajor | Same as above, but only considering major mergers (stellar mass ratio > 1/4), as defined by the "MergerMassRatio" property of each star. |
/Snapshot_N/StellarMassFromCompletedMergersMajorMinor | The same, but considering major and minor mergers (stellar mass ratio > 1/10). |
/Snapshot_N/StellarMassFromOngoingMergers | The amount of (ex situ) stellar mass that was accreted from ongoing mergers, as defined by the "AccretionOrigin" property. NOTE: by definition, this quantity is zero at z=0 (since a flyby cannot be distinguished from an ongoing merger). In fact, it is recommended to combine "ongoing mergers" with "flybys" into a single category called "stripped from surviving galaxies" (see references). |
/Snapshot_N/StellarMassFromOngoingMergersMajor | Same as above, but only considering major mergers (stellar mass ratio > 1/4), as defined by the "MergerMassRatio" property of each star. |
/Snapshot_N/StellarMassFromOngoingMergersMajorMinor | The same, but considering major and minor mergers (stellar mass ratio > 1/10). |
/Snapshot_N/StellarMassFromFlybys | The amount of (ex situ) stellar mass that was accreted during flybys, as defined by the "AccretionOrigin" property. |
/Snapshot_N/StellarMassFromFlybysMajor | Same as above, but only considering major flybys (stellar mass ratio > 1/4), as defined by the "MergerMassRatio" property of each star. |
/Snapshot_N/StellarMassFromFlybysMajorMinor | The same, but considering major and minor flybys (stellar mass ratio > 1/10). |
/Snapshot_N/StellarMassFormedOutsideGalaxies | The amount of (ex situ) stellar mass that was formed outside of any galaxy (as determined by SUBFIND). |
The 'galaxy' quantities above should satisfy the following invariants (up to rounding errors):
The above descriptions make reference to two values computed for every star particle in the simulation, derived as follows (see references for more details):
A small caveat: the "subhalo switching" problem" can result in some galaxies having (spurious) ex situ fractions very close to 1 (say, if a satellite suddenly becomes a central, then most of its newly assigned mass will appear as ex situ). The number of galaxies this affects is negligible, but still noticeable in e.g. a scatter plot.
Catalogs containing information and statistics about the merging history of all subhalos (i.e. galaxies), across all time. Here mergers are split into three categories: major (stellar mass ratio > 1/4), minor (stellar mass ratio between 1/10 and 1/4), and all (any stellar mass ratio) mergers. The mass ratio is always based on the stellar masses of the two merging galaxies at the time when the secondary reached its maximum stellar mass.
To avoid spurious flyby and re-merger events, mergers are only included when both galaxies can be tracked back to a time when each of them belonged to a different FoF group. Furthermore, to clean the mergers from events released to non-cosmological subhalos (i.e. "clumps"), a cleaning procedure has been applied as follows. First, all subhalos with SubhaloFlag == False are ignored. Second, the secondary is ignored if it did not exist for more than 2 snapshots.
For complete definitions on the calculation of each value, see the following table, Rodriguez-Gomez (2017), and Eisert et al. (2022). Citation to these two papers is requested if you use these data catalogs.
Simulation and snapshot coverage:
Major mergers (stellar mass ratio > 1/4), minor mergers (1/10 < stellar mass ratio < 1/4), and all mergers (any stellar mass ratio):
Dataset Name | Units | Description |
---|---|---|
SnapNumLastMajorMerger | - | The snapshot number in which the galaxy had its last major merger. |
SnapNumNextMajorMerger | - | The snapshot number in which the galaxy will have its next major merger; -1 if it will never have another major merger. Note that this includes situations in which the galaxy merges onto a more massive object than itself. In these cases, it is up to the user to determine if the galaxy of interest is the main progenitor of the merger remnant, if any (this can be achieved by comparing the MainLeafProgenitorID of the original galaxy and of the descendant). |
NumMajorMergers{time} | - | The number of major mergers during the last {time} period (see below).
|
NumMajorMergersTotal | - | The total number of major mergers throughout the galaxy's history. |
SnapNumLastMinorMerger | - | The snapshot number in which the galaxy had its last minor merger. |
SnapNumNextMinorMerger | - | The snapshot number in which the galaxy will have its next minor merger; -1 if it will never have another major merger. (see above) |
NumMinorMergers{time} | - | The number of minor mergers during the last {time} period (see below).
|
NumMinorMergersTotal | - | The total number of minor mergers throughout the galaxy's history. |
SnapNumLastMerger | - | The snapshot number in which the galaxy had its last merger, of any mass ratio. |
SnapNumNextMerger | - | The snapshot number in which the galaxy will have its next merger, of any mass ratio; -1 if it will never have another major merger. (see above) |
NumMergers{time} | - | The number of mergers, of any mass ratio, during the last {time} period (see below).
|
NumMergersTotal | - | The total number of mergers, of any mass ratio, throughout the galaxy's history. |
Note: in all cases above, {time}
can be any of six options: "Last250Myr", "Last500Myr", "LastGyr", "SinceRedshiftOne", and "SinceRedshiftTwo".
Note: if a snapshot number is undefined, i.e. there is no major merger for SnapNumLastMajorMerger, the value is set to -1.
There are also additional merger statistics that attempt to quantify the cumulative effects of all the mergers that a galaxy has ever had. These are plausibly more meaningful quantities than the "standard" merger statistics described above (e.g. the time since the last major merger, etc.). As usual, the properties of the secondary progenitor (as well as the merger mass ratio) are measured at the time when it reached its maximum stellar mass, while the time of the merger corresponds to the snapshot in which the two merger tree branches join. As shown in Rodriguez-Gomez et al. (2017), these quantities are strongly correlated with the fraction of accreted stars in a galaxy. Available quantities are:
Dataset Name | Units | Description |
---|---|---|
MeanGasFraction | - | The mean "cold" (i.e. star-forming) gas fraction of all the objects that have merged with the galaxy in question, weighted by their maximum stellar masses. |
MeanLookbackTime | $\rm{Gyr}$ | The mean lookback time of all the mergers that a galaxy has undergone, weighted by the maximum stellar mass of the secondary progenitors. |
MeanMassRatio | - | The mean stellar mass ratio of all the mergers that a galaxy has undergone, weighted by the maximum stellar mass of the secondary progenitors. |
MeanRedshift | - | The mean redshift of all the mergers that a galaxy has undergone, weighted by the maximum stellar mass of the secondary progenitors. |
Finally, there are additional merger statistics, with analog meanings as above, unless otherwise stated:
Dataset Name | Units | Description |
---|---|---|
AccretedStellarMass{time} | $10^{10} \rm{M}_\odot / h$ | The total accreted (i.e. "ex-situ") stellar mass, in the last {time} period (see below). |
MeanRedshiftAtPeakMass{time} | - | Average redshift at which the secondaries reached their maximum stellar mass (weighted by stellar mass, and considering only mergers that happened in the last {time} period). This differs from the "MeanLookbackTime", which refers to the actual time when the mergers took place. |
MeanStellarMass{time} | $10^{10} \rm{M}_\odot / h$ | The mean stellar mass of all the mergers that a galaxy has undergone, weighted by the maximum stellar mass of the secondary progenitors. |
MeanStellarMassRatio{time} | - | The mean stellar mass ratio of all the mergers that a galaxy has undergone, weighted by the maximum stellar mass of the secondary progenitors. Equivalent to MeanMassRatio above. |
NumMajorMergers{time} | - | The number of major mergers during the last {time} period (see below).
|
NumMinorMergers{time} | - | The number of minor mergers during the last {time} period (see below).
|
NumMergers{time} | - | The number of mergers, of any mass ratio, during the last {time} period (see below).
|
Note: in all cases above, {time}
can be any of four options: "Last2Gyr", "Last5Gyr", "Last8Gyr", and "SinceRedshift5".
Finally, in the case of TNG50-1 catalogs (only), each file contains an additional group named "WithConstraint". In this group, a second version of all the above datasets can be found, where an additional constraint has been applied to secondaries. Specifically, secondaries are ignored if there were not more than 50 stellar particles in at least one snapshot in its lifetime. These merger statistics exclude very small galaxies, and may be useful. They reproduce the published results of Eisert+ (2022) and Sotillo-Ramos+ (2022).