Physical Quantities
A simulation output stores many different types of physical information about its matter components, e.g. gas, stars, dark matter, and supermassive black holes. The original snapshots contain basic information, such as positions and masses, and we refer to these as default snapshot quantities. After a galaxy/halo finder has been run, the resulting group catalogs aggregate these same fields, computing e.g. the total stellar mass of a galaxy by summing up the masses of its associated stars. We refer to these fields as default catalog quantities.
From these physical quantities, many others can be derived. These are value-added properties which are not output directly by the simulation, but must be calculated. For example, simple unit conversions (e.g. from code mass, to solar masses), fundamental derived quantities (e.g. pressure, given density and internal energy), non-trivial theoretical quantities (e.g. enclosed mass, gravitational free-fall time, or the ratio of gas cooling time to free-fall time), and post-processed quantities and observables (e.g. gas x-ray emission, stellar light and spectra, or ion abundances from photoionization modeling). These we refer to as custom snapshot quantities, and when the derived properties are for galaxies or halos instead of individual particles/cells, custom catalog quantities.
Default Snapshot Quantities
These are the fields which are directly available from the on-disk snapshot files themselves.
For example, PartType0/StarFormationRate
(for gas) or PartType4/Masses
(for stars).
For complete documentation of available fields, their definitions, and units, see
the IllustrisTNG Public Data Release Snapshot Documentation.
The temet.load.snap_fields
module defines metadata associated with these fields,
including a description (label for plotting), units, and default bounds.
Default Catalog Quantities
These are the fields which are directly available from the on-disk group catalog files themselves.
Specifically, by the combination of the friends-of-friends (FoF) algorithm plus the Subfind algorithm,
which identifies gravitationally bound structures: halos and subhalos.
For example, SubhaloMass
or Group_M_Crit200
are two common fields.
For complete documentation of available fields, their definitions, and units, see
the IllustrisTNG Public Data Release Group Catalog Documentation.
Custom Snapshot Quantities
The following particle/cell-level custom quantities are currently defined, in the
temet.load.snap_fields_custom
module, along with associated metadata including
a description, units, reasonable bounds, and so on.
Field Name |
Label |
Units |
Aliases |
Description |
---|---|---|---|---|
mass_msun |
Mass |
\(\rm{M_{sun}}\) |
Particle/cell mass in solar masses. |
|
mass |
Mass |
code_mass |
masses |
Particle/cell mass in code units, supporting constant-mass DM particles. |
velmag |
Velocity Magnitude |
\(\rm{km/s}\) |
vmag |
Magnitude of the gas velocity 3-vector. |
subfind_vol |
Subfind Volume |
code_volume |
subfind_volume |
Particle ‘volume’ based on SubfindHsml of the N=64 nearest DM particles. |
gravpot |
Gravitational Potential |
\(\rm{(km/s)^2}\) |
gravpotential |
Gravitational potential (from stored value in snapshot). |
vesc |
Escape Velocity |
\(\rm{km/s}\) |
escapevel |
Escape velocity, based on the stored gravitational Potential. |
dt |
Timestep |
\(\rm{yr}\) |
dt_yr |
Particle/cell total actual/effective timestep, from stored snapshot value. |
temp |
Gas Temperature |
\(\rm{K}\) |
temperature |
Gas temperature. |
temp_old |
Gas Temperature (Uncorrected) |
\(\rm{K}\) |
Gas temperature (uncorrected values for TNG runs). |
|
temp_sfcold |
Gas Temperature |
\(\rm{K}\) |
Gas temperature, where star-forming gas is set to the sub-grid (constant) cold-phase temperature, instead of eEOS ‘effective’ temperature. |
|
temp_sfhot |
Gas Temperature |
\(\rm{K}\) |
Gas temperature, where star-forming gas is set to the sub-grid (constant) hot-phase temperature, instead of the eEOS ‘effective’ temperature. Use with caution. |
|
twophase_coldfrac |
SH03 Cold-phase Mass Fraction |
– |
Cold-phase mass (or density) fraction, for the SH03 two-phase ISM model. Note: is exactly 0.0 for non-starforming (SFR==0) gas cells, and typically of order ~0.9 for SFR>0 cells. |
|
ne |
Electron Number Density \(\rm{n_e}\) |
\(\rm{cm^{-3}}\) |
nelec |
Electron number density, derived from (fractional) ElectronAbundance, handling runs without cooling. |
ne_twophase |
Hot-phase Electron Number Density \(\rm{n_e}\) |
\(\rm{cm^{-3}}\) |
Electron number density, where for star-forming gas cells we override the naive snapshot value, which is unphysically high, with a value based on the SH03 hot-phase mass only. |
|
nh |
Gas Hydrogen Density \(\rm{n_H}\) |
\(\rm{cm^{-3}}\) |
hdens |
Hydrogen number density, derived from total Density. |
xhi |
Neutral Hydrogen Mass Fraction \(\rm{x_{HI}}\) |
– |
massfrac_hi |
Neutral hydrogen fraction, relative to the total gas mass. No H2 model applied. |
numdens |
Gas Number Density |
\(\rm{cm^{-3}}\) |
Total gas number density, derived from total Density. |
|
dens_critratio |
\(\rm{\rho_{gas} / \rho_{crit}}\) |
– |
Mass density to critical density. |
|
dens_critb |
\(\rm{\rho_{gas} / \rho_{crit,b}}\) |
– |
Mass density to critical baryon density. |
|
entropy |
Gas Entropy |
\(\rm{K\ cm^2}\) |
ent, entr |
Gas entropy, derived from (u,dens). |
bmag |
Magnetic Field Strength |
\(\rm{Gauss}\) |
bfieldmag |
Magnitude of the gas magnetic field 3-vector in Gauss. |
bmag_ug |
Magnetic Field Strength |
\(\rm{\mu G}\) |
bfieldmag_ug |
Magnitude of the gas magnetic field 3-vector in micro-Gauss. |
b2 |
Magnetic Field Squared |
code units |
Magnitude squared of the gas magnetic field 3-vector (in code units). |
|
va |
Alfven Velocity |
\(\rm{km/s}\) |
vel_alfven |
Magnetic Alfven-wave velocity. |
cs |
Sound Speed |
\(\rm{km/s}\) |
vel_sound, csound |
Gas sound speed (hydro only version). |
volume |
Gas Cell Volume |
(code_length) \(^3\) |
vol |
Gas cell volume. |
volume_cm3 |
Gas Cell Volume |
\(\rm{cm^3}\) |
vol_cm3 |
Gas cell volume [cm^3]. |
volume_kpc3 |
Gas Cell Volume |
\(\rm{kpc^3}\) |
vol_kpc3 |
Gas cell volume [kpc^3]. |
cellsize |
Gas Cell Size |
code_length |
cellrad |
Gas cell ‘size’ i.e. ‘cell radius’, defined as the radius of the volume equivalent sphere. |
cellsize_kpc |
Gas Cell Size |
\(\rm{kpc}\) |
cellrad_kpc |
Gas cell size [kpc]. |
cellsize_ckpc |
Gas Cell Size |
\(\rm{ckpc}\) |
cellrad_ckpc |
Gas cell size [comoving kpc]. |
hsml |
Smoothing Length |
code_length |
Smoothing length i.e. characteristic size, possibly for visualization purposes. |
|
f_b |
\(\rm{f_{b} / f_{b,cosmic}}\) |
– |
baryon_frac |
Baryon fraction, defined as (gas+stars)/(gas+stars+DM), all estimated locally, then normalized to the cosmic baryon fraction. |
pressure |
Gas Pressure |
\(\rm{K\ cm^{-3}}\) |
gas_pres, gas_pressure, pres, p_gas, p_thermal |
Gas thermal pressure. |
pressure_mag |
Gas Magnetic Pressure |
\(\rm{K\ cm^{-3}}\) |
mag_pres, magnetic_pressure, p_magnetic, p_b |
Gas magnetic pressure. |
pressure_ratio |
\(\rm{\beta^{-1} = P_{B} / P_{gas}}\) |
– |
pres_ratio |
Ratio of gas magnetic to thermal pressure (\(\beta^{-1}\)). |
beta |
\(\rm{\beta = P_{gas} / P_{B}}\) |
– |
Ratio of gas thermal to magnetic pressure (plasma \(\beta\)). |
|
pressure_tot |
Gas Total Pressure = \(\rm{P_{gas} + P_{B}}\) |
\(\rm{K\ cm^{-3}}\) |
p_tot, pres_tot, pres_total, pressure_total |
Total (thermal+magnetic) gas pressure. |
u_kinetic |
Gas Kinetic Energy Density |
\(\rm{erg\ cm^{-3}}\) |
u_ke, kinetic_edens, kinetic_energydens |
Kinetic, as opposed to thermal, energy density. |
uratio_mag_ke |
Gas ( \(\rm{u_{mag} / u_{ke}}\) ) Ratio |
– |
uratio_b_ke, u_b_ke_ratio, b_ke_edens_ratio |
Ratio of gas magnetic to kinetic energy density. |
tcool |
Gas Cooling Time |
\(\rm{Gyr}\) |
cooltime |
Gas cooling time (computed from saved GFM_CoolingRate), is np.nan if cell has net heating. |
coolrate |
Gas Cooling Rate |
\(\rm{erg/s/g}\) |
coolingrate |
Gas specific cooling rate (computed from saved GFM_CoolingRate), is np.nan if cell has net heating. |
heatrate |
Gas Heating Rate |
\(\rm{erg/s/g}\) |
heatingrate |
Gas specific heating rate (computed from saved GFM_CoolingRate), is np.nan if cell has net cooling. |
netcoolrate |
Gas Net Cooling Rate |
\(\rm{erg/s/g}\) |
Gas net specific cooling rate (computed from saved GFM_CoolingRate). |
|
coolrate_powell |
Powell Cooling Rate |
\(\rm{erg/s/g}\) |
Gas ‘cooling rate’ of Powell source term, specific (computed from saved DivB, GFM_CoolingRate). |
|
dt_hydro |
Gas Courant Timestep |
\(\rm{yr}\) |
dt_hydro_yr |
Gas cell hydrodynamical (Courant) timestep. |
tdep |
Gas Depletion Time |
\(\rm{Gyr}\) |
depletion_time, tau_dep |
Gas cell depletion time: cells with zero sfr given nan. |
metaldens |
Metal Density |
\(\rm{g\ cm^{-3}}\) |
dens_z, dens_metal |
Total metal mass density. |
sz_y |
Sunyaev-Zeldovich y-parameter |
\(\rm{kpc^2}\) |
sz_yparam, yparam |
(Thermal) Sunyaev-Zeldovich y-parameter (per gas cell). |
ksz_y |
Kinetic SZ y-parameter |
\(\rm{kpc^2/g}\) |
ksz_yparam, ksz_y |
(Kinetic) Sunyaev-Zeldovich y-parameter (per gas cell). |
frm_x |
Faraday RM |
\(\rm{rad m^{-2}}\) |
frm_y, frm_z |
Faraday rotation measure -integrand- (ne*B_parallel) in [rad m^-2]. Must be integrated through all cells along a line of sight, as sum(integrand*dl) where dl is the pathlength through each cell in pc. Requires the B-field component ‘along the line-of-sight’ which must be axis-aligned and specified. |
p_sync |
Synchrotron Power |
\(\rm{W/Hz}\) |
p_sync_ska, p_sync_ska_eta43, p_sync_ska_alpha15, p_sync_vla |
Radio synchrotron power (simple model). |
halpha_lum |
\(\rm{L_{H\alpha}}\) |
\(\rm{10^{30}\ erg/s}\) |
halpha, sfr_halpha |
H-alpha line luminosity, simple model: linear conversion from SFR. |
s850um_flux |
\(\rm{S_{850\mu m}}\) |
\(\rm{mJy}\) |
submm_flux, s850um_flux_ismcut, submm_flux_ismcut |
850 micron (sub-mm) flux (simple model). |
xray_lum |
\(\rm{L_{X,bolometric}}\) |
\(\rm{10^{30}\ erg/s}\) |
xray |
Bolometric x-ray luminosity, simple bremsstrahlung (free-free) emission model only. |
xray_lum_apecX |
\(\rm{L_{X}}\) |
\(\rm{10^{30}\ erg/s}\) |
xray_lum_05-2kev, xray_flux_05-2kev, xray_lum_05-2kev_nomet, xray_flux_05-2kev_nomet, xray_counts_erosita, xray_counts_chandra, xray_lum_0.1-2.4kev, xray_lum_0.5-2.0kev, xray_lum_0.3-7.0kev, xray_lum_0.5-5.0kev, xray_lum_0.5-8.0kev, xray_lum_2.0-10.0kev |
X-ray luminosity/flux/counts (the latter for a given instrumental configuration). If a decimal point ‘.’ in field, using my APEC-based tables, otherwise using XSPEC-based tables (from Nhut). |
n_hi |
\(\rm{N_{HI}}\) |
\(\rm{cm^{-2}}\) |
hi_column |
Experimental: assign a N_HI (column density) to every cell based on a (xy) grid projection. |
hi_mass |
\(\rm{M_{HI}}\) |
code_mass |
mass_hi, h i mass, hi mass, h i numdens |
Hydrogen model: atomic H (neutral subtracting molecular) mass calculation. |
h2_mass |
\(\rm{M_{H2}}\) |
code_mass |
mass_h2, h2mass |
Hydrogen model: molecular H (neutral subtracting atomic) mass calculation. |
mass_h_poppingX |
\(\rm{M_{HI,H}}\) |
code_mass |
mhi_br, mhi_gk, mhi_kmt, mh2_br, mh2_gk, mh2_kmt |
Pre-computed atomic (HI) and molecular (H2) gas cell masses (from Popping+2019). |
numdens_h_poppingX |
\(\rm{n_{HI,H}}\) |
\(\rm{cm^{-3}}\) |
nhi_br, nhi_gk, nhi_kmt, nh2_br, nh2_gk, nh2_kmt |
Pre-computed atomic (HI) and molecular (H2) gas cell number densities (from Popping+2019). |
mass_h_diemerX |
\(\rm{M_{HI,H}}\) |
code_mass |
mhi_gd14, mhi_gk11, mhi_k13, mhi_s14, mh2_gd14, mh2_gk11, mh2_k13, mh2_s14 |
Pre-computed atomic (HI) and molecular (H2) gas cell masses (from Diemer+2019). |
numdens_h_diemerX |
\(\rm{n_{HI,H}}\) |
\(\rm{cm^{-3}}\) |
nhi_gd14, nhi_gk11, nhi_k13, nhi_s14, nh2_gd14, nh2_gk11, nh2_k13, nh2_s14 |
Pre-computed atomic (HI) and molecular (H2) gas cell number densities (from Diemer+2019). |
wind_dedt |
Wind Energy Injection Rate |
\(\rm{10^{51}\ erg/s}\) |
wind_edot, sn_dedt, sn_edot, sf_dedt, sf_edot |
TNG/SH03 wind model: feedback energy injection rate. |
wind_dpdt |
Wind Momentum Injection Rate |
\(\rm{10^{51}\ g\,cm\,s^{-2}}\) |
wind_pdot, sn_dpdt, sn_pdot, sf_dpdt, sf_pdot |
TNG/SH03 wind model: feedback momentum injection rate. |
wind_vel |
Wind Launch Velocity |
\(\rm{km/s}\) |
wind_launchvel |
TNG/SH03 wind model: launch velocity. |
wind_eta |
Wind Mass Loading \(\rm{\eta_m}\) |
– |
wind_massloading, wind_etam |
TNG/SH03 wind model: mass loading factor (at launch). |
z_solar |
Metallicity |
\(\rm{Z_{sun}}\) |
metal_solar |
Metallicity in solar units. |
sn_iaii_ratio_fe |
Mass Ratio \(\rm{Fe_{SNIa} / {Fe}_{SNII}}\) |
– |
GFM_MetalsTagged: ratio of iron mass [linear] produced in SNIa versus SNII. |
|
sn_iaii_ratio_metals |
Mass Ratio \(\rm{Z_{SNIa} / Z_{SNII}}\) |
– |
GFM_MetalsTagged: ratio of total metal mass [linear] produced in SNIa versus SNII. |
|
sn_ia_agb_ratio_metals |
Mass Ratio \(\rm{Z_{SNIa} / Z_{AGB}}\) |
– |
GFM_MetalsTagged: ratio of total metal mass [linear] produced in SNIa versus AGB. |
|
metalmass |
Metal Mass |
code_mass |
mass_z, mass_metal, metalmass_msun |
Total metal mass (convert GFM_Metals from fraction to mass). |
star_age |
Stellar Age |
\(\rm{Gyr}\) |
stellar_age |
Age of stellar population (conversion of GFM_StellarFormationTime). |
z_form |
Stellar Formation Redshift |
– |
z_formation |
Formation redshift of stellar population (conversion of GFM_StellarFormationTime). |
bh_lbol |
\(\rm{L_{bol}}\) |
\(\rm{erg/s}\) |
bh_bollum, bh_bollum_obscured |
Black hole bolometric luminosity (optionally with obscuration). |
bh_lbol_basic |
\(\rm{L_{bol}}\) |
\(\rm{erg/s}\) |
bh_bollum_basic, bh_bollum_basic_obscured |
Black hole bolometric luminosity (simple model, optionally with obscuration). |
bh_lumedd |
\(\rm{L_{edd}}\) |
\(\rm{erg/s}\) |
ledd, lumedd, edd_ratio, bh_ledd, eddington_lum |
Black hole Eddington luminosity. |
bh_eddratio |
\(\rm{\lambda_{edd} = L_{bol} / L_{edd}}\) |
– |
eddington_ratio, lambda_edd, edd_ratio |
Black hole bolometric luminosity (optionally with obscuration). |
bh_mode |
BH mode (0=low, 1=high) |
– |
Black hole accretion/feedback mode (0=low/kinetic, 1=high/quasar). |
|
bh_dedt |
BH Energy Injection Rate |
\(\rm{erg/s}\) |
bh_edot |
Black hole feedback energy injection rate. |
pos_relX |
Halocentric Position |
code_length |
pos_rel_kpc, pos_rel_rvir |
3D (xyz) position, relative to the halo/subhalo center. |
vel_rel |
Halo-Relative Velocity |
\(\rm{km/s}\) |
vrel, halo_vrel, halo_relvel, relative_vel |
3D (xyz) velocity, relative to the halo/subhalo motion. |
vel_rel_mag |
Halo-Relative Velocity |
\(\rm{km/s}\) |
vrelmag, halo_vrelmag, relative_vmag |
Magnitude of velocity, relative to the halo/subhalo motion. |
radX |
Radial Distance |
code_length |
halo_rad, rad_r500, rad_rvir, halo_rad_r500, halo_rad_rvir |
3D radial distance from (parent) halo center. |
rad_kpc |
Radial Distance |
\(\rm{kpc}\) |
halo_rad_kpc, rad_kpc_linear |
3D radial distance from (parent) halo center in [kpc]. |
dist_2dz |
– |
dist_2dz_r200, dist_2dz_r500 |
2D distance (i.e. impact parameter), projecting along z-hat, from (parent) halo center. |
|
vradX |
Radial Velocity |
\(\rm{km/s}\) |
halo_vrad, radvel, halo_radvel, vrad_vvir, halo_vrad_vvir, halo_radvel_vvir |
Radial velocity, relative to the central subhalo and its motion, including hubble correction. Optionally normalized by the halo virial velocity. Convention: negative = in, positive = out. |
angmomX |
Specific Angular Momentum |
\(\rm{M_{sun}\ kpc\ km/s}\) |
j, specj, specangmom, angmom_mag, specj_mag, specangmom_mag |
Angular momentum, relative to the central subhalo and its motion, including hubble correction, either the 3-vector or the specific magnitude (if field contains ‘_mag’). |
menc |
Enclosed Mass |
code_mass |
enclosedmass |
Enclosed mass, i.e. total halo mass within the radial distance of each particle/cell. |
menc_msun |
Enclosed Mass |
\(\rm{M_{sun}}\) |
enclosedmass_msun |
Enclosed mass, in solar masses. |
tff |
Gravitational Free-Fall Time |
\(\rm{Gyr}\) |
tfreefall, freefalltime |
Gravitational free-fall time. |
tcool_tff |
\(\rm{t_{cool} / t_{ff}}\) |
– |
Ratio of gas cooling time to gravitational free-fall time. |
|
delta_rho |
\(\delta \rho / <\rho>\) |
– |
Ratio of density to local mean density, delta_rho/<rho>, based on a spherically symmetric, halo-centric mass density profile. This is a special case of the below. |
|
subhalo_id |
Subhalo ID |
– |
subid, subhaloid |
Parent subhalo ID, per particle/cell. |
halo_id |
Halo ID |
– |
haloid |
Parent halo ID, per particle/cell. |
The following ‘wildcard’ fields match any field request whose name contains the pattern.
Field Name |
Label |
Units |
Description |
---|---|---|---|
tau0_X |
Optical Depth \(\rm{\tau_{X,0}}\) |
– |
Optical depth to a certain line, at line center. |
metaldens_X |
X Metal Density |
\(\rm{g\ cm^{-3}}\) |
Metal mass density for a given species, e.g. ‘metaldens_O’. |
{ion} {num} mass |
{ion} {num} Ionic Mass |
\(\rm{M_{sun}}\) |
CLOUDY-based photoionization calculation: total ionic mass (e.g. ‘O VI mass’, ‘Mg II mass’), for any known ion name and excited level number. Note: uses spaces in field name. |
{ion} {num} frac |
{ion} {num} Ionization Fraction |
– |
CLOUDY-based photoionization calculation: ionic mass fraction (e.g. ‘O VI frac’, ‘Mg II frac’), for a given ion name and excited level number. Note: uses spaces in field name. |
{ion} {num} numdens |
\(\rm{n_{\{ion\}\{num\}}}\) |
\(\rm{cm^{-3}}\) |
CLOUDY-based photoionization calculation: ionic number density (e.g. ‘O VI numdens’, ‘Mg II numdens’), for a given ion name and excited level number. Note: uses spaces in field name. |
{line_name} flux |
{line_name} Line Flux |
\(\rm{photon/s/cm^2}\) |
CLOUDY-based photoionization calculation: ion line emission flux (e.g. ‘H-alpha flux’, ‘O–6-1037.62A’), for a given line name. Note: uses spaces in field name. |
{line_name} lum |
{line_name} Luminosity |
\(\rm{10^{30}\ erg/s}\) |
CLOUDY-based photoionization calculation: ion line luminosity (e.g. ‘MgII lum’, ‘CVI lum’), for a given line name. Note: uses spaces in field name. |
ionmassratio_X_Y |
(X / Y) Mass Ratio |
– |
Ratio between two ionic masses, e.g. ‘ionmassratio_O6_O8’. |
numratio_X_Y |
\(\rm{[X/Y]_{}}\) |
– |
Metal abundance number density ratio e.g. ‘numratio_Si_H’, relative to solar, e.g. [Si/H] = log(n_Si/n_H)_cell - log(n_Si/n_H)_solar |
massratio_X_Y |
Mass Ratio \(\rm{(X/Y)_{}}\) |
– |
Metal abundance mass ratio e.g. ‘massratio_Si_H’, absolute (not relative to solar). |
metalmass_X |
X Metal Mass |
code_mass |
Metal mass for a given species (convert GFM_Metals from fraction to mass), e.g. ‘metalmass_O’ or ‘metalmass_Mg’ or ‘metalmass_Fe_msun’. |
delta_X |
\(\rm{\delta X / <X>}\) |
– |
Ratio of any particle/cell property to its local average, based on a spherically symmetric, halo-centric radial profile. |
parent_subhalo_X |
Parent Subhalo [X] |
– |
Any property of the parent subhalo, per particle/cell. |
parent_halo_X |
Parent Halo [X] |
– |
Any property of the parent halo, per particle/cell. |
Adding New Custom Snapshot Quantities
Each custom field is generated by a function, and the name of the function is the name of the
custom field. All such defined fields are recorded in a ‘registry’. To create a new custom
field is simple: just define a function, and decorate it with the @snap_field
decorator, as
shown below. It must accept four ordered arguments: (sim, partType, field, args)
, and must
return a numpy array of the requested values.
You can find all built-in custom quantities defined in the temet.load.snap_fields_custom
module. If you are editing this package directly, or want to share your custom fields in the
future, you can add to that file. But, you can also define your custom field in any file you want.
For example, to define a new custom field for the ‘spherical equivalent radius’ of a gas cell:
from temet.load.snapshot import snap_field
@snap_field
def cell_radius(sim, partType, field, args):
# load and manipulate data, return
vol = sim.snapshotSubset(partType, 'vol', **args)
return (vol * 3.0 / (4*np.pi))**(1.0/3.0)
Important metadata should also be specified, just below (and outside) the function itself:
cell_radius.units = 'code_length'
cell_radius.label = 'Cell Radius'
cell_radius.limits = [-2.0, 2.0]
cell_radius.log = True
Note: units
and label
should correspond to the returned values. limits
is a default
suggestion for a [min,max]
range for plotting, while log
indicates if the value should
in general be logged for plotting/display (usually True, and by default True if omitted, as our
convention is to always return linear values).
You can also register the same derived field under one or more additional names (‘aliases’):
@snap_field(aliases=['cellrad','rcell'])
def cell_radius(sim, partType, field, args):
# load and manipulate data, return
# ...
Finally, you can define ‘wildcard’ fields which capture, and then handle, many different field names
at once. For example, imagine you could compute the optical stellar spectrum for any star particle,
and you wanted to define a new field of the form specmean_{wavemin}_{wavemax}
which would return
the mean flux between the two specified wavelengths, which are arbitrary inputs. If we had such a custom
field, we could compute e.g. D4000 = specmean_4050_4250 / specmean_3750_3950}
(indeed,
we could then define yet another custom field called D4000
which did exactly this, automatically).
To handle these two field names, or any others of the same form, we could define:
@snap_field(multi=True)
def specmean_(sim, partType, field, args):
# get wavelengths out of field string
_, wavemin, wavemax = field.split('_')
# compute spectrum, measure mean in this wavelength window, and return
# ...
In this case, any snapshot load request (e.g. sim.stars('specmean_5000,6000', haloID=10)
) which
contains the string specmean_
will get routed to this generator function.
Note: in the case that multi
is not a simple bool, but instead a string, then the value
itself is used as the matching pattern (see cloudy_
for an example, which matches on spaces).
Custom Catalog Quantities
The following halo/subhalo custom quantities are currently defined, in the
temet.load.groupcat_fields_custom
module, along with associated metadata including
a description, units, reasonable bounds, and so on.
Field Name |
Label |
Units |
Aliases |
Description |
---|---|---|---|---|
subhalo_id |
Subhalo ID |
– |
subhalo_index, id, index |
Subhalo ID/index. |
central_flag |
Central Flag (0=no, 1=yes) |
– |
cen_flag, is_cen, is_central |
Subhalo central flag (1 if central, 0 if not). |
contam_frac |
Low-res Contamination Fraction |
– |
Subhalo contamination fraction (low-res DM to total DM particle count). |
|
mhalo_200 |
Halo Mass \(\rm{M_{200c}}\) |
\(\rm{M_{sun}}\) |
mhalo_200_code, mhalo_200_parent, m200, m200c, mhalo |
Parent halo total mass (\(\rm{M_{200,crit}}\)). Only defined for centrals: satellites are assigned a value of nan (excluded by default), unless ‘_parent’ is specified in the field name, in which case satellites are given the same host halo mass as their central. |
mhalo_500 |
Halo Mass \(\rm{M_{500c}}\) |
\(\rm{M_{sun}}\) |
mhalo_500_code, mhalo_500_parent, m500, m500c |
Parent halo total mass (\(\rm{M_{500,crit}}\)). Only defined for centrals: satellites are assigned a value of nan (excluded by default). |
mhalo_vir |
Halo Mass \(\rm{M_{vir}}\) |
\(\rm{M_{sun}}\) |
mhalo_vir_code, mhalo_vir_parent |
Parent halo total mass (\(\rm{M_{vir}}\)). Defined by \(\rm{M_{\Delta}}\) where \(\Delta\) is the overdensity based on spherical tophat collapse. Only defined for centrals: satellites are assigned a value of nan (excluded by default). |
rhalo_200 |
\(\rm{R_{halo,200c}}\) |
\(\rm{kpc}\) |
rhalo_200_code, rhalo_200_parent, rhalo, r200, rhalo_200, rvir |
Parent halo virial radius (\(\rm{R_{200,crit}}\)). Only defined for centrals: satellites are assigned a value of nan (excluded by default). |
rhalo_500 |
\(\rm{R_{halo,500c}}\) |
\(\rm{kpc}\) |
rhalo_500_code, rhalo_500_parent, r500, rhalo_500 |
Parent halo \(\rm{R_{500,crit}}\) radius. Only defined for centrals: satellites are assigned a value of nan (excluded by default). |
vhalo |
\(\rm{v_{200,halo}}\) |
\(\rm{km/s}\) |
v200, vvir |
Parent halo virial velocity (\(\rm{V_{200}}\)). Only defined for centrals: satellites are assigned a value of nan (excluded by default). |
halo_numsubs |
\(\rm{N_{sub}}\) in Halo |
– |
halo_nsubs, nsubs, numsubs |
Total number of subhalos in parent dark matter halo. A value of one implies only a central subhalo exists, while a value of two indicates a central and one satellite, and so on. Only defined for centrals: satellites are assigned a value of nan (excluded by default). |
virtemp |
\(\rm{T_{vir}}\) |
\(\rm{K}\) |
tvir |
Virial temperature of the parent halo (satellites have NaN). |
distance |
Radial Distance |
\(\rm{kpc}\) |
rdist_code, rdist, rdist_rvir, distance_code, distance_rvir |
Radial distance of satellites to center of parent halo (centrals have zero). |
mhalo_subfind |
Subhalo Mass \(\rm{M_{grav}}\) |
\(\rm{M_{sun}}\) |
Parent dark matter (sub)halo total mass, defined by the gravitationally bound mass as determined by Subfind. |
|
mstar1 |
\(\rm{M_{\star}}\) |
\(\rm{M_{sun}}\) |
Galaxy stellar mass, measured within the stellar half mass radius. |
|
mstar2 |
\(\rm{M_{\star}}\) |
\(\rm{M_{sun}}\) |
Galaxy stellar mass, measured within twice the stellar half mass radius. |
|
mstar_tot |
\(\rm{M_{\star}}\) |
\(\rm{M_{sun}}\) |
Galaxy stellar mass, total subhalo/subfind value. |
|
mgas1 |
\(\rm{M_{gas}}\) |
\(\rm{M_{sun}}\) |
Galaxy gas mass (all phases), measured within the stellar half mass radius. |
|
mgas2 |
\(\rm{M_{gas}}\) |
\(\rm{M_{sun}}\) |
Galaxy gas mass (all phases), measured within twice the stellar half mass radius. |
|
mstar_100pkpc |
\(\rm{M_{\star, <30kpc}}\) |
\(\rm{M_{sun}}\) |
mstar_100kpc |
Galaxy stellar mass, measured within a fixed 3D aperture of 100 physical kpc. |
mstar_30pkpc |
\(\rm{M_{\star, <30kpc}}\) |
\(\rm{M_{sun}}\) |
mstar_30kpc |
Galaxy stellar mass, measured within a fixed 3D aperture of 30 physical kpc. |
mstar_5pkpc |
\(\rm{M_{\star, <5kpc}}\) |
\(\rm{M_{sun}}\) |
Galaxy stellar mass, measured within a fixed 3D aperture of 5 physical kpc. |
|
mgas_5pkpc |
\(\rm{M_{gas, <5kpc}}\) |
\(\rm{M_{sun}}\) |
Galaxy gas mass, measured within a fixed 3D aperture of 5 physical kpc. |
|
mdm_5pkpc |
\(\rm{M_{DM, <5kpc}}\) |
\(\rm{M_{sun}}\) |
Galaxy dark matter mass, measured within a fixed 3D aperture of 5 physical kpc. |
|
mtot_5pkpc |
\(\rm{M_{total, <5kpc}}\) |
\(\rm{M_{sun}}\) |
Galaxy total mass (gas + stars + DM + BHs), measured within a fixed 3D aperture of 5 physical kpc. |
|
mstar_mtot_ratio_5pkpc |
\(\rm{M_{\star} / M_{total} (<5kpc)}\) |
– |
Ratio of galaxy stellar mass, to total mass, both measured within a 3D aperture of 5 physical kpc. |
|
mstar2_mhalo200_ratio |
\(\rm{M_{\star, <2r_{\star}} / M_{halo,200c}}\) |
– |
Galaxy stellar mass to halo mass ratio, the former defined as within twice the stellar half mass radius, the latter as M_200_Crit. |
|
mstar30pkpc_mhalo200_ratio |
\(\rm{M_{\star, <30pkpc} / M_{halo,200c}}\) |
– |
mstar_mhalo_ratio |
Galaxy stellar mass to halo mass ratio, the former measured within a fixed 3D aperture of 30 physical kpc, the latter taken as M_200_Crit. |
mstar_r500 |
\(\rm{M_{\star, <r500}}\) |
\(\rm{M_{sun}}\) |
Subhalo stellar mass (i.e. central+ICL, but no sats), measured within \(\rm{R_{500c}}\). |
|
mgas_r500 |
\(\rm{M_{gas, <r500}}\) |
\(\rm{M_{sun}}\) |
Subhalo gas mass (all phases), measured within \(\rm{R_{500c}}\). |
|
mgas_halo |
\(\rm{M_{gas, halo}}\) |
\(\rm{M_{sun}}\) |
Halo-scale gas mass, measured within each FoF. |
|
mhi |
\(\rm{M_{HI, grav}}\) |
\(\rm{M_{sun}}\) |
Galaxy atomic HI gas mass (BR06 molecular H2 model), measured within the entire subhalo (all gravitationally bound gas). |
|
mhi2 |
\(\rm{M_{HI, <2r_{\star}}}\) |
\(\rm{M_{sun}}\) |
Galaxy atomic HI gas mass (BR06 molecular H2 model), measured within twice the stellar half mass radius. |
|
mhi_30pkpc |
\(\rm{M_{HI, <30kpc}}\) |
\(\rm{M_{sun}}\) |
Galaxy atomic HI gas mass (BR06 molecular H2 model), measured within a fixed 3D aperture of 30 physical kpc. |
|
mhi_halo |
\(\rm{M_{HI, halo}}\) |
\(\rm{M_{sun}}\) |
Halo-scale atomic HI gas mass (BR06 molecular H2 model), measured within each FoF. |
|
sfr |
\(\rm{SFR_{<30kpc},instant}\) |
\(\rm{M_{sun}\, yr^{-1}}\) |
sfr_30pkpc |
Galaxy star formation rate (instantaneous, within 30pkpc aperture). |
sfr2 |
\(\rm{SFR_{<2r_{\star},instant}}\) |
\(\rm{M_{sun}\, yr^{-1}}\) |
Galaxy star formation rate (instantaneous, within twice the stellar half mass radius). |
|
ssfr |
\(\rm{sSFR_{<2r_{\star},instant}}\) |
\(\rm{yr^{-1}}\) |
Galaxy specific star formation rate [1/yr] (sSFR, instantaneous, both SFR and M* within 2rhalfstars). |
|
ssfr_30pkpc |
\(\rm{sSFR}\) |
\(\rm{yr^{-1}}\) |
Galaxy specific star formation rate [1/yr] (sSFR, instantaneous, SFR within 2rhalfstars, M* within 30kpc). |
|
ssfr_gyr |
\(\rm{sSFR_{<2r_{\star}}}\) |
\(\rm{Gyr^{-1}}\) |
Galaxy specific star formation rate [1/Gyr] (sSFR, instantaneous, both SFR and M* within 2rhalfstars). |
|
ssfr_30pkpc_gyr |
\(\rm{sSFR}\) |
\(\rm{Gyr^{-1}}\) |
Galaxy specific star formation rate [1/Gyr] (sSFR, instantaneous, SFR within 2rhalfstars, M* within 30kpc). |
|
vcirc |
\(\rm{V_{circ}}\) |
\(\rm{km/s}\) |
vc, vmax |
Maximum value of the spherically-averaged 3D circular velocity curve (i.e. galaxy circular velocity). |
velmag |
\(\rm{|V|_{subhalo}}\) |
\(\rm{km/s}\) |
vmag |
The magnitude of the current velocity of the subhalo through the box, in the simulation reference frame. |
spinmag |
\(\rm{|S|_{subhalo}}\) |
\(\rm{kpc km/s}\) |
smag |
The magnitude of the subhalo spin vector, computed as the mass weighted sum of all subhalo particles/cells. |
size_stars |
r \(_{\rm 1/2,\star}\) |
\(\rm{kpc}\) |
rhalf_stars, size_stars_code, rhalf_stars_code |
Stellar half mass radius. |
m_v |
M \(_{\\rm V}\) |
abs AB mag |
m_u, m_b |
V-band magnitude (StellarPhotometrics from snapshot). No dust. |
color_uv |
(U-V) color |
mag |
color_vb |
Integrated photometric/broadband galaxy colors, from snapshot. No dust. |
d5_mstar_gthalf |
\(d_{5}\) |
code_length |
d5_mstar_gt7, d5_mstar_gt8 |
Environment: distance to 5th nearest neighbor (subhalo). |
delta5_mstar_gthalf |
\(\delta_{5}\) |
– |
delta5_mstar_gt7, delta5_mstar_gt8 |
Environment: overdensity based on 5th nearest neighbor (subhalo). |
num_ngb_gthalf |
\(\rm{N_{ngb,subhalos}}\) |
– |
num_ngb_gt7, num_ngb_gt8, num_ngb_gttenth |
Environment: counts of nearby neighbor subhalos. |
mass_ovi |
\(\rm{M_{OVI}}\) |
\(\rm{M_{sun}}\) |
Total gas mass in sub-species: OVI. |
|
mass_ovii |
\(\rm{M_{OVII}}\) |
\(\rm{M_{sun}}\) |
Total gas mass in sub-species: OVII. |
|
mass_oviii |
\(\rm{M_{OVIII}}\) |
\(\rm{M_{sun}}\) |
Total gas mass in sub-species: OVIII. |
|
mass_o |
\(\rm{M_{O,gas}}\) |
\(\rm{M_{sun}}\) |
Total gas mass in sub-species: O. |
|
mass_z |
\(\rm{M_{Z,gas}}\) |
\(\rm{M_{sun}}\) |
Total gas mass in sub-species: Z. |
|
mass_halogas |
\(\rm{M_{halo,gas}}\) |
\(\rm{M_{sun}}\) |
Total halo (0.15 < r/rvir < 1.0) gas mass. |
|
mass_halogasfof |
\(\rm{M_{halo,gas}}\) |
\(\rm{M_{sun}}\) |
Total halo (0.15 < r/rvir < 1.0) gas mass. FoF-scope, centrals only. |
|
mass_halogas_cold |
\(\rm{M_{halo,gas,cold}}\) |
\(\rm{M_{sun}}\) |
Total halo (0.15 < r/rvir < 1.0) gas mass. Only cold (log T < 4.5 K), star-forming gas at eEOS temp. |
|
mass_halogas_sfcold |
\(\rm{M_{halo,gas,sfcold}}\) |
\(\rm{M_{sun}}\) |
Total halo (0.15 < r/rvir < 1.0) gas mass. Only cold (log T < 4.5 K), star-forming gas at cold temp. |
|
mass_halogasfof_sfcold |
\(\rm{M_{halo,gas,sfcold}}\) |
\(\rm{M_{sun}}\) |
Total halo (0.15 < r/rvir < 1.0) gas mass. FoF-scope, centrals only. Only cold (log T < 4.5 K), star-forming gas at cold temp. |
|
mass_smbh |
\(\rm{M_{SMBH}}\) |
\(\rm{M_{sun}}\) |
Largest SMBH mass in each subhalo. Avoids summing multiple SMBH masses, if more than one present. |
|
smbh_mdot |
\(\rm{\dot{M}_{SMBH}}\) |
\(\rm{M_{sun} / yr}\) |
Largest SMBH Mdot in each subhalo. Avoids summing multiple SMBHs, if more than one present. |
|
smbh_lum |
\(\rm{L_{AGN,bol}}\) |
\(\rm{erg / s}\) |
l_bol, l_agn |
Bolometric luminosity of largest SMBH in each subhalo. Avoids summing multiple SMBHs, if more than one present. |
sfr_10myr |
\(\rm{SFR_{sub,10Myr}}\) |
\(\rm{M_{sun}\, yr^{-1}}\) |
Star formation rate (full subhalo) averaged over the past 10 Myr. |
|
szy_r500c_3d |
\(\rm{Y_{SZ,r500}^{3d}}\) |
\(\rm{Mpc^2}\) |
Sunyaev Zeldovich y-parameter within r500c (3d). |
|
szy_r500c_2d |
\(\rm{Y_{SZ,r500}^{2d}}\) |
\(\rm{Mpc^2}\) |
Sunyaev Zeldovich y-parameter within r500c (2d). |
|
xraylum_r500c_2d |
\(\rm{L_{X,r500}^{2d}}\) |
\(\rm{erg/s}\) |
X-ray luminosity (0.5-2.0 keV) within r500c (2d). |
|
xray_peak_offset_2d |
\(\rm{\Delta_{X-ray,galaxy}^{2d}}\) |
\(\rm{kpc}\) |
xray_peak_offset_2d_rvir, xray_peak_offset_2d_r500 |
Spatial offset between X-ray (0.5-2.0 keV) emission peak and galaxy (SubhaloPos). In 2D projection. |
lum_civ1551_outercgm |
\(\rm{L_{CIV 1551} (R_{200c}/2 - R_{200c})}\) |
\(\rm{erg/s}\) |
CIV 1551 luminosity in the outer CGM. |
|
lum_civ1551_innercgm |
\(\rm{L_{CIV 1551} (20 kpc - R_{200c}/2)}\) |
\(\rm{erg/s}\) |
CIV 1551 luminosity in the inner CGM. |
|
lum_heii1640_outercgm |
\(\rm{L_{HeII 1640} (R_{200c}/2 - R_{200c})}\) |
\(\rm{erg/s}\) |
HeII 1640 luminosity in the outer CGM. |
|
lum_heii1640_innercgm |
\(\rm{L_{HeII 1640} (20 kpc - R_{200c}/2)}\) |
\(\rm{erg/s}\) |
HeII 1640 luminosity in the inner CGM. |
|
z_stars_masswt |
\(\rm{Z_{\star,masswt}}\) |
\(\rm{Z_{\odot}}\) |
Stellar metallicity (no radial restriction), mass weighted. |
|
z_gas_sfrwt |
\(\rm{Z_{gas,sfrwt}}\) |
\(\rm{Z_{\odot}}\) |
Gas-phase metallicity (no radial restriction), mass weighted. |
|
veldisp |
\(\rm{\sigma_{\star}}\) |
\(\rm{km/s}\) |
Stellar velocity dispersion (3D), within the stellar half mass radius. |
|
veldisp1d |
\(\rm{\sigma_{\star, 1D}}\) |
\(\rm{km/s}\) |
Stellar velocity dispersion (1D, from 3D), within the stellar half mass radius. |
|
veldisp1d_05re |
\(\rm{\sigma_{\star, 1D}}\) |
\(\rm{km/s}\) |
Stellar velocity dispersion (1D, from 3D), within 0.5 times the stellar half mass radius. |
|
veldisp1d_10pkpc |
\(\rm{\sigma_{\star, 1D}}\) |
\(\rm{km/s}\) |
Stellar velocity dispersion (1D, in z-direction), within 10pkpc. |
|
veldisp1d_4pkpc2d |
\(\rm{\sigma_{\star, 1D}}\) |
\(\rm{km/s}\) |
Stellar velocity dispersion (1D, in z-direction), within 4pkpc (~SDSS fiber low-z) in 2D. |
|
veldisp_gas_01r500c_xray |
\(\rm{\sigma_{gas, 1D, X-ray, <0.1\,r500c}}\) |
\(\rm{km/s}\) |
Gas velocity dispersion (1D, in z-direction), weighted by 0.2-2 keV X-ray luminosity, within 0.1r500c. |
|
rshock |
\(\rm{R_{shock}}\) |
\(\rm{kpc}\) |
Virial shock radius, fiducial model choice. |
|
rshock_rvir |
\(\rm{R_{shock} / R_{vir}}\) |
– |
Virial shock radius, fiducial model choice. Normalized. |
|
zform |
\(\rm{z_{form}}\) |
– |
Formation redshift, at which the subhalo had half of its current mass. |
|
massfrac_exsitu |
Ex-Situ Stellar Mass Fraction |
– |
massfrac_exsitu2, massfrac_insitu, massfrac_insitu2 |
Postprocessing/StellarAssembly: ex-situ or in-situ stellar mass fraction. Within the stellar half mass radius, unless ‘2’ in field name, in which case within 2*rhalf. |
mergers_mean_fgas |
Mean Gas Fraction of Mergers |
– |
Postprocessing/MergerHistory: mean property (‘cold’ i.e. star-forming gas fraction) of mergers. Weighted by the maximum stellar mass of the secondary progenitors. |
|
mergers_mean_z |
Redshift |
– |
Postprocessing/MergerHistory: mean property (redshift) of all mergers this subhalo gas undergone. Weighted by the maximum stellar mass of the secondary progenitors. |
|
mergers_mean_mu |
Mean Stellar Mass Ratio of Mergers |
– |
Postprocessing/MergerHistory: mean property (stellar mass ratio) of mergers. Weighted by the maximum stellar mass of the secondary progenitors. |
|
coolcore_flag |
– |
Postprocessing/CCcriteria: flag (0=SCC, 1=WCC, 2=NCC) based on Lehle+24 central cooling time fiducial definition. |
||
coolcore_tcool |
– |
tcool0 |
Postprocessing/CCcriteria: Lehle+23 central cooling time. |
|
coolcore_entropy |
– |
K0 |
Postprocessing/CCcriteria: Lehle+23 central cooling time. |
Adding New Custom Catalog Quantiites
TODO.