.. _physics-posteriorSampleLikelihood: Posterior Sampling Likelihoods ============================== Class providing likelihood functions for Bayesian posterior sampling simulations---the log-probability :math:`\ln\mathcal{L}(\boldsymbol{\theta})` that the observational data would be observed given model parameters :math:`\boldsymbol{\theta}`. Implementations compare Galacticus model predictions with observational constraints (e.g.\ stellar mass functions, sizes, colors) and return the log-likelihood and its variance. The likelihood is combined with the prior from :galacticus-class:`modelParameterClass` objects to drive the posterior sampler toward the best-fit parameter region. Methods ------- ``evaluate`` → ``double precision`` Evaluate the log-likelihood :math:`\ln\mathcal{L}` at the current ``simulationState`` given the active and inactive model parameter lists, returning the log-likelihood value and optionally its variance for stochastic estimators. * ``class (posteriorSampleStateClass ), intent(inout) :: simulationState`` * ``type (modelParameterList ), intent(inout), dimension(:) :: modelParametersActive_, modelParametersInactive_`` * ``class (posteriorSampleConvergenceClass), intent(inout) :: simulationConvergence`` * ``double precision , intent(in ) :: temperature, logLikelihoodCurrent, logPriorCurrent, logPriorProposed`` * ``real , intent(inout) :: timeEvaluate`` * ``double precision , intent( out), optional :: logLikelihoodVariance`` * ``logical , intent(inout), optional :: forceAcceptance`` ``willEvaluate`` → ``logical`` Returns true if the likelihood will be evaluated for this state. * ``class (posteriorSampleStateClass ), intent(inout) :: simulationState`` * ``type (modelParameterList ), intent(in ), dimension(:) :: modelParameters_`` * ``class (posteriorSampleConvergenceClass), intent(inout) :: simulationConvergence`` * ``double precision , intent(in ) :: temperature, logLikelihoodCurrent, logPriorCurrent, logPriorProposed`` ``functionChanged`` → ``void`` Respond to possible changes in the likelihood function. ``restore`` → ``void`` Log a report on convergence state to the given file unit. * ``double precision, intent(in ), dimension(:) :: simulationState`` * ``double precision, intent(in ) :: logLikelihood`` .. _physics-posteriorSampleLikelihoodBaseParameters: ``posteriorSampleLikelihoodBaseParameters`` ------------------------------------------- A posterior sampling likelihood class which allows arbitrary modification of a base parameter object. **Methods** * ``initialize`` — Initialize pointers into the base parameters object. * ``update`` — Update values in the base parameters object. .. _physics-posteriorSampleLikelihoodGalaxyPopulation: ``posteriorSampleLikelihoodGalaxyPopulation`` --------------------------------------------- A posterior sampling likelihood class which evaluates the likelihood of Galacticus galaxy formation model outputs against observational constraints, supporting parallelized model evaluation across MPI process groups. The number of collaborative MPI groups is set by ``[countCollaborativeGroups]``, with analysis storage controlled by ``[storeResults]``. **Parameters** * ``[baseParametersFileName]`` — The path to the XML parameter file that provides the base configuration for each Galacticus model evaluation, to which parameter changes from the posterior sampler are then applied. * ``[outputAnalyses]`` (default ``.false.``) — If true, results of the analyses on each step will be stored to the output file. * ``[setOutputGroup]`` (default ``.false.``) — If true, set the primary output group for each step. * ``[reportEvaluationTimes]`` (default ``.false.``) — If true, report the time taken to evaluate each model. * ``[countCollaborativeGroups]`` (default ``1``) — The number of groups into which MPI processes should be split for the purpose of model evaluation. Each group will be populated with MPI processes. Processes within a group will collaborate on running a single model evaluation. Setting this parameter to a negative value will result in using the maximum possible number of groups (equal to the number of MPI processes). * ``[firstComeFirstServed]`` (default ``.false.``) — If true, collaborative groups will take the next available evaluation and process it. Otherwise, each group will be assigned a fixed set of evaluations in advance. * ``[doPing]`` (default ``.false.``) — If true, the master MPI process will attach to the ``calculationReset`` event and ping the MPI counter. This can help to ensure that the counter updates regularly. * ``[reportFileName]`` (default ``.false.``) — If true, report the base parameter file name being evaluated. * ``[reportState]`` (default ``.false.``) — If true, log a summary of the model parameter state to standard output at the beginning of each likelihood evaluation. * ``[evolveForestsVerbosity]`` (default ``enumerationVerbosityLevelDecode(displayVerbosity(),includePrefix=.false.)``) — The verbosity level to use while performing evolve forests tasks. * ``[failedParametersFileName]`` (default ``var_str('./failedParameters.xml')``) — The name of the file to which parameters of failed models should be written. * ``[changeParametersFileNames]`` — The names of files containing parameter changes to be applied. .. _physics-posteriorSampleLikelihoodGaussianRegression: ``posteriorSampleLikelihoodGaussianRegression`` ----------------------------------------------- The likelihood is computed either using another likelihood function (the "simulator") or via Gaussian regression emulation of that simulator. The details of the emulation algorithm are specified by the following sub-parameters: ``emulatorRebuildCount`` The number of simulator evaluations from which the emulator is built; ``polynomialOrder`` The order of the polynomial fitted to the simulator likelihoods prior to Gaussian regression; ``sigmaBuffer`` See below; ``logLikelihoodBuffer`` See below; ``logLikelihoodErrorTolerance`` See below; ``reportCount`` The number of likelihood evaluations between successive reports on the status of the emulator; ``emulateOutliers`` If true, then outlier chains are always emulated post-convergence (this is safe if such chains are not used in constructing proposals for non-outlier chains); ``simulatorLikelihood`` Contains another likelihood function definition which will be used to construct the simulator. In detail, this likelihood function first collects ``emulatorRebuildCount`` likelihood evaluations from the simulator. It then fits a polynomial of order ``polynomialOrder`` and of dimension equal to the dimension of the state vector to the simulated likelihoods. Gaussian regression is performed on the residuals of the simulated likelihoods after this polynomial fit is removed. Once the emulator has been built in this way every second simulated state is discarded, and accumulation of new simulated states continues. Once ``emulatorRebuildCount`` simulated states have once again been accumulated a new simulator is built. This ensures that the emulator does not lose all information used in building the previous emulator\footnoteThis would be unfortunate as the second emulator to be built would then contain information on only those regions of the state space that were poorly emulated before., instead information from older emulators decays exponentially. Once an emulator has been built, on each successive likelihood evaluation the emulated log-likelihood :math:`\log\mathcal{L}_\mathrm{e}` and its error estimate :math:`\sigma_{\log\mathcal{L}_\mathrm{e}}` are computed. The emulated likelihood is then returned if: .. math:: \log\mathcal{P}^\prime + \log\mathcal{L}_\mathrm{e} + N \sigma_{\log\mathcal{L}_\mathrm{e}} < \log\mathcal{P} + \log\mathcal{L} - T \Delta\log\mathcal{L}, where :math:`N=`\ ``sigmaBuffer``, :math:`\Delta\log\mathcal{L}=`\ ``logLikelihoodBuffer``, :math:`T` is the temperature, :math:`\log\mathcal{L}` is the current log-likelihood, :math:`\log\mathcal{P}` is the current log-prior probability, and :math:`\log\mathcal{P}^\prime` is the proposed log-prior probability, or if .. math:: \sigma_{\log\mathcal{L}_\mathrm{e}} < T \sigma_{\log\mathcal{L}}, where :math:`\sigma_{\log\mathcal{L}}=`\ ``logLikelihoodErrorTolerance``, otherwise the simulator is used to compute the exact likelihood. In this way, the emulated likelihood is used if it is sufficiently below the current likelihood that, even accounting for the emulation error, transition to the new state is highly unlikely, or if the error on the likelihood emulation is sufficiently small that it will not have a significant effect on the transition probability to the proposed state. If verbosity is set to ``info`` or greater than a report will be issued every ``reportCount`` evaluations. The report will give the proportions of simulated vs. emulated evaluations. Additionally, during the evaluation where the report is issued, both the emulated and simulated log-likelihoods are evaluated and are tested to see if they lie within :math:`3 \sigma_{\log\mathcal{L}_\mathrm{e}}` of each other. The rate of failures (i.e. where the two differ by more than this amount) is then reported. **Methods** * ``separation`` — Determine the separation between two state vectors. * ``emulate`` — Evaluate the model emulator. * ``reset`` — Reset the iterator object to the start of its sequence. * ``iterate`` — Move to the next iteration of polynomial coefficient indices. Returns true if successful. If no more iterations are available, returns false. * ``index`` — Return the :math:`i^\mathrm{th}` index of the polynomial coefficient. * ``currentOrder`` — Return the current order of the polynomial coefficient. * ``counter`` — Return an incremental counter (i.e. begins at :math:`0` and increases by :math:`1` on each iteration). **Parameters** * ``[emulatorRebuildCount]`` (default ``100``) — The number of steps between rebuilds of the emulator. * ``[polynomialOrder]`` (default ``2``) — The order of the polynomial to fit to the likelihood surface. * ``[sigmaBuffer]`` (default ``3.0d0``) — The buffer size in units of the likelihood error to use when deciding whether to emulate the likelihood. * ``[logLikelihoodBuffer]`` (default ``10.0d0``) — The buffer size in log-likelihood to use when deciding whether to emulate the likelihood. * ``[logLikelihoodErrorTolerance]`` (default ``0.0d0``) — The tolerance on the likelihood error to accept when deciding whether to emulate the likelihood. * ``[reportCount]`` (default ``10``) — The number of steps between reports of emulator performance. * ``[emulateOutliers]`` (default ``.true.``) — If true, then outlier chains are always emulated once the simulation is converged. * ``[assumeZeroVarianceAtZeroLag]`` (default ``.false.``) — If true, the variogram model is forced to go to zero for states with zero separation (as expected if the likelihood model being emulated is fully deterministic). Otherwise, the variance at zero separation is treated as a free parameter. * ``[dumpEmulatorFileRoot]`` — The name of a file to which emulator internal state will be dumped. (If empty, no dump occurs.) * ``[dummyEmulator]`` (default ``.false.``) — If true, then the emulator is constructed, and performance measured, but likelihoods are always simulated directly. .. _physics-posteriorSampleLikelihoodHaloMassFunction: ``posteriorSampleLikelihoodHaloMassFunction`` --------------------------------------------- A posterior sampling likelihood class which evaluates the likelihood of a modeled dark matter halo mass function against observed data, supporting Poisson or multivariate normal statistics. The target data file is set by ``[fileName]``, with the evaluation redshift, mass limits, and minimum halo count per bin set by ``[redshift]``, ``[massMinimum]``, and ``[countMinimum]``. **Methods** * ``descriptorSpecial`` — Handle adding special parameters to the descriptor. **Parameters** * ``[abundanceMinimum]`` (default ``-1.0d0``) — The abundance (in units of Mpc\ :math:`^{-3}`) below which to truncate the halo mass function when sampling halo masses for tree construction. A negative value indicates no truncation. * ``[abundanceMaximum]`` (default ``-1.0d0``) — The abundance (in units of Mpc\ :math:`^{-3}`) above which to truncate the halo mass function when sampling halo masses for tree construction. A negative value indicates no truncation. * ``[modifier1]`` (default ``0.0d0``) — Coefficient of the polynomial modifier applied to the halo mass function when sampling halo masses for tree construction. * ``[modifier2]`` (default ``0.0d0``) — Coefficient of the polynomial modifier applied to the halo mass function when sampling halo masses for tree construction. * ``[baseParametersFileName]`` — The path to the XML parameter file that provides the base configuration for each model evaluation, to which parameter changes from the posterior sampler are then applied. * ``[pathSamples]`` (default ``var_str('none')``) — The path into which the sampled mass functions should be written. If ``none``, then samples are not written. * ``[appendSamples]`` (default ``.false.``) — If true, samples will be appended to the file. Otherwise, the file is overwritten. * ``[fileNames]`` — The names of the files containing the halo mass functions. * ``[redshifts]`` — The redshifts at which to evaluate the halo mass functions. * ``[massRangeMinimum]`` — The minimum halo mass to include in the likelihood evaluation. * ``[massRangeMaximum]`` (default ``huge(0.0d0)``) — The maximum halo mass to include in the likelihood evaluation. * ``[binCountMinimum]`` — The minimum number of halos per bin required to permit bin to be included in likelihood evaluation. * ``[likelihoodPoisson]`` (default ``.false.``) — If true, likelihood is computed assuming a Poisson distribution for the number of halos in each bin (with no covariance between bins). Otherwise a multivariate normal is assumed when computing likelihood. * ``[varianceFractionalModelDiscrepancy]`` (default ``0.0d0``) — The fractional variance due to model discrepancy. * ``[allowEmptyMassFunction]`` (default ``.false.``) — If true, empty mass functions (i.e. those with no useable bins) are allowed, and return :math:`\log \mathcal{L}=0`. * ``[report]`` (default ``.false.``) — If true, give detailed reporting on likelihood calculations. * ``[includeCorrelations]`` (default ``.false.``) — If true, account for correlations between halo mass functions measured at different redshifts. * ``[binAverage]`` (default ``.true.``) — If true, the mass function is averaged over each bin. * ``[changeParametersFileNames]`` — The names of files containing parameter changes to be applied. * ``[haloMassMinimum]`` (default ``1.0d10``) — The minimum mass at which to tabulate halo mass functions. * ``[haloMassMaximum]`` (default ``1.0d15``) — The maximum mass at which to tabulate halo mass functions. * ``[pointsPerDecade]`` (default ``10.0d0``) — The number of points per decade of halo mass at which to tabulate halo mass functions. * ``[outputGroup]`` (default ``var_str('.')``) — The HDF5 output group within which to write mass function data. * ``[includeUnevolvedSubhaloMassFunction]`` (default ``.false.``) — If true then also compute and output the unevolved subhalo mass function. * ``[includeMassAccretionRate]`` (default ``.true.``) — If true then also compute and output the mass accretion rate of the halos. * ``[massesRelativeToHalfModeMass]`` (default ``.false.``) — If true then masses are interpreted (and output) relative to the half-mode mass. (If the half-mode mass is undefined an error will occur.) If false, masses are absolute. * ``[errorsAreFatal]`` (default ``.true.``) — If true then errors in evaluating the halo mass function are considered to be fatal. * ``[labels]`` — Labels for virial density contrast mass definitions. * ``[fractionModeMasses]`` — List of suppression fractions at which to compute the fractional mode mass. .. _physics-posteriorSampleLikelihoodHeated: ``posteriorSampleLikelihoodHeated`` ----------------------------------- The likelihood of the provided class is heated to a temperature :math:`T=`\ ``[temperature]``, such that .. math:: \log \mathcal{L} \rightarrow T^{-1} \log \mathcal{L}. **Parameters** * ``[velocityDispersionApproximate]`` (default ``.true.``) — If ``true``, radial velocity dispersion is computed using an approximate method in which we assume that :math:`\sigma_\mathrm{r}^2(r) \rightarrow \sigma_\mathrm{r}^2(r) - (2/3) \epsilon(r)`, where :math:`\epsilon(r)` is the specific heating energy. If ``false`` then radial velocity dispersion is computed by numerically solving the Jeans equation. * ``[toleranceRelativeVelocityDispersion]`` (default ``1.0d-6``) — The relative tolerance to use in numerical solutions for the velocity dispersion in dark-matter-only density profiles. * ``[toleranceRelativeVelocityDispersionMaximum]`` (default ``1.0d-3``) — The maximum relative tolerance to use in numerical solutions for the velocity dispersion in dark-matter-only density profiles. * ``[nonAnalyticSolver]`` (default ``var_str('fallThrough')``) — Selects how solutions are computed when no analytic solution is available. If set to "``fallThrough``" then the solution ignoring heating is used, while if set to "``numerical``" then numerical solvers are used to find solutions. * ``[temperature]`` — The (dimensionless) temperature to which to heat the provided likelihood. .. _physics-posteriorSampleLikelihoodIndependentLikelihoods: ``posteriorSampleLikelihoodIndependentLikelihoods`` --------------------------------------------------- A posterior sampling likelihood class which combines likelihoods from one or more other :galacticus-class:`posteriorSampleLikelihoodClass` classes that are assumed to be independent (i.e. the :math:`\log \mathcal{L}` of the models are simply summed to find the final likelihood). Since each :galacticus-class:`posteriorSampleLikelihoodClass` class may require a different set of parameters a ``[parameterMap]`` parameter may be specified. If present, the number of ``[parameterMap]`` parameters must equal the number of ``[posteriorSampleLikelihood]`` parameters. Each such parameter should give a (space-separated) list of the names of parameters (as defined in the :galacticus-class:`modelParameterActive` model parameter class) which should be passed to the corresponding ``[posteriorSampleLikelihood]``. If no ``[parameterMap]`` parameters are given then all parameters are passed to each :galacticus-class:`posteriorSampleLikelihoodClass` class. Similarly, a set of ``parameterInactiveMap`` parameters may be given, to specify which (if any, an empty ``value`` is permissible) of the inactive parameters specified by :galacticus-class:`modelParameterInactive` should be passed to the corresponding ``[posteriorSampleLikelihood]``. If no ``[parameterInactiveMap]`` then no inactive parameters are passed to any of the ``[posteriorSampleLikelihood]`` classes. Optionally, a parameter ``[logLikelihoodAccept]`` may be specified. Once the likelihood of a chain reaches this value, no further evaluations of the likelihood will be made - the chain is assumed to be sufficiently likely that it is "acceptable". **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** * ``[velocityCharacteristic]`` (default ``250.0d0``) — The velocity scale at which the :term:`SNe`-driven outflow rate equals the star formation rate in disks. * ``[exponent]`` (default ``3.5d0``) — The velocity scaling of the :term:`SNe`-driven outflow rate in disks. * ``[fraction]`` (default ``0.01d0``) — The normalization :math:`f` of the outflow rate relative to the star formation rate at a reference halo velocity of 200 km/s and expansion factor of 1, setting the overall mass-loading amplitude of the halo-scaling feedback model. * ``[exponentVelocity]`` (default ``-2.0d0``) — The exponent of virial velocity in the outflow rate in disks. * ``[exponentRedshift]`` (default ``0.0d0``) — The power-law exponent of the cosmological expansion factor :math:`(1+z)` in the halo-scaling outflow rate, allowing the mass-loading factor to evolve with redshift; a value of zero gives no redshift evolution. * ``[toleranceRelativeVelocityDispersion]`` (default ``1.0d-6``) — The relative tolerance to use in numerical solutions for the velocity dispersion in dark-matter-only density profiles. * ``[toleranceRelativeVelocityDispersionMaximum]`` (default ``1.0d-3``) — The maximum relative tolerance to use in numerical solutions for the velocity dispersion in dark-matter-only density profiles. * ``[radiusNormalization]`` (default ``3.3d-6``) — The initial value appearing in the radius-mass relation * ``[toleranceAbsoluteMass]`` (default ``1.0d-6``) — The mass tolerance used to judge whether the nuclear star cluster is physically plausible. * ``[toleranceRelativeMetallicity]`` (default ``1.0d-4``) — The metallicity tolerance for ODE solution. * ``[inactiveLuminositiesStellar]`` (default ``.false.``) — Specifies whether or not nuclear star cluster stellar luminosities are inactive properties (i.e. do not appear in any ODE being solved). * ``[scaleRelativeMass]`` (default ``1.0d-2``) — The mass scale, relative to the total mass of the node, below which calculations in the delayed very simple hot halo component are allowed to become inaccurate. * ``[starveSatellites]`` (default ``.false.``) — Specifies whether or not the hot halo should be removed ("starved") when a node becomes a satellite. * ``[starveSatellitesOutflowed]`` (default ``.false.``) — Specifies whether or not the outflowed hot halo should be removed ("starved") when a node becomes a satellite. * ``[outflowReturnOnFormation]`` (default ``.false.``) — Specifies whether or not outflowed gas should be returned to the hot reservoir on halo formation events. * ``[angularMomentumAlwaysGrows]`` (default ``.false.``) — Specifies whether or not negative rates of accretion of angular momentum into the hot halo will be treated as positive for the purposes of computing the hot halo angular momentum. * ``[fractionBaryonLimitInNodeMerger]`` (default ``.false.``) — Controls whether the hot gas content of nodes should be limited to not exceed the universal baryon fraction at node merger events. If set to ``true``, hot gas (and angular momentum, abundances, and chemicals proportionally) will be removed from the merged halo to the unaccreted gas reservoir to limit the baryonic mass to the universal baryon fraction where possible. * ``[scaleAbsoluteMass]`` (default ``100.0d0``) — The absolute mass scale below which calculations in the very simple disk component are allowed to become inaccurate. * ``[toleranceAbsoluteMass]`` (default ``1.0d-6``) — The mass tolerance used to judge whether the disk is physically plausible. * ``[toleranceAbsoluteMass]`` (default ``1.0d-6``) — The mass tolerance used to judge whether the disk is physically plausible. * ``[toleranceRelativeMetallicity]`` (default ``1.0d-4``) — The metallicity tolerance for ODE solution. * ``[radiusStructureSolver]`` (default ``1.0d0``) — The radius (in units of the standard scale length) to use in solving for the size of the disk. * ``[structureSolverUseCole2000Method]`` (default ``.false.``) — If true, use the method described in :cite:t:`cole_hierarchical_2000` to correct for difference between thin disk and spherical mass distributions when solving for disk radii. * ``[diskNegativeAngularMomentumAllowed]`` (default ``.true.``) — Specifies whether or not negative angular momentum is allowed for the disk. * ``[inactiveLuminositiesStellar]`` (default ``.false.``) — Specifies whether or not disk stellar luminosities are inactive properties (i.e. do not appear in any ODE being solved). * ``[postStepZeroNegativeMasses]`` (default ``.true.``) — If true, negative masses will be zeroed after each ODE step. Note that this can lead to non-conservation of mass. * ``[ratioAngularMomentumSolverRadius]`` (default ``ratioAngularMomentumSolverRadiusDefault``) — The assumed ratio of the specific angular momentum at the structure solver radius to the mean specific angular momentum of the standard disk component. * ``[scaleAbsoluteMass]`` (default ``100.0d0``) — The absolute mass scale below which calculations in the very simple spheroid component are allowed to become inaccurate. * ``[toleranceAbsoluteMass]`` (default ``1.0d-6``) — The mass tolerance used to judge whether the spheroid is physically plausible. * ``[efficiencyEnergeticOutflow]`` (default ``1.0d-2``) — The proportionality factor relating mass outflow rate from the spheroid to the energy input rate divided by :math:`V_\mathrm{spheroid}^2`. * ``[toleranceRelativeMetallicity]`` (default ``1.0d-4``) — The metallicity tolerance for ODE solution. * ``[toleranceAbsoluteMass]`` (default ``1.0d-6``) — The mass tolerance used to judge whether the spheroid is physically plausible. * ``[inactiveLuminositiesStellar]`` (default ``.false.``) — Specifies whether or not spheroid stellar luminosities are inactive properties (i.e. do not appear in any ODE being solved). * ``[postStepZeroNegativeMasses]`` (default ``.true.``) — If true, negative masses will be zeroed after each ODE step. Note that this can lead to non-conservation of mass. * ``[ratioAngularMomentumScaleRadius]`` (default ``ratioAngularMomentumScaleRadiusDefault``) — The assumed ratio of the specific angular momentum at the scale radius to the mean specific angular momentum of the standard spheroid component. * ``[outputMergers]`` (default ``.false.``) — Determines whether or not properties of black hole mergers will be output. * ``[fileNames]`` — The name of the file(s) from which merger tree data should be read when using the ``[mergerTreeConstruct]``\ :math:`=`\ ``read`` tree construction method. * ``[forestSizeMaximum]`` (default ``0_c_size_t``) — The maximum number of nodes allowed in a forest before it will be broken up into trees and processed individually. A value of 0 implies that forests should never be split. * ``[presetMergerTimes]`` (default ``.true.``) — Specifies whether merging times for subhalos should be preset when reading merger trees from a file. * ``[presetMergerNodes]`` (default ``.true.``) — Specifies whether the target nodes for mergers should be preset (i.e. determined from descendant nodes). If they are not, merging will be with each satellite's host node. * ``[presetSubhaloMasses]`` (default ``.true.``) — Specifies whether subhalo mass should be preset when reading merger trees from a file. * ``[subhaloAngularMomentaMethod]`` (default ``var_str('summation')``) — Specifies how to account for subhalo angular momentum when adding subhalo mass to host halo mass. * ``[presetSubhaloIndices]`` (default ``.true.``) — Specifies whether subhalo indices should be preset when reading merger trees from a file. * ``[presetPositions]`` (default ``.true.``) — Specifies whether node positions should be preset when reading merger trees from a file. * ``[presetScaleRadii]`` (default ``.true.``) — Specifies whether node scale radii should be preset when reading merger trees from a file. * ``[scaleRadiiFailureIsFatal]`` (default ``.true.``) — Specifies whether failure to set a node scale radii should be regarded as a fatal error. (If not, a fallback method to set scale radius is used in such cases.) * ``[presetScaleRadiiConcentrationMinimum]`` (default ``3.0d0``) — The lowest concentration (:math:`c=r_\mathrm{vir}/r_\mathrm{s}`) allowed when setting scale radii, :math:`r_\mathrm{s}`. * ``[presetScaleRadiiConcentrationMaximum]`` (default ``60.0d0``) — The largest concentration (:math:`c=r_\mathrm{vir}/r_\mathrm{s}`) allowed when setting scale radii, :math:`r_\mathrm{s}`. * ``[presetScaleRadiiMinimumMass]`` (default ``0.0d0``) — The minimum halo mass for which scale radii should be preset (if ``[presetScaleRadii]``\ :math:`=`\ ``true``). * ``[presetUnphysicalAngularMomenta]`` (default ``.false.``) — When reading merger trees from file and presetting halo angular momenta, detect unphysical (<=0) angular momenta and preset them using the selected halo spin method. * ``[presetAngularMomenta]`` (default ``.true.``) — Specifies whether node angular momenta should be preset when reading merger trees from a file. * ``[presetAngularMomenta3D]`` (default ``.false.``) — Specifies whether node 3-D angular momenta vectors should be preset when reading merger trees from a file. * ``[presetOrbits]`` (default ``.true.``) — Specifies whether node orbits should be preset when reading merger trees from a file. * ``[presetOrbitsSetAll]`` (default ``.true.``) — Forces all orbits to be set. If the computed orbit does not cross the virial radius, then select one at random instead. * ``[presetOrbitsAssertAllSet]`` (default ``.true.``) — Asserts that all virial orbits must be preset. If any can not be set, Galacticus will stop. * ``[presetOrbitsBoundOnly]`` (default ``.true.``) — Specifies whether only bound node orbits should be set. * ``[beginAt]`` (default ``-1_kind_int8``) — Specifies the index of the tree to begin at. (Use -1 to always begin with the first tree.) * ``[outputTimeSnapTolerance]`` (default ``0.0d0``) — The relative tolerance required to "snap" a node time to the closest output time. * ``[missingHostsAreFatal]`` (default ``.true.``) — Specifies whether nodes with missing host nodes should be considered to be fatal---see the discussion of missing host nodes in the class description above. * ``[treeIndexToRootNodeIndex]`` (default ``.false.``) — Specifies whether tree indices should always be set to the index of their root node. * ``[allowBranchJumps]`` (default ``.true.``) — Specifies whether nodes are allowed to jump between branches. * ``[allowSubhaloPromotions]`` (default ``.true.``) — Specifies whether subhalos are permitted to be promoted to being isolated halos. * ``[alwaysPromoteMostMassive]`` (default ``.false.``) — If true, the most massive progenitor is always promoted to be the primary progenitor *even if* it is a subhalo. Otherwise, isolated progenitors are given priority over subhalo progenitors, even if they are less massive. * ``[presetNamedReals]`` — Names of real datasets to be additionally read and stored in the nodes of the merger tree when using the ``[mergerTreeConstruct]``\ :math:`=`\ ``read`` tree construction method. * ``[presetNamedIntegers]`` — Names of integer datasets to be additionally read and stored in the nodes of the merger tree when using the ``[mergerTreeConstruct]``\ :math:`=`\ ``read`` tree construction method. * ``[fatalMismatches]`` (default ``.true.``) — Specifies whether mismatches in cosmological parameter values between Galacticus and "Sussing Merger Trees" format :cite:p:`srisawat_sussing_2013` merger tree files should be considered fatal. * ``[fatalNonTreeNode]`` (default ``.true.``) — Specifies whether nodes in snapshot files but not in the merger tree file should be considered fatal when importing from the "Sussing Merger Trees" format :cite:p:`srisawat_sussing_2013`. * ``[subvolumeCount]`` (default ``1``) — Specifies the number of subvolumes *along each axis* into which a "Sussing Merger Trees" format :cite:p:`srisawat_sussing_2013` merger tree files should be split for processing through Galacticus. * ``[subvolumeBuffer]`` (default ``0.0d0``) — Specifies the buffer region (in units of Mpc\ :math:`/h` to follow the format convention) around subvolumes of a "Sussing Merger Trees" format :cite:p:`srisawat_sussing_2013` merger tree file which should be read in to ensure that no halos are missed from trees. * ``[subvolumeIndex]`` (default ``[0,0,0]``) — Specifies the index (in each dimension) of the subvolume of a "Sussing Merger Trees" format :cite:p:`srisawat_sussing_2013` merger tree file to process. Indices range from 0 to ``[subvolumeCount]``\ :math:`-1`. * ``[badValue]`` (default ``-0.5d0``) — Use for bad value detection in "Sussing" merger trees. Values for scale radius and halo spin which exceed this threshold are assumed to be bad. * ``[badValueTest]`` (default ``var_str('lessThan')``) — Use for bad value detection in "Sussing" merger trees. Values which exceed the threshold in ths specified direction are assumed to be bad. * ``[treeSampleRate]`` (default ``1.0d0``) — Specify the probability that any given tree should processed (to permit subsampling). * ``[massOptions]`` (default ``var_str('default')``) — Mass option for Sussing merger trees. * ``[mergeProbability]`` (default ``0.1d0``) — The largest probability of branching allowed in a timestep in merger trees built by the :cite:t:`cole_hierarchical_2000` method. * ``[accretionLimit]`` (default ``0.1d0``) — The largest fractional mass change due to subresolution accretion allowed in a timestep in merger trees built by the :cite:t:`cole_hierarchical_2000` method. * ``[redshiftMaximum]`` (default ``1.0d5``) — The highest redshift to which merger trees will be built in the :cite:t:`cole_hierarchical_2000` method. * ``[toleranceTimeEarliest]`` (default ``2.0d-6``) — The fractional tolerance used to judge if a branch is at the earliest allowed time in the tree. * ``[branchIntervalStep]`` (default ``.true.``) — If ``false`` use the original :cite:t:`cole_hierarchical_2000` method to determine whether branching occurs in a timestep. If ``true`` draw branching intervals from a negative exponential distribution. * ``[toleranceResolutionSelf]`` (default ``1.0d-6``) — The fractional tolerance in node mass at the resolution limit below which branch mis-orderings will be ignored. * ``[toleranceResolutionParent]`` (default ``1.0d-3``) — The fractional tolerance in parent node mass at the resolution limit below which branch mis-orderings will be ignored. * ``[ignoreNoProgress]`` (default ``.false.``) — If true, failure to make progress on a branch will be ignored (and the branch terminated). * ``[ignoreWellOrdering]`` (default ``.false.``) — If true, non-well-ordered tree branches are pruned away instead of causing errors.. * ``[redshiftBase]`` (default ``0.0d0``) — The redshift at which to plant the base node when building merger trees. * ``[timeSnapTolerance]`` (default ``1.0d-6``) — The fractional tolerance within which the tree base time will be snapped to a nearby output time. * ``[treeBeginAt]`` (default ``0``) — The index (in order of increasing base halo mass) of the tree at which to begin when building merger trees. A value of "0" means to begin with tree number 1 (if processing trees in ascending order), or equal to the number of trees (otherwise). * ``[processDescending]`` (default ``.true.``) — If true, causes merger trees to be processed in order of decreasing mass. * ``[splitTrees]`` (default ``.false.``) — If true, prune away any nodes of the tree that are not needed to determine evolution up to the latest time at which a node is present inside the lightcone. This typically leads to a tree splitting into a forest of trees. * ``[label]`` — A label for the mass function. * ``[comment]`` — A descriptive comment for the mass function. * ``[starFormationRates]`` — The star formation rates corresponding to bin centers. * ``[covarianceBinomialBinsPerDecade]`` (default ``10``) — The number of bins per decade of star formation rate to use when constructing star formation rate function covariance matrices for main branch galaxies. * ``[covarianceBinomialMassHaloMinimum]`` (default ``1.0d10``) — The star formation rate to consider when constructing star formation rate function covariance matrices for main branch galaxies. * ``[covarianceBinomialMassHaloMaximum]`` (default ``1.0d12``) — The maximum star formation rate to consider when constructing star formation rate function covariance matrices for main branch galaxies. * ``[targetLabel]`` — Label for the target dataset. * ``[functionValueTarget]`` — The target function for likelihood calculations. * ``[functionCovarianceTarget]`` — The target function covariance for likelihood calculations. * ``[likelihoodBins]`` — Controls which bins in the stellar mass--halo mass relation will be used in computing the likelihood: * *not present*: all bins are included in the likelihood calculation; * *list of integers*: use only the mass bin(s) given in this list in the likelihood calculation; * ``auto``: use only bins which have a non-zero number of halos contributing to them in the likelihood calculation. * ``[fileNameTarget]`` — The name of the file containing the target data. * ``[redshiftInterval]`` (default ``1``) — The redshift interval to use. * ``[likelihoodNormalize]`` (default ``.false.``) — If true, then normalize the likelihood to make it a probability density. * ``[computeScatter]`` (default ``.false.``) — If true, the scatter in log10(stellar mass) is computed. Otherwise, the mean is computed. * ``[systematicErrorPolynomialCoefficient]`` (default ``[0.0d0]``) — The coefficients of the systematic error polynomial for stellar mass in the stellar vs halo mass relation. * ``[systematicErrorMassHaloPolynomialCoefficient]`` (default ``[0.0d0]``) — The coefficients of the systematic error polynomial for halo mass in the stellar vs halo mass relation. * ``[errorTolerant]`` (default ``.false.``) — Error tolerance for the N-body spin distribution operator. * ``[logNormalRange]`` (default ``100.0d0``) — The multiplicative range of the log-normal distribution used to model the distribution of the mass and energy terms in the spin parameter. Specifically, the lognormal distribution is truncated outside the range :math:`(\lambda_\mathrm{m}/R,\lambda_\mathrm{m} R`, where :math:`\lambda_\mathrm{m}` is the measured spin, and :math:`R=`\ ``[logNormalRange]`` * ``[fileName]`` — The name of the file from which to read spin distribution function parameters. * ``[comment]`` — A comment describing this analysis. * ``[label]`` — A label for this analysis. * ``[label]`` — A label for the spin distribution function. * ``[comment]`` — A descriptive comment for the spin distribution function. * ``[redshift]`` — The redshift at which to compute the spin distribution function. * ``[massMinimum]`` — Minimum halo mass for the spin distribution function. * ``[massMaximum]`` — Maximum halo mass for the spin distribution function. * ``[spinMinimum]`` — Minimum spin for the spin distribution function. * ``[spinMaximum]`` — Maximum spin for the spin distribution function. * ``[countSpinsPerDecade]`` — Number of spins per decade at which to compute the spin distribution function. * ``[timeRecent]`` — Halos which experienced a major node merger within a time :math:`\Delta t=`\ ``[timeRecent]`` of the analysis time will be excluded from the analysis. * ``[particleCountMinimum]`` — The minimum particle count to assume when computing N-body errors on spins. * ``[massParticle]`` — The mass of the particle used in the N-body simulation from which spins were measured. * ``[energyEstimateParticleCountMaximum]`` — The maximum number of particles used in estimating halo energies when measuring spins from the N-body simulation. * ``[targetLabel]`` — Label for the target dataset. * ``[functionValueTarget]`` — The target function for likelihood calculations. * ``[functionCovarianceTarget]`` — The target function covariance for likelihood calculations. * ``[label]`` — A label for the mass function. * ``[comment]`` — A descriptive comment for the mass function. * ``[masses]`` — The masses corresponding to bin centers. * ``[covarianceBinomialBinsPerDecade]`` (default ``10``) — The number of bins per decade of halo mass to use when constructing HI mass function covariance matrices for main branch galaxies. * ``[covarianceBinomialMassHaloMinimum]`` (default ``1.0d8``) — The minimum halo mass to consider when constructing HI mass function covariance matrices for main branch galaxies. * ``[covarianceBinomialMassHaloMaximum]`` (default ``1.0d16``) — The maximum halo mass to consider when constructing HI mass function covariance matrices for main branch galaxies. * ``[targetLabel]`` — Label for the target dataset. * ``[functionValueTarget]`` — The target function for likelihood calculations. * ``[functionCovarianceTarget]`` — The target function covariance for likelihood calculations. * ``[label]`` — A label for the luminosity function. * ``[comment]`` — A descriptive comment for the luminosity function. * ``[magnitudesAbsolute]`` — The absolute magnitudes corresponding to bin centers. * ``[covarianceBinomialBinsPerDecade]`` (default ``10``) — The number of bins per decade of halo mass to use when constructing luminosity function covariance matrices for main branch galaxies. * ``[covarianceBinomialMassHaloMinimum]`` (default ``1.0d8``) — The minimum halo mass to consider when constructing luminosity function covariance matrices for main branch galaxies. * ``[covarianceBinomialMassHaloMaximum]`` (default ``1.0d16``) — The maximum halo mass to consider when constructing luminosity function covariance matrices for main branch galaxies. * ``[targetLabel]`` — Label for the target dataset. * ``[functionValueTarget]`` — The target function for likelihood calculations. * ``[functionCovarianceTarget]`` — The target function covariance for likelihood calculations. * ``[label]`` — A label for the luminosity function. * ``[comment]`` — A descriptive comment for the luminosity function. * ``[luminosities]`` — The luminosities corresponding to bin centers. * ``[covarianceBinomialBinsPerDecade]`` (default ``10``) — The number of bins per decade of halo mass to use when constructing luminosity function covariance matrices for main branch galaxies. * ``[covarianceBinomialMassHaloMinimum]`` (default ``1.0d8``) — The minimum halo mass to consider when constructing luminosity function covariance matrices for main branch galaxies. * ``[covarianceBinomialMassHaloMaximum]`` (default ``1.0d16``) — The maximum halo mass to consider when constructing luminosity function covariance matrices for main branch galaxies. * ``[includeNitrogenII]`` (default ``.false.``) — If true, include contamination by the [NII] (6548\AA :math:`+` 6584\AA) doublet. * ``[depthOpticalISMCoefficient]`` (default ``1.0d0``) — Multiplicative coefficient for optical depth in the ISM. * ``[targetLabel]`` — Label for the target dataset. * ``[functionValueTarget]`` — The target function for likelihood calculations. * ``[functionCovarianceTarget]`` — The target function covariance for likelihood calculations. * ``[label]`` — A label for the mass function. * ``[comment]`` — A descriptive comment for the mass function. * ``[masses]`` — The masses corresponding to bin centers. * ``[covarianceBinomialBinsPerDecade]`` (default ``10``) — The number of bins per decade of halo mass to use when constructing stellar mass function covariance matrices for main branch galaxies. * ``[covarianceBinomialMassHaloMinimum]`` (default ``1.0d8``) — The minimum halo mass to consider when constructing stellar mass function covariance matrices for main branch galaxies. * ``[covarianceBinomialMassHaloMaximum]`` (default ``1.0d16``) — The maximum halo mass to consider when constructing stellar mass function covariance matrices for main branch galaxies. * ``[targetLabel]`` — Label for the target dataset. * ``[functionValueTarget]`` — The target function for likelihood calculations. * ``[functionCovarianceTarget]`` — The target function covariance for likelihood calculations. * ``[rootVarianceFractionalMinimum]`` (default ``0.0d0``) — The minimum fractional root variance (relative to the target dataset). * ``[fileName]`` — The name of the file from which to read concentration distribution function parameters. * ``[comment]`` — A comment describing this analysis. * ``[label]`` — A label for this analysis. * ``[label]`` — A label for the concentration distribution function. * ``[comment]`` — A descriptive comment for the concentration distribution function. * ``[redshift]`` — The redshift at which to compute the concentration distribution function. * ``[massMinimum]`` — Minimum halo mass for the concentration distribution function. * ``[massMaximum]`` — Maximum halo mass for the concentration distribution function. * ``[concentrationMinimum]`` — Minimum concentration for the concentration distribution function. * ``[concentrationMaximum]`` — Maximum concentration for the concentration distribution function. * ``[countConcentrationsPerDecade]`` — Number of concentrations per decade at which to compute the concentration distribution function. * ``[timeRecent]`` — Halos which experienced a major node merger within a time :math:`\Delta t=`\ ``[timeRecent]`` of the analysis time will be excluded from the analysis. * ``[massParticle]`` — The particle mass in the source N-body simulation. * ``[targetLabel]`` — Label for the target dataset. * ``[functionValueTarget]`` — The target function for likelihood calculations. * ``[functionCovarianceTarget]`` — The target function covariance for likelihood calculations. * ``[fileName]`` — The name of the file from which to read star forming main sequence function parameters. * ``[comment]`` — A comment describing this analysis. * ``[label]`` — A label for this analysis. * ``[label]`` — A label for the star forming main sequence function. * ``[comment]`` — A descriptive comment for the star forming main sequence function. * ``[massMinimum]`` — Minimum stellar mass for the star forming main sequence function. * ``[massMaximum]`` — Maximum stellar mass for the star forming main sequence function. * ``[countMassesPerDecade]`` — Number of masses per decade at which to compute the star forming main sequence function. * ``[targetLabel]`` — Label for the target dataset. * ``[meanValueTarget]`` — The target function for likelihood calculations. * ``[meanCovarianceTarget]`` — The target function covariance for likelihood calculations. * ``[label]`` — A label for the mass function. * ``[comment]`` — A descriptive comment for the mass function. * ``[separations]`` — The separations corresponding to bin centers. * ``[massMinima]`` — The minimum mass of each mass sample. * ``[massMaxima]`` — The maximum mass of each mass sample. * ``[massHaloBinsPerDecade]`` (default ``10``) — The number of bins per decade of halo mass to use when constructing the mass function covariance matrix for main branch galaxies. * ``[massHaloMinimum]`` (default ``1.0d8``) — The minimum halo mass to consider when constructing the mass function covariance matrix for main branch galaxies. * ``[massHaloMaximum]`` (default ``1.0d16``) — The maximum halo mass to consider when constructing the mass function covariance matrix for main branch galaxies. * ``[wavenumberCount]`` (default ``60_c_size_t``) — The number of bins in wavenumber to use in computing the correlation function. * ``[wavenumberMinimum]`` (default ``1.0d-3``) — The minimum wavenumber to use when computing the correlation function. * ``[wavenumberMaximum]`` (default ``1.0d4``) — The maximum wavenumber to use when computing the correlation function. * ``[integralConstraint]`` — The integral constraint for these correlation functions. * ``[depthLineOfSight]`` — The line-of-sight depth over which the correlation function was projected. * ``[halfIntegral]`` — Set to true if the projection integrand should be over line-of-sight depths greater than zero. * ``[binnedProjectedCorrelationTarget]`` — The target function for likelihood calculations. * ``[binnedProjectedCorrelationCovarianceTarget]`` — The target function covariance for likelihood calculations. * ``[targetLabel]`` (default ``var_str('')``) — A label for the target dataset in a plot of this analysis. * ``[starFormationRateSpecificQuiescentLogarithmic]`` — The base-10 logarithm specific star formation rate (in units of Gyr\ :math:`^{-1}`) separating quiescent and star-forming galaxies. * ``[starFormationRateSpecificLogarithmicError]`` — The observational fractional error in specific star formation rate (in units of dex) of galaxies. * ``[fileName]`` — The name of the file from which to read quiescent fraction function parameters. * ``[comment]`` — A comment describing this analysis. * ``[label]`` — A label for this analysis. * ``[label]`` — A label for the star forming main sequence function. * ``[comment]`` — A descriptive comment for the star forming main sequence function. * ``[massMinimum]`` — Minimum stellar mass for the star forming main sequence function. * ``[massMaximum]`` — Maximum stellar mass for the star forming main sequence function. * ``[countMassesPerDecade]`` — Number of masses per decade at which to compute the star forming main sequence function. * ``[targetLabel]`` — Label for the target dataset. * ``[meanValueTarget]`` — The target function for likelihood calculations. * ``[meanCovarianceTarget]`` — The target function covariance for likelihood calculations. * ``[nonAnalyticSolver]`` (default ``var_str('fallThrough')``) — Selects how solutions are computed when no analytic solution is available. If set to "``fallThrough``" then the solution ignoring heating is used, while if set to "``numerical``" then numerical solvers are used to find solutions. * ``[radiusFractionalTruncateMinimum]`` (default ``2.0d0``) — The minimum radius (in units of the virial radius) to begin truncating the density profile. * ``[radiusFractionalTruncateMaximum]`` (default ``4.0d0``) — The maximum radius (in units of the virial radius) to finish truncating the density profile. * ``[nonAnalyticSolver]`` (default ``var_str('fallThrough')``) — Selects how solutions are computed when no analytic solution is available. If set to "``fallThrough``" then the solution ignoring heating is used, while if set to "``numerical``" then numerical solvers are used to find solutions. * ``[velocityDispersionApproximate]`` (default ``.true.``) — If ``true``, radial velocity dispersion is computed using an approximate method in which we assume that :math:`\sigma_\mathrm{r}^2(r) \rightarrow \sigma_\mathrm{r}^2(r) - (2/3) \epsilon(r)`, where :math:`\epsilon(r)` is the specific heating energy. If ``false`` then radial velocity dispersion is computed by numerically solving the Jeans equation. * ``[tolerateEnclosedMassIntegrationFailure]`` (default ``.false.``) — If ``true``, tolerate failures to find the mass enclosed as a function of radius. * ``[tolerateVelocityDispersionFailure]`` (default ``.false.``) — If ``true``, tolerate failures to compute the velocity dispersion. * ``[tolerateVelocityMaximumFailure]`` (default ``.false.``) — If ``true``, tolerate failures to find the radius of the maximum circular velocity. * ``[toleratePotentialIntegrationFailure]`` (default ``.false.``) — If ``true``, tolerate numerical failures when computing the gravitational potential of a heated dark matter profile, allowing the calculation to continue with a fallback result rather than aborting. * ``[toleranceRelativeVelocityDispersion]`` (default ``1.0d-6``) — The relative tolerance to use in numerical solutions for the velocity dispersion in dark-matter-only density profiles. * ``[toleranceRelativeVelocityDispersionMaximum]`` (default ``1.0d-3``) — The maximum relative tolerance to use in numerical solutions for the velocity dispersion in dark-matter-only density profiles. * ``[fractionRadiusFinalSmall]`` (default ``1.0d-3``) — The initial radius is limited to be no smaller than this fraction of the final radius. This can help avoid problems in profiles that are extremely close to being disrupted. * ``[toleranceRelativePotential]`` (default ``1.0d-3``) — The maximum allowed relative tolerance to use in numerical solutions for the gravitational potential in dark-matter-only density profiles before aborting. * ``[tolerateVelocityMaximumFailure]`` (default ``.true.``) — If true, tolerate failures to find the radius of the peak in the rotation curve. * ``[lengthResolution]`` — The gravitational softening length :math:`\Delta x` (in Mpc) of the N-body simulation, which sets the minimum spatial scale below which the dark matter profile is smoothed to avoid artificial two-body effects. * ``[massResolution]`` — The mass resolution :math:`\Delta M` (in :math:`\mathrm{M}_\odot`) of the N-body simulation, representing the minimum halo mass that can be resolved; profiles of halos near this limit are softened to account for particle discreteness effects. * ``[resolutionIsComoving]`` — If true, the resolution length is assumed to be fixed in comoving coordinates, otherwise in physical coordinates. * ``[nonAnalyticSolver]`` (default ``var_str('fallThrough')``) — Selects how solutions are computed when no analytic solution is available. If set to "``fallThrough``" then the solution ignoring heating is used, while if set to "``numerical``" then numerical solvers are used to find solutions. * ``[C]`` (default ``400.0d0``) — The parameter :math:`C` appearing in the halo concentration algorithm of :cite:t:`ludlow_mass-concentration-redshift_2016`. * ``[f]`` (default ``0.02d0``) — The parameter :math:`f` appearing in the halo concentration algorithm of :cite:t:`ludlow_mass-concentration-redshift_2016`. * ``[timeFormationSeekDelta]`` (default ``0.0d0``) — The parameter :math:`\Delta \log t` by which the logarithm of the trial formation time is incremented when stepping through the formation history of a node to find the formation time. If set to zero (or a negative value) the cumulative mass histories of nodes are assumed to be monotonic functions of time, and the formation time is instead found by a root finding algorithm, * ``[massBoundIsInactive]`` (default ``.false.``) — Specifies whether or not the bound mass of the satellite component is inactive (i.e. does not appear in any ODE being solved). * ``[useLastIsolatedTime]`` (default ``.false.``) — If true, evaluate the halo virial radius using a the virial density definition at the last isolated time of the halo. * ``[filterName]`` — The filter to select. * ``[filterType]`` — The filter type (rest or observed) to select. * ``[redshiftBand]`` — The redshift of the band (if not the output redshift). * ``[postprocessChain]`` — The postprocessing chain to use. * ``[cloudyTableFileName]`` (default ``var_str('%DATASTATICPATH%/hiiRegions/emissionLineLuminosities_BC2003_highResolution_imfChabrier.hdf5')``) — The file of emission line luminosities to use. * ``[lineNames]`` — The emission lines to extract. * ``[component]`` — The component from which to extract star formation rate. * ``[toleranceRelative]`` (default ``1.0d-3``) — The relative tolerance used in integration over stellar population spectra. * ``[component]`` — The component from which to extract star formation rate. * ``[radiusCore]`` — The soliton core radius (in Mpc) characterizing the size of the quantum pressure-supported central core of the fuzzy dark matter halo; the density profile flattens inside this scale. * ``[densitySolitonCentral]`` — The central density (in :math:`\mathrm{M}_\odot`/Mpc\ :math:`^3`) of the solitonic core at :math:`r=0`, which sets the overall normalization of the density profile :math:`\rho(r) = \rho_\mathrm{c} [1+(r/r_c)^2]^{-8}`. * ``[toleranceRelativePotential]`` (default ``1.0d-3``) — The relative tolerance used in numerical ODE solutions for the gravitational potential of the solitonic core profile. * ``[dimensionless]`` (default ``.true.``) — If true the soliton profile is treated as dimensionless (scale-free), allowing its radial and density quantities to be specified in arbitrary units. * ``[componentType]`` (default ``var_str('unknown')``) — The galactic structure component type (e.g.\ dark matter halo, disk, spheroid) represented by this mass distribution, used for component-specific queries. * ``[massType]`` (default ``var_str('unknown')``) — The mass type (e.g.\ dark matter, baryonic, total) represented by this mass distribution, used for mass-type-specific queries. * ``[radiusTransition]`` — The transition radius (in Mpc) at which the density profile smoothly switches from the halo profile to the accretion flow, controlled by the fourth-order transition function :math:`f_\mathrm{trans}(r)`. * ``[nonAnalyticSolver]`` (default ``var_str('fallThrough')``) — Selects how solutions are computed when no analytic solution is available. If set to "``fallThrough``" then the solution ignoring heating is used, while if set to "``numerical``" then numerical solvers are used to find solutions. * ``[componentType]`` (default ``var_str('unknown')``) — The component type that this mass distribution represents. * ``[massType]`` (default ``var_str('unknown')``) — The mass type that this mass distribution represents. * ``[timeAge]`` — The age of the halo (in Gyr) since its formation, determining the total time available for SIDM self-interactions to thermalize the inner halo and produce an isothermal core. * ``[velocityRelativeMean]`` — Mean relative velocity to calculate self interaction cross section. * ``[nonAnalyticSolver]`` (default ``var_str('fallThrough')``) — Selects how solutions are computed when no analytic solution is available. If set to "``fallThrough``" then the solution ignoring heating is used, while if set to "``numerical``" then numerical solvers are used to find solutions. * ``[componentType]`` (default ``var_str('unknown')``) — The component type that this mass distribution represents. * ``[massType]`` (default ``var_str('unknown')``) — The mass type that this mass distribution represents. * ``[nonAnalyticSolver]`` (default ``var_str('fallThrough')``) — Selects how solutions are computed when no analytic solution is available. If set to "``fallThrough``" then the solution ignoring heating is used, while if set to "``numerical``" then numerical solvers are used to find solutions. * ``[componentType]`` (default ``var_str('unknown')``) — The component type that this mass distribution represents. * ``[massType]`` (default ``var_str('unknown')``) — The mass type that this mass distribution represents. * ``[tolerateVelocityMaximumFailure]`` (default ``.false.``) — If true, tolerate failures to find the radius of the peak in the rotation curve. * ``[tolerateEnclosedMassIntegrationFailure]`` (default ``.false.``) — If ``true``, tolerate failures to find the mass enclosed as a function of radius. * ``[toleratePotentialIntegrationFailure]`` (default ``.false.``) — If ``true``, tolerate failures to compute the potential. * ``[fractionRadiusFinalSmall]`` (default ``1.0d-3``) — The initial radius is limited to be no smaller than this fraction of the final radius. This can help avoid problems in profiles that are extremely close to being disrupted. * ``[toleranceRelativePotential]`` (default ``1.0d-3``) — The maximum allowed relative tolerance to use in numerical solutions for the gravitational potential in dark-matter-only density profiles before aborting. * ``[lengthResolution]`` — The spatial resolution length scale (in Mpc) below which the underlying density profile is softened to a flat core, mimicking the finite force resolution of an N-body simulation. * ``[nonAnalyticSolver]`` (default ``var_str('fallThrough')``) — Selects how solutions are computed when no analytic solution is available. If set to "``fallThrough``" then the solution ignoring heating is used, while if set to "``numerical``" then numerical solvers are used to find solutions. * ``[componentType]`` (default ``var_str('unknown')``) — The component type that this mass distribution represents. * ``[massType]`` (default ``var_str('unknown')``) — The mass type that this mass distribution represents. * ``[massMinimum]`` — The minimum halo mass (in :math:`\mathrm{M}_\odot`) below which halos are excluded from the mass function histogram. * ``[massMaximum]`` — The maximum halo mass (in :math:`\mathrm{M}_\odot`) above which halos are excluded from the mass function histogram. * ``[massCountPerDecade]`` — The number of logarithmic bins per decade of halo mass used when constructing the halo mass function. * ``[description]`` — A human-readable description of this mass function dataset, stored as metadata in the output file. * ``[simulationReference]`` — A bibliographic reference for the N-body simulation from which this mass function is derived, stored as metadata. * ``[simulationURL]`` — A URL pointing to the publicly accessible dataset or documentation for the N-body simulation, stored as metadata. * ``[bootstrapSampleCount]`` (default ``30_c_size_t``) — The number of bootstrap resamples of the particles that should be used. * ``[representativeMinimumCount]`` (default ``10_c_size_t``) — Minimum number of representative particles used to compute the center of a halo. * ``[tolerance]`` (default ``1.0d-2``) — The tolerance in the summed weight of bound particles which must be attained to declare convergence. * ``[bootstrapSampleRate]`` (default ``1.0d0``) — The sampling rate for particles. * ``[representativeFraction]`` (default ``0.05d0``) — Fraction of bound particles used to compute the center of a halo. * ``[analyzeAllParticles]`` (default ``.true.``) — If true, all particles are assumed to be self-bound at the beginning of the analysis. Unbound particles at previous times are allowed to become bound in the current snapshot. If false and the self-bound information from the previous snapshot is available, only the particles that are self-bound at the previous snapshot are assumed to be bound at the beginning of the analysis. * ``[useVelocityMostBound]`` (default ``.false.``) — If true, the velocity of the most bound particle in velocity space is used as the representative velocity of the satellite. If false, use the mass weighted mean velocity (center-of-mass velocity) of self-bound particles instead. * ``[orderRotation]`` (default ``var_str('none')``) — The order in which evaluation of likelihoods should be rotated as a function of process number. * ``[logLikelihoodAccept]`` (default ``huge(0.0d0)``) — The log-likelihood which should be "accepted"---once the log-likelihood reaches this value (or larger) no further updates to the chain will be made. * ``[report]`` (default ``.false.``) — If true, report on the log-likelihood obtained. * ``[means]`` — The mean of the multivariate normal distribution. * ``[covariance]`` — The covariance matrix for the of the multivariate normal distribution. * ``[countForestsMaximum]`` (default ``-1_c_size_t``) — If set to a positive number, this is the maximum number of forests that will be evolved. * ``[walltimeMaximum]`` (default ``-1_kind_int8``) — If set to a positive number, this is the maximum wall time for which forest evolution is allowed to proceed before the task gives up. * ``[tolerateFailures]`` (default ``.false.``) — If true then failures to evolve a forest are tolerated. The forest is evolved no further, but evolution of other forests continues. * ``[evolveForestsInParallel]`` (default ``.true.``) — If true then each forest is evolved by a separate OpenMP thread. Otherwise, a single thread evolves all forests. * ``[suspendToRAM]`` (default ``.true.``) — Specifies whether trees should be suspended to RAM (otherwise they are suspend to file). * ``[suspendPath]`` — The path to which tree suspension files will be stored. * ``[timeIntervalCheckpoint]`` (default ``-1_kind_int8``) — If positive, gives the time in seconds between storing of checkpoint files. If zero or negative, no checkpointing is performed.. * ``[fileNameCheckpoint]`` — The path to which checkpoint data will be stored. * ``[logM0]`` (default ``10.0d0``) — The parameter :math:`\log_{10} M_0` (with :math:`M_0` in units of :math:`\mathrm{M}_\odot`) appearing in the star formation rate threshold expression for the star formation rate galactic filter class. * ``[logSFR0]`` (default ``9.0d0``) — The parameter :math:`\alpha_0` appearing in the star formation rate threshold expression for the star formation rate galactic filter class. * ``[logSFR1]`` (default ``0.0d0``) — The parameter :math:`\alpha_1` appearing in the star formation rate threshold expression for the star formation rate galactic filter class. * ``[cW]`` (default ``3.78062835d0``) — The parameter :math:`c_\mathrm{W}` in the :cite:t:`bohr_halo_2021` power spectrum window function. * ``[beta]`` (default ``3.4638743d0``) — The parameter :math:`\beta` in the :cite:t:`bohr_halo_2021` power spectrum window function. * ``[transferFunctionType]`` (default ``var_str('darkMatter')``) — Specifies whether to use the ``darkMatter`` or ``total`` transfer function. * ``[fileName]`` — The name of the file from which to read a tabulated transfer function. * ``[redshift]`` (default ``0.0d0``) — The redshift of the transfer function to read. * ``[factorWavenumberSmoothExtrapolation]`` (default ``0.0d0``) — If positive, and extrapolation is used at high wavenumbers, the slope for extrapolation will be set by averaging over wavenumbers from :math:`k_\mathrm{max}/f` to :math:`k_\mathrm{max}`, where :math:`f=`\ ``[factorWavenumberSmoothExtrapolation]`` and :math:`k_\mathrm{max}` is the highest wavenumber tabulated. This avoids spurious extrapolation for highly oscillatory transfer functions. * ``[acceptNegativeValues]`` (default ``.false.``) — If true, negative values in the transfer function are allowed (and the absolute value is taken prior to interpolation). Otherwise, negative values result in an error. * ``[fractionalTimeStep]`` (default ``0.01d0``) — The fractional time step used when computing barrier crossing rates (i.e. the step used in finite difference calculations). * ``[fileName]`` (default ``var_str('none')``) — The name of the file to/from which tabulations of barrier first crossing probabilities should be written/read. If set to "``none``" tables will not be stored. * ``[fractionalTimeStep]`` (default ``0.01d0``) — The fractional time step used when computing barrier crossing rates (i.e. the step used in finite difference calculations). * ``[varianceNumberPerUnitProbability]`` (default ``1000``) — The number of points to tabulate per unit variance for first crossing probabilities. * ``[varianceNumberPerUnit]`` (default ``40``) — The number of tabulation points per unit of :math:`\sigma^2` used when building the rate look-up table for the Farahi excursion-set first-crossing distribution; higher values improve interpolation accuracy at the cost of memory and initialization time. * ``[varianceNumberPerDecade]`` (default ``400``) — The number of points to tabulate per decade of progenitor variance for first crossing rates. * ``[varianceNumberPerDecadeNonCrossing]`` (default ``40``) — The number of points to tabulate per decade of progenitor variance for non-crossing rates. * ``[timeNumberPerDecade]`` (default ``10``) — The number of tabulation points per decade of cosmic time used when building the first-crossing rate look-up table as a function of time; higher values improve temporal interpolation accuracy for rapidly evolving cosmologies. * ``[varianceIsUnlimited]`` (default ``.false.``) — If true, the variance is assumed to have no upper limit (e.g. as in the case of :term:`CDM`). This allows the tabulated solutions to be extended arbitrarily. Otherwise, tables are extended to encompass just the range of variance requested. * ``[linkingLength]`` (default ``0.2d0``) — The friends-of-friends linking length to use in computing virial density contrasts with the percolation analysis of :cite:t:`more_overdensity_2011`. .. _physics-posteriorSampleLikelihoodIndpndntLklhdsSqntl: ``posteriorSampleLikelihoodIndpndntLklhdsSqntl`` ------------------------------------------------ A posterior sampling likelihood class which sequentially combines other likelihoods assumed to be independent. This class begins by evaluating the first likelihood. If the likelihood is negative, then it is immediately returned, without evaluation of any further likelihoods. If it is positive, then the next likelihood is evaluated and the same conditions applied. This process repeats until either a negative likelihood is found, or all likelihoods are evaluated. Once a given likelihood has been evaluated it will be evaluated on all subsequent calls. Additionally, when a new likelihood is evaluated for the first time, acceptance of the proposed state will be forced. This class therefore allows a sequence of likelihoods to be specified which must be sequentially made sufficiently "good" before evaluating the next. The approach is intended to allow crude, but rapid constraints to be placed on parameters before progressing to more detailed, but slow to evaluate constraints. **Parameters** * ``[finalLikelihoodFullEvaluation]`` (default ``.true.``) — If true the final likelihood is evaluated fully, and not treated as a "lock in" likelihood. * ``[restoreLevels]`` (default ``.true.``) — If true the level reached by each chain is restored on restarts. Otherwise, the level is initialized to zero (which may be useful for stochastic likelihoods). .. _physics-posteriorSampleLikelihoodMassFunction: ``posteriorSampleLikelihoodMassFunction`` ----------------------------------------- The likelihood is computed as .. math:: \log \mathcal{L} = -{1\over2} \Delta \cdot \mathcal{C}^{-1} \cdot \Delta^\mathrm{T}, where :math:`\mathcal{C}` is the covariance matrix, and :math:`\Delta_i = w_i^\mathrm{model} - w_i^\mathrm{obs}`, :math:`w_i^\mathrm{model}` is the computed mass function at the :math:`i^\mathrm{th}` separation, and :math:`w_i^\mathrm{obs}` is the observed mass function at the :math:`i^\mathrm{th}` separation. The mass function is computed using the halo model and the parameterized conditional galaxy mass function of :cite:t:`behroozi_comprehensive_2010`. The details of the mass function calculation are specified by the following subparameters: ``haloMass(Min|Max)imum`` The minimum/maximum halo mass over which to integrate in the halo model; ``redshift(Min|Max)imum`` The minimum/maximum redshift over which to integrate in the halo model; ``massFunctionFileName`` The name of an HDF5 file containing the observed mass function and its covariance matrix. The HDF5 file specified by the ``massFunctionFileName`` element should contain a ``mass`` dataset, giving the masses at which the mass function is measured (in units of :math:`\mathrm{M}_\odot`), a ``massFunctionObserved`` dataset giving the observed values of the mass function at those masses (in units of Mpc\ :math:`^{-3}` per :math:`\log M`), and a ``covariance`` dataset, giving the covariance of the mass function (in units of Mpc\ :math:`^{-6}`). **Parameters** * ``[massFunctionFileName]`` — The name of the file containing the mass function. * ``[haloMassMinimum]`` — The minimum halo mass over which to integrate. * ``[haloMassMaximum]`` — The maximum halo mass over which to integrate. * ``[redshiftMinimum]`` — The minimum redshift over which to integrate. * ``[redshiftMaximum]`` — The maximum redshift over which to integrate. * ``[useSurveyLimits]`` — If true, limit redshift integration range based on survey geometry limits. * ``[modelSurfaceBrightness]`` — If true, model the effects of surface brightness incompleteness on the mass function. * ``[surfaceBrightnessLimit]`` — The limiting surface brightness to which to integrate. .. _physics-posteriorSampleLikelihoodMltiVrtNormalStochastic: ``posteriorSampleLikelihoodMltiVrtNormalStochastic`` ---------------------------------------------------- The likelihood is identical to that of the ``multivariateNormal`` class, except that the likelihood function is evaluated stochastically. In addition to the parameter of the ``multivariateNormal`` class, two additional parameters are required and are specified within the ``likelihood`` element using: .. code-block:: none 4000 10 When evaluating the likelihood, the state vector is set equal to .. math:: S^\prime_i = \sum_{j=1}^N {2 U(S_i) \over N}, where :math:`N=`\ ``realizationCount`` and :math:`U(x)` is a uniform random deviate in the range :math:`0` to :math:`x`. This results in a variance in :math:`S^\prime_i` of :math:`S_i^2/3N`. This variance is added to the covariance used in evaluating the likelihood. When evaluating the likelihood at a higher temperature the number of realizations is reduced (which increases the covariance, which has the same effect as increasing the temperature) to speed computation, and the likelihood corrected for this fact. The number of realizations is reduced to :math:`N/T`, but never allowed to fall below ``realizationCountMinimum``. **Parameters** * ``[means]`` — The mean of the multivariate normal distribution. * ``[covariance]`` — The covariance matrix for the of the multivariate normal distribution. * ``[realizationCount]`` — The number of realizations of the stochastic likelihood to compute at unit temperature. * ``[realizationCountMinimum]`` — The minimum number of realizations of the stochastic likelihood to compute at higher temperatures. .. _physics-posteriorSampleLikelihoodMultivariateNormal: ``posteriorSampleLikelihoodMultivariateNormal`` ----------------------------------------------- The likelihood is a simple multivariate Gaussian, intended primarily for testing purposes. The distribution parameters are specified within the ``likelihood`` element using: .. code-block:: none 0.45 0.50 1.0e-4 -0.9e-4 -0.9e-4 1.0e-4 where the ``mean`` element gives the mean vector of :math:`N` elements, and the ``covariance`` element contains :math:`N` ``row`` elements each containing a vector of :math:`N` elements giving a single row of the covariance matrix. The likelihood is then: .. math:: \log \mathcal{L} = - {1 \over 2} \Delta \mathcal{C}^{-1} \Delta^\mathrm{T}, where :math:`\Delta = \theta - \bar{\theta}`, :math:`\theta` is the state, :math:`\bar{\theta}` is the mean, and :math:`\mathcal{C}` is the covariance matrix. **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** * ``[velocityCharacteristic]`` (default ``250.0d0``) — The velocity scale at which the :term:`SNe`-driven outflow rate equals the star formation rate in disks. * ``[exponent]`` (default ``3.5d0``) — The velocity scaling of the :term:`SNe`-driven outflow rate in disks. * ``[fraction]`` (default ``0.01d0``) — The normalization :math:`f` of the outflow rate relative to the star formation rate at a reference halo velocity of 200 km/s and expansion factor of 1, setting the overall mass-loading amplitude of the halo-scaling feedback model. * ``[exponentVelocity]`` (default ``-2.0d0``) — The exponent of virial velocity in the outflow rate in disks. * ``[exponentRedshift]`` (default ``0.0d0``) — The power-law exponent of the cosmological expansion factor :math:`(1+z)` in the halo-scaling outflow rate, allowing the mass-loading factor to evolve with redshift; a value of zero gives no redshift evolution. * ``[toleranceRelativeVelocityDispersion]`` (default ``1.0d-6``) — The relative tolerance to use in numerical solutions for the velocity dispersion in dark-matter-only density profiles. * ``[toleranceRelativeVelocityDispersionMaximum]`` (default ``1.0d-3``) — The maximum relative tolerance to use in numerical solutions for the velocity dispersion in dark-matter-only density profiles. * ``[radiusNormalization]`` (default ``3.3d-6``) — The initial value appearing in the radius-mass relation * ``[toleranceAbsoluteMass]`` (default ``1.0d-6``) — The mass tolerance used to judge whether the nuclear star cluster is physically plausible. * ``[toleranceRelativeMetallicity]`` (default ``1.0d-4``) — The metallicity tolerance for ODE solution. * ``[inactiveLuminositiesStellar]`` (default ``.false.``) — Specifies whether or not nuclear star cluster stellar luminosities are inactive properties (i.e. do not appear in any ODE being solved). * ``[scaleRelativeMass]`` (default ``1.0d-2``) — The mass scale, relative to the total mass of the node, below which calculations in the delayed very simple hot halo component are allowed to become inaccurate. * ``[starveSatellites]`` (default ``.false.``) — Specifies whether or not the hot halo should be removed ("starved") when a node becomes a satellite. * ``[starveSatellitesOutflowed]`` (default ``.false.``) — Specifies whether or not the outflowed hot halo should be removed ("starved") when a node becomes a satellite. * ``[outflowReturnOnFormation]`` (default ``.false.``) — Specifies whether or not outflowed gas should be returned to the hot reservoir on halo formation events. * ``[angularMomentumAlwaysGrows]`` (default ``.false.``) — Specifies whether or not negative rates of accretion of angular momentum into the hot halo will be treated as positive for the purposes of computing the hot halo angular momentum. * ``[fractionBaryonLimitInNodeMerger]`` (default ``.false.``) — Controls whether the hot gas content of nodes should be limited to not exceed the universal baryon fraction at node merger events. If set to ``true``, hot gas (and angular momentum, abundances, and chemicals proportionally) will be removed from the merged halo to the unaccreted gas reservoir to limit the baryonic mass to the universal baryon fraction where possible. * ``[scaleAbsoluteMass]`` (default ``100.0d0``) — The absolute mass scale below which calculations in the very simple disk component are allowed to become inaccurate. * ``[toleranceAbsoluteMass]`` (default ``1.0d-6``) — The mass tolerance used to judge whether the disk is physically plausible. * ``[toleranceAbsoluteMass]`` (default ``1.0d-6``) — The mass tolerance used to judge whether the disk is physically plausible. * ``[toleranceRelativeMetallicity]`` (default ``1.0d-4``) — The metallicity tolerance for ODE solution. * ``[radiusStructureSolver]`` (default ``1.0d0``) — The radius (in units of the standard scale length) to use in solving for the size of the disk. * ``[structureSolverUseCole2000Method]`` (default ``.false.``) — If true, use the method described in :cite:t:`cole_hierarchical_2000` to correct for difference between thin disk and spherical mass distributions when solving for disk radii. * ``[diskNegativeAngularMomentumAllowed]`` (default ``.true.``) — Specifies whether or not negative angular momentum is allowed for the disk. * ``[inactiveLuminositiesStellar]`` (default ``.false.``) — Specifies whether or not disk stellar luminosities are inactive properties (i.e. do not appear in any ODE being solved). * ``[postStepZeroNegativeMasses]`` (default ``.true.``) — If true, negative masses will be zeroed after each ODE step. Note that this can lead to non-conservation of mass. * ``[ratioAngularMomentumSolverRadius]`` (default ``ratioAngularMomentumSolverRadiusDefault``) — The assumed ratio of the specific angular momentum at the structure solver radius to the mean specific angular momentum of the standard disk component. * ``[scaleAbsoluteMass]`` (default ``100.0d0``) — The absolute mass scale below which calculations in the very simple spheroid component are allowed to become inaccurate. * ``[toleranceAbsoluteMass]`` (default ``1.0d-6``) — The mass tolerance used to judge whether the spheroid is physically plausible. * ``[efficiencyEnergeticOutflow]`` (default ``1.0d-2``) — The proportionality factor relating mass outflow rate from the spheroid to the energy input rate divided by :math:`V_\mathrm{spheroid}^2`. * ``[toleranceRelativeMetallicity]`` (default ``1.0d-4``) — The metallicity tolerance for ODE solution. * ``[toleranceAbsoluteMass]`` (default ``1.0d-6``) — The mass tolerance used to judge whether the spheroid is physically plausible. * ``[inactiveLuminositiesStellar]`` (default ``.false.``) — Specifies whether or not spheroid stellar luminosities are inactive properties (i.e. do not appear in any ODE being solved). * ``[postStepZeroNegativeMasses]`` (default ``.true.``) — If true, negative masses will be zeroed after each ODE step. Note that this can lead to non-conservation of mass. * ``[ratioAngularMomentumScaleRadius]`` (default ``ratioAngularMomentumScaleRadiusDefault``) — The assumed ratio of the specific angular momentum at the scale radius to the mean specific angular momentum of the standard spheroid component. * ``[outputMergers]`` (default ``.false.``) — Determines whether or not properties of black hole mergers will be output. * ``[fileNames]`` — The name of the file(s) from which merger tree data should be read when using the ``[mergerTreeConstruct]``\ :math:`=`\ ``read`` tree construction method. * ``[forestSizeMaximum]`` (default ``0_c_size_t``) — The maximum number of nodes allowed in a forest before it will be broken up into trees and processed individually. A value of 0 implies that forests should never be split. * ``[presetMergerTimes]`` (default ``.true.``) — Specifies whether merging times for subhalos should be preset when reading merger trees from a file. * ``[presetMergerNodes]`` (default ``.true.``) — Specifies whether the target nodes for mergers should be preset (i.e. determined from descendant nodes). If they are not, merging will be with each satellite's host node. * ``[presetSubhaloMasses]`` (default ``.true.``) — Specifies whether subhalo mass should be preset when reading merger trees from a file. * ``[subhaloAngularMomentaMethod]`` (default ``var_str('summation')``) — Specifies how to account for subhalo angular momentum when adding subhalo mass to host halo mass. * ``[presetSubhaloIndices]`` (default ``.true.``) — Specifies whether subhalo indices should be preset when reading merger trees from a file. * ``[presetPositions]`` (default ``.true.``) — Specifies whether node positions should be preset when reading merger trees from a file. * ``[presetScaleRadii]`` (default ``.true.``) — Specifies whether node scale radii should be preset when reading merger trees from a file. * ``[scaleRadiiFailureIsFatal]`` (default ``.true.``) — Specifies whether failure to set a node scale radii should be regarded as a fatal error. (If not, a fallback method to set scale radius is used in such cases.) * ``[presetScaleRadiiConcentrationMinimum]`` (default ``3.0d0``) — The lowest concentration (:math:`c=r_\mathrm{vir}/r_\mathrm{s}`) allowed when setting scale radii, :math:`r_\mathrm{s}`. * ``[presetScaleRadiiConcentrationMaximum]`` (default ``60.0d0``) — The largest concentration (:math:`c=r_\mathrm{vir}/r_\mathrm{s}`) allowed when setting scale radii, :math:`r_\mathrm{s}`. * ``[presetScaleRadiiMinimumMass]`` (default ``0.0d0``) — The minimum halo mass for which scale radii should be preset (if ``[presetScaleRadii]``\ :math:`=`\ ``true``). * ``[presetUnphysicalAngularMomenta]`` (default ``.false.``) — When reading merger trees from file and presetting halo angular momenta, detect unphysical (<=0) angular momenta and preset them using the selected halo spin method. * ``[presetAngularMomenta]`` (default ``.true.``) — Specifies whether node angular momenta should be preset when reading merger trees from a file. * ``[presetAngularMomenta3D]`` (default ``.false.``) — Specifies whether node 3-D angular momenta vectors should be preset when reading merger trees from a file. * ``[presetOrbits]`` (default ``.true.``) — Specifies whether node orbits should be preset when reading merger trees from a file. * ``[presetOrbitsSetAll]`` (default ``.true.``) — Forces all orbits to be set. If the computed orbit does not cross the virial radius, then select one at random instead. * ``[presetOrbitsAssertAllSet]`` (default ``.true.``) — Asserts that all virial orbits must be preset. If any can not be set, Galacticus will stop. * ``[presetOrbitsBoundOnly]`` (default ``.true.``) — Specifies whether only bound node orbits should be set. * ``[beginAt]`` (default ``-1_kind_int8``) — Specifies the index of the tree to begin at. (Use -1 to always begin with the first tree.) * ``[outputTimeSnapTolerance]`` (default ``0.0d0``) — The relative tolerance required to "snap" a node time to the closest output time. * ``[missingHostsAreFatal]`` (default ``.true.``) — Specifies whether nodes with missing host nodes should be considered to be fatal---see the discussion of missing host nodes in the class description above. * ``[treeIndexToRootNodeIndex]`` (default ``.false.``) — Specifies whether tree indices should always be set to the index of their root node. * ``[allowBranchJumps]`` (default ``.true.``) — Specifies whether nodes are allowed to jump between branches. * ``[allowSubhaloPromotions]`` (default ``.true.``) — Specifies whether subhalos are permitted to be promoted to being isolated halos. * ``[alwaysPromoteMostMassive]`` (default ``.false.``) — If true, the most massive progenitor is always promoted to be the primary progenitor *even if* it is a subhalo. Otherwise, isolated progenitors are given priority over subhalo progenitors, even if they are less massive. * ``[presetNamedReals]`` — Names of real datasets to be additionally read and stored in the nodes of the merger tree when using the ``[mergerTreeConstruct]``\ :math:`=`\ ``read`` tree construction method. * ``[presetNamedIntegers]`` — Names of integer datasets to be additionally read and stored in the nodes of the merger tree when using the ``[mergerTreeConstruct]``\ :math:`=`\ ``read`` tree construction method. * ``[fatalMismatches]`` (default ``.true.``) — Specifies whether mismatches in cosmological parameter values between Galacticus and "Sussing Merger Trees" format :cite:p:`srisawat_sussing_2013` merger tree files should be considered fatal. * ``[fatalNonTreeNode]`` (default ``.true.``) — Specifies whether nodes in snapshot files but not in the merger tree file should be considered fatal when importing from the "Sussing Merger Trees" format :cite:p:`srisawat_sussing_2013`. * ``[subvolumeCount]`` (default ``1``) — Specifies the number of subvolumes *along each axis* into which a "Sussing Merger Trees" format :cite:p:`srisawat_sussing_2013` merger tree files should be split for processing through Galacticus. * ``[subvolumeBuffer]`` (default ``0.0d0``) — Specifies the buffer region (in units of Mpc\ :math:`/h` to follow the format convention) around subvolumes of a "Sussing Merger Trees" format :cite:p:`srisawat_sussing_2013` merger tree file which should be read in to ensure that no halos are missed from trees. * ``[subvolumeIndex]`` (default ``[0,0,0]``) — Specifies the index (in each dimension) of the subvolume of a "Sussing Merger Trees" format :cite:p:`srisawat_sussing_2013` merger tree file to process. Indices range from 0 to ``[subvolumeCount]``\ :math:`-1`. * ``[badValue]`` (default ``-0.5d0``) — Use for bad value detection in "Sussing" merger trees. Values for scale radius and halo spin which exceed this threshold are assumed to be bad. * ``[badValueTest]`` (default ``var_str('lessThan')``) — Use for bad value detection in "Sussing" merger trees. Values which exceed the threshold in ths specified direction are assumed to be bad. * ``[treeSampleRate]`` (default ``1.0d0``) — Specify the probability that any given tree should processed (to permit subsampling). * ``[massOptions]`` (default ``var_str('default')``) — Mass option for Sussing merger trees. * ``[mergeProbability]`` (default ``0.1d0``) — The largest probability of branching allowed in a timestep in merger trees built by the :cite:t:`cole_hierarchical_2000` method. * ``[accretionLimit]`` (default ``0.1d0``) — The largest fractional mass change due to subresolution accretion allowed in a timestep in merger trees built by the :cite:t:`cole_hierarchical_2000` method. * ``[redshiftMaximum]`` (default ``1.0d5``) — The highest redshift to which merger trees will be built in the :cite:t:`cole_hierarchical_2000` method. * ``[toleranceTimeEarliest]`` (default ``2.0d-6``) — The fractional tolerance used to judge if a branch is at the earliest allowed time in the tree. * ``[branchIntervalStep]`` (default ``.true.``) — If ``false`` use the original :cite:t:`cole_hierarchical_2000` method to determine whether branching occurs in a timestep. If ``true`` draw branching intervals from a negative exponential distribution. * ``[toleranceResolutionSelf]`` (default ``1.0d-6``) — The fractional tolerance in node mass at the resolution limit below which branch mis-orderings will be ignored. * ``[toleranceResolutionParent]`` (default ``1.0d-3``) — The fractional tolerance in parent node mass at the resolution limit below which branch mis-orderings will be ignored. * ``[ignoreNoProgress]`` (default ``.false.``) — If true, failure to make progress on a branch will be ignored (and the branch terminated). * ``[ignoreWellOrdering]`` (default ``.false.``) — If true, non-well-ordered tree branches are pruned away instead of causing errors.. * ``[redshiftBase]`` (default ``0.0d0``) — The redshift at which to plant the base node when building merger trees. * ``[timeSnapTolerance]`` (default ``1.0d-6``) — The fractional tolerance within which the tree base time will be snapped to a nearby output time. * ``[treeBeginAt]`` (default ``0``) — The index (in order of increasing base halo mass) of the tree at which to begin when building merger trees. A value of "0" means to begin with tree number 1 (if processing trees in ascending order), or equal to the number of trees (otherwise). * ``[processDescending]`` (default ``.true.``) — If true, causes merger trees to be processed in order of decreasing mass. * ``[splitTrees]`` (default ``.false.``) — If true, prune away any nodes of the tree that are not needed to determine evolution up to the latest time at which a node is present inside the lightcone. This typically leads to a tree splitting into a forest of trees. * ``[label]`` — A label for the mass function. * ``[comment]`` — A descriptive comment for the mass function. * ``[starFormationRates]`` — The star formation rates corresponding to bin centers. * ``[covarianceBinomialBinsPerDecade]`` (default ``10``) — The number of bins per decade of star formation rate to use when constructing star formation rate function covariance matrices for main branch galaxies. * ``[covarianceBinomialMassHaloMinimum]`` (default ``1.0d10``) — The star formation rate to consider when constructing star formation rate function covariance matrices for main branch galaxies. * ``[covarianceBinomialMassHaloMaximum]`` (default ``1.0d12``) — The maximum star formation rate to consider when constructing star formation rate function covariance matrices for main branch galaxies. * ``[targetLabel]`` — Label for the target dataset. * ``[functionValueTarget]`` — The target function for likelihood calculations. * ``[functionCovarianceTarget]`` — The target function covariance for likelihood calculations. * ``[likelihoodBins]`` — Controls which bins in the stellar mass--halo mass relation will be used in computing the likelihood: * *not present*: all bins are included in the likelihood calculation; * *list of integers*: use only the mass bin(s) given in this list in the likelihood calculation; * ``auto``: use only bins which have a non-zero number of halos contributing to them in the likelihood calculation. * ``[fileNameTarget]`` — The name of the file containing the target data. * ``[redshiftInterval]`` (default ``1``) — The redshift interval to use. * ``[likelihoodNormalize]`` (default ``.false.``) — If true, then normalize the likelihood to make it a probability density. * ``[computeScatter]`` (default ``.false.``) — If true, the scatter in log10(stellar mass) is computed. Otherwise, the mean is computed. * ``[systematicErrorPolynomialCoefficient]`` (default ``[0.0d0]``) — The coefficients of the systematic error polynomial for stellar mass in the stellar vs halo mass relation. * ``[systematicErrorMassHaloPolynomialCoefficient]`` (default ``[0.0d0]``) — The coefficients of the systematic error polynomial for halo mass in the stellar vs halo mass relation. * ``[errorTolerant]`` (default ``.false.``) — Error tolerance for the N-body spin distribution operator. * ``[logNormalRange]`` (default ``100.0d0``) — The multiplicative range of the log-normal distribution used to model the distribution of the mass and energy terms in the spin parameter. Specifically, the lognormal distribution is truncated outside the range :math:`(\lambda_\mathrm{m}/R,\lambda_\mathrm{m} R`, where :math:`\lambda_\mathrm{m}` is the measured spin, and :math:`R=`\ ``[logNormalRange]`` * ``[fileName]`` — The name of the file from which to read spin distribution function parameters. * ``[comment]`` — A comment describing this analysis. * ``[label]`` — A label for this analysis. * ``[label]`` — A label for the spin distribution function. * ``[comment]`` — A descriptive comment for the spin distribution function. * ``[redshift]`` — The redshift at which to compute the spin distribution function. * ``[massMinimum]`` — Minimum halo mass for the spin distribution function. * ``[massMaximum]`` — Maximum halo mass for the spin distribution function. * ``[spinMinimum]`` — Minimum spin for the spin distribution function. * ``[spinMaximum]`` — Maximum spin for the spin distribution function. * ``[countSpinsPerDecade]`` — Number of spins per decade at which to compute the spin distribution function. * ``[timeRecent]`` — Halos which experienced a major node merger within a time :math:`\Delta t=`\ ``[timeRecent]`` of the analysis time will be excluded from the analysis. * ``[particleCountMinimum]`` — The minimum particle count to assume when computing N-body errors on spins. * ``[massParticle]`` — The mass of the particle used in the N-body simulation from which spins were measured. * ``[energyEstimateParticleCountMaximum]`` — The maximum number of particles used in estimating halo energies when measuring spins from the N-body simulation. * ``[targetLabel]`` — Label for the target dataset. * ``[functionValueTarget]`` — The target function for likelihood calculations. * ``[functionCovarianceTarget]`` — The target function covariance for likelihood calculations. * ``[label]`` — A label for the mass function. * ``[comment]`` — A descriptive comment for the mass function. * ``[masses]`` — The masses corresponding to bin centers. * ``[covarianceBinomialBinsPerDecade]`` (default ``10``) — The number of bins per decade of halo mass to use when constructing HI mass function covariance matrices for main branch galaxies. * ``[covarianceBinomialMassHaloMinimum]`` (default ``1.0d8``) — The minimum halo mass to consider when constructing HI mass function covariance matrices for main branch galaxies. * ``[covarianceBinomialMassHaloMaximum]`` (default ``1.0d16``) — The maximum halo mass to consider when constructing HI mass function covariance matrices for main branch galaxies. * ``[targetLabel]`` — Label for the target dataset. * ``[functionValueTarget]`` — The target function for likelihood calculations. * ``[functionCovarianceTarget]`` — The target function covariance for likelihood calculations. * ``[label]`` — A label for the luminosity function. * ``[comment]`` — A descriptive comment for the luminosity function. * ``[magnitudesAbsolute]`` — The absolute magnitudes corresponding to bin centers. * ``[covarianceBinomialBinsPerDecade]`` (default ``10``) — The number of bins per decade of halo mass to use when constructing luminosity function covariance matrices for main branch galaxies. * ``[covarianceBinomialMassHaloMinimum]`` (default ``1.0d8``) — The minimum halo mass to consider when constructing luminosity function covariance matrices for main branch galaxies. * ``[covarianceBinomialMassHaloMaximum]`` (default ``1.0d16``) — The maximum halo mass to consider when constructing luminosity function covariance matrices for main branch galaxies. * ``[targetLabel]`` — Label for the target dataset. * ``[functionValueTarget]`` — The target function for likelihood calculations. * ``[functionCovarianceTarget]`` — The target function covariance for likelihood calculations. * ``[label]`` — A label for the luminosity function. * ``[comment]`` — A descriptive comment for the luminosity function. * ``[luminosities]`` — The luminosities corresponding to bin centers. * ``[covarianceBinomialBinsPerDecade]`` (default ``10``) — The number of bins per decade of halo mass to use when constructing luminosity function covariance matrices for main branch galaxies. * ``[covarianceBinomialMassHaloMinimum]`` (default ``1.0d8``) — The minimum halo mass to consider when constructing luminosity function covariance matrices for main branch galaxies. * ``[covarianceBinomialMassHaloMaximum]`` (default ``1.0d16``) — The maximum halo mass to consider when constructing luminosity function covariance matrices for main branch galaxies. * ``[includeNitrogenII]`` (default ``.false.``) — If true, include contamination by the [NII] (6548\AA :math:`+` 6584\AA) doublet. * ``[depthOpticalISMCoefficient]`` (default ``1.0d0``) — Multiplicative coefficient for optical depth in the ISM. * ``[targetLabel]`` — Label for the target dataset. * ``[functionValueTarget]`` — The target function for likelihood calculations. * ``[functionCovarianceTarget]`` — The target function covariance for likelihood calculations. * ``[label]`` — A label for the mass function. * ``[comment]`` — A descriptive comment for the mass function. * ``[masses]`` — The masses corresponding to bin centers. * ``[covarianceBinomialBinsPerDecade]`` (default ``10``) — The number of bins per decade of halo mass to use when constructing stellar mass function covariance matrices for main branch galaxies. * ``[covarianceBinomialMassHaloMinimum]`` (default ``1.0d8``) — The minimum halo mass to consider when constructing stellar mass function covariance matrices for main branch galaxies. * ``[covarianceBinomialMassHaloMaximum]`` (default ``1.0d16``) — The maximum halo mass to consider when constructing stellar mass function covariance matrices for main branch galaxies. * ``[targetLabel]`` — Label for the target dataset. * ``[functionValueTarget]`` — The target function for likelihood calculations. * ``[functionCovarianceTarget]`` — The target function covariance for likelihood calculations. * ``[rootVarianceFractionalMinimum]`` (default ``0.0d0``) — The minimum fractional root variance (relative to the target dataset). * ``[fileName]`` — The name of the file from which to read concentration distribution function parameters. * ``[comment]`` — A comment describing this analysis. * ``[label]`` — A label for this analysis. * ``[label]`` — A label for the concentration distribution function. * ``[comment]`` — A descriptive comment for the concentration distribution function. * ``[redshift]`` — The redshift at which to compute the concentration distribution function. * ``[massMinimum]`` — Minimum halo mass for the concentration distribution function. * ``[massMaximum]`` — Maximum halo mass for the concentration distribution function. * ``[concentrationMinimum]`` — Minimum concentration for the concentration distribution function. * ``[concentrationMaximum]`` — Maximum concentration for the concentration distribution function. * ``[countConcentrationsPerDecade]`` — Number of concentrations per decade at which to compute the concentration distribution function. * ``[timeRecent]`` — Halos which experienced a major node merger within a time :math:`\Delta t=`\ ``[timeRecent]`` of the analysis time will be excluded from the analysis. * ``[massParticle]`` — The particle mass in the source N-body simulation. * ``[targetLabel]`` — Label for the target dataset. * ``[functionValueTarget]`` — The target function for likelihood calculations. * ``[functionCovarianceTarget]`` — The target function covariance for likelihood calculations. * ``[fileName]`` — The name of the file from which to read star forming main sequence function parameters. * ``[comment]`` — A comment describing this analysis. * ``[label]`` — A label for this analysis. * ``[label]`` — A label for the star forming main sequence function. * ``[comment]`` — A descriptive comment for the star forming main sequence function. * ``[massMinimum]`` — Minimum stellar mass for the star forming main sequence function. * ``[massMaximum]`` — Maximum stellar mass for the star forming main sequence function. * ``[countMassesPerDecade]`` — Number of masses per decade at which to compute the star forming main sequence function. * ``[targetLabel]`` — Label for the target dataset. * ``[meanValueTarget]`` — The target function for likelihood calculations. * ``[meanCovarianceTarget]`` — The target function covariance for likelihood calculations. * ``[label]`` — A label for the mass function. * ``[comment]`` — A descriptive comment for the mass function. * ``[separations]`` — The separations corresponding to bin centers. * ``[massMinima]`` — The minimum mass of each mass sample. * ``[massMaxima]`` — The maximum mass of each mass sample. * ``[massHaloBinsPerDecade]`` (default ``10``) — The number of bins per decade of halo mass to use when constructing the mass function covariance matrix for main branch galaxies. * ``[massHaloMinimum]`` (default ``1.0d8``) — The minimum halo mass to consider when constructing the mass function covariance matrix for main branch galaxies. * ``[massHaloMaximum]`` (default ``1.0d16``) — The maximum halo mass to consider when constructing the mass function covariance matrix for main branch galaxies. * ``[wavenumberCount]`` (default ``60_c_size_t``) — The number of bins in wavenumber to use in computing the correlation function. * ``[wavenumberMinimum]`` (default ``1.0d-3``) — The minimum wavenumber to use when computing the correlation function. * ``[wavenumberMaximum]`` (default ``1.0d4``) — The maximum wavenumber to use when computing the correlation function. * ``[integralConstraint]`` — The integral constraint for these correlation functions. * ``[depthLineOfSight]`` — The line-of-sight depth over which the correlation function was projected. * ``[halfIntegral]`` — Set to true if the projection integrand should be over line-of-sight depths greater than zero. * ``[binnedProjectedCorrelationTarget]`` — The target function for likelihood calculations. * ``[binnedProjectedCorrelationCovarianceTarget]`` — The target function covariance for likelihood calculations. * ``[targetLabel]`` (default ``var_str('')``) — A label for the target dataset in a plot of this analysis. * ``[starFormationRateSpecificQuiescentLogarithmic]`` — The base-10 logarithm specific star formation rate (in units of Gyr\ :math:`^{-1}`) separating quiescent and star-forming galaxies. * ``[starFormationRateSpecificLogarithmicError]`` — The observational fractional error in specific star formation rate (in units of dex) of galaxies. * ``[fileName]`` — The name of the file from which to read quiescent fraction function parameters. * ``[comment]`` — A comment describing this analysis. * ``[label]`` — A label for this analysis. * ``[label]`` — A label for the star forming main sequence function. * ``[comment]`` — A descriptive comment for the star forming main sequence function. * ``[massMinimum]`` — Minimum stellar mass for the star forming main sequence function. * ``[massMaximum]`` — Maximum stellar mass for the star forming main sequence function. * ``[countMassesPerDecade]`` — Number of masses per decade at which to compute the star forming main sequence function. * ``[targetLabel]`` — Label for the target dataset. * ``[meanValueTarget]`` — The target function for likelihood calculations. * ``[meanCovarianceTarget]`` — The target function covariance for likelihood calculations. * ``[nonAnalyticSolver]`` (default ``var_str('fallThrough')``) — Selects how solutions are computed when no analytic solution is available. If set to "``fallThrough``" then the solution ignoring heating is used, while if set to "``numerical``" then numerical solvers are used to find solutions. * ``[radiusFractionalTruncateMinimum]`` (default ``2.0d0``) — The minimum radius (in units of the virial radius) to begin truncating the density profile. * ``[radiusFractionalTruncateMaximum]`` (default ``4.0d0``) — The maximum radius (in units of the virial radius) to finish truncating the density profile. * ``[nonAnalyticSolver]`` (default ``var_str('fallThrough')``) — Selects how solutions are computed when no analytic solution is available. If set to "``fallThrough``" then the solution ignoring heating is used, while if set to "``numerical``" then numerical solvers are used to find solutions. * ``[velocityDispersionApproximate]`` (default ``.true.``) — If ``true``, radial velocity dispersion is computed using an approximate method in which we assume that :math:`\sigma_\mathrm{r}^2(r) \rightarrow \sigma_\mathrm{r}^2(r) - (2/3) \epsilon(r)`, where :math:`\epsilon(r)` is the specific heating energy. If ``false`` then radial velocity dispersion is computed by numerically solving the Jeans equation. * ``[tolerateEnclosedMassIntegrationFailure]`` (default ``.false.``) — If ``true``, tolerate failures to find the mass enclosed as a function of radius. * ``[tolerateVelocityDispersionFailure]`` (default ``.false.``) — If ``true``, tolerate failures to compute the velocity dispersion. * ``[tolerateVelocityMaximumFailure]`` (default ``.false.``) — If ``true``, tolerate failures to find the radius of the maximum circular velocity. * ``[toleratePotentialIntegrationFailure]`` (default ``.false.``) — If ``true``, tolerate numerical failures when computing the gravitational potential of a heated dark matter profile, allowing the calculation to continue with a fallback result rather than aborting. * ``[toleranceRelativeVelocityDispersion]`` (default ``1.0d-6``) — The relative tolerance to use in numerical solutions for the velocity dispersion in dark-matter-only density profiles. * ``[toleranceRelativeVelocityDispersionMaximum]`` (default ``1.0d-3``) — The maximum relative tolerance to use in numerical solutions for the velocity dispersion in dark-matter-only density profiles. * ``[fractionRadiusFinalSmall]`` (default ``1.0d-3``) — The initial radius is limited to be no smaller than this fraction of the final radius. This can help avoid problems in profiles that are extremely close to being disrupted. * ``[toleranceRelativePotential]`` (default ``1.0d-3``) — The maximum allowed relative tolerance to use in numerical solutions for the gravitational potential in dark-matter-only density profiles before aborting. * ``[tolerateVelocityMaximumFailure]`` (default ``.true.``) — If true, tolerate failures to find the radius of the peak in the rotation curve. * ``[lengthResolution]`` — The gravitational softening length :math:`\Delta x` (in Mpc) of the N-body simulation, which sets the minimum spatial scale below which the dark matter profile is smoothed to avoid artificial two-body effects. * ``[massResolution]`` — The mass resolution :math:`\Delta M` (in :math:`\mathrm{M}_\odot`) of the N-body simulation, representing the minimum halo mass that can be resolved; profiles of halos near this limit are softened to account for particle discreteness effects. * ``[resolutionIsComoving]`` — If true, the resolution length is assumed to be fixed in comoving coordinates, otherwise in physical coordinates. * ``[nonAnalyticSolver]`` (default ``var_str('fallThrough')``) — Selects how solutions are computed when no analytic solution is available. If set to "``fallThrough``" then the solution ignoring heating is used, while if set to "``numerical``" then numerical solvers are used to find solutions. * ``[C]`` (default ``400.0d0``) — The parameter :math:`C` appearing in the halo concentration algorithm of :cite:t:`ludlow_mass-concentration-redshift_2016`. * ``[f]`` (default ``0.02d0``) — The parameter :math:`f` appearing in the halo concentration algorithm of :cite:t:`ludlow_mass-concentration-redshift_2016`. * ``[timeFormationSeekDelta]`` (default ``0.0d0``) — The parameter :math:`\Delta \log t` by which the logarithm of the trial formation time is incremented when stepping through the formation history of a node to find the formation time. If set to zero (or a negative value) the cumulative mass histories of nodes are assumed to be monotonic functions of time, and the formation time is instead found by a root finding algorithm, * ``[massBoundIsInactive]`` (default ``.false.``) — Specifies whether or not the bound mass of the satellite component is inactive (i.e. does not appear in any ODE being solved). * ``[useLastIsolatedTime]`` (default ``.false.``) — If true, evaluate the halo virial radius using a the virial density definition at the last isolated time of the halo. * ``[filterName]`` — The filter to select. * ``[filterType]`` — The filter type (rest or observed) to select. * ``[redshiftBand]`` — The redshift of the band (if not the output redshift). * ``[postprocessChain]`` — The postprocessing chain to use. * ``[cloudyTableFileName]`` (default ``var_str('%DATASTATICPATH%/hiiRegions/emissionLineLuminosities_BC2003_highResolution_imfChabrier.hdf5')``) — The file of emission line luminosities to use. * ``[lineNames]`` — The emission lines to extract. * ``[component]`` — The component from which to extract star formation rate. * ``[toleranceRelative]`` (default ``1.0d-3``) — The relative tolerance used in integration over stellar population spectra. * ``[component]`` — The component from which to extract star formation rate. * ``[radiusCore]`` — The soliton core radius (in Mpc) characterizing the size of the quantum pressure-supported central core of the fuzzy dark matter halo; the density profile flattens inside this scale. * ``[densitySolitonCentral]`` — The central density (in :math:`\mathrm{M}_\odot`/Mpc\ :math:`^3`) of the solitonic core at :math:`r=0`, which sets the overall normalization of the density profile :math:`\rho(r) = \rho_\mathrm{c} [1+(r/r_c)^2]^{-8}`. * ``[toleranceRelativePotential]`` (default ``1.0d-3``) — The relative tolerance used in numerical ODE solutions for the gravitational potential of the solitonic core profile. * ``[dimensionless]`` (default ``.true.``) — If true the soliton profile is treated as dimensionless (scale-free), allowing its radial and density quantities to be specified in arbitrary units. * ``[componentType]`` (default ``var_str('unknown')``) — The galactic structure component type (e.g.\ dark matter halo, disk, spheroid) represented by this mass distribution, used for component-specific queries. * ``[massType]`` (default ``var_str('unknown')``) — The mass type (e.g.\ dark matter, baryonic, total) represented by this mass distribution, used for mass-type-specific queries. * ``[radiusTransition]`` — The transition radius (in Mpc) at which the density profile smoothly switches from the halo profile to the accretion flow, controlled by the fourth-order transition function :math:`f_\mathrm{trans}(r)`. * ``[nonAnalyticSolver]`` (default ``var_str('fallThrough')``) — Selects how solutions are computed when no analytic solution is available. If set to "``fallThrough``" then the solution ignoring heating is used, while if set to "``numerical``" then numerical solvers are used to find solutions. * ``[componentType]`` (default ``var_str('unknown')``) — The component type that this mass distribution represents. * ``[massType]`` (default ``var_str('unknown')``) — The mass type that this mass distribution represents. * ``[timeAge]`` — The age of the halo (in Gyr) since its formation, determining the total time available for SIDM self-interactions to thermalize the inner halo and produce an isothermal core. * ``[velocityRelativeMean]`` — Mean relative velocity to calculate self interaction cross section. * ``[nonAnalyticSolver]`` (default ``var_str('fallThrough')``) — Selects how solutions are computed when no analytic solution is available. If set to "``fallThrough``" then the solution ignoring heating is used, while if set to "``numerical``" then numerical solvers are used to find solutions. * ``[componentType]`` (default ``var_str('unknown')``) — The component type that this mass distribution represents. * ``[massType]`` (default ``var_str('unknown')``) — The mass type that this mass distribution represents. * ``[nonAnalyticSolver]`` (default ``var_str('fallThrough')``) — Selects how solutions are computed when no analytic solution is available. If set to "``fallThrough``" then the solution ignoring heating is used, while if set to "``numerical``" then numerical solvers are used to find solutions. * ``[componentType]`` (default ``var_str('unknown')``) — The component type that this mass distribution represents. * ``[massType]`` (default ``var_str('unknown')``) — The mass type that this mass distribution represents. * ``[tolerateVelocityMaximumFailure]`` (default ``.false.``) — If true, tolerate failures to find the radius of the peak in the rotation curve. * ``[tolerateEnclosedMassIntegrationFailure]`` (default ``.false.``) — If ``true``, tolerate failures to find the mass enclosed as a function of radius. * ``[toleratePotentialIntegrationFailure]`` (default ``.false.``) — If ``true``, tolerate failures to compute the potential. * ``[fractionRadiusFinalSmall]`` (default ``1.0d-3``) — The initial radius is limited to be no smaller than this fraction of the final radius. This can help avoid problems in profiles that are extremely close to being disrupted. * ``[toleranceRelativePotential]`` (default ``1.0d-3``) — The maximum allowed relative tolerance to use in numerical solutions for the gravitational potential in dark-matter-only density profiles before aborting. * ``[lengthResolution]`` — The spatial resolution length scale (in Mpc) below which the underlying density profile is softened to a flat core, mimicking the finite force resolution of an N-body simulation. * ``[nonAnalyticSolver]`` (default ``var_str('fallThrough')``) — Selects how solutions are computed when no analytic solution is available. If set to "``fallThrough``" then the solution ignoring heating is used, while if set to "``numerical``" then numerical solvers are used to find solutions. * ``[componentType]`` (default ``var_str('unknown')``) — The component type that this mass distribution represents. * ``[massType]`` (default ``var_str('unknown')``) — The mass type that this mass distribution represents. * ``[massMinimum]`` — The minimum halo mass (in :math:`\mathrm{M}_\odot`) below which halos are excluded from the mass function histogram. * ``[massMaximum]`` — The maximum halo mass (in :math:`\mathrm{M}_\odot`) above which halos are excluded from the mass function histogram. * ``[massCountPerDecade]`` — The number of logarithmic bins per decade of halo mass used when constructing the halo mass function. * ``[description]`` — A human-readable description of this mass function dataset, stored as metadata in the output file. * ``[simulationReference]`` — A bibliographic reference for the N-body simulation from which this mass function is derived, stored as metadata. * ``[simulationURL]`` — A URL pointing to the publicly accessible dataset or documentation for the N-body simulation, stored as metadata. * ``[bootstrapSampleCount]`` (default ``30_c_size_t``) — The number of bootstrap resamples of the particles that should be used. * ``[representativeMinimumCount]`` (default ``10_c_size_t``) — Minimum number of representative particles used to compute the center of a halo. * ``[tolerance]`` (default ``1.0d-2``) — The tolerance in the summed weight of bound particles which must be attained to declare convergence. * ``[bootstrapSampleRate]`` (default ``1.0d0``) — The sampling rate for particles. * ``[representativeFraction]`` (default ``0.05d0``) — Fraction of bound particles used to compute the center of a halo. * ``[analyzeAllParticles]`` (default ``.true.``) — If true, all particles are assumed to be self-bound at the beginning of the analysis. Unbound particles at previous times are allowed to become bound in the current snapshot. If false and the self-bound information from the previous snapshot is available, only the particles that are self-bound at the previous snapshot are assumed to be bound at the beginning of the analysis. * ``[useVelocityMostBound]`` (default ``.false.``) — If true, the velocity of the most bound particle in velocity space is used as the representative velocity of the satellite. If false, use the mass weighted mean velocity (center-of-mass velocity) of self-bound particles instead. * ``[orderRotation]`` (default ``var_str('none')``) — The order in which evaluation of likelihoods should be rotated as a function of process number. * ``[logLikelihoodAccept]`` (default ``huge(0.0d0)``) — The log-likelihood which should be "accepted"---once the log-likelihood reaches this value (or larger) no further updates to the chain will be made. * ``[report]`` (default ``.false.``) — If true, report on the log-likelihood obtained. * ``[means]`` — The mean of the multivariate normal distribution. * ``[covariance]`` — The covariance matrix for the of the multivariate normal distribution. * ``[countForestsMaximum]`` (default ``-1_c_size_t``) — If set to a positive number, this is the maximum number of forests that will be evolved. * ``[walltimeMaximum]`` (default ``-1_kind_int8``) — If set to a positive number, this is the maximum wall time for which forest evolution is allowed to proceed before the task gives up. * ``[tolerateFailures]`` (default ``.false.``) — If true then failures to evolve a forest are tolerated. The forest is evolved no further, but evolution of other forests continues. * ``[evolveForestsInParallel]`` (default ``.true.``) — If true then each forest is evolved by a separate OpenMP thread. Otherwise, a single thread evolves all forests. * ``[suspendToRAM]`` (default ``.true.``) — Specifies whether trees should be suspended to RAM (otherwise they are suspend to file). * ``[suspendPath]`` — The path to which tree suspension files will be stored. * ``[timeIntervalCheckpoint]`` (default ``-1_kind_int8``) — If positive, gives the time in seconds between storing of checkpoint files. If zero or negative, no checkpointing is performed.. * ``[fileNameCheckpoint]`` — The path to which checkpoint data will be stored. * ``[logM0]`` (default ``10.0d0``) — The parameter :math:`\log_{10} M_0` (with :math:`M_0` in units of :math:`\mathrm{M}_\odot`) appearing in the star formation rate threshold expression for the star formation rate galactic filter class. * ``[logSFR0]`` (default ``9.0d0``) — The parameter :math:`\alpha_0` appearing in the star formation rate threshold expression for the star formation rate galactic filter class. * ``[logSFR1]`` (default ``0.0d0``) — The parameter :math:`\alpha_1` appearing in the star formation rate threshold expression for the star formation rate galactic filter class. * ``[cW]`` (default ``3.78062835d0``) — The parameter :math:`c_\mathrm{W}` in the :cite:t:`bohr_halo_2021` power spectrum window function. * ``[beta]`` (default ``3.4638743d0``) — The parameter :math:`\beta` in the :cite:t:`bohr_halo_2021` power spectrum window function. * ``[transferFunctionType]`` (default ``var_str('darkMatter')``) — Specifies whether to use the ``darkMatter`` or ``total`` transfer function. * ``[fileName]`` — The name of the file from which to read a tabulated transfer function. * ``[redshift]`` (default ``0.0d0``) — The redshift of the transfer function to read. * ``[factorWavenumberSmoothExtrapolation]`` (default ``0.0d0``) — If positive, and extrapolation is used at high wavenumbers, the slope for extrapolation will be set by averaging over wavenumbers from :math:`k_\mathrm{max}/f` to :math:`k_\mathrm{max}`, where :math:`f=`\ ``[factorWavenumberSmoothExtrapolation]`` and :math:`k_\mathrm{max}` is the highest wavenumber tabulated. This avoids spurious extrapolation for highly oscillatory transfer functions. * ``[acceptNegativeValues]`` (default ``.false.``) — If true, negative values in the transfer function are allowed (and the absolute value is taken prior to interpolation). Otherwise, negative values result in an error. * ``[fractionalTimeStep]`` (default ``0.01d0``) — The fractional time step used when computing barrier crossing rates (i.e. the step used in finite difference calculations). * ``[fileName]`` (default ``var_str('none')``) — The name of the file to/from which tabulations of barrier first crossing probabilities should be written/read. If set to "``none``" tables will not be stored. * ``[fractionalTimeStep]`` (default ``0.01d0``) — The fractional time step used when computing barrier crossing rates (i.e. the step used in finite difference calculations). * ``[varianceNumberPerUnitProbability]`` (default ``1000``) — The number of points to tabulate per unit variance for first crossing probabilities. * ``[varianceNumberPerUnit]`` (default ``40``) — The number of tabulation points per unit of :math:`\sigma^2` used when building the rate look-up table for the Farahi excursion-set first-crossing distribution; higher values improve interpolation accuracy at the cost of memory and initialization time. * ``[varianceNumberPerDecade]`` (default ``400``) — The number of points to tabulate per decade of progenitor variance for first crossing rates. * ``[varianceNumberPerDecadeNonCrossing]`` (default ``40``) — The number of points to tabulate per decade of progenitor variance for non-crossing rates. * ``[timeNumberPerDecade]`` (default ``10``) — The number of tabulation points per decade of cosmic time used when building the first-crossing rate look-up table as a function of time; higher values improve temporal interpolation accuracy for rapidly evolving cosmologies. * ``[varianceIsUnlimited]`` (default ``.false.``) — If true, the variance is assumed to have no upper limit (e.g. as in the case of :term:`CDM`). This allows the tabulated solutions to be extended arbitrarily. Otherwise, tables are extended to encompass just the range of variance requested. * ``[linkingLength]`` (default ``0.2d0``) — The friends-of-friends linking length to use in computing virial density contrasts with the percolation analysis of :cite:t:`more_overdensity_2011`. .. _physics-posteriorSampleLikelihoodPosteriorAsPrior: ``posteriorSampleLikelihoodPosteriorAsPrior`` --------------------------------------------- The likelihood is computed either using another likelihood function (the "wrapped" likelihood), while including in the likelihood an estimate of the posterior probability of a previous simulation. This effectively allows the posterior of the previous simulation to be used as a prior on the current simulation. The details of the likelihood are specified by the follow subparameters: ``chainBaseName`` The base name for the old set of MCMC chains to use as the new prior; ``neighborCount`` The number of neighbor points to use in kernel density estimation of the posterior probability; ``tolerance`` Tolerance used in finding nearest neighbors; ``wrappedLikelihood`` Contains another likelihood function definition which will be used to provide the current likelihood. This method uses the :term:`Approximate Nearest Neighbor` library to locate ``neighborCount`` nearest neighbor points in the set of converged states found in the given chains. The ``tolerance`` element determines the accuracy of nearest neighbor finding (see the :term:`Approximate Nearest Neighbor` documentation for details).When finding nearest neighbors in the MCMC chains, parameters are mapped using whatever mappings are currently active, and distances in each dimension (as used in the metric to determine nearest neighbors) are scaled by the root-variance in that parameter in the converged MCMC chains. The posterior likelihood of the MCMC chains is then estimated from the nearest neighbors using kernel density estimation with a Gaussian kernel with bandwidth equal to the distance to the furthest of the nearest neighbors. **Methods** * ``initialize`` — Initialize the posterior-as-prior likelihood. **Parameters** * ``[chainBaseName]`` — The base name of the MCMC chain files to read. * ``[neighborCount]`` — The number of nearest neighbors to use when estimating the posterior likelihood. * ``[tolerance]`` — Tolerance to use when estimating the posterior likelihood. * ``[exclusions]`` (default ``[integer :: ]``) — List of parameter indices to exclude from the posterior likelihood calculation. .. _physics-posteriorSampleLikelihoodPrjctdCorrelationFunction: ``posteriorSampleLikelihoodPrjctdCorrelationFunction`` ------------------------------------------------------ The likelihood is computed as .. math:: \log \mathcal{L} = -{1\over2} \Delta \cdot \mathcal{C}^{-1} \cdot \Delta^\mathrm{T}, where :math:`\mathcal{C}` is the covariance matrix, and :math:`\Delta_i = w_i^\mathrm{model} - w_i^\mathrm{obs}`, :math:`w_i^\mathrm{model}` is the computed projected correlation function at the :math:`i^\mathrm{th}` separation, and :math:`w_i^\mathrm{obs}` is the observed projected correlation function at the :math:`i^\mathrm{th}` separation. The projected correlation function is computed using the halo model and the parameterized conditional galaxy mass function of :cite:t:`behroozi_comprehensive_2010`. The details of the projected correlation function calculation are specified by the following subparameters: ``haloMass(Min|Max)imum`` The minimum/maximum halo mass over which to integrate in the halo model; ``redshift(Min|Max)imum`` The minimum/maximum redshift over which to integrate in the halo model; ``projectedCorrelationFunctionFileName`` The name of an HDF5 file containing the observed projected correlation function and its covariance matrix. The HDF5 file specified by the ``projectedCorrelationFunctionFileName`` element should contain a ``separation`` dataset, giving the separations at which the projected correlation function is measured (in units of Mpc), a ``projectedCorrelationFunctionObserved`` dataset giving the observed values of the projected correlation function at those separations (in units of Mpc), and a ``covariance`` dataset, giving the covariance of the projected correlation function (in units of Mpc\ :math:`^2`). **Parameters** * ``[haloMassMinimum]`` — The minimum halo mass over which to integrate. * ``[haloMassMaximum]`` — The maximum halo mass over which to integrate. * ``[lineOfSightDepth]`` — The line of sight depth over which to integrate. * ``[halfIntegral]`` — If true, integrate only over positive line of sight depths. * ``[fileName]`` — The name of the file containing the target projected correlation function. * ``[separationMinimum]`` — The minimum separation at which to compute the projected correlation function. * ``[separationMaximum]`` — The maximum separation at which to compute the projected correlation function. * ``[countSeparations]`` — The number of separations at which to compute the projected correlation function. * ``[depthLineOfSight]`` — The maximum line of sight depth to which to integrate when computing the projected correlation function. * ``[halfIntegral]`` (default ``.false.``) — Set to ``true`` if the projected correlation function is computed as :math:`w_\mathrm{p}(r_\mathrm{p})=\int_0^{+\pi_\mathrm{max}} \xi(r_\mathrm{p},\pi) \mathrm{d} \pi`, instead of the usual :math:`w_\mathrm{p}(r_\mathrm{p})=\int_{-\pi_\mathrm{max}}^{+\pi_\mathrm{max}} \xi(r_\mathrm{p},\pi) \mathrm{d} \pi`. * ``[massMinimum]`` (default ``1.0d8``) — The minimum mass of galaxies to include in the projected correlation function calculation. * ``[massMaximum]`` (default ``1.0d12``) — The maximum mass of galaxies to include in the projected correlation function calculation. * ``[massHaloMinimum]`` (default ``1.0d6``) — The minimum halo mass to use when integrating over the halo mass function. * ``[massHaloMaximum]`` (default ``1.0d16``) — The maximum halo mass to use when integrating over the halo mass function. * ``[outputGroup]`` (default ``var_str('projectedCorrelationFunction')``) — The HDF5 output group within which to write the projected correlation function. .. _physics-posteriorSampleLikelihoodSEDFit: ``posteriorSampleLikelihoodSEDFit`` ----------------------------------- A posterior sampling likelihood class which evaluates the likelihood of observed broadband spectral energy distributions (SEDs) given modeled stellar populations, including dust attenuation effects. Observed magnitudes and uncertainties are specified via ``[magnitudes]`` and ``[errors]``, with dust model and star formation history burst count controlled by ``[dustType]`` and ``[burstCount]``. **Parameters** * ``[magnitude]`` — The magnitudes of the broad-band SED. * ``[error]`` — The errors on the magnitudes of the broad-band SED. * ``[filter]`` — The names of the filters in the broad-band SED. * ``[system]`` — The photometric system (AB or Vega) of the broad-band SED. * ``[burstCount]`` — The number of bursts events to include in the star formation history. * ``[dustType]`` — The type of dust model to apply to the SED. * ``[startTime]`` — The definition of start time (absolute ``time`` or ``age``). .. _physics-posteriorSampleLikelihoodSpinDistribution: ``posteriorSampleLikelihoodSpinDistribution`` --------------------------------------------- A posterior sampling likelihood class which evaluates the likelihood of modeled dark matter halo spin parameter distributions against N-body simulation measurements, accounting for halo mass function weighting and N-body mass errors. The target spin distribution file is set by ``[fileName]``, with redshift, mass limits, and N-body particle count constraints specified by ``[redshift]``, ``[massMinimum]``, and ``[countMinimum]``. **Parameters** * ``[fileName]`` — The name of the file containing the target spin distribution. * ``[distributionType]`` — The name of the spin distribution to use. * ``[redshift]`` — The redshift at which to compute the spin distribution. * ``[massParticle]`` — The mass of a particle in the N-body simulation. * ``[massHaloMinimum]`` — The minimum halo mass over which to integrate. * ``[particleCountMinimum]`` — The minimum particle count used in N-body halos. * ``[energyEstimateParticleCountMaximum]`` — The maximum number of N-body particles used in estimating halo energies. * ``[logNormalRange]`` (default ``100.0d0``) — The multiplicative range of the log-normal distribution used to model the distribution of the mass and energy terms in the spin parameter. Specifically, the lognormal distribution is truncated outside the range :math:`(\lambda_\mathrm{m}/R,\lambda_\mathrm{m} R`, where :math:`\lambda_\mathrm{m}` is the measured spin, and :math:`R=`\ ``[logNormalRange]``