Node Property Extractor¶
Class providing extraction of scalar, 1D, or multi-D properties from merger tree nodes for output. Property extractors are used by output analysis classes to retrieve galaxy and halo properties (e.g. stellar mass, dark matter halo mass, star formation rate, positions, velocities) and convert them to formats suitable for comparison with observational data or for writing to the Galacticus output file.
Default implementation: nodePropertyExtractorNodeIndices
Methods¶
type→type(enumerationOutputAnalysisPropertyTypeType)Return the type of the extracted property.
quantity→type(enumerationOutputAnalysisPropertyQuantityType)Return the class of the extracted property.
addInstances→voidAdd multiple instances of this property to a
multiCounterobject.type(treeNode ), intent(inout) :: nodetype(multiCounter), intent(inout) :: instance
nodePropertyExtractorAdiabaticRatioOrbitalDisk¶
A property extractor class for the orbital adiabatic ratio of disks. The orbital adiabatic ratio, \(\mathcal{R}\), is defined as:
where \(r_\mathrm{p}\) and \(v_\mathrm{p}\) are the orbital radius and velocity at pericenter respectively, and \(R_\mathrm{d}\) and \(v_\mathrm{d}\) are the characteristic radius of the disk and the rotation curve at that radius respectively.
nodePropertyExtractorAgesStellarMassWeighted¶
A node property extractor which extracts stellar mass-weighted ages for disk and spheroid components. Requires the nodeOperatorAgesStellarMassWeighted node operator to be used to accumulate the relevant integrals for each disk and spheroid.
Specifically, the quantities computed by this class are
where \(\dot{\psi}(t^\prime)\) is the star formation rate at time \(t^\prime\) and \(t\) is the present time..
nodePropertyExtractorAppendSuffix¶
A wrapper property extractor that delegates extraction to one or more child nodePropertyExtractorClass objects and appends a user-specified suffix string to all output dataset names. This is useful for disambiguating otherwise identically named properties when, for example, the same extractor is used with different parameter settings, different galaxy components, or at different epochs, and the outputs need to coexist in the same output file.
Parameters
[suffix]— The suffix to append to parameter names.
nodePropertyExtractorArray¶
Abstract base class for extractors that return a fixed-length 2D array of floating-point values per node, defining the interface (including column descriptions, element counts, names, and units) for multi-valued scalar array outputs used in output analysis.
Methods
columnDescriptions— Return a description of the columns.size— Return the number of elements in the array.elementCount— Return the number of properties in the array.extract— Extract the properties from the givennode.names— Return the name of the properties extracted.descriptions— Return a description of the properties extracted.unitsInSI— Return the units of the properties extracted in the SI system.units— Return an object containing units metadata for the properties.metaData— Populate a hash with meta-data for the property.
nodePropertyExtractorBlackHoleFormationChannel¶
Extracts the formation channel identifier for black hole seeds in each node, enabling classification of black holes by their seeding mechanism (e.g., direct collapse, stellar remnants) for statistical analysis.
nodePropertyExtractorBlackHoleSeedingVergara2023¶
A property extractor class for the properties of the nuclear star cluster at the moment of the black hole formation.
nodePropertyExtractorBranchMostMassive¶
A node property extractor class which indicates if a node is on the most massive branch of its tree. The status will be extracted as nodeIsOnMostMassiveBranch, with a value of 1 indicating that the node is on the most massive branch and a value of 0 indicating that it is not.
nodePropertyExtractorCGMCoolingFunction¶
A property extractor that returns the radiative cooling function \(\Lambda(T,n_\mathrm{H},Z)\) (in erg cm\(^3\) s\(^{-1}\)) of the circumgalactic medium at a user-specified set of radii in the hot halo, evaluated using the supplied coolingFunctionClass object with local density, temperature, and metallicity. The radiusSpecifiers parameter defines the radii; includeRadii and includeDensity optionally add the radius (Mpc) and hydrogen number density (cm\(^{-3}\)) columns to the output. The label suffix distinguishes multiple instances of this extractor.
Parameters
[radiusSpecifiers](string) — A list of radius specifiers at which to output the CGM cooling function.[includeRadii](boolean; default.false.) — Specifies whether or not the radii at which density data are output should also be included in the output.[includeDensity](boolean; default.false.) — Specifies whether or not the total hydrogen densities (\(n_\mathrm{H}\)) at each radius should be included in the output.[label](string) — A label to distinguish this cooling function from others.
nodePropertyExtractorConcentration¶
A property extractor that returns the concentration parameter \(c = r_\mathrm{vir}/r_\mathrm{s}\) of the dark-matter-only halo profile, where \(r_\mathrm{vir}\) is defined by the supplied virialDensityContrastClass object and \(r_\mathrm{s}\) is the NFW scale radius from the darkMatterProfileDMOClass object. If useLastIsolatedTime is true, the virial radius is evaluated using the density contrast at the halo’s last isolated time rather than the current time, matching the conventional definition of concentration used in fitting functions.
Parameters
[useLastIsolatedTime](boolean; default.false.) — If true, evaluate the concentration using a the virial density definition at the last isolated time of the halo.
nodePropertyExtractorConstrainedStatus¶
A node property extractor class which extracts the constrained excursion set solution status of each node. The status will be extracted as nodeIsConstrained, with a value of 1 indicating that the node follows the constrained branching rate solution and a value of 0 indicating that it does not.
nodePropertyExtractorCoolingEnergyRadiated¶
Extracts the total energy radiated by the hot halo gas through radiative cooling processes, tracking the cumulative energy loss from the nodeComponentHotHalo component. This quantity drives the supply of cold gas onto the galactic disk and ultimately powers star formation.
nodePropertyExtractorDarkMatterProfileRadiusInteractionSIDM¶
Extracts the self-interaction radius \(r_1\) from the dark matter halo density profile under self-interacting dark matter (SIDM) models. This scale marks the boundary within which dark matter particles experience significant scattering, driving core formation and suppressing central density cusps.
nodePropertyExtractorDarkMatterProfileScaleRadius¶
Extracts the scale radius of the dark matter halo density profile (e.g., the NFW scale radius \(r_\mathrm{s}\) where the logarithmic slope equals \(-2\)), a key structural parameter relating halo mass to its spatial extent and concentration.
nodePropertyExtractorDarkMatterProfileShapeParameter¶
Extracts the shape parameter of the dark matter halo density profile (e.g., the Einasto index or inner logarithmic slope), which characterizes the curvature of the profile and distinguishes between different dark matter density models such as NFW, Einasto, or cored profiles.
nodePropertyExtractorDensityContrasts¶
A property extractor class for the mass and radii of spheres of specified density contrast. A list of density contrasts, \(\Delta\) (defined in units of the mean density of the Universe), is specified via the [densityContrasts] parameter. For each specified density contrast, two properties are output for each node: nodeRadius\(\Delta\) and nodeMass\(\Delta\) which give the radius enclosing a mean density contrast of \(\Delta\) and the mass enclosed within that radius. The parameter [darkMatterOnly] controls whether density contrasts are measured for total mass (false) or dark matter mass only (true). In the latter case, density contrasts are defined relative to the mean dark matter density of the Universe.
Parameters
[densityContrasts](real) — A list of density contrasts at which to output data.[densityContrastRelativeTo](string; one ofcritical,mean; defaultmean) — The density (meanorcritical) used in defining the density contrast.[darkMatterOnly](boolean; default.false.) — Specifies whether or not density contrast data should be computed using the dark matter component alone.
nodePropertyExtractorDensityContrastVirial¶
Extracts the virial density contrast \(\Delta_\mathrm{vir}\), the ratio of mean halo density to the critical (or mean) density of the universe used to define the halo boundary. Evaluated at the time the halo was last isolated, this quantity varies with cosmology and redshift.
nodePropertyExtractorDensityDMOProfile¶
A property extractor class for the dark matter only density at a set of radii.
Parameters
[radiusSpecifiers](string) — A list of radius specifiers at which to output the density profile.[includeRadii](boolean; default.false.) — Specifies whether or not the radii at which density data are output should also be included in the output file.
nodePropertyExtractorDensityProfile¶
A property extractor that returns the mass density profile (in \(\mathrm{M}_\odot \, \mathrm{Mpc}^{-3}\)) of a galaxy or halo component at a user-specified set of radii. The radiusSpecifiers parameter provides a list of radius definitions (e.g.multiples of the virial radius, disk radius, or half-mass radius), supporting both galactic structural radii and fixed physical radii. If includeRadii is true, the corresponding radii (in Mpc) are also written to the output file as a second column alongside the density values.
Parameters
[radiusSpecifiers](string) — A list of radius specifiers at which to output the density profile.[includeRadii](boolean; default.false.) — Specifies whether or not the radii at which density data are output should also be included in the output file.
nodePropertyExtractorDescendantNode¶
A property extractor that traverses the merger tree forward in time from the current node and applies a scalar nodePropertyExtractorClass to the descendant node found at redshift redshiftDescendant. The descendant is located by walking the main progenitor line until the node whose time matches the target time (converted from redshiftDescendant via cosmologyFunctionsClass). This enables comparison of a galaxy’s properties at its observed epoch with those of its descendant at a later redshift within a single output dataset.
Parameters
[redshiftDescendant](real) — The redshift of the descendant node to which to apply the filter.
nodePropertyExtractorDescendants¶
A node property extractor which extracts the index of the node containing the galaxy to which each current galaxy will belong at the next output time (i.e. the forward descendant). To clarify, this will be the index of the node into which the galaxy descends, or the index of a node with which it merges prior to the next output time (and if that node merges with another, the index will be of that node and so on).
Note that, to operate correctly, information about which node a given node may merge with (and when this merger will happen) must be available. This is typically available in merger trees read from file (i.e. using the “read” mergerTreeConstructorClass) providing [presetMergerNodes] and [presetMergerTimes] are both set to true. When using randomly assigned satellite orbits and merger times, information on when merging occurs does not exist until a node becomes a satellite. Thus, if the node becomes a satellite after the current output, but before the next output, there is no way to know which node it will belong to at the next output (in such cases, the fallback assumption is no merging).
nodePropertyExtractorExcursion¶
Extracts the infimum of the excursion (the minimum value of the random walk trajectory above threshold) corresponding to the mass accretion history for each node in the excursion set formalism.
nodePropertyExtractorFinalDescendant¶
Extracts the index of the final descendant node at the base of the merger tree for each node, enabling identification of the present-day halo into which a given progenitor will ultimately merge. Facilitates comparisons between progenitor states and their final descendants.
nodePropertyExtractorFluxFromLuminosity¶
Converts intrinsic luminosities to observed fluxes by dividing by \(4\pi d_\mathrm{L}^2\), where \(d_\mathrm{L}\) is the luminosity distance at the output redshift. Enables direct comparison of model predictions to flux-limited observational surveys at \(z>0\).
nodePropertyExtractorFractionAccretionHotMode¶
Extracts the fraction of total gas accretion onto a halo that arrives via the hot-mode channel, where infalling gas is shock-heated to the virial temperature rather than streaming in cold. Traces the transition between accretion regimes as a function of halo mass and redshift.
nodePropertyExtractorGalaxyGasMajorMergerTime¶
Extracts the cosmic times of gas-mass-based major merger events for each galaxy, where merger significance is determined by the gas mass ratio of the merging pair rather than total or stellar mass.
nodePropertyExtractorGalaxyMajorMergerTime¶
Extracts the cosmic time of the most recent major merger event for each galaxy, where major mergers are identified by a configurable mass ratio threshold applied to merging halos.
nodePropertyExtractorGalaxyMergers¶
Extracts combined physical and index properties for galaxy merger events by composing the nodePropertyExtractorGalaxyMergersPhysical and nodePropertyExtractorGalaxyMergersIndices extractors, packaging scalar and integer merger information (e.g., mass ratios, progenitor IDs, merger times) into a single output for post-processing analysis.
Methods
tabulate— Tabulate the virial density contrast as a function of mass and time.restoreTable— Restore a tabulated solution from file.storeTable— Store a tabulated solution to file.
nodePropertyExtractorGalaxyMergersIndices¶
Extracts integer index properties of galaxy-galaxy merger events (as distinct from halo mergers), such as node indices of the merging galaxy pair, enabling reconstruction of the galaxy merger history.
nodePropertyExtractorGalaxyMergersPhysical¶
Extracts physical (floating-point) properties of galaxy-galaxy merger events, such as stellar masses, mass ratios, and merger times, providing continuous-valued data for statistical analysis of galaxy merging.
nodePropertyExtractorGalaxyMergerTree¶
An output extractor property extractor class that combines all extractors needed for building galaxy merger trees.
Methods
tabulate— Tabulate the virial density contrast as a function of mass and time.restoreTable— Restore a tabulated solution from file.storeTable— Store a tabulated solution to file.
nodePropertyExtractorGalaxyMergerTreeIndices¶
Extracts integer index properties (such as tree identifier, node identifier, and host node index) from galaxy merger trees, providing the structural metadata needed for cross-referencing merger tree outputs.
nodePropertyExtractorGalaxyMergerTreeMergerIndices¶
Extracts integer index properties specific to merger events within galaxy merger trees, such as the indices of progenitor nodes involved in each merger, enabling tracking of merger histories.
nodePropertyExtractorGalaxyMergerTreeMergerPhysical¶
Extracts physical (floating-point) properties associated with merger events in galaxy merger trees, such as masses, mass ratios, and times of mergers between progenitor galaxies.
nodePropertyExtractorGalaxyMergerTreePhysical¶
Extracts physical (floating-point) properties of nodes within galaxy merger trees, such as halo masses, virial radii, and cosmic times, providing the continuous-valued data needed for merger tree analysis.
nodePropertyExtractorHaloBias¶
A node property extractor which extracts the large scale, linearly theory bias for each node. For satellite nodes, this corresponds to the bias of their host halo.
nodePropertyExtractorHaloCollapseEpoch¶
A node property extractor which extracts the redshift of collapse, \(z_\mathrm{c}\), for a halo using the definition of Schneider (2015), which is based on the conditional first crossing distribution from excursion set theory:
where \(\delta_\mathrm{c}(z)\) is the critical overdensity for collapse at redshift \(z\), and \(f\) is the fraction of a halo’s mass assembled at formation time (given by the [massFractionFormation] parameter.
Parameters
[massFractionFormation](real; default0.05d0) — The fraction of a halo’s mass assembled at “formation” in the halo concentration algorithm of Schneider (2015).
nodePropertyExtractorHaloEnvironment¶
Extracts environmental metrics for dark matter halos, specifically the linear and non-linear local overdensity, characterizing the large-scale structure environment that influences halo formation rates, assembly bias, and galaxy evolution within the cosmological density field.
nodePropertyExtractorHierarchy¶
Extracts meta-properties describing the structural position of a node within the halo hierarchy, such as its depth level in the subhalo nesting, enabling analysis of multi-level substructure in merger trees.
Methods
increment— Increment the hierarchy level of a node.reset— Reset the maximum hierarchy level of a node.
nodePropertyExtractorHostNode¶
An output analysis property extractor class that extracts a property from the host node of the given node.
nodePropertyExtractorICMCoolingPowerInBand¶
A property extractor that returns the fraction of the hot halo (ICM) radiative cooling power emitted within a specified X-ray photon energy band—the ratio of in-band to bolometric cooling luminosity, integrated over the virial radius. The energyLow and energyHigh parameters specify the energy band boundaries in keV (e.g.0.5–2.0 keV for soft X-ray). The label suffix distinguishes multiple instances of this extractor. Requires a coolingFunctionClass object to evaluate the cooling emissivity at each radius as a function of density, temperature, and metallicity.
Parameters
[energyLow](real) — The minimum energy (in units of keV) for the band.[energyHigh](real) — The maximum energy (in units of keV) for the band.[label](string) — A label to use as a suffix for this property.
nodePropertyExtractorICMOpticalDepthLymanAlpha¶
Extracts the Lyman-\(\alpha\) optical depth through the intracluster medium, integrating the line-center cross-section against the neutral hydrogen density profile out to the virial radius. Relevant for assessing Lyman-\(\alpha\) photon escape fractions from galaxies embedded in hot gas environments.
nodePropertyExtractorICMSZ¶
An intracluster medium Sunyaev-Zeldovich Compton-\(y\) parameter property extractor class. Specifically, the quantity extracted is
where \(D_\mathrm{A}\) is the angular diameter distance to the halo, and the result is expressed in units of square arcminutes. The angular diameter distance is, by default, computed from the epoch of the halo. Alternatively, a fixed angular diameter distance can be specified via the [distanceAngular] parameter. The outer radius, \(R_\mathrm{out}\), is either the halo virial radius (by default), or the radius enclosing the density contrast specified by the optional [densityContrast] parameter. This density contrast is relative to either mean or critical density as specified by the densityContrastRelativeTo parameter.
Parameters
[densityContrast](real) — The density contrast within which to compute the Sunyaev-Zeldovich parameter.[densityContrastRelativeTo](string; one ofcritical,mean; defaultmean) — The density (meanorcritical) used in defining the density contrast.[distanceAngular](real; > 0.0) — The fixed angular diameter distance at which to compute the Sunyaev-Zeldovich parameter.
nodePropertyExtractorICMXRayLuminosity¶
Extracts the X-ray luminosity of the intracluster medium by integrating thermal bremsstrahlung and line emission from hot halo gas out to the virial radius, using a cooling function evaluated at each radial shell. Useful for comparison with X-ray cluster survey observations.
nodePropertyExtractorICMXRayTemperature¶
Extracts the X-ray luminosity-weighted temperature of the intracluster medium, computed as the emission-weighted mean temperature integrated over the hot halo out to the virial radius. This quantity directly corresponds to the spectroscopic temperature observable in X-ray spectroscopy of galaxy clusters.
nodePropertyExtractorIndexBranchTip¶
Extracts the stored index of the tip node (earliest progenitor) on the same merger tree branch as a given node. Enables identification of the branch origin and facilitates comparisons of progenitor properties along a given merger tree branch across cosmic time.
nodePropertyExtractorIndexLastHost¶
Extracts the stored index of the last host halo node, i.e., the host halo at the time a subhalo most recently became a satellite. Useful for tracking satellite infall histories and computing the elapsed time since infall into the current host environment.
nodePropertyExtractorIndicesHost¶
A node property extractor which extracts the index of the node which hosts a given node. For unhosted nodes (i.e. nodes which are not subhalos), a value of \(-1\) is extracted instead.
Parameters
[topLevel](boolean; default.false.) — If true, output the index of the host at the top level of the hierarchy, otherwise output the index of the direct host.
nodePropertyExtractorIndicesTree¶
Extracts index identifiers for the merger tree containing each node, including the tree index and node index within that tree, enabling unique identification of nodes across all merger trees in a simulation output for cross-matching and provenance tracking.
nodePropertyExtractorIntegerList¶
Abstract base class for extractors that return a variable-length list of integer values per node, defining the interface (element count, names, descriptions, and units) for extractors that output sequences of integer-valued node properties in output analysis.
Methods
elementCount— Return a count of the number of properties extracted.extract— Extract the properties from the givennode.names— Return the name of the properties extracted.descriptions— Return a description of the properties extracted.unitsInSI— Return the units of the properties extracted in the SI system.units— Return an object containing units metadata for the properties.metaData— Populate a hash with meta-data for the property.
nodePropertyExtractorIntegerScalar¶
Abstract base class for extractors that return a single integer value per node (e.g., node IDs, counts, or boolean flags encoded as integers), defining the interface for all scalar integer property extraction used in output analysis.
Methods
extract— Extract the property from the givennode.name— Return the name of the property extracted.description— Return a description of the property extracted.unitsInSI— Return the units of the property extracted in the SI system.units— Return an object containing units metadata for the property.metaData— Populate a hash with meta-data for the property.
nodePropertyExtractorIntegerTuple¶
Abstract base class for extractors that return a fixed-length tuple of integer values per node, defining the interface (element count, names, descriptions, and units) for multi-valued integer outputs such as combined index arrays used in output analysis.
Methods
elementCount— Return the number of properties in the tuple.extract— Extract the properties from the givennode.names— Return the names of the properties extracted.descriptions— Return descriptions of the properties extracted.unitsInSI— Return the units of the properties extracted in the SI system.units— Return an object containing units metadata for the properties.metaData— Populate a hash with meta-data for the property.
nodePropertyExtractorIsInLightcone¶
Extracts a boolean flag (1 or 0) indicating whether a node falls within the observer’s past lightcone geometry, accounting for the node’s 3D position and cosmic time via the geometryLightconeClass interface. Enables construction of mock observational catalogs from simulations.
nodePropertyExtractorIsPhysicallyPlausible¶
Extracts an integer flag indicating whether a node’s physical state is considered plausible (e.g., non-negative masses, physical sizes), useful for quality control filtering of output catalogs.
nodePropertyExtractorJetPowerBlackHoles¶
Extracts a list of jet power values for all supermassive black holes in a node, enabling output of the mechanical AGN feedback power contributed by each black hole separately.
nodePropertyExtractorKeplerOrbit¶
Abstract base class for extractors of orbital parameters stored in keplerOrbit objects associated with satellite nodes. Supports extraction of orbital energy, angular momentum, pericenter and apocenter radii, eccentricity, semi-major axis, velocities, and masses of the satellite’s orbit within its host halo.
Methods
initialize— Initialize the properties to be extracted.extractFromOrbit— Extract properties from akeplerOrbitobject.
nodePropertyExtractorLabels¶
Extracts integer-encoded labels (categorical tags) attached to nodes via the Nodes_Labels module, such as merger tree branch identifiers or classification flags. Converts each registered label to an integer output for storage and analysis of labeled merger tree populations.
nodePropertyExtractorLightcone¶
A lightcone output extractor property extractor class. The position (and velocity and redshift) of a galaxy within a lightcone will be extracted. Specifically, these properties are extracted as:
lightconePositionXPosition of the galaxy (in comoving Mpc) along the radial direction of the lightcone;
lightconePositionYPosition of the galaxy (in comoving Mpc) along the 1\(^\mathrm{st}\) angular direction of the lightcone;
lightconePositionZPosition of the galaxy (in comoving Mpc) along the 2\(^\mathrm{nd}\) angular direction of the lightcone;
lightconePositionObservedXPosition of the galaxy (in comoving Mpc) along the radial direction of the lightcone, accounting for the effects of line-of-sight peculiar velocity (included only if
[includeObservedPosition]=true);lightconePositionObservedYPosition of the galaxy (in comoving Mpc) along the 1\(^\mathrm{st}\) angular direction of the lightcone, accounting for the effects of line-of-sight peculiar velocity (included only if
[includeObservedPosition]=true);lightconePositionObservedZPosition of the galaxy (in comoving Mpc) along the 2\(^\mathrm{nd}\) angular direction of the lightcone, accounting for the effects of line-of-sight peculiar velocity (included only if
[includeObservedPosition]=true);lightconeVelocityXVelocity of the galaxy (in km/s) along the radial direction of the lightcone;
lightconeVelocityYVelocity of the galaxy (in km/s) along the 1\(^\mathrm{st}\) angular direction of the lightcone;
lightconeVelocityZVelocity of the galaxy (in km/s) along the 2\(^\mathrm{nd}\) angular direction of the lightcone;
lightconeRedshiftCosmologicalRedshift of the galaxy in the lightconefootnoteNote that this will not, in general, be precisely the same as the redshift corresponding to the output time.;
lightconeRedshiftObservedObserved redshift of the galaxy, accounting for the effects of line-of-sight peculiar velocity (included only if
[includeObservedRedshift]=true);lightconeAngularThetaAngular distance from pole of coordinate system (i.e. \(\theta\) in a spherical coordinate system; included only if
[includeAngularCoordinates]=true) [radians]lightconeAngularPhiAngular distance around the pole of coordinate system system (i.e. \(\phi\) in a spherical coordinate system; included only if
[includeAngularCoordinates]=true) [radians]angularWeightThe mean number density of this galaxy per unit area on the sky (in degrees\(^{-2}\)).
In order to allow this output a lightcone geometry (see geometryLightcone) must be specified.
Parameters
[includeObservedRedshift](boolean; default.false.) — If true output the observed redshift (i.e. including the effects of peculiar velocities).[includeAngularCoordinates](boolean; default.false.) — If true output angular coordinates in the lightcone.[includeObservedPosition](boolean; default.false.) — If true output the observed position (i.e. including the effects of peculiar velocities).[atCrossing](boolean; default.false.) — If true output positions/velocities at the time of lightcone crossing. Otherwise, output positions at the output time.[failIfNotInLightcone](boolean; default.true.) — If true, a node that is not in the lightcone will cause a fatal error. Otherwise, such nodes are simply assigned unphysical values for lightcone properties.
nodePropertyExtractorList¶
Abstract base class for extractors that return a variable-length list of floating-point values per node, defining the interface (element count, names, descriptions, and units) for extractors that output time series, multi-epoch property histories, or other variable-length sequences in output analysis.
Methods
elementCount— Return a count of the number of properties extracted.extract— Extract the properties from the givennode.names— Return the name of the properties extracted.descriptions— Return a description of the properties extracted.unitsInSI— Return the units of the properties extracted in the SI system.units— Return an object containing units metadata for the properties.metaData— Populate a hash with meta-data for the property.
nodePropertyExtractorList2D¶
An abstract base class for node property extractors that provide a 2D list (array of arrays) of floating-point properties, enabling extraction of variable-length per-node data such as merger histories or multi-epoch quantities.
Methods
elementCount— Return a count of the number of properties extracted.extract— Extract the properties from the givennode.names— Return the name of the properties extracted.descriptions— Return a description of the properties extracted.unitsInSI— Return the units of the properties extracted in the SI system.units— Return an object containing units metadata for the properties.metaData— Populate a hash with meta-data for the property.
nodePropertyExtractorLmnstyEmssnLineAGN¶
An emission line luminosity property extractor class for AGN narrow line regions. The luminosity of the named emission lines (given by the lineNames parameter) are computed, largely following the model of Feltre et al. (2016).
Parameters
[cloudyTableFileName](string; default%DATASTATICPATH%/hiiRegions/emissionLineLuminosities_AGN.hdf5) — The file of emission line luminosities to use.[lineNames](string) — The names of the emission lines to extract.[indexSpectralShortWavelength](real; default-1.7d0) — The index, \(\alpha\), of the power-law spectrum at wavelengths shortward of 0.25\(\mu\)m: \(S_\nu \propto \nu^\alpha\) (Feltre et al., 2016).[factorFillingVolume](real; default0.01d0) — The volume-filling factor, i.e. the ratio of the volume-averaged hydrogen density to the hydrogen density.[densityHydrogen](real; default1.0d3) — Density of hydrogen in narrow line region clouds in units of cm\(^{-3}\).[temperature](real; default1.0d4) — Temperature of narrow line region clouds in units of K.
nodePropertyExtractorLmnstyEmssnLinePanuzzo2003¶
An emission line luminosity property extractor class. The luminosity of the named emission line (given by the lineNames parameter: if multiple lines are named, the sum of their luminosities) is computed. Additional dust attenuation for emission line luminosities can be specified via the depthOpticalISMCoefficient parameter.
Parameters
[lineNames](string) — The emission lines to extract.[depthOpticalISMCoefficient](real; default0.0d0) — Multiplicative coefficient for optical depth in the ISM.
nodePropertyExtractorLmnstyStllrCF2000¶
A property extractor that returns the dust-attenuated stellar luminosity in a specified broadband filterName (and filterType) at rest-frame redshift redshiftBand, applying the two-component dust model of Charlot and Fall (2000). In this model, young stars (\(\lesssim\)10 Myr) are attenuated by both ambient ISM dust and their birth cloud dust, while older stars are attenuated only by ISM dust. The V-band optical depths of each component are set by depthOpticalISMCoefficient and depthOpticalCloudsCoefficient, with a power-law wavelength dependence controlled by wavelengthExponent. Luminosities are returned in AB zero-point units (i.e.\(L_\nu\) relative to the AB standard source).
Parameters
[filterName](string) — The filter to select.[filterType](string) — The filter type (rest or observed) to select.[redshiftBand](real) — The redshift of the band (if not the output redshift).[depthOpticalISMCoefficient](real; default1.0d0) — Multiplicative coefficient for optical depth in the ISM.[depthOpticalCloudsCoefficient](real; default1.0d0) — Multiplicative coefficient for optical depth in birth clouds.[wavelengthExponent](real; default0.7d0) — Exponent of wavelength in the optical depth.
nodePropertyExtractorLuminosityEmissionLine¶
An emission line luminosity property extractor class. The luminosities of the named emission lines (given by the lineNames parameter) are computed.
Methods
tabulate— Tabulate the virial density contrast as a function of mass and time.restoreTable— Restore a tabulated solution from file.storeTable— Store a tabulated solution to file.
Parameters
[cloudyTableFileName](string; default%DATASTATICPATH%/hiiRegions/emissionLineLuminosities_BC2003_highResolution_imfChabrier.hdf5) — The file of emission line luminosities to use.[lineNames](string) — The emission lines to extract.[component](string; one ofall,disk,spheroid,hotHalo,nuclearStarCluster,coldHalo,darkHalo,blackHole,darkMatterOnly,none,unknown) — The component from which to extract star formation rate.[toleranceRelative](real; default1.0d-3) — The relative tolerance used in integration over stellar population spectra.
nodePropertyExtractorLuminosityStellar¶
A property extractor that returns the total stellar luminosity of a node in a specified broadband filter, in units of the AB zero-point. The filterName and filterType parameters select the photometric band and whether to use rest-frame or observer-frame luminosities. The optional redshiftBand shifts the band to a fixed redshift (for K-corrections), and postprocessChain applies a named spectral postprocessing chain (e.g.IGM attenuation) before the photometric integration. Luminosity indices are pre-computed per output time for efficiency.
Methods
tabulate— Tabulate the virial density contrast as a function of mass and time.restoreTable— Restore a tabulated solution from file.storeTable— Store a tabulated solution to file.
Parameters
[filterName](string) — The filter to select.[filterType](string) — The filter type (rest or observed) to select.[redshiftBand](real) — The redshift of the band (if not the output redshift).[postprocessChain](string) — The postprocessing chain to use.
nodePropertyExtractorLuminosityStellarFromSED¶
A property extractor that computes broadband stellar luminosities in AB units by integrating an SED (provided by a nodePropertyExtractorSED property extractor object) through a set of broadband filter response functions specified by filterNames. For each filter, the filter transmission curve is convolved with the galaxy SED to compute \(L_\nu\) in the AB zero-point system. This approach allows luminosities to be derived from an already-computed SED without re-running the full stellar population synthesis, making it efficient when many filters are required from a single SED.
Parameters
[filterNames](string) — The filters to select.
nodePropertyExtractorMagnitudesAbsolute¶
A property extractor that returns stellar absolute magnitudes (AB system) in all broadband filters currently activated in the stellar luminosities structure, for a specified galaxy component (disk or spheroid). Output datasets are named componentMagnitudeAbsoluteStellar:filterName:filterType for each active filter and output time. Non-positive luminosities (unresolved or dark galaxies) are returned as the maximum representable double-precision value.
Parameters
[component](string; one ofall,disk,spheroid,hotHalo,nuclearStarCluster,coldHalo,darkHalo,blackHole,darkMatterOnly,none,unknown) — The component from which to extract star formation rate.
nodePropertyExtractorMagnitudesApparent¶
A property extractor that returns stellar apparent magnitudes (AB system) in all broadband filters currently activated in the stellar luminosities structure, for a specified galaxy component (disk or spheroid). The distance modulus is computed from the luminosity distance (from cosmologyFunctionsClass) with a \(+2.5\log_{10}(1+z)\) K-correction for photon frequency compression. Output dataset names follow the pattern componentMagnitudeApparentStellar:filterName:filterType.
Parameters
[component](string; one ofall,disk,spheroid,hotHalo,nuclearStarCluster,coldHalo,darkHalo,blackHole,darkMatterOnly,none,unknown) — The component from which to extract star formation rate.
nodePropertyExtractorMainBranchStatus¶
A node property extractor class which extracts the status of each node with respect to the main branch of its merger tree. The status will be extracted as nodeIsOnMainBranch, with a value of 1 indicating that the node is a primary progenitor of the final halo (i.e. is on the main branch of the tree) and a value of 0 indicating that it is not.
If [includeSubhalos] is set to true then subhalos of the main branch halo are also assigned a value of 1 (with subhalos of non-main branch halos assigned a value of 0). Otherwise, all subhalos are assigned a value of 0.
Parameters
[includeSubhalos](boolean; default.false.) — If set to true then subhalos of the main branch halo are also assigned a value of 1 (with subhalos of non-main branch halos assigned a value of 0). Otherwise, all subhalos are assigned a value of 0.
nodePropertyExtractorMassAccretionHistory¶
Extracts the mass accretion history (a time series of halo mass values) for each node along the main progenitor branch, enabling analysis of halo growth histories across cosmic time.
Methods
tabulate— Tabulate the virial density contrast as a function of mass and time.restoreTable— Restore a tabulated solution from file.storeTable— Store a tabulated solution to file.
nodePropertyExtractorMassAccretionHistoryHearin2021¶
Extracts best-fit parameters of the Hearin et al. (2021) differentiable model for halo mass accretion histories, fitting a smooth parametric form to each halo’s MAH for use in empirical galaxy-halo connection models.
Methods
powerLawIndex— Return the power law index at the given time.powerLawIndexDerivative— Return the derivative of the power law index with respect to time.timeZeroLogarithmic— Return the \(\log_{10}(t_0)\) parameter.massMaximum— Return the maximum mass in the mass accretion history.sigmoid— The sigmoid interpolation function.powerLawIndexEarly_— Return the early-time power law index.powerLawIndexLate_— Return the late-time power law index.rateRollOver_— Return the roll-over rate.timeMaximum_— Return the time of maximum mass.
nodePropertyExtractorMassAccretionRateBlackHoles¶
Extracts a list of mass accretion rates for all supermassive black holes in each node, enabling output of per-black-hole accretion activity for analysis of AGN populations and feedback.
nodePropertyExtractorMassBasic¶
Extracts the “basic” mass of a node as defined by the basic component, representing the total dark matter halo mass including all mass associated with the node, suitable for halo mass function and clustering analyses.
nodePropertyExtractorMassBertschinger¶
Extracts the Bertschinger mass of each halo node, which is the mass enclosed within the secondary infall turnaround radius and provides a measure of the total mass within the halo’s influence region.
nodePropertyExtractorMassBlackHole¶
Extracts the mass of the central supermassive black hole in a galaxy node, accounting for growth via gas accretion and black hole mergers, for comparison with \(M_\bullet\)–\(\sigma\) and \(M_\bullet\)–\(M_\mathrm{bulge}\) scaling relations.
nodePropertyExtractorMassBlackHoles¶
Extracts a list of masses for all supermassive black holes in each node, providing per-black-hole mass data for analysis of black hole demographics and the black hole mass function.
nodePropertyExtractorMassBound¶
Extracts the gravitationally bound mass remaining in a subhalo after tidal stripping, representing the mass retained within the tidal radius as the subhalo orbits in its host potential, relevant to subhalo abundance matching.
nodePropertyExtractorMassBoundMaximum¶
A node property extractor which extracts the maximum bound mass of the node. Requires the nodeOperatorMassBoundMaximum node operator to be used to track the maximum bound mass.
Methods
update— Update the maximum bound mass of this node.
nodePropertyExtractorMassCooled¶
A node property extractor which extracts the mass of gas cooled out of the CGM. If the parameter [resetAfterExtract]\(=\)true then the cooled mass is reset to zero after extraction.
Parameters
[resetAfterExtract](boolean; default.false.) — If true, the mass of gas cooled is reset to zero after being extracted.
nodePropertyExtractorMassHalo¶
A property extractor that returns the dark-matter-only halo mass (in \(\mathrm{M}_\odot\)) enclosed within a radius defined by a specified virial density contrast. Two density contrast objects must be provided: virialDensityContrast for the profile interpolation and virialDensityContrastDefinition for the mass definition. If useLastIsolatedTime is true, the density contrast is evaluated at the halo’s last isolated time rather than the current time, yielding the conventional virial mass definition used by many halo finders.
Parameters
[useLastIsolatedTime](boolean; default.false.) — If true, evaluate the halo mass using a the virial density definition at the last isolated time of the halo.
nodePropertyExtractorMassHost¶
Extracts the virial mass of the immediate host (parent) halo for satellite nodes, distinguishing the mass of the surrounding host halo from the subhalo mass itself. Returns \(-1\) for isolated (non-satellite) nodes where no host exists.
nodePropertyExtractorMassHostMaximum¶
A node property extractor which extracts the mass of the most massive node in which a node has been hosted. Requires the nodeOperatorMassHostMaximum node operator to be used to track the maximum host mass.
Methods
update— Update the maximum host mass of this node.
nodePropertyExtractorMassISM¶
Extracts the total interstellar medium (ISM) gas mass of a galaxy by summing the gaseous mass distributions of the disk and spheroid components. Provides the combined cold gas reservoir for comparison with observational ISM mass estimates from CO, dust, or HI surveys.
nodePropertyExtractorMassProfile¶
A property extractor that returns the enclosed mass profile (in \(\mathrm{M}_\odot\)) at a user-specified set of radii, supporting a variety of radius definitions (virial radius multiples, disk/spheroid scale radii, half-mass radii, galactic mass or light fractions, and satellite bound-mass fractions). The radiusSpecifiers parameter specifies the list of radii; if includeRadii is true, the actual radii in Mpc are also written to the output. The dark matter fraction from cosmological parameters is used to translate satellite bound mass into a corresponding dark matter radius.
Parameters
[radiusSpecifiers](string) — A list of radius specifiers at which to output the enclosed mass profile.[includeRadii](boolean; default.false.) — Specifies whether or not the radii at which enclosed mass data are output should also be included in the output file.
nodePropertyExtractorMassProgenitorMaximum¶
A node property extractor which extracts the mass of the most massive progenitor of a node. Requires the nodeOperatorMassProgenitorMaximum node operator to be used to track the maximum progenitor mass.
nodePropertyExtractorMassStellar¶
Extracts the total stellar mass of a galaxy node by summing the stellar masses of disk and spheroid components, for comparison with stellar mass functions and stellar-to-halo mass relations from photometric surveys.
nodePropertyExtractorMassStellarMorphology¶
Extracts a stellar mass-weighted morphological indicator for a galaxy, quantifying the fractional contribution of disk vs. spheroid components to the total stellar mass as a proxy for Hubble-type morphological classification.
nodePropertyExtractorMassStellarSpheroid¶
Extracts the stellar mass contained in the spheroid (bulge) component of a galaxy node, used to study bulge growth via mergers and disk instabilities and to calibrate the bulge-to-total mass ratio.
nodePropertyExtractorMergedSubhaloProperties¶
Extracts orbital properties (such as orbital energy, angular momentum, and pericentric distance) of subhalos at the time they merged, enabling analysis of merger dynamics and post-merger evolution.
nodePropertyExtractorMetallicityISM¶
A property extractor that returns the gas-phase metallicity of the interstellar medium (ISM), defined as the mass ratio of a specified element to hydrogen, \(Z = M_X / M_\mathrm{H}\), summed over disk and spheroid gas components. The element parameter specifies the atomic symbol (e.g.Fe, O, Si) for the element used to define metallicity. Only elements being actively tracked in the abundances structure are valid choices. Returns zero for nodes with no cold gas.
Parameters
[element](string) — The atomic symbol for the element to use to define metallicity.
nodePropertyExtractorMetallicityStellar¶
A property extractor that returns the stellar metallicity of a node, defined as the mass ratio of a specified element to hydrogen in the stellar component, \(Z_\star = M_X / M_\mathrm{H}\), summed over disk and spheroid stars. The element parameter specifies the atomic symbol (e.g.Fe, O) for the metal used in the definition. Only elements tracked by the abundances structure are valid choices. Returns zero for nodes with no stellar mass, and tracks the mass-weighted mean metallicity of all stars formed.
Parameters
[element](string) — The atomic symbol for the element to use to define metallicity.
nodePropertyExtractorMostMassiveProgenitor¶
A node property extractor class which extracts a value of \(1\) for the most massive progenitor node in a tree at each output time and \(0\) for all other nodes.
nodePropertyExtractorMulti¶
Combines multiple individual property extractors into a single extractor, iterating through a list of nodePropertyExtractorClass objects and collecting their outputs together, enabling extraction of diverse properties in a single pass through the node tree.
Methods
columnDescriptions— Return a description of the columns.elementCount— Return the number of properties in the tuple.extractDouble— Extract the double properties from the givennode.extractInteger— Extract the integer properties from the givennode.names— Return the names of the properties extracted.descriptions— Return descriptions of the properties extracted.unitsInSI— Return the units of the properties extracted in the SI system.units— Return an object containing units metadata for the properties.ranks— Return the ranks of the properties extracted.metaData— Populate a hash with meta-data for the property.
nodePropertyExtractorNodeFormationTime¶
Extracts the cosmic formation time of each node, defined as the time at which the node first exceeded a specified mass threshold, providing a proxy for the assembly epoch of each halo.
nodePropertyExtractorNodeIndices¶
A node property extract which extracts various indices related to the merger tree structure:
nodeIndexA uniquefootnoteNode indices are typically unique, but there is no actual requirement within Galacticus that this must be the case. A merger tree construction method could create nodes with non-unique indices. (within a tree) integer index identifying the node;
parentIndexThe index of this node’s parent node (or \(-1\) if it has no parent);
siblingIndexThe index of this node’s sibling node (or \(-1\) if it has no sibling);
satelliteIndexThe index of this node’s first satellite node (or \(-1\) if it has no satellites);
nodeIsIsolatedWill be \(0\) for a node which is a subhalo inside some other node (i.e. a satellite galaxy) or \(1\) for a node that is an isolated halo (i.e. a central galaxy).
The nodeIndex property corresponds by default to the index of the node in the original merger tree. This means that as a galaxy evolves through the tree and, in particular, gets promoted into a new halo the index associated with a galaxy will change. This is useful to identify where the galaxy resides in the original (unevolved) tree structure, but does not allow galaxies to be traced from one output to the next using their nodeIndex value. By use of the node operator <nodeOperator value="indexShift"/> this behavior can be changed such that the value of nodeIndex will reflect the index of the earliest progenitor node along the main branch of the current node. As such, this index will remain the same for a given galaxy during its evolution. These two alternative algorithms for propagating node indices are illustrated in Figure 5.
Fig. 5 Illustration of options for the propagation of node indices during node promotion events. Two identical trees (top row) are evolved without (left column) and one with (right column) the node operator <nodeOperator value="indexShift"/> The middle and lower rows indicate the resulting node indices after two stages of tree evolution.¶
(Default implementation)
nodePropertyExtractorNodeMajorMergerRecentCount¶
Extracts the count of major halo merger events that occurred within a configurable lookback time window, enabling statistical analysis of recent merger activity across the halo population.
nodePropertyExtractorNodeMajorMergerTime¶
Extracts the cosmic time of the most recent major halo merger event for each node, where major mergers are defined by a configurable mass ratio threshold applied to the merging halo pair.
nodePropertyExtractorNull¶
A no-op property extractor that returns no output, used as a placeholder or default when no property extraction is required, primarily useful in testing or when an extractor slot must be filled without producing output.
nodePropertyExtractorOutputSelector¶
A wrapper property extractor that delegates extraction to one or more child nodePropertyExtractorClass objects but restricts output to a user-specified subset of output times. At each output time, the extractor checks whether that time matches one of the allowed output times (within a relative tolerance set by toleranceRelative); non-matching times return zero-size datasets. This is useful when different properties need to be extracted at different output epochs without running separate simulations.
Methods
initialize— Initialize the object after construction.timeMatches— Return true if the current time matches a time for which we should extract properties.
Parameters
[toleranceRelative](real; default0.0d0) — The relative tolerance to accept when comparing times.
nodePropertyExtractorPeakHeight¶
Extracts the peak height \(\nu = \delta_c / \sigma(M)\) of a dark matter halo, the ratio of the linear collapse threshold to the mass-variance, which parametrizes halo formation probability and is used in excursion-set and bias analyses.
nodePropertyExtractorPositionOrbital¶
An orbital position output analysis property extractor class. Specifically, the orbital position is defined relative to the top-level halo in any sub-halo hierarchy. That is, relative to the host halo which is itself not a sub-halo of any other halo. If the position of a (sub)\(^i\)-halo with respect to the center of its (sub)\(^{i-1}\)-halo host is \(\mathbf{x}_i\) then the orbital position computed by this class is
where \(N\) is the depth of the node in the sub-halo hierarchy.
nodePropertyExtractorPresetNamedIntegers¶
A node property extractor which extracts “preset” named integer quantities. These are typically used to provide additional quantities read from N-body merger trees.
Parameters
[presetNames](string) — The names of preset properties to extract.
nodePropertyExtractorPresetNamedReals¶
A node property extractor which extracts “preset” named real quantities. These are typically used to provide additional quantities read from N-body merger trees.
Parameters
[presetNames](string) — The names of preset properties to extract.
nodePropertyExtractorProjectedDensity¶
A property extractor class for the projected density at a set of radii. The radii and types of projected density to output is specified by the radiusSpecifiers parameter. This parameter’s value can contain multiple entries, each of which should be a valid radius specifier.
Parameters
[radiusSpecifiers](string) — A list of radius specifiers at which to output the projected density profile.[includeRadii](boolean; default.false.) — Specifies whether or not the radii at which projected density data are output should also be included in the output file.[tolerateIntegrationFailures](boolean; default.false.) — Specifies whether or not failures in integration of the projected density should be tolerated.
nodePropertyExtractorProjectedMass¶
A property extractor class for the projected mass at a set of radii. The radii and types of projected mass to output is specified by the radiusSpecifiers parameter. This parameter’s value can contain multiple entries, each of which should be a valid radius specifier.
Parameters
[radiusSpecifiers](string) — A list of radius specifiers at which to output the projected mass profile.[includeRadii](boolean; default.false.) — Specifies whether or not the radii at which projected mass data are output should also be included in the output file.
nodePropertyExtractorPromptCusps¶
A property extractor class for the properties of the nuclear star cluster at the moment of the black hole formation.
nodePropertyExtractorRadiativeEfficiencyBlackHoles¶
Extracts a list of radiative efficiencies for all supermassive black holes in each node, providing the fraction of accreted mass-energy radiated as electromagnetic radiation for each black hole.
nodePropertyExtractorRadiiHalfLightProperties¶
A node property extractor which extracts half-light radii and the masses enclosed within them. The half-light radius in each specified luminosity band is extracted as [halfLightRadius{luminosityID}] (in Mpc), where {luminosityID} is the usual luminosity identifier suffix, and the total (dark + baryonic) mass within that radius is extracted as [halfLightMass{luminosityID}] (in \(\mathrm{M}_\odot\)).
nodePropertyExtractorRadiusBlackHoles¶
Extracts a list of radial positions and radial migration rates for all supermassive black holes in each node, enabling analysis of black hole orbital evolution within their host galaxies.
nodePropertyExtractorRadiusBoundMass¶
Extracts the radius enclosing the currently gravitationally bound mass of a node, providing a measure of the physical extent of bound material as a halo undergoes tidal stripping or mass loss.
nodePropertyExtractorRadiusCooling¶
A cooling radius property extractor class. Extracts the characteristic cooling radius in the halo in Mpc.
nodePropertyExtractorRadiusEffectiveStellar¶
Extracts the stellar mass-weighted effective (half-mass) radius of a galaxy, combining disk and spheroid contributions to compute the projected radius enclosing half the total stellar mass, for comparison to observed size–mass relations.
nodePropertyExtractorRadiusEinstein¶
A property extractor that computes the Einstein radius (in arcseconds) of the dark matter halo for gravitational lensing, given a background source at redshift redshiftSource. The Einstein radius is determined numerically by finding the projected impact parameter at which the mean projected surface mass density enclosed within that radius equals the critical surface density \(\Sigma_\mathrm{cr} = \mathrm{c}^2 D_\mathrm{s} / (4\pi \mathrm{G} D_\mathrm{l} D_\mathrm{ls})\), where \(D_\mathrm{s}\), \(D_\mathrm{l}\), and \(D_\mathrm{ls}\) are the angular diameter distances to the source, lens, and from lens to source, respectively. Numerical integration over the line-of-sight and impact parameter is performed using the halo mass distribution from massDistributionClass.
Parameters
[redshiftSource](real) — The source redshift to using in Einstein radius calculations.
nodePropertyExtractorRadiusHalfMassGalactic¶
Extracts the half-galactic-mass radius, the 3D radius enclosing half of the total galactic mass (stars plus gas) in both disk and spheroid components, used to characterize the physical extent of galaxies across cosmic time.
nodePropertyExtractorRadiusHalfMassStellar¶
Extracts the projected half-stellar-mass radius (effective radius), the radius enclosing half the total stellar luminosity or stellar mass of a galaxy, a fundamental size observable used in galaxy structural studies.
nodePropertyExtractorRadiusOrbital¶
Extracts the current 3D orbital radius of a satellite node from the center of its host halo, tracking the satellite’s position along its orbit for use in analyses of satellite radial distributions and orbital evolution.
nodePropertyExtractorRadiusOrbitalProjected¶
Extracts the projected orbital radius of a satellite node on the plane of the sky (projected along the \(z\)-axis), providing the 2D projected separation from the host halo center for comparison with observational satellite radial profiles.
nodePropertyExtractorRadiusTidal¶
Extracts the tidal radius of each halo in Mpc, defined as the radius at which the tidal forces from the host halo equal the self-gravity of the subhalo, beyond which mass is susceptible to stripping.
nodePropertyExtractorRadiusVelocityMaximum¶
Extracts the radius at which the circular velocity reaches its maximum value in the dark matter-only density profile of each halo, a key structural parameter that characterizes halo concentration and mass distribution.
Parameters
[propertyName](string; defaultRadiusVelocityMaximum) — Name of the property.
nodePropertyExtractorRadiusVirial¶
A property extractor that returns the virial radius (in Mpc) of the dark-matter-only halo—the radius enclosing the density contrast specified by the virialDensityContrastDefinition object, with the profile computed using darkMatterProfileDMOClass. Two density contrast objects must be provided: one for the profile interpolation and one for the mass definition. If useLastIsolatedTime is true, the density contrast is evaluated at the halo’s last isolated time rather than the current time, yielding the conventionally-defined virial radius.
Methods
tabulate— Tabulate the virial density contrast as a function of mass and time.restoreTable— Restore a tabulated solution from file.storeTable— Store a tabulated solution to file.
Parameters
[useLastIsolatedTime](boolean; default.false.) — If true, evaluate the halo virial radius using a the virial density definition at the last isolated time of the halo.
nodePropertyExtractorRadiusVirialLastDefined¶
Extracts the most recently computed virial radius of a halo, retaining the last well-defined value even after a node becomes a subhalo and its own virial radius is no longer physically meaningful.
nodePropertyExtractorRateCooling¶
A cooling rate property extractor class. Extracts the rate at which gas is cooling from the halo (assuming no sources of heating) in \(\mathrm{M}_\odot\) Gyr\(^{-1}\).
nodePropertyExtractorRateInfallColdMode¶
Extracts the infall rate of cold-mode gas accreting onto a galaxy, capturing the filamentary cold-stream accretion channel that bypasses virial shock heating and directly feeds star formation. Particularly relevant for high-redshift galaxies in massive halos.
nodePropertyExtractorRatio¶
A property extractor that returns the ratio of two scalar node properties—the value extracted by nodePropertyExtractorNumerator divided by that extracted by nodePropertyExtractorDenominator. The output dataset name and description are specified directly as parameters, allowing arbitrary dimensionless ratios (e.g.disk-to-total stellar mass, gas fraction, size ratio) to be computed on-the-fly at output time without defining a dedicated extractor class for each combination.
Parameters
[name](string) — The name of this property.[description](string) — A description of this property.
nodePropertyExtractorRedshift¶
Extracts the current cosmological redshift at which a node exists, computed from the node’s cosmic time, and outputs it as the scalar property named “redshift”.
nodePropertyExtractorRedshiftLastIsolated¶
Extracts the cosmological redshift at which a node was last an isolated (field) halo before becoming a satellite, providing a proxy for the epoch of environmental quenching onset, output as “redshiftLastIsolated”.
nodePropertyExtractorRotationCurve¶
A property extractor class for the rotation curve at a set of radii. The radii and types of rotation curve to output are specified by the radiusSpecifiers parameter. This parameter’s value can contain multiple entries, each of which should be a valid radius specifier.
Parameters
[radiusSpecifiers](string) — A list of radius specifiers at which to output the rotation curve.[includeRadii](boolean; default.false.) — Specifies whether or not the radii at which rotation curve data are output should also be included in the output file.
nodePropertyExtractorSatelliteDynamicalTime¶
A satellite dynamical time extractor class. Extracts the satellite dynamical time in units of Gyr, following the definition from Binney and Tremaine (2008):
with \(\rho_\mathrm{tidal}\) being the density within the tidal radius, \(r_\mathrm{tidal}\), of the satellite which encloses a mass \(M_\mathrm{tidal}\).
nodePropertyExtractorSatelliteMinimumDistance¶
Extracts the minimum pericentric distance ever reached by a satellite node within its current host halo, recording the closest approach to the halo center as an indicator of tidal stripping history.
Methods
distanceRelative— Compute the distance to the center of the relevant host halo.
nodePropertyExtractorSatelliteOrbitalExtrema¶
A node property extractor which extracts the radii of a satellite’s orbital extrema (i.e. pericenter and apocenter) as satellitePericenterRadius and satellitePericenterVelocity.
Parameters
[extractPericenter](boolean; default.false.) — Specifies whether or not satellite orbital pericenter data (radius, velocity) should be extracted.[extractApocenter](boolean; default.false.) — Specifies whether or not satellite orbital apocenter data (radius, velocity) should be extracted.
nodePropertyExtractorSatelliteStatus¶
A property extractor that returns an integer satellite status flag for each node: 0 for central (non-satellite) halos, 1 for satellites that still have a resolved dark matter subhalo, and 2 for orphaned satellites that have lost their subhalo below the resolution limit. The discriminator parameter (default: boundMass) controls whether orphan status is determined from the bound mass history of the satellite component or the position history of the position component, allowing flexibility in how subhalo disruption is identified.
Parameters
[discriminator](string; one ofboundMass,position; defaultboundMass) — Specifies whether bound mass or position history will be used to determine satellite orphan status.
nodePropertyExtractorSatelliteVirialOrbit¶
A property extractor that outputs selected orbital elements of the virial orbit of satellite nodes—the Keplerian orbit at the time the satellite first crosses the host virial radius. The properties parameter specifies the list of orbital quantities to extract (e.g.radial velocity, tangential velocity, specific energy, angular momentum), returning one output column per selected property per satellite. This is used to characterize the infall conditions of satellite galaxies and dark matter subhalos.
Parameters
[properties](string) — The set of properties of the orbit to output.
nodePropertyExtractorScalar¶
Abstract base class for all extractors that return a single floating-point scalar value per node (e.g., mass, radius, temperature), defining the common interface implemented by the large majority of node property extractors.
Methods
extract— Extract the property from the givennode.name— Return the name of the property extracted.description— Return a description of the property extracted.unitsInSI— Return the units of the property extracted in the SI system.units— Return an object containing units metadata for the properties.metaData— Populate a hash with meta-data for the property.
nodePropertyExtractorScalarizer¶
A property extractor that wraps an array or tuple nodePropertyExtractorClass and returns a single scalar value by selecting one entry from the array. The element parameter specifies which element index to extract; for tuple extractors an additional item parameter selects the item (row) within the tuple. This allows individual components of compound property arrays (e.g.a single radial bin from a density profile, or one filter band from a magnitude tuple) to be extracted as independent scalar output datasets.
Parameters
[element](integer) — The element to scalarize from the array.[item](integer) — The item to scalarize from the array.
nodePropertyExtractorSED¶
A property extractor that returns the spectral energy distribution (SED) of a galaxy component (disk, spheroid, or total) at a grid of wavelengths, computed by convolving the star formation history with stellar population spectral templates. Parameters include component (the galaxy component), frame (rest or observed), wavelengthMinimum and wavelengthMaximum (in AA), resolution (\(\lambda/\Delta\lambda\); negative for full template resolution), and toleranceRelative for the spectral integration. The SED is returned as a 2D array over wavelength and output time.
Methods
indexTemplateTime— Return the index of the template SEDs to use.indexTemplateNode— Return the index of the template SEDs to use.luminosityMean— Compute the mean luminosity of the stellar population in the given bin of the star formation history.historyHashedDescriptor— Return a hashed descriptor of the object which incorporates the time and metallicity binning of the star formation history.wavelengths— Return an array of the wavelengths at which the SED is computed.
Parameters
[component](string; one ofall,disk,spheroid,hotHalo,nuclearStarCluster,coldHalo,darkHalo,blackHole,darkMatterOnly,none,unknown) — The component from which to extract star formation rate.[frame](string; one ofrest,observed; defaultrest) — The frame (restorobserved) for which to compute the SED.[wavelengthMinimum](real; default0.0d0) — The minimum wavelength at which to compute the SED.[wavelengthMaximum](real; defaulthuge(0.0d0)) — The maximum wavelength at which to compute the SED.[resolution](real; default-1.0d0) — The resolution, \(\lambda/\Delta\lambda\), at which to compute the SED. If a negative value is given the SED will be computed at the full resolution provided by the stellar population spectra class.[toleranceRelative](real; default1.0d-3) — The relative tolerance used in integration over stellar population spectra.
nodePropertyExtractorSEDAGN¶
A property extractor class for the SED of the AGN. The spectrum is computed using the provided accretionDiskSpectraClass object, and will be output between wavelengths [wavelengthMinimum] and [wavelengthMaximum]. If [resolution] is set to a positive value then this specifies the resolution, \(\lambda/\Delta\lambda\), at which to compute the SED. If [resolution] is non-positive then the SED will be output at the full native resolution provided by the accretionDiskSpectraClass object. The frame for the SED, rest or observed, is specified by [frame]. Note that using observed merely means that the extracted spectrum is evaluated at wavelength \(\lambda_\mathrm{r} = \lambda_\mathrm{o} / (1+z)\) where \(\lambda_\mathrm{o}\) is the observed wavelength (and is the wavelength returned by the columnDescriptions method), \(\lambda_\mathrm{r}\) is the rest-frame wavelength, and \(z\) is redshift—no adjustment is made for the boost in observed flux due to the \(\mathrm{d}\lambda_\mathrm{o}/\mathrm{d}\lambda_\mathrm{r}\) term which appears when computing observed-frame fluxes.
Methods
wavelengths— Return an array of the wavelengths at which the SED is computed.
Parameters
[frame](string; one ofrest,observed; defaultrest) — The frame (restorobserved) for which to compute the SED.[wavelengthMinimum](real; default0.0d0) — The minimum wavelength at which to compute the SED.[wavelengthMaximum](real; defaulthuge(0.0d0)) — The maximum wavelength at which to compute the SED.[resolution](real; default-1.0d0) — The resolution, \(\lambda/\Delta\lambda\), at which to compute the SED. If a negative value is given the SED will be computed at the full resolution provided by theaccretionDiskSpectraClassobject.
nodePropertyExtractorSIDMParametric¶
A node property extractor which extracts dark matter profile properties for the SIDM parametric model.
nodePropertyExtractorSoliton¶
Extracts physical properties of the fuzzy dark matter (FDM) soliton core (such as core radius and core mass) associated with each halo node, enabling analysis of quantum pressure effects in FDM models.
Methods
radiusMerge— Compute the radius at which the satellite will be merged in FDM models.
nodePropertyExtractorSpeedOrbital¶
Extracts the current orbital speed of a satellite node as it moves through its host halo potential, computed from the satellite’s velocity vector, for use in orbital energy analyses and comparison with observed satellite velocity distributions.
nodePropertyExtractorSpin¶
Extracts the dimensionless spin parameter \(\lambda\) of a dark matter halo, characterizing its angular momentum content relative to gravitational and kinetic energy, a key parameter linking halo properties to disk galaxy sizes in semi-analytic models.
nodePropertyExtractorSpinBlackHoles¶
Extracts a list of dimensionless spin parameters for all supermassive black holes in each node, providing per-black-hole angular momentum data for studies of black hole spin evolution and jet production efficiency.
nodePropertyExtractorSpinBullock¶
Extracts the Bullock et al. (2001) spin parameter \(\lambda' = J / (\sqrt{2} M V r)\) of dark matter halos, an alternative dimensionless spin measure that is more easily computed from halo catalogs than the classical Peebles spin parameter.
nodePropertyExtractorStarFormationHistory¶
A composite property extractor that combines both the stellar mass formed in each age–metallicity bin and the corresponding time bin boundaries of the star formation history for a specified galaxy component (disk, spheroid, nuclearStarCluster, or all). It bundles together the outputs of nodePropertyExtractorStarFormationHistoryMass and nodePropertyExtractorStarFormationHistoryTimes for convenient simultaneous extraction, providing the full information needed to reconstruct the star formation history from output datasets.
Parameters
[component](string; one ofall,disk,spheroid,hotHalo,nuclearStarCluster,coldHalo,darkHalo,blackHole,darkMatterOnly,none,unknown) — The component from which to extract star formation history.
nodePropertyExtractorStarFormationHistoryMass¶
A property extractor that returns the stellar mass formed in each age and metallicity bin of the star formation history for a specified galaxy component (disk, spheroid, nuclearStarCluster, or all combined), as a 2D array (time \(\times\) metallicity) in units of \(\mathrm{M}_\odot \, \mathrm{Gyr}^{-1}\). The component parameter selects which component’s history to extract. Metallicity bin boundaries and, when the age grid is fixed per output, the time array are written as metadata to allow reconstruction of the full star formation history from the output dataset.
Parameters
[component](string; one ofall,disk,spheroid,hotHalo,nuclearStarCluster,coldHalo,darkHalo,blackHole,darkMatterOnly,none,unknown) — The component from which to extract star formation history.
nodePropertyExtractorStarFormationHistoryTimes¶
A property extractor that returns the lookback-time bin boundaries (in Gyr) used to tabulate the star formation history for a specified galaxy component (disk, spheroid, or nuclearStarCluster). These time values define the age axis of the star formation history grid and are needed to reconstruct the full star formation history from the mass array returned by nodePropertyExtractorStarFormationHistoryMass. The number of returned times depends on the specific starFormationHistoryClass implementation.
Parameters
[component](string; one ofall,disk,spheroid,hotHalo,nuclearStarCluster,coldHalo,darkHalo,blackHole,darkMatterOnly,none,unknown) — The component from which to extract star formation history.
nodePropertyExtractorStarFormationRate¶
A node property extractor which extracts the star formation rate in a galaxy. The type of star formation rate is controlled by the [component] parameter, which can be either “disk”, “spheroid”, “nsc” or “total”. The corresponding star formation rate is extracted as <component>StarFormationRate in units of \(\mathrm{M}_\odot\)/Gyr.
Methods
tabulate— Tabulate the virial density contrast as a function of mass and time.restoreTable— Restore a tabulated solution from file.storeTable— Store a tabulated solution to file.
Parameters
[component](string; one ofdisk,spheroid,nuclearStarCluster,total) — The component from which to extract star formation rate.
nodePropertyExtractorStarFormationRateInterOutput¶
A node property extractor which extracts the mean star formation rate between successive outputs. Intended to be paired with the nodeOperatorStarFormationRateInterOutput node operator class to compute those rates.
nodePropertyExtractorStellarFeedbackOutflowRate¶
A node property extractor which extracts the stellar feedback-driven mass outflow rate from a galaxy. The type of mass outflow rate is controlled by the [component] parameter, which can be either “disk”, “spheroid”, or “total”. The corresponding mass outflow rate is extracted as <component>StellarFeedbackOutflowRate in units of \(\mathrm{M}_\odot\)/Gyr.
Parameters
[component](string; one ofdisk,spheroid,nuclearStarCluster,total) — The component from which to extract star formation rate.
nodePropertyExtractorTidalField¶
A property extractor class which extracts the radial component of the tidal tensor in units of \(\mathrm{Gyr^{-2}}\).
nodePropertyExtractorTidallyTruncatedNFWFit¶
Fits a tidally truncated NFW profile to the dark matter halo, extracting the best-fit tidal truncation radius and associated structural parameters, useful for characterizing the degree of tidal stripping experienced by satellite subhalos.
nodePropertyExtractorTime¶
Extracts the cosmic time (age of the universe) at the epoch of each output snapshot, providing the absolute time coordinate for each node and enabling time-based analysis of galaxy formation histories across cosmic epochs.
Methods
timeMergingSet— Set the time of merging for a satellite node.
nodePropertyExtractorTimeFirstInfall¶
Extracts the cosmic time at which a satellite node first crossed the virial radius of its host halo (first infall), a key epoch for quantifying how long satellites have been processed by environmental effects such as ram pressure stripping and tidal forces.
nodePropertyExtractorTimescaleBarInstability¶
Extracts the bar instability timescale for disk galaxies, which governs how quickly a stellar bar can form via gravitational instability in the disk component. Used to diagnose the onset of secular evolution and the transfer of angular momentum from disk to spheroid.
nodePropertyExtractorTrackOutflowedMass¶
Extracts the cumulative mass and metal mass of gas that has been outflowed to the circumgalactic medium (CGM) via stellar and AGN feedback, as tracked by the nodeOperatorTrackOutflowedMass operator.
nodePropertyExtractorTreeWeight¶
Extracts the statistical weight assigned to each merger tree, representing the number density of halos of that mass in the target cosmology, used when combining results across trees sampled at discrete mass points to recover volume-averaged statistics.
nodePropertyExtractorTuple¶
Abstract base class for extractors that return a fixed-length tuple of floating-point values per node (e.g., 3D position or velocity vectors), defining the interface for multi-component vector property extraction used in output analysis.
Methods
elementCount— Return the number of properties in the tuple.extract— Extract the properties from the givennode.names— Return the names of the properties extracted.descriptions— Return descriptions of the properties extracted.unitsInSI— Return the units of the properties extracted in the SI system.units— Return an object containing units metadata for the properties.metaData— Populate a hash with meta-data for the property.
nodePropertyExtractorUniqueIDBranchTip¶
Extracts the unique global identifier of the tip (earliest progenitor) node on the current merger tree branch, providing a persistent cross-snapshot identifier that enables tracking of branch origins across different output times and tree realizations.
nodePropertyExtractorVelocityDispersion¶
A property extractor class for the velocity dispersion at a set of radii. The radii and types of projected density to output is specified by the radiusSpecifiers parameter. This parameter’s value can contain multiple entries, each of which should be a valid radius specifier, but with an additional, colon-separated, value at the end indicating the direction in which the velocity dispersion should be computed. This direction should be one of radial (computes the radial component of velocity dispersion), lineOfSight{<luminosity>} (computes the line-of-sight velocity dispersion), lineOfSightInteriorAverage{<luminosity>} (computes the line-of-sight velocity dispersion averaged interior to the given radius), or lambdaR{<luminosity>} (computes the \(\lambda_\mathrm{R}\) statistic of Cappellari et al. 2007)—in the latter three cases {<luminosity>} specifies which band should be used to weight the velocity dispersion, alternatively setting {<luminosity>}\(=\)mass (or just leaving off this specifier entirely) will use mass weighting instead.
Parameters
[radiusSpecifiers](string) — A list of radius specifiers at which to output the velocity dispersion.[includeRadii](boolean; default.false.) — Specifies whether or not the radii at which velocity dispersion data are output should also be included in the output file.[integrationFailureIsFatal](boolean; default.true.) — If true, failure of line-of-sight integrals is fatal. Otherwise, such errors are tolerated.[toleranceRelative](real; default1.0d-3) — The relative tolerance to use in integrals.
nodePropertyExtractorVelocityMaximum¶
A property extractor that returns the maximum circular velocity (in km s\(^{-1}\)) of the dark-matter-only halo profile, \(V_\mathrm{max} = \max_r \sqrt{GM(< r)/r}\), computed from the supplied darkMatterProfileDMOClass object. The output dataset is named darkMatterProfileDMOpropertyName, where propertyName (default: VelocityMaximum) can be set to distinguish multiple instances of this extractor.
Parameters
[propertyName](string; defaultVelocityMaximum) — Name of the property.
nodePropertyExtractorVelocityOrbital¶
An orbital velocity output analysis property extractor class. Specifically, the orbital velocity is defined relative to the top-level halo in any sub-halo hierarchy. That is, relative to the host halo which is itself not a sub-halo of any other halo. If the velocity of a (sub)\(^i\)-halo with respect to the center of its (sub)\(^{i-1}\)-halo host is \(\mathbf{v}_i\) then the orbital velocity computed by this class is
where \(N\) is the depth of the node in the sub-halo hierarchy.
nodePropertyExtractorVirialProperties¶
A node property extractor which extracts the following quantities related to the virialized region of each node:
nodeVirialRadiusThe virial radius (following whatever definition of virial overdensity is specified by the virial density contrast (see
virialDensityContrast)) in units of Mpc;nodeVirialVelocityThe circular velocity at the virial radius (in km/s).