## Rockstar

Rockstar tables store the halo catalogues created using the ROCKSTAR halo finder (see Bitbucket-Rockstar for the code). The table contains also consistent merger tree information in the form of links (Ids) to progenitors and descendants, see Merger trees for merger tree documentation.

Further, the catalogue includes **substructure-information** as links to the least massive (pId) and most massive (upId) host halo. **Distinct halos** can thus be found by searching for halos with no least massive halo, i.e. with **pId = -1**.

Please be aware that the Rockstar catalogue aims to provide a smooth history for each halo, and therefore halo’s properties were interpolated if a halo went missing at a timestep. These interpolated “phantom” halos are marked with the flag `phantom`

being non-zero.

The table below gives a summary of all possible columns in our Rockstar-tables in the database. Depending on the version of Rockstar, some columns may be missing (marked with *).

Column | Type | UCD | Unit | Description |
---|---|---|---|---|

dbId | bigint | meta.id; meta.main | unique database id for the halo | |

rockstarId | bigint | meta.id; meta.main | unique id for the halo, same as in Rockstar catalogue | |

scale | float | time.epoch | scale factor, same as aexp in Redshifts-table | |

desc_scale | float | time.epoch | scale factor of the descendant halo, if there is one | |

descId | bigint | meta.id.assoc | rockstarId of the descendant | |

nprog | int | meta.number | number of progenitors | |

pId | bigint | meta.id.assoc | rockstarId of least massive host halo, -1 if it is a distinct halo | |

upId | bigint | meta.id.assoc | rockstarId of most massive host halo, only different from pid, if halo lies within two or more larger halos | |

desc_pId | bigint | meta.id.assoc | pId of the descendant halo, if applicable | |

phantom | smallint | meta.code | flag for phantom halos, non-zero if the halo is interpolated across timesteps | |

Mvir_SAM | float | phys.mass | 1/h Msun | halo mass, smoothed across accretion history; always greater than the sum of halo masses of contributing progenitors; only for use with selected semi-analytic models |

Mvir | float | phys.mass | 1/h Msun | halo mass (within virial radius) |

Rvir | float | phys.size.radius | kpc/h | halo radius (comoving) |

Rs | float | phys.size.radius | kpc/h | scale radius (comoving) |

Vrms | float | phys.veloc.dispMeasure | km/s | velocity dispersion (physical) |

mmp | smallint | flag indicating if the halo is the most massive progenitor or not | ||

lastMM_scale | float | scale factor of the last major merger (mass ratio > 0.3) | ||

Vmax | float | phys.veloc | km/s | maximum circular velocity (physical) |

x | float | pos.cartesian.x | 1/h Mpc | halo position, comoving |

y | float | pos.cartesian.y | 1/h Mpc | halo position, comoving |

z | float | pos.cartesian.z | 1/h Mpc | halo position, comoving |

vx | float | phys.veloc; pos.cartesian.x | km/s | halo velocity, physical, just “a \dot{x}”, i.e. no Hubble flow |

vy | float | phys.veloc; pos.cartesian.y | km/s | halo velocity, physical, just “a \dot{y}”, i.e. no Hubble flow |

vz | float | phys.veloc; pos.cartesian.z | km/s | halo velocity, physical, just “a \dot{z}”, i.e. no Hubble flow |

angMom_x | float | phys.angMomentum; pos.cartesian.x | (Msun/h) * (Mpc/h) * km/s | halo angular momentum |

angMom_y | float | phys.angMomentum; pos.cartesian.y | (Msun/h) * (Mpc/h) * km/s | halo angular momentum |

angMom_z | float | phys.angMomentum; pos.cartesian.z | (Msun/h) * (Mpc/h) * km/s | halo angular momentum |

spin | float | halo spin parameter | ||

breadthFirstId | bigint | meta.id | Id for breadth-first ordering of halos within a tree | |

depthFirstId | bigint | meta.id | Id for depth-first ordering of halos within a tree | |

treeRootId | bigint | meta.id.assoc | rockstarId of forest to which the halo with the given treeRootId belongs | |

forestId | bigint | meta.id.assoc | forestId of the halo at the last timestep in the tree; also see this blog entry for usage examples | |

origHaloId | bigint | meta.id.cross | original halo Id from halo finder | |

rockstar_snapnum | int | time.epoch | consequent snapshot number (from which the halo originated) for Rockstar | |

snapnum | int | time.epoch | (original) snapshot number as used in other catalogues (e.g. FOF, BDM) | |

nextCoprog_depthFirstId | bigint | meta.id.assoc | depthFirstId of next coprogenitor | |

mainLeaf_depthFirstId | bigint | meta.id.assoc | depthFirstId of last leaf on the main branch, determined additionally using the database for convenience. If this value is ‘-1’, this value was not yet updated. | |

lastProg_depthFirstId | bigint | meta.id.assoc | depthFirstId of last progenitor | |

Rs_Klypin | float | phys.size.radius | Scale radius determined using Vmax and Mvir (see Rockstar paper) | |

Mvir_all | float | phys.mass | 1/h Msun | Mass enclosed within the specified overdensity, including unbound particles |

M200b | float | phys.mass | 1/h Msun | Mass enclosed within overdensity 200*rho_b |

M200c | float | phys.mass | 1/h Msun | Mass enclosed within overdensity 200*rho_crit |

M500c | float | phys.mass | 1/h Msun | Mass enclosed within overdensity 500*rho_crit |

M2500c | float | phys.mass | 1/h Msun | Mass enclosed within overdensity 2500*rho_crit |

Xoff | float | phys.distance | 1/h kpc | Offset of density peak from average particle position, comoving |

