.. _physics-outputTimes: Output Times ============ Class providing the set of cosmic times (and corresponding redshifts) at which Galacticus writes output snapshots. Methods return the count of output epochs, the time or redshift at each index, and utilities to find the next or previous output time relative to a given cosmic time. The output time schedule is used throughout the model to determine when to record galaxy properties, to guide the ODE integrator timestep selection, and to compare model predictions with observational data at the correct redshifts. **Default implementation:** ``outputTimesList`` Methods ------- ``count`` → ``integer(c_size_t)`` Return the number of output times. ``time`` → ``double precision`` Return the output time index by ``indexOutput``. * ``integer(c_size_t), intent(in ) :: indexOutput`` ``redshift`` → ``double precision`` Return the output redshift index by ``indexOutput``. * ``integer(c_size_t), intent(in ) :: indexOutput`` ``index`` → ``integer(c_size_t)`` Return the index of the output at the given ``time``. If ``findClosest`` is given and is true then the closest matching output is returned. * ``double precision, intent(in ) :: time`` * ``logical , intent(in ), optional :: findClosest`` ``timeNext`` → ``double precision`` Given a ``time``, return the time of the next output, and (optionally) the index of that output. * ``double precision , intent(in ) :: timeCurrent`` * ``integer (c_size_t), intent( out), optional :: indexOutput`` ``timePrevious`` → ``double precision`` Given a ``time``, return the time of the previous output, and (optionally) the index of that output. * ``double precision , intent(in ) :: timeCurrent`` * ``integer (c_size_t), intent( out), optional :: indexOutput`` .. _physics-outputTimesList: ``outputTimesList`` ------------------- An output times class which simply reads a list of output times specified via parameters. Times can be given as a (space-separated) list of actual cosmic times (in Gyr) via the ``[times]`` parameter, or as a (space-separated) list of redshifts via the ``[redshifts]`` parameter, or by a combination of the two. The ``[times]`` parameter allows negative values which are interpreted as lookback times. For example, in a cosmological model where the universe is currently 13.8 Gyr old the following: .. code-block:: none will result in output at 12.8 and 13.8 Gyr. **(Default implementation)** **Methods** * ``elementCount`` — Return a count of the number of properties extracted. * ``extract`` — Extract the properties from the given ``node``. * ``names`` — Return the name of the properties extracted. * ``descriptions`` — Return a description of the properties extracted. * ``unitsInSI`` — Return the units of the properties extracted in the SI system. * ``units`` — Return an object containing units metadata for the properties. * ``metaData`` — Populate a hash with meta-data for the property. **Parameters** * ``[redshifts]`` (default ``[0.0d0]``) — A list of (space-separated) redshifts at which Galacticus results should be output. Redshifts need not be in any particular order. * ``[times]`` — A list of (space-separated) times at which Galacticus results should be output. Times need not be in any particular order. Negative times are interpreted as look-back times. .. _physics-outputTimesLogarithmicSpacingInCriticalOverdensity: ``outputTimesLogarithmicSpacingInCriticalOverdensity`` ------------------------------------------------------ An output times class which uses a set of times spaced uniformly in :math:`\log \delta_\mathrm{c}`. **Parameters** * ``[redshiftMinimum]`` — The minimum redshift at which to output. * ``[redshiftMaximum]`` — The maximum redshift at which to output. * ``[countTimes]`` — The number of times at which to output. .. _physics-outputTimesLogarithmicSpacingInRedshift: ``outputTimesLogarithmicSpacingInRedshift`` ------------------------------------------- An output times class which uses a set of times spaced uniformly in :math:`\log(1+z)`. **Parameters** * ``[redshiftMinimum]`` — The minimum redshift at which to output. * ``[redshiftMaximum]`` — The maximum redshift at which to output. * ``[countRedshifts]`` — The number of redshifts at which to output. .. _physics-outputTimesSimulationSnapshots: ``outputTimesSimulationSnapshots`` ---------------------------------- An output times class which matches output times to snapshot times of a simulation. **Parameters** * ``[fileName]`` — The name of the file from which to read simulation snapshots. .. _physics-outputTimesUniformSpacingInRedshift: ``outputTimesUniformSpacingInRedshift`` --------------------------------------- An output times class which generates a set of output times spaced uniformly in redshift. **Parameters** * ``[redshiftMinimum]`` — The minimum redshift at which to output. * ``[redshiftMaximum]`` — The maximum redshift at which to output. * ``[countRedshifts]`` — The number of redshifts at which to output. .. _physics-outputTimesUniformSpacingInTime: ``outputTimesUniformSpacingInTime`` ----------------------------------- An output times class which generates a set of output times spaced uniformly in time. **Parameters** * ``[timeMinimum]`` — The minimum time at which to output. Negative times are interpreted as look-back times. * ``[redshiftMaximum]`` — The maximum redshift at which to output. * ``[timeMaximum]`` — The maximum time at which to output. Negative times are interpreted as look-back times. * ``[redshiftMinimum]`` — The minimum redshift at which to output. * ``[countTimes]`` — The number of times at which to output. .. _physics-outputTimesUnion: ``outputTimesUnion`` -------------------- An output times class which simply constructs the union of output times from a set of other :galacticus-class:`outputTimesClass` objects. **Methods** * ``initialize`` — Initialize the set of output times.