Repository: CORE-GATECH-GROUP/serpent-tools

Issue:
BUG Failure to read files with burnup and no universes
## Summary of issue
If there are no universes in the file, then the result counter does not get incremented due to an unreachable line

https://github.com/CORE-GATECH-GROUP/serpent-tools/blob/b3f3c39609319985f7047dd6fed52654e285cd0b/serpentTools/parsers/results.py#L186-L190

This causes the `_postread` method to fail, thinking the file is incomplete when it actually isn't. This should have been fixed with #231 and the inclusion of the settings `results.expectGcu`.

## Code for reproducing the issue
Read the [now deleted](https://github.com/CORE-GATECH-GROUP/serpent-tools/pull/231/commits/264901eb1157f8dd672fef9c873312425300792a)  [result file without universes](https://github.com/CORE-GATECH-GROUP/serpent-tools/blob/f106d735fb31fc6a8a04d5904f69d1bd45b21e1c/serpentTools/data/pwr_noUniv_res.m)

## Actual outcome including console output and error traceback if applicable
```
Traceback (most recent call last):
  File "test.py", line 3, in <module>
    r = serpentTools.read("leqi_res.m", "results")
  File "/home/drew/.local/lib/python3.7/site-packages/serpentTools-0.7.0+26.gb3f3c39-py3.7.egg/serpentTools/parsers/__init__.py", line 155, in read
    returnedFromLoader.read()
  File "/home/drew/.local/lib/python3.7/site-packages/serpentTools-0.7.0+26.gb3f3c39-py3.7.egg/serpentTools/parsers/base.py", line 54, in read
    self._postcheck()
  File "/home/drew/.local/lib/python3.7/site-packages/serpentTools-0.7.0+26.gb3f3c39-py3.7.egg/serpentTools/parsers/results.py", line 390, in _postcheck
    self._inspectData()
  File "/home/drew/.local/lib/python3.7/site-packages/serpentTools-0.7.0+26.gb3f3c39-py3.7.egg/serpentTools/parsers/results.py", line 375, in _inspectData
    self._counter['rslt'], self._counter['meta']))
serpentTools.messages.SerpentToolsException: The file leqi_res.m is not complete. The reader found 0 universes, 0 time-points, and 2 overall result points 
```
## Expected outcome
Reader can read the file without universes, preferably without the need to set `results.expectGcu`

## Versions

* Version  from ``serpentTools.__version__`` develop version b3f3c39

* Python version - ``python --version`` `3.7`

Discussion:

Patch:
diff --git a/docs/changelog.rst b/docs/changelog.rst
index 606a4f7..706620d 100644
--- a/docs/changelog.rst
+++ b/docs/changelog.rst
@@ -16,22 +16,11 @@ Next
   :meth:`~serpentTools.objects.CartesianDetector.meshPlot`, where
   only data greater than ``thresh`` is plotted.
 * Mitigate pending deprecated imports from ``collections`` - :issue:`313`
-* Increase required version of :term:`yaml` to ``5.1.1``
 
 Bug fixes
 ---------
 
 * Tally data for detectors with time-bins are properly handled - :issue:`312`
-* Support for generic string universe names for |BranchingReader| and
-  |BranchCollector| - :issue:`318`
-
-Pending Deprecations
---------------------
-
-* Keys to |BranchedUniv| objects stored in
-  :attr:`serpentTools.xs.BranchCollector.universes` are stored as strings,
-  rather than integers, e.g. ``0`` is replaced with ``"0"``. A workaround
-  is in-place, but will be removed in future versions.
 
 .. _v0.7.0:
 
diff --git a/docs/defaultSettings.rst b/docs/defaultSettings.rst
index c7102ec..7f470d7 100644
--- a/docs/defaultSettings.rst
+++ b/docs/defaultSettings.rst
@@ -128,19 +128,6 @@ If true, store the micro-group cross sections.
   Type: bool
   
 
-.. _results-expectGcu:
-
----------------------
-``results.expectGcu``
----------------------
-
-Set this to False if no homogenized group contants are present in the output, as if ``set gcu -1`` is preset in the input file
-::
-
-  Default: True
-  Type: bool
-  
-
 .. _sampler-allExist:
 
 --------------------
diff --git a/docs/examples/BranchToNodalDiffusion.rst b/docs/examples/BranchToNodalDiffusion.rst
index ef159ae..131a53d 100644
--- a/docs/examples/BranchToNodalDiffusion.rst
+++ b/docs/examples/BranchToNodalDiffusion.rst
@@ -155,12 +155,12 @@ constants for specific universes with the |BranchCol-universes| dictionary.
 .. code:: 
     
     >>> collector.universes
-    {"0": <serpentTools.BranchedUniv at 0x7fb62f749a98>, 10:
+    {0: <serpentTools.BranchedUniv at 0x7fb62f749a98>, 10:
     <serpentTools.BranchedUniv at 0x7fb62f731b88>, 20:
     <serpentTools.BranchedUniv at 0x7fb62f749e08>, 30:
     <serpentTools.BranchedUniv at 0x7fb62f749e58>, 40:
     <serpentTools.BranchedUniv at 0x7fb62f749ea8>}
-    >>> u0 = collector.universes["0"]
+    >>> u0 = collector.universes[0]
 
 These |BranchedUniv| objects store views into the underlying
 collectors |BranchedUniv-tables| data corresponding to a single universe. The
diff --git a/docs/examples/Branching.rst b/docs/examples/Branching.rst
index 28dff8d..6f9b5a5 100644
--- a/docs/examples/Branching.rst
+++ b/docs/examples/Branching.rst
@@ -101,21 +101,21 @@ The |BranchContainer| stores group constant data in |HomogUniv| objects in the
     
     >>> for key in b0.universes:
     ...     print(key)
-    ('0", 1.0, 1)
-    ('10", 1.0, 1)
-    ('20", 1.0, 1)
-    ('30", 1.0, 1)
-    ('20", 0, 0)
-    ('40", 0, 0)
-    ('20", 10.0, 2)
-    ('10", 10.0, 2)
-    ('0", 0, 0)
-    ('10", 0, 0)
-    ('0", 10.0, 2)
-    ('30", 0, 0)
-    ('40", 10.0, 2)
-    ('40", 1.0, 1)
-    ('30", 10.0, 2)
+    (0, 1.0, 1)
+    (10, 1.0, 1)
+    (20, 1.0, 1)
+    (30, 1.0, 1)
+    (20, 0, 0)
+    (40, 0, 0)
+    (20, 10.0, 2)
+    (10, 10.0, 2)
+    (0, 0, 0)
+    (10, 0, 0)
+    (0, 10.0, 2)
+    (30, 0, 0)
+    (40, 10.0, 2)
+    (40, 1.0, 1)
+    (30, 10.0, 2)
 
 The keys here are vectors indicating the universe ID, burnup, and burnup
 index corresponding to the point in the burnup schedule. ``SERPENT``
@@ -129,7 +129,7 @@ the :meth:`~serpentTools.objects.BranchContainer.getUniv` method
 
 .. code:: 
     
-    >>> univ0 = b0.universes["0", 1, 1]
+    >>> univ0 = b0.universes[0, 1, 1]
     >>> print(univ0)
     <HomogUniv 0: burnup: 1.000 MWd/kgu, step: 1>
     >>> print(univ0.name)
@@ -295,7 +295,7 @@ variables explicitly requested are present
 
 .. code:: 
     
-    >>> univ4 = b1.getUniv("0", 0)
+    >>> univ4 = b1.getUniv(0, 0)
     >>> univ4.infExp
     {'infTot': array([ 0.313338,  0.54515 ])}
     >>> univ4.b1Exp
diff --git a/docs/glossary.rst b/docs/glossary.rst
index 16c42f5..1bdb243 100644
--- a/docs/glossary.rst
+++ b/docs/glossary.rst
@@ -82,8 +82,3 @@ Glossary
         that can be parsed by this project. More information, including
         distribution and licensing of ``SERPENT`` can be found at
         `<http://montecarlo.vtt.fi>`_. 
-
-    yaml
-        Human-readable format used for configuration files in this
-        project. For more information, see
-        `<https://pyyaml.org/wiki/PyYAMLDocumentation>`_
diff --git a/examples/BranchToNodalDiffusion.ipynb b/examples/BranchToNodalDiffusion.ipynb
index fbf45fd..adb329e 100644
--- a/examples/BranchToNodalDiffusion.ipynb
+++ b/examples/BranchToNodalDiffusion.ipynb
@@ -87,7 +87,16 @@
    "cell_type": "code",
    "execution_count": 4,
    "metadata": {},
-   "outputs": [],
+   "outputs": [
+    {
+     "name": "stderr",
+     "output_type": "stream",
+     "text": [
+      "/home/ajohnson400/github/my-serpent-tools/.venv/develop/lib/python3.7/site-packages/serpentTools-0.6.1+36.g1facac0.dirty-py3.7.egg/serpentTools/xs.py:227: UserWarning: This is an experimental feature, subject to change.\n",
+      "  UserWarning)\n"
+     ]
+    }
+   ],
    "source": [
     "collector = BranchCollector(coe)"
    ]
@@ -235,7 +244,7 @@
     {
      "data": {
       "text/plain": [
-       "('0', '10', '20', '30', '40')"
+       "(0, 10, 20, 30, 40)"
       ]
      },
      "execution_count": 11,
@@ -383,11 +392,11 @@
     {
      "data": {
       "text/plain": [
-       "{'0': <serpentTools.xs.BranchedUniv at 0x7f322a0458b8>,\n",
-       " '10': <serpentTools.xs.BranchedUniv at 0x7f322a0538b8>,\n",
-       " '20': <serpentTools.xs.BranchedUniv at 0x7f322a053908>,\n",
-       " '30': <serpentTools.xs.BranchedUniv at 0x7f322a053958>,\n",
-       " '40': <serpentTools.xs.BranchedUniv at 0x7f322a0539a8>}"
+       "{0: <serpentTools.xs.BranchedUniv at 0x7fb62f749a98>,\n",
+       " 10: <serpentTools.xs.BranchedUniv at 0x7fb62f731b88>,\n",
+       " 20: <serpentTools.xs.BranchedUniv at 0x7fb62f749e08>,\n",
+       " 30: <serpentTools.xs.BranchedUniv at 0x7fb62f749e58>,\n",
+       " 40: <serpentTools.xs.BranchedUniv at 0x7fb62f749ea8>}"
       ]
      },
      "execution_count": 17,
@@ -403,33 +412,9 @@
    "cell_type": "code",
    "execution_count": 18,
    "metadata": {},
-   "outputs": [
-    {
-     "data": {
-      "text/plain": [
-       "{'0': <serpentTools.xs.BranchedUniv at 0x7f322a0458b8>,\n",
-       " '10': <serpentTools.xs.BranchedUniv at 0x7f322a0538b8>,\n",
-       " '20': <serpentTools.xs.BranchedUniv at 0x7f322a053908>,\n",
-       " '30': <serpentTools.xs.BranchedUniv at 0x7f322a053958>,\n",
-       " '40': <serpentTools.xs.BranchedUniv at 0x7f322a0539a8>}"
-      ]
-     },
-     "execution_count": 18,
-     "metadata": {},
-     "output_type": "execute_result"
-    }
-   ],
-   "source": [
-    "collector.universes"
-   ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": 19,
-   "metadata": {},
    "outputs": [],
    "source": [
-    "u0 = collector.universes['0']"
+    "u0 = collector.universes[0]"
    ]
   },
   {
@@ -441,7 +426,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 20,
+   "execution_count": 19,
    "metadata": {},
    "outputs": [
     {
@@ -450,7 +435,7 @@
        "('BOR', 'TFU')"
       ]
      },
-     "execution_count": 20,
+     "execution_count": 19,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -461,7 +446,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 21,
+   "execution_count": 20,
    "metadata": {},
    "outputs": [
     {
@@ -470,7 +455,7 @@
        "('BOR', 'TFU', 'Burnup', 'Group')"
       ]
      },
-     "execution_count": 21,
+     "execution_count": 20,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -481,7 +466,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 22,
+   "execution_count": 21,
    "metadata": {},
    "outputs": [
     {
@@ -490,7 +475,7 @@
        "(('B1000', 'B750', 'nom'), ('FT1200', 'FT600', 'nom'))"
       ]
      },
-     "execution_count": 22,
+     "execution_count": 21,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -508,7 +493,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 23,
+   "execution_count": 37,
    "metadata": {},
    "outputs": [
     {
@@ -526,7 +511,7 @@
        " 'b1Diffcoef']"
       ]
      },
-     "execution_count": 23,
+     "execution_count": 37,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -537,7 +522,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 24,
+   "execution_count": 23,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -546,7 +531,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 25,
+   "execution_count": 24,
    "metadata": {},
    "outputs": [
     {
@@ -555,7 +540,7 @@
        "(3, 3, 3, 2)"
       ]
      },
-     "execution_count": 25,
+     "execution_count": 24,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -566,7 +551,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 26,
+   "execution_count": 25,
    "metadata": {
     "scrolled": true
    },
@@ -613,7 +598,7 @@
        "         [0.206532, 0.      ]]]])"
       ]
      },
-     "execution_count": 26,
+     "execution_count": 25,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -633,7 +618,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 27,
+   "execution_count": 26,
    "metadata": {},
    "outputs": [
     {
@@ -643,7 +628,7 @@
        "       [1200.,  600.,  900.]])"
       ]
      },
-     "execution_count": 27,
+     "execution_count": 26,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -665,7 +650,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 28,
+   "execution_count": 27,
    "metadata": {},
    "outputs": [
     {
@@ -695,7 +680,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 29,
+   "execution_count": 28,
    "metadata": {},
    "outputs": [
     {
@@ -704,7 +689,7 @@
        "['boron conc', 'fuel temperature']"
       ]
      },
-     "execution_count": 29,
+     "execution_count": 28,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -716,7 +701,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 30,
+   "execution_count": 29,
    "metadata": {},
    "outputs": [
     {
@@ -747,7 +732,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 31,
+   "execution_count": 30,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -756,7 +741,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 32,
+   "execution_count": 31,
    "metadata": {},
    "outputs": [
     {
@@ -795,7 +780,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 33,
+   "execution_count": 32,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -804,7 +789,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 34,
+   "execution_count": 33,
    "metadata": {},
    "outputs": [
     {
@@ -834,17 +819,17 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 35,
+   "execution_count": 34,
    "metadata": {},
    "outputs": [],
    "source": [
     "# write to a file \"in memory\"\n",
-    "out = writer.write(\"0\")"
+    "out = writer.write(0)"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 36,
+   "execution_count": 35,
    "metadata": {},
    "outputs": [
     {
@@ -876,13 +861,6 @@
    "source": [
     "print(out[:1000])"
    ]
-  },
-  {
-   "cell_type": "code",
-   "execution_count": null,
-   "metadata": {},
-   "outputs": [],
-   "source": []
   }
  ],
  "metadata": {
@@ -901,7 +879,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.7.3"
+   "version": "3.7.2"
   }
  },
  "nbformat": 4,
diff --git a/examples/Branching.ipynb b/examples/Branching.ipynb
index af548e6..5b1a687 100644
--- a/examples/Branching.ipynb
+++ b/examples/Branching.ipynb
@@ -48,7 +48,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 1,
+   "execution_count": 2,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -59,7 +59,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 2,
+   "execution_count": 3,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -75,33 +75,33 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 3,
+   "execution_count": 4,
    "metadata": {},
    "outputs": [
     {
      "data": {
       "text/plain": [
-       "{('nom',\n",
-       "  'nom'): <serpentTools.objects.containers.BranchContainer at 0x7ff7e6664c88>,\n",
-       " ('B750',\n",
-       "  'nom'): <serpentTools.objects.containers.BranchContainer at 0x7ff7bd7b6f28>,\n",
+       "{('B1000',\n",
+       "  'FT1200'): <serpentTools.objects.containers.BranchContainer at 0x7ff79783ff28>,\n",
        " ('B1000',\n",
-       "  'nom'): <serpentTools.objects.containers.BranchContainer at 0x7ff7bd7c8208>,\n",
-       " ('nom',\n",
-       "  'FT1200'): <serpentTools.objects.containers.BranchContainer at 0x7ff7bd7d34e0>,\n",
-       " ('B750',\n",
-       "  'FT1200'): <serpentTools.objects.containers.BranchContainer at 0x7ff7bd7df668>,\n",
+       "  'FT600'): <serpentTools.objects.containers.BranchContainer at 0x7ff79789c048>,\n",
        " ('B1000',\n",
-       "  'FT1200'): <serpentTools.objects.containers.BranchContainer at 0x7ff7bd76a978>,\n",
-       " ('nom',\n",
-       "  'FT600'): <serpentTools.objects.containers.BranchContainer at 0x7ff7bd776c18>,\n",
+       "  'nom'): <serpentTools.objects.containers.BranchContainer at 0x7ff797820e10>,\n",
        " ('B750',\n",
-       "  'FT600'): <serpentTools.objects.containers.BranchContainer at 0x7ff7bd780f28>,\n",
-       " ('B1000',\n",
-       "  'FT600'): <serpentTools.objects.containers.BranchContainer at 0x7ff7bd793278>}"
+       "  'FT1200'): <serpentTools.objects.containers.BranchContainer at 0x7ff797839eb8>,\n",
+       " ('B750',\n",
+       "  'FT600'): <serpentTools.objects.containers.BranchContainer at 0x7ff797853f98>,\n",
+       " ('B750',\n",
+       "  'nom'): <serpentTools.objects.containers.BranchContainer at 0x7ff797852e10>,\n",
+       " ('nom',\n",
+       "  'FT1200'): <serpentTools.objects.containers.BranchContainer at 0x7ff797832e48>,\n",
+       " ('nom',\n",
+       "  'FT600'): <serpentTools.objects.containers.BranchContainer at 0x7ff79784cf28>,\n",
+       " ('nom',\n",
+       "  'nom'): <serpentTools.objects.containers.BranchContainer at 0x7ff7977c7e10>}"
       ]
      },
-     "execution_count": 3,
+     "execution_count": 4,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -126,7 +126,7 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "<BranchContainer for B1000, FT600 from /home/drew/.local/lib/python3.7/site-packages/serpentTools-0.7.0+30.g3066be7.dirty-py3.7.egg/serpentTools/data/demo.coe>\n"
+      "<BranchContainer for B1000, FT600 from demo.coe>\n"
      ]
     }
    ],
@@ -203,21 +203,21 @@
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "('0', 0, 0)\n",
-      "('10', 0, 0)\n",
-      "('20', 0, 0)\n",
-      "('30', 0, 0)\n",
-      "('40', 0, 0)\n",
-      "('0', 1.0, 1)\n",
-      "('10', 1.0, 1)\n",
-      "('20', 1.0, 1)\n",
-      "('30', 1.0, 1)\n",
-      "('40', 1.0, 1)\n",
-      "('0', 10.0, 2)\n",
-      "('10', 10.0, 2)\n",
-      "('20', 10.0, 2)\n",
-      "('30', 10.0, 2)\n",
-      "('40', 10.0, 2)\n"
+      "(0, 0, 0)\n",
+      "(10, 0, 0)\n",
+      "(20, 0, 0)\n",
+      "(30, 0, 0)\n",
+      "(40, 0, 0)\n",
+      "(0, 1.0, 1)\n",
+      "(10, 1.0, 1)\n",
+      "(20, 1.0, 1)\n",
+      "(30, 1.0, 1)\n",
+      "(40, 1.0, 1)\n",
+      "(0, 10.0, 2)\n",
+      "(10, 10.0, 2)\n",
+      "(20, 10.0, 2)\n",
+      "(30, 10.0, 2)\n",
+      "(40, 10.0, 2)\n"
      ]
     }
    ],
@@ -254,7 +254,7 @@
     }
    ],
    "source": [
-    "univ0 = b0.universes['0', 1, 1]\n",
+    "univ0 = b0.universes[0, 1, 1]\n",
     "print(univ0)\n",
     "print(univ0.name)\n",
     "print(univ0.bu)\n",
@@ -276,8 +276,8 @@
    "metadata": {},
    "outputs": [],
    "source": [
-    "univ1 = b0.getUniv('0', burnup=1)\n",
-    "univ2 = b0.getUniv('0', index=1)\n",
+    "univ1 = b0.getUniv(0, burnup=1)\n",
+    "univ2 = b0.getUniv(0, index=1)\n",
     "assert univ0 is univ1 is univ2"
    ]
   },
@@ -468,22 +468,22 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 16,
+   "execution_count": 26,
    "metadata": {},
    "outputs": [
     {
      "data": {
       "text/plain": [
-       "<matplotlib.axes._subplots.AxesSubplot at 0x7ff7bd7a3cf8>"
+       "<matplotlib.axes._subplots.AxesSubplot at 0x7f769a7a0da0>"
       ]
      },
-     "execution_count": 16,
+     "execution_count": 26,
      "metadata": {},
      "output_type": "execute_result"
     },
     {
      "data": {
-      "image/png": "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\n",
+      "image/png": "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\n",
       "text/plain": [
        "<Figure size 432x288 with 1 Axes>"
       ]
@@ -498,12 +498,12 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 17,
+   "execution_count": 29,
    "metadata": {},
    "outputs": [
     {
      "data": {
-      "image/png": "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\n",
+      "image/png": "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\nwTyCAAAAAElFTkSuQmCC\n",
       "text/plain": [
        "<Figure size 432x288 with 1 Axes>"
       ]
@@ -533,22 +533,22 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 18,
+   "execution_count": 17,
    "metadata": {},
    "outputs": [
     {
      "name": "stdout",
      "output_type": "stream",
      "text": [
-      "('nom', 'nom') <BranchContainer for nom, nom from /home/drew/.local/lib/python3.7/site-packages/serpentTools-0.7.0+30.g3066be7.dirty-py3.7.egg/serpentTools/data/demo.coe>\n",
-      "('B750', 'nom') <BranchContainer for B750, nom from /home/drew/.local/lib/python3.7/site-packages/serpentTools-0.7.0+30.g3066be7.dirty-py3.7.egg/serpentTools/data/demo.coe>\n",
-      "('B1000', 'nom') <BranchContainer for B1000, nom from /home/drew/.local/lib/python3.7/site-packages/serpentTools-0.7.0+30.g3066be7.dirty-py3.7.egg/serpentTools/data/demo.coe>\n",
-      "('nom', 'FT1200') <BranchContainer for nom, FT1200 from /home/drew/.local/lib/python3.7/site-packages/serpentTools-0.7.0+30.g3066be7.dirty-py3.7.egg/serpentTools/data/demo.coe>\n",
-      "('B750', 'FT1200') <BranchContainer for B750, FT1200 from /home/drew/.local/lib/python3.7/site-packages/serpentTools-0.7.0+30.g3066be7.dirty-py3.7.egg/serpentTools/data/demo.coe>\n",
-      "('B1000', 'FT1200') <BranchContainer for B1000, FT1200 from /home/drew/.local/lib/python3.7/site-packages/serpentTools-0.7.0+30.g3066be7.dirty-py3.7.egg/serpentTools/data/demo.coe>\n",
-      "('nom', 'FT600') <BranchContainer for nom, FT600 from /home/drew/.local/lib/python3.7/site-packages/serpentTools-0.7.0+30.g3066be7.dirty-py3.7.egg/serpentTools/data/demo.coe>\n",
-      "('B750', 'FT600') <BranchContainer for B750, FT600 from /home/drew/.local/lib/python3.7/site-packages/serpentTools-0.7.0+30.g3066be7.dirty-py3.7.egg/serpentTools/data/demo.coe>\n",
-      "('B1000', 'FT600') <BranchContainer for B1000, FT600 from /home/drew/.local/lib/python3.7/site-packages/serpentTools-0.7.0+30.g3066be7.dirty-py3.7.egg/serpentTools/data/demo.coe>\n"
+      "('nom', 'nom') <BranchContainer for nom, nom from demo.coe>\n",
+      "('B750', 'nom') <BranchContainer for B750, nom from demo.coe>\n",
+      "('B1000', 'nom') <BranchContainer for B1000, nom from demo.coe>\n",
+      "('nom', 'FT1200') <BranchContainer for nom, FT1200 from demo.coe>\n",
+      "('B750', 'FT1200') <BranchContainer for B750, FT1200 from demo.coe>\n",
+      "('B1000', 'FT1200') <BranchContainer for B1000, FT1200 from demo.coe>\n",
+      "('nom', 'FT600') <BranchContainer for nom, FT600 from demo.coe>\n",
+      "('B750', 'FT600') <BranchContainer for B750, FT600 from demo.coe>\n",
+      "('B1000', 'FT600') <BranchContainer for B1000, FT600 from demo.coe>\n"
      ]
     }
    ],
@@ -588,7 +588,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 19,
+   "execution_count": 18,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -604,7 +604,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 20,
+   "execution_count": 5,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -618,7 +618,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 21,
+   "execution_count": 6,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -627,7 +627,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 22,
+   "execution_count": 21,
    "metadata": {},
    "outputs": [
     {
@@ -640,7 +640,7 @@
        " 'TFU': 600}"
       ]
      },
-     "execution_count": 22,
+     "execution_count": 21,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -651,7 +651,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 23,
+   "execution_count": 22,
    "metadata": {},
    "outputs": [],
    "source": [
@@ -668,7 +668,7 @@
   },
   {
    "cell_type": "code",
-   "execution_count": 24,
+   "execution_count": 23,
    "metadata": {},
    "outputs": [
     {
@@ -677,19 +677,19 @@
        "{'infTot': array([0.313338, 0.54515 ])}"
       ]
      },
-     "execution_count": 24,
+     "execution_count": 23,
      "metadata": {},
      "output_type": "execute_result"
     }
    ],
    "source": [
-    "univ4 = b1.getUniv('0', 0)\n",
+    "univ4 = b1.getUniv(0, 0)\n",
     "univ4.infExp"
    ]
   },
   {
    "cell_type": "code",
-   "execution_count": 25,
+   "execution_count": 24,
    "metadata": {},
    "outputs": [
     {
@@ -698,7 +698,7 @@
        "{}"
       ]
      },
-     "execution_count": 25,
+     "execution_count": 24,
      "metadata": {},
      "output_type": "execute_result"
     }
@@ -732,7 +732,7 @@
    "name": "python",
    "nbconvert_exporter": "python",
    "pygments_lexer": "ipython3",
-   "version": "3.7.3"
+   "version": "3.5.2"
   }
  },
  "nbformat": 4,
diff --git a/requirements.txt b/requirements.txt
index dd3c44d..10e1d56 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,4 +1,4 @@
 six==1.12.0
 numpy>=1.16.0
 matplotlib>=2.2.3
-pyyaml==5.1.1
+pyyaml==3.13
diff --git a/serpentTools/data/pwr_noUniv_res.m b/serpentTools/data/pwr_noUniv_res.m
new file mode 100644
index 0000000..0afefbf
--- /dev/null
+++ b/serpentTools/data/pwr_noUniv_res.m
@@ -0,0 +1,210 @@
+
+
+% Increase counter:
+
+if (exist('idx', 'var'));
+  idx = idx + 1;
+else;
+  idx = 1;
+end;
+
+% Version, title and date:
+
+VERSION                   (idx, [1: 14])  = 'Serpent 2.1.29' ;
+COMPILE_DATE              (idx, [1: 20])  = 'Jan  4 2018 17:22:46' ;
+DEBUG                     (idx, 1)        = 0 ;
+TITLE                     (idx, [1:  7])  = 'pwr pin' ;
+CONFIDENTIAL_DATA         (idx, 1)        = 0 ;
+INPUT_FILE_NAME           (idx, [1:  6])  = 'pwrPin' ;
+WORKING_DIRECTORY         (idx, [1: 49])  = '/home/ajohnson400/research/gpt-dep/testing/depmtx' ;
+HOSTNAME                  (idx, [1: 14])  = 'ME04L0358GRD04' ;
+CPU_TYPE                  (idx, [1: 40])  = 'Intel(R) Core(TM) i7-6700T CPU @ 2.80GHz' ;
+CPU_MHZ                   (idx, 1)        = 194.0 ;
+START_DATE                (idx, [1: 24])  = 'Mon Feb 19 15:39:23 2018' ;
+COMPLETE_DATE             (idx, [1: 24])  = 'Mon Feb 19 15:39:40 2018' ;
+
+% Run parameters:
+
+POP                       (idx, 1)        = 5000 ;
+CYCLES                    (idx, 1)        = 100 ;
+SKIP                      (idx, 1)        = 10 ;
+BATCH_INTERVAL            (idx, 1)        = 1 ;
+SRC_NORM_MODE             (idx, 1)        = 2 ;
+SEED                      (idx, 1)        = 1526311206 ;
+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 ;
+DOUBLE_INDEXING           (idx, 1)        = 0 ;
+MG_MAJORANT_MODE          (idx, 1)        = 0 ;
+
+% Parallelization:
+
+MPI_TASKS                 (idx, 1)        = 1 ;
+OMP_THREADS               (idx, 1)        = 8 ;
+MPI_REPRODUCIBILITY       (idx, 1)        = 0 ;
+OMP_REPRODUCIBILITY       (idx, 1)        = 1 ;
+OMP_HISTORY_PROFILE       (idx, [1:   8]) = [  9.87692E-01  9.98407E-01  9.99815E-01  1.00577E+00  1.00453E+00  1.00540E+00  1.00143E+00  9.96955E-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: 49])  = '/nv/hp22/dkotlyar6/data/Codes/DATA/sss_endfb7.dec' ;
+SFY_DATA_FILE_PATH        (idx, [1: 49])  = '/nv/hp22/dkotlyar6/data/Codes/DATA/sss_endfb7.nfy' ;
+NFY_DATA_FILE_PATH        (idx, [1: 49])  = '/nv/hp22/dkotlyar6/data/Codes/DATA/sss_endfb7.nfy' ;
+BRA_DATA_FILE_PATH        (idx, [1:  3])  = 'N/A' ;
+
+% Collision and reaction sampling (neutrons/photons):
+
+MIN_MACROXS               (idx, [1:   4]) = [  5.00000E-02 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]) = [  1.62904E-02 0.00343  0.00000E+00 0.0E+00 ];
+DT_FRAC                   (idx, [1:   4]) = [  9.83710E-01 5.7E-05  0.00000E+00 0.0E+00 ];
+DT_EFF                    (idx, [1:   4]) = [  7.06733E-01 0.00021  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]) = [  7.07379E-01 0.00021  0.00000E+00 0.0E+00 ];
+AVG_TRACKING_LOOPS        (idx, [1:   8]) = [  2.44970E+00 0.00074  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
+AVG_TRACKS                (idx, [1:   4]) = [  2.63979E+01 0.00064  0.00000E+00 0.0E+00 ];
+AVG_REAL_COL              (idx, [1:   4]) = [  2.63979E+01 0.00064  0.00000E+00 0.0E+00 ];
+AVG_VIRT_COL              (idx, [1:   4]) = [  1.09200E+01 0.00087  0.00000E+00 0.0E+00 ];
+AVG_SURF_CROSS            (idx, [1:   4]) = [  5.34339E-01 0.00367  0.00000E+00 0.0E+00 ];
+LOST_PARTICLES            (idx, 1)        = 0 ;
+
+% Parameters for burnup calculation:
+
+BURN_MATERIALS            (idx, 1)        = 1 ;
+BURN_MODE                 (idx, 1)        = 2 ;
+BURN_STEP                 (idx, 1)        = 0 ;
+BURNUP                     (idx, [1:  2])  = [  0.00000E+00  0.00000E+00 ];
+BURN_DAYS                 (idx, 1)        =  0.00000E+00 ;
+
+% Fission neutron and energy production:
+
+NUBAR                     (idx, [1:   2]) = [  2.46293E+00 7.8E-05 ];
+
+% Criticality eigenvalues:
+
+ANA_KEFF                  (idx, [1:   6]) = [  9.95003E-01 0.00411  9.88678E-01 0.00423  7.21837E-03 0.05562 ];
+IMP_KEFF                  (idx, [1:   2]) = [  9.91938E-01 0.00145 ];
+COL_KEFF                  (idx, [1:   2]) = [  9.93385E-01 0.00279 ];
+ABS_KEFF                  (idx, [1:   2]) = [  9.91938E-01 0.00145 ];
+ABS_KINF                  (idx, [1:   2]) = [  9.91938E-01 0.00145 ];
+GEOM_ALBEDO               (idx, [1:   6]) = [  1.00000E+00 0.0E+00  1.00000E+00 0.0E+00  1.00000E+00 0.0E+00 ];
+
+% Increase counter:
+
+if (exist('idx', 'var'));
+  idx = idx + 1;
+else;
+  idx = 1;
+end;
+
+% Version, title and date:
+
+VERSION                   (idx, [1: 14])  = 'Serpent 2.1.29' ;
+COMPILE_DATE              (idx, [1: 20])  = 'Jan  4 2018 17:22:46' ;
+DEBUG                     (idx, 1)        = 0 ;
+TITLE                     (idx, [1:  7])  = 'pwr pin' ;
+CONFIDENTIAL_DATA         (idx, 1)        = 0 ;
+INPUT_FILE_NAME           (idx, [1:  6])  = 'pwrPin' ;
+WORKING_DIRECTORY         (idx, [1: 49])  = '/home/ajohnson400/research/gpt-dep/testing/depmtx' ;
+HOSTNAME                  (idx, [1: 14])  = 'ME04L0358GRD04' ;
+CPU_TYPE                  (idx, [1: 40])  = 'Intel(R) Core(TM) i7-6700T CPU @ 2.80GHz' ;
+CPU_MHZ                   (idx, 1)        = 194.0 ;
+START_DATE                (idx, [1: 24])  = 'Mon Feb 19 15:39:23 2018' ;
+COMPLETE_DATE             (idx, [1: 24])  = 'Mon Feb 19 15:39:53 2018' ;
+
+% Run parameters:
+
+POP                       (idx, 1)        = 5000 ;
+CYCLES                    (idx, 1)        = 100 ;
+SKIP                      (idx, 1)        = 10 ;
+BATCH_INTERVAL            (idx, 1)        = 1 ;
+SRC_NORM_MODE             (idx, 1)        = 2 ;
+SEED                      (idx, 1)        = 1526311206 ;
+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 ;
+DOUBLE_INDEXING           (idx, 1)        = 0 ;
+MG_MAJORANT_MODE          (idx, 1)        = 0 ;
+
+% Parallelization:
+
+MPI_TASKS                 (idx, 1)        = 1 ;
+OMP_THREADS               (idx, 1)        = 8 ;
+MPI_REPRODUCIBILITY       (idx, 1)        = 0 ;
+OMP_REPRODUCIBILITY       (idx, 1)        = 1 ;
+OMP_HISTORY_PROFILE       (idx, [1:   8]) = [  9.87692E-01  9.98407E-01  9.99815E-01  1.00577E+00  1.00453E+00  1.00540E+00  1.00143E+00  9.96955E-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: 49])  = '/nv/hp22/dkotlyar6/data/Codes/DATA/sss_endfb7.dec' ;
+SFY_DATA_FILE_PATH        (idx, [1: 49])  = '/nv/hp22/dkotlyar6/data/Codes/DATA/sss_endfb7.nfy' ;
+NFY_DATA_FILE_PATH        (idx, [1: 49])  = '/nv/hp22/dkotlyar6/data/Codes/DATA/sss_endfb7.nfy' ;
+BRA_DATA_FILE_PATH        (idx, [1:  3])  = 'N/A' ;
+
+% Collision and reaction sampling (neutrons/photons):
+
+MIN_MACROXS               (idx, [1:   4]) = [  5.00000E-02 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]) = [  1.62904E-02 0.00343  0.00000E+00 0.0E+00 ];
+DT_FRAC                   (idx, [1:   4]) = [  9.83710E-01 5.7E-05  0.00000E+00 0.0E+00 ];
+DT_EFF                    (idx, [1:   4]) = [  7.06733E-01 0.00021  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]) = [  7.07379E-01 0.00021  0.00000E+00 0.0E+00 ];
+AVG_TRACKING_LOOPS        (idx, [1:   8]) = [  2.44970E+00 0.00074  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00  0.00000E+00 0.0E+00 ];
+AVG_TRACKS                (idx, [1:   4]) = [  2.63979E+01 0.00064  0.00000E+00 0.0E+00 ];
+AVG_REAL_COL              (idx, [1:   4]) = [  2.63979E+01 0.00064  0.00000E+00 0.0E+00 ];
+AVG_VIRT_COL              (idx, [1:   4]) = [  1.09200E+01 0.00087  0.00000E+00 0.0E+00 ];
+AVG_SURF_CROSS            (idx, [1:   4]) = [  5.34339E-01 0.00367  0.00000E+00 0.0E+00 ];
+LOST_PARTICLES            (idx, 1)        = 0 ;
+
+% Parameters for burnup calculation:
+
+BURN_MATERIALS            (idx, 1)        = 1 ;
+BURN_MODE                 (idx, 1)        = 2 ;
+BURN_STEP                 (idx, 1)        = 1 ;
+BURNUP                     (idx, [1:  2])  = [  5.00000E+02  5.00260E+02 ];
+BURN_DAYS                 (idx, 1)        =  5.00000E+00 ;
+
+% Fission neutron and energy production:
+
+NUBAR                     (idx, [1:   2]) = [  2.44555E+00 0.00035 ];
+
+% Criticality eigenvalues:
+
+ANA_KEFF                  (idx, [1:   6]) = [  1.83604E-01 0.01097  1.81980E-01 0.01105  1.56566E-03 0.10949 ];
+IMP_KEFF                  (idx, [1:   2]) = [  1.81729E-01 0.00240 ];
+COL_KEFF                  (idx, [1:   2]) = [  1.81451E-01 0.00331 ];
+ABS_KEFF                  (idx, [1:   2]) = [  1.81729E-01 0.00240 ];
+ABS_KINF                  (idx, [1:   2]) = [  1.81729E-01 0.00240 ];
+GEOM_ALBEDO               (idx, [1:   6]) = [  1.00000E+00 0.0E+00  1.00000E+00 0.0E+00  1.00000E+00 0.0E+00 ];
+
diff --git a/serpentTools/objects/containers.py b/serpentTools/objects/containers.py
index 8a8984c..23bd7e4 100644
--- a/serpentTools/objects/containers.py
+++ b/serpentTools/objects/containers.py
@@ -9,10 +9,8 @@ Contents
 """
 from re import compile
 from itertools import product
-from warnings import warn
-from numbers import Real
 
-from six import iteritems, PY2
+from six import iteritems
 from matplotlib import pyplot
 from numpy import array, arange, hstack, ndarray, zeros_like
 
@@ -41,11 +39,6 @@ from serpentTools.messages import (
     error,
 )
 
-if PY2:
-    from collections import Iterable
-else:
-    from collections.abc import Iterable
-
 SCATTER_MATS = set()
 SCATTER_ORDERS = 8
 
@@ -621,33 +614,6 @@ class HomogUniv(NamedObject):
     compareGCData.__doc__ = __docCompare.format(qty='gc')
 
 
-# remove for versions >= 0.8.0
-
-class _BranchContainerUnivDict(dict):
-    """
-    Workaround for supporting integer and string universe ids
-
-    Keys are of the form ``univID, index, burnup``
-    """
-
-    def __getitem__(self, key):
-        if not isinstance(key, Iterable):
-            raise KeyError(key)
-        if isinstance(key[0], Real) and key not in self:
-            warn("Universe ids are stored as unconverted strings, not int. "
-                 "Support for previous integer-access will be removed in "
-                 "future versions.",
-                 FutureWarning)
-            key = (str(key[0]), ) + key[1:]
-        return dict.__getitem__(self, key)
-
-    def get(self, key, default=None):
-        try:
-            return self[key]
-        except KeyError:
-            return default
-
-
 class BranchContainer(BaseObject):
     """
     Class that stores data for a single branch.
@@ -686,8 +652,7 @@ class BranchContainer(BaseObject):
         self.filePath = filePath
         self.branchID = branchID
         self.stateData = stateData
-        # Revert to dict for version >= 0.8.0
-        self.universes = _BranchContainerUnivDict()
+        self.universes = {}
         self.branchNames = branchNames
         self.__orderedUniverses = None
         self.__keys = set()
@@ -768,15 +733,9 @@ class BranchContainer(BaseObject):
 
         If burnup and index are given, burnup is used to search
 
-        ..warning::
-
-            Future versions will store read and store universes from
-            coefficient files as generic strings, without integer
-            conversion
-
         Parameters
         ----------
-        univID: str
+        univID: int
             Unique ID for the desired universe
         burnup: float or int
             Burnup [MWd/kgU] of the desired universe
@@ -785,7 +744,7 @@ class BranchContainer(BaseObject):
 
         Returns
         -------
-        :class:`~serpentTools.objects.containers.HomogUniv`
+        :py:class:`~serpentTools.objects.containers.HomogUniv`
             Requested universe
 
         Raises
diff --git a/serpentTools/parsers/branching.py b/serpentTools/parsers/branching.py
index d2a491a..8ba6fb4 100644
--- a/serpentTools/parsers/branching.py
+++ b/serpentTools/parsers/branching.py
@@ -110,12 +110,11 @@ class BranchingReader(XSReader):
 
     def _processBranchUniverses(self, branch, burnup, burnupIndex):
         """Add universe data to this branch at this burnup."""
-        unvID, numVariables = self._advance()
-        numVariables = int(numVariables)
+        unvID, numVariables = [int(xx) for xx in self._advance()]
         univ = branch.addUniverse(unvID, burnup, burnupIndex - 1)
         for step in range(numVariables):
             splitList = self._advance(
-                possibleEndOfFile=(step == numVariables - 1))
+                possibleEndOfFile=step == numVariables - 1)
             varName = splitList[0]
             varValues = [float(xx) for xx in splitList[2:]]
             if not varValues:
diff --git a/serpentTools/parsers/results.py b/serpentTools/parsers/results.py
index e0ecfd6..2e2d2e4 100644
--- a/serpentTools/parsers/results.py
+++ b/serpentTools/parsers/results.py
@@ -187,7 +187,7 @@ class ResultsReader(XSReader):
                 self._counter['rslt'] = (
                     (self._counter['meta'] - 1) // self._numUniv + 1)
                 return
-                self._counter['rslt'] = self._counter['meta']
+            self._counter['rslt'] = self._counter['meta']
         elif self._keysVersion['univ'] in tline:
             self._posFile = 'univ'
             varType, varVals = self._getVarValues(tline)  # universe name
@@ -374,10 +374,6 @@ class ResultsReader(XSReader):
                 .format(self.filePath, self._numUniv,
                         self._counter['rslt'], self._counter['meta']))
         if not self.resdata and not self.metadata:
-            if not self.settings['expectGcu']:
-                raise SerpentToolsException(
-                    "Metadata and results data were not found in {}"
-                    .format(self.filePath))
             for keys, dictUniv in iteritems(self.universes):
                 if dictUniv.hasData():
                     return
diff --git a/serpentTools/settings.py b/serpentTools/settings.py
index 0c7e6f7..734d0f7 100644
--- a/serpentTools/settings.py
+++ b/serpentTools/settings.py
@@ -1,5 +1,6 @@
 """Settings to yield control to the user."""
 import os
+from warnings import warn
 
 from six import iteritems
 from yaml import safe_load
@@ -26,6 +27,8 @@ SETTING_DOC_FMTR = """.. _{tag}:
 
 """
 
+_DEPRECATED = {'results.expectGcu'}
+
 SETTING_OPTIONS_FMTR = "Options: [{}]"
 defaultSettings = {
     'branching.intVariables': {
@@ -70,13 +73,6 @@ defaultSettings = {
                        'detectors',
         'type': list
     },
-    'results.expectGcu': {
-        'default': True,
-        'description': 'Set this to False if no homogenized group contants '
-                       'are present in the output, as if ``set gcu -1`` is '
-                       'preset in the input file',
-        'type': bool,
-    },
     'verbosity': {
         'default': 'warning',
         'options': messages.LOG_OPTS,
@@ -305,12 +301,15 @@ class UserSettingsLoader(dict):
             If the value is not of the correct type
 
         """
-        if self.__inside:
-            self.__originals[name] = self[name]
+        if name in _DEPRECATED:
+            warn("Setting {} has been removed.".format(name))
+            return
         if name not in self:
             raise KeyError('Setting {} does not exist'.format(name))
         self._defaultLoader[name].validate(value)
         # if we've made it here, then the value is valid
+        if self.__inside:
+            self.__originals[name] = self[name]
         if self._defaultLoader[name].updater is not None:
             value = self._defaultLoader[name].updater(value)
         dict.__setitem__(self, name, value)
diff --git a/serpentTools/xs.py b/serpentTools/xs.py
index 44edf12..6ca006c 100644
--- a/serpentTools/xs.py
+++ b/serpentTools/xs.py
@@ -5,8 +5,6 @@ branching file
 
 from itertools import product
 from warnings import warn
-from numbers import Real
-
 from six import iteritems
 from six.moves import range
 from numpy import empty, nan, array, ndarray
@@ -20,35 +18,6 @@ __all__ = [
 ]
 
 
-# remove for versions >= 0.8.0
-
-
-class IntToStringDict(dict):
-    """Dictionary that allows accessing string keys with Reals
-
-    Used to mitigate API changes in how universe keys are stored
-    in BranchingReader and BranchCollector objects.
-    """
-
-    def __getitem__(self, key):
-        if key in self:
-            return dict.__getitem__(self, key)
-        if isinstance(key, Real) and float(key) in self:
-            warn("Universes will be stored as unconverted strings in future "
-                 "versions", FutureWarning)
-            return dict.__getitem__(self, str(key))
-        raise KeyError(key)
-
-    def get(self, key, default=None):
-        if key in self:
-            return dict.__getitem__(self, key)
-        if isinstance(key, Real) and float(key) in self:
-            warn("Universes will be stored as unconverted strings in future "
-                 "versions", FutureWarning)
-            return dict.__getitem__(self, str(key))
-        return dict.get(self, key, default)
-
-
 class BranchedUniv(object):
     """
     Class for storing cross sections for a single universe across branches
@@ -255,8 +224,7 @@ class BranchCollector(object):
         self.filePath = reader.filePath
         self._branches = reader.branches
         self.xsTables = {}
-        # Revert do dict for version >= 0.8.0
-        self.universes = IntToStringDict()
+        self.universes = {}
         self._perturbations = None
         self._states = None
         self._axis = None


Test patch:
diff --git a/serpentTools/tests/test_ResultsReader.py b/serpentTools/tests/test_ResultsReader.py
index 9f4e678..2a29d02 100644
--- a/serpentTools/tests/test_ResultsReader.py
+++ b/serpentTools/tests/test_ResultsReader.py
@@ -20,14 +20,14 @@ from serpentTools.tests.utils import (
 
 
 GCU_START_STR = "GCU_UNIVERSE_NAME"
-NO_GCU_FILE = "./pwr_noGcu_res.m"
+NO_BU_GCU_FILE = "./pwr_noGcu_res.m"
 ADF_FILE = "./pwr_adf_res.m"
 RES_NO_BU = getFile("pwr_noBU_res.m")
 
 
 def setUpModule():
     """Write the result file with no group constant data."""
-    with open(NO_GCU_FILE, 'w') as noGcu, open(RES_NO_BU) as good:
+    with open(NO_BU_GCU_FILE, 'w') as noGcu, open(RES_NO_BU) as good:
         for line in good:
             if GCU_START_STR in line:
                 break
@@ -46,7 +46,7 @@ DF_N_CORN                 (idx, 1)        = 4 ;
 
 def tearDownModule():
     """Remove the noGcu file."""
-    remove(NO_GCU_FILE)
+    remove(NO_BU_GCU_FILE)
     remove(ADF_FILE)
 
 
@@ -597,7 +597,7 @@ class TestResultsNoBurnNoGcu(TestFilterResultsNoBurnup):
     HAS_UNIV = False
 
     def setUp(self):
-        self.file = NO_GCU_FILE
+        self.file = NO_BU_GCU_FILE
         with rc:
             rc['xs.variableGroups'] = ['versions', 'gc-meta', 'xs',
                                        'diffusion', 'eig', 'burnup-coeff']
@@ -608,6 +608,26 @@ class TestResultsNoBurnNoGcu(TestFilterResultsNoBurnup):
             self.reader.read()
 
 
+class NoUniverseTester(Serp2129Helper):
+    """Read a file ith burnup but no universes"""
+
+    def setUp(self):
+        filep = getFile("pwr_noUniv_res.m")
+        self.reader = ResultsReader(filep)
+        self.reader.read()
+
+    def test_noUniverse(self):
+        expectedBurnup = array([
+            [0.00000E+00, 0.00000E+00],
+            [5.00000E+02, 5.00260E+02]])
+        expectedAbsKeff = array([
+            [9.91938E-01, 0.00145],
+            [1.81729E-01, 0.00240]])
+        self.assertEqual(0, len(self.reader.universes))
+        assert_array_equal(expectedBurnup, self.reader.resdata['burnup'])
+        assert_array_equal(expectedAbsKeff, self.reader.resdata['absKeff'])
+
+
 class RestrictedResultsReader(Serp2129Helper):
     """Class that restricts the variables read from the results file"""
 
@@ -642,7 +662,7 @@ class RestrictedResultsReader(Serp2129Helper):
         assert_array_equal(self.expectedAbsKeff, r.resdata['absKeff'])
 
 
-del TesterCommonResultsReader
+del TesterCommonResultsReader, Serp2129Helper
 
 
 class ResPlotTester(TestCase):
diff --git a/serpentTools/tests/test_branching.py b/serpentTools/tests/test_branching.py
index 7be45e2..9780cd4 100644
--- a/serpentTools/tests/test_branching.py
+++ b/serpentTools/tests/test_branching.py
@@ -23,7 +23,7 @@ class _BranchTesterHelper(unittest.TestCase):
         cls.expectedBranches = {('nom', 'nom', 'nom')}
         cls.expectedUniverses = {
             # universe id, burnup, step
-            ("0", 0, 0),
+            (0, 0, 0),
         }
         with rc:
             rc['serpentVersion'] = '2.1.29'
@@ -78,16 +78,10 @@ class BranchContainerTester(_BranchTesterHelper):
     def setUpClass(cls):
         _BranchTesterHelper.setUpClass()
         cls.refBranchID = ('nom', 'nom', 'nom')
-        cls.refUnivKey = ("0", 0, 0)
+        cls.refUnivKey = (0, 0, 0)
         cls.refBranch = cls.reader.branches[cls.refBranchID]
         cls.refUniv = cls.refBranch.universes[cls.refUnivKey]
 
-    def test_universeIDWorkaround(self):
-        """Test that, for now, integer universe ids work"""
-        # Remove this test for versions >= 0.8.0
-        key = (int(self.refUnivKey[0]), ) + self.refUnivKey[1:]
-        self.assertIs(self.refUniv, self.refBranch.universes[key])
-
     def test_loadedUniv(self):
         """Verify the reference universe has the correct data loaded"""
         assortedExpected = {
@@ -155,7 +149,7 @@ class BranchWithUncsTester(unittest.TestCase):
             ],
         },
     }
-    BRANCH_UNIVKEY = ("0", 0, 0)
+    BRANCH_UNIVKEY = (0, 0, 0)
 
     def setUp(self):
         fp = getFile('demo_uncs.coe')
diff --git a/serpentTools/tests/test_xs.py b/serpentTools/tests/test_xs.py
index 91dc047..ee3e31c 100644
--- a/serpentTools/tests/test_xs.py
+++ b/serpentTools/tests/test_xs.py
@@ -27,36 +27,36 @@ class CollectedHelper(_BranchTestHelper):
         ('nom', 'nom'): {  # branch
             'infTot': {  # group constant
                 0: {  # burnup
-                    "0": array([2.10873E-01, 2.23528E-01]),  # univ: value
-                    "20": array([2.10868E-01, 1.22701E-01]),
+                    0: array([2.10873E-01, 2.23528E-01]),  # univ: value
+                    20: array([2.10868E-01, 1.22701E-01]),
                 },
                 1: {
-                    "0": array([2.08646E-01, 0.00000E+00]),
-                    "20": array([2.08083E-01, 0.00000E+00]),
+                    0: array([2.08646E-01, 0.00000E+00]),
+                    20: array([2.08083E-01, 0.00000E+00]),
                 },
             },
             'b1Diffcoef': {
                 0: {
-                    "0": array([1.80449E+00, 1.97809E+00]),
-                    "20": array([1.80519E+00, 0.00000E+00]),
+                    0: array([1.80449E+00, 1.97809E+00]),
+                    20: array([1.80519E+00, 0.00000E+00]),
                 },
             },
         },
         ('B750', 'FT1200'): {
             'infTot': {
                 0: {
-                    "0": array([3.13772E-01, 5.41505E-01]),
-                    "20": array([3.13711E-01, 5.41453E-01]),
+                    0: array([3.13772E-01, 5.41505E-01]),
+                    20: array([3.13711E-01, 5.41453E-01]),
                 },
                 1: {
-                    "0": array([3.11335E-01, 6.09197E-01]),
-                    "20": array([3.11729E-01, 8.37580E-01]),
+                    0: array([3.11335E-01, 6.09197E-01]),
+                    20: array([3.11729E-01, 8.37580E-01]),
                 },
             },
             'b1Diffcoef': {
                 0: {
-                    "0": array([1.75127E+00, 8.63097E-01]),
-                    "20": array([1.75206E+00, 8.62754E-01]),
+                    0: array([1.75127E+00, 8.63097E-01]),
+                    20: array([1.75206E+00, 8.62754E-01]),
                 },
             },
         },