Voff | float | phys.veloc;arith.diff | km/s | Offset of density peak from average particle velocity, comoving |

spin_Bullock | float | Bullock spin parameter (J/(sqrt(2)*GMVR)) | ||

axisratio_2_1 | float | ratio of second largest shape ellipsoid axes to largest shape ellipsoid axis; shapes determined by method in Allgood et al. (2006) | ||

axisratio_3_1 | float | ratio of smallest shape ellipsoid axes to largest shape ellipsoid axis | ||

axis1_x | float | 1/h kpc | coordinate of largest shape ellipsoid axis, comoving | |

axis1_y | float | 1/h kpc | coordinate of largest shape ellipsoid axis, comoving | |

axis1_z | float | 1/h kpc | coordinate of largest shape ellipsoid axis, comoving | |

axisratio_2_1_500c * | float | ratio of second largest shape ellipsoid axes to largest shape ellipsoid axis, for particles within overdensity 500*rho_crit | ||

axisratio_3_1_500c * | float | ratio of smallest shape ellipsoid axes to largest shape ellipsoid axis, for particles within overdensity 500*rho_crit | ||

axis1_x_500c * | float | 1/h kpc | coordinate of largest shape ellipsoid axis, for particles within overdensity 500*rho_crit, comoving | |

axis1_y_500c * | float | 1/h kpc | coordinate of largest shape ellipsoid axis, for particles within overdensity 500*rho_crit, comoving | |

axis1_z_500c * | float | 1/h kpc | coordinate of largest shape ellipsoid axis, for particles within overdensity 500*rho_crit, comoving | |

T_U | float | phys.energy;arith.ratio | ratio of kinetic to potential energies | |

M_pe_Behroozi * | float | phys.mass | 1/h Msun | Pseudo-evolution corrected masses (very experimental) |

M_pe_Diemer * | float | phys.mass | 1/h Msun | Pseudo-evolution corrected masses (very experimental) |

Rhalfmass * | float | phys.radius | 1/h kpc | Radius within which 1/2 of Mvir is enclosed |

Macc | float | phys.mass | 1/h Msun | halo mass at accretion of the halo to its host |

Mpeak | float | phys.mass | 1/h Msun | peak mass over accretion history |

Vacc | float | phys.veloc | Vmax at accretion | |

Vpeak | float | phys.veloc | peak Vmax over accretion history | |

halfmass_scale | float | time.epoch | scale factor at which the most massive progenitor (mmp) reaches 0.5*Mpeak | |

accRate_Inst | float | 1/h Msun/yr | instantaneous halo mass accretion rate | |

accRate_100Myr | float | 1/h Msun/yr | halo mass accretion rate averaged over passt 100 Myr | |

accRate_1Tdyn | float | 1/h Msun/yr | halo mass accretion rate averaged over past 1*virial dynamical time | |

accRate_2Tdyn | float | 1/h Msun/yr | halo mass accretion rate averaged over past 2*virial dynamical time | |

accRate_Mpeak * | float | 1/h Msun/yr | growth rate of Mpeak, averaged from current z to z+0.5 | |

Mpeak_scale * | float | time.epoch | scale factor at which Mpeak was reached | |

Acc_scale * | float | time.epoch | scale factor at which satellites were accreted | |

First_Acc_scale * | float | time.epoch | scale factor at which current and former satellites first passed through a larger halo | |

First_Acc_Mvir * | float | phys.mass | h-1.solMass | Mvir at First_Acc_scale |

First_Acc_Vmax * | float | phys.veloc | km/s | Vmax at First_Acc_scale |

Vmax_Mpeak * | float | phys.veloc | km/s | halo Vmax at the scale at which Mpeak was reached |

ix | int | pos.cartesian.x | spatial grid index, x-direction | |

iy | int | pos.cartesian.y | spatial grid index, y-direction | |

iz | int | pos.cartesian.z | spatial grid index, z-direction | |

phkey | int | Peano-Hilbert key index of space-filling curve |

### Examples

**Get 10 rows from the ROCKSTAR table**

SELECT * FROM SMDPL.Rockstar LIMIT 10

This query retrieves ten records (arbitrarily) from the Rockstar-table.

**Get the 10 most massive ROCKSTAR-halos at z=0**

SELECT rockstarId, x, y, z, Mvir, Rvir FROM SMDPL.Rockstar WHERE snapnum = 116 ORDER BY Mvir DESC LIMIT 10

This query retrieves the first ten Rockstar-halos for redshift 0 (snapshot number 116) after sorting them by decreasing mass and hence returns the ten most massive objects.

**Get all progenitors of a halo**

SELECT p.* FROM MDPL2.Rockstar AS p, (SELECT depthFirstId, lastProg_depthFirstId FROM MDPL2.Rockstar WHERE rockstarId=...) AS r WHERE p.depthFirstId BETWEEN r.depthFirstId AND r.lastProg_depthFirstId ORDER BY p.snapnum

This query makes use of the properties of `depthFirstId`

s: all halos with ids between the current halos id and its last progenitor id (`lastProg_depthFirstId`

) must be progenitors.

**Get the main branch, i.e. the most massive progenitors for each timestep, for e.g. extracting mass accretion history, for a halo with given rockstarId**

SELECT p.* FROM MDPL2.Rockstar AS p, (SELECT depthFirstId, mainLeaf_depthFirstId FROM MDPL2.Rockstar WHERE rockstarId=...) AS mycl WHERE p.depthFirstId BETWEEN mycl.depthFirstId AND mycl.mainLeaf_depthFirstId ORDER BY p.snapnum

This uses the `mainLeaf_depthFirstId`

which is the depthFirstId of the last leaf on the main branch, i.e. it’s the earliest found main progenitor (with mmp-flag = 1).