Skip to content

Format

The subhalo catalogues of HBT-HERONS are saved using the HDF5 file format. Each output is saved in its own separate folder within the specified SubhaloPath directory. The folder for each output (indicated by its current SnapshotIndex) contains two types of files:

  • SubSnap, which contains subhalo information concerning their overall properties and bound particles. It also contains metadata.
  • SrcSnap, which are used to continue an existing HBT-HERONS analysis.

Each MPI rank saves its own SubSnap and SrcSnap file. Hence, the overall folder structure for a 3 output simulation analysed using 2 MPI ranks is:

SubhaloPath/
           /000/
                SubSnap_000.0.hdf5
                SubSnap_000.1.hdf5
                SrcSnap_000.0.hdf5
                SrcSnap_000.1.hdf5
           /001/
                SubSnap_001.0.hdf5
                SubSnap_001.1.hdf5
                SrcSnap_001.0.hdf5
                SrcSnap_001.1.hdf5
           /002/
                SubSnap_002.0.hdf5
                SubSnap_002.1.hdf5
                SrcSnap_002.0.hdf5
                SrcSnap_002.1.hdf5

Metadata

The metadata provides information about the run units and cosmology, as well as other useful information like the number of new subhaloes in the current output, are described below.

Property
Description
Units The unit system used by HBT-HERONS, internally and in its output.
SnapshotId The (absolute) output number of a simulation corresponding to the current HBT-HERONS (relative) output number. Both numbers are not equal when running HBT-HERONS on a subset of simulation outputs.
Cosmology Information about the cosmology, like the Hubble parameter, expansion factor, and the density parameters of matter and dark energy.
NumberOfFiles The number of SubSnap files in the current HBT-HERONS output, which equals the number of MPI ranks used.
NumberOfFakeHalos Number of Friends of Friends groups that do not have any self-bound subhaloes in the current output.
NumberOfNewSubhalos Number of subhaloes that have been identified for the first time in the current output.
NumberOfSubhalosInAllFiles Total number of subhaloes across all files in the current output.

Subhalo information

The datasets that contain the information to recover the population of subhaloes in the simulation, as well as the particles that are bound to them, are described below.

Tip

If you are analysing a simulation with many subhaloes and time outputs, we strongly recommend using the toolbox/catalogue_cleanup/SortCatalogues.py script. This script merges all files generated by different MPI ranks into a single one, and sorts subhaloes (and their properties) according to their TrackId. Doing the sorting helps speed up subsequent file reads since the index location of a subhalo is known beforehand, as it is simply its TrackId.

Property
Description
Subhalos Contains properties for each subhalo computed using the particles bound to it. A description of each property can be found here.
SubhaloParticles List of particle IDs that are bound to a subhalo, with each entry corresponding to a distinct subhalo. The IDs are sorted according to their binding energies, so the first entry for each subhalo is the most bound particle.
ParticleProperties List containing the position, velocity, mass and type of each particle bound to a subhalo, sorted in the same way as SubhaloParticles. It includes the thermal energy if HBT_UNBIND_WITH_THERMAL_ENERGY is enabled. Only saved if SaveBoundParticleProperties = 1.
BindingEnergies List containing the binding energies of each particle bound to a subhalo, sorted in the same way as SubhaloParticles. Only saved if SaveBoundParticleBindingEnergies = 1.
PotentialEnergies List containing the potential energies of each particle bound to a subhalo, sorted in the same way as SubhaloParticles. Only saved if SaveBoundParticlePotentialEnergies = 1.

All of the subhalo-related datasets are sorted in a consistent manner. This means that to obtain the properties and particles of subhalo at entry N you can do file['Subhalos'][()][N] and file['SubhaloParticles'][()][N].

Note

If MaxSampleSizeOfPotentialEstimate > 0 and RefineMostBoundParticle = 1, the values of BindingEnergies and PotentialEnergies may appear to be disordered. However, this is due to the fact that the provided values use the potential estimated via the subsampled particle distribution. The values are not updated when refining the most bound particle, as this step is only interested in the relative binding energy of a fraction / constant of the most bound particles.