Repository: CORE-GATECH-GROUP/serpent-tools
Pull request #29 (2017-10-11 01:13:25)

Attempting to revert back develop to #28 with patches
Signed-off-by: Andrew Johnson <1drew.e.johnson@gmail.com>


Patch:
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..3a3b124
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,1 @@
+serpentTools/_version.py export-subst
diff --git a/MANIFEST.in b/MANIFEST.in
new file mode 100644
index 0000000..3a58697
--- /dev/null
+++ b/MANIFEST.in
@@ -0,0 +1,2 @@
+include versioneer.py
+include serpentTools/_version.py
diff --git a/serpentTools/_version.py b/serpentTools/_version.py
new file mode 100644
index 0000000..c2aa39f
--- /dev/null
+++ b/serpentTools/_version.py
@@ -0,0 +1,520 @@
+
+# This file helps to compute a version number in source trees obtained from
+# git-archive tarball (such as those provided by githubs download-from-tag
+# feature). Distribution tarballs (built by setup.py sdist) and build
+# directories (produced by setup.py build) will contain a much shorter file
+# that just contains the computed version number.
+
+# This file is released into the public domain. Generated by
+# versioneer-0.18 (https://github.com/warner/python-versioneer)
+
+"""Git implementation of _version.py."""
+
+import errno
+import os
+import re
+import subprocess
+import sys
+
+
+def get_keywords():
+    """Get the keywords needed to look up the version information."""
+    # these strings will be replaced by git during git-archive.
+    # setup.py/versioneer.py will grep for the variable names, so they must
+    # each be defined on a line of their own. _version.py will just call
+    # get_keywords().
+    git_refnames = "$Format:%d$"
+    git_full = "$Format:%H$"
+    git_date = "$Format:%ci$"
+    keywords = {"refnames": git_refnames, "full": git_full, "date": git_date}
+    return keywords
+
+
+class VersioneerConfig:
+    """Container for Versioneer configuration parameters."""
+
+
+def get_config():
+    """Create, populate and return the VersioneerConfig() object."""
+    # these strings are filled in when 'setup.py versioneer' creates
+    # _version.py
+    cfg = VersioneerConfig()
+    cfg.VCS = "git"
+    cfg.style = "pep440"
+    cfg.tag_prefix = ""
+    cfg.parentdir_prefix = "None"
+    cfg.versionfile_source = "serpentTools/_version.py"
+    cfg.verbose = False
+    return cfg
+
+
+class NotThisMethod(Exception):
+    """Exception raised if a method is not valid for the current scenario."""
+
+
+LONG_VERSION_PY = {}
+HANDLERS = {}
+
+
+def register_vcs_handler(vcs, method):  # decorator
+    """Decorator to mark a method as the handler for a particular VCS."""
+    def decorate(f):
+        """Store f in HANDLERS[vcs][method]."""
+        if vcs not in HANDLERS:
+            HANDLERS[vcs] = {}
+        HANDLERS[vcs][method] = f
+        return f
+    return decorate
+
+
+def run_command(commands, args, cwd=None, verbose=False, hide_stderr=False,
+                env=None):
+    """Call the given command(s)."""
+    assert isinstance(commands, list)
+    p = None
+    for c in commands:
+        try:
+            dispcmd = str([c] + args)
+            # remember shell=False, so use git.cmd on windows, not just git
+            p = subprocess.Popen([c] + args, cwd=cwd, env=env,
+                                 stdout=subprocess.PIPE,
+                                 stderr=(subprocess.PIPE if hide_stderr
+                                         else None))
+            break
+        except EnvironmentError:
+            e = sys.exc_info()[1]
+            if e.errno == errno.ENOENT:
+                continue
+            if verbose:
+                print("unable to run %s" % dispcmd)
+                print(e)
+            return None, None
+    else:
+        if verbose:
+            print("unable to find command, tried %s" % (commands,))
+        return None, None
+    stdout = p.communicate()[0].strip()
+    if sys.version_info[0] >= 3:
+        stdout = stdout.decode()
+    if p.returncode != 0:
+        if verbose:
+            print("unable to run %s (error)" % dispcmd)
+            print("stdout was %s" % stdout)
+        return None, p.returncode
+    return stdout, p.returncode
+
+
+def versions_from_parentdir(parentdir_prefix, root, verbose):
+    """Try to determine the version from the parent directory name.
+
+    Source tarballs conventionally unpack into a directory that includes both
+    the project name and a version string. We will also support searching up
+    two directory levels for an appropriately named parent directory
+    """
+    rootdirs = []
+
+    for i in range(3):
+        dirname = os.path.basename(root)
+        if dirname.startswith(parentdir_prefix):
+            return {"version": dirname[len(parentdir_prefix):],
+                    "full-revisionid": None,
+                    "dirty": False, "error": None, "date": None}
+        else:
+            rootdirs.append(root)
+            root = os.path.dirname(root)  # up a level
+
+    if verbose:
+        print("Tried directories %s but none started with prefix %s" %
+              (str(rootdirs), parentdir_prefix))
+    raise NotThisMethod("rootdir doesn't start with parentdir_prefix")
+
+
+@register_vcs_handler("git", "get_keywords")
+def git_get_keywords(versionfile_abs):
+    """Extract version information from the given file."""
+    # the code embedded in _version.py can just fetch the value of these
+    # keywords. When used from setup.py, we don't want to import _version.py,
+    # so we do it with a regexp instead. This function is not used from
+    # _version.py.
+    keywords = {}
+    try:
+        f = open(versionfile_abs, "r")
+        for line in f.readlines():
+            if line.strip().startswith("git_refnames ="):
+                mo = re.search(r'=\s*"(.*)"', line)
+                if mo:
+                    keywords["refnames"] = mo.group(1)
+            if line.strip().startswith("git_full ="):
+                mo = re.search(r'=\s*"(.*)"', line)
+                if mo:
+                    keywords["full"] = mo.group(1)
+            if line.strip().startswith("git_date ="):
+                mo = re.search(r'=\s*"(.*)"', line)
+                if mo:
+                    keywords["date"] = mo.group(1)
+        f.close()
+    except EnvironmentError:
+        pass
+    return keywords
+
+
+@register_vcs_handler("git", "keywords")
+def git_versions_from_keywords(keywords, tag_prefix, verbose):
+    """Get version information from git keywords."""
+    if not keywords:
+        raise NotThisMethod("no keywords at all, weird")
+    date = keywords.get("date")
+    if date is not None:
+        # git-2.2.0 added "%cI", which expands to an ISO-8601 -compliant
+        # datestamp. However we prefer "%ci" (which expands to an "ISO-8601
+        # -like" string, which we must then edit to make compliant), because
+        # it's been around since git-1.5.3, and it's too difficult to
+        # discover which version we're using, or to work around using an
+        # older one.
+        date = date.strip().replace(" ", "T", 1).replace(" ", "", 1)
+    refnames = keywords["refnames"].strip()
+    if refnames.startswith("$Format"):
+        if verbose:
+            print("keywords are unexpanded, not using")
+        raise NotThisMethod("unexpanded keywords, not a git-archive tarball")
+    refs = set([r.strip() for r in refnames.strip("()").split(",")])
+    # starting in git-1.8.3, tags are listed as "tag: foo-1.0" instead of
+    # just "foo-1.0". If we see a "tag: " prefix, prefer those.
+    TAG = "tag: "
+    tags = set([r[len(TAG):] for r in refs if r.startswith(TAG)])
+    if not tags:
+        # Either we're using git < 1.8.3, or there really are no tags. We use
+        # a heuristic: assume all version tags have a digit. The old git %d
+        # expansion behaves like git log --decorate=short and strips out the
+        # refs/heads/ and refs/tags/ prefixes that would let us distinguish
+        # between branches and tags. By ignoring refnames without digits, we
+        # filter out many common branch names like "release" and
+        # "stabilization", as well as "HEAD" and "master".
+        tags = set([r for r in refs if re.search(r'\d', r)])
+        if verbose:
+            print("discarding '%s', no digits" % ",".join(refs - tags))
+    if verbose:
+        print("likely tags: %s" % ",".join(sorted(tags)))
+    for ref in sorted(tags):
+        # sorting will prefer e.g. "2.0" over "2.0rc1"
+        if ref.startswith(tag_prefix):
+            r = ref[len(tag_prefix):]
+            if verbose:
+                print("picking %s" % r)
+            return {"version": r,
+                    "full-revisionid": keywords["full"].strip(),
+                    "dirty": False, "error": None,
+                    "date": date}
+    # no suitable tags, so version is "0+unknown", but full hex is still there
+    if verbose:
+        print("no suitable tags, using unknown + full revision id")
+    return {"version": "0+unknown",
+            "full-revisionid": keywords["full"].strip(),
+            "dirty": False, "error": "no suitable tags", "date": None}
+
+
+@register_vcs_handler("git", "pieces_from_vcs")
+def git_pieces_from_vcs(tag_prefix, root, verbose, run_command=run_command):
+    """Get version from 'git describe' in the root of the source tree.
+
+    This only gets called if the git-archive 'subst' keywords were *not*
+    expanded, and _version.py hasn't already been rewritten with a short
+    version string, meaning we're inside a checked out source tree.
+    """
+    GITS = ["git"]
+    if sys.platform == "win32":
+        GITS = ["git.cmd", "git.exe"]
+
+    out, rc = run_command(GITS, ["rev-parse", "--git-dir"], cwd=root,
+                          hide_stderr=True)
+    if rc != 0:
+        if verbose:
+            print("Directory %s not under git control" % root)
+        raise NotThisMethod("'git rev-parse --git-dir' returned error")
+
+    # if there is a tag matching tag_prefix, this yields TAG-NUM-gHEX[-dirty]
+    # if there isn't one, this yields HEX[-dirty] (no NUM)
+    describe_out, rc = run_command(GITS, ["describe", "--tags", "--dirty",
+                                          "--always", "--long",
+                                          "--match", "%s*" % tag_prefix],
+                                   cwd=root)
+    # --long was added in git-1.5.5
+    if describe_out is None:
+        raise NotThisMethod("'git describe' failed")
+    describe_out = describe_out.strip()
+    full_out, rc = run_command(GITS, ["rev-parse", "HEAD"], cwd=root)
+    if full_out is None:
+        raise NotThisMethod("'git rev-parse' failed")
+    full_out = full_out.strip()
+
+    pieces = {}
+    pieces["long"] = full_out
+    pieces["short"] = full_out[:7]  # maybe improved later
+    pieces["error"] = None
+
+    # parse describe_out. It will be like TAG-NUM-gHEX[-dirty] or HEX[-dirty]
+    # TAG might have hyphens.
+    git_describe = describe_out
+
+    # look for -dirty suffix
+    dirty = git_describe.endswith("-dirty")
+    pieces["dirty"] = dirty
+    if dirty:
+        git_describe = git_describe[:git_describe.rindex("-dirty")]
+
+    # now we have TAG-NUM-gHEX or HEX
+
+    if "-" in git_describe:
+        # TAG-NUM-gHEX
+        mo = re.search(r'^(.+)-(\d+)-g([0-9a-f]+)$', git_describe)
+        if not mo:
+            # unparseable. Maybe git-describe is misbehaving?
+            pieces["error"] = ("unable to parse git-describe output: '%s'"
+                               % describe_out)
+            return pieces
+
+        # tag
+        full_tag = mo.group(1)
+        if not full_tag.startswith(tag_prefix):
+            if verbose:
+                fmt = "tag '%s' doesn't start with prefix '%s'"
+                print(fmt % (full_tag, tag_prefix))
+            pieces["error"] = ("tag '%s' doesn't start with prefix '%s'"
+                               % (full_tag, tag_prefix))
+            return pieces
+        pieces["closest-tag"] = full_tag[len(tag_prefix):]
+
+        # distance: number of commits since tag
+        pieces["distance"] = int(mo.group(2))
+
+        # commit: short hex revision ID
+        pieces["short"] = mo.group(3)
+
+    else:
+        # HEX: no tags
+        pieces["closest-tag"] = None
+        count_out, rc = run_command(GITS, ["rev-list", "HEAD", "--count"],
+                                    cwd=root)
+        pieces["distance"] = int(count_out)  # total number of commits
+
+    # commit date: see ISO-8601 comment in git_versions_from_keywords()
+    date = run_command(GITS, ["show", "-s", "--format=%ci", "HEAD"],
+                       cwd=root)[0].strip()
+    pieces["date"] = date.strip().replace(" ", "T", 1).replace(" ", "", 1)
+
+    return pieces
+
+
+def plus_or_dot(pieces):
+    """Return a + if we don't already have one, else return a ."""
+    if "+" in pieces.get("closest-tag", ""):
+        return "."
+    return "+"
+
+
+def render_pep440(pieces):
+    """Build up version string, with post-release "local version identifier".
+
+    Our goal: TAG[+DISTANCE.gHEX[.dirty]] . Note that if you
+    get a tagged build and then dirty it, you'll get TAG+0.gHEX.dirty
+
+    Exceptions:
+    1: no tags. git_describe was just HEX. 0+untagged.DISTANCE.gHEX[.dirty]
+    """
+    if pieces["closest-tag"]:
+        rendered = pieces["closest-tag"]
+        if pieces["distance"] or pieces["dirty"]:
+            rendered += plus_or_dot(pieces)
+            rendered += "%d.g%s" % (pieces["distance"], pieces["short"])
+            if pieces["dirty"]:
+                rendered += ".dirty"
+    else:
+        # exception #1
+        rendered = "0+untagged.%d.g%s" % (pieces["distance"],
+                                          pieces["short"])
+        if pieces["dirty"]:
+            rendered += ".dirty"
+    return rendered
+
+
+def render_pep440_pre(pieces):
+    """TAG[.post.devDISTANCE] -- No -dirty.
+
+    Exceptions:
+    1: no tags. 0.post.devDISTANCE
+    """
+    if pieces["closest-tag"]:
+        rendered = pieces["closest-tag"]
+        if pieces["distance"]:
+            rendered += ".post.dev%d" % pieces["distance"]
+    else:
+        # exception #1
+        rendered = "0.post.dev%d" % pieces["distance"]
+    return rendered
+
+
+def render_pep440_post(pieces):
+    """TAG[.postDISTANCE[.dev0]+gHEX] .
+
+    The ".dev0" means dirty. Note that .dev0 sorts backwards
+    (a dirty tree will appear "older" than the corresponding clean one),
+    but you shouldn't be releasing software with -dirty anyways.
+
+    Exceptions:
+    1: no tags. 0.postDISTANCE[.dev0]
+    """
+    if pieces["closest-tag"]:
+        rendered = pieces["closest-tag"]
+        if pieces["distance"] or pieces["dirty"]:
+            rendered += ".post%d" % pieces["distance"]
+            if pieces["dirty"]:
+                rendered += ".dev0"
+            rendered += plus_or_dot(pieces)
+            rendered += "g%s" % pieces["short"]
+    else:
+        # exception #1
+        rendered = "0.post%d" % pieces["distance"]
+        if pieces["dirty"]:
+            rendered += ".dev0"
+        rendered += "+g%s" % pieces["short"]
+    return rendered
+
+
+def render_pep440_old(pieces):
+    """TAG[.postDISTANCE[.dev0]] .
+
+    The ".dev0" means dirty.
+
+    Eexceptions:
+    1: no tags. 0.postDISTANCE[.dev0]
+    """
+    if pieces["closest-tag"]:
+        rendered = pieces["closest-tag"]
+        if pieces["distance"] or pieces["dirty"]:
+            rendered += ".post%d" % pieces["distance"]
+            if pieces["dirty"]:
+                rendered += ".dev0"
+    else:
+        # exception #1
+        rendered = "0.post%d" % pieces["distance"]
+        if pieces["dirty"]:
+            rendered += ".dev0"
+    return rendered
+
+
+def render_git_describe(pieces):
+    """TAG[-DISTANCE-gHEX][-dirty].
+
+    Like 'git describe --tags --dirty --always'.
+
+    Exceptions:
+    1: no tags. HEX[-dirty]  (note: no 'g' prefix)
+    """
+    if pieces["closest-tag"]:
+        rendered = pieces["closest-tag"]
+        if pieces["distance"]:
+            rendered += "-%d-g%s" % (pieces["distance"], pieces["short"])
+    else:
+        # exception #1
+        rendered = pieces["short"]
+    if pieces["dirty"]:
+        rendered += "-dirty"
+    return rendered
+
+
+def render_git_describe_long(pieces):
+    """TAG-DISTANCE-gHEX[-dirty].
+
+    Like 'git describe --tags --dirty --always -long'.
+    The distance/hash is unconditional.
+
+    Exceptions:
+    1: no tags. HEX[-dirty]  (note: no 'g' prefix)
+    """
+    if pieces["closest-tag"]:
+        rendered = pieces["closest-tag"]
+        rendered += "-%d-g%s" % (pieces["distance"], pieces["short"])
+    else:
+        # exception #1
+        rendered = pieces["short"]
+    if pieces["dirty"]:
+        rendered += "-dirty"
+    return rendered
+
+
+def render(pieces, style):
+    """Render the given version pieces into the requested style."""
+    if pieces["error"]:
+        return {"version": "unknown",
+                "full-revisionid": pieces.get("long"),
+                "dirty": None,
+                "error": pieces["error"],
+                "date": None}
+
+    if not style or style == "default":
+        style = "pep440"  # the default
+
+    if style == "pep440":
+        rendered = render_pep440(pieces)
+    elif style == "pep440-pre":
+        rendered = render_pep440_pre(pieces)
+    elif style == "pep440-post":
+        rendered = render_pep440_post(pieces)
+    elif style == "pep440-old":
+        rendered = render_pep440_old(pieces)
+    elif style == "git-describe":
+        rendered = render_git_describe(pieces)
+    elif style == "git-describe-long":
+        rendered = render_git_describe_long(pieces)
+    else:
+        raise ValueError("unknown style '%s'" % style)
+
+    return {"version": rendered, "full-revisionid": pieces["long"],
+            "dirty": pieces["dirty"], "error": None,
+            "date": pieces.get("date")}
+
+
+def get_versions():
+    """Get version information or return default if unable to do so."""
+    # I am in _version.py, which lives at ROOT/VERSIONFILE_SOURCE. If we have
+    # __file__, we can work backwards from there to the root. Some
+    # py2exe/bbfreeze/non-CPython implementations don't do __file__, in which
+    # case we can only use expanded keywords.
+
+    cfg = get_config()
+    verbose = cfg.verbose
+
+    try:
+        return git_versions_from_keywords(get_keywords(), cfg.tag_prefix,
+                                          verbose)
+    except NotThisMethod:
+        pass
+
+    try:
+        root = os.path.realpath(__file__)
+        # versionfile_source is the relative path from the top of the source
+        # tree (where the .git directory might live) to this file. Invert
+        # this to find the root from __file__.
+        for i in cfg.versionfile_source.split('/'):
+            root = os.path.dirname(root)
+    except NameError:
+        return {"version": "0+unknown", "full-revisionid": None,
+                "dirty": None,
+                "error": "unable to find root of source tree",
+                "date": None}
+
+    try:
+        pieces = git_pieces_from_vcs(cfg.tag_prefix, root, verbose)
+        return render(pieces, cfg.style)
+    except NotThisMethod:
+        pass
+
+    try:
+        if cfg.parentdir_prefix:
+            return versions_from_parentdir(cfg.parentdir_prefix, root, verbose)
+    except NotThisMethod:
+        pass
+
+    return {"version": "0+unknown", "full-revisionid": None,
+            "dirty": None,
+            "error": "unable to compute version", "date": None}
diff --git a/serpentTools/parsers/results.py b/serpentTools/parsers/results.py
index bf64917..ae4f1ef 100644
--- a/serpentTools/parsers/results.py
+++ b/serpentTools/parsers/results.py
@@ -1,11 +1,6 @@
 """Parser responsible for reading the ``*res.m`` files"""
