Skip to content

Settings file reference

The settings file is plain text and follows CLASS-compatible syntax:

parameter name = value, value2  # optional comment

Parameter names are case-sensitive and include everything from the first non-whitespace character through the last non-whitespace character before =. Internal spaces in names therefore matter. Blank lines and text following # are ignored.

The first matching parameter occurrence is used. Repeated identical definitions produce a warning; conflicting duplicates are errors. Unquoted string values such as paths and file bases end at whitespace; use paths without spaces.

Unknown parameters are not errors. This allows one file to contain both gevolution and CLASS settings or settings for another compatible build. Startup diagnostics report parameters unused by gevolution, then write the consumed subset to <output path><generic file base>_settings_used.ini.

This reference describes the current GPU branch. Where the v1.3 manual and the current parser differ, the current parser is authoritative.

Reference by topic

Topic Contents
Initial conditions and particles Generators, templates, transfer functions, gauges, baryon treatment, and particle-species lists
Simulation and solvers Mesh, time stepping, gravity, radiation, fluids, and switching redshifts
Outputs and light cones Paths, schedules, output specifiers, snapshots, spectra, tracer/downgrade factors, and light-cone geometry
Cosmology and legacy settings Density parameters, primordial spectrum, restart metadata, deprecated settings, and v1.3 differences

General parsing rules

Defaults and validation

Some omitted parameters receive defaults, some disable an optional feature, and some are fatal. Explicit integers and floating-point values are parsed strictly: trailing characters, malformed list entries, NaN, and infinities are errors. Essential bounds reject values that can cause invalid arithmetic, non-progressing evolution, or invalid process decomposition.

Independent syntax and bounds errors are collected and printed together before the run aborts. Settings for unavailable optional compile-time features remain portable where possible: safely ignorable requests produce warnings.

The program does not create output directories. An output path must already exist before output is due.

Lists

Comma-separated lists are ordered by species:

  1. CDM;
  2. baryons, only when they are represented by a separate particle ensemble;
  3. non-CDM species in m_ncdm order.

List completion is parameter-specific. For example, missing template file, tiling factor, and non-CDM switching-redshift entries repeat their last provided value. Missing disk-reader particle file entries instead become /dev/null. The detailed pages state the behaviour for each list.

Precedence

Several settings are alternatives rather than independent inputs:

  • mPk file is checked before Tk file; if both are present, mPk file wins.
  • Physical densities such as omega_cdm take precedence over corresponding fractional densities such as Omega_cdm.
  • T_cmb takes precedence over omega_g, which takes precedence over Omega_g.
  • N_ur takes precedence over N_eff, omega_ur, and Omega_ur, in that order.

Units

Quantity Settings-file unit
Comoving lengths, including boxsize and light-cone distances Mpc/h
k_pivot 1/Mpc
Non-CDM masses eV
T_cmb K
Redshifts dimensionless
h \(100\,\mathrm{km\,s^{-1}\,Mpc^{-1}}\)

Parser limits

Fixed-size parser arrays impose compile-time limits. The important user-facing ones are MAX_OUTPUTS, PARAM_MAX_LINESIZE, PARAM_MAX_LENGTH, and MAX_PCL_SPECIES; see Advanced compile-time tuning. Lines, names, values, and lists exceeding these limits are rejected with a diagnostic instead of being silently truncated.

Large schedules

A schedule with hundreds of outputs can exceed both MAX_OUTPUTS and the maximum length of the single line containing it. Increase and test MAX_OUTPUTS, PARAM_MAX_LINESIZE, and PARAM_MAX_LENGTH together.

Support-status rule

Being accepted by the parser does not guarantee that a feature is supported by the GPU executable. Safely ignorable unavailable compile-time features produce warnings. Hibernation schedules and wallclock limits are errors because they would stop execution without writing a checkpoint. The external LATfield2 I/O server, prevolution, and FalconIC are unsupported.