Understanding Output¶
Particle Worldline Data¶
Some of the most important data are the files containing the position, density, etc. of the tracked particles at each moment in time. We typically find the worldlines for 10^5 particles. These data have filenames like ptracks_*.hdf5.
Description of keys¶
ID
is particle ID.ChildID
is particle Child ID.PType
is particle type (usually an integer).Den
is baryonic number density in cgs.M
is mass in solar masses.P
is position in physical kpc.SFR
is star formation rate in solar masses/year.T
is temperature in kelvin.V
is velocity in peculiar km/s.Z
is metal mass fraction in solar units (using Z_sun = 0.02).redshift
is, well, redshift.snum
is snapshot number.parameters
are the parameters the pathfinding was done with.
Galaxy IDs Data¶
These data contain information about what galaxies and halos the tracked particles are associated with. These data have filenames like galids_*.hdf5.
Description of keys¶
Some data may not contain all these keys if the creator of the data decided not to generate them.
gal_id
is the ID of the galaxy this particle is associated with, at each time. This is defined as the ID of the _least_ massive galaxy that contains the particle within its characteristic radius. The default characteristic radius is five times the stellar half-mass radius. By choosing the least massive galaxy, we preferentially associate particles with satellites. As of right now, the galaxy ID itself is the same as the instantaneous ID (i.e. not merger tree ID) of the host halo. A value of -2 means the particle is not associated with any galaxy.mt_gal_id
is the merger tree ID of the galaxy this particle is associated with, at each time. This is defined as the ID of the _most_ massive galaxy that contains the particle within its characteristic radius. Not all galaxies are tracked by the merger tree, so by choosing the most massive galaxy we are more likely to choose the central galaxy in the simulation. As of right now, the galaxy ID itself is the same as the merger tree ID of the host halo. A value of -2 means the particle is not associated with any galaxy.host_halo_id
is the halo ID of the host halo the particle is part of.d_gal
is the distance to the center of the closest galaxy, in proper kpc.d_gal_scaled
is the distance to the center of the closest galaxy, after scaling by the stellar half-mass radius. Note: if the characteristic radius is not a multiple of the stellar half-mass radius, but some other length scale, then d_gal_scaled will be scaled by that length scale instead.d_other_gal
is the same asd_gal
, but only for galaxies other than the simulation’s central galaxy.d_other_gal_scaled
is the equivalent ofd_gal_scaled
but ford_other_gal
.
Events Data¶
These are derived data products, created by post-processing the particle worldlines and galaxy IDs.
Description of Keys¶
is_in_main_gal
is a boolean array used to identify particles in the simulation’s main galaxy.gal_event_id
(n_particles, n_snap-1) is an identifier used when particles leave or enter the main galaxy. A value of 1 (-1) means the particle has just entered (left) the main galaxy, as defined byis_in_main_gal[:,0:n_snap-1] - is_in_main_gal[:,1:n_snap]
. A value of 0 indicates no change.
Very Basic Analysis Examples¶
Load the particle tracks data.
import h5py
f = h5py.File( 'path_to_data/ptracks_example.hdf5', 'r' )
Get the IDs of all the particles that were tracked.
f['ID'][...]
Get the snapshots used when compiling the data.
f['snum'][...]
Get the density of particle with index 10 at every snapshot.
f['Den'][...][10]
Get the density of all particles at the latest snapshot.
f['Den'][...][:,0]
Get the parameters the particle tracking was done with.
for key in f['parameters'].attrs.keys():
print '{} = {}'.format( key, f['parameters'].attrs[key] )
The versions of the code that the pathfinding was run with, along with relevant cosmological constants, are stored in the .hdf5 attributes.
f.attrs.keys()