-import re
-
-
-from drewtils.parsers import KeywordParser
 
 from serpentTools.objects.readers import BaseReader
-from serpentTools.objects.readers import MaterialReader
 
 
 class ResultsReader(BaseReader):
@@ -16,59 +11,5 @@ class ResultsReader(BaseReader):
     ----------
     filePath: str
         path to the depletion file
-
-    Attributes
-    ----------
-    materials: dict
-        Dictionary with material names as keys and the corresponding
-        :py:class:`~serpentTools.objects.DepletedMaterial` class
-        for that material as values
-    metadata: dict
-        Dictionary with file-wide data names as keys and the
-        corresponding dataas values, e.g. 'zai': [list of zai numbers]
-    settings: dict
-        names and values of the settings used to control operations
-        of this reader
-
-    :note:
-
-        Does not support depleted materials with underscores,
-        i.e. ``fuel_1`` will not be matched with the current methods
     """
-
-    def __init__(self, filePath):
-        MaterialReader.__init__(self, filePath, 'results_reader')
-        self.matchMatNVar = r'(idx'
-        """
-        Captures material name and variable from string::
-
-            B1_KINF                   (idx, [1:   2]) = [  0.00000E+00 0.0E+00 ];
-             --> ('fuel1', 'ADENS')
-
-        """
-
-    def read(self):
-        """Read through the results file and store requested data."""
-        keys = ['idx', '=', ]
-        separators = ['\n', '];']
-        with KeywordParser(self.filePath, keys, separators) as parser:
-            for chunk in parser.yieldChunks():
-                if 'idx' in chunk[0] and '=' in chunk[0]:
-                    self._addMetaXSdata(chunk)
-                else:
-                    self._addMetaXSdata(chunk)
-
-
-    def _addMetaXSdata(self, chunk):
-        options = {'INF_SP0': 'sigma_sct0', 'INF_SP1': 'sigma_sct1', 'INF_SP2': 'sigma_sct2',   
-                   'INF_ABS': 'sigma_abs'}
-        for varName, metadataKey in options.items():
-            if varName in chunk[0]:
-                values = [line.strip() for line in chunk[1:]]
-        return
-
-if __name__ == '__main__':
-    filePath = 'test_res.m'
-    r1 = ResultsReader(filePath)
-    r1.read()
-    print('---done---\n')
\ No newline at end of file
+    pass


Test patch:
diff --git a/serpentTools/tests/test_res.m b/serpentTools/tests/test_res.m
deleted file mode 100644
index 2cb3553..0000000
--- a/serpentTools/tests/test_res.m
+++ /dev/null
@@ -1,495 +0,0 @@
-
-% Increase counter:
-
-if (exist('idx', 'var'));
-  idx = idx + 1;
-else;
-  idx = 1;
-end;
-
-% Version, title and date:
-
-VERSION                   (idx, [1: 14])  = 'Serpent 2.1.26' ;
-COMPILE_DATE              (idx, [1: 20])  = 'Nov  3 2016 09:13:26' ;
-DEBUG                     (idx, 1)        = 0 ;
-TITLE                     (idx, [1: 25])  = 'Inverse PEWEE 3:1 (ME:FE)' ;
-INPUT_FILE_NAME           (idx, [1: 12])  = 'InvPewee3d.i' ;
-WORKING_DIRECTORY         (idx, [1: 71])  = '/gpfs/pace1/project/pme/pme2/dkotlyar6/Research/ThermalPropulsion/FA_3D' ;
-HOSTNAME                  (idx, [1: 26])  = 'iw-h41-10c.pace.gatech.edu' ;
-CPU_TYPE                  (idx, [1: 39])  = 'Six-Core AMD Opteron(tm) Processor 8431' ;
-CPU_MHZ                   (idx, 1)        = 2412.5 ;
-START_DATE                (idx, [1: 24])  = 'Thu May 25 13:00:44 2017' ;
-COMPLETE_DATE             (idx, [1: 24])  = 'Thu May 25 13:06:28 2017' ;
-
-% Run parameters:
-
-POP                       (idx, 1)        = 35000 ;
-CYCLES                    (idx, 1)        = 200 ;
-SKIP                      (idx, 1)        = 50 ;
-BATCH_INTERVAL            (idx, 1)        = 1 ;
-SRC_NORM_MODE             (idx, 1)        = 2 ;
-SEED                      (idx, 1)        = 1495731644 ;
-UFS_MODE                  (idx, 1)        = 0 ;
-UFS_ORDER                 (idx, 1)        = 1.00000;
-NEUTRON_TRANSPORT_MODE    (idx, 1)        = 1 ;
-PHOTON_TRANSPORT_MODE     (idx, 1)        = 0 ;
-GROUP_CONSTANT_GENERATION (idx, 1)        = 1 ;
-B1_CALCULATION            (idx, [1:  3])  = [ 0 0 0 ];
-B1_BURNUP_CORRECTION      (idx, 1)        = 0 ;
-IMPLICIT_REACTION_RATES   (idx, 1)        = 1 ;
-
-% Optimization:
-
-OPTIMIZATION_MODE         (idx, 1)        = 4 ;
-RECONSTRUCT_MICROXS       (idx, 1)        = 1 ;
-RECONSTRUCT_MACROXS       (idx, 1)        = 1 ;
-MG_MAJORANT_MODE          (idx, 1)        = 0 ;
-
-% Parallelization:
-
-MPI_TASKS                 (idx, 1)        = 1 ;
-OMP_THREADS               (idx, 1)        = 16 ;
-MPI_REPRODUCIBILITY       (idx, 1)        = 0 ;
-OMP_REPRODUCIBILITY       (idx, 1)        = 1 ;
-OMP_HISTORY_PROFILE       (idx, [1:  16]) = [  9.91642E-01  9.94031E-01  9.40629E-01  1.05260E+00  9.93721E-01  9.39825E-01  1.05450E+00  1.05259E+00  9.79004E-01  1.05690E+00  1.05592E+00  9.92847E-01  9.79630E-01  9.42682E-01  9.78671E-01  9.94818E-01  ];
-SHARE_BUF_ARRAY           (idx, 1)        = 0 ;
-SHARE_RES2_ARRAY          (idx, 1)        = 1 ;
-
-% File paths:
-
-XS_DATA_FILE_PATH         (idx, [1: 53])  = '/nv/hp22/dkotlyar6/data/Codes/DATA/sss_endfb7u.xsdata' ;
-DECAY_DATA_FILE_PATH      (idx, [1:  3])  = 'N/A' ;
-SFY_DATA_FILE_PATH        (idx, [1:  3])  = 'N/A' ;
-NFY_DATA_FILE_PATH        (idx, [1:  3])  = 'N/A' ;
-BRA_DATA_FILE_PATH        (idx, [1:  3])  = 'N/A' ;
-
-% Collision and reaction sampling (neutrons/photons):
-
-MIN_MACROXS               (idx, [1:   4]) = [  2.42790E-01 0.0E+00  0.00000E+00 0.0E+00 ];
-DT_THRESH                 (idx, [1:  2])  = [  9.00000E-01  9.00000E-01 ];
-ST_FRAC                   (idx, [1:   4]) = [  2.25677E-01 8.7E-05  0.00000E+00 0.0E+00 ];
-DT_FRAC                   (idx, [1:   4]) = [  7.74323E-01 2.5E-05  0.00000E+00 0.0E+00 ];
-DT_EFF                    (idx, [1:   4]) = [  4.40055E-01 8.1E-05  0.00000E+00 0.0E+00 ];
-REA_SAMPLING_EFF          (idx, [1:   4]) = [  1.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-REA_SAMPLING_FAIL         (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-TOT_COL_EFF               (idx, [1:   4]) = [  4.37426E-01 8.0E-05  0.00000E+00 0.0E+00 ];
-AVG_TRACKING_LOOPS        (idx, [1:   8]) = [  5.58906E+00 0.00028  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-AVG_TRACKS                (idx, [1:   4]) = [  3.44427E+01 0.00023  0.00000E+00 0.0E+00 ];
-AVG_REAL_COL              (idx, [1:   4]) = [  3.43051E+01 0.00023  0.00000E+00 0.0E+00 ];
-AVG_VIRT_COL              (idx, [1:   4]) = [  4.41199E+01 0.00028  0.00000E+00 0.0E+00 ];
-AVG_SURF_CROSS            (idx, [1:   4]) = [  2.67089E+01 0.00027  0.00000E+00 0.0E+00 ];
-
-% Run statistics:
-
-CYCLE_IDX                 (idx, 1)        = 200 ;
-SOURCE_POPULATION         (idx, 1)        = 7000019 ;
-MEAN_POP_SIZE             (idx, [1:  2])  = [  3.50001E+04 0.00051 ];
-MEAN_POP_WGT              (idx, [1:  2])  = [  3.50001E+04 0.00051 ];
-SIMULATION_COMPLETED      (idx, 1)        = 1 ;
-
-% Running times:
-
-TOT_CPU_TIME              (idx, 1)        =  8.64623E+01 ;
-RUNNING_TIME              (idx, 1)        =  5.72890E+00 ;
-INIT_TIME                 (idx, [1:  2])  = [  3.05550E-01  3.05550E-01 ];
-PROCESS_TIME              (idx, [1:  2])  = [  9.33332E-04  9.33332E-04 ];
-TRANSPORT_CYCLE_TIME      (idx, [1:  3])  = [  5.42240E+00  5.42240E+00  0.00000E+00 ];
-MPI_OVERHEAD_TIME         (idx, [1:  2])  = [  0.00000E+00  0.00000E+00 ];
-ESTIMATED_RUNNING_TIME    (idx, [1:  2])  = [  5.72872E+00  0.00000E+00 ];
-CPU_USAGE                 (idx, 1)        = 15.09231 ;
-TRANSPORT_CPU_USAGE       (idx, [1:   2]) = [  1.55759E+01 0.00033 ];
-OMP_PARALLEL_FRAC         (idx, 1)        =  9.42554E-01 ;
-
-% Memory usage:
-
-AVAIL_MEM                 (idx, 1)        = 64556.28 ;
-ALLOC_MEMSIZE             (idx, 1)        = 2962.21;
-MEMSIZE                   (idx, 1)        = 402.30;
-XS_MEMSIZE                (idx, 1)        = 167.36;
-MAT_MEMSIZE               (idx, 1)        = 30.21;
-RES_MEMSIZE               (idx, 1)        = 1.25;
-MISC_MEMSIZE              (idx, 1)        = 203.49;
-UNKNOWN_MEMSIZE           (idx, 1)        = 0.00;
-UNUSED_MEMSIZE            (idx, 1)        = 2559.91;
-
-% Geometry parameters:
-
-TOT_CELLS                 (idx, 1)        = 6 ;
-UNION_CELLS               (idx, 1)        = 0 ;
-
-% Neutron energy grid:
-
-NEUTRON_ERG_TOL           (idx, 1)        =  5.00000E-05 ;
-NEUTRON_ERG_NE            (idx, 1)        = 87544 ;
-NEUTRON_EMIN              (idx, 1)        =  1.00000E-09 ;
-NEUTRON_EMAX              (idx, 1)        =  1.50000E+01 ;
-
-% Unresolved resonance probability table sampling:
-
-URES_DILU_CUT             (idx, 1)        =  1.00000E-09 ;
-URES_EMIN                 (idx, 1)        =  1.00000E+37 ;
-URES_EMAX                 (idx, 1)        = -1.00000E+37 ;
-URES_AVAIL                (idx, 1)        = 16 ;
-URES_USED                 (idx, 1)        = 0 ;
-
-% Nuclides and reaction channels:
-
-TOT_NUCLIDES              (idx, 1)        = 29 ;
-TOT_TRANSPORT_NUCLIDES    (idx, 1)        = 29 ;
-TOT_DOSIMETRY_NUCLIDES    (idx, 1)        = 0 ;
-TOT_DECAY_NUCLIDES        (idx, 1)        = 0 ;
-TOT_PHOTON_NUCLIDES       (idx, 1)        = 0 ;
-TOT_REA_CHANNELS          (idx, 1)        = 697 ;
-TOT_TRANSMU_REA           (idx, 1)        = 0 ;
-
-% Neutron physics options:
-
-USE_DELNU                 (idx, 1)        = 1 ;
-USE_URES                  (idx, 1)        = 0 ;
-USE_DBRC                  (idx, 1)        = 0 ;
-IMPL_CAPT                 (idx, 1)        = 0 ;
-IMPL_NXN                  (idx, 1)        = 1 ;
-IMPL_FISS                 (idx, 1)        = 0 ;
-DOPPLER_PREPROCESSOR      (idx, 1)        = 0 ;
-TMS_MODE                  (idx, 1)        = 0 ;
-SAMPLE_FISS               (idx, 1)        = 1 ;
-SAMPLE_CAPT               (idx, 1)        = 1 ;
-SAMPLE_SCATT              (idx, 1)        = 1 ;
-
-% Radioactivity data:
-
-TOT_ACTIVITY              (idx, 1)        =  0.00000E+00 ;
-TOT_DECAY_HEAT            (idx, 1)        =  0.00000E+00 ;
-TOT_SF_RATE               (idx, 1)        =  0.00000E+00 ;
-ACTINIDE_ACTIVITY         (idx, 1)        =  0.00000E+00 ;
-ACTINIDE_DECAY_HEAT       (idx, 1)        =  0.00000E+00 ;
-FISSION_PRODUCT_ACTIVITY  (idx, 1)        =  0.00000E+00 ;
-FISSION_PRODUCT_DECAY_HEAT(idx, 1)        =  0.00000E+00 ;
-INHALATION_TOXICITY       (idx, 1)        =  0.00000E+00 ;
-INGESTION_TOXICITY        (idx, 1)        =  0.00000E+00 ;
-SR90_ACTIVITY             (idx, 1)        =  0.00000E+00 ;
-TE132_ACTIVITY            (idx, 1)        =  0.00000E+00 ;
-I131_ACTIVITY             (idx, 1)        =  0.00000E+00 ;
-I132_ACTIVITY             (idx, 1)        =  0.00000E+00 ;
-CS134_ACTIVITY            (idx, 1)        =  0.00000E+00 ;
-CS137_ACTIVITY            (idx, 1)        =  0.00000E+00 ;
-TOT_PHOTON_SRC            (idx, 1)        =  0.00000E+00 ;
-
-% Normaliation coefficient:
-
-NORM_COEF                 (idx, [1:   4]) = [  4.47060E+13 0.00036  0.00000E+00 0.0E+00 ];
-
-% Analog reaction rate estimators:
-
-CONVERSION_RATIO          (idx, [1:   2]) = [  1.21289E-01 0.00154 ];
-TH232_FISS                (idx, [1:   4]) = [  9.84148E+12 0.14478  1.20108E-05 0.14477 ];
-U235_FISS                 (idx, [1:   4]) = [  8.11584E+17 0.00039  9.91118E-01 5.1E-05 ];
-U238_FISS                 (idx, [1:   4]) = [  7.26324E+15 0.00566  8.87002E-03 0.00565 ];
-TH232_CAPT                (idx, [1:   4]) = [  1.41428E+15 0.01315  2.65537E-03 0.01315 ];
-U235_CAPT                 (idx, [1:   4]) = [  1.78052E+17 0.00107  3.34284E-01 0.00089 ];
-U238_CAPT                 (idx, [1:   4]) = [  9.70259E+16 0.00151  1.82159E-01 0.00135 ];
-
-% Normalized total reaction rates (neutrons):
-
-TOT_POWER                 (idx, [1:   2]) = [  2.65403E+07 0.0E+00 ];
-TOT_POWDENS               (idx, [1:   2]) = [  1.50716E-36 0.0E+00 ];
-TOT_GENRATE               (idx, [1:   2]) = [  1.99924E+18 2.4E-06 ];
-TOT_FISSRATE              (idx, [1:   2]) = [  8.18792E+17 2.0E-07 ];
-TOT_CAPTRATE              (idx, [1:   2]) = [  5.32652E+17 0.00031 ];
-TOT_ABSRATE               (idx, [1:   2]) = [  1.35144E+18 0.00012 ];
-TOT_SRCRATE               (idx, [1:   2]) = [  1.56471E+18 0.00036 ];
-TOT_FLUX                  (idx, [1:   2]) = [  9.70768E+19 0.00035 ];
-TOT_LEAKRATE              (idx, [1:   2]) = [  2.16865E+17 0.00125 ];
-ALBEDO_LEAKRATE           (idx, [1:   2]) = [  0.00000E+00 0.0E+00 ];
-TOT_LOSSRATE              (idx, [1:   2]) = [  1.56831E+18 0.00021 ];
-TOT_CUTRATE               (idx, [1:   2]) = [  0.00000E+00 0.0E+00 ];
-TOT_RR                    (idx, [1:   2]) = [  5.37767E+19 0.00031 ];
-INI_FMASS                 (idx, 1)        =  1.76095E+37 ;
-TOT_FMASS                 (idx, 1)        =  1.76095E+37 ;
-
-% Fission neutron and energy production:
-
-NUBAR                     (idx, [1:   2]) = [  2.44170E+00 2.5E-06 ];
-FISSE                     (idx, [1:   2]) = [  2.02312E+02 2.0E-07 ];
-
-% Criticality eigenvalues:
-
-ANA_KEFF                  (idx, [1:   6]) = [  1.27779E+00 0.00036  1.26897E+00 0.00035  8.85346E-03 0.00620 ];
-IMP_KEFF                  (idx, [1:   2]) = [  1.27778E+00 0.00021 ];
-COL_KEFF                  (idx, [1:   2]) = [  1.27774E+00 0.00036 ];
-ABS_KEFF                  (idx, [1:   2]) = [  1.27778E+00 0.00021 ];
-ABS_KINF                  (idx, [1:   2]) = [  1.48337E+00 0.00012 ];
-GEOM_ALBEDO               (idx, [1:   6]) = [  1.00000E+00 0.0E+00  1.00000E+00 0.0E+00  1.00000E+00 0.0E+00 ];
-
-% Forward-weighted delayed neutron parameters:
-
-FWD_ANA_BETA_ZERO         (idx, [1:  14]) = [  5.16278E-03 0.00487  1.55618E-04 0.02579  8.51690E-04 0.01081  8.38006E-04 0.01269  2.37010E-03 0.00723  7.14383E-04 0.01280  2.32990E-04 0.02186 ];
-FWD_ANA_LAMBDA            (idx, [1:  14]) = [  7.47703E-01 0.01105  1.24281E-02 0.00503  3.17977E-02 7.4E-05  1.09481E-01 8.7E-05  3.17534E-01 7.5E-05  1.35241E+00 6.9E-05  8.67681E+00 0.00058 ];
-
-% Beta-eff using Meulekamp's method:
-
-ADJ_MEULEKAMP_BETA_EFF    (idx, [1:  14]) = [  6.89578E-03 0.00586  2.08595E-04 0.03831  1.13146E-03 0.01457  1.13247E-03 0.01487  3.16363E-03 0.00905  9.50136E-04 0.01734  3.09482E-04 0.03054 ];
-ADJ_MEULEKAMP_LAMBDA      (idx, [1:  14]) = [  7.44408E-01 0.01529  1.24906E-02 6.2E-07  3.17936E-02 0.00011  1.09478E-01 0.00012  3.17535E-01 9.8E-05  1.35221E+00 9.6E-05  8.66918E+00 0.00065 ];
-
-% Adjoint weighted time constants using Nauchi's method:
-
-ADJ_NAUCHI_GEN_TIME       (idx, [1:   6]) = [  3.35718E-05 0.00078  3.35660E-05 0.00078  3.43649E-05 0.00843 ];
-ADJ_NAUCHI_LIFETIME       (idx, [1:   6]) = [  4.28969E-05 0.00071  4.28895E-05 0.00071  4.39121E-05 0.00845 ];
-ADJ_NAUCHI_BETA_EFF       (idx, [1:  14]) = [  6.94008E-03 0.00629  2.19456E-04 0.03477  1.13959E-03 0.01537  1.13157E-03 0.01662  3.18305E-03 0.00904  9.51452E-04 0.01768  3.14974E-04 0.02982 ];
-ADJ_NAUCHI_LAMBDA         (idx, [1:  14]) = [  7.48335E-01 0.01517  1.24906E-02 5.6E-07  3.17962E-02 0.00010  1.09496E-01 0.00014  3.17522E-01 9.5E-05  1.35232E+00 9.3E-05  8.67374E+00 0.00074 ];
-
-% Adjoint weighted time constants using IFP:
-
-ADJ_IFP_GEN_TIME          (idx, [1:   6]) = [  3.34666E-05 0.00182  3.34726E-05 0.00185  3.27694E-05 0.01975 ];
-ADJ_IFP_LIFETIME          (idx, [1:   6]) = [  4.27622E-05 0.00178  4.27698E-05 0.00180  4.18730E-05 0.01976 ];
-ADJ_IFP_IMP_BETA_EFF      (idx, [1:  14]) = [  6.92158E-03 0.01860  2.41666E-04 0.10174  1.10692E-03 0.04603  1.13824E-03 0.04707  3.18528E-03 0.02680  9.40098E-04 0.04817  3.09365E-04 0.09619 ];
-ADJ_IFP_IMP_LAMBDA        (idx, [1:  14]) = [  7.46562E-01 0.04855  1.24906E-02 0.0E+00  3.17894E-02 0.00032  1.09474E-01 0.00031  3.17513E-01 0.00030  1.35236E+00 0.00025  8.67006E+00 0.00184 ];
-ADJ_IFP_ANA_BETA_EFF      (idx, [1:  14]) = [  6.94315E-03 0.01840  2.37658E-04 0.09953  1.11288E-03 0.04310  1.14957E-03 0.04539  3.18239E-03 0.02565  9.51074E-04 0.04666  3.09575E-04 0.09448 ];
-ADJ_IFP_ANA_LAMBDA        (idx, [1:  14]) = [  7.43478E-01 0.04720  1.24906E-02 0.0E+00  3.17877E-02 0.00032  1.09466E-01 0.00029  3.17503E-01 0.00031  1.35236E+00 0.00025  8.67241E+00 0.00193 ];
-ADJ_IFP_ROSSI_ALPHA       (idx, [1:   2]) = [ -2.06796E+02 0.01847 ];
-
-% Adjoint weighted time constants using perturbation technique:
-
-ADJ_PERT_GEN_TIME         (idx, [1:   2]) = [  3.35623E-05 0.00045 ];
-ADJ_PERT_LIFETIME         (idx, [1:   2]) = [  4.28847E-05 0.00029 ];
-ADJ_PERT_BETA_EFF         (idx, [1:   2]) = [  6.92079E-03 0.00363 ];
-ADJ_PERT_ROSSI_ALPHA      (idx, [1:   2]) = [ -2.06217E+02 0.00367 ];
-
-% Inverse neutron speed :
-
-ANA_INV_SPD               (idx, [1:   2]) = [  5.44491E-07 0.00050 ];
-
-% Analog slowing-down and thermal neutron lifetime (total/prompt/delayed):
-
-ANA_SLOW_TIME             (idx, [1:   6]) = [  3.99990E-06 0.00039  3.99989E-06 0.00039  3.99619E-06 0.00506 ];
-ANA_THERM_TIME            (idx, [1:   6]) = [  4.82018E-05 0.00052  4.81998E-05 0.00052  4.84846E-05 0.00639 ];
-ANA_THERM_FRAC            (idx, [1:   6]) = [  6.39108E-01 0.00028  6.37932E-01 0.00028  8.69806E-01 0.00750 ];
-ANA_DELAYED_EMTIME        (idx, [1:   2]) = [  1.06934E+01 0.01092 ];
-ANA_MEAN_NCOL             (idx, [1:   4]) = [  3.43051E+01 0.00023  3.97784E+01 0.00026 ];
-
-% Group constant generation:
-
-GC_UNIVERSE_NAME          (idx, [1:  1])  = '0' ;
-
-% Micro- and macro-group structures:
-
-MICRO_NG                  (idx, 1)        = 70 ;
-MICRO_E                   (idx, [1:  71]) = [  1.00000E-11  5.00000E-09  1.00000E-08  1.50000E-08  2.00000E-08  2.50000E-08  3.00000E-08  3.50000E-08  4.20000E-08  5.00000E-08  5.80000E-08  6.70000E-08  8.00000E-08  1.00000E-07  1.40000E-07  1.80000E-07  2.20000E-07  2.50000E-07  2.80000E-07  3.00000E-07  3.20000E-07  3.50000E-07  4.00000E-07  5.00000E-07  6.25000E-07  7.80000E-07  8.50000E-07  9.10000E-07  9.50000E-07  9.72000E-07  9.96000E-07  1.02000E-06  1.04500E-06  1.07100E-06  1.09700E-06  1.12300E-06  1.15000E-06  1.30000E-06  1.50000E-06  1.85500E-06  2.10000E-06  2.60000E-06  3.30000E-06  4.00000E-06  9.87700E-06  1.59680E-05  2.77000E-05  4.80520E-05  7.55014E-05  1.48728E-04  3.67262E-04  9.06898E-04  1.42510E-03  2.23945E-03  3.51910E-03  5.50000E-03  9.11800E-03  1.50300E-02  2.47800E-02  4.08500E-02  6.74300E-02  1.11000E-01  1.83000E-01  3.02500E-01  5.00000E-01  8.21000E-01  1.35300E+00  2.23100E+00  3.67900E+00  6.06550E+00  2.00000E+01 ];
-
-MACRO_NG                  (idx, 1)        = 2 ;
-MACRO_E                   (idx, [1:   3]) = [  1.00000E+37  6.25000E-07  0.00000E+00 ];
-
-% Micro-group spectrum:
-
-INF_MICRO_FLX             (idx, [1: 140]) = [  2.36433E+05 0.00149  9.82931E+05 0.00104  2.08699E+06 0.00053  3.06975E+06 0.00084  3.13006E+06 0.00061  2.91010E+06 0.00050  2.32387E+06 0.00066  1.86057E+06 0.00072  1.45936E+06 0.00095  1.19355E+06 0.00103  1.02401E+06 0.00104  9.33378E+05 0.00166  8.46947E+05 0.00056  8.02740E+05 0.00086  7.76240E+05 0.00095  6.71112E+05 0.00098  6.55584E+05 0.00091  6.48328E+05 0.00121  6.36818E+05 0.00116  1.24505E+06 0.00093  1.17057E+06 0.00059  8.63329E+05 0.00055  5.59701E+05 0.00092  6.54476E+05 0.00064  6.15088E+05 0.00098  5.51477E+05 0.00113  9.60862E+05 0.00072  2.10761E+05 0.00217  2.65046E+05 0.00123  2.39636E+05 0.00162  1.38128E+05 0.00222  2.39678E+05 0.00127  1.61486E+05 0.00145  1.35682E+05 0.00156  2.55753E+04 0.00445  2.52438E+04 0.00286  2.59070E+04 0.00542  2.67088E+04 0.00439  2.62877E+04 0.00504  2.60202E+04 0.00375  2.68803E+04 0.00499  2.52106E+04 0.00345  4.76391E+04 0.00311  7.58576E+04 0.00283  9.61088E+04 0.00226  2.50462E+05 0.00135  2.57897E+05 0.00111  2.76977E+05 0.00148  1.85166E+05 0.00147  1.37426E+05 0.00128  1.07951E+05 0.00161  1.25110E+05 0.00143  2.32364E+05 0.00210  3.10525E+05 0.00132  5.96859E+05 0.00124  9.10696E+05 0.00106  1.34540E+06 0.00111  8.55271E+05 0.00112  6.10148E+05 0.00064  4.38651E+05 0.00141  3.93453E+05 0.00132  3.87405E+05 0.00118  3.27073E+05 0.00117  2.19310E+05 0.00247  2.03478E+05 0.00143  1.83121E+05 0.00120  1.56279E+05 0.00136  1.21824E+05 0.00236  7.99167E+04 0.00171  2.93001E+04 0.00350 ];
-
-% Integral parameters:
-
-INF_KINF                  (idx, [1:   2]) = [  1.48309E+00 0.00056 ];
-
-% Flux spectra in infinite geometry:
-
-INF_FLX                   (idx, [1:   4]) = [  7.80962E+19 0.00046  1.89812E+19 0.00053 ];
-INF_FISS_FLX              (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-
-% Reaction cross sections:
-
-INF_TOT                   (idx, [1:   4]) = [  4.73441E-01 8.7E-05  8.85254E-01 0.00018 ];
-INF_CAPT                  (idx, [1:   4]) = [  3.26388E-03 0.00062  1.46336E-02 0.00026 ];
-INF_ABS                   (idx, [1:   4]) = [  4.92736E-03 0.00070  5.09274E-02 0.00041 ];
-INF_FISS                  (idx, [1:   4]) = [  1.66347E-03 0.00097  3.62939E-02 0.00048 ];
-INF_NSF                   (idx, [1:   4]) = [  4.10578E-03 0.00096  8.84372E-02 0.00048 ];
-INF_NUBAR                 (idx, [1:   4]) = [  2.46820E+00 1.1E-05  2.43670E+00 0.0E+00 ];
-INF_KAPPA                 (idx, [1:   4]) = [  2.02535E+02 1.2E-06  2.02270E+02 0.0E+00 ];
-INF_INVV                  (idx, [1:   4]) = [  5.98555E-08 0.00040  2.53848E-06 0.00019 ];
-
-% Total scattering cross sections:
-
-INF_SCATT0                (idx, [1:   4]) = [  4.68512E-01 9.1E-05  8.34323E-01 0.00019 ];
-INF_SCATT1                (idx, [1:   4]) = [  1.77911E-01 0.00023  2.42436E-01 0.00023 ];
-INF_SCATT2                (idx, [1:   4]) = [  6.93612E-02 0.00030  8.89499E-02 0.00023 ];
-INF_SCATT3                (idx, [1:   4]) = [  5.20991E-03 0.00249  3.48204E-02 0.00112 ];
-INF_SCATT4                (idx, [1:   4]) = [ -7.20217E-03 0.00215  1.50703E-02 0.00142 ];
-INF_SCATT5                (idx, [1:   4]) = [ -2.01304E-04 0.06865  7.91231E-03 0.00419 ];
-INF_SCATT6                (idx, [1:   4]) = [  3.40289E-03 0.00172  4.63121E-03 0.00767 ];
-INF_SCATT7                (idx, [1:   4]) = [  6.24777E-04 0.01279  3.42579E-03 0.00398 ];
-
-% Total scattering production cross sections:
-
-INF_SCATTP0               (idx, [1:   4]) = [  4.68559E-01 9.2E-05  8.34323E-01 0.00019 ];
-INF_SCATTP1               (idx, [1:   4]) = [  1.77920E-01 0.00023  2.42436E-01 0.00023 ];
-INF_SCATTP2               (idx, [1:   4]) = [  6.93632E-02 0.00029  8.89499E-02 0.00023 ];
-INF_SCATTP3               (idx, [1:   4]) = [  5.21025E-03 0.00249  3.48204E-02 0.00112 ];
-INF_SCATTP4               (idx, [1:   4]) = [ -7.20235E-03 0.00215  1.50703E-02 0.00142 ];
-INF_SCATTP5               (idx, [1:   4]) = [ -2.01357E-04 0.06867  7.91231E-03 0.00419 ];
-INF_SCATTP6               (idx, [1:   4]) = [  3.40289E-03 0.00171  4.63121E-03 0.00767 ];
-INF_SCATTP7               (idx, [1:   4]) = [  6.24762E-04 0.01278  3.42579E-03 0.00398 ];
-
-% Diffusion parameters:
-
-INF_TRANSPXS              (idx, [1:   4]) = [  2.33428E-01 0.00017  6.02743E-01 0.00018 ];
-INF_DIFFCOEF              (idx, [1:   4]) = [  1.42799E+00 0.00018  5.53028E-01 0.00018 ];
-
-% Reduced absoption and removal:
-
-INF_RABSXS                (idx, [1:   4]) = [  4.88055E-03 0.00072  5.09274E-02 0.00041 ];
-INF_REMXS                 (idx, [1:   4]) = [  1.79295E-02 0.00031  5.17722E-02 0.00059 ];
-
-% Poison cross sections:
-
-INF_I135_YIELD            (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-INF_XE135_YIELD           (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-INF_PM147_YIELD           (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-INF_PM148_YIELD           (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-INF_PM148M_YIELD          (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-INF_PM149_YIELD           (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-INF_SM149_YIELD           (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-INF_I135_MICRO_ABS        (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-INF_XE135_MICRO_ABS       (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-INF_PM147_MICRO_ABS       (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-INF_PM148_MICRO_ABS       (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-INF_PM148M_MICRO_ABS      (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-INF_PM149_MICRO_ABS       (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-INF_SM149_MICRO_ABS       (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-INF_XE135_MACRO_ABS       (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-INF_SM149_MACRO_ABS       (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-
-% Fission spectra:
-
-INF_CHIT                  (idx, [1:   4]) = [  1.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-INF_CHIP                  (idx, [1:   4]) = [  1.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-INF_CHID                  (idx, [1:   4]) = [  1.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-
-% Scattering matrixes:
-
-INF_S0                    (idx, [1:   8]) = [  4.55512E-01 8.7E-05  1.29999E-02 0.00039  8.41105E-04 0.00316  8.33482E-01 0.00019 ];
-INF_S1                    (idx, [1:   8]) = [  1.73398E-01 0.00023  4.51263E-03 0.00061  3.49965E-04 0.00489  2.42086E-01 0.00023 ];
-INF_S2                    (idx, [1:   8]) = [  7.01713E-02 0.00029 -8.10130E-04 0.00228  2.38800E-04 0.00471  8.87111E-02 0.00023 ];
-INF_S3                    (idx, [1:   8]) = [  6.99248E-03 0.00177 -1.78257E-03 0.00129  1.34126E-04 0.00563  3.46863E-02 0.00113 ];
-INF_S4                    (idx, [1:   8]) = [ -6.38468E-03 0.00224 -8.17494E-04 0.00217  5.57265E-05 0.01372  1.50146E-02 0.00142 ];
-INF_S5                    (idx, [1:   8]) = [ -1.01751E-04 0.12297 -9.95539E-05 0.02029  9.38655E-06 0.09019  7.90292E-03 0.00424 ];
-INF_S6                    (idx, [1:   8]) = [  3.36409E-03 0.00154  3.87988E-05 0.02535 -1.24081E-05 0.08562  4.64361E-03 0.00766 ];
-INF_S7                    (idx, [1:   8]) = [  6.17698E-04 0.01182  7.07849E-06 0.21558 -1.72849E-05 0.06993  3.44307E-03 0.00406 ];
-
-% Scattering production matrixes:
-
-INF_SP0                   (idx, [1:   8]) = [  4.55559E-01 8.7E-05  1.29999E-02 0.00039  8.41105E-04 0.00316  8.33482E-01 0.00019 ];
-INF_SP1                   (idx, [1:   8]) = [  1.73407E-01 0.00023  4.51263E-03 0.00061  3.49965E-04 0.00489  2.42086E-01 0.00023 ];
-INF_SP2                   (idx, [1:   8]) = [  7.01734E-02 0.00029 -8.10130E-04 0.00228  2.38800E-04 0.00471  8.87111E-02 0.00023 ];
-INF_SP3                   (idx, [1:   8]) = [  6.99282E-03 0.00177 -1.78257E-03 0.00129  1.34126E-04 0.00563  3.46863E-02 0.00113 ];
-INF_SP4                   (idx, [1:   8]) = [ -6.38485E-03 0.00224 -8.17494E-04 0.00217  5.57265E-05 0.01372  1.50146E-02 0.00142 ];
-INF_SP5                   (idx, [1:   8]) = [ -1.01803E-04 0.12299 -9.95539E-05 0.02029  9.38655E-06 0.09019  7.90292E-03 0.00424 ];
-INF_SP6                   (idx, [1:   8]) = [  3.36409E-03 0.00153  3.87988E-05 0.02535 -1.24081E-05 0.08562  4.64361E-03 0.00766 ];
-INF_SP7                   (idx, [1:   8]) = [  6.17684E-04 0.01178  7.07849E-06 0.21558 -1.72849E-05 0.06993  3.44307E-03 0.00406 ];
-
-% Micro-group spectrum:
-
-B1_MICRO_FLX              (idx, [1: 140]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-
-% Integral parameters:
-
-B1_KINF                   (idx, [1:   2]) = [  0.00000E+00 0.0E+00 ];
-B1_KEFF                   (idx, [1:   2]) = [  0.00000E+00 0.0E+00 ];
-B1_B2                     (idx, [1:   2]) = [  0.00000E+00 0.0E+00 ];
-B1_ERR                    (idx, [1:   2]) = [  0.00000E+00 0.0E+00 ];
-
-% Critical spectra in infinite geometry:
-
-B1_FLX                    (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-B1_FISS_FLX               (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-
-% Reaction cross sections:
-
-B1_TOT                    (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-B1_CAPT                   (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-B1_ABS                    (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-B1_FISS                   (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-B1_NSF                    (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-B1_NUBAR                  (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-B1_KAPPA                  (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-B1_INVV                   (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-
-% Total scattering cross sections:
-
-B1_SCATT0                 (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-B1_SCATT1                 (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-B1_SCATT2                 (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-B1_SCATT3                 (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-B1_SCATT4                 (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-B1_SCATT5                 (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-B1_SCATT6                 (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-B1_SCATT7                 (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-
-% Total scattering production cross sections:
-
-B1_SCATTP0                (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-B1_SCATTP1                (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-B1_SCATTP2                (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-B1_SCATTP3                (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-B1_SCATTP4                (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-B1_SCATTP5                (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-B1_SCATTP6                (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-B1_SCATTP7                (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-
-% Diffusion parameters:
-
-B1_TRANSPXS               (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-B1_DIFFCOEF               (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-
-% Reduced absoption and removal:
-
-B1_RABSXS                 (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-B1_REMXS                  (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-
-% Poison cross sections:
-
-B1_I135_YIELD             (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-B1_XE135_YIELD            (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-B1_PM147_YIELD            (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-B1_PM148_YIELD            (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-B1_PM148M_YIELD           (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-B1_PM149_YIELD            (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-B1_SM149_YIELD            (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-B1_I135_MICRO_ABS         (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-B1_XE135_MICRO_ABS        (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-B1_PM147_MICRO_ABS        (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-B1_PM148_MICRO_ABS        (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-B1_PM148M_MICRO_ABS       (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-B1_PM149_MICRO_ABS        (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-B1_SM149_MICRO_ABS        (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-B1_XE135_MACRO_ABS        (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-B1_SM149_MACRO_ABS        (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-
-% Fission spectra:
-
-B1_CHIT                   (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-B1_CHIP                   (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-B1_CHID                   (idx, [1:   4]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-
-% Scattering matrixes:
-
-B1_S0                     (idx, [1:   8]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-B1_S1                     (idx, [1:   8]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-B1_S2                     (idx, [1:   8]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-B1_S3                     (idx, [1:   8]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-B1_S4                     (idx, [1:   8]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-B1_S5                     (idx, [1:   8]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-B1_S6                     (idx, [1:   8]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-B1_S7                     (idx, [1:   8]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-
-% Scattering production matrixes:
-
-B1_SP0                    (idx, [1:   8]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-B1_SP1                    (idx, [1:   8]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-B1_SP2                    (idx, [1:   8]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-B1_SP3                    (idx, [1:   8]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-B1_SP4                    (idx, [1:   8]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-B1_SP5                    (idx, [1:   8]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-B1_SP6                    (idx, [1:   8]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-B1_SP7                    (idx, [1:   8]) = [  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
-
-% Delayed neutron parameters (Meulekamp method):
-
-BETA_EFF                  (idx, [1:  14]) = [  6.89578E-03 0.00586  2.08595E-04 0.03831  1.13146E-03 0.01457  1.13247E-03 0.01487  3.16363E-03 0.00905  9.50136E-04 0.01734  3.09482E-04 0.03054 ];
-LAMBDA                    (idx, [1:  14]) = [  7.44408E-01 0.01529  1.24906E-02 6.2E-07  3.17936E-02 0.00011  1.09478E-01 0.00012  3.17535E-01 9.8E-05  1.35221E+00 9.6E-05  8.66918E+00 0.00065 ];
-