[xmds2] 02/04: Imported Upstream version 2.2.2+dfsg

Rafael Laboissière rlaboiss-guest at moszumanska.debian.org
Tue Oct 14 13:14:50 UTC 2014


This is an automated email from the git hooks/post-receive script.

rlaboiss-guest pushed a commit to branch master
in repository xmds2.

commit 3919ff8ed33ecc13413afc47ec57e8a6b668cc84
Author: Rafael Laboissiere <rafael at laboissiere.net>
Date:   Tue Oct 14 06:51:38 2014 -0300

    Imported Upstream version 2.2.2+dfsg
---
 documentation/.buildinfo                           |    4 +-
 documentation/_static/basic.css                    |    7 +-
 documentation/_static/default.css                  |    2 +-
 documentation/_static/doctools.js                  |    5 +-
 documentation/_static/jquery.js                    |    6 +-
 documentation/_static/searchtools.js               |    8 +-
 documentation/_static/sidebar.js                   |    4 +-
 documentation/_static/websupport.js                |    2 +-
 documentation/advanced_topics.html                 |   14 +-
 documentation/bulirschStoer.html                   |   14 +-
 documentation/developer.html                       |   14 +-
 documentation/doctrees/advanced_topics.doctree     |  Bin 52108 -> 52291 bytes
 documentation/doctrees/bulirschStoer.doctree       |  Bin 20586 -> 20734 bytes
 documentation/doctrees/developer.doctree           |  Bin 92785 -> 92938 bytes
 documentation/doctrees/documentation_toc.doctree   |  Bin 3767 -> 3907 bytes
 documentation/doctrees/environment.pickle          |  Bin 97696 -> 97684 bytes
 documentation/doctrees/faq.doctree                 |  Bin 30024 -> 30171 bytes
 documentation/doctrees/index.doctree               |  Bin 52488 -> 52597 bytes
 documentation/doctrees/installation.doctree        |  Bin 110111 -> 110258 bytes
 documentation/doctrees/introduction.doctree        |  Bin 23979 -> 24126 bytes
 documentation/doctrees/licensing.doctree           |  Bin 113984 -> 114131 bytes
 documentation/doctrees/news.doctree                |  Bin 47080 -> 47188 bytes
 documentation/doctrees/news_content.doctree        |  Bin 45444 -> 45599 bytes
 documentation/doctrees/optimisation_hints.doctree  |  Bin 57032 -> 57194 bytes
 documentation/doctrees/reference_elements.doctree  |  Bin 460522 -> 461656 bytes
 documentation/doctrees/reference_index.doctree     |  Bin 3131 -> 3269 bytes
 ...eference_installation_and_configuration.doctree |  Bin 12531 -> 12706 bytes
 documentation/doctrees/reference_schema.doctree    |  Bin 67415 -> 67572 bytes
 .../doctrees/reference_usefulXMLSyntax.doctree     |  Bin 4453 -> 4601 bytes
 documentation/doctrees/tutorial.doctree            |  Bin 48875 -> 49021 bytes
 documentation/doctrees/upgrade.doctree             |  Bin 5939 -> 6081 bytes
 documentation/doctrees/worked_examples.doctree     |  Bin 196913 -> 197015 bytes
 documentation/doctrees/xsil2graphics2.doctree      |  Bin 5868 -> 6017 bytes
 documentation/documentation_toc.html               |   14 +-
 documentation/faq.html                             |   14 +-
 documentation/genindex.html                        |   14 +-
 documentation/index.html                           |   14 +-
 documentation/installation.html                    |   14 +-
 documentation/introduction.html                    |   14 +-
 documentation/latex/fncychap.sty                   |  683 -------------
 documentation/latex/sphinx.sty                     |  524 ----------
 documentation/latex/sphinxhowto.cls                |  104 --
 documentation/latex/sphinxmanual.cls               |  148 ---
 documentation/latex/tabulary.sty                   |  452 ---------
 documentation/latex/xmds2.aux                      |  158 +--
 documentation/latex/xmds2.idx                      |   98 +-
 documentation/latex/xmds2.ilg                      |    2 +-
 documentation/latex/xmds2.ind                      |   94 +-
 documentation/latex/xmds2.log                      |  324 ++++---
 documentation/latex/xmds2.pdf                      |  Bin 7011644 -> 7007925 bytes
 documentation/latex/xmds2.tex                      |  470 ++++-----
 documentation/latex/xmds2.toc                      |   36 +-
 documentation/licensing.html                       |   14 +-
 documentation/news.html                            |   14 +-
 documentation/news_content.html                    |   14 +-
 documentation/objects.inv                          |  Bin 2085 -> 1920 bytes
 documentation/optimisation_hints.html              |   17 +-
 documentation/reference_elements.html              |   14 +-
 documentation/reference_index.html                 |   14 +-
 .../reference_installation_and_configuration.html  |   14 +-
 documentation/reference_schema.html                |   14 +-
 documentation/reference_usefulXMLSyntax.html       |   14 +-
 documentation/search.html                          |   14 +-
 documentation/tutorial.html                        |   14 +-
 documentation/upgrade.html                         |   14 +-
 documentation/worked_examples.html                 |   14 +-
 documentation/xsil2graphics2.html                  |   14 +-
 setup.py                                           |    2 +-
 xpdeint/Features/Arguments.py                      |    6 +-
 xpdeint/Features/AsciiFormat.py                    |    6 +-
 xpdeint/Features/AutoVectorise.py                  |    6 +-
 xpdeint/Features/Benchmark.py                      |    6 +-
 xpdeint/Features/BinaryFormat.py                   |    6 +-
 xpdeint/Features/Bing.py                           |    6 +-
 xpdeint/Features/CFlags.py                         |    6 +-
 xpdeint/Features/ChunkedOutput.py                  |    6 +-
 xpdeint/Features/Diagnostics.py                    |    6 +-
 xpdeint/Features/ErrorCheck.py                     |    6 +-
 xpdeint/Features/Globals.py                        |    6 +-
 xpdeint/Features/HDF5Format.py                     |    6 +-
 xpdeint/Features/HaltNonFinite.py                  |    6 +-
 xpdeint/Features/MaxIterations.py                  |    6 +-
 xpdeint/Features/OpenMP.py                         |    6 +-
 xpdeint/Features/Output.py                         |    6 +-
 xpdeint/Features/OutputFormat.py                   |   10 +-
 xpdeint/Features/Stochastic.py                     |    6 +-
 xpdeint/Features/Transforms/Basis.py               |    6 +-
 xpdeint/Features/Transforms/BesselBasis.py         |    6 +-
 .../Features/Transforms/BesselNeumannTransform.py  |    6 +-
 xpdeint/Features/Transforms/BesselTransform.py     |    6 +-
 xpdeint/Features/Transforms/EPBasis.py             |    6 +-
 .../Features/Transforms/FourierTransformFFTW3.py   |    6 +-
 .../Transforms/FourierTransformFFTW3MPI.py         |    6 +-
 .../Transforms/FourierTransformFFTW3Threads.py     |    6 +-
 xpdeint/Features/Transforms/HermiteGaussEPBasis.py |    6 +-
 .../Transforms/HermiteGaussFourierEPBasis.py       |    6 +-
 .../Features/Transforms/HermiteGaussTransform.py   |    6 +-
 .../Transforms/HermiteGaussTwiddleBasis.py         |    6 +-
 xpdeint/Features/Transforms/MMT.py                 |    6 +-
 xpdeint/Features/Transforms/NoTransformMPI.py      |    6 +-
 .../Features/Transforms/TransformMultiplexer.py    |    6 +-
 xpdeint/Features/Validation.py                     |    6 +-
 xpdeint/Geometry/BesselDimensionRepresentation.py  |    6 +-
 .../BesselNeumannDimensionRepresentation.py        |    6 +-
 xpdeint/Geometry/DimensionRepresentation.py        |    6 +-
 xpdeint/Geometry/FieldElement.py                   |    6 +-
 xpdeint/Geometry/GeometryElement.py                |    6 +-
 .../HermiteGaussDimensionRepresentation.py         |    6 +-
 .../Geometry/NonUniformDimensionRepresentation.py  |    6 +-
 .../SphericalBesselDimensionRepresentation.py      |    6 +-
 .../SplitUniformDimensionRepresentation.py         |    6 +-
 xpdeint/Geometry/UniformDimensionRepresentation.py |    6 +-
 xpdeint/HDF5.py                                    |   28 +-
 xpdeint/MomentGroupElement.py                      |    6 +-
 xpdeint/Operators/ConstantEXOperator.py            |    6 +-
 xpdeint/Operators/ConstantIPOperator.py            |    6 +-
 xpdeint/Operators/CrossPropagationOperator.py      |    6 +-
 xpdeint/Operators/DeltaAOperator.py                |    6 +-
 xpdeint/Operators/FilterOperator.py                |    6 +-
 xpdeint/Operators/FunctionsOperator.py             |    6 +-
 xpdeint/Operators/NonConstantEXOperator.py         |    6 +-
 xpdeint/Operators/NonConstantIPOperator.py         |    6 +-
 xpdeint/Operators/Operator.py                      |    6 +-
 xpdeint/Operators/OperatorContainer.py             |   28 +-
 xpdeint/Operators/SICDeltaAOperator.py             |    6 +-
 xpdeint/Preferences.py                             |    2 +-
 xpdeint/ScriptElement.py                           |   28 +-
 xpdeint/Segments/BreakpointSegment.py              |    6 +-
 xpdeint/Segments/FilterSegment.py                  |    6 +-
 xpdeint/Segments/Integrators/AdaptiveStep.py       |    6 +-
 xpdeint/Segments/Integrators/FixedStep.py          |   28 +-
 xpdeint/Segments/Integrators/FixedStepWithCross.py |    6 +-
 xpdeint/Segments/Integrators/Integrator.py         |    6 +-
 xpdeint/Segments/Integrators/MMStepper.py          |    6 +-
 xpdeint/Segments/Integrators/RK45Stepper.py        |    6 +-
 xpdeint/Segments/Integrators/RK4Stepper.py         |    6 +-
 xpdeint/Segments/Integrators/RK89Stepper.py        |    6 +-
 xpdeint/Segments/Integrators/RK9Stepper.py         |    6 +-
 .../Segments/Integrators/RichardsonFixedStep.py    |    6 +-
 xpdeint/Segments/Integrators/SICStepper.py         |    6 +-
 xpdeint/Segments/Integrators/SIStepper.py          |    6 +-
 xpdeint/Segments/SequenceSegment.py                |    6 +-
 xpdeint/Segments/TopLevelSequenceElement.py        |    6 +-
 xpdeint/Simulation.py                              |    6 +-
 .../AdaptiveMPIMultiPathDriver.py                  |    6 +-
 xpdeint/SimulationDrivers/DistributedMPIDriver.py  |   28 +-
 xpdeint/SimulationDrivers/MPI.py                   |    6 +-
 xpdeint/SimulationDrivers/MPIMultiPathDriver.py    |    6 +-
 xpdeint/SimulationDrivers/MultiPathDriver.py       |   28 +-
 xpdeint/SimulationDrivers/SimulationDriver.py      |    6 +-
 xpdeint/SimulationElement.py                       |    6 +-
 xpdeint/Stochastic/Generators/DSFMTGenerator.py    |    6 +-
 xpdeint/Stochastic/Generators/Generator.py         |    6 +-
 xpdeint/Stochastic/Generators/MKLGenerator.py      |    6 +-
 xpdeint/Stochastic/Generators/POSIXGenerator.py    |    6 +-
 xpdeint/Stochastic/Generators/SolirteGenerator.py  |    6 +-
 .../GaussianBoxMuellerRandomVariable.py            |    6 +-
 .../RandomVariables/GaussianMKLRandomVariable.py   |    6 +-
 .../RandomVariables/GaussianRandomVariable.py      |   28 +-
 .../GaussianSolirteRandomVariable.py               |    6 +-
 .../RandomVariables/PoissonianRandomVariable.py    |   50 +-
 .../RandomVariables/UniformRandomVariable.py       |    6 +-
 xpdeint/Vectors/ComputedVector.py                  |    6 +-
 xpdeint/Vectors/NoiseVector.py                     |    6 +-
 xpdeint/Vectors/VectorElement.py                   |   28 +-
 xpdeint/Vectors/VectorInitialisation.py            |    6 +-
 xpdeint/Vectors/VectorInitialisationFromCDATA.py   |    6 +-
 xpdeint/Vectors/VectorInitialisationFromHDF5.py    |    6 +-
 xpdeint/Vectors/VectorInitialisationFromXSIL.py    | 1024 --------------------
 xpdeint/support/trang.jar                          |  Bin 710214 -> 0 bytes
 xpdeint/waf/waflib/Build.pyc                       |  Bin 44843 -> 0 bytes
 xpdeint/waf/waflib/ConfigSet.pyc                   |  Bin 12023 -> 0 bytes
 xpdeint/waf/waflib/Configure.pyc                   |  Bin 19414 -> 0 bytes
 xpdeint/waf/waflib/Context.pyc                     |  Bin 18259 -> 0 bytes
 xpdeint/waf/waflib/Errors.pyc                      |  Bin 3604 -> 0 bytes
 xpdeint/waf/waflib/Logs.pyc                        |  Bin 10154 -> 0 bytes
 xpdeint/waf/waflib/Node.pyc                        |  Bin 26917 -> 0 bytes
 xpdeint/waf/waflib/Options.pyc                     |  Bin 9300 -> 0 bytes
 xpdeint/waf/waflib/Runner.pyc                      |  Bin 10745 -> 0 bytes
 xpdeint/waf/waflib/Scripting.pyc                   |  Bin 18878 -> 0 bytes
 xpdeint/waf/waflib/Task.pyc                        |  Bin 39269 -> 0 bytes
 xpdeint/waf/waflib/TaskGen.pyc                     |  Bin 25459 -> 0 bytes
 xpdeint/waf/waflib/Tools/__init__.pyc              |  Bin 189 -> 0 bytes
 xpdeint/waf/waflib/Tools/c_config.pyc              |  Bin 40236 -> 0 bytes
 xpdeint/waf/waflib/Tools/c_preproc.pyc             |  Bin 28326 -> 0 bytes
 xpdeint/waf/waflib/Utils.pyc                       |  Bin 21373 -> 0 bytes
 xpdeint/waf/waflib/__init__.pyc                    |  Bin 183 -> 0 bytes
 xpdeint/waf/waflib/ansiterm.pyc                    |  Bin 11972 -> 0 bytes
 xpdeint/waf/waflib/extras/__init__.pyc             |  Bin 190 -> 0 bytes
 xpdeint/waf/waflib/extras/compat15.pyc             |  Bin 11232 -> 0 bytes
 xpdeint/waf_extensions/cheetah.pyc                 |  Bin 1847 -> 0 bytes
 xpdeint/xsil2graphics2/MathematicaImport.py        |    6 +-
 xpdeint/xsil2graphics2/MatlabOctaveImport.py       |    6 +-
 xpdeint/xsil2graphics2/PythonImport.py             |    6 +-
 xpdeint/xsil2graphics2/RImport.py                  |    6 +-
 195 files changed, 1206 insertions(+), 4120 deletions(-)

diff --git a/documentation/.buildinfo b/documentation/.buildinfo
index 9ff7e74..fc1925f 100644
--- a/documentation/.buildinfo
+++ b/documentation/.buildinfo
@@ -1,4 +1,4 @@
 # Sphinx build info version 1
 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
-config: cb35481731d144682a9d5d4871ed7087
-tags: 645f666f9bcd5a90fca523b33c5a78b7
+config: 1bcdffa41cc21029cf4bff7a589f061d
+tags: a205e9ed8462ae86fdd2f73488852ba9
diff --git a/documentation/_static/basic.css b/documentation/_static/basic.css
index 967e36c..a04c8e1 100644
--- a/documentation/_static/basic.css
+++ b/documentation/_static/basic.css
@@ -4,7 +4,7 @@
  *
  * Sphinx stylesheet -- basic theme.
  *
- * :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS.
+ * :copyright: Copyright 2007-2013 by the Sphinx team, see AUTHORS.
  * :license: BSD, see LICENSE for details.
  *
  */
@@ -89,7 +89,6 @@ div.sphinxsidebar #searchbox input[type="submit"] {
 
 img {
     border: 0;
-    max-width: 100%;
 }
 
 /* -- search page ----------------------------------------------------------- */
@@ -402,6 +401,10 @@ dl.glossary dt {
     margin: 0;
 }
 
+.refcount {
+    color: #060;
+}
+
 .optional {
     font-size: 1.3em;
 }
diff --git a/documentation/_static/default.css b/documentation/_static/default.css
index 5f1399a..e534a07 100644
--- a/documentation/_static/default.css
+++ b/documentation/_static/default.css
@@ -4,7 +4,7 @@
  *
  * Sphinx stylesheet -- default theme.
  *
- * :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS.
+ * :copyright: Copyright 2007-2013 by the Sphinx team, see AUTHORS.
  * :license: BSD, see LICENSE for details.
  *
  */
diff --git a/documentation/_static/doctools.js b/documentation/_static/doctools.js
index c5455c9..8614442 100644
--- a/documentation/_static/doctools.js
+++ b/documentation/_static/doctools.js
@@ -4,7 +4,7 @@
  *
  * Sphinx JavaScript utilities for all documentation.
  *
- * :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS.
+ * :copyright: Copyright 2007-2013 by the Sphinx team, see AUTHORS.
  * :license: BSD, see LICENSE for details.
  *
  */
@@ -168,9 +168,6 @@ var Documentation = {
     var terms = (params.highlight) ? params.highlight[0].split(/\s+/) : [];
     if (terms.length) {
       var body = $('div.body');
-      if (!body.length) {
-        body = $('body');
-      }
       window.setTimeout(function() {
         $.each(terms, function() {
           body.highlightText(this.toLowerCase(), 'highlighted');
diff --git a/documentation/_static/jquery.js b/documentation/_static/jquery.js
index 83589da..198b3ff 100644
--- a/documentation/_static/jquery.js
+++ b/documentation/_static/jquery.js
@@ -1,2 +1,4 @@
-/*! jQuery v1.8.3 jquery.com | jquery.org/license */
-(function(e,t){function _(e){var t=M[e]={};return v.each(e.split(y),function(e,n){t[n]=!0}),t}function H(e,n,r){if(r===t&&e.nodeType===1){var i="data-"+n.replace(P,"-$1").toLowerCase();r=e.getAttribute(i);if(typeof r=="string"){try{r=r==="true"?!0:r==="false"?!1:r==="null"?null:+r+""===r?+r:D.test(r)?v.parseJSON(r):r}catch(s){}v.data(e,n,r)}else r=t}return r}function B(e){var t;for(t in e){if(t==="data"&&v.isEmptyObject(e[t]))continue;if(t!=="toJSON")return!1}return!0}function et(){retur [...]
\ No newline at end of file
+/*! jQuery v1.7.1 jquery.com | jquery.org/license */
+(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cv(a){if(!ck[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){cl||(cl=c.createElement("iframe"),cl.frameBorder=cl.width=cl.height=0),b.appendChild(cl);if(!cm||!cl.createElement)cm=(cl.contentWindow||cl.contentDocument).document,cm.write((c.compatMode==="CSS1Compat"?"<!doctype html>":"")+"<html><body>"),cm.close();d=cm.createElement( [...]
+f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k<c.length;k++){l=A.exec(c[k])||[],m=l[1],n=(l[2]||"").split(".").sort(),s=f.event.special[m]| [...]
+{for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replac [...]
\ No newline at end of file
diff --git a/documentation/_static/searchtools.js b/documentation/_static/searchtools.js
index 6e1f06b..56676b2 100644
--- a/documentation/_static/searchtools.js
+++ b/documentation/_static/searchtools.js
@@ -4,7 +4,7 @@
  *
  * Sphinx JavaScript utilties for the full-text search.
  *
- * :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS.
+ * :copyright: Copyright 2007-2013 by the Sphinx team, see AUTHORS.
  * :license: BSD, see LICENSE for details.
  *
  */
@@ -330,13 +330,13 @@ var Search = {
           objectterms.push(tmp[i].toLowerCase());
       }
 
-      if ($u.indexOf(stopwords, tmp[i].toLowerCase()) != -1 || tmp[i].match(/^\d+$/) ||
+      if ($u.indexOf(stopwords, tmp[i]) != -1 || tmp[i].match(/^\d+$/) ||
           tmp[i] === "") {
         // skip this "word"
         continue;
       }
       // stem the word
-      var word = stemmer.stemWord(tmp[i].toLowerCase());
+      var word = stemmer.stemWord(tmp[i]).toLowerCase();
       var toAppend;
       // select the correct list
       if (word[0] == '-') {
@@ -550,7 +550,7 @@ var Search = {
     for (i = 0; i < searchterms.length; i++) {
       var word = searchterms[i];
       // no match but word was a required one
-      if ((files = terms[word]) === undefined)
+      if (!(files = terms[word]))
         break;
       if (files.length === undefined) {
         files = [files];
diff --git a/documentation/_static/sidebar.js b/documentation/_static/sidebar.js
index 4f09a0d..5adf895 100644
--- a/documentation/_static/sidebar.js
+++ b/documentation/_static/sidebar.js
@@ -16,7 +16,7 @@
  * Once the browser is closed the cookie is deleted and the position
  * reset to the default (expanded).
  *
- * :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS.
+ * :copyright: Copyright 2007-2013 by the Sphinx team, see AUTHORS.
  * :license: BSD, see LICENSE for details.
  *
  */
@@ -142,7 +142,7 @@ $(function() {
     var items = document.cookie.split(';');
     for(var k=0; k<items.length; k++) {
       var key_val = items[k].split('=');
-      var key = key_val[0].replace(/ /, "");  // strip leading spaces
+      var key = key_val[0];
       if (key == 'sidebar') {
         var value = key_val[1];
         if ((value == 'collapsed') && (!sidebar_is_collapsed()))
diff --git a/documentation/_static/websupport.js b/documentation/_static/websupport.js
index 71c0a13..19fcda5 100644
--- a/documentation/_static/websupport.js
+++ b/documentation/_static/websupport.js
@@ -4,7 +4,7 @@
  *
  * sphinx.websupport utilties for all documentation.
  *
- * :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS.
+ * :copyright: Copyright 2007-2013 by the Sphinx team, see AUTHORS.
  * :license: BSD, see LICENSE for details.
  *
  */
diff --git a/documentation/advanced_topics.html b/documentation/advanced_topics.html
index b9c1607..2025379 100644
--- a/documentation/advanced_topics.html
+++ b/documentation/advanced_topics.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>Advanced Topics — XMDS2 2.2.2-rc1 documentation</title>
+    <title>Advanced Topics — XMDS2 2.2.2 documentation</title>
     
     <link rel="stylesheet" href="_static/default.css" type="text/css" />
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    './',
-        VERSION:     '2.2.2-rc1',
+        VERSION:     '2.2.2',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -25,7 +25,7 @@
     <script type="text/javascript" src="_static/doctools.js"></script>
     <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML,http://www.xmds.org/_static/mathjax-use-tex-fonts.js"></script>
     <link rel="shortcut icon" href="_static/xmds_favicon.ico"/>
-    <link rel="top" title="XMDS2 2.2.2-rc1 documentation" href="index.html" />
+    <link rel="top" title="XMDS2 2.2.2 documentation" href="index.html" />
     <link rel="next" title="Frequently Asked Questions" href="faq.html" />
     <link rel="prev" title="Modified Midpoint Method" href="bulirschStoer.html" /> 
   </head>
@@ -42,7 +42,7 @@
         <li class="right" >
           <a href="bulirschStoer.html" title="Modified Midpoint Method"
              accesskey="P">previous</a> |</li>
-        <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li> 
+        <li><a href="index.html">XMDS2 2.2.2 documentation</a> »</li> 
       </ul>
     </div>  
 
@@ -306,13 +306,13 @@ Export["func.h5", {func, x1, y1}, {"Datasets", { "funct
         <li class="right" >
           <a href="bulirschStoer.html" title="Modified Midpoint Method"
              >previous</a> |</li>
-        <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li> 
+        <li><a href="index.html">XMDS2 2.2.2 documentation</a> »</li> 
       </ul>
     </div>
     <div class="footer">
         © Copyright 2008-2014, Graham Dennis, Joe Hope and Mattias Johnsson. Licensed under the GNU FDL.
-      Last updated on Oct 11, 2014.
-      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3.
+      Last updated on Oct 14, 2014.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2b1.
     </div>
   </body>
 </html>
\ No newline at end of file
diff --git a/documentation/bulirschStoer.html b/documentation/bulirschStoer.html
index 7803980..b6adf8e 100644
--- a/documentation/bulirschStoer.html
+++ b/documentation/bulirschStoer.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>Modified Midpoint Method — XMDS2 2.2.2-rc1 documentation</title>
+    <title>Modified Midpoint Method — XMDS2 2.2.2 documentation</title>
     
     <link rel="stylesheet" href="_static/default.css" type="text/css" />
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    './',
-        VERSION:     '2.2.2-rc1',
+        VERSION:     '2.2.2',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -25,7 +25,7 @@
     <script type="text/javascript" src="_static/doctools.js"></script>
     <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML,http://www.xmds.org/_static/mathjax-use-tex-fonts.js"></script>
     <link rel="shortcut icon" href="_static/xmds_favicon.ico"/>
-    <link rel="top" title="XMDS2 2.2.2-rc1 documentation" href="index.html" />
+    <link rel="top" title="XMDS2 2.2.2 documentation" href="index.html" />
     <link rel="up" title="Reference section" href="reference_index.html" />
     <link rel="next" title="Advanced Topics" href="advanced_topics.html" />
     <link rel="prev" title="XMDS2 script elements" href="reference_elements.html" /> 
@@ -43,7 +43,7 @@
         <li class="right" >
           <a href="reference_elements.html" title="XMDS2 script elements"
              accesskey="P">previous</a> |</li>
-        <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li>
+        <li><a href="index.html">XMDS2 2.2.2 documentation</a> »</li>
           <li><a href="reference_index.html" accesskey="U">Reference section</a> »</li> 
       </ul>
     </div>  
@@ -132,14 +132,14 @@ y(x+H) \approx y_n &= \frac{1}{2} \left[ z_n + z_{n-1} + h f(x + H, z_n) \ri
         <li class="right" >
           <a href="reference_elements.html" title="XMDS2 script elements"
              >previous</a> |</li>
-        <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li>
+        <li><a href="index.html">XMDS2 2.2.2 documentation</a> »</li>
           <li><a href="reference_index.html" >Reference section</a> »</li> 
       </ul>
     </div>
     <div class="footer">
         © Copyright 2008-2014, Graham Dennis, Joe Hope and Mattias Johnsson. Licensed under the GNU FDL.
-      Last updated on Oct 11, 2014.
-      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3.
+      Last updated on Oct 14, 2014.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2b1.
     </div>
   </body>
 </html>
\ No newline at end of file
diff --git a/documentation/developer.html b/documentation/developer.html
index c85f4e2..4ca72f8 100644
--- a/documentation/developer.html
+++ b/documentation/developer.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>Developer Documentation — XMDS2 2.2.2-rc1 documentation</title>
+    <title>Developer Documentation — XMDS2 2.2.2 documentation</title>
     
     <link rel="stylesheet" href="_static/default.css" type="text/css" />
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    './',
-        VERSION:     '2.2.2-rc1',
+        VERSION:     '2.2.2',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -25,7 +25,7 @@
     <script type="text/javascript" src="_static/doctools.js"></script>
     <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML,http://www.xmds.org/_static/mathjax-use-tex-fonts.js"></script>
     <link rel="shortcut icon" href="_static/xmds_favicon.ico"/>
-    <link rel="top" title="XMDS2 2.2.2-rc1 documentation" href="index.html" />
+    <link rel="top" title="XMDS2 2.2.2 documentation" href="index.html" />
     <link rel="next" title="Licensing" href="licensing.html" />
     <link rel="prev" title="xsil2graphics2" href="xsil2graphics2.html" /> 
   </head>
@@ -42,7 +42,7 @@
         <li class="right" >
           <a href="xsil2graphics2.html" title="xsil2graphics2"
              accesskey="P">previous</a> |</li>
-        <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li> 
+        <li><a href="index.html">XMDS2 2.2.2 documentation</a> »</li> 
       </ul>
     </div>  
 
@@ -349,13 +349,13 @@
         <li class="right" >
           <a href="xsil2graphics2.html" title="xsil2graphics2"
              >previous</a> |</li>
-        <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li> 
+        <li><a href="index.html">XMDS2 2.2.2 documentation</a> »</li> 
       </ul>
     </div>
     <div class="footer">
         © Copyright 2008-2014, Graham Dennis, Joe Hope and Mattias Johnsson. Licensed under the GNU FDL.
-      Last updated on Oct 11, 2014.
-      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3.
+      Last updated on Oct 14, 2014.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2b1.
     </div>
   </body>
 </html>
\ No newline at end of file
diff --git a/documentation/doctrees/advanced_topics.doctree b/documentation/doctrees/advanced_topics.doctree
index 443dec5..b605a1f 100644
Binary files a/documentation/doctrees/advanced_topics.doctree and b/documentation/doctrees/advanced_topics.doctree differ
diff --git a/documentation/doctrees/bulirschStoer.doctree b/documentation/doctrees/bulirschStoer.doctree
index da3131d..911ffe7 100644
Binary files a/documentation/doctrees/bulirschStoer.doctree and b/documentation/doctrees/bulirschStoer.doctree differ
diff --git a/documentation/doctrees/developer.doctree b/documentation/doctrees/developer.doctree
index 2cab76a..9737aa7 100644
Binary files a/documentation/doctrees/developer.doctree and b/documentation/doctrees/developer.doctree differ
diff --git a/documentation/doctrees/documentation_toc.doctree b/documentation/doctrees/documentation_toc.doctree
index ced807e..2a2224b 100644
Binary files a/documentation/doctrees/documentation_toc.doctree and b/documentation/doctrees/documentation_toc.doctree differ
diff --git a/documentation/doctrees/environment.pickle b/documentation/doctrees/environment.pickle
index ddc116e..567b21c 100644
Binary files a/documentation/doctrees/environment.pickle and b/documentation/doctrees/environment.pickle differ
diff --git a/documentation/doctrees/faq.doctree b/documentation/doctrees/faq.doctree
index dfb1c2d..8d07890 100644
Binary files a/documentation/doctrees/faq.doctree and b/documentation/doctrees/faq.doctree differ
diff --git a/documentation/doctrees/index.doctree b/documentation/doctrees/index.doctree
index 5d78294..7b06b13 100644
Binary files a/documentation/doctrees/index.doctree and b/documentation/doctrees/index.doctree differ
diff --git a/documentation/doctrees/installation.doctree b/documentation/doctrees/installation.doctree
index a4f9e86..c585e2a 100644
Binary files a/documentation/doctrees/installation.doctree and b/documentation/doctrees/installation.doctree differ
diff --git a/documentation/doctrees/introduction.doctree b/documentation/doctrees/introduction.doctree
index 8d07b23..5d4bb2d 100644
Binary files a/documentation/doctrees/introduction.doctree and b/documentation/doctrees/introduction.doctree differ
diff --git a/documentation/doctrees/licensing.doctree b/documentation/doctrees/licensing.doctree
index 9397f5b..6d97fcb 100644
Binary files a/documentation/doctrees/licensing.doctree and b/documentation/doctrees/licensing.doctree differ
diff --git a/documentation/doctrees/news.doctree b/documentation/doctrees/news.doctree
index 5947d5f..18a74d6 100644
Binary files a/documentation/doctrees/news.doctree and b/documentation/doctrees/news.doctree differ
diff --git a/documentation/doctrees/news_content.doctree b/documentation/doctrees/news_content.doctree
index 7cddc23..5f6a3e8 100644
Binary files a/documentation/doctrees/news_content.doctree and b/documentation/doctrees/news_content.doctree differ
diff --git a/documentation/doctrees/optimisation_hints.doctree b/documentation/doctrees/optimisation_hints.doctree
index e2a0a0e..1937bf5 100644
Binary files a/documentation/doctrees/optimisation_hints.doctree and b/documentation/doctrees/optimisation_hints.doctree differ
diff --git a/documentation/doctrees/reference_elements.doctree b/documentation/doctrees/reference_elements.doctree
index 4b09b7a..89f3e98 100644
Binary files a/documentation/doctrees/reference_elements.doctree and b/documentation/doctrees/reference_elements.doctree differ
diff --git a/documentation/doctrees/reference_index.doctree b/documentation/doctrees/reference_index.doctree
index 3549c86..cdd5dc7 100644
Binary files a/documentation/doctrees/reference_index.doctree and b/documentation/doctrees/reference_index.doctree differ
diff --git a/documentation/doctrees/reference_installation_and_configuration.doctree b/documentation/doctrees/reference_installation_and_configuration.doctree
index 7a2d4a4..62f69bb 100644
Binary files a/documentation/doctrees/reference_installation_and_configuration.doctree and b/documentation/doctrees/reference_installation_and_configuration.doctree differ
diff --git a/documentation/doctrees/reference_schema.doctree b/documentation/doctrees/reference_schema.doctree
index edb708d..4bdb846 100644
Binary files a/documentation/doctrees/reference_schema.doctree and b/documentation/doctrees/reference_schema.doctree differ
diff --git a/documentation/doctrees/reference_usefulXMLSyntax.doctree b/documentation/doctrees/reference_usefulXMLSyntax.doctree
index 2bdb465..8771020 100644
Binary files a/documentation/doctrees/reference_usefulXMLSyntax.doctree and b/documentation/doctrees/reference_usefulXMLSyntax.doctree differ
diff --git a/documentation/doctrees/tutorial.doctree b/documentation/doctrees/tutorial.doctree
index 4abf505..44599a7 100644
Binary files a/documentation/doctrees/tutorial.doctree and b/documentation/doctrees/tutorial.doctree differ
diff --git a/documentation/doctrees/upgrade.doctree b/documentation/doctrees/upgrade.doctree
index cb1e2e7..21e1e41 100644
Binary files a/documentation/doctrees/upgrade.doctree and b/documentation/doctrees/upgrade.doctree differ
diff --git a/documentation/doctrees/worked_examples.doctree b/documentation/doctrees/worked_examples.doctree
index dd2ba83..cf5838e 100644
Binary files a/documentation/doctrees/worked_examples.doctree and b/documentation/doctrees/worked_examples.doctree differ
diff --git a/documentation/doctrees/xsil2graphics2.doctree b/documentation/doctrees/xsil2graphics2.doctree
index 4dbfbd8..97197c2 100644
Binary files a/documentation/doctrees/xsil2graphics2.doctree and b/documentation/doctrees/xsil2graphics2.doctree differ
diff --git a/documentation/documentation_toc.html b/documentation/documentation_toc.html
index 94baf18..d615eba 100644
--- a/documentation/documentation_toc.html
+++ b/documentation/documentation_toc.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>Welcome to the documentation for XMDS2! — XMDS2 2.2.2-rc1 documentation</title>
+    <title>Welcome to the documentation for XMDS2! — XMDS2 2.2.2 documentation</title>
     
     <link rel="stylesheet" href="_static/default.css" type="text/css" />
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    './',
-        VERSION:     '2.2.2-rc1',
+        VERSION:     '2.2.2',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -25,7 +25,7 @@
     <script type="text/javascript" src="_static/doctools.js"></script>
     <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML,http://www.xmds.org/_static/mathjax-use-tex-fonts.js"></script>
     <link rel="shortcut icon" href="_static/xmds_favicon.ico"/>
-    <link rel="top" title="XMDS2 2.2.2-rc1 documentation" href="index.html" /> 
+    <link rel="top" title="XMDS2 2.2.2 documentation" href="index.html" /> 
   </head>
   <body>
     <div class="related">
@@ -34,7 +34,7 @@
         <li class="right" style="margin-right: 10px">
           <a href="genindex.html" title="General Index"
              accesskey="I">index</a></li>
-        <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li> 
+        <li><a href="index.html">XMDS2 2.2.2 documentation</a> »</li> 
       </ul>
     </div>  
 
@@ -164,13 +164,13 @@
         <li class="right" style="margin-right: 10px">
           <a href="genindex.html" title="General Index"
              >index</a></li>
-        <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li> 
+        <li><a href="index.html">XMDS2 2.2.2 documentation</a> »</li> 
       </ul>
     </div>
     <div class="footer">
         © Copyright 2008-2014, Graham Dennis, Joe Hope and Mattias Johnsson. Licensed under the GNU FDL.
-      Last updated on Oct 11, 2014.
-      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3.
+      Last updated on Oct 14, 2014.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2b1.
     </div>
   </body>
 </html>
\ No newline at end of file
diff --git a/documentation/faq.html b/documentation/faq.html
index 5e2d680..f88b366 100644
--- a/documentation/faq.html
+++ b/documentation/faq.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>Frequently Asked Questions — XMDS2 2.2.2-rc1 documentation</title>
+    <title>Frequently Asked Questions — XMDS2 2.2.2 documentation</title>
     
     <link rel="stylesheet" href="_static/default.css" type="text/css" />
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    './',
-        VERSION:     '2.2.2-rc1',
+        VERSION:     '2.2.2',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -25,7 +25,7 @@
     <script type="text/javascript" src="_static/doctools.js"></script>
     <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML,http://www.xmds.org/_static/mathjax-use-tex-fonts.js"></script>
     <link rel="shortcut icon" href="_static/xmds_favicon.ico"/>
-    <link rel="top" title="XMDS2 2.2.2-rc1 documentation" href="index.html" />
+    <link rel="top" title="XMDS2 2.2.2 documentation" href="index.html" />
     <link rel="next" title="Upgrading From XMDS 1.X" href="upgrade.html" />
     <link rel="prev" title="Advanced Topics" href="advanced_topics.html" /> 
   </head>
@@ -42,7 +42,7 @@
         <li class="right" >
           <a href="advanced_topics.html" title="Advanced Topics"
              accesskey="P">previous</a> |</li>
-        <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li> 
+        <li><a href="index.html">XMDS2 2.2.2 documentation</a> »</li> 
       </ul>
     </div>  
 
@@ -147,13 +147,13 @@
         <li class="right" >
           <a href="advanced_topics.html" title="Advanced Topics"
              >previous</a> |</li>
-        <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li> 
+        <li><a href="index.html">XMDS2 2.2.2 documentation</a> »</li> 
       </ul>
     </div>
     <div class="footer">
         © Copyright 2008-2014, Graham Dennis, Joe Hope and Mattias Johnsson. Licensed under the GNU FDL.
-      Last updated on Oct 11, 2014.
-      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3.
+      Last updated on Oct 14, 2014.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2b1.
     </div>
   </body>
 </html>
\ No newline at end of file
diff --git a/documentation/genindex.html b/documentation/genindex.html
index f32148c..5eaae8c 100644
--- a/documentation/genindex.html
+++ b/documentation/genindex.html
@@ -7,7 +7,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>Index — XMDS2 2.2.2-rc1 documentation</title>
+    <title>Index — XMDS2 2.2.2 documentation</title>
     
     <link rel="stylesheet" href="_static/default.css" type="text/css" />
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@@ -15,7 +15,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    './',
-        VERSION:     '2.2.2-rc1',
+        VERSION:     '2.2.2',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -26,7 +26,7 @@
     <script type="text/javascript" src="_static/doctools.js"></script>
     <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML,http://www.xmds.org/_static/mathjax-use-tex-fonts.js"></script>
     <link rel="shortcut icon" href="_static/xmds_favicon.ico"/>
-    <link rel="top" title="XMDS2 2.2.2-rc1 documentation" href="index.html" /> 
+    <link rel="top" title="XMDS2 2.2.2 documentation" href="index.html" /> 
   </head>
   <body>
     <div class="related">
@@ -35,7 +35,7 @@
         <li class="right" style="margin-right: 10px">
           <a href="#" title="General Index"
              accesskey="I">index</a></li>
-        <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li> 
+        <li><a href="index.html">XMDS2 2.2.2 documentation</a> »</li> 
       </ul>
     </div>  
 
@@ -1057,13 +1057,13 @@
         <li class="right" style="margin-right: 10px">
           <a href="#" title="General Index"
              >index</a></li>
-        <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li> 
+        <li><a href="index.html">XMDS2 2.2.2 documentation</a> »</li> 
       </ul>
     </div>
     <div class="footer">
         © Copyright 2008-2014, Graham Dennis, Joe Hope and Mattias Johnsson. Licensed under the GNU FDL.
-      Last updated on Oct 11, 2014.
-      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3.
+      Last updated on Oct 14, 2014.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2b1.
     </div>
   </body>
 </html>
\ No newline at end of file
diff --git a/documentation/index.html b/documentation/index.html
index 8dd4514..6d93bc9 100644
--- a/documentation/index.html
+++ b/documentation/index.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>Welcome to XMDS2! — XMDS2 2.2.2-rc1 documentation</title>
+    <title>Welcome to XMDS2! — XMDS2 2.2.2 documentation</title>
     
     <link rel="stylesheet" href="_static/default.css" type="text/css" />
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    './',
-        VERSION:     '2.2.2-rc1',
+        VERSION:     '2.2.2',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -25,7 +25,7 @@
     <script type="text/javascript" src="_static/doctools.js"></script>
     <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML,http://www.xmds.org/_static/mathjax-use-tex-fonts.js"></script>
     <link rel="shortcut icon" href="_static/xmds_favicon.ico"/>
-    <link rel="top" title="XMDS2 2.2.2-rc1 documentation" href="#" />
+    <link rel="top" title="XMDS2 2.2.2 documentation" href="#" />
     <link rel="next" title="Introduction" href="introduction.html" /> 
   </head>
   <body>
@@ -38,7 +38,7 @@
         <li class="right" >
           <a href="introduction.html" title="Introduction"
              accesskey="N">next</a> |</li>
-        <li><a href="#">XMDS2 2.2.2-rc1 documentation</a> »</li> 
+        <li><a href="#">XMDS2 2.2.2 documentation</a> »</li> 
       </ul>
     </div>  
 
@@ -308,13 +308,13 @@
         <li class="right" >
           <a href="introduction.html" title="Introduction"
              >next</a> |</li>
-        <li><a href="#">XMDS2 2.2.2-rc1 documentation</a> »</li> 
+        <li><a href="#">XMDS2 2.2.2 documentation</a> »</li> 
       </ul>
     </div>
     <div class="footer">
         © Copyright 2008-2014, Graham Dennis, Joe Hope and Mattias Johnsson. Licensed under the GNU FDL.
-      Last updated on Oct 11, 2014.
-      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3.
+      Last updated on Oct 14, 2014.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2b1.
     </div>
   </body>
 </html>
\ No newline at end of file
diff --git a/documentation/installation.html b/documentation/installation.html
index f1ea3e4..22e0b0d 100644
--- a/documentation/installation.html
+++ b/documentation/installation.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>Installation — XMDS2 2.2.2-rc1 documentation</title>
+    <title>Installation — XMDS2 2.2.2 documentation</title>
     
     <link rel="stylesheet" href="_static/default.css" type="text/css" />
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    './',
-        VERSION:     '2.2.2-rc1',
+        VERSION:     '2.2.2',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -25,7 +25,7 @@
     <script type="text/javascript" src="_static/doctools.js"></script>
     <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML,http://www.xmds.org/_static/mathjax-use-tex-fonts.js"></script>
     <link rel="shortcut icon" href="_static/xmds_favicon.ico"/>
-    <link rel="top" title="XMDS2 2.2.2-rc1 documentation" href="index.html" />
+    <link rel="top" title="XMDS2 2.2.2 documentation" href="index.html" />
     <link rel="next" title="Quickstart Tutorial" href="tutorial.html" />
     <link rel="prev" title="Introduction" href="introduction.html" /> 
   </head>
@@ -42,7 +42,7 @@
         <li class="right" >
           <a href="introduction.html" title="Introduction"
              accesskey="P">previous</a> |</li>
-        <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li> 
+        <li><a href="index.html">XMDS2 2.2.2 documentation</a> »</li> 
       </ul>
     </div>  
 
@@ -376,13 +376,13 @@ The package ‘numpy’ is one of the optional packages, with installati
         <li class="right" >
           <a href="introduction.html" title="Introduction"
              >previous</a> |</li>
-        <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li> 
+        <li><a href="index.html">XMDS2 2.2.2 documentation</a> »</li> 
       </ul>
     </div>
     <div class="footer">
         © Copyright 2008-2014, Graham Dennis, Joe Hope and Mattias Johnsson. Licensed under the GNU FDL.
-      Last updated on Oct 11, 2014.
-      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3.
+      Last updated on Oct 14, 2014.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2b1.
     </div>
   </body>
 </html>
\ No newline at end of file
diff --git a/documentation/introduction.html b/documentation/introduction.html
index 7509c3a..61d1338 100644
--- a/documentation/introduction.html
+++ b/documentation/introduction.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>Introduction — XMDS2 2.2.2-rc1 documentation</title>
+    <title>Introduction — XMDS2 2.2.2 documentation</title>
     
     <link rel="stylesheet" href="_static/default.css" type="text/css" />
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    './',
-        VERSION:     '2.2.2-rc1',
+        VERSION:     '2.2.2',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -25,7 +25,7 @@
     <script type="text/javascript" src="_static/doctools.js"></script>
     <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML,http://www.xmds.org/_static/mathjax-use-tex-fonts.js"></script>
     <link rel="shortcut icon" href="_static/xmds_favicon.ico"/>
-    <link rel="top" title="XMDS2 2.2.2-rc1 documentation" href="index.html" />
+    <link rel="top" title="XMDS2 2.2.2 documentation" href="index.html" />
     <link rel="next" title="Installation" href="installation.html" />
     <link rel="prev" title="Welcome to XMDS2!" href="index.html" /> 
   </head>
@@ -42,7 +42,7 @@
         <li class="right" >
           <a href="index.html" title="Welcome to XMDS2!"
              accesskey="P">previous</a> |</li>
-        <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li> 
+        <li><a href="index.html">XMDS2 2.2.2 documentation</a> »</li> 
       </ul>
     </div>  
 
@@ -116,13 +116,13 @@
         <li class="right" >
           <a href="index.html" title="Welcome to XMDS2!"
              >previous</a> |</li>
-        <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li> 
+        <li><a href="index.html">XMDS2 2.2.2 documentation</a> »</li> 
       </ul>
     </div>
     <div class="footer">
         © Copyright 2008-2014, Graham Dennis, Joe Hope and Mattias Johnsson. Licensed under the GNU FDL.
-      Last updated on Oct 11, 2014.
-      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3.
+      Last updated on Oct 14, 2014.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2b1.
     </div>
   </body>
 </html>
\ No newline at end of file
diff --git a/documentation/latex/fncychap.sty b/documentation/latex/fncychap.sty
deleted file mode 100644
index 9a56c04..0000000
--- a/documentation/latex/fncychap.sty
+++ /dev/null
@@ -1,683 +0,0 @@
-%%% Copyright   Ulf A. Lindgren
-%%%
-%%% Note        Premission is granted to modify this file under
-%%%             the condition that it is saved using another
-%%%             file and package name.
-%%%
-%%% Revision    1.1 (1997)
-%%%
-%%%             Jan. 8th Modified package name base date option
-%%%             Jan. 22th Modified FmN and FmTi for error in book.cls
-%%%                  \MakeUppercase{#}->{\MakeUppercase#}
-%%%             Apr. 6th Modified Lenny option to prevent undesired 
-%%%                  skip of line.
-%%%             Nov. 8th Fixed \@chapapp for AMS
-%%%
-%%% Revision    1.2 (1998)
-%%%
-%%%             Feb. 11th Fixed appendix problem related to Bjarne
-%%%             Aug. 11th Fixed problem related to 11pt and 12pt 
-%%%                  suggested by Tomas Lundberg. THANKS!
-%%%
-%%% Revision    1.3 (2004)
-%%%             Sep. 20th problem with frontmatter, mainmatter and
-%%%                  backmatter, pointed out by Lapo Mori
-%%%
-%%% Revision    1.31 (2004)
-%%%             Sep. 21th problem with the Rejne definition streched text
-%%%                  caused ugly gaps in the vrule aligned with the title
-%%%                  text. Kindly pointed out to me by Hendri Adriaens
-%%%
-%%% Revision    1.32 (2005)
-%%%             Jun. 23th compatibility problem with the KOMA class 'scrbook.cls'
-%%%                  a remedy is a redefinition of '\@schapter' in
-%%%                  line with that used in KOMA. The problem was pointed
-%%%                  out to me by Mikkel Holm Olsen
-%%%
-%%% Revision    1.33 (2005)
-%%%             Aug. 9th misspelled ``TWELV'' corrected, the error was pointed
-%%%                  out to me by George Pearson
-%%%
-%%% Revision    1.34 (2007)
-%%%             Added an alternative to Lenny provided by Peter
-%%%             Osborne (2005-11-28)
-%%%             Corrected front, main and back matter, based on input
-%%%             from Bas van Gils (2006-04-24)
-%%%             Jul. 30th Added Bjornstrup option provided by Jean-Marc
-%%%             Francois (2007-01-05).
-%%%             Reverted to \MakeUppercase{#} see rev 1.1, solved
-%%%             problem with MakeUppercase and MakeLowercase pointed
-%%%             out by Marco Feuerstein  (2007-06-06) 
-
-
-%%% Last modified   Jul. 2007
-
-\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{fncychap}
-             [2007/07/30 v1.34
-                 LaTeX package (Revised chapters)]
-
-%%%% For conditional inclusion of color
-\newif\ifusecolor
-\usecolorfalse
-
-
-
-%%%% DEFINITION OF Chapapp variables
-\newcommand{\CNV}{\huge\bfseries}
-\newcommand{\ChNameVar}[1]{\renewcommand{\CNV}{#1}}
-
-
-%%%% DEFINITION OF TheChapter variables
-\newcommand{\CNoV}{\huge\bfseries}
-\newcommand{\ChNumVar}[1]{\renewcommand{\CNoV}{#1}}
-
-\newif\ifUCN
-\UCNfalse
-\newif\ifLCN
-\LCNfalse
-\def\ChNameLowerCase{\LCNtrue\UCNfalse}
-\def\ChNameUpperCase{\UCNtrue\LCNfalse}
-\def\ChNameAsIs{\UCNfalse\LCNfalse}
-
-%%%%% Fix for AMSBook 971008
-
-\@ifundefined{@chapapp}{\let\@chapapp\chaptername}{}
-
-
-%%%%% Fix for Bjarne and appendix 980211
-
-\newif\ifinapp
-\inappfalse
-\renewcommand\appendix{\par
-  \setcounter{chapter}{0}%
-  \setcounter{section}{0}%
-  \inapptrue%
-  \renewcommand\@chapapp{\appendixname}%
-  \renewcommand\thechapter{\@Alph\c at chapter}}
-
-%%%%% Fix for frontmatter, mainmatter, and backmatter 040920
-
-\@ifundefined{@mainmatter}{\newif\if at mainmatter \@mainmattertrue}{}
-
-%%%%%
-
-
-
-\newcommand{\FmN}[1]{%
-\ifUCN
-   {\MakeUppercase{#1}}\LCNfalse
-\else
-   \ifLCN
-      {\MakeLowercase{#1}}\UCNfalse
-   \else #1
-   \fi
-\fi}
-
-
-%%%% DEFINITION OF Title variables
-\newcommand{\CTV}{\Huge\bfseries}
-\newcommand{\ChTitleVar}[1]{\renewcommand{\CTV}{#1}}
-
-%%%% DEFINITION OF the basic rule width
-\newlength{\RW}
-\setlength{\RW}{1pt}
-\newcommand{\ChRuleWidth}[1]{\setlength{\RW}{#1}}
-
-\newif\ifUCT
-\UCTfalse
-\newif\ifLCT
-\LCTfalse
-\def\ChTitleLowerCase{\LCTtrue\UCTfalse}
-\def\ChTitleUpperCase{\UCTtrue\LCTfalse}
-\def\ChTitleAsIs{\UCTfalse\LCTfalse}
-\newcommand{\FmTi}[1]{%
-\ifUCT
-   {\MakeUppercase{#1}}\LCTfalse
-\else
-   \ifLCT
-      {\MakeLowercase{#1}}\UCTfalse
-   \else {#1}
-   \fi
-\fi}
-
-
-
-\newlength{\mylen}
-\newlength{\myhi}
-\newlength{\px}
-\newlength{\py}
-\newlength{\pyy}
-\newlength{\pxx}
-
-
-\def\mghrulefill#1{\leavevmode\leaders\hrule\@height #1\hfill\kern\z@}
-
-\newcommand{\DOCH}{%
-  \CNV\FmN{\@chapapp}\space \CNoV\thechapter
-  \par\nobreak
-  \vskip 20\p@
-  }
-\newcommand{\DOTI}[1]{%
-    \CTV\FmTi{#1}\par\nobreak
-    \vskip 40\p@
-    }
-\newcommand{\DOTIS}[1]{%
-    \CTV\FmTi{#1}\par\nobreak
-    \vskip 40\p@
-    }
-
-%%%%%% SONNY DEF
-
-\DeclareOption{Sonny}{%
-  \ChNameVar{\Large\sf}
-  \ChNumVar{\Huge}
-  \ChTitleVar{\Large\sf}
-  \ChRuleWidth{0.5pt}
-  \ChNameUpperCase
-  \renewcommand{\DOCH}{%
-    \raggedleft
-    \CNV\FmN{\@chapapp}\space \CNoV\thechapter
-    \par\nobreak
-    \vskip 40\p@}
-  \renewcommand{\DOTI}[1]{%
-    \CTV\raggedleft\mghrulefill{\RW}\par\nobreak
-    \vskip 5\p@
-    \CTV\FmTi{#1}\par\nobreak
-    \mghrulefill{\RW}\par\nobreak
-    \vskip 40\p@}
-  \renewcommand{\DOTIS}[1]{%
-    \CTV\raggedleft\mghrulefill{\RW}\par\nobreak
-    \vskip 5\p@
-    \CTV\FmTi{#1}\par\nobreak
-    \mghrulefill{\RW}\par\nobreak
-    \vskip 40\p@}
-}
-
-%%%%%% LENNY DEF
-
-\DeclareOption{Lenny}{%
-
-  \ChNameVar{\fontsize{14}{16}\usefont{OT1}{phv}{m}{n}\selectfont}
-  \ChNumVar{\fontsize{60}{62}\usefont{OT1}{ptm}{m}{n}\selectfont}
-  \ChTitleVar{\Huge\bfseries\rm}
-  \ChRuleWidth{1pt}
-  \renewcommand{\DOCH}{%
-    \settowidth{\px}{\CNV\FmN{\@chapapp}}
-    \addtolength{\px}{2pt}
-    \settoheight{\py}{\CNV\FmN{\@chapapp}}
-    \addtolength{\py}{1pt}
-
-    \settowidth{\mylen}{\CNV\FmN{\@chapapp}\space\CNoV\thechapter}
-    \addtolength{\mylen}{1pt}
-    \settowidth{\pxx}{\CNoV\thechapter}
-    \addtolength{\pxx}{-1pt}
-
-    \settoheight{\pyy}{\CNoV\thechapter}
-    \addtolength{\pyy}{-2pt}
-    \setlength{\myhi}{\pyy}
-    \addtolength{\myhi}{-1\py}
-    \par
-    \parbox[b]{\textwidth}{%
-    \rule[\py]{\RW}{\myhi}%
-    \hskip -\RW%
-    \rule[\pyy]{\px}{\RW}%
-    \hskip -\px%
-    \raggedright%
-    \CNV\FmN{\@chapapp}\space\CNoV\thechapter%
-    \hskip1pt%
-    \mghrulefill{\RW}%
-    \rule{\RW}{\pyy}\par\nobreak%
-    \vskip -\baselineskip%
-    \vskip -\pyy%
-    \hskip \mylen%
-    \mghrulefill{\RW}\par\nobreak%
-    \vskip \pyy}%
-    \vskip 20\p@}
- 
-
-  \renewcommand{\DOTI}[1]{%
-    \raggedright
-    \CTV\FmTi{#1}\par\nobreak
-    \vskip 40\p@}
-
-  \renewcommand{\DOTIS}[1]{%
-    \raggedright
-    \CTV\FmTi{#1}\par\nobreak
-    \vskip 40\p@}
- }
-
-%%%%%% Peter Osbornes' version of LENNY DEF
-
-\DeclareOption{PetersLenny}{%
-
-% five new lengths 
-\newlength{\bl}                           %  bottom left   : orig \space
-\setlength{\bl}{6pt}
-\newcommand{\BL}[1]{\setlength{\bl}{#1}}
-\newlength{\br}                           %  bottom right  : orig 1pt
-\setlength{\br}{1pt}
-\newcommand{\BR}[1]{\setlength{\br}{#1}}
-\newlength{\tl}                           %  top left      : orig 2pt
-\setlength{\tl}{2pt}
-\newcommand{\TL}[1]{\setlength{\tl}{#1}}
-\newlength{\trr}                           %  top right      :orig 1pt 
-\setlength{\trr}{1pt}
-\newcommand{\TR}[1]{\setlength{\trr}{#1}}
-\newlength{\blrule}                           %  top right      :orig 1pt 
-\setlength{\trr}{0pt}
-\newcommand{\BLrule}[1]{\setlength{\blrule}{#1}}
-
-
-  \ChNameVar{\fontsize{14}{16}\usefont{OT1}{phv}{m}{n}\selectfont}
-  \ChNumVar{\fontsize{60}{62}\usefont{OT1}{ptm}{m}{n}\selectfont}
-  \ChTitleVar{\Huge\bfseries\rm}
-  \ChRuleWidth{1pt}
-\renewcommand{\DOCH}{%
-
-
-%%%%%%%                                   tweaks for 1--9 and A--Z
-\ifcase\c at chapter\relax%
-\or\BL{-3pt}\TL{-4pt}\BR{0pt}\TR{-6pt}%1
-\or\BL{0pt}\TL{-4pt}\BR{2pt}\TR{-4pt}%2
-\or\BL{0pt}\TL{-4pt}\BR{2pt}\TR{-4pt}%3
-\or\BL{0pt}\TL{5pt}\BR{2pt}\TR{-4pt}%4
-\or\BL{0pt}\TL{3pt}\BR{2pt}\TR{-4pt}%5
-\or\BL{-1pt}\TL{0pt}\BR{2pt}\TR{-2pt}%6
-\or\BL{0pt}\TL{-3pt}\BR{2pt}\TR{-2pt}%7
-\or\BL{0pt}\TL{-3pt}\BR{2pt}\TR{-2pt}%8
-\or\BL{0pt}\TL{-3pt}\BR{-4pt}\TR{-2pt}%9
-\or\BL{-3pt}\TL{-3pt}\BR{2pt}\TR{-7pt}%10
-\or\BL{-6pt}\TL{-6pt}\BR{0pt}\TR{-9pt}%11
-\or\BL{-6pt}\TL{-6pt}\BR{2pt}\TR{-7pt}%12
-\or\BL{-5pt}\TL{-5pt}\BR{0pt}\TR{-9pt}%13
-\or\BL{-6pt}\TL{-6pt}\BR{0pt}\TR{-9pt}%14
-\or\BL{-3pt}\TL{-3pt}\BR{3pt}\TR{-6pt}%15
-\or\BL{-3pt}\TL{-3pt}\BR{3pt}\TR{-6pt}%16
-\or\BL{-5pt}\TL{-3pt}\BR{-8pt}\TR{-6pt}%17
-\or\BL{-5pt}\TL{-5pt}\BR{0pt}\TR{-9pt}%18
-\or\BL{-3pt}\TL{-3pt}\BR{-6pt}\TR{-9pt}%19
-\or\BL{0pt}\TL{0pt}\BR{0pt}\TR{-5pt}%20
-\fi
-
-\ifinapp\ifcase\c at chapter\relax%
-\or\BL{0pt}\TL{14pt}\BR{5pt}\TR{-19pt}%A
-\or\BL{0pt}\TL{-5pt}\BR{-3pt}\TR{-8pt}%B
-\or\BL{-3pt}\TL{-2pt}\BR{1pt}\TR{-6pt}\BLrule{0pt}%C
-\or\BL{0pt}\TL{-5pt}\BR{-3pt}\TR{-8pt}\BLrule{0pt}%D
-\or\BL{0pt}\TL{-5pt}\BR{2pt}\TR{-3pt}%E
-\or\BL{0pt}\TL{-5pt}\BR{-10pt}\TR{-1pt}%F
-\or\BL{-3pt}\TL{0pt}\BR{0pt}\TR{-7pt}%G
-\or\BL{0pt}\TL{-5pt}\BR{3pt}\TR{-1pt}%H
-\or\BL{0pt}\TL{-5pt}\BR{3pt}\TR{-1pt}%I
-\or\BL{2pt}\TL{0pt}\BR{-3pt}\TR{1pt}%J
-\or\BL{0pt}\TL{-5pt}\BR{3pt}\TR{-1pt}%K
-\or\BL{0pt}\TL{-5pt}\BR{2pt}\TR{-19pt}%L
-\or\BL{0pt}\TL{-5pt}\BR{3pt}\TR{-1pt}%M
-\or\BL{0pt}\TL{-5pt}\BR{-2pt}\TR{-1pt}%N
-\or\BL{-3pt}\TL{-2pt}\BR{-3pt}\TR{-11pt}%O
-\or\BL{0pt}\TL{-5pt}\BR{-9pt}\TR{-3pt}%P
-\or\BL{-3pt}\TL{-2pt}\BR{-3pt}\TR{-11pt}%Q
-\or\BL{0pt}\TL{-5pt}\BR{4pt}\TR{-8pt}%R
-\or\BL{-2pt}\TL{-2pt}\BR{-2pt}\TR{-7pt}%S
-\or\BL{-3pt}\TL{0pt}\BR{-5pt}\TR{4pt}\BLrule{8pt}%T
-\or\BL{-7pt}\TL{-11pt}\BR{-5pt}\TR{-7pt}\BLrule{0pt}%U
-\or\BL{-14pt}\TL{-5pt}\BR{-14pt}\TR{-1pt}\BLrule{14pt}%V
-\or\BL{-10pt}\TL{-9pt}\BR{-13pt}\TR{-3pt}\BLrule{7pt}%W
-\or\BL{0pt}\TL{-5pt}\BR{3pt}\TR{-1pt}\BLrule{0pt}%X
-\or\BL{-6pt}\TL{-4pt}\BR{-7pt}\TR{1pt}\BLrule{7pt}%Y
-\or\BL{0pt}\TL{-5pt}\BR{3pt}\TR{-1pt}\BLrule{0pt}%Z
-\fi\fi
-%%%%%%%
-    \settowidth{\px}{\CNV\FmN{\@chapapp}}
-    \addtolength{\px}{\tl}        %MOD change 2pt to \tl
-    \settoheight{\py}{\CNV\FmN{\@chapapp}}
-    \addtolength{\py}{1pt}
-
-    \settowidth{\mylen}{\CNV\FmN{\@chapapp}\space\CNoV\thechapter}
-    \addtolength{\mylen}{\trr}% MOD change 1pt to \tr
-    \settowidth{\pxx}{\CNoV\thechapter}
-    \addtolength{\pxx}{-1pt}
-
-    \settoheight{\pyy}{\CNoV\thechapter}
-    \addtolength{\pyy}{-2pt}
-    \setlength{\myhi}{\pyy}
-    \addtolength{\myhi}{-1\py}
-    \par
-    \parbox[b]{\textwidth}{%
-    \rule[\py]{\RW}{\myhi}%
-    \hskip -\RW%
-    \rule[\pyy]{\px}{\RW}% 
-    \hskip -\px%
-    \raggedright%
-    \CNV\FmN{\@chapapp}\rule{\blrule}{\RW}\hskip\bl\CNoV\thechapter%MOD 
-%    \CNV\FmN{\@chapapp}\space\CNoV\thechapter                     %ORIGINAL
-    \hskip\br%                           %MOD 1pt to \br
-    \mghrulefill{\RW}% 
-    \rule{\RW}{\pyy}\par\nobreak% 
-    \vskip -\baselineskip%
-    \vskip -\pyy%
-    \hskip \mylen%
-    \mghrulefill{\RW}\par\nobreak%
-    \vskip \pyy}%
-    \vskip 20\p@}
- 
-
-  \renewcommand{\DOTI}[1]{%
-    \raggedright
-    \CTV\FmTi{#1}\par\nobreak
-    \vskip 40\p@}
-
-  \renewcommand{\DOTIS}[1]{%
-    \raggedright
-    \CTV\FmTi{#1}\par\nobreak
-    \vskip 40\p@}
- }
-
-
-%
-
-
-%%%%%% BJORNSTRUP DEF
-
-\DeclareOption{Bjornstrup}{%
-  \usecolortrue
-  % pzc (Zapf Chancelery) is nice.  ppl (Palatino) is cool too.
-  \ChNumVar{\fontsize{76}{80}\usefont{OT1}{pzc}{m}{n}\selectfont}
-  \ChTitleVar{\raggedleft\Large\sffamily\bfseries}
-
-  \setlength{\myhi}{10pt}         % Space between grey box border and text
-  \setlength{\mylen}{\textwidth}
-  \addtolength{\mylen}{-2\myhi}
-  \renewcommand{\DOCH}{%
-    \settowidth{\py}{\CNoV\thechapter}
-    \addtolength{\py}{-10pt}      % Amount of space by which the
-%                                  % number is shifted right
-    \fboxsep=0pt%
-    \colorbox[gray]{.85}{\rule{0pt}{40pt}\parbox[b]{\textwidth}{\hfill}}%
-    \kern-\py\raise20pt%
-    \hbox{\color[gray]{.5}\CNoV\thechapter}\\%
-  }
-  
-  \renewcommand{\DOTI}[1]{%
-    \nointerlineskip\raggedright%
-    \fboxsep=\myhi%
-    \vskip-1ex%
-    \colorbox[gray]{.85}{\parbox[t]{\mylen}{\CTV\FmTi{#1}}}\par\nobreak%
-    \vskip 40\p@%
-  }
-
-  \renewcommand{\DOTIS}[1]{%
-    \fboxsep=0pt
-    \colorbox[gray]{.85}{\rule{0pt}{40pt}\parbox[b]{\textwidth}{\hfill}}\\%
-    \nointerlineskip\raggedright%
-    \fboxsep=\myhi%
-    \colorbox[gray]{.85}{\parbox[t]{\mylen}{\CTV\FmTi{#1}}}\par\nobreak%
-    \vskip 40\p@%
-  }
-}
-
-
-%%%%%%% GLENN DEF
-
-
-\DeclareOption{Glenn}{%
-  \ChNameVar{\bfseries\Large\sf}
-  \ChNumVar{\Huge}
-  \ChTitleVar{\bfseries\Large\rm}
-  \ChRuleWidth{1pt}
-  \ChNameUpperCase
-  \ChTitleUpperCase
-  \renewcommand{\DOCH}{%
-    \settoheight{\myhi}{\CTV\FmTi{Test}}
-    \setlength{\py}{\baselineskip}
-    \addtolength{\py}{\RW}
-    \addtolength{\py}{\myhi}
-    \setlength{\pyy}{\py}
-    \addtolength{\pyy}{-1\RW}
-     
-    \raggedright
-    \CNV\FmN{\@chapapp}\space\CNoV\thechapter
-    \hskip 3pt\mghrulefill{\RW}\rule[-1\pyy]{2\RW}{\py}\par\nobreak}
-
-  \renewcommand{\DOTI}[1]{%
-    \addtolength{\pyy}{-4pt}
-    \settoheight{\myhi}{\CTV\FmTi{#1}}
-    \addtolength{\myhi}{\py}
-    \addtolength{\myhi}{-1\RW}
-    \vskip -1\pyy
-    \rule{2\RW}{\myhi}\mghrulefill{\RW}\hskip 2pt
-    \raggedleft\CTV\FmTi{#1}\par\nobreak
-    \vskip 80\p@}
-
-\newlength{\backskip}
-  \renewcommand{\DOTIS}[1]{%
-%    \setlength{\py}{10pt}
-%    \setlength{\pyy}{\py}
-%    \addtolength{\pyy}{\RW}
-%    \setlength{\myhi}{\baselineskip}
-%    \addtolength{\myhi}{\pyy}
-%    \mghrulefill{\RW}\rule[-1\py]{2\RW}{\pyy}\par\nobreak
-%    \addtolength{}{}
-%\vskip -1\baselineskip
-%    \rule{2\RW}{\myhi}\mghrulefill{\RW}\hskip 2pt
-%    \raggedleft\CTV\FmTi{#1}\par\nobreak
-%    \vskip 60\p@}
-%% Fix suggested by Tomas Lundberg
-    \setlength{\py}{25pt}  % eller vad man vill
-    \setlength{\pyy}{\py}
-    \setlength{\backskip}{\py}
-    \addtolength{\backskip}{2pt}
-    \addtolength{\pyy}{\RW}
-    \setlength{\myhi}{\baselineskip}
-    \addtolength{\myhi}{\pyy}
-    \mghrulefill{\RW}\rule[-1\py]{2\RW}{\pyy}\par\nobreak
-    \vskip -1\backskip
-    \rule{2\RW}{\myhi}\mghrulefill{\RW}\hskip 3pt %
-    \raggedleft\CTV\FmTi{#1}\par\nobreak
-    \vskip 40\p@}
- }
-
-%%%%%%% CONNY DEF
-
-\DeclareOption{Conny}{%
-  \ChNameUpperCase
-  \ChTitleUpperCase  
-  \ChNameVar{\centering\Huge\rm\bfseries}
-  \ChNumVar{\Huge}
-  \ChTitleVar{\centering\Huge\rm}
-  \ChRuleWidth{2pt}
-
-  \renewcommand{\DOCH}{%
-    \mghrulefill{3\RW}\par\nobreak
-    \vskip -0.5\baselineskip
-    \mghrulefill{\RW}\par\nobreak
-    \CNV\FmN{\@chapapp}\space \CNoV\thechapter
-    \par\nobreak
-    \vskip -0.5\baselineskip
-   }
-  \renewcommand{\DOTI}[1]{%
-    \mghrulefill{\RW}\par\nobreak
-    \CTV\FmTi{#1}\par\nobreak
-    \vskip 60\p@
-    }
-  \renewcommand{\DOTIS}[1]{%
-    \mghrulefill{\RW}\par\nobreak
-    \CTV\FmTi{#1}\par\nobreak
-    \vskip 60\p@
-    }
-  }
-
-%%%%%%% REJNE DEF
-
-\DeclareOption{Rejne}{%
-
-  \ChNameUpperCase
-  \ChTitleUpperCase  
-  \ChNameVar{\centering\Large\rm}
-  \ChNumVar{\Huge}
-  \ChTitleVar{\centering\Huge\rm}
-  \ChRuleWidth{1pt}
-  \renewcommand{\DOCH}{%
-    \settoheight{\py}{\CNoV\thechapter}
-    \parskip=0pt plus 1pt % Set parskip to default, just in case v1.31
-    \addtolength{\py}{-1pt}
-    \CNV\FmN{\@chapapp}\par\nobreak
-    \vskip 20\p@
-    \setlength{\myhi}{2\baselineskip}
-    \setlength{\px}{\myhi}
-    \addtolength{\px}{-1\RW}
-    \rule[-1\px]{\RW}{\myhi}\mghrulefill{\RW}\hskip
-    10pt\raisebox{-0.5\py}{\CNoV\thechapter}\hskip 10pt\mghrulefill{\RW}\rule[-1\px]{\RW}{\myhi}\par\nobreak
-     \vskip -3\p@% Added -2pt vskip to correct for streched text v1.31
-    }
-  \renewcommand{\DOTI}[1]{%
-    \setlength{\mylen}{\textwidth}
-    \parskip=0pt plus 1pt % Set parskip to default, just in case v1.31
-    \addtolength{\mylen}{-2\RW}
-    {\vrule width\RW}\parbox{\mylen}{\CTV\FmTi{#1}}{\vrule width\RW}\par\nobreak%
-    \vskip -3pt\rule{\RW}{2\baselineskip}\mghrulefill{\RW}\rule{\RW}{2\baselineskip}%
-    \vskip 60\p@% Added -2pt in vskip to correct for streched text v1.31
-    }
-  \renewcommand{\DOTIS}[1]{%
-    \setlength{\py}{\fboxrule}
-    \setlength{\fboxrule}{\RW}
-    \setlength{\mylen}{\textwidth}
-    \addtolength{\mylen}{-2\RW}
-    \fbox{\parbox{\mylen}{\vskip 2\baselineskip\CTV\FmTi{#1}\par\nobreak\vskip \baselineskip}} 
-    \setlength{\fboxrule}{\py}
-    \vskip 60\p@
-    }
-  }
-
-
-%%%%%%% BJARNE DEF
-
-\DeclareOption{Bjarne}{%
-  \ChNameUpperCase
-  \ChTitleUpperCase  
-  \ChNameVar{\raggedleft\normalsize\rm}
-  \ChNumVar{\raggedleft \bfseries\Large}
-  \ChTitleVar{\raggedleft \Large\rm}
-  \ChRuleWidth{1pt}
-
-
-%% Note thechapter -> c at chapter fix appendix bug
-%% Fixed misspelled 12
-
-  \newcounter{AlphaCnt}
-  \newcounter{AlphaDecCnt}
-  \newcommand{\AlphaNo}{%
-    \ifcase\number\theAlphaCnt
-      \ifnum\c at chapter=0
-        ZERO\else{}\fi
-    \or ONE\or TWO\or THREE\or FOUR\or FIVE
-    \or SIX\or SEVEN\or EIGHT\or NINE\or TEN
-    \or ELEVEN\or TWELVE\or THIRTEEN\or FOURTEEN\or FIFTEEN
-    \or SIXTEEN\or SEVENTEEN\or EIGHTEEN\or NINETEEN\fi
-}
-
-  \newcommand{\AlphaDecNo}{%
-    \setcounter{AlphaDecCnt}{0}
-    \@whilenum\number\theAlphaCnt>0\do
-      {\addtocounter{AlphaCnt}{-10}
-       \addtocounter{AlphaDecCnt}{1}}
-     \ifnum\number\theAlphaCnt=0
-     \else
-       \addtocounter{AlphaDecCnt}{-1}
-       \addtocounter{AlphaCnt}{10}
-     \fi
-     
-     
-    \ifcase\number\theAlphaDecCnt\or TEN\or TWENTY\or THIRTY\or
-    FORTY\or FIFTY\or SIXTY\or SEVENTY\or EIGHTY\or NINETY\fi
-    }
-  \newcommand{\TheAlphaChapter}{%
-    
-    \ifinapp 
-      \thechapter
-    \else
-      \setcounter{AlphaCnt}{\c at chapter}
-      \ifnum\c at chapter<20
-        \AlphaNo
-      \else
-        \AlphaDecNo\AlphaNo
-      \fi
-    \fi
-    }  
-  \renewcommand{\DOCH}{%
-    \mghrulefill{\RW}\par\nobreak
-    \CNV\FmN{\@chapapp}\par\nobreak 
-    \CNoV\TheAlphaChapter\par\nobreak
-    \vskip -1\baselineskip\vskip 5pt\mghrulefill{\RW}\par\nobreak
-    \vskip 20\p@
-    }
-  \renewcommand{\DOTI}[1]{%
-    \CTV\FmTi{#1}\par\nobreak
-    \vskip 40\p@
-    }
-  \renewcommand{\DOTIS}[1]{%
-    \CTV\FmTi{#1}\par\nobreak
-    \vskip 40\p@
-    }
-}
-
-\DeclareOption*{%
-  \PackageWarning{fancychapter}{unknown style option}
-  }
-
-\ProcessOptions* \relax
-
-\ifusecolor
-  \RequirePackage{color} 
-\fi
-\def\@makechapterhead#1{%
-  \vspace*{50\p@}%
-  {\parindent \z@ \raggedright \normalfont
-    \ifnum \c at secnumdepth >\m at ne
-      \if at mainmatter%%%%% Fix for frontmatter, mainmatter, and backmatter 040920
-        \DOCH
-      \fi
-    \fi
-    \interlinepenalty\@M
-    \if at mainmatter%%%%% Fix for frontmatter, mainmatter, and backmatter 060424
-      \DOTI{#1}%
-    \else%
-      \DOTIS{#1}%
-    \fi
-  }}
-
-
-%%% Begin: To avoid problem with scrbook.cls (fncychap version 1.32)
-
-%%OUT:
-%\def\@schapter#1{\if at twocolumn
-%                   \@topnewpage[\@makeschapterhead{#1}]%
-%                 \else
-%                   \@makeschapterhead{#1}%
-%                   \@afterheading
-%                 \fi}
-
-%%IN:
-\def\@schapter#1{%
-\if at twocolumn%
-  \@makeschapterhead{#1}%
-\else%
-  \@makeschapterhead{#1}%
-  \@afterheading%
-\fi}
-
-%%% End: To avoid problem with scrbook.cls (fncychap version 1.32)
-
-\def\@makeschapterhead#1{%
-  \vspace*{50\p@}%
-  {\parindent \z@ \raggedright
-    \normalfont
-    \interlinepenalty\@M
-    \DOTIS{#1}
-    \vskip 40\p@
-  }}
-
-\endinput
-
-
diff --git a/documentation/latex/sphinx.sty b/documentation/latex/sphinx.sty
deleted file mode 100644
index ee0a923..0000000
--- a/documentation/latex/sphinx.sty
+++ /dev/null
@@ -1,524 +0,0 @@
-%
-% sphinx.sty
-%
-% Adapted from the old python.sty, mostly written by Fred Drake,
-% by Georg Brandl.
-%
-
-\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{sphinx}[2010/01/15 LaTeX package (Sphinx markup)]
-
-\@ifclassloaded{memoir}{}{\RequirePackage{fancyhdr}}
-
-\RequirePackage{textcomp}
-\RequirePackage{fancybox}
-\RequirePackage{titlesec}
-\RequirePackage{tabulary}
-\RequirePackage{amsmath} % for \text
-\RequirePackage{makeidx}
-\RequirePackage{framed}
-\RequirePackage{ifthen}
-\RequirePackage{color}
-% For highlighted code.
-\RequirePackage{fancyvrb}
-% For table captions.
-\RequirePackage{threeparttable}
-% Handle footnotes in tables.
-\RequirePackage{footnote}
-\makesavenoteenv{tabulary}
-% For floating figures in the text.
-\RequirePackage{wrapfig}
-% Separate paragraphs by space by default.
-\RequirePackage{parskip}
-% For parsed-literal blocks.
-\RequirePackage{alltt}
-% Display "real" single quotes in literal blocks.
-\RequirePackage{upquote}
-
-% Redefine these colors to your liking in the preamble.
-\definecolor{TitleColor}{rgb}{0.126,0.263,0.361}
-\definecolor{InnerLinkColor}{rgb}{0.208,0.374,0.486}
-\definecolor{OuterLinkColor}{rgb}{0.216,0.439,0.388}
-% Redefine these colors to something not white if you want to have colored
-% background and border for code examples.
-\definecolor{VerbatimColor}{rgb}{1,1,1}
-\definecolor{VerbatimBorderColor}{rgb}{1,1,1}
-
-% Uncomment these two lines to ignore the paper size and make the page 
-% size more like a typical published manual.
-%\renewcommand{\paperheight}{9in}
-%\renewcommand{\paperwidth}{8.5in}   % typical squarish manual
-%\renewcommand{\paperwidth}{7in}     % O'Reilly ``Programmming Python''
-
-% use pdfoutput for pTeX and dvipdfmx
-\ifx\kanjiskip\undefined\else
-  \ifx\Gin at driver{dvipdfmx.def}\undefined\else
-    \newcount\pdfoutput\pdfoutput=0
-  \fi
-\fi
-
-% For graphicx, check if we are compiling under latex or pdflatex.
-\ifx\pdftexversion\undefined
-  \usepackage{graphicx}
-\else
-  \usepackage[pdftex]{graphicx}
-\fi
-
-% for PDF output, use colors and maximal compression
-\newif\ifsphinxpdfoutput\sphinxpdfoutputfalse
-\ifx\pdfoutput\undefined\else\ifcase\pdfoutput
-  \let\py at NormalColor\relax
-  \let\py at TitleColor\relax
-\else
-  \sphinxpdfoutputtrue
-  \input{pdfcolor}
-  \def\py at NormalColor{\color[rgb]{0.0,0.0,0.0}}
-  \def\py at TitleColor{\color{TitleColor}}
-  \pdfcompresslevel=9
-\fi\fi
-
-% XeLaTeX can do colors, too
-\ifx\XeTeXrevision\undefined\else
-  \def\py at NormalColor{\color[rgb]{0.0,0.0,0.0}}
-  \def\py at TitleColor{\color{TitleColor}}
-\fi
-
-% Increase printable page size (copied from fullpage.sty)
-\topmargin 0pt
-\advance \topmargin by -\headheight
-\advance \topmargin by -\headsep
-
-% attempt to work a little better for A4 users
-\textheight \paperheight
-\advance\textheight by -2in
-
-\oddsidemargin 0pt
-\evensidemargin 0pt
-%\evensidemargin -.25in  % for ``manual size'' documents
-\marginparwidth 0.5in
-
-\textwidth \paperwidth
-\advance\textwidth by -2in
-
-
-% Style parameters and macros used by most documents here
-\raggedbottom
-\sloppy
-\hbadness = 5000                % don't print trivial gripes
-
-\pagestyle{empty}               % start this way
-
-% Use this to set the font family for headers and other decor:
-\newcommand{\py at HeaderFamily}{\sffamily\bfseries}
-
-% Redefine the 'normal' header/footer style when using "fancyhdr" package:
-\@ifundefined{fancyhf}{}{
-  % Use \pagestyle{normal} as the primary pagestyle for text.
-  \fancypagestyle{normal}{
-    \fancyhf{}
-    \fancyfoot[LE,RO]{{\py at HeaderFamily\thepage}}
-    \fancyfoot[LO]{{\py at HeaderFamily\nouppercase{\rightmark}}}
-    \fancyfoot[RE]{{\py at HeaderFamily\nouppercase{\leftmark}}}
-    \fancyhead[LE,RO]{{\py at HeaderFamily \@title, \py at release}}
-    \renewcommand{\headrulewidth}{0.4pt}
-    \renewcommand{\footrulewidth}{0.4pt}
-    % define chaptermark with \@chappos when \@chappos is available for Japanese
-    \ifx\@chappos\undefined\else
-      \def\chaptermark##1{\markboth{\@chapapp\space\thechapter\space\@chappos\space ##1}{}}
-    \fi
-  }
-  % Update the plain style so we get the page number & footer line,
-  % but not a chapter or section title.  This is to keep the first
-  % page of a chapter and the blank page between chapters `clean.'
-  \fancypagestyle{plain}{
-    \fancyhf{}
-    \fancyfoot[LE,RO]{{\py at HeaderFamily\thepage}}
-    \renewcommand{\headrulewidth}{0pt}
-    \renewcommand{\footrulewidth}{0.4pt}
-  }
-}
-
-% Some custom font markup commands.
-%
-\newcommand{\strong}[1]{{\textbf{#1}}}
-\newcommand{\code}[1]{\texttt{#1}}
-\newcommand{\bfcode}[1]{\code{\bfseries#1}}
-\newcommand{\email}[1]{\textsf{#1}}
-
-% Redefine the Verbatim environment to allow border and background colors.
-% The original environment is still used for verbatims within tables.
-\let\OriginalVerbatim=\Verbatim
-\let\endOriginalVerbatim=\endVerbatim
-
-% Play with vspace to be able to keep the indentation.
-\newlength\distancetoright
-\def\mycolorbox#1{%
-  \setlength\distancetoright{\linewidth}%
-  \advance\distancetoright -\@totalleftmargin %
-  \fcolorbox{VerbatimBorderColor}{VerbatimColor}{%
-  \begin{minipage}{\distancetoright}%
-    #1
-  \end{minipage}%
-  }%
-}
-\def\FrameCommand{\mycolorbox}
-
-\renewcommand{\Verbatim}[1][1]{%
-  % list starts new par, but we don't want it to be set apart vertically
-  \bgroup\parskip=0pt%
-  \smallskip%
-  % The list environement is needed to control perfectly the vertical
-  % space.
-  \list{}{%
-  \setlength\parskip{0pt}%
-  \setlength\itemsep{0ex}%
-  \setlength\topsep{0ex}%
-  \setlength\partopsep{0pt}%
-  \setlength\leftmargin{0pt}%
-  }%
-  \item\MakeFramed {\FrameRestore}%
-     \small%
-    \OriginalVerbatim[#1]%
-}
-\renewcommand{\endVerbatim}{%
-    \endOriginalVerbatim%
-  \endMakeFramed%
-  \endlist%
-  % close group to restore \parskip
-  \egroup%
-}
-
-
-% \moduleauthor{name}{email}
-\newcommand{\moduleauthor}[2]{}
-
-% \sectionauthor{name}{email}
-\newcommand{\sectionauthor}[2]{}
-
-% Augment the sectioning commands used to get our own font family in place,
-% and reset some internal data items:
-\titleformat{\section}{\Large\py at HeaderFamily}%
-            {\py at TitleColor\thesection}{0.5em}{\py at TitleColor}{\py at NormalColor}
-\titleformat{\subsection}{\large\py at HeaderFamily}%
-            {\py at TitleColor\thesubsection}{0.5em}{\py at TitleColor}{\py at NormalColor}
-\titleformat{\subsubsection}{\py at HeaderFamily}%
-            {\py at TitleColor\thesubsubsection}{0.5em}{\py at TitleColor}{\py at NormalColor}
-\titleformat{\paragraph}{\small\py at HeaderFamily}%
-            {\py at TitleColor}{0em}{\py at TitleColor}{\py at NormalColor}
-
-% {fulllineitems} is the main environment for object descriptions.
-%
-\newcommand{\py at itemnewline}[1]{%
-  \@tempdima\linewidth%
-  \advance\@tempdima \leftmargin\makebox[\@tempdima][l]{#1}%
-}
-
-\newenvironment{fulllineitems}{
-  \begin{list}{}{\labelwidth \leftmargin \labelsep 0pt
-                 \rightmargin 0pt \topsep -\parskip \partopsep \parskip
-                 \itemsep -\parsep
-                 \let\makelabel=\py at itemnewline}
-}{\end{list}}
-
-% \optional is used for ``[, arg]``, i.e. desc_optional nodes.
-\newcommand{\optional}[1]{%
-  {\textnormal{\Large[}}{#1}\hspace{0.5mm}{\textnormal{\Large]}}}
-
-\newlength{\py at argswidth}
-\newcommand{\py at sigparams}[2]{%
-  \parbox[t]{\py at argswidth}{#1\code{)}#2}}
-\newcommand{\pysigline}[1]{\item[#1]\nopagebreak}
-\newcommand{\pysiglinewithargsret}[3]{%
-  \settowidth{\py at argswidth}{#1\code{(}}%
-  \addtolength{\py at argswidth}{-2\py at argswidth}%
-  \addtolength{\py at argswidth}{\linewidth}%
-  \item[#1\code{(}\py at sigparams{#2}{#3}]}
-
-% Production lists
-%
-\newenvironment{productionlist}{
-%  \def\optional##1{{\Large[}##1{\Large]}}
-  \def\production##1##2{\\\code{##1}&::=&\code{##2}}
-  \def\productioncont##1{\\& &\code{##1}}
-  \parindent=2em
-  \indent
-  \setlength{\LTpre}{0pt}
-  \setlength{\LTpost}{0pt}
-  \begin{longtable}[l]{lcl}
-}{%
-  \end{longtable}
-}
-
-% Notices / Admonitions
-%
-\newlength{\py at noticelength}
-
-\newcommand{\py at heavybox}{
-  \setlength{\fboxrule}{1pt}
-  \setlength{\fboxsep}{6pt}
-  \setlength{\py at noticelength}{\linewidth}
-  \addtolength{\py at noticelength}{-2\fboxsep}
-  \addtolength{\py at noticelength}{-2\fboxrule}
-  %\setlength{\shadowsize}{3pt}
-  \noindent\Sbox
-  \minipage{\py at noticelength}
-}
-\newcommand{\py at endheavybox}{
-  \endminipage
-  \endSbox
-  \fbox{\TheSbox}
-}
-
-\newcommand{\py at lightbox}{{%
-  \setlength\parskip{0pt}\par
-  \noindent\rule[0ex]{\linewidth}{0.5pt}%
-  \par\noindent\vspace{-0.5ex}%
-  }}
-\newcommand{\py at endlightbox}{{%
-  \setlength{\parskip}{0pt}%
-  \par\noindent\rule[0.5ex]{\linewidth}{0.5pt}%
-  \par\vspace{-0.5ex}%
-  }}
-
-% Some are quite plain:
-\newcommand{\py at noticestart@note}{\py at lightbox}
-\newcommand{\py at noticeend@note}{\py at endlightbox}
-\newcommand{\py at noticestart@hint}{\py at lightbox}
-\newcommand{\py at noticeend@hint}{\py at endlightbox}
-\newcommand{\py at noticestart@important}{\py at lightbox}
-\newcommand{\py at noticeend@important}{\py at endlightbox}
-\newcommand{\py at noticestart@tip}{\py at lightbox}
-\newcommand{\py at noticeend@tip}{\py at endlightbox}
-
-% Others gets more visible distinction:
-\newcommand{\py at noticestart@warning}{\py at heavybox}
-\newcommand{\py at noticeend@warning}{\py at endheavybox}
-\newcommand{\py at noticestart@caution}{\py at heavybox}
-\newcommand{\py at noticeend@caution}{\py at endheavybox}
-\newcommand{\py at noticestart@attention}{\py at heavybox}
-\newcommand{\py at noticeend@attention}{\py at endheavybox}
-\newcommand{\py at noticestart@danger}{\py at heavybox}
-\newcommand{\py at noticeend@danger}{\py at endheavybox}
-\newcommand{\py at noticestart@error}{\py at heavybox}
-\newcommand{\py at noticeend@error}{\py at endheavybox}
-
-\newenvironment{notice}[2]{
-  \def\py at noticetype{#1}
-  \csname py at noticestart@#1\endcsname
-  \strong{#2}
-}{\csname py at noticeend@\py at noticetype\endcsname}
-
-% Allow the release number to be specified independently of the
-% \date{}.  This allows the date to reflect the document's date and
-% release to specify the release that is documented.
-%
-\newcommand{\py at release}{}
-\newcommand{\version}{}
-\newcommand{\shortversion}{}
-\newcommand{\releaseinfo}{}
-\newcommand{\releasename}{Release}
-\newcommand{\release}[1]{%
-  \renewcommand{\py at release}{\releasename\space\version}%
-  \renewcommand{\version}{#1}}
-\newcommand{\setshortversion}[1]{%
-  \renewcommand{\shortversion}{#1}}
-\newcommand{\setreleaseinfo}[1]{%
-  \renewcommand{\releaseinfo}{#1}}
-
-% Allow specification of the author's address separately from the
-% author's name.  This can be used to format them differently, which
-% is a good thing.
-%
-\newcommand{\py at authoraddress}{}
-\newcommand{\authoraddress}[1]{\renewcommand{\py at authoraddress}{#1}}
-
-% This sets up the fancy chapter headings that make the documents look
-% at least a little better than the usual LaTeX output.
-%
-\@ifundefined{ChTitleVar}{}{
-  \ChNameVar{\raggedleft\normalsize\py at HeaderFamily}
-  \ChNumVar{\raggedleft \bfseries\Large\py at HeaderFamily}
-  \ChTitleVar{\raggedleft \textrm{\Huge\py at HeaderFamily}}
-  % This creates chapter heads without the leading \vspace*{}:
-  \def\@makechapterhead#1{%
-    {\parindent \z@ \raggedright \normalfont
-      \ifnum \c at secnumdepth >\m at ne
-        \DOCH
-      \fi
-      \interlinepenalty\@M
-      \DOTI{#1}
-    }
-  }
-}
-
-% Redefine description environment so that it is usable inside fulllineitems.
-%
-\renewcommand{\description}{%
-  \list{}{\labelwidth\z@%
-          \itemindent-\leftmargin%
-	  \labelsep5pt%
-          \let\makelabel=\descriptionlabel}}
-
-% Definition lists; requested by AMK for HOWTO documents.  Probably useful
-% elsewhere as well, so keep in in the general style support.
-%
-\newenvironment{definitions}{%
-  \begin{description}%
-  \def\term##1{\item[##1]\mbox{}\\*[0mm]}
-}{%
-  \end{description}%
-}
-
-% Tell TeX about pathological hyphenation cases:
-\hyphenation{Base-HTTP-Re-quest-Hand-ler}
-
-
-% The following is stuff copied from docutils' latex writer.
-%
-\newcommand{\optionlistlabel}[1]{\bf #1 \hfill}
-\newenvironment{optionlist}[1]
-{\begin{list}{}
-  {\setlength{\labelwidth}{#1}
-   \setlength{\rightmargin}{1cm}
-   \setlength{\leftmargin}{\rightmargin}
-   \addtolength{\leftmargin}{\labelwidth}
-   \addtolength{\leftmargin}{\labelsep}
-   \renewcommand{\makelabel}{\optionlistlabel}}
-}{\end{list}}
-
-\newlength{\lineblockindentation}
-\setlength{\lineblockindentation}{2.5em}
-\newenvironment{lineblock}[1]
-{\begin{list}{}
-  {\setlength{\partopsep}{\parskip}
-   \addtolength{\partopsep}{\baselineskip}
-   \topsep0pt\itemsep0.15\baselineskip\parsep0pt
-   \leftmargin#1}
- \raggedright}
-{\end{list}}
-
-% Redefine includgraphics for avoiding images larger than the screen size
-% If the size is not specified.
-\let\py at Oldincludegraphics\includegraphics
-
-\newbox\image at box%
-\newdimen\image at width%
-\renewcommand\includegraphics[2][\@empty]{%
-  \ifx#1\@empty%
-    \setbox\image at box=\hbox{\py at Oldincludegraphics{#2}}%
-    \image at width\wd\image at box%
-    \ifdim \image at width>\linewidth%
-      \setbox\image at box=\hbox{\py at Oldincludegraphics[width=\linewidth]{#2}}%
-      \box\image at box%
-    \else%
-      \py at Oldincludegraphics{#2}%
-    \fi%
-  \else%
-    \py at Oldincludegraphics[#1]{#2}%
-  \fi%
-}
-
-% to make pdf with correct encoded bookmarks in Japanese
-% this should precede the hyperref package
-\ifx\kanjiskip\undefined\else
-  \usepackage{atbegshi}
-  \ifx\ucs\undefined
-    \ifnum 42146=\euc"A4A2
-      \AtBeginShipoutFirst{\special{pdf:tounicode EUC-UCS2}}
-    \else
-      \AtBeginShipoutFirst{\special{pdf:tounicode 90ms-RKSJ-UCS2}}
-    \fi
-  \else
-    \AtBeginShipoutFirst{\special{pdf:tounicode UTF8-UCS2}}
-  \fi
-\fi
-
-% Include hyperref last.
-\RequirePackage[colorlinks,breaklinks,
-                linkcolor=InnerLinkColor,filecolor=OuterLinkColor,
-                menucolor=OuterLinkColor,urlcolor=OuterLinkColor,
-                citecolor=InnerLinkColor]{hyperref}
-% Fix anchor placement for figures with captions.
-% (Note: we don't use a package option here; instead, we give an explicit
-% \capstart for figures that actually have a caption.)
-\RequirePackage{hypcap}
-
-% From docutils.writers.latex2e
-\providecommand{\DUspan}[2]{%
-  {% group ("span") to limit the scope of styling commands
-    \@for\node at class@name:=#1\do{%
-    \ifcsname docutilsrole\node at class@name\endcsname%
-      \csname docutilsrole\node at class@name\endcsname%
-    \fi%
-    }%
-    {#2}% node content
-  }% close "span"
-}
-
-\providecommand*{\DUprovidelength}[2]{
-  \ifthenelse{\isundefined{#1}}{\newlength{#1}\setlength{#1}{#2}}{}
-}
-
-\DUprovidelength{\DUlineblockindent}{2.5em}
-\ifthenelse{\isundefined{\DUlineblock}}{
-  \newenvironment{DUlineblock}[1]{%
-    \list{}{\setlength{\partopsep}{\parskip}
-            \addtolength{\partopsep}{\baselineskip}
-            \setlength{\topsep}{0pt}
-            \setlength{\itemsep}{0.15\baselineskip}
-            \setlength{\parsep}{0pt}
-            \setlength{\leftmargin}{#1}}
-    \raggedright
-  }
-  {\endlist}
-}{}
-
-
-% From footmisc.sty: allows footnotes in titles
-\let\FN at sf@@footnote\footnote
-\def\footnote{\ifx\protect\@typeset at protect
-    \expandafter\FN at sf@@footnote
-  \else
-    \expandafter\FN at sf@gobble at opt
-  \fi
-}
-\edef\FN at sf@gobble at opt{\noexpand\protect
-  \expandafter\noexpand\csname FN at sf@gobble at opt \endcsname}
-\expandafter\def\csname FN at sf@gobble at opt \endcsname{%
-  \@ifnextchar[%]
-    \FN at sf@gobble at twobracket
-    \@gobble
-}
-\def\FN at sf@gobble at twobracket[#1]#2{}
-
-% adjust the margins for footer,
-% this works with the jsclasses only (Japanese standard document classes)
-\ifx\@jsc at uplatextrue\undefined\else
-  \hypersetup{setpagesize=false}
-  \setlength\footskip{2\baselineskip}
-  \addtolength{\textheight}{-2\baselineskip}
-\fi
-
-% fix the double index and bibliography on the table of contents
-% in jsclasses (Japanese standard document classes)
-\ifx\@jsc at uplatextrue\undefined\else
-  \renewcommand{\theindex}{
-    \cleardoublepage
-    \phantomsection
-    \py at OldTheindex
-  }
-  \renewcommand{\thebibliography}[1]{
-    \cleardoublepage
-    \phantomsection
-    \py at OldThebibliography{1}
-  }
-\fi
-
-% disable \@chappos in Appendix in pTeX
-\ifx\kanjiskip\undefined\else
-  \let\py at OldAppendix=\appendix
-  \renewcommand{\appendix}{
-    \py at OldAppendix
-    \gdef\@chappos{}
-  }
-\fi
diff --git a/documentation/latex/sphinxhowto.cls b/documentation/latex/sphinxhowto.cls
deleted file mode 100644
index 26e63a7..0000000
--- a/documentation/latex/sphinxhowto.cls
+++ /dev/null
@@ -1,104 +0,0 @@
-%
-% sphinxhowto.cls for Sphinx (http://sphinx-doc.org/)
-%
-
-\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesClass{sphinxhowto}[2009/06/02 Document class (Sphinx HOWTO)]
-
-% 'oneside' option overriding the 'twoside' default
-\newif\if at oneside
-\DeclareOption{oneside}{\@onesidetrue}
-% Pass remaining document options to the parent class.
-\DeclareOption*{\PassOptionsToClass{\CurrentOption}{\sphinxdocclass}}
-\ProcessOptions\relax
-
-% Default to two-side document
-\if at oneside
-% nothing to do (oneside is the default)
-\else
-\PassOptionsToClass{twoside}{\sphinxdocclass}
-\fi
-
-\LoadClass{\sphinxdocclass}
-
-% Set some sane defaults for section numbering depth and TOC depth.  You can
-% reset these counters in your preamble.
-%
-\setcounter{secnumdepth}{2}
-
-% Change the title page to look a bit better, and fit in with the fncychap
-% ``Bjarne'' style a bit better.
-%
-\renewcommand{\maketitle}{
-  \rule{\textwidth}{1pt}
-  \ifsphinxpdfoutput
-    \begingroup
-    % These \defs are required to deal with multi-line authors; it
-    % changes \\ to ', ' (comma-space), making it pass muster for
-    % generating document info in the PDF file.
-    \def\\{, }
-    \def\and{and }
-    \pdfinfo{
-      /Author (\@author)
-      /Title (\@title)
-    }
-    \endgroup
-  \fi
-  \begin{flushright}
-    \sphinxlogo%
-    {\rm\Huge\py at HeaderFamily \@title} \par
-    {\em\large\py at HeaderFamily \py at release\releaseinfo} \par
-    \vspace{25pt}
-    {\Large\py at HeaderFamily
-      \begin{tabular}[t]{c}
-        \@author
-      \end{tabular}} \par
-    \vspace{25pt}
-    \@date \par
-    \py at authoraddress \par
-  \end{flushright}
-  \@thanks
-  \setcounter{footnote}{0}
-  \let\thanks\relax\let\maketitle\relax
-  %\gdef\@thanks{}\gdef\@author{}\gdef\@title{}
-}
-
-\let\py at OldTableofcontents=\tableofcontents
-\renewcommand{\tableofcontents}{
-  \begingroup
-    \parskip = 0mm
-    \py at OldTableofcontents
-  \endgroup
-  \rule{\textwidth}{1pt}
-  \vspace{12pt}
-}  
-
-\@ifundefined{fancyhf}{
-  \pagestyle{plain}}{
-  \pagestyle{normal}}		% start this way; change for
-\pagenumbering{arabic}		% ToC & chapters
-
-\thispagestyle{empty}
-
-% Fix the bibliography environment to add an entry to the Table of
-% Contents.
-% For an article document class this environment is a section,
-% so no page break before it.
-\let\py at OldThebibliography=\thebibliography
-\renewcommand{\thebibliography}[1]{
-  \phantomsection
-  \py at OldThebibliography{1}
-  \addcontentsline{toc}{section}{\bibname}
-}
-
-% Same for the indices.
-% The memoir class already does this, so we don't duplicate it in that case.
-%
-\@ifclassloaded{memoir}{}{
-  \let\py at OldTheindex=\theindex
-  \renewcommand{\theindex}{
-    \phantomsection
-    \py at OldTheindex
-    \addcontentsline{toc}{section}{\indexname}
-  }
-}
diff --git a/documentation/latex/sphinxmanual.cls b/documentation/latex/sphinxmanual.cls
deleted file mode 100644
index a6b9b39..0000000
--- a/documentation/latex/sphinxmanual.cls
+++ /dev/null
@@ -1,148 +0,0 @@
-%
-% sphinxmanual.cls for Sphinx (http://sphinx-doc.org/)
-%
-
-\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesClass{sphinxmanual}[2009/06/02 Document class (Sphinx manual)]
-
-% chapters starting at odd pages (overridden by 'openany' document option)
-\PassOptionsToClass{openright}{\sphinxdocclass}
-
-% 'oneside' option overriding the 'twoside' default
-\newif\if at oneside
-\DeclareOption{oneside}{\@onesidetrue}
-% Pass remaining document options to the parent class.
-\DeclareOption*{\PassOptionsToClass{\CurrentOption}{\sphinxdocclass}}
-\ProcessOptions\relax
-
-% Defaults two-side document
-\if at oneside
-% nothing to do (oneside is the default)
-\else
-\PassOptionsToClass{twoside}{\sphinxdocclass}
-\fi
-
-\LoadClass{\sphinxdocclass}
-
-% Set some sane defaults for section numbering depth and TOC depth.  You can
-% reset these counters in your preamble.
-%
-\setcounter{secnumdepth}{2}
-\setcounter{tocdepth}{1}
-
-% Change the title page to look a bit better, and fit in with the fncychap
-% ``Bjarne'' style a bit better.
-%
-\renewcommand{\maketitle}{%
-  \begin{titlepage}%
-    \let\footnotesize\small
-    \let\footnoterule\relax
-    \rule{\textwidth}{1pt}%
-    \ifsphinxpdfoutput
-      \begingroup
-      % These \defs are required to deal with multi-line authors; it
-      % changes \\ to ', ' (comma-space), making it pass muster for
-      % generating document info in the PDF file.
-      \def\\{, }
-      \def\and{and }
-      \pdfinfo{
-        /Author (\@author)
-        /Title (\@title)
-      }
-      \endgroup
-    \fi
-    \begin{flushright}%
-      \sphinxlogo%
-      {\rm\Huge\py at HeaderFamily \@title \par}%
-      {\em\LARGE\py at HeaderFamily \py at release\releaseinfo \par}
-      \vfill
-      {\LARGE\py at HeaderFamily
-        \begin{tabular}[t]{c}
-          \@author
-        \end{tabular}
-        \par}
-      \vfill\vfill
-      {\large
-       \@date \par
-       \vfill
-       \py at authoraddress \par
-      }%
-    \end{flushright}%\par
-    \@thanks
-  \end{titlepage}%
-  \cleardoublepage%
-  \setcounter{footnote}{0}%
-  \let\thanks\relax\let\maketitle\relax
-  %\gdef\@thanks{}\gdef\@author{}\gdef\@title{}
-}
-
-
-% Catch the end of the {abstract} environment, but here make sure the abstract
-% is followed by a blank page if the 'openright' option is used.
-%
-\let\py at OldEndAbstract=\endabstract
-\renewcommand{\endabstract}{
-  \if at openright
-    \ifodd\value{page}
-      \typeout{Adding blank page after the abstract.}
-      \vfil\pagebreak
-    \fi
-  \fi
-  \py at OldEndAbstract
-}
-
-% This wraps the \tableofcontents macro with all the magic to get the spacing
-% right and have the right number of pages if the 'openright' option has been
-% used.  This eliminates a fair amount of crud in the individual document files.
-%
-\let\py at OldTableofcontents=\tableofcontents
-\renewcommand{\tableofcontents}{%
-  \pagenumbering{roman}%
-  \setcounter{page}{1}%
-  \pagebreak%
-  \pagestyle{plain}%
-  {%
-    \parskip = 0mm%
-    \py at OldTableofcontents%
-    \if at openright%
-      \ifodd\value{page}%
-        \typeout{Adding blank page after the table of contents.}%
-        \pagebreak\hspace{0pt}%
-      \fi%
-    \fi%
-    \cleardoublepage%
-  }%
-  \pagenumbering{arabic}%
-  \@ifundefined{fancyhf}{}{\pagestyle{normal}}%
-}
-\pagenumbering{alph}
-
-% This is needed to get the width of the section # area wide enough in the
-% library reference.  Doing it here keeps it the same for all the manuals.
-%
-\renewcommand*\l at section{\@dottedtocline{1}{1.5em}{2.6em}}
-\renewcommand*\l at subsection{\@dottedtocline{2}{4.1em}{3.5em}}
-
-% Fix the bibliography environment to add an entry to the Table of
-% Contents.
-% For a report document class this environment is a chapter.
-\let\py at OldThebibliography=\thebibliography
-\renewcommand{\thebibliography}[1]{
-  \cleardoublepage
-  \phantomsection
-  \py at OldThebibliography{1}
-  \addcontentsline{toc}{chapter}{\bibname}
-}
-
-% Same for the indices.
-% The memoir class already does this, so we don't duplicate it in that case.
-%
-\@ifclassloaded{memoir}{}{
-  \let\py at OldTheindex=\theindex
-  \renewcommand{\theindex}{
-    \cleardoublepage
-    \phantomsection
-    \py at OldTheindex
-    \addcontentsline{toc}{chapter}{\indexname}
-  }
-}
diff --git a/documentation/latex/tabulary.sty b/documentation/latex/tabulary.sty
deleted file mode 100644
index 11fdf74..0000000
--- a/documentation/latex/tabulary.sty
+++ /dev/null
@@ -1,452 +0,0 @@
-%%
-%% This is file `tabulary.sty',
-%% generated with the docstrip utility.
-%%
-%% The original source files were:
-%%
-%% tabulary.dtx  (with options: `package')
-%% DRAFT VERSION
-%%
-%% File `tabulary.dtx'.
-%% Copyright (C) 1995 1996 2003 2008 David Carlisle
-%% This file may be distributed under the terms of the LPPL.
-%% See 00readme.txt for details.
-%%
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{tabulary}
-          [2008/12/01 v0.9 tabulary package (DPC)]
-\RequirePackage{array}
-\catcode`\Z=14
-\DeclareOption{debugshow}{\catcode`\Z=9\relax}
-\ProcessOptions
-\def\arraybackslash{\let\\=\@arraycr}
-\def\@finalstrut#1{%
-  \unskip\ifhmode\nobreak\fi\vrule\@width\z@\@height\z@\@depth\dp#1}
-\newcount\TY at count
-\def\tabulary{%
-  \let\TY at final\tabular
-  \let\endTY at final\endtabular
-  \TY at tabular}
-\def\TY at tabular#1{%
-  \edef\TY@{\@currenvir}%
-  {\ifnum0=`}\fi
-  \@ovxx\TY at linewidth
-  \@ovyy\TY at tablewidth
-  \count@\z@
-  \@tempswatrue
-  \@whilesw\if at tempswa\fi{%
-  \advance\count@\@ne
-  \expandafter\ifx\csname TY at F\the\count@\endcsname\relax
-    \@tempswafalse
-  \else
-    \expandafter\let\csname TY at SF\the\count@\expandafter\endcsname
-                     \csname TY at F\the\count@\endcsname
-    \global\expandafter\let\csname TY at F\the\count@\endcsname\relax
-    \expandafter\let\csname TY at S\the\count@\expandafter\endcsname
-                     \csname TY@\the\count@\endcsname
-  \fi}%
-    \global\TY at count\@ne
-    \TY at width\xdef{0pt}%
-    \global\TY at tablewidth\z@
-    \global\TY at linewidth#1\relax
-Z\message{^^J^^JTable^^J%
-Z        Target Width: \the\TY at linewidth^^J%
-Z        \string\tabcolsep: \the\tabcolsep\space
-Z        \string\arrayrulewidth: \the\arrayrulewidth\space
-Z        \string\doublerulesep: \the\doublerulesep^^J%
-Z        \string\tymin: \the\tymin\space
-Z        \string\tymax: \the\tymax^^J}%
-    \let\@classz\TY at classz
-    \let\verb\TX at verb
-    \toks@{}\TY at get@body}
-\let\TY@@mkpream\@mkpream
-\def\TY at mkpream{%
-    \def\@addamp{%
-      \if at firstamp \@firstampfalse \else
-      \global\advance\TY at count\@ne
-      \edef\@preamble{\@preamble &}\fi
-      \TY at width\xdef{0pt}}%
-    \def\@acol{%
-      \TY at subwidth\col at sep
-      \@addtopreamble{\hskip\col at sep}}%
-    \let\@arrayrule\TY at arrayrule
-    \let\@classvi\TY at classvi
-    \def\@classv{\save at decl
-      \expandafter\NC at ecs\@nextchar\extracolsep{}\extracolsep\@@@
-      \sbox\z@{\d at llarbegin\@nextchar\d at llarend}%
-      \TY at subwidth{\wd\z@}%
-      \@addtopreamble{\d at llarbegin\the at toks\the\count@\relax\d at llarend}%
-      \prepnext at tok}%
-  \global\let\@mkpream\TY@@mkpream
-  \TY@@mkpream}
-\def\TY at arrayrule{%
-  \TY at subwidth\arrayrulewidth
-  \@addtopreamble \vline}
-\def\TY at classvi{\ifcase \@lastchclass
-  \@acol \or
-  \TY at subwidth\doublerulesep
-  \@addtopreamble{\hskip \doublerulesep}\or
-  \@acol \or
-  \@classvii
-  \fi}
-\def\TY at tab{%
-  \setbox\z@\hbox\bgroup
-  \let\[$\let\]$%
-  \let\equation$\let\endequation$%
-    \col at sep\tabcolsep
-    \let\d at llarbegin\begingroup\let\d at llarend\endgroup
-    \let\@mkpream\TY at mkpream
-      \def\multicolumn##1##2##3{\multispan##1\relax}%
-    \CT at start\TY at tabarray}
-\def\TY at tabarray{\@ifnextchar[{\TY at array}{\@array[t]}}
-\def\TY at array[#1]{\@array[t]}
-\def\TY at width#1{%
-  \expandafter#1\csname TY@\the\TY at count\endcsname}
-\def\TY at subwidth#1{%
-  \TY at width\dimen@
-  \advance\dimen at -#1\relax
-  \TY at width\xdef{\the\dimen@}%
-  \global\advance\TY at linewidth-#1\relax}
-\def\endtabulary{%
-  \gdef\@halignto{}%
-  \let\TY at footnote\footnote%
-  \def\footnote{}% prevent footnotes from doing anything
-  \expandafter\TY at tab\the\toks@
-  \crcr\omit
-  {\xdef\TY at save@row{}%
-     \loop
-    \advance\TY at count\m at ne
-    \ifnum\TY at count>\z@
-    \xdef\TY at save@row{\TY at save@row&\omit}%
-    \repeat}\TY at save@row
-  \endarray\global\setbox1=\lastbox\setbox0=\vbox{\unvbox1
-    \unskip\global\setbox1=\lastbox}\egroup
-  \dimen@\TY at linewidth
-  \divide\dimen@\TY at count
-  \ifdim\dimen@<\tymin
-    \TY at warn{tymin too large (\the\tymin), resetting to \the\dimen@}%
-    \tymin\dimen@
-  \fi
-  \setbox\tw@=\hbox{\unhbox\@ne
-    \loop
-\@tempdima=\lastskip
-\ifdim\@tempdima>\z@
-Z   \message{ecs=\the\@tempdima^^J}%
-   \global\advance\TY at linewidth-\@tempdima
-\fi
-    \unskip
-    \setbox\tw@=\lastbox
-    \ifhbox\tw@
-Z     \message{Col \the\TY at count: Initial=\the\wd\tw@\space}%
-      \ifdim\wd\tw@>\tymax
-        \wd\tw@\tymax
-Z       \message{> max\space}%
-Z     \else
-Z       \message{ \@spaces\space}%
-      \fi
-  \TY at width\dimen@
-Z \message{\the\dimen@\space}%
-  \advance\dimen@\wd\tw@
-Z \message{Final=\the\dimen@\space}%
-   \TY at width\xdef{\the\dimen@}%
-      \ifdim\dimen@<\tymin
-Z        \message{< tymin}%
-         \global\advance\TY at linewidth-\dimen@
-         \expandafter\xdef\csname TY at F\the\TY at count\endcsname
-                                                        {\the\dimen@}%
-       \else
-      \expandafter\ifx\csname TY at F\the\TY at count\endcsname\z@
-Z        \message{***}%
-         \global\advance\TY at linewidth-\dimen@
-         \expandafter\xdef\csname TY at F\the\TY at count\endcsname
-                                                        {\the\dimen@}%
-        \else
-Z        \message{> tymin}%
-         \global\advance\TY at tablewidth\dimen@
-         \global\expandafter\let\csname TY at F\the\TY at count\endcsname
-                                                               \maxdimen
-       \fi\fi
-       \advance\TY at count\m at ne
-    \repeat}%
-    \TY at checkmin
-    \TY at checkmin
-    \TY at checkmin
-    \TY at checkmin
-    \TY at count\z@
-    \let\TY at box\TY at box@v
-    \let\footnote\TY at footnote % restore footnotes
-  {\expandafter\TY at final\the\toks@\endTY at final}%
-  \count@\z@
-  \@tempswatrue
-  \@whilesw\if at tempswa\fi{%
-  \advance\count@\@ne
-  \expandafter\ifx\csname TY at SF\the\count@\endcsname\relax
-    \@tempswafalse
-  \else
-    \global\expandafter\let\csname TY at F\the\count@\expandafter\endcsname
-                   \csname TY at SF\the\count@\endcsname
-    \global\expandafter\let\csname TY@\the\count@\expandafter\endcsname
-                   \csname TY at S\the\count@\endcsname
-  \fi}%
-  \TY at linewidth\@ovxx
-  \TY at tablewidth\@ovyy
-    \ifnum0=`{\fi}}
-\def\TY at checkmin{%
-  \let\TY at checkmin\relax
-\ifdim\TY at tablewidth>\z@
-  \Gscale at div\TY at ratio\TY at linewidth\TY at tablewidth
- \ifdim\TY at tablewidth <\TY at linewidth
-   \def\TY at ratio{1}%
- \fi
-\else
-  \TY at warn{No suitable columns!}%
-  \def\TY at ratio{1}%
-\fi
-\count@\z@
-Z \message{^^JLine Width: \the\TY at linewidth,
-Z             Natural Width: \the\TY at tablewidth,
-Z             Ratio: \TY at ratio^^J}%
-\@tempdima\z@
-\loop
-\ifnum\count@<\TY at count
-\advance\count@\@ne
-  \ifdim\csname TY at F\the\count@\endcsname>\tymin
-    \dimen@\csname TY@\the\count@\endcsname
-    \dimen@\TY at ratio\dimen@
-    \ifdim\dimen@<\tymin
-Z     \message{Column \the\count@\space ->}%
-      \global\expandafter\let\csname TY at F\the\count@\endcsname\tymin
-      \global\advance\TY at linewidth-\tymin
-      \global\advance\TY at tablewidth-\csname TY@\the\count@\endcsname
-      \let\TY at checkmin\TY@@checkmin
-    \else
-      \expandafter\xdef\csname TY at F\the\count@\endcsname{\the\dimen@}%
-      \advance\@tempdima\csname TY at F\the\count@\endcsname
-    \fi
-  \fi
-Z \dimen@\csname TY at F\the\count@\endcsname\message{\the\dimen@, }%
-\repeat
-Z \message{^^JTotal:\the\@tempdima^^J}%
-}
-\let\TY@@checkmin\TY at checkmin
-\newdimen\TY at linewidth
-\def\tyformat{\everypar{{\nobreak\hskip\z at skip}}}
-\newdimen\tymin
-\tymin=10pt
-\newdimen\tymax
-\tymax=2\textwidth
-\def\@testpach{\@chclass
- \ifnum \@lastchclass=6 \@ne \@chnum \@ne \else
-  \ifnum \@lastchclass=7 5 \else
-   \ifnum \@lastchclass=8 \tw@ \else
-    \ifnum \@lastchclass=9 \thr@@
-   \else \z@
-   \ifnum \@lastchclass = 10 \else
-   \edef\@nextchar{\expandafter\string\@nextchar}%
-   \@chnum
-   \if \@nextchar c\z@ \else
-    \if \@nextchar l\@ne \else
-     \if \@nextchar r\tw@ \else
-   \if \@nextchar C7 \else
-    \if \@nextchar L8 \else
-     \if \@nextchar R9 \else
-     \if \@nextchar J10 \else
-   \z@ \@chclass
-   \if\@nextchar |\@ne \else
-    \if \@nextchar !6 \else
-     \if \@nextchar @7 \else
-      \if \@nextchar <8 \else
-       \if \@nextchar >9 \else
-  10
-  \@chnum
-  \if \@nextchar m\thr@@\else
-   \if \@nextchar p4 \else
-    \if \@nextchar b5 \else
-   \z@ \@chclass \z@ \@preamerr \z@ \fi \fi \fi \fi\fi \fi \fi\fi \fi
-     \fi  \fi  \fi  \fi  \fi  \fi \fi \fi \fi \fi \fi}
-\def\TY at classz{%
-  \@classx
-  \@tempcnta\count@
-  \ifx\TY at box\TY at box@v
-    \global\advance\TY at count\@ne
-  \fi
-  \let\centering c%
-  \let\raggedright\noindent
-  \let\raggedleft\indent
-  \let\arraybackslash\relax
-  \prepnext at tok
-  \ifnum\@chnum<4
-    \global\expandafter\let\csname TY at F\the\TY at count\endcsname\z@
-  \fi
-  \ifnum\@chnum=6
-    \global\expandafter\let\csname TY at F\the\TY at count\endcsname\z@
-  \fi
-  \@addtopreamble{%
-    \ifcase\@chnum
-      \hfil \d at llarbegin\insert at column\d at llarend \hfil \or
-      \kern\z@
-       \d at llarbegin \insert at column \d at llarend \hfil \or
-      \hfil\kern\z@ \d at llarbegin \insert at column \d at llarend \or
-      $\vcenter\@startpbox{\@nextchar}\insert at column \@endpbox $\or
-      \vtop \@startpbox{\@nextchar}\insert at column \@endpbox \or
-      \vbox \@startpbox{\@nextchar}\insert at column \@endpbox \or
-      \d at llarbegin \insert at column \d at llarend \or% dubious "s" case
-      \TY at box\centering\or
-      \TY at box\raggedright\or
-      \TY at box\raggedleft\or
-      \TY at box\relax
-    \fi}\prepnext at tok}
-\def\TY at box#1{%
-  \ifx\centering#1%
-      \hfil \d at llarbegin\insert at column\d at llarend \hfil \else
-  \ifx\raggedright#1%
-        \kern\z@%<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
-      \d at llarbegin \insert at column \d at llarend \hfil \else
-  \ifx\raggedleft#1%
-      \hfil\kern\z@ \d at llarbegin \insert at column \d at llarend \else
-  \ifx\relax#1%
-       \d at llarbegin \insert at column \d at llarend
-  \fi  \fi  \fi  \fi}
-\def\TY at box@v#1{%
-      \vtop \@startpbox{\csname TY at F\the\TY at count\endcsname}%
-              #1\arraybackslash\tyformat
-                              \insert at column\@endpbox}
-\newdimen\TY at tablewidth
-\def\Gscale at div#1#2#3{%
-  \setlength\dimen@{#3}%
-  \ifdim\dimen@=\z@
-    \PackageError{graphics}{Division by 0}\@eha
-    \dimen@#2%
-  \fi
-  \edef\@tempd{\the\dimen@}%
-  \setlength\dimen@{#2}%
-  \count at 65536\relax
-  \ifdim\dimen@<\z@
-    \dimen at -\dimen@
-    \count at -\count@
-  \fi
-  \loop
-    \ifdim\dimen@<8192\p@
-      \dimen@\tw@\dimen@
-      \divide\count@\tw@
-  \repeat
-  \dimen at ii=\@tempd\relax
-  \divide\dimen at ii\count@
-  \divide\dimen@\dimen at ii
-  \edef#1{\strip at pt\dimen@}}
-\long\def\TY at get@body#1\end
-  {\toks@\expandafter{\the\toks@#1}\TY at find@end}
-\def\TY at find@end#1{%
-  \def\@tempa{#1}%
-  \ifx\@tempa\TY@\def\@tempa{\end{#1}}\expandafter\@tempa
-  \else\toks@\expandafter
-    {\the\toks@\end{#1}}\expandafter\TY at get@body\fi}
-\def\TY at warn{%
-  \PackageWarning{tabulary}}
-\catcode`\Z=11
-\AtBeginDocument{
-\@ifpackageloaded{colortbl}{%
-\expandafter\def\expandafter\@mkpream\expandafter#\expandafter1%
-  \expandafter{%
-    \expandafter\let\expandafter\CT at setup\expandafter\relax
-    \expandafter\let\expandafter\CT at color\expandafter\relax
-    \expandafter\let\expandafter\CT at do@color\expandafter\relax
-    \expandafter\let\expandafter\color\expandafter\relax
-    \expandafter\let\expandafter\CT at column@color\expandafter\relax
-    \expandafter\let\expandafter\CT at row@color\expandafter\relax
-    \@mkpream{#1}}
-\let\TY@@mkpream\@mkpream
-\def\TY at classz{%
-  \@classx
-  \@tempcnta\count@
-  \ifx\TY at box\TY at box@v
-    \global\advance\TY at count\@ne
-  \fi
-  \let\centering c%
-  \let\raggedright\noindent
-  \let\raggedleft\indent
-  \let\arraybackslash\relax
-  \prepnext at tok
-\expandafter\CT at extract\the\toks\@tempcnta\columncolor!\@nil
-  \ifnum\@chnum<4
-    \global\expandafter\let\csname TY at F\the\TY at count\endcsname\z@
-  \fi
-  \ifnum\@chnum=6
-    \global\expandafter\let\csname TY at F\the\TY at count\endcsname\z@
-  \fi
-  \@addtopreamble{%
-    \setbox\z@\hbox\bgroup\bgroup
-    \ifcase\@chnum
-      \hskip\stretch{.5}\kern\z@
-      \d at llarbegin\insert at column\d at llarend\hskip\stretch{.5}\or
-      \kern\z@%<<<<<<<<<<<<<<<<<<<<<<<<<<<
-       \d at llarbegin \insert at column \d at llarend \hfill \or
-      \hfill\kern\z@ \d at llarbegin \insert at column \d at llarend \or
-      $\vcenter\@startpbox{\@nextchar}\insert at column \@endpbox $\or
-      \vtop \@startpbox{\@nextchar}\insert at column \@endpbox \or
-      \vbox \@startpbox{\@nextchar}\insert at column \@endpbox \or
-      \d at llarbegin \insert at column \d at llarend \or% dubious s case
-      \TY at box\centering\or
-      \TY at box\raggedright\or
-      \TY at box\raggedleft\or
-      \TY at box\relax
-    \fi
- \egroup\egroup
-\begingroup
-  \CT at setup
-  \CT at column@color
-  \CT at row@color
-  \CT at do@color
-\endgroup
-        \@tempdima\ht\z@
-        \advance\@tempdima\minrowclearance
-        \vrule\@height\@tempdima\@width\z@
-\unhbox\z@
-}\prepnext at tok}%
-    \def\TY at arrayrule{%
-      \TY at subwidth\arrayrulewidth
-      \@addtopreamble{{\CT at arc@\vline}}}%
-    \def\TY at classvi{\ifcase \@lastchclass
-      \@acol \or
-      \TY at subwidth\doublerulesep
-      \ifx\CT at drsc@\relax
-        \@addtopreamble{\hskip\doublerulesep}%
-      \else
-        \@addtopreamble{{\CT at drsc@\vrule\@width\doublerulesep}}%
-      \fi\or
-      \@acol \or
-      \@classvii
-      \fi}%
-}{%
-\let\CT at start\relax
-}
-}
-{\uccode`\*=`\ %
-\uppercase{\gdef\TX at verb{%
-  \leavevmode\null\TX at vwarn
-  {\ifnum0=`}\fi\ttfamily\let\\\ignorespaces
-  \@ifstar{\let~*\TX at vb}{\TX at vb}}}}
-\def\TX at vb#1{\def\@tempa##1#1{\toks@{##1}\edef\@tempa{\the\toks@}%
-    \expandafter\TX at v\meaning\@tempa\\ \\\ifnum0=`{\fi}}\@tempa!}
-\def\TX at v#1!{\afterassignment\TX at vfirst\let\@tempa= }
-\begingroup
-\catcode`\*=\catcode`\#
-\catcode`\#=12
-\gdef\TX at vfirst{%
-  \if\@tempa#%
-    \def\@tempb{\TX at v@#}%
-  \else
-    \let\@tempb\TX at v@
-    \if\@tempa\space~\else\@tempa\fi
-  \fi
-  \@tempb}
-\gdef\TX at v@*1 *2{%
-  \TX at v@hash*1##\relax\if*2\\\else~\expandafter\TX at v@\fi*2}
-\gdef\TX at v@hash*1##*2{*1\ifx*2\relax\else#\expandafter\TX at v@hash\fi*2}
-\endgroup
-\def\TX at vwarn{%
-  \@warning{\noexpand\verb may be unreliable inside tabularx/y}%
-  \global\let\TX at vwarn\@empty}
-\endinput
-%%
-%% End of file `tabulary.sty'.
diff --git a/documentation/latex/xmds2.aux b/documentation/latex/xmds2.aux
index d4a9e61..f498904 100644
--- a/documentation/latex/xmds2.aux
+++ b/documentation/latex/xmds2.aux
@@ -82,7 +82,7 @@
 \newlabel{worked_examples:fibre-noise}{{4.3}{21}{Fibre Noise}{section.4.3}{}}
 \newlabel{worked_examples:index-5}{{4.3}{21}{Fibre Noise}{section.4.3}{}}
 \@writefile{lof}{\contentsline {figure}{\numberline {4.1}{\ignorespaces The mean value of the real and imaginary components of the z variable for a single path of the simulation.}}{22}{figure.4.1}}
-\@writefile{lof}{\contentsline {figure}{\numberline {4.2}{\ignorespaces The mean and standard error of the z variable averaged over 10000 paths, as given by this simulation. It agrees within the standard error with the expected result of \relax $\qopname  \relax o{exp}(-t/2)\relax \GenericError  {               }{LaTeX Error: Bad math environment delimiter}{See the LaTeX manual or LaTeX Companion for explanation.}{Your command was ignored.\MessageBreak Type  I <command> <return>  to repl [...]
+\@writefile{lof}{\contentsline {figure}{\numberline {4.2}{\ignorespaces The mean and standard error of the z variable averaged over 10000 paths, as given by this simulation. It agrees within the standard error with the expected result of $\qopname  \relax o{exp}(-t/2)$.}}{22}{figure.4.2}}
 \@writefile{lof}{\contentsline {figure}{\numberline {4.3}{\ignorespaces The momentum space density of the field as a function of time for a single path realisation.}}{25}{figure.4.3}}
 \@writefile{toc}{\contentsline {section}{\numberline {4.4}Integer Dimensions}{25}{section.4.4}}
 \newlabel{worked_examples:integer-dimensions}{{4.4}{25}{Integer Dimensions}{section.4.4}{}}
@@ -95,11 +95,11 @@
 \@writefile{toc}{\contentsline {section}{\numberline {4.6}Finding the Ground State of a BEC (continuous renormalisation)}{31}{section.4.6}}
 \newlabel{worked_examples:groundstatebec}{{4.6}{31}{Finding the Ground State of a BEC (continuous renormalisation)}{section.4.6}{}}
 \newlabel{worked_examples:finding-the-ground-state-of-a-bec-continuous-renormalisation}{{4.6}{31}{Finding the Ground State of a BEC (continuous renormalisation)}{section.4.6}{}}
-\@writefile{lof}{\contentsline {figure}{\numberline {4.5}{\ignorespaces The shape of the ground state rapidly approaches the lowest eigenstate. For weak nonlinearities, it is nearly Gaussian.}}{35}{figure.4.5}}
-\@writefile{lof}{\contentsline {figure}{\numberline {4.6}{\ignorespaces When the nonlinear term is larger (\relax $U=20\relax \GenericError  {               }{LaTeX Error: Bad math environment delimiter}{See the LaTeX manual or LaTeX Companion for explanation.}{Your command was ignored.\MessageBreak Type  I <command> <return>  to replace it with another command,\MessageBreak or  <return>  to continue without it.}), the ground state is wider and more parabolic.}}{36}{figure.4.6}}
-\@writefile{toc}{\contentsline {section}{\numberline {4.7}Finding the Ground State of a BEC again}{36}{section.4.7}}
-\newlabel{worked_examples:finding-the-ground-state-of-a-bec-again}{{4.7}{36}{Finding the Ground State of a BEC again}{section.4.7}{}}
-\newlabel{worked_examples:hermitegaussgroundstatebec}{{4.7}{36}{Finding the Ground State of a BEC again}{section.4.7}{}}
+\@writefile{toc}{\contentsline {section}{\numberline {4.7}Finding the Ground State of a BEC again}{35}{section.4.7}}
+\newlabel{worked_examples:finding-the-ground-state-of-a-bec-again}{{4.7}{35}{Finding the Ground State of a BEC again}{section.4.7}{}}
+\newlabel{worked_examples:hermitegaussgroundstatebec}{{4.7}{35}{Finding the Ground State of a BEC again}{section.4.7}{}}
+\@writefile{lof}{\contentsline {figure}{\numberline {4.5}{\ignorespaces The shape of the ground state rapidly approaches the lowest eigenstate. For weak nonlinearities, it is nearly Gaussian.}}{36}{figure.4.5}}
+\@writefile{lof}{\contentsline {figure}{\numberline {4.6}{\ignorespaces When the nonlinear term is larger ($U=20$), the ground state is wider and more parabolic.}}{37}{figure.4.6}}
 \@writefile{toc}{\contentsline {section}{\numberline {4.8}Multi-component Schr\IeC {\"o}dinger equation}{39}{section.4.8}}
 \newlabel{worked_examples:dmultistatese}{{4.8}{39}{Multi-component Schrödinger equation}{section.4.8}{}}
 \newlabel{worked_examples:multi-component-schrodinger-equation}{{4.8}{39}{Multi-component Schrödinger equation}{section.4.8}{}}
@@ -121,11 +121,11 @@
 \newlabel{reference_schema:index-0}{{5.3}{44}{XMDS2 XML Schema}{section.5.3}{}}
 \newlabel{reference_schema::doc}{{5.3}{44}{XMDS2 XML Schema}{section.5.3}{}}
 \newlabel{reference_schema:referenceschema}{{5.3}{44}{XMDS2 XML Schema}{section.5.3}{}}
-\@writefile{toc}{\contentsline {section}{\numberline {5.4}XMDS2 script elements}{47}{section.5.4}}
-\newlabel{reference_elements:index-0}{{5.4}{47}{XMDS2 script elements}{section.5.4}{}}
-\newlabel{reference_elements:xmds2-script-elements}{{5.4}{47}{XMDS2 script elements}{section.5.4}{}}
-\newlabel{reference_elements::doc}{{5.4}{47}{XMDS2 script elements}{section.5.4}{}}
-\newlabel{reference_elements:referenceelements}{{5.4}{47}{XMDS2 script elements}{section.5.4}{}}
+\@writefile{toc}{\contentsline {section}{\numberline {5.4}XMDS2 script elements}{46}{section.5.4}}
+\newlabel{reference_elements:index-0}{{5.4}{46}{XMDS2 script elements}{section.5.4}{}}
+\newlabel{reference_elements:xmds2-script-elements}{{5.4}{46}{XMDS2 script elements}{section.5.4}{}}
+\newlabel{reference_elements::doc}{{5.4}{46}{XMDS2 script elements}{section.5.4}{}}
+\newlabel{reference_elements:referenceelements}{{5.4}{46}{XMDS2 script elements}{section.5.4}{}}
 \@writefile{toc}{\contentsline {subsection}{\numberline {5.4.1}Simulation element}{47}{subsection.5.4.1}}
 \newlabel{reference_elements:simulation-element}{{5.4.1}{47}{Simulation element}{subsection.5.4.1}{}}
 \newlabel{reference_elements:simulationelement}{{5.4.1}{47}{Simulation element}{subsection.5.4.1}{}}
@@ -142,10 +142,10 @@
 \newlabel{reference_elements:index-4}{{5.4.4}{47}{Description element}{subsection.5.4.4}{}}
 \newlabel{reference_elements:descriptionelement}{{5.4.4}{47}{Description element}{subsection.5.4.4}{}}
 \newlabel{reference_elements:description-element}{{5.4.4}{47}{Description element}{subsection.5.4.4}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.5}Features Elements}{48}{subsection.5.4.5}}
-\newlabel{reference_elements:features-elements}{{5.4.5}{48}{Features Elements}{subsection.5.4.5}{}}
-\newlabel{reference_elements:featureselement}{{5.4.5}{48}{Features Elements}{subsection.5.4.5}{}}
-\newlabel{reference_elements:index-5}{{5.4.5}{48}{Features Elements}{subsection.5.4.5}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.5}Features Elements}{47}{subsection.5.4.5}}
+\newlabel{reference_elements:features-elements}{{5.4.5}{47}{Features Elements}{subsection.5.4.5}{}}
+\newlabel{reference_elements:featureselement}{{5.4.5}{47}{Features Elements}{subsection.5.4.5}{}}
+\newlabel{reference_elements:index-5}{{5.4.5}{47}{Features Elements}{subsection.5.4.5}{}}
 \@writefile{toc}{\contentsline {subsubsection}{Arguments Element}{48}{subsubsection*.5}}
 \newlabel{reference_elements:index-6}{{5.4.5}{48}{Arguments Element}{subsubsection*.5}{}}
 \newlabel{reference_elements:argumentselement}{{5.4.5}{48}{Arguments Element}{subsubsection*.5}{}}
@@ -166,10 +166,10 @@
 \newlabel{reference_elements:bing}{{5.4.5}{49}{Bing}{subsubsection*.9}{}}
 \newlabel{reference_elements:id2}{{5.4.5}{49}{Bing}{subsubsection*.9}{}}
 \newlabel{reference_elements:index-11}{{5.4.5}{49}{Bing}{subsubsection*.9}{}}
-\@writefile{toc}{\contentsline {subsubsection}{C Flags}{50}{subsubsection*.10}}
-\newlabel{reference_elements:c-flags}{{5.4.5}{50}{C Flags}{subsubsection*.10}{}}
-\newlabel{reference_elements:index-12}{{5.4.5}{50}{C Flags}{subsubsection*.10}{}}
-\newlabel{reference_elements:cflags}{{5.4.5}{50}{C Flags}{subsubsection*.10}{}}
+\@writefile{toc}{\contentsline {subsubsection}{C Flags}{49}{subsubsection*.10}}
+\newlabel{reference_elements:c-flags}{{5.4.5}{49}{C Flags}{subsubsection*.10}{}}
+\newlabel{reference_elements:index-12}{{5.4.5}{49}{C Flags}{subsubsection*.10}{}}
+\newlabel{reference_elements:cflags}{{5.4.5}{49}{C Flags}{subsubsection*.10}{}}
 \@writefile{toc}{\contentsline {subsubsection}{Chunked Output}{50}{subsubsection*.11}}
 \newlabel{reference_elements:chunked-output}{{5.4.5}{50}{Chunked Output}{subsubsection*.11}{}}
 \newlabel{reference_elements:index-13}{{5.4.5}{50}{Chunked Output}{subsubsection*.11}{}}
@@ -198,10 +198,10 @@
 \newlabel{reference_elements:openmp}{{5.4.5}{51}{OpenMP}{subsubsection*.17}{}}
 \newlabel{reference_elements:index-20}{{5.4.5}{51}{OpenMP}{subsubsection*.17}{}}
 \newlabel{reference_elements:id5}{{5.4.5}{51}{OpenMP}{subsubsection*.17}{}}
-\@writefile{toc}{\contentsline {subsubsection}{Precision}{52}{subsubsection*.18}}
-\newlabel{reference_elements:id6}{{5.4.5}{52}{Precision}{subsubsection*.18}{}}
-\newlabel{reference_elements:index-21}{{5.4.5}{52}{Precision}{subsubsection*.18}{}}
-\newlabel{reference_elements:precision}{{5.4.5}{52}{Precision}{subsubsection*.18}{}}
+\@writefile{toc}{\contentsline {subsubsection}{Precision}{51}{subsubsection*.18}}
+\newlabel{reference_elements:id6}{{5.4.5}{51}{Precision}{subsubsection*.18}{}}
+\newlabel{reference_elements:index-21}{{5.4.5}{51}{Precision}{subsubsection*.18}{}}
+\newlabel{reference_elements:precision}{{5.4.5}{51}{Precision}{subsubsection*.18}{}}
 \@writefile{toc}{\contentsline {subsubsection}{Validation}{52}{subsubsection*.19}}
 \newlabel{reference_elements:index-22}{{5.4.5}{52}{Validation}{subsubsection*.19}{}}
 \newlabel{reference_elements:validation}{{5.4.5}{52}{Validation}{subsubsection*.19}{}}
@@ -229,14 +229,14 @@
 \newlabel{reference_elements:dst-transform}{{5.4.7}{56}{The ``dst'' transform}{subsubsection*.26}{}}
 \newlabel{reference_elements:the-dst-transform}{{5.4.7}{56}{The ``dst'' transform}{subsubsection*.26}{}}
 \newlabel{reference_elements:index-37}{{5.4.7}{56}{The ``dst'' transform}{subsubsection*.26}{}}
-\@writefile{toc}{\contentsline {subsubsection}{The ``bessel'' and ``bessel-neumann'' transforms}{56}{subsubsection*.27}}
-\newlabel{reference_elements:the-bessel-and-bessel-neumann-transforms}{{5.4.7}{56}{The ``bessel'' and ``bessel-neumann'' transforms}{subsubsection*.27}{}}
-\newlabel{reference_elements:index-39}{{5.4.7}{56}{The ``bessel'' and ``bessel-neumann'' transforms}{subsubsection*.27}{}}
-\newlabel{reference_elements:besseltransform}{{5.4.7}{56}{The ``bessel'' and ``bessel-neumann'' transforms}{subsubsection*.27}{}}
-\@writefile{toc}{\contentsline {subsubsection}{The ``spherical-bessel'' transform}{57}{subsubsection*.28}}
-\newlabel{reference_elements:the-spherical-bessel-transform}{{5.4.7}{57}{The ``spherical-bessel'' transform}{subsubsection*.28}{}}
-\newlabel{reference_elements:index-41}{{5.4.7}{57}{The ``spherical-bessel'' transform}{subsubsection*.28}{}}
-\newlabel{reference_elements:spherical-bessel-transform}{{5.4.7}{57}{The ``spherical-bessel'' transform}{subsubsection*.28}{}}
+\@writefile{toc}{\contentsline {subsubsection}{The ``bessel'' and ``bessel-neumann'' transforms}{57}{subsubsection*.27}}
+\newlabel{reference_elements:the-bessel-and-bessel-neumann-transforms}{{5.4.7}{57}{The ``bessel'' and ``bessel-neumann'' transforms}{subsubsection*.27}{}}
+\newlabel{reference_elements:index-39}{{5.4.7}{57}{The ``bessel'' and ``bessel-neumann'' transforms}{subsubsection*.27}{}}
+\newlabel{reference_elements:besseltransform}{{5.4.7}{57}{The ``bessel'' and ``bessel-neumann'' transforms}{subsubsection*.27}{}}
+\@writefile{toc}{\contentsline {subsubsection}{The ``spherical-bessel'' transform}{58}{subsubsection*.28}}
+\newlabel{reference_elements:the-spherical-bessel-transform}{{5.4.7}{58}{The ``spherical-bessel'' transform}{subsubsection*.28}{}}
+\newlabel{reference_elements:index-41}{{5.4.7}{58}{The ``spherical-bessel'' transform}{subsubsection*.28}{}}
+\newlabel{reference_elements:spherical-bessel-transform}{{5.4.7}{58}{The ``spherical-bessel'' transform}{subsubsection*.28}{}}
 \@writefile{toc}{\contentsline {subsubsection}{The ``hermite-gauss'' transform}{58}{subsubsection*.29}}
 \newlabel{reference_elements:hermite-gauss-transform}{{5.4.7}{58}{The ``hermite-gauss'' transform}{subsubsection*.29}{}}
 \newlabel{reference_elements:the-hermite-gauss-transform}{{5.4.7}{58}{The ``hermite-gauss'' transform}{subsubsection*.29}{}}
@@ -246,8 +246,8 @@
 \newlabel{reference_elements:vector-element}{{5.4.8}{59}{Vector Element}{subsection.5.4.8}{}}
 \newlabel{reference_elements:vectorelement}{{5.4.8}{59}{Vector Element}{subsection.5.4.8}{}}
 \newlabel{reference_elements:componentselement}{{5.4.8}{59}{Vector Element}{section*.30}{}}
-\newlabel{reference_elements:initialisationelement}{{5.4.8}{59}{Vector Element}{section*.31}{}}
-\newlabel{reference_elements:referencingnonlocal}{{5.4.8}{59}{Vector Element}{section*.32}{}}
+\newlabel{reference_elements:initialisationelement}{{5.4.8}{60}{Vector Element}{section*.31}{}}
+\newlabel{reference_elements:referencingnonlocal}{{5.4.8}{60}{Vector Element}{section*.32}{}}
 \newlabel{reference_elements:filenameelement}{{5.4.8}{60}{Vector Element}{section*.33}{}}
 \@writefile{toc}{\contentsline {subsubsection}{The dependencies element}{61}{subsubsection*.34}}
 \newlabel{reference_elements:the-dependencies-element}{{5.4.8}{61}{The dependencies element}{subsubsection*.34}{}}
@@ -258,26 +258,26 @@
 \newlabel{reference_elements:index-56}{{5.4.9}{62}{Computed Vector Element}{subsection.5.4.9}{}}
 \newlabel{reference_elements:computed-vector-element}{{5.4.9}{62}{Computed Vector Element}{subsection.5.4.9}{}}
 \newlabel{reference_elements:evaluationelement}{{5.4.9}{62}{Computed Vector Element}{section*.35}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.10}Noise Vector Element}{62}{subsection.5.4.10}}
-\newlabel{reference_elements:noise-vector-element}{{5.4.10}{62}{Noise Vector Element}{subsection.5.4.10}{}}
-\newlabel{reference_elements:index-58}{{5.4.10}{62}{Noise Vector Element}{subsection.5.4.10}{}}
-\newlabel{reference_elements:noisevectorelement}{{5.4.10}{62}{Noise Vector Element}{subsection.5.4.10}{}}
-\@writefile{toc}{\contentsline {subsubsection}{Uniform noise}{63}{subsubsection*.36}}
-\newlabel{reference_elements:uniformnoise}{{5.4.10}{63}{Uniform noise}{subsubsection*.36}{}}
-\newlabel{reference_elements:index-59}{{5.4.10}{63}{Uniform noise}{subsubsection*.36}{}}
-\newlabel{reference_elements:uniform-noise}{{5.4.10}{63}{Uniform noise}{subsubsection*.36}{}}
-\@writefile{toc}{\contentsline {subsubsection}{Gaussian noise}{63}{subsubsection*.37}}
-\newlabel{reference_elements:gaussiannoise}{{5.4.10}{63}{Gaussian noise}{subsubsection*.37}{}}
-\newlabel{reference_elements:gaussian-noise}{{5.4.10}{63}{Gaussian noise}{subsubsection*.37}{}}
-\newlabel{reference_elements:index-60}{{5.4.10}{63}{Gaussian noise}{subsubsection*.37}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.10}Noise Vector Element}{63}{subsection.5.4.10}}
+\newlabel{reference_elements:noise-vector-element}{{5.4.10}{63}{Noise Vector Element}{subsection.5.4.10}{}}
+\newlabel{reference_elements:index-58}{{5.4.10}{63}{Noise Vector Element}{subsection.5.4.10}{}}
+\newlabel{reference_elements:noisevectorelement}{{5.4.10}{63}{Noise Vector Element}{subsection.5.4.10}{}}
+\@writefile{toc}{\contentsline {subsubsection}{Uniform noise}{64}{subsubsection*.36}}
+\newlabel{reference_elements:uniformnoise}{{5.4.10}{64}{Uniform noise}{subsubsection*.36}{}}
+\newlabel{reference_elements:index-59}{{5.4.10}{64}{Uniform noise}{subsubsection*.36}{}}
+\newlabel{reference_elements:uniform-noise}{{5.4.10}{64}{Uniform noise}{subsubsection*.36}{}}
+\@writefile{toc}{\contentsline {subsubsection}{Gaussian noise}{64}{subsubsection*.37}}
+\newlabel{reference_elements:gaussiannoise}{{5.4.10}{64}{Gaussian noise}{subsubsection*.37}{}}
+\newlabel{reference_elements:gaussian-noise}{{5.4.10}{64}{Gaussian noise}{subsubsection*.37}{}}
+\newlabel{reference_elements:index-60}{{5.4.10}{64}{Gaussian noise}{subsubsection*.37}{}}
 \@writefile{toc}{\contentsline {subsubsection}{Wiener noise}{64}{subsubsection*.38}}
 \newlabel{reference_elements:wienernoise}{{5.4.10}{64}{Wiener noise}{subsubsection*.38}{}}
 \newlabel{reference_elements:index-61}{{5.4.10}{64}{Wiener noise}{subsubsection*.38}{}}
 \newlabel{reference_elements:wiener-noise}{{5.4.10}{64}{Wiener noise}{subsubsection*.38}{}}
-\@writefile{toc}{\contentsline {subsubsection}{Poissonian noise}{64}{subsubsection*.39}}
-\newlabel{reference_elements:poissioniannoise}{{5.4.10}{64}{Poissonian noise}{subsubsection*.39}{}}
-\newlabel{reference_elements:poissonian-noise}{{5.4.10}{64}{Poissonian noise}{subsubsection*.39}{}}
-\newlabel{reference_elements:index-62}{{5.4.10}{64}{Poissonian noise}{subsubsection*.39}{}}
+\@writefile{toc}{\contentsline {subsubsection}{Poissonian noise}{65}{subsubsection*.39}}
+\newlabel{reference_elements:poissioniannoise}{{5.4.10}{65}{Poissonian noise}{subsubsection*.39}{}}
+\newlabel{reference_elements:poissonian-noise}{{5.4.10}{65}{Poissonian noise}{subsubsection*.39}{}}
+\newlabel{reference_elements:index-62}{{5.4.10}{65}{Poissonian noise}{subsubsection*.39}{}}
 \@writefile{toc}{\contentsline {subsubsection}{Jump noise}{65}{subsubsection*.40}}
 \newlabel{reference_elements:jumpnoise}{{5.4.10}{65}{Jump noise}{subsubsection*.40}{}}
 \newlabel{reference_elements:index-63}{{5.4.10}{65}{Jump noise}{subsubsection*.40}{}}
@@ -286,10 +286,10 @@
 \newlabel{reference_elements:sequence-element}{{5.4.11}{65}{Sequence Element}{subsection.5.4.11}{}}
 \newlabel{reference_elements:sequenceelement}{{5.4.11}{65}{Sequence Element}{subsection.5.4.11}{}}
 \newlabel{reference_elements:index-64}{{5.4.11}{65}{Sequence Element}{subsection.5.4.11}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.12}Filter element}{65}{subsection.5.4.12}}
-\newlabel{reference_elements:index-65}{{5.4.12}{65}{Filter element}{subsection.5.4.12}{}}
-\newlabel{reference_elements:filterelement}{{5.4.12}{65}{Filter element}{subsection.5.4.12}{}}
-\newlabel{reference_elements:filter-element}{{5.4.12}{65}{Filter element}{subsection.5.4.12}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.12}Filter element}{66}{subsection.5.4.12}}
+\newlabel{reference_elements:index-65}{{5.4.12}{66}{Filter element}{subsection.5.4.12}{}}
+\newlabel{reference_elements:filterelement}{{5.4.12}{66}{Filter element}{subsection.5.4.12}{}}
+\newlabel{reference_elements:filter-element}{{5.4.12}{66}{Filter element}{subsection.5.4.12}{}}
 \@writefile{toc}{\contentsline {subsection}{\numberline {5.4.13}Integrate element}{66}{subsection.5.4.13}}
 \newlabel{reference_elements:index-67}{{5.4.13}{66}{Integrate element}{subsection.5.4.13}{}}
 \newlabel{reference_elements:integrate-element}{{5.4.13}{66}{Integrate element}{subsection.5.4.13}{}}
@@ -300,9 +300,9 @@
 \newlabel{reference_elements:index-70}{{5.4.13}{67}{Operators and operator elements}{subsubsection*.42}{}}
 \newlabel{reference_elements:operators-and-operator-elements}{{5.4.13}{67}{Operators and operator elements}{subsubsection*.42}{}}
 \newlabel{reference_elements:integrationvectorselement}{{5.4.13}{67}{Operators and operator elements}{section*.43}{}}
-\newlabel{reference_elements:operatorelement}{{5.4.13}{67}{Operators and operator elements}{section*.44}{}}
-\newlabel{reference_elements:operatornameselement}{{5.4.13}{67}{Operators and operator elements}{section*.45}{}}
-\newlabel{reference_elements:boundaryconditionelement}{{5.4.13}{68}{Operators and operator elements}{section*.46}{}}
+\newlabel{reference_elements:operatorelement}{{5.4.13}{68}{Operators and operator elements}{section*.44}{}}
+\newlabel{reference_elements:operatornameselement}{{5.4.13}{68}{Operators and operator elements}{section*.45}{}}
+\newlabel{reference_elements:boundaryconditionelement}{{5.4.13}{69}{Operators and operator elements}{section*.46}{}}
 \@writefile{toc}{\contentsline {subsubsection}{Algorithms}{69}{subsubsection*.47}}
 \newlabel{reference_elements:algorithms}{{5.4.13}{69}{Algorithms}{subsubsection*.47}{}}
 \newlabel{reference_elements:id8}{{5.4.13}{69}{Algorithms}{subsubsection*.47}{}}
@@ -310,26 +310,26 @@
 \newlabel{reference_elements:si}{{5.4.13}{69}{SI and SIC algorithms}{paragraph*.48}{}}
 \newlabel{reference_elements:index-82}{{5.4.13}{69}{SI and SIC algorithms}{paragraph*.48}{}}
 \newlabel{reference_elements:si-and-sic-algorithms}{{5.4.13}{69}{SI and SIC algorithms}{paragraph*.48}{}}
-\@writefile{toc}{\contentsline {paragraph}{Runge-Kutta algorithms}{69}{paragraph*.49}}
-\newlabel{reference_elements:rk4}{{5.4.13}{69}{Runge-Kutta algorithms}{paragraph*.49}{}}
-\newlabel{reference_elements:runge-kutta-algorithms}{{5.4.13}{69}{Runge-Kutta algorithms}{paragraph*.49}{}}
-\newlabel{reference_elements:index-83}{{5.4.13}{69}{Runge-Kutta algorithms}{paragraph*.49}{}}
+\@writefile{toc}{\contentsline {paragraph}{Runge-Kutta algorithms}{70}{paragraph*.49}}
+\newlabel{reference_elements:rk4}{{5.4.13}{70}{Runge-Kutta algorithms}{paragraph*.49}{}}
+\newlabel{reference_elements:runge-kutta-algorithms}{{5.4.13}{70}{Runge-Kutta algorithms}{paragraph*.49}{}}
+\newlabel{reference_elements:index-83}{{5.4.13}{70}{Runge-Kutta algorithms}{paragraph*.49}{}}
 \@writefile{toc}{\contentsline {paragraph}{Adaptive Runge-Kutta algorithms}{70}{paragraph*.50}}
 \newlabel{reference_elements:adaptive-runge-kutta-algorithms}{{5.4.13}{70}{Adaptive Runge-Kutta algorithms}{paragraph*.50}{}}
 \newlabel{reference_elements:ark45}{{5.4.13}{70}{Adaptive Runge-Kutta algorithms}{paragraph*.50}{}}
 \newlabel{reference_elements:index-84}{{5.4.13}{70}{Adaptive Runge-Kutta algorithms}{paragraph*.50}{}}
-\@writefile{toc}{\contentsline {paragraph}{Richardson Extrapolation Algorithms and the Bulirsch-Stoer Method}{70}{paragraph*.51}}
-\newlabel{reference_elements:realgorithm}{{5.4.13}{70}{Richardson Extrapolation Algorithms and the Bulirsch-Stoer Method}{paragraph*.51}{}}
-\newlabel{reference_elements:index-85}{{5.4.13}{70}{Richardson Extrapolation Algorithms and the Bulirsch-Stoer Method}{paragraph*.51}{}}
-\newlabel{reference_elements:richardson-extrapolation-algorithms-and-the-bulirsch-stoer-method}{{5.4.13}{70}{Richardson Extrapolation Algorithms and the Bulirsch-Stoer Method}{paragraph*.51}{}}
+\@writefile{toc}{\contentsline {paragraph}{Richardson Extrapolation Algorithms and the Bulirsch-Stoer Method}{71}{paragraph*.51}}
+\newlabel{reference_elements:realgorithm}{{5.4.13}{71}{Richardson Extrapolation Algorithms and the Bulirsch-Stoer Method}{paragraph*.51}{}}
+\newlabel{reference_elements:index-85}{{5.4.13}{71}{Richardson Extrapolation Algorithms and the Bulirsch-Stoer Method}{paragraph*.51}{}}
+\newlabel{reference_elements:richardson-extrapolation-algorithms-and-the-bulirsch-stoer-method}{{5.4.13}{71}{Richardson Extrapolation Algorithms and the Bulirsch-Stoer Method}{paragraph*.51}{}}
 \@writefile{toc}{\contentsline {subsubsection}{Filters element}{71}{subsubsection*.52}}
 \newlabel{reference_elements:filterselement}{{5.4.13}{71}{Filters element}{subsubsection*.52}{}}
 \newlabel{reference_elements:index-86}{{5.4.13}{71}{Filters element}{subsubsection*.52}{}}
 \newlabel{reference_elements:filters-element}{{5.4.13}{71}{Filters element}{subsubsection*.52}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.14}Breakpoint element}{71}{subsection.5.4.14}}
-\newlabel{reference_elements:breakpoint-element}{{5.4.14}{71}{Breakpoint element}{subsection.5.4.14}{}}
-\newlabel{reference_elements:breakpointelement}{{5.4.14}{71}{Breakpoint element}{subsection.5.4.14}{}}
-\newlabel{reference_elements:index-87}{{5.4.14}{71}{Breakpoint element}{subsection.5.4.14}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {5.4.14}Breakpoint element}{72}{subsection.5.4.14}}
+\newlabel{reference_elements:breakpoint-element}{{5.4.14}{72}{Breakpoint element}{subsection.5.4.14}{}}
+\newlabel{reference_elements:breakpointelement}{{5.4.14}{72}{Breakpoint element}{subsection.5.4.14}{}}
+\newlabel{reference_elements:index-87}{{5.4.14}{72}{Breakpoint element}{subsection.5.4.14}{}}
 \@writefile{toc}{\contentsline {subsection}{\numberline {5.4.15}Output element}{72}{subsection.5.4.15}}
 \newlabel{reference_elements:outputelement}{{5.4.15}{72}{Output element}{subsection.5.4.15}{}}
 \newlabel{reference_elements:index-88}{{5.4.15}{72}{Output element}{subsection.5.4.15}{}}
@@ -341,19 +341,19 @@
 \@writefile{toc}{\contentsline {subsection}{\numberline {5.4.16}XMDS-specific C syntax}{73}{subsection.5.4.16}}
 \newlabel{reference_elements:xmds-specific-c-syntax}{{5.4.16}{73}{XMDS-specific C syntax}{subsection.5.4.16}{}}
 \newlabel{reference_elements:xmdscsyntax}{{5.4.16}{73}{XMDS-specific C syntax}{subsection.5.4.16}{}}
-\@writefile{toc}{\contentsline {section}{\numberline {5.5}Modified Midpoint Method}{73}{section.5.5}}
-\newlabel{bulirschStoer:modified-midpoint-method}{{5.5}{73}{Modified Midpoint Method}{section.5.5}{}}
-\newlabel{bulirschStoer:index-0}{{5.5}{73}{Modified Midpoint Method}{section.5.5}{}}
-\newlabel{bulirschStoer::doc}{{5.5}{73}{Modified Midpoint Method}{section.5.5}{}}
-\newlabel{bulirschStoer:mmdetail}{{5.5}{73}{Modified Midpoint Method}{section.5.5}{}}
+\@writefile{toc}{\contentsline {section}{\numberline {5.5}Modified Midpoint Method}{74}{section.5.5}}
+\newlabel{bulirschStoer:modified-midpoint-method}{{5.5}{74}{Modified Midpoint Method}{section.5.5}{}}
+\newlabel{bulirschStoer:index-0}{{5.5}{74}{Modified Midpoint Method}{section.5.5}{}}
+\newlabel{bulirschStoer::doc}{{5.5}{74}{Modified Midpoint Method}{section.5.5}{}}
+\newlabel{bulirschStoer:mmdetail}{{5.5}{74}{Modified Midpoint Method}{section.5.5}{}}
 \@writefile{toc}{\contentsline {section}{\numberline {5.6}Bulirsch-Stoer Algorithm}{74}{section.5.6}}
 \newlabel{bulirschStoer:bulirsch-stoer-algorithm}{{5.6}{74}{Bulirsch-Stoer Algorithm}{section.5.6}{}}
 \newlabel{bulirschStoer:bsdetail}{{5.6}{74}{Bulirsch-Stoer Algorithm}{section.5.6}{}}
 \newlabel{bulirschStoer:index-1}{{5.6}{74}{Bulirsch-Stoer Algorithm}{section.5.6}{}}
-\@writefile{toc}{\contentsline {section}{\numberline {5.7}Error Scaling Behaviour}{75}{section.5.7}}
-\newlabel{bulirschStoer:errorscaling}{{5.7}{75}{Error Scaling Behaviour}{section.5.7}{}}
-\newlabel{bulirschStoer:index-2}{{5.7}{75}{Error Scaling Behaviour}{section.5.7}{}}
-\newlabel{bulirschStoer:error-scaling-behaviour}{{5.7}{75}{Error Scaling Behaviour}{section.5.7}{}}
+\@writefile{toc}{\contentsline {section}{\numberline {5.7}Error Scaling Behaviour}{76}{section.5.7}}
+\newlabel{bulirschStoer:errorscaling}{{5.7}{76}{Error Scaling Behaviour}{section.5.7}{}}
+\newlabel{bulirschStoer:index-2}{{5.7}{76}{Error Scaling Behaviour}{section.5.7}{}}
+\newlabel{bulirschStoer:error-scaling-behaviour}{{5.7}{76}{Error Scaling Behaviour}{section.5.7}{}}
 \@writefile{toc}{\contentsline {chapter}{\numberline {6}Advanced Topics}{77}{chapter.6}}
 \@writefile{lof}{\addvspace {10\p@ }}
 \@writefile{lot}{\addvspace {10\p@ }}
@@ -448,8 +448,8 @@
 \newlabel{optimisation_hints:auto-vectorisation}{{9.3.3}{90}{Auto-vectorisation}{subsection.9.3.3}{}}
 \@writefile{toc}{\contentsline {subsection}{\numberline {9.3.4}OpenMP}{90}{subsection.9.3.4}}
 \newlabel{optimisation_hints:openmp}{{9.3.4}{90}{OpenMP}{subsection.9.3.4}{}}
-\@writefile{toc}{\contentsline {subsection}{\numberline {9.3.5}Parallelisation with MPI}{90}{subsection.9.3.5}}
-\newlabel{optimisation_hints:parallelisation-with-mpi}{{9.3.5}{90}{Parallelisation with MPI}{subsection.9.3.5}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {9.3.5}Parallelisation with MPI}{91}{subsection.9.3.5}}
+\newlabel{optimisation_hints:parallelisation-with-mpi}{{9.3.5}{91}{Parallelisation with MPI}{subsection.9.3.5}{}}
 \@writefile{toc}{\contentsline {section}{\numberline {9.4}Atom-optics-specific hints}{91}{section.9.4}}
 \newlabel{optimisation_hints:atom-optics-specific-hints}{{9.4}{91}{Atom-optics-specific hints}{section.9.4}{}}
 \@writefile{toc}{\contentsline {subsection}{\numberline {9.4.1}Separate out imaginary-time calculation code}{91}{subsection.9.4.1}}
diff --git a/documentation/latex/xmds2.idx b/documentation/latex/xmds2.idx
index ab78abc..30224f5 100644
--- a/documentation/latex/xmds2.idx
+++ b/documentation/latex/xmds2.idx
@@ -18,13 +18,13 @@
 \indexentry{Driver examples!distributed-mpi|hyperpage}{30}
 \indexentry{Command line arguments|hyperpage}{30}
 \indexentry{\_SAMPLE\_COMPLEX|hyperpage}{31}
-\indexentry{Computed vectors|hyperpage}{33}
-\indexentry{Aliases|hyperpage}{40}
+\indexentry{Computed vectors|hyperpage}{34}
+\indexentry{Aliases|hyperpage}{41}
 \indexentry{XMDS2 XML schema|hyperpage}{44}
 \indexentry{XML schema|hyperpage}{44}
-\indexentry{Reference|hyperpage}{47}
-\indexentry{XML Elements|hyperpage}{47}
-\indexentry{Script elements|hyperpage}{47}
+\indexentry{Reference|hyperpage}{46}
+\indexentry{XML Elements|hyperpage}{46}
+\indexentry{Script elements|hyperpage}{46}
 \indexentry{XML elements!simulation|hyperpage}{47}
 \indexentry{XML elements!name (of simulation)|hyperpage}{47}
 \indexentry{XML elements!author|hyperpage}{47}
@@ -42,7 +42,7 @@
 \indexentry{XML elements!chunked\_output|hyperpage}{50}
 \indexentry{XML elements!diagnostics|hyperpage}{50}
 \indexentry{XML elements!error\_check|hyperpage}{50}
-\indexentry{XML elements!halt\_non\_finite|hyperpage}{51}
+\indexentry{XML elements!halt\_non\_finite|hyperpage}{50}
 \indexentry{XML elements!fftw|hyperpage}{51}
 \indexentry{XML element attributes!plan|hyperpage}{51}
 \indexentry{XML elements!globals|hyperpage}{51}
@@ -65,11 +65,11 @@
 \indexentry{XML elements!dimension|hyperpage}{53}
 \indexentry{XML element attributes!name (dimension)|hyperpage}{53}
 \indexentry{XML element attributes!type (dimension)|hyperpage}{53}
-\indexentry{XML element attributes!lattice|hyperpage}{54}
-\indexentry{XML element attributes!domain|hyperpage}{54}
-\indexentry{Aliases|hyperpage}{54}
-\indexentry{XML element attributes!aliases|hyperpage}{54}
-\indexentry{Vectors!non-local access|hyperpage}{54}
+\indexentry{XML element attributes!lattice|hyperpage}{53}
+\indexentry{XML element attributes!domain|hyperpage}{53}
+\indexentry{Aliases|hyperpage}{53}
+\indexentry{XML element attributes!aliases|hyperpage}{53}
+\indexentry{Vectors!non-local access|hyperpage}{53}
 \indexentry{XML element attributes!volume\_prefactor|hyperpage}{54}
 \indexentry{XML element attributes!transform|hyperpage}{54}
 \indexentry{Aliases|hyperpage}{54}
@@ -82,17 +82,17 @@
 \indexentry{Transforms!bessel|hyperpage}{56}
 \indexentry{Boundary conditions (Bessel)|hyperpage}{57}
 \indexentry{Boundary conditions|hyperpage}{57}
-\indexentry{Transforms!spherical-bessel|hyperpage}{57}
+\indexentry{Transforms!spherical-bessel|hyperpage}{58}
 \indexentry{Transforms!hermite-gauss|hyperpage}{58}
-\indexentry{XML element attributes!length\_scale|hyperpage}{58}
+\indexentry{XML element attributes!length\_scale|hyperpage}{59}
 \indexentry{XML elements!vector|hyperpage}{59}
 \indexentry{XML element attributes!name (vector)|hyperpage}{59}
 \indexentry{XML element attributes!type (vector)|hyperpage}{59}
 \indexentry{XML elements!components|hyperpage}{59}
-\indexentry{XML element attributes!initial\_basis (vector)|hyperpage}{59}
-\indexentry{XML elements!initialisation|hyperpage}{59}
-\indexentry{XML element attributes!name (vector)|hyperpage}{59}
-\indexentry{Vectors!non-local access|hyperpage}{59}
+\indexentry{XML element attributes!initial\_basis (vector)|hyperpage}{60}
+\indexentry{XML elements!initialisation|hyperpage}{60}
+\indexentry{XML element attributes!name (vector)|hyperpage}{60}
+\indexentry{Vectors!non-local access|hyperpage}{60}
 \indexentry{Vectors!non-local access|hyperpage}{60}
 \indexentry{MPI!non-local vector access|hyperpage}{60}
 \indexentry{XML elements!filename|hyperpage}{60}
@@ -100,28 +100,28 @@
 \indexentry{XML element attributes!geometry\_matching\_mode|hyperpage}{60}
 \indexentry{XML elements!dependencies|hyperpage}{61}
 \indexentry{XML element attributes!basis (dependencies element)|hyperpage}{61}
-\indexentry{XML elements!computed\_vector|hyperpage}{61}
+\indexentry{XML elements!computed\_vector|hyperpage}{62}
 \indexentry{XML elements!evaluation|hyperpage}{62}
 \indexentry{XML element attributes!name (computed vector)|hyperpage}{62}
 \indexentry{XML element attributes!dimensions (computed vector)|hyperpage}{62}
 \indexentry{XML element attributes!type (computed vector)|hyperpage}{62}
-\indexentry{XML elements!noise\_vector|hyperpage}{62}
-\indexentry{XML element attributes!name (noise vector)|hyperpage}{62}
-\indexentry{XML element attributes!dimensions (noise vector)|hyperpage}{62}
-\indexentry{XML element attributes!type (noise vector)|hyperpage}{62}
-\indexentry{XML element attributes!initial\_basis (noise vector)|hyperpage}{62}
-\indexentry{XML element attributes!method|hyperpage}{62}
-\indexentry{XML element attributes!seed|hyperpage}{62}
-\indexentry{XML element attributes!kind (noise vector)|hyperpage}{62}
+\indexentry{XML elements!noise\_vector|hyperpage}{63}
+\indexentry{XML element attributes!name (noise vector)|hyperpage}{63}
+\indexentry{XML element attributes!dimensions (noise vector)|hyperpage}{63}
+\indexentry{XML element attributes!type (noise vector)|hyperpage}{63}
+\indexentry{XML element attributes!initial\_basis (noise vector)|hyperpage}{63}
+\indexentry{XML element attributes!method|hyperpage}{63}
+\indexentry{XML element attributes!seed|hyperpage}{63}
+\indexentry{XML element attributes!kind (noise vector)|hyperpage}{63}
 \indexentry{Noise!uniform|hyperpage}{63}
-\indexentry{Noise!gaussian|hyperpage}{63}
+\indexentry{Noise!gaussian|hyperpage}{64}
 \indexentry{Noise!wiener|hyperpage}{64}
-\indexentry{Noise!poissonian|hyperpage}{64}
-\indexentry{Noise!jump|hyperpage}{64}
+\indexentry{Noise!poissonian|hyperpage}{65}
+\indexentry{Noise!jump|hyperpage}{65}
 \indexentry{XML elements!sequence|hyperpage}{65}
 \indexentry{XML element attributes!cycles|hyperpage}{65}
-\indexentry{XML elements!filter|hyperpage}{65}
-\indexentry{XML element attributes!name (filter)|hyperpage}{65}
+\indexentry{XML elements!filter|hyperpage}{66}
+\indexentry{XML element attributes!name (filter)|hyperpage}{66}
 \indexentry{XML elements!integrate|hyperpage}{66}
 \indexentry{XML element attributes!interval|hyperpage}{66}
 \indexentry{XML element attributes!algorithm|hyperpage}{66}
@@ -133,28 +133,28 @@
 \indexentry{XML elements!operators|hyperpage}{67}
 \indexentry{XML elements!integration\_vectors|hyperpage}{67}
 \indexentry{Vectors!non-local access|hyperpage}{67}
-\indexentry{XML elements!operator|hyperpage}{67}
-\indexentry{XML element attributes!kind (operator)|hyperpage}{67}
-\indexentry{Operators!IP|hyperpage}{67}
-\indexentry{Operators!EX|hyperpage}{67}
-\indexentry{IP operators|hyperpage}{67}
-\indexentry{EX operators|hyperpage}{67}
+\indexentry{XML elements!operator|hyperpage}{68}
+\indexentry{XML element attributes!kind (operator)|hyperpage}{68}
+\indexentry{Operators!IP|hyperpage}{68}
+\indexentry{Operators!EX|hyperpage}{68}
+\indexentry{IP operators|hyperpage}{68}
+\indexentry{EX operators|hyperpage}{68}
 \indexentry{XML element attributes!constant|hyperpage}{68}
 \indexentry{Cross-propagation|hyperpage}{68}
 \indexentry{XML element attributes!cross-propagation|hyperpage}{68}
-\indexentry{XML elements!boundary\_conditions|hyperpage}{68}
-\indexentry{XML element attributes!kind (boundary\_condition element)|hyperpage}{68}
-\indexentry{Boundary conditions|hyperpage}{68}
+\indexentry{XML elements!boundary\_conditions|hyperpage}{69}
+\indexentry{XML element attributes!kind (boundary\_condition element)|hyperpage}{69}
+\indexentry{Boundary conditions|hyperpage}{69}
 \indexentry{Integration algorithms!semi-implicit (SI)|hyperpage}{69}
-\indexentry{Integration algorithms!Runge-Kutta (RK)|hyperpage}{69}
+\indexentry{Integration algorithms!Runge-Kutta (RK)|hyperpage}{70}
 \indexentry{Integration algorithms!adaptive Runge-Kutta (ARK)|hyperpage}{70}
-\indexentry{Integration algorithms!Richardson extrapolation|hyperpage}{70}
+\indexentry{Integration algorithms!Richardson extrapolation|hyperpage}{71}
 \indexentry{XML elements!filters|hyperpage}{71}
 \indexentry{XML element attributes!where|hyperpage}{71}
-\indexentry{XML elements!breakpoint|hyperpage}{71}
-\indexentry{XML element attributes!filename (breakpoint element)|hyperpage}{71}
-\indexentry{XML element attributes!format (breakpoint element)|hyperpage}{71}
-\indexentry{XML elements!output|hyperpage}{71}
+\indexentry{XML elements!breakpoint|hyperpage}{72}
+\indexentry{XML element attributes!filename (breakpoint element)|hyperpage}{72}
+\indexentry{XML element attributes!format (breakpoint element)|hyperpage}{72}
+\indexentry{XML elements!output|hyperpage}{72}
 \indexentry{XML element attributes!format (output element)|hyperpage}{72}
 \indexentry{XML element attributes!filename (output element)|hyperpage}{72}
 \indexentry{XML element attributes!format (output element)|hyperpage}{72}
@@ -168,9 +168,9 @@
 \indexentry{\_dx|hyperpage}{73}
 \indexentry{XML element attributes!basis (sampling\_group element)|hyperpage}{73}
 \indexentry{Modified midpoint method|hyperpage}{73}
-\indexentry{Bulirsch-Stoer algorithm|hyperpage}{73}
-\indexentry{Bulirsch-Stoer error scaling|hyperpage}{74}
-\indexentry{Advanced topics|hyperpage}{75}
+\indexentry{Bulirsch-Stoer algorithm|hyperpage}{74}
+\indexentry{Bulirsch-Stoer error scaling|hyperpage}{75}
+\indexentry{Advanced topics|hyperpage}{76}
 \indexentry{Importing data|hyperpage}{77}
 \indexentry{Convolutions and Fourier transforms|hyperpage}{79}
 \indexentry{Geometry matching mode - loose|hyperpage}{81}
diff --git a/documentation/latex/xmds2.ilg b/documentation/latex/xmds2.ilg
index 84591f9..3b78133 100644
--- a/documentation/latex/xmds2.ilg
+++ b/documentation/latex/xmds2.ilg
@@ -1,7 +1,7 @@
 This is makeindex, version 2.15 [TeX Live 2012] (kpathsea + Thai support).
 Scanning style file ./python.ist......done (6 attributes redefined, 0 ignored).
 Scanning input file xmds2.idx....done (196 entries accepted, 0 rejected).
-Sorting entries.....done (1559 comparisons).
+Sorting entries.....done (1561 comparisons).
 Generating output file xmds2.ind....done (257 lines written, 0 warnings).
 Output written in xmds2.ind.
 Transcript written in xmds2.ilg.
diff --git a/documentation/latex/xmds2.ind b/documentation/latex/xmds2.ind
index 160909b..15e132d 100644
--- a/documentation/latex/xmds2.ind
+++ b/documentation/latex/xmds2.ind
@@ -11,25 +11,25 @@
   \indexspace
   \bigletter A
   \item Adding an integrator, \hyperpage{99}
-  \item Advanced topics, \hyperpage{75}
-  \item Aliases, \hyperpage{40}, \hyperpage{54}
+  \item Advanced topics, \hyperpage{76}
+  \item Aliases, \hyperpage{41}, \hyperpage{53, 54}
 
   \indexspace
   \bigletter B
-  \item Boundary conditions, \hyperpage{57}, \hyperpage{68}
+  \item Boundary conditions, \hyperpage{57}, \hyperpage{69}
   \item Boundary conditions (Bessel), \hyperpage{57}
   \item Boundary conditions (DCT), \hyperpage{55}
   \item Boundary conditions (DFT), \hyperpage{54}
   \item Boundary conditions (DST), \hyperpage{56}
   \item Bug reports, \hyperpage{83}
-  \item Bulirsch-Stoer algorithm, \hyperpage{73}
-  \item Bulirsch-Stoer error scaling, \hyperpage{74}
+  \item Bulirsch-Stoer algorithm, \hyperpage{74}
+  \item Bulirsch-Stoer error scaling, \hyperpage{75}
 
   \indexspace
   \bigletter C
   \item Citing XMDS2, \hyperpage{83}
   \item Command line arguments, \hyperpage{30}
-  \item Computed vectors, \hyperpage{33}
+  \item Computed vectors, \hyperpage{34}
   \item Convolutions and Fourier transforms, \hyperpage{79}
   \item Cross-propagation, \hyperpage{68}
 
@@ -51,7 +51,7 @@
 
   \indexspace
   \bigletter E
-  \item EX operators, \hyperpage{67}
+  \item EX operators, \hyperpage{68}
   \item Examples, \hyperpage{14}
   \item Exporting data, \hyperpage{11}, \hyperpage{91}
 
@@ -79,10 +79,10 @@
   \item Integration algorithms
     \subitem adaptive Runge-Kutta (ARK), \hyperpage{70}
     \subitem all, \hyperpage{66}
-    \subitem Richardson extrapolation, \hyperpage{70}
-    \subitem Runge-Kutta (RK), \hyperpage{69}
+    \subitem Richardson extrapolation, \hyperpage{71}
+    \subitem Runge-Kutta (RK), \hyperpage{70}
     \subitem semi-implicit (SI), \hyperpage{69}
-  \item IP operators, \hyperpage{67}
+  \item IP operators, \hyperpage{68}
   \item IP versus EX operators, \hyperpage{84}
 
   \indexspace
@@ -104,9 +104,9 @@
   \bigletter N
   \item News, \hyperpage{123}
   \item Noise
-    \subitem gaussian, \hyperpage{63}
-    \subitem jump, \hyperpage{64}
-    \subitem poissonian, \hyperpage{64}
+    \subitem gaussian, \hyperpage{64}
+    \subitem jump, \hyperpage{65}
+    \subitem poissonian, \hyperpage{65}
     \subitem uniform, \hyperpage{63}
     \subitem wiener, \hyperpage{64}
   \item Noise vector example, \hyperpage{20}
@@ -115,8 +115,8 @@
   \indexspace
   \bigletter O
   \item Operators, \hyperpage{67}
-    \subitem EX, \hyperpage{67}
-    \subitem IP, \hyperpage{67}
+    \subitem EX, \hyperpage{68}
+    \subitem IP, \hyperpage{68}
 
   \indexspace
   \bigletter P
@@ -124,12 +124,12 @@
 
   \indexspace
   \bigletter R
-  \item Reference, \hyperpage{47}
+  \item Reference, \hyperpage{46}
 
   \indexspace
   \bigletter S
   \item Sampling, \hyperpage{72}
-  \item Script elements, \hyperpage{47}
+  \item Script elements, \hyperpage{46}
   \item Single precision, \hyperpage{51}
 
   \indexspace
@@ -142,13 +142,13 @@
     \subitem dft, \hyperpage{54}
     \subitem dst, \hyperpage{56}
     \subitem hermite-gauss, \hyperpage{58}
-    \subitem spherical-bessel, \hyperpage{57}
+    \subitem spherical-bessel, \hyperpage{58}
   \item Tutorial, \hyperpage{7}
 
   \indexspace
   \bigletter V
   \item Vectors
-    \subitem non-local access, \hyperpage{54}, \hyperpage{59, 60}, \hyperpage{67}
+    \subitem non-local access, \hyperpage{53}, \hyperpage{60}, \hyperpage{67}
 
   \indexspace
   \bigletter X
@@ -157,7 +157,7 @@
   \item XMDS2 XML schema, \hyperpage{44}
   \item XML element attributes
     \subitem algorithm, \hyperpage{66}
-    \subitem aliases, \hyperpage{54}
+    \subitem aliases, \hyperpage{53}
     \subitem basis (dependencies element), \hyperpage{61}
     \subitem basis (sampling\_group element), \hyperpage{72, 73}
     \subitem constant, \hyperpage{68}
@@ -165,45 +165,45 @@
     \subitem cycles, \hyperpage{65}
     \subitem default\_value, \hyperpage{49}
     \subitem dimensions (computed vector), \hyperpage{62}
-    \subitem dimensions (noise vector), \hyperpage{62}
-    \subitem domain, \hyperpage{54}
-    \subitem filename (breakpoint element), \hyperpage{71}
+    \subitem dimensions (noise vector), \hyperpage{63}
+    \subitem domain, \hyperpage{53}
+    \subitem filename (breakpoint element), \hyperpage{72}
     \subitem filename (output element), \hyperpage{72}
-    \subitem format (breakpoint element), \hyperpage{71}
+    \subitem format (breakpoint element), \hyperpage{72}
     \subitem format (output element), \hyperpage{72}
     \subitem geometry\_matching\_mode, \hyperpage{60}
-    \subitem initial\_basis (noise vector), \hyperpage{62}
-    \subitem initial\_basis (vector), \hyperpage{59}
+    \subitem initial\_basis (noise vector), \hyperpage{63}
+    \subitem initial\_basis (vector), \hyperpage{60}
     \subitem initial\_sample, \hyperpage{72}
     \subitem interval, \hyperpage{66}
     \subitem kind, \hyperpage{52}
-    \subitem kind (boundary\_condition element), \hyperpage{68}
+    \subitem kind (boundary\_condition element), \hyperpage{69}
     \subitem kind (initialisation element), \hyperpage{60}
-    \subitem kind (noise vector), \hyperpage{62}
-    \subitem kind (operator), \hyperpage{67}
-    \subitem lattice, \hyperpage{54}
-    \subitem length\_scale, \hyperpage{58}
-    \subitem method, \hyperpage{62}
+    \subitem kind (noise vector), \hyperpage{63}
+    \subitem kind (operator), \hyperpage{68}
+    \subitem lattice, \hyperpage{53}
+    \subitem length\_scale, \hyperpage{59}
+    \subitem method, \hyperpage{63}
     \subitem name, \hyperpage{49}
     \subitem name (computed vector), \hyperpage{62}
     \subitem name (dimension), \hyperpage{53}
     \subitem name (driver), \hyperpage{53}
-    \subitem name (filter), \hyperpage{65}
-    \subitem name (noise vector), \hyperpage{62}
-    \subitem name (vector), \hyperpage{59}
+    \subitem name (filter), \hyperpage{66}
+    \subitem name (noise vector), \hyperpage{63}
+    \subitem name (vector), \hyperpage{59, 60}
     \subitem plan, \hyperpage{51}
-    \subitem seed, \hyperpage{62}
+    \subitem seed, \hyperpage{63}
     \subitem steps, \hyperpage{66}
     \subitem tolerance, \hyperpage{66}
     \subitem transform, \hyperpage{54}
     \subitem type, \hyperpage{49}
     \subitem type (computed vector), \hyperpage{62}
     \subitem type (dimension), \hyperpage{53}
-    \subitem type (noise vector), \hyperpage{62}
+    \subitem type (noise vector), \hyperpage{63}
     \subitem type (vector), \hyperpage{59}
     \subitem volume\_prefactor, \hyperpage{54}
     \subitem where, \hyperpage{71}
-  \item XML Elements, \hyperpage{47}
+  \item XML Elements, \hyperpage{46}
   \item XML elements
     \subitem argument, \hyperpage{49}
     \subitem arguments, \hyperpage{48}
@@ -211,12 +211,12 @@
     \subitem autovectorise, \hyperpage{49}
     \subitem benchmark, \hyperpage{49}
     \subitem bing, \hyperpage{49}
-    \subitem boundary\_conditions, \hyperpage{68}
-    \subitem breakpoint, \hyperpage{71}
+    \subitem boundary\_conditions, \hyperpage{69}
+    \subitem breakpoint, \hyperpage{72}
     \subitem cflags, \hyperpage{49}
     \subitem chunked\_output, \hyperpage{50}
     \subitem components, \hyperpage{59}
-    \subitem computed\_vector, \hyperpage{61}
+    \subitem computed\_vector, \hyperpage{62}
     \subitem dependencies, \hyperpage{61}
     \subitem description, \hyperpage{47}
     \subitem diagnostics, \hyperpage{50}
@@ -227,20 +227,20 @@
     \subitem features, \hyperpage{47}
     \subitem fftw, \hyperpage{51}
     \subitem filename, \hyperpage{60}
-    \subitem filter, \hyperpage{65}
+    \subitem filter, \hyperpage{66}
     \subitem filters, \hyperpage{71}
     \subitem geometry, \hyperpage{53}
     \subitem globals, \hyperpage{51}
-    \subitem halt\_non\_finite, \hyperpage{51}
-    \subitem initialisation, \hyperpage{59}
+    \subitem halt\_non\_finite, \hyperpage{50}
+    \subitem initialisation, \hyperpage{60}
     \subitem integrate, \hyperpage{66}
     \subitem integration\_vectors, \hyperpage{67}
     \subitem name (of simulation), \hyperpage{47}
-    \subitem noise\_vector, \hyperpage{62}
+    \subitem noise\_vector, \hyperpage{63}
     \subitem openmp, \hyperpage{51}
-    \subitem operator, \hyperpage{67}
+    \subitem operator, \hyperpage{68}
     \subitem operators, \hyperpage{67}
-    \subitem output, \hyperpage{71}
+    \subitem output, \hyperpage{72}
     \subitem precision, \hyperpage{51}
     \subitem propagation\_dimension, \hyperpage{53}
     \subitem samples, \hyperpage{66}
diff --git a/documentation/latex/xmds2.log b/documentation/latex/xmds2.log
index b4addbb..8d3937e 100644
--- a/documentation/latex/xmds2.log
+++ b/documentation/latex/xmds2.log
@@ -1,4 +1,4 @@
-This is pdfTeX, Version 3.1415926-2.4-1.40.13 (TeX Live 2012) (format=pdflatex 2013.4.1)  11 OCT 2014 08:23
+This is pdfTeX, Version 3.1415926-2.4-1.40.13 (TeX Live 2012) (format=pdflatex 2013.4.1)  14 OCT 2014 08:08
 entering extended mode
  restricted \write18 enabled.
  %&-line parsing enabled.
@@ -506,7 +506,7 @@ Package: titlesec 2011/12/15 v2.10.0 Sectioning titles
 \titlewidthfirst=\dimen110
 )
 (./tabulary.sty
-Package: tabulary 2008/12/01 v0.9 tabulary package (DPC)
+Package: tabulary 2007/10/02 v0.9 tabulary package (DPC)
  (/usr/local/texlive/2012/texmf-dist/tex/latex/tools/array.sty
 Package: array 2008/09/09 v2.4c Tabular extension package (FMi)
 \col at sep=\dimen111
@@ -646,13 +646,6 @@ Package: wrapfig 2003/01/31  v 3.6
 (/usr/local/texlive/2012/texmf-dist/tex/latex/parskip/parskip.sty
 Package: parskip 2001/04/09 non-zero parskip adjustments
 )
-(/usr/local/texlive/2012/texmf-dist/tex/latex/base/alltt.sty
-Package: alltt 1997/06/16 v2.0g defines alltt environment
-)
-(/usr/local/texlive/2012/texmf-dist/tex/latex/upquote/upquote.sty
-Package: upquote 2012/04/19 v1.3 upright-quote and grave-accent glyphs in verba
-tim
-)
 (/usr/local/texlive/2012/texmf-dist/tex/latex/graphics/graphicx.sty
 Package: graphicx 1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR)
 
@@ -813,28 +806,28 @@ Writing index file xmds2.idx
 (./xmds2.aux)
 \openout1 = `xmds2.aux'.
 
-LaTeX Font Info:    Checking defaults for OML/cmm/m/it on input line 119.
-LaTeX Font Info:    ... okay on input line 119.
-LaTeX Font Info:    Checking defaults for T1/cmr/m/n on input line 119.
-LaTeX Font Info:    ... okay on input line 119.
-LaTeX Font Info:    Checking defaults for OT1/cmr/m/n on input line 119.
-LaTeX Font Info:    ... okay on input line 119.
-LaTeX Font Info:    Checking defaults for OMS/cmsy/m/n on input line 119.
-LaTeX Font Info:    ... okay on input line 119.
-LaTeX Font Info:    Checking defaults for OMX/cmex/m/n on input line 119.
-LaTeX Font Info:    ... okay on input line 119.
-LaTeX Font Info:    Checking defaults for U/cmr/m/n on input line 119.
-LaTeX Font Info:    ... okay on input line 119.
-LaTeX Font Info:    Checking defaults for TS1/cmr/m/n on input line 119.
-LaTeX Font Info:    Try loading font information for TS1+cmr on input line 119.
+LaTeX Font Info:    Checking defaults for OML/cmm/m/it on input line 117.
+LaTeX Font Info:    ... okay on input line 117.
+LaTeX Font Info:    Checking defaults for T1/cmr/m/n on input line 117.
+LaTeX Font Info:    ... okay on input line 117.
+LaTeX Font Info:    Checking defaults for OT1/cmr/m/n on input line 117.
+LaTeX Font Info:    ... okay on input line 117.
+LaTeX Font Info:    Checking defaults for OMS/cmsy/m/n on input line 117.
+LaTeX Font Info:    ... okay on input line 117.
+LaTeX Font Info:    Checking defaults for OMX/cmex/m/n on input line 117.
+LaTeX Font Info:    ... okay on input line 117.
+LaTeX Font Info:    Checking defaults for U/cmr/m/n on input line 117.
+LaTeX Font Info:    ... okay on input line 117.
+LaTeX Font Info:    Checking defaults for TS1/cmr/m/n on input line 117.
+LaTeX Font Info:    Try loading font information for TS1+cmr on input line 117.
 
  (/usr/local/texlive/2012/texmf-dist/tex/latex/base/ts1cmr.fd
 File: ts1cmr.fd 1999/05/25 v2.5h Standard LaTeX font definitions
 )
-LaTeX Font Info:    ... okay on input line 119.
-LaTeX Font Info:    Checking defaults for PD1/pdf/m/n on input line 119.
-LaTeX Font Info:    ... okay on input line 119.
-LaTeX Font Info:    Try loading font information for T1+ptm on input line 119.
+LaTeX Font Info:    ... okay on input line 117.
+LaTeX Font Info:    Checking defaults for PD1/pdf/m/n on input line 117.
+LaTeX Font Info:    ... okay on input line 117.
+LaTeX Font Info:    Try loading font information for T1+ptm on input line 117.
 
 (/usr/local/texlive/2012/texmf-dist/tex/latex/psnfss/t1ptm.fd
 File: t1ptm.fd 2001/06/04 font definitions for T1/ptm.
@@ -868,7 +861,7 @@ File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv
 e
 ))
 \AtBeginShipoutBox=\box41
-Package hyperref Info: Link coloring ON on input line 119.
+Package hyperref Info: Link coloring ON on input line 117.
 
 (/usr/local/texlive/2012/texmf-dist/tex/latex/hyperref/nameref.sty
 Package: nameref 2012/10/27 v2.43 Cross-referencing by name of section
@@ -878,44 +871,44 @@ Package: gettitlestring 2010/12/03 v1.4 Cleanup title references (HO)
 )
 \c at section@level=\count130
 )
-LaTeX Info: Redefining \ref on input line 119.
-LaTeX Info: Redefining \pageref on input line 119.
-LaTeX Info: Redefining \nameref on input line 119.
+LaTeX Info: Redefining \ref on input line 117.
+LaTeX Info: Redefining \pageref on input line 117.
+LaTeX Info: Redefining \nameref on input line 117.
 
 (./xmds2.out) (./xmds2.out)
 \@outlinefile=\write6
 \openout6 = `xmds2.out'.
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 122--122
+Underfull \hbox (badness 10000) in paragraph at lines 120--120
 
  []
 
 <xmds_logo.pdf, id=262, 183.084pt x 183.084pt>
 File: xmds_logo.pdf Graphic file (type pdf)
  <use xmds_logo.pdf>
-Package pdftex.def Info: xmds_logo.pdf used on input line 122.
+Package pdftex.def Info: xmds_logo.pdf used on input line 120.
 (pdftex.def)             Requested size: 183.08354pt x 183.08354pt.
 File: xmds_logo.pdf Graphic file (type pdf)
 
 <use xmds_logo.pdf>
-Package pdftex.def Info: xmds_logo.pdf used on input line 122.
+Package pdftex.def Info: xmds_logo.pdf used on input line 120.
 (pdftex.def)             Requested size: 183.08354pt x 183.08354pt.
-LaTeX Font Info:    Try loading font information for T1+phv on input line 122.
+LaTeX Font Info:    Try loading font information for T1+phv on input line 120.
 
 (/usr/local/texlive/2012/texmf-dist/tex/latex/psnfss/t1phv.fd
 File: t1phv.fd 2001/06/04 scalable font definitions for T1/phv.
 )
 LaTeX Font Info:    Font shape `T1/phv/bx/n' in size <24.88> not available
-(Font)              Font shape `T1/phv/b/n' tried instead on input line 122.
+(Font)              Font shape `T1/phv/b/n' tried instead on input line 120.
 LaTeX Font Info:    Font shape `T1/phv/m/it' in size <17.28> not available
-(Font)              Font shape `T1/phv/m/sl' tried instead on input line 122.
+(Font)              Font shape `T1/phv/m/sl' tried instead on input line 120.
 LaTeX Font Info:    Font shape `T1/phv/bx/it' in size <17.28> not available
-(Font)              Font shape `T1/phv/b/it' tried instead on input line 122.
+(Font)              Font shape `T1/phv/b/it' tried instead on input line 120.
 LaTeX Font Info:    Font shape `T1/phv/b/it' in size <17.28> not available
-(Font)              Font shape `T1/phv/b/sl' tried instead on input line 122.
+(Font)              Font shape `T1/phv/b/sl' tried instead on input line 120.
 LaTeX Font Info:    Font shape `T1/phv/bx/n' in size <17.28> not available
-(Font)              Font shape `T1/phv/b/n' tried instead on input line 122.
+(Font)              Font shape `T1/phv/b/n' tried instead on input line 120.
 <<ot1.cmap>><<oml.cmap>><<oms.cmap>><<omx.cmap>> [1
 
 {/usr/local/texlive/2012/texmf-var/fonts/map/pdftex/updmap/pdftex.map} <./xmds_
@@ -931,79 +924,89 @@ File: t1pcr.fd 2001/06/04 font definitions for T1/pcr.
 )
 LaTeX Font Info:    Font shape `T1/phv/bx/n' in size <10> not available
 (Font)              Font shape `T1/phv/b/n' tried instead on input line 97.
- [1
+pdfTeX warning (ext4): destination with the same identifier (name{page.i}) has 
+been already used, duplicate ignored
+<to be read again> 
+                   \relax 
+l.97 ...line {9}Optimisation Hints}{87}{chapter.9}
+                                                   [1
 
 ])
 \tf at toc=\write7
 \openout7 = `xmds2.toc'.
 
- [2]
+pdfTeX warning (ext4): destination with the same identifier (name{page.ii}) has
+ been already used, duplicate ignored
+<to be read again> 
+                   \relax 
+l.120 \tableofcontents
+                       [2]
 Chapter 1.
 LaTeX Font Info:    Font shape `T1/phv/bx/n' in size <14.4> not available
-(Font)              Font shape `T1/phv/b/n' tried instead on input line 127.
+(Font)              Font shape `T1/phv/b/n' tried instead on input line 125.
 LaTeX Font Info:    Font shape `T1/ptm/bx/n' in size <14.4> not available
-(Font)              Font shape `T1/ptm/b/n' tried instead on input line 127.
+(Font)              Font shape `T1/ptm/b/n' tried instead on input line 125.
 LaTeX Font Info:    Font shape `T1/ptm/bx/n' in size <24.88> not available
-(Font)              Font shape `T1/ptm/b/n' tried instead on input line 127.
+(Font)              Font shape `T1/ptm/b/n' tried instead on input line 125.
 LaTeX Font Info:    Font shape `T1/ptm/bx/n' in size <8> not available
-(Font)              Font shape `T1/ptm/b/n' tried instead on input line 145.
+(Font)              Font shape `T1/ptm/b/n' tried instead on input line 143.
 [1
 
 
 ] [2]
 Chapter 2.
 
-Package tabulary Warning: No suitable columns! on input line 191.
+Package tabulary Warning: No suitable columns! on input line 189.
 
 [3
 
 ]
 LaTeX Font Info:    Font shape `T1/phv/bx/n' in size <12> not available
-(Font)              Font shape `T1/phv/b/n' tried instead on input line 230.
+(Font)              Font shape `T1/phv/b/n' tried instead on input line 228.
  [4]
-LaTeX Font Info:    Try loading font information for TS1+ptm on input line 277.
+LaTeX Font Info:    Try loading font information for TS1+ptm on input line 275.
 
  (/usr/local/texlive/2012/texmf-dist/tex/latex/psnfss/ts1ptm.fd
 File: ts1ptm.fd 2001/06/04 font definitions for TS1/ptm.
 )
-Underfull \hbox (badness 10000) in paragraph at lines 321--324
+Underfull \hbox (badness 10000) in paragraph at lines 319--322
 []\T1/ptm/m/n/10 First cre-ate the path ~/lib/python2.5/site-packages (as-sum-i
 ng you in-stalled
  []
 
 [5]
-Underfull \hbox (badness 10000) in paragraph at lines 402--404
+Underfull \hbox (badness 10000) in paragraph at lines 400--402
 []\T1/ptm/m/n/10 It can be in-stalled with \T1/pcr/m/n/10 sudo
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 416--418
+Underfull \hbox (badness 10000) in paragraph at lines 414--416
 []
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 424--426
+Underfull \hbox (badness 10000) in paragraph at lines 422--424
 []\T1/ptm/m/n/10 h5py
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 436--438
+Underfull \hbox (badness 10000) in paragraph at lines 434--436
 []\T1/pcr/m/n/10 sudo
  []
 
 
-Underfull \hbox (badness 5563) in paragraph at lines 451--454
+Underfull \hbox (badness 5563) in paragraph at lines 449--452
 []\T1/ptm/m/n/10 If you have `numpy' in-stalled, test XMDS2 by typ-ing
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 466--467
+Underfull \hbox (badness 10000) in paragraph at lines 464--465
 []\T1/ptm/m/n/10 The gen-er-ated html doc-u-men-ta-tion will then be found at x
 mds-
  []
 
 [6]
-Underfull \hbox (badness 10000) in paragraph at lines 479--480
+Underfull \hbox (badness 10000) in paragraph at lines 477--478
 []\T1/pcr/m/n/10 xmds2 --reconfigure --include-path /apps/fftw3/include
  []
 
@@ -1012,232 +1015,249 @@ Underfull \hbox (badness 10000) in paragraph at lines 479--480
 ]
 Chapter 3.
 LaTeX Font Info:    Font shape `T1/pcr/m/it' in size <9> not available
-(Font)              Font shape `T1/pcr/m/sl' tried instead on input line 510.
+(Font)              Font shape `T1/pcr/m/sl' tried instead on input line 508.
 LaTeX Font Info:    Font shape `T1/pcr/bx/n' in size <9> not available
-(Font)              Font shape `T1/pcr/b/n' tried instead on input line 511.
-LaTeX Font Info:    Try loading font information for TS1+pcr on input line 536.
-
-(/usr/local/texlive/2012/texmf-dist/tex/latex/psnfss/ts1pcr.fd
-File: ts1pcr.fd 2001/06/04 font definitions for TS1/pcr.
-)
-LaTeX Font Info:    Font shape `TS1/pcr/m/it' in size <9> not available
-(Font)              Font shape `TS1/pcr/m/sl' tried instead on input line 536.
- [9] [10]
-<lorenz.pdf, id=512, 681.01025pt x 300.322pt>
+(Font)              Font shape `T1/pcr/b/n' tried instead on input line 509.
+[9] [10] <lorenz.pdf, id=510, 681.01025pt x 300.322pt>
 File: lorenz.pdf Graphic file (type pdf)
  <use lorenz.pdf>
-Package pdftex.def Info: lorenz.pdf used on input line 647.
+Package pdftex.def Info: lorenz.pdf used on input line 645.
 (pdftex.def)             Requested size: 681.00859pt x 300.32127pt.
 File: lorenz.pdf Graphic file (type pdf)
 
 <use lorenz.pdf>
-Package pdftex.def Info: lorenz.pdf used on input line 647.
+Package pdftex.def Info: lorenz.pdf used on input line 645.
 (pdftex.def)             Requested size: 452.96788pt x 199.75745pt.
  [11 <./lorenz.pdf>] [12] [13] [14]
 Chapter 4.
 [15
 
 ]
-Underfull \vbox (badness 10000) detected at line 895
+Underfull \vbox (badness 10000) detected at line 893
  []
 
 
-Underfull \vbox (badness 10000) detected at line 895
+Underfull \vbox (badness 10000) detected at line 893
  []
 
-[16] [17] [18] [19] [20] <kuboSingle.pdf, id=580, 569.32701pt x 349.00288pt>
+[16] [17] [18] [19] [20] <kuboSingle.pdf, id=578, 569.32701pt x 349.00288pt>
 File: kuboSingle.pdf Graphic file (type pdf)
 
 <use kuboSingle.pdf>
-Package pdftex.def Info: kuboSingle.pdf used on input line 1113.
+Package pdftex.def Info: kuboSingle.pdf used on input line 1111.
 (pdftex.def)             Requested size: 569.3256pt x 349.00203pt.
 File: kuboSingle.pdf Graphic file (type pdf)
  <use kuboSingle.pdf>
-Package pdftex.def Info: kuboSingle.pdf used on input line 1113.
+Package pdftex.def Info: kuboSingle.pdf used on input line 1111.
 (pdftex.def)             Requested size: 452.96788pt x 277.67963pt.
 
-<kubo10000.pdf, id=581, 560.49402pt x 346.36702pt>
+<kubo10000.pdf, id=579, 560.49402pt x 346.36702pt>
 File: kubo10000.pdf Graphic file (type pdf)
  <use kubo10000.pdf>
-Package pdftex.def Info: kubo10000.pdf used on input line 1121.
+Package pdftex.def Info: kubo10000.pdf used on input line 1119.
 (pdftex.def)             Requested size: 560.49265pt x 346.36617pt.
 File: kubo10000.pdf Graphic file (type pdf)
 
 <use kubo10000.pdf>
-Package pdftex.def Info: kubo10000.pdf used on input line 1121.
+Package pdftex.def Info: kubo10000.pdf used on input line 1119.
 (pdftex.def)             Requested size: 452.96788pt x 279.9268pt.
  [21] [22 <./kuboSingle.pdf> <./kubo10000.pdf>]
-Underfull \vbox (badness 10000) detected at line 1205
+Underfull \vbox (badness 10000) detected at line 1203
  []
 
 
-Underfull \vbox (badness 10000) detected at line 1205
+Underfull \vbox (badness 10000) detected at line 1203
  []
 
-[23] <fibreSingle.pdf, id=612, 639.99098pt x 481.84819pt>
+[23] [24] <fibreSingle.pdf, id=614, 639.99098pt x 481.84819pt>
 File: fibreSingle.pdf Graphic file (type pdf)
 
 <use fibreSingle.pdf>
-Package pdftex.def Info: fibreSingle.pdf used on input line 1266.
+Package pdftex.def Info: fibreSingle.pdf used on input line 1264.
 (pdftex.def)             Requested size: 639.98943pt x 481.84702pt.
 File: fibreSingle.pdf Graphic file (type pdf)
  <use fibreSingle.pdf>
-Package pdftex.def Info: fibreSingle.pdf used on input line 1266.
+Package pdftex.def Info: fibreSingle.pdf used on input line 1264.
 (pdftex.def)             Requested size: 452.96788pt x 341.04851pt.
- [24]
-<fibre1024.pdf, id=617, 639.99098pt x 482.46848pt>
+
+<fibre1024.pdf, id=615, 639.99098pt x 482.46848pt>
 File: fibre1024.pdf Graphic file (type pdf)
  <use fibre1024.pdf>
-Package pdftex.def Info: fibre1024.pdf used on input line 1274.
+Package pdftex.def Info: fibre1024.pdf used on input line 1272.
 (pdftex.def)             Requested size: 639.98943pt x 482.4673pt.
 File: fibre1024.pdf Graphic file (type pdf)
 
 <use fibre1024.pdf>
-Package pdftex.def Info: fibre1024.pdf used on input line 1274.
+Package pdftex.def Info: fibre1024.pdf used on input line 1272.
 (pdftex.def)             Requested size: 452.96788pt x 341.48755pt.
  [25 <./fibreSingle.pdf>] [26 <./fibre1024.pdf>] [27]
 [28]
-Underfull \vbox (badness 10000) detected at line 1480
+Underfull \vbox (badness 10000) detected at line 1478
  []
 
 
-Underfull \vbox (badness 10000) detected at line 1480
+Underfull \vbox (badness 10000) detected at line 1478
  []
 
-[29] [30]
+[29] [30] [31]
 LaTeX Font Info:    Font shape `T1/pcr/bx/it' in size <9> not available
-(Font)              Font shape `T1/pcr/b/it' tried instead on input line 1667.
+(Font)              Font shape `T1/pcr/b/it' tried instead on input line 1665.
 LaTeX Font Info:    Font shape `T1/pcr/b/it' in size <9> not available
-(Font)              Font shape `T1/pcr/b/sl' tried instead on input line 1667.
- [31]
-Underfull \vbox (badness 10000) detected at line 1728
+(Font)              Font shape `T1/pcr/b/sl' tried instead on input line 1665.
+
+Overfull \vbox (0.87749pt too high) detected at line 1726
+ []
+
+[32]
+Underfull \vbox (badness 10000) detected at line 1726
  []
 
 
-Underfull \vbox (badness 10000) detected at line 1728
+Underfull \vbox (badness 10000) detected at line 1726
  []
 
-[32] [33] [34] <groundstateU2.pdf, id=685, 467.32591pt x 333.245pt>
+[33] [34] <groundstateU2.pdf, id=683, 467.32591pt x 333.245pt>
 File: groundstateU2.pdf Graphic file (type pdf)
 
 <use groundstateU2.pdf>
-Package pdftex.def Info: groundstateU2.pdf used on input line 1806.
+Package pdftex.def Info: groundstateU2.pdf used on input line 1804.
 (pdftex.def)             Requested size: 467.32477pt x 333.24417pt.
 File: groundstateU2.pdf Graphic file (type pdf)
  <use groundstateU2.pdf>
-Package pdftex.def Info: groundstateU2.pdf used on input line 1806.
+Package pdftex.def Info: groundstateU2.pdf used on input line 1804.
 (pdftex.def)             Requested size: 452.96788pt x 323.01334pt.
 
-<groundstateU20.pdf, id=686, 467.32591pt x 333.245pt>
+<groundstateU20.pdf, id=684, 467.32591pt x 333.245pt>
 File: groundstateU20.pdf Graphic file (type pdf)
  <use groundstateU20.pdf>
-Package pdftex.def Info: groundstateU20.pdf used on input line 1812.
+Package pdftex.def Info: groundstateU20.pdf used on input line 1810.
 (pdftex.def)             Requested size: 467.32477pt x 333.24417pt.
 File: groundstateU20.pdf Graphic file (type pdf)
 
 <use groundstateU20.pdf>
-Package pdftex.def Info: groundstateU20.pdf used on input line 1812.
+Package pdftex.def Info: groundstateU20.pdf used on input line 1810.
 (pdftex.def)             Requested size: 452.96788pt x 323.01334pt.
- [35 <./groundstateU2.pdf>] [36 <./groundstateU20.pdf>]
-Underfull \vbox (badness 10000) detected at line 1940
+ [35] [36 <./groundstateU2.pdf>]
+Underfull \vbox (badness 10000) detected at line 1938
  []
 
 
-Underfull \vbox (badness 10000) detected at line 1940
+Underfull \vbox (badness 10000) detected at line 1938
+ []
+
+[37 <./groundstateU20.pdf>]
+Underfull \vbox (badness 10000) detected at line 1938
  []
 
-[37] [38] [39] [40] [41] [42
 
-]
+Underfull \vbox (badness 10000) detected at line 1938
+ []
+
+[38] [39]
+Underfull \vbox (badness 10000) detected at line 2073
+ []
+
+
+Underfull \vbox (badness 10000) detected at line 2073
+ []
+
+[40] [41] [42]
 Chapter 5.
 
-Overfull \hbox (116.47647pt too wide) in paragraph at lines 2129--2129
+Overfull \hbox (116.47647pt too wide) in paragraph at lines 2127--2127
 []
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 2129--2129
+Underfull \hbox (badness 10000) in paragraph at lines 2127--2127
+
+ []
+
+[43
+
+] [44]
+Underfull \vbox (badness 10000) detected at line 2346
+ []
+
 
+Underfull \vbox (badness 10000) detected at line 2346
  []
 
-[43]
-LaTeX Font Info:    Font shape `T1/pcr/m/it' in size <10> not available
-(Font)              Font shape `T1/pcr/m/sl' tried instead on input line 2207.
- [44] [45] [46] [47] [48]
-Underfull \hbox (badness 10000) in paragraph at lines 2526--2527
+[45] [46] [47] [48]
+Underfull \hbox (badness 10000) in paragraph at lines 2525--2526
 []\T1/ptm/m/n/10 When the \T1/pcr/m/n/10 arguments_test \T1/ptm/m/n/10 ex-e-cut
 able is run, it will cre-ate out-put files named
  []
 
 
-Underfull \hbox (badness 10000) in paragraph at lines 2526--2527
+Underfull \hbox (badness 10000) in paragraph at lines 2525--2526
 \T1/pcr/m/n/10 arguments_test.number_7.pulse_shape_gaussian.size_20.0.xsil \T1/
 ptm/m/n/10 and
  []
 
 LaTeX Font Info:    Font shape `T1/phv/bx/n' in size <9> not available
-(Font)              Font shape `T1/phv/b/n' tried instead on input line 2530.
+(Font)              Font shape `T1/phv/b/n' tried instead on input line 2529.
 [49] [50] [51] [52] [53] [54] [55] [56] [57] [58] [59] [60] [61] [62] [63]
 [64] [65] [66] [67] [68] [69] [70] [71] [72] [73]
-<richardsonExtrapolation.png, id=1160, 523.9575pt x 338.26375pt>
+<richardsonExtrapolation.png, id=1158, 523.9575pt x 338.26375pt>
 File: richardsonExtrapolation.png Graphic file (type png)
 
 <use richardsonExtrapolation.png>
-Package pdftex.def Info: richardsonExtrapolation.png used on input line 3769.
+Package pdftex.def Info: richardsonExtrapolation.png used on input line 3768.
 (pdftex.def)             Requested size: 523.95622pt x 338.26291pt.
 File: richardsonExtrapolation.png Graphic file (type png)
  <use richardsonExtrapolation.png>
-Package pdftex.def Info: richardsonExtrapolation.png used on input line 3769.
+Package pdftex.def Info: richardsonExtrapolation.png used on input line 3768.
 (pdftex.def)             Requested size: 452.96788pt x 292.43925pt.
-
-<error_scaling.png, id=1162, 1304.875pt x 978.65625pt>
+ [74]
+<error_scaling.png, id=1164, 1304.875pt x 978.65625pt>
 File: error_scaling.png Graphic file (type png)
  <use error_scaling.png>
-Package pdftex.def Info: error_scaling.png used on input line 3785.
+Package pdftex.def Info: error_scaling.png used on input line 3784.
 (pdftex.def)             Requested size: 1304.87183pt x 978.65387pt.
 File: error_scaling.png Graphic file (type png)
 
 <use error_scaling.png>
-Package pdftex.def Info: error_scaling.png used on input line 3785.
+Package pdftex.def Info: error_scaling.png used on input line 3784.
 (pdftex.def)             Requested size: 452.96788pt x 339.7274pt.
- [74 <./richardsonExtrapolation.png>] [75 <./error_scaling.png (PNG copy)>] [76
-
-]
+ [75 <./richardsonExtrapolation.png>] [76 <./error_scaling.png (PNG copy)>]
 Chapter 6.
-[77] [78] [79] <FourierTransformEx1.pdf, id=1193, 337.26pt x 261.97874pt>
+[77
+
+] [78] [79] <FourierTransformEx1.pdf, id=1191, 337.26pt x 261.97874pt>
 File: FourierTransformEx1.pdf Graphic file (type pdf)
 
 <use FourierTransformEx1.pdf>
-Package pdftex.def Info: FourierTransformEx1.pdf used on input line 3974.
+Package pdftex.def Info: FourierTransformEx1.pdf used on input line 3973.
 (pdftex.def)             Requested size: 337.25917pt x 261.9781pt.
 File: FourierTransformEx1.pdf Graphic file (type pdf)
  <use FourierTransformEx1.pdf>
-Package pdftex.def Info: FourierTransformEx1.pdf used on input line 3974.
+Package pdftex.def Info: FourierTransformEx1.pdf used on input line 3973.
 (pdftex.def)             Requested size: 337.25917pt x 261.9781pt.
 
-<FourierTransformEx2.pdf, id=1194, 515.9275pt x 224.84pt>
+<FourierTransformEx2.pdf, id=1192, 515.9275pt x 224.84pt>
 File: FourierTransformEx2.pdf Graphic file (type pdf)
 
 <use FourierTransformEx2.pdf>
-Package pdftex.def Info: FourierTransformEx2.pdf used on input line 3983.
+Package pdftex.def Info: FourierTransformEx2.pdf used on input line 3982.
 (pdftex.def)             Requested size: 515.92624pt x 224.83945pt.
 File: FourierTransformEx2.pdf Graphic file (type pdf)
  <use FourierTransformEx2.pdf>
-Package pdftex.def Info: FourierTransformEx2.pdf used on input line 3983.
+Package pdftex.def Info: FourierTransformEx2.pdf used on input line 3982.
 (pdftex.def)             Requested size: 452.96788pt x 197.40694pt.
- [80 <./FourierTransformEx1.pdf>] <FourierTransformEx3.pdf, id=1262, 515.9275pt
+ [80 <./FourierTransformEx1.pdf>] <FourierTransformEx3.pdf, id=1260, 515.9275pt
  x 255.95625pt>
 File: FourierTransformEx3.pdf Graphic file (type pdf)
 
 <use FourierTransformEx3.pdf>
-Package pdftex.def Info: FourierTransformEx3.pdf used on input line 3994.
+Package pdftex.def Info: FourierTransformEx3.pdf used on input line 3993.
 (pdftex.def)             Requested size: 515.92624pt x 255.95561pt.
 File: FourierTransformEx3.pdf Graphic file (type pdf)
  <use FourierTransformEx3.pdf>
-Package pdftex.def Info: FourierTransformEx3.pdf used on input line 3994.
+Package pdftex.def Info: FourierTransformEx3.pdf used on input line 3993.
 (pdftex.def)             Requested size: 452.96788pt x 224.72664pt.
 LaTeX Font Info:    Font shape `T1/pcr/bx/n' in size <14.4> not available
-(Font)              Font shape `T1/pcr/b/n' tried instead on input line 4000.
+(Font)              Font shape `T1/pcr/b/n' tried instead on input line 3999.
  [81 <./FourierTransformEx2.pdf> <./FourierTransformEx3.pdf>] [82]
 Chapter 7.
 [83
@@ -1265,7 +1285,7 @@ l[][] [][]http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html[][
 ] 
  []
 
-<IntroduceNewElement.png, id=1601, 364.18411pt x 712.7806pt>
+<IntroduceNewElement.png, id=1599, 364.18411pt x 712.7806pt>
 File: IntroduceNewElement.png Graphic file (type png)
 
 <use IntroduceNewElement.png>
@@ -1280,7 +1300,7 @@ Overfull \vbox (47.17236pt too high) has occurred while \output is active []
 
 
 [98 <./IntroduceNewElement.png>]
-<IntroduceNewIntegrationTechnique.png, id=1614, 243.73412pt x 772.29706pt>
+<IntroduceNewIntegrationTechnique.png, id=1612, 243.73412pt x 772.29706pt>
 File: IntroduceNewIntegrationTechnique.png Graphic file (type png)
 
 <use IntroduceNewIntegrationTechnique.png>
@@ -1305,7 +1325,7 @@ Underfull \hbox (badness 10000) in paragraph at lines 4487--4488
 1/ptm/m/n/10 di-rec-tory. Cre-ate a file called
  []
 
-<Overall_Flowchart.png, id=1628, 323.08942pt x 753.87529pt>
+<Overall_Flowchart.png, id=1626, 323.08942pt x 753.87529pt>
 File: Overall_Flowchart.png Graphic file (type png)
 
 <use Overall_Flowchart.png>
@@ -1320,7 +1340,7 @@ Overfull \vbox (81.02339pt too high) has occurred while \output is active []
 
 
 [104 <./Overall_Flowchart.png>]
-<Subprocess3_ParsingXMLFile.png, id=1643, 717.03177pt x 1296.60883pt>
+<Subprocess3_ParsingXMLFile.png, id=1641, 717.03177pt x 1296.60883pt>
 File: Subprocess3_ParsingXMLFile.png Graphic file (type png)
 
 <use Subprocess3_ParsingXMLFile.png>
@@ -1338,7 +1358,7 @@ Overfull \vbox (146.27328pt too high) has occurred while \output is active []
 
 
 [107 <./Subprocess3_ParsingXMLFile.png>]
-<Subprocess3_4_parseXMLDocument.png, id=1659, 443.53941pt x 1091.1353pt>
+<Subprocess3_4_parseXMLDocument.png, id=1657, 443.53941pt x 1091.1353pt>
 File: Subprocess3_4_parseXMLDocument.png Graphic file (type png)
 
 <use Subprocess3_4_parseXMLDocument.png>
@@ -1356,7 +1376,7 @@ Overfull \vbox (432.28258pt too high) has occurred while \output is active []
 
 
 [110 <./Subprocess3_4_parseXMLDocument.png>]
-<Subprocess3_4_11_ParseTopLvlSeqElements.png, id=1673, 1071.29646pt x 919.67117
+<Subprocess3_4_11_ParseTopLvlSeqElements.png, id=1671, 1071.29646pt x 919.67117
 pt>
 File: Subprocess3_4_11_ParseTopLvlSeqElements.png Graphic file (type png)
  <use Subprocess3_4_11_ParseTopLvlSeqElements.png>
@@ -1370,7 +1390,7 @@ Package pdftex.def Info: Subprocess3_4_11_ParseTopLvlSeqElements.png used on in
 put line 4545.
 (pdftex.def)             Requested size: 452.96788pt x 388.85538pt.
 
-<Subprocess3_4_11_2_ParseIntegrateElement.png, id=1674, 1016.03117pt x 1358.959
+<Subprocess3_4_11_2_ParseIntegrateElement.png, id=1672, 1016.03117pt x 1358.959
 41pt>
 File: Subprocess3_4_11_2_ParseIntegrateElement.png Graphic file (type png)
  <use Subprocess3_4_11_2_ParseIntegrateElement.png>
@@ -1439,13 +1459,13 @@ Package rerunfilecheck Info: File `xmds2.out' has not changed.
 Package atveryend Info: Empty hook `AtVeryVeryEnd' on input line 5279.
  ) 
 Here is how much of TeX's memory you used:
- 9994 strings out of 493481
- 146345 string characters out of 3140966
- 251300 words of memory out of 3000000
- 12610 multiletter control sequences out of 15000+200000
- 88788 words of font info for 105 fonts, out of 3000000 for 9000
+ 9940 strings out of 493481
+ 145389 string characters out of 3140966
+ 261412 words of memory out of 3000000
+ 12572 multiletter control sequences out of 15000+200000
+ 87153 words of font info for 100 fonts, out of 3000000 for 9000
  958 hyphenation exceptions out of 8191
- 36i,28n,49p,1198b,658s stack positions out of 5000i,500n,10000p,200000b,50000s
+ 36i,28n,49p,7668b,658s stack positions out of 5000i,500n,10000p,200000b,50000s
 {/usr/local/texlive/2012/texmf-dist/fonts/enc/dvips/base/8r.enc}</usr/local/t
 exlive/2012/texmf-dist/fonts/type1/public/amsfonts/cm/cmbx10.pfb></usr/local/te
 xlive/2012/texmf-dist/fonts/type1/public/amsfonts/cm/cmex10.pfb></usr/local/tex
@@ -1466,10 +1486,10 @@ uhvb8a.pfb></usr/local/texlive/2012/texmf-dist/fonts/type1/urw/helvetic/uhvbo8a
 usr/local/texlive/2012/texmf-dist/fonts/type1/urw/times/utmb8a.pfb></usr/local/
 texlive/2012/texmf-dist/fonts/type1/urw/times/utmr8a.pfb></usr/local/texlive/20
 12/texmf-dist/fonts/type1/urw/times/utmri8a.pfb>
-Output written on xmds2.pdf (135 pages, 7011644 bytes).
+Output written on xmds2.pdf (135 pages, 7007925 bytes).
 PDF statistics:
- 2147 PDF objects out of 2487 (max. 8388607)
- 1869 compressed objects within 19 object streams
- 367 named destinations out of 1000 (max. 500000)
+ 2145 PDF objects out of 2487 (max. 8388607)
+ 1867 compressed objects within 19 object streams
+ 365 named destinations out of 1000 (max. 500000)
  633 words of extra memory for PDF output out of 10000 (max. 10000000)
 
diff --git a/documentation/latex/xmds2.pdf b/documentation/latex/xmds2.pdf
index a7cd179..eef74b8 100644
Binary files a/documentation/latex/xmds2.pdf and b/documentation/latex/xmds2.pdf differ
diff --git a/documentation/latex/xmds2.tex b/documentation/latex/xmds2.tex
index 0cf7632..0e60810 100644
--- a/documentation/latex/xmds2.tex
+++ b/documentation/latex/xmds2.tex
@@ -14,8 +14,8 @@
 
 
 \title{XMDS2 Documentation}
-\date{October 11, 2014}
-\release{2.2.2-rc1}
+\date{October 14, 2014}
+\release{2.2.2}
 \author{Graham Dennis, Joe Hope and Mattias Johnsson}
 \newcommand{\sphinxlogo}{\includegraphics{xmds_logo.pdf}\par}
 \renewcommand{\releasename}{Release}
@@ -114,8 +114,6 @@
 \def\PYGZrb{]}
 \makeatother
 
-\renewcommand\PYGZsq{\textquotesingle}
-
 \begin{document}
 
 \maketitle
@@ -175,20 +173,20 @@ Linux (Ubuntu/Debian/Fedora/RedHat)
 \href{http://svn.code.sf.net/p/xmds/code/trunk/xpdeint/admin/linux\_installer.sh}{Download Linux shell script installer}
  & 
 {\hyperref[installation:linux-installation]{\emph{Learn more}}}
-\\
+\\\hline
 
 OS X 10.6 / 10.7 / 10.8 / 10.9
  & 
 \href{http://sourceforge.net/projects/xmds/files}{Download OS X Installer}
  & 
 {\hyperref[installation:mac-installation]{\emph{Learn more}}}
-\\
+\\\hline
 
 Other systems
  & 
 {\hyperref[installation:manualinstallation]{\emph{Install from source}}}
- & \\
-\hline\end{tabulary}
+ & \\\hline
+\end{tabulary}
 
 
 If you have one of the supported operating systems listed above, but you find the installer doesn't work for you, please let us know by emailing xmds-devel \textless{}at\textgreater{} lists.sourceforge.net. If you'd like to tweak the linux installer to work on a distribution we haven't tested, we'd love you to do that and let us know!
@@ -500,9 +498,9 @@ In this tutorial, we will create an XMDS2 script to solve the Lorenz Attractor,
 \begin{gather}
 \begin{split}\frac{dx}{dt} &= \sigma (y - x)\\
 \frac{dy}{dt} &= x (\rho - z) - y\\
-\frac{dz}{dt} &= xy - \beta z\end{split}\notag
+\frac{dz}{dt} &= xy - \beta z\end{split}\notag\\\begin{split}\end{split}\notag
 \end{gather}
-where we will solve with the parameters \(\sigma=10\), \(\rho=28\), \(\beta = \frac{8}{3}\) and the initial condition \(x(0) = y(0) = z(0) = 1\).
+where we will solve with the parameters $\sigma=10$, $\rho=28$, $\beta = \frac{8}{3}$ and the initial condition $x(0) = y(0) = z(0) = 1$.
 
 Below is a script that solves this problem (it's also saved as examples/lorenz.xmds in your XMDS2 directory). Don't worry if it doesn't make sense yet, soon we'll break it down into easily digestible parts.
 
@@ -733,7 +731,7 @@ Now we come to the heart of the simulation, where we define the evolution of our
 
 Here our sequence consists of a single \code{\textless{}integrate\textgreater{}} element.  It contains several important pieces of information.  At the heart, the \code{\textless{}operators\textgreater{}} element contains the equations of motion as described above, written in a very human-readable fashion.  It also contains an \code{\textless{}integration\_vectors\textgreater{}} element, which defines which vectors are used in this integrate block.  We have only one vector defined in thi [...]
 
-All integrate blocks must define which algorithm is to be used - in this case the 8th (embedded 9th) order adaptive Runge-Kutta method, called ``ARK89''.  The details of different algorithms will be described later (FIXME: Link!), but for now all we need to know is that this algorithm requires a tolerance, and that smaller means more accurate, so we'll make it \(10^{-7}\) by setting \code{tolerance="1.0e-7"}.  Finally, any integration will proceed a certain length in the propagation dime [...]
+All integrate blocks must define which algorithm is to be used - in this case the 8th (embedded 9th) order adaptive Runge-Kutta method, called ``ARK89''.  The details of different algorithms will be described later (FIXME: Link!), but for now all we need to know is that this algorithm requires a tolerance, and that smaller means more accurate, so we'll make it $10^{-7}$ by setting \code{tolerance="1.0e-7"}.  Finally, any integration will proceed a certain length in the propagation dimens [...]
 
 The \code{\textless{}samples\textgreater{}} element says that the values of the output groups will be sampled 5000 times during this interval.  The nature of the output is defined in the last element in the simulation: the \code{\textless{}output\textgreater{}} element.
 
@@ -789,9 +787,9 @@ All of these scripts are available in the included ``examples'' folder, along wi
 \label{worked_examples:nonlinearschrodingerequation}\label{worked_examples:the-nonlinear-schrodinger-equation}\label{worked_examples:index-1}
 This worked example will show a range of new features that can be used in an \textbf{XMDS2} script, and we will also examine our first partial differential equation.  We will take the one dimensional nonlinear Schrödinger equation, which is a common nonlinear wave equation.  The equation describing this problem is:
 \begin{gather}
-\begin{split}\frac{\partial \phi}{\partial \xi} = \frac{i}{2}\frac{\partial^2 \phi}{\partial \tau^2} - \Gamma(\tau)\phi+i|\phi|^2 \phi\end{split}\notag
+\begin{split}\frac{\partial \phi}{\partial \xi} = \frac{i}{2}\frac{\partial^2 \phi}{\partial \tau^2} - \Gamma(\tau)\phi+i|\phi|^2 \phi\end{split}\notag\\\begin{split}\end{split}\notag
 \end{gather}
-where \(\phi\) is a complex-valued field, and \(\Gamma(\tau)\) is a \(\tau\)-dependent damping term.  Let us look at an XMDS2 script that integrates this equation, and then examine it in detail.
+where $\phi$ is a complex-valued field, and $\Gamma(\tau)$ is a $\tau$-dependent damping term.  Let us look at an XMDS2 script that integrates this equation, and then examine it in detail.
 
 \begin{Verbatim}[commandchars=\\\{\}]
 \PYG{n+nt}{\PYGZlt{}simulation} \PYG{n+na}{xmds\PYGZhy{}version=}\PYG{l+s}{\PYGZdq{}2\PYGZdq{}}\PYG{n+nt}{\PYGZgt{}}
@@ -938,7 +936,7 @@ The \code{\textless{}integrate\textgreater{}} element for a partial differential
 
 There are some trivial changes from the tutorial script, such as the fact that we are using the ARK45 algorithm rather than ARK89.  Higher order algorithms are often better, but not always.  Also, since this script has multiple output groups, we have to specify how many times each of these output groups are sampled in the \code{\textless{}samples\textgreater{}} element, so there are three numbers there.  Besides the vectors that are to be integrated, we also specify that we want to use t [...]
 
-The equation of motion as written in the CDATA block looks almost identical to our desired equation of motion, except for the term based on the second derivative, which introduces an important new concept.  Inside the \code{\textless{}operators\textgreater{}} element, we can define any number of operators.  Operators are used to define functions in the transformed space of each dimension, which in this case is Fourier space.  The derivative of a function is equivalent to multiplying by \ [...]
+The equation of motion as written in the CDATA block looks almost identical to our desired equation of motion, except for the term based on the second derivative, which introduces an important new concept.  Inside the \code{\textless{}operators\textgreater{}} element, we can define any number of operators.  Operators are used to define functions in the transformed space of each dimension, which in this case is Fourier space.  The derivative of a function is equivalent to multiplying by $ [...]
 
 Operators can be explicit (\code{kind="ex"}) or in the interaction picture (\code{kind="ip"}).  The interaction picture can be more efficient, but it restricts the possible syntax of the equation of motion.  Safe utilisation of interaction picture operators will be described later, but for now let us emphasise that \textbf{explicit operators should be used} unless the user is clear what they are doing.  That said, \textbf{XMDS2} will generate an error if the user tries to use interaction [...]
 
@@ -970,7 +968,7 @@ If the lattice parameter is set to zero points, then the corresponding dimension
 \PYG{n+nt}{\PYGZlt{}/sampling\PYGZus{}group\PYGZgt{}}
 \end{Verbatim}
 
-This second output group samples the normalisation of the wavefunction \(\int d\tau |\phi(\tau)|^2\) over the domain of \(\tau\).  This output requires only a single real number per sample, so in the integrate element we have chosen to sample it many more times than the vectors themselves.
+This second output group samples the normalisation of the wavefunction $\int d\tau |\phi(\tau)|^2$ over the domain of $\tau$.  This output requires only a single real number per sample, so in the integrate element we have chosen to sample it many more times than the vectors themselves.
 
 Finally, functions of the vectors can be sampled with their dimensions in Fourier space.
 
@@ -992,11 +990,11 @@ The final output group above samples the mod square of the Fourier-space wavefun
 \label{worked_examples:kubo}\label{worked_examples:kubo-oscillator}\label{worked_examples:index-2}
 This example demonstrates the integration of a stochastic differential equation.  We examine the Kubo oscillator, which is a complex variable whose phase is evolving according to a Wiener noise.  In a suitable rotating frame, the equation of motion for the variable is
 \begin{gather}
-\begin{split}\frac{dz}{dt} = i z \;\eta\end{split}\notag
+\begin{split}\frac{dz}{dt} = i z \;\eta\end{split}\notag\\\begin{split}\end{split}\notag
 \end{gather}
-where \(\eta(t)\) is the Wiener differential, and we interpret this as a Stratonovich equation.  In other common notation, this is sometimes written:
+where $\eta(t)$ is the Wiener differential, and we interpret this as a Stratonovich equation.  In other common notation, this is sometimes written:
 \begin{gather}
-\begin{split}dz = i z \;\circ dW\end{split}\notag
+\begin{split}dz = i z \;\circ dW\end{split}\notag\\\begin{split}\end{split}\notag
 \end{gather}
 Most algorithms employed by XMDS require the equations to be input in the Stratonovich form.  Ito differential equations can always be transformed into Stratonovich equations, and in this case the difference is equivalent to the choice of rotating frame.  This equation is solved by the following XMDS2 script:
 
@@ -1119,7 +1117,7 @@ The average over multiple paths can be increasingly smooth.
 \capstart
 
 \includegraphics{kubo10000.pdf}
-\caption{The mean and standard error of the z variable averaged over 10000 paths, as given by this simulation.  It agrees within the standard error with the expected result of \(\exp(-t/2)\).}\end{figure}
+\caption{The mean and standard error of the z variable averaged over 10000 paths, as given by this simulation.  It agrees within the standard error with the expected result of $\exp(-t/2)$.}\end{figure}
 
 \index{Fibre noise}
 
@@ -1127,9 +1125,9 @@ The average over multiple paths can be increasingly smooth.
 \label{worked_examples:fibre}\label{worked_examples:fibre-noise}\label{worked_examples:index-5}
 This simulation is a stochastic partial differential equation, in which a one-dimensional damped field is subject to a complex noise. This script can be found in \code{examples/fibre.xmds}.
 \begin{gather}
-\begin{split}\frac{\partial \psi}{\partial t} = -i \frac{\partial^2 \psi}{\partial x^2} -\gamma \psi+\beta \frac{1}{\sqrt{2}}\left(\eta_1(x)+i\eta_2(x)\right)\end{split}\notag
+\begin{split}\frac{\partial \psi}{\partial t} = -i \frac{\partial^2 \psi}{\partial x^2} -\gamma \psi+\beta \frac{1}{\sqrt{2}}\left(\eta_1(x)+i\eta_2(x)\right)\end{split}\notag\\\begin{split}\end{split}\notag
 \end{gather}
-where the noise terms \(\eta_j(x,t)\) are Wiener differentials and the equation is interpreted as a Stratonovich differential equation.  On a finite grid, these increments have variance \(\frac{1}{\Delta x \Delta t}\).
+where the noise terms $\eta_j(x,t)$ are Wiener differentials and the equation is interpreted as a Stratonovich differential equation.  On a finite grid, these increments have variance $\frac{1}{\Delta x \Delta t}$.
 
 \begin{Verbatim}[commandchars=\\\{\}]
 \PYG{n+nt}{\PYGZlt{}simulation} \PYG{n+na}{xmds\PYGZhy{}version=}\PYG{l+s}{\PYGZdq{}2\PYGZdq{}}\PYG{n+nt}{\PYGZgt{}}
@@ -1256,9 +1254,9 @@ In this example we used four processors.  The different processors are labelled
 
 The analytic solution to the stochastic averages of this equation is given by
 \begin{gather}
-\begin{split}\langle |\psi(k,t)|^2 \rangle = \exp(-2\gamma t)|\psi(k,0)|^2 +\frac{\beta^2 L_x}{4\pi \gamma} \left(1-\exp(-2\gamma t)\right)\end{split}\notag
+\begin{split}\langle |\psi(k,t)|^2 \rangle = \exp(-2\gamma t)|\psi(k,0)|^2 +\frac{\beta^2 L_x}{4\pi \gamma} \left(1-\exp(-2\gamma t)\right)\end{split}\notag\\\begin{split}\end{split}\notag
 \end{gather}
-where \(L_x\) is the length of the x domain.  We see that a single integration of these equations is quite chaotic:
+where $L_x$ is the length of the x domain.  We see that a single integration of these equations is quite chaotic:
 \begin{figure}[htbp]
 \centering
 \capstart
@@ -1280,9 +1278,9 @@ while an average of 1024 paths (change \code{paths="8"} to \code{paths="1024"} i
 \label{worked_examples:integer-dimensions}\label{worked_examples:integerdimensionexample}\label{worked_examples:index-8}
 This example shows how to handle systems with integer-valued transverse dimensions.  We will integrate the following set of equations
 \begin{gather}
-\begin{split}\frac{dx_j}{dt} = x_j \left(x_{j-1}-x_{j+1}\right)\end{split}\notag
+\begin{split}\frac{dx_j}{dt} = x_j \left(x_{j-1}-x_{j+1}\right)\end{split}\notag\\\begin{split}\end{split}\notag
 \end{gather}
-where \(x_j\) are complex-valued variables defined on a ring, such that \(j\in \{0,j_{max}\}\) and the \(x_{j_{max}+1}\) variable is identified with the variable \(x_{0}\), and the variable \(x_{-1}\) is identified with the variable \(x_{j_{max}}\).
+where $x_j$ are complex-valued variables defined on a ring, such that $j\in \{0,j_{max}\}$ and the $x_{j_{max}+1}$ variable is identified with the variable $x_{0}$, and the variable $x_{-1}$ is identified with the variable $x_{j_{max}}$.
 
 \begin{Verbatim}[commandchars=\\\{\}]
 \PYG{n+nt}{\PYGZlt{}simulation} \PYG{n+na}{xmds\PYGZhy{}version=}\PYG{l+s}{\PYGZdq{}2\PYGZdq{}}\PYG{n+nt}{\PYGZgt{}}
@@ -1355,7 +1353,7 @@ x = 1.0e\PYGZhy{}3;
 x(j =\PYGZgt{} 0) = 1.0;
 \end{Verbatim}
 
-where the syntax \code{x(j =\textgreater{} 0)} is used to reference the variable \(x_0\) directly.  We see a more elaborate example in the integrate CDATA block:
+where the syntax \code{x(j =\textgreater{} 0)} is used to reference the variable $x_0$ directly.  We see a more elaborate example in the integrate CDATA block:
 
 \begin{Verbatim}[commandchars=\\\{\}]
 dx\PYGZus{}dt(j =\PYGZgt{} j) = x(j =\PYGZgt{} j)*(x(j =\PYGZgt{} j\PYGZus{}minus\PYGZus{}one) \PYGZhy{} x(j =\PYGZgt{} j\PYGZus{}plus\PYGZus{}one));
@@ -1373,7 +1371,7 @@ This example integrates the two-dimensional partial differential equation
 - y \frac{\partial}{\partial x}\right)\\
 &\phantom{=\Bigg[} - \frac{U_{int}}{16 \hbar}\left(x\left(\frac{\partial^3}{\partial x^2 \partial y}
 +\frac{\partial^3}{\partial y^3}\right)-y\left(\frac{\partial^3}{\partial y^2 \partial x}+\frac{\partial^3}{\partial x^3}\right)\right)\Bigg]W(x,y,t)
-\end{split}\end{split}\notag
+\end{split}\end{split}\notag\\\begin{split}\end{split}\notag
 \end{gather}
 with the added restriction that the derivative is forced to zero outside a certain radius.  This extra condition helps maintain the long-term stability of the integration. The script can be found in \code{examples/wigner\_arguments\_mpi.xmds} under your XMDS2 installation directory.
 
@@ -1588,13 +1586,13 @@ which is short for
 \label{worked_examples:groundstatebec}\label{worked_examples:finding-the-ground-state-of-a-bec-continuous-renormalisation}
 This simulation solves another partial differential equation, but introduces several powerful new features in XMDS2.  The nominal problem is the calculation of the lowest energy eigenstate of a non-linear Schrödinger equation:
 \begin{gather}
-\begin{split}\frac{\partial \phi}{\partial t} = i \left[\frac{1}{2}\frac{\partial^2}{\partial y^2} - V(y) - U_{int}|\phi|^2\right]\phi\end{split}\notag
+\begin{split}\frac{\partial \phi}{\partial t} = i \left[\frac{1}{2}\frac{\partial^2}{\partial y^2} - V(y) - U_{int}|\phi|^2\right]\phi\end{split}\notag\\\begin{split}\end{split}\notag
 \end{gather}
 which can be found by evolving the above equation in imaginary time while keeping the normalisation constant.  This causes eigenstates to exponentially decay at the rate of their eigenvalue, so after a short time only the state with the lowest eigenvalue remains.  The evolution equation is straightforward:
 \begin{gather}
-\begin{split}\frac{\partial \phi}{\partial t} = \left[\frac{1}{2}\frac{\partial^2}{\partial y^2} - V(y) - U_{int}|\phi|^2\right]\phi\end{split}\notag
+\begin{split}\frac{\partial \phi}{\partial t} = \left[\frac{1}{2}\frac{\partial^2}{\partial y^2} - V(y) - U_{int}|\phi|^2\right]\phi\end{split}\notag\\\begin{split}\end{split}\notag
 \end{gather}
-but we will need to use new XMDS2 features to manage the normalisation of the function \(\phi(y,t)\).  The normalisation for a non-linear Schrödinger equation is given by \(\int dy |\phi(y,t)|^2 = N_{particles}\), where \(N_{particles}\) is the number of particles described by the wavefunction.
+but we will need to use new XMDS2 features to manage the normalisation of the function $\phi(y,t)$.  The normalisation for a non-linear Schrödinger equation is given by $\int dy |\phi(y,t)|^2 = N_{particles}$, where $N_{particles}$ is the number of particles described by the wavefunction.
 
 The code for this simulation can be found in \code{examples/groundstate\_workedexamples.xmds}:
 
@@ -1770,7 +1768,7 @@ This filter block merely prints a string into the output when the generated prog
 \PYG{n+nt}{\PYGZlt{}/filter\PYGZgt{}}
 \end{Verbatim}
 
-Since this filter depends on a vector with the transverse dimension ``y'', this filter will execute for each point in ``y''.  This code multiplies the value of the field ``phi'' by the factor required to produce a normalised function in the sense that  \(\int dy |\phi(y,t)|^2 = N_{particles}\).
+Since this filter depends on a vector with the transverse dimension ``y'', this filter will execute for each point in ``y''.  This code multiplies the value of the field ``phi'' by the factor required to produce a normalised function in the sense that  $\int dy |\phi(y,t)|^2 = N_{particles}$.
 
 The next usage of a \code{\textless{}filter\textgreater{}} element in this program is inside the \code{\textless{}integrate\textgreater{}} element, where all filters are placed inside a \code{\textless{}filters\textgreater{}} element.
 
@@ -1810,20 +1808,20 @@ This program begins with a very crude guess to the ground state, but it rapidly
 \capstart
 
 \includegraphics{groundstateU20.pdf}
-\caption{When the nonlinear term is larger (\(U=20\)), the ground state is wider and more parabolic.}\end{figure}
+\caption{When the nonlinear term is larger ($U=20$), the ground state is wider and more parabolic.}\end{figure}
 
 
 \section{Finding the Ground State of a BEC again}
 \label{worked_examples:finding-the-ground-state-of-a-bec-again}\label{worked_examples:hermitegaussgroundstatebec}
 Here we repeat the same simulation as in the {\hyperref[worked_examples:groundstatebec]{\emph{Finding the Ground State of a BEC (continuous renormalisation)}}} example, using a different transform basis.  While spectral methods are very effective, and Fourier transforms are typically very efficient due to the Fast Fourier transform algorithm, it is often desirable to describe nonlocal evolution in bases other than the Fourier basis.  The previous calculation was the Schrödinger equation  [...]
 \begin{gather}
-\begin{split}\left[-\frac{\hbar}{2 m}\frac{\partial^2}{\partial x^2} + \frac{1}{2}\omega^2 x^2\right]\phi_n(x) = E_n \phi_n(x)\end{split}\notag
+\begin{split}\left[-\frac{\hbar}{2 m}\frac{\partial^2}{\partial x^2} + \frac{1}{2}\omega^2 x^2\right]\phi_n(x) = E_n \phi_n(x)\end{split}\notag\\\begin{split}\end{split}\notag
 \end{gather}
 where
 \begin{gather}
-\begin{split}\phi_n(x,t) = \sqrt{\frac{1}{2^n n!}} \left(\frac{m \omega}{\hbar \pi}\right)^\frac{1}{4} e^{-\frac{m \omega x^2}{2\hbar}} H_n\left(\sqrt{\frac{m \omega}{\hbar}x}\right),\;\;\;\;\;\;E_n = \left(n+\frac{1}{2}\right) \omega\end{split}\notag
+\begin{split}\phi_n(x,t) = \sqrt{\frac{1}{2^n n!}} \left(\frac{m \omega}{\hbar \pi}\right)^\frac{1}{4} e^{-\frac{m \omega x^2}{2\hbar}} H_n\left(\sqrt{\frac{m \omega}{\hbar}x}\right),\;\;\;\;\;\;E_n = \left(n+\frac{1}{2}\right) \omega\end{split}\notag\\\begin{split}\end{split}\notag
 \end{gather}
-where \(H_n(u)\) are the physicist's version of the Hermite polynomials.  Rather than describing the derivatives as diagonal terms in Fourier space, we therefore have the option of describing the entire \(-\frac{\hbar}{2 m}\frac{\partial^2}{\partial x^2} + \frac{1}{2}\omega^2 x^2\) term as a diagonal term in the Hermite-Gaussian basis.  Here is an XMDS2 simulation that performs the integration in this basis. The following is a simplified version of the \code{examples/hermitegauss\_ground [...]
+where $H_n(u)$ are the physicist's version of the Hermite polynomials.  Rather than describing the derivatives as diagonal terms in Fourier space, we therefore have the option of describing the entire $-\frac{\hbar}{2 m}\frac{\partial^2}{\partial x^2} + \frac{1}{2}\omega^2 x^2$ term as a diagonal term in the Hermite-Gaussian basis.  Here is an XMDS2 simulation that performs the integration in this basis. The following is a simplified version of the \code{examples/hermitegauss\_groundstat [...]
 
 \begin{Verbatim}[commandchars=\\\{\}]
 \PYG{n+nt}{\PYGZlt{}simulation} \PYG{n+na}{xmds\PYGZhy{}version=}\PYG{l+s}{\PYGZdq{}2\PYGZdq{}}\PYG{n+nt}{\PYGZgt{}}
@@ -1960,9 +1958,9 @@ which disables many of these checks at the time of writing the C-code.
 \label{worked_examples:dmultistatese}\label{worked_examples:multi-component-schrodinger-equation}
 This example demonstrates a simple method for doing matrix calculations in XMDS2.  We are solving the multi-component PDE
 \begin{gather}
-\begin{split}\frac{\partial \phi_j(x,y)}{\partial t} = \frac{i}{2}\left(\frac{\partial^2}{\partial x^2}+\frac{\partial^2}{\partial y^2}\right)\phi_j(x,y) - i U(x,y) \sum_k V_{j k}\phi_k(x,y)\end{split}\notag
+\begin{split}\frac{\partial \phi_j(x,y)}{\partial t} = \frac{i}{2}\left(\frac{\partial^2}{\partial x^2}+\frac{\partial^2}{\partial y^2}\right)\phi_j(x,y) - i U(x,y) \sum_k V_{j k}\phi_k(x,y)\end{split}\notag\\\begin{split}\end{split}\notag
 \end{gather}
-where the last term is more commonly written as a matrix multiplication.  Writing this term out explicitly is feasible for a small number of components, but when the number of components becomes large, or perhaps \(V_{j k}\) should be precomputed for efficiency reasons, it is useful to be able to perform this sum over the integer dimensions automatically.  This example show how this can be done naturally using a computed vector.  The XMDS2 script is as follows:
+where the last term is more commonly written as a matrix multiplication.  Writing this term out explicitly is feasible for a small number of components, but when the number of components becomes large, or perhaps $V_{j k}$ should be precomputed for efficiency reasons, it is useful to be able to perform this sum over the integer dimensions automatically.  This example show how this can be done naturally using a computed vector.  The XMDS2 script is as follows:
 
 \begin{Verbatim}[commandchars=\\\{\}]
 \PYG{n+nt}{\PYGZlt{}simulation} \PYG{n+na}{xmds\PYGZhy{}version=}\PYG{l+s}{\PYGZdq{}2\PYGZdq{}}\PYG{n+nt}{\PYGZgt{}}
@@ -2075,7 +2073,7 @@ where the last term is more commonly written as a matrix multiplication.  Writin
 \end{Verbatim}
 
 \index{Aliases}
-The only truly new feature in this script is the ``aliases'' option on a dimension.  The integer-valued dimension in this script indexes the components of the PDE (in this case only two).  The  \(V_{j k}\) term is required to be a square array of dimension of this number of components.  If we wrote the k-index of \(V_{j k}\) using a separate \code{\textless{}dimension\textgreater{}} element, then we would not be enforcing the requirement that the matrix be square.  Instead, we note that  [...]
+The only truly new feature in this script is the ``aliases'' option on a dimension.  The integer-valued dimension in this script indexes the components of the PDE (in this case only two).  The  $V_{j k}$ term is required to be a square array of dimension of this number of components.  If we wrote the k-index of $V_{j k}$ using a separate \code{\textless{}dimension\textgreater{}} element, then we would not be enforcing the requirement that the matrix be square.  Instead, we note that we w [...]
 
 \begin{Verbatim}[commandchars=\\\{\}]
 \PYG{n+nt}{\PYGZlt{}dimension} \PYG{n+na}{name=}\PYG{l+s}{\PYGZdq{}j\PYGZdq{}} \PYG{n+na}{type=}\PYG{l+s}{\PYGZdq{}integer\PYGZdq{}} \PYG{n+na}{lattice=}\PYG{l+s}{\PYGZdq{}2\PYGZdq{}} \PYG{n+na}{domain=}\PYG{l+s}{\PYGZdq{}(0,1)\PYGZdq{}} \PYG{n+na}{aliases=}\PYG{l+s}{\PYGZdq{}k\PYGZdq{}}\PYG{n+nt}{/\PYGZgt{}}
@@ -2100,7 +2098,7 @@ This means that we can use the index ``k'', which will have exactly the same pro
 
 Since the output dimensions of the computed vector do not include a ``k'' index, this index is integrated.  The volume element for this summation is the spacing between neighbouring values of ``j'', and since this spacing is one, this integration is just a sum over k, as required.
 
-This example also demonstrates an optimisation for the IP operators by separating the \(x\) and \(y\) parts of the operator (see {\hyperref[optimisation_hints:optimisingipoperators]{\emph{Optimising with the Interaction Picture (IP) operator}}}).  This gives an approximately 30\% speed improvement over the more straightforward implementation:
+This example also demonstrates an optimisation for the IP operators by separating the $x$ and $y$ parts of the operator (see {\hyperref[optimisation_hints:optimisingipoperators]{\emph{Optimising with the Interaction Picture (IP) operator}}}).  This gives an approximately 30\% speed improvement over the more straightforward implementation:
 
 \begin{Verbatim}[commandchars=\\\{\}]
 \PYG{n+nt}{\PYGZlt{}operator} \PYG{n+na}{kind=}\PYG{l+s}{\PYGZdq{}ip\PYGZdq{}}\PYG{n+nt}{\PYGZgt{}}
@@ -2202,149 +2200,150 @@ There are many, many XML tags that can make up an XMDS2 script. Most of them are
 The syntax \textless{}element /\textgreater{} can be used for lowest-level elements that have attributes but no content, and are shorthand for \textless{}element\textgreater{} \textless{}/element\textgreater{}. This shorthand notation can also be used for elements which can only contain the content ``yes'' or ``no''; in this case the presence of \textless{}element /\textgreater{} is equivalent to \textless{}element\textgreater{} yes \textless{}/element\textgreater{}, and the absence of s [...]
 
 The possible attributes and attribute values for each element are not shown; see the individual entries in the Reference section for details.
-\begin{alltt}
-\textless{}?xml version=''1.0'' encoding=''UTF-8''?\textgreater{}
-\textless{}{\hyperref[reference_elements:simulationelement]{\emph{simulation}}} xmds-version=''2''\textgreater{}
-  \textless{}{\hyperref[reference_elements:nameelement]{\emph{name}}}\textgreater{} \textless{}{\hyperref[reference_elements:nameelement]{\emph{/name}}}\textgreater{}
-  \textless{}{\hyperref[reference_elements:authorelement]{\emph{author}}}\textgreater{} \textless{}{\hyperref[reference_elements:authorelement]{\emph{author}}}\textgreater{}
-  \textless{}{\hyperref[reference_elements:descriptionelement]{\emph{description}}}\textgreater{} \textless{}{\hyperref[reference_elements:descriptionelement]{\emph{/description}}}\textgreater{}
-
-  \textless{}{\hyperref[reference_elements:featureselement]{\emph{features}}}\textgreater{}
-    \textless{}{\hyperref[reference_elements:argumentselement]{\emph{arguments}}}\textgreater{}
-      \textless{}{\hyperref[reference_elements:argumentelement]{\emph{argument}}} /\textgreater{}
-      \textless{}{\hyperref[reference_elements:argumentelement]{\emph{argument}}} /\textgreater{}
+{\hyperref[reference_elements:simulationelement]{\emph{}}}{\hyperref[reference_elements:nameelement]{\emph{}}}{\hyperref[reference_elements:nameelement]{\emph{}}}{\hyperref[reference_elements:authorelement]{\emph{}}}{\hyperref[reference_elements:authorelement]{\emph{}}}{\hyperref[reference_elements:descriptionelement]{\emph{}}}{\hyperref[reference_elements:descriptionelement]{\emph{}}}{\hyperref[reference_elements:featureselement]{\emph{}}}{\hyperref[reference_elements:argumentselement]{ [...]
+\begin{Verbatim}[commandchars=\\\{\}]
+\PYG{c+cp}{\PYGZlt{}?xml version=\PYGZdq{}1.0\PYGZdq{} encoding=\PYGZdq{}UTF\PYGZhy{}8\PYGZdq{}?\PYGZgt{}}
+\PYG{n+nt}{\PYGZlt{}simulation} \PYG{n+na}{xmds\PYGZhy{}version=}\PYG{l+s}{\PYGZdq{}2\PYGZdq{}}\PYG{n+nt}{\PYGZgt{}}
+  \PYG{n+nt}{\PYGZlt{}name}\PYG{n+nt}{\PYGZgt{}} \PYG{n+nt}{\PYGZlt{}/name\PYGZgt{}}
+  \PYG{n+nt}{\PYGZlt{}author}\PYG{n+nt}{\PYGZgt{}} \PYG{n+nt}{\PYGZlt{}author}\PYG{n+nt}{\PYGZgt{}}
+  \PYG{n+nt}{\PYGZlt{}description}\PYG{n+nt}{\PYGZgt{}} \PYG{n+nt}{\PYGZlt{}/description\PYGZgt{}}
+
+  \PYG{n+nt}{\PYGZlt{}features}\PYG{n+nt}{\PYGZgt{}}
+    \PYG{n+nt}{\PYGZlt{}arguments}\PYG{n+nt}{\PYGZgt{}}
+      \PYG{n+nt}{\PYGZlt{}argument} \PYG{n+nt}{/\PYGZgt{}}
+      \PYG{n+nt}{\PYGZlt{}argument} \PYG{n+nt}{/\PYGZgt{}}
       ...
-    \textless{}{\hyperref[reference_elements:argumentselement]{\emph{/arguments}}}\textgreater{}
-    \textless{}{\hyperref[reference_elements:autovectorise]{\emph{auto\_vectorise}}} /\textgreater{}
-    \textless{}{\hyperref[reference_elements:benchmark]{\emph{benchmark}}} /\textgreater{}
-    \textless{}{\hyperref[reference_elements:bing]{\emph{bing}}} /\textgreater{}
-    \textless{}{\hyperref[reference_elements:cflags]{\emph{cflags}}}\textgreater{} \textless{}{\hyperref[reference_elements:cflags]{\emph{/cflags}}}\textgreater{}
-    \textless{}{\hyperref[reference_elements:chunkedoutput]{\emph{chunked\_output}}} /\textgreater{}
-    \textless{}{\hyperref[reference_elements:diagnostics]{\emph{diagnostics}}} /\textgreater{}
-    \textless{}{\hyperref[reference_elements:errorcheck]{\emph{error\_check}}} /\textgreater{}
-    \textless{}{\hyperref[reference_elements:haltnonfinite]{\emph{halt\_non\_finite}}} /\textgreater{}
-    \textless{}{\hyperref[reference_elements:fftw]{\emph{fftw}}} /\textgreater{}
-    \textless{}{\hyperref[reference_elements:globals]{\emph{globals}}}\textgreater{} \textless{}{\hyperref[reference_elements:globals]{\emph{/globals}}}\textgreater{}
-    \textless{}{\hyperref[reference_elements:openmp]{\emph{openmp}}} /\textgreater{}
-    \textless{}{\hyperref[reference_elements:precision]{\emph{precision}}}\textgreater{} \textless{}{\hyperref[reference_elements:precision]{\emph{/precision}}}\textgreater{}
-    \textless{}{\hyperref[reference_elements:validation]{\emph{validation}}} /\textgreater{}
-  \textless{}{\hyperref[reference_elements:featureselement]{\emph{/features}}}\textgreater{}
-
-  \textless{}{\hyperref[reference_elements:driverelement]{\emph{driver}}} /\textgreater{}
-
-  \textless{}{\hyperref[reference_elements:geometryelement]{\emph{geometry}}}\textgreater{}
-    \textless{}{\hyperref[reference_elements:propagationdimensionelement]{\emph{propagation\_dimension}}}\textgreater{} \textless{}{\hyperref[reference_elements:propagationdimensionelement]{\emph{/propagation\_dimension}}}\textgreater{}
-    \textless{}{\hyperref[reference_elements:transversedimensionselement]{\emph{transverse\_dimensions}}}\textgreater{}
-      \textless{}{\hyperref[reference_elements:dimensionelement]{\emph{dimension}}} /\textgreater{}
-      \textless{}{\hyperref[reference_elements:dimensionelement]{\emph{dimension}}} /\textgreater{}
+    \PYG{n+nt}{\PYGZlt{}/arguments\PYGZgt{}}
+    \PYG{n+nt}{\PYGZlt{}auto\PYGZus{}vectorise} \PYG{n+nt}{/\PYGZgt{}}
+    \PYG{n+nt}{\PYGZlt{}benchmark} \PYG{n+nt}{/\PYGZgt{}}
+    \PYG{n+nt}{\PYGZlt{}bing} \PYG{n+nt}{/\PYGZgt{}}
+    \PYG{n+nt}{\PYGZlt{}cflags}\PYG{n+nt}{\PYGZgt{}} \PYG{n+nt}{\PYGZlt{}/cflags\PYGZgt{}}
+    \PYG{n+nt}{\PYGZlt{}chunked\PYGZus{}output} \PYG{n+nt}{/\PYGZgt{}}
+    \PYG{n+nt}{\PYGZlt{}diagnostics} \PYG{n+nt}{/\PYGZgt{}}
+    \PYG{n+nt}{\PYGZlt{}error\PYGZus{}check} \PYG{n+nt}{/\PYGZgt{}}
+    \PYG{n+nt}{\PYGZlt{}halt\PYGZus{}non\PYGZus{}finite} \PYG{n+nt}{/\PYGZgt{}}
+    \PYG{n+nt}{\PYGZlt{}fftw} \PYG{n+nt}{/\PYGZgt{}}
+    \PYG{n+nt}{\PYGZlt{}globals}\PYG{n+nt}{\PYGZgt{}} \PYG{n+nt}{\PYGZlt{}/globals\PYGZgt{}}
+    \PYG{n+nt}{\PYGZlt{}openmp} \PYG{n+nt}{/\PYGZgt{}}
+    \PYG{n+nt}{\PYGZlt{}precision}\PYG{n+nt}{\PYGZgt{}} \PYG{n+nt}{\PYGZlt{}/precision\PYGZgt{}}
+    \PYG{n+nt}{\PYGZlt{}validation} \PYG{n+nt}{/\PYGZgt{}}
+  \PYG{n+nt}{\PYGZlt{}/features\PYGZgt{}}
+
+  \PYG{n+nt}{\PYGZlt{}driver} \PYG{n+nt}{/\PYGZgt{}}
+
+  \PYG{n+nt}{\PYGZlt{}geometry}\PYG{n+nt}{\PYGZgt{}}
+    \PYG{n+nt}{\PYGZlt{}propagation\PYGZus{}dimension}\PYG{n+nt}{\PYGZgt{}} \PYG{n+nt}{\PYGZlt{}/propagation\PYGZus{}dimension\PYGZgt{}}
+    \PYG{n+nt}{\PYGZlt{}transverse\PYGZus{}dimensions}\PYG{n+nt}{\PYGZgt{}}
+      \PYG{n+nt}{\PYGZlt{}dimension} \PYG{n+nt}{/\PYGZgt{}}
+      \PYG{n+nt}{\PYGZlt{}dimension} \PYG{n+nt}{/\PYGZgt{}}
       ...
-    \textless{}{\hyperref[reference_elements:transversedimensionselement]{\emph{/transverse\_dimensions}}}\textgreater{}
-  \textless{}{\hyperref[reference_elements:geometryelement]{\emph{/geometry}}}\textgreater{}
-
-  \textless{}{\hyperref[reference_elements:vectorelement]{\emph{vector}}}\textgreater{}
-    \textless{}{\hyperref[reference_elements:componentselement]{\emph{components}}}\textgreater{} \textless{}{\hyperref[reference_elements:componentselement]{\emph{/components}}}\textgreater{}
-    \textless{}{\hyperref[reference_elements:initialisationelement]{\emph{initialisation}}}\textgreater{}
-      \textless{}{\hyperref[reference_elements:dependencies]{\emph{dependencies}}}\textgreater{} \textless{}{\hyperref[reference_elements:dependencies]{\emph{/dependencies}}}\textgreater{}
-      \textless{}{\hyperref[reference_elements:filenameelement]{\emph{filename}}}\textgreater{}
-      \textless{}!{[}{\hyperref[reference_elements:initialisationelement]{\emph{CDATA}}} {[}
-      {]}{]}\textgreater{}
-    \textless{}{\hyperref[reference_elements:initialisationelement]{\emph{/initialisation}}}\textgreater{}
-  \textless{}{\hyperref[reference_elements:vectorelement]{\emph{/vector}}}\textgreater{}
-
-  \textless{}{\hyperref[reference_elements:vectorelement]{\emph{vector}}}\textgreater{} ... \textless{}{\hyperref[reference_elements:vectorelement]{\emph{/vector}}}\textgreater{}
-  \textless{}{\hyperref[reference_elements:vectorelement]{\emph{vector}}}\textgreater{} ... \textless{}{\hyperref[reference_elements:vectorelement]{\emph{/vector}}}\textgreater{}
+    \PYG{n+nt}{\PYGZlt{}/transverse\PYGZus{}dimensions\PYGZgt{}}
+  \PYG{n+nt}{\PYGZlt{}/geometry\PYGZgt{}}
+
+  \PYG{n+nt}{\PYGZlt{}vector}\PYG{n+nt}{\PYGZgt{}}
+    \PYG{n+nt}{\PYGZlt{}components}\PYG{n+nt}{\PYGZgt{}} \PYG{n+nt}{\PYGZlt{}/components\PYGZgt{}}
+    \PYG{n+nt}{\PYGZlt{}initialisation}\PYG{n+nt}{\PYGZgt{}}
+      \PYG{n+nt}{\PYGZlt{}dependencies}\PYG{n+nt}{\PYGZgt{}} \PYG{n+nt}{\PYGZlt{}/dependencies\PYGZgt{}}
+      \PYG{n+nt}{\PYGZlt{}filename}\PYG{n+nt}{\PYGZgt{}}
+      \PYG{c+cp}{\PYGZlt{}![CDATA [}
+\PYG{c+cp}{      ]]\PYGZgt{}}
+    \PYG{n+nt}{\PYGZlt{}/initialisation\PYGZgt{}}
+  \PYG{n+nt}{\PYGZlt{}/vector\PYGZgt{}}
+
+  \PYG{n+nt}{\PYGZlt{}vector}\PYG{n+nt}{\PYGZgt{}} ... \PYG{n+nt}{\PYGZlt{}/vector\PYGZgt{}}
+  \PYG{n+nt}{\PYGZlt{}vector}\PYG{n+nt}{\PYGZgt{}} ... \PYG{n+nt}{\PYGZlt{}/vector\PYGZgt{}}
   ...
 
-  \textless{}{\hyperref[reference_elements:computedvectorelement]{\emph{computed\_vector}}}\textgreater{}
-    \textless{}{\hyperref[reference_elements:componentselement]{\emph{components}}}\textgreater{} \textless{}{\hyperref[reference_elements:componentselement]{\emph{/components}}}\textgreater{}
-    \textless{}{\hyperref[reference_elements:evaluationelement]{\emph{evaluation}}}\textgreater{}
-      \textless{}{\hyperref[reference_elements:dependencies]{\emph{dependencies}}}\textgreater{} \textless{}{\hyperref[reference_elements:dependencies]{\emph{/dependencies}}}\textgreater{}
-      \textless{}!{[}{\hyperref[reference_elements:initialisationelement]{\emph{CDATA}}} {[}
-      {]}{]}\textgreater{}
-    \textless{}{\hyperref[reference_elements:evaluationelement]{\emph{/evaluation}}}\textgreater{}
-  \textless{}{\hyperref[reference_elements:computedvectorelement]{\emph{/computed\_vector}}}\textgreater{}
-
-  \textless{}{\hyperref[reference_elements:computedvectorelement]{\emph{computed\_vector}}}\textgreater{} ... \textless{}{\hyperref[reference_elements:computedvectorelement]{\emph{/computed\_vector}}}\textgreater{}
-  \textless{}{\hyperref[reference_elements:computedvectorelement]{\emph{computed\_vector}}}\textgreater{} ... \textless{}{\hyperref[reference_elements:computedvectorelement]{\emph{/computed\_vector}}}\textgreater{}
+  \PYG{n+nt}{\PYGZlt{}computed\PYGZus{}vector}\PYG{n+nt}{\PYGZgt{}}
+    \PYG{n+nt}{\PYGZlt{}components}\PYG{n+nt}{\PYGZgt{}} \PYG{n+nt}{\PYGZlt{}/components\PYGZgt{}}
+    \PYG{n+nt}{\PYGZlt{}evaluation}\PYG{n+nt}{\PYGZgt{}}
+      \PYG{n+nt}{\PYGZlt{}dependencies}\PYG{n+nt}{\PYGZgt{}} \PYG{n+nt}{\PYGZlt{}/dependencies\PYGZgt{}}
+      \PYG{c+cp}{\PYGZlt{}![CDATA [}
+\PYG{c+cp}{      ]]\PYGZgt{}}
+    \PYG{n+nt}{\PYGZlt{}/evaluation\PYGZgt{}}
+  \PYG{n+nt}{\PYGZlt{}/computed\PYGZus{}vector\PYGZgt{}}
+
+  \PYG{n+nt}{\PYGZlt{}computed\PYGZus{}vector}\PYG{n+nt}{\PYGZgt{}} ... \PYG{n+nt}{\PYGZlt{}/computed\PYGZus{}vector\PYGZgt{}}
+  \PYG{n+nt}{\PYGZlt{}computed\PYGZus{}vector}\PYG{n+nt}{\PYGZgt{}} ... \PYG{n+nt}{\PYGZlt{}/computed\PYGZus{}vector\PYGZgt{}}
   ...
 
-  \textless{}{\hyperref[reference_elements:noisevectorelement]{\emph{noise\_vector}}}\textgreater{}
-    \textless{}{\hyperref[reference_elements:componentselement]{\emph{components}}}\textgreater{} \textless{}{\hyperref[reference_elements:componentselement]{\emph{/components}}}\textgreater{}
-  \textless{}{\hyperref[reference_elements:noisevectorelement]{\emph{/noise\_vector}}}\textgreater{}
+  \PYG{n+nt}{\PYGZlt{}noise\PYGZus{}vector}\PYG{n+nt}{\PYGZgt{}}
+    \PYG{n+nt}{\PYGZlt{}components}\PYG{n+nt}{\PYGZgt{}} \PYG{n+nt}{\PYGZlt{}/components\PYGZgt{}}
+  \PYG{n+nt}{\PYGZlt{}/noise\PYGZus{}vector\PYGZgt{}}
 
-  \textless{}{\hyperref[reference_elements:noisevectorelement]{\emph{noise\_vector}}}\textgreater{} ... \textless{}{\hyperref[reference_elements:noisevectorelement]{\emph{/noise\_vector}}}\textgreater{}
-  \textless{}{\hyperref[reference_elements:noisevectorelement]{\emph{noise\_vector}}}\textgreater{} ... \textless{}{\hyperref[reference_elements:noisevectorelement]{\emph{/noise\_vector}}}\textgreater{}
+  \PYG{n+nt}{\PYGZlt{}noise\PYGZus{}vector}\PYG{n+nt}{\PYGZgt{}} ... \PYG{n+nt}{\PYGZlt{}/noise\PYGZus{}vector\PYGZgt{}}
+  \PYG{n+nt}{\PYGZlt{}noise\PYGZus{}vector}\PYG{n+nt}{\PYGZgt{}} ... \PYG{n+nt}{\PYGZlt{}/noise\PYGZus{}vector\PYGZgt{}}
   ...
 
-  \textless{}{\hyperref[reference_elements:sequenceelement]{\emph{sequence}}}\textgreater{}
+  \PYG{n+nt}{\PYGZlt{}sequence}\PYG{n+nt}{\PYGZgt{}}
 
-    \textless{}{\hyperref[reference_elements:filterelement]{\emph{filter}}}\textgreater{}
-      \textless{}{\hyperref[reference_elements:dependencies]{\emph{dependencies}}}\textgreater{} \textless{}{\hyperref[reference_elements:dependencies]{\emph{/dependencies}}}\textgreater{}
-      \textless{}!{[}{\hyperref[reference_elements:xmdscsyntax]{\emph{CDATA}}} {[}
-      {]}{]}\textgreater{}
-    \textless{}{\hyperref[reference_elements:filterelement]{\emph{/filter}}}\textgreater{}
+    \PYG{n+nt}{\PYGZlt{}filter}\PYG{n+nt}{\PYGZgt{}}
+      \PYG{n+nt}{\PYGZlt{}dependencies}\PYG{n+nt}{\PYGZgt{}} \PYG{n+nt}{\PYGZlt{}/dependencies\PYGZgt{}}
+      \PYG{c+cp}{\PYGZlt{}![CDATA [}
+\PYG{c+cp}{      ]]\PYGZgt{}}
+    \PYG{n+nt}{\PYGZlt{}/filter\PYGZgt{}}
 
-    \textless{}{\hyperref[reference_elements:integrateelement]{\emph{integrate}}}\textgreater{}
-      \textless{}{\hyperref[reference_elements:sampleselement]{\emph{samples}}}\textgreater{} \textless{}{\hyperref[reference_elements:sampleselement]{\emph{/samples}}}\textgreater{}
+    \PYG{n+nt}{\PYGZlt{}integrate}\PYG{n+nt}{\PYGZgt{}}
+      \PYG{n+nt}{\PYGZlt{}samples}\PYG{n+nt}{\PYGZgt{}} \PYG{n+nt}{\PYGZlt{}/samples\PYGZgt{}}
 
-      \textless{}{\hyperref[reference_elements:computedvectorelement]{\emph{computed\_vector}}}\textgreater{} ... \textless{}{\hyperref[reference_elements:computedvectorelement]{\emph{/computed\_vector}}}\textgreater{}
+      \PYG{n+nt}{\PYGZlt{}computed\PYGZus{}vector}\PYG{n+nt}{\PYGZgt{}} ... \PYG{n+nt}{\PYGZlt{}/computed\PYGZus{}vector\PYGZgt{}}
 
-      \textless{}{\hyperref[reference_elements:filterselement]{\emph{filters}}}\textgreater{}
-        \textless{}{\hyperref[reference_elements:filterelement]{\emph{filter}}}\textgreater{} ... \textless{}{\hyperref[reference_elements:filterelement]{\emph{/filter}}}\textgreater{}
-        \textless{}{\hyperref[reference_elements:filterelement]{\emph{filter}}}\textgreater{} ... \textless{}{\hyperref[reference_elements:filterelement]{\emph{/filter}}}\textgreater{}
+      \PYG{n+nt}{\PYGZlt{}filters}\PYG{n+nt}{\PYGZgt{}}
+        \PYG{n+nt}{\PYGZlt{}filter}\PYG{n+nt}{\PYGZgt{}} ... \PYG{n+nt}{\PYGZlt{}/filter\PYGZgt{}}
+        \PYG{n+nt}{\PYGZlt{}filter}\PYG{n+nt}{\PYGZgt{}} ... \PYG{n+nt}{\PYGZlt{}/filter\PYGZgt{}}
         ...
-      \textless{}{\hyperref[reference_elements:filterselement]{\emph{/filters}}}\textgreater{}
-
-      \textless{}{\hyperref[reference_elements:operatorselement]{\emph{operators}}}\textgreater{}
-
-        \textless{}{\hyperref[reference_elements:operatorelement]{\emph{operator}}}\textgreater{}
-          \textless{}{\hyperref[reference_elements:boundaryconditionelement]{\emph{boundary\_condition}}}\textgreater{}
-            \textless{}{\hyperref[reference_elements:dependencies]{\emph{dependencies}}}\textgreater{} \textless{}{\hyperref[reference_elements:dependencies]{\emph{/dependencies}}}\textgreater{}
-            \textless{}!{[}{\hyperref[reference_elements:xmdscsyntax]{\emph{CDATA}}} {[}
-            {]}{]}\textgreater{}
-          \textless{}{\hyperref[reference_elements:boundaryconditionelement]{\emph{/boundary\_condition}}}\textgreater{}
-          \textless{}{\hyperref[reference_elements:operatornameselement]{\emph{operator\_names}}}\textgreater{} \textless{}{\hyperref[reference_elements:operatornameselement]{\emph{/operator\_names}}}\textgreater{}
-          \textless{}{\hyperref[reference_elements:dependencies]{\emph{dependencies}}}\textgreater{} \textless{}{\hyperref[reference_elements:dependencies]{\emph{/dependencies}}}\textgreater{}
-          \textless{}!{[}{\hyperref[reference_elements:xmdscsyntax]{\emph{CDATA}}} {[}
-          {]}{]}\textgreater{}
-        \textless{}{\hyperref[reference_elements:operatorelement]{\emph{/operator}}}\textgreater{}
-
-        \textless{}{\hyperref[reference_elements:operatorelement]{\emph{operator}}}\textgreater{} ... \textless{}{\hyperref[reference_elements:operatorelement]{\emph{/operator}}}\textgreater{}
-        \textless{}{\hyperref[reference_elements:operatorelement]{\emph{operator}}}\textgreater{} ... \textless{}{\hyperref[reference_elements:operatorelement]{\emph{/operator}}}\textgreater{}
+      \PYG{n+nt}{\PYGZlt{}/filters\PYGZgt{}}
+
+      \PYG{n+nt}{\PYGZlt{}operators}\PYG{n+nt}{\PYGZgt{}}
+
+        \PYG{n+nt}{\PYGZlt{}operator}\PYG{n+nt}{\PYGZgt{}}
+          \PYG{n+nt}{\PYGZlt{}boundary\PYGZus{}condition}\PYG{n+nt}{\PYGZgt{}}
+            \PYG{n+nt}{\PYGZlt{}dependencies}\PYG{n+nt}{\PYGZgt{}} \PYG{n+nt}{\PYGZlt{}/dependencies\PYGZgt{}}
+            \PYG{c+cp}{\PYGZlt{}![CDATA [}
+\PYG{c+cp}{            ]]\PYGZgt{}}
+          \PYG{n+nt}{\PYGZlt{}/boundary\PYGZus{}condition\PYGZgt{}}
+          \PYG{n+nt}{\PYGZlt{}operator\PYGZus{}names}\PYG{n+nt}{\PYGZgt{}} \PYG{n+nt}{\PYGZlt{}/operator\PYGZus{}names\PYGZgt{}}
+          \PYG{n+nt}{\PYGZlt{}dependencies}\PYG{n+nt}{\PYGZgt{}} \PYG{n+nt}{\PYGZlt{}/dependencies\PYGZgt{}}
+          \PYG{c+cp}{\PYGZlt{}![CDATA [}
+\PYG{c+cp}{          ]]\PYGZgt{}}
+        \PYG{n+nt}{\PYGZlt{}/operator\PYGZgt{}}
+
+        \PYG{n+nt}{\PYGZlt{}operator}\PYG{n+nt}{\PYGZgt{}} ... \PYG{n+nt}{\PYGZlt{}/operator\PYGZgt{}}
+        \PYG{n+nt}{\PYGZlt{}operator}\PYG{n+nt}{\PYGZgt{}} ... \PYG{n+nt}{\PYGZlt{}/operator\PYGZgt{}}
         ...
 
-        \textless{}{\hyperref[reference_elements:integrationvectorselement]{\emph{integration\_vectors}}}\textgreater{} \textless{}{\hyperref[reference_elements:integrationvectorselement]{\emph{/integration\_vectors}}}\textgreater{}
-        \textless{}{\hyperref[reference_elements:dependencies]{\emph{dependencies}}}\textgreater{} \textless{}{\hyperref[reference_elements:dependencies]{\emph{/dependencies}}}\textgreater{}
-        \textless{}!{[}{\hyperref[reference_elements:xmdscsyntax]{\emph{CDATA}}} {[}
-        {]}{]}\textgreater{}
+        \PYG{n+nt}{\PYGZlt{}integration\PYGZus{}vectors}\PYG{n+nt}{\PYGZgt{}} \PYG{n+nt}{\PYGZlt{}/integration\PYGZus{}vectors\PYGZgt{}}
+        \PYG{n+nt}{\PYGZlt{}dependencies}\PYG{n+nt}{\PYGZgt{}} \PYG{n+nt}{\PYGZlt{}/dependencies\PYGZgt{}}
+        \PYG{c+cp}{\PYGZlt{}![CDATA [}
+\PYG{c+cp}{        ]]\PYGZgt{}}
 
-      \textless{}{\hyperref[reference_elements:operatorselement]{\emph{/operators}}}\textgreater{}
+      \PYG{n+nt}{\PYGZlt{}/operators\PYGZgt{}}
 
-    \textless{}{\hyperref[reference_elements:integrateelement]{\emph{/integrate}}}\textgreater{}
+    \PYG{n+nt}{\PYGZlt{}/integrate\PYGZgt{}}
 
-    \textless{}{\hyperref[reference_elements:breakpointelement]{\emph{breakpoint}}}\textgreater{}
-      \textless{}{\hyperref[reference_elements:dependencies]{\emph{dependencies}}}\textgreater{} \textless{}{\hyperref[reference_elements:dependencies]{\emph{/dependencies}}}\textgreater{}
-    \textless{}{\hyperref[reference_elements:breakpointelement]{\emph{/breakpoint}}}\textgreater{}
+    \PYG{n+nt}{\PYGZlt{}breakpoint}\PYG{n+nt}{\PYGZgt{}}
+      \PYG{n+nt}{\PYGZlt{}dependencies}\PYG{n+nt}{\PYGZgt{}} \PYG{n+nt}{\PYGZlt{}/dependencies\PYGZgt{}}
+    \PYG{n+nt}{\PYGZlt{}/breakpoint\PYGZgt{}}
 
-  \textless{}{\hyperref[reference_elements:sequenceelement]{\emph{/sequence}}}\textgreater{}
+  \PYG{n+nt}{\PYGZlt{}/sequence\PYGZgt{}}
 
-  \textless{}{\hyperref[reference_elements:outputelement]{\emph{output}}}\textgreater{}
-    \textless{}{\hyperref[reference_elements:samplinggroupelement]{\emph{sampling\_group}}}\textgreater{}
-      \textless{}{\hyperref[reference_elements:dependencies]{\emph{dependencies}}}\textgreater{} \textless{}{\hyperref[reference_elements:dependencies]{\emph{/dependencies}}}\textgreater{}
-      \textless{}{\hyperref[reference_elements:samplinggroupelement]{\emph{moments}}}\textgreater{} \textless{}{\hyperref[reference_elements:samplinggroupelement]{\emph{/moments}}}\textgreater{}
-      \textless{}{\hyperref[reference_elements:operatorelement]{\emph{operator}}}\textgreater{} ... \textless{}{\hyperref[reference_elements:operatorelement]{\emph{/operator}}}\textgreater{}
-      \textless{}!{[}{\hyperref[reference_elements:xmdscsyntax]{\emph{CDATA}}} {[}
-      {]}{]}\textgreater{}
-    \textless{}{\hyperref[reference_elements:samplinggroupelement]{\emph{/sampling\_group}}}\textgreater{}
+  \PYG{n+nt}{\PYGZlt{}output}\PYG{n+nt}{\PYGZgt{}}
+    \PYG{n+nt}{\PYGZlt{}sampling\PYGZus{}group}\PYG{n+nt}{\PYGZgt{}}
+      \PYG{n+nt}{\PYGZlt{}dependencies}\PYG{n+nt}{\PYGZgt{}} \PYG{n+nt}{\PYGZlt{}/dependencies\PYGZgt{}}
+      \PYG{n+nt}{\PYGZlt{}moments}\PYG{n+nt}{\PYGZgt{}} \PYG{n+nt}{\PYGZlt{}/moments\PYGZgt{}}
+      \PYG{n+nt}{\PYGZlt{}operator}\PYG{n+nt}{\PYGZgt{}} ... \PYG{n+nt}{\PYGZlt{}/operator\PYGZgt{}}
+      \PYG{c+cp}{\PYGZlt{}![CDATA [}
+\PYG{c+cp}{      ]]\PYGZgt{}}
+    \PYG{n+nt}{\PYGZlt{}/sampling\PYGZus{}group\PYGZgt{}}
 
-    \textless{}{\hyperref[reference_elements:samplinggroupelement]{\emph{sampling\_group}}}\textgreater{} ... \textless{}{\hyperref[reference_elements:samplinggroupelement]{\emph{/sampling\_group}}}\textgreater{}
-    \textless{}{\hyperref[reference_elements:samplinggroupelement]{\emph{sampling\_group}}}\textgreater{} ... \textless{}{\hyperref[reference_elements:samplinggroupelement]{\emph{/sampling\_group}}}\textgreater{}
+    \PYG{n+nt}{\PYGZlt{}sampling\PYGZus{}group}\PYG{n+nt}{\PYGZgt{}} ... \PYG{n+nt}{\PYGZlt{}/sampling\PYGZus{}group\PYGZgt{}}
+    \PYG{n+nt}{\PYGZlt{}sampling\PYGZus{}group}\PYG{n+nt}{\PYGZgt{}} ... \PYG{n+nt}{\PYGZlt{}/sampling\PYGZus{}group\PYGZgt{}}
     ...
 
-  \textless{}{\hyperref[reference_elements:outputelement]{\emph{/output}}}\textgreater{}
+  \PYG{n+nt}{\PYGZlt{}/output\PYGZgt{}}
 
-\textless{}{\hyperref[reference_elements:simulationelement]{\emph{/simulation}}}\textgreater{}
-\end{alltt}
+\PYG{n+nt}{\PYGZlt{}/simulation\PYGZgt{}}
+\end{Verbatim}
 
 \index{Reference}\index{XML Elements}\index{Script elements}
 
@@ -2817,7 +2816,7 @@ The ``dft'' transform is performed using the the normal discrete Fourier transfo
 The discrete Fourier transform has no information about the domain of the lattice, so the XMDS2 transform is equivalent to
 \begin{gather}
 \begin{split}\tilde{\mathcal{F}}\left[f(x)\right](k) &= \frac{1}{\sqrt{2\pi}}\int_{x_\text{min}}^{x_\text{max}} f(x) e^{-i k (x+ x_\text{min})} dx \\
-&= e^{-i x_\text{min} k} \mathcal{F}\left[f(x)\right](k)\end{split}\notag
+&= e^{-i x_\text{min} k} \mathcal{F}\left[f(x)\right](k)\end{split}\notag\\\begin{split}\end{split}\notag
 \end{gather}
 The standard usage in an XMDS simulation involves moving to Fourier space, applying a transformation, and then moving back.  For this purpose, the two transformations are entirely equivalent as the extra phase factor cancels.  However, when fields are explicitly defined in Fourier space, care must be taken to include this phase factor explicitly.  See section {\hyperref[advanced_topics:convolutions]{\emph{Convolutions and Fourier transforms}}} in the Advanced Topics section.
 
@@ -2825,9 +2824,9 @@ When a dimension uses the ``dft'' transform, then the Fourier space variable is
 
 Fourier transforms allow easy calculation of derivatives, as the n$^{\text{th}}$ derivative of a field is proportional to the n$^{\text{th}}$ moment of the field in Fourier space:
 \begin{gather}
-\begin{split}\mathcal{F}\left[\frac{\partial^n f(x)}{\partial x^n}\right](k_x) = \left(i \;k_x\right)^n \mathcal{F}\left[f(x)\right](k_x)\end{split}\notag
+\begin{split}\mathcal{F}\left[\frac{\partial^n f(x)}{\partial x^n}\right](k_x) = \left(i \;k_x\right)^n \mathcal{F}\left[f(x)\right](k_x)\end{split}\notag\\\begin{split}\end{split}\notag
 \end{gather}
-This identity can be used to write the differential operator \(\mathcal{L} = \frac{\partial}{\partial x}\) as an \code{IP} or \code{EX} operator as \code{L = i*kx;} (see {\hyperref[reference_elements:operatorselement]{\emph{Operators and operator elements}}} for more details).
+This identity can be used to write the differential operator $\mathcal{L} = \frac{\partial}{\partial x}$ as an \code{IP} or \code{EX} operator as \code{L = i*kx;} (see {\hyperref[reference_elements:operatorselement]{\emph{Operators and operator elements}}} for more details).
 
 Example syntax:
 
@@ -2856,9 +2855,9 @@ XMDS labels the cosine transform space variables the same as for {\hyperref[refe
 
 Discrete cosine transforms allow easy calculation of even-order derivatives, as the 2n$^{\text{th}}$ derivative of a field is proportional to the 2n$^{\text{th}}$ moment of the field in DCT-space:
 \begin{gather}
-\begin{split}\mathcal{F}_\text{DCT}\left[\frac{\partial^{2n} f(x)}{\partial x^{2n}}\right](k_x) = (-k_x^2)^{n}\; \mathcal{F}_\text{DCT}\left[f(x)\right](k_x)\end{split}\notag
+\begin{split}\mathcal{F}_\text{DCT}\left[\frac{\partial^{2n} f(x)}{\partial x^{2n}}\right](k_x) = (-k_x^2)^{n}\; \mathcal{F}_\text{DCT}\left[f(x)\right](k_x)\end{split}\notag\\\begin{split}\end{split}\notag
 \end{gather}
-This identity can be used to write the differential operator \(\mathcal{L} = \frac{\partial^2}{\partial x^2}\) as an \code{IP} or \code{EX} operator as \code{L = -kx*kx;} (see {\hyperref[reference_elements:operatorselement]{\emph{Operators and operator elements}}} for more details).
+This identity can be used to write the differential operator $\mathcal{L} = \frac{\partial^2}{\partial x^2}$ as an \code{IP} or \code{EX} operator as \code{L = -kx*kx;} (see {\hyperref[reference_elements:operatorselement]{\emph{Operators and operator elements}}} for more details).
 
 For problems where you are defining the simulation domain over only half of the physical domain to take advantage of reflection symmetry, consider using \code{volume\_prefactor="2.0"} so that all volume integrals are over the entire physical domain, not just the simulation domain. i.e. integrals would be over -1 to 1 instead of 0 to 1 if the domain was specified as \code{domain="(0,1)"}.
 
@@ -2890,9 +2889,9 @@ XMDS labels the sine transform space variables the same as for {\hyperref[refere
 
 Discrete sine transforms allow easy calculation of even-order derivatives, as the 2n$^{\text{th}}$ derivative of a field is proportional to the 2n$^{\text{th}}$ moment of the field in DST-space:
 \begin{gather}
-\begin{split}\mathcal{F}_\text{DST}\left[\frac{\partial^{2n} f(x)}{\partial x^{2n}}\right](k_x) = (-k_x^2)^{n}\; \mathcal{F}_\text{DST}\left[f(x)\right](k_x)\end{split}\notag
+\begin{split}\mathcal{F}_\text{DST}\left[\frac{\partial^{2n} f(x)}{\partial x^{2n}}\right](k_x) = (-k_x^2)^{n}\; \mathcal{F}_\text{DST}\left[f(x)\right](k_x)\end{split}\notag\\\begin{split}\end{split}\notag
 \end{gather}
-This identity can be used to write the differential operator \(\mathcal{L} = \frac{\partial^2}{\partial x^2}\) as an \code{IP} or \code{EX} operator as \code{L = -kx*kx;} (see {\hyperref[reference_elements:operatorselement]{\emph{Operators and operator elements}}} for more details).
+This identity can be used to write the differential operator $\mathcal{L} = \frac{\partial^2}{\partial x^2}$ as an \code{IP} or \code{EX} operator as \code{L = -kx*kx;} (see {\hyperref[reference_elements:operatorselement]{\emph{Operators and operator elements}}} for more details).
 
 Example syntax:
 
@@ -2911,32 +2910,32 @@ Example syntax:
 
 \subsubsection{The ``bessel'' and ``bessel-neumann'' transforms}
 \label{reference_elements:the-bessel-and-bessel-neumann-transforms}\label{reference_elements:index-39}\label{reference_elements:besseltransform}
-Just as the Fourier basis is useful for finding derivatives in Euclidean geometry, the basis of Bessel functions is useful for finding certain common operators in cylindrical co-ordinates.  In particular, we use the Bessel functions of the first kind, \(J_m(u)\).  The relevant transform is the Hankel transform:
+Just as the Fourier basis is useful for finding derivatives in Euclidean geometry, the basis of Bessel functions is useful for finding certain common operators in cylindrical co-ordinates.  In particular, we use the Bessel functions of the first kind, $J_m(u)$.  The relevant transform is the Hankel transform:
 \begin{gather}
-\begin{split}F_m(k) = \mathcal{H}_m \left[f\right](k) = \int_0^\infty r f(r) J_m(k r) dr\end{split}\notag
+\begin{split}F_m(k) = \mathcal{H}_m \left[f\right](k) = \int_0^\infty r f(r) J_m(k r) dr\end{split}\notag\\\begin{split}\end{split}\notag
 \end{gather}
 which has the inverse transform:
 \begin{gather}
-\begin{split}f(r) = \mathcal{H}^{-1}_m \left[F_m\right](r) = \int_0^\infty k F_m(k) J_m(k r) dk\end{split}\notag
+\begin{split}f(r) = \mathcal{H}^{-1}_m \left[F_m\right](r) = \int_0^\infty k F_m(k) J_m(k r) dk\end{split}\notag\\\begin{split}\end{split}\notag
 \end{gather}
 This transform pair has the useful property that the Laplacian in cylindrical co-ordinates is diagonal in this basis:
 \begin{gather}
-\begin{split}\nabla^2 \left(f(r) e^{i m \theta}\right) &= \left(\frac{\partial^2 f}{\partial r^2} +\frac{1}{r}\frac{\partial f}{\partial r} -\frac{m^2}{r^2} f \right) e^{i m \theta} = \left\{\mathcal{H}^{-1}_m \left[(-k^2) F_m(k)\right](r) \right\} e^{i m \theta}\end{split}\notag
+\begin{split}\nabla^2 \left(f(r) e^{i m \theta}\right) &= \left(\frac{\partial^2 f}{\partial r^2} +\frac{1}{r}\frac{\partial f}{\partial r} -\frac{m^2}{r^2} f \right) e^{i m \theta} = \left\{\mathcal{H}^{-1}_m \left[(-k^2) F_m(k)\right](r) \right\} e^{i m \theta}\end{split}\notag\\\begin{split}\end{split}\notag
 \end{gather}
-XMDS labels the variables in the transformed space with a prefix of `k', just as for {\hyperref[reference_elements:dft-transform]{\emph{Fourier transforms}}}.  The order \(m\) of the transform is defined by the \code{order} attribute in the \code{\textless{}dimension\textgreater{}} element, which must be assigned as a non-negative integer.  If the order is not specified, it defaults to zero which corresponds to the solution being independent of the angular coordinate \(\theta\).
+XMDS labels the variables in the transformed space with a prefix of `k', just as for {\hyperref[reference_elements:dft-transform]{\emph{Fourier transforms}}}.  The order $m$ of the transform is defined by the \code{order} attribute in the \code{\textless{}dimension\textgreater{}} element, which must be assigned as a non-negative integer.  If the order is not specified, it defaults to zero which corresponds to the solution being independent of the angular coordinate $\theta$.
 
 \index{Boundary conditions (Bessel)}\index{Boundary conditions}
-The difference between the ``bessel'' and ``bessel-neumann'' transforms is that the ``bessel'' transform enforces Dirichlet boundary conditions at the edge of the computational domain (\(f(R) = 0\)), while ``bessel-neumann'' enforces Neumann boundary conditions (\(\left.\frac{\partial}{\partial r}f(r) \right|_{r=R} = 0\)).
+The difference between the ``bessel'' and ``bessel-neumann'' transforms is that the ``bessel'' transform enforces Dirichlet boundary conditions at the edge of the computational domain ($f(R) = 0$), while ``bessel-neumann'' enforces Neumann boundary conditions ($\left.\frac{\partial}{\partial r}f(r) \right|_{r=R} = 0$).
 
 It can often be useful to have a different sampling in normal space and Hankel space.  Reducing the number of modes in either space dramatically speeds simulations.  To set the number of lattice points in Hankel space to be different to the number of lattice points for the field in its original space, use the attribute \code{spectral\_lattice}.  The Bessel space lattice is chosen such that the boundary condition at the edge of the domain is zero.  This ensures that all of the Bessel mode [...]
 
 Hankel transforms allow easy calculation of the Laplacian of fields with cylindrical symmetry.  Applying the operator \code{L = -kr*kr} in Hankel space is therefore equivalent to applying the operator
 \begin{gather}
-\begin{split}\mathcal{L} = \left(\frac{\partial^2}{\partial r^2} +\frac{1}{r}\frac{\partial}{\partial r} -\frac{m^2}{r^2} \right)\end{split}\notag
+\begin{split}\mathcal{L} = \left(\frac{\partial^2}{\partial r^2} +\frac{1}{r}\frac{\partial}{\partial r} -\frac{m^2}{r^2} \right)\end{split}\notag\\\begin{split}\end{split}\notag
 \end{gather}
 in coordinate space.
 
-In non-Euclidean co-ordinates, integrals have non-unit volume elements.  For example, in cylindrical co-ordinates with a radial co-ordinate `r', integrals over this dimension have a volume element \(r dr\).  When performing integrals along a dimension specified by the ``bessel'' transform, the factor of the radius is included implicitly.  If you are using a geometry with some symmetry, it is common to have prefactors in your integration.  For example, for a two-dimensional volume in cyli [...]
+In non-Euclidean co-ordinates, integrals have non-unit volume elements.  For example, in cylindrical co-ordinates with a radial co-ordinate `r', integrals over this dimension have a volume element $r dr$.  When performing integrals along a dimension specified by the ``bessel'' transform, the factor of the radius is included implicitly.  If you are using a geometry with some symmetry, it is common to have prefactors in your integration.  For example, for a two-dimensional volume in cylind [...]
 
 Example syntax:
 
@@ -2955,23 +2954,23 @@ Example syntax:
 
 \subsubsection{The ``spherical-bessel'' transform}
 \label{reference_elements:the-spherical-bessel-transform}\label{reference_elements:index-41}\label{reference_elements:spherical-bessel-transform}
-When working in spherical coordinates, it is often useful to use the spherical Bessel functions \(j_l(x)=\sqrt{\frac{\pi}{2x}}J_{l+\frac{1}{2}}(x)\) as a basis.  These are eigenfunctions of the radial component of Laplace's equation in spherical coordinates:
+When working in spherical coordinates, it is often useful to use the spherical Bessel functions $j_l(x)=\sqrt{\frac{\pi}{2x}}J_{l+\frac{1}{2}}(x)$ as a basis.  These are eigenfunctions of the radial component of Laplace's equation in spherical coordinates:
 \begin{gather}
-\begin{split}\nabla^2 \left[j_l(k r)\; Y^m_l(\theta, \phi)\right] &= \left[\frac{\partial^2 }{\partial r^2} +\frac{2}{r}\frac{\partial }{\partial r} -\frac{l(l+1)}{r^2}\right] j_l(k r) \; Y^m_l(\theta, \phi) = -k^2 j_l(k r)\; Y^m_l(\theta, \phi)\end{split}\notag
+\begin{split}\nabla^2 \left[j_l(k r)\; Y^m_l(\theta, \phi)\right] &= \left[\frac{\partial^2 }{\partial r^2} +\frac{2}{r}\frac{\partial }{\partial r} -\frac{l(l+1)}{r^2}\right] j_l(k r) \; Y^m_l(\theta, \phi) = -k^2 j_l(k r)\; Y^m_l(\theta, \phi)\end{split}\notag\\\begin{split}\end{split}\notag
 \end{gather}
-Just as the Bessel basis above, the transformed dimensions are prefixed with a `k', and it is possible (and usually wise) to use the \code{spectral\_lattice} attribute to specify a different lattice size in the transformed space.  Also, the spacing of these lattices are again chosen in a non-uniform manner to Gaussian quadrature methods for spectrally accurate transforms.  Finally, the \code{order} attribute can be used to specify the order \(l\) of the spherical Bessel functions used.
+Just as the Bessel basis above, the transformed dimensions are prefixed with a `k', and it is possible (and usually wise) to use the \code{spectral\_lattice} attribute to specify a different lattice size in the transformed space.  Also, the spacing of these lattices are again chosen in a non-uniform manner to Gaussian quadrature methods for spectrally accurate transforms.  Finally, the \code{order} attribute can be used to specify the order $l$ of the spherical Bessel functions used.
 
-If we denote the transformation to and from this basis by \(\mathcal{SH}\), then we can write the useful property:
+If we denote the transformation to and from this basis by $\mathcal{SH}$, then we can write the useful property:
 \begin{gather}
-\begin{split}\frac{\partial^2 f}{\partial r^2} +\frac{2}{r}\frac{\partial f}{\partial r} -\frac{l (l+1)}{r^2} = \mathcal{SH}^{-1}_l \left[(-k^2) F_l(k)\right](r)\end{split}\notag
+\begin{split}\frac{\partial^2 f}{\partial r^2} +\frac{2}{r}\frac{\partial f}{\partial r} -\frac{l (l+1)}{r^2} = \mathcal{SH}^{-1}_l \left[(-k^2) F_l(k)\right](r)\end{split}\notag\\\begin{split}\end{split}\notag
 \end{gather}
 Spherical Bessel transforms allow easy calculation of the Laplacian of fields with spherical symmetry. Applying the operator \code{L = -kr*kr} in Spherical Bessel space is therefore equivalent to applying the operator
 \begin{gather}
-\begin{split}\mathcal{L} = \left( \frac{\partial^2}{\partial r^2} +\frac{2}{r}\frac{\partial}{\partial r} -\frac{l (l+1)}{r^2} \right)\end{split}\notag
+\begin{split}\mathcal{L} = \left( \frac{\partial^2}{\partial r^2} +\frac{2}{r}\frac{\partial}{\partial r} -\frac{l (l+1)}{r^2} \right)\end{split}\notag\\\begin{split}\end{split}\notag
 \end{gather}
 in coordinate space.
 
-In non-Euclidean co-ordinates, integrals have non-unit volume elements.  For example, in spherical co-ordinates with a radial co-ordinate `r', integrals over this dimension have a volume element \(r^2 dr\).  When performing integrals along a dimension specified by the ``spherical-bessel'' transform, the factor of the square of the radius is included implicitly.  If you are using a geometry with some symmetry, it is common to have prefactors in your integration.  For example, for a three- [...]
+In non-Euclidean co-ordinates, integrals have non-unit volume elements.  For example, in spherical co-ordinates with a radial co-ordinate `r', integrals over this dimension have a volume element $r^2 dr$.  When performing integrals along a dimension specified by the ``spherical-bessel'' transform, the factor of the square of the radius is included implicitly.  If you are using a geometry with some symmetry, it is common to have prefactors in your integration.  For example, for a three-di [...]
 
 Example syntax:
 
@@ -2990,30 +2989,30 @@ Example syntax:
 
 \subsubsection{The ``hermite-gauss'' transform}
 \label{reference_elements:hermite-gauss-transform}\label{reference_elements:the-hermite-gauss-transform}\label{reference_elements:index-42}
-The ``hermite-gauss'' transform allows transformations to and from the basis of Hermite functions \(\psi_n(x)\):
+The ``hermite-gauss'' transform allows transformations to and from the basis of Hermite functions $\psi_n(x)$:
 \begin{gather}
-\begin{split}\psi_n(x) = \left(2^n n! \sigma \sqrt{\pi}\right)^{-1/2} e^{-x^2/2\sigma^2} H_n(\sigma x)\end{split}\notag
+\begin{split}\psi_n(x) = \left(2^n n! \sigma \sqrt{\pi}\right)^{-1/2} e^{-x^2/2\sigma^2} H_n(\sigma x)\end{split}\notag\\\begin{split}\end{split}\notag
 \end{gather}
-where the functions \(H_n(x)\) are the Hermite polynomials:
+where the functions $H_n(x)$ are the Hermite polynomials:
 \begin{gather}
-\begin{split}H_n(x) &= (-1)^n e^{x^2} \frac{d^n}{dx^n} \left(e^{-x^2}\right)\end{split}\notag
+\begin{split}H_n(x) &= (-1)^n e^{x^2} \frac{d^n}{dx^n} \left(e^{-x^2}\right)\end{split}\notag\\\begin{split}\end{split}\notag
 \end{gather}
 which are eigenfunctions of the Schroedinger equation for a harmonic oscillator:
 \begin{gather}
-\begin{split}- \frac{\hbar^2}{2 m} \frac{\partial^2 \psi_n}{\partial x^2} + \frac{1}{2} m \omega^2 x^2 \psi_n(x) = \hbar \omega\left(n+\frac{1}{2}\right) \psi_n(x),\end{split}\notag
+\begin{split}- \frac{\hbar^2}{2 m} \frac{\partial^2 \psi_n}{\partial x^2} + \frac{1}{2} m \omega^2 x^2 \psi_n(x) = \hbar \omega\left(n+\frac{1}{2}\right) \psi_n(x),\end{split}\notag\\\begin{split}\end{split}\notag
 \end{gather}
-with \(\sigma = \sqrt{\frac{\hbar}{m \omega}}\).
+with $\sigma = \sqrt{\frac{\hbar}{m \omega}}$.
 
 \index{XML element attributes!length\_scale}
-This transform is different to the others in that it requires a \code{length\_scale} attribute rather than a \code{domain} attribute, as the range of the lattice will depend on the number of basis functions used. The \code{length\_scale} attribute defines the scale of the domain as the standard deviation \(\sigma\) of the lowest order Hermite function \(\psi_0(x)\):
+This transform is different to the others in that it requires a \code{length\_scale} attribute rather than a \code{domain} attribute, as the range of the lattice will depend on the number of basis functions used. The \code{length\_scale} attribute defines the scale of the domain as the standard deviation $\sigma$ of the lowest order Hermite function $\psi_0(x)$:
 \begin{gather}
-\begin{split}\psi_0(x) = (\sigma^2 \pi)^{-1/4} e^{-x^2/2 \sigma^2}\end{split}\notag
+\begin{split}\psi_0(x) = (\sigma^2 \pi)^{-1/4} e^{-x^2/2 \sigma^2}\end{split}\notag\\\begin{split}\end{split}\notag
 \end{gather}
 When a dimension uses the ``hermite-gauss'' transform, then the variable indexing the basis functions is defined as the name of the dimension prefixed with an ``n''.  For example, when referencing the basis function indices for the dimensions ``x'', ``y'', ``z'' and ``tau'', use the variable ``nx'', ``ny'', ``nz'' and ``ntau''.
 
 Applying the operator \code{L = nx + 0.5} in Hermite space is therefore equivalent to applying the operator
 \begin{gather}
-\begin{split}\mathcal{L} = \left(- \frac{\sigma^2}{2}\frac{\partial^2}{\partial x^2} + \frac{1}{2 \sigma^2} x^2 \right)\end{split}\notag
+\begin{split}\mathcal{L} = \left(- \frac{\sigma^2}{2}\frac{\partial^2}{\partial x^2} + \frac{1}{2 \sigma^2} x^2 \right)\end{split}\notag\\\begin{split}\end{split}\notag
 \end{gather}
 in coordinate space.
 
@@ -3276,7 +3275,7 @@ Example syntax:
 
 \subsubsection{Gaussian noise}
 \label{reference_elements:gaussiannoise}\label{reference_elements:gaussian-noise}\label{reference_elements:index-60}
-Noise generated with the ``gaussian'' method is gaussian distributed with zero mean.  For a real-valued noise vector, the variance at each point is the inverse of the volume element of the transverse dimensions in the vector.  This volume element for a single transverse dimension is that used to perform integrals over that dimension.  For example, it would include a factor of \(r^2\) for a dimension ``r'' defined with a \code{spherical-bessel} transform.  It can be non-uniform for dimens [...]
+Noise generated with the ``gaussian'' method is gaussian distributed with zero mean.  For a real-valued noise vector, the variance at each point is the inverse of the volume element of the transverse dimensions in the vector.  This volume element for a single transverse dimension is that used to perform integrals over that dimension.  For example, it would include a factor of $r^2$ for a dimension ``r'' defined with a \code{spherical-bessel} transform.  It can be non-uniform for dimensio [...]
 
 This lattice-dependent variance is typical in most applications of partial differential equations with stochastic initial conditions, as the physical quantity is the variance of the field over some finite volume, which does not change if the variance at each lattice site varies as described above.
 
@@ -3534,7 +3533,7 @@ Example syntax:
 \label{reference_elements:algorithms}\label{reference_elements:id8}
 The stability, efficiency and even convergence of a numerical integration can depend on the method.  Due to the varying properties of different sets of equations, it is impossible to define the best method for all equations, so XMDS provides an option to use different algorithms.  These include fixed step algorithms, which divide the integration region into equal steps, and adaptive stepsize algorithms, which attempt to estimate the error in the simulation in order to choose an appropria [...]
 
-For the purposes of the descriptions below, we will assume that we are considering the following set of coupled differential equations for the vector of variables \(\mathbf{x}(t)\):
+For the purposes of the descriptions below, we will assume that we are considering the following set of coupled differential equations for the vector of variables $\mathbf{x}(t)$:
 \begin{gather}
 \begin{split}\frac{d x_j}{dt} = f_j(\mathbf{x}(t),t)\end{split}\notag
 \end{gather}
@@ -3739,20 +3738,20 @@ The step size of a dimension is \code{dx}, and if it is constant, also available
 \label{bulirschStoer:modified-midpoint-method}\label{bulirschStoer:index-0}\label{bulirschStoer::doc}\label{bulirschStoer:mmdetail}
 Although the modified midpoint can be used standalone as an ordinary differential equation integrator, it is regarded as much more powerful when used as a stepper to complement the Bulirsch-Stoer technique.
 
-The modified midpoint method advances a vector of dependent variables \(y(x)\) from a point \(x\), to a point \(x + H\) by a sequence of \(n\) substeps, each of size \(h=H/n\).
+The modified midpoint method advances a vector of dependent variables $y(x)$ from a point $x$, to a point $x + H$ by a sequence of $n$ substeps, each of size $h=H/n$.
 
-The number of right-hand side evaluations required by the modified midpoint method is \(n+1\).  The formulas for the method are
+The number of right-hand side evaluations required by the modified midpoint method is $n+1$.  The formulas for the method are
 \begin{gather}
 \begin{split}z_0 &= y(x) \\
 z_1 &= z_0 + h f(x, z_0) \\
 z_{m+1} &= z_{m-1} + 2 h f(x + m h, z_m)\; \text{ for } m = 1, 2, \dots, n-1 \\
-y(x+H) \approx y_n &= \frac{1}{2} \left[ z_n + z_{n-1} + h f(x + H, z_n) \right]\end{split}\notag
+y(x+H) \approx y_n &= \frac{1}{2} \left[ z_n + z_{n-1} + h f(x + H, z_n) \right]\end{split}\notag\\\begin{split}\end{split}\notag
 \end{gather}
-The error of this, expressed as a power series in \(h\), the stepsize, contains only even powers of \(h\):
+The error of this, expressed as a power series in $h$, the stepsize, contains only even powers of $h$:
 \begin{gather}
-\begin{split}y_n - y(x + H) &= \sum_{i=1}^{\infty} \alpha_i h^{2i}\end{split}\notag
+\begin{split}y_n - y(x + H) &= \sum_{i=1}^{\infty} \alpha_i h^{2i}\end{split}\notag\\\begin{split}\end{split}\notag
 \end{gather}
-where \(H\) is held constant, but \(h\) changes \(y\) by varing the \(n\) in \(h = H/n\).
+where $H$ is held constant, but $h$ changes $y$ by varing the $n$ in $h = H/n$.
 
 The importance of this even power series is that using Richardson Extrapolation to combine steps and knock out higher-order error terms gains us two orders at a time.
 
@@ -3768,13 +3767,13 @@ First, the usage of Richardson Extrapolation.
 
 {\hfill\includegraphics{richardsonExtrapolation.png}\hfill}
 
-Richardson Extrapolation considers the final answer of a numerical calculation as being an analytic function of an adjustable parameter such as the stepsize \(h\). That analytic function can be probed by performing the calculation with various values of \(h\), none of them being necessarily small enough to yield the accuracy that we desire. When we know enough about the function, we fit it to some analytic form and then evaluate it at the point where \(h = 0\).
+Richardson Extrapolation considers the final answer of a numerical calculation as being an analytic function of an adjustable parameter such as the stepsize $h$. That analytic function can be probed by performing the calculation with various values of $h$, none of them being necessarily small enough to yield the accuracy that we desire. When we know enough about the function, we fit it to some analytic form and then evaluate it at the point where $h = 0$.
 
-Secondly, the usage of rational function extrapolation in Richardson-type applications. Rational function fits can remain good approximations to analytic functions even after the various terms in powers of \(h\), all have comparable magnitudes. In other words, \(h\) can be so large as to make the whole notion of the “order” of the method meaningless — and the method can still work superbly.
+Secondly, the usage of rational function extrapolation in Richardson-type applications. Rational function fits can remain good approximations to analytic functions even after the various terms in powers of $h$, all have comparable magnitudes. In other words, $h$ can be so large as to make the whole notion of the “order” of the method meaningless — and the method can still work superbly.
 
-The third idea is to use an integration method whose error function is strictly even, allowing the rational function or polynomial approximation to be in terms of the variable \(h^2\) instead of just \(h\).
+The third idea is to use an integration method whose error function is strictly even, allowing the rational function or polynomial approximation to be in terms of the variable $h^2$ instead of just $h$.
 
-These three ideas give us the Bulirsch-Stoer method, where a single step takes us from \(x\) to \(x + H\), where \(H\) is supposed to be a significantly large distance. That single step consists of many substeps of the modified midpoint method, which is then extrapolated to zero stepsize.
+These three ideas give us the Bulirsch-Stoer method, where a single step takes us from $x$ to $x + H$, where $H$ is supposed to be a significantly large distance. That single step consists of many substeps of the modified midpoint method, which is then extrapolated to zero stepsize.
 
 (Excerpts derived from \textbf{Numerical Recipes: The Art of Scientific Computing}, Third Edition (2007), p1256; Cambridge University Press; ISBN-10: 0521880688, \href{http://www.nr.com/}{http://www.nr.com/})
 
@@ -3806,7 +3805,7 @@ There are many cases where it is advantageous to import previously acquired data
 
 Suppose we want to import the following function into XMDS2:
 \begin{gather}
-\begin{split}f(x) = x^2.\end{split}\notag
+\begin{split}f(x) = x^2.\end{split}\notag\\\begin{split}\end{split}\notag
 \end{gather}
 The first step is to create an hdf5 file, from XMDS2, which specifies the dimensions of the grid for the x dimension. Create and save a new XMDS2 file. For the purposes of this tutorial we shall call it ``grid\_specifier.xmds'' with name ``grid\_specifier''. Within this file, enter the following ``dummy'' vector - which we shall call ``gen\_dummy'' - which depends on the x dimension:
 
@@ -3821,7 +3820,7 @@ The first step is to create an hdf5 file, from XMDS2, which specifies the dimens
 \PYG{n+nt}{\PYGZlt{}/vector\PYGZgt{}}
 \end{Verbatim}
 
-What ``dummy'' is is not actually important. It is only necessary that it is a function of \(x\). However, it is important that the domain and lattice for the \(x\) dimension are identical to those in the XMDS2 you plan to import the function into. We output the following xsil file (in hdf5 format) by placing a breakpoint in the sequence block as follows:
+What ``dummy'' is is not actually important. It is only necessary that it is a function of $x$. However, it is important that the domain and lattice for the $x$ dimension are identical to those in the XMDS2 you plan to import the function into. We output the following xsil file (in hdf5 format) by placing a breakpoint in the sequence block as follows:
 
 \begin{Verbatim}[commandchars=\\\{\}]
 \PYG{n+nt}{\PYGZlt{}sequence}\PYG{n+nt}{\PYGZgt{}}
@@ -3832,7 +3831,7 @@ What ``dummy'' is is not actually important. It is only necessary that it is a f
   \PYG{n+nt}{\PYGZlt{}/breakpoint\PYGZgt{}}
 \end{Verbatim}
 
-In terminal, compile the file ``grid\_specifier.xmds'' in XMDS2 and run the C code as usual. This creates two files - ``grid.xsil'' and ``grid.h5''. The file ``grid.h5'' contains the list of points which make up the grids for the x dimensions. This data can now be used to ensure that the function \(f(x)\) which we will import into XMDS2 is compatible with the the specified grid in your primary XMDS2 file.
+In terminal, compile the file ``grid\_specifier.xmds'' in XMDS2 and run the C code as usual. This creates two files - ``grid.xsil'' and ``grid.h5''. The file ``grid.h5'' contains the list of points which make up the grids for the x dimensions. This data can now be used to ensure that the function $f(x)$ which we will import into XMDS2 is compatible with the the specified grid in your primary XMDS2 file.
 
 In order to read the ``grid.h5'' data into Mathematica version 6.0, type the following command into terminal:.. code-block:
 
@@ -3840,7 +3839,7 @@ In order to read the ``grid.h5'' data into Mathematica version 6.0, type the fol
 xsil2graphics2 \PYGZhy{}e grid.xsil
 \end{Verbatim}
 
-This creates the Mathematica notebook ``grid.nb''. Open this notebook in Mathematica and evaluate the first set of cells. This has loaded the grid information into Mathematica. For example, suppose you have specified that the \(x\) dimension has a lattice of 128 points and a domain of (-32, 32). Then calling ``x1'' in Mathematica should return the following list:
+This creates the Mathematica notebook ``grid.nb''. Open this notebook in Mathematica and evaluate the first set of cells. This has loaded the grid information into Mathematica. For example, suppose you have specified that the $x$ dimension has a lattice of 128 points and a domain of (-32, 32). Then calling ``x1'' in Mathematica should return the following list:
 
 \begin{Verbatim}[commandchars=\\\{\}]
 \PYGZob{}\PYGZhy{}32., \PYGZhy{}31.5, \PYGZhy{}31., \PYGZhy{}30.5, \PYGZhy{}30., \PYGZhy{}29.5, \PYGZhy{}29., \PYGZhy{}28.5, \PYGZhy{}28., \PYGZhy{}27.5,
@@ -3859,13 +3858,13 @@ This creates the Mathematica notebook ``grid.nb''. Open this notebook in Mathema
 
 This is, of course, the list of points which define our grid.
 
-We are now in a position to define the function \(f(x)\) in Mathematica. Type the following command into a cell in the Mathematica notebook ``grid.nb'':
+We are now in a position to define the function $f(x)$ in Mathematica. Type the following command into a cell in the Mathematica notebook ``grid.nb'':
 
 \begin{Verbatim}[commandchars=\\\{\}]
 f[x\PYGZus{}]:= x\PYGZca{}2
 \end{Verbatim}
 
-At this stage this is an abstract mathematical function as defined in Mathematica. What we need is a list of values for \(f(x)\) corresponding to the specified grid points. We will call this list ``func''. This achieved by simply acting the function on the list of grid points ``x1'':
+At this stage this is an abstract mathematical function as defined in Mathematica. What we need is a list of values for $f(x)$ corresponding to the specified grid points. We will call this list ``func''. This achieved by simply acting the function on the list of grid points ``x1'':
 
 \begin{Verbatim}[commandchars=\\\{\}]
 func := f[x1]
@@ -3909,11 +3908,11 @@ The final step is to import the file ``func.h5'' into your primary XMDS2 file. T
 \PYG{n+nt}{\PYGZlt{}/vector\PYGZgt{}}
 \end{Verbatim}
 
-You're now done. Anytime you want to use \(f(x)\) you can simply refer to ``function\_x'' in the vector ``gen\_function\_x''.
+You're now done. Anytime you want to use $f(x)$ you can simply refer to ``function\_x'' in the vector ``gen\_function\_x''.
 
 The situation is slightly more complicated if the function you wish to import depends on more than one dimension. For example, consider
 \begin{gather}
-\begin{split}g(x,y) = x \sin(y)\end{split}\notag
+\begin{split}g(x,y) = x \sin(y)\end{split}\notag\\\begin{split}\end{split}\notag
 \end{gather}
 As for the single dimensional case, we need to export an hdf5 file from XMDS2 which specifies the dimensions of the grid. As in the one dimensional case, this is done by creating a dummy vector which depends on all the relevant dimensions:
 
@@ -3955,7 +3954,7 @@ and imported into XMDS2 as outlined above.
 
 \section{Convolutions and Fourier transforms}
 \label{advanced_topics:convolutions-and-fourier-transforms}\label{advanced_topics:convolutions}\label{advanced_topics:index-2}
-When evaluating a numerical Fourier transform, XMDS2 doesn't behave as expected. While many simulations have ranges in their spatial coordinate (here assumed to be x) that range from some negative value \(x_\text{min}\) to some positive value \(x_\text{max}\), the Fourier transform used in XMDS2 treats all spatial coordinates as starting at zero. The result of this is that a phase factor of the form \(e^{-i x_\text{min} k}\) is applied to the Fourier space functions after all forward (fr [...]
+When evaluating a numerical Fourier transform, XMDS2 doesn't behave as expected. While many simulations have ranges in their spatial coordinate (here assumed to be x) that range from some negative value $x_\text{min}$ to some positive value $x_\text{max}$, the Fourier transform used in XMDS2 treats all spatial coordinates as starting at zero. The result of this is that a phase factor of the form $e^{-i x_\text{min} k}$ is applied to the Fourier space functions after all forward (from rea [...]
 
 The standard Fourier transform is
 \begin{gather}
@@ -3964,7 +3963,7 @@ The standard Fourier transform is
 The XMDS2 Fourier transform is
 \begin{gather}
 \begin{split}\tilde{\mathcal{F}}\left[f(x)\right](k) &= \frac{1}{\sqrt{2\pi}}\int_{x_\text{min}}^{x_\text{max}} f(x) e^{-i (x+ x_\text{min}) k} dx \\
-&= e^{-i x_\text{min} k} \mathcal{F}\left[f(x)\right](k)\end{split}\notag
+&= e^{-i x_\text{min} k} \mathcal{F}\left[f(x)\right](k)\end{split}\notag\\\begin{split}\end{split}\notag
 \end{gather}
 When the number of forward Fourier transforms and backwards Fourier transforms are unequal a phase factor is required. Some examples of using Fourier transforms in XMDS2 are shown below.
 
@@ -3982,11 +3981,11 @@ When data is input in Fourier space and output in real space there is one backwa
 \label{advanced_topics:example-2}
 {\hfill\includegraphics{FourierTransformEx2.pdf}\hfill}
 
-Functions of the form \(h(x) = \int f(x') g(x-x') dx'\) can be evaluated using the convolution theorem:
+Functions of the form $h(x) = \int f(x') g(x-x') dx'$ can be evaluated using the convolution theorem:
 \begin{gather}
 \begin{split}\mathcal{F}[h(x)](k) = \mathcal{F}[f(x)](k) \times \mathcal{F}[g(x)](k)\end{split}\notag
 \end{gather}
-This requires two forward Fourier transforms to get the two functions f and g into Fourier space, and one backwards Fourier transform to get the resulting product back into real space. Thus in Fourier space the product needs to be multiplied by a phase factor \(e^{-i x_\text{min} k}\)
+This requires two forward Fourier transforms to get the two functions f and g into Fourier space, and one backwards Fourier transform to get the resulting product back into real space. Thus in Fourier space the product needs to be multiplied by a phase factor $e^{-i x_\text{min} k}$
 
 
 \subsection{Example 3}
@@ -4007,7 +4006,7 @@ Dimension aliases specify that two or more dimensions have exactly the same \cod
 
 Dimension aliases are not just a short-hand for defining an additional dimension, they also permit dimensions to be accessed {\hyperref[reference_elements:referencingnonlocal]{\emph{non-locally}}}, which is essential when computing spatial correlation functions.
 
-Here is how to compute a spatial correlation function \(g^{(1)}(x, x') = \psi^*(x) \psi(x')\) of the quantity \code{psi}:
+Here is how to compute a spatial correlation function $g^{(1)}(x, x') = \psi^*(x) \psi(x')$ of the quantity \code{psi}:
 
 \begin{Verbatim}[commandchars=\\\{\}]
 \PYG{n+nt}{\PYGZlt{}simulation} \PYG{n+na}{xmds\PYGZhy{}version=}\PYG{l+s}{\PYGZdq{}2\PYGZdq{}}\PYG{n+nt}{\PYGZgt{}}
@@ -4101,7 +4100,7 @@ Also note that for some multi-dimensional spaces using different transforms, XMD
 \label{faq:index-5}\label{faq:when-can-i-use-ip-operators-and-why-should-i-and-when-must-i-use-ex-operators}
 An {\hyperref[reference_elements:operatornameselement]{\emph{\textless{}operator\textgreater{}}}} that specifies named operators to be used in integration equations can have the \code{kind="IP"} or \code{kind="EX"} attribute, standing for `interaction picture' and `explicit' operators respectively.  Explicit operators can be used in all situations, and simply construct and calculate a new vector of the form in the square brackets.  IP operators use less memory and can improve speed by al [...]
 
-Some explanation is in order.  The IP algorithm applies the operator separately to the rest of the evolution.  The reason this can be so effective is that the separate evolution can be performed exactly.  The solution of the equation \(\frac{d \psi}{dt} = L \psi\) is \(\psi(t+\Delta t) = exp(L \Delta t) \psi(t)\) for arbitrarily large timestep \(\Delta t\).  For a diagonal linear \code{L}, the matrix exponential is straightforward.  Also, when it is constant, then the exponential can be  [...]
+Some explanation is in order.  The IP algorithm applies the operator separately to the rest of the evolution.  The reason this can be so effective is that the separate evolution can be performed exactly.  The solution of the equation $\frac{d \psi}{dt} = L \psi$ is $\psi(t+\Delta t) = exp(L \Delta t) \psi(t)$ for arbitrarily large timestep $\Delta t$.  For a diagonal linear \code{L}, the matrix exponential is straightforward.  Also, when it is constant, then the exponential can be comput [...]
 
 Therefore, the limitations of IP operators themselves means that they can only be applied to to named components of one of the integration vectors, and not functions of those components.  Furthermore, an IP operator acting on a component must only be used in the derivative for that particular component.  Secondly, due to the implementation of IP operators in XMDS2, it is not safe to use them in comments, or in conjunction with declared variables.  It is also not safe to multiply or divid [...]
 
@@ -4140,7 +4139,7 @@ Dimensions using matrix transforms should be first for performance reasons.  Unl
 
 \section{Reduce code complexity}
 \label{optimisation_hints:reduce-code-complexity}
-Avoid transcendental functions like \(\sin(x)\) or \(\exp(x)\) in inner loops. Not all operations are made equal, use multiplication over division.
+Avoid transcendental functions like $\sin(x)$ or $\exp(x)$ in inner loops. Not all operations are made equal, use multiplication over division.
 
 
 \subsection{Optimising with the Interaction Picture (IP) operator}
@@ -4148,7 +4147,7 @@ Avoid transcendental functions like \(\sin(x)\) or \(\exp(x)\) in inner loops. N
 You should use the IP operator when you can. Only use the EX operator when you have to. If you must use the EX operator, consider making it \code{constant="no"}. It uses less memory.
 When you use the IP operator, make sure you know what it's doing.  Do not pre- or post-multiply that term in your equations, XMDS will do a fairly thorough check to see you aren't using the IP operator improperly, but it is possible to confuse XMDS's check.
 
-If your simulation uses two or more dimensions, check to see if your IP operator is separable, i.e. can be written in the form \(f(kx) + g(ky)\) (this is frequently possible in atom-optics simulations). If your IP operator is separable, create separate IP operators for each dimension.  This provides a significant speedup (\textasciitilde{}30\%) for simulations using an adaptive integrator.  For example, instead of using the IP operator:
+If your simulation uses two or more dimensions, check to see if your IP operator is separable, i.e. can be written in the form $f(kx) + g(ky)$ (this is frequently possible in atom-optics simulations). If your IP operator is separable, create separate IP operators for each dimension.  This provides a significant speedup (\textasciitilde{}30\%) for simulations using an adaptive integrator.  For example, instead of using the IP operator:
 
 \begin{Verbatim}[commandchars=\\\{\}]
 \PYG{n+nt}{\PYGZlt{}operator} \PYG{n+na}{kind=}\PYG{l+s}{\PYGZdq{}ip\PYGZdq{}}\PYG{n+nt}{\PYGZgt{}}
@@ -4190,12 +4189,12 @@ When using the IP operator, check if your operator is purely real or purely imag
 Evolution equations do not need to be written in the position basis.  If your equations are diagonal in the spectral basis, then it makes more sense to compute the time derivative terms in that basis.  For example, if you have the system
 \begin{gather}
 \begin{split}\frac{d\psi_1(x)}{dt} &= i \frac{\hbar}{2M} \frac{d^2\psi_1(x)}{dx^2} - i \Omega \psi_2(x)\\
-\frac{d\psi_2(x)}{dt} &= i \frac{\hbar}{2M} \frac{d^2\psi_2(x)}{dx^2} - i \Omega \psi_1(x)\end{split}\notag
+\frac{d\psi_2(x)}{dt} &= i \frac{\hbar}{2M} \frac{d^2\psi_2(x)}{dx^2} - i \Omega \psi_1(x)\end{split}\notag\\\begin{split}\end{split}\notag
 \end{gather}
 then this is diagonal in the Fourier basis where it takes the form
 \begin{gather}
 \begin{split}\frac{d\psi_1(k_x)}{dt} &= -i \frac{\hbar k_x^2}{2M} \psi_1(k_x) - i \Omega \psi_2(k_x)\\
-\frac{d\psi_2(k_x)}{dt} &= -i \frac{\hbar k_x^2}{2M} \psi_2(k_x) - i \Omega \psi_1(k_x)\end{split}\notag
+\frac{d\psi_2(k_x)}{dt} &= -i \frac{\hbar k_x^2}{2M} \psi_2(k_x) - i \Omega \psi_1(k_x)\end{split}\notag\\\begin{split}\end{split}\notag
 \end{gather}
 The first term in each evolution equation can be solved exactly with an IP operator, and the second term is diagonal in Fourier space.  This can be written in XMDS as:
 
@@ -4219,7 +4218,7 @@ The first term in each evolution equation can be solved exactly with an IP opera
 
 Although the \code{dpsi0\_dt} code reads the same in position and Fourier space, it is the \code{basis=kx} attribute on \code{\textless{}integration\_vectors\textgreater{}} that causes the evolution code to be executed in Fourier space.
 
-A final optimisation is to cause the integration code itself to operate in Fourier space.  By default, all time stepping (i.e. \(f(t + \Delta t) = f(t) + f'(t) \Delta t\) for forward-Euler integration) occurs in the position space.  As the derivative terms can be computed in Fourier space, it is faster to also to the time stepping in Fourier space too.  This then means that no Fourier transforms will be needed at all during this integrate block (except as needed by sampling).  To cause t [...]
+A final optimisation is to cause the integration code itself to operate in Fourier space.  By default, all time stepping (i.e. $f(t + \Delta t) = f(t) + f'(t) \Delta t$ for forward-Euler integration) occurs in the position space.  As the derivative terms can be computed in Fourier space, it is faster to also to the time stepping in Fourier space too.  This then means that no Fourier transforms will be needed at all during this integrate block (except as needed by sampling).  To cause tim [...]
 
 The fully optimised code then reads:
 
@@ -4288,7 +4287,7 @@ ls libatlas*.deb
 Then, for each of the .deb packages listed by the ls command, install via:
 
 \begin{Verbatim}[commandchars=\\\{\}]
-sudo dpkg \PYGZhy{}i \PYGZlt{}filename here\PYGZgt{}.deb
+sudo dpkg -i \textless{}filename here\textgreater{}.deb
 \end{Verbatim}
 
 This procedure was tested on Ubuntu 12.04 LTS, but an identical or very similar procedure should work for other Ubuntu/Debian versions.
@@ -4360,7 +4359,7 @@ Note that the groundstate-finder doesn't need to have all of the components that
 
 \subsection{Use an energy or momentum offset}
 \label{optimisation_hints:use-an-energy-or-momentum-offset}
-This is just the interaction picture with a constant term in the Hamiltonian. If your state is going to rotate like \(e^{i(\omega + \delta\omega)t}\), then transform your equations to remove the \(e^{i \omega t}\) term. Likewise for spatial rotations, if one mode will be moving on average with momentum \(\hbar k\), then transform your equations to remove that term. This way, you may be able to reduce the density of points you need in that dimension. Warning: don't forget to consider this [...]
+This is just the interaction picture with a constant term in the Hamiltonian. If your state is going to rotate like $e^{i(\omega + \delta\omega)t}$, then transform your equations to remove the $e^{i \omega t}$ term. Likewise for spatial rotations, if one mode will be moving on average with momentum $\hbar k$, then transform your equations to remove that term. This way, you may be able to reduce the density of points you need in that dimension. Warning: don't forget to consider this when  [...]
 
 \index{xsil2graphics2}\index{Exporting data}
 
@@ -4388,22 +4387,23 @@ Write normal XMDS script that behaves as you expect.
 Add a \code{\textless{}testing\textgreater{}} element to your script.  You can read the description of this element and its contents below, and have a look at other testcases for examples, but the basic structure is simple:.
 
 \end{enumerate}
-\begin{alltt}
-\textless{}{\hyperref[developer:testingelement]{\emph{testing}}}\textgreater{}
-  \textless{}{\hyperref[developer:commandlineelement]{\emph{command\_line}}}\textgreater{} \textless{}{\hyperref[developer:commandlineelement]{\emph{/command\_line}}}\textgreater{}
-  \textless{}{\hyperref[reference_elements:argumentselement]{\emph{arguments}}}\textgreater{}
-    \textless{}{\hyperref[reference_elements:argumentelement]{\emph{argument}}} /\textgreater{}
-    \textless{}{\hyperref[reference_elements:argumentelement]{\emph{argument}}} /\textgreater{}
+{\hyperref[developer:testingelement]{\emph{}}}{\hyperref[developer:commandlineelement]{\emph{}}}{\hyperref[developer:commandlineelement]{\emph{}}}{\hyperref[reference_elements:argumentselement]{\emph{}}}{\hyperref[reference_elements:argumentelement]{\emph{}}}{\hyperref[reference_elements:argumentelement]{\emph{}}}{\hyperref[reference_elements:argumentselement]{\emph{}}}{\hyperref[developer:inputxsilfileelement]{\emph{}}}{\hyperref[developer:xsilfileelement]{\emph{}}}{\hyperref[developer: [...]
+\begin{Verbatim}[commandchars=\\\{\}]
+\PYG{n+nt}{\PYGZlt{}testing}\PYG{n+nt}{\PYGZgt{}}
+  \PYG{n+nt}{\PYGZlt{}command\PYGZus{}line}\PYG{n+nt}{\PYGZgt{}} \PYG{n+nt}{\PYGZlt{}/command\PYGZus{}line\PYGZgt{}}
+  \PYG{n+nt}{\PYGZlt{}arguments}\PYG{n+nt}{\PYGZgt{}}
+    \PYG{n+nt}{\PYGZlt{}argument} \PYG{n+nt}{/\PYGZgt{}}
+    \PYG{n+nt}{\PYGZlt{}argument} \PYG{n+nt}{/\PYGZgt{}}
     ...
-  \textless{}{\hyperref[reference_elements:argumentselement]{\emph{/arguments}}}\textgreater{}
-  \textless{}{\hyperref[developer:inputxsilfileelement]{\emph{input\_xsil\_file}}} /\textgreater{}
-  \textless{}{\hyperref[developer:xsilfileelement]{\emph{xsil\_file}}}\textgreater{}
-    \textless{}{\hyperref[developer:momentgroupelement]{\emph{moment\_group}}} /\textgreater{}
-    \textless{}{\hyperref[developer:momentgroupelement]{\emph{moment\_group}}} /\textgreater{}
+  \PYG{n+nt}{\PYGZlt{}/arguments\PYGZgt{}}
+  \PYG{n+nt}{\PYGZlt{}input\PYGZus{}xsil\PYGZus{}file} \PYG{n+nt}{/\PYGZgt{}}
+  \PYG{n+nt}{\PYGZlt{}xsil\PYGZus{}file}\PYG{n+nt}{\PYGZgt{}}
+    \PYG{n+nt}{\PYGZlt{}moment\PYGZus{}group} \PYG{n+nt}{/\PYGZgt{}}
+    \PYG{n+nt}{\PYGZlt{}moment\PYGZus{}group} \PYG{n+nt}{/\PYGZgt{}}
     ...
-  \textless{}{\hyperref[developer:xsilfileelement]{\emph{/xsil\_file}}}\textgreater{}
-\textless{}{\hyperref[developer:testingelement]{\emph{/testing}}}\textgreater{}
-\end{alltt}
+  \PYG{n+nt}{\PYGZlt{}/xsil\PYGZus{}file\PYGZgt{}}
+\PYG{n+nt}{\PYGZlt{}/testing\PYGZgt{}}
+\end{Verbatim}
 \begin{enumerate}
 \setcounter{enumi}{2}
 \item {} 
diff --git a/documentation/latex/xmds2.toc b/documentation/latex/xmds2.toc
index 469c441..fc8dc5f 100644
--- a/documentation/latex/xmds2.toc
+++ b/documentation/latex/xmds2.toc
@@ -15,24 +15,24 @@
 \contentsline {section}{\numberline {4.4}Integer Dimensions}{25}{section.4.4}
 \contentsline {section}{\numberline {4.5}Wigner Function}{28}{section.4.5}
 \contentsline {section}{\numberline {4.6}Finding the Ground State of a BEC (continuous renormalisation)}{31}{section.4.6}
-\contentsline {section}{\numberline {4.7}Finding the Ground State of a BEC again}{36}{section.4.7}
+\contentsline {section}{\numberline {4.7}Finding the Ground State of a BEC again}{35}{section.4.7}
 \contentsline {section}{\numberline {4.8}Multi-component Schr\IeC {\"o}dinger equation}{39}{section.4.8}
 \contentsline {chapter}{\numberline {5}Reference section}{43}{chapter.5}
 \contentsline {section}{\numberline {5.1}Configuration, installation and runtime options}{43}{section.5.1}
 \contentsline {section}{\numberline {5.2}Useful XML Syntax}{44}{section.5.2}
 \contentsline {section}{\numberline {5.3}XMDS2 XML Schema}{44}{section.5.3}
-\contentsline {section}{\numberline {5.4}XMDS2 script elements}{47}{section.5.4}
+\contentsline {section}{\numberline {5.4}XMDS2 script elements}{46}{section.5.4}
 \contentsline {subsection}{\numberline {5.4.1}Simulation element}{47}{subsection.5.4.1}
 \contentsline {subsection}{\numberline {5.4.2}Name element}{47}{subsection.5.4.2}
 \contentsline {subsection}{\numberline {5.4.3}Author element}{47}{subsection.5.4.3}
 \contentsline {subsection}{\numberline {5.4.4}Description element}{47}{subsection.5.4.4}
-\contentsline {subsection}{\numberline {5.4.5}Features Elements}{48}{subsection.5.4.5}
+\contentsline {subsection}{\numberline {5.4.5}Features Elements}{47}{subsection.5.4.5}
 \contentsline {subsubsection}{Arguments Element}{48}{subsubsection*.5}
 \contentsline {paragraph}{Argument element}{49}{paragraph*.6}
 \contentsline {subsubsection}{Auto\_vectorise element}{49}{subsubsection*.7}
 \contentsline {subsubsection}{Benchmark}{49}{subsubsection*.8}
 \contentsline {subsubsection}{Bing}{49}{subsubsection*.9}
-\contentsline {subsubsection}{C Flags}{50}{subsubsection*.10}
+\contentsline {subsubsection}{C Flags}{49}{subsubsection*.10}
 \contentsline {subsubsection}{Chunked Output}{50}{subsubsection*.11}
 \contentsline {subsubsection}{Diagnostics}{50}{subsubsection*.12}
 \contentsline {subsubsection}{Error Check}{50}{subsubsection*.13}
@@ -40,42 +40,42 @@
 \contentsline {subsubsection}{fftw element}{51}{subsubsection*.15}
 \contentsline {subsubsection}{Globals}{51}{subsubsection*.16}
 \contentsline {subsubsection}{OpenMP}{51}{subsubsection*.17}
-\contentsline {subsubsection}{Precision}{52}{subsubsection*.18}
+\contentsline {subsubsection}{Precision}{51}{subsubsection*.18}
 \contentsline {subsubsection}{Validation}{52}{subsubsection*.19}
 \contentsline {subsection}{\numberline {5.4.6}Driver Element}{53}{subsection.5.4.6}
 \contentsline {subsection}{\numberline {5.4.7}Geometry Element}{53}{subsection.5.4.7}
 \contentsline {subsubsection}{The ``dft'' transform}{54}{subsubsection*.24}
 \contentsline {subsubsection}{The ``dct'' transform}{55}{subsubsection*.25}
 \contentsline {subsubsection}{The ``dst'' transform}{56}{subsubsection*.26}
-\contentsline {subsubsection}{The ``bessel'' and ``bessel-neumann'' transforms}{56}{subsubsection*.27}
-\contentsline {subsubsection}{The ``spherical-bessel'' transform}{57}{subsubsection*.28}
+\contentsline {subsubsection}{The ``bessel'' and ``bessel-neumann'' transforms}{57}{subsubsection*.27}
+\contentsline {subsubsection}{The ``spherical-bessel'' transform}{58}{subsubsection*.28}
 \contentsline {subsubsection}{The ``hermite-gauss'' transform}{58}{subsubsection*.29}
 \contentsline {subsection}{\numberline {5.4.8}Vector Element}{59}{subsection.5.4.8}
 \contentsline {subsubsection}{The dependencies element}{61}{subsubsection*.34}
 \contentsline {subsection}{\numberline {5.4.9}Computed Vector Element}{62}{subsection.5.4.9}
-\contentsline {subsection}{\numberline {5.4.10}Noise Vector Element}{62}{subsection.5.4.10}
-\contentsline {subsubsection}{Uniform noise}{63}{subsubsection*.36}
-\contentsline {subsubsection}{Gaussian noise}{63}{subsubsection*.37}
+\contentsline {subsection}{\numberline {5.4.10}Noise Vector Element}{63}{subsection.5.4.10}
+\contentsline {subsubsection}{Uniform noise}{64}{subsubsection*.36}
+\contentsline {subsubsection}{Gaussian noise}{64}{subsubsection*.37}
 \contentsline {subsubsection}{Wiener noise}{64}{subsubsection*.38}
-\contentsline {subsubsection}{Poissonian noise}{64}{subsubsection*.39}
+\contentsline {subsubsection}{Poissonian noise}{65}{subsubsection*.39}
 \contentsline {subsubsection}{Jump noise}{65}{subsubsection*.40}
 \contentsline {subsection}{\numberline {5.4.11}Sequence Element}{65}{subsection.5.4.11}
-\contentsline {subsection}{\numberline {5.4.12}Filter element}{65}{subsection.5.4.12}
+\contentsline {subsection}{\numberline {5.4.12}Filter element}{66}{subsection.5.4.12}
 \contentsline {subsection}{\numberline {5.4.13}Integrate element}{66}{subsection.5.4.13}
 \contentsline {subsubsection}{Operators and operator elements}{67}{subsubsection*.42}
 \contentsline {subsubsection}{Algorithms}{69}{subsubsection*.47}
 \contentsline {paragraph}{SI and SIC algorithms}{69}{paragraph*.48}
-\contentsline {paragraph}{Runge-Kutta algorithms}{69}{paragraph*.49}
+\contentsline {paragraph}{Runge-Kutta algorithms}{70}{paragraph*.49}
 \contentsline {paragraph}{Adaptive Runge-Kutta algorithms}{70}{paragraph*.50}
-\contentsline {paragraph}{Richardson Extrapolation Algorithms and the Bulirsch-Stoer Method}{70}{paragraph*.51}
+\contentsline {paragraph}{Richardson Extrapolation Algorithms and the Bulirsch-Stoer Method}{71}{paragraph*.51}
 \contentsline {subsubsection}{Filters element}{71}{subsubsection*.52}
-\contentsline {subsection}{\numberline {5.4.14}Breakpoint element}{71}{subsection.5.4.14}
+\contentsline {subsection}{\numberline {5.4.14}Breakpoint element}{72}{subsection.5.4.14}
 \contentsline {subsection}{\numberline {5.4.15}Output element}{72}{subsection.5.4.15}
 \contentsline {subsubsection}{Sampling Group Element}{72}{subsubsection*.53}
 \contentsline {subsection}{\numberline {5.4.16}XMDS-specific C syntax}{73}{subsection.5.4.16}
-\contentsline {section}{\numberline {5.5}Modified Midpoint Method}{73}{section.5.5}
+\contentsline {section}{\numberline {5.5}Modified Midpoint Method}{74}{section.5.5}
 \contentsline {section}{\numberline {5.6}Bulirsch-Stoer Algorithm}{74}{section.5.6}
-\contentsline {section}{\numberline {5.7}Error Scaling Behaviour}{75}{section.5.7}
+\contentsline {section}{\numberline {5.7}Error Scaling Behaviour}{76}{section.5.7}
 \contentsline {chapter}{\numberline {6}Advanced Topics}{77}{chapter.6}
 \contentsline {section}{\numberline {6.1}Importing data}{77}{section.6.1}
 \contentsline {section}{\numberline {6.2}Convolutions and Fourier transforms}{79}{section.6.2}
@@ -107,7 +107,7 @@
 \contentsline {subsection}{\numberline {9.3.2}Faster libraries}{89}{subsection.9.3.2}
 \contentsline {subsection}{\numberline {9.3.3}Auto-vectorisation}{90}{subsection.9.3.3}
 \contentsline {subsection}{\numberline {9.3.4}OpenMP}{90}{subsection.9.3.4}
-\contentsline {subsection}{\numberline {9.3.5}Parallelisation with MPI}{90}{subsection.9.3.5}
+\contentsline {subsection}{\numberline {9.3.5}Parallelisation with MPI}{91}{subsection.9.3.5}
 \contentsline {section}{\numberline {9.4}Atom-optics-specific hints}{91}{section.9.4}
 \contentsline {subsection}{\numberline {9.4.1}Separate out imaginary-time calculation code}{91}{subsection.9.4.1}
 \contentsline {subsection}{\numberline {9.4.2}Use an energy or momentum offset}{91}{subsection.9.4.2}
diff --git a/documentation/licensing.html b/documentation/licensing.html
index 62b513c..8ce9744 100644
--- a/documentation/licensing.html
+++ b/documentation/licensing.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>Licensing — XMDS2 2.2.2-rc1 documentation</title>
+    <title>Licensing — XMDS2 2.2.2 documentation</title>
     
     <link rel="stylesheet" href="_static/default.css" type="text/css" />
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    './',
-        VERSION:     '2.2.2-rc1',
+        VERSION:     '2.2.2',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -25,7 +25,7 @@
     <script type="text/javascript" src="_static/doctools.js"></script>
     <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML,http://www.xmds.org/_static/mathjax-use-tex-fonts.js"></script>
     <link rel="shortcut icon" href="_static/xmds_favicon.ico"/>
-    <link rel="top" title="XMDS2 2.2.2-rc1 documentation" href="index.html" />
+    <link rel="top" title="XMDS2 2.2.2 documentation" href="index.html" />
     <link rel="next" title="News" href="news.html" />
     <link rel="prev" title="Developer Documentation" href="developer.html" /> 
   </head>
@@ -42,7 +42,7 @@
         <li class="right" >
           <a href="developer.html" title="Developer Documentation"
              accesskey="P">previous</a> |</li>
-        <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li> 
+        <li><a href="index.html">XMDS2 2.2.2 documentation</a> »</li> 
       </ul>
     </div>  
 
@@ -291,13 +291,13 @@ Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST.</div></b
         <li class="right" >
           <a href="developer.html" title="Developer Documentation"
              >previous</a> |</li>
-        <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li> 
+        <li><a href="index.html">XMDS2 2.2.2 documentation</a> »</li> 
       </ul>
     </div>
     <div class="footer">
         © Copyright 2008-2014, Graham Dennis, Joe Hope and Mattias Johnsson. Licensed under the GNU FDL.
-      Last updated on Oct 11, 2014.
-      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3.
+      Last updated on Oct 14, 2014.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2b1.
     </div>
   </body>
 </html>
\ No newline at end of file
diff --git a/documentation/news.html b/documentation/news.html
index fd66073..0f47662 100644
--- a/documentation/news.html
+++ b/documentation/news.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>News — XMDS2 2.2.2-rc1 documentation</title>
+    <title>News — XMDS2 2.2.2 documentation</title>
     
     <link rel="stylesheet" href="_static/default.css" type="text/css" />
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    './',
-        VERSION:     '2.2.2-rc1',
+        VERSION:     '2.2.2',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -25,7 +25,7 @@
     <script type="text/javascript" src="_static/doctools.js"></script>
     <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML,http://www.xmds.org/_static/mathjax-use-tex-fonts.js"></script>
     <link rel="shortcut icon" href="_static/xmds_favicon.ico"/>
-    <link rel="top" title="XMDS2 2.2.2-rc1 documentation" href="index.html" />
+    <link rel="top" title="XMDS2 2.2.2 documentation" href="index.html" />
     <link rel="prev" title="Licensing" href="licensing.html" /> 
   </head>
   <body>
@@ -38,7 +38,7 @@
         <li class="right" >
           <a href="licensing.html" title="Licensing"
              accesskey="P">previous</a> |</li>
-        <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li> 
+        <li><a href="index.html">XMDS2 2.2.2 documentation</a> »</li> 
       </ul>
     </div>  
 
@@ -211,13 +211,13 @@
         <li class="right" >
           <a href="licensing.html" title="Licensing"
              >previous</a> |</li>
-        <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li> 
+        <li><a href="index.html">XMDS2 2.2.2 documentation</a> »</li> 
       </ul>
     </div>
     <div class="footer">
         © Copyright 2008-2014, Graham Dennis, Joe Hope and Mattias Johnsson. Licensed under the GNU FDL.
-      Last updated on Oct 11, 2014.
-      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3.
+      Last updated on Oct 14, 2014.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2b1.
     </div>
   </body>
 </html>
\ No newline at end of file
diff --git a/documentation/news_content.html b/documentation/news_content.html
index 9492ee2..ccb06b3 100644
--- a/documentation/news_content.html
+++ b/documentation/news_content.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>News — XMDS2 2.2.2-rc1 documentation</title>
+    <title>News — XMDS2 2.2.2 documentation</title>
     
     <link rel="stylesheet" href="_static/default.css" type="text/css" />
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    './',
-        VERSION:     '2.2.2-rc1',
+        VERSION:     '2.2.2',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -25,7 +25,7 @@
     <script type="text/javascript" src="_static/doctools.js"></script>
     <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML,http://www.xmds.org/_static/mathjax-use-tex-fonts.js"></script>
     <link rel="shortcut icon" href="_static/xmds_favicon.ico"/>
-    <link rel="top" title="XMDS2 2.2.2-rc1 documentation" href="index.html" /> 
+    <link rel="top" title="XMDS2 2.2.2 documentation" href="index.html" /> 
   </head>
   <body>
     <div class="related">
@@ -34,7 +34,7 @@
         <li class="right" style="margin-right: 10px">
           <a href="genindex.html" title="General Index"
              accesskey="I">index</a></li>
-        <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li> 
+        <li><a href="index.html">XMDS2 2.2.2 documentation</a> »</li> 
       </ul>
     </div>  
 
@@ -204,13 +204,13 @@
         <li class="right" style="margin-right: 10px">
           <a href="genindex.html" title="General Index"
              >index</a></li>
-        <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li> 
+        <li><a href="index.html">XMDS2 2.2.2 documentation</a> »</li> 
       </ul>
     </div>
     <div class="footer">
         © Copyright 2008-2014, Graham Dennis, Joe Hope and Mattias Johnsson. Licensed under the GNU FDL.
-      Last updated on Oct 11, 2014.
-      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3.
+      Last updated on Oct 14, 2014.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2b1.
     </div>
   </body>
 </html>
\ No newline at end of file
diff --git a/documentation/objects.inv b/documentation/objects.inv
index 730cb41..cf97f78 100644
Binary files a/documentation/objects.inv and b/documentation/objects.inv differ
diff --git a/documentation/optimisation_hints.html b/documentation/optimisation_hints.html
index 653a94f..577bc9a 100644
--- a/documentation/optimisation_hints.html
+++ b/documentation/optimisation_hints.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>Optimisation Hints — XMDS2 2.2.2-rc1 documentation</title>
+    <title>Optimisation Hints — XMDS2 2.2.2 documentation</title>
     
     <link rel="stylesheet" href="_static/default.css" type="text/css" />
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    './',
-        VERSION:     '2.2.2-rc1',
+        VERSION:     '2.2.2',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -25,7 +25,7 @@
     <script type="text/javascript" src="_static/doctools.js"></script>
     <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML,http://www.xmds.org/_static/mathjax-use-tex-fonts.js"></script>
     <link rel="shortcut icon" href="_static/xmds_favicon.ico"/>
-    <link rel="top" title="XMDS2 2.2.2-rc1 documentation" href="index.html" />
+    <link rel="top" title="XMDS2 2.2.2 documentation" href="index.html" />
     <link rel="next" title="xsil2graphics2" href="xsil2graphics2.html" />
     <link rel="prev" title="Upgrading From XMDS 1.X" href="upgrade.html" /> 
   </head>
@@ -42,7 +42,7 @@
         <li class="right" >
           <a href="upgrade.html" title="Upgrading From XMDS 1.X"
              accesskey="P">previous</a> |</li>
-        <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li> 
+        <li><a href="index.html">XMDS2 2.2.2 documentation</a> »</li> 
       </ul>
     </div>  
 
@@ -187,8 +187,7 @@ ls libatlas*.deb
 </pre></div>
 </div>
 <p>Then, for each of the .deb packages listed by the ls command, install via:</p>
-<div class="highlight-xpdeint"><div class="highlight"><pre>sudo dpkg -i <filename here>.deb
-</pre></div>
+<div class="highlight-xpdeint"><pre>sudo dpkg -i <filename here>.deb</pre>
 </div>
 <p>This procedure was tested on Ubuntu 12.04 LTS, but an identical or very similar procedure should work for other Ubuntu/Debian versions.</p>
 <p>Finally, note that the “sudo fakeroot debian/rules custom” package creation step carries out an exhaustive series of tests to optimize for your architecture, SSE support, cache hierarchy and so on, and can take a long time. Be patient.</p>
@@ -315,13 +314,13 @@ ls libatlas*.deb
         <li class="right" >
           <a href="upgrade.html" title="Upgrading From XMDS 1.X"
              >previous</a> |</li>
-        <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li> 
+        <li><a href="index.html">XMDS2 2.2.2 documentation</a> »</li> 
       </ul>
     </div>
     <div class="footer">
         © Copyright 2008-2014, Graham Dennis, Joe Hope and Mattias Johnsson. Licensed under the GNU FDL.
-      Last updated on Oct 11, 2014.
-      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3.
+      Last updated on Oct 14, 2014.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2b1.
     </div>
   </body>
 </html>
\ No newline at end of file
diff --git a/documentation/reference_elements.html b/documentation/reference_elements.html
index e21d913..0156db0 100644
--- a/documentation/reference_elements.html
+++ b/documentation/reference_elements.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>XMDS2 script elements — XMDS2 2.2.2-rc1 documentation</title>
+    <title>XMDS2 script elements — XMDS2 2.2.2 documentation</title>
     
     <link rel="stylesheet" href="_static/default.css" type="text/css" />
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    './',
-        VERSION:     '2.2.2-rc1',
+        VERSION:     '2.2.2',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -25,7 +25,7 @@
     <script type="text/javascript" src="_static/doctools.js"></script>
     <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML,http://www.xmds.org/_static/mathjax-use-tex-fonts.js"></script>
     <link rel="shortcut icon" href="_static/xmds_favicon.ico"/>
-    <link rel="top" title="XMDS2 2.2.2-rc1 documentation" href="index.html" />
+    <link rel="top" title="XMDS2 2.2.2 documentation" href="index.html" />
     <link rel="up" title="Reference section" href="reference_index.html" />
     <link rel="next" title="Modified Midpoint Method" href="bulirschStoer.html" />
     <link rel="prev" title="XMDS2 XML Schema" href="reference_schema.html" /> 
@@ -43,7 +43,7 @@
         <li class="right" >
           <a href="reference_schema.html" title="XMDS2 XML Schema"
              accesskey="P">previous</a> |</li>
-        <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li>
+        <li><a href="index.html">XMDS2 2.2.2 documentation</a> »</li>
           <li><a href="reference_index.html" accesskey="U">Reference section</a> »</li> 
       </ul>
     </div>  
@@ -1157,14 +1157,14 @@ is then executed in the order found in the <tt class="docutils literal"><span cl
         <li class="right" >
           <a href="reference_schema.html" title="XMDS2 XML Schema"
              >previous</a> |</li>
-        <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li>
+        <li><a href="index.html">XMDS2 2.2.2 documentation</a> »</li>
           <li><a href="reference_index.html" >Reference section</a> »</li> 
       </ul>
     </div>
     <div class="footer">
         © Copyright 2008-2014, Graham Dennis, Joe Hope and Mattias Johnsson. Licensed under the GNU FDL.
-      Last updated on Oct 11, 2014.
-      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3.
+      Last updated on Oct 14, 2014.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2b1.
     </div>
   </body>
 </html>
\ No newline at end of file
diff --git a/documentation/reference_index.html b/documentation/reference_index.html
index 4e10113..2948dd6 100644
--- a/documentation/reference_index.html
+++ b/documentation/reference_index.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>Reference section — XMDS2 2.2.2-rc1 documentation</title>
+    <title>Reference section — XMDS2 2.2.2 documentation</title>
     
     <link rel="stylesheet" href="_static/default.css" type="text/css" />
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    './',
-        VERSION:     '2.2.2-rc1',
+        VERSION:     '2.2.2',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -25,7 +25,7 @@
     <script type="text/javascript" src="_static/doctools.js"></script>
     <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML,http://www.xmds.org/_static/mathjax-use-tex-fonts.js"></script>
     <link rel="shortcut icon" href="_static/xmds_favicon.ico"/>
-    <link rel="top" title="XMDS2 2.2.2-rc1 documentation" href="index.html" />
+    <link rel="top" title="XMDS2 2.2.2 documentation" href="index.html" />
     <link rel="next" title="Configuration, installation and runtime options" href="reference_installation_and_configuration.html" />
     <link rel="prev" title="Worked Examples" href="worked_examples.html" /> 
   </head>
@@ -42,7 +42,7 @@
         <li class="right" >
           <a href="worked_examples.html" title="Worked Examples"
              accesskey="P">previous</a> |</li>
-        <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li> 
+        <li><a href="index.html">XMDS2 2.2.2 documentation</a> »</li> 
       </ul>
     </div>  
 
@@ -149,13 +149,13 @@
         <li class="right" >
           <a href="worked_examples.html" title="Worked Examples"
              >previous</a> |</li>
-        <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li> 
+        <li><a href="index.html">XMDS2 2.2.2 documentation</a> »</li> 
       </ul>
     </div>
     <div class="footer">
         © Copyright 2008-2014, Graham Dennis, Joe Hope and Mattias Johnsson. Licensed under the GNU FDL.
-      Last updated on Oct 11, 2014.
-      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3.
+      Last updated on Oct 14, 2014.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2b1.
     </div>
   </body>
 </html>
\ No newline at end of file
diff --git a/documentation/reference_installation_and_configuration.html b/documentation/reference_installation_and_configuration.html
index 1156d22..ffeadeb 100644
--- a/documentation/reference_installation_and_configuration.html
+++ b/documentation/reference_installation_and_configuration.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>Configuration, installation and runtime options — XMDS2 2.2.2-rc1 documentation</title>
+    <title>Configuration, installation and runtime options — XMDS2 2.2.2 documentation</title>
     
     <link rel="stylesheet" href="_static/default.css" type="text/css" />
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    './',
-        VERSION:     '2.2.2-rc1',
+        VERSION:     '2.2.2',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -25,7 +25,7 @@
     <script type="text/javascript" src="_static/doctools.js"></script>
     <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML,http://www.xmds.org/_static/mathjax-use-tex-fonts.js"></script>
     <link rel="shortcut icon" href="_static/xmds_favicon.ico"/>
-    <link rel="top" title="XMDS2 2.2.2-rc1 documentation" href="index.html" />
+    <link rel="top" title="XMDS2 2.2.2 documentation" href="index.html" />
     <link rel="up" title="Reference section" href="reference_index.html" />
     <link rel="next" title="Useful XML Syntax" href="reference_usefulXMLSyntax.html" />
     <link rel="prev" title="Reference section" href="reference_index.html" /> 
@@ -43,7 +43,7 @@
         <li class="right" >
           <a href="reference_index.html" title="Reference section"
              accesskey="P">previous</a> |</li>
-        <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li>
+        <li><a href="index.html">XMDS2 2.2.2 documentation</a> »</li>
           <li><a href="reference_index.html" accesskey="U">Reference section</a> »</li> 
       </ul>
     </div>  
@@ -123,14 +123,14 @@
         <li class="right" >
           <a href="reference_index.html" title="Reference section"
              >previous</a> |</li>
-        <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li>
+        <li><a href="index.html">XMDS2 2.2.2 documentation</a> »</li>
           <li><a href="reference_index.html" >Reference section</a> »</li> 
       </ul>
     </div>
     <div class="footer">
         © Copyright 2008-2014, Graham Dennis, Joe Hope and Mattias Johnsson. Licensed under the GNU FDL.
-      Last updated on Oct 11, 2014.
-      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3.
+      Last updated on Oct 14, 2014.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2b1.
     </div>
   </body>
 </html>
\ No newline at end of file
diff --git a/documentation/reference_schema.html b/documentation/reference_schema.html
index 463dda0..66a3eff 100644
--- a/documentation/reference_schema.html
+++ b/documentation/reference_schema.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>XMDS2 XML Schema — XMDS2 2.2.2-rc1 documentation</title>
+    <title>XMDS2 XML Schema — XMDS2 2.2.2 documentation</title>
     
     <link rel="stylesheet" href="_static/default.css" type="text/css" />
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    './',
-        VERSION:     '2.2.2-rc1',
+        VERSION:     '2.2.2',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -25,7 +25,7 @@
     <script type="text/javascript" src="_static/doctools.js"></script>
     <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML,http://www.xmds.org/_static/mathjax-use-tex-fonts.js"></script>
     <link rel="shortcut icon" href="_static/xmds_favicon.ico"/>
-    <link rel="top" title="XMDS2 2.2.2-rc1 documentation" href="index.html" />
+    <link rel="top" title="XMDS2 2.2.2 documentation" href="index.html" />
     <link rel="up" title="Reference section" href="reference_index.html" />
     <link rel="next" title="XMDS2 script elements" href="reference_elements.html" />
     <link rel="prev" title="Useful XML Syntax" href="reference_usefulXMLSyntax.html" /> 
@@ -43,7 +43,7 @@
         <li class="right" >
           <a href="reference_usefulXMLSyntax.html" title="Useful XML Syntax"
              accesskey="P">previous</a> |</li>
-        <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li>
+        <li><a href="index.html">XMDS2 2.2.2 documentation</a> »</li>
           <li><a href="reference_index.html" accesskey="U">Reference section</a> »</li> 
       </ul>
     </div>  
@@ -241,14 +241,14 @@
         <li class="right" >
           <a href="reference_usefulXMLSyntax.html" title="Useful XML Syntax"
              >previous</a> |</li>
-        <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li>
+        <li><a href="index.html">XMDS2 2.2.2 documentation</a> »</li>
           <li><a href="reference_index.html" >Reference section</a> »</li> 
       </ul>
     </div>
     <div class="footer">
         © Copyright 2008-2014, Graham Dennis, Joe Hope and Mattias Johnsson. Licensed under the GNU FDL.
-      Last updated on Oct 11, 2014.
-      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3.
+      Last updated on Oct 14, 2014.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2b1.
     </div>
   </body>
 </html>
\ No newline at end of file
diff --git a/documentation/reference_usefulXMLSyntax.html b/documentation/reference_usefulXMLSyntax.html
index 192ad89..fef0e2e 100644
--- a/documentation/reference_usefulXMLSyntax.html
+++ b/documentation/reference_usefulXMLSyntax.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>Useful XML Syntax — XMDS2 2.2.2-rc1 documentation</title>
+    <title>Useful XML Syntax — XMDS2 2.2.2 documentation</title>
     
     <link rel="stylesheet" href="_static/default.css" type="text/css" />
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    './',
-        VERSION:     '2.2.2-rc1',
+        VERSION:     '2.2.2',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -25,7 +25,7 @@
     <script type="text/javascript" src="_static/doctools.js"></script>
     <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML,http://www.xmds.org/_static/mathjax-use-tex-fonts.js"></script>
     <link rel="shortcut icon" href="_static/xmds_favicon.ico"/>
-    <link rel="top" title="XMDS2 2.2.2-rc1 documentation" href="index.html" />
+    <link rel="top" title="XMDS2 2.2.2 documentation" href="index.html" />
     <link rel="up" title="Reference section" href="reference_index.html" />
     <link rel="next" title="XMDS2 XML Schema" href="reference_schema.html" />
     <link rel="prev" title="Configuration, installation and runtime options" href="reference_installation_and_configuration.html" /> 
@@ -43,7 +43,7 @@
         <li class="right" >
           <a href="reference_installation_and_configuration.html" title="Configuration, installation and runtime options"
              accesskey="P">previous</a> |</li>
-        <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li>
+        <li><a href="index.html">XMDS2 2.2.2 documentation</a> »</li>
           <li><a href="reference_index.html" accesskey="U">Reference section</a> »</li> 
       </ul>
     </div>  
@@ -113,14 +113,14 @@
         <li class="right" >
           <a href="reference_installation_and_configuration.html" title="Configuration, installation and runtime options"
              >previous</a> |</li>
-        <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li>
+        <li><a href="index.html">XMDS2 2.2.2 documentation</a> »</li>
           <li><a href="reference_index.html" >Reference section</a> »</li> 
       </ul>
     </div>
     <div class="footer">
         © Copyright 2008-2014, Graham Dennis, Joe Hope and Mattias Johnsson. Licensed under the GNU FDL.
-      Last updated on Oct 11, 2014.
-      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3.
+      Last updated on Oct 14, 2014.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2b1.
     </div>
   </body>
 </html>
\ No newline at end of file
diff --git a/documentation/search.html b/documentation/search.html
index 0bd7957..a5210c0 100644
--- a/documentation/search.html
+++ b/documentation/search.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>Search — XMDS2 2.2.2-rc1 documentation</title>
+    <title>Search — XMDS2 2.2.2 documentation</title>
     
     <link rel="stylesheet" href="_static/default.css" type="text/css" />
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    './',
-        VERSION:     '2.2.2-rc1',
+        VERSION:     '2.2.2',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -26,7 +26,7 @@
     <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML,http://www.xmds.org/_static/mathjax-use-tex-fonts.js"></script>
     <script type="text/javascript" src="_static/searchtools.js"></script>
     <link rel="shortcut icon" href="_static/xmds_favicon.ico"/>
-    <link rel="top" title="XMDS2 2.2.2-rc1 documentation" href="index.html" />
+    <link rel="top" title="XMDS2 2.2.2 documentation" href="index.html" />
   <script type="text/javascript">
     jQuery(function() { Search.loadIndex("searchindex.js"); });
   </script>
@@ -42,7 +42,7 @@
         <li class="right" style="margin-right: 10px">
           <a href="genindex.html" title="General Index"
              accesskey="I">index</a></li>
-        <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li> 
+        <li><a href="index.html">XMDS2 2.2.2 documentation</a> »</li> 
       </ul>
     </div>  
 
@@ -93,13 +93,13 @@
         <li class="right" style="margin-right: 10px">
           <a href="genindex.html" title="General Index"
              >index</a></li>
-        <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li> 
+        <li><a href="index.html">XMDS2 2.2.2 documentation</a> »</li> 
       </ul>
     </div>
     <div class="footer">
         © Copyright 2008-2014, Graham Dennis, Joe Hope and Mattias Johnsson. Licensed under the GNU FDL.
-      Last updated on Oct 11, 2014.
-      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3.
+      Last updated on Oct 14, 2014.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2b1.
     </div>
   </body>
 </html>
\ No newline at end of file
diff --git a/documentation/tutorial.html b/documentation/tutorial.html
index 0fa60b0..934cc25 100644
--- a/documentation/tutorial.html
+++ b/documentation/tutorial.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>Quickstart Tutorial — XMDS2 2.2.2-rc1 documentation</title>
+    <title>Quickstart Tutorial — XMDS2 2.2.2 documentation</title>
     
     <link rel="stylesheet" href="_static/default.css" type="text/css" />
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    './',
-        VERSION:     '2.2.2-rc1',
+        VERSION:     '2.2.2',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -25,7 +25,7 @@
     <script type="text/javascript" src="_static/doctools.js"></script>
     <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML,http://www.xmds.org/_static/mathjax-use-tex-fonts.js"></script>
     <link rel="shortcut icon" href="_static/xmds_favicon.ico"/>
-    <link rel="top" title="XMDS2 2.2.2-rc1 documentation" href="index.html" />
+    <link rel="top" title="XMDS2 2.2.2 documentation" href="index.html" />
     <link rel="next" title="Worked Examples" href="worked_examples.html" />
     <link rel="prev" title="Installation" href="installation.html" /> 
   </head>
@@ -42,7 +42,7 @@
         <li class="right" >
           <a href="installation.html" title="Installation"
              accesskey="P">previous</a> |</li>
-        <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li> 
+        <li><a href="index.html">XMDS2 2.2.2 documentation</a> »</li> 
       </ul>
     </div>  
 
@@ -315,13 +315,13 @@ ListPointPlot3D[ll]
         <li class="right" >
           <a href="installation.html" title="Installation"
              >previous</a> |</li>
-        <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li> 
+        <li><a href="index.html">XMDS2 2.2.2 documentation</a> »</li> 
       </ul>
     </div>
     <div class="footer">
         © Copyright 2008-2014, Graham Dennis, Joe Hope and Mattias Johnsson. Licensed under the GNU FDL.
-      Last updated on Oct 11, 2014.
-      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3.
+      Last updated on Oct 14, 2014.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2b1.
     </div>
   </body>
 </html>
\ No newline at end of file
diff --git a/documentation/upgrade.html b/documentation/upgrade.html
index 2961136..6215818 100644
--- a/documentation/upgrade.html
+++ b/documentation/upgrade.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>Upgrading From XMDS 1.X — XMDS2 2.2.2-rc1 documentation</title>
+    <title>Upgrading From XMDS 1.X — XMDS2 2.2.2 documentation</title>
     
     <link rel="stylesheet" href="_static/default.css" type="text/css" />
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    './',
-        VERSION:     '2.2.2-rc1',
+        VERSION:     '2.2.2',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -25,7 +25,7 @@
     <script type="text/javascript" src="_static/doctools.js"></script>
     <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML,http://www.xmds.org/_static/mathjax-use-tex-fonts.js"></script>
     <link rel="shortcut icon" href="_static/xmds_favicon.ico"/>
-    <link rel="top" title="XMDS2 2.2.2-rc1 documentation" href="index.html" />
+    <link rel="top" title="XMDS2 2.2.2 documentation" href="index.html" />
     <link rel="next" title="Optimisation Hints" href="optimisation_hints.html" />
     <link rel="prev" title="Frequently Asked Questions" href="faq.html" /> 
   </head>
@@ -42,7 +42,7 @@
         <li class="right" >
           <a href="faq.html" title="Frequently Asked Questions"
              accesskey="P">previous</a> |</li>
-        <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li> 
+        <li><a href="index.html">XMDS2 2.2.2 documentation</a> »</li> 
       </ul>
     </div>  
 
@@ -96,13 +96,13 @@
         <li class="right" >
           <a href="faq.html" title="Frequently Asked Questions"
              >previous</a> |</li>
-        <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li> 
+        <li><a href="index.html">XMDS2 2.2.2 documentation</a> »</li> 
       </ul>
     </div>
     <div class="footer">
         © Copyright 2008-2014, Graham Dennis, Joe Hope and Mattias Johnsson. Licensed under the GNU FDL.
-      Last updated on Oct 11, 2014.
-      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3.
+      Last updated on Oct 14, 2014.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2b1.
     </div>
   </body>
 </html>
\ No newline at end of file
diff --git a/documentation/worked_examples.html b/documentation/worked_examples.html
index 6d00ba4..d7c88ac 100644
--- a/documentation/worked_examples.html
+++ b/documentation/worked_examples.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>Worked Examples — XMDS2 2.2.2-rc1 documentation</title>
+    <title>Worked Examples — XMDS2 2.2.2 documentation</title>
     
     <link rel="stylesheet" href="_static/default.css" type="text/css" />
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    './',
-        VERSION:     '2.2.2-rc1',
+        VERSION:     '2.2.2',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -25,7 +25,7 @@
     <script type="text/javascript" src="_static/doctools.js"></script>
     <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML,http://www.xmds.org/_static/mathjax-use-tex-fonts.js"></script>
     <link rel="shortcut icon" href="_static/xmds_favicon.ico"/>
-    <link rel="top" title="XMDS2 2.2.2-rc1 documentation" href="index.html" />
+    <link rel="top" title="XMDS2 2.2.2 documentation" href="index.html" />
     <link rel="next" title="Reference section" href="reference_index.html" />
     <link rel="prev" title="Quickstart Tutorial" href="tutorial.html" /> 
   </head>
@@ -42,7 +42,7 @@
         <li class="right" >
           <a href="tutorial.html" title="Quickstart Tutorial"
              accesskey="P">previous</a> |</li>
-        <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li> 
+        <li><a href="index.html">XMDS2 2.2.2 documentation</a> »</li> 
       </ul>
     </div>  
 
@@ -1300,13 +1300,13 @@ Variables that can be specified on the command line:
         <li class="right" >
           <a href="tutorial.html" title="Quickstart Tutorial"
              >previous</a> |</li>
-        <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li> 
+        <li><a href="index.html">XMDS2 2.2.2 documentation</a> »</li> 
       </ul>
     </div>
     <div class="footer">
         © Copyright 2008-2014, Graham Dennis, Joe Hope and Mattias Johnsson. Licensed under the GNU FDL.
-      Last updated on Oct 11, 2014.
-      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3.
+      Last updated on Oct 14, 2014.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2b1.
     </div>
   </body>
 </html>
\ No newline at end of file
diff --git a/documentation/xsil2graphics2.html b/documentation/xsil2graphics2.html
index f60f9b8..759344d 100644
--- a/documentation/xsil2graphics2.html
+++ b/documentation/xsil2graphics2.html
@@ -6,7 +6,7 @@
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     
-    <title>xsil2graphics2 — XMDS2 2.2.2-rc1 documentation</title>
+    <title>xsil2graphics2 — XMDS2 2.2.2 documentation</title>
     
     <link rel="stylesheet" href="_static/default.css" type="text/css" />
     <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
@@ -14,7 +14,7 @@
     <script type="text/javascript">
       var DOCUMENTATION_OPTIONS = {
         URL_ROOT:    './',
-        VERSION:     '2.2.2-rc1',
+        VERSION:     '2.2.2',
         COLLAPSE_INDEX: false,
         FILE_SUFFIX: '.html',
         HAS_SOURCE:  true
@@ -25,7 +25,7 @@
     <script type="text/javascript" src="_static/doctools.js"></script>
     <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS_HTML,http://www.xmds.org/_static/mathjax-use-tex-fonts.js"></script>
     <link rel="shortcut icon" href="_static/xmds_favicon.ico"/>
-    <link rel="top" title="XMDS2 2.2.2-rc1 documentation" href="index.html" />
+    <link rel="top" title="XMDS2 2.2.2 documentation" href="index.html" />
     <link rel="next" title="Developer Documentation" href="developer.html" />
     <link rel="prev" title="Optimisation Hints" href="optimisation_hints.html" /> 
   </head>
@@ -42,7 +42,7 @@
         <li class="right" >
           <a href="optimisation_hints.html" title="Optimisation Hints"
              accesskey="P">previous</a> |</li>
-        <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li> 
+        <li><a href="index.html">XMDS2 2.2.2 documentation</a> »</li> 
       </ul>
     </div>  
 
@@ -95,13 +95,13 @@
         <li class="right" >
           <a href="optimisation_hints.html" title="Optimisation Hints"
              >previous</a> |</li>
-        <li><a href="index.html">XMDS2 2.2.2-rc1 documentation</a> »</li> 
+        <li><a href="index.html">XMDS2 2.2.2 documentation</a> »</li> 
       </ul>
     </div>
     <div class="footer">
         © Copyright 2008-2014, Graham Dennis, Joe Hope and Mattias Johnsson. Licensed under the GNU FDL.
-      Last updated on Oct 11, 2014.
-      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.3.
+      Last updated on Oct 14, 2014.
+      Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2b1.
     </div>
   </body>
 </html>
\ No newline at end of file
diff --git a/setup.py b/setup.py
index 3062c1c..59835a8 100755
--- a/setup.py
+++ b/setup.py
@@ -17,7 +17,7 @@ for root, dirs, files in os.walk('xpdeint'):
         packages.append(root.replace(os.sep, '.'))
 
 setup(name="xmds2",
-      version="2.2.2-rc1",
+      version="2.2.2",
       description="Stochastic ODE/PDE integrator",
       url="http://xmds.sourceforge.net",
       license="GPLv2",
diff --git a/xpdeint/Features/Arguments.py b/xpdeint/Features/Arguments.py
index b703d98..469f2a7 100644
--- a/xpdeint/Features/Arguments.py
+++ b/xpdeint/Features/Arguments.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976193.483291
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:13 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/Arguments.tmpl'
+__CHEETAH_genTime__ = 1413234538.13526
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:08:58 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Features/Arguments.tmpl'
 __CHEETAH_srcLastModified__ = 'Tue May 22 16:27:12 2012'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Features/AsciiFormat.py b/xpdeint/Features/AsciiFormat.py
index 4303356..ee2db17 100644
--- a/xpdeint/Features/AsciiFormat.py
+++ b/xpdeint/Features/AsciiFormat.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976193.429865
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:13 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/AsciiFormat.tmpl'
+__CHEETAH_genTime__ = 1413234538.12765
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:08:58 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Features/AsciiFormat.tmpl'
 __CHEETAH_srcLastModified__ = 'Mon Jul 23 09:42:26 2012'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Features/AutoVectorise.py b/xpdeint/Features/AutoVectorise.py
index 96de363..fe1be6f 100644
--- a/xpdeint/Features/AutoVectorise.py
+++ b/xpdeint/Features/AutoVectorise.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976193.369084
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:13 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/AutoVectorise.tmpl'
+__CHEETAH_genTime__ = 1413234538.088236
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:08:58 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Features/AutoVectorise.tmpl'
 __CHEETAH_srcLastModified__ = 'Sat Feb  4 18:39:07 2012'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Features/Benchmark.py b/xpdeint/Features/Benchmark.py
index db6599c..f939467 100644
--- a/xpdeint/Features/Benchmark.py
+++ b/xpdeint/Features/Benchmark.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976193.356639
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:13 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/Benchmark.tmpl'
+__CHEETAH_genTime__ = 1413234538.142942
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:08:58 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Features/Benchmark.tmpl'
 __CHEETAH_srcLastModified__ = 'Sat Feb  4 18:39:07 2012'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Features/BinaryFormat.py b/xpdeint/Features/BinaryFormat.py
index bbebf4f..353e77c 100644
--- a/xpdeint/Features/BinaryFormat.py
+++ b/xpdeint/Features/BinaryFormat.py
@@ -35,9 +35,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976193.475145
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:13 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/BinaryFormat.tmpl'
+__CHEETAH_genTime__ = 1413234538.210154
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:08:58 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Features/BinaryFormat.tmpl'
 __CHEETAH_srcLastModified__ = 'Thu Nov 14 17:42:18 2013'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Features/Bing.py b/xpdeint/Features/Bing.py
index 1aad3c8..7ebdef7 100644
--- a/xpdeint/Features/Bing.py
+++ b/xpdeint/Features/Bing.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976193.488458
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:13 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/Bing.tmpl'
+__CHEETAH_genTime__ = 1413234538.208631
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:08:58 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Features/Bing.tmpl'
 __CHEETAH_srcLastModified__ = 'Sat Feb  4 18:39:07 2012'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Features/CFlags.py b/xpdeint/Features/CFlags.py
index 14028f5..bf7d9f5 100644
--- a/xpdeint/Features/CFlags.py
+++ b/xpdeint/Features/CFlags.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976193.496115
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:13 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/CFlags.tmpl'
+__CHEETAH_genTime__ = 1413234538.225695
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:08:58 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Features/CFlags.tmpl'
 __CHEETAH_srcLastModified__ = 'Sat Feb  4 18:39:07 2012'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Features/ChunkedOutput.py b/xpdeint/Features/ChunkedOutput.py
index 43d82cf..7692daf 100644
--- a/xpdeint/Features/ChunkedOutput.py
+++ b/xpdeint/Features/ChunkedOutput.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976193.536547
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:13 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/ChunkedOutput.tmpl'
+__CHEETAH_genTime__ = 1413234538.239109
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:08:58 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Features/ChunkedOutput.tmpl'
 __CHEETAH_srcLastModified__ = 'Wed Aug  1 11:52:34 2012'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Features/Diagnostics.py b/xpdeint/Features/Diagnostics.py
index 4d88032..3e38b03 100644
--- a/xpdeint/Features/Diagnostics.py
+++ b/xpdeint/Features/Diagnostics.py
@@ -34,9 +34,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976193.578851
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:13 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/Diagnostics.tmpl'
+__CHEETAH_genTime__ = 1413234538.286962
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:08:58 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Features/Diagnostics.tmpl'
 __CHEETAH_srcLastModified__ = 'Sat Feb  4 18:39:07 2012'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Features/ErrorCheck.py b/xpdeint/Features/ErrorCheck.py
index 0c013f4..f49578f 100644
--- a/xpdeint/Features/ErrorCheck.py
+++ b/xpdeint/Features/ErrorCheck.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976193.626122
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:13 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/ErrorCheck.tmpl'
+__CHEETAH_genTime__ = 1413234538.373374
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:08:58 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Features/ErrorCheck.tmpl'
 __CHEETAH_srcLastModified__ = 'Sat Feb  4 18:39:07 2012'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Features/Globals.py b/xpdeint/Features/Globals.py
index bb01c7e..38353e8 100644
--- a/xpdeint/Features/Globals.py
+++ b/xpdeint/Features/Globals.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976193.530912
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:13 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/Globals.tmpl'
+__CHEETAH_genTime__ = 1413234538.304341
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:08:58 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Features/Globals.tmpl'
 __CHEETAH_srcLastModified__ = 'Wed Feb 22 16:33:31 2012'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Features/HDF5Format.py b/xpdeint/Features/HDF5Format.py
index ff13b40..dea82b5 100644
--- a/xpdeint/Features/HDF5Format.py
+++ b/xpdeint/Features/HDF5Format.py
@@ -35,9 +35,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976193.732184
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:13 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/HDF5Format.tmpl'
+__CHEETAH_genTime__ = 1413234538.386303
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:08:58 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Features/HDF5Format.tmpl'
 __CHEETAH_srcLastModified__ = 'Sun Nov 24 20:15:20 2013'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Features/HaltNonFinite.py b/xpdeint/Features/HaltNonFinite.py
index 1e16da7..1460d59 100644
--- a/xpdeint/Features/HaltNonFinite.py
+++ b/xpdeint/Features/HaltNonFinite.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976193.611012
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:13 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/HaltNonFinite.tmpl'
+__CHEETAH_genTime__ = 1413234538.366156
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:08:58 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Features/HaltNonFinite.tmpl'
 __CHEETAH_srcLastModified__ = 'Sat Feb  4 18:39:07 2012'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Features/MaxIterations.py b/xpdeint/Features/MaxIterations.py
index 296d90d..11e26ba 100644
--- a/xpdeint/Features/MaxIterations.py
+++ b/xpdeint/Features/MaxIterations.py
@@ -32,9 +32,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976193.636436
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:13 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/MaxIterations.tmpl'
+__CHEETAH_genTime__ = 1413234538.395405
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:08:58 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Features/MaxIterations.tmpl'
 __CHEETAH_srcLastModified__ = 'Sat Feb  4 18:39:07 2012'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Features/OpenMP.py b/xpdeint/Features/OpenMP.py
index cdfc018..605ab5b 100644
--- a/xpdeint/Features/OpenMP.py
+++ b/xpdeint/Features/OpenMP.py
@@ -34,9 +34,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976193.722999
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:13 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/OpenMP.tmpl'
+__CHEETAH_genTime__ = 1413234538.554493
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:08:58 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Features/OpenMP.tmpl'
 __CHEETAH_srcLastModified__ = 'Thu Oct 18 19:50:44 2012'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Features/Output.py b/xpdeint/Features/Output.py
index 901f91a..64aecaf 100644
--- a/xpdeint/Features/Output.py
+++ b/xpdeint/Features/Output.py
@@ -34,9 +34,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976193.817202
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:13 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/Output.tmpl'
+__CHEETAH_genTime__ = 1413234538.602075
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:08:58 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Features/Output.tmpl'
 __CHEETAH_srcLastModified__ = 'Mon Sep  3 14:15:51 2012'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Features/OutputFormat.py b/xpdeint/Features/OutputFormat.py
index 81b61e3..c9050c4 100644
--- a/xpdeint/Features/OutputFormat.py
+++ b/xpdeint/Features/OutputFormat.py
@@ -35,9 +35,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976193.797227
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:13 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/OutputFormat.tmpl'
+__CHEETAH_genTime__ = 1413234538.578692
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:08:58 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Features/OutputFormat.tmpl'
 __CHEETAH_srcLastModified__ = 'Thu Nov 29 13:43:25 2012'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
@@ -230,7 +230,7 @@ void _close_xsil_file(FILE*& fp)
         #  Find the end tag in a case-insensitive way
         indexForEndTag = VFN(VFN(VFFSL(SL,"expandedInputScript",True),"lower",False)(),"rfind",False)('</simulation>')
         xsilOutputHeader = VFFSL(SL,"expandedInputScript",True)[0:VFFSL(SL,"indexForEndTag",True)]
-        _orig_filter_75476375 = _filter
+        _orig_filter_97044573 = _filter
         _filter = self._CHEETAH__currentFilter = VFFSL(SL,"PrintfSafeFilter",True)(self).filter
         for line in VFN(VFFSL(SL,"xsilOutputHeader",True),"splitlines",False)(): # generated from line 92, col 5
             write(u'''  fprintf(fp, "''')
@@ -249,7 +249,7 @@ void _close_xsil_file(FILE*& fp)
         write(u''')\\n");
   fprintf(fp, "See http://www.xmds.org for more information.\\n");
 ''')
-        _filter = self._CHEETAH__currentFilter = _orig_filter_75476375
+        _filter = self._CHEETAH__currentFilter = _orig_filter_97044573
         # 
         featureOrderingXSILInfo = ['Arguments', 'Stochastic']
         write(u'''  ''')
diff --git a/xpdeint/Features/Stochastic.py b/xpdeint/Features/Stochastic.py
index c4f5f5e..4376478 100644
--- a/xpdeint/Features/Stochastic.py
+++ b/xpdeint/Features/Stochastic.py
@@ -34,9 +34,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976193.902682
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:13 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/Stochastic.tmpl'
+__CHEETAH_genTime__ = 1413234538.589078
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:08:58 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Features/Stochastic.tmpl'
 __CHEETAH_srcLastModified__ = 'Wed Aug 28 15:52:21 2013'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Features/Transforms/Basis.py b/xpdeint/Features/Transforms/Basis.py
index b6018c6..f6d46ea 100644
--- a/xpdeint/Features/Transforms/Basis.py
+++ b/xpdeint/Features/Transforms/Basis.py
@@ -34,9 +34,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976193.850165
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:13 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/Transforms/Basis.tmpl'
+__CHEETAH_genTime__ = 1413234538.634602
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:08:58 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Features/Transforms/Basis.tmpl'
 __CHEETAH_srcLastModified__ = 'Fri Jul  5 16:29:35 2013'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Features/Transforms/BesselBasis.py b/xpdeint/Features/Transforms/BesselBasis.py
index 84ef7d2..a722a7e 100644
--- a/xpdeint/Features/Transforms/BesselBasis.py
+++ b/xpdeint/Features/Transforms/BesselBasis.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976193.908652
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:13 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/Transforms/BesselBasis.tmpl'
+__CHEETAH_genTime__ = 1413234538.624187
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:08:58 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Features/Transforms/BesselBasis.tmpl'
 __CHEETAH_srcLastModified__ = 'Tue Nov 26 20:52:00 2013'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Features/Transforms/BesselNeumannTransform.py b/xpdeint/Features/Transforms/BesselNeumannTransform.py
index 1055720..2a5f72a 100644
--- a/xpdeint/Features/Transforms/BesselNeumannTransform.py
+++ b/xpdeint/Features/Transforms/BesselNeumannTransform.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976193.982363
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:13 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/Transforms/BesselNeumannTransform.tmpl'
+__CHEETAH_genTime__ = 1413234538.675892
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:08:58 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Features/Transforms/BesselNeumannTransform.tmpl'
 __CHEETAH_srcLastModified__ = 'Thu Nov 28 08:44:05 2013'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Features/Transforms/BesselTransform.py b/xpdeint/Features/Transforms/BesselTransform.py
index 44c3141..071ff98 100644
--- a/xpdeint/Features/Transforms/BesselTransform.py
+++ b/xpdeint/Features/Transforms/BesselTransform.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976193.91983
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:13 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/Transforms/BesselTransform.tmpl'
+__CHEETAH_genTime__ = 1413234538.669284
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:08:58 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Features/Transforms/BesselTransform.tmpl'
 __CHEETAH_srcLastModified__ = 'Tue Nov 26 20:52:00 2013'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Features/Transforms/EPBasis.py b/xpdeint/Features/Transforms/EPBasis.py
index ebead04..174b11c 100644
--- a/xpdeint/Features/Transforms/EPBasis.py
+++ b/xpdeint/Features/Transforms/EPBasis.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976194.05434
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/Transforms/EPBasis.tmpl'
+__CHEETAH_genTime__ = 1413234538.745645
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:08:58 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Features/Transforms/EPBasis.tmpl'
 __CHEETAH_srcLastModified__ = 'Sat Feb  4 18:39:07 2012'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Features/Transforms/FourierTransformFFTW3.py b/xpdeint/Features/Transforms/FourierTransformFFTW3.py
index 96ac028..4ee2b96 100644
--- a/xpdeint/Features/Transforms/FourierTransformFFTW3.py
+++ b/xpdeint/Features/Transforms/FourierTransformFFTW3.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976194.06482
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/Transforms/FourierTransformFFTW3.tmpl'
+__CHEETAH_genTime__ = 1413234538.820628
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:08:58 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Features/Transforms/FourierTransformFFTW3.tmpl'
 __CHEETAH_srcLastModified__ = 'Fri Jul  5 16:29:35 2013'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Features/Transforms/FourierTransformFFTW3MPI.py b/xpdeint/Features/Transforms/FourierTransformFFTW3MPI.py
index 7f0ae7f..0688170 100644
--- a/xpdeint/Features/Transforms/FourierTransformFFTW3MPI.py
+++ b/xpdeint/Features/Transforms/FourierTransformFFTW3MPI.py
@@ -37,9 +37,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976194.185448
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/Transforms/FourierTransformFFTW3MPI.tmpl'
+__CHEETAH_genTime__ = 1413234539.028882
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:08:59 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Features/Transforms/FourierTransformFFTW3MPI.tmpl'
 __CHEETAH_srcLastModified__ = 'Tue May 22 16:27:12 2012'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Features/Transforms/FourierTransformFFTW3Threads.py b/xpdeint/Features/Transforms/FourierTransformFFTW3Threads.py
index c038757..8711512 100644
--- a/xpdeint/Features/Transforms/FourierTransformFFTW3Threads.py
+++ b/xpdeint/Features/Transforms/FourierTransformFFTW3Threads.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976194.110563
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/Transforms/FourierTransformFFTW3Threads.tmpl'
+__CHEETAH_genTime__ = 1413234538.757965
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:08:58 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Features/Transforms/FourierTransformFFTW3Threads.tmpl'
 __CHEETAH_srcLastModified__ = 'Sat Feb  4 18:39:07 2012'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Features/Transforms/HermiteGaussEPBasis.py b/xpdeint/Features/Transforms/HermiteGaussEPBasis.py
index fcc1323..e481dcf 100644
--- a/xpdeint/Features/Transforms/HermiteGaussEPBasis.py
+++ b/xpdeint/Features/Transforms/HermiteGaussEPBasis.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976194.144935
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/Transforms/HermiteGaussEPBasis.tmpl'
+__CHEETAH_genTime__ = 1413234538.825637
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:08:58 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Features/Transforms/HermiteGaussEPBasis.tmpl'
 __CHEETAH_srcLastModified__ = 'Sat Feb  4 18:39:07 2012'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Features/Transforms/HermiteGaussFourierEPBasis.py b/xpdeint/Features/Transforms/HermiteGaussFourierEPBasis.py
index 44beed0..e6a3c15 100644
--- a/xpdeint/Features/Transforms/HermiteGaussFourierEPBasis.py
+++ b/xpdeint/Features/Transforms/HermiteGaussFourierEPBasis.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976194.131205
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/Transforms/HermiteGaussFourierEPBasis.tmpl'
+__CHEETAH_genTime__ = 1413234538.829972
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:08:58 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Features/Transforms/HermiteGaussFourierEPBasis.tmpl'
 __CHEETAH_srcLastModified__ = 'Wed Jul  3 14:24:15 2013'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Features/Transforms/HermiteGaussTransform.py b/xpdeint/Features/Transforms/HermiteGaussTransform.py
index 0c56c77..48579ce 100644
--- a/xpdeint/Features/Transforms/HermiteGaussTransform.py
+++ b/xpdeint/Features/Transforms/HermiteGaussTransform.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976194.157034
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/Transforms/HermiteGaussTransform.tmpl'
+__CHEETAH_genTime__ = 1413234538.869091
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:08:58 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Features/Transforms/HermiteGaussTransform.tmpl'
 __CHEETAH_srcLastModified__ = 'Tue Nov 26 20:49:57 2013'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Features/Transforms/HermiteGaussTwiddleBasis.py b/xpdeint/Features/Transforms/HermiteGaussTwiddleBasis.py
index 97a99ba..159af83 100644
--- a/xpdeint/Features/Transforms/HermiteGaussTwiddleBasis.py
+++ b/xpdeint/Features/Transforms/HermiteGaussTwiddleBasis.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976194.224606
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/Transforms/HermiteGaussTwiddleBasis.tmpl'
+__CHEETAH_genTime__ = 1413234538.85994
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:08:58 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Features/Transforms/HermiteGaussTwiddleBasis.tmpl'
 __CHEETAH_srcLastModified__ = 'Fri Jul  5 16:29:35 2013'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Features/Transforms/MMT.py b/xpdeint/Features/Transforms/MMT.py
index 5a67d4c..1de2699 100644
--- a/xpdeint/Features/Transforms/MMT.py
+++ b/xpdeint/Features/Transforms/MMT.py
@@ -35,9 +35,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976194.223754
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/Transforms/MMT.tmpl'
+__CHEETAH_genTime__ = 1413234538.903466
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:08:58 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Features/Transforms/MMT.tmpl'
 __CHEETAH_srcLastModified__ = 'Tue Nov 26 20:49:57 2013'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Features/Transforms/NoTransformMPI.py b/xpdeint/Features/Transforms/NoTransformMPI.py
index 8f9198c..d4ffb2c 100644
--- a/xpdeint/Features/Transforms/NoTransformMPI.py
+++ b/xpdeint/Features/Transforms/NoTransformMPI.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976194.261832
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/Transforms/NoTransformMPI.tmpl'
+__CHEETAH_genTime__ = 1413234538.929159
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:08:58 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Features/Transforms/NoTransformMPI.tmpl'
 __CHEETAH_srcLastModified__ = 'Thu Feb 23 00:45:53 2012'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Features/Transforms/TransformMultiplexer.py b/xpdeint/Features/Transforms/TransformMultiplexer.py
index 4c94efd..334d0f0 100644
--- a/xpdeint/Features/Transforms/TransformMultiplexer.py
+++ b/xpdeint/Features/Transforms/TransformMultiplexer.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976194.353143
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/Transforms/TransformMultiplexer.tmpl'
+__CHEETAH_genTime__ = 1413234539.109169
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:08:59 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Features/Transforms/TransformMultiplexer.tmpl'
 __CHEETAH_srcLastModified__ = 'Mon Jul 23 09:42:26 2012'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Features/Validation.py b/xpdeint/Features/Validation.py
index 9ba5a9a..9a5a59d 100644
--- a/xpdeint/Features/Validation.py
+++ b/xpdeint/Features/Validation.py
@@ -34,9 +34,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976194.246009
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Features/Validation.tmpl'
+__CHEETAH_genTime__ = 1413234538.979266
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:08:58 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Features/Validation.tmpl'
 __CHEETAH_srcLastModified__ = 'Thu Aug 22 16:32:53 2013'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Geometry/BesselDimensionRepresentation.py b/xpdeint/Geometry/BesselDimensionRepresentation.py
index 1143c6c..baa31de 100644
--- a/xpdeint/Geometry/BesselDimensionRepresentation.py
+++ b/xpdeint/Geometry/BesselDimensionRepresentation.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976194.344105
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Geometry/BesselDimensionRepresentation.tmpl'
+__CHEETAH_genTime__ = 1413234539.036378
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:08:59 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Geometry/BesselDimensionRepresentation.tmpl'
 __CHEETAH_srcLastModified__ = 'Tue Nov 26 20:52:00 2013'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Geometry/BesselNeumannDimensionRepresentation.py b/xpdeint/Geometry/BesselNeumannDimensionRepresentation.py
index b35f7c2..ae656ba 100644
--- a/xpdeint/Geometry/BesselNeumannDimensionRepresentation.py
+++ b/xpdeint/Geometry/BesselNeumannDimensionRepresentation.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976194.357078
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Geometry/BesselNeumannDimensionRepresentation.tmpl'
+__CHEETAH_genTime__ = 1413234539.02252
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:08:59 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Geometry/BesselNeumannDimensionRepresentation.tmpl'
 __CHEETAH_srcLastModified__ = 'Thu Nov 28 08:44:05 2013'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Geometry/DimensionRepresentation.py b/xpdeint/Geometry/DimensionRepresentation.py
index c584f4d..29774c3 100644
--- a/xpdeint/Geometry/DimensionRepresentation.py
+++ b/xpdeint/Geometry/DimensionRepresentation.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976194.337163
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Geometry/DimensionRepresentation.tmpl'
+__CHEETAH_genTime__ = 1413234539.05478
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:08:59 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Geometry/DimensionRepresentation.tmpl'
 __CHEETAH_srcLastModified__ = 'Tue May 22 16:27:12 2012'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Geometry/FieldElement.py b/xpdeint/Geometry/FieldElement.py
index be58fa6..0931978 100644
--- a/xpdeint/Geometry/FieldElement.py
+++ b/xpdeint/Geometry/FieldElement.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976194.405263
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Geometry/FieldElement.tmpl'
+__CHEETAH_genTime__ = 1413234539.061874
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:08:59 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Geometry/FieldElement.tmpl'
 __CHEETAH_srcLastModified__ = 'Sat Feb  4 18:39:07 2012'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Geometry/GeometryElement.py b/xpdeint/Geometry/GeometryElement.py
index a06b2cb..249297d 100644
--- a/xpdeint/Geometry/GeometryElement.py
+++ b/xpdeint/Geometry/GeometryElement.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976194.371049
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Geometry/GeometryElement.tmpl'
+__CHEETAH_genTime__ = 1413234539.080814
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:08:59 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Geometry/GeometryElement.tmpl'
 __CHEETAH_srcLastModified__ = 'Sat Feb  4 18:39:07 2012'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Geometry/HermiteGaussDimensionRepresentation.py b/xpdeint/Geometry/HermiteGaussDimensionRepresentation.py
index 2275216..a2b651b 100644
--- a/xpdeint/Geometry/HermiteGaussDimensionRepresentation.py
+++ b/xpdeint/Geometry/HermiteGaussDimensionRepresentation.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976194.457569
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Geometry/HermiteGaussDimensionRepresentation.tmpl'
+__CHEETAH_genTime__ = 1413234539.133008
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:08:59 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Geometry/HermiteGaussDimensionRepresentation.tmpl'
 __CHEETAH_srcLastModified__ = 'Wed Jul 11 19:41:11 2012'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Geometry/NonUniformDimensionRepresentation.py b/xpdeint/Geometry/NonUniformDimensionRepresentation.py
index 261eb66..8b022ef 100644
--- a/xpdeint/Geometry/NonUniformDimensionRepresentation.py
+++ b/xpdeint/Geometry/NonUniformDimensionRepresentation.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976194.408038
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Geometry/NonUniformDimensionRepresentation.tmpl'
+__CHEETAH_genTime__ = 1413234539.160585
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:08:59 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Geometry/NonUniformDimensionRepresentation.tmpl'
 __CHEETAH_srcLastModified__ = 'Tue May 22 16:27:12 2012'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Geometry/SphericalBesselDimensionRepresentation.py b/xpdeint/Geometry/SphericalBesselDimensionRepresentation.py
index 2e1fe59..6c36fff 100644
--- a/xpdeint/Geometry/SphericalBesselDimensionRepresentation.py
+++ b/xpdeint/Geometry/SphericalBesselDimensionRepresentation.py
@@ -34,9 +34,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976194.423052
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Geometry/SphericalBesselDimensionRepresentation.tmpl'
+__CHEETAH_genTime__ = 1413234539.156838
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:08:59 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Geometry/SphericalBesselDimensionRepresentation.tmpl'
 __CHEETAH_srcLastModified__ = 'Tue Nov 26 20:52:00 2013'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Geometry/SplitUniformDimensionRepresentation.py b/xpdeint/Geometry/SplitUniformDimensionRepresentation.py
index c8b0540..c8fe919 100644
--- a/xpdeint/Geometry/SplitUniformDimensionRepresentation.py
+++ b/xpdeint/Geometry/SplitUniformDimensionRepresentation.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976194.461216
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Geometry/SplitUniformDimensionRepresentation.tmpl'
+__CHEETAH_genTime__ = 1413234539.238212
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:08:59 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Geometry/SplitUniformDimensionRepresentation.tmpl'
 __CHEETAH_srcLastModified__ = 'Fri Jul 13 16:21:46 2012'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Geometry/UniformDimensionRepresentation.py b/xpdeint/Geometry/UniformDimensionRepresentation.py
index 3034347..320f82e 100644
--- a/xpdeint/Geometry/UniformDimensionRepresentation.py
+++ b/xpdeint/Geometry/UniformDimensionRepresentation.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976194.571115
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Geometry/UniformDimensionRepresentation.tmpl'
+__CHEETAH_genTime__ = 1413234539.27518
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:08:59 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Geometry/UniformDimensionRepresentation.tmpl'
 __CHEETAH_srcLastModified__ = 'Fri Jul 13 16:21:46 2012'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/HDF5.py b/xpdeint/HDF5.py
index 65de36b..19f4d09 100644
--- a/xpdeint/HDF5.py
+++ b/xpdeint/HDF5.py
@@ -36,9 +36,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976194.5861
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/HDF5.tmpl'
+__CHEETAH_genTime__ = 1413234539.357535
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:08:59 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/HDF5.tmpl'
 __CHEETAH_srcLastModified__ = 'Mon Apr 23 13:26:13 2012'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
@@ -308,12 +308,12 @@ mem_stride[''')
             write(u''';
 
 ''')
-            ## START CAPTURE REGION: _39866444 writeLoopContents at line 122, col 5 in the source.
-            _orig_trans_39866444 = trans
-            _wasBuffering_39866444 = self._CHEETAH__isBuffering
+            ## START CAPTURE REGION: _92615617 writeLoopContents at line 122, col 5 in the source.
+            _orig_trans_92615617 = trans
+            _wasBuffering_92615617 = self._CHEETAH__isBuffering
             self._CHEETAH__isBuffering = True
-            trans = _captureCollector_39866444 = DummyTransaction()
-            write = _captureCollector_39866444.response().write
+            trans = _captureCollector_92615617 = DummyTransaction()
+            write = _captureCollector_92615617.response().write
             for offset, componentName in components: # generated from line 123, col 7
                 write(u'''mem_start[''')
                 _v = VFFSL(SL,"dimensionCount",True) # u'${dimensionCount}' on line 124, col 11
@@ -350,13 +350,13 @@ if (dataset_''')
                 if _v is not None: write(_filter(_v, rawExpr=u'${variable.arrayName}')) # from line 138, col 106.
                 write(u''');
 ''')
-            trans = _orig_trans_39866444
+            trans = _orig_trans_92615617
             write = trans.response().write
-            self._CHEETAH__isBuffering = _wasBuffering_39866444 
-            writeLoopContents = _captureCollector_39866444.response().getvalue()
-            del _orig_trans_39866444
-            del _captureCollector_39866444
-            del _wasBuffering_39866444
+            self._CHEETAH__isBuffering = _wasBuffering_92615617 
+            writeLoopContents = _captureCollector_92615617.response().getvalue()
+            del _orig_trans_92615617
+            del _captureCollector_92615617
+            del _wasBuffering_92615617
             # 
             #  Permit the driver to modify the writeLoopContents
             featureOrdering = ['Driver']
diff --git a/xpdeint/MomentGroupElement.py b/xpdeint/MomentGroupElement.py
index 83e8d3e..41ee183 100644
--- a/xpdeint/MomentGroupElement.py
+++ b/xpdeint/MomentGroupElement.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976194.588387
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/MomentGroupElement.tmpl'
+__CHEETAH_genTime__ = 1413234539.32724
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:08:59 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/MomentGroupElement.tmpl'
 __CHEETAH_srcLastModified__ = 'Sat Feb  4 13:11:27 2012'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Operators/ConstantEXOperator.py b/xpdeint/Operators/ConstantEXOperator.py
index 41eb733..e8fe8d6 100644
--- a/xpdeint/Operators/ConstantEXOperator.py
+++ b/xpdeint/Operators/ConstantEXOperator.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976194.604213
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Operators/ConstantEXOperator.tmpl'
+__CHEETAH_genTime__ = 1413234539.325718
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:08:59 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Operators/ConstantEXOperator.tmpl'
 __CHEETAH_srcLastModified__ = 'Mon Jul 23 09:43:31 2012'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Operators/ConstantIPOperator.py b/xpdeint/Operators/ConstantIPOperator.py
index 4f81f2e..c658b24 100644
--- a/xpdeint/Operators/ConstantIPOperator.py
+++ b/xpdeint/Operators/ConstantIPOperator.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976194.660228
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Operators/ConstantIPOperator.tmpl'
+__CHEETAH_genTime__ = 1413234539.351316
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:08:59 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Operators/ConstantIPOperator.tmpl'
 __CHEETAH_srcLastModified__ = 'Fri Oct 11 15:53:15 2013'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Operators/CrossPropagationOperator.py b/xpdeint/Operators/CrossPropagationOperator.py
index f40fbd4..3a023fe 100644
--- a/xpdeint/Operators/CrossPropagationOperator.py
+++ b/xpdeint/Operators/CrossPropagationOperator.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976194.648795
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Operators/CrossPropagationOperator.tmpl'
+__CHEETAH_genTime__ = 1413234539.381211
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:08:59 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Operators/CrossPropagationOperator.tmpl'
 __CHEETAH_srcLastModified__ = 'Sat Feb  4 18:39:07 2012'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Operators/DeltaAOperator.py b/xpdeint/Operators/DeltaAOperator.py
index 13f97cd..2a14f89 100644
--- a/xpdeint/Operators/DeltaAOperator.py
+++ b/xpdeint/Operators/DeltaAOperator.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976194.660769
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Operators/DeltaAOperator.tmpl'
+__CHEETAH_genTime__ = 1413234539.397398
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:08:59 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Operators/DeltaAOperator.tmpl'
 __CHEETAH_srcLastModified__ = 'Mon Jul 23 09:42:26 2012'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Operators/FilterOperator.py b/xpdeint/Operators/FilterOperator.py
index 0b991d1..863001d 100644
--- a/xpdeint/Operators/FilterOperator.py
+++ b/xpdeint/Operators/FilterOperator.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976194.633472
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Operators/FilterOperator.tmpl'
+__CHEETAH_genTime__ = 1413234539.39523
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:08:59 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Operators/FilterOperator.tmpl'
 __CHEETAH_srcLastModified__ = 'Mon Jul 23 09:42:26 2012'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Operators/FunctionsOperator.py b/xpdeint/Operators/FunctionsOperator.py
index 8554953..9387223 100644
--- a/xpdeint/Operators/FunctionsOperator.py
+++ b/xpdeint/Operators/FunctionsOperator.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976194.68385
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Operators/FunctionsOperator.tmpl'
+__CHEETAH_genTime__ = 1413234539.405071
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:08:59 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Operators/FunctionsOperator.tmpl'
 __CHEETAH_srcLastModified__ = 'Sat Feb  4 18:39:07 2012'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Operators/NonConstantEXOperator.py b/xpdeint/Operators/NonConstantEXOperator.py
index ceef51c..6171440 100644
--- a/xpdeint/Operators/NonConstantEXOperator.py
+++ b/xpdeint/Operators/NonConstantEXOperator.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976194.719326
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Operators/NonConstantEXOperator.tmpl'
+__CHEETAH_genTime__ = 1413234539.436112
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:08:59 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Operators/NonConstantEXOperator.tmpl'
 __CHEETAH_srcLastModified__ = 'Mon Jul 23 09:43:31 2012'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Operators/NonConstantIPOperator.py b/xpdeint/Operators/NonConstantIPOperator.py
index 8eec3da..978a559 100644
--- a/xpdeint/Operators/NonConstantIPOperator.py
+++ b/xpdeint/Operators/NonConstantIPOperator.py
@@ -34,9 +34,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976194.708437
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Operators/NonConstantIPOperator.tmpl'
+__CHEETAH_genTime__ = 1413234539.500089
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:08:59 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Operators/NonConstantIPOperator.tmpl'
 __CHEETAH_srcLastModified__ = 'Fri Oct 11 15:53:21 2013'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Operators/Operator.py b/xpdeint/Operators/Operator.py
index 5094716..a72bae7 100644
--- a/xpdeint/Operators/Operator.py
+++ b/xpdeint/Operators/Operator.py
@@ -35,9 +35,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976194.748851
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Operators/Operator.tmpl'
+__CHEETAH_genTime__ = 1413234539.491823
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:08:59 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Operators/Operator.tmpl'
 __CHEETAH_srcLastModified__ = 'Tue Nov 20 11:51:47 2012'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Operators/OperatorContainer.py b/xpdeint/Operators/OperatorContainer.py
index ad5b554..b8e2917 100644
--- a/xpdeint/Operators/OperatorContainer.py
+++ b/xpdeint/Operators/OperatorContainer.py
@@ -34,9 +34,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976194.894627
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Operators/OperatorContainer.tmpl'
+__CHEETAH_genTime__ = 1413234539.521221
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:08:59 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Operators/OperatorContainer.tmpl'
 __CHEETAH_srcLastModified__ = 'Thu Oct  3 21:15:17 2013'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
@@ -226,12 +226,12 @@ class OperatorContainer(_OperatorContainer):
             for operatorComponentNumber, (operatorComponentName, operatorComponentVectors) in enumerate(VFN(VFFSL(SL,"ipOperator.operatorComponents",True),"iteritems",False)()): # generated from line 83, col 5
                 for targetVectorComponents in operatorComponentVectors.itervalues(): # generated from line 84, col 7
                     for targetVectorComponent in targetVectorComponents: # generated from line 85, col 9
-                        ## START CAPTURE REGION: _71821117 operation at line 86, col 11 in the source.
-                        _orig_trans_71821117 = trans
-                        _wasBuffering_71821117 = self._CHEETAH__isBuffering
+                        ## START CAPTURE REGION: _81012125 operation at line 86, col 11 in the source.
+                        _orig_trans_81012125 = trans
+                        _wasBuffering_81012125 = self._CHEETAH__isBuffering
                         self._CHEETAH__isBuffering = True
-                        trans = _captureCollector_71821117 = DummyTransaction()
-                        write = _captureCollector_71821117.response().write
+                        trans = _captureCollector_81012125 = DummyTransaction()
+                        write = _captureCollector_81012125.response().write
                         write(u'''/* ''')
                         _v = VFFSL(SL,"operatorComponentName",True) # u'${operatorComponentName}' on line 87, col 4
                         if _v is not None: write(_filter(_v, rawExpr=u'${operatorComponentName}')) # from line 87, col 4.
@@ -253,13 +253,13 @@ class OperatorContainer(_OperatorContainer):
                             if _v is not None: write(_filter(_v, rawExpr=u'${ipOperator.id}')) # from line 89, col 5.
                             write(u'''_exponentIndex''')
                         write(u''']''')
-                        trans = _orig_trans_71821117
+                        trans = _orig_trans_81012125
                         write = trans.response().write
-                        self._CHEETAH__isBuffering = _wasBuffering_71821117 
-                        operation = _captureCollector_71821117.response().getvalue()
-                        del _orig_trans_71821117
-                        del _captureCollector_71821117
-                        del _wasBuffering_71821117
+                        self._CHEETAH__isBuffering = _wasBuffering_81012125 
+                        operation = _captureCollector_81012125.response().getvalue()
+                        del _orig_trans_81012125
+                        del _captureCollector_81012125
+                        del _wasBuffering_81012125
                         # 
                         operationsDict.setdefault(targetVectorComponent, [])
                         operationsDict[targetVectorComponent].append(operation)
diff --git a/xpdeint/Operators/SICDeltaAOperator.py b/xpdeint/Operators/SICDeltaAOperator.py
index 55d0e34..abff3d3 100644
--- a/xpdeint/Operators/SICDeltaAOperator.py
+++ b/xpdeint/Operators/SICDeltaAOperator.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976194.830724
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Operators/SICDeltaAOperator.tmpl'
+__CHEETAH_genTime__ = 1413234539.63372
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:08:59 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Operators/SICDeltaAOperator.tmpl'
 __CHEETAH_srcLastModified__ = 'Mon Jul 23 09:42:26 2012'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Preferences.py b/xpdeint/Preferences.py
index a59f8c2..94c26bd 100755
--- a/xpdeint/Preferences.py
+++ b/xpdeint/Preferences.py
@@ -2,7 +2,7 @@
 # encoding: utf-8
 import os
 
-versionString = '2.2.2-rc1 "XMDS2 is a game of two halves"'
+versionString = '2.2.2 "XMDS2 is a game of two halves"'
 
 if 'XMDS_USER_DATA' in os.environ:
     xpdeintUserDataPath = os.environ['XMDS_USER_DATA']
diff --git a/xpdeint/ScriptElement.py b/xpdeint/ScriptElement.py
index 708dfe3..7e7b92d 100644
--- a/xpdeint/ScriptElement.py
+++ b/xpdeint/ScriptElement.py
@@ -34,9 +34,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976195.257587
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:15 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/ScriptElement.tmpl'
+__CHEETAH_genTime__ = 1413234540.082975
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:09:00 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/ScriptElement.tmpl'
 __CHEETAH_srcLastModified__ = 'Thu Nov 21 19:01:19 2013'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
@@ -209,12 +209,12 @@ class ScriptElement(_ScriptElement):
             VFFSL(SL,"templateVariables",True)['vector'] = VFFSL(SL,"vector",True)
             _v = VFFSL(SL,"insertCodeForFeatures",False)('loopOverVectorsWithInnerContentTemplateBegin', VFFSL(SL,"loopFeatureOrdering",True), VFFSL(SL,"dict",True)) # u"${insertCodeForFeatures('loopOverVectorsWithInnerContentTemplateBegin', $loopFeatureOrdering, $dict)}" on line 155, col 1
             if _v is not None: write(_filter(_v, rawExpr=u"${insertCodeForFeatures('loopOverVectorsWithInnerContentTemplateBegin', $loopFeatureOrdering, $dict)}")) # from line 155, col 1.
-            ## START CAPTURE REGION: _86288413 loopString at line 156, col 5 in the source.
-            _orig_trans_86288413 = trans
-            _wasBuffering_86288413 = self._CHEETAH__isBuffering
+            ## START CAPTURE REGION: _11035573 loopString at line 156, col 5 in the source.
+            _orig_trans_11035573 = trans
+            _wasBuffering_11035573 = self._CHEETAH__isBuffering
             self._CHEETAH__isBuffering = True
-            trans = _captureCollector_86288413 = DummyTransaction()
-            write = _captureCollector_86288413.response().write
+            trans = _captureCollector_11035573 = DummyTransaction()
+            write = _captureCollector_11035573.response().write
             if basis is None: # generated from line 157, col 7
                 vectorSize = vector.allocSize
             else: # generated from line 159, col 7
@@ -230,13 +230,13 @@ class ScriptElement(_ScriptElement):
             if _v is not None: write(_filter(_v, autoIndent=True, rawExpr=u'${innerLoopTemplate, autoIndent=True}')) # from line 163, col 3.
             write(u'''}
 ''')
-            trans = _orig_trans_86288413
+            trans = _orig_trans_11035573
             write = trans.response().write
-            self._CHEETAH__isBuffering = _wasBuffering_86288413 
-            loopString = _captureCollector_86288413.response().getvalue()
-            del _orig_trans_86288413
-            del _captureCollector_86288413
-            del _wasBuffering_86288413
+            self._CHEETAH__isBuffering = _wasBuffering_11035573 
+            loopString = _captureCollector_11035573.response().getvalue()
+            del _orig_trans_11035573
+            del _captureCollector_11035573
+            del _wasBuffering_11035573
             _v = VFFSL(SL,"loopString",True) # u"${loopString, extraIndent=dict['extraIndent']}" on line 166, col 1
             if _v is not None: write(_filter(_v, extraIndent=dict['extraIndent'], rawExpr=u"${loopString, extraIndent=dict['extraIndent']}")) # from line 166, col 1.
             write(u'''
diff --git a/xpdeint/Segments/BreakpointSegment.py b/xpdeint/Segments/BreakpointSegment.py
index 6724789..7c38d80 100644
--- a/xpdeint/Segments/BreakpointSegment.py
+++ b/xpdeint/Segments/BreakpointSegment.py
@@ -34,9 +34,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976194.907552
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Segments/BreakpointSegment.tmpl'
+__CHEETAH_genTime__ = 1413234539.605982
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:08:59 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Segments/BreakpointSegment.tmpl'
 __CHEETAH_srcLastModified__ = 'Wed Aug  1 11:52:34 2012'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Segments/FilterSegment.py b/xpdeint/Segments/FilterSegment.py
index 8ab0055..33202e8 100644
--- a/xpdeint/Segments/FilterSegment.py
+++ b/xpdeint/Segments/FilterSegment.py
@@ -34,9 +34,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976194.955517
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:14 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Segments/FilterSegment.tmpl'
+__CHEETAH_genTime__ = 1413234539.650927
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:08:59 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Segments/FilterSegment.tmpl'
 __CHEETAH_srcLastModified__ = 'Sat Feb  4 18:39:07 2012'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Segments/Integrators/AdaptiveStep.py b/xpdeint/Segments/Integrators/AdaptiveStep.py
index a45828d..b65f17e 100644
--- a/xpdeint/Segments/Integrators/AdaptiveStep.py
+++ b/xpdeint/Segments/Integrators/AdaptiveStep.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976195.286246
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:15 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Segments/Integrators/AdaptiveStep.tmpl'
+__CHEETAH_genTime__ = 1413234540.026674
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:09:00 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Segments/Integrators/AdaptiveStep.tmpl'
 __CHEETAH_srcLastModified__ = 'Fri Oct 11 15:53:08 2013'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Segments/Integrators/FixedStep.py b/xpdeint/Segments/Integrators/FixedStep.py
index e51d234..94d3f81 100644
--- a/xpdeint/Segments/Integrators/FixedStep.py
+++ b/xpdeint/Segments/Integrators/FixedStep.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976195.034527
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:15 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Segments/Integrators/FixedStep.tmpl'
+__CHEETAH_genTime__ = 1413234539.915661
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:08:59 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Segments/Integrators/FixedStep.tmpl'
 __CHEETAH_srcLastModified__ = 'Sat Feb  4 18:39:07 2012'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
@@ -409,12 +409,12 @@ for (long _istep = 0; _istep < ''')
         # 
         innerLoopTemplate = VFFSL(SL,"templateObjectFromStringWithTemplateVariables",False)(VFFSL(SL,"templateString",True), {'componentIndex': '_icomp'})
         # 
-        ## START CAPTURE REGION: _12677668 loopContents at line 157, col 3 in the source.
-        _orig_trans_12677668 = trans
-        _wasBuffering_12677668 = self._CHEETAH__isBuffering
+        ## START CAPTURE REGION: _75824916 loopContents at line 157, col 3 in the source.
+        _orig_trans_75824916 = trans
+        _wasBuffering_75824916 = self._CHEETAH__isBuffering
         self._CHEETAH__isBuffering = True
-        trans = _captureCollector_12677668 = DummyTransaction()
-        write = _captureCollector_12677668.response().write
+        trans = _captureCollector_75824916 = DummyTransaction()
+        write = _captureCollector_75824916.response().write
         for reducedVector, vector in VFN(VFFSL(SL,"vectorMap",True),"iteritems",False)(): # generated from line 158, col 5
             if vector.field.hasDimensionName(VFFSL(SL,"propagationDimension",True)): # generated from line 159, col 7
                 propagationDimensionObject = vector.field.dimensionWithName(VFFSL(SL,"propagationDimension",True))
@@ -431,13 +431,13 @@ for (long _istep = 0; _istep < ''')
             write(u'''}
 ''')
             del innerLoopTemplate.skipSize
-        trans = _orig_trans_12677668
+        trans = _orig_trans_75824916
         write = trans.response().write
-        self._CHEETAH__isBuffering = _wasBuffering_12677668 
-        loopContents = _captureCollector_12677668.response().getvalue()
-        del _orig_trans_12677668
-        del _captureCollector_12677668
-        del _wasBuffering_12677668
+        self._CHEETAH__isBuffering = _wasBuffering_75824916 
+        loopContents = _captureCollector_75824916.response().getvalue()
+        del _orig_trans_75824916
+        del _captureCollector_75824916
+        del _wasBuffering_75824916
         # 
         _v = VFFSL(SL,"loopOverFieldInBasisWithVectorsAndInnerContent",False)(VFFSL(SL,"parent.reducedField",True), VFFSL(SL,"homeBasis",True), VFFSL(SL,"setOfVectorsToLoopOver",True),
                                                  VFFSL(SL,"loopContents",True), indexOverrides = VFFSL(SL,"indexOverrides",True),
diff --git a/xpdeint/Segments/Integrators/FixedStepWithCross.py b/xpdeint/Segments/Integrators/FixedStepWithCross.py
index 4d23445..eb464f2 100644
--- a/xpdeint/Segments/Integrators/FixedStepWithCross.py
+++ b/xpdeint/Segments/Integrators/FixedStepWithCross.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976195.123739
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:15 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Segments/Integrators/FixedStepWithCross.tmpl'
+__CHEETAH_genTime__ = 1413234539.68705
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:08:59 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Segments/Integrators/FixedStepWithCross.tmpl'
 __CHEETAH_srcLastModified__ = 'Sat Feb  4 18:39:07 2012'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Segments/Integrators/Integrator.py b/xpdeint/Segments/Integrators/Integrator.py
index 7f7b355..1f1d92c 100644
--- a/xpdeint/Segments/Integrators/Integrator.py
+++ b/xpdeint/Segments/Integrators/Integrator.py
@@ -34,9 +34,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976195.272194
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:15 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Segments/Integrators/Integrator.tmpl'
+__CHEETAH_genTime__ = 1413234539.988392
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:08:59 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Segments/Integrators/Integrator.tmpl'
 __CHEETAH_srcLastModified__ = 'Sat Feb  4 18:39:07 2012'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Segments/Integrators/MMStepper.py b/xpdeint/Segments/Integrators/MMStepper.py
index 9b24869..5363157 100644
--- a/xpdeint/Segments/Integrators/MMStepper.py
+++ b/xpdeint/Segments/Integrators/MMStepper.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976195.402979
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:15 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Segments/Integrators/MMStepper.tmpl'
+__CHEETAH_genTime__ = 1413234540.096815
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:09:00 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Segments/Integrators/MMStepper.tmpl'
 __CHEETAH_srcLastModified__ = 'Thu Nov 21 19:01:19 2013'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Segments/Integrators/RK45Stepper.py b/xpdeint/Segments/Integrators/RK45Stepper.py
index 67a862d..5121682 100644
--- a/xpdeint/Segments/Integrators/RK45Stepper.py
+++ b/xpdeint/Segments/Integrators/RK45Stepper.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976195.469064
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:15 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Segments/Integrators/RK45Stepper.tmpl'
+__CHEETAH_genTime__ = 1413234540.119409
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:09:00 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Segments/Integrators/RK45Stepper.tmpl'
 __CHEETAH_srcLastModified__ = 'Mon Oct 21 12:39:43 2013'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Segments/Integrators/RK4Stepper.py b/xpdeint/Segments/Integrators/RK4Stepper.py
index 12cc20d..4884008 100644
--- a/xpdeint/Segments/Integrators/RK4Stepper.py
+++ b/xpdeint/Segments/Integrators/RK4Stepper.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976195.346249
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:15 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Segments/Integrators/RK4Stepper.tmpl'
+__CHEETAH_genTime__ = 1413234540.157806
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:09:00 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Segments/Integrators/RK4Stepper.tmpl'
 __CHEETAH_srcLastModified__ = 'Fri Oct 11 15:53:21 2013'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Segments/Integrators/RK89Stepper.py b/xpdeint/Segments/Integrators/RK89Stepper.py
index 233d5e9..fe505e4 100644
--- a/xpdeint/Segments/Integrators/RK89Stepper.py
+++ b/xpdeint/Segments/Integrators/RK89Stepper.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976195.684132
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:15 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Segments/Integrators/RK89Stepper.tmpl'
+__CHEETAH_genTime__ = 1413234540.310062
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:09:00 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Segments/Integrators/RK89Stepper.tmpl'
 __CHEETAH_srcLastModified__ = 'Fri Oct 11 15:53:21 2013'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Segments/Integrators/RK9Stepper.py b/xpdeint/Segments/Integrators/RK9Stepper.py
index 8cdeced..512a1d4 100644
--- a/xpdeint/Segments/Integrators/RK9Stepper.py
+++ b/xpdeint/Segments/Integrators/RK9Stepper.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976195.680453
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:15 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Segments/Integrators/RK9Stepper.tmpl'
+__CHEETAH_genTime__ = 1413234540.550486
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:09:00 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Segments/Integrators/RK9Stepper.tmpl'
 __CHEETAH_srcLastModified__ = 'Fri Oct 11 15:53:21 2013'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Segments/Integrators/RichardsonFixedStep.py b/xpdeint/Segments/Integrators/RichardsonFixedStep.py
index 43d1cfa..b5f3683 100644
--- a/xpdeint/Segments/Integrators/RichardsonFixedStep.py
+++ b/xpdeint/Segments/Integrators/RichardsonFixedStep.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976195.599271
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:15 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Segments/Integrators/RichardsonFixedStep.tmpl'
+__CHEETAH_genTime__ = 1413234540.341579
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:09:00 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Segments/Integrators/RichardsonFixedStep.tmpl'
 __CHEETAH_srcLastModified__ = 'Thu Nov 21 19:01:19 2013'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Segments/Integrators/SICStepper.py b/xpdeint/Segments/Integrators/SICStepper.py
index 7c96f41..9528925 100644
--- a/xpdeint/Segments/Integrators/SICStepper.py
+++ b/xpdeint/Segments/Integrators/SICStepper.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976195.602169
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:15 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Segments/Integrators/SICStepper.tmpl'
+__CHEETAH_genTime__ = 1413234540.326645
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:09:00 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Segments/Integrators/SICStepper.tmpl'
 __CHEETAH_srcLastModified__ = 'Fri Oct 11 15:53:21 2013'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Segments/Integrators/SIStepper.py b/xpdeint/Segments/Integrators/SIStepper.py
index 82b18b8..ef1ae7d 100644
--- a/xpdeint/Segments/Integrators/SIStepper.py
+++ b/xpdeint/Segments/Integrators/SIStepper.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976195.703626
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:15 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Segments/Integrators/SIStepper.tmpl'
+__CHEETAH_genTime__ = 1413234540.451103
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:09:00 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Segments/Integrators/SIStepper.tmpl'
 __CHEETAH_srcLastModified__ = 'Fri Oct 11 15:53:21 2013'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Segments/SequenceSegment.py b/xpdeint/Segments/SequenceSegment.py
index 1969b45..71d9b22 100644
--- a/xpdeint/Segments/SequenceSegment.py
+++ b/xpdeint/Segments/SequenceSegment.py
@@ -34,9 +34,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976195.808949
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:15 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Segments/SequenceSegment.tmpl'
+__CHEETAH_genTime__ = 1413234540.420322
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:09:00 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Segments/SequenceSegment.tmpl'
 __CHEETAH_srcLastModified__ = 'Sat Feb  4 18:39:07 2012'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Segments/TopLevelSequenceElement.py b/xpdeint/Segments/TopLevelSequenceElement.py
index 71a2dcf..6083b31 100644
--- a/xpdeint/Segments/TopLevelSequenceElement.py
+++ b/xpdeint/Segments/TopLevelSequenceElement.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976195.732028
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:15 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Segments/TopLevelSequenceElement.tmpl'
+__CHEETAH_genTime__ = 1413234540.401881
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:09:00 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Segments/TopLevelSequenceElement.tmpl'
 __CHEETAH_srcLastModified__ = 'Sat Feb  4 18:39:07 2012'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Simulation.py b/xpdeint/Simulation.py
index 62329ab..eca88be 100644
--- a/xpdeint/Simulation.py
+++ b/xpdeint/Simulation.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976195.784531
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:15 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Simulation.tmpl'
+__CHEETAH_genTime__ = 1413234540.573126
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:09:00 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Simulation.tmpl'
 __CHEETAH_srcLastModified__ = 'Thu Nov 14 17:42:18 2013'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/SimulationDrivers/AdaptiveMPIMultiPathDriver.py b/xpdeint/SimulationDrivers/AdaptiveMPIMultiPathDriver.py
index 8a40d5d..fa25d11 100644
--- a/xpdeint/SimulationDrivers/AdaptiveMPIMultiPathDriver.py
+++ b/xpdeint/SimulationDrivers/AdaptiveMPIMultiPathDriver.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976195.888789
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:15 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/SimulationDrivers/AdaptiveMPIMultiPathDriver.tmpl'
+__CHEETAH_genTime__ = 1413234540.578453
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:09:00 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/SimulationDrivers/AdaptiveMPIMultiPathDriver.tmpl'
 __CHEETAH_srcLastModified__ = 'Mon Nov 18 20:57:44 2013'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/SimulationDrivers/DistributedMPIDriver.py b/xpdeint/SimulationDrivers/DistributedMPIDriver.py
index a6e8461..ba182b6 100644
--- a/xpdeint/SimulationDrivers/DistributedMPIDriver.py
+++ b/xpdeint/SimulationDrivers/DistributedMPIDriver.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976196.091695
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:16 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/SimulationDrivers/DistributedMPIDriver.tmpl'
+__CHEETAH_genTime__ = 1413234540.683248
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:09:00 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/SimulationDrivers/DistributedMPIDriver.tmpl'
 __CHEETAH_srcLastModified__ = 'Thu Nov 14 17:42:09 2013'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
@@ -630,12 +630,12 @@ for (long _dataForRank = 0; _dataForRank < _size; _dataForRank++) {
             return
         # 
         writeLoopContents = dict['writeLoopContents']
-        ## START CAPTURE REGION: _88725863 newWriteLoopContents at line 242, col 3 in the source.
-        _orig_trans_88725863 = trans
-        _wasBuffering_88725863 = self._CHEETAH__isBuffering
+        ## START CAPTURE REGION: _51336368 newWriteLoopContents at line 242, col 3 in the source.
+        _orig_trans_51336368 = trans
+        _wasBuffering_51336368 = self._CHEETAH__isBuffering
         self._CHEETAH__isBuffering = True
-        trans = _captureCollector_88725863 = DummyTransaction()
-        write = _captureCollector_88725863.response().write
+        trans = _captureCollector_51336368 = DummyTransaction()
+        write = _captureCollector_51336368.response().write
         for fileDimIndex, memDimIndex, dimRep in dimRepOrdering: # generated from line 243, col 5
             write(u'''hsize_t file_start_''')
             _v = VFFSL(SL,"dimRep.name",True) # u'${dimRep.name}' on line 244, col 20
@@ -691,13 +691,13 @@ mem_count[''')
             if _v is not None: write(_filter(_v, rawExpr=u'${dimRep.name}')) # from line 256, col 33.
             write(u''';
 ''')
-        trans = _orig_trans_88725863
+        trans = _orig_trans_51336368
         write = trans.response().write
-        self._CHEETAH__isBuffering = _wasBuffering_88725863 
-        newWriteLoopContents = _captureCollector_88725863.response().getvalue()
-        del _orig_trans_88725863
-        del _captureCollector_88725863
-        del _wasBuffering_88725863
+        self._CHEETAH__isBuffering = _wasBuffering_51336368 
+        newWriteLoopContents = _captureCollector_51336368.response().getvalue()
+        del _orig_trans_51336368
+        del _captureCollector_51336368
+        del _wasBuffering_51336368
         # 
         dict['writeLoopContents'] = newWriteLoopContents
         # 
diff --git a/xpdeint/SimulationDrivers/MPI.py b/xpdeint/SimulationDrivers/MPI.py
index 8e2802a..66c5873 100644
--- a/xpdeint/SimulationDrivers/MPI.py
+++ b/xpdeint/SimulationDrivers/MPI.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976195.882778
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:15 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/SimulationDrivers/MPI.tmpl'
+__CHEETAH_genTime__ = 1413234540.678817
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:09:00 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/SimulationDrivers/MPI.tmpl'
 __CHEETAH_srcLastModified__ = 'Thu Mar 29 16:44:30 2012'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/SimulationDrivers/MPIMultiPathDriver.py b/xpdeint/SimulationDrivers/MPIMultiPathDriver.py
index 8de386f..65fe36c 100644
--- a/xpdeint/SimulationDrivers/MPIMultiPathDriver.py
+++ b/xpdeint/SimulationDrivers/MPIMultiPathDriver.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976195.928262
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:15 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/SimulationDrivers/MPIMultiPathDriver.tmpl'
+__CHEETAH_genTime__ = 1413234540.725331
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:09:00 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/SimulationDrivers/MPIMultiPathDriver.tmpl'
 __CHEETAH_srcLastModified__ = 'Mon Nov 18 19:21:08 2013'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/SimulationDrivers/MultiPathDriver.py b/xpdeint/SimulationDrivers/MultiPathDriver.py
index d77f476..5be0ce6 100644
--- a/xpdeint/SimulationDrivers/MultiPathDriver.py
+++ b/xpdeint/SimulationDrivers/MultiPathDriver.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976196.056959
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:16 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/SimulationDrivers/MultiPathDriver.tmpl'
+__CHEETAH_genTime__ = 1413234540.743762
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:09:00 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/SimulationDrivers/MultiPathDriver.tmpl'
 __CHEETAH_srcLastModified__ = 'Mon Nov 18 19:21:08 2013'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
@@ -256,12 +256,12 @@ class MultiPathDriver(_MultiPathDriver):
         #  to make sure they don't get finalised early. As that could lead to
         #  NULL pointer dereferences, and that is bad.
         # 
-        ## START CAPTURE REGION: _31036050 finalisationCode at line 82, col 3 in the source.
-        _orig_trans_31036050 = trans
-        _wasBuffering_31036050 = self._CHEETAH__isBuffering
+        ## START CAPTURE REGION: _97867200 finalisationCode at line 82, col 3 in the source.
+        _orig_trans_97867200 = trans
+        _wasBuffering_97867200 = self._CHEETAH__isBuffering
         self._CHEETAH__isBuffering = True
-        trans = _captureCollector_31036050 = DummyTransaction()
-        write = _captureCollector_31036050.response().write
+        trans = _captureCollector_97867200 = DummyTransaction()
+        write = _captureCollector_97867200.response().write
         for o in VFFSL(SL,"objectsNeedingInitialisation",True): # generated from line 83, col 5
             _v = VFFSL(SL,"o.finalise",True) # u'${o.finalise}' on line 84, col 1
             if _v is not None: write(_filter(_v, rawExpr=u'${o.finalise}')) # from line 84, col 1.
@@ -269,13 +269,13 @@ class MultiPathDriver(_MultiPathDriver):
 ''')
         _v = VFFSL(SL,"topLevelSequence.free",True) # u'${topLevelSequence.free}' on line 87, col 1
         if _v is not None: write(_filter(_v, rawExpr=u'${topLevelSequence.free}')) # from line 87, col 1.
-        trans = _orig_trans_31036050
+        trans = _orig_trans_97867200
         write = trans.response().write
-        self._CHEETAH__isBuffering = _wasBuffering_31036050 
-        finalisationCode = _captureCollector_31036050.response().getvalue()
-        del _orig_trans_31036050
-        del _captureCollector_31036050
-        del _wasBuffering_31036050
+        self._CHEETAH__isBuffering = _wasBuffering_97867200 
+        finalisationCode = _captureCollector_97867200.response().getvalue()
+        del _orig_trans_97867200
+        del _captureCollector_97867200
+        del _wasBuffering_97867200
         write(u'''
 ''')
         _v = VFFSL(SL,"segment0_loop",True) # u'${segment0_loop}' on line 90, col 1
diff --git a/xpdeint/SimulationDrivers/SimulationDriver.py b/xpdeint/SimulationDrivers/SimulationDriver.py
index 8f58b1d..ac669ea 100644
--- a/xpdeint/SimulationDrivers/SimulationDriver.py
+++ b/xpdeint/SimulationDrivers/SimulationDriver.py
@@ -34,9 +34,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976196.052366
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:16 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/SimulationDrivers/SimulationDriver.tmpl'
+__CHEETAH_genTime__ = 1413234540.777512
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:09:00 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/SimulationDrivers/SimulationDriver.tmpl'
 __CHEETAH_srcLastModified__ = 'Mon Nov 18 19:21:08 2013'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/SimulationElement.py b/xpdeint/SimulationElement.py
index 38319dd..ae5cc7f 100644
--- a/xpdeint/SimulationElement.py
+++ b/xpdeint/SimulationElement.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976195.994749
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:15 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/SimulationElement.tmpl'
+__CHEETAH_genTime__ = 1413234540.787955
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:09:00 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/SimulationElement.tmpl'
 __CHEETAH_srcLastModified__ = 'Fri Feb 24 16:41:39 2012'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Stochastic/Generators/DSFMTGenerator.py b/xpdeint/Stochastic/Generators/DSFMTGenerator.py
index 629f9d3..f835959 100644
--- a/xpdeint/Stochastic/Generators/DSFMTGenerator.py
+++ b/xpdeint/Stochastic/Generators/DSFMTGenerator.py
@@ -35,9 +35,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976196.161396
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:16 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Stochastic/Generators/DSFMTGenerator.tmpl'
+__CHEETAH_genTime__ = 1413234540.867108
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:09:00 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Stochastic/Generators/DSFMTGenerator.tmpl'
 __CHEETAH_srcLastModified__ = 'Wed Aug 28 15:52:21 2013'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Stochastic/Generators/Generator.py b/xpdeint/Stochastic/Generators/Generator.py
index 396c4a6..fe2e4a7 100644
--- a/xpdeint/Stochastic/Generators/Generator.py
+++ b/xpdeint/Stochastic/Generators/Generator.py
@@ -35,9 +35,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976196.146546
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:16 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Stochastic/Generators/Generator.tmpl'
+__CHEETAH_genTime__ = 1413234540.872153
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:09:00 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Stochastic/Generators/Generator.tmpl'
 __CHEETAH_srcLastModified__ = 'Mon Oct 14 10:16:21 2013'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Stochastic/Generators/MKLGenerator.py b/xpdeint/Stochastic/Generators/MKLGenerator.py
index 2ea3760..26bbad8 100644
--- a/xpdeint/Stochastic/Generators/MKLGenerator.py
+++ b/xpdeint/Stochastic/Generators/MKLGenerator.py
@@ -35,9 +35,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976196.165126
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:16 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Stochastic/Generators/MKLGenerator.tmpl'
+__CHEETAH_genTime__ = 1413234540.828101
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:09:00 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Stochastic/Generators/MKLGenerator.tmpl'
 __CHEETAH_srcLastModified__ = 'Wed Aug 28 15:52:21 2013'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Stochastic/Generators/POSIXGenerator.py b/xpdeint/Stochastic/Generators/POSIXGenerator.py
index 813335a..c252299 100644
--- a/xpdeint/Stochastic/Generators/POSIXGenerator.py
+++ b/xpdeint/Stochastic/Generators/POSIXGenerator.py
@@ -34,9 +34,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976196.167355
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:16 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Stochastic/Generators/POSIXGenerator.tmpl'
+__CHEETAH_genTime__ = 1413234540.882703
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:09:00 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Stochastic/Generators/POSIXGenerator.tmpl'
 __CHEETAH_srcLastModified__ = 'Thu Aug 29 13:13:17 2013'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Stochastic/Generators/SolirteGenerator.py b/xpdeint/Stochastic/Generators/SolirteGenerator.py
index 91c7251..b32d087 100644
--- a/xpdeint/Stochastic/Generators/SolirteGenerator.py
+++ b/xpdeint/Stochastic/Generators/SolirteGenerator.py
@@ -35,9 +35,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976196.183227
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:16 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Stochastic/Generators/SolirteGenerator.tmpl'
+__CHEETAH_genTime__ = 1413234540.90816
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:09:00 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Stochastic/Generators/SolirteGenerator.tmpl'
 __CHEETAH_srcLastModified__ = 'Wed Aug 28 15:52:21 2013'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Stochastic/RandomVariables/GaussianBoxMuellerRandomVariable.py b/xpdeint/Stochastic/RandomVariables/GaussianBoxMuellerRandomVariable.py
index def729d..e03e10a 100644
--- a/xpdeint/Stochastic/RandomVariables/GaussianBoxMuellerRandomVariable.py
+++ b/xpdeint/Stochastic/RandomVariables/GaussianBoxMuellerRandomVariable.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976196.217685
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:16 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Stochastic/RandomVariables/GaussianBoxMuellerRandomVariable.tmpl'
+__CHEETAH_genTime__ = 1413234540.911161
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:09:00 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Stochastic/RandomVariables/GaussianBoxMuellerRandomVariable.tmpl'
 __CHEETAH_srcLastModified__ = 'Sat Feb  4 18:39:07 2012'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Stochastic/RandomVariables/GaussianMKLRandomVariable.py b/xpdeint/Stochastic/RandomVariables/GaussianMKLRandomVariable.py
index 0132d00..30add0e 100644
--- a/xpdeint/Stochastic/RandomVariables/GaussianMKLRandomVariable.py
+++ b/xpdeint/Stochastic/RandomVariables/GaussianMKLRandomVariable.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976196.214401
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:16 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Stochastic/RandomVariables/GaussianMKLRandomVariable.tmpl'
+__CHEETAH_genTime__ = 1413234540.925753
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:09:00 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Stochastic/RandomVariables/GaussianMKLRandomVariable.tmpl'
 __CHEETAH_srcLastModified__ = 'Sat Feb  4 18:39:07 2012'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Stochastic/RandomVariables/GaussianRandomVariable.py b/xpdeint/Stochastic/RandomVariables/GaussianRandomVariable.py
index f51777a..6b3c289 100644
--- a/xpdeint/Stochastic/RandomVariables/GaussianRandomVariable.py
+++ b/xpdeint/Stochastic/RandomVariables/GaussianRandomVariable.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976196.25508
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:16 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Stochastic/RandomVariables/GaussianRandomVariable.tmpl'
+__CHEETAH_genTime__ = 1413234540.935407
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:09:00 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Stochastic/RandomVariables/GaussianRandomVariable.tmpl'
 __CHEETAH_srcLastModified__ = 'Sat Feb  4 18:39:07 2012'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
@@ -162,12 +162,12 @@ class GaussianRandomVariable(ScriptElement):
         # 
         nonUniformDimReps = noiseVector.nonUniformDimReps
         if nonUniformDimReps: # generated from line 67, col 3
-            ## START CAPTURE REGION: _93762335 loopString at line 68, col 5 in the source.
-            _orig_trans_93762335 = trans
-            _wasBuffering_93762335 = self._CHEETAH__isBuffering
+            ## START CAPTURE REGION: _64093251 loopString at line 68, col 5 in the source.
+            _orig_trans_64093251 = trans
+            _wasBuffering_64093251 = self._CHEETAH__isBuffering
             self._CHEETAH__isBuffering = True
-            trans = _captureCollector_93762335 = DummyTransaction()
-            write = _captureCollector_93762335.response().write
+            trans = _captureCollector_64093251 = DummyTransaction()
+            write = _captureCollector_64093251.response().write
             fixupString = ' * '.join(''.join([str(VFFSL(SL,"dimRep.stepSizeArrayName",True)),u'_invsqrt[',str(VFFSL(SL,"dimRep.index",True)),u' + ',str(VFFSL(SL,"dimRep.localOffset",True)),u']']) for dimRep in nonUniformDimReps)
             for component in noiseVector.components: # generated from line 70, col 7
                 _v = VFFSL(SL,"component",True) # u'${component}' on line 71, col 1
@@ -177,13 +177,13 @@ class GaussianRandomVariable(ScriptElement):
                 if _v is not None: write(_filter(_v, rawExpr=u'${fixupString}')) # from line 71, col 17.
                 write(u''';
 ''')
-            trans = _orig_trans_93762335
+            trans = _orig_trans_64093251
             write = trans.response().write
-            self._CHEETAH__isBuffering = _wasBuffering_93762335 
-            loopString = _captureCollector_93762335.response().getvalue()
-            del _orig_trans_93762335
-            del _captureCollector_93762335
-            del _wasBuffering_93762335
+            self._CHEETAH__isBuffering = _wasBuffering_64093251 
+            loopString = _captureCollector_64093251.response().getvalue()
+            del _orig_trans_64093251
+            del _captureCollector_64093251
+            del _wasBuffering_64093251
             _v = VFFSL(SL,"loopOverFieldInBasisWithVectorsAndInnerContent",False)(noiseVector.field, noiseVector.initialBasis, [noiseVector], loopString) # u'${loopOverFieldInBasisWithVectorsAndInnerContent(noiseVector.field, noiseVector.initialBasis, [noiseVector], loopString)}' on line 74, col 1
             if _v is not None: write(_filter(_v, rawExpr=u'${loopOverFieldInBasisWithVectorsAndInnerContent(noiseVector.field, noiseVector.initialBasis, [noiseVector], loopString)}')) # from line 74, col 1.
         # 
diff --git a/xpdeint/Stochastic/RandomVariables/GaussianSolirteRandomVariable.py b/xpdeint/Stochastic/RandomVariables/GaussianSolirteRandomVariable.py
index cd88047..c5eba7f 100644
--- a/xpdeint/Stochastic/RandomVariables/GaussianSolirteRandomVariable.py
+++ b/xpdeint/Stochastic/RandomVariables/GaussianSolirteRandomVariable.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976196.224607
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:16 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Stochastic/RandomVariables/GaussianSolirteRandomVariable.tmpl'
+__CHEETAH_genTime__ = 1413234540.94328
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:09:00 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Stochastic/RandomVariables/GaussianSolirteRandomVariable.tmpl'
 __CHEETAH_srcLastModified__ = 'Sat Feb  4 18:39:07 2012'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Stochastic/RandomVariables/PoissonianRandomVariable.py b/xpdeint/Stochastic/RandomVariables/PoissonianRandomVariable.py
index 5c5991c..2e970db 100644
--- a/xpdeint/Stochastic/RandomVariables/PoissonianRandomVariable.py
+++ b/xpdeint/Stochastic/RandomVariables/PoissonianRandomVariable.py
@@ -34,9 +34,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976196.353014
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:16 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Stochastic/RandomVariables/PoissonianRandomVariable.tmpl'
+__CHEETAH_genTime__ = 1413234541.104892
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:09:01 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Stochastic/RandomVariables/PoissonianRandomVariable.tmpl'
 __CHEETAH_srcLastModified__ = 'Sun Feb 12 20:15:16 2012'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
@@ -104,12 +104,12 @@ const real _old_volume = (''')
         write(u''' * _old_step);
 
 ''')
-        ## START CAPTURE REGION: _70323152 loopString at line 39, col 3 in the source.
-        _orig_trans_70323152 = trans
-        _wasBuffering_70323152 = self._CHEETAH__isBuffering
+        ## START CAPTURE REGION: _75877951 loopString at line 39, col 3 in the source.
+        _orig_trans_75877951 = trans
+        _wasBuffering_75877951 = self._CHEETAH__isBuffering
         self._CHEETAH__isBuffering = True
-        trans = _captureCollector_70323152 = DummyTransaction()
-        write = _captureCollector_70323152.response().write
+        trans = _captureCollector_75877951 = DummyTransaction()
+        write = _captureCollector_75877951.response().write
         nonUniformDimReps = noiseVector.nonUniformDimReps
         if nonUniformDimReps: # generated from line 41, col 5
             volumeFixup = ' * '.join('%s * (%s)' % (dimRep.stepSize, dimRep.volumePrefactor) for dimRep in nonUniformDimReps)
@@ -138,13 +138,13 @@ const real _old_volume = (''')
             if _v is not None: write(_filter(_v, rawExpr=u'${volumeFixup}')) # from line 50, col 172.
             write(u'''));
 ''')
-        trans = _orig_trans_70323152
+        trans = _orig_trans_75877951
         write = trans.response().write
-        self._CHEETAH__isBuffering = _wasBuffering_70323152 
-        loopString = _captureCollector_70323152.response().getvalue()
-        del _orig_trans_70323152
-        del _captureCollector_70323152
-        del _wasBuffering_70323152
+        self._CHEETAH__isBuffering = _wasBuffering_75877951 
+        loopString = _captureCollector_75877951.response().getvalue()
+        del _orig_trans_75877951
+        del _captureCollector_75877951
+        del _wasBuffering_75877951
         _v = VFFSL(SL,"loopOverFieldInBasisWithVectorsAndInnerContent",False)(noiseVector.field, noiseVector.initialBasis, [noiseVector], loopString) # u'${loopOverFieldInBasisWithVectorsAndInnerContent(noiseVector.field, noiseVector.initialBasis, [noiseVector], loopString)}' on line 53, col 1
         if _v is not None: write(_filter(_v, rawExpr=u'${loopOverFieldInBasisWithVectorsAndInnerContent(noiseVector.field, noiseVector.initialBasis, [noiseVector], loopString)}')) # from line 53, col 1.
         write(u'''
@@ -193,12 +193,12 @@ const real _old_volume = (''')
         write(u''';
 const real _var = 1.0 / _dVdt;
 ''')
-        ## START CAPTURE REGION: _91311549 loopString at line 74, col 3 in the source.
-        _orig_trans_91311549 = trans
-        _wasBuffering_91311549 = self._CHEETAH__isBuffering
+        ## START CAPTURE REGION: _38136206 loopString at line 74, col 3 in the source.
+        _orig_trans_38136206 = trans
+        _wasBuffering_38136206 = self._CHEETAH__isBuffering
         self._CHEETAH__isBuffering = True
-        trans = _captureCollector_91311549 = DummyTransaction()
-        write = _captureCollector_91311549.response().write
+        trans = _captureCollector_38136206 = DummyTransaction()
+        write = _captureCollector_38136206.response().write
         nonUniformDimReps = noiseVector.nonUniformDimReps
         if nonUniformDimReps: # generated from line 76, col 5
             volumeFixup = ' * '.join('%s * (%s)' % (dimRep.stepSize, dimRep.volumePrefactor) for dimRep in nonUniformDimReps)
@@ -224,13 +224,13 @@ const real _var = 1.0 / _dVdt;
             if _v is not None: write(_filter(_v, rawExpr=u'${volumeFixup}')) # from line 85, col 84.
             write(u''');
 ''')
-        trans = _orig_trans_91311549
+        trans = _orig_trans_38136206
         write = trans.response().write
-        self._CHEETAH__isBuffering = _wasBuffering_91311549 
-        loopString = _captureCollector_91311549.response().getvalue()
-        del _orig_trans_91311549
-        del _captureCollector_91311549
-        del _wasBuffering_91311549
+        self._CHEETAH__isBuffering = _wasBuffering_38136206 
+        loopString = _captureCollector_38136206.response().getvalue()
+        del _orig_trans_38136206
+        del _captureCollector_38136206
+        del _wasBuffering_38136206
         _v = VFFSL(SL,"loopOverFieldInBasisWithVectorsAndInnerContent",False)(noiseVector.field, noiseVector.initialBasis, [noiseVector], loopString) # u'${loopOverFieldInBasisWithVectorsAndInnerContent(noiseVector.field, noiseVector.initialBasis, [noiseVector], loopString)}' on line 88, col 1
         if _v is not None: write(_filter(_v, rawExpr=u'${loopOverFieldInBasisWithVectorsAndInnerContent(noiseVector.field, noiseVector.initialBasis, [noiseVector], loopString)}')) # from line 88, col 1.
         # 
diff --git a/xpdeint/Stochastic/RandomVariables/UniformRandomVariable.py b/xpdeint/Stochastic/RandomVariables/UniformRandomVariable.py
index b927de3..f6a4300 100644
--- a/xpdeint/Stochastic/RandomVariables/UniformRandomVariable.py
+++ b/xpdeint/Stochastic/RandomVariables/UniformRandomVariable.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976196.24159
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:16 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Stochastic/RandomVariables/UniformRandomVariable.tmpl'
+__CHEETAH_genTime__ = 1413234540.977432
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:09:00 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Stochastic/RandomVariables/UniformRandomVariable.tmpl'
 __CHEETAH_srcLastModified__ = 'Sat Feb  4 18:39:07 2012'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Vectors/ComputedVector.py b/xpdeint/Vectors/ComputedVector.py
index 03741f1..7946eaa 100644
--- a/xpdeint/Vectors/ComputedVector.py
+++ b/xpdeint/Vectors/ComputedVector.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976196.310637
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:16 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Vectors/ComputedVector.tmpl'
+__CHEETAH_genTime__ = 1413234540.964448
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:09:00 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Vectors/ComputedVector.tmpl'
 __CHEETAH_srcLastModified__ = 'Sat Feb  4 18:39:07 2012'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Vectors/NoiseVector.py b/xpdeint/Vectors/NoiseVector.py
index 7b99567..1752029 100644
--- a/xpdeint/Vectors/NoiseVector.py
+++ b/xpdeint/Vectors/NoiseVector.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976196.334202
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:16 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Vectors/NoiseVector.tmpl'
+__CHEETAH_genTime__ = 1413234541.036245
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:09:01 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Vectors/NoiseVector.tmpl'
 __CHEETAH_srcLastModified__ = 'Sat Feb  4 18:39:07 2012'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Vectors/VectorElement.py b/xpdeint/Vectors/VectorElement.py
index af3b679..d9dbd17 100644
--- a/xpdeint/Vectors/VectorElement.py
+++ b/xpdeint/Vectors/VectorElement.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976196.376043
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:16 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Vectors/VectorElement.tmpl'
+__CHEETAH_genTime__ = 1413234541.067024
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:09:01 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Vectors/VectorElement.tmpl'
 __CHEETAH_srcLastModified__ = 'Fri May 25 16:30:07 2012'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
@@ -495,12 +495,12 @@ _active_''')
             modFunction = 'abs'
         else: # generated from line 134, col 3
             modFunction = 'mod2'
-        ## START CAPTURE REGION: _36346984 loopContents at line 137, col 3 in the source.
-        _orig_trans_36346984 = trans
-        _wasBuffering_36346984 = self._CHEETAH__isBuffering
+        ## START CAPTURE REGION: _56551091 loopContents at line 137, col 3 in the source.
+        _orig_trans_56551091 = trans
+        _wasBuffering_56551091 = self._CHEETAH__isBuffering
         self._CHEETAH__isBuffering = True
-        trans = _captureCollector_36346984 = DummyTransaction()
-        write = _captureCollector_36346984.response().write
+        trans = _captureCollector_56551091 = DummyTransaction()
+        write = _captureCollector_56551091.response().write
         write(u'''real _current_size = ''')
         _v = VFFSL(SL,"modFunction",True) # u'${modFunction}' on line 138, col 22
         if _v is not None: write(_filter(_v, rawExpr=u'${modFunction}')) # from line 138, col 22.
@@ -514,13 +514,13 @@ if (_current_size > ''')
         if _v is not None: write(_filter(_v, rawExpr=u'${variableName}')) # from line 140, col 3.
         write(u''' = _current_size;
 ''')
-        trans = _orig_trans_36346984
+        trans = _orig_trans_56551091
         write = trans.response().write
-        self._CHEETAH__isBuffering = _wasBuffering_36346984 
-        loopContents = _captureCollector_36346984.response().getvalue()
-        del _orig_trans_36346984
-        del _captureCollector_36346984
-        del _wasBuffering_36346984
+        self._CHEETAH__isBuffering = _wasBuffering_56551091 
+        loopContents = _captureCollector_56551091.response().getvalue()
+        del _orig_trans_56551091
+        del _captureCollector_56551091
+        del _wasBuffering_56551091
         _v = VFFSL(SL,"loopOverVectorsWithInnerContentTemplate",False)([self], loopContents, basis = basis) # u'${loopOverVectorsWithInnerContentTemplate([self], loopContents, basis = basis)}' on line 142, col 1
         if _v is not None: write(_filter(_v, rawExpr=u'${loopOverVectorsWithInnerContentTemplate([self], loopContents, basis = basis)}')) # from line 142, col 1.
         if VFFSL(SL,"type",True) == 'complex': # generated from line 143, col 3
diff --git a/xpdeint/Vectors/VectorInitialisation.py b/xpdeint/Vectors/VectorInitialisation.py
index 90215d6..54faf65 100644
--- a/xpdeint/Vectors/VectorInitialisation.py
+++ b/xpdeint/Vectors/VectorInitialisation.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976196.35927
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:16 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Vectors/VectorInitialisation.tmpl'
+__CHEETAH_genTime__ = 1413234541.042391
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:09:01 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Vectors/VectorInitialisation.tmpl'
 __CHEETAH_srcLastModified__ = 'Fri May 25 16:30:07 2012'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Vectors/VectorInitialisationFromCDATA.py b/xpdeint/Vectors/VectorInitialisationFromCDATA.py
index 3862ec9..5fddcd7 100644
--- a/xpdeint/Vectors/VectorInitialisationFromCDATA.py
+++ b/xpdeint/Vectors/VectorInitialisationFromCDATA.py
@@ -33,9 +33,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976196.404291
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:16 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Vectors/VectorInitialisationFromCDATA.tmpl'
+__CHEETAH_genTime__ = 1413234541.163727
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:09:01 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Vectors/VectorInitialisationFromCDATA.tmpl'
 __CHEETAH_srcLastModified__ = 'Fri May 25 16:17:13 2012'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Vectors/VectorInitialisationFromHDF5.py b/xpdeint/Vectors/VectorInitialisationFromHDF5.py
index 1b5be97..66fd07f 100644
--- a/xpdeint/Vectors/VectorInitialisationFromHDF5.py
+++ b/xpdeint/Vectors/VectorInitialisationFromHDF5.py
@@ -35,9 +35,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976196.557409
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:16 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Vectors/VectorInitialisationFromHDF5.tmpl'
+__CHEETAH_genTime__ = 1413234541.261749
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:09:01 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/Vectors/VectorInitialisationFromHDF5.tmpl'
 __CHEETAH_srcLastModified__ = 'Fri May 25 16:17:13 2012'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/Vectors/VectorInitialisationFromXSIL.py b/xpdeint/Vectors/VectorInitialisationFromXSIL.py
deleted file mode 100644
index 7f988f3..0000000
--- a/xpdeint/Vectors/VectorInitialisationFromXSIL.py
+++ /dev/null
@@ -1,1024 +0,0 @@
-#!/usr/bin/env python
-
-
-
-
-##################################################
-## DEPENDENCIES
-import sys
-import os
-import os.path
-try:
-    import builtins as builtin
-except ImportError:
-    import __builtin__ as builtin
-from os.path import getmtime, exists
-import time
-import types
-from Cheetah.Version import MinCompatibleVersion as RequiredCheetahVersion
-from Cheetah.Version import MinCompatibleVersionTuple as RequiredCheetahVersionTuple
-from Cheetah.Template import Template
-from Cheetah.DummyTransaction import *
-from Cheetah.NameMapper import NotFound, valueForName, valueFromSearchList, valueFromFrameOrSearchList
-from Cheetah.CacheRegion import CacheRegion
-import Cheetah.Filters as Filters
-import Cheetah.ErrorCatchers as ErrorCatchers
-from xpdeint.Vectors.VectorInitialisation import VectorInitialisation
-from xpdeint.CallOnceGuards import callOnceGuard
-from xpdeint.Geometry.UniformDimensionRepresentation import UniformDimensionRepresentation
-from xpdeint.Geometry.SplitUniformDimensionRepresentation import SplitUniformDimensionRepresentation
-
-##################################################
-## MODULE CONSTANTS
-VFFSL=valueFromFrameOrSearchList
-VFSL=valueFromSearchList
-VFN=valueForName
-currentTime=time.time
-__CHEETAH_version__ = '2.4.4'
-__CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976196.588244
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:16 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/Vectors/VectorInitialisationFromXSIL.tmpl'
-__CHEETAH_srcLastModified__ = 'Tue Sep 30 14:42:51 2014'
-__CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
-
-if __CHEETAH_versionTuple__ < RequiredCheetahVersionTuple:
-    raise AssertionError(
-      'This template was compiled with Cheetah version'
-      ' %s. Templates compiled before version %s must be recompiled.'%(
-         __CHEETAH_version__, RequiredCheetahVersion))
-
-##################################################
-## CLASSES
-
-class VectorInitialisationFromXSIL(VectorInitialisation):
-
-    ##################################################
-    ## CHEETAH GENERATED METHODS
-
-
-    def __init__(self, *args, **KWs):
-
-        super(VectorInitialisationFromXSIL, self).__init__(*args, **KWs)
-        if not self._CHEETAH__instanceInitialized:
-            cheetahKWArgs = {}
-            allowedKWs = 'searchList namespaces filter filtersLib errorCatcher'.split()
-            for k,v in KWs.items():
-                if k in allowedKWs: cheetahKWArgs[k] = v
-            self._initCheetahInstance(**cheetahKWArgs)
-        
-
-    def description(self, **KWS):
-
-
-
-        ## Generated from @def description: Vector initialisation from an XSIL file at line 30, col 1.
-        trans = KWS.get("trans")
-        if (not trans and not self._CHEETAH__isBuffering and not callable(self.transaction)):
-            trans = self.transaction # is None unless self.awake() was called
-        if not trans:
-            trans = DummyTransaction()
-            _dummyTrans = True
-        else: _dummyTrans = False
-        write = trans.response().write
-        SL = self._CHEETAH__searchList
-        _filter = self._CHEETAH__currentFilter
-        
-        ########################################
-        ## START - generated method body
-        
-        write(u'''Vector initialisation from an XSIL file''')
-        
-        ########################################
-        ## END - generated method body
-        
-        return _dummyTrans and trans.response().getvalue() or ""
-        
-
-    @callOnceGuard
-    def static_functionPrototypes(self, **KWS):
-
-
-
-        ## CHEETAH: generated from @def static_functionPrototypes at line 33, col 1.
-        trans = KWS.get("trans")
-        if (not trans and not self._CHEETAH__isBuffering and not callable(self.transaction)):
-            trans = self.transaction # is None unless self.awake() was called
-        if not trans:
-            trans = DummyTransaction()
-            _dummyTrans = True
-        else: _dummyTrans = False
-        write = trans.response().write
-        SL = self._CHEETAH__searchList
-        _filter = self._CHEETAH__currentFilter
-        
-        ########################################
-        ## START - generated method body
-        
-        # 
-        _v = super(VectorInitialisationFromXSIL, self).static_functionPrototypes()
-        if _v is not None: write(_filter(_v))
-        # 
-        write(u'''static inline uint32_t XMDSSwapInt32(uint32_t __arg);
-static inline uint64_t XMDSSwapInt64(uint64_t __arg);
-static inline float XMDSSwapFloat(float __in);
-static inline double XMDSSwapDouble(double __in);
-''')
-        # 
-        
-        ########################################
-        ## END - generated method body
-        
-        return _dummyTrans and trans.response().getvalue() or ""
-        
-
-    @callOnceGuard
-    def globals(self, **KWS):
-
-
-
-        ## CHEETAH: generated from @def globals at line 45, col 1.
-        trans = KWS.get("trans")
-        if (not trans and not self._CHEETAH__isBuffering and not callable(self.transaction)):
-            trans = self.transaction # is None unless self.awake() was called
-        if not trans:
-            trans = DummyTransaction()
-            _dummyTrans = True
-        else: _dummyTrans = False
-        write = trans.response().write
-        SL = self._CHEETAH__searchList
-        _filter = self._CHEETAH__currentFilter
-        
-        ########################################
-        ## START - generated method body
-        
-        _v = super(VectorInitialisationFromXSIL, self).globals()
-        if _v is not None: write(_filter(_v))
-        # 
-        write(u'''// This stuff is here because libxmds requires it.
-// That is because we need the XML parser in order to be able
-// to load XSIL files to initialise fields
-bool debugFlag = false;
-bool xmlDebugFlag =  false;
-''')
-        # 
-        
-        ########################################
-        ## END - generated method body
-        
-        return _dummyTrans and trans.response().getvalue() or ""
-        
-
-    @callOnceGuard
-    def static_functionImplementations(self, **KWS):
-
-
-
-        ## CHEETAH: generated from @def static_functionImplementations at line 57, col 1.
-        trans = KWS.get("trans")
-        if (not trans and not self._CHEETAH__isBuffering and not callable(self.transaction)):
-            trans = self.transaction # is None unless self.awake() was called
-        if not trans:
-            trans = DummyTransaction()
-            _dummyTrans = True
-        else: _dummyTrans = False
-        write = trans.response().write
-        SL = self._CHEETAH__searchList
-        _filter = self._CHEETAH__currentFilter
-        
-        ########################################
-        ## START - generated method body
-        
-        # 
-        _v = super(VectorInitialisationFromXSIL, self).static_functionImplementations()
-        if _v is not None: write(_filter(_v))
-        # 
-        write(u'''
-static inline uint32_t XMDSSwapInt32(uint32_t __arg)
-{
-  union {
-    uint8_t ui8[4];
-    uint32_t ui32;
-  } a, b;
-  a.ui32 = __arg;
-  b.ui8[0] = a.ui8[3];
-  b.ui8[1] = a.ui8[2];
-  b.ui8[2] = a.ui8[1];
-  b.ui8[3] = a.ui8[0];
-  return b.ui32;
-}
-
-static inline uint64_t XMDSSwapInt64(uint64_t __arg)
-{
-  union {
-    uint32_t ui32[2];
-    uint64_t ui64;
-  } a, b;
-  a.ui64 = __arg;
-  b.ui32[0] = XMDSSwapInt32(a.ui32[1]);
-  b.ui32[1] = XMDSSwapInt32(a.ui32[0]);
-  return b.ui64;
-}
-
-static inline float XMDSSwapFloat(float __arg)
-{
-  union {
-    uint32_t ui32;
-    float f;
-  } a;
-  a.f = __arg;
-  a.ui32 = XMDSSwapInt32(a.ui32);
-  return a.f;
-}
-
-static inline double XMDSSwapDouble(double __arg)
-{
-  union {
-    uint64_t ui64;
-    double d;
-  } a;
-  a.d = __arg;
-  a.ui64 = XMDSSwapInt64(a.ui64);
-  return a.d;
-}
-''')
-        # 
-        
-        ########################################
-        ## END - generated method body
-        
-        return _dummyTrans and trans.response().getvalue() or ""
-        
-
-    def initialiseVector(self, **KWS):
-
-
-
-        ## CHEETAH: generated from @def initialiseVector at line 116, col 1.
-        trans = KWS.get("trans")
-        if (not trans and not self._CHEETAH__isBuffering and not callable(self.transaction)):
-            trans = self.transaction # is None unless self.awake() was called
-        if not trans:
-            trans = DummyTransaction()
-            _dummyTrans = True
-        else: _dummyTrans = False
-        write = trans.response().write
-        SL = self._CHEETAH__searchList
-        _filter = self._CHEETAH__currentFilter
-        
-        ########################################
-        ## START - generated method body
-        
-        # 
-        initialisationCodeBlock = VFFSL(SL,"codeBlocks",True)['initialisation']
-        write(u'''// XSIL initialisation has three stages.
-// 1. Initialise the vector to zero.
-// 2. Execute any CDATA code if there is any.
-// 3. Read data from the XSIL file.
-
-{
-  // Stage 1 of initialisation
-  bzero(_active_''')
-        _v = VFFSL(SL,"vector.id",True) # u'${vector.id}' on line 126, col 17
-        if _v is not None: write(_filter(_v, rawExpr=u'${vector.id}')) # from line 126, col 17.
-        write(u''', sizeof(''')
-        _v = VFFSL(SL,"vector.type",True) # u'${vector.type}' on line 126, col 38
-        if _v is not None: write(_filter(_v, rawExpr=u'${vector.type}')) # from line 126, col 38.
-        write(u''') * ''')
-        _v = VFFSL(SL,"vector.allocSize",True) # u'${vector.allocSize}' on line 126, col 56
-        if _v is not None: write(_filter(_v, rawExpr=u'${vector.allocSize}')) # from line 126, col 56.
-        write(u''');
-''')
-        if VFN(VFFSL(SL,"initialisationCodeBlock.codeString",True),"isspace",False)(): # generated from line 127, col 3
-            write(u'''  // There is no stage 2
-''')
-        else: # generated from line 129, col 3
-            vectorOverrides = []
-            if VFFSL(SL,"vector.integratingComponents",True): # generated from line 131, col 5
-                vectorOverrides.append(VFFSL(SL,"vector",True))
-            write(u'''  // Stage 2 of initialisation
-  ''')
-            _v = VFN(VFFSL(SL,"initialisationCodeBlock",True),"loop",False)(self.insideInitialisationLoops, vectorOverrides=vectorOverrides) # u'${initialisationCodeBlock.loop(self.insideInitialisationLoops, vectorOverrides=vectorOverrides), autoIndent=True}' on line 135, col 3
-            if _v is not None: write(_filter(_v, autoIndent=True, rawExpr=u'${initialisationCodeBlock.loop(self.insideInitialisationLoops, vectorOverrides=vectorOverrides), autoIndent=True}')) # from line 135, col 3.
-        write(u'''}
-
-char **_dimNames  = new char* [_''')
-        _v = VFFSL(SL,"vector.field.name",True) # u'${vector.field.name}' on line 139, col 33
-        if _v is not None: write(_filter(_v, rawExpr=u'${vector.field.name}')) # from line 139, col 33.
-        write(u'''_ndims];
-double *_dimDelta = new double[_''')
-        _v = VFFSL(SL,"vector.field.name",True) # u'${vector.field.name}' on line 140, col 33
-        if _v is not None: write(_filter(_v, rawExpr=u'${vector.field.name}')) # from line 140, col 33.
-        write(u'''_ndims];
-double *_dimMin   = new double[_''')
-        _v = VFFSL(SL,"vector.field.name",True) # u'${vector.field.name}' on line 141, col 33
-        if _v is not None: write(_filter(_v, rawExpr=u'${vector.field.name}')) # from line 141, col 33.
-        write(u'''_ndims];
-unsigned long *_dimLattice = new unsigned long[_''')
-        _v = VFFSL(SL,"vector.field.name",True) # u'${vector.field.name}' on line 142, col 49
-        if _v is not None: write(_filter(_v, rawExpr=u'${vector.field.name}')) # from line 142, col 49.
-        write(u'''_ndims];
-
-''')
-        for dimensionNumber, dimension in enumerate(VFFSL(SL,"vector.field.dimensions",True)): # generated from line 144, col 3
-            dimRep = dimension.inBasis(VFFSL(SL,"vector.initialBasis",True))
-            write(u'''_dimNames[''')
-            _v = VFFSL(SL,"dimensionNumber",True) # u'$dimensionNumber' on line 146, col 11
-            if _v is not None: write(_filter(_v, rawExpr=u'$dimensionNumber')) # from line 146, col 11.
-            write(u''']   = "''')
-            _v = VFFSL(SL,"dimRep.name",True) # u'${dimRep.name}' on line 146, col 34
-            if _v is not None: write(_filter(_v, rawExpr=u'${dimRep.name}')) # from line 146, col 34.
-            write(u'''";
-_dimDelta[''')
-            _v = VFFSL(SL,"dimensionNumber",True) # u'$dimensionNumber' on line 147, col 11
-            if _v is not None: write(_filter(_v, rawExpr=u'$dimensionNumber')) # from line 147, col 11.
-            write(u''']   = ''')
-            _v = VFFSL(SL,"dimRep.stepSize",True) # u'${dimRep.stepSize}' on line 147, col 33
-            if _v is not None: write(_filter(_v, rawExpr=u'${dimRep.stepSize}')) # from line 147, col 33.
-            write(u''';
-_dimMin[''')
-            _v = VFFSL(SL,"dimensionNumber",True) # u'$dimensionNumber' on line 148, col 9
-            if _v is not None: write(_filter(_v, rawExpr=u'$dimensionNumber')) # from line 148, col 9.
-            write(u''']     = ''')
-            _v = VFFSL(SL,"dimRep.minimum",True) # u'${dimRep.minimum}' on line 148, col 33
-            if _v is not None: write(_filter(_v, rawExpr=u'${dimRep.minimum}')) # from line 148, col 33.
-            write(u''';
-_dimLattice[''')
-            _v = VFFSL(SL,"dimensionNumber",True) # u'$dimensionNumber' on line 149, col 13
-            if _v is not None: write(_filter(_v, rawExpr=u'$dimensionNumber')) # from line 149, col 13.
-            write(u'''] = ''')
-            _v = VFFSL(SL,"dimRep.globalLattice",True) # u'${dimRep.globalLattice}' on line 149, col 33
-            if _v is not None: write(_filter(_v, rawExpr=u'${dimRep.globalLattice}')) # from line 149, col 33.
-            write(u''';
-
-''')
-        # 
-        componentNameSizePrefix = ''
-        if VFFSL(SL,"vector.type",True) == 'complex': # generated from line 154, col 3
-            componentNameSizePrefix = '2 * '
-        write(u'''char **_componentNames = new char*[''')
-        _v = VFFSL(SL,"componentNameSizePrefix",True) # u'${componentNameSizePrefix}' on line 157, col 36
-        if _v is not None: write(_filter(_v, rawExpr=u'${componentNameSizePrefix}')) # from line 157, col 36.
-        write(u'''_''')
-        _v = VFFSL(SL,"vector.id",True) # u'${vector.id}' on line 157, col 63
-        if _v is not None: write(_filter(_v, rawExpr=u'${vector.id}')) # from line 157, col 63.
-        write(u'''_ncomponents + 1];
-int *_componentFieldIndices = new int[''')
-        _v = VFFSL(SL,"componentNameSizePrefix",True) # u'${componentNameSizePrefix}' on line 158, col 39
-        if _v is not None: write(_filter(_v, rawExpr=u'${componentNameSizePrefix}')) # from line 158, col 39.
-        write(u'''_''')
-        _v = VFFSL(SL,"vector.id",True) # u'${vector.id}' on line 158, col 66
-        if _v is not None: write(_filter(_v, rawExpr=u'${vector.id}')) # from line 158, col 66.
-        write(u'''_ncomponents];
-
-''')
-        componentNameIndex = 0
-        for component in VFFSL(SL,"vector.components",True): # generated from line 161, col 3
-            write(u'''_componentNames[''')
-            _v = VFFSL(SL,"componentNameIndex",True) # u'$componentNameIndex' on line 162, col 17
-            if _v is not None: write(_filter(_v, rawExpr=u'$componentNameIndex')) # from line 162, col 17.
-            write(u'''] = "''')
-            _v = VFFSL(SL,"component",True) # u'${component}' on line 162, col 41
-            if _v is not None: write(_filter(_v, rawExpr=u'${component}')) # from line 162, col 41.
-            write(u'''R";
-''')
-            componentNameIndex += 1
-            # 
-            if VFFSL(SL,"vector.type",True) == 'complex': # generated from line 165, col 5
-                write(u'''_componentNames[''')
-                _v = VFFSL(SL,"componentNameIndex",True) # u'$componentNameIndex' on line 166, col 17
-                if _v is not None: write(_filter(_v, rawExpr=u'$componentNameIndex')) # from line 166, col 17.
-                write(u'''] = "''')
-                _v = VFFSL(SL,"component",True) # u'${component}' on line 166, col 41
-                if _v is not None: write(_filter(_v, rawExpr=u'${component}')) # from line 166, col 41.
-                write(u'''I";
-''')
-                componentNameIndex += 1
-            write(u'''
-''')
-        write(u'''_componentNames[''')
-        _v = VFFSL(SL,"componentNameIndex",True) # u'$componentNameIndex' on line 171, col 17
-        if _v is not None: write(_filter(_v, rawExpr=u'$componentNameIndex')) # from line 171, col 17.
-        write(u'''] = NULL;
-
-char *_binaryDataFilename;
-int _unsignedLongSize;
-bool _dataEncodingIsNative;
-bool _isPrecisionDouble;
-unsigned long _nDataComponents;
-unsigned long *_inputLattice;
-int *_componentInputIndices;
-
-if (!initialiseFieldFromXSILFile("''')
-        _v = VFFSL(SL,"filename",True) # u'${filename}' on line 181, col 35
-        if _v is not None: write(_filter(_v, rawExpr=u'${filename}')) # from line 181, col 35.
-        write(u'''", "''')
-        _v = VFFSL(SL,"momentGroupName",True) # u'${momentGroupName}' on line 181, col 50
-        if _v is not None: write(_filter(_v, rawExpr=u'${momentGroupName}')) # from line 181, col 50.
-        write(u'''", _''')
-        _v = VFFSL(SL,"vector.field.name",True) # u'${vector.field.name}' on line 181, col 72
-        if _v is not None: write(_filter(_v, rawExpr=u'${vector.field.name}')) # from line 181, col 72.
-        write(u'''_ndims, _dimNames, _componentNames, 
-                                 // output variables
-                                 &_binaryDataFilename, &_unsignedLongSize, &_dataEncodingIsNative, &_isPrecisionDouble,
-                                 &_nDataComponents, &_inputLattice, &_componentInputIndices))
-  _LOG(_ERROR_LOG_LEVEL, "Unable to load data from ''')
-        _v = VFFSL(SL,"filename",True) # u'${filename}' on line 185, col 52
-        if _v is not None: write(_filter(_v, rawExpr=u'${filename}')) # from line 185, col 52.
-        write(u'''\\nExiting.\\n");
-
-FILE *_inputFile = fopen(_binaryDataFilename, "rb");
-if (_inputFile == NULL)
-  _LOG(_ERROR_LOG_LEVEL, "Unable to open binary input file %s\\n", _binaryDataFilename);
-
-typedef union {
-  float *_floatPtr;
-  double *_doublePtr;
-} _GenericRealNumberPtr;
-
-typedef union {
-  unsigned long _ulong;
-  uint32_t _uint32;
-  uint64_t _uint64;
-} _GenericUnsignedLong;
-
-_GenericUnsignedLong _size;
-_GenericRealNumberPtr *_inputData = new _GenericRealNumberPtr[_''')
-        _v = VFFSL(SL,"vector.field.name",True) # u'${vector.field.name}' on line 203, col 64
-        if _v is not None: write(_filter(_v, rawExpr=u'${vector.field.name}')) # from line 203, col 64.
-        write(u'''_ndims];
-
-// loop over the dimensions in the binary file
-for (int __i = 0; __i < _''')
-        _v = VFFSL(SL,"vector.field.name",True) # u'${vector.field.name}' on line 206, col 26
-        if _v is not None: write(_filter(_v, rawExpr=u'${vector.field.name}')) # from line 206, col 26.
-        write(u'''_ndims; __i++) {
-  uint64_t _sizeValue;
-  switch(_unsignedLongSize) {
-''')
-        for unsignedLongSize, unionElement, typeName, swapFunctionName in [('0', '_ulong',  'unsigned long', 'XMDSSwapInt32'),                                                                      ('4', '_uint32', 'uint32_t',      'XMDSSwapInt32'),                                                                      ('8', '_uint64', 'uint64_t',      'XMDSSwapInt64')]: # generated from line 209, col 3
-            write(u'''    case ''')
-            _v = VFFSL(SL,"unsignedLongSize",True) # u'${unsignedLongSize}' on line 212, col 10
-            if _v is not None: write(_filter(_v, rawExpr=u'${unsignedLongSize}')) # from line 212, col 10.
-            write(u''':
-      fread(&_size.''')
-            _v = VFFSL(SL,"unionElement",True) # u'${unionElement}' on line 213, col 20
-            if _v is not None: write(_filter(_v, rawExpr=u'${unionElement}')) # from line 213, col 20.
-            write(u''', sizeof(''')
-            _v = VFFSL(SL,"typeName",True) # u'${typeName}' on line 213, col 44
-            if _v is not None: write(_filter(_v, rawExpr=u'${typeName}')) # from line 213, col 44.
-            write(u'''), 1, _inputFile);
-      if (_dataEncodingIsNative)
-        _sizeValue = _size.''')
-            _v = VFFSL(SL,"unionElement",True) # u'${unionElement}' on line 215, col 28
-            if _v is not None: write(_filter(_v, rawExpr=u'${unionElement}')) # from line 215, col 28.
-            write(u''';
-      else
-        _sizeValue = ''')
-            _v = VFFSL(SL,"swapFunctionName",True) # u'${swapFunctionName}' on line 217, col 22
-            if _v is not None: write(_filter(_v, rawExpr=u'${swapFunctionName}')) # from line 217, col 22.
-            write(u'''(_size.''')
-            _v = VFFSL(SL,"unionElement",True) # u'${unionElement}' on line 217, col 48
-            if _v is not None: write(_filter(_v, rawExpr=u'${unionElement}')) # from line 217, col 48.
-            write(u''');
-      _unsignedLongSize = sizeof(''')
-            _v = VFFSL(SL,"typeName",True) # u'${typeName}' on line 218, col 34
-            if _v is not None: write(_filter(_v, rawExpr=u'${typeName}')) # from line 218, col 34.
-            write(u''');
-      break;
-    
-''')
-        write(u'''    default:
-      _LOG(_ERROR_LOG_LEVEL, "Unexpected unsigned long size in input XSIL file. Was expecting \'4\' or \'8\', instead got \'%i\'\\n", _unsignedLongSize);
-  }
-  
-  // Read in the data (in either single or double precision)
-  if (_isPrecisionDouble) {
-    _inputData[__i]._doublePtr = new double[_sizeValue];
-    fread(_inputData[__i]._doublePtr, sizeof(double), _sizeValue, _inputFile);
-    if (!_dataEncodingIsNative) {
-      for (unsigned int __j = 0; __j < _sizeValue; __j++)
-        _inputData[__i]._doublePtr[__j] = XMDSSwapDouble(_inputData[__i]._doublePtr[__j]);
-    }
-  } else {
-    _inputData[__i]._floatPtr = new float[_sizeValue];
-    fread(_inputData[__i]._floatPtr, sizeof(float), _sizeValue, _inputFile);
-    if (!_dataEncodingIsNative) {
-      for (unsigned int __j = 0; __j < _sizeValue; __j++)
-        _inputData[__i]._floatPtr[__j] = XMDSSwapFloat(_inputData[__i]._floatPtr[__j]);
-    }
-  }
-  
-  double _difference;
-  if (_isPrecisionDouble)
-    _difference = _inputData[__i]._doublePtr[1] - _inputData[__i]._doublePtr[0];
-  else
-    _difference = _inputData[__i]._floatPtr[1]  - _inputData[__i]._floatPtr[0];
-  
-  // Assert that the deltas are the same to within 1%
-  if (abs(_dimDelta[__i] - _difference) > 0.01 * _dimDelta[__i])
-    // _LOG will cause the simulation to exit
-    _LOG(_ERROR_LOG_LEVEL, "The step size in the \'%s\' dimension of the input data and the simulation grid do not match.\\n"
-                           "The step size in the \'%s\' dimension was %e, while the input data had a step size of %e.\\n",
-                           _dimNames[__i], _dimNames[__i], _dimDelta[__i], _difference);
-''')
-        # 
-        if VFFSL(SL,"geometryMatchingMode",True) == 'strict': # generated from line 256, col 3
-            write(u'''  
-  // STRICT MODE: assert that the start point is the same to within 10% of one delta,
-  //              and that the number of lattice points is the same.
-  double _start;
-  if (_isPrecisionDouble)
-    _start = _inputData[__i]._doublePtr[0];
-  else
-    _start = _inputData[__i]._floatPtr[0];
-  
-  if (abs(_dimMin[__i] - _start) > 0.1*_dimDelta[__i])
-    // _LOG will cause the simulation to exit
-    _LOG(_ERROR_LOG_LEVEL, "Geometry matching mode is strict, so the starting coordinate of each dimension in the field\\n"
-                           "must be the same as in the input grid.\\n"
-                           "The problem is with dimension \'%s\'.\\n", _dimNames[__i]);
-  
-  if (_dimLattice[__i] != _inputLattice[__i])
-    // _LOG will cause the simulation to exit
-    _LOG(_ERROR_LOG_LEVEL, "Geometry matching mode is strict, so the number of lattice points in each dimension of the field\\n"
-                           "must be the same as in the input grid.\\n"
-                           "The problem is with dimension \'%s\'.\\n", _dimNames[__i]);
-''')
-        write(u'''}
-
-long _binaryFileBaseOffset = ftell(_inputFile);
-long _realNumberSize = _isPrecisionDouble ? sizeof(double) : sizeof(float);
-off_t _vectorFieldSize = _unsignedLongSize + _realNumberSize''')
-        _v = ''.join([''.join([u' * _inputLattice[',str(VFFSL(SL,"i",True)),u']']) for i in range(len(VFFSL(SL,"vector.field.dimensions",True)))]) # u"${''.join([c' * _inputLattice[$i]' for i in range(len($vector.field.dimensions))])}" on line 282, col 61
-        if _v is not None: write(_filter(_v, rawExpr=u"${''.join([c' * _inputLattice[$i]' for i in range(len($vector.field.dimensions))])}")) # from line 282, col 61.
-        write(u''';
-
-// Create minimum value variables for dimensions not in fourier space
-''')
-        for dimensionNumber, dimension in enumerate(VFFSL(SL,"vector.field.dimensions",True)): # generated from line 285, col 3
-            write(u'''double _inputfield_min_''')
-            _v = VFFSL(SL,"dimension.name",True) # u'${dimension.name}' on line 286, col 24
-            if _v is not None: write(_filter(_v, rawExpr=u'${dimension.name}')) # from line 286, col 24.
-            write(u''';
-if (_isPrecisionDouble)
-  _inputfield_min_''')
-            _v = VFFSL(SL,"dimension.name",True) # u'${dimension.name}' on line 288, col 19
-            if _v is not None: write(_filter(_v, rawExpr=u'${dimension.name}')) # from line 288, col 19.
-            write(u''' = _inputData[''')
-            _v = VFFSL(SL,"dimensionNumber",True) # u'${dimensionNumber}' on line 288, col 50
-            if _v is not None: write(_filter(_v, rawExpr=u'${dimensionNumber}')) # from line 288, col 50.
-            write(u''']._doublePtr[0];
-else
-  _inputfield_min_''')
-            _v = VFFSL(SL,"dimension.name",True) # u'${dimension.name}' on line 290, col 19
-            if _v is not None: write(_filter(_v, rawExpr=u'${dimension.name}')) # from line 290, col 19.
-            write(u''' = _inputData[''')
-            _v = VFFSL(SL,"dimensionNumber",True) # u'${dimensionNumber}' on line 290, col 50
-            if _v is not None: write(_filter(_v, rawExpr=u'${dimensionNumber}')) # from line 290, col 50.
-            write(u''']._floatPtr[0];
-''')
-        write(u'''
-''')
-        if len(VFFSL(SL,"vector.field.dimensions",True)): # generated from line 293, col 3
-            write(u'''// Create inputfield index variables
-long ''')
-            _v = ', '.join([''.join([u'_inputfield',str(VFN(VFN(VFFSL(SL,"dim",True),"inBasis",False)(VFFSL(SL,"vector.initialBasis",True)),"loopIndex",True))]) for dim in VFFSL(SL,"vector.field.dimensions",True)]) # u"${', '.join([c'_inputfield${dim.inBasis($vector.initialBasis).loopIndex}' for dim in $vector.field.dimensions])}" on line 295, col 6
-            if _v is not None: write(_filter(_v, rawExpr=u"${', '.join([c'_inputfield${dim.inBasis($vector.initialBasis).loopIndex}' for dim in $vector.field.dimensions])}")) # from line 295, col 6.
-            write(u''';
-''')
-        write(u'''
-// Index pointer into the input array (new and old)
-off_t _inputfield_index_pointer, _inputfield_old_index_pointer;
-for (unsigned int _component = 0; _component < ''')
-        _v = VFFSL(SL,"componentNameSizePrefix",True) # u'${componentNameSizePrefix}' on line 300, col 48
-        if _v is not None: write(_filter(_v, rawExpr=u'${componentNameSizePrefix}')) # from line 300, col 48.
-        write(u'''_''')
-        _v = VFFSL(SL,"vector.id",True) # u'${vector.id}' on line 300, col 75
-        if _v is not None: write(_filter(_v, rawExpr=u'${vector.id}')) # from line 300, col 75.
-        write(u"""_ncomponents; _component++) {
-  if (_componentInputIndices[_component] == -1)
-    // This just means that this component doesn't exist in the XSIL file
-    continue;
-  _inputfield_index_pointer = -42; // Just so that we always seek the first time
-  
-""")
-        loopingVectors = VFN(VFFSL(SL,"initialisationCodeBlock.dependencies",True),"copy",False)()
-        loopingVectors.add(VFFSL(SL,"vector",True))
-        write(u'''  
-  ''')
-        _v = VFFSL(SL,"loopOverFieldInBasisWithVectorsAndInnerContent",False)(VFFSL(SL,"initialisationCodeBlock.field",True),
-                                                   VFFSL(SL,"initialisationCodeBlock.basis",True),
-                                                   VFFSL(SL,"loopingVectors",True),
-                                                   VFFSL(SL,"insideDataLoops",True))
-        if _v is not None: write(_filter(_v, autoIndent=True, rawExpr=u'${loopOverFieldInBasisWithVectorsAndInnerContent($initialisationCodeBlock.field,\n                                                   $initialisationCodeBlock.basis,\n                                                   $loopingVectors,\n                                                   $insideDataLoops), autoIndent=True}')) # from line 309, col 3.
-        write(u'''  
-} // end the loop over components
-
-fclose(_inputFile);
-delete [] _dimNames;
-delete [] _componentNames;
-free(_binaryDataFilename);
-delete [] _inputLattice;
-delete [] _componentInputIndices;
-for (int __i = 0; __i < _''')
-        _v = VFFSL(SL,"vector.field.name",True) # u'${vector.field.name}' on line 322, col 26
-        if _v is not None: write(_filter(_v, rawExpr=u'${vector.field.name}')) # from line 322, col 26.
-        write(u'''_ndims; __i++) {
-  if (_isPrecisionDouble)
-    delete [] _inputData[__i]._doublePtr;
-  else
-    delete [] _inputData[__i]._floatPtr;
-}
-delete [] _inputData;
-''')
-        # 
-        
-        ########################################
-        ## END - generated method body
-        
-        return _dummyTrans and trans.response().getvalue() or ""
-        
-
-    def insideInitialisationLoops(self, codeString, **KWS):
-
-
-
-        ## CHEETAH: generated from @def insideInitialisationLoops($codeString) at line 332, col 1.
-        trans = KWS.get("trans")
-        if (not trans and not self._CHEETAH__isBuffering and not callable(self.transaction)):
-            trans = self.transaction # is None unless self.awake() was called
-        if not trans:
-            trans = DummyTransaction()
-            _dummyTrans = True
-        else: _dummyTrans = False
-        write = trans.response().write
-        SL = self._CHEETAH__searchList
-        _filter = self._CHEETAH__currentFilter
-        
-        ########################################
-        ## START - generated method body
-        
-        # 
-        write(u"""// Stage 2 of initialisation
-
-// The purpose of the following define is to give a (somewhat helpful) compile-time error
-// if the user has attempted to use the propagation dimension variable in the initialisation
-// block of a <vector> element. If they're trying to do this, what they really want is a 
-// <computed_vector> instead.
-#define """)
-        _v = VFFSL(SL,"propagationDimension",True) # u'${propagationDimension}' on line 340, col 9
-        if _v is not None: write(_filter(_v, rawExpr=u'${propagationDimension}')) # from line 340, col 9.
-        write(u''' Dont_use_propagation_dimension_''')
-        _v = VFFSL(SL,"propagationDimension",True) # u'${propagationDimension}' on line 340, col 64
-        if _v is not None: write(_filter(_v, rawExpr=u'${propagationDimension}')) # from line 340, col 64.
-        write(u'''_in_vector_element_CDATA_block___Use_a_computed_vector_instead
-
-// ********** Initialisation code ***************
-''')
-        _v = VFFSL(SL,"codeString",True) # u'${codeString}' on line 343, col 1
-        if _v is not None: write(_filter(_v, rawExpr=u'${codeString}')) # from line 343, col 1.
-        write(u'''// **********************************************
-#undef ''')
-        _v = VFFSL(SL,"propagationDimension",True) # u'${propagationDimension}' on line 345, col 8
-        if _v is not None: write(_filter(_v, rawExpr=u'${propagationDimension}')) # from line 345, col 8.
-        write(u'''
-''')
-        # 
-        
-        ########################################
-        ## END - generated method body
-        
-        return _dummyTrans and trans.response().getvalue() or ""
-        
-
-    def insideDataLoops(self, **KWS):
-
-
-
-        ## CHEETAH: generated from @def insideDataLoops at line 349, col 1.
-        trans = KWS.get("trans")
-        if (not trans and not self._CHEETAH__isBuffering and not callable(self.transaction)):
-            trans = self.transaction # is None unless self.awake() was called
-        if not trans:
-            trans = DummyTransaction()
-            _dummyTrans = True
-        else: _dummyTrans = False
-        write = trans.response().write
-        SL = self._CHEETAH__searchList
-        _filter = self._CHEETAH__currentFilter
-        
-        ########################################
-        ## START - generated method body
-        
-        # 
-        basis = VFFSL(SL,"vector.initialBasis",True)
-        write(u'''// Save the old initialisation pointer, and clear the new one
-_inputfield_old_index_pointer = _inputfield_index_pointer;
-_inputfield_index_pointer = 0;
-
-''')
-        for dimensionNumber, dimension in enumerate(VFFSL(SL,"vector.field.dimensions",True)): # generated from line 356, col 3
-            dimRep = dimension.inBasis(basis)
-            dimName = dimRep.name
-            write(u'''_inputfield''')
-            _v = VFFSL(SL,"dimRep.loopIndex",True) # u'${dimRep.loopIndex}' on line 359, col 12
-            if _v is not None: write(_filter(_v, rawExpr=u'${dimRep.loopIndex}')) # from line 359, col 12.
-            write(u''' = ''')
-            #  FIXME: Consider moving this to the dimension representations
-            if isinstance(dimRep, UniformDimensionRepresentation): # generated from line 361, col 5
-                write(u'''lround((''')
-                _v = VFFSL(SL,"dimName",True) # u'${dimName}' on line 362, col 9
-                if _v is not None: write(_filter(_v, rawExpr=u'${dimName}')) # from line 362, col 9.
-                write(u''' - _inputfield_min_''')
-                _v = VFFSL(SL,"dimName",True) # u'${dimName}' on line 362, col 38
-                if _v is not None: write(_filter(_v, rawExpr=u'${dimName}')) # from line 362, col 38.
-                write(u''')/_dimDelta[''')
-                _v = VFFSL(SL,"dimensionNumber",True) # u'${dimensionNumber}' on line 362, col 60
-                if _v is not None: write(_filter(_v, rawExpr=u'${dimensionNumber}')) # from line 362, col 60.
-                write(u''']);
-''')
-            elif isinstance(dimRep, SplitUniformDimensionRepresentation): # generated from line 363, col 5
-                write(u'''lround(''')
-                _v = VFFSL(SL,"dimName",True) # u'${dimName}' on line 364, col 8
-                if _v is not None: write(_filter(_v, rawExpr=u'${dimName}')) # from line 364, col 8.
-                write(u'''/_dimDelta[''')
-                _v = VFFSL(SL,"dimensionNumber",True) # u'${dimensionNumber}' on line 364, col 29
-                if _v is not None: write(_filter(_v, rawExpr=u'${dimensionNumber}')) # from line 364, col 29.
-                write(u''']) + (_inputLattice[''')
-                _v = VFFSL(SL,"dimensionNumber",True) # u'${dimensionNumber}' on line 364, col 67
-                if _v is not None: write(_filter(_v, rawExpr=u'${dimensionNumber}')) # from line 364, col 67.
-                write(u''']/2);
-''')
-            else: # generated from line 365, col 5
-                assert False, "XSIL Loading does not support loading data for dimensions that aren't uniformly spaced. The problem is with %s" % dimName
-            write(u'''
-// Check if the input grid has this coordinate value
-if (_inputfield''')
-            _v = VFFSL(SL,"dimRep.loopIndex",True) # u'${dimRep.loopIndex}' on line 370, col 16
-            if _v is not None: write(_filter(_v, rawExpr=u'${dimRep.loopIndex}')) # from line 370, col 16.
-            write(u''' < 0 || _inputfield''')
-            _v = VFFSL(SL,"dimRep.loopIndex",True) # u'${dimRep.loopIndex}' on line 370, col 54
-            if _v is not None: write(_filter(_v, rawExpr=u'${dimRep.loopIndex}')) # from line 370, col 54.
-            write(u''' >= _inputLattice[''')
-            _v = VFFSL(SL,"dimensionNumber",True) # u'${dimensionNumber}' on line 370, col 91
-            if _v is not None: write(_filter(_v, rawExpr=u'${dimensionNumber}')) # from line 370, col 91.
-            write(u"""])
-  // The input grid doesn't cover this point.
-  goto _ENDLOOP;
-
-// check that the input coordinate matches up with a field coordinate
-{
-  double _inputfield_""")
-            _v = VFFSL(SL,"dimName",True) # u'${dimName}' on line 376, col 22
-            if _v is not None: write(_filter(_v, rawExpr=u'${dimName}')) # from line 376, col 22.
-            write(u''';
-  if (_isPrecisionDouble)
-    _inputfield_''')
-            _v = VFFSL(SL,"dimName",True) # u'${dimName}' on line 378, col 17
-            if _v is not None: write(_filter(_v, rawExpr=u'${dimName}')) # from line 378, col 17.
-            write(u''' = _inputData[''')
-            _v = VFFSL(SL,"dimensionNumber",True) # u'${dimensionNumber}' on line 378, col 41
-            if _v is not None: write(_filter(_v, rawExpr=u'${dimensionNumber}')) # from line 378, col 41.
-            write(u''']._doublePtr[_inputfield''')
-            _v = VFFSL(SL,"dimRep.loopIndex",True) # u'${dimRep.loopIndex}' on line 378, col 83
-            if _v is not None: write(_filter(_v, rawExpr=u'${dimRep.loopIndex}')) # from line 378, col 83.
-            write(u'''];
-  else
-    _inputfield_''')
-            _v = VFFSL(SL,"dimName",True) # u'${dimName}' on line 380, col 17
-            if _v is not None: write(_filter(_v, rawExpr=u'${dimName}')) # from line 380, col 17.
-            write(u''' = _inputData[''')
-            _v = VFFSL(SL,"dimensionNumber",True) # u'${dimensionNumber}' on line 380, col 41
-            if _v is not None: write(_filter(_v, rawExpr=u'${dimensionNumber}')) # from line 380, col 41.
-            write(u''']._floatPtr[_inputfield''')
-            _v = VFFSL(SL,"dimRep.loopIndex",True) # u'${dimRep.loopIndex}' on line 380, col 82
-            if _v is not None: write(_filter(_v, rawExpr=u'${dimRep.loopIndex}')) # from line 380, col 82.
-            write(u'''];
-  
-  if (abs(_inputfield_''')
-            _v = VFFSL(SL,"dimName",True) # u'${dimName}' on line 382, col 23
-            if _v is not None: write(_filter(_v, rawExpr=u'${dimName}')) # from line 382, col 23.
-            write(u''' - ''')
-            _v = VFFSL(SL,"dimName",True) # u'${dimName}' on line 382, col 36
-            if _v is not None: write(_filter(_v, rawExpr=u'${dimName}')) # from line 382, col 36.
-            write(u''') > 0.1*_dimDelta[''')
-            _v = VFFSL(SL,"dimensionNumber",True) # u'${dimensionNumber}' on line 382, col 64
-            if _v is not None: write(_filter(_v, rawExpr=u'${dimensionNumber}')) # from line 382, col 64.
-            write(u'''])
-    // This only happens if your input field grid does not exactly match up with the simulation grid.
-    // _LOG will cause the simulation to exit
-''')
-            dimRepTypeFormat = {'real': 'e', 'long': 'li'}[dimRep.type]
-            write(u'''    _LOG(_ERROR_LOG_LEVEL, "The input field coordinate in the \'''')
-            _v = VFFSL(SL,"dimName",True) # u'$dimName' on line 386, col 64
-            if _v is not None: write(_filter(_v, rawExpr=u'$dimName')) # from line 386, col 64.
-            write(u'''\' dimension does not match up with the field coordinate.\\n"
-                           "''')
-            _v = VFFSL(SL,"dimRep.loopIndex",True) # u'${dimRep.loopIndex}' on line 387, col 29
-            if _v is not None: write(_filter(_v, rawExpr=u'${dimRep.loopIndex}')) # from line 387, col 29.
-            write(u''': %li, ''')
-            _v = VFFSL(SL,"dimName",True) # u'${dimName}' on line 387, col 55
-            if _v is not None: write(_filter(_v, rawExpr=u'${dimName}')) # from line 387, col 55.
-            write(u''': %''')
-            _v = VFFSL(SL,"dimRepTypeFormat",True) # u'${dimRepTypeFormat}' on line 387, col 68
-            if _v is not None: write(_filter(_v, rawExpr=u'${dimRepTypeFormat}')) # from line 387, col 68.
-            write(u''', _inputfield''')
-            _v = VFFSL(SL,"dimRep.loopIndex",True) # u'${dimRep.loopIndex}' on line 387, col 100
-            if _v is not None: write(_filter(_v, rawExpr=u'${dimRep.loopIndex}')) # from line 387, col 100.
-            write(u''': %li, "
-                           "_inputfield_''')
-            _v = VFFSL(SL,"dimName",True) # u'${dimName}' on line 388, col 41
-            if _v is not None: write(_filter(_v, rawExpr=u'${dimName}')) # from line 388, col 41.
-            write(u''': %e, d''')
-            _v = VFFSL(SL,"dimName",True) # u'${dimName}' on line 388, col 58
-            if _v is not None: write(_filter(_v, rawExpr=u'${dimName}')) # from line 388, col 58.
-            write(u''': %e, diff/Delta: %e\\n",
-                           ''')
-            _v = VFFSL(SL,"dimRep.loopIndex",True) # u'${dimRep.loopIndex}' on line 389, col 28
-            if _v is not None: write(_filter(_v, rawExpr=u'${dimRep.loopIndex}')) # from line 389, col 28.
-            write(u''', ''')
-            _v = VFFSL(SL,"dimName",True) # u'${dimName}' on line 389, col 49
-            if _v is not None: write(_filter(_v, rawExpr=u'${dimName}')) # from line 389, col 49.
-            write(u''', _inputfield''')
-            _v = VFFSL(SL,"dimRep.loopIndex",True) # u'${dimRep.loopIndex}' on line 389, col 72
-            if _v is not None: write(_filter(_v, rawExpr=u'${dimRep.loopIndex}')) # from line 389, col 72.
-            write(u''',
-                           _inputfield_''')
-            _v = VFFSL(SL,"dimName",True) # u'${dimName}' on line 390, col 40
-            if _v is not None: write(_filter(_v, rawExpr=u'${dimName}')) # from line 390, col 40.
-            write(u''', (real)d''')
-            _v = VFFSL(SL,"dimName",True) # u'${dimName}' on line 390, col 59
-            if _v is not None: write(_filter(_v, rawExpr=u'${dimName}')) # from line 390, col 59.
-            write(u''', abs(_inputfield_''')
-            _v = VFFSL(SL,"dimName",True) # u'${dimName}' on line 390, col 87
-            if _v is not None: write(_filter(_v, rawExpr=u'${dimName}')) # from line 390, col 87.
-            write(u''' - ''')
-            _v = VFFSL(SL,"dimName",True) # u'${dimName}' on line 390, col 100
-            if _v is not None: write(_filter(_v, rawExpr=u'${dimName}')) # from line 390, col 100.
-            write(u''')/_dimDelta[''')
-            _v = VFFSL(SL,"dimensionNumber",True) # u'$dimensionNumber' on line 390, col 122
-            if _v is not None: write(_filter(_v, rawExpr=u'$dimensionNumber')) # from line 390, col 122.
-            write(u''']);
-}
-
-_inputfield_index_pointer += _inputfield''')
-            _v = VFFSL(SL,"dimRep.loopIndex",True) # u'${dimRep.loopIndex}' on line 393, col 41
-            if _v is not None: write(_filter(_v, rawExpr=u'${dimRep.loopIndex}')) # from line 393, col 41.
-            _v = ''.join([''.join([u' * _inputLattice[',str(VFFSL(SL,"i",True)),u']']) for i in range(dimensionNumber + 1, len(VFFSL(SL,"vector.field.dimensions",True)))]) # u"${''.join([c' * _inputLattice[$i]' for i in range(dimensionNumber + 1, len($vector.field.dimensions))])}" on line 393, col 60
-            if _v is not None: write(_filter(_v, rawExpr=u"${''.join([c' * _inputLattice[$i]' for i in range(dimensionNumber + 1, len($vector.field.dimensions))])}")) # from line 393, col 60.
-            write(u''';
-
-''')
-        write(u'''
-
-double _value;
-if (_inputfield_index_pointer != _inputfield_old_index_pointer + 1)
-  fseeko(_inputFile, _binaryFileBaseOffset + (_componentInputIndices[_component] - _''')
-        _v = VFFSL(SL,"vector.field.name",True) # u'${vector.field.name}' on line 400, col 85
-        if _v is not None: write(_filter(_v, rawExpr=u'${vector.field.name}')) # from line 400, col 85.
-        write(u'''_ndims) * _vectorFieldSize
-                     + _unsignedLongSize + _inputfield_index_pointer * _realNumberSize, SEEK_SET);
-
-if (_isPrecisionDouble) {
-  fread(&_value, sizeof(double), 1, _inputFile);
-  if (!_dataEncodingIsNative)
-    _value = XMDSSwapDouble(_value);
-} else {
-  float _temp;
-  fread(&_temp, sizeof(float), 1, _inputFile);
-  if (!_dataEncodingIsNative)
-    _temp = XMDSSwapFloat(_temp);
-  _value = (double)_temp;
-}
-
-''')
-        if VFFSL(SL,"vector.type",True) == 'real': # generated from line 415, col 3
-            write(u'''_active_''')
-            _v = VFFSL(SL,"vector.id",True) # u'${vector.id}' on line 416, col 9
-            if _v is not None: write(_filter(_v, rawExpr=u'${vector.id}')) # from line 416, col 9.
-            write(u'''[_''')
-            _v = VFFSL(SL,"vector.id",True) # u'${vector.id}' on line 416, col 23
-            if _v is not None: write(_filter(_v, rawExpr=u'${vector.id}')) # from line 416, col 23.
-            write(u'''_index_pointer + _component] = (real)_value;
-''')
-        else: # generated from line 417, col 3
-            write(u'''reinterpret_cast<real*>(_active_''')
-            _v = VFFSL(SL,"vector.id",True) # u'${vector.id}' on line 418, col 33
-            if _v is not None: write(_filter(_v, rawExpr=u'${vector.id}')) # from line 418, col 33.
-            write(u''')[2*_''')
-            _v = VFFSL(SL,"vector.id",True) # u'${vector.id}' on line 418, col 50
-            if _v is not None: write(_filter(_v, rawExpr=u'${vector.id}')) # from line 418, col 50.
-            write(u'''_index_pointer + _component] = (real)_value;
-''')
-        write(u'''  
-_ENDLOOP:;
-''')
-        # 
-        
-        ########################################
-        ## END - generated method body
-        
-        return _dummyTrans and trans.response().getvalue() or ""
-        
-
-    def writeBody(self, **KWS):
-
-
-
-        ## CHEETAH: main method generated for this template
-        trans = KWS.get("trans")
-        if (not trans and not self._CHEETAH__isBuffering and not callable(self.transaction)):
-            trans = self.transaction # is None unless self.awake() was called
-        if not trans:
-            trans = DummyTransaction()
-            _dummyTrans = True
-        else: _dummyTrans = False
-        write = trans.response().write
-        SL = self._CHEETAH__searchList
-        _filter = self._CHEETAH__currentFilter
-        
-        ########################################
-        ## START - generated method body
-        
-        # 
-        # VectorInitialisationFromXSIL.tmpl
-        # 
-        # Created by Graham Dennis on 2008-03-14.
-        # 
-        # Copyright (c) 2008-2012, Graham Dennis
-        # 
-        # This program is free software: you can redistribute it and/or modify
-        # it under the terms of the GNU General Public License as published by
-        # the Free Software Foundation, either version 2 of the License, or
-        # (at your option) any later version.
-        # 
-        # This program is distributed in the hope that it will be useful,
-        # but WITHOUT ANY WARRANTY; without even the implied warranty of
-        # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-        # GNU General Public License for more details.
-        # 
-        # You should have received a copy of the GNU General Public License
-        # along with this program.  If not, see <http://www.gnu.org/licenses/>.
-        # 
-        write(u'''
-
-
-
-
-
-
-
-''')
-        # 
-        #   Initialise a vector
-        write(u'''
-
-
-''')
-        
-        ########################################
-        ## END - generated method body
-        
-        return _dummyTrans and trans.response().getvalue() or ""
-        
-    ##################################################
-    ## CHEETAH GENERATED ATTRIBUTES
-
-
-    _CHEETAH__instanceInitialized = False
-
-    _CHEETAH_version = __CHEETAH_version__
-
-    _CHEETAH_versionTuple = __CHEETAH_versionTuple__
-
-    _CHEETAH_genTime = __CHEETAH_genTime__
-
-    _CHEETAH_genTimestamp = __CHEETAH_genTimestamp__
-
-    _CHEETAH_src = __CHEETAH_src__
-
-    _CHEETAH_srcLastModified = __CHEETAH_srcLastModified__
-
-    uselib = ['xmds']
-
-    _mainCheetahMethod_for_VectorInitialisationFromXSIL= 'writeBody'
-
-## END CLASS DEFINITION
-
-if not hasattr(VectorInitialisationFromXSIL, '_initCheetahAttributes'):
-    templateAPIClass = getattr(VectorInitialisationFromXSIL, '_CHEETAH_templateClass', Template)
-    templateAPIClass._addCheetahPlumbingCodeToClass(VectorInitialisationFromXSIL)
-
-
-# CHEETAH was developed by Tavis Rudd and Mike Orr
-# with code, advice and input from many other volunteers.
-# For more information visit http://www.CheetahTemplate.org/
-
-##################################################
-## if run from command line:
-if __name__ == '__main__':
-    from Cheetah.TemplateCmdLineIface import CmdLineIface
-    CmdLineIface(templateObj=VectorInitialisationFromXSIL()).run()
-
-
diff --git a/xpdeint/support/trang.jar b/xpdeint/support/trang.jar
deleted file mode 100755
index a14cb9f..0000000
Binary files a/xpdeint/support/trang.jar and /dev/null differ
diff --git a/xpdeint/waf/waflib/Build.pyc b/xpdeint/waf/waflib/Build.pyc
deleted file mode 100644
index a295660..0000000
Binary files a/xpdeint/waf/waflib/Build.pyc and /dev/null differ
diff --git a/xpdeint/waf/waflib/ConfigSet.pyc b/xpdeint/waf/waflib/ConfigSet.pyc
deleted file mode 100644
index 271aab1..0000000
Binary files a/xpdeint/waf/waflib/ConfigSet.pyc and /dev/null differ
diff --git a/xpdeint/waf/waflib/Configure.pyc b/xpdeint/waf/waflib/Configure.pyc
deleted file mode 100644
index 1c6c509..0000000
Binary files a/xpdeint/waf/waflib/Configure.pyc and /dev/null differ
diff --git a/xpdeint/waf/waflib/Context.pyc b/xpdeint/waf/waflib/Context.pyc
deleted file mode 100644
index b6e33e1..0000000
Binary files a/xpdeint/waf/waflib/Context.pyc and /dev/null differ
diff --git a/xpdeint/waf/waflib/Errors.pyc b/xpdeint/waf/waflib/Errors.pyc
deleted file mode 100644
index e8be311..0000000
Binary files a/xpdeint/waf/waflib/Errors.pyc and /dev/null differ
diff --git a/xpdeint/waf/waflib/Logs.pyc b/xpdeint/waf/waflib/Logs.pyc
deleted file mode 100644
index c2c5e86..0000000
Binary files a/xpdeint/waf/waflib/Logs.pyc and /dev/null differ
diff --git a/xpdeint/waf/waflib/Node.pyc b/xpdeint/waf/waflib/Node.pyc
deleted file mode 100644
index 1b1d115..0000000
Binary files a/xpdeint/waf/waflib/Node.pyc and /dev/null differ
diff --git a/xpdeint/waf/waflib/Options.pyc b/xpdeint/waf/waflib/Options.pyc
deleted file mode 100644
index 075e9ff..0000000
Binary files a/xpdeint/waf/waflib/Options.pyc and /dev/null differ
diff --git a/xpdeint/waf/waflib/Runner.pyc b/xpdeint/waf/waflib/Runner.pyc
deleted file mode 100644
index 17bf514..0000000
Binary files a/xpdeint/waf/waflib/Runner.pyc and /dev/null differ
diff --git a/xpdeint/waf/waflib/Scripting.pyc b/xpdeint/waf/waflib/Scripting.pyc
deleted file mode 100644
index 4087c61..0000000
Binary files a/xpdeint/waf/waflib/Scripting.pyc and /dev/null differ
diff --git a/xpdeint/waf/waflib/Task.pyc b/xpdeint/waf/waflib/Task.pyc
deleted file mode 100644
index ac3b131..0000000
Binary files a/xpdeint/waf/waflib/Task.pyc and /dev/null differ
diff --git a/xpdeint/waf/waflib/TaskGen.pyc b/xpdeint/waf/waflib/TaskGen.pyc
deleted file mode 100644
index 12afd7f..0000000
Binary files a/xpdeint/waf/waflib/TaskGen.pyc and /dev/null differ
diff --git a/xpdeint/waf/waflib/Tools/__init__.pyc b/xpdeint/waf/waflib/Tools/__init__.pyc
deleted file mode 100644
index 6367e56..0000000
Binary files a/xpdeint/waf/waflib/Tools/__init__.pyc and /dev/null differ
diff --git a/xpdeint/waf/waflib/Tools/c_config.pyc b/xpdeint/waf/waflib/Tools/c_config.pyc
deleted file mode 100644
index 75bb63f..0000000
Binary files a/xpdeint/waf/waflib/Tools/c_config.pyc and /dev/null differ
diff --git a/xpdeint/waf/waflib/Tools/c_preproc.pyc b/xpdeint/waf/waflib/Tools/c_preproc.pyc
deleted file mode 100644
index 82ef21b..0000000
Binary files a/xpdeint/waf/waflib/Tools/c_preproc.pyc and /dev/null differ
diff --git a/xpdeint/waf/waflib/Utils.pyc b/xpdeint/waf/waflib/Utils.pyc
deleted file mode 100644
index 1cd2332..0000000
Binary files a/xpdeint/waf/waflib/Utils.pyc and /dev/null differ
diff --git a/xpdeint/waf/waflib/__init__.pyc b/xpdeint/waf/waflib/__init__.pyc
deleted file mode 100644
index 00e5597..0000000
Binary files a/xpdeint/waf/waflib/__init__.pyc and /dev/null differ
diff --git a/xpdeint/waf/waflib/ansiterm.pyc b/xpdeint/waf/waflib/ansiterm.pyc
deleted file mode 100644
index 8d65d41..0000000
Binary files a/xpdeint/waf/waflib/ansiterm.pyc and /dev/null differ
diff --git a/xpdeint/waf/waflib/extras/__init__.pyc b/xpdeint/waf/waflib/extras/__init__.pyc
deleted file mode 100644
index f9f5884..0000000
Binary files a/xpdeint/waf/waflib/extras/__init__.pyc and /dev/null differ
diff --git a/xpdeint/waf/waflib/extras/compat15.pyc b/xpdeint/waf/waflib/extras/compat15.pyc
deleted file mode 100644
index 2fe29df..0000000
Binary files a/xpdeint/waf/waflib/extras/compat15.pyc and /dev/null differ
diff --git a/xpdeint/waf_extensions/cheetah.pyc b/xpdeint/waf_extensions/cheetah.pyc
deleted file mode 100644
index a66835d..0000000
Binary files a/xpdeint/waf_extensions/cheetah.pyc and /dev/null differ
diff --git a/xpdeint/xsil2graphics2/MathematicaImport.py b/xpdeint/xsil2graphics2/MathematicaImport.py
index fdbf533..edcf236 100644
--- a/xpdeint/xsil2graphics2/MathematicaImport.py
+++ b/xpdeint/xsil2graphics2/MathematicaImport.py
@@ -32,9 +32,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976196.580587
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:16 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/xsil2graphics2/MathematicaImport.tmpl'
+__CHEETAH_genTime__ = 1413234541.280902
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:09:01 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/xsil2graphics2/MathematicaImport.tmpl'
 __CHEETAH_srcLastModified__ = 'Wed Jun  5 14:30:43 2013'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/xsil2graphics2/MatlabOctaveImport.py b/xpdeint/xsil2graphics2/MatlabOctaveImport.py
index 52658ff..92e1f9a 100644
--- a/xpdeint/xsil2graphics2/MatlabOctaveImport.py
+++ b/xpdeint/xsil2graphics2/MatlabOctaveImport.py
@@ -32,9 +32,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976196.663025
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:16 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/xsil2graphics2/MatlabOctaveImport.tmpl'
+__CHEETAH_genTime__ = 1413234541.385449
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:09:01 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/xsil2graphics2/MatlabOctaveImport.tmpl'
 __CHEETAH_srcLastModified__ = 'Thu Nov 21 19:01:13 2013'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/xsil2graphics2/PythonImport.py b/xpdeint/xsil2graphics2/PythonImport.py
index df89bb6..deaa553 100644
--- a/xpdeint/xsil2graphics2/PythonImport.py
+++ b/xpdeint/xsil2graphics2/PythonImport.py
@@ -32,9 +32,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976196.614746
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:16 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/xsil2graphics2/PythonImport.tmpl'
+__CHEETAH_genTime__ = 1413234541.362603
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:09:01 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/xsil2graphics2/PythonImport.tmpl'
 __CHEETAH_srcLastModified__ = 'Sun Jul 28 14:51:41 2013'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 
diff --git a/xpdeint/xsil2graphics2/RImport.py b/xpdeint/xsil2graphics2/RImport.py
index 4ace714..fcbe2de 100644
--- a/xpdeint/xsil2graphics2/RImport.py
+++ b/xpdeint/xsil2graphics2/RImport.py
@@ -32,9 +32,9 @@ VFN=valueForName
 currentTime=time.time
 __CHEETAH_version__ = '2.4.4'
 __CHEETAH_versionTuple__ = (2, 4, 4, 'development', 0)
-__CHEETAH_genTime__ = 1412976196.67331
-__CHEETAH_genTimestamp__ = 'Sat Oct 11 08:23:16 2014'
-__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2-rc1/xpdeint/xsil2graphics2/RImport.tmpl'
+__CHEETAH_genTime__ = 1413234541.345634
+__CHEETAH_genTimestamp__ = 'Tue Oct 14 08:09:01 2014'
+__CHEETAH_src__ = '/Users/graham/Library/XMDS/src/xmds2/admin/staging/xmds-2.2.2/xpdeint/xsil2graphics2/RImport.tmpl'
 __CHEETAH_srcLastModified__ = 'Wed Jan  8 13:35:53 2014'
 __CHEETAH_docstring__ = 'Autogenerated by Cheetah: The Python-Powered Template Engine'
 

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/xmds2.git



More information about the debian-science-commits mailing list