1. State Point File Format

The current version of the statepoint file format is 18.1.


  • filetype (char[]) – String indicating the type of file.

  • version (int[2]) – Major and minor version of the statepoint file format.

  • openmc_version (int[3]) – Major, minor, and release version number for OpenMC.

  • git_sha1 (char[40]) – Git commit SHA-1 hash.

  • date_and_time (char[]) – Date and time the summary was written.

  • path (char[]) – Path to directory containing input files.

  • tallies_present (int) – Flag indicating whether tallies are present (1) or not (0).

  • source_present (int) – Flag indicating whether the source bank is present (1) or not (0).

  • seed (int8_t) – Pseudo-random number generator seed.

  • energy_mode (char[]) – Energy mode of the run, either ‘continuous-energy’ or ‘multi-group’.

  • run_mode (char[]) – Run mode used, either ‘eigenvalue’ or ‘fixed source’.

  • n_particles (int8_t) – Number of particles used per generation.

  • n_batches (int) – Number of batches to simulate.

  • current_batch (int) – The number of batches already simulated.

  • n_inactive (int) – Number of inactive batches. Only present when run_mode is ‘eigenvalue’.

  • generations_per_batch (int) – Number of generations per batch. Only present when run_mode is ‘eigenvalue’.

  • k_generation (double[]) – k-effective for each generation simulated.

  • entropy (double[]) – Shannon entropy for each generation simulated.

  • k_col_abs (double) – Sum of product of collision/absorption estimates of k-effective.

  • k_col_tra (double) – Sum of product of collision/track-length estimates of k-effective.

  • k_abs_tra (double) – Sum of product of absorption/track-length estimates of k-effective.

  • k_combined (double[2]) – Mean and standard deviation of a combined estimate of k-effective.

  • n_realizations (int) – Number of realizations for global tallies.

  • global_tallies (double[][2]) – Accumulated sum and sum-of-squares for each global tally.

  • source_bank (Compound type) – Source bank information for each particle. The compound type has fields r, u, E, time, wgt, delayed_group, surf_id, and particle, which represent the position, direction, energy, time, weight, delayed group, surface ID, and particle type (0=neutron, 1=photon, 2=electron, 3=positron), respectively. Only present when run_mode is ‘eigenvalue’.


  • n_tallies (int) – Number of user-defined tallies.

  • ids (int[]) – User-defined unique ID of each tally.


  • n_meshes (int) – Number of meshes in the problem.

  • ids (int[]) – User-defined unique ID of each mesh.

/tallies/meshes/mesh <uid>/

  • type (char[]) – Type of mesh.

  • dimension (int) – Number of mesh cells in each dimension.

  • Regular Mesh Only:
    • lower_left (double[]) – Coordinates of lower-left corner of mesh.

    • upper_right (double[]) – Coordinates of upper-right corner of mesh.

    • width (double[]) – Width of each mesh cell in each dimension.

  • Rectilinear Mesh Only:
    • x_grid (double[]) – Mesh divisions along the x-axis.

    • y_grid (double[]) – Mesh divisions along the y-axis.

    • z_grid (double[]) – Mesh divisions along the z-axis.

  • Cylindrical & Spherical Mesh Only:
    • r_grid (double[]) – The mesh divisions along the r-axis.

    • phi_grid (double[]) – The mesh divisions along the phi-axis.

    • origin (double[]) – The origin in cartesian coordinates.

  • Spherical Mesh Only:
    • theta_grid (double[]) – The mesh divisions along the theta-axis.

  • Unstructured Mesh Only:
    • filename (char[]) – Name of the mesh file.

    • library (char[]) – Mesh library used to represent the

      mesh (“moab” or “libmesh”).

    • length_multiplier (double) Scaling factor applied to the mesh.

    • volumes (double[]) – Volume of each mesh cell.

    • vertices (double[]) – x, y, z values of the mesh vertices.

    • connectivity (int[]) – Connectivity array for the mesh cells.

    • element_types (int[]) – Mesh element types.


  • n_filters (int) – Number of filters in the problem.

  • ids (int[]) – User-defined unique ID of each filter.

/tallies/filters/filter <uid>/

  • type (char[]) – Type of the j-th filter. Can be ‘universe’, ‘material’, ‘cell’, ‘cellborn’, ‘surface’, ‘mesh’, ‘energy’, ‘energyout’, ‘distribcell’, ‘mu’, ‘polar’, ‘azimuthal’, ‘delayedgroup’, or ‘energyfunction’.

  • n_bins (int) – Number of bins for the j-th filter. Not present for ‘energyfunction’ filters.

  • bins (int[] or double[]) – Value for each filter bin of this type. Not present for ‘energyfunction’ filters.

  • energy (double[]) – Energy grid points for energyfunction interpolation. Only used for ‘energyfunction’ filters.

  • y (double[]) – Interpolant values for energyfunction interpolation. Only used for ‘energyfunction’ filters.

    • interpolation (int) – Interpolation type. Only used for ‘energyfunction’ filters.

/tallies/derivatives/derivative <id>/

  • independent variable (char[]) – Independent variable of tally derivative.

  • material (int) – ID of the perturbed material.

  • nuclide (char[]) – Alias of the perturbed nuclide.

  • estimator (char[]) – Type of tally estimator, either ‘analog’, ‘tracklength’, or ‘collision’.

/tallies/tally <uid>/

  • internal (int) – Flag indicating the presence of tally data (0) or absence of tally data (1). All user defined tallies will have a value of 0 unless otherwise instructed.

  • multiply_density (int) – Flag indicating whether reaction rates should be multiplied by atom density (1) or not (0).

  • n_realizations (int) – Number of realizations.

  • n_filters (int) – Number of filters used.

  • filters (int[]) – User-defined unique IDs of the filters on the tally

  • nuclides (char[][]) – Array of nuclides to tally. Note that if no nuclide is specified in the user input, a single ‘total’ nuclide appears here.

  • derivative (int) – ID of the derivative applied to the tally.

  • n_score_bins (int) – Number of scoring bins for a single nuclide.

  • score_bins (char[][]) – Values of specified scores.

  • results (double[][][2]) – Accumulated sum and sum-of-squares for each bin of the i-th tally. The first dimension represents combinations of filter bins, the second dimensions represents scoring bins, and the third dimension has two entries for the sum and the sum-of-squares.


All values are given in seconds and are measured on the master process.

  • total initialization (double) – Time spent reading inputs, allocating arrays, etc.

  • reading cross sections (double) – Time spent loading cross section libraries (this is a subset of initialization).

  • simulation (double) – Time spent between initialization and finalization.

  • transport (double) – Time spent transporting particles.

  • inactive batches (double) – Time spent in the inactive batches (including non-transport activities like communicating sites).

  • active batches (double) – Time spent in the active batches (including non-transport activities like communicating sites).

  • synchronizing fission bank (double) – Time spent sampling source particles from fission sites and communicating them to other processes for load balancing.

  • sampling source sites (double) – Time spent sampling source particles from fission sites.

  • SEND-RECV source sites (double) – Time spent communicating source sites between processes for load balancing.

  • accumulating tallies (double) – Time spent communicating tally results and evaluating their statistics.

  • writing statepoints (double) – Time spent writing statepoint files