From 997f7a8845a2292b56976a0f69f337981c2544af Mon Sep 17 00:00:00 2001
From: sjplimp <sjplimp@f3b2605a-c512-4ea7-a41b-209d697bcdaa>
Date: Mon, 24 Nov 2014 17:02:36 +0000
Subject: [PATCH] git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@12769
 f3b2605a-c512-4ea7-a41b-209d697bcdaa

---
 tools/i-pi/.vimrc                             |    4 +
 tools/i-pi/MANIFEST.in                        |    1 +
 tools/i-pi/README.rst                         |   49 +
 tools/i-pi/drivers/LJ.f90                     |  215 +++
 tools/i-pi/drivers/Makefile                   |   42 +
 tools/i-pi/drivers/README                     |   14 +
 tools/i-pi/drivers/SG.f90                     |  283 ++++
 tools/i-pi/drivers/distance.f90               |  174 +++
 tools/i-pi/drivers/driver.f90                 |  309 ++++
 tools/i-pi/drivers/sockets.c                  |  147 ++
 tools/i-pi/examples/lammps/Makefile           |   70 +
 tools/i-pi/examples/lammps/README             |   70 +
 .../examples/lammps/h2o-piglet.2/data.water   | 1331 +++++++++++++++++
 .../examples/lammps/h2o-piglet.2/in.water     |   32 +
 .../examples/lammps/h2o-piglet.2/input.xml    |   37 +
 .../lammps/h2o-piglet.2/water_298K.pdb        |  650 ++++++++
 .../examples/lammps/h2o-piglet.4/data.water   | 1331 +++++++++++++++++
 .../examples/lammps/h2o-piglet.4/in.water     |   32 +
 .../examples/lammps/h2o-piglet.4/input.xml    |   40 +
 .../lammps/h2o-piglet.4/water_298K.pdb        |  650 ++++++++
 .../examples/lammps/h2o-piglet.8/data.water   | 1331 +++++++++++++++++
 .../examples/lammps/h2o-piglet.8/in.water     |   32 +
 .../examples/lammps/h2o-piglet.8/input.xml    |   49 +
 .../lammps/h2o-piglet.8/water_298K.pdb        |  650 ++++++++
 .../lammps/h2o-pimd-rpc/data.water_longrange  | 1331 +++++++++++++++++
 .../lammps/h2o-pimd-rpc/data.water_shortrange | 1331 +++++++++++++++++
 .../lammps/h2o-pimd-rpc/in.water_longrange    |   33 +
 .../lammps/h2o-pimd-rpc/in.water_shortrange   |   34 +
 .../examples/lammps/h2o-pimd-rpc/input.xml    |   27 +
 .../lammps/h2o-pimd-rpc/water_298K.pdb        |  650 ++++++++
 .../i-pi/examples/lammps/h2o-pimd/data.water  | 1331 +++++++++++++++++
 tools/i-pi/examples/lammps/h2o-pimd/in.water  |   32 +
 tools/i-pi/examples/lammps/h2o-pimd/input.xml |   24 +
 .../examples/lammps/h2o-pimd/water_298K.pdb   |  650 ++++++++
 tools/i-pi/examples/tutorial/README           |    6 +
 .../examples/tutorial/tutorial-1/our_ref.pdb  |  111 ++
 .../examples/tutorial/tutorial-1/our_ref.xyz  |  110 ++
 .../tutorial/tutorial-1/tutorial-1.xml        |   26 +
 .../tutorial/tutorial-2/tutorial-1_RESTART    |  736 +++++++++
 .../tutorial/tutorial-2/tutorial-2a.xml       |  742 +++++++++
 .../tutorial/tutorial-2/tutorial-2b.xml       |   33 +
 .../examples/tutorial/tutorial-3/our_ref.pdb  |  174 +++
 .../tutorial/tutorial-3/tutorial-3_npt.xml    |   31 +
 .../tutorial/tutorial-3/tutorial-3_nvt.xml    |   25 +
 tools/i-pi/i-pi                               |   60 +
 tools/i-pi/ipi/README                         |   14 +
 tools/i-pi/ipi/__init__.py                    |    1 +
 tools/i-pi/ipi/engine/README                  |   18 +
 tools/i-pi/ipi/engine/__init__.py             |    3 +
 tools/i-pi/ipi/engine/atoms.py                |  269 ++++
 tools/i-pi/ipi/engine/barostats.py            |  450 ++++++
 tools/i-pi/ipi/engine/beads.py                |  323 ++++
 tools/i-pi/ipi/engine/cell.py                 |  140 ++
 tools/i-pi/ipi/engine/ensembles.py            |  565 +++++++
 tools/i-pi/ipi/engine/forces.py               |  781 ++++++++++
 tools/i-pi/ipi/engine/initializer.py          |  549 +++++++
 tools/i-pi/ipi/engine/normalmodes.py          |  400 +++++
 tools/i-pi/ipi/engine/outputs.py              |  378 +++++
 tools/i-pi/ipi/engine/properties.py           | 1273 ++++++++++++++++
 tools/i-pi/ipi/engine/simulation.py           |  232 +++
 tools/i-pi/ipi/engine/thermostats.py          |  884 +++++++++++
 tools/i-pi/ipi/inputs/README                  |   24 +
 tools/i-pi/ipi/inputs/__init__.py             |    3 +
 tools/i-pi/ipi/inputs/atoms.py                |  121 ++
 tools/i-pi/ipi/inputs/barostats.py            |  107 ++
 tools/i-pi/ipi/inputs/beads.py                |  137 ++
 tools/i-pi/ipi/inputs/cell.py                 |   77 +
 tools/i-pi/ipi/inputs/ensembles.py            |  185 +++
 tools/i-pi/ipi/inputs/forces.py               |  176 +++
 tools/i-pi/ipi/inputs/initializer.py          |  406 +++++
 tools/i-pi/ipi/inputs/interface.py            |  125 ++
 tools/i-pi/ipi/inputs/normalmodes.py          |   84 ++
 tools/i-pi/ipi/inputs/outputs.py              |  323 ++++
 tools/i-pi/ipi/inputs/prng.py                 |  101 ++
 tools/i-pi/ipi/inputs/simulation.py           |  193 +++
 tools/i-pi/ipi/inputs/thermostats.py          |  195 +++
 tools/i-pi/ipi/interfaces/README              |    8 +
 tools/i-pi/ipi/interfaces/__init__.py         |    1 +
 tools/i-pi/ipi/interfaces/sockets.py          |  773 ++++++++++
 tools/i-pi/ipi/tests/README                   |    9 +
 tools/i-pi/ipi/tests/common.py                |   96 ++
 tools/i-pi/ipi/tests/datest.py                |   56 +
 tools/i-pi/ipi/tests/test.pos_0.pdb           |   10 +
 tools/i-pi/ipi/tests/test.pos_0.xyz           |   10 +
 tools/i-pi/ipi/tests/test_contraction.py      |  127 ++
 tools/i-pi/ipi/tests/test_io.py               |   96 ++
 tools/i-pi/ipi/tests/test_runs.py             |   24 +
 tools/i-pi/ipi/utils/README                   |   21 +
 tools/i-pi/ipi/utils/__init__.py              |    1 +
 tools/i-pi/ipi/utils/depend.py                |  768 ++++++++++
 tools/i-pi/ipi/utils/inputvalue.py            |  968 ++++++++++++
 tools/i-pi/ipi/utils/io/README                |   12 +
 tools/i-pi/ipi/utils/io/__init__.py           |    1 +
 tools/i-pi/ipi/utils/io/io_binary.py          |   47 +
 tools/i-pi/ipi/utils/io/io_pdb.py             |  173 +++
 tools/i-pi/ipi/utils/io/io_xml.py             |  520 +++++++
 tools/i-pi/ipi/utils/io/io_xyz.py             |  145 ++
 tools/i-pi/ipi/utils/mathtools.py             |  343 +++++
 tools/i-pi/ipi/utils/messages.py              |  155 ++
 tools/i-pi/ipi/utils/nmtransform.py           |  283 ++++
 tools/i-pi/ipi/utils/prng.py                  |  129 ++
 tools/i-pi/ipi/utils/softexit.py              |   73 +
 tools/i-pi/ipi/utils/units.py                 |  358 +++++
 tools/i-pi/licenses/license_GPL.txt           |  675 +++++++++
 tools/i-pi/licenses/license_MIT.txt           |   21 +
 tools/i-pi/manual.pdf                         |  Bin 0 -> 609105 bytes
 106 files changed, 29480 insertions(+)
 create mode 100644 tools/i-pi/.vimrc
 create mode 100644 tools/i-pi/MANIFEST.in
 create mode 100644 tools/i-pi/README.rst
 create mode 100644 tools/i-pi/drivers/LJ.f90
 create mode 100644 tools/i-pi/drivers/Makefile
 create mode 100644 tools/i-pi/drivers/README
 create mode 100644 tools/i-pi/drivers/SG.f90
 create mode 100644 tools/i-pi/drivers/distance.f90
 create mode 100644 tools/i-pi/drivers/driver.f90
 create mode 100644 tools/i-pi/drivers/sockets.c
 create mode 100644 tools/i-pi/examples/lammps/Makefile
 create mode 100644 tools/i-pi/examples/lammps/README
 create mode 100644 tools/i-pi/examples/lammps/h2o-piglet.2/data.water
 create mode 100644 tools/i-pi/examples/lammps/h2o-piglet.2/in.water
 create mode 100644 tools/i-pi/examples/lammps/h2o-piglet.2/input.xml
 create mode 100644 tools/i-pi/examples/lammps/h2o-piglet.2/water_298K.pdb
 create mode 100644 tools/i-pi/examples/lammps/h2o-piglet.4/data.water
 create mode 100644 tools/i-pi/examples/lammps/h2o-piglet.4/in.water
 create mode 100644 tools/i-pi/examples/lammps/h2o-piglet.4/input.xml
 create mode 100644 tools/i-pi/examples/lammps/h2o-piglet.4/water_298K.pdb
 create mode 100644 tools/i-pi/examples/lammps/h2o-piglet.8/data.water
 create mode 100644 tools/i-pi/examples/lammps/h2o-piglet.8/in.water
 create mode 100644 tools/i-pi/examples/lammps/h2o-piglet.8/input.xml
 create mode 100644 tools/i-pi/examples/lammps/h2o-piglet.8/water_298K.pdb
 create mode 100644 tools/i-pi/examples/lammps/h2o-pimd-rpc/data.water_longrange
 create mode 100644 tools/i-pi/examples/lammps/h2o-pimd-rpc/data.water_shortrange
 create mode 100644 tools/i-pi/examples/lammps/h2o-pimd-rpc/in.water_longrange
 create mode 100644 tools/i-pi/examples/lammps/h2o-pimd-rpc/in.water_shortrange
 create mode 100644 tools/i-pi/examples/lammps/h2o-pimd-rpc/input.xml
 create mode 100644 tools/i-pi/examples/lammps/h2o-pimd-rpc/water_298K.pdb
 create mode 100644 tools/i-pi/examples/lammps/h2o-pimd/data.water
 create mode 100644 tools/i-pi/examples/lammps/h2o-pimd/in.water
 create mode 100644 tools/i-pi/examples/lammps/h2o-pimd/input.xml
 create mode 100644 tools/i-pi/examples/lammps/h2o-pimd/water_298K.pdb
 create mode 100644 tools/i-pi/examples/tutorial/README
 create mode 100755 tools/i-pi/examples/tutorial/tutorial-1/our_ref.pdb
 create mode 100644 tools/i-pi/examples/tutorial/tutorial-1/our_ref.xyz
 create mode 100755 tools/i-pi/examples/tutorial/tutorial-1/tutorial-1.xml
 create mode 100755 tools/i-pi/examples/tutorial/tutorial-2/tutorial-1_RESTART
 create mode 100755 tools/i-pi/examples/tutorial/tutorial-2/tutorial-2a.xml
 create mode 100755 tools/i-pi/examples/tutorial/tutorial-2/tutorial-2b.xml
 create mode 100755 tools/i-pi/examples/tutorial/tutorial-3/our_ref.pdb
 create mode 100755 tools/i-pi/examples/tutorial/tutorial-3/tutorial-3_npt.xml
 create mode 100755 tools/i-pi/examples/tutorial/tutorial-3/tutorial-3_nvt.xml
 create mode 100755 tools/i-pi/i-pi
 create mode 100644 tools/i-pi/ipi/README
 create mode 100644 tools/i-pi/ipi/__init__.py
 create mode 100644 tools/i-pi/ipi/engine/README
 create mode 100644 tools/i-pi/ipi/engine/__init__.py
 create mode 100644 tools/i-pi/ipi/engine/atoms.py
 create mode 100644 tools/i-pi/ipi/engine/barostats.py
 create mode 100644 tools/i-pi/ipi/engine/beads.py
 create mode 100644 tools/i-pi/ipi/engine/cell.py
 create mode 100644 tools/i-pi/ipi/engine/ensembles.py
 create mode 100644 tools/i-pi/ipi/engine/forces.py
 create mode 100644 tools/i-pi/ipi/engine/initializer.py
 create mode 100644 tools/i-pi/ipi/engine/normalmodes.py
 create mode 100644 tools/i-pi/ipi/engine/outputs.py
 create mode 100644 tools/i-pi/ipi/engine/properties.py
 create mode 100644 tools/i-pi/ipi/engine/simulation.py
 create mode 100644 tools/i-pi/ipi/engine/thermostats.py
 create mode 100644 tools/i-pi/ipi/inputs/README
 create mode 100644 tools/i-pi/ipi/inputs/__init__.py
 create mode 100644 tools/i-pi/ipi/inputs/atoms.py
 create mode 100644 tools/i-pi/ipi/inputs/barostats.py
 create mode 100644 tools/i-pi/ipi/inputs/beads.py
 create mode 100644 tools/i-pi/ipi/inputs/cell.py
 create mode 100644 tools/i-pi/ipi/inputs/ensembles.py
 create mode 100644 tools/i-pi/ipi/inputs/forces.py
 create mode 100644 tools/i-pi/ipi/inputs/initializer.py
 create mode 100644 tools/i-pi/ipi/inputs/interface.py
 create mode 100644 tools/i-pi/ipi/inputs/normalmodes.py
 create mode 100644 tools/i-pi/ipi/inputs/outputs.py
 create mode 100644 tools/i-pi/ipi/inputs/prng.py
 create mode 100644 tools/i-pi/ipi/inputs/simulation.py
 create mode 100644 tools/i-pi/ipi/inputs/thermostats.py
 create mode 100644 tools/i-pi/ipi/interfaces/README
 create mode 100644 tools/i-pi/ipi/interfaces/__init__.py
 create mode 100644 tools/i-pi/ipi/interfaces/sockets.py
 create mode 100644 tools/i-pi/ipi/tests/README
 create mode 100644 tools/i-pi/ipi/tests/common.py
 create mode 100644 tools/i-pi/ipi/tests/datest.py
 create mode 100644 tools/i-pi/ipi/tests/test.pos_0.pdb
 create mode 100644 tools/i-pi/ipi/tests/test.pos_0.xyz
 create mode 100644 tools/i-pi/ipi/tests/test_contraction.py
 create mode 100644 tools/i-pi/ipi/tests/test_io.py
 create mode 100644 tools/i-pi/ipi/tests/test_runs.py
 create mode 100644 tools/i-pi/ipi/utils/README
 create mode 100644 tools/i-pi/ipi/utils/__init__.py
 create mode 100644 tools/i-pi/ipi/utils/depend.py
 create mode 100644 tools/i-pi/ipi/utils/inputvalue.py
 create mode 100644 tools/i-pi/ipi/utils/io/README
 create mode 100644 tools/i-pi/ipi/utils/io/__init__.py
 create mode 100644 tools/i-pi/ipi/utils/io/io_binary.py
 create mode 100644 tools/i-pi/ipi/utils/io/io_pdb.py
 create mode 100644 tools/i-pi/ipi/utils/io/io_xml.py
 create mode 100644 tools/i-pi/ipi/utils/io/io_xyz.py
 create mode 100644 tools/i-pi/ipi/utils/mathtools.py
 create mode 100644 tools/i-pi/ipi/utils/messages.py
 create mode 100644 tools/i-pi/ipi/utils/nmtransform.py
 create mode 100644 tools/i-pi/ipi/utils/prng.py
 create mode 100644 tools/i-pi/ipi/utils/softexit.py
 create mode 100644 tools/i-pi/ipi/utils/units.py
 create mode 100644 tools/i-pi/licenses/license_GPL.txt
 create mode 100644 tools/i-pi/licenses/license_MIT.txt
 create mode 100644 tools/i-pi/manual.pdf

diff --git a/tools/i-pi/.vimrc b/tools/i-pi/.vimrc
new file mode 100644
index 0000000000..fd7d41af27
--- /dev/null
+++ b/tools/i-pi/.vimrc
@@ -0,0 +1,4 @@
+set tabstop=3
+set softtabstop=3
+set shiftwidth=3
+set expandtab
diff --git a/tools/i-pi/MANIFEST.in b/tools/i-pi/MANIFEST.in
new file mode 100644
index 0000000000..9561fb1061
--- /dev/null
+++ b/tools/i-pi/MANIFEST.in
@@ -0,0 +1 @@
+include README.rst
diff --git a/tools/i-pi/README.rst b/tools/i-pi/README.rst
new file mode 100644
index 0000000000..8d10b343f8
--- /dev/null
+++ b/tools/i-pi/README.rst
@@ -0,0 +1,49 @@
+i-PI V1.0 -- LAMMPS 
+-------------------
+
+A Python interface for ab initio path integral molecular dynamics simulations. 
+i-PI is composed of a Python server (i-pi itself, that does not need to be 
+compiled but only requires a relatively recent version of Python and Numpy)
+that propagates the (path integral) dynamics of the nuclei, and of an external
+code that acts as client and computes the electronic energy and forces.
+
+This is typically a patched version of an electronic structure code, but a 
+simple self-contained Fortran driver that implements Lennard-Jones and 
+Silveira-Goldman potentials is included for test purposes.
+
+This folder contains a stripped-down version to be used with LAMMPS, and might
+not contain all the features of the latest version. Please see 
+[http://epfl-cosmo.github.io/gle4md/index.html?page=ipi] or
+[http://github.com/i-pi/i-pi] to obtain an up-to-date version.
+
+
+Quick Installation and Test 
+---------------------------
+
+Follow these instruction to test i-PI. These assume to be run from a Linux 
+environment, with a recent version of Python, Numpy and gfortran, and that 
+the terminal is initially in the i-pi package directory (the directory 
+containing this file).
+
+* Generate the driver code
+
+::
+
+$ cd driver
+$ make
+$ cd ..
+
+* Run one of the examples
+
+This will first start the wrapper in the background, redirecting the output on 
+a log file, then run a couple of instances of the driver code and then follow
+the progress of the wrapper by monitoring the log file::
+
+$ cd examples/tutorial/tutorial-1/
+$ ../../../i-pi tutorial-1.xml > log &
+$ ../../../drivers/driver.x -h localhost -p 31415 -m sg -o 15 &
+$ ../../../drivers/driver.x -h localhost -p 31415 -m sg -o 15 &
+$ tail -f log
+
+The monitoring can be interrupted with ``CTRL+C`` when the run has finished (5000 steps)
+
diff --git a/tools/i-pi/drivers/LJ.f90 b/tools/i-pi/drivers/LJ.f90
new file mode 100644
index 0000000000..342425f29e
--- /dev/null
+++ b/tools/i-pi/drivers/LJ.f90
@@ -0,0 +1,215 @@
+! This performs the calculations necessary to run a Lennard-Jones (LJ) 
+! simulation.
+! 
+! Copyright (C) 2013, Joshua More and Michele Ceriotti
+! 
+! Permission is hereby granted, free of charge, to any person obtaining
+! a copy of this software and associated documentation files (the
+! "Software"), to deal in the Software without restriction, including
+! without limitation the rights to use, copy, modify, merge, publish,
+! distribute, sublicense, and/or sell copies of the Software, and to
+! permit persons to whom the Software is furnished to do so, subject to
+! the following conditions:
+! 
+! The above copyright notice and this permission notice shall be included
+! in all copies or substantial portions of the Software.
+! 
+! THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+! EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+! MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+! IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+! CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+! TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+! SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+!
+!
+! This contains the functions that calculate the potential, forces and
+! virial tensor of a single-component LJ system.
+! Includes functions which calculate the long-range correction terms for a
+! simulation with a sharp nearest-neighbour cut-off.
+!
+! Functions:
+!    LJ_functions: Calculates the LJ pair potential and the magnitude of the
+!       forces acting on a pair of atoms.
+!    LJ_fij: Calculates the LJ pair potential and force vector for the
+!       interaction of a pair of atoms.
+!    LJ_longrange: Calculates the long range correction to the potential
+!       and virial.
+!    LJ_getall: Calculates the potential and virial of the system and the
+!       forces acting on all the atoms.
+
+      MODULE LJ
+         USE DISTANCE
+      IMPLICIT NONE
+
+      DOUBLE PRECISION, PARAMETER :: four_tau_by_3 = 8.3775804095727811d0 
+
+      CONTAINS
+
+         SUBROUTINE LJ_functions(sigma, eps, r, pot, force)
+            ! Calculates the magnitude of the LJ force and potential between
+            ! a pair of atoms at a given distance from each other.
+            !
+            ! Args:
+            !    sigma: The LJ distance parameter.
+            !    eps: The LJ energy parameter.
+            !    r: The separation of the atoms.
+            !    pot: The LJ interaction potential.
+            !    force: The magnitude of the LJ force.
+
+            DOUBLE PRECISION, INTENT(IN) :: sigma
+            DOUBLE PRECISION, INTENT(IN) :: eps
+            DOUBLE PRECISION, INTENT(IN) :: r
+            DOUBLE PRECISION, INTENT(OUT) :: pot
+            DOUBLE PRECISION, INTENT(OUT) :: force
+
+            DOUBLE PRECISION sigma_by_r6
+
+            sigma_by_r6 = sigma/r
+            sigma_by_r6 = sigma_by_r6*sigma_by_r6*sigma_by_r6
+            sigma_by_r6 = sigma_by_r6*sigma_by_r6
+
+            pot = 4*eps*(sigma_by_r6*(sigma_by_r6 - 1))
+            force = 24*eps*(sigma_by_r6*(2*sigma_by_r6 - 1)/r)
+
+         END SUBROUTINE
+
+         SUBROUTINE LJ_fij(sigma, eps, rij, r, pot, fij)
+            ! This calculates the LJ potential energy and the magnitude and
+            ! direction of the force acting on a pair of atoms.
+            !
+            ! Args:
+            !    sigma: The LJ distance parameter.
+            !    eps: The LJ energy parameter.
+            !    rij: The vector joining the two atoms.
+            !    r: The separation of the two atoms.
+            !    pot: The LJ interaction potential.
+            !    fij: The LJ force vector.
+
+            DOUBLE PRECISION, INTENT(IN) :: sigma
+            DOUBLE PRECISION, INTENT(IN) :: eps
+            DOUBLE PRECISION, DIMENSION(3), INTENT(IN) :: rij
+            DOUBLE PRECISION, INTENT(IN) :: r
+            DOUBLE PRECISION, INTENT(OUT) :: pot
+            DOUBLE PRECISION, DIMENSION(3), INTENT(OUT) :: fij
+   
+            DOUBLE PRECISION f_tot
+   
+            CALL LJ_functions(sigma, eps, r, pot, f_tot)
+            fij = f_tot*rij/r
+   
+         END SUBROUTINE
+
+         SUBROUTINE LJ_longrange(rc, sigma, eps, natoms, volume, pot_lr, vir_lr)
+            ! Calculates the long range correction to the total potential and
+            ! virial pressure.
+            !
+            ! Uses the tail correction for a sharp cut-off, with no smoothing
+            ! function, as derived in Martyna and Hughes, Journal of Chemical
+            ! Physics, 110, 3275, (1999).
+            !
+            ! Args:
+            !    rc: The cut-off radius.
+            !    sigma: The LJ distance parameter.
+            !    eps: The LJ energy parameter.
+            !    natoms: The number of atoms in the system.
+            !    volume: The volume of the system box.
+            !    pot_lr: The tail correction to the LJ interaction potential.
+            !    vir_lr: The tail correction to the LJ virial pressure.
+
+            DOUBLE PRECISION, INTENT(IN) :: rc
+            DOUBLE PRECISION, INTENT(IN) :: sigma
+            DOUBLE PRECISION, INTENT(IN) :: eps
+            INTEGER, INTENT(IN) :: natoms
+            DOUBLE PRECISION, INTENT(IN) :: volume
+            DOUBLE PRECISION, INTENT(OUT) :: pot_lr
+            DOUBLE PRECISION, INTENT(OUT) :: vir_lr
+
+            DOUBLE PRECISION sbyr, s3byr3, s6byr3, s6byr6, prefactor
+
+            sbyr = sigma/rc
+            s3byr3 = sbyr*sbyr*sbyr
+            s6byr6 = s3byr3*s3byr3
+            prefactor = four_tau_by_3*natoms*natoms*eps/volume
+            prefactor = prefactor*s3byr3*sigma*sigma*sigma
+
+            pot_lr = prefactor*(s6byr6/3-1)
+            vir_lr = prefactor*(s6byr6-1) + pot_lr
+
+         END SUBROUTINE
+
+         SUBROUTINE LJ_getall(rc, sigma, eps, natoms, atoms, cell_h, cell_ih, index_list, n_list, pot, forces, virial)
+            ! Calculates the LJ potential energy and virial and the forces 
+            ! acting on all the atoms.
+            !
+            ! Args:
+            !    rc: The cut-off radius.
+            !    sigma: The LJ distance parameter.
+            !    eps: The LJ energy parameter.
+            !    natoms: The number of atoms in the system.
+            !    atoms: A vector holding all the atom positions.
+            !    cell_h: The simulation box cell vector matrix.
+            !    cell_ih: The inverse of the simulation box cell vector matrix.
+            !    index_list: A array giving the last index of n_list that 
+            !       gives the neighbours of a given atom.
+            !    n_list: An array giving the indices of the atoms that neighbour
+            !       the atom determined by index_list.
+            !    pot: The total potential energy of the system.
+            !    forces: An array giving the forces acting on all the atoms.
+            !    virial: The virial tensor, not divided by the volume.
+
+            DOUBLE PRECISION, INTENT(IN) :: rc
+            DOUBLE PRECISION, INTENT(IN) :: sigma
+            DOUBLE PRECISION, INTENT(IN) :: eps
+            INTEGER, INTENT(IN) :: natoms
+            DOUBLE PRECISION, DIMENSION(natoms,3), INTENT(IN) :: atoms
+            DOUBLE PRECISION, DIMENSION(3,3), INTENT(IN) :: cell_h
+            DOUBLE PRECISION, DIMENSION(3,3), INTENT(IN) :: cell_ih
+            INTEGER, DIMENSION(natoms), INTENT(IN) :: index_list
+            INTEGER, DIMENSION(natoms*(natoms-1)/2), INTENT(IN) :: n_list
+            DOUBLE PRECISION, INTENT(OUT) :: pot
+            DOUBLE PRECISION, DIMENSION(natoms,3), INTENT(OUT) :: forces
+            DOUBLE PRECISION, DIMENSION(3,3), INTENT(OUT) :: virial
+
+            INTEGER i, j, k, l, start
+            DOUBLE PRECISION, DIMENSION(3) :: fij, rij
+            DOUBLE PRECISION r2, pot_ij, pot_lr, vir_lr, volume
+
+            forces = 0.0d0
+            pot = 0.0d0
+            virial = 0.0d0
+
+            start = 1
+
+            DO i = 1, natoms - 1
+               ! Only loops over the neigbour list, not all the atoms.
+               DO j = start, index_list(i)
+                  CALL vector_separation(cell_h, cell_ih, atoms(i,:), atoms(n_list(j),:), rij, r2)
+                  IF (r2 < rc*rc) THEN ! Only calculates contributions between neighbouring particles.
+                     CALL LJ_fij(sigma, eps, rij, sqrt(r2), pot_ij, fij)
+
+                     forces(i,:) = forces(i,:) + fij
+                     forces(n_list(j),:) = forces(n_list(j),:) - fij
+                     pot = pot + pot_ij
+                     DO k = 1, 3
+                        DO l = k, 3
+                           ! Only the upper triangular elements calculated.
+                           virial(k,l) = virial(k,l) + fij(k)*rij(l)
+                        ENDDO
+                     ENDDO
+                  ENDIF
+               ENDDO
+               start = index_list(i) + 1
+            ENDDO
+
+            ! Assuming an upper-triangular vector matrix for the simulation box.
+            volume = cell_h(1,1)*cell_h(2,2)*cell_h(3,3)
+            CALL LJ_longrange(rc, sigma, eps, natoms, volume, pot_lr, vir_lr)
+            pot = pot + pot_lr
+            DO k = 1, 3
+               virial(k,k) = virial(k,k) + vir_lr
+            ENDDO
+
+         END SUBROUTINE
+
+      END MODULE
diff --git a/tools/i-pi/drivers/Makefile b/tools/i-pi/drivers/Makefile
new file mode 100644
index 0000000000..ed0336f689
--- /dev/null
+++ b/tools/i-pi/drivers/Makefile
@@ -0,0 +1,42 @@
+# Makefile for the driver tests
+#
+# Permission is hereby granted, free of charge, to any person obtaining
+# a copy of this software and associated documentation files (the
+# "Software"), to deal in the Software without restriction, including
+# without limitation the rights to use, copy, modify, merge, publish,
+# distribute, sublicense, and/or sell copies of the Software, and to
+# permit persons to whom the Software is furnished to do so, subject to
+# the following conditions:
+# 
+# The above copyright notice and this permission notice shall be included
+# in all copies or substantial portions of the Software.
+# 
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ 
+.PHONY: all
+
+SOURCES=$(shell ls *.f90)
+MODULES=distance.f90 LJ.f90 SG.f90
+OBJECTS=$(SOURCES:.f90=.o) sockets.o
+all: modules sockets.o driver.x
+
+modules: $(MODULES)
+	gfortran -O3 -c $(MODULES)
+
+sockets.o: sockets.c
+	gcc -c -o sockets.o sockets.c
+
+driver.x: $(OBJECTS)
+	gfortran -O3 -o driver.x $(OBJECTS)
+
+%.o: %.f90
+	gfortran -O3 -c $<
+
+clean:
+	rm *.o *.mod *.x
diff --git a/tools/i-pi/drivers/README b/tools/i-pi/drivers/README
new file mode 100644
index 0000000000..563cbce9ce
--- /dev/null
+++ b/tools/i-pi/drivers/README
@@ -0,0 +1,14 @@
+ -- Driver code directory --
+
+ * This gives simple test driver codes.
+
+ * Files:
+   - LJ.f90: Calculates the Lennard-Jones potential/forces/virial.
+   - SG.f90: Calculates the Silvera-Goldman potential/forces/virial.
+   - distance.f90: Deals with calculating the separation between atoms and
+      the neighbour list calculation.
+   - sockets.c: Contains the functions to create the client socket and read from
+      and write to it.
+   - driver.f90: Socket interface for the driver codes.
+   - Makefile: A makefile that which compiles all the fortran code as 
+      necessary.
diff --git a/tools/i-pi/drivers/SG.f90 b/tools/i-pi/drivers/SG.f90
new file mode 100644
index 0000000000..42d3e4945d
--- /dev/null
+++ b/tools/i-pi/drivers/SG.f90
@@ -0,0 +1,283 @@
+! This performs the calculations necessary to run a simulation using a
+! Silvera-Goldman (SG) potential for para-hydrogen. See I. Silvera and V.
+! Goldman, J. Chem. Phys., 69, 4209 (1978).
+! 
+! Copyright (C) 2013, Joshua More and Michele Ceriotti
+! 
+! Permission is hereby granted, free of charge, to any person obtaining
+! a copy of this software and associated documentation files (the
+! "Software"), to deal in the Software without restriction, including
+! without limitation the rights to use, copy, modify, merge, publish,
+! distribute, sublicense, and/or sell copies of the Software, and to
+! permit persons to whom the Software is furnished to do so, subject to
+! the following conditions:
+! 
+! The above copyright notice and this permission notice shall be included
+! in all copies or substantial portions of the Software.
+! 
+! THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+! EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+! MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+! IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+! CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+! TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+! SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+!
+!
+! This contains the functions that calculate the potential, forces and
+! virial tensor of liquid para-hydrogen
+! Includes functions which calculate the long-range correction terms for a
+! simulation with a sharp nearest-neighbour cut-off.
+!
+! Functions:
+!    f_c: Calculates the damping function for the dispersive interactions 
+!       at short range.
+!    exp_func: Calculates the short range repulsive part of the SG potential.
+!    SG_functions: Calculates the SG pair potential and the magnitude of the
+!       forces acting on a pair of atoms.
+!    SG_fij: Calculates the SG pair potential and force vector for the
+!       interaction of a pair of atoms.
+!    SG_longrange: Calculates the long range correction to the potential
+!       and virial.
+!    SG_getall: Calculates the potential and virial of the system and the
+!       forces acting on all the atoms.
+
+      MODULE SG
+         USE DISTANCE
+      IMPLICIT NONE
+
+      ! Parameters of the SG potential. This potential is of the form:
+      ! V(r) = exp(alpha - beta*r - delta*r**2) - 
+      !        (C_6/r**6 + C_8/r**8 - C_9/r**9 + C_10/r**10)*f_c(r)
+      ! where f_c(r) = exp(-(rc_exp/r - 1)**2) if r <= rc_exp
+      !            = 1 otherwise
+      DOUBLE PRECISION, PARAMETER :: tau = 6.2831853071795862d0 !If you don't know why I used this name, you're not a real nerd
+      DOUBLE PRECISION, PARAMETER :: alpha = 1.713d0
+      DOUBLE PRECISION, PARAMETER :: beta = 1.5671d0
+      DOUBLE PRECISION, PARAMETER :: delta = 0.00993d0
+      DOUBLE PRECISION, PARAMETER :: delta_diff = delta*2.0d0
+      DOUBLE PRECISION, PARAMETER :: rc_exp = 8.32d0
+      DOUBLE PRECISION, PARAMETER :: C_6 = 12.14d0
+      DOUBLE PRECISION, PARAMETER :: C_8 = 215.2d0
+      DOUBLE PRECISION, PARAMETER :: C_9 = 143.1d0
+      DOUBLE PRECISION, PARAMETER :: C_10 = 4813.9d0
+      DOUBLE PRECISION, PARAMETER :: C_6_diff = C_6*6d0
+      DOUBLE PRECISION, PARAMETER :: C_8_diff = C_8*8d0
+      DOUBLE PRECISION, PARAMETER :: C_9_diff = C_9*9d0
+      DOUBLE PRECISION, PARAMETER :: C_10_diff = C_10*10d0
+      DOUBLE PRECISION, PARAMETER :: C_6_int = C_6/3d0
+      DOUBLE PRECISION, PARAMETER :: C_8_int = C_8/5d0
+      DOUBLE PRECISION, PARAMETER :: C_9_int = C_9/6d0
+      DOUBLE PRECISION, PARAMETER :: C_10_int = C_10/7d0
+
+      CONTAINS
+
+         SUBROUTINE f_c(r, long_range, long_range_diff)
+            ! Calculates the damping function for the dispersive interactions 
+            ! at short range. 
+            !
+            ! Args:
+            !    r: The separation of the atoms.
+            !    long_range: The value of the damping function.
+            !    long_range_diff: The differential of the damping function 
+            !       with respect to r.
+
+            DOUBLE PRECISION, INTENT(IN) :: r
+            DOUBLE PRECISION, INTENT(OUT) :: long_range
+            DOUBLE PRECISION, INTENT(OUT) :: long_range_diff
+
+            DOUBLE PRECISION dist_frac
+
+            IF (r > rc_exp) THEN
+               long_range = 1.0d0
+               long_range_diff = 0.0d0
+            ELSE
+               dist_frac = rc_exp/r - 1.0d0
+               long_range = dexp(-(dist_frac)**2)
+               long_range_diff = 2.0d0*dist_frac*rc_exp*long_range/(r*r)
+            END IF
+
+         END SUBROUTINE
+
+         SUBROUTINE exp_func(r, pot, force)
+            ! Calculates the repulsive part of the SG force and potential 
+            ! between a pair of atoms at a given distance from each other.
+            !
+            ! Args:
+            !    r: The separation of the atoms.
+            !    pot: The repulsive part of the potential energy.
+            !    force: The magnitude of the repulsive part of the force.
+
+            DOUBLE PRECISION, INTENT(IN) :: r
+            DOUBLE PRECISION, INTENT(OUT) :: pot
+            DOUBLE PRECISION, INTENT(OUT) :: force
+
+            pot = dexp(alpha - r*(beta + delta*r))
+            force = (beta + delta_diff*r)*pot
+
+         END SUBROUTINE
+
+         SUBROUTINE SG_functions(r, pot, force)
+            ! Calculates the magnitude of the SG force and potential between
+            ! a pair of atoms at a given distance from each other.
+            !
+            ! Args:
+            !    r: The separation of the atoms.
+            !    pot: The SG interaction potential.
+            !    force: The magnitude of the SG force.
+
+            DOUBLE PRECISION, INTENT(IN) :: r
+            DOUBLE PRECISION, INTENT(OUT) :: pot
+            DOUBLE PRECISION, INTENT(OUT) :: force
+
+            DOUBLE PRECISION long_range, long_range_diff, disp, disp_diff, exp_pot, exp_force
+            DOUBLE PRECISION onr3, onr6, onr9, onr10
+
+            onr3 = 1/(r*r*r)
+            onr6 = onr3*onr3
+            onr9 = onr6*onr3
+            onr10 = onr9/r
+
+            CALL exp_func(r, exp_pot, exp_force)
+            CALL f_c(r, long_range, long_range_diff)
+      
+            disp = -(C_6*onr6 + C_8*onr9*r - C_9*onr9 + C_10*onr10)
+            disp_diff = (C_6_diff*onr6/r + C_8_diff*onr9 - C_9_diff*onr10 + C_10_diff*onr10/r)
+
+            pot = exp_pot + disp*long_range
+            force = exp_force - disp_diff*long_range - disp*long_range_diff
+
+         END SUBROUTINE
+
+         SUBROUTINE SG_fij(rij, r, pot, fij)
+            ! This calculates the SG potential energy and the magnitude and
+            ! direction of the force acting on a pair of atoms.
+            !
+            ! Args:
+            !    rij: The vector joining the two atoms.
+            !    r: The separation of the two atoms.
+            !    pot: The SG interaction potential.
+            !    fij: The SG force vector.
+
+            DOUBLE PRECISION, DIMENSION(3), INTENT(IN) :: rij
+            DOUBLE PRECISION, INTENT(IN) :: r
+            DOUBLE PRECISION, INTENT(OUT) :: pot
+            DOUBLE PRECISION, DIMENSION(3), INTENT(OUT) :: fij
+   
+            DOUBLE PRECISION f_tot
+   
+            CALL SG_functions(r, pot, f_tot)
+            fij = f_tot*rij/r
+   
+         END SUBROUTINE
+
+         SUBROUTINE SG_longrange(rc, natoms, volume, pot_lr, vir_lr)
+            ! Calculates the long range correction to the total potential and
+            ! virial pressure.
+            !
+            ! Uses the tail correction for a sharp cut-off, with no smoothing
+            ! function, as derived in Martyna and Hughes, Journal of Chemical
+            ! Physics, 110, 3275, (1999).
+            !
+            ! Note that we will assume that rc > rc_exp, and that 
+            ! exp(alpha - beta*rc - delta*rc**2) << 0, so we can neglect the
+            ! contribution of the repulsive potential and the dispersion 
+            ! damping function in the long range correction terms.
+            !
+            ! Args:
+            !    rc: The cut-off radius.
+            !    natoms: The number of atoms in the system.
+            !    volume: The volume of the system box.
+            !    pot_lr: The tail correction to the SG interaction potential.
+            !    vir_lr: The tail correction to the SG virial pressure.
+
+            DOUBLE PRECISION, INTENT(IN) :: rc
+            INTEGER, INTENT(IN) :: natoms
+            DOUBLE PRECISION, INTENT(IN) :: volume
+            DOUBLE PRECISION, INTENT(OUT) :: pot_lr
+            DOUBLE PRECISION, INTENT(OUT) :: vir_lr
+
+            DOUBLE PRECISION onr3, onr5, onr6, onr7, prefactor
+
+            onr3 = 1/(rc*rc*rc)
+            onr6 = onr3*onr3
+            onr5 = onr6*rc
+            onr7 = onr6/rc
+            prefactor = tau*natoms*natoms/volume
+
+            pot_lr = prefactor*(-C_6_int*onr3 - C_8_int*onr5 + C_9_int*onr6 - C_10_int*onr7)
+            vir_lr = prefactor*(-C_6*onr3 - C_8*onr5 + C_9*onr6 - C_10*onr7)/3 + pot_lr
+
+         END SUBROUTINE
+
+         SUBROUTINE SG_getall(rc, natoms, atoms, cell_h, cell_ih, index_list, n_list, pot, forces, virial)
+            ! Calculates the SG potential energy and virial and the forces 
+            ! acting on all the atoms.
+            !
+            ! Args:
+            !    rc: The cut-off radius.
+            !    natoms: The number of atoms in the system.
+            !    atoms: A vector holding all the atom positions.
+            !    cell_h: The simulation box cell vector matrix.
+            !    cell_ih: The inverse of the simulation box cell vector matrix.
+            !    index_list: A array giving the last index of n_list that 
+            !       gives the neighbours of a given atom.
+            !    n_list: An array giving the indices of the atoms that neighbour
+            !       the atom determined by index_list.
+            !    pot: The total potential energy of the system.
+            !    forces: An array giving the forces acting on all the atoms.
+            !    virial: The virial tensor, not divided by the volume.
+
+            DOUBLE PRECISION, INTENT(IN) :: rc
+            INTEGER, INTENT(IN) :: natoms
+            DOUBLE PRECISION, DIMENSION(natoms,3), INTENT(IN) :: atoms
+            DOUBLE PRECISION, DIMENSION(3,3), INTENT(IN) :: cell_h
+            DOUBLE PRECISION, DIMENSION(3,3), INTENT(IN) :: cell_ih
+            INTEGER, DIMENSION(natoms), INTENT(IN) :: index_list
+            INTEGER, DIMENSION(natoms*(natoms-1)/2), INTENT(IN) :: n_list
+            DOUBLE PRECISION, INTENT(OUT) :: pot
+            DOUBLE PRECISION, DIMENSION(natoms,3), INTENT(OUT) :: forces
+            DOUBLE PRECISION, DIMENSION(3,3), INTENT(OUT) :: virial
+
+            INTEGER i, j, k, l, start
+            DOUBLE PRECISION, DIMENSION(3) :: fij, rij
+            DOUBLE PRECISION r2, pot_ij, pot_lr, vir_lr, volume
+
+            forces = 0.0d0
+            pot = 0.0d0
+            virial = 0.0d0
+
+            start = 1
+
+            DO i = 1, natoms - 1
+               ! Only loops over the neigbour list, not all the atoms.
+               DO j = start, index_list(i)
+                  CALL vector_separation(cell_h, cell_ih, atoms(i,:), atoms(n_list(j),:), rij, r2)
+                  IF (r2 < rc*rc) THEN ! Only calculates contributions between neighbouring particles.
+                     CALL SG_fij(rij, sqrt(r2), pot_ij, fij)
+
+                     forces(i,:) = forces(i,:) + fij
+                     forces(n_list(j),:) = forces(n_list(j),:) - fij
+                     pot = pot + pot_ij
+                     DO k = 1, 3
+                        DO l = k, 3
+                           ! Only the upper triangular elements calculated.
+                           virial(k,l) = virial(k,l) + fij(k)*rij(l)
+                        ENDDO
+                     ENDDO
+                  ENDIF
+               ENDDO
+               start = index_list(i) + 1
+            ENDDO
+
+            ! Assuming an upper-triangular vector matrix for the simulation box.
+            volume = cell_h(1,1)*cell_h(2,2)*cell_h(3,3)
+            CALL SG_longrange(rc, natoms, volume, pot_lr, vir_lr)
+            pot = pot + pot_lr
+            DO k = 1, 3
+               virial(k,k) = virial(k,k) + vir_lr
+            ENDDO
+
+         END SUBROUTINE
+
+      END MODULE
diff --git a/tools/i-pi/drivers/distance.f90 b/tools/i-pi/drivers/distance.f90
new file mode 100644
index 0000000000..aa9cde3217
--- /dev/null
+++ b/tools/i-pi/drivers/distance.f90
@@ -0,0 +1,174 @@
+! This contains the algorithms needed to calculate the distance between atoms.
+! 
+! Copyright (C) 2013, Joshua More and Michele Ceriotti
+! 
+! Permission is hereby granted, free of charge, to any person obtaining a copy
+! of this software and associated documentation files (the "Software"), to deal
+! in the Software without restriction, including without limitation the rights
+! to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+! copies of the Software, and to permit persons to whom the Software is
+! furnished to do so, subject to the following conditions:
+
+! The above copyright notice and this permission notice shall be included in
+! all copies or substantial portions of the Software.
+
+! THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+! IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+! FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+! AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+! LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+! OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+! THE SOFTWARE.
+!
+! Functions:
+!    vector_separation: Calculates the vector separating two atoms.
+!    separation: Calculates the square distance between two vectors.
+!    nearest_neighbours: Generates arrays to calculate the pairs of atoms within
+!       a certain radius of each other.
+
+      MODULE DISTANCE
+      IMPLICIT NONE
+
+      CONTAINS
+
+         SUBROUTINE vector_separation(cell_h, cell_ih, ri, rj, rij, r2)
+            ! Calculates the vector separating two atoms.
+            !
+            ! Note that minimum image convention is used, so only the image of
+            ! atom j that is the shortest distance from atom i is considered.
+            !
+            ! Also note that while this may not work if the simulation
+            ! box is highly skewed from orthorhombic, as
+            ! in this case it is possible to return a distance less than the
+            ! nearest neighbour distance. However, this will not be of 
+            ! importance unless the cut-off radius is more than half the 
+            ! width of the shortest face-face distance of the simulation box,
+            ! which should never be the case.
+            !
+            ! Args:
+            !    cell_h: The simulation box cell vector matrix.
+            !    cell_ih: The inverse of the simulation box cell vector matrix.
+            !    ri: The position vector of atom i.
+            !    rj: The position vector of atom j
+            !    rij: The vector separating atoms i and j.
+            !    r2: The square of the distance between atoms i and j.
+
+            DOUBLE PRECISION, DIMENSION(3,3), INTENT(IN) :: cell_h
+            DOUBLE PRECISION, DIMENSION(3,3), INTENT(IN) :: cell_ih
+            DOUBLE PRECISION, DIMENSION(3), INTENT(IN) :: ri
+            DOUBLE PRECISION, DIMENSION(3), INTENT(IN) :: rj
+            DOUBLE PRECISION, DIMENSION(3), INTENT(OUT) :: rij 
+            DOUBLE PRECISION, INTENT(OUT) :: r2
+
+            INTEGER k
+            DOUBLE PRECISION, DIMENSION(3) :: sij  
+            ! The separation in a basis where the simulation box  
+            ! is a unit cube.
+                                                   
+            sij = matmul(cell_ih, ri - rj)
+            DO k = 1, 3
+               ! Finds the smallest separation of all the images of atom i and j
+               sij(k) = sij(k) - dnint(sij(k)) 
+            ENDDO
+            rij = matmul(cell_h, sij)
+            r2 = dot_product(rij,rij)
+
+         END SUBROUTINE
+
+         SUBROUTINE separation(cell_h, cell_ih, ri, rj, r2)
+            ! Calculates the squared distance between two position vectors.
+            !
+            ! Note that minimum image convention is used, so only the image of
+            ! atom j that is the shortest distance from atom i is considered.
+            !
+            ! Also note that while this may not work if the simulation
+            ! box is highly skewed from orthorhombic, as
+            ! in this case it is possible to return a distance less than the
+            ! nearest neighbour distance. However, this will not be of 
+            ! importance unless the cut-off radius is more than half the 
+            ! width of the shortest face-face distance of the simulation box,
+            ! which should never be the case.
+            !
+            ! Args:
+            !    cell_h: The simulation box cell vector matrix.
+            !    cell_ih: The inverse of the simulation box cell vector matrix.
+            !    ri: The position vector of atom i.
+            !    rj: The position vector of atom j
+            !    r2: The square of the distance between atoms i and j.
+
+            DOUBLE PRECISION, DIMENSION(3,3), INTENT(IN) :: cell_h
+            DOUBLE PRECISION, DIMENSION(3,3), INTENT(IN) :: cell_ih
+            DOUBLE PRECISION, DIMENSION(3), INTENT(IN) :: ri 
+            DOUBLE PRECISION, DIMENSION(3), INTENT(IN) :: rj
+            DOUBLE PRECISION, INTENT(OUT) :: r2
+
+            INTEGER k
+            ! The separation in a basis where the simulation box  
+            ! is a unit cube.
+            DOUBLE PRECISION, DIMENSION(3) :: sij
+            DOUBLE PRECISION, DIMENSION(3) :: rij
+                                                   
+            sij = matmul(cell_ih, ri - rj)
+            DO k = 1, 3
+               ! Finds the smallest separation of all the images of atom i and j
+               sij(k) = sij(k) - dnint(sij(k)) 
+            ENDDO
+            rij = matmul(cell_h, sij)
+            r2 = dot_product(rij, rij)
+
+         END SUBROUTINE
+
+         SUBROUTINE nearest_neighbours(rn, natoms, atoms, cell_h, cell_ih, index_list, n_list)
+            ! Creates a list of all the pairs of atoms that are closer together
+            ! than a certain distance.
+            !
+            ! This takes all the positions, and calculates which ones are
+            ! shorter than the distance rn. This creates two vectors, index_list
+            ! and n_list. index_list(i) gives the last index of n_list that
+            ! corresponds to a neighbour of atom i.
+            ! 
+            !
+            ! Args:
+            !    rn: The nearest neighbour list cut-off parameter. This should
+            !       be larger than the potential cut-off radius.
+            !    natoms: The number of atoms in the system.
+            !    atoms: A vector holding all the atom positions.
+            !    cell_h: The simulation box cell vector matrix.
+            !    cell_ih: The inverse of the simulation box cell vector matrix.
+            !    index_list: A array giving the last index of n_list that 
+            !       gives the neighbours of a given atom. Essentially keeps 
+            !       track of how many atoms neighbour a given atom.
+            !    n_list: An array giving the indices of the atoms that neighbour
+            !       the atom determined by index_list. Essentially keeps track
+            !       of which atoms neighbour a given atom.
+
+            DOUBLE PRECISION, INTENT(IN) :: rn
+            INTEGER, INTENT(IN) :: natoms
+            DOUBLE PRECISION, DIMENSION(:,:), INTENT(IN) :: atoms
+            DOUBLE PRECISION, DIMENSION(3,3), INTENT(IN) :: cell_h
+            DOUBLE PRECISION, DIMENSION(3,3), INTENT(IN) :: cell_ih
+            INTEGER, DIMENSION(natoms), INTENT(OUT) :: index_list
+            INTEGER, DIMENSION(natoms*(natoms-1)/2), INTENT(OUT) :: n_list
+
+            INTEGER :: i, j
+            DOUBLE PRECISION r2
+
+         index_list(1) = 0
+
+         DO i = 1, natoms - 1
+            DO j = i + 1, natoms
+               CALL separation(cell_h, cell_ih, atoms(i,:), atoms(j,:), r2)
+               IF (r2 < rn*rn) THEN
+                  ! We have found an atom that neighbours atom i, so the
+                  ! i-th index of index_list is incremented by one, and a new
+                  ! entry is added to n_list.
+                  index_list(i) = index_list(i) + 1
+                  n_list(index_list(i)) = j
+               ENDIF
+            ENDDO
+            index_list(i+1) = index_list(i)
+         ENDDO 
+
+         END SUBROUTINE
+
+      END MODULE
diff --git a/tools/i-pi/drivers/driver.f90 b/tools/i-pi/drivers/driver.f90
new file mode 100644
index 0000000000..9ff992dab3
--- /dev/null
+++ b/tools/i-pi/drivers/driver.f90
@@ -0,0 +1,309 @@
+! The main program which runs our driver test case potentials
+! 
+! Copyright (C) 2013, Joshua More and Michele Ceriotti
+! 
+! Permission is hereby granted, free of charge, to any person obtaining
+! a copy of this software and associated documentation files (the
+! "Software"), to deal in the Software without restriction, including
+! without limitation the rights to use, copy, modify, merge, publish,
+! distribute, sublicense, and/or sell copies of the Software, and to
+! permit persons to whom the Software is furnished to do so, subject to
+! the following conditions:
+! 
+! The above copyright notice and this permission notice shall be included
+! in all copies or substantial portions of the Software.
+! 
+! THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+! EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+! MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+! IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+! CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+! TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+! SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+!
+!
+! Currently the potentials implemented are the Lennard-Jones
+! potential, the Silvera-Goldman para-hydrogen potential and
+! the ideal gas (i.e. no interaction at all)
+
+      PROGRAM DRIVER
+         USE LJ
+         USE SG
+      IMPLICIT NONE
+
+      ! SOCKET VARIABLES
+      INTEGER, PARAMETER :: MSGLEN=12   ! length of the headers of the driver/wrapper communication protocol
+      INTEGER socket, inet, port        ! socket ID & address of the server
+      CHARACTER*1024 :: host
+
+      ! COMMAND LINE PARSING
+      CHARACTER*1024 :: cmdbuffer, vops
+      INTEGER ccmd, vstyle
+      LOGICAL verbose
+      INTEGER commas(4), par_count      ! stores the index of commas in the parameter string
+      DOUBLE PRECISION vpars(4)         ! array to store the parameters of the potential
+
+      ! SOCKET COMMUNICATION BUFFERS
+      CHARACTER*12 :: header
+      LOGICAL :: isinit=.false., hasdata=.false.
+      INTEGER cbuf
+      CHARACTER*2048 :: initbuffer      ! it's unlikely a string this large will ever be passed...
+      DOUBLE PRECISION, ALLOCATABLE :: msgbuffer(:)
+
+      ! PARAMETERS OF THE SYSTEM (CELL, ATOM POSITIONS, ...)
+      DOUBLE PRECISION sigma, eps, rc, rn, ks ! potential parameters
+      INTEGER nat
+      DOUBLE PRECISION pot
+      DOUBLE PRECISION, ALLOCATABLE :: atoms(:,:), forces(:,:)
+      DOUBLE PRECISION cell_h(3,3), cell_ih(3,3), virial(3,3)
+      DOUBLE PRECISION volume
+
+      ! NEIGHBOUR LIST ARRAYS
+      INTEGER, DIMENSION(:), ALLOCATABLE :: n_list, index_list
+      DOUBLE PRECISION init_volume, init_rc ! needed to correctly adjust the cut-off radius for variable cell dynamics
+      DOUBLE PRECISION, ALLOCATABLE :: last_atoms(:,:) ! Holds the positions when the neighbour list is created
+      DOUBLE PRECISION displacement ! Tracks how far each atom has moved since the last call of nearest_neighbours
+
+      INTEGER i
+
+      ! parse the command line parameters
+      ! intialize defaults
+      ccmd = 0
+      inet = 1
+      host = "localhost"//achar(0)
+      port = 31415
+      verbose = .false.
+      par_count = 0
+      vstyle = -1
+
+      DO i = 1, IARGC()
+         CALL GETARG(i, cmdbuffer)
+         IF (cmdbuffer == "-u") THEN ! flag for unix socket
+            inet = 0
+            ccmd = 0
+         ELSEIF (cmdbuffer == "-h") THEN ! read the hostname
+            ccmd = 1
+         ELSEIF (cmdbuffer == "-p") THEN ! reads the port number
+            ccmd = 2
+         ELSEIF (cmdbuffer == "-m") THEN ! reads the style of the potential function
+            ccmd = 3
+         ELSEIF (cmdbuffer == "-o") THEN ! reads the parameters
+            ccmd = 4
+         ELSEIF (cmdbuffer == "-v") THEN ! flag for verbose standard output
+            verbose = .true.
+         ELSE
+            IF (ccmd == 0) THEN
+               WRITE(*,*) " Unrecognized command line argument", ccmd
+               WRITE(*,*) " SYNTAX: driver.x [-u] -h hostname -p port -m [gas|lj|sg|harm] -o 'comma_separated_parameters' [-v] "
+               WRITE(*,*) ""
+               WRITE(*,*) " For LJ potential use -o sigma,epsilon,cutoff "
+               WRITE(*,*) " For SG potential use -o cutoff "
+               WRITE(*,*) " For 1D harmonic oscillator use -o k "
+               WRITE(*,*) " For the ideal gas, no options needed! "
+               CALL EXIT(-1)
+            ENDIF
+            IF (ccmd == 1) THEN
+               host = trim(cmdbuffer)//achar(0)
+            ELSEIF (ccmd == 2) THEN
+               READ(cmdbuffer,*) port
+            ELSEIF (ccmd == 3) THEN
+               IF (trim(cmdbuffer) == "lj") THEN
+                  vstyle = 1
+               ELSEIF (trim(cmdbuffer) == "sg") THEN
+                  vstyle = 2
+               ELSEIF (trim(cmdbuffer) == "harm") THEN
+                  vstyle = 3
+               ELSEIF (trim(cmdbuffer) == "gas") THEN
+                  vstyle = 0  ! ideal gas
+               ELSE
+                  WRITE(*,*) " Unrecognized potential type ", trim(cmdbuffer)
+                  WRITE(*,*) " Use -m [gas|lj|sg|harm] "
+                  CALL EXIT(-1)
+               ENDIF
+            ELSEIF (ccmd == 4) THEN
+               par_count = 1
+               commas(1) = 0
+               DO WHILE (index(cmdbuffer(commas(par_count)+1:), ',') > 0) 
+                  commas(par_count + 1) = index(cmdbuffer(commas(par_count)+1:), ',') + commas(par_count)
+                  READ(cmdbuffer(commas(par_count)+1:commas(par_count + 1)-1),*) vpars(par_count)
+                  par_count = par_count + 1
+               ENDDO
+               READ(cmdbuffer(commas(par_count)+1:),*) vpars(par_count)
+            ENDIF
+            ccmd = 0
+         ENDIF
+      ENDDO
+
+      IF (vstyle == -1) THEN
+         WRITE(*,*) " Error, type of potential not specified."
+         WRITE(*,*) " SYNTAX: driver.x [-u] -h hostname -p port -m [gas|lj|sg|harm] -o 'comma_separated_parameters' [-v] "
+         WRITE(*,*) ""
+         WRITE(*,*) " For LJ potential use -o sigma,epsilon,cutoff "
+         WRITE(*,*) " For SG potential use -o cutoff "
+         WRITE(*,*) " For the ideal gas, no options needed! "
+         CALL EXIT(-1)
+      ELSEIF (vstyle == 0) THEN
+         IF (par_count /= 0) THEN
+            WRITE(*,*) "Error: no initialization string needed for ideal gas."
+            CALL EXIT(-1) 
+         ENDIF   
+         isinit = .true.
+      ELSEIF (vstyle == 1) THEN
+         IF (par_count /= 3) THEN
+            WRITE(*,*) "Error: parameters not initialized correctly."
+            WRITE(*,*) "For LJ potential use -o sigma,epsilon,cutoff "
+            CALL EXIT(-1) ! Note that if initialization from the wrapper is implemented this exit should be removed.
+         ENDIF   
+         sigma = vpars(1)
+         eps = vpars(2)
+         rc = vpars(3)
+         rn = rc*1.2
+         isinit = .true.
+      ELSEIF (vstyle == 2) THEN
+         IF (par_count /= 1) THEN
+            WRITE(*,*) "Error: parameters not initialized correctly."
+            WRITE(*,*) "For SG potential use -o cutoff "
+            CALL EXIT(-1) ! Note that if initialization from the wrapper is implemented this exit should be removed.
+         ENDIF
+         rc = vpars(1)
+         rn = rc*1.2
+         isinit = .true.
+      ELSEIF (vstyle == 3) THEN
+         IF (par_count /= 1) THEN
+            WRITE(*,*) "Error: parameters not initialized correctly."
+            WRITE(*,*) "For 1D harmonic potential use -o k "
+            CALL EXIT(-1) ! Note that if initialization from the wrapper is implemented this exit should be removed.
+         ENDIF
+         ks = vpars(1)
+         isinit = .true.
+      ENDIF
+
+      IF (verbose) THEN
+         WRITE(*,*) " DRIVER - Connecting to host ", trim(host)
+         IF (inet > 0) THEN
+            WRITE(*,*) " on port ", port, " using an internet socket."
+         ELSE
+            WRITE(*,*) " using an UNIX socket."
+         ENDIF
+      ENDIF
+
+      ! Calls the interface to the C sockets to open a communication channel
+      CALL open_socket(socket, inet, port, host)
+      nat = -1
+      DO WHILE (.true.) ! Loops forever (or until the wrapper ends!)
+
+         ! Reads from the socket one message header
+         CALL readbuffer(socket, header, MSGLEN)
+         IF (verbose) WRITE(*,*) " Message from server: ", trim(header)
+
+         IF (trim(header) == "STATUS") THEN
+            ! The wrapper is inquiring on what we are doing
+            IF (.not. isinit) THEN
+               CALL writebuffer(socket,"NEEDINIT    ",MSGLEN)  ! Signals that we need initialization data
+            ELSEIF (hasdata) THEN
+               CALL writebuffer(socket,"HAVEDATA    ",MSGLEN)  ! Signals that we are done computing and can return forces
+            ELSE
+               CALL writebuffer(socket,"READY       ",MSGLEN)  ! We are idling and eager to compute something
+            ENDIF
+         ELSEIF (trim(header) == "INIT") THEN     ! The driver is kindly providing a string for initialization
+            CALL readbuffer(socket, cbuf, 4)
+            CALL readbuffer(socket, initbuffer, cbuf)
+            IF (verbose) WRITE(*,*) " Initializing system from wrapper, using ", trim(initbuffer)
+            isinit=.true. ! We actually do nothing with this string, thanks anyway. Could be used to pass some information (e.g. the input parameters, or the index of the replica, from the driver
+         ELSEIF (trim(header) == "POSDATA") THEN  ! The driver is sending the positions of the atoms. Here is where we do the calculation!
+
+            ! Parses the flow of data from the socket
+            CALL readbuffer(socket, cell_h,  9*8)  ! Cell matrix
+            CALL readbuffer(socket, cell_ih, 9*8)  ! Inverse of the cell matrix (so we don't have to invert it every time here)
+
+            ! The wrapper uses atomic units for everything, and row major storage.
+            ! At this stage one should take care that everything is converted in the
+            ! units and storage mode used in the driver.
+            cell_h = transpose(cell_h)
+            cell_ih = transpose(cell_ih)
+            ! We assume an upper triangular cell-vector matrix
+            volume = cell_h(1,1)*cell_h(2,2)*cell_h(3,3)
+
+            CALL readbuffer(socket, cbuf, 4)       ! The number of atoms in the cell
+            IF (nat < 0) THEN  ! Assumes that the number of atoms does not change throughout a simulation, so only does this once
+               nat = cbuf
+               IF (verbose) WRITE(*,*) " Allocating buffer and data arrays, with ", nat, " atoms"
+               ALLOCATE(msgbuffer(3*nat))
+               ALLOCATE(atoms(nat,3))
+               ALLOCATE(forces(nat,3))
+            ENDIF
+
+            CALL readbuffer(socket, msgbuffer, nat*3*8)
+            DO i = 1, nat
+               atoms(i,:) = msgbuffer(3*(i-1)+1:3*i)
+            ENDDO
+
+            IF (vstyle == 0) THEN   ! ideal gas, so no calculation done
+               pot = 0
+               forces = 0
+               virial = 0
+            ELSEIF (vstyle == 3) THEN ! 1D harmonic potential, so only uses the first position variable
+               pot = 0.5*ks*atoms(1,1)**2
+               forces = 0
+               forces(1,1) = -ks*atoms(1,1)
+               virial = 0
+               virial(1,1) = forces(1,1)*atoms(1,1)
+            ELSE
+               IF ((allocated(n_list) .neqv. .true.)) THEN
+                  IF (verbose) WRITE(*,*) " Allocating neighbour lists."
+                  ALLOCATE(n_list(nat*(nat-1)/2))
+                  ALLOCATE(index_list(nat))
+                  ALLOCATE(last_atoms(nat,3))
+                  CALL nearest_neighbours(rn, nat, atoms, cell_h, cell_ih, index_list, n_list)
+                  last_atoms = atoms
+                  init_volume = volume
+                  init_rc = rc
+               ENDIF
+
+               ! Checking to see if we need to re-calculate the neighbour list
+               rc = init_rc*(volume/init_volume)**(1.0/3.0)
+               DO i = 1, nat
+                  CALL separation(cell_h, cell_ih, atoms(i,:), last_atoms(i,:), displacement)
+                  ! Note that displacement is the square of the distance moved by atom i since the last time the neighbour list was created.
+                  IF (4*displacement > (rn-rc)*(rn-rc)) THEN
+                     IF (verbose) WRITE(*,*) " Recalculating neighbour lists"
+                     CALL nearest_neighbours(rn, nat, atoms, cell_h, cell_ih, index_list, n_list)
+                     last_atoms = atoms
+                     rn = 1.2*rc
+                     EXIT
+                  ENDIF
+               ENDDO
+
+               IF (vstyle == 1) THEN
+                  CALL LJ_getall(rc, sigma, eps, nat, atoms, cell_h, cell_ih, index_list, n_list, pot, forces, virial)
+               ELSEIF (vstyle == 2) THEN
+                  CALL SG_getall(rc, nat, atoms, cell_h, cell_ih, index_list, n_list, pot, forces, virial)
+               ENDIF
+               IF (verbose) WRITE(*,*) " Calculated energy is ", pot
+            ENDIF
+            hasdata = .true. ! Signal that we have data ready to be passed back to the wrapper
+         ELSEIF (trim(header) == "GETFORCE") THEN  ! The driver calculation is finished, it's time to send the results back to the wrapper
+
+            ! Data must be re-formatted (and units converted) in the units and shapes used in the wrapper
+            DO i = 1, nat
+               msgbuffer(3*(i-1)+1:3*i) = forces(i,:)
+            ENDDO
+            virial = transpose(virial)
+
+            CALL writebuffer(socket,"FORCEREADY  ",MSGLEN)
+            CALL writebuffer(socket,pot,8)  ! Writing the potential
+            CALL writebuffer(socket,nat,4)  ! Writing the number of atoms
+            CALL writebuffer(socket,msgbuffer,3*nat*8) ! Writing the forces
+            CALL writebuffer(socket,virial,9*8)  ! Writing the virial tensor, NOT divided by the volume
+            cbuf = 7 ! Size of the "extras" string
+            CALL writebuffer(socket,cbuf,4) ! This would write out the "extras" string, but in this case we only use a dummy string.
+            CALL writebuffer(socket,"nothing",7)
+
+            hasdata = .false.
+         ELSE
+            WRITE(*,*) " Unexpected header ", header
+            CALL EXIT(-1)
+         ENDIF
+      ENDDO
+      IF (nat > 0) DEALLOCATE(atoms, forces, msgbuffer)
+      END PROGRAM
diff --git a/tools/i-pi/drivers/sockets.c b/tools/i-pi/drivers/sockets.c
new file mode 100644
index 0000000000..6fda1b64ec
--- /dev/null
+++ b/tools/i-pi/drivers/sockets.c
@@ -0,0 +1,147 @@
+/* A minimal wrapper for socket communication.
+
+Copyright (C) 2013, Joshua More and Michele Ceriotti
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+
+Contains both the functions that transmit data to the socket and read the data
+back out again once finished, and the function which opens the socket initially.
+Can be linked to a FORTRAN code that does not support sockets natively.
+
+Functions:
+   error: Prints an error message and then exits.
+   open_socket_: Opens a socket with the required host server, socket type and
+      port number.
+   write_buffer_: Writes a string to the socket.
+   read_buffer_: Reads data from the socket.
+*/
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <sys/un.h>
+#include <netdb.h>
+
+void error(const char *msg)
+// Prints an error message and then exits.
+{   perror(msg);  exit(-1);   }
+
+void open_socket_(int *psockfd, int* inet, int* port, char* host)
+/* Opens a socket.
+
+Note that fortran passes an extra argument for the string length, but this is
+ignored here for C compatibility.
+
+Args:
+   psockfd: The id of the socket that will be created.
+   inet: An integer that determines whether the socket will be an inet or unix
+      domain socket. Gives unix if 0, inet otherwise.
+   port: The port number for the socket to be created. Low numbers are often
+      reserved for important channels, so use of numbers of 4 or more digits is
+      recommended.
+   host: The name of the host server.
+*/
+
+{
+   int sockfd, portno, n;
+   struct hostent *server;
+
+   struct sockaddr * psock; int ssock;
+
+   if (*inet>0)
+   {  // creates an internet socket
+      struct sockaddr_in serv_addr;      psock=(struct sockaddr *)&serv_addr;     ssock=sizeof(serv_addr);
+      sockfd = socket(AF_INET, SOCK_STREAM, 0);
+      if (sockfd < 0)  error("Error opening socket");
+
+      server = gethostbyname(host);
+      if (server == NULL)
+      {
+         fprintf(stderr, "Error opening socket: no such host %s \n", host);
+         exit(-1);
+      }
+
+      bzero((char *) &serv_addr, sizeof(serv_addr));
+      serv_addr.sin_family = AF_INET;
+      bcopy((char *)server->h_addr, (char *)&serv_addr.sin_addr.s_addr, server->h_length);
+      serv_addr.sin_port = htons(*port);
+      if (connect(sockfd, psock, ssock) < 0) error("Error opening socket: wrong host address, or broken connection");
+   }
+   else
+   {  // creates a unix socket
+      struct sockaddr_un serv_addr;      psock=(struct sockaddr *)&serv_addr;     ssock=sizeof(serv_addr);
+      sockfd = socket(AF_UNIX, SOCK_STREAM, 0);
+      bzero((char *) &serv_addr, sizeof(serv_addr));
+      serv_addr.sun_family = AF_UNIX;
+      strcpy(serv_addr.sun_path, "/tmp/ipi_");
+      strcpy(serv_addr.sun_path+9, host);
+      if (connect(sockfd, psock, ssock) < 0) error("Error opening socket: wrong host address, or broken connection");
+   }
+
+   *psockfd=sockfd;
+}
+
+void writebuffer_(int *psockfd, char *data, int* plen)
+/* Writes to a socket.
+
+Args:
+   psockfd: The id of the socket that will be written to.
+   data: The data to be written to the socket.
+   plen: The length of the data in bytes.
+*/
+
+{
+   int n;
+   int sockfd=*psockfd;
+   int len=*plen;
+
+   n = write(sockfd,data,len);
+   if (n < 0) error("Error writing to socket: server has quit or connection broke");
+}
+
+
+void readbuffer_(int *psockfd, char *data, int* plen)
+/* Reads from a socket.
+
+Args:
+   psockfd: The id of the socket that will be read from.
+   data: The storage array for data read from the socket.
+   plen: The length of the data in bytes.
+*/
+
+{
+   int n, nr;
+   int sockfd=*psockfd;
+   int len=*plen;
+
+   n = nr = read(sockfd,data,len);
+
+   while (nr>0 && n<len )
+   {  nr=read(sockfd,&data[n],len-n); n+=nr; }
+
+   if (n == 0) error("Error reading from socket: server has quit or connection broke");
+}
+
+
diff --git a/tools/i-pi/examples/lammps/Makefile b/tools/i-pi/examples/lammps/Makefile
new file mode 100644
index 0000000000..4e1eb8c90b
--- /dev/null
+++ b/tools/i-pi/examples/lammps/Makefile
@@ -0,0 +1,70 @@
+# Makefile for the q-TIP4P-F examples
+# 
+# Copyright (C) 2013, Joshua More and Michele Ceriotti
+# 
+# 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 3 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/>.
+
+.PHONY: all clean graphene h2o-piglet_2 h2o-piglet_4 h2o-piglet_8 h2o-rpc h2o-pimd
+all: graphene h2o-piglet_2 h2o-piglet_4 h2o-piglet_8 h2o-rpc h2o-pimd
+
+LAMMPS:=../../../../../src/lmp_ubuntu
+IPI:=../../../i-pi
+
+define run_lammps
+  for i in `seq 1 $1`; do \
+    $(LAMMPS) < $2 & \
+  done;
+endef
+-include make.in
+
+graphene:
+	cd graphene; $(IPI) input.xml & \
+	sleep 20; \
+        $(call run_lammps,4,in.kappa.Graphene) \
+	wait
+
+h2o-piglet_2:
+	cd h2o-piglet.2; $(IPI) input.xml & sleep 5; \
+        $(call run_lammps,2,in.water) \
+	wait
+	
+h2o-piglet_4:
+	cd h2o-piglet.4; $(IPI) input.xml & sleep 5; \
+        $(call run_lammps,4,in.water) \
+	wait
+
+h2o-piglet_8:
+	cd h2o-piglet.8; $(IPI) input.xml & sleep 5; \
+        $(call run_lammps,4,in.water) \
+	wait
+
+h2o-pimd:
+	cd h2o-pimd; $(IPI) input.xml & sleep 5; \
+        $(call run_lammps,4,in.water) \
+	wait
+
+h2o-rpc:
+	cd h2o-pimd-rpc; $(IPI) input.xml & sleep 5; \
+        $(call run_lammps,4,in.water_shortrange) \
+        $(call run_lammps,1,in.water_longrange) \
+	wait
+
+clean:
+	rm -f */gle_lammps.* */RESTART */EXIT */log.lammps; \
+	cd h2o-pimd; \
+	rm -f RESTART EXIT log.lammps no_rpc.*; cd ..; \
+	cd h2o-pimd-rpc; \
+	rm -f RESTART EXIT log.lammps rpc.*; cd ..; \
+	cd graphene; \
+	rm -f graph.* RESTART EXIT log.lammps graphene.lammpstraj nohup.out; cd ..
diff --git a/tools/i-pi/examples/lammps/README b/tools/i-pi/examples/lammps/README
new file mode 100644
index 0000000000..0bb5a74fa6
--- /dev/null
+++ b/tools/i-pi/examples/lammps/README
@@ -0,0 +1,70 @@
+ -- Examples of i-PI working with LAMMPS --
+ 
+ -- Example with Tersoff graphene potential --
+
+   Uses the Tersoff parameters of Lindsay and Broido PRB 81, 205441 (2010)
+   to run a short simulation of graphene with the LAMMPS MD code.
+ 
+ -- Example with the q-TIP4P-F water potential --
+
+ * This gives an example of water with the q-TIP4P-F potential
+   of Scott Habershon, Thomas E. Markland and David E. Manolopoulos,
+   J. Chem. Phys., 131, 024501, (2009).
+
+ * State point: (N, V, T) = (216 water molecules, 43737 a_0**3, 298 K)
+
+ * This demonstrates the convergence of the kinetic and potential energy
+   using the ring polymer contraction (RPC) method of Thomas E. Markland and
+   David E. Manolopoulos, J. Chem. Phys. 129, 024105, (2008), and
+   the PIGLET method of Michele Ceriotti and 
+   David Manolopoulos, Phys. Rev. Lett., 109, 100604, (2012).
+
+
+** Run the examples automatically:
+
+ * First, it is necessary to patch and compile LAMMPS, and create a make.in
+   file containing the path to the executable and i-pi, e.g.
+
+LAMMPS:=~/bin/lmp_serial
+IPI:=~/bin/i-pi
+ 
+ * The runs can be done automatically using the Makefile provided. The make 
+   targets are self-explanatory. To run the RPC example, for instance, just type:
+
+$ make h2o-rpc
+
+ * To clean up output files:
+
+$ make clean
+
+
+** Run the examples manually:
+
+ * Go back to the example directory and run
+
+$ python path/i-pi input.xml
+ 
+   the wrapper will start and sit waiting on the UDS /tmp/ipi.
+ 
+ * Open a separate terminal and run the LAMMPS driver code using:
+ 
+$ path/lammps/src/lmp_serial < in.water
+
+   For the RPC run, instead use:
+
+$ path/lammps/src/lmp_serial < in.water_longrange
+$ path/lammps/src/lmp_serial < in.water_shortrange
+
+   You can run multiple instances of the code; it is so fast that parallel 
+   scaling won't be appreciable.
+
+ * If your system does not support Unix domain sockets, just set in input.xml
+   <socket mode="unix"> <port> port_no </port>
+
+   To make the client socket connect, the in.water file should 
+   be changed so that it has the line:
+
+   fix 1 all driver hostname port_no
+
+   where hostname is the address the socket is binding to; either graphene, piglet_2,
+   piglet_4, piglet_8, rpc_long, rpc_short or no_rpc depending on the run.
diff --git a/tools/i-pi/examples/lammps/h2o-piglet.2/data.water b/tools/i-pi/examples/lammps/h2o-piglet.2/data.water
new file mode 100644
index 0000000000..13c75e9933
--- /dev/null
+++ b/tools/i-pi/examples/lammps/h2o-piglet.2/data.water
@@ -0,0 +1,1331 @@
+LAMMPS Description
+ 
+         648  atoms
+         432  bonds
+         216  angles
+ 
+           2  atom types
+           1  bond types
+           1  angle types
+ 
+         0 35.233 xlo xhi
+         0 35.233 ylo yhi
+         0 35.233 zlo zhi
+ 
+Masses
+ 
+  1 15.9994
+  2  1.0080
+ 
+Bond Coeffs
+ 
+  1    1.78    0.2708585 -0.327738785 0.231328959
+ 
+Angle Coeffs
+ 
+  1    0.0700  107.400000
+
+Atoms
+ 
+ 1 1 1 -1.1128       3.84600000       5.67200001       1.32300000
+ 2 1 2 0.5564        2.97900000       7.05400000       0.85700000
+ 3 1 2 0.5564        5.52500001       5.69700001       0.45100000
+ 4 2 1 -1.1128      34.55700001      34.34100000       3.07800000
+ 5 2 2 0.5564       33.72200001      34.68900000       4.84000001
+ 6 2 2 0.5564       36.02900000      33.22000001       3.71100001
+ 7 3 1 -1.1128       5.59100000       1.96299999      13.47700000
+ 8 3 2 0.5564        7.26500000       1.86400000      13.85100001
+ 9 3 2 0.5564        5.00899999       3.55500000      13.91599999
+ 10 4 1 -1.1128       1.06000000       2.06100000      21.71800001
+ 11 4 2 0.5564        0.75700000       0.26100000      21.82000000
+ 12 4 2 0.5564        0.21300001       3.01299999      23.04700000
+ 13 5 1 -1.1128       1.20000000       1.33700000      29.00599999
+ 14 5 2 0.5564        0.81800000       1.88399999      30.73200000
+ 15 5 2 0.5564        2.88300001       1.82500000      29.01100000
+ 16 6 1 -1.1128       1.33100001       1.38599999      34.30600001
+ 17 6 2 0.5564        2.39200001       2.89799999      34.84600000
+ 18 6 2 0.5564        0.81400000       0.53200001      35.83600000
+ 19 7 1 -1.1128      31.45100000      10.20100000       0.72599999
+ 20 7 2 0.5564       32.28199999      10.87699999      -0.75000000
+ 21 7 2 0.5564       30.91999999      11.59399999       1.67700000
+ 22 8 1 -1.1128       0.83600000      10.80800001       4.29800000
+ 23 8 2 0.5564        0.30500000      10.64300001       2.79300000
+ 24 8 2 0.5564       -0.35600001      10.33400000       5.52400000
+ 25 9 1 -1.1128      34.38100001       5.97900000       9.19400000
+ 26 9 2 0.5564       33.61600000       7.67300000       8.85700000
+ 27 9 2 0.5564       35.11500000       5.25999999       7.61800001
+ 28 10 1 -1.1128      33.21200000       6.48000000      24.27799999
+ 29 10 2 0.5564       31.62400000       6.90800001      23.52100001
+ 30 10 2 0.5564       32.54400000       4.99000000      24.98200000
+ 31 11 1 -1.1128       1.99200000       9.00199999      26.86300000
+ 32 11 2 0.5564        1.85600000      10.17500000      25.57899999
+ 33 11 2 0.5564        0.51900000       8.09899999      26.38599999
+ 34 12 1 -1.1128       2.05400000       8.66000000      32.51499999
+ 35 12 2 0.5564        2.16699999       8.72700000      30.49400000
+ 36 12 2 0.5564        2.37400001      10.51300000      33.03799999
+ 37 13 1 -1.1128       3.40200000      16.63900001       3.00800000
+ 38 13 2 0.5564        4.12700001      15.87200001       4.44600001
+ 39 13 2 0.5564        2.90500001      18.33899999       3.15999999
+ 40 14 1 -1.1128       4.22200000      15.44400000       8.07200000
+ 41 14 2 0.5564        5.21100000      16.75600000       8.29900001
+ 42 14 2 0.5564        2.56000000      15.49200001       8.86000000
+ 43 15 1 -1.1128       2.83100000       9.24599999      16.48800000
+ 44 15 2 0.5564        2.86900001       8.02300001      18.05000000
+ 45 15 2 0.5564        3.96000000       8.46700001      15.15400000
+ 46 16 1 -1.1128       5.56300000       6.00300000      20.90700000
+ 47 16 2 0.5564        4.65300000       4.63800000      21.48000000
+ 48 16 2 0.5564        6.40500000       6.20800000      22.52899999
+ 49 17 1 -1.1128       2.08700001      13.37000000      22.91299999
+ 50 17 2 0.5564        2.83200000      14.80400001      23.42200000
+ 51 17 2 0.5564        1.43400000      13.50900000      21.19599999
+ 52 18 1 -1.1128       3.36900000      17.88600000      25.10900001
+ 53 18 2 0.5564        3.65500000      17.20000000      26.76599999
+ 54 18 2 0.5564        4.77200001      18.97699999      24.49999999
+ 55 19 1 -1.1128      34.76400000      20.80300000       0.94800001
+ 56 19 2 0.5564       35.20999999      21.26700001       2.81599999
+ 57 19 2 0.5564       35.96200001      21.72599999       0.13099999
+ 58 20 1 -1.1128       2.83600000      24.17799999      15.22900000
+ 59 20 2 0.5564        2.79500000      22.34599999      14.87600001
+ 60 20 2 0.5564        2.41399999      24.11500000      17.13000001
+ 61 21 1 -1.1128      33.00000000      24.48100000      15.23000000
+ 62 21 2 0.5564       34.63999999      24.80400001      15.01299999
+ 63 21 2 0.5564       32.40100000      25.76400000      14.29500001
+ 64 22 1 -1.1128       0.40399999      26.77900001      23.39999999
+ 65 22 2 0.5564        1.35300001      27.24800000      24.98700001
+ 66 22 2 0.5564        1.54600001      28.05000000      22.31700001
+ 67 23 1 -1.1128      34.22200000      21.38000000      25.41799999
+ 68 23 2 0.5564       35.66899999      20.15100000      25.31700001
+ 69 23 2 0.5564       32.96000000      21.18000000      23.99200000
+ 70 24 1 -1.1128      33.25900000      17.43800000      32.48000000
+ 71 24 2 0.5564       33.31399999      18.78200000      33.88300001
+ 72 24 2 0.5564       32.74300001      18.18100001      30.87100000
+ 73 25 1 -1.1128       4.46300000      21.97900000       3.93600000
+ 74 25 2 0.5564        5.85600000      23.08400001       3.39999999
+ 75 25 2 0.5564        3.98600000      22.18000000       5.60200000
+ 76 26 1 -1.1128       6.25800000      25.85100001       8.52000000
+ 77 26 2 0.5564        5.76700000      27.69300001       8.47600000
+ 78 26 2 0.5564        7.20200001      25.50600000      10.18600000
+ 79 27 1 -1.1128       0.60099999      29.73699999      12.74700001
+ 80 27 2 0.5564       -0.68500000      30.84200000      12.34999999
+ 81 27 2 0.5564        1.33600000      30.71600000      14.03099999
+ 82 28 1 -1.1128       7.56300000      28.19100001      24.33300000
+ 83 28 2 0.5564        9.20100000      28.82800000      24.68400000
+ 84 28 2 0.5564        7.38100001      27.62100000      22.79900000
+ 85 29 1 -1.1128       3.65300000      27.10900001      27.77200001
+ 86 29 2 0.5564        5.12600000      27.01500000      26.77200001
+ 87 29 2 0.5564        3.03099999      28.75600000      27.69800000
+ 88 30 1 -1.1128       2.59600001      23.99100001      32.47600000
+ 89 30 2 0.5564        2.87900000      24.79099999      30.85899999
+ 90 30 2 0.5564        4.00300000      22.91299999      32.70099999
+ 91 31 1 -1.1128       3.08300000      31.31700001       3.64399999
+ 92 31 2 0.5564        4.13300000      30.58900001       2.53900001
+ 93 31 2 0.5564        4.21800000      32.17300001       5.03700001
+ 94 32 1 -1.1128       4.66100001      30.55500000       9.36799999
+ 95 32 2 0.5564        3.18400001      29.84300000      10.13200000
+ 96 32 2 0.5564        4.35800000      32.44800000       9.12600000
+ 97 33 1 -1.1128       3.46499999      32.53700000      15.77800000
+ 98 33 2 0.5564        5.07200000      31.81899999      15.90300000
+ 99 33 2 0.5564        4.05500001      34.25699999      15.28400000
+ 100 34 1 -1.1128       4.21500000      29.15299999      20.31700001
+ 101 34 2 0.5564        3.65799999      30.17600000      18.84200000
+ 102 34 2 0.5564        4.95899999      30.29100000      21.44900001
+ 103 35 1 -1.1128       1.12600000      31.33300000      28.76800001
+ 104 35 2 0.5564        2.39500000      31.12399999      29.92500000
+ 105 35 2 0.5564        0.76800001      33.09199999      28.89799999
+ 106 36 1 -1.1128       4.88100000      32.61600000      32.30200000
+ 107 36 2 0.5564        6.58800000      32.91100000      31.72500001
+ 108 36 2 0.5564        4.48599999      34.03700001      33.24900001
+ 109 37 1 -1.1128       8.96200001       5.55600000       0.15100000
+ 110 37 2 0.5564        9.65200000       6.99100001       0.85899999
+ 111 37 2 0.5564        9.17300001       4.47700000       1.64500000
+ 112 38 1 -1.1128       1.83300001       3.51799999       5.67900001
+ 113 38 2 0.5564        2.88900000       2.73100000       6.78800000
+ 114 38 2 0.5564        2.78900000       4.18700000       4.14700000
+ 115 39 1 -1.1128      10.51000001      34.72599999      13.07300001
+ 116 39 2 0.5564       11.91999999      34.11800000      11.91900001
+ 117 39 2 0.5564       11.29500001      34.96800000      14.74100000
+ 118 40 1 -1.1128       7.21200000       0.04199999      22.45399999
+ 119 40 2 0.5564        6.92400000       0.47000000      24.17200000
+ 120 40 2 0.5564        8.31900000       1.22799999      21.65300000
+ 121 41 1 -1.1128       6.36500000       2.01000000      27.54400000
+ 122 41 2 0.5564        5.95400000       3.58500000      26.85199999
+ 123 41 2 0.5564        7.75800001       2.54900000      28.69600000
+ 124 42 1 -1.1128      10.83300001       3.14000000      30.78699999
+ 125 42 2 0.5564       12.69700001       2.97500000      30.86700000
+ 126 42 2 0.5564       10.38899999       3.70000001      32.40399999
+ 127 43 1 -1.1128       8.68400000       9.34200001       3.91200001
+ 128 43 2 0.5564        6.98500000       9.25600001       4.77299999
+ 129 43 2 0.5564        8.68400000      10.80899999       3.01100000
+ 130 44 1 -1.1128       4.87299999       9.91900001       7.70700000
+ 131 44 2 0.5564        3.69800000       9.77100000       6.19400000
+ 132 44 2 0.5564        5.04700000      11.96100000       7.62400000
+ 133 45 1 -1.1128      10.03099999       5.01800000       9.69900000
+ 134 45 2 0.5564        9.67500001       3.38199999      10.34000000
+ 135 45 2 0.5564        9.13200000       5.98700001      10.82500000
+ 136 46 1 -1.1128      11.24599999       3.91800000      21.92900000
+ 137 46 2 0.5564       12.61400001       2.77000000      22.34100000
+ 138 46 2 0.5564       12.07300001       5.68600001      21.49699999
+ 139 47 1 -1.1128       6.82500000       7.16400000      25.70799999
+ 140 47 2 0.5564        8.03600000       8.37400001      25.98000001
+ 141 47 2 0.5564        5.20600001       7.90000000      25.89099999
+ 142 48 1 -1.1128      10.17099999      12.81100001       0.29500001
+ 143 48 2 0.5564       10.03300000      12.81800000      -1.60900000
+ 144 48 2 0.5564        9.87999999      14.49200001       0.48000000
+ 145 49 1 -1.1128       8.19000000      17.40200000       1.25299999
+ 146 49 2 0.5564        9.47199999      18.53100000       1.25299999
+ 147 49 2 0.5564        6.35100000      17.81700000       1.56800001
+ 148 50 1 -1.1128      11.23300000      16.18800001       8.29900001
+ 149 50 2 0.5564       10.29100000      17.68900000       8.16600001
+ 150 50 2 0.5564       12.76800001      17.12300001       8.73299999
+ 151 51 1 -1.1128       6.38599999       8.00199999      12.84600000
+ 152 51 2 0.5564        7.70099999       8.89600000      13.65500000
+ 153 51 2 0.5564        5.59100000       8.87699999      11.51900000
+ 154 52 1 -1.1128       8.18400001      10.41900000      18.84799999
+ 155 52 2 0.5564        9.49800000       9.43400000      19.90500001
+ 156 52 2 0.5564        6.88200000       9.02699999      18.94800001
+ 157 53 1 -1.1128      10.80600000      14.43100000      21.32799999
+ 158 53 2 0.5564        9.17700001      13.53100000      20.67000000
+ 159 53 2 0.5564       11.34400000      15.69600000      20.44800000
+ 160 54 1 -1.1128       9.23700000      13.92800000      30.34100000
+ 161 54 2 0.5564       10.77900001      14.83900000      30.52199999
+ 162 54 2 0.5564        9.96500000      13.19199999      28.89900000
+ 163 55 1 -1.1128      10.91800000      21.70700000       1.86400000
+ 164 55 2 0.5564       10.28000000      23.44900001       2.27900000
+ 165 55 2 0.5564       12.70799999      21.45600000       1.74900000
+ 166 56 1 -1.1128       9.35300001      16.12500000      13.92699999
+ 167 56 2 0.5564        9.93799999      17.59399999      14.61800001
+ 168 56 2 0.5564        9.51799999      16.36000001      12.24400000
+ 169 57 1 -1.1128      10.37099999      11.10700000      14.26800000
+ 170 57 2 0.5564        9.64399999      10.40600001      15.85899999
+ 171 57 2 0.5564        9.43400000      12.52300000      14.11699999
+ 172 58 1 -1.1128       3.35100000      22.76899999      20.19599999
+ 173 58 2 0.5564        2.05500001      23.68600001      21.50300001
+ 174 58 2 0.5564        2.45200000      21.40100000      19.41300000
+ 175 59 1 -1.1128       6.83600000      21.32900000      23.19899999
+ 176 59 2 0.5564        8.24900001      20.84799999      22.32000001
+ 177 59 2 0.5564        5.66800001      21.84099999      21.88600000
+ 178 60 1 -1.1128       4.60399999      15.64900000      30.04300000
+ 179 60 2 0.5564        6.45300001      15.21699999      30.20700000
+ 180 60 2 0.5564        3.82200001      14.76199999      31.56200000
+ 181 61 1 -1.1128       7.12500000      19.97600001       9.42100001
+ 182 61 2 0.5564        5.91800000      20.45300001      10.72999999
+ 183 61 2 0.5564        8.09899999      21.49600001       9.49100000
+ 184 62 1 -1.1128       9.06299999      25.91200001      13.18600000
+ 185 62 2 0.5564       10.34999999      26.57199999      12.36700001
+ 186 62 2 0.5564        9.67999999      24.36700001      13.69700001
+ 187 63 1 -1.1128       8.02200000      22.34299999      17.04199999
+ 188 63 2 0.5564        9.14400000      23.36700001      18.07399999
+ 189 63 2 0.5564        6.56200000      23.46200000      16.85199999
+ 190 64 1 -1.1128      10.76199999      26.28499999      19.96299999
+ 191 64 2 0.5564       11.03600000      27.96599999      20.53800000
+ 192 64 2 0.5564       11.07800000      25.40100000      21.45600000
+ 193 65 1 -1.1128       9.15800000      22.90199999      28.39100000
+ 194 65 2 0.5564        8.21900000      23.52800001      27.08499999
+ 195 65 2 0.5564        8.08900000      21.76000000      29.50900000
+ 196 66 1 -1.1128       6.21900000      20.15800000      31.92100000
+ 197 66 2 0.5564        5.63500000      18.51099999      31.16100000
+ 198 66 2 0.5564        7.53000000      19.62400000      33.07100000
+ 199 67 1 -1.1128      11.19100001      31.50900000       2.61700000
+ 200 67 2 0.5564       10.46000001      32.21399999       4.10800000
+ 201 67 2 0.5564       13.17600000      31.75099999       2.57700000
+ 202 68 1 -1.1128       4.74799999       0.05500001       8.60500000
+ 203 68 2 0.5564        5.38000000       0.51700000      10.18300000
+ 204 68 2 0.5564        6.05000000      -0.30600001       7.48000000
+ 205 69 1 -1.1128       8.69500000      30.80899999      15.73100000
+ 206 69 2 0.5564        9.18899999      32.10300000      14.49500000
+ 207 69 2 0.5564        8.44699999      29.06900000      14.86800000
+ 208 70 1 -1.1128      10.12799999      31.40200000      20.76599999
+ 209 70 2 0.5564        9.45600000      30.90500001      19.15500000
+ 210 70 2 0.5564        9.01999999      32.73100000      21.41500000
+ 211 71 1 -1.1128      12.23800001      30.16200000      25.83699999
+ 212 71 2 0.5564       11.41799999      30.90800001      27.10999999
+ 213 71 2 0.5564       12.39600001      31.33100001      24.67800000
+ 214 72 1 -1.1128      10.39500000      32.53700000      30.62400000
+ 215 72 2 0.5564       11.04199999      34.33899999      30.75099999
+ 216 72 2 0.5564       11.37800001      31.48599999      31.53800000
+ 217 73 1 -1.1128      10.43800000       3.62599999       5.08700001
+ 218 73 2 0.5564       12.43500001       4.08200000       5.13600000
+ 219 73 2 0.5564        9.82200001       4.28400000       6.68100000
+ 220 74 1 -1.1128      14.76199999       3.40100000      13.77599999
+ 221 74 2 0.5564       16.51799999       3.82400000      13.37600000
+ 222 74 2 0.5564       13.75200000       4.75700000      12.96400000
+ 223 75 1 -1.1128      12.38199999       1.01200001      17.64300001
+ 224 75 2 0.5564       13.34599999       1.99700000      16.44400000
+ 225 75 2 0.5564       11.93100000       2.13300000      18.99800001
+ 226 76 1 -1.1128      15.27799999       1.29300000      24.55900000
+ 227 76 2 0.5564       16.07100000       0.94600000      26.36500000
+ 228 76 2 0.5564       15.79399999       0.19899999      23.49900000
+ 229 77 1 -1.1128      22.22600000      31.62700000      24.71199999
+ 230 77 2 0.5564       23.33800001      32.59500000      23.87600001
+ 231 77 2 0.5564       22.16100000      30.05300000      24.13200000
+ 232 78 1 -1.1128      15.63999999       1.84700001      32.71700000
+ 233 78 2 0.5564       17.48800000       2.47300000      31.87400000
+ 234 78 2 0.5564       16.40300001       0.86900001      34.26700001
+ 235 79 1 -1.1128      14.85800001      10.19899999       2.75400001
+ 236 79 2 0.5564       13.36000001      10.71199999       2.28199999
+ 237 79 2 0.5564       14.56000000       9.31600000       4.55900000
+ 238 80 1 -1.1128      15.71700000       8.46900000      10.73900000
+ 239 80 2 0.5564       17.32300000       9.58100000      10.87500000
+ 240 80 2 0.5564       14.57400000       9.63100000      10.22099999
+ 241 81 1 -1.1128      15.24800000      10.39800000      16.52500001
+ 242 81 2 0.5564       16.32400001       9.18100001      16.14899999
+ 243 81 2 0.5564       14.17200000      10.48800000      15.09800001
+ 244 82 1 -1.1128      13.22600000       8.43800000      20.80100001
+ 245 82 2 0.5564       14.04300000       8.99600000      19.29500001
+ 246 82 2 0.5564       14.66100001       7.80200000      22.09300000
+ 247 83 1 -1.1128      10.17300001      10.96100000      25.87500000
+ 248 83 2 0.5564       11.47700000      10.22300000      26.94000000
+ 249 83 2 0.5564       11.26900000      10.73800000      24.34299999
+ 250 84 1 -1.1128      12.79200000       7.73699999      29.17300001
+ 251 84 2 0.5564       12.19899999       6.03799999      29.47499999
+ 252 84 2 0.5564       14.42700000       7.44999999      29.61700000
+ 253 85 1 -1.1128      15.18000000      19.49800000       3.57800000
+ 254 85 2 0.5564       14.88300001      17.59600001       4.08000001
+ 255 85 2 0.5564       16.75400001      19.57899999       2.62599999
+ 256 86 1 -1.1128      12.51700000      11.09300000       7.70099999
+ 257 86 2 0.5564       12.22400001      12.77800000       7.55500000
+ 258 86 2 0.5564       11.15000000      10.39299999       7.05700000
+ 259 87 1 -1.1128      16.26600000      16.27099999      10.75800001
+ 260 87 2 0.5564       16.50700001      15.79500000      12.76800001
+ 261 87 2 0.5564       17.72500001      16.97699999      10.29200001
+ 262 88 1 -1.1128      14.06900000      18.39900001      18.89700000
+ 263 88 2 0.5564       15.51300000      17.52300000      18.15500000
+ 264 88 2 0.5564       14.95800001      18.70900000      20.67300000
+ 265 89 1 -1.1128      14.09899999      15.48000000      25.51000001
+ 266 89 2 0.5564       13.69800000      16.87200001      26.93799999
+ 267 89 2 0.5564       12.56700000      15.37900000      24.44400000
+ 268 90 1 -1.1128      13.30900000      17.57400000      30.29200001
+ 269 90 2 0.5564       14.93700001      16.93399999      30.81000000
+ 270 90 2 0.5564       13.96900001      19.49400000      30.01200001
+ 271 91 1 -1.1128      18.37099999      23.25699999       0.92500000
+ 272 91 2 0.5564       19.47899999      23.48000000       2.32099999
+ 273 91 2 0.5564       19.08700001      24.32499999      -0.36900000
+ 274 92 1 -1.1128      12.10000000      21.72999999      11.35500000
+ 275 92 2 0.5564       13.14100001      22.28700000      12.74300001
+ 276 92 2 0.5564       13.46700001      22.23600000      10.24400000
+ 277 93 1 -1.1128      12.16300001      23.29000000      23.59699999
+ 278 93 2 0.5564       11.32400001      22.73600001      24.94900000
+ 279 93 2 0.5564       13.88200000      22.87200001      23.84000001
+ 280 94 1 -1.1128      20.17300001      26.76100001      22.62800000
+ 281 94 2 0.5564       20.20600001      26.53200001      20.79200000
+ 282 94 2 0.5564       21.55600000      25.74200000      23.38899999
+ 283 95 1 -1.1128      16.70099999      21.16500000      22.60500000
+ 284 95 2 0.5564       18.02800000      20.68600001      23.84799999
+ 285 95 2 0.5564       17.10400000      22.86599999      21.94900000
+ 286 96 1 -1.1128      11.39100000      26.46099999      33.70499999
+ 287 96 2 0.5564        9.84099999      27.19199999      34.04800001
+ 288 96 2 0.5564       11.77599999      25.53999999      35.24300000
+ 289 97 1 -1.1128       9.89799999      25.98900000       4.55300001
+ 290 97 2 0.5564        8.90199999      26.13099999       6.03900000
+ 291 97 2 0.5564       10.28700000      27.80600000       4.37600000
+ 292 98 1 -1.1128      14.30800000      26.96000000      10.87699999
+ 293 98 2 0.5564       15.30200000      27.40500000      12.17300001
+ 294 98 2 0.5564       15.46300000      26.15100000       9.63299999
+ 295 99 1 -1.1128      13.43300000      22.96000000      16.90400000
+ 296 99 2 0.5564       13.40900000      24.13099999      18.13200000
+ 297 99 2 0.5564       13.62400000      21.19100001      17.52000000
+ 298 100 1 -1.1128      16.40900000      26.76800001      26.87500000
+ 299 100 2 0.5564       17.58999999      26.98700001      25.43100000
+ 300 100 2 0.5564       14.75099999      27.70300000      26.23000000
+ 301 101 1 -1.1128      14.40500000      22.73299999      29.89200000
+ 302 101 2 0.5564       15.42300000      23.07900000      28.49400000
+ 303 101 2 0.5564       12.82600001      23.25900000      29.41600000
+ 304 102 1 -1.1128       6.90500001      29.40800000       0.74900000
+ 305 102 2 0.5564        8.42800001      30.48300000       1.56700000
+ 306 102 2 0.5564        6.35300001      30.81400000      -0.44400000
+ 307 103 1 -1.1128       9.18899999      34.15900001       6.50900000
+ 308 103 2 0.5564       10.19800000      34.19300000       8.00199999
+ 309 103 2 0.5564        9.89000001      35.69200000       5.78500000
+ 310 104 1 -1.1128      14.25600001      32.31600000       9.36900000
+ 311 104 2 0.5564       15.73299999      32.86700000       9.48599999
+ 312 104 2 0.5564       14.75400001      30.67000000      10.09000000
+ 313 105 1 -1.1128      14.71400000      30.84099999      16.51600000
+ 314 105 2 0.5564       13.74799999      29.55099999      17.27900000
+ 315 105 2 0.5564       13.21800000      31.93300001      16.61400001
+ 316 106 1 -1.1128      18.40900000      33.64100000      20.61100001
+ 317 106 2 0.5564       19.60099999      32.27400001      21.11500000
+ 318 106 2 0.5564       17.36000001      32.65500000      19.51799999
+ 319 107 1 -1.1128      16.06200001      28.63800000      32.20700000
+ 320 107 2 0.5564       14.64800000      27.95800001      33.25299999
+ 321 107 2 0.5564       15.75200000      28.01400000      30.52199999
+ 322 108 1 -1.1128      16.20000000      30.89499999       1.47300000
+ 323 108 2 0.5564       16.62599999      29.96800000      -0.13000001
+ 324 108 2 0.5564       17.16699999      29.83300001       2.92699999
+ 325 109 1 -1.1128      20.27799999       3.52899999       6.04800001
+ 326 109 2 0.5564       20.97699999       3.61100001       4.57500001
+ 327 109 2 0.5564       21.31200000       4.51300000       7.25100000
+ 328 110 1 -1.1128      23.07900000       5.77800000      10.40800000
+ 329 110 2 0.5564       24.65000001       6.25900000      10.83800000
+ 330 110 2 0.5564       22.34200001       7.60900000      10.17799999
+ 331 111 1 -1.1128      19.58100000       2.03099999      12.10999999
+ 332 111 2 0.5564       19.03900000       1.08200000      10.44000000
+ 333 111 2 0.5564       21.14100001       2.99100001      11.85100001
+ 334 112 1 -1.1128      22.00500001       3.22300000      23.17799999
+ 335 112 2 0.5564       21.42899999       4.09000000      24.55399999
+ 336 112 2 0.5564       20.65400001       1.79099999      22.71100001
+ 337 113 1 -1.1128      16.63000000       6.42200000      23.79200000
+ 338 113 2 0.5564       16.21900000       4.80400001      24.40600001
+ 339 113 2 0.5564       17.06600001       7.12799999      25.28199999
+ 340 114 1 -1.1128      21.67599999       5.56400001      28.15800000
+ 341 114 2 0.5564       20.65799999       6.71700000      29.18499999
+ 342 114 2 0.5564       23.41300000       5.82800000      28.99600000
+ 343 115 1 -1.1128      15.25699999       5.26500000       5.62599999
+ 344 115 2 0.5564       16.91400000       4.51900000       5.48999999
+ 345 115 2 0.5564       15.14400000       6.15000000       6.97200000
+ 346 116 1 -1.1128      20.13700000      11.08200000      10.43700000
+ 347 116 2 0.5564       20.02100000      10.94700000       8.73299999
+ 348 116 2 0.5564       21.02500000      12.55500000      10.85300000
+ 349 117 1 -1.1128      23.08900000      14.62700000      12.43700000
+ 350 117 2 0.5564       24.71600000      15.25400000      12.73600001
+ 351 117 2 0.5564       23.28400000      13.22799999      13.65300000
+ 352 118 1 -1.1128      24.08300000      12.64900000      22.56600000
+ 353 118 2 0.5564       22.39700000      12.66300000      23.04199999
+ 354 118 2 0.5564       24.90100001      13.85100001      23.56499999
+ 355 119 1 -1.1128      17.86500001       7.90899999      30.03600000
+ 356 119 2 0.5564       17.50900000       8.04499999      31.98200000
+ 357 119 2 0.5564       18.07800000       9.58200001      29.31799999
+ 358 120 1 -1.1128      18.82400000       8.48599999       0.10400000
+ 359 120 2 0.5564       19.99700000      10.19100001      -0.05700000
+ 360 120 2 0.5564       17.07700001       8.99800001       0.77900001
+ 361 121 1 -1.1128      20.12200000       9.14300000       5.34299999
+ 362 121 2 0.5564       19.37300000       8.81899999       3.82100000
+ 363 121 2 0.5564       21.99800001       8.77599999       5.12799999
+ 364 122 1 -1.1128      16.41300000      14.45900000       5.85499999
+ 365 122 2 0.5564       15.53599999      13.00700000       5.23899999
+ 366 122 2 0.5564       16.00599999      14.72500001       7.73699999
+ 367 123 1 -1.1128      17.56099999      15.06600001      15.65400001
+ 368 123 2 0.5564       17.57500001      13.39800000      16.05500001
+ 369 123 2 0.5564       18.97800000      15.82800000      16.39999999
+ 370 124 1 -1.1128      26.37400001      17.04700000      24.81700000
+ 371 124 2 0.5564       27.98300000      17.09800001      25.63200001
+ 372 124 2 0.5564       25.62900001      18.75099999      24.91900001
+ 373 125 1 -1.1128      19.78400000      12.96000000      28.70600000
+ 374 125 2 0.5564       21.66199999      13.05500001      28.87100000
+ 375 125 2 0.5564       19.54500000      14.06999999      27.14300000
+ 376 126 1 -1.1128      17.89099999      16.73299999      32.49900000
+ 377 126 2 0.5564       18.32700000      15.24000000      31.27700001
+ 378 126 2 0.5564       18.63299999      18.33500001      31.69300001
+ 379 127 1 -1.1128      23.73299999      23.02399999       1.66300000
+ 380 127 2 0.5564       24.80000000      24.05199999       2.77599999
+ 381 127 2 0.5564       24.69300001      22.61800001       0.19800000
+ 382 128 1 -1.1128      20.78900000      18.44000000       9.44299999
+ 383 128 2 0.5564       20.76599999      17.25699999       7.88100000
+ 384 128 2 0.5564       21.89600000      17.34500000      10.38500001
+ 385 129 1 -1.1128      21.57400000      17.49299999      17.83800000
+ 386 129 2 0.5564       20.59699999      18.95500001      17.21800000
+ 387 129 2 0.5564       22.53800000      16.87400000      16.25100000
+ 388 130 1 -1.1128      19.16800000      14.74799999      24.13099999
+ 389 130 2 0.5564       19.71100001      16.39000000      23.71199999
+ 390 130 2 0.5564       17.42899999      14.69500000      24.40300001
+ 391 131 1 -1.1128      22.14899999      20.19800000      24.97699999
+ 392 131 2 0.5564       21.63900001      20.92400000      26.48599999
+ 393 131 2 0.5564       22.65600000      21.65700001      24.41099999
+ 394 132 1 -1.1128      20.56499999      20.79200000      29.60000001
+ 395 132 2 0.5564       22.26399999      20.40900000      30.21399999
+ 396 132 2 0.5564       20.54800000      22.40800000      30.59699999
+ 397 133 1 -1.1128      20.80200000      26.54699999       9.61499999
+ 398 133 2 0.5564       20.09899999      27.98399999       8.33800001
+ 399 133 2 0.5564       21.27700001      27.53900001      11.32499999
+ 400 134 1 -1.1128      16.28300000      23.58900001       7.77900001
+ 401 134 2 0.5564       16.09300000      21.97300001       6.71199999
+ 402 134 2 0.5564       17.90100001      22.97100000       8.15400000
+ 403 135 1 -1.1128      18.46900000      29.79799999      13.56800001
+ 404 135 2 0.5564       19.71199999      31.21600000      13.50600000
+ 405 135 2 0.5564       16.87200001      30.34299999      14.39600001
+ 406 136 1 -1.1128      18.79000001      21.71199999      16.06000000
+ 407 136 2 0.5564       19.87800000      23.09000000      16.48500001
+ 408 136 2 0.5564       17.20100000      22.32600000      15.81899999
+ 409 137 1 -1.1128      21.74700001      26.08400001      16.34900001
+ 410 137 2 0.5564       20.78300001      27.02100000      15.29999999
+ 411 137 2 0.5564       22.70499999      27.32799999      17.20600001
+ 412 138 1 -1.1128      20.76899999      26.21100000      32.05000000
+ 413 138 2 0.5564       21.48800000      27.40399999      33.32799999
+ 414 138 2 0.5564       18.98900000      26.71000000      32.14500001
+ 415 139 1 -1.1128      19.82000000      29.18100001       5.55900000
+ 416 139 2 0.5564       20.99100001      29.50900000       4.10900001
+ 417 139 2 0.5564       19.43100000      31.01800000       6.22099999
+ 418 140 1 -1.1128      19.24000000      33.86700000       7.99300000
+ 419 140 2 0.5564       19.10700000      35.03900000       6.60399999
+ 420 140 2 0.5564       20.69700001      33.67100000       9.06299999
+ 421 141 1 -1.1128      22.51099999      34.97600001      15.79300000
+ 422 141 2 0.5564       23.71600000      36.16300001      16.60300000
+ 423 141 2 0.5564       21.69900000      36.15000000      14.46700001
+ 424 142 1 -1.1128      22.62199999      30.28400000      19.06900000
+ 425 142 2 0.5564       22.04899999      31.35100000      17.72500001
+ 426 142 2 0.5564       24.41099999      30.77299999      19.57599999
+ 427 143 1 -1.1128      18.63900001      33.61100001      28.36900000
+ 428 143 2 0.5564       18.22600000      32.15900001      29.10300000
+ 429 143 2 0.5564       19.90600000      33.00800000      27.15800000
+ 430 144 1 -1.1128      22.52000000       1.32499999      31.92600001
+ 431 144 2 0.5564       22.80300000       2.66800001      30.79600000
+ 432 144 2 0.5564       21.04499999       0.42499999      31.12200000
+ 433 145 1 -1.1128      21.75400001       3.78900000       1.15900001
+ 434 145 2 0.5564       22.08499999       2.78500000      -0.18000000
+ 435 145 2 0.5564       20.85000000       5.17500000       0.61000000
+ 436 146 1 -1.1128      28.45699999       5.53900001      12.13300000
+ 437 146 2 0.5564       29.48900001       4.39000000      11.18200000
+ 438 146 2 0.5564       29.16100000       7.13099999      12.58700000
+ 439 147 1 -1.1128      22.49500000       5.96599999      17.32400001
+ 440 147 2 0.5564       24.37700000       5.37900000      17.39299999
+ 441 147 2 0.5564       21.90600000       5.49100000      18.85700000
+ 442 148 1 -1.1128      28.12799999       3.30400000      22.28700000
+ 443 148 2 0.5564       28.12300001       2.99899999      20.49100000
+ 444 148 2 0.5564       26.53299999       3.35500000      22.87600001
+ 445 149 1 -1.1128      28.37800001      10.45500000      27.26600000
+ 446 149 2 0.5564       30.01900001      10.29200001      28.05100000
+ 447 149 2 0.5564       28.63500000      10.03900000      25.46300000
+ 448 150 1 -1.1128      27.03099999       8.35300001      34.80600000
+ 449 150 2 0.5564       26.11600001       9.98399999      34.57100001
+ 450 150 2 0.5564       28.68500000       8.95100001      34.73900000
+ 451 151 1 -1.1128      24.95100001       8.15999999       4.45399999
+ 452 151 2 0.5564       25.93000001       9.61600000       5.15999999
+ 453 151 2 0.5564       25.94700000       7.99400001       2.72400000
+ 454 152 1 -1.1128      26.93700001      12.43599999       6.86900001
+ 455 152 2 0.5564       25.49200001      13.28400000       6.70799999
+ 456 152 2 0.5564       27.68900000      13.33199999       8.26600000
+ 457 153 1 -1.1128      23.36500000      11.21399999      16.93300001
+ 458 153 2 0.5564       22.24700000       9.74399999      16.78900000
+ 459 153 2 0.5564       23.26399999      12.03500000      18.53900001
+ 460 154 1 -1.1128      28.32099999       8.75900000      22.15800000
+ 461 154 2 0.5564       27.66199999       6.89499999      22.48200001
+ 462 154 2 0.5564       26.97100000       9.71000000      21.90199999
+ 463 155 1 -1.1128      27.07100000       6.10900001      29.55500000
+ 464 155 2 0.5564       27.59100000       7.66300000      28.85700000
+ 465 155 2 0.5564       27.30400000       6.32000001      31.26100000
+ 466 156 1 -1.1128      22.47400000      11.70400001      34.63999999
+ 467 156 2 0.5564       22.75200000      13.30400000      35.58400000
+ 468 156 2 0.5564       22.84000001      12.09000000      33.03000001
+ 469 157 1 -1.1128      21.65600000      14.97100000       5.61499999
+ 470 157 2 0.5564       21.68999999      15.86000000       3.97699999
+ 471 157 2 0.5564       19.96400000      14.22500000       5.77400000
+ 472 158 1 -1.1128      28.53900001      21.49200001       9.82000000
+ 473 158 2 0.5564       27.28800001      22.18100001       8.68800000
+ 474 158 2 0.5564       28.06500000      22.42000000      11.60200000
+ 475 159 1 -1.1128      28.36399999      16.01999999      11.10900001
+ 476 159 2 0.5564       30.03300000      16.64900000      12.08900000
+ 477 159 2 0.5564       28.45600000      17.44000000      10.08200000
+ 478 160 1 -1.1128       0.05400000      13.68600001      18.10300000
+ 479 160 2 0.5564       -1.71400000      12.92800000      18.84099999
+ 480 160 2 0.5564        1.00800000      12.42899999      17.38300000
+ 481 161 1 -1.1128      24.63600001      12.89400001      29.95700000
+ 482 161 2 0.5564       25.90600000      13.91400000      31.18300000
+ 483 161 2 0.5564       25.64100000      11.60900000      29.16200000
+ 484 162 1 -1.1128      21.54800000      17.25000000       0.74900000
+ 485 162 2 0.5564       21.84300000      19.02600000       0.90500001
+ 486 162 2 0.5564       20.38500001      16.71600000      -0.69700001
+ 487 163 1 -1.1128      26.09499999      27.27400001       4.52000000
+ 488 163 2 0.5564       27.88900000      26.45800000       4.50500000
+ 489 163 2 0.5564       25.64800000      26.96999999       6.16500000
+ 490 164 1 -1.1128      23.61000000      22.51499999       8.00800000
+ 491 164 2 0.5564       22.65300000      21.18700000       8.73900000
+ 492 164 2 0.5564       22.28600000      24.09499999       8.44400000
+ 493 165 1 -1.1128      27.35500000      18.92900000      18.18000000
+ 494 165 2 0.5564       27.20000000      20.34900001      17.15500000
+ 495 165 2 0.5564       25.57899999      18.32200000      18.77000000
+ 496 166 1 -1.1128      26.76500001      23.63299999      14.44400000
+ 497 166 2 0.5564       27.44100000      25.29800000      13.65099999
+ 498 166 2 0.5564       25.08600000      24.25600001      14.74900000
+ 499 167 1 -1.1128      31.47800001      20.76899999      20.98600000
+ 500 167 2 0.5564       30.44000000      22.50900000      21.13499999
+ 501 167 2 0.5564       30.56700000      19.65600000      20.04300000
+ 502 168 1 -1.1128      24.81199999      20.41200000      32.66800001
+ 503 168 2 0.5564       26.24199999      21.47800001      31.87400000
+ 504 168 2 0.5564       25.78699999      19.02300001      33.15800000
+ 505 169 1 -1.1128      22.10500001      29.07600000       0.92800000
+ 506 169 2 0.5564       23.29599999      27.92299999       1.73900000
+ 507 169 2 0.5564       22.62300000      30.99400001       0.88200000
+ 508 170 1 -1.1128      29.57199999      31.25600001       8.62599999
+ 509 170 2 0.5564       30.79500000      30.20299999       7.73600001
+ 510 170 2 0.5564       28.27700001      31.51900000       7.25999999
+ 511 171 1 -1.1128      31.81700000      34.84300000      18.28300000
+ 512 171 2 0.5564       32.43800000      34.38899999      16.47400000
+ 513 171 2 0.5564       32.74300001      36.42200000      18.34100000
+ 514 172 1 -1.1128      27.91500001      25.60099999      19.03300000
+ 515 172 2 0.5564       29.35800000      26.56099999      19.19000000
+ 516 172 2 0.5564       28.14800001      24.42899999      17.53000000
+ 517 173 1 -1.1128      24.54800000      24.65400001      24.02500000
+ 518 173 2 0.5564       25.52800001      25.63500000      22.82400000
+ 519 173 2 0.5564       25.29999999      25.20000000      25.64500000
+ 520 174 1 -1.1128      28.53999999      22.92200000      30.37000000
+ 521 174 2 0.5564       27.41399999      24.09600000      29.78100000
+ 522 174 2 0.5564       29.67400000      23.91400000      31.87299999
+ 523 175 1 -1.1128      24.96900001      33.62300000       1.01400000
+ 524 175 2 0.5564       26.52100001      33.05800000       1.51799999
+ 525 175 2 0.5564       24.99000000      34.32200000      -0.68299999
+ 526 176 1 -1.1128      23.07500000      32.17099999      11.32400001
+ 527 176 2 0.5564       23.31600000      32.77500000      13.09700000
+ 528 176 2 0.5564       24.46000001      33.20299999      10.66199999
+ 529 177 1 -1.1128      27.49699999       2.73600001      17.22400001
+ 530 177 2 0.5564       28.39700000       3.41500000      15.71500001
+ 531 177 2 0.5564       28.23400001       1.23300000      17.41200000
+ 532 178 1 -1.1128      26.36900000      33.06000000      22.07700001
+ 533 178 2 0.5564       26.17000001      34.74600000      22.26399999
+ 534 178 2 0.5564       27.59200000      32.40399999      23.32099999
+ 535 179 1 -1.1128      30.22099999      30.95000000      25.84300000
+ 536 179 2 0.5564       30.30500000      29.03799999      26.20800000
+ 537 179 2 0.5564       30.36300001      31.97900000      27.41399999
+ 538 180 1 -1.1128      24.97300001      26.73200000      28.60700001
+ 539 180 2 0.5564       25.38500001      28.36900000      29.24800000
+ 540 180 2 0.5564       23.33000000      26.59699999      29.23400001
+ 541 181 1 -1.1128      32.16500000       4.85700000       2.25800000
+ 542 181 2 0.5564       32.41700001       6.19500001       1.15700000
+ 543 181 2 0.5564       32.61499999       3.72700000       1.11200000
+ 544 182 1 -1.1128      28.06699999       3.53299999       5.21699999
+ 545 182 2 0.5564       26.96000000       4.44699999       4.15800000
+ 546 182 2 0.5564       29.87500000       3.86300000       4.44800000
+ 547 183 1 -1.1128      33.27900000       2.78200000      13.02800000
+ 548 183 2 0.5564       33.70799999       3.95500001      11.81700000
+ 549 183 2 0.5564       33.65600000       3.54500000      14.63100000
+ 550 184 1 -1.1128      34.27799999       4.94400001      17.49200001
+ 551 184 2 0.5564       33.43800000       6.56300000      17.87600001
+ 552 184 2 0.5564       34.90600000       4.45200000      18.99499999
+ 553 185 1 -1.1128      32.36300001       1.90800001      26.09199999
+ 554 185 2 0.5564       31.94099999       1.68299999      24.26800000
+ 555 185 2 0.5564       33.85000000       1.39000000      26.90400000
+ 556 186 1 -1.1128      27.98200000       0.41799999      28.24100000
+ 557 186 2 0.5564       27.51600000       2.08000001      28.30900000
+ 558 186 2 0.5564       29.59300001       0.17600000      27.29900001
+ 559 187 1 -1.1128      28.84500000      14.67200001       2.72400000
+ 560 187 2 0.5564       27.96299999      13.93000001       4.13900000
+ 561 187 2 0.5564       30.38599999      15.71400000       3.37900000
+ 562 188 1 -1.1128      28.08300000      10.61800001      14.29800000
+ 563 188 2 0.5564       28.62300000      12.15999999      13.29300000
+ 564 188 2 0.5564       26.48599999      11.01500000      15.37900000
+ 565 189 1 -1.1128      33.86700000      10.54500000      13.30600001
+ 566 189 2 0.5564       35.16500000       9.61200000      13.81000000
+ 567 189 2 0.5564       33.61499999      10.27000001      11.51300000
+ 568 190 1 -1.1128      31.79000001       9.69600000      18.22300000
+ 569 190 2 0.5564       30.48400000       9.33400000      19.42100001
+ 570 190 2 0.5564       30.83399999      10.09600000      16.92900000
+ 571 191 1 -1.1128      30.14100001      15.00599999      21.53200001
+ 572 191 2 0.5564       28.56499999      15.59399999      22.09899999
+ 573 191 2 0.5564       30.94200000      14.25299999      23.07700001
+ 574 192 1 -1.1128      32.79799999      10.73200000      30.67999999
+ 575 192 2 0.5564       34.07300001       9.52800001      30.79900000
+ 576 192 2 0.5564       32.99100001      11.51200000      28.98300000
+ 577 193 1 -1.1128      33.65200000      16.26500000       5.08600000
+ 578 193 2 0.5564       35.39900001      16.23899999       4.72999999
+ 579 193 2 0.5564       33.50300001      17.93900000       5.63100000
+ 580 194 1 -1.1128      31.94700000      10.79900000       7.94300000
+ 581 194 2 0.5564       29.89400001      10.54900000       7.61899999
+ 582 194 2 0.5564       32.27099999      12.41399999       7.07500000
+ 583 195 1 -1.1128       0.32900000      15.51600000      11.74600000
+ 584 195 2 0.5564       -0.44600001      14.24900001      12.93900000
+ 585 195 2 0.5564       -0.68500000      17.01800000      11.93500000
+ 586 196 1 -1.1128       4.26200000      19.16500000      14.30800000
+ 587 196 2 0.5564        3.57899999      17.69100000      14.91999999
+ 588 196 2 0.5564        5.72299999      19.18300000      15.20400000
+ 589 197 1 -1.1128      32.99499999      13.54600001      25.94800001
+ 590 197 2 0.5564       32.16699999      15.06000000      26.78699999
+ 591 197 2 0.5564       34.42499999      13.80000000      25.00700000
+ 592 198 1 -1.1128       1.77299999      13.52400000      34.03700001
+ 593 198 2 0.5564        0.22700001      14.40900000      33.44600001
+ 594 198 2 0.5564        2.16699999      14.67000000      35.51099999
+ 595 199 1 -1.1128      33.02900000      20.52899999       7.24700000
+ 596 199 2 0.5564       34.38800000      21.41399999       8.00300000
+ 597 199 2 0.5564       31.45100000      20.83100000       8.18200000
+ 598 200 1 -1.1128       2.03700001      24.25000000      10.25100000
+ 599 200 2 0.5564        3.74300001      25.00800000       9.87600001
+ 600 200 2 0.5564        1.89400001      25.04300000      11.90300000
+ 601 201 1 -1.1128      32.75300000      19.25900000      13.97600001
+ 602 201 2 0.5564       32.79200000      20.88600000      13.79200000
+ 603 201 2 0.5564       34.33400000      18.79900000      14.97600001
+ 604 202 1 -1.1128       0.39600001      18.67300000      18.69900000
+ 605 202 2 0.5564       -1.21100000      18.95000000      19.12700001
+ 606 202 2 0.5564        0.46900000      16.97699999      18.43599999
+ 607 203 1 -1.1128      30.85499999      18.37000000      27.95899999
+ 608 203 2 0.5564       29.75900000      19.68100000      28.68999999
+ 609 203 2 0.5564       32.10300000      19.47700000      26.76300000
+ 610 204 1 -1.1128      27.72299999      15.99200000      33.09100001
+ 611 204 2 0.5564       29.39000000      16.42300000      32.19199999
+ 612 204 2 0.5564       27.80100001      15.85899999      34.80400001
+ 613 205 1 -1.1128      31.06800000      27.89499999       3.34800000
+ 614 205 2 0.5564       32.51700000      27.82500000       4.61000000
+ 615 205 2 0.5564       31.52899999      29.45900000       2.32400001
+ 616 206 1 -1.1128      35.03900000      28.00800000       6.66300000
+ 617 206 2 0.5564       35.96599999      26.93399999       7.68299999
+ 618 206 2 0.5564       36.05500001      28.33600000       5.33600000
+ 619 207 1 -1.1128      29.35600001      28.19599999      13.02500000
+ 620 207 2 0.5564       29.20999999      29.33500001      14.58900001
+ 621 207 2 0.5564       28.87400000      29.62900001      11.86700000
+ 622 208 1 -1.1128      32.38599999      28.43400000      18.96100000
+ 623 208 2 0.5564       33.36799999      28.57400000      20.41099999
+ 624 208 2 0.5564       33.41000001      27.40600001      17.94900000
+ 625 209 1 -1.1128      30.89799999      25.39000000      25.79900000
+ 626 209 2 0.5564       32.36900000      25.91299999      24.58000000
+ 627 209 2 0.5564       31.31700001      24.07500000      27.02900000
+ 628 210 1 -1.1128      32.25900000      25.61100001      33.10400000
+ 629 210 2 0.5564       32.23800001      25.73600001      34.80600000
+ 630 210 2 0.5564       33.91999999      25.04199999      32.77500000
+ 631 211 1 -1.1128      30.29000000      32.64500000       1.34100000
+ 632 211 2 0.5564       29.94900000      32.79300000      -0.43000000
+ 633 211 2 0.5564       31.76199999      33.34000000       1.84700001
+ 634 212 1 -1.1128      25.53599999      34.23499999       6.46900000
+ 635 212 2 0.5564       25.71600000      36.05900001       6.65099999
+ 636 212 2 0.5564       25.28300000      33.86599999       4.89499999
+ 637 213 1 -1.1128      31.67400000      33.16100000      13.10599999
+ 638 213 2 0.5564       31.79300000      34.86300000      13.28100001
+ 639 213 2 0.5564       30.42499999      32.92800000      11.78300001
+ 640 214 1 -1.1128      33.84400001      32.66800001      22.29599999
+ 641 214 2 0.5564       32.75000000      32.23400001      23.52400000
+ 642 214 2 0.5564       32.91700000      32.87500000      20.73600001
+ 643 215 1 -1.1128      31.60300000      30.54200000      30.80499999
+ 644 215 2 0.5564       33.45100000      30.80400001      30.46799999
+ 645 215 2 0.5564       31.57500001      28.81599999      31.75600000
+ 646 216 1 -1.1128      26.29500001      31.23499999      30.59900000
+ 647 216 2 0.5564       27.83399999      30.51499999      30.60700001
+ 648 216 2 0.5564       26.36200000      32.91999999      29.85600000
+
+Bonds
+
+ 1 1 1 2
+ 2 1 1 3
+ 3 1 4 5
+ 4 1 4 6
+ 5 1 7 8
+ 6 1 7 9
+ 7 1 10 11
+ 8 1 10 12
+ 9 1 13 14
+ 10 1 13 15
+ 11 1 16 17
+ 12 1 16 18
+ 13 1 19 20
+ 14 1 19 21
+ 15 1 22 23
+ 16 1 22 24
+ 17 1 25 26
+ 18 1 25 27
+ 19 1 28 29
+ 20 1 28 30
+ 21 1 31 32
+ 22 1 31 33
+ 23 1 34 35
+ 24 1 34 36
+ 25 1 37 38
+ 26 1 37 39
+ 27 1 40 41
+ 28 1 40 42
+ 29 1 43 44
+ 30 1 43 45
+ 31 1 46 47
+ 32 1 46 48
+ 33 1 49 50
+ 34 1 49 51
+ 35 1 52 53
+ 36 1 52 54
+ 37 1 55 56
+ 38 1 55 57
+ 39 1 58 59
+ 40 1 58 60
+ 41 1 61 62
+ 42 1 61 63
+ 43 1 64 65
+ 44 1 64 66
+ 45 1 67 68
+ 46 1 67 69
+ 47 1 70 71
+ 48 1 70 72
+ 49 1 73 74
+ 50 1 73 75
+ 51 1 76 77
+ 52 1 76 78
+ 53 1 79 80
+ 54 1 79 81
+ 55 1 82 83
+ 56 1 82 84
+ 57 1 85 86
+ 58 1 85 87
+ 59 1 88 89
+ 60 1 88 90
+ 61 1 91 92
+ 62 1 91 93
+ 63 1 94 95
+ 64 1 94 96
+ 65 1 97 98
+ 66 1 97 99
+ 67 1 100 101
+ 68 1 100 102
+ 69 1 103 104
+ 70 1 103 105
+ 71 1 106 107
+ 72 1 106 108
+ 73 1 109 110
+ 74 1 109 111
+ 75 1 112 113
+ 76 1 112 114
+ 77 1 115 116
+ 78 1 115 117
+ 79 1 118 119
+ 80 1 118 120
+ 81 1 121 122
+ 82 1 121 123
+ 83 1 124 125
+ 84 1 124 126
+ 85 1 127 128
+ 86 1 127 129
+ 87 1 130 131
+ 88 1 130 132
+ 89 1 133 134
+ 90 1 133 135
+ 91 1 136 137
+ 92 1 136 138
+ 93 1 139 140
+ 94 1 139 141
+ 95 1 142 143
+ 96 1 142 144
+ 97 1 145 146
+ 98 1 145 147
+ 99 1 148 149
+ 100 1 148 150
+ 101 1 151 152
+ 102 1 151 153
+ 103 1 154 155
+ 104 1 154 156
+ 105 1 157 158
+ 106 1 157 159
+ 107 1 160 161
+ 108 1 160 162
+ 109 1 163 164
+ 110 1 163 165
+ 111 1 166 167
+ 112 1 166 168
+ 113 1 169 170
+ 114 1 169 171
+ 115 1 172 173
+ 116 1 172 174
+ 117 1 175 176
+ 118 1 175 177
+ 119 1 178 179
+ 120 1 178 180
+ 121 1 181 182
+ 122 1 181 183
+ 123 1 184 185
+ 124 1 184 186
+ 125 1 187 188
+ 126 1 187 189
+ 127 1 190 191
+ 128 1 190 192
+ 129 1 193 194
+ 130 1 193 195
+ 131 1 196 197
+ 132 1 196 198
+ 133 1 199 200
+ 134 1 199 201
+ 135 1 202 203
+ 136 1 202 204
+ 137 1 205 206
+ 138 1 205 207
+ 139 1 208 209
+ 140 1 208 210
+ 141 1 211 212
+ 142 1 211 213
+ 143 1 214 215
+ 144 1 214 216
+ 145 1 217 218
+ 146 1 217 219
+ 147 1 220 221
+ 148 1 220 222
+ 149 1 223 224
+ 150 1 223 225
+ 151 1 226 227
+ 152 1 226 228
+ 153 1 229 230
+ 154 1 229 231
+ 155 1 232 233
+ 156 1 232 234
+ 157 1 235 236
+ 158 1 235 237
+ 159 1 238 239
+ 160 1 238 240
+ 161 1 241 242
+ 162 1 241 243
+ 163 1 244 245
+ 164 1 244 246
+ 165 1 247 248
+ 166 1 247 249
+ 167 1 250 251
+ 168 1 250 252
+ 169 1 253 254
+ 170 1 253 255
+ 171 1 256 257
+ 172 1 256 258
+ 173 1 259 260
+ 174 1 259 261
+ 175 1 262 263
+ 176 1 262 264
+ 177 1 265 266
+ 178 1 265 267
+ 179 1 268 269
+ 180 1 268 270
+ 181 1 271 272
+ 182 1 271 273
+ 183 1 274 275
+ 184 1 274 276
+ 185 1 277 278
+ 186 1 277 279
+ 187 1 280 281
+ 188 1 280 282
+ 189 1 283 284
+ 190 1 283 285
+ 191 1 286 287
+ 192 1 286 288
+ 193 1 289 290
+ 194 1 289 291
+ 195 1 292 293
+ 196 1 292 294
+ 197 1 295 296
+ 198 1 295 297
+ 199 1 298 299
+ 200 1 298 300
+ 201 1 301 302
+ 202 1 301 303
+ 203 1 304 305
+ 204 1 304 306
+ 205 1 307 308
+ 206 1 307 309
+ 207 1 310 311
+ 208 1 310 312
+ 209 1 313 314
+ 210 1 313 315
+ 211 1 316 317
+ 212 1 316 318
+ 213 1 319 320
+ 214 1 319 321
+ 215 1 322 323
+ 216 1 322 324
+ 217 1 325 326
+ 218 1 325 327
+ 219 1 328 329
+ 220 1 328 330
+ 221 1 331 332
+ 222 1 331 333
+ 223 1 334 335
+ 224 1 334 336
+ 225 1 337 338
+ 226 1 337 339
+ 227 1 340 341
+ 228 1 340 342
+ 229 1 343 344
+ 230 1 343 345
+ 231 1 346 347
+ 232 1 346 348
+ 233 1 349 350
+ 234 1 349 351
+ 235 1 352 353
+ 236 1 352 354
+ 237 1 355 356
+ 238 1 355 357
+ 239 1 358 359
+ 240 1 358 360
+ 241 1 361 362
+ 242 1 361 363
+ 243 1 364 365
+ 244 1 364 366
+ 245 1 367 368
+ 246 1 367 369
+ 247 1 370 371
+ 248 1 370 372
+ 249 1 373 374
+ 250 1 373 375
+ 251 1 376 377
+ 252 1 376 378
+ 253 1 379 380
+ 254 1 379 381
+ 255 1 382 383
+ 256 1 382 384
+ 257 1 385 386
+ 258 1 385 387
+ 259 1 388 389
+ 260 1 388 390
+ 261 1 391 392
+ 262 1 391 393
+ 263 1 394 395
+ 264 1 394 396
+ 265 1 397 398
+ 266 1 397 399
+ 267 1 400 401
+ 268 1 400 402
+ 269 1 403 404
+ 270 1 403 405
+ 271 1 406 407
+ 272 1 406 408
+ 273 1 409 410
+ 274 1 409 411
+ 275 1 412 413
+ 276 1 412 414
+ 277 1 415 416
+ 278 1 415 417
+ 279 1 418 419
+ 280 1 418 420
+ 281 1 421 422
+ 282 1 421 423
+ 283 1 424 425
+ 284 1 424 426
+ 285 1 427 428
+ 286 1 427 429
+ 287 1 430 431
+ 288 1 430 432
+ 289 1 433 434
+ 290 1 433 435
+ 291 1 436 437
+ 292 1 436 438
+ 293 1 439 440
+ 294 1 439 441
+ 295 1 442 443
+ 296 1 442 444
+ 297 1 445 446
+ 298 1 445 447
+ 299 1 448 449
+ 300 1 448 450
+ 301 1 451 452
+ 302 1 451 453
+ 303 1 454 455
+ 304 1 454 456
+ 305 1 457 458
+ 306 1 457 459
+ 307 1 460 461
+ 308 1 460 462
+ 309 1 463 464
+ 310 1 463 465
+ 311 1 466 467
+ 312 1 466 468
+ 313 1 469 470
+ 314 1 469 471
+ 315 1 472 473
+ 316 1 472 474
+ 317 1 475 476
+ 318 1 475 477
+ 319 1 478 479
+ 320 1 478 480
+ 321 1 481 482
+ 322 1 481 483
+ 323 1 484 485
+ 324 1 484 486
+ 325 1 487 488
+ 326 1 487 489
+ 327 1 490 491
+ 328 1 490 492
+ 329 1 493 494
+ 330 1 493 495
+ 331 1 496 497
+ 332 1 496 498
+ 333 1 499 500
+ 334 1 499 501
+ 335 1 502 503
+ 336 1 502 504
+ 337 1 505 506
+ 338 1 505 507
+ 339 1 508 509
+ 340 1 508 510
+ 341 1 511 512
+ 342 1 511 513
+ 343 1 514 515
+ 344 1 514 516
+ 345 1 517 518
+ 346 1 517 519
+ 347 1 520 521
+ 348 1 520 522
+ 349 1 523 524
+ 350 1 523 525
+ 351 1 526 527
+ 352 1 526 528
+ 353 1 529 530
+ 354 1 529 531
+ 355 1 532 533
+ 356 1 532 534
+ 357 1 535 536
+ 358 1 535 537
+ 359 1 538 539
+ 360 1 538 540
+ 361 1 541 542
+ 362 1 541 543
+ 363 1 544 545
+ 364 1 544 546
+ 365 1 547 548
+ 366 1 547 549
+ 367 1 550 551
+ 368 1 550 552
+ 369 1 553 554
+ 370 1 553 555
+ 371 1 556 557
+ 372 1 556 558
+ 373 1 559 560
+ 374 1 559 561
+ 375 1 562 563
+ 376 1 562 564
+ 377 1 565 566
+ 378 1 565 567
+ 379 1 568 569
+ 380 1 568 570
+ 381 1 571 572
+ 382 1 571 573
+ 383 1 574 575
+ 384 1 574 576
+ 385 1 577 578
+ 386 1 577 579
+ 387 1 580 581
+ 388 1 580 582
+ 389 1 583 584
+ 390 1 583 585
+ 391 1 586 587
+ 392 1 586 588
+ 393 1 589 590
+ 394 1 589 591
+ 395 1 592 593
+ 396 1 592 594
+ 397 1 595 596
+ 398 1 595 597
+ 399 1 598 599
+ 400 1 598 600
+ 401 1 601 602
+ 402 1 601 603
+ 403 1 604 605
+ 404 1 604 606
+ 405 1 607 608
+ 406 1 607 609
+ 407 1 610 611
+ 408 1 610 612
+ 409 1 613 614
+ 410 1 613 615
+ 411 1 616 617
+ 412 1 616 618
+ 413 1 619 620
+ 414 1 619 621
+ 415 1 622 623
+ 416 1 622 624
+ 417 1 625 626
+ 418 1 625 627
+ 419 1 628 629
+ 420 1 628 630
+ 421 1 631 632
+ 422 1 631 633
+ 423 1 634 635
+ 424 1 634 636
+ 425 1 637 638
+ 426 1 637 639
+ 427 1 640 641
+ 428 1 640 642
+ 429 1 643 644
+ 430 1 643 645
+ 431 1 646 647
+ 432 1 646 648
+
+Angles
+
+ 1 1 2 1 3
+ 2 1 5 4 6
+ 3 1 8 7 9
+ 4 1 11 10 12
+ 5 1 14 13 15
+ 6 1 17 16 18
+ 7 1 20 19 21
+ 8 1 23 22 24
+ 9 1 26 25 27
+ 10 1 29 28 30
+ 11 1 32 31 33
+ 12 1 35 34 36
+ 13 1 38 37 39
+ 14 1 41 40 42
+ 15 1 44 43 45
+ 16 1 47 46 48
+ 17 1 50 49 51
+ 18 1 53 52 54
+ 19 1 56 55 57
+ 20 1 59 58 60
+ 21 1 62 61 63
+ 22 1 65 64 66
+ 23 1 68 67 69
+ 24 1 71 70 72
+ 25 1 74 73 75
+ 26 1 77 76 78
+ 27 1 80 79 81
+ 28 1 83 82 84
+ 29 1 86 85 87
+ 30 1 89 88 90
+ 31 1 92 91 93
+ 32 1 95 94 96
+ 33 1 98 97 99
+ 34 1 101 100 102
+ 35 1 104 103 105
+ 36 1 107 106 108
+ 37 1 110 109 111
+ 38 1 113 112 114
+ 39 1 116 115 117
+ 40 1 119 118 120
+ 41 1 122 121 123
+ 42 1 125 124 126
+ 43 1 128 127 129
+ 44 1 131 130 132
+ 45 1 134 133 135
+ 46 1 137 136 138
+ 47 1 140 139 141
+ 48 1 143 142 144
+ 49 1 146 145 147
+ 50 1 149 148 150
+ 51 1 152 151 153
+ 52 1 155 154 156
+ 53 1 158 157 159
+ 54 1 161 160 162
+ 55 1 164 163 165
+ 56 1 167 166 168
+ 57 1 170 169 171
+ 58 1 173 172 174
+ 59 1 176 175 177
+ 60 1 179 178 180
+ 61 1 182 181 183
+ 62 1 185 184 186
+ 63 1 188 187 189
+ 64 1 191 190 192
+ 65 1 194 193 195
+ 66 1 197 196 198
+ 67 1 200 199 201
+ 68 1 203 202 204
+ 69 1 206 205 207
+ 70 1 209 208 210
+ 71 1 212 211 213
+ 72 1 215 214 216
+ 73 1 218 217 219
+ 74 1 221 220 222
+ 75 1 224 223 225
+ 76 1 227 226 228
+ 77 1 230 229 231
+ 78 1 233 232 234
+ 79 1 236 235 237
+ 80 1 239 238 240
+ 81 1 242 241 243
+ 82 1 245 244 246
+ 83 1 248 247 249
+ 84 1 251 250 252
+ 85 1 254 253 255
+ 86 1 257 256 258
+ 87 1 260 259 261
+ 88 1 263 262 264
+ 89 1 266 265 267
+ 90 1 269 268 270
+ 91 1 272 271 273
+ 92 1 275 274 276
+ 93 1 278 277 279
+ 94 1 281 280 282
+ 95 1 284 283 285
+ 96 1 287 286 288
+ 97 1 290 289 291
+ 98 1 293 292 294
+ 99 1 296 295 297
+ 100 1 299 298 300
+ 101 1 302 301 303
+ 102 1 305 304 306
+ 103 1 308 307 309
+ 104 1 311 310 312
+ 105 1 314 313 315
+ 106 1 317 316 318
+ 107 1 320 319 321
+ 108 1 323 322 324
+ 109 1 326 325 327
+ 110 1 329 328 330
+ 111 1 332 331 333
+ 112 1 335 334 336
+ 113 1 338 337 339
+ 114 1 341 340 342
+ 115 1 344 343 345
+ 116 1 347 346 348
+ 117 1 350 349 351
+ 118 1 353 352 354
+ 119 1 356 355 357
+ 120 1 359 358 360
+ 121 1 362 361 363
+ 122 1 365 364 366
+ 123 1 368 367 369
+ 124 1 371 370 372
+ 125 1 374 373 375
+ 126 1 377 376 378
+ 127 1 380 379 381
+ 128 1 383 382 384
+ 129 1 386 385 387
+ 130 1 389 388 390
+ 131 1 392 391 393
+ 132 1 395 394 396
+ 133 1 398 397 399
+ 134 1 401 400 402
+ 135 1 404 403 405
+ 136 1 407 406 408
+ 137 1 410 409 411
+ 138 1 413 412 414
+ 139 1 416 415 417
+ 140 1 419 418 420
+ 141 1 422 421 423
+ 142 1 425 424 426
+ 143 1 428 427 429
+ 144 1 431 430 432
+ 145 1 434 433 435
+ 146 1 437 436 438
+ 147 1 440 439 441
+ 148 1 443 442 444
+ 149 1 446 445 447
+ 150 1 449 448 450
+ 151 1 452 451 453
+ 152 1 455 454 456
+ 153 1 458 457 459
+ 154 1 461 460 462
+ 155 1 464 463 465
+ 156 1 467 466 468
+ 157 1 470 469 471
+ 158 1 473 472 474
+ 159 1 476 475 477
+ 160 1 479 478 480
+ 161 1 482 481 483
+ 162 1 485 484 486
+ 163 1 488 487 489
+ 164 1 491 490 492
+ 165 1 494 493 495
+ 166 1 497 496 498
+ 167 1 500 499 501
+ 168 1 503 502 504
+ 169 1 506 505 507
+ 170 1 509 508 510
+ 171 1 512 511 513
+ 172 1 515 514 516
+ 173 1 518 517 519
+ 174 1 521 520 522
+ 175 1 524 523 525
+ 176 1 527 526 528
+ 177 1 530 529 531
+ 178 1 533 532 534
+ 179 1 536 535 537
+ 180 1 539 538 540
+ 181 1 542 541 543
+ 182 1 545 544 546
+ 183 1 548 547 549
+ 184 1 551 550 552
+ 185 1 554 553 555
+ 186 1 557 556 558
+ 187 1 560 559 561
+ 188 1 563 562 564
+ 189 1 566 565 567
+ 190 1 569 568 570
+ 191 1 572 571 573
+ 192 1 575 574 576
+ 193 1 578 577 579
+ 194 1 581 580 582
+ 195 1 584 583 585
+ 196 1 587 586 588
+ 197 1 590 589 591
+ 198 1 593 592 594
+ 199 1 596 595 597
+ 200 1 599 598 600
+ 201 1 602 601 603
+ 202 1 605 604 606
+ 203 1 608 607 609
+ 204 1 611 610 612
+ 205 1 614 613 615
+ 206 1 617 616 618
+ 207 1 620 619 621
+ 208 1 623 622 624
+ 209 1 626 625 627
+ 210 1 629 628 630
+ 211 1 632 631 633
+ 212 1 635 634 636
+ 213 1 638 637 639
+ 214 1 641 640 642
+ 215 1 644 643 645
+ 216 1 647 646 648
diff --git a/tools/i-pi/examples/lammps/h2o-piglet.2/in.water b/tools/i-pi/examples/lammps/h2o-piglet.2/in.water
new file mode 100644
index 0000000000..e810a02a75
--- /dev/null
+++ b/tools/i-pi/examples/lammps/h2o-piglet.2/in.water
@@ -0,0 +1,32 @@
+units		electron
+atom_style	full
+
+#pair_style	lj/cut/coul/long 17.01
+pair_style      lj/cut/tip4p/long 1 2 1 1 0.278072379 17.007
+#bond_style      harmonic
+bond_style      class2 
+angle_style     harmonic
+#kspace_style	pppm 0.0001
+kspace_style	pppm/tip4p 0.0001
+
+read_data	data.water
+pair_coeff  * * 0 0
+pair_coeff  1  1  0.000295147 5.96946
+
+neighbor	2.0 bin
+
+timestep	0.00025
+
+#velocity all create 298.0 2345187
+
+#thermo_style	multi
+#thermo		1
+
+#fix		1 all nvt temp 298.0 298.0 30.0 tchain 1
+#fix 1 all nve
+fix 1 all ipi piglet_2 32344 unix
+
+#dump		1 all xyz 25 dump.xyz
+
+run		100000000
+
diff --git a/tools/i-pi/examples/lammps/h2o-piglet.2/input.xml b/tools/i-pi/examples/lammps/h2o-piglet.2/input.xml
new file mode 100644
index 0000000000..1dff8eb519
--- /dev/null
+++ b/tools/i-pi/examples/lammps/h2o-piglet.2/input.xml
@@ -0,0 +1,37 @@
+<simulation>
+   <initialize nbeads='2'> 
+      <file mode='pdb'> water_298K.pdb </file>
+      <velocities mode="thermal" units='kelvin'> 298 </velocities>
+   </initialize>
+   <output prefix='gle_lammps'>
+      <properties stride='1' filename='out'>  [ step, time{picosecond}, conserved{kelvin}, temperature{kelvin}, kinetic_cv{kelvin}, potential{kelvin}, pressure_cv{megapascal}] </properties>
+      <trajectory filename='pos' stride='20'> positions </trajectory>
+   </output>
+   <total_steps>500000</total_steps>
+   <prng><seed>32344</seed></prng>
+   <forces>
+      <socket mode='unix'>
+         <address>piglet_2</address>
+      </socket>
+   </forces>
+   <ensemble mode='nvt'>
+  <thermostat mode='nm_gle'>
+    <A shape='(2,9,9)'>
+[
+   1.300513766690e-2,     9.078220950722e-6,     8.180522706851e-6,     1.196620464216e-5,     1.108609196233e-4,    -8.941338246404e-4,     7.817382329484e-3,    -1.206049888192e-2,    -5.215913547478e-2,    -9.756343549369e-6,     2.131200614277e-7,     2.972243541454e-6,    -4.459298032276e-6,     2.177011229810e-7,     4.960251269751e-7,    -2.083064995647e-6,    -7.004617074013e-6,     2.299410255689e-5,    -1.851243089560e-6,    -2.972243541454e-6,     1.956991859501e-6,     1.742357040415e-6,    -2.082265548357e-6,    -1.760771137012e-6,    -3.733162998255e-6,    -3.711884630223e-5,    -3.625483838477e-5,     1.492481502899e-5,     4.459298032276e-6,    -1.742357040415e-6,     5.092476869103e-6,     2.033910859306e-6,     5.856365217540e-7,    -3.020170664006e-6,     1.868034354962e-5,    -5.049113665348e-6,     1.059383195368e-4,    -2.177011229810e-7,     2.082265548357e-6,    -2.033910859306e-6,     5.467813757620e-5,    -6.684243951800e-6,    -9.770331146786e-7,    -2.159991642805e-4,     4.667176340213e-4,    -7.611448585233e-4,    -4.960251269751e-7,     1.760771137012e-6,    -5.856365217540e-7,     6.684243951800e-6,     6.616597356640e-4,    -1.637891086976e-6,    -2.056652206438e-4,     2.960975881160e-4,     7.659946833472e-3,     2.083064995647e-6,     3.733162998255e-6,     3.020170664006e-6,     9.770331146786e-7,     1.637891086976e-6,     6.390977118535e-3,    -6.246090363901e-5,     5.054994461623e-4,    -1.078245092236e-2,     7.004617074013e-6,     3.711884630223e-5,    -1.868034354962e-5,     2.159991642805e-4,     2.056652206438e-4,     6.246090363901e-5,     1.730397061203e-1,     1.004651317366e-4,    -5.467410217589e-2,    -2.299410255689e-5,     3.625483838477e-5,     5.049113665348e-6,    -4.667176340213e-4,    -2.960975881160e-4,    -5.054994461623e-4,    -1.004651317366e-4,     1.795223909984e+0,  
+   3.661508781828e-6,     6.586380415542e-3,     0.000000000000e+0,     1.048798625055e-2,     0.000000000000e+0,     5.235465741104e-3,     0.000000000000e+0,     7.227324741917e-5,     0.000000000000e+0,    -6.586380415542e-3,     1.472841224644e-1,     3.389091001693e-2,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -3.389091001693e-2,    1.735946745861e-14,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -1.048798625055e-2,     0.000000000000e+0,     0.000000000000e+0,     1.692225827878e-2,     4.099176875073e-3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -4.099176875073e-3,    1.735946745861e-14,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -5.235465741104e-3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     6.199421250931e-2,     1.895288863876e-2,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -1.895288863876e-2,    1.735946745861e-14,     0.000000000000e+0,     0.000000000000e+0,    -7.227324741917e-5,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     6.363529537929e-3,     1.124668303030e-3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -1.124668303030e-3,    1.735946745861e-14
+]
+    </A>
+    <C shape='(2,9,9)' units='kelvin'>
+[
+     5.960000000000e+2,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     5.960000000000e+2,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     5.960000000000e+2,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     5.960000000000e+2,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     5.960000000000e+2,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     5.960000000000e+2,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     5.960000000000e+2,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     5.960000000000e+2,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     5.960000000000e+2,
+     2.328214199148e+3,    -1.773638197238e+2,    -1.602512467866e+3,     8.425273498280e+2,     8.422758941500e+1,    -1.455757871344e+3,    -5.675121506200e+3,    -7.340797223540e+2,    -1.291218519198e+3,    -1.773638197238e+2,     1.435198117668e+4,     7.017882376280e-9,     1.492286663068e+2,     7.538985690600e+1,    -6.166178913900e+1,    -5.732862975560e+1,    -1.734437584300e+1,     2.139711935710e+0,    -1.602512467866e+3,     7.018704063600e-9,     1.404054791182e+4,    -6.233033935480e+2,    -2.932131143096e+2,     1.025131033748e+2,    -8.882494221820e+2,    -6.447837508760e+1,    -2.608106016078e+2,     8.425273498280e+2,     1.492286663068e+2,    -6.233033935480e+2,     6.169297761040e+2,     2.152166828426e-9,     4.558287232240e+2,    -2.592081224912e+3,    -3.768899601800e+2,    -8.237240093440e+1,     8.422758941500e+1,     7.538985690600e+1,    -2.932131143096e+2,     2.151810134644e-9,     8.324310406920e+2,     5.606216348920e+2,    -1.711918649888e+3,     3.002298898960e+2,    -3.067013601100e+3,    -1.455757871344e+3,    -6.166178913900e+1,     1.025131033748e+2,     4.558287232240e+2,     5.606216348920e+2,     3.927651344860e+4,     3.424336970680e-8,    -3.200807605760e+1,     5.531363469240e+0,    -5.675121506200e+3,    -5.732862975560e+1,    -8.882494221820e+2,    -2.592081224912e+3,    -1.711918649888e+3,     3.423615724260e-8,     3.770884192400e+4,    -9.321443096220e+1,    -3.766729941280e+2,    -7.340797223540e+2,    -1.734437584300e+1,    -6.447837508760e+1,    -3.768899601800e+2,     3.002298898960e+2,    -3.200807605760e+1,    -9.321443096220e+1,     1.456848407112e+5,     2.242472021306e-6,    -1.291218519198e+3,     2.139711935710e+0,    -2.608106016078e+2,    -8.237240093440e+1,    -3.067013601100e+3,     5.531363469240e+0,    -3.766729941280e+2,     2.242476256184e-6,     1.456018646376e+5
+]
+    </C>
+  </thermostat>
+
+
+      <timestep units='femtosecond'> 0.1</timestep>
+      <temperature units='kelvin'>298</temperature>
+   </ensemble>
+</simulation>
diff --git a/tools/i-pi/examples/lammps/h2o-piglet.2/water_298K.pdb b/tools/i-pi/examples/lammps/h2o-piglet.2/water_298K.pdb
new file mode 100644
index 0000000000..e8509c868e
--- /dev/null
+++ b/tools/i-pi/examples/lammps/h2o-piglet.2/water_298K.pdb
@@ -0,0 +1,650 @@
+CRYST   35.233   35.233   35.233  90.00  90.00  90.00 P 1          1
+ATOM      1    O   1     1       3.846   5.672   1.323  0.00  0.00            0
+ATOM      2    H   1     1       2.979   7.054   0.857  0.00  0.00            0
+ATOM      3    H   1     1       5.525   5.697   0.451  0.00  0.00            0
+ATOM      4    O   1     1      34.557  34.341   3.078  0.00  0.00            0
+ATOM      5    H   1     1      33.722  34.689   4.840  0.00  0.00            0
+ATOM      6    H   1     1      36.029  33.220   3.711  0.00  0.00            0
+ATOM      7    O   1     1       5.591   1.963  13.477  0.00  0.00            0
+ATOM      8    H   1     1       7.265   1.864  13.851  0.00  0.00            0
+ATOM      9    H   1     1       5.009   3.555  13.916  0.00  0.00            0
+ATOM     10    O   1     1       1.060   2.061  21.718  0.00  0.00            0
+ATOM     11    H   1     1       0.757   0.261  21.820  0.00  0.00            0
+ATOM     12    H   1     1       0.213   3.013  23.047  0.00  0.00            0
+ATOM     13    O   1     1       1.200   1.337  29.006  0.00  0.00            0
+ATOM     14    H   1     1       0.818   1.884  30.732  0.00  0.00            0
+ATOM     15    H   1     1       2.883   1.825  29.011  0.00  0.00            0
+ATOM     16    O   1     1       1.331   1.386  34.306  0.00  0.00            0
+ATOM     17    H   1     1       2.392   2.898  34.846  0.00  0.00            0
+ATOM     18    H   1     1       0.814   0.532  35.836  0.00  0.00            0
+ATOM     19    O   1     1      31.451  10.201   0.726  0.00  0.00            0
+ATOM     20    H   1     1      32.282  10.877  -0.750  0.00  0.00            0
+ATOM     21    H   1     1      30.920  11.594   1.677  0.00  0.00            0
+ATOM     22    O   1     1       0.836  10.808   4.298  0.00  0.00            0
+ATOM     23    H   1     1       0.305  10.643   2.793  0.00  0.00            0
+ATOM     24    H   1     1      -0.356  10.334   5.524  0.00  0.00            0
+ATOM     25    O   1     1      34.381   5.979   9.194  0.00  0.00            0
+ATOM     26    H   1     1      33.616   7.673   8.857  0.00  0.00            0
+ATOM     27    H   1     1      35.115   5.260   7.618  0.00  0.00            0
+ATOM     28    O   1     1      33.212   6.480  24.278  0.00  0.00            0
+ATOM     29    H   1     1      31.624   6.908  23.521  0.00  0.00            0
+ATOM     30    H   1     1      32.544   4.990  24.982  0.00  0.00            0
+ATOM     31    O   1     1       1.992   9.002  26.863  0.00  0.00            0
+ATOM     32    H   1     1       1.856  10.175  25.579  0.00  0.00            0
+ATOM     33    H   1     1       0.519   8.099  26.386  0.00  0.00            0
+ATOM     34    O   1     1       2.054   8.660  32.515  0.00  0.00            0
+ATOM     35    H   1     1       2.167   8.727  30.494  0.00  0.00            0
+ATOM     36    H   1     1       2.374  10.513  33.038  0.00  0.00            0
+ATOM     37    O   1     1       3.402  16.639   3.008  0.00  0.00            0
+ATOM     38    H   1     1       4.127  15.872   4.446  0.00  0.00            0
+ATOM     39    H   1     1       2.905  18.339   3.160  0.00  0.00            0
+ATOM     40    O   1     1       4.222  15.444   8.072  0.00  0.00            0
+ATOM     41    H   1     1       5.211  16.756   8.299  0.00  0.00            0
+ATOM     42    H   1     1       2.560  15.492   8.860  0.00  0.00            0
+ATOM     43    O   1     1       2.831   9.246  16.488  0.00  0.00            0
+ATOM     44    H   1     1       2.869   8.023  18.050  0.00  0.00            0
+ATOM     45    H   1     1       3.960   8.467  15.154  0.00  0.00            0
+ATOM     46    O   1     1       5.563   6.003  20.907  0.00  0.00            0
+ATOM     47    H   1     1       4.653   4.638  21.480  0.00  0.00            0
+ATOM     48    H   1     1       6.405   6.208  22.529  0.00  0.00            0
+ATOM     49    O   1     1       2.087  13.370  22.913  0.00  0.00            0
+ATOM     50    H   1     1       2.832  14.804  23.422  0.00  0.00            0
+ATOM     51    H   1     1       1.434  13.509  21.196  0.00  0.00            0
+ATOM     52    O   1     1       3.369  17.886  25.109  0.00  0.00            0
+ATOM     53    H   1     1       3.655  17.200  26.766  0.00  0.00            0
+ATOM     54    H   1     1       4.772  18.977  24.500  0.00  0.00            0
+ATOM     55    O   1     1      34.764  20.803   0.948  0.00  0.00            0
+ATOM     56    H   1     1      35.210  21.267   2.816  0.00  0.00            0
+ATOM     57    H   1     1      35.962  21.726   0.131  0.00  0.00            0
+ATOM     58    O   1     1       2.836  24.178  15.229  0.00  0.00            0
+ATOM     59    H   1     1       2.795  22.346  14.876  0.00  0.00            0
+ATOM     60    H   1     1       2.414  24.115  17.130  0.00  0.00            0
+ATOM     61    O   1     1      33.000  24.481  15.230  0.00  0.00            0
+ATOM     62    H   1     1      34.640  24.804  15.013  0.00  0.00            0
+ATOM     63    H   1     1      32.401  25.764  14.295  0.00  0.00            0
+ATOM     64    O   1     1       0.404  26.779  23.400  0.00  0.00            0
+ATOM     65    H   1     1       1.353  27.248  24.987  0.00  0.00            0
+ATOM     66    H   1     1       1.546  28.050  22.317  0.00  0.00            0
+ATOM     67    O   1     1      34.222  21.380  25.418  0.00  0.00            0
+ATOM     68    H   1     1      35.669  20.151  25.317  0.00  0.00            0
+ATOM     69    H   1     1      32.960  21.180  23.992  0.00  0.00            0
+ATOM     70    O   1     1      33.259  17.438  32.480  0.00  0.00            0
+ATOM     71    H   1     1      33.314  18.782  33.883  0.00  0.00            0
+ATOM     72    H   1     1      32.743  18.181  30.871  0.00  0.00            0
+ATOM     73    O   1     1       4.463  21.979   3.936  0.00  0.00            0
+ATOM     74    H   1     1       5.856  23.084   3.400  0.00  0.00            0
+ATOM     75    H   1     1       3.986  22.180   5.602  0.00  0.00            0
+ATOM     76    O   1     1       6.258  25.851   8.520  0.00  0.00            0
+ATOM     77    H   1     1       5.767  27.693   8.476  0.00  0.00            0
+ATOM     78    H   1     1       7.202  25.506  10.186  0.00  0.00            0
+ATOM     79    O   1     1       0.601  29.737  12.747  0.00  0.00            0
+ATOM     80    H   1     1      -0.685  30.842  12.350  0.00  0.00            0
+ATOM     81    H   1     1       1.336  30.716  14.031  0.00  0.00            0
+ATOM     82    O   1     1       7.563  28.191  24.333  0.00  0.00            0
+ATOM     83    H   1     1       9.201  28.828  24.684  0.00  0.00            0
+ATOM     84    H   1     1       7.381  27.621  22.799  0.00  0.00            0
+ATOM     85    O   1     1       3.653  27.109  27.772  0.00  0.00            0
+ATOM     86    H   1     1       5.126  27.015  26.772  0.00  0.00            0
+ATOM     87    H   1     1       3.031  28.756  27.698  0.00  0.00            0
+ATOM     88    O   1     1       2.596  23.991  32.476  0.00  0.00            0
+ATOM     89    H   1     1       2.879  24.791  30.859  0.00  0.00            0
+ATOM     90    H   1     1       4.003  22.913  32.701  0.00  0.00            0
+ATOM     91    O   1     1       3.083  31.317   3.644  0.00  0.00            0
+ATOM     92    H   1     1       4.133  30.589   2.539  0.00  0.00            0
+ATOM     93    H   1     1       4.218  32.173   5.037  0.00  0.00            0
+ATOM     94    O   1     1       4.661  30.555   9.368  0.00  0.00            0
+ATOM     95    H   1     1       3.184  29.843  10.132  0.00  0.00            0
+ATOM     96    H   1     1       4.358  32.448   9.126  0.00  0.00            0
+ATOM     97    O   1     1       3.465  32.537  15.778  0.00  0.00            0
+ATOM     98    H   1     1       5.072  31.819  15.903  0.00  0.00            0
+ATOM     99    H   1     1       4.055  34.257  15.284  0.00  0.00            0
+ATOM    100    O   1     1       4.215  29.153  20.317  0.00  0.00            0
+ATOM    101    H   1     1       3.658  30.176  18.842  0.00  0.00            0
+ATOM    102    H   1     1       4.959  30.291  21.449  0.00  0.00            0
+ATOM    103    O   1     1       1.126  31.333  28.768  0.00  0.00            0
+ATOM    104    H   1     1       2.395  31.124  29.925  0.00  0.00            0
+ATOM    105    H   1     1       0.768  33.092  28.898  0.00  0.00            0
+ATOM    106    O   1     1       4.881  32.616  32.302  0.00  0.00            0
+ATOM    107    H   1     1       6.588  32.911  31.725  0.00  0.00            0
+ATOM    108    H   1     1       4.486  34.037  33.249  0.00  0.00            0
+ATOM    109    O   1     1       8.962   5.556   0.151  0.00  0.00            0
+ATOM    110    H   1     1       9.652   6.991   0.859  0.00  0.00            0
+ATOM    111    H   1     1       9.173   4.477   1.645  0.00  0.00            0
+ATOM    112    O   1     1       1.833   3.518   5.679  0.00  0.00            0
+ATOM    113    H   1     1       2.889   2.731   6.788  0.00  0.00            0
+ATOM    114    H   1     1       2.789   4.187   4.147  0.00  0.00            0
+ATOM    115    O   1     1      10.510  34.726  13.073  0.00  0.00            0
+ATOM    116    H   1     1      11.920  34.118  11.919  0.00  0.00            0
+ATOM    117    H   1     1      11.295  34.968  14.741  0.00  0.00            0
+ATOM    118    O   1     1       7.212   0.042  22.454  0.00  0.00            0
+ATOM    119    H   1     1       6.924   0.470  24.172  0.00  0.00            0
+ATOM    120    H   1     1       8.319   1.228  21.653  0.00  0.00            0
+ATOM    121    O   1     1       6.365   2.010  27.544  0.00  0.00            0
+ATOM    122    H   1     1       5.954   3.585  26.852  0.00  0.00            0
+ATOM    123    H   1     1       7.758   2.549  28.696  0.00  0.00            0
+ATOM    124    O   1     1      10.833   3.140  30.787  0.00  0.00            0
+ATOM    125    H   1     1      12.697   2.975  30.867  0.00  0.00            0
+ATOM    126    H   1     1      10.389   3.700  32.404  0.00  0.00            0
+ATOM    127    O   1     1       8.684   9.342   3.912  0.00  0.00            0
+ATOM    128    H   1     1       6.985   9.256   4.773  0.00  0.00            0
+ATOM    129    H   1     1       8.684  10.809   3.011  0.00  0.00            0
+ATOM    130    O   1     1       4.873   9.919   7.707  0.00  0.00            0
+ATOM    131    H   1     1       3.698   9.771   6.194  0.00  0.00            0
+ATOM    132    H   1     1       5.047  11.961   7.624  0.00  0.00            0
+ATOM    133    O   1     1      10.031   5.018   9.699  0.00  0.00            0
+ATOM    134    H   1     1       9.675   3.382  10.340  0.00  0.00            0
+ATOM    135    H   1     1       9.132   5.987  10.825  0.00  0.00            0
+ATOM    136    O   1     1      11.246   3.918  21.929  0.00  0.00            0
+ATOM    137    H   1     1      12.614   2.770  22.341  0.00  0.00            0
+ATOM    138    H   1     1      12.073   5.686  21.497  0.00  0.00            0
+ATOM    139    O   1     1       6.825   7.164  25.708  0.00  0.00            0
+ATOM    140    H   1     1       8.036   8.374  25.980  0.00  0.00            0
+ATOM    141    H   1     1       5.206   7.900  25.891  0.00  0.00            0
+ATOM    142    O   1     1      10.171  12.811   0.295  0.00  0.00            0
+ATOM    143    H   1     1      10.033  12.818  -1.609  0.00  0.00            0
+ATOM    144    H   1     1       9.880  14.492   0.480  0.00  0.00            0
+ATOM    145    O   1     1       8.190  17.402   1.253  0.00  0.00            0
+ATOM    146    H   1     1       9.472  18.531   1.253  0.00  0.00            0
+ATOM    147    H   1     1       6.351  17.817   1.568  0.00  0.00            0
+ATOM    148    O   1     1      11.233  16.188   8.299  0.00  0.00            0
+ATOM    149    H   1     1      10.291  17.689   8.166  0.00  0.00            0
+ATOM    150    H   1     1      12.768  17.123   8.733  0.00  0.00            0
+ATOM    151    O   1     1       6.386   8.002  12.846  0.00  0.00            0
+ATOM    152    H   1     1       7.701   8.896  13.655  0.00  0.00            0
+ATOM    153    H   1     1       5.591   8.877  11.519  0.00  0.00            0
+ATOM    154    O   1     1       8.184  10.419  18.848  0.00  0.00            0
+ATOM    155    H   1     1       9.498   9.434  19.905  0.00  0.00            0
+ATOM    156    H   1     1       6.882   9.027  18.948  0.00  0.00            0
+ATOM    157    O   1     1      10.806  14.431  21.328  0.00  0.00            0
+ATOM    158    H   1     1       9.177  13.531  20.670  0.00  0.00            0
+ATOM    159    H   1     1      11.344  15.696  20.448  0.00  0.00            0
+ATOM    160    O   1     1       9.237  13.928  30.341  0.00  0.00            0
+ATOM    161    H   1     1      10.779  14.839  30.522  0.00  0.00            0
+ATOM    162    H   1     1       9.965  13.192  28.899  0.00  0.00            0
+ATOM    163    O   1     1      10.918  21.707   1.864  0.00  0.00            0
+ATOM    164    H   1     1      10.280  23.449   2.279  0.00  0.00            0
+ATOM    165    H   1     1      12.708  21.456   1.749  0.00  0.00            0
+ATOM    166    O   1     1       9.353  16.125  13.927  0.00  0.00            0
+ATOM    167    H   1     1       9.938  17.594  14.618  0.00  0.00            0
+ATOM    168    H   1     1       9.518  16.360  12.244  0.00  0.00            0
+ATOM    169    O   1     1      10.371  11.107  14.268  0.00  0.00            0
+ATOM    170    H   1     1       9.644  10.406  15.859  0.00  0.00            0
+ATOM    171    H   1     1       9.434  12.523  14.117  0.00  0.00            0
+ATOM    172    O   1     1       3.351  22.769  20.196  0.00  0.00            0
+ATOM    173    H   1     1       2.055  23.686  21.503  0.00  0.00            0
+ATOM    174    H   1     1       2.452  21.401  19.413  0.00  0.00            0
+ATOM    175    O   1     1       6.836  21.329  23.199  0.00  0.00            0
+ATOM    176    H   1     1       8.249  20.848  22.320  0.00  0.00            0
+ATOM    177    H   1     1       5.668  21.841  21.886  0.00  0.00            0
+ATOM    178    O   1     1       4.604  15.649  30.043  0.00  0.00            0
+ATOM    179    H   1     1       6.453  15.217  30.207  0.00  0.00            0
+ATOM    180    H   1     1       3.822  14.762  31.562  0.00  0.00            0
+ATOM    181    O   1     1       7.125  19.976   9.421  0.00  0.00            0
+ATOM    182    H   1     1       5.918  20.453  10.730  0.00  0.00            0
+ATOM    183    H   1     1       8.099  21.496   9.491  0.00  0.00            0
+ATOM    184    O   1     1       9.063  25.912  13.186  0.00  0.00            0
+ATOM    185    H   1     1      10.350  26.572  12.367  0.00  0.00            0
+ATOM    186    H   1     1       9.680  24.367  13.697  0.00  0.00            0
+ATOM    187    O   1     1       8.022  22.343  17.042  0.00  0.00            0
+ATOM    188    H   1     1       9.144  23.367  18.074  0.00  0.00            0
+ATOM    189    H   1     1       6.562  23.462  16.852  0.00  0.00            0
+ATOM    190    O   1     1      10.762  26.285  19.963  0.00  0.00            0
+ATOM    191    H   1     1      11.036  27.966  20.538  0.00  0.00            0
+ATOM    192    H   1     1      11.078  25.401  21.456  0.00  0.00            0
+ATOM    193    O   1     1       9.158  22.902  28.391  0.00  0.00            0
+ATOM    194    H   1     1       8.219  23.528  27.085  0.00  0.00            0
+ATOM    195    H   1     1       8.089  21.760  29.509  0.00  0.00            0
+ATOM    196    O   1     1       6.219  20.158  31.921  0.00  0.00            0
+ATOM    197    H   1     1       5.635  18.511  31.161  0.00  0.00            0
+ATOM    198    H   1     1       7.530  19.624  33.071  0.00  0.00            0
+ATOM    199    O   1     1      11.191  31.509   2.617  0.00  0.00            0
+ATOM    200    H   1     1      10.460  32.214   4.108  0.00  0.00            0
+ATOM    201    H   1     1      13.176  31.751   2.577  0.00  0.00            0
+ATOM    202    O   1     1       4.748   0.055   8.605  0.00  0.00            0
+ATOM    203    H   1     1       5.380   0.517  10.183  0.00  0.00            0
+ATOM    204    H   1     1       6.050  -0.306   7.480  0.00  0.00            0
+ATOM    205    O   1     1       8.695  30.809  15.731  0.00  0.00            0
+ATOM    206    H   1     1       9.189  32.103  14.495  0.00  0.00            0
+ATOM    207    H   1     1       8.447  29.069  14.868  0.00  0.00            0
+ATOM    208    O   1     1      10.128  31.402  20.766  0.00  0.00            0
+ATOM    209    H   1     1       9.456  30.905  19.155  0.00  0.00            0
+ATOM    210    H   1     1       9.020  32.731  21.415  0.00  0.00            0
+ATOM    211    O   1     1      12.238  30.162  25.837  0.00  0.00            0
+ATOM    212    H   1     1      11.418  30.908  27.110  0.00  0.00            0
+ATOM    213    H   1     1      12.396  31.331  24.678  0.00  0.00            0
+ATOM    214    O   1     1      10.395  32.537  30.624  0.00  0.00            0
+ATOM    215    H   1     1      11.042  34.339  30.751  0.00  0.00            0
+ATOM    216    H   1     1      11.378  31.486  31.538  0.00  0.00            0
+ATOM    217    O   1     1      10.438   3.626   5.087  0.00  0.00            0
+ATOM    218    H   1     1      12.435   4.082   5.136  0.00  0.00            0
+ATOM    219    H   1     1       9.822   4.284   6.681  0.00  0.00            0
+ATOM    220    O   1     1      14.762   3.401  13.776  0.00  0.00            0
+ATOM    221    H   1     1      16.518   3.824  13.376  0.00  0.00            0
+ATOM    222    H   1     1      13.752   4.757  12.964  0.00  0.00            0
+ATOM    223    O   1     1      12.382   1.012  17.643  0.00  0.00            0
+ATOM    224    H   1     1      13.346   1.997  16.444  0.00  0.00            0
+ATOM    225    H   1     1      11.931   2.133  18.998  0.00  0.00            0
+ATOM    226    O   1     1      15.278   1.293  24.559  0.00  0.00            0
+ATOM    227    H   1     1      16.071   0.946  26.365  0.00  0.00            0
+ATOM    228    H   1     1      15.794   0.199  23.499  0.00  0.00            0
+ATOM    229    O   1     1      22.226  31.627  24.712  0.00  0.00            0
+ATOM    230    H   1     1      23.338  32.595  23.876  0.00  0.00            0
+ATOM    231    H   1     1      22.161  30.053  24.132  0.00  0.00            0
+ATOM    232    O   1     1      15.640   1.847  32.717  0.00  0.00            0
+ATOM    233    H   1     1      17.488   2.473  31.874  0.00  0.00            0
+ATOM    234    H   1     1      16.403   0.869  34.267  0.00  0.00            0
+ATOM    235    O   1     1      14.858  10.199   2.754  0.00  0.00            0
+ATOM    236    H   1     1      13.360  10.712   2.282  0.00  0.00            0
+ATOM    237    H   1     1      14.560   9.316   4.559  0.00  0.00            0
+ATOM    238    O   1     1      15.717   8.469  10.739  0.00  0.00            0
+ATOM    239    H   1     1      17.323   9.581  10.875  0.00  0.00            0
+ATOM    240    H   1     1      14.574   9.631  10.221  0.00  0.00            0
+ATOM    241    O   1     1      15.248  10.398  16.525  0.00  0.00            0
+ATOM    242    H   1     1      16.324   9.181  16.149  0.00  0.00            0
+ATOM    243    H   1     1      14.172  10.488  15.098  0.00  0.00            0
+ATOM    244    O   1     1      13.226   8.438  20.801  0.00  0.00            0
+ATOM    245    H   1     1      14.043   8.996  19.295  0.00  0.00            0
+ATOM    246    H   1     1      14.661   7.802  22.093  0.00  0.00            0
+ATOM    247    O   1     1      10.173  10.961  25.875  0.00  0.00            0
+ATOM    248    H   1     1      11.477  10.223  26.940  0.00  0.00            0
+ATOM    249    H   1     1      11.269  10.738  24.343  0.00  0.00            0
+ATOM    250    O   1     1      12.792   7.737  29.173  0.00  0.00            0
+ATOM    251    H   1     1      12.199   6.038  29.475  0.00  0.00            0
+ATOM    252    H   1     1      14.427   7.450  29.617  0.00  0.00            0
+ATOM    253    O   1     1      15.180  19.498   3.578  0.00  0.00            0
+ATOM    254    H   1     1      14.883  17.596   4.080  0.00  0.00            0
+ATOM    255    H   1     1      16.754  19.579   2.626  0.00  0.00            0
+ATOM    256    O   1     1      12.517  11.093   7.701  0.00  0.00            0
+ATOM    257    H   1     1      12.224  12.778   7.555  0.00  0.00            0
+ATOM    258    H   1     1      11.150  10.393   7.057  0.00  0.00            0
+ATOM    259    O   1     1      16.266  16.271  10.758  0.00  0.00            0
+ATOM    260    H   1     1      16.507  15.795  12.768  0.00  0.00            0
+ATOM    261    H   1     1      17.725  16.977  10.292  0.00  0.00            0
+ATOM    262    O   1     1      14.069  18.399  18.897  0.00  0.00            0
+ATOM    263    H   1     1      15.513  17.523  18.155  0.00  0.00            0
+ATOM    264    H   1     1      14.958  18.709  20.673  0.00  0.00            0
+ATOM    265    O   1     1      14.099  15.480  25.510  0.00  0.00            0
+ATOM    266    H   1     1      13.698  16.872  26.938  0.00  0.00            0
+ATOM    267    H   1     1      12.567  15.379  24.444  0.00  0.00            0
+ATOM    268    O   1     1      13.309  17.574  30.292  0.00  0.00            0
+ATOM    269    H   1     1      14.937  16.934  30.810  0.00  0.00            0
+ATOM    270    H   1     1      13.969  19.494  30.012  0.00  0.00            0
+ATOM    271    O   1     1      18.371  23.257   0.925  0.00  0.00            0
+ATOM    272    H   1     1      19.479  23.480   2.321  0.00  0.00            0
+ATOM    273    H   1     1      19.087  24.325  -0.369  0.00  0.00            0
+ATOM    274    O   1     1      12.100  21.730  11.355  0.00  0.00            0
+ATOM    275    H   1     1      13.141  22.287  12.743  0.00  0.00            0
+ATOM    276    H   1     1      13.467  22.236  10.244  0.00  0.00            0
+ATOM    277    O   1     1      12.163  23.290  23.597  0.00  0.00            0
+ATOM    278    H   1     1      11.324  22.736  24.949  0.00  0.00            0
+ATOM    279    H   1     1      13.882  22.872  23.840  0.00  0.00            0
+ATOM    280    O   1     1      20.173  26.761  22.628  0.00  0.00            0
+ATOM    281    H   1     1      20.206  26.532  20.792  0.00  0.00            0
+ATOM    282    H   1     1      21.556  25.742  23.389  0.00  0.00            0
+ATOM    283    O   1     1      16.701  21.165  22.605  0.00  0.00            0
+ATOM    284    H   1     1      18.028  20.686  23.848  0.00  0.00            0
+ATOM    285    H   1     1      17.104  22.866  21.949  0.00  0.00            0
+ATOM    286    O   1     1      11.391  26.461  33.705  0.00  0.00            0
+ATOM    287    H   1     1       9.841  27.192  34.048  0.00  0.00            0
+ATOM    288    H   1     1      11.776  25.540  35.243  0.00  0.00            0
+ATOM    289    O   1     1       9.898  25.989   4.553  0.00  0.00            0
+ATOM    290    H   1     1       8.902  26.131   6.039  0.00  0.00            0
+ATOM    291    H   1     1      10.287  27.806   4.376  0.00  0.00            0
+ATOM    292    O   1     1      14.308  26.960  10.877  0.00  0.00            0
+ATOM    293    H   1     1      15.302  27.405  12.173  0.00  0.00            0
+ATOM    294    H   1     1      15.463  26.151   9.633  0.00  0.00            0
+ATOM    295    O   1     1      13.433  22.960  16.904  0.00  0.00            0
+ATOM    296    H   1     1      13.409  24.131  18.132  0.00  0.00            0
+ATOM    297    H   1     1      13.624  21.191  17.520  0.00  0.00            0
+ATOM    298    O   1     1      16.409  26.768  26.875  0.00  0.00            0
+ATOM    299    H   1     1      17.590  26.987  25.431  0.00  0.00            0
+ATOM    300    H   1     1      14.751  27.703  26.230  0.00  0.00            0
+ATOM    301    O   1     1      14.405  22.733  29.892  0.00  0.00            0
+ATOM    302    H   1     1      15.423  23.079  28.494  0.00  0.00            0
+ATOM    303    H   1     1      12.826  23.259  29.416  0.00  0.00            0
+ATOM    304    O   1     1       6.905  29.408   0.749  0.00  0.00            0
+ATOM    305    H   1     1       8.428  30.483   1.567  0.00  0.00            0
+ATOM    306    H   1     1       6.353  30.814  -0.444  0.00  0.00            0
+ATOM    307    O   1     1       9.189  34.159   6.509  0.00  0.00            0
+ATOM    308    H   1     1      10.198  34.193   8.002  0.00  0.00            0
+ATOM    309    H   1     1       9.890  35.692   5.785  0.00  0.00            0
+ATOM    310    O   1     1      14.256  32.316   9.369  0.00  0.00            0
+ATOM    311    H   1     1      15.733  32.867   9.486  0.00  0.00            0
+ATOM    312    H   1     1      14.754  30.670  10.090  0.00  0.00            0
+ATOM    313    O   1     1      14.714  30.841  16.516  0.00  0.00            0
+ATOM    314    H   1     1      13.748  29.551  17.279  0.00  0.00            0
+ATOM    315    H   1     1      13.218  31.933  16.614  0.00  0.00            0
+ATOM    316    O   1     1      18.409  33.641  20.611  0.00  0.00            0
+ATOM    317    H   1     1      19.601  32.274  21.115  0.00  0.00            0
+ATOM    318    H   1     1      17.360  32.655  19.518  0.00  0.00            0
+ATOM    319    O   1     1      16.062  28.638  32.207  0.00  0.00            0
+ATOM    320    H   1     1      14.648  27.958  33.253  0.00  0.00            0
+ATOM    321    H   1     1      15.752  28.014  30.522  0.00  0.00            0
+ATOM    322    O   1     1      16.200  30.895   1.473  0.00  0.00            0
+ATOM    323    H   1     1      16.626  29.968  -0.130  0.00  0.00            0
+ATOM    324    H   1     1      17.167  29.833   2.927  0.00  0.00            0
+ATOM    325    O   1     1      20.278   3.529   6.048  0.00  0.00            0
+ATOM    326    H   1     1      20.977   3.611   4.575  0.00  0.00            0
+ATOM    327    H   1     1      21.312   4.513   7.251  0.00  0.00            0
+ATOM    328    O   1     1      23.079   5.778  10.408  0.00  0.00            0
+ATOM    329    H   1     1      24.650   6.259  10.838  0.00  0.00            0
+ATOM    330    H   1     1      22.342   7.609  10.178  0.00  0.00            0
+ATOM    331    O   1     1      19.581   2.031  12.110  0.00  0.00            0
+ATOM    332    H   1     1      19.039   1.082  10.440  0.00  0.00            0
+ATOM    333    H   1     1      21.141   2.991  11.851  0.00  0.00            0
+ATOM    334    O   1     1      22.005   3.223  23.178  0.00  0.00            0
+ATOM    335    H   1     1      21.429   4.090  24.554  0.00  0.00            0
+ATOM    336    H   1     1      20.654   1.791  22.711  0.00  0.00            0
+ATOM    337    O   1     1      16.630   6.422  23.792  0.00  0.00            0
+ATOM    338    H   1     1      16.219   4.804  24.406  0.00  0.00            0
+ATOM    339    H   1     1      17.066   7.128  25.282  0.00  0.00            0
+ATOM    340    O   1     1      21.676   5.564  28.158  0.00  0.00            0
+ATOM    341    H   1     1      20.658   6.717  29.185  0.00  0.00            0
+ATOM    342    H   1     1      23.413   5.828  28.996  0.00  0.00            0
+ATOM    343    O   1     1      15.257   5.265   5.626  0.00  0.00            0
+ATOM    344    H   1     1      16.914   4.519   5.490  0.00  0.00            0
+ATOM    345    H   1     1      15.144   6.150   6.972  0.00  0.00            0
+ATOM    346    O   1     1      20.137  11.082  10.437  0.00  0.00            0
+ATOM    347    H   1     1      20.021  10.947   8.733  0.00  0.00            0
+ATOM    348    H   1     1      21.025  12.555  10.853  0.00  0.00            0
+ATOM    349    O   1     1      23.089  14.627  12.437  0.00  0.00            0
+ATOM    350    H   1     1      24.716  15.254  12.736  0.00  0.00            0
+ATOM    351    H   1     1      23.284  13.228  13.653  0.00  0.00            0
+ATOM    352    O   1     1      24.083  12.649  22.566  0.00  0.00            0
+ATOM    353    H   1     1      22.397  12.663  23.042  0.00  0.00            0
+ATOM    354    H   1     1      24.901  13.851  23.565  0.00  0.00            0
+ATOM    355    O   1     1      17.865   7.909  30.036  0.00  0.00            0
+ATOM    356    H   1     1      17.509   8.045  31.982  0.00  0.00            0
+ATOM    357    H   1     1      18.078   9.582  29.318  0.00  0.00            0
+ATOM    358    O   1     1      18.824   8.486   0.104  0.00  0.00            0
+ATOM    359    H   1     1      19.997  10.191  -0.057  0.00  0.00            0
+ATOM    360    H   1     1      17.077   8.998   0.779  0.00  0.00            0
+ATOM    361    O   1     1      20.122   9.143   5.343  0.00  0.00            0
+ATOM    362    H   1     1      19.373   8.819   3.821  0.00  0.00            0
+ATOM    363    H   1     1      21.998   8.776   5.128  0.00  0.00            0
+ATOM    364    O   1     1      16.413  14.459   5.855  0.00  0.00            0
+ATOM    365    H   1     1      15.536  13.007   5.239  0.00  0.00            0
+ATOM    366    H   1     1      16.006  14.725   7.737  0.00  0.00            0
+ATOM    367    O   1     1      17.561  15.066  15.654  0.00  0.00            0
+ATOM    368    H   1     1      17.575  13.398  16.055  0.00  0.00            0
+ATOM    369    H   1     1      18.978  15.828  16.400  0.00  0.00            0
+ATOM    370    O   1     1      26.374  17.047  24.817  0.00  0.00            0
+ATOM    371    H   1     1      27.983  17.098  25.632  0.00  0.00            0
+ATOM    372    H   1     1      25.629  18.751  24.919  0.00  0.00            0
+ATOM    373    O   1     1      19.784  12.960  28.706  0.00  0.00            0
+ATOM    374    H   1     1      21.662  13.055  28.871  0.00  0.00            0
+ATOM    375    H   1     1      19.545  14.070  27.143  0.00  0.00            0
+ATOM    376    O   1     1      17.891  16.733  32.499  0.00  0.00            0
+ATOM    377    H   1     1      18.327  15.240  31.277  0.00  0.00            0
+ATOM    378    H   1     1      18.633  18.335  31.693  0.00  0.00            0
+ATOM    379    O   1     1      23.733  23.024   1.663  0.00  0.00            0
+ATOM    380    H   1     1      24.800  24.052   2.776  0.00  0.00            0
+ATOM    381    H   1     1      24.693  22.618   0.198  0.00  0.00            0
+ATOM    382    O   1     1      20.789  18.440   9.443  0.00  0.00            0
+ATOM    383    H   1     1      20.766  17.257   7.881  0.00  0.00            0
+ATOM    384    H   1     1      21.896  17.345  10.385  0.00  0.00            0
+ATOM    385    O   1     1      21.574  17.493  17.838  0.00  0.00            0
+ATOM    386    H   1     1      20.597  18.955  17.218  0.00  0.00            0
+ATOM    387    H   1     1      22.538  16.874  16.251  0.00  0.00            0
+ATOM    388    O   1     1      19.168  14.748  24.131  0.00  0.00            0
+ATOM    389    H   1     1      19.711  16.390  23.712  0.00  0.00            0
+ATOM    390    H   1     1      17.429  14.695  24.403  0.00  0.00            0
+ATOM    391    O   1     1      22.149  20.198  24.977  0.00  0.00            0
+ATOM    392    H   1     1      21.639  20.924  26.486  0.00  0.00            0
+ATOM    393    H   1     1      22.656  21.657  24.411  0.00  0.00            0
+ATOM    394    O   1     1      20.565  20.792  29.600  0.00  0.00            0
+ATOM    395    H   1     1      22.264  20.409  30.214  0.00  0.00            0
+ATOM    396    H   1     1      20.548  22.408  30.597  0.00  0.00            0
+ATOM    397    O   1     1      20.802  26.547   9.615  0.00  0.00            0
+ATOM    398    H   1     1      20.099  27.984   8.338  0.00  0.00            0
+ATOM    399    H   1     1      21.277  27.539  11.325  0.00  0.00            0
+ATOM    400    O   1     1      16.283  23.589   7.779  0.00  0.00            0
+ATOM    401    H   1     1      16.093  21.973   6.712  0.00  0.00            0
+ATOM    402    H   1     1      17.901  22.971   8.154  0.00  0.00            0
+ATOM    403    O   1     1      18.469  29.798  13.568  0.00  0.00            0
+ATOM    404    H   1     1      19.712  31.216  13.506  0.00  0.00            0
+ATOM    405    H   1     1      16.872  30.343  14.396  0.00  0.00            0
+ATOM    406    O   1     1      18.790  21.712  16.060  0.00  0.00            0
+ATOM    407    H   1     1      19.878  23.090  16.485  0.00  0.00            0
+ATOM    408    H   1     1      17.201  22.326  15.819  0.00  0.00            0
+ATOM    409    O   1     1      21.747  26.084  16.349  0.00  0.00            0
+ATOM    410    H   1     1      20.783  27.021  15.300  0.00  0.00            0
+ATOM    411    H   1     1      22.705  27.328  17.206  0.00  0.00            0
+ATOM    412    O   1     1      20.769  26.211  32.050  0.00  0.00            0
+ATOM    413    H   1     1      21.488  27.404  33.328  0.00  0.00            0
+ATOM    414    H   1     1      18.989  26.710  32.145  0.00  0.00            0
+ATOM    415    O   1     1      19.820  29.181   5.559  0.00  0.00            0
+ATOM    416    H   1     1      20.991  29.509   4.109  0.00  0.00            0
+ATOM    417    H   1     1      19.431  31.018   6.221  0.00  0.00            0
+ATOM    418    O   1     1      19.240  33.867   7.993  0.00  0.00            0
+ATOM    419    H   1     1      19.107  35.039   6.604  0.00  0.00            0
+ATOM    420    H   1     1      20.697  33.671   9.063  0.00  0.00            0
+ATOM    421    O   1     1      22.511  34.976  15.793  0.00  0.00            0
+ATOM    422    H   1     1      23.716  36.163  16.603  0.00  0.00            0
+ATOM    423    H   1     1      21.699  36.150  14.467  0.00  0.00            0
+ATOM    424    O   1     1      22.622  30.284  19.069  0.00  0.00            0
+ATOM    425    H   1     1      22.049  31.351  17.725  0.00  0.00            0
+ATOM    426    H   1     1      24.411  30.773  19.576  0.00  0.00            0
+ATOM    427    O   1     1      18.639  33.611  28.369  0.00  0.00            0
+ATOM    428    H   1     1      18.226  32.159  29.103  0.00  0.00            0
+ATOM    429    H   1     1      19.906  33.008  27.158  0.00  0.00            0
+ATOM    430    O   1     1      22.520   1.325  31.926  0.00  0.00            0
+ATOM    431    H   1     1      22.803   2.668  30.796  0.00  0.00            0
+ATOM    432    H   1     1      21.045   0.425  31.122  0.00  0.00            0
+ATOM    433    O   1     1      21.754   3.789   1.159  0.00  0.00            0
+ATOM    434    H   1     1      22.085   2.785  -0.180  0.00  0.00            0
+ATOM    435    H   1     1      20.850   5.175   0.610  0.00  0.00            0
+ATOM    436    O   1     1      28.457   5.539  12.133  0.00  0.00            0
+ATOM    437    H   1     1      29.489   4.390  11.182  0.00  0.00            0
+ATOM    438    H   1     1      29.161   7.131  12.587  0.00  0.00            0
+ATOM    439    O   1     1      22.495   5.966  17.324  0.00  0.00            0
+ATOM    440    H   1     1      24.377   5.379  17.393  0.00  0.00            0
+ATOM    441    H   1     1      21.906   5.491  18.857  0.00  0.00            0
+ATOM    442    O   1     1      28.128   3.304  22.287  0.00  0.00            0
+ATOM    443    H   1     1      28.123   2.999  20.491  0.00  0.00            0
+ATOM    444    H   1     1      26.533   3.355  22.876  0.00  0.00            0
+ATOM    445    O   1     1      28.378  10.455  27.266  0.00  0.00            0
+ATOM    446    H   1     1      30.019  10.292  28.051  0.00  0.00            0
+ATOM    447    H   1     1      28.635  10.039  25.463  0.00  0.00            0
+ATOM    448    O   1     1      27.031   8.353  34.806  0.00  0.00            0
+ATOM    449    H   1     1      26.116   9.984  34.571  0.00  0.00            0
+ATOM    450    H   1     1      28.685   8.951  34.739  0.00  0.00            0
+ATOM    451    O   1     1      24.951   8.160   4.454  0.00  0.00            0
+ATOM    452    H   1     1      25.930   9.616   5.160  0.00  0.00            0
+ATOM    453    H   1     1      25.947   7.994   2.724  0.00  0.00            0
+ATOM    454    O   1     1      26.937  12.436   6.869  0.00  0.00            0
+ATOM    455    H   1     1      25.492  13.284   6.708  0.00  0.00            0
+ATOM    456    H   1     1      27.689  13.332   8.266  0.00  0.00            0
+ATOM    457    O   1     1      23.365  11.214  16.933  0.00  0.00            0
+ATOM    458    H   1     1      22.247   9.744  16.789  0.00  0.00            0
+ATOM    459    H   1     1      23.264  12.035  18.539  0.00  0.00            0
+ATOM    460    O   1     1      28.321   8.759  22.158  0.00  0.00            0
+ATOM    461    H   1     1      27.662   6.895  22.482  0.00  0.00            0
+ATOM    462    H   1     1      26.971   9.710  21.902  0.00  0.00            0
+ATOM    463    O   1     1      27.071   6.109  29.555  0.00  0.00            0
+ATOM    464    H   1     1      27.591   7.663  28.857  0.00  0.00            0
+ATOM    465    H   1     1      27.304   6.320  31.261  0.00  0.00            0
+ATOM    466    O   1     1      22.474  11.704  34.640  0.00  0.00            0
+ATOM    467    H   1     1      22.752  13.304  35.584  0.00  0.00            0
+ATOM    468    H   1     1      22.840  12.090  33.030  0.00  0.00            0
+ATOM    469    O   1     1      21.656  14.971   5.615  0.00  0.00            0
+ATOM    470    H   1     1      21.690  15.860   3.977  0.00  0.00            0
+ATOM    471    H   1     1      19.964  14.225   5.774  0.00  0.00            0
+ATOM    472    O   1     1      28.539  21.492   9.820  0.00  0.00            0
+ATOM    473    H   1     1      27.288  22.181   8.688  0.00  0.00            0
+ATOM    474    H   1     1      28.065  22.420  11.602  0.00  0.00            0
+ATOM    475    O   1     1      28.364  16.020  11.109  0.00  0.00            0
+ATOM    476    H   1     1      30.033  16.649  12.089  0.00  0.00            0
+ATOM    477    H   1     1      28.456  17.440  10.082  0.00  0.00            0
+ATOM    478    O   1     1       0.054  13.686  18.103  0.00  0.00            0
+ATOM    479    H   1     1      -1.714  12.928  18.841  0.00  0.00            0
+ATOM    480    H   1     1       1.008  12.429  17.383  0.00  0.00            0
+ATOM    481    O   1     1      24.636  12.894  29.957  0.00  0.00            0
+ATOM    482    H   1     1      25.906  13.914  31.183  0.00  0.00            0
+ATOM    483    H   1     1      25.641  11.609  29.162  0.00  0.00            0
+ATOM    484    O   1     1      21.548  17.250   0.749  0.00  0.00            0
+ATOM    485    H   1     1      21.843  19.026   0.905  0.00  0.00            0
+ATOM    486    H   1     1      20.385  16.716  -0.697  0.00  0.00            0
+ATOM    487    O   1     1      26.095  27.274   4.520  0.00  0.00            0
+ATOM    488    H   1     1      27.889  26.458   4.505  0.00  0.00            0
+ATOM    489    H   1     1      25.648  26.970   6.165  0.00  0.00            0
+ATOM    490    O   1     1      23.610  22.515   8.008  0.00  0.00            0
+ATOM    491    H   1     1      22.653  21.187   8.739  0.00  0.00            0
+ATOM    492    H   1     1      22.286  24.095   8.444  0.00  0.00            0
+ATOM    493    O   1     1      27.355  18.929  18.180  0.00  0.00            0
+ATOM    494    H   1     1      27.200  20.349  17.155  0.00  0.00            0
+ATOM    495    H   1     1      25.579  18.322  18.770  0.00  0.00            0
+ATOM    496    O   1     1      26.765  23.633  14.444  0.00  0.00            0
+ATOM    497    H   1     1      27.441  25.298  13.651  0.00  0.00            0
+ATOM    498    H   1     1      25.086  24.256  14.749  0.00  0.00            0
+ATOM    499    O   1     1      31.478  20.769  20.986  0.00  0.00            0
+ATOM    500    H   1     1      30.440  22.509  21.135  0.00  0.00            0
+ATOM    501    H   1     1      30.567  19.656  20.043  0.00  0.00            0
+ATOM    502    O   1     1      24.812  20.412  32.668  0.00  0.00            0
+ATOM    503    H   1     1      26.242  21.478  31.874  0.00  0.00            0
+ATOM    504    H   1     1      25.787  19.023  33.158  0.00  0.00            0
+ATOM    505    O   1     1      22.105  29.076   0.928  0.00  0.00            0
+ATOM    506    H   1     1      23.296  27.923   1.739  0.00  0.00            0
+ATOM    507    H   1     1      22.623  30.994   0.882  0.00  0.00            0
+ATOM    508    O   1     1      29.572  31.256   8.626  0.00  0.00            0
+ATOM    509    H   1     1      30.795  30.203   7.736  0.00  0.00            0
+ATOM    510    H   1     1      28.277  31.519   7.260  0.00  0.00            0
+ATOM    511    O   1     1      31.817  34.843  18.283  0.00  0.00            0
+ATOM    512    H   1     1      32.438  34.389  16.474  0.00  0.00            0
+ATOM    513    H   1     1      32.743  36.422  18.341  0.00  0.00            0
+ATOM    514    O   1     1      27.915  25.601  19.033  0.00  0.00            0
+ATOM    515    H   1     1      29.358  26.561  19.190  0.00  0.00            0
+ATOM    516    H   1     1      28.148  24.429  17.530  0.00  0.00            0
+ATOM    517    O   1     1      24.548  24.654  24.025  0.00  0.00            0
+ATOM    518    H   1     1      25.528  25.635  22.824  0.00  0.00            0
+ATOM    519    H   1     1      25.300  25.200  25.645  0.00  0.00            0
+ATOM    520    O   1     1      28.540  22.922  30.370  0.00  0.00            0
+ATOM    521    H   1     1      27.414  24.096  29.781  0.00  0.00            0
+ATOM    522    H   1     1      29.674  23.914  31.873  0.00  0.00            0
+ATOM    523    O   1     1      24.969  33.623   1.014  0.00  0.00            0
+ATOM    524    H   1     1      26.521  33.058   1.518  0.00  0.00            0
+ATOM    525    H   1     1      24.990  34.322  -0.683  0.00  0.00            0
+ATOM    526    O   1     1      23.075  32.171  11.324  0.00  0.00            0
+ATOM    527    H   1     1      23.316  32.775  13.097  0.00  0.00            0
+ATOM    528    H   1     1      24.460  33.203  10.662  0.00  0.00            0
+ATOM    529    O   1     1      27.497   2.736  17.224  0.00  0.00            0
+ATOM    530    H   1     1      28.397   3.415  15.715  0.00  0.00            0
+ATOM    531    H   1     1      28.234   1.233  17.412  0.00  0.00            0
+ATOM    532    O   1     1      26.369  33.060  22.077  0.00  0.00            0
+ATOM    533    H   1     1      26.170  34.746  22.264  0.00  0.00            0
+ATOM    534    H   1     1      27.592  32.404  23.321  0.00  0.00            0
+ATOM    535    O   1     1      30.221  30.950  25.843  0.00  0.00            0
+ATOM    536    H   1     1      30.305  29.038  26.208  0.00  0.00            0
+ATOM    537    H   1     1      30.363  31.979  27.414  0.00  0.00            0
+ATOM    538    O   1     1      24.973  26.732  28.607  0.00  0.00            0
+ATOM    539    H   1     1      25.385  28.369  29.248  0.00  0.00            0
+ATOM    540    H   1     1      23.330  26.597  29.234  0.00  0.00            0
+ATOM    541    O   1     1      32.165   4.857   2.258  0.00  0.00            0
+ATOM    542    H   1     1      32.417   6.195   1.157  0.00  0.00            0
+ATOM    543    H   1     1      32.615   3.727   1.112  0.00  0.00            0
+ATOM    544    O   1     1      28.067   3.533   5.217  0.00  0.00            0
+ATOM    545    H   1     1      26.960   4.447   4.158  0.00  0.00            0
+ATOM    546    H   1     1      29.875   3.863   4.448  0.00  0.00            0
+ATOM    547    O   1     1      33.279   2.782  13.028  0.00  0.00            0
+ATOM    548    H   1     1      33.708   3.955  11.817  0.00  0.00            0
+ATOM    549    H   1     1      33.656   3.545  14.631  0.00  0.00            0
+ATOM    550    O   1     1      34.278   4.944  17.492  0.00  0.00            0
+ATOM    551    H   1     1      33.438   6.563  17.876  0.00  0.00            0
+ATOM    552    H   1     1      34.906   4.452  18.995  0.00  0.00            0
+ATOM    553    O   1     1      32.363   1.908  26.092  0.00  0.00            0
+ATOM    554    H   1     1      31.941   1.683  24.268  0.00  0.00            0
+ATOM    555    H   1     1      33.850   1.390  26.904  0.00  0.00            0
+ATOM    556    O   1     1      27.982   0.418  28.241  0.00  0.00            0
+ATOM    557    H   1     1      27.516   2.080  28.309  0.00  0.00            0
+ATOM    558    H   1     1      29.593   0.176  27.299  0.00  0.00            0
+ATOM    559    O   1     1      28.845  14.672   2.724  0.00  0.00            0
+ATOM    560    H   1     1      27.963  13.930   4.139  0.00  0.00            0
+ATOM    561    H   1     1      30.386  15.714   3.379  0.00  0.00            0
+ATOM    562    O   1     1      28.083  10.618  14.298  0.00  0.00            0
+ATOM    563    H   1     1      28.623  12.160  13.293  0.00  0.00            0
+ATOM    564    H   1     1      26.486  11.015  15.379  0.00  0.00            0
+ATOM    565    O   1     1      33.867  10.545  13.306  0.00  0.00            0
+ATOM    566    H   1     1      35.165   9.612  13.810  0.00  0.00            0
+ATOM    567    H   1     1      33.615  10.270  11.513  0.00  0.00            0
+ATOM    568    O   1     1      31.790   9.696  18.223  0.00  0.00            0
+ATOM    569    H   1     1      30.484   9.334  19.421  0.00  0.00            0
+ATOM    570    H   1     1      30.834  10.096  16.929  0.00  0.00            0
+ATOM    571    O   1     1      30.141  15.006  21.532  0.00  0.00            0
+ATOM    572    H   1     1      28.565  15.594  22.099  0.00  0.00            0
+ATOM    573    H   1     1      30.942  14.253  23.077  0.00  0.00            0
+ATOM    574    O   1     1      32.798  10.732  30.680  0.00  0.00            0
+ATOM    575    H   1     1      34.073   9.528  30.799  0.00  0.00            0
+ATOM    576    H   1     1      32.991  11.512  28.983  0.00  0.00            0
+ATOM    577    O   1     1      33.652  16.265   5.086  0.00  0.00            0
+ATOM    578    H   1     1      35.399  16.239   4.730  0.00  0.00            0
+ATOM    579    H   1     1      33.503  17.939   5.631  0.00  0.00            0
+ATOM    580    O   1     1      31.947  10.799   7.943  0.00  0.00            0
+ATOM    581    H   1     1      29.894  10.549   7.619  0.00  0.00            0
+ATOM    582    H   1     1      32.271  12.414   7.075  0.00  0.00            0
+ATOM    583    O   1     1       0.329  15.516  11.746  0.00  0.00            0
+ATOM    584    H   1     1      -0.446  14.249  12.939  0.00  0.00            0
+ATOM    585    H   1     1      -0.685  17.018  11.935  0.00  0.00            0
+ATOM    586    O   1     1       4.262  19.165  14.308  0.00  0.00            0
+ATOM    587    H   1     1       3.579  17.691  14.920  0.00  0.00            0
+ATOM    588    H   1     1       5.723  19.183  15.204  0.00  0.00            0
+ATOM    589    O   1     1      32.995  13.546  25.948  0.00  0.00            0
+ATOM    590    H   1     1      32.167  15.060  26.787  0.00  0.00            0
+ATOM    591    H   1     1      34.425  13.800  25.007  0.00  0.00            0
+ATOM    592    O   1     1       1.773  13.524  34.037  0.00  0.00            0
+ATOM    593    H   1     1       0.227  14.409  33.446  0.00  0.00            0
+ATOM    594    H   1     1       2.167  14.670  35.511  0.00  0.00            0
+ATOM    595    O   1     1      33.029  20.529   7.247  0.00  0.00            0
+ATOM    596    H   1     1      34.388  21.414   8.003  0.00  0.00            0
+ATOM    597    H   1     1      31.451  20.831   8.182  0.00  0.00            0
+ATOM    598    O   1     1       2.037  24.250  10.251  0.00  0.00            0
+ATOM    599    H   1     1       3.743  25.008   9.876  0.00  0.00            0
+ATOM    600    H   1     1       1.894  25.043  11.903  0.00  0.00            0
+ATOM    601    O   1     1      32.753  19.259  13.976  0.00  0.00            0
+ATOM    602    H   1     1      32.792  20.886  13.792  0.00  0.00            0
+ATOM    603    H   1     1      34.334  18.799  14.976  0.00  0.00            0
+ATOM    604    O   1     1       0.396  18.673  18.699  0.00  0.00            0
+ATOM    605    H   1     1      -1.211  18.950  19.127  0.00  0.00            0
+ATOM    606    H   1     1       0.469  16.977  18.436  0.00  0.00            0
+ATOM    607    O   1     1      30.855  18.370  27.959  0.00  0.00            0
+ATOM    608    H   1     1      29.759  19.681  28.690  0.00  0.00            0
+ATOM    609    H   1     1      32.103  19.477  26.763  0.00  0.00            0
+ATOM    610    O   1     1      27.723  15.992  33.091  0.00  0.00            0
+ATOM    611    H   1     1      29.390  16.423  32.192  0.00  0.00            0
+ATOM    612    H   1     1      27.801  15.859  34.804  0.00  0.00            0
+ATOM    613    O   1     1      31.068  27.895   3.348  0.00  0.00            0
+ATOM    614    H   1     1      32.517  27.825   4.610  0.00  0.00            0
+ATOM    615    H   1     1      31.529  29.459   2.324  0.00  0.00            0
+ATOM    616    O   1     1      35.039  28.008   6.663  0.00  0.00            0
+ATOM    617    H   1     1      35.966  26.934   7.683  0.00  0.00            0
+ATOM    618    H   1     1      36.055  28.336   5.336  0.00  0.00            0
+ATOM    619    O   1     1      29.356  28.196  13.025  0.00  0.00            0
+ATOM    620    H   1     1      29.210  29.335  14.589  0.00  0.00            0
+ATOM    621    H   1     1      28.874  29.629  11.867  0.00  0.00            0
+ATOM    622    O   1     1      32.386  28.434  18.961  0.00  0.00            0
+ATOM    623    H   1     1      33.368  28.574  20.411  0.00  0.00            0
+ATOM    624    H   1     1      33.410  27.406  17.949  0.00  0.00            0
+ATOM    625    O   1     1      30.898  25.390  25.799  0.00  0.00            0
+ATOM    626    H   1     1      32.369  25.913  24.580  0.00  0.00            0
+ATOM    627    H   1     1      31.317  24.075  27.029  0.00  0.00            0
+ATOM    628    O   1     1      32.259  25.611  33.104  0.00  0.00            0
+ATOM    629    H   1     1      32.238  25.736  34.806  0.00  0.00            0
+ATOM    630    H   1     1      33.920  25.042  32.775  0.00  0.00            0
+ATOM    631    O   1     1      30.290  32.645   1.341  0.00  0.00            0
+ATOM    632    H   1     1      29.949  32.793  -0.430  0.00  0.00            0
+ATOM    633    H   1     1      31.762  33.340   1.847  0.00  0.00            0
+ATOM    634    O   1     1      25.536  34.235   6.469  0.00  0.00            0
+ATOM    635    H   1     1      25.716  36.059   6.651  0.00  0.00            0
+ATOM    636    H   1     1      25.283  33.866   4.895  0.00  0.00            0
+ATOM    637    O   1     1      31.674  33.161  13.106  0.00  0.00            0
+ATOM    638    H   1     1      31.793  34.863  13.281  0.00  0.00            0
+ATOM    639    H   1     1      30.425  32.928  11.783  0.00  0.00            0
+ATOM    640    O   1     1      33.844  32.668  22.296  0.00  0.00            0
+ATOM    641    H   1     1      32.750  32.234  23.524  0.00  0.00            0
+ATOM    642    H   1     1      32.917  32.875  20.736  0.00  0.00            0
+ATOM    643    O   1     1      31.603  30.542  30.805  0.00  0.00            0
+ATOM    644    H   1     1      33.451  30.804  30.468  0.00  0.00            0
+ATOM    645    H   1     1      31.575  28.816  31.756  0.00  0.00            0
+ATOM    646    O   1     1      26.295  31.235  30.599  0.00  0.00            0
+ATOM    647    H   1     1      27.834  30.515  30.607  0.00  0.00            0
+ATOM    648    H   1     1      26.362  32.920  29.856  0.00  0.00            0
+END
diff --git a/tools/i-pi/examples/lammps/h2o-piglet.4/data.water b/tools/i-pi/examples/lammps/h2o-piglet.4/data.water
new file mode 100644
index 0000000000..13c75e9933
--- /dev/null
+++ b/tools/i-pi/examples/lammps/h2o-piglet.4/data.water
@@ -0,0 +1,1331 @@
+LAMMPS Description
+ 
+         648  atoms
+         432  bonds
+         216  angles
+ 
+           2  atom types
+           1  bond types
+           1  angle types
+ 
+         0 35.233 xlo xhi
+         0 35.233 ylo yhi
+         0 35.233 zlo zhi
+ 
+Masses
+ 
+  1 15.9994
+  2  1.0080
+ 
+Bond Coeffs
+ 
+  1    1.78    0.2708585 -0.327738785 0.231328959
+ 
+Angle Coeffs
+ 
+  1    0.0700  107.400000
+
+Atoms
+ 
+ 1 1 1 -1.1128       3.84600000       5.67200001       1.32300000
+ 2 1 2 0.5564        2.97900000       7.05400000       0.85700000
+ 3 1 2 0.5564        5.52500001       5.69700001       0.45100000
+ 4 2 1 -1.1128      34.55700001      34.34100000       3.07800000
+ 5 2 2 0.5564       33.72200001      34.68900000       4.84000001
+ 6 2 2 0.5564       36.02900000      33.22000001       3.71100001
+ 7 3 1 -1.1128       5.59100000       1.96299999      13.47700000
+ 8 3 2 0.5564        7.26500000       1.86400000      13.85100001
+ 9 3 2 0.5564        5.00899999       3.55500000      13.91599999
+ 10 4 1 -1.1128       1.06000000       2.06100000      21.71800001
+ 11 4 2 0.5564        0.75700000       0.26100000      21.82000000
+ 12 4 2 0.5564        0.21300001       3.01299999      23.04700000
+ 13 5 1 -1.1128       1.20000000       1.33700000      29.00599999
+ 14 5 2 0.5564        0.81800000       1.88399999      30.73200000
+ 15 5 2 0.5564        2.88300001       1.82500000      29.01100000
+ 16 6 1 -1.1128       1.33100001       1.38599999      34.30600001
+ 17 6 2 0.5564        2.39200001       2.89799999      34.84600000
+ 18 6 2 0.5564        0.81400000       0.53200001      35.83600000
+ 19 7 1 -1.1128      31.45100000      10.20100000       0.72599999
+ 20 7 2 0.5564       32.28199999      10.87699999      -0.75000000
+ 21 7 2 0.5564       30.91999999      11.59399999       1.67700000
+ 22 8 1 -1.1128       0.83600000      10.80800001       4.29800000
+ 23 8 2 0.5564        0.30500000      10.64300001       2.79300000
+ 24 8 2 0.5564       -0.35600001      10.33400000       5.52400000
+ 25 9 1 -1.1128      34.38100001       5.97900000       9.19400000
+ 26 9 2 0.5564       33.61600000       7.67300000       8.85700000
+ 27 9 2 0.5564       35.11500000       5.25999999       7.61800001
+ 28 10 1 -1.1128      33.21200000       6.48000000      24.27799999
+ 29 10 2 0.5564       31.62400000       6.90800001      23.52100001
+ 30 10 2 0.5564       32.54400000       4.99000000      24.98200000
+ 31 11 1 -1.1128       1.99200000       9.00199999      26.86300000
+ 32 11 2 0.5564        1.85600000      10.17500000      25.57899999
+ 33 11 2 0.5564        0.51900000       8.09899999      26.38599999
+ 34 12 1 -1.1128       2.05400000       8.66000000      32.51499999
+ 35 12 2 0.5564        2.16699999       8.72700000      30.49400000
+ 36 12 2 0.5564        2.37400001      10.51300000      33.03799999
+ 37 13 1 -1.1128       3.40200000      16.63900001       3.00800000
+ 38 13 2 0.5564        4.12700001      15.87200001       4.44600001
+ 39 13 2 0.5564        2.90500001      18.33899999       3.15999999
+ 40 14 1 -1.1128       4.22200000      15.44400000       8.07200000
+ 41 14 2 0.5564        5.21100000      16.75600000       8.29900001
+ 42 14 2 0.5564        2.56000000      15.49200001       8.86000000
+ 43 15 1 -1.1128       2.83100000       9.24599999      16.48800000
+ 44 15 2 0.5564        2.86900001       8.02300001      18.05000000
+ 45 15 2 0.5564        3.96000000       8.46700001      15.15400000
+ 46 16 1 -1.1128       5.56300000       6.00300000      20.90700000
+ 47 16 2 0.5564        4.65300000       4.63800000      21.48000000
+ 48 16 2 0.5564        6.40500000       6.20800000      22.52899999
+ 49 17 1 -1.1128       2.08700001      13.37000000      22.91299999
+ 50 17 2 0.5564        2.83200000      14.80400001      23.42200000
+ 51 17 2 0.5564        1.43400000      13.50900000      21.19599999
+ 52 18 1 -1.1128       3.36900000      17.88600000      25.10900001
+ 53 18 2 0.5564        3.65500000      17.20000000      26.76599999
+ 54 18 2 0.5564        4.77200001      18.97699999      24.49999999
+ 55 19 1 -1.1128      34.76400000      20.80300000       0.94800001
+ 56 19 2 0.5564       35.20999999      21.26700001       2.81599999
+ 57 19 2 0.5564       35.96200001      21.72599999       0.13099999
+ 58 20 1 -1.1128       2.83600000      24.17799999      15.22900000
+ 59 20 2 0.5564        2.79500000      22.34599999      14.87600001
+ 60 20 2 0.5564        2.41399999      24.11500000      17.13000001
+ 61 21 1 -1.1128      33.00000000      24.48100000      15.23000000
+ 62 21 2 0.5564       34.63999999      24.80400001      15.01299999
+ 63 21 2 0.5564       32.40100000      25.76400000      14.29500001
+ 64 22 1 -1.1128       0.40399999      26.77900001      23.39999999
+ 65 22 2 0.5564        1.35300001      27.24800000      24.98700001
+ 66 22 2 0.5564        1.54600001      28.05000000      22.31700001
+ 67 23 1 -1.1128      34.22200000      21.38000000      25.41799999
+ 68 23 2 0.5564       35.66899999      20.15100000      25.31700001
+ 69 23 2 0.5564       32.96000000      21.18000000      23.99200000
+ 70 24 1 -1.1128      33.25900000      17.43800000      32.48000000
+ 71 24 2 0.5564       33.31399999      18.78200000      33.88300001
+ 72 24 2 0.5564       32.74300001      18.18100001      30.87100000
+ 73 25 1 -1.1128       4.46300000      21.97900000       3.93600000
+ 74 25 2 0.5564        5.85600000      23.08400001       3.39999999
+ 75 25 2 0.5564        3.98600000      22.18000000       5.60200000
+ 76 26 1 -1.1128       6.25800000      25.85100001       8.52000000
+ 77 26 2 0.5564        5.76700000      27.69300001       8.47600000
+ 78 26 2 0.5564        7.20200001      25.50600000      10.18600000
+ 79 27 1 -1.1128       0.60099999      29.73699999      12.74700001
+ 80 27 2 0.5564       -0.68500000      30.84200000      12.34999999
+ 81 27 2 0.5564        1.33600000      30.71600000      14.03099999
+ 82 28 1 -1.1128       7.56300000      28.19100001      24.33300000
+ 83 28 2 0.5564        9.20100000      28.82800000      24.68400000
+ 84 28 2 0.5564        7.38100001      27.62100000      22.79900000
+ 85 29 1 -1.1128       3.65300000      27.10900001      27.77200001
+ 86 29 2 0.5564        5.12600000      27.01500000      26.77200001
+ 87 29 2 0.5564        3.03099999      28.75600000      27.69800000
+ 88 30 1 -1.1128       2.59600001      23.99100001      32.47600000
+ 89 30 2 0.5564        2.87900000      24.79099999      30.85899999
+ 90 30 2 0.5564        4.00300000      22.91299999      32.70099999
+ 91 31 1 -1.1128       3.08300000      31.31700001       3.64399999
+ 92 31 2 0.5564        4.13300000      30.58900001       2.53900001
+ 93 31 2 0.5564        4.21800000      32.17300001       5.03700001
+ 94 32 1 -1.1128       4.66100001      30.55500000       9.36799999
+ 95 32 2 0.5564        3.18400001      29.84300000      10.13200000
+ 96 32 2 0.5564        4.35800000      32.44800000       9.12600000
+ 97 33 1 -1.1128       3.46499999      32.53700000      15.77800000
+ 98 33 2 0.5564        5.07200000      31.81899999      15.90300000
+ 99 33 2 0.5564        4.05500001      34.25699999      15.28400000
+ 100 34 1 -1.1128       4.21500000      29.15299999      20.31700001
+ 101 34 2 0.5564        3.65799999      30.17600000      18.84200000
+ 102 34 2 0.5564        4.95899999      30.29100000      21.44900001
+ 103 35 1 -1.1128       1.12600000      31.33300000      28.76800001
+ 104 35 2 0.5564        2.39500000      31.12399999      29.92500000
+ 105 35 2 0.5564        0.76800001      33.09199999      28.89799999
+ 106 36 1 -1.1128       4.88100000      32.61600000      32.30200000
+ 107 36 2 0.5564        6.58800000      32.91100000      31.72500001
+ 108 36 2 0.5564        4.48599999      34.03700001      33.24900001
+ 109 37 1 -1.1128       8.96200001       5.55600000       0.15100000
+ 110 37 2 0.5564        9.65200000       6.99100001       0.85899999
+ 111 37 2 0.5564        9.17300001       4.47700000       1.64500000
+ 112 38 1 -1.1128       1.83300001       3.51799999       5.67900001
+ 113 38 2 0.5564        2.88900000       2.73100000       6.78800000
+ 114 38 2 0.5564        2.78900000       4.18700000       4.14700000
+ 115 39 1 -1.1128      10.51000001      34.72599999      13.07300001
+ 116 39 2 0.5564       11.91999999      34.11800000      11.91900001
+ 117 39 2 0.5564       11.29500001      34.96800000      14.74100000
+ 118 40 1 -1.1128       7.21200000       0.04199999      22.45399999
+ 119 40 2 0.5564        6.92400000       0.47000000      24.17200000
+ 120 40 2 0.5564        8.31900000       1.22799999      21.65300000
+ 121 41 1 -1.1128       6.36500000       2.01000000      27.54400000
+ 122 41 2 0.5564        5.95400000       3.58500000      26.85199999
+ 123 41 2 0.5564        7.75800001       2.54900000      28.69600000
+ 124 42 1 -1.1128      10.83300001       3.14000000      30.78699999
+ 125 42 2 0.5564       12.69700001       2.97500000      30.86700000
+ 126 42 2 0.5564       10.38899999       3.70000001      32.40399999
+ 127 43 1 -1.1128       8.68400000       9.34200001       3.91200001
+ 128 43 2 0.5564        6.98500000       9.25600001       4.77299999
+ 129 43 2 0.5564        8.68400000      10.80899999       3.01100000
+ 130 44 1 -1.1128       4.87299999       9.91900001       7.70700000
+ 131 44 2 0.5564        3.69800000       9.77100000       6.19400000
+ 132 44 2 0.5564        5.04700000      11.96100000       7.62400000
+ 133 45 1 -1.1128      10.03099999       5.01800000       9.69900000
+ 134 45 2 0.5564        9.67500001       3.38199999      10.34000000
+ 135 45 2 0.5564        9.13200000       5.98700001      10.82500000
+ 136 46 1 -1.1128      11.24599999       3.91800000      21.92900000
+ 137 46 2 0.5564       12.61400001       2.77000000      22.34100000
+ 138 46 2 0.5564       12.07300001       5.68600001      21.49699999
+ 139 47 1 -1.1128       6.82500000       7.16400000      25.70799999
+ 140 47 2 0.5564        8.03600000       8.37400001      25.98000001
+ 141 47 2 0.5564        5.20600001       7.90000000      25.89099999
+ 142 48 1 -1.1128      10.17099999      12.81100001       0.29500001
+ 143 48 2 0.5564       10.03300000      12.81800000      -1.60900000
+ 144 48 2 0.5564        9.87999999      14.49200001       0.48000000
+ 145 49 1 -1.1128       8.19000000      17.40200000       1.25299999
+ 146 49 2 0.5564        9.47199999      18.53100000       1.25299999
+ 147 49 2 0.5564        6.35100000      17.81700000       1.56800001
+ 148 50 1 -1.1128      11.23300000      16.18800001       8.29900001
+ 149 50 2 0.5564       10.29100000      17.68900000       8.16600001
+ 150 50 2 0.5564       12.76800001      17.12300001       8.73299999
+ 151 51 1 -1.1128       6.38599999       8.00199999      12.84600000
+ 152 51 2 0.5564        7.70099999       8.89600000      13.65500000
+ 153 51 2 0.5564        5.59100000       8.87699999      11.51900000
+ 154 52 1 -1.1128       8.18400001      10.41900000      18.84799999
+ 155 52 2 0.5564        9.49800000       9.43400000      19.90500001
+ 156 52 2 0.5564        6.88200000       9.02699999      18.94800001
+ 157 53 1 -1.1128      10.80600000      14.43100000      21.32799999
+ 158 53 2 0.5564        9.17700001      13.53100000      20.67000000
+ 159 53 2 0.5564       11.34400000      15.69600000      20.44800000
+ 160 54 1 -1.1128       9.23700000      13.92800000      30.34100000
+ 161 54 2 0.5564       10.77900001      14.83900000      30.52199999
+ 162 54 2 0.5564        9.96500000      13.19199999      28.89900000
+ 163 55 1 -1.1128      10.91800000      21.70700000       1.86400000
+ 164 55 2 0.5564       10.28000000      23.44900001       2.27900000
+ 165 55 2 0.5564       12.70799999      21.45600000       1.74900000
+ 166 56 1 -1.1128       9.35300001      16.12500000      13.92699999
+ 167 56 2 0.5564        9.93799999      17.59399999      14.61800001
+ 168 56 2 0.5564        9.51799999      16.36000001      12.24400000
+ 169 57 1 -1.1128      10.37099999      11.10700000      14.26800000
+ 170 57 2 0.5564        9.64399999      10.40600001      15.85899999
+ 171 57 2 0.5564        9.43400000      12.52300000      14.11699999
+ 172 58 1 -1.1128       3.35100000      22.76899999      20.19599999
+ 173 58 2 0.5564        2.05500001      23.68600001      21.50300001
+ 174 58 2 0.5564        2.45200000      21.40100000      19.41300000
+ 175 59 1 -1.1128       6.83600000      21.32900000      23.19899999
+ 176 59 2 0.5564        8.24900001      20.84799999      22.32000001
+ 177 59 2 0.5564        5.66800001      21.84099999      21.88600000
+ 178 60 1 -1.1128       4.60399999      15.64900000      30.04300000
+ 179 60 2 0.5564        6.45300001      15.21699999      30.20700000
+ 180 60 2 0.5564        3.82200001      14.76199999      31.56200000
+ 181 61 1 -1.1128       7.12500000      19.97600001       9.42100001
+ 182 61 2 0.5564        5.91800000      20.45300001      10.72999999
+ 183 61 2 0.5564        8.09899999      21.49600001       9.49100000
+ 184 62 1 -1.1128       9.06299999      25.91200001      13.18600000
+ 185 62 2 0.5564       10.34999999      26.57199999      12.36700001
+ 186 62 2 0.5564        9.67999999      24.36700001      13.69700001
+ 187 63 1 -1.1128       8.02200000      22.34299999      17.04199999
+ 188 63 2 0.5564        9.14400000      23.36700001      18.07399999
+ 189 63 2 0.5564        6.56200000      23.46200000      16.85199999
+ 190 64 1 -1.1128      10.76199999      26.28499999      19.96299999
+ 191 64 2 0.5564       11.03600000      27.96599999      20.53800000
+ 192 64 2 0.5564       11.07800000      25.40100000      21.45600000
+ 193 65 1 -1.1128       9.15800000      22.90199999      28.39100000
+ 194 65 2 0.5564        8.21900000      23.52800001      27.08499999
+ 195 65 2 0.5564        8.08900000      21.76000000      29.50900000
+ 196 66 1 -1.1128       6.21900000      20.15800000      31.92100000
+ 197 66 2 0.5564        5.63500000      18.51099999      31.16100000
+ 198 66 2 0.5564        7.53000000      19.62400000      33.07100000
+ 199 67 1 -1.1128      11.19100001      31.50900000       2.61700000
+ 200 67 2 0.5564       10.46000001      32.21399999       4.10800000
+ 201 67 2 0.5564       13.17600000      31.75099999       2.57700000
+ 202 68 1 -1.1128       4.74799999       0.05500001       8.60500000
+ 203 68 2 0.5564        5.38000000       0.51700000      10.18300000
+ 204 68 2 0.5564        6.05000000      -0.30600001       7.48000000
+ 205 69 1 -1.1128       8.69500000      30.80899999      15.73100000
+ 206 69 2 0.5564        9.18899999      32.10300000      14.49500000
+ 207 69 2 0.5564        8.44699999      29.06900000      14.86800000
+ 208 70 1 -1.1128      10.12799999      31.40200000      20.76599999
+ 209 70 2 0.5564        9.45600000      30.90500001      19.15500000
+ 210 70 2 0.5564        9.01999999      32.73100000      21.41500000
+ 211 71 1 -1.1128      12.23800001      30.16200000      25.83699999
+ 212 71 2 0.5564       11.41799999      30.90800001      27.10999999
+ 213 71 2 0.5564       12.39600001      31.33100001      24.67800000
+ 214 72 1 -1.1128      10.39500000      32.53700000      30.62400000
+ 215 72 2 0.5564       11.04199999      34.33899999      30.75099999
+ 216 72 2 0.5564       11.37800001      31.48599999      31.53800000
+ 217 73 1 -1.1128      10.43800000       3.62599999       5.08700001
+ 218 73 2 0.5564       12.43500001       4.08200000       5.13600000
+ 219 73 2 0.5564        9.82200001       4.28400000       6.68100000
+ 220 74 1 -1.1128      14.76199999       3.40100000      13.77599999
+ 221 74 2 0.5564       16.51799999       3.82400000      13.37600000
+ 222 74 2 0.5564       13.75200000       4.75700000      12.96400000
+ 223 75 1 -1.1128      12.38199999       1.01200001      17.64300001
+ 224 75 2 0.5564       13.34599999       1.99700000      16.44400000
+ 225 75 2 0.5564       11.93100000       2.13300000      18.99800001
+ 226 76 1 -1.1128      15.27799999       1.29300000      24.55900000
+ 227 76 2 0.5564       16.07100000       0.94600000      26.36500000
+ 228 76 2 0.5564       15.79399999       0.19899999      23.49900000
+ 229 77 1 -1.1128      22.22600000      31.62700000      24.71199999
+ 230 77 2 0.5564       23.33800001      32.59500000      23.87600001
+ 231 77 2 0.5564       22.16100000      30.05300000      24.13200000
+ 232 78 1 -1.1128      15.63999999       1.84700001      32.71700000
+ 233 78 2 0.5564       17.48800000       2.47300000      31.87400000
+ 234 78 2 0.5564       16.40300001       0.86900001      34.26700001
+ 235 79 1 -1.1128      14.85800001      10.19899999       2.75400001
+ 236 79 2 0.5564       13.36000001      10.71199999       2.28199999
+ 237 79 2 0.5564       14.56000000       9.31600000       4.55900000
+ 238 80 1 -1.1128      15.71700000       8.46900000      10.73900000
+ 239 80 2 0.5564       17.32300000       9.58100000      10.87500000
+ 240 80 2 0.5564       14.57400000       9.63100000      10.22099999
+ 241 81 1 -1.1128      15.24800000      10.39800000      16.52500001
+ 242 81 2 0.5564       16.32400001       9.18100001      16.14899999
+ 243 81 2 0.5564       14.17200000      10.48800000      15.09800001
+ 244 82 1 -1.1128      13.22600000       8.43800000      20.80100001
+ 245 82 2 0.5564       14.04300000       8.99600000      19.29500001
+ 246 82 2 0.5564       14.66100001       7.80200000      22.09300000
+ 247 83 1 -1.1128      10.17300001      10.96100000      25.87500000
+ 248 83 2 0.5564       11.47700000      10.22300000      26.94000000
+ 249 83 2 0.5564       11.26900000      10.73800000      24.34299999
+ 250 84 1 -1.1128      12.79200000       7.73699999      29.17300001
+ 251 84 2 0.5564       12.19899999       6.03799999      29.47499999
+ 252 84 2 0.5564       14.42700000       7.44999999      29.61700000
+ 253 85 1 -1.1128      15.18000000      19.49800000       3.57800000
+ 254 85 2 0.5564       14.88300001      17.59600001       4.08000001
+ 255 85 2 0.5564       16.75400001      19.57899999       2.62599999
+ 256 86 1 -1.1128      12.51700000      11.09300000       7.70099999
+ 257 86 2 0.5564       12.22400001      12.77800000       7.55500000
+ 258 86 2 0.5564       11.15000000      10.39299999       7.05700000
+ 259 87 1 -1.1128      16.26600000      16.27099999      10.75800001
+ 260 87 2 0.5564       16.50700001      15.79500000      12.76800001
+ 261 87 2 0.5564       17.72500001      16.97699999      10.29200001
+ 262 88 1 -1.1128      14.06900000      18.39900001      18.89700000
+ 263 88 2 0.5564       15.51300000      17.52300000      18.15500000
+ 264 88 2 0.5564       14.95800001      18.70900000      20.67300000
+ 265 89 1 -1.1128      14.09899999      15.48000000      25.51000001
+ 266 89 2 0.5564       13.69800000      16.87200001      26.93799999
+ 267 89 2 0.5564       12.56700000      15.37900000      24.44400000
+ 268 90 1 -1.1128      13.30900000      17.57400000      30.29200001
+ 269 90 2 0.5564       14.93700001      16.93399999      30.81000000
+ 270 90 2 0.5564       13.96900001      19.49400000      30.01200001
+ 271 91 1 -1.1128      18.37099999      23.25699999       0.92500000
+ 272 91 2 0.5564       19.47899999      23.48000000       2.32099999
+ 273 91 2 0.5564       19.08700001      24.32499999      -0.36900000
+ 274 92 1 -1.1128      12.10000000      21.72999999      11.35500000
+ 275 92 2 0.5564       13.14100001      22.28700000      12.74300001
+ 276 92 2 0.5564       13.46700001      22.23600000      10.24400000
+ 277 93 1 -1.1128      12.16300001      23.29000000      23.59699999
+ 278 93 2 0.5564       11.32400001      22.73600001      24.94900000
+ 279 93 2 0.5564       13.88200000      22.87200001      23.84000001
+ 280 94 1 -1.1128      20.17300001      26.76100001      22.62800000
+ 281 94 2 0.5564       20.20600001      26.53200001      20.79200000
+ 282 94 2 0.5564       21.55600000      25.74200000      23.38899999
+ 283 95 1 -1.1128      16.70099999      21.16500000      22.60500000
+ 284 95 2 0.5564       18.02800000      20.68600001      23.84799999
+ 285 95 2 0.5564       17.10400000      22.86599999      21.94900000
+ 286 96 1 -1.1128      11.39100000      26.46099999      33.70499999
+ 287 96 2 0.5564        9.84099999      27.19199999      34.04800001
+ 288 96 2 0.5564       11.77599999      25.53999999      35.24300000
+ 289 97 1 -1.1128       9.89799999      25.98900000       4.55300001
+ 290 97 2 0.5564        8.90199999      26.13099999       6.03900000
+ 291 97 2 0.5564       10.28700000      27.80600000       4.37600000
+ 292 98 1 -1.1128      14.30800000      26.96000000      10.87699999
+ 293 98 2 0.5564       15.30200000      27.40500000      12.17300001
+ 294 98 2 0.5564       15.46300000      26.15100000       9.63299999
+ 295 99 1 -1.1128      13.43300000      22.96000000      16.90400000
+ 296 99 2 0.5564       13.40900000      24.13099999      18.13200000
+ 297 99 2 0.5564       13.62400000      21.19100001      17.52000000
+ 298 100 1 -1.1128      16.40900000      26.76800001      26.87500000
+ 299 100 2 0.5564       17.58999999      26.98700001      25.43100000
+ 300 100 2 0.5564       14.75099999      27.70300000      26.23000000
+ 301 101 1 -1.1128      14.40500000      22.73299999      29.89200000
+ 302 101 2 0.5564       15.42300000      23.07900000      28.49400000
+ 303 101 2 0.5564       12.82600001      23.25900000      29.41600000
+ 304 102 1 -1.1128       6.90500001      29.40800000       0.74900000
+ 305 102 2 0.5564        8.42800001      30.48300000       1.56700000
+ 306 102 2 0.5564        6.35300001      30.81400000      -0.44400000
+ 307 103 1 -1.1128       9.18899999      34.15900001       6.50900000
+ 308 103 2 0.5564       10.19800000      34.19300000       8.00199999
+ 309 103 2 0.5564        9.89000001      35.69200000       5.78500000
+ 310 104 1 -1.1128      14.25600001      32.31600000       9.36900000
+ 311 104 2 0.5564       15.73299999      32.86700000       9.48599999
+ 312 104 2 0.5564       14.75400001      30.67000000      10.09000000
+ 313 105 1 -1.1128      14.71400000      30.84099999      16.51600000
+ 314 105 2 0.5564       13.74799999      29.55099999      17.27900000
+ 315 105 2 0.5564       13.21800000      31.93300001      16.61400001
+ 316 106 1 -1.1128      18.40900000      33.64100000      20.61100001
+ 317 106 2 0.5564       19.60099999      32.27400001      21.11500000
+ 318 106 2 0.5564       17.36000001      32.65500000      19.51799999
+ 319 107 1 -1.1128      16.06200001      28.63800000      32.20700000
+ 320 107 2 0.5564       14.64800000      27.95800001      33.25299999
+ 321 107 2 0.5564       15.75200000      28.01400000      30.52199999
+ 322 108 1 -1.1128      16.20000000      30.89499999       1.47300000
+ 323 108 2 0.5564       16.62599999      29.96800000      -0.13000001
+ 324 108 2 0.5564       17.16699999      29.83300001       2.92699999
+ 325 109 1 -1.1128      20.27799999       3.52899999       6.04800001
+ 326 109 2 0.5564       20.97699999       3.61100001       4.57500001
+ 327 109 2 0.5564       21.31200000       4.51300000       7.25100000
+ 328 110 1 -1.1128      23.07900000       5.77800000      10.40800000
+ 329 110 2 0.5564       24.65000001       6.25900000      10.83800000
+ 330 110 2 0.5564       22.34200001       7.60900000      10.17799999
+ 331 111 1 -1.1128      19.58100000       2.03099999      12.10999999
+ 332 111 2 0.5564       19.03900000       1.08200000      10.44000000
+ 333 111 2 0.5564       21.14100001       2.99100001      11.85100001
+ 334 112 1 -1.1128      22.00500001       3.22300000      23.17799999
+ 335 112 2 0.5564       21.42899999       4.09000000      24.55399999
+ 336 112 2 0.5564       20.65400001       1.79099999      22.71100001
+ 337 113 1 -1.1128      16.63000000       6.42200000      23.79200000
+ 338 113 2 0.5564       16.21900000       4.80400001      24.40600001
+ 339 113 2 0.5564       17.06600001       7.12799999      25.28199999
+ 340 114 1 -1.1128      21.67599999       5.56400001      28.15800000
+ 341 114 2 0.5564       20.65799999       6.71700000      29.18499999
+ 342 114 2 0.5564       23.41300000       5.82800000      28.99600000
+ 343 115 1 -1.1128      15.25699999       5.26500000       5.62599999
+ 344 115 2 0.5564       16.91400000       4.51900000       5.48999999
+ 345 115 2 0.5564       15.14400000       6.15000000       6.97200000
+ 346 116 1 -1.1128      20.13700000      11.08200000      10.43700000
+ 347 116 2 0.5564       20.02100000      10.94700000       8.73299999
+ 348 116 2 0.5564       21.02500000      12.55500000      10.85300000
+ 349 117 1 -1.1128      23.08900000      14.62700000      12.43700000
+ 350 117 2 0.5564       24.71600000      15.25400000      12.73600001
+ 351 117 2 0.5564       23.28400000      13.22799999      13.65300000
+ 352 118 1 -1.1128      24.08300000      12.64900000      22.56600000
+ 353 118 2 0.5564       22.39700000      12.66300000      23.04199999
+ 354 118 2 0.5564       24.90100001      13.85100001      23.56499999
+ 355 119 1 -1.1128      17.86500001       7.90899999      30.03600000
+ 356 119 2 0.5564       17.50900000       8.04499999      31.98200000
+ 357 119 2 0.5564       18.07800000       9.58200001      29.31799999
+ 358 120 1 -1.1128      18.82400000       8.48599999       0.10400000
+ 359 120 2 0.5564       19.99700000      10.19100001      -0.05700000
+ 360 120 2 0.5564       17.07700001       8.99800001       0.77900001
+ 361 121 1 -1.1128      20.12200000       9.14300000       5.34299999
+ 362 121 2 0.5564       19.37300000       8.81899999       3.82100000
+ 363 121 2 0.5564       21.99800001       8.77599999       5.12799999
+ 364 122 1 -1.1128      16.41300000      14.45900000       5.85499999
+ 365 122 2 0.5564       15.53599999      13.00700000       5.23899999
+ 366 122 2 0.5564       16.00599999      14.72500001       7.73699999
+ 367 123 1 -1.1128      17.56099999      15.06600001      15.65400001
+ 368 123 2 0.5564       17.57500001      13.39800000      16.05500001
+ 369 123 2 0.5564       18.97800000      15.82800000      16.39999999
+ 370 124 1 -1.1128      26.37400001      17.04700000      24.81700000
+ 371 124 2 0.5564       27.98300000      17.09800001      25.63200001
+ 372 124 2 0.5564       25.62900001      18.75099999      24.91900001
+ 373 125 1 -1.1128      19.78400000      12.96000000      28.70600000
+ 374 125 2 0.5564       21.66199999      13.05500001      28.87100000
+ 375 125 2 0.5564       19.54500000      14.06999999      27.14300000
+ 376 126 1 -1.1128      17.89099999      16.73299999      32.49900000
+ 377 126 2 0.5564       18.32700000      15.24000000      31.27700001
+ 378 126 2 0.5564       18.63299999      18.33500001      31.69300001
+ 379 127 1 -1.1128      23.73299999      23.02399999       1.66300000
+ 380 127 2 0.5564       24.80000000      24.05199999       2.77599999
+ 381 127 2 0.5564       24.69300001      22.61800001       0.19800000
+ 382 128 1 -1.1128      20.78900000      18.44000000       9.44299999
+ 383 128 2 0.5564       20.76599999      17.25699999       7.88100000
+ 384 128 2 0.5564       21.89600000      17.34500000      10.38500001
+ 385 129 1 -1.1128      21.57400000      17.49299999      17.83800000
+ 386 129 2 0.5564       20.59699999      18.95500001      17.21800000
+ 387 129 2 0.5564       22.53800000      16.87400000      16.25100000
+ 388 130 1 -1.1128      19.16800000      14.74799999      24.13099999
+ 389 130 2 0.5564       19.71100001      16.39000000      23.71199999
+ 390 130 2 0.5564       17.42899999      14.69500000      24.40300001
+ 391 131 1 -1.1128      22.14899999      20.19800000      24.97699999
+ 392 131 2 0.5564       21.63900001      20.92400000      26.48599999
+ 393 131 2 0.5564       22.65600000      21.65700001      24.41099999
+ 394 132 1 -1.1128      20.56499999      20.79200000      29.60000001
+ 395 132 2 0.5564       22.26399999      20.40900000      30.21399999
+ 396 132 2 0.5564       20.54800000      22.40800000      30.59699999
+ 397 133 1 -1.1128      20.80200000      26.54699999       9.61499999
+ 398 133 2 0.5564       20.09899999      27.98399999       8.33800001
+ 399 133 2 0.5564       21.27700001      27.53900001      11.32499999
+ 400 134 1 -1.1128      16.28300000      23.58900001       7.77900001
+ 401 134 2 0.5564       16.09300000      21.97300001       6.71199999
+ 402 134 2 0.5564       17.90100001      22.97100000       8.15400000
+ 403 135 1 -1.1128      18.46900000      29.79799999      13.56800001
+ 404 135 2 0.5564       19.71199999      31.21600000      13.50600000
+ 405 135 2 0.5564       16.87200001      30.34299999      14.39600001
+ 406 136 1 -1.1128      18.79000001      21.71199999      16.06000000
+ 407 136 2 0.5564       19.87800000      23.09000000      16.48500001
+ 408 136 2 0.5564       17.20100000      22.32600000      15.81899999
+ 409 137 1 -1.1128      21.74700001      26.08400001      16.34900001
+ 410 137 2 0.5564       20.78300001      27.02100000      15.29999999
+ 411 137 2 0.5564       22.70499999      27.32799999      17.20600001
+ 412 138 1 -1.1128      20.76899999      26.21100000      32.05000000
+ 413 138 2 0.5564       21.48800000      27.40399999      33.32799999
+ 414 138 2 0.5564       18.98900000      26.71000000      32.14500001
+ 415 139 1 -1.1128      19.82000000      29.18100001       5.55900000
+ 416 139 2 0.5564       20.99100001      29.50900000       4.10900001
+ 417 139 2 0.5564       19.43100000      31.01800000       6.22099999
+ 418 140 1 -1.1128      19.24000000      33.86700000       7.99300000
+ 419 140 2 0.5564       19.10700000      35.03900000       6.60399999
+ 420 140 2 0.5564       20.69700001      33.67100000       9.06299999
+ 421 141 1 -1.1128      22.51099999      34.97600001      15.79300000
+ 422 141 2 0.5564       23.71600000      36.16300001      16.60300000
+ 423 141 2 0.5564       21.69900000      36.15000000      14.46700001
+ 424 142 1 -1.1128      22.62199999      30.28400000      19.06900000
+ 425 142 2 0.5564       22.04899999      31.35100000      17.72500001
+ 426 142 2 0.5564       24.41099999      30.77299999      19.57599999
+ 427 143 1 -1.1128      18.63900001      33.61100001      28.36900000
+ 428 143 2 0.5564       18.22600000      32.15900001      29.10300000
+ 429 143 2 0.5564       19.90600000      33.00800000      27.15800000
+ 430 144 1 -1.1128      22.52000000       1.32499999      31.92600001
+ 431 144 2 0.5564       22.80300000       2.66800001      30.79600000
+ 432 144 2 0.5564       21.04499999       0.42499999      31.12200000
+ 433 145 1 -1.1128      21.75400001       3.78900000       1.15900001
+ 434 145 2 0.5564       22.08499999       2.78500000      -0.18000000
+ 435 145 2 0.5564       20.85000000       5.17500000       0.61000000
+ 436 146 1 -1.1128      28.45699999       5.53900001      12.13300000
+ 437 146 2 0.5564       29.48900001       4.39000000      11.18200000
+ 438 146 2 0.5564       29.16100000       7.13099999      12.58700000
+ 439 147 1 -1.1128      22.49500000       5.96599999      17.32400001
+ 440 147 2 0.5564       24.37700000       5.37900000      17.39299999
+ 441 147 2 0.5564       21.90600000       5.49100000      18.85700000
+ 442 148 1 -1.1128      28.12799999       3.30400000      22.28700000
+ 443 148 2 0.5564       28.12300001       2.99899999      20.49100000
+ 444 148 2 0.5564       26.53299999       3.35500000      22.87600001
+ 445 149 1 -1.1128      28.37800001      10.45500000      27.26600000
+ 446 149 2 0.5564       30.01900001      10.29200001      28.05100000
+ 447 149 2 0.5564       28.63500000      10.03900000      25.46300000
+ 448 150 1 -1.1128      27.03099999       8.35300001      34.80600000
+ 449 150 2 0.5564       26.11600001       9.98399999      34.57100001
+ 450 150 2 0.5564       28.68500000       8.95100001      34.73900000
+ 451 151 1 -1.1128      24.95100001       8.15999999       4.45399999
+ 452 151 2 0.5564       25.93000001       9.61600000       5.15999999
+ 453 151 2 0.5564       25.94700000       7.99400001       2.72400000
+ 454 152 1 -1.1128      26.93700001      12.43599999       6.86900001
+ 455 152 2 0.5564       25.49200001      13.28400000       6.70799999
+ 456 152 2 0.5564       27.68900000      13.33199999       8.26600000
+ 457 153 1 -1.1128      23.36500000      11.21399999      16.93300001
+ 458 153 2 0.5564       22.24700000       9.74399999      16.78900000
+ 459 153 2 0.5564       23.26399999      12.03500000      18.53900001
+ 460 154 1 -1.1128      28.32099999       8.75900000      22.15800000
+ 461 154 2 0.5564       27.66199999       6.89499999      22.48200001
+ 462 154 2 0.5564       26.97100000       9.71000000      21.90199999
+ 463 155 1 -1.1128      27.07100000       6.10900001      29.55500000
+ 464 155 2 0.5564       27.59100000       7.66300000      28.85700000
+ 465 155 2 0.5564       27.30400000       6.32000001      31.26100000
+ 466 156 1 -1.1128      22.47400000      11.70400001      34.63999999
+ 467 156 2 0.5564       22.75200000      13.30400000      35.58400000
+ 468 156 2 0.5564       22.84000001      12.09000000      33.03000001
+ 469 157 1 -1.1128      21.65600000      14.97100000       5.61499999
+ 470 157 2 0.5564       21.68999999      15.86000000       3.97699999
+ 471 157 2 0.5564       19.96400000      14.22500000       5.77400000
+ 472 158 1 -1.1128      28.53900001      21.49200001       9.82000000
+ 473 158 2 0.5564       27.28800001      22.18100001       8.68800000
+ 474 158 2 0.5564       28.06500000      22.42000000      11.60200000
+ 475 159 1 -1.1128      28.36399999      16.01999999      11.10900001
+ 476 159 2 0.5564       30.03300000      16.64900000      12.08900000
+ 477 159 2 0.5564       28.45600000      17.44000000      10.08200000
+ 478 160 1 -1.1128       0.05400000      13.68600001      18.10300000
+ 479 160 2 0.5564       -1.71400000      12.92800000      18.84099999
+ 480 160 2 0.5564        1.00800000      12.42899999      17.38300000
+ 481 161 1 -1.1128      24.63600001      12.89400001      29.95700000
+ 482 161 2 0.5564       25.90600000      13.91400000      31.18300000
+ 483 161 2 0.5564       25.64100000      11.60900000      29.16200000
+ 484 162 1 -1.1128      21.54800000      17.25000000       0.74900000
+ 485 162 2 0.5564       21.84300000      19.02600000       0.90500001
+ 486 162 2 0.5564       20.38500001      16.71600000      -0.69700001
+ 487 163 1 -1.1128      26.09499999      27.27400001       4.52000000
+ 488 163 2 0.5564       27.88900000      26.45800000       4.50500000
+ 489 163 2 0.5564       25.64800000      26.96999999       6.16500000
+ 490 164 1 -1.1128      23.61000000      22.51499999       8.00800000
+ 491 164 2 0.5564       22.65300000      21.18700000       8.73900000
+ 492 164 2 0.5564       22.28600000      24.09499999       8.44400000
+ 493 165 1 -1.1128      27.35500000      18.92900000      18.18000000
+ 494 165 2 0.5564       27.20000000      20.34900001      17.15500000
+ 495 165 2 0.5564       25.57899999      18.32200000      18.77000000
+ 496 166 1 -1.1128      26.76500001      23.63299999      14.44400000
+ 497 166 2 0.5564       27.44100000      25.29800000      13.65099999
+ 498 166 2 0.5564       25.08600000      24.25600001      14.74900000
+ 499 167 1 -1.1128      31.47800001      20.76899999      20.98600000
+ 500 167 2 0.5564       30.44000000      22.50900000      21.13499999
+ 501 167 2 0.5564       30.56700000      19.65600000      20.04300000
+ 502 168 1 -1.1128      24.81199999      20.41200000      32.66800001
+ 503 168 2 0.5564       26.24199999      21.47800001      31.87400000
+ 504 168 2 0.5564       25.78699999      19.02300001      33.15800000
+ 505 169 1 -1.1128      22.10500001      29.07600000       0.92800000
+ 506 169 2 0.5564       23.29599999      27.92299999       1.73900000
+ 507 169 2 0.5564       22.62300000      30.99400001       0.88200000
+ 508 170 1 -1.1128      29.57199999      31.25600001       8.62599999
+ 509 170 2 0.5564       30.79500000      30.20299999       7.73600001
+ 510 170 2 0.5564       28.27700001      31.51900000       7.25999999
+ 511 171 1 -1.1128      31.81700000      34.84300000      18.28300000
+ 512 171 2 0.5564       32.43800000      34.38899999      16.47400000
+ 513 171 2 0.5564       32.74300001      36.42200000      18.34100000
+ 514 172 1 -1.1128      27.91500001      25.60099999      19.03300000
+ 515 172 2 0.5564       29.35800000      26.56099999      19.19000000
+ 516 172 2 0.5564       28.14800001      24.42899999      17.53000000
+ 517 173 1 -1.1128      24.54800000      24.65400001      24.02500000
+ 518 173 2 0.5564       25.52800001      25.63500000      22.82400000
+ 519 173 2 0.5564       25.29999999      25.20000000      25.64500000
+ 520 174 1 -1.1128      28.53999999      22.92200000      30.37000000
+ 521 174 2 0.5564       27.41399999      24.09600000      29.78100000
+ 522 174 2 0.5564       29.67400000      23.91400000      31.87299999
+ 523 175 1 -1.1128      24.96900001      33.62300000       1.01400000
+ 524 175 2 0.5564       26.52100001      33.05800000       1.51799999
+ 525 175 2 0.5564       24.99000000      34.32200000      -0.68299999
+ 526 176 1 -1.1128      23.07500000      32.17099999      11.32400001
+ 527 176 2 0.5564       23.31600000      32.77500000      13.09700000
+ 528 176 2 0.5564       24.46000001      33.20299999      10.66199999
+ 529 177 1 -1.1128      27.49699999       2.73600001      17.22400001
+ 530 177 2 0.5564       28.39700000       3.41500000      15.71500001
+ 531 177 2 0.5564       28.23400001       1.23300000      17.41200000
+ 532 178 1 -1.1128      26.36900000      33.06000000      22.07700001
+ 533 178 2 0.5564       26.17000001      34.74600000      22.26399999
+ 534 178 2 0.5564       27.59200000      32.40399999      23.32099999
+ 535 179 1 -1.1128      30.22099999      30.95000000      25.84300000
+ 536 179 2 0.5564       30.30500000      29.03799999      26.20800000
+ 537 179 2 0.5564       30.36300001      31.97900000      27.41399999
+ 538 180 1 -1.1128      24.97300001      26.73200000      28.60700001
+ 539 180 2 0.5564       25.38500001      28.36900000      29.24800000
+ 540 180 2 0.5564       23.33000000      26.59699999      29.23400001
+ 541 181 1 -1.1128      32.16500000       4.85700000       2.25800000
+ 542 181 2 0.5564       32.41700001       6.19500001       1.15700000
+ 543 181 2 0.5564       32.61499999       3.72700000       1.11200000
+ 544 182 1 -1.1128      28.06699999       3.53299999       5.21699999
+ 545 182 2 0.5564       26.96000000       4.44699999       4.15800000
+ 546 182 2 0.5564       29.87500000       3.86300000       4.44800000
+ 547 183 1 -1.1128      33.27900000       2.78200000      13.02800000
+ 548 183 2 0.5564       33.70799999       3.95500001      11.81700000
+ 549 183 2 0.5564       33.65600000       3.54500000      14.63100000
+ 550 184 1 -1.1128      34.27799999       4.94400001      17.49200001
+ 551 184 2 0.5564       33.43800000       6.56300000      17.87600001
+ 552 184 2 0.5564       34.90600000       4.45200000      18.99499999
+ 553 185 1 -1.1128      32.36300001       1.90800001      26.09199999
+ 554 185 2 0.5564       31.94099999       1.68299999      24.26800000
+ 555 185 2 0.5564       33.85000000       1.39000000      26.90400000
+ 556 186 1 -1.1128      27.98200000       0.41799999      28.24100000
+ 557 186 2 0.5564       27.51600000       2.08000001      28.30900000
+ 558 186 2 0.5564       29.59300001       0.17600000      27.29900001
+ 559 187 1 -1.1128      28.84500000      14.67200001       2.72400000
+ 560 187 2 0.5564       27.96299999      13.93000001       4.13900000
+ 561 187 2 0.5564       30.38599999      15.71400000       3.37900000
+ 562 188 1 -1.1128      28.08300000      10.61800001      14.29800000
+ 563 188 2 0.5564       28.62300000      12.15999999      13.29300000
+ 564 188 2 0.5564       26.48599999      11.01500000      15.37900000
+ 565 189 1 -1.1128      33.86700000      10.54500000      13.30600001
+ 566 189 2 0.5564       35.16500000       9.61200000      13.81000000
+ 567 189 2 0.5564       33.61499999      10.27000001      11.51300000
+ 568 190 1 -1.1128      31.79000001       9.69600000      18.22300000
+ 569 190 2 0.5564       30.48400000       9.33400000      19.42100001
+ 570 190 2 0.5564       30.83399999      10.09600000      16.92900000
+ 571 191 1 -1.1128      30.14100001      15.00599999      21.53200001
+ 572 191 2 0.5564       28.56499999      15.59399999      22.09899999
+ 573 191 2 0.5564       30.94200000      14.25299999      23.07700001
+ 574 192 1 -1.1128      32.79799999      10.73200000      30.67999999
+ 575 192 2 0.5564       34.07300001       9.52800001      30.79900000
+ 576 192 2 0.5564       32.99100001      11.51200000      28.98300000
+ 577 193 1 -1.1128      33.65200000      16.26500000       5.08600000
+ 578 193 2 0.5564       35.39900001      16.23899999       4.72999999
+ 579 193 2 0.5564       33.50300001      17.93900000       5.63100000
+ 580 194 1 -1.1128      31.94700000      10.79900000       7.94300000
+ 581 194 2 0.5564       29.89400001      10.54900000       7.61899999
+ 582 194 2 0.5564       32.27099999      12.41399999       7.07500000
+ 583 195 1 -1.1128       0.32900000      15.51600000      11.74600000
+ 584 195 2 0.5564       -0.44600001      14.24900001      12.93900000
+ 585 195 2 0.5564       -0.68500000      17.01800000      11.93500000
+ 586 196 1 -1.1128       4.26200000      19.16500000      14.30800000
+ 587 196 2 0.5564        3.57899999      17.69100000      14.91999999
+ 588 196 2 0.5564        5.72299999      19.18300000      15.20400000
+ 589 197 1 -1.1128      32.99499999      13.54600001      25.94800001
+ 590 197 2 0.5564       32.16699999      15.06000000      26.78699999
+ 591 197 2 0.5564       34.42499999      13.80000000      25.00700000
+ 592 198 1 -1.1128       1.77299999      13.52400000      34.03700001
+ 593 198 2 0.5564        0.22700001      14.40900000      33.44600001
+ 594 198 2 0.5564        2.16699999      14.67000000      35.51099999
+ 595 199 1 -1.1128      33.02900000      20.52899999       7.24700000
+ 596 199 2 0.5564       34.38800000      21.41399999       8.00300000
+ 597 199 2 0.5564       31.45100000      20.83100000       8.18200000
+ 598 200 1 -1.1128       2.03700001      24.25000000      10.25100000
+ 599 200 2 0.5564        3.74300001      25.00800000       9.87600001
+ 600 200 2 0.5564        1.89400001      25.04300000      11.90300000
+ 601 201 1 -1.1128      32.75300000      19.25900000      13.97600001
+ 602 201 2 0.5564       32.79200000      20.88600000      13.79200000
+ 603 201 2 0.5564       34.33400000      18.79900000      14.97600001
+ 604 202 1 -1.1128       0.39600001      18.67300000      18.69900000
+ 605 202 2 0.5564       -1.21100000      18.95000000      19.12700001
+ 606 202 2 0.5564        0.46900000      16.97699999      18.43599999
+ 607 203 1 -1.1128      30.85499999      18.37000000      27.95899999
+ 608 203 2 0.5564       29.75900000      19.68100000      28.68999999
+ 609 203 2 0.5564       32.10300000      19.47700000      26.76300000
+ 610 204 1 -1.1128      27.72299999      15.99200000      33.09100001
+ 611 204 2 0.5564       29.39000000      16.42300000      32.19199999
+ 612 204 2 0.5564       27.80100001      15.85899999      34.80400001
+ 613 205 1 -1.1128      31.06800000      27.89499999       3.34800000
+ 614 205 2 0.5564       32.51700000      27.82500000       4.61000000
+ 615 205 2 0.5564       31.52899999      29.45900000       2.32400001
+ 616 206 1 -1.1128      35.03900000      28.00800000       6.66300000
+ 617 206 2 0.5564       35.96599999      26.93399999       7.68299999
+ 618 206 2 0.5564       36.05500001      28.33600000       5.33600000
+ 619 207 1 -1.1128      29.35600001      28.19599999      13.02500000
+ 620 207 2 0.5564       29.20999999      29.33500001      14.58900001
+ 621 207 2 0.5564       28.87400000      29.62900001      11.86700000
+ 622 208 1 -1.1128      32.38599999      28.43400000      18.96100000
+ 623 208 2 0.5564       33.36799999      28.57400000      20.41099999
+ 624 208 2 0.5564       33.41000001      27.40600001      17.94900000
+ 625 209 1 -1.1128      30.89799999      25.39000000      25.79900000
+ 626 209 2 0.5564       32.36900000      25.91299999      24.58000000
+ 627 209 2 0.5564       31.31700001      24.07500000      27.02900000
+ 628 210 1 -1.1128      32.25900000      25.61100001      33.10400000
+ 629 210 2 0.5564       32.23800001      25.73600001      34.80600000
+ 630 210 2 0.5564       33.91999999      25.04199999      32.77500000
+ 631 211 1 -1.1128      30.29000000      32.64500000       1.34100000
+ 632 211 2 0.5564       29.94900000      32.79300000      -0.43000000
+ 633 211 2 0.5564       31.76199999      33.34000000       1.84700001
+ 634 212 1 -1.1128      25.53599999      34.23499999       6.46900000
+ 635 212 2 0.5564       25.71600000      36.05900001       6.65099999
+ 636 212 2 0.5564       25.28300000      33.86599999       4.89499999
+ 637 213 1 -1.1128      31.67400000      33.16100000      13.10599999
+ 638 213 2 0.5564       31.79300000      34.86300000      13.28100001
+ 639 213 2 0.5564       30.42499999      32.92800000      11.78300001
+ 640 214 1 -1.1128      33.84400001      32.66800001      22.29599999
+ 641 214 2 0.5564       32.75000000      32.23400001      23.52400000
+ 642 214 2 0.5564       32.91700000      32.87500000      20.73600001
+ 643 215 1 -1.1128      31.60300000      30.54200000      30.80499999
+ 644 215 2 0.5564       33.45100000      30.80400001      30.46799999
+ 645 215 2 0.5564       31.57500001      28.81599999      31.75600000
+ 646 216 1 -1.1128      26.29500001      31.23499999      30.59900000
+ 647 216 2 0.5564       27.83399999      30.51499999      30.60700001
+ 648 216 2 0.5564       26.36200000      32.91999999      29.85600000
+
+Bonds
+
+ 1 1 1 2
+ 2 1 1 3
+ 3 1 4 5
+ 4 1 4 6
+ 5 1 7 8
+ 6 1 7 9
+ 7 1 10 11
+ 8 1 10 12
+ 9 1 13 14
+ 10 1 13 15
+ 11 1 16 17
+ 12 1 16 18
+ 13 1 19 20
+ 14 1 19 21
+ 15 1 22 23
+ 16 1 22 24
+ 17 1 25 26
+ 18 1 25 27
+ 19 1 28 29
+ 20 1 28 30
+ 21 1 31 32
+ 22 1 31 33
+ 23 1 34 35
+ 24 1 34 36
+ 25 1 37 38
+ 26 1 37 39
+ 27 1 40 41
+ 28 1 40 42
+ 29 1 43 44
+ 30 1 43 45
+ 31 1 46 47
+ 32 1 46 48
+ 33 1 49 50
+ 34 1 49 51
+ 35 1 52 53
+ 36 1 52 54
+ 37 1 55 56
+ 38 1 55 57
+ 39 1 58 59
+ 40 1 58 60
+ 41 1 61 62
+ 42 1 61 63
+ 43 1 64 65
+ 44 1 64 66
+ 45 1 67 68
+ 46 1 67 69
+ 47 1 70 71
+ 48 1 70 72
+ 49 1 73 74
+ 50 1 73 75
+ 51 1 76 77
+ 52 1 76 78
+ 53 1 79 80
+ 54 1 79 81
+ 55 1 82 83
+ 56 1 82 84
+ 57 1 85 86
+ 58 1 85 87
+ 59 1 88 89
+ 60 1 88 90
+ 61 1 91 92
+ 62 1 91 93
+ 63 1 94 95
+ 64 1 94 96
+ 65 1 97 98
+ 66 1 97 99
+ 67 1 100 101
+ 68 1 100 102
+ 69 1 103 104
+ 70 1 103 105
+ 71 1 106 107
+ 72 1 106 108
+ 73 1 109 110
+ 74 1 109 111
+ 75 1 112 113
+ 76 1 112 114
+ 77 1 115 116
+ 78 1 115 117
+ 79 1 118 119
+ 80 1 118 120
+ 81 1 121 122
+ 82 1 121 123
+ 83 1 124 125
+ 84 1 124 126
+ 85 1 127 128
+ 86 1 127 129
+ 87 1 130 131
+ 88 1 130 132
+ 89 1 133 134
+ 90 1 133 135
+ 91 1 136 137
+ 92 1 136 138
+ 93 1 139 140
+ 94 1 139 141
+ 95 1 142 143
+ 96 1 142 144
+ 97 1 145 146
+ 98 1 145 147
+ 99 1 148 149
+ 100 1 148 150
+ 101 1 151 152
+ 102 1 151 153
+ 103 1 154 155
+ 104 1 154 156
+ 105 1 157 158
+ 106 1 157 159
+ 107 1 160 161
+ 108 1 160 162
+ 109 1 163 164
+ 110 1 163 165
+ 111 1 166 167
+ 112 1 166 168
+ 113 1 169 170
+ 114 1 169 171
+ 115 1 172 173
+ 116 1 172 174
+ 117 1 175 176
+ 118 1 175 177
+ 119 1 178 179
+ 120 1 178 180
+ 121 1 181 182
+ 122 1 181 183
+ 123 1 184 185
+ 124 1 184 186
+ 125 1 187 188
+ 126 1 187 189
+ 127 1 190 191
+ 128 1 190 192
+ 129 1 193 194
+ 130 1 193 195
+ 131 1 196 197
+ 132 1 196 198
+ 133 1 199 200
+ 134 1 199 201
+ 135 1 202 203
+ 136 1 202 204
+ 137 1 205 206
+ 138 1 205 207
+ 139 1 208 209
+ 140 1 208 210
+ 141 1 211 212
+ 142 1 211 213
+ 143 1 214 215
+ 144 1 214 216
+ 145 1 217 218
+ 146 1 217 219
+ 147 1 220 221
+ 148 1 220 222
+ 149 1 223 224
+ 150 1 223 225
+ 151 1 226 227
+ 152 1 226 228
+ 153 1 229 230
+ 154 1 229 231
+ 155 1 232 233
+ 156 1 232 234
+ 157 1 235 236
+ 158 1 235 237
+ 159 1 238 239
+ 160 1 238 240
+ 161 1 241 242
+ 162 1 241 243
+ 163 1 244 245
+ 164 1 244 246
+ 165 1 247 248
+ 166 1 247 249
+ 167 1 250 251
+ 168 1 250 252
+ 169 1 253 254
+ 170 1 253 255
+ 171 1 256 257
+ 172 1 256 258
+ 173 1 259 260
+ 174 1 259 261
+ 175 1 262 263
+ 176 1 262 264
+ 177 1 265 266
+ 178 1 265 267
+ 179 1 268 269
+ 180 1 268 270
+ 181 1 271 272
+ 182 1 271 273
+ 183 1 274 275
+ 184 1 274 276
+ 185 1 277 278
+ 186 1 277 279
+ 187 1 280 281
+ 188 1 280 282
+ 189 1 283 284
+ 190 1 283 285
+ 191 1 286 287
+ 192 1 286 288
+ 193 1 289 290
+ 194 1 289 291
+ 195 1 292 293
+ 196 1 292 294
+ 197 1 295 296
+ 198 1 295 297
+ 199 1 298 299
+ 200 1 298 300
+ 201 1 301 302
+ 202 1 301 303
+ 203 1 304 305
+ 204 1 304 306
+ 205 1 307 308
+ 206 1 307 309
+ 207 1 310 311
+ 208 1 310 312
+ 209 1 313 314
+ 210 1 313 315
+ 211 1 316 317
+ 212 1 316 318
+ 213 1 319 320
+ 214 1 319 321
+ 215 1 322 323
+ 216 1 322 324
+ 217 1 325 326
+ 218 1 325 327
+ 219 1 328 329
+ 220 1 328 330
+ 221 1 331 332
+ 222 1 331 333
+ 223 1 334 335
+ 224 1 334 336
+ 225 1 337 338
+ 226 1 337 339
+ 227 1 340 341
+ 228 1 340 342
+ 229 1 343 344
+ 230 1 343 345
+ 231 1 346 347
+ 232 1 346 348
+ 233 1 349 350
+ 234 1 349 351
+ 235 1 352 353
+ 236 1 352 354
+ 237 1 355 356
+ 238 1 355 357
+ 239 1 358 359
+ 240 1 358 360
+ 241 1 361 362
+ 242 1 361 363
+ 243 1 364 365
+ 244 1 364 366
+ 245 1 367 368
+ 246 1 367 369
+ 247 1 370 371
+ 248 1 370 372
+ 249 1 373 374
+ 250 1 373 375
+ 251 1 376 377
+ 252 1 376 378
+ 253 1 379 380
+ 254 1 379 381
+ 255 1 382 383
+ 256 1 382 384
+ 257 1 385 386
+ 258 1 385 387
+ 259 1 388 389
+ 260 1 388 390
+ 261 1 391 392
+ 262 1 391 393
+ 263 1 394 395
+ 264 1 394 396
+ 265 1 397 398
+ 266 1 397 399
+ 267 1 400 401
+ 268 1 400 402
+ 269 1 403 404
+ 270 1 403 405
+ 271 1 406 407
+ 272 1 406 408
+ 273 1 409 410
+ 274 1 409 411
+ 275 1 412 413
+ 276 1 412 414
+ 277 1 415 416
+ 278 1 415 417
+ 279 1 418 419
+ 280 1 418 420
+ 281 1 421 422
+ 282 1 421 423
+ 283 1 424 425
+ 284 1 424 426
+ 285 1 427 428
+ 286 1 427 429
+ 287 1 430 431
+ 288 1 430 432
+ 289 1 433 434
+ 290 1 433 435
+ 291 1 436 437
+ 292 1 436 438
+ 293 1 439 440
+ 294 1 439 441
+ 295 1 442 443
+ 296 1 442 444
+ 297 1 445 446
+ 298 1 445 447
+ 299 1 448 449
+ 300 1 448 450
+ 301 1 451 452
+ 302 1 451 453
+ 303 1 454 455
+ 304 1 454 456
+ 305 1 457 458
+ 306 1 457 459
+ 307 1 460 461
+ 308 1 460 462
+ 309 1 463 464
+ 310 1 463 465
+ 311 1 466 467
+ 312 1 466 468
+ 313 1 469 470
+ 314 1 469 471
+ 315 1 472 473
+ 316 1 472 474
+ 317 1 475 476
+ 318 1 475 477
+ 319 1 478 479
+ 320 1 478 480
+ 321 1 481 482
+ 322 1 481 483
+ 323 1 484 485
+ 324 1 484 486
+ 325 1 487 488
+ 326 1 487 489
+ 327 1 490 491
+ 328 1 490 492
+ 329 1 493 494
+ 330 1 493 495
+ 331 1 496 497
+ 332 1 496 498
+ 333 1 499 500
+ 334 1 499 501
+ 335 1 502 503
+ 336 1 502 504
+ 337 1 505 506
+ 338 1 505 507
+ 339 1 508 509
+ 340 1 508 510
+ 341 1 511 512
+ 342 1 511 513
+ 343 1 514 515
+ 344 1 514 516
+ 345 1 517 518
+ 346 1 517 519
+ 347 1 520 521
+ 348 1 520 522
+ 349 1 523 524
+ 350 1 523 525
+ 351 1 526 527
+ 352 1 526 528
+ 353 1 529 530
+ 354 1 529 531
+ 355 1 532 533
+ 356 1 532 534
+ 357 1 535 536
+ 358 1 535 537
+ 359 1 538 539
+ 360 1 538 540
+ 361 1 541 542
+ 362 1 541 543
+ 363 1 544 545
+ 364 1 544 546
+ 365 1 547 548
+ 366 1 547 549
+ 367 1 550 551
+ 368 1 550 552
+ 369 1 553 554
+ 370 1 553 555
+ 371 1 556 557
+ 372 1 556 558
+ 373 1 559 560
+ 374 1 559 561
+ 375 1 562 563
+ 376 1 562 564
+ 377 1 565 566
+ 378 1 565 567
+ 379 1 568 569
+ 380 1 568 570
+ 381 1 571 572
+ 382 1 571 573
+ 383 1 574 575
+ 384 1 574 576
+ 385 1 577 578
+ 386 1 577 579
+ 387 1 580 581
+ 388 1 580 582
+ 389 1 583 584
+ 390 1 583 585
+ 391 1 586 587
+ 392 1 586 588
+ 393 1 589 590
+ 394 1 589 591
+ 395 1 592 593
+ 396 1 592 594
+ 397 1 595 596
+ 398 1 595 597
+ 399 1 598 599
+ 400 1 598 600
+ 401 1 601 602
+ 402 1 601 603
+ 403 1 604 605
+ 404 1 604 606
+ 405 1 607 608
+ 406 1 607 609
+ 407 1 610 611
+ 408 1 610 612
+ 409 1 613 614
+ 410 1 613 615
+ 411 1 616 617
+ 412 1 616 618
+ 413 1 619 620
+ 414 1 619 621
+ 415 1 622 623
+ 416 1 622 624
+ 417 1 625 626
+ 418 1 625 627
+ 419 1 628 629
+ 420 1 628 630
+ 421 1 631 632
+ 422 1 631 633
+ 423 1 634 635
+ 424 1 634 636
+ 425 1 637 638
+ 426 1 637 639
+ 427 1 640 641
+ 428 1 640 642
+ 429 1 643 644
+ 430 1 643 645
+ 431 1 646 647
+ 432 1 646 648
+
+Angles
+
+ 1 1 2 1 3
+ 2 1 5 4 6
+ 3 1 8 7 9
+ 4 1 11 10 12
+ 5 1 14 13 15
+ 6 1 17 16 18
+ 7 1 20 19 21
+ 8 1 23 22 24
+ 9 1 26 25 27
+ 10 1 29 28 30
+ 11 1 32 31 33
+ 12 1 35 34 36
+ 13 1 38 37 39
+ 14 1 41 40 42
+ 15 1 44 43 45
+ 16 1 47 46 48
+ 17 1 50 49 51
+ 18 1 53 52 54
+ 19 1 56 55 57
+ 20 1 59 58 60
+ 21 1 62 61 63
+ 22 1 65 64 66
+ 23 1 68 67 69
+ 24 1 71 70 72
+ 25 1 74 73 75
+ 26 1 77 76 78
+ 27 1 80 79 81
+ 28 1 83 82 84
+ 29 1 86 85 87
+ 30 1 89 88 90
+ 31 1 92 91 93
+ 32 1 95 94 96
+ 33 1 98 97 99
+ 34 1 101 100 102
+ 35 1 104 103 105
+ 36 1 107 106 108
+ 37 1 110 109 111
+ 38 1 113 112 114
+ 39 1 116 115 117
+ 40 1 119 118 120
+ 41 1 122 121 123
+ 42 1 125 124 126
+ 43 1 128 127 129
+ 44 1 131 130 132
+ 45 1 134 133 135
+ 46 1 137 136 138
+ 47 1 140 139 141
+ 48 1 143 142 144
+ 49 1 146 145 147
+ 50 1 149 148 150
+ 51 1 152 151 153
+ 52 1 155 154 156
+ 53 1 158 157 159
+ 54 1 161 160 162
+ 55 1 164 163 165
+ 56 1 167 166 168
+ 57 1 170 169 171
+ 58 1 173 172 174
+ 59 1 176 175 177
+ 60 1 179 178 180
+ 61 1 182 181 183
+ 62 1 185 184 186
+ 63 1 188 187 189
+ 64 1 191 190 192
+ 65 1 194 193 195
+ 66 1 197 196 198
+ 67 1 200 199 201
+ 68 1 203 202 204
+ 69 1 206 205 207
+ 70 1 209 208 210
+ 71 1 212 211 213
+ 72 1 215 214 216
+ 73 1 218 217 219
+ 74 1 221 220 222
+ 75 1 224 223 225
+ 76 1 227 226 228
+ 77 1 230 229 231
+ 78 1 233 232 234
+ 79 1 236 235 237
+ 80 1 239 238 240
+ 81 1 242 241 243
+ 82 1 245 244 246
+ 83 1 248 247 249
+ 84 1 251 250 252
+ 85 1 254 253 255
+ 86 1 257 256 258
+ 87 1 260 259 261
+ 88 1 263 262 264
+ 89 1 266 265 267
+ 90 1 269 268 270
+ 91 1 272 271 273
+ 92 1 275 274 276
+ 93 1 278 277 279
+ 94 1 281 280 282
+ 95 1 284 283 285
+ 96 1 287 286 288
+ 97 1 290 289 291
+ 98 1 293 292 294
+ 99 1 296 295 297
+ 100 1 299 298 300
+ 101 1 302 301 303
+ 102 1 305 304 306
+ 103 1 308 307 309
+ 104 1 311 310 312
+ 105 1 314 313 315
+ 106 1 317 316 318
+ 107 1 320 319 321
+ 108 1 323 322 324
+ 109 1 326 325 327
+ 110 1 329 328 330
+ 111 1 332 331 333
+ 112 1 335 334 336
+ 113 1 338 337 339
+ 114 1 341 340 342
+ 115 1 344 343 345
+ 116 1 347 346 348
+ 117 1 350 349 351
+ 118 1 353 352 354
+ 119 1 356 355 357
+ 120 1 359 358 360
+ 121 1 362 361 363
+ 122 1 365 364 366
+ 123 1 368 367 369
+ 124 1 371 370 372
+ 125 1 374 373 375
+ 126 1 377 376 378
+ 127 1 380 379 381
+ 128 1 383 382 384
+ 129 1 386 385 387
+ 130 1 389 388 390
+ 131 1 392 391 393
+ 132 1 395 394 396
+ 133 1 398 397 399
+ 134 1 401 400 402
+ 135 1 404 403 405
+ 136 1 407 406 408
+ 137 1 410 409 411
+ 138 1 413 412 414
+ 139 1 416 415 417
+ 140 1 419 418 420
+ 141 1 422 421 423
+ 142 1 425 424 426
+ 143 1 428 427 429
+ 144 1 431 430 432
+ 145 1 434 433 435
+ 146 1 437 436 438
+ 147 1 440 439 441
+ 148 1 443 442 444
+ 149 1 446 445 447
+ 150 1 449 448 450
+ 151 1 452 451 453
+ 152 1 455 454 456
+ 153 1 458 457 459
+ 154 1 461 460 462
+ 155 1 464 463 465
+ 156 1 467 466 468
+ 157 1 470 469 471
+ 158 1 473 472 474
+ 159 1 476 475 477
+ 160 1 479 478 480
+ 161 1 482 481 483
+ 162 1 485 484 486
+ 163 1 488 487 489
+ 164 1 491 490 492
+ 165 1 494 493 495
+ 166 1 497 496 498
+ 167 1 500 499 501
+ 168 1 503 502 504
+ 169 1 506 505 507
+ 170 1 509 508 510
+ 171 1 512 511 513
+ 172 1 515 514 516
+ 173 1 518 517 519
+ 174 1 521 520 522
+ 175 1 524 523 525
+ 176 1 527 526 528
+ 177 1 530 529 531
+ 178 1 533 532 534
+ 179 1 536 535 537
+ 180 1 539 538 540
+ 181 1 542 541 543
+ 182 1 545 544 546
+ 183 1 548 547 549
+ 184 1 551 550 552
+ 185 1 554 553 555
+ 186 1 557 556 558
+ 187 1 560 559 561
+ 188 1 563 562 564
+ 189 1 566 565 567
+ 190 1 569 568 570
+ 191 1 572 571 573
+ 192 1 575 574 576
+ 193 1 578 577 579
+ 194 1 581 580 582
+ 195 1 584 583 585
+ 196 1 587 586 588
+ 197 1 590 589 591
+ 198 1 593 592 594
+ 199 1 596 595 597
+ 200 1 599 598 600
+ 201 1 602 601 603
+ 202 1 605 604 606
+ 203 1 608 607 609
+ 204 1 611 610 612
+ 205 1 614 613 615
+ 206 1 617 616 618
+ 207 1 620 619 621
+ 208 1 623 622 624
+ 209 1 626 625 627
+ 210 1 629 628 630
+ 211 1 632 631 633
+ 212 1 635 634 636
+ 213 1 638 637 639
+ 214 1 641 640 642
+ 215 1 644 643 645
+ 216 1 647 646 648
diff --git a/tools/i-pi/examples/lammps/h2o-piglet.4/in.water b/tools/i-pi/examples/lammps/h2o-piglet.4/in.water
new file mode 100644
index 0000000000..c43fe7c15c
--- /dev/null
+++ b/tools/i-pi/examples/lammps/h2o-piglet.4/in.water
@@ -0,0 +1,32 @@
+units		electron
+atom_style	full
+
+#pair_style	lj/cut/coul/long 17.01
+pair_style      lj/cut/tip4p/long 1 2 1 1 0.278072379 17.007
+#bond_style      harmonic
+bond_style      class2 
+angle_style     harmonic
+#kspace_style	pppm 0.0001
+kspace_style	pppm/tip4p 0.0001
+
+read_data	data.water
+pair_coeff  * * 0 0
+pair_coeff  1  1  0.000295147 5.96946
+
+neighbor	2.0 bin
+
+timestep	0.00025
+
+#velocity all create 298.0 2345187
+
+#thermo_style	multi
+#thermo		1
+
+#fix		1 all nvt temp 298.0 298.0 30.0 tchain 1
+#fix 1 all nve
+fix 1 all ipi piglet_4 32343 unix
+
+#dump		1 all xyz 25 dump.xyz
+
+run		100000000
+
diff --git a/tools/i-pi/examples/lammps/h2o-piglet.4/input.xml b/tools/i-pi/examples/lammps/h2o-piglet.4/input.xml
new file mode 100644
index 0000000000..af3b01a1d3
--- /dev/null
+++ b/tools/i-pi/examples/lammps/h2o-piglet.4/input.xml
@@ -0,0 +1,40 @@
+<simulation>
+   <initialize nbeads='4'> 
+      <file mode='pdb'> water_298K.pdb </file>
+      <velocities mode="thermal" units='kelvin'> 298 </velocities>
+   </initialize>
+   <output prefix='gle_lammps'>
+      <properties stride='1' filename='out'>  [ step, time{picosecond}, conserved{kelvin}, temperature{kelvin}, kinetic_cv{kelvin}, potential{kelvin}, pressure_cv{megapascal}] </properties>
+      <trajectory filename='pos' stride='20'> positions </trajectory>
+   </output>
+   <total_steps>500000</total_steps>
+   <prng><seed>32343</seed></prng>
+   <forces>
+      <socket mode='unix'>
+         <address>piglet_4</address>
+      </socket>
+   </forces>
+   <ensemble mode='nvt'>
+  <thermostat mode='nm_gle'>
+    <A shape='(4,9,9)'>
+[
+   1.300513766690e-2,     9.078220950722e-6,     8.180522706851e-6,     1.196620464216e-5,     1.108609196233e-4,    -8.941338246404e-4,     7.817382329484e-3,    -1.206049888192e-2,    -5.215913547478e-2,    -9.756343549369e-6,     2.131200614277e-7,     2.972243541454e-6,    -4.459298032276e-6,     2.177011229810e-7,     4.960251269751e-7,    -2.083064995647e-6,    -7.004617074013e-6,     2.299410255689e-5,    -1.851243089560e-6,    -2.972243541454e-6,     1.956991859501e-6,     1.742357040415e-6,    -2.082265548357e-6,    -1.760771137012e-6,    -3.733162998255e-6,    -3.711884630223e-5,    -3.625483838477e-5,     1.492481502899e-5,     4.459298032276e-6,    -1.742357040415e-6,     5.092476869103e-6,     2.033910859306e-6,     5.856365217540e-7,    -3.020170664006e-6,     1.868034354962e-5,    -5.049113665348e-6,     1.059383195368e-4,    -2.177011229810e-7,     2.082265548357e-6,    -2.033910859306e-6,     5.467813757620e-5,    -6.684243951800e-6,    -9.770331146786e-7,    -2.159991642805e-4,     4.667176340213e-4,    -7.611448585233e-4,    -4.960251269751e-7,     1.760771137012e-6,    -5.856365217540e-7,     6.684243951800e-6,     6.616597356640e-4,    -1.637891086976e-6,    -2.056652206438e-4,     2.960975881160e-4,     7.659946833472e-3,     2.083064995647e-6,     3.733162998255e-6,     3.020170664006e-6,     9.770331146786e-7,     1.637891086976e-6,     6.390977118535e-3,    -6.246090363901e-5,     5.054994461623e-4,    -1.078245092236e-2,     7.004617074013e-6,     3.711884630223e-5,    -1.868034354962e-5,     2.159991642805e-4,     2.056652206438e-4,     6.246090363901e-5,     1.730397061203e-1,     1.004651317366e-4,    -5.467410217589e-2,    -2.299410255689e-5,     3.625483838477e-5,     5.049113665348e-6,    -4.667176340213e-4,    -2.960975881160e-4,    -5.054994461623e-4,    -1.004651317366e-4,     1.795223909984e+0,  
+   7.566936336534e-6,     6.338019063098e-3,     0.000000000000e+0,     1.060374810427e-2,     0.000000000000e+0,     4.208955410918e-3,     0.000000000000e+0,     8.082827448553e-5,     0.000000000000e+0,    -6.338019063098e-3,     7.358306814484e-2,     2.945862869452e-2,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -2.945862869452e-2,    1.924557597624e-14,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -1.060374810427e-2,     0.000000000000e+0,     0.000000000000e+0,     1.487651276141e-2,     5.463360757376e-3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -5.463360757376e-3,    1.924557597624e-14,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -4.208955410918e-3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     4.130761028108e-2,     1.462832567462e-2,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -1.462832567462e-2,    1.924557597624e-14,     0.000000000000e+0,     0.000000000000e+0,    -8.082827448553e-5,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     3.105282519359e-3,     1.090072581774e-3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -1.090072581774e-3,    1.924557597624e-14,  
+   7.566936336534e-6,     6.338019063098e-3,     0.000000000000e+0,     1.060374810427e-2,     0.000000000000e+0,     4.208955410918e-3,     0.000000000000e+0,     8.082827448553e-5,     0.000000000000e+0,    -6.338019063098e-3,     7.358306814484e-2,     2.945862869452e-2,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -2.945862869452e-2,    1.924557597624e-14,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -1.060374810427e-2,     0.000000000000e+0,     0.000000000000e+0,     1.487651276141e-2,     5.463360757376e-3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -5.463360757376e-3,    1.924557597624e-14,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -4.208955410918e-3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     4.130761028108e-2,     1.462832567462e-2,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -1.462832567462e-2,    1.924557597624e-14,     0.000000000000e+0,     0.000000000000e+0,    -8.082827448553e-5,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     3.105282519359e-3,     1.090072581774e-3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -1.090072581774e-3,    1.924557597624e-14,  
+   7.566936336534e-6,     6.338019063098e-3,     0.000000000000e+0,     1.060374810427e-2,     0.000000000000e+0,     4.208955410918e-3,     0.000000000000e+0,     8.082827448553e-5,     0.000000000000e+0,    -6.338019063098e-3,     7.358306814484e-2,     2.945862869452e-2,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -2.945862869452e-2,    1.924557597624e-14,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -1.060374810427e-2,     0.000000000000e+0,     0.000000000000e+0,     1.487651276141e-2,     5.463360757376e-3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -5.463360757376e-3,    1.924557597624e-14,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -4.208955410918e-3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     4.130761028108e-2,     1.462832567462e-2,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -1.462832567462e-2,    1.924557597624e-14,     0.000000000000e+0,     0.000000000000e+0,    -8.082827448553e-5,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     3.105282519359e-3,     1.090072581774e-3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -1.090072581774e-3,    1.924557597624e-14
+]
+    </A>
+    <C shape='(4,9,9)' units='kelvin'>
+[
+     1.192000000000e+3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     1.192000000000e+3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     1.192000000000e+3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     1.192000000000e+3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     1.192000000000e+3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     1.192000000000e+3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     1.192000000000e+3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     1.192000000000e+3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     1.192000000000e+3,
+     1.974745232194e+3,    -2.047141324480e+2,    -1.465776544626e+3,     5.611692742600e+2,     2.600211572322e+2,    -1.099491161786e+3,    -3.093580205740e+3,    -3.861032202200e+2,    -1.067404178368e+3,    -2.047141324480e+2,     1.087575551624e+4,     6.721323835060e-9,     2.021884782970e+2,     1.075739781622e+2,    -7.437996121940e+1,    -1.600458223938e+1,    -1.059816853114e+1,     2.076593606756e+0,    -1.465776544626e+3,     6.719263290220e-9,     1.056039393790e+4,    -5.800425818660e+2,    -1.752619163876e+2,     3.223014416760e+1,    -6.625413068480e+2,    -5.611883191420e+1,    -2.352310083702e+2,     5.611692742600e+2,     2.021884782970e+2,    -5.800425818660e+2,     8.662918193440e+2,     3.799597913860e-9,     1.716248402446e+2,    -1.504572868414e+3,    -2.864411056124e+2,    -4.191189710000e+1,     2.600211572322e+2,     1.075739781622e+2,    -1.752619163876e+2,     3.799720946140e-9,     1.370962657638e+3,     5.619251682460e+2,    -1.447856743746e+3,     2.100592360296e+2,    -2.014734930954e+3,    -1.099491161786e+3,    -7.437996121940e+1,     3.223014416760e+1,     1.716248402446e+2,     5.619251682460e+2,     2.319917706904e+4,     2.896113582292e-8,    -1.931536922152e+1,     4.385447956380e+0,    -3.093580205740e+3,    -1.600458223938e+1,    -6.625413068480e+2,    -1.504572868414e+3,    -1.447856743746e+3,     2.896343709812e-8,     2.230907239094e+4,    -5.885090774480e+1,    -3.209433686600e+2,    -3.861032202200e+2,    -1.059816853114e+1,    -5.611883191420e+1,    -2.864411056124e+2,     2.100592360296e+2,    -1.931536922152e+1,    -5.885090774480e+1,     7.065427000840e+4,     1.240853151798e-6,    -1.067404178368e+3,     2.076593606756e+0,    -2.352310083702e+2,    -4.191189710000e+1,    -2.014734930954e+3,     4.385447956380e+0,    -3.209433686600e+2,     1.240861621554e-6,     7.057512257920e+4,
+     1.974745232194e+3,    -2.047141324480e+2,    -1.465776544626e+3,     5.611692742600e+2,     2.600211572322e+2,    -1.099491161786e+3,    -3.093580205740e+3,    -3.861032202200e+2,    -1.067404178368e+3,    -2.047141324480e+2,     1.087575551624e+4,     6.721323835060e-9,     2.021884782970e+2,     1.075739781622e+2,    -7.437996121940e+1,    -1.600458223938e+1,    -1.059816853114e+1,     2.076593606756e+0,    -1.465776544626e+3,     6.719263290220e-9,     1.056039393790e+4,    -5.800425818660e+2,    -1.752619163876e+2,     3.223014416760e+1,    -6.625413068480e+2,    -5.611883191420e+1,    -2.352310083702e+2,     5.611692742600e+2,     2.021884782970e+2,    -5.800425818660e+2,     8.662918193440e+2,     3.799597913860e-9,     1.716248402446e+2,    -1.504572868414e+3,    -2.864411056124e+2,    -4.191189710000e+1,     2.600211572322e+2,     1.075739781622e+2,    -1.752619163876e+2,     3.799720946140e-9,     1.370962657638e+3,     5.619251682460e+2,    -1.447856743746e+3,     2.100592360296e+2,    -2.014734930954e+3,    -1.099491161786e+3,    -7.437996121940e+1,     3.223014416760e+1,     1.716248402446e+2,     5.619251682460e+2,     2.319917706904e+4,     2.896113582292e-8,    -1.931536922152e+1,     4.385447956380e+0,    -3.093580205740e+3,    -1.600458223938e+1,    -6.625413068480e+2,    -1.504572868414e+3,    -1.447856743746e+3,     2.896343709812e-8,     2.230907239094e+4,    -5.885090774480e+1,    -3.209433686600e+2,    -3.861032202200e+2,    -1.059816853114e+1,    -5.611883191420e+1,    -2.864411056124e+2,     2.100592360296e+2,    -1.931536922152e+1,    -5.885090774480e+1,     7.065427000840e+4,     1.240853151798e-6,    -1.067404178368e+3,     2.076593606756e+0,    -2.352310083702e+2,    -4.191189710000e+1,    -2.014734930954e+3,     4.385447956380e+0,    -3.209433686600e+2,     1.240861621554e-6,     7.057512257920e+4,
+     1.974745232194e+3,    -2.047141324480e+2,    -1.465776544626e+3,     5.611692742600e+2,     2.600211572322e+2,    -1.099491161786e+3,    -3.093580205740e+3,    -3.861032202200e+2,    -1.067404178368e+3,    -2.047141324480e+2,     1.087575551624e+4,     6.721323835060e-9,     2.021884782970e+2,     1.075739781622e+2,    -7.437996121940e+1,    -1.600458223938e+1,    -1.059816853114e+1,     2.076593606756e+0,    -1.465776544626e+3,     6.719263290220e-9,     1.056039393790e+4,    -5.800425818660e+2,    -1.752619163876e+2,     3.223014416760e+1,    -6.625413068480e+2,    -5.611883191420e+1,    -2.352310083702e+2,     5.611692742600e+2,     2.021884782970e+2,    -5.800425818660e+2,     8.662918193440e+2,     3.799597913860e-9,     1.716248402446e+2,    -1.504572868414e+3,    -2.864411056124e+2,    -4.191189710000e+1,     2.600211572322e+2,     1.075739781622e+2,    -1.752619163876e+2,     3.799720946140e-9,     1.370962657638e+3,     5.619251682460e+2,    -1.447856743746e+3,     2.100592360296e+2,    -2.014734930954e+3,    -1.099491161786e+3,    -7.437996121940e+1,     3.223014416760e+1,     1.716248402446e+2,     5.619251682460e+2,     2.319917706904e+4,     2.896113582292e-8,    -1.931536922152e+1,     4.385447956380e+0,    -3.093580205740e+3,    -1.600458223938e+1,    -6.625413068480e+2,    -1.504572868414e+3,    -1.447856743746e+3,     2.896343709812e-8,     2.230907239094e+4,    -5.885090774480e+1,    -3.209433686600e+2,    -3.861032202200e+2,    -1.059816853114e+1,    -5.611883191420e+1,    -2.864411056124e+2,     2.100592360296e+2,    -1.931536922152e+1,    -5.885090774480e+1,     7.065427000840e+4,     1.240853151798e-6,    -1.067404178368e+3,     2.076593606756e+0,    -2.352310083702e+2,    -4.191189710000e+1,    -2.014734930954e+3,     4.385447956380e+0,    -3.209433686600e+2,     1.240861621554e-6,     7.057512257920e+4
+]
+    </C>
+  </thermostat>
+
+      <timestep units='femtosecond'> 0.1</timestep>
+      <temperature units='kelvin'>298</temperature>
+   </ensemble>
+</simulation>
diff --git a/tools/i-pi/examples/lammps/h2o-piglet.4/water_298K.pdb b/tools/i-pi/examples/lammps/h2o-piglet.4/water_298K.pdb
new file mode 100644
index 0000000000..e8509c868e
--- /dev/null
+++ b/tools/i-pi/examples/lammps/h2o-piglet.4/water_298K.pdb
@@ -0,0 +1,650 @@
+CRYST   35.233   35.233   35.233  90.00  90.00  90.00 P 1          1
+ATOM      1    O   1     1       3.846   5.672   1.323  0.00  0.00            0
+ATOM      2    H   1     1       2.979   7.054   0.857  0.00  0.00            0
+ATOM      3    H   1     1       5.525   5.697   0.451  0.00  0.00            0
+ATOM      4    O   1     1      34.557  34.341   3.078  0.00  0.00            0
+ATOM      5    H   1     1      33.722  34.689   4.840  0.00  0.00            0
+ATOM      6    H   1     1      36.029  33.220   3.711  0.00  0.00            0
+ATOM      7    O   1     1       5.591   1.963  13.477  0.00  0.00            0
+ATOM      8    H   1     1       7.265   1.864  13.851  0.00  0.00            0
+ATOM      9    H   1     1       5.009   3.555  13.916  0.00  0.00            0
+ATOM     10    O   1     1       1.060   2.061  21.718  0.00  0.00            0
+ATOM     11    H   1     1       0.757   0.261  21.820  0.00  0.00            0
+ATOM     12    H   1     1       0.213   3.013  23.047  0.00  0.00            0
+ATOM     13    O   1     1       1.200   1.337  29.006  0.00  0.00            0
+ATOM     14    H   1     1       0.818   1.884  30.732  0.00  0.00            0
+ATOM     15    H   1     1       2.883   1.825  29.011  0.00  0.00            0
+ATOM     16    O   1     1       1.331   1.386  34.306  0.00  0.00            0
+ATOM     17    H   1     1       2.392   2.898  34.846  0.00  0.00            0
+ATOM     18    H   1     1       0.814   0.532  35.836  0.00  0.00            0
+ATOM     19    O   1     1      31.451  10.201   0.726  0.00  0.00            0
+ATOM     20    H   1     1      32.282  10.877  -0.750  0.00  0.00            0
+ATOM     21    H   1     1      30.920  11.594   1.677  0.00  0.00            0
+ATOM     22    O   1     1       0.836  10.808   4.298  0.00  0.00            0
+ATOM     23    H   1     1       0.305  10.643   2.793  0.00  0.00            0
+ATOM     24    H   1     1      -0.356  10.334   5.524  0.00  0.00            0
+ATOM     25    O   1     1      34.381   5.979   9.194  0.00  0.00            0
+ATOM     26    H   1     1      33.616   7.673   8.857  0.00  0.00            0
+ATOM     27    H   1     1      35.115   5.260   7.618  0.00  0.00            0
+ATOM     28    O   1     1      33.212   6.480  24.278  0.00  0.00            0
+ATOM     29    H   1     1      31.624   6.908  23.521  0.00  0.00            0
+ATOM     30    H   1     1      32.544   4.990  24.982  0.00  0.00            0
+ATOM     31    O   1     1       1.992   9.002  26.863  0.00  0.00            0
+ATOM     32    H   1     1       1.856  10.175  25.579  0.00  0.00            0
+ATOM     33    H   1     1       0.519   8.099  26.386  0.00  0.00            0
+ATOM     34    O   1     1       2.054   8.660  32.515  0.00  0.00            0
+ATOM     35    H   1     1       2.167   8.727  30.494  0.00  0.00            0
+ATOM     36    H   1     1       2.374  10.513  33.038  0.00  0.00            0
+ATOM     37    O   1     1       3.402  16.639   3.008  0.00  0.00            0
+ATOM     38    H   1     1       4.127  15.872   4.446  0.00  0.00            0
+ATOM     39    H   1     1       2.905  18.339   3.160  0.00  0.00            0
+ATOM     40    O   1     1       4.222  15.444   8.072  0.00  0.00            0
+ATOM     41    H   1     1       5.211  16.756   8.299  0.00  0.00            0
+ATOM     42    H   1     1       2.560  15.492   8.860  0.00  0.00            0
+ATOM     43    O   1     1       2.831   9.246  16.488  0.00  0.00            0
+ATOM     44    H   1     1       2.869   8.023  18.050  0.00  0.00            0
+ATOM     45    H   1     1       3.960   8.467  15.154  0.00  0.00            0
+ATOM     46    O   1     1       5.563   6.003  20.907  0.00  0.00            0
+ATOM     47    H   1     1       4.653   4.638  21.480  0.00  0.00            0
+ATOM     48    H   1     1       6.405   6.208  22.529  0.00  0.00            0
+ATOM     49    O   1     1       2.087  13.370  22.913  0.00  0.00            0
+ATOM     50    H   1     1       2.832  14.804  23.422  0.00  0.00            0
+ATOM     51    H   1     1       1.434  13.509  21.196  0.00  0.00            0
+ATOM     52    O   1     1       3.369  17.886  25.109  0.00  0.00            0
+ATOM     53    H   1     1       3.655  17.200  26.766  0.00  0.00            0
+ATOM     54    H   1     1       4.772  18.977  24.500  0.00  0.00            0
+ATOM     55    O   1     1      34.764  20.803   0.948  0.00  0.00            0
+ATOM     56    H   1     1      35.210  21.267   2.816  0.00  0.00            0
+ATOM     57    H   1     1      35.962  21.726   0.131  0.00  0.00            0
+ATOM     58    O   1     1       2.836  24.178  15.229  0.00  0.00            0
+ATOM     59    H   1     1       2.795  22.346  14.876  0.00  0.00            0
+ATOM     60    H   1     1       2.414  24.115  17.130  0.00  0.00            0
+ATOM     61    O   1     1      33.000  24.481  15.230  0.00  0.00            0
+ATOM     62    H   1     1      34.640  24.804  15.013  0.00  0.00            0
+ATOM     63    H   1     1      32.401  25.764  14.295  0.00  0.00            0
+ATOM     64    O   1     1       0.404  26.779  23.400  0.00  0.00            0
+ATOM     65    H   1     1       1.353  27.248  24.987  0.00  0.00            0
+ATOM     66    H   1     1       1.546  28.050  22.317  0.00  0.00            0
+ATOM     67    O   1     1      34.222  21.380  25.418  0.00  0.00            0
+ATOM     68    H   1     1      35.669  20.151  25.317  0.00  0.00            0
+ATOM     69    H   1     1      32.960  21.180  23.992  0.00  0.00            0
+ATOM     70    O   1     1      33.259  17.438  32.480  0.00  0.00            0
+ATOM     71    H   1     1      33.314  18.782  33.883  0.00  0.00            0
+ATOM     72    H   1     1      32.743  18.181  30.871  0.00  0.00            0
+ATOM     73    O   1     1       4.463  21.979   3.936  0.00  0.00            0
+ATOM     74    H   1     1       5.856  23.084   3.400  0.00  0.00            0
+ATOM     75    H   1     1       3.986  22.180   5.602  0.00  0.00            0
+ATOM     76    O   1     1       6.258  25.851   8.520  0.00  0.00            0
+ATOM     77    H   1     1       5.767  27.693   8.476  0.00  0.00            0
+ATOM     78    H   1     1       7.202  25.506  10.186  0.00  0.00            0
+ATOM     79    O   1     1       0.601  29.737  12.747  0.00  0.00            0
+ATOM     80    H   1     1      -0.685  30.842  12.350  0.00  0.00            0
+ATOM     81    H   1     1       1.336  30.716  14.031  0.00  0.00            0
+ATOM     82    O   1     1       7.563  28.191  24.333  0.00  0.00            0
+ATOM     83    H   1     1       9.201  28.828  24.684  0.00  0.00            0
+ATOM     84    H   1     1       7.381  27.621  22.799  0.00  0.00            0
+ATOM     85    O   1     1       3.653  27.109  27.772  0.00  0.00            0
+ATOM     86    H   1     1       5.126  27.015  26.772  0.00  0.00            0
+ATOM     87    H   1     1       3.031  28.756  27.698  0.00  0.00            0
+ATOM     88    O   1     1       2.596  23.991  32.476  0.00  0.00            0
+ATOM     89    H   1     1       2.879  24.791  30.859  0.00  0.00            0
+ATOM     90    H   1     1       4.003  22.913  32.701  0.00  0.00            0
+ATOM     91    O   1     1       3.083  31.317   3.644  0.00  0.00            0
+ATOM     92    H   1     1       4.133  30.589   2.539  0.00  0.00            0
+ATOM     93    H   1     1       4.218  32.173   5.037  0.00  0.00            0
+ATOM     94    O   1     1       4.661  30.555   9.368  0.00  0.00            0
+ATOM     95    H   1     1       3.184  29.843  10.132  0.00  0.00            0
+ATOM     96    H   1     1       4.358  32.448   9.126  0.00  0.00            0
+ATOM     97    O   1     1       3.465  32.537  15.778  0.00  0.00            0
+ATOM     98    H   1     1       5.072  31.819  15.903  0.00  0.00            0
+ATOM     99    H   1     1       4.055  34.257  15.284  0.00  0.00            0
+ATOM    100    O   1     1       4.215  29.153  20.317  0.00  0.00            0
+ATOM    101    H   1     1       3.658  30.176  18.842  0.00  0.00            0
+ATOM    102    H   1     1       4.959  30.291  21.449  0.00  0.00            0
+ATOM    103    O   1     1       1.126  31.333  28.768  0.00  0.00            0
+ATOM    104    H   1     1       2.395  31.124  29.925  0.00  0.00            0
+ATOM    105    H   1     1       0.768  33.092  28.898  0.00  0.00            0
+ATOM    106    O   1     1       4.881  32.616  32.302  0.00  0.00            0
+ATOM    107    H   1     1       6.588  32.911  31.725  0.00  0.00            0
+ATOM    108    H   1     1       4.486  34.037  33.249  0.00  0.00            0
+ATOM    109    O   1     1       8.962   5.556   0.151  0.00  0.00            0
+ATOM    110    H   1     1       9.652   6.991   0.859  0.00  0.00            0
+ATOM    111    H   1     1       9.173   4.477   1.645  0.00  0.00            0
+ATOM    112    O   1     1       1.833   3.518   5.679  0.00  0.00            0
+ATOM    113    H   1     1       2.889   2.731   6.788  0.00  0.00            0
+ATOM    114    H   1     1       2.789   4.187   4.147  0.00  0.00            0
+ATOM    115    O   1     1      10.510  34.726  13.073  0.00  0.00            0
+ATOM    116    H   1     1      11.920  34.118  11.919  0.00  0.00            0
+ATOM    117    H   1     1      11.295  34.968  14.741  0.00  0.00            0
+ATOM    118    O   1     1       7.212   0.042  22.454  0.00  0.00            0
+ATOM    119    H   1     1       6.924   0.470  24.172  0.00  0.00            0
+ATOM    120    H   1     1       8.319   1.228  21.653  0.00  0.00            0
+ATOM    121    O   1     1       6.365   2.010  27.544  0.00  0.00            0
+ATOM    122    H   1     1       5.954   3.585  26.852  0.00  0.00            0
+ATOM    123    H   1     1       7.758   2.549  28.696  0.00  0.00            0
+ATOM    124    O   1     1      10.833   3.140  30.787  0.00  0.00            0
+ATOM    125    H   1     1      12.697   2.975  30.867  0.00  0.00            0
+ATOM    126    H   1     1      10.389   3.700  32.404  0.00  0.00            0
+ATOM    127    O   1     1       8.684   9.342   3.912  0.00  0.00            0
+ATOM    128    H   1     1       6.985   9.256   4.773  0.00  0.00            0
+ATOM    129    H   1     1       8.684  10.809   3.011  0.00  0.00            0
+ATOM    130    O   1     1       4.873   9.919   7.707  0.00  0.00            0
+ATOM    131    H   1     1       3.698   9.771   6.194  0.00  0.00            0
+ATOM    132    H   1     1       5.047  11.961   7.624  0.00  0.00            0
+ATOM    133    O   1     1      10.031   5.018   9.699  0.00  0.00            0
+ATOM    134    H   1     1       9.675   3.382  10.340  0.00  0.00            0
+ATOM    135    H   1     1       9.132   5.987  10.825  0.00  0.00            0
+ATOM    136    O   1     1      11.246   3.918  21.929  0.00  0.00            0
+ATOM    137    H   1     1      12.614   2.770  22.341  0.00  0.00            0
+ATOM    138    H   1     1      12.073   5.686  21.497  0.00  0.00            0
+ATOM    139    O   1     1       6.825   7.164  25.708  0.00  0.00            0
+ATOM    140    H   1     1       8.036   8.374  25.980  0.00  0.00            0
+ATOM    141    H   1     1       5.206   7.900  25.891  0.00  0.00            0
+ATOM    142    O   1     1      10.171  12.811   0.295  0.00  0.00            0
+ATOM    143    H   1     1      10.033  12.818  -1.609  0.00  0.00            0
+ATOM    144    H   1     1       9.880  14.492   0.480  0.00  0.00            0
+ATOM    145    O   1     1       8.190  17.402   1.253  0.00  0.00            0
+ATOM    146    H   1     1       9.472  18.531   1.253  0.00  0.00            0
+ATOM    147    H   1     1       6.351  17.817   1.568  0.00  0.00            0
+ATOM    148    O   1     1      11.233  16.188   8.299  0.00  0.00            0
+ATOM    149    H   1     1      10.291  17.689   8.166  0.00  0.00            0
+ATOM    150    H   1     1      12.768  17.123   8.733  0.00  0.00            0
+ATOM    151    O   1     1       6.386   8.002  12.846  0.00  0.00            0
+ATOM    152    H   1     1       7.701   8.896  13.655  0.00  0.00            0
+ATOM    153    H   1     1       5.591   8.877  11.519  0.00  0.00            0
+ATOM    154    O   1     1       8.184  10.419  18.848  0.00  0.00            0
+ATOM    155    H   1     1       9.498   9.434  19.905  0.00  0.00            0
+ATOM    156    H   1     1       6.882   9.027  18.948  0.00  0.00            0
+ATOM    157    O   1     1      10.806  14.431  21.328  0.00  0.00            0
+ATOM    158    H   1     1       9.177  13.531  20.670  0.00  0.00            0
+ATOM    159    H   1     1      11.344  15.696  20.448  0.00  0.00            0
+ATOM    160    O   1     1       9.237  13.928  30.341  0.00  0.00            0
+ATOM    161    H   1     1      10.779  14.839  30.522  0.00  0.00            0
+ATOM    162    H   1     1       9.965  13.192  28.899  0.00  0.00            0
+ATOM    163    O   1     1      10.918  21.707   1.864  0.00  0.00            0
+ATOM    164    H   1     1      10.280  23.449   2.279  0.00  0.00            0
+ATOM    165    H   1     1      12.708  21.456   1.749  0.00  0.00            0
+ATOM    166    O   1     1       9.353  16.125  13.927  0.00  0.00            0
+ATOM    167    H   1     1       9.938  17.594  14.618  0.00  0.00            0
+ATOM    168    H   1     1       9.518  16.360  12.244  0.00  0.00            0
+ATOM    169    O   1     1      10.371  11.107  14.268  0.00  0.00            0
+ATOM    170    H   1     1       9.644  10.406  15.859  0.00  0.00            0
+ATOM    171    H   1     1       9.434  12.523  14.117  0.00  0.00            0
+ATOM    172    O   1     1       3.351  22.769  20.196  0.00  0.00            0
+ATOM    173    H   1     1       2.055  23.686  21.503  0.00  0.00            0
+ATOM    174    H   1     1       2.452  21.401  19.413  0.00  0.00            0
+ATOM    175    O   1     1       6.836  21.329  23.199  0.00  0.00            0
+ATOM    176    H   1     1       8.249  20.848  22.320  0.00  0.00            0
+ATOM    177    H   1     1       5.668  21.841  21.886  0.00  0.00            0
+ATOM    178    O   1     1       4.604  15.649  30.043  0.00  0.00            0
+ATOM    179    H   1     1       6.453  15.217  30.207  0.00  0.00            0
+ATOM    180    H   1     1       3.822  14.762  31.562  0.00  0.00            0
+ATOM    181    O   1     1       7.125  19.976   9.421  0.00  0.00            0
+ATOM    182    H   1     1       5.918  20.453  10.730  0.00  0.00            0
+ATOM    183    H   1     1       8.099  21.496   9.491  0.00  0.00            0
+ATOM    184    O   1     1       9.063  25.912  13.186  0.00  0.00            0
+ATOM    185    H   1     1      10.350  26.572  12.367  0.00  0.00            0
+ATOM    186    H   1     1       9.680  24.367  13.697  0.00  0.00            0
+ATOM    187    O   1     1       8.022  22.343  17.042  0.00  0.00            0
+ATOM    188    H   1     1       9.144  23.367  18.074  0.00  0.00            0
+ATOM    189    H   1     1       6.562  23.462  16.852  0.00  0.00            0
+ATOM    190    O   1     1      10.762  26.285  19.963  0.00  0.00            0
+ATOM    191    H   1     1      11.036  27.966  20.538  0.00  0.00            0
+ATOM    192    H   1     1      11.078  25.401  21.456  0.00  0.00            0
+ATOM    193    O   1     1       9.158  22.902  28.391  0.00  0.00            0
+ATOM    194    H   1     1       8.219  23.528  27.085  0.00  0.00            0
+ATOM    195    H   1     1       8.089  21.760  29.509  0.00  0.00            0
+ATOM    196    O   1     1       6.219  20.158  31.921  0.00  0.00            0
+ATOM    197    H   1     1       5.635  18.511  31.161  0.00  0.00            0
+ATOM    198    H   1     1       7.530  19.624  33.071  0.00  0.00            0
+ATOM    199    O   1     1      11.191  31.509   2.617  0.00  0.00            0
+ATOM    200    H   1     1      10.460  32.214   4.108  0.00  0.00            0
+ATOM    201    H   1     1      13.176  31.751   2.577  0.00  0.00            0
+ATOM    202    O   1     1       4.748   0.055   8.605  0.00  0.00            0
+ATOM    203    H   1     1       5.380   0.517  10.183  0.00  0.00            0
+ATOM    204    H   1     1       6.050  -0.306   7.480  0.00  0.00            0
+ATOM    205    O   1     1       8.695  30.809  15.731  0.00  0.00            0
+ATOM    206    H   1     1       9.189  32.103  14.495  0.00  0.00            0
+ATOM    207    H   1     1       8.447  29.069  14.868  0.00  0.00            0
+ATOM    208    O   1     1      10.128  31.402  20.766  0.00  0.00            0
+ATOM    209    H   1     1       9.456  30.905  19.155  0.00  0.00            0
+ATOM    210    H   1     1       9.020  32.731  21.415  0.00  0.00            0
+ATOM    211    O   1     1      12.238  30.162  25.837  0.00  0.00            0
+ATOM    212    H   1     1      11.418  30.908  27.110  0.00  0.00            0
+ATOM    213    H   1     1      12.396  31.331  24.678  0.00  0.00            0
+ATOM    214    O   1     1      10.395  32.537  30.624  0.00  0.00            0
+ATOM    215    H   1     1      11.042  34.339  30.751  0.00  0.00            0
+ATOM    216    H   1     1      11.378  31.486  31.538  0.00  0.00            0
+ATOM    217    O   1     1      10.438   3.626   5.087  0.00  0.00            0
+ATOM    218    H   1     1      12.435   4.082   5.136  0.00  0.00            0
+ATOM    219    H   1     1       9.822   4.284   6.681  0.00  0.00            0
+ATOM    220    O   1     1      14.762   3.401  13.776  0.00  0.00            0
+ATOM    221    H   1     1      16.518   3.824  13.376  0.00  0.00            0
+ATOM    222    H   1     1      13.752   4.757  12.964  0.00  0.00            0
+ATOM    223    O   1     1      12.382   1.012  17.643  0.00  0.00            0
+ATOM    224    H   1     1      13.346   1.997  16.444  0.00  0.00            0
+ATOM    225    H   1     1      11.931   2.133  18.998  0.00  0.00            0
+ATOM    226    O   1     1      15.278   1.293  24.559  0.00  0.00            0
+ATOM    227    H   1     1      16.071   0.946  26.365  0.00  0.00            0
+ATOM    228    H   1     1      15.794   0.199  23.499  0.00  0.00            0
+ATOM    229    O   1     1      22.226  31.627  24.712  0.00  0.00            0
+ATOM    230    H   1     1      23.338  32.595  23.876  0.00  0.00            0
+ATOM    231    H   1     1      22.161  30.053  24.132  0.00  0.00            0
+ATOM    232    O   1     1      15.640   1.847  32.717  0.00  0.00            0
+ATOM    233    H   1     1      17.488   2.473  31.874  0.00  0.00            0
+ATOM    234    H   1     1      16.403   0.869  34.267  0.00  0.00            0
+ATOM    235    O   1     1      14.858  10.199   2.754  0.00  0.00            0
+ATOM    236    H   1     1      13.360  10.712   2.282  0.00  0.00            0
+ATOM    237    H   1     1      14.560   9.316   4.559  0.00  0.00            0
+ATOM    238    O   1     1      15.717   8.469  10.739  0.00  0.00            0
+ATOM    239    H   1     1      17.323   9.581  10.875  0.00  0.00            0
+ATOM    240    H   1     1      14.574   9.631  10.221  0.00  0.00            0
+ATOM    241    O   1     1      15.248  10.398  16.525  0.00  0.00            0
+ATOM    242    H   1     1      16.324   9.181  16.149  0.00  0.00            0
+ATOM    243    H   1     1      14.172  10.488  15.098  0.00  0.00            0
+ATOM    244    O   1     1      13.226   8.438  20.801  0.00  0.00            0
+ATOM    245    H   1     1      14.043   8.996  19.295  0.00  0.00            0
+ATOM    246    H   1     1      14.661   7.802  22.093  0.00  0.00            0
+ATOM    247    O   1     1      10.173  10.961  25.875  0.00  0.00            0
+ATOM    248    H   1     1      11.477  10.223  26.940  0.00  0.00            0
+ATOM    249    H   1     1      11.269  10.738  24.343  0.00  0.00            0
+ATOM    250    O   1     1      12.792   7.737  29.173  0.00  0.00            0
+ATOM    251    H   1     1      12.199   6.038  29.475  0.00  0.00            0
+ATOM    252    H   1     1      14.427   7.450  29.617  0.00  0.00            0
+ATOM    253    O   1     1      15.180  19.498   3.578  0.00  0.00            0
+ATOM    254    H   1     1      14.883  17.596   4.080  0.00  0.00            0
+ATOM    255    H   1     1      16.754  19.579   2.626  0.00  0.00            0
+ATOM    256    O   1     1      12.517  11.093   7.701  0.00  0.00            0
+ATOM    257    H   1     1      12.224  12.778   7.555  0.00  0.00            0
+ATOM    258    H   1     1      11.150  10.393   7.057  0.00  0.00            0
+ATOM    259    O   1     1      16.266  16.271  10.758  0.00  0.00            0
+ATOM    260    H   1     1      16.507  15.795  12.768  0.00  0.00            0
+ATOM    261    H   1     1      17.725  16.977  10.292  0.00  0.00            0
+ATOM    262    O   1     1      14.069  18.399  18.897  0.00  0.00            0
+ATOM    263    H   1     1      15.513  17.523  18.155  0.00  0.00            0
+ATOM    264    H   1     1      14.958  18.709  20.673  0.00  0.00            0
+ATOM    265    O   1     1      14.099  15.480  25.510  0.00  0.00            0
+ATOM    266    H   1     1      13.698  16.872  26.938  0.00  0.00            0
+ATOM    267    H   1     1      12.567  15.379  24.444  0.00  0.00            0
+ATOM    268    O   1     1      13.309  17.574  30.292  0.00  0.00            0
+ATOM    269    H   1     1      14.937  16.934  30.810  0.00  0.00            0
+ATOM    270    H   1     1      13.969  19.494  30.012  0.00  0.00            0
+ATOM    271    O   1     1      18.371  23.257   0.925  0.00  0.00            0
+ATOM    272    H   1     1      19.479  23.480   2.321  0.00  0.00            0
+ATOM    273    H   1     1      19.087  24.325  -0.369  0.00  0.00            0
+ATOM    274    O   1     1      12.100  21.730  11.355  0.00  0.00            0
+ATOM    275    H   1     1      13.141  22.287  12.743  0.00  0.00            0
+ATOM    276    H   1     1      13.467  22.236  10.244  0.00  0.00            0
+ATOM    277    O   1     1      12.163  23.290  23.597  0.00  0.00            0
+ATOM    278    H   1     1      11.324  22.736  24.949  0.00  0.00            0
+ATOM    279    H   1     1      13.882  22.872  23.840  0.00  0.00            0
+ATOM    280    O   1     1      20.173  26.761  22.628  0.00  0.00            0
+ATOM    281    H   1     1      20.206  26.532  20.792  0.00  0.00            0
+ATOM    282    H   1     1      21.556  25.742  23.389  0.00  0.00            0
+ATOM    283    O   1     1      16.701  21.165  22.605  0.00  0.00            0
+ATOM    284    H   1     1      18.028  20.686  23.848  0.00  0.00            0
+ATOM    285    H   1     1      17.104  22.866  21.949  0.00  0.00            0
+ATOM    286    O   1     1      11.391  26.461  33.705  0.00  0.00            0
+ATOM    287    H   1     1       9.841  27.192  34.048  0.00  0.00            0
+ATOM    288    H   1     1      11.776  25.540  35.243  0.00  0.00            0
+ATOM    289    O   1     1       9.898  25.989   4.553  0.00  0.00            0
+ATOM    290    H   1     1       8.902  26.131   6.039  0.00  0.00            0
+ATOM    291    H   1     1      10.287  27.806   4.376  0.00  0.00            0
+ATOM    292    O   1     1      14.308  26.960  10.877  0.00  0.00            0
+ATOM    293    H   1     1      15.302  27.405  12.173  0.00  0.00            0
+ATOM    294    H   1     1      15.463  26.151   9.633  0.00  0.00            0
+ATOM    295    O   1     1      13.433  22.960  16.904  0.00  0.00            0
+ATOM    296    H   1     1      13.409  24.131  18.132  0.00  0.00            0
+ATOM    297    H   1     1      13.624  21.191  17.520  0.00  0.00            0
+ATOM    298    O   1     1      16.409  26.768  26.875  0.00  0.00            0
+ATOM    299    H   1     1      17.590  26.987  25.431  0.00  0.00            0
+ATOM    300    H   1     1      14.751  27.703  26.230  0.00  0.00            0
+ATOM    301    O   1     1      14.405  22.733  29.892  0.00  0.00            0
+ATOM    302    H   1     1      15.423  23.079  28.494  0.00  0.00            0
+ATOM    303    H   1     1      12.826  23.259  29.416  0.00  0.00            0
+ATOM    304    O   1     1       6.905  29.408   0.749  0.00  0.00            0
+ATOM    305    H   1     1       8.428  30.483   1.567  0.00  0.00            0
+ATOM    306    H   1     1       6.353  30.814  -0.444  0.00  0.00            0
+ATOM    307    O   1     1       9.189  34.159   6.509  0.00  0.00            0
+ATOM    308    H   1     1      10.198  34.193   8.002  0.00  0.00            0
+ATOM    309    H   1     1       9.890  35.692   5.785  0.00  0.00            0
+ATOM    310    O   1     1      14.256  32.316   9.369  0.00  0.00            0
+ATOM    311    H   1     1      15.733  32.867   9.486  0.00  0.00            0
+ATOM    312    H   1     1      14.754  30.670  10.090  0.00  0.00            0
+ATOM    313    O   1     1      14.714  30.841  16.516  0.00  0.00            0
+ATOM    314    H   1     1      13.748  29.551  17.279  0.00  0.00            0
+ATOM    315    H   1     1      13.218  31.933  16.614  0.00  0.00            0
+ATOM    316    O   1     1      18.409  33.641  20.611  0.00  0.00            0
+ATOM    317    H   1     1      19.601  32.274  21.115  0.00  0.00            0
+ATOM    318    H   1     1      17.360  32.655  19.518  0.00  0.00            0
+ATOM    319    O   1     1      16.062  28.638  32.207  0.00  0.00            0
+ATOM    320    H   1     1      14.648  27.958  33.253  0.00  0.00            0
+ATOM    321    H   1     1      15.752  28.014  30.522  0.00  0.00            0
+ATOM    322    O   1     1      16.200  30.895   1.473  0.00  0.00            0
+ATOM    323    H   1     1      16.626  29.968  -0.130  0.00  0.00            0
+ATOM    324    H   1     1      17.167  29.833   2.927  0.00  0.00            0
+ATOM    325    O   1     1      20.278   3.529   6.048  0.00  0.00            0
+ATOM    326    H   1     1      20.977   3.611   4.575  0.00  0.00            0
+ATOM    327    H   1     1      21.312   4.513   7.251  0.00  0.00            0
+ATOM    328    O   1     1      23.079   5.778  10.408  0.00  0.00            0
+ATOM    329    H   1     1      24.650   6.259  10.838  0.00  0.00            0
+ATOM    330    H   1     1      22.342   7.609  10.178  0.00  0.00            0
+ATOM    331    O   1     1      19.581   2.031  12.110  0.00  0.00            0
+ATOM    332    H   1     1      19.039   1.082  10.440  0.00  0.00            0
+ATOM    333    H   1     1      21.141   2.991  11.851  0.00  0.00            0
+ATOM    334    O   1     1      22.005   3.223  23.178  0.00  0.00            0
+ATOM    335    H   1     1      21.429   4.090  24.554  0.00  0.00            0
+ATOM    336    H   1     1      20.654   1.791  22.711  0.00  0.00            0
+ATOM    337    O   1     1      16.630   6.422  23.792  0.00  0.00            0
+ATOM    338    H   1     1      16.219   4.804  24.406  0.00  0.00            0
+ATOM    339    H   1     1      17.066   7.128  25.282  0.00  0.00            0
+ATOM    340    O   1     1      21.676   5.564  28.158  0.00  0.00            0
+ATOM    341    H   1     1      20.658   6.717  29.185  0.00  0.00            0
+ATOM    342    H   1     1      23.413   5.828  28.996  0.00  0.00            0
+ATOM    343    O   1     1      15.257   5.265   5.626  0.00  0.00            0
+ATOM    344    H   1     1      16.914   4.519   5.490  0.00  0.00            0
+ATOM    345    H   1     1      15.144   6.150   6.972  0.00  0.00            0
+ATOM    346    O   1     1      20.137  11.082  10.437  0.00  0.00            0
+ATOM    347    H   1     1      20.021  10.947   8.733  0.00  0.00            0
+ATOM    348    H   1     1      21.025  12.555  10.853  0.00  0.00            0
+ATOM    349    O   1     1      23.089  14.627  12.437  0.00  0.00            0
+ATOM    350    H   1     1      24.716  15.254  12.736  0.00  0.00            0
+ATOM    351    H   1     1      23.284  13.228  13.653  0.00  0.00            0
+ATOM    352    O   1     1      24.083  12.649  22.566  0.00  0.00            0
+ATOM    353    H   1     1      22.397  12.663  23.042  0.00  0.00            0
+ATOM    354    H   1     1      24.901  13.851  23.565  0.00  0.00            0
+ATOM    355    O   1     1      17.865   7.909  30.036  0.00  0.00            0
+ATOM    356    H   1     1      17.509   8.045  31.982  0.00  0.00            0
+ATOM    357    H   1     1      18.078   9.582  29.318  0.00  0.00            0
+ATOM    358    O   1     1      18.824   8.486   0.104  0.00  0.00            0
+ATOM    359    H   1     1      19.997  10.191  -0.057  0.00  0.00            0
+ATOM    360    H   1     1      17.077   8.998   0.779  0.00  0.00            0
+ATOM    361    O   1     1      20.122   9.143   5.343  0.00  0.00            0
+ATOM    362    H   1     1      19.373   8.819   3.821  0.00  0.00            0
+ATOM    363    H   1     1      21.998   8.776   5.128  0.00  0.00            0
+ATOM    364    O   1     1      16.413  14.459   5.855  0.00  0.00            0
+ATOM    365    H   1     1      15.536  13.007   5.239  0.00  0.00            0
+ATOM    366    H   1     1      16.006  14.725   7.737  0.00  0.00            0
+ATOM    367    O   1     1      17.561  15.066  15.654  0.00  0.00            0
+ATOM    368    H   1     1      17.575  13.398  16.055  0.00  0.00            0
+ATOM    369    H   1     1      18.978  15.828  16.400  0.00  0.00            0
+ATOM    370    O   1     1      26.374  17.047  24.817  0.00  0.00            0
+ATOM    371    H   1     1      27.983  17.098  25.632  0.00  0.00            0
+ATOM    372    H   1     1      25.629  18.751  24.919  0.00  0.00            0
+ATOM    373    O   1     1      19.784  12.960  28.706  0.00  0.00            0
+ATOM    374    H   1     1      21.662  13.055  28.871  0.00  0.00            0
+ATOM    375    H   1     1      19.545  14.070  27.143  0.00  0.00            0
+ATOM    376    O   1     1      17.891  16.733  32.499  0.00  0.00            0
+ATOM    377    H   1     1      18.327  15.240  31.277  0.00  0.00            0
+ATOM    378    H   1     1      18.633  18.335  31.693  0.00  0.00            0
+ATOM    379    O   1     1      23.733  23.024   1.663  0.00  0.00            0
+ATOM    380    H   1     1      24.800  24.052   2.776  0.00  0.00            0
+ATOM    381    H   1     1      24.693  22.618   0.198  0.00  0.00            0
+ATOM    382    O   1     1      20.789  18.440   9.443  0.00  0.00            0
+ATOM    383    H   1     1      20.766  17.257   7.881  0.00  0.00            0
+ATOM    384    H   1     1      21.896  17.345  10.385  0.00  0.00            0
+ATOM    385    O   1     1      21.574  17.493  17.838  0.00  0.00            0
+ATOM    386    H   1     1      20.597  18.955  17.218  0.00  0.00            0
+ATOM    387    H   1     1      22.538  16.874  16.251  0.00  0.00            0
+ATOM    388    O   1     1      19.168  14.748  24.131  0.00  0.00            0
+ATOM    389    H   1     1      19.711  16.390  23.712  0.00  0.00            0
+ATOM    390    H   1     1      17.429  14.695  24.403  0.00  0.00            0
+ATOM    391    O   1     1      22.149  20.198  24.977  0.00  0.00            0
+ATOM    392    H   1     1      21.639  20.924  26.486  0.00  0.00            0
+ATOM    393    H   1     1      22.656  21.657  24.411  0.00  0.00            0
+ATOM    394    O   1     1      20.565  20.792  29.600  0.00  0.00            0
+ATOM    395    H   1     1      22.264  20.409  30.214  0.00  0.00            0
+ATOM    396    H   1     1      20.548  22.408  30.597  0.00  0.00            0
+ATOM    397    O   1     1      20.802  26.547   9.615  0.00  0.00            0
+ATOM    398    H   1     1      20.099  27.984   8.338  0.00  0.00            0
+ATOM    399    H   1     1      21.277  27.539  11.325  0.00  0.00            0
+ATOM    400    O   1     1      16.283  23.589   7.779  0.00  0.00            0
+ATOM    401    H   1     1      16.093  21.973   6.712  0.00  0.00            0
+ATOM    402    H   1     1      17.901  22.971   8.154  0.00  0.00            0
+ATOM    403    O   1     1      18.469  29.798  13.568  0.00  0.00            0
+ATOM    404    H   1     1      19.712  31.216  13.506  0.00  0.00            0
+ATOM    405    H   1     1      16.872  30.343  14.396  0.00  0.00            0
+ATOM    406    O   1     1      18.790  21.712  16.060  0.00  0.00            0
+ATOM    407    H   1     1      19.878  23.090  16.485  0.00  0.00            0
+ATOM    408    H   1     1      17.201  22.326  15.819  0.00  0.00            0
+ATOM    409    O   1     1      21.747  26.084  16.349  0.00  0.00            0
+ATOM    410    H   1     1      20.783  27.021  15.300  0.00  0.00            0
+ATOM    411    H   1     1      22.705  27.328  17.206  0.00  0.00            0
+ATOM    412    O   1     1      20.769  26.211  32.050  0.00  0.00            0
+ATOM    413    H   1     1      21.488  27.404  33.328  0.00  0.00            0
+ATOM    414    H   1     1      18.989  26.710  32.145  0.00  0.00            0
+ATOM    415    O   1     1      19.820  29.181   5.559  0.00  0.00            0
+ATOM    416    H   1     1      20.991  29.509   4.109  0.00  0.00            0
+ATOM    417    H   1     1      19.431  31.018   6.221  0.00  0.00            0
+ATOM    418    O   1     1      19.240  33.867   7.993  0.00  0.00            0
+ATOM    419    H   1     1      19.107  35.039   6.604  0.00  0.00            0
+ATOM    420    H   1     1      20.697  33.671   9.063  0.00  0.00            0
+ATOM    421    O   1     1      22.511  34.976  15.793  0.00  0.00            0
+ATOM    422    H   1     1      23.716  36.163  16.603  0.00  0.00            0
+ATOM    423    H   1     1      21.699  36.150  14.467  0.00  0.00            0
+ATOM    424    O   1     1      22.622  30.284  19.069  0.00  0.00            0
+ATOM    425    H   1     1      22.049  31.351  17.725  0.00  0.00            0
+ATOM    426    H   1     1      24.411  30.773  19.576  0.00  0.00            0
+ATOM    427    O   1     1      18.639  33.611  28.369  0.00  0.00            0
+ATOM    428    H   1     1      18.226  32.159  29.103  0.00  0.00            0
+ATOM    429    H   1     1      19.906  33.008  27.158  0.00  0.00            0
+ATOM    430    O   1     1      22.520   1.325  31.926  0.00  0.00            0
+ATOM    431    H   1     1      22.803   2.668  30.796  0.00  0.00            0
+ATOM    432    H   1     1      21.045   0.425  31.122  0.00  0.00            0
+ATOM    433    O   1     1      21.754   3.789   1.159  0.00  0.00            0
+ATOM    434    H   1     1      22.085   2.785  -0.180  0.00  0.00            0
+ATOM    435    H   1     1      20.850   5.175   0.610  0.00  0.00            0
+ATOM    436    O   1     1      28.457   5.539  12.133  0.00  0.00            0
+ATOM    437    H   1     1      29.489   4.390  11.182  0.00  0.00            0
+ATOM    438    H   1     1      29.161   7.131  12.587  0.00  0.00            0
+ATOM    439    O   1     1      22.495   5.966  17.324  0.00  0.00            0
+ATOM    440    H   1     1      24.377   5.379  17.393  0.00  0.00            0
+ATOM    441    H   1     1      21.906   5.491  18.857  0.00  0.00            0
+ATOM    442    O   1     1      28.128   3.304  22.287  0.00  0.00            0
+ATOM    443    H   1     1      28.123   2.999  20.491  0.00  0.00            0
+ATOM    444    H   1     1      26.533   3.355  22.876  0.00  0.00            0
+ATOM    445    O   1     1      28.378  10.455  27.266  0.00  0.00            0
+ATOM    446    H   1     1      30.019  10.292  28.051  0.00  0.00            0
+ATOM    447    H   1     1      28.635  10.039  25.463  0.00  0.00            0
+ATOM    448    O   1     1      27.031   8.353  34.806  0.00  0.00            0
+ATOM    449    H   1     1      26.116   9.984  34.571  0.00  0.00            0
+ATOM    450    H   1     1      28.685   8.951  34.739  0.00  0.00            0
+ATOM    451    O   1     1      24.951   8.160   4.454  0.00  0.00            0
+ATOM    452    H   1     1      25.930   9.616   5.160  0.00  0.00            0
+ATOM    453    H   1     1      25.947   7.994   2.724  0.00  0.00            0
+ATOM    454    O   1     1      26.937  12.436   6.869  0.00  0.00            0
+ATOM    455    H   1     1      25.492  13.284   6.708  0.00  0.00            0
+ATOM    456    H   1     1      27.689  13.332   8.266  0.00  0.00            0
+ATOM    457    O   1     1      23.365  11.214  16.933  0.00  0.00            0
+ATOM    458    H   1     1      22.247   9.744  16.789  0.00  0.00            0
+ATOM    459    H   1     1      23.264  12.035  18.539  0.00  0.00            0
+ATOM    460    O   1     1      28.321   8.759  22.158  0.00  0.00            0
+ATOM    461    H   1     1      27.662   6.895  22.482  0.00  0.00            0
+ATOM    462    H   1     1      26.971   9.710  21.902  0.00  0.00            0
+ATOM    463    O   1     1      27.071   6.109  29.555  0.00  0.00            0
+ATOM    464    H   1     1      27.591   7.663  28.857  0.00  0.00            0
+ATOM    465    H   1     1      27.304   6.320  31.261  0.00  0.00            0
+ATOM    466    O   1     1      22.474  11.704  34.640  0.00  0.00            0
+ATOM    467    H   1     1      22.752  13.304  35.584  0.00  0.00            0
+ATOM    468    H   1     1      22.840  12.090  33.030  0.00  0.00            0
+ATOM    469    O   1     1      21.656  14.971   5.615  0.00  0.00            0
+ATOM    470    H   1     1      21.690  15.860   3.977  0.00  0.00            0
+ATOM    471    H   1     1      19.964  14.225   5.774  0.00  0.00            0
+ATOM    472    O   1     1      28.539  21.492   9.820  0.00  0.00            0
+ATOM    473    H   1     1      27.288  22.181   8.688  0.00  0.00            0
+ATOM    474    H   1     1      28.065  22.420  11.602  0.00  0.00            0
+ATOM    475    O   1     1      28.364  16.020  11.109  0.00  0.00            0
+ATOM    476    H   1     1      30.033  16.649  12.089  0.00  0.00            0
+ATOM    477    H   1     1      28.456  17.440  10.082  0.00  0.00            0
+ATOM    478    O   1     1       0.054  13.686  18.103  0.00  0.00            0
+ATOM    479    H   1     1      -1.714  12.928  18.841  0.00  0.00            0
+ATOM    480    H   1     1       1.008  12.429  17.383  0.00  0.00            0
+ATOM    481    O   1     1      24.636  12.894  29.957  0.00  0.00            0
+ATOM    482    H   1     1      25.906  13.914  31.183  0.00  0.00            0
+ATOM    483    H   1     1      25.641  11.609  29.162  0.00  0.00            0
+ATOM    484    O   1     1      21.548  17.250   0.749  0.00  0.00            0
+ATOM    485    H   1     1      21.843  19.026   0.905  0.00  0.00            0
+ATOM    486    H   1     1      20.385  16.716  -0.697  0.00  0.00            0
+ATOM    487    O   1     1      26.095  27.274   4.520  0.00  0.00            0
+ATOM    488    H   1     1      27.889  26.458   4.505  0.00  0.00            0
+ATOM    489    H   1     1      25.648  26.970   6.165  0.00  0.00            0
+ATOM    490    O   1     1      23.610  22.515   8.008  0.00  0.00            0
+ATOM    491    H   1     1      22.653  21.187   8.739  0.00  0.00            0
+ATOM    492    H   1     1      22.286  24.095   8.444  0.00  0.00            0
+ATOM    493    O   1     1      27.355  18.929  18.180  0.00  0.00            0
+ATOM    494    H   1     1      27.200  20.349  17.155  0.00  0.00            0
+ATOM    495    H   1     1      25.579  18.322  18.770  0.00  0.00            0
+ATOM    496    O   1     1      26.765  23.633  14.444  0.00  0.00            0
+ATOM    497    H   1     1      27.441  25.298  13.651  0.00  0.00            0
+ATOM    498    H   1     1      25.086  24.256  14.749  0.00  0.00            0
+ATOM    499    O   1     1      31.478  20.769  20.986  0.00  0.00            0
+ATOM    500    H   1     1      30.440  22.509  21.135  0.00  0.00            0
+ATOM    501    H   1     1      30.567  19.656  20.043  0.00  0.00            0
+ATOM    502    O   1     1      24.812  20.412  32.668  0.00  0.00            0
+ATOM    503    H   1     1      26.242  21.478  31.874  0.00  0.00            0
+ATOM    504    H   1     1      25.787  19.023  33.158  0.00  0.00            0
+ATOM    505    O   1     1      22.105  29.076   0.928  0.00  0.00            0
+ATOM    506    H   1     1      23.296  27.923   1.739  0.00  0.00            0
+ATOM    507    H   1     1      22.623  30.994   0.882  0.00  0.00            0
+ATOM    508    O   1     1      29.572  31.256   8.626  0.00  0.00            0
+ATOM    509    H   1     1      30.795  30.203   7.736  0.00  0.00            0
+ATOM    510    H   1     1      28.277  31.519   7.260  0.00  0.00            0
+ATOM    511    O   1     1      31.817  34.843  18.283  0.00  0.00            0
+ATOM    512    H   1     1      32.438  34.389  16.474  0.00  0.00            0
+ATOM    513    H   1     1      32.743  36.422  18.341  0.00  0.00            0
+ATOM    514    O   1     1      27.915  25.601  19.033  0.00  0.00            0
+ATOM    515    H   1     1      29.358  26.561  19.190  0.00  0.00            0
+ATOM    516    H   1     1      28.148  24.429  17.530  0.00  0.00            0
+ATOM    517    O   1     1      24.548  24.654  24.025  0.00  0.00            0
+ATOM    518    H   1     1      25.528  25.635  22.824  0.00  0.00            0
+ATOM    519    H   1     1      25.300  25.200  25.645  0.00  0.00            0
+ATOM    520    O   1     1      28.540  22.922  30.370  0.00  0.00            0
+ATOM    521    H   1     1      27.414  24.096  29.781  0.00  0.00            0
+ATOM    522    H   1     1      29.674  23.914  31.873  0.00  0.00            0
+ATOM    523    O   1     1      24.969  33.623   1.014  0.00  0.00            0
+ATOM    524    H   1     1      26.521  33.058   1.518  0.00  0.00            0
+ATOM    525    H   1     1      24.990  34.322  -0.683  0.00  0.00            0
+ATOM    526    O   1     1      23.075  32.171  11.324  0.00  0.00            0
+ATOM    527    H   1     1      23.316  32.775  13.097  0.00  0.00            0
+ATOM    528    H   1     1      24.460  33.203  10.662  0.00  0.00            0
+ATOM    529    O   1     1      27.497   2.736  17.224  0.00  0.00            0
+ATOM    530    H   1     1      28.397   3.415  15.715  0.00  0.00            0
+ATOM    531    H   1     1      28.234   1.233  17.412  0.00  0.00            0
+ATOM    532    O   1     1      26.369  33.060  22.077  0.00  0.00            0
+ATOM    533    H   1     1      26.170  34.746  22.264  0.00  0.00            0
+ATOM    534    H   1     1      27.592  32.404  23.321  0.00  0.00            0
+ATOM    535    O   1     1      30.221  30.950  25.843  0.00  0.00            0
+ATOM    536    H   1     1      30.305  29.038  26.208  0.00  0.00            0
+ATOM    537    H   1     1      30.363  31.979  27.414  0.00  0.00            0
+ATOM    538    O   1     1      24.973  26.732  28.607  0.00  0.00            0
+ATOM    539    H   1     1      25.385  28.369  29.248  0.00  0.00            0
+ATOM    540    H   1     1      23.330  26.597  29.234  0.00  0.00            0
+ATOM    541    O   1     1      32.165   4.857   2.258  0.00  0.00            0
+ATOM    542    H   1     1      32.417   6.195   1.157  0.00  0.00            0
+ATOM    543    H   1     1      32.615   3.727   1.112  0.00  0.00            0
+ATOM    544    O   1     1      28.067   3.533   5.217  0.00  0.00            0
+ATOM    545    H   1     1      26.960   4.447   4.158  0.00  0.00            0
+ATOM    546    H   1     1      29.875   3.863   4.448  0.00  0.00            0
+ATOM    547    O   1     1      33.279   2.782  13.028  0.00  0.00            0
+ATOM    548    H   1     1      33.708   3.955  11.817  0.00  0.00            0
+ATOM    549    H   1     1      33.656   3.545  14.631  0.00  0.00            0
+ATOM    550    O   1     1      34.278   4.944  17.492  0.00  0.00            0
+ATOM    551    H   1     1      33.438   6.563  17.876  0.00  0.00            0
+ATOM    552    H   1     1      34.906   4.452  18.995  0.00  0.00            0
+ATOM    553    O   1     1      32.363   1.908  26.092  0.00  0.00            0
+ATOM    554    H   1     1      31.941   1.683  24.268  0.00  0.00            0
+ATOM    555    H   1     1      33.850   1.390  26.904  0.00  0.00            0
+ATOM    556    O   1     1      27.982   0.418  28.241  0.00  0.00            0
+ATOM    557    H   1     1      27.516   2.080  28.309  0.00  0.00            0
+ATOM    558    H   1     1      29.593   0.176  27.299  0.00  0.00            0
+ATOM    559    O   1     1      28.845  14.672   2.724  0.00  0.00            0
+ATOM    560    H   1     1      27.963  13.930   4.139  0.00  0.00            0
+ATOM    561    H   1     1      30.386  15.714   3.379  0.00  0.00            0
+ATOM    562    O   1     1      28.083  10.618  14.298  0.00  0.00            0
+ATOM    563    H   1     1      28.623  12.160  13.293  0.00  0.00            0
+ATOM    564    H   1     1      26.486  11.015  15.379  0.00  0.00            0
+ATOM    565    O   1     1      33.867  10.545  13.306  0.00  0.00            0
+ATOM    566    H   1     1      35.165   9.612  13.810  0.00  0.00            0
+ATOM    567    H   1     1      33.615  10.270  11.513  0.00  0.00            0
+ATOM    568    O   1     1      31.790   9.696  18.223  0.00  0.00            0
+ATOM    569    H   1     1      30.484   9.334  19.421  0.00  0.00            0
+ATOM    570    H   1     1      30.834  10.096  16.929  0.00  0.00            0
+ATOM    571    O   1     1      30.141  15.006  21.532  0.00  0.00            0
+ATOM    572    H   1     1      28.565  15.594  22.099  0.00  0.00            0
+ATOM    573    H   1     1      30.942  14.253  23.077  0.00  0.00            0
+ATOM    574    O   1     1      32.798  10.732  30.680  0.00  0.00            0
+ATOM    575    H   1     1      34.073   9.528  30.799  0.00  0.00            0
+ATOM    576    H   1     1      32.991  11.512  28.983  0.00  0.00            0
+ATOM    577    O   1     1      33.652  16.265   5.086  0.00  0.00            0
+ATOM    578    H   1     1      35.399  16.239   4.730  0.00  0.00            0
+ATOM    579    H   1     1      33.503  17.939   5.631  0.00  0.00            0
+ATOM    580    O   1     1      31.947  10.799   7.943  0.00  0.00            0
+ATOM    581    H   1     1      29.894  10.549   7.619  0.00  0.00            0
+ATOM    582    H   1     1      32.271  12.414   7.075  0.00  0.00            0
+ATOM    583    O   1     1       0.329  15.516  11.746  0.00  0.00            0
+ATOM    584    H   1     1      -0.446  14.249  12.939  0.00  0.00            0
+ATOM    585    H   1     1      -0.685  17.018  11.935  0.00  0.00            0
+ATOM    586    O   1     1       4.262  19.165  14.308  0.00  0.00            0
+ATOM    587    H   1     1       3.579  17.691  14.920  0.00  0.00            0
+ATOM    588    H   1     1       5.723  19.183  15.204  0.00  0.00            0
+ATOM    589    O   1     1      32.995  13.546  25.948  0.00  0.00            0
+ATOM    590    H   1     1      32.167  15.060  26.787  0.00  0.00            0
+ATOM    591    H   1     1      34.425  13.800  25.007  0.00  0.00            0
+ATOM    592    O   1     1       1.773  13.524  34.037  0.00  0.00            0
+ATOM    593    H   1     1       0.227  14.409  33.446  0.00  0.00            0
+ATOM    594    H   1     1       2.167  14.670  35.511  0.00  0.00            0
+ATOM    595    O   1     1      33.029  20.529   7.247  0.00  0.00            0
+ATOM    596    H   1     1      34.388  21.414   8.003  0.00  0.00            0
+ATOM    597    H   1     1      31.451  20.831   8.182  0.00  0.00            0
+ATOM    598    O   1     1       2.037  24.250  10.251  0.00  0.00            0
+ATOM    599    H   1     1       3.743  25.008   9.876  0.00  0.00            0
+ATOM    600    H   1     1       1.894  25.043  11.903  0.00  0.00            0
+ATOM    601    O   1     1      32.753  19.259  13.976  0.00  0.00            0
+ATOM    602    H   1     1      32.792  20.886  13.792  0.00  0.00            0
+ATOM    603    H   1     1      34.334  18.799  14.976  0.00  0.00            0
+ATOM    604    O   1     1       0.396  18.673  18.699  0.00  0.00            0
+ATOM    605    H   1     1      -1.211  18.950  19.127  0.00  0.00            0
+ATOM    606    H   1     1       0.469  16.977  18.436  0.00  0.00            0
+ATOM    607    O   1     1      30.855  18.370  27.959  0.00  0.00            0
+ATOM    608    H   1     1      29.759  19.681  28.690  0.00  0.00            0
+ATOM    609    H   1     1      32.103  19.477  26.763  0.00  0.00            0
+ATOM    610    O   1     1      27.723  15.992  33.091  0.00  0.00            0
+ATOM    611    H   1     1      29.390  16.423  32.192  0.00  0.00            0
+ATOM    612    H   1     1      27.801  15.859  34.804  0.00  0.00            0
+ATOM    613    O   1     1      31.068  27.895   3.348  0.00  0.00            0
+ATOM    614    H   1     1      32.517  27.825   4.610  0.00  0.00            0
+ATOM    615    H   1     1      31.529  29.459   2.324  0.00  0.00            0
+ATOM    616    O   1     1      35.039  28.008   6.663  0.00  0.00            0
+ATOM    617    H   1     1      35.966  26.934   7.683  0.00  0.00            0
+ATOM    618    H   1     1      36.055  28.336   5.336  0.00  0.00            0
+ATOM    619    O   1     1      29.356  28.196  13.025  0.00  0.00            0
+ATOM    620    H   1     1      29.210  29.335  14.589  0.00  0.00            0
+ATOM    621    H   1     1      28.874  29.629  11.867  0.00  0.00            0
+ATOM    622    O   1     1      32.386  28.434  18.961  0.00  0.00            0
+ATOM    623    H   1     1      33.368  28.574  20.411  0.00  0.00            0
+ATOM    624    H   1     1      33.410  27.406  17.949  0.00  0.00            0
+ATOM    625    O   1     1      30.898  25.390  25.799  0.00  0.00            0
+ATOM    626    H   1     1      32.369  25.913  24.580  0.00  0.00            0
+ATOM    627    H   1     1      31.317  24.075  27.029  0.00  0.00            0
+ATOM    628    O   1     1      32.259  25.611  33.104  0.00  0.00            0
+ATOM    629    H   1     1      32.238  25.736  34.806  0.00  0.00            0
+ATOM    630    H   1     1      33.920  25.042  32.775  0.00  0.00            0
+ATOM    631    O   1     1      30.290  32.645   1.341  0.00  0.00            0
+ATOM    632    H   1     1      29.949  32.793  -0.430  0.00  0.00            0
+ATOM    633    H   1     1      31.762  33.340   1.847  0.00  0.00            0
+ATOM    634    O   1     1      25.536  34.235   6.469  0.00  0.00            0
+ATOM    635    H   1     1      25.716  36.059   6.651  0.00  0.00            0
+ATOM    636    H   1     1      25.283  33.866   4.895  0.00  0.00            0
+ATOM    637    O   1     1      31.674  33.161  13.106  0.00  0.00            0
+ATOM    638    H   1     1      31.793  34.863  13.281  0.00  0.00            0
+ATOM    639    H   1     1      30.425  32.928  11.783  0.00  0.00            0
+ATOM    640    O   1     1      33.844  32.668  22.296  0.00  0.00            0
+ATOM    641    H   1     1      32.750  32.234  23.524  0.00  0.00            0
+ATOM    642    H   1     1      32.917  32.875  20.736  0.00  0.00            0
+ATOM    643    O   1     1      31.603  30.542  30.805  0.00  0.00            0
+ATOM    644    H   1     1      33.451  30.804  30.468  0.00  0.00            0
+ATOM    645    H   1     1      31.575  28.816  31.756  0.00  0.00            0
+ATOM    646    O   1     1      26.295  31.235  30.599  0.00  0.00            0
+ATOM    647    H   1     1      27.834  30.515  30.607  0.00  0.00            0
+ATOM    648    H   1     1      26.362  32.920  29.856  0.00  0.00            0
+END
diff --git a/tools/i-pi/examples/lammps/h2o-piglet.8/data.water b/tools/i-pi/examples/lammps/h2o-piglet.8/data.water
new file mode 100644
index 0000000000..13c75e9933
--- /dev/null
+++ b/tools/i-pi/examples/lammps/h2o-piglet.8/data.water
@@ -0,0 +1,1331 @@
+LAMMPS Description
+ 
+         648  atoms
+         432  bonds
+         216  angles
+ 
+           2  atom types
+           1  bond types
+           1  angle types
+ 
+         0 35.233 xlo xhi
+         0 35.233 ylo yhi
+         0 35.233 zlo zhi
+ 
+Masses
+ 
+  1 15.9994
+  2  1.0080
+ 
+Bond Coeffs
+ 
+  1    1.78    0.2708585 -0.327738785 0.231328959
+ 
+Angle Coeffs
+ 
+  1    0.0700  107.400000
+
+Atoms
+ 
+ 1 1 1 -1.1128       3.84600000       5.67200001       1.32300000
+ 2 1 2 0.5564        2.97900000       7.05400000       0.85700000
+ 3 1 2 0.5564        5.52500001       5.69700001       0.45100000
+ 4 2 1 -1.1128      34.55700001      34.34100000       3.07800000
+ 5 2 2 0.5564       33.72200001      34.68900000       4.84000001
+ 6 2 2 0.5564       36.02900000      33.22000001       3.71100001
+ 7 3 1 -1.1128       5.59100000       1.96299999      13.47700000
+ 8 3 2 0.5564        7.26500000       1.86400000      13.85100001
+ 9 3 2 0.5564        5.00899999       3.55500000      13.91599999
+ 10 4 1 -1.1128       1.06000000       2.06100000      21.71800001
+ 11 4 2 0.5564        0.75700000       0.26100000      21.82000000
+ 12 4 2 0.5564        0.21300001       3.01299999      23.04700000
+ 13 5 1 -1.1128       1.20000000       1.33700000      29.00599999
+ 14 5 2 0.5564        0.81800000       1.88399999      30.73200000
+ 15 5 2 0.5564        2.88300001       1.82500000      29.01100000
+ 16 6 1 -1.1128       1.33100001       1.38599999      34.30600001
+ 17 6 2 0.5564        2.39200001       2.89799999      34.84600000
+ 18 6 2 0.5564        0.81400000       0.53200001      35.83600000
+ 19 7 1 -1.1128      31.45100000      10.20100000       0.72599999
+ 20 7 2 0.5564       32.28199999      10.87699999      -0.75000000
+ 21 7 2 0.5564       30.91999999      11.59399999       1.67700000
+ 22 8 1 -1.1128       0.83600000      10.80800001       4.29800000
+ 23 8 2 0.5564        0.30500000      10.64300001       2.79300000
+ 24 8 2 0.5564       -0.35600001      10.33400000       5.52400000
+ 25 9 1 -1.1128      34.38100001       5.97900000       9.19400000
+ 26 9 2 0.5564       33.61600000       7.67300000       8.85700000
+ 27 9 2 0.5564       35.11500000       5.25999999       7.61800001
+ 28 10 1 -1.1128      33.21200000       6.48000000      24.27799999
+ 29 10 2 0.5564       31.62400000       6.90800001      23.52100001
+ 30 10 2 0.5564       32.54400000       4.99000000      24.98200000
+ 31 11 1 -1.1128       1.99200000       9.00199999      26.86300000
+ 32 11 2 0.5564        1.85600000      10.17500000      25.57899999
+ 33 11 2 0.5564        0.51900000       8.09899999      26.38599999
+ 34 12 1 -1.1128       2.05400000       8.66000000      32.51499999
+ 35 12 2 0.5564        2.16699999       8.72700000      30.49400000
+ 36 12 2 0.5564        2.37400001      10.51300000      33.03799999
+ 37 13 1 -1.1128       3.40200000      16.63900001       3.00800000
+ 38 13 2 0.5564        4.12700001      15.87200001       4.44600001
+ 39 13 2 0.5564        2.90500001      18.33899999       3.15999999
+ 40 14 1 -1.1128       4.22200000      15.44400000       8.07200000
+ 41 14 2 0.5564        5.21100000      16.75600000       8.29900001
+ 42 14 2 0.5564        2.56000000      15.49200001       8.86000000
+ 43 15 1 -1.1128       2.83100000       9.24599999      16.48800000
+ 44 15 2 0.5564        2.86900001       8.02300001      18.05000000
+ 45 15 2 0.5564        3.96000000       8.46700001      15.15400000
+ 46 16 1 -1.1128       5.56300000       6.00300000      20.90700000
+ 47 16 2 0.5564        4.65300000       4.63800000      21.48000000
+ 48 16 2 0.5564        6.40500000       6.20800000      22.52899999
+ 49 17 1 -1.1128       2.08700001      13.37000000      22.91299999
+ 50 17 2 0.5564        2.83200000      14.80400001      23.42200000
+ 51 17 2 0.5564        1.43400000      13.50900000      21.19599999
+ 52 18 1 -1.1128       3.36900000      17.88600000      25.10900001
+ 53 18 2 0.5564        3.65500000      17.20000000      26.76599999
+ 54 18 2 0.5564        4.77200001      18.97699999      24.49999999
+ 55 19 1 -1.1128      34.76400000      20.80300000       0.94800001
+ 56 19 2 0.5564       35.20999999      21.26700001       2.81599999
+ 57 19 2 0.5564       35.96200001      21.72599999       0.13099999
+ 58 20 1 -1.1128       2.83600000      24.17799999      15.22900000
+ 59 20 2 0.5564        2.79500000      22.34599999      14.87600001
+ 60 20 2 0.5564        2.41399999      24.11500000      17.13000001
+ 61 21 1 -1.1128      33.00000000      24.48100000      15.23000000
+ 62 21 2 0.5564       34.63999999      24.80400001      15.01299999
+ 63 21 2 0.5564       32.40100000      25.76400000      14.29500001
+ 64 22 1 -1.1128       0.40399999      26.77900001      23.39999999
+ 65 22 2 0.5564        1.35300001      27.24800000      24.98700001
+ 66 22 2 0.5564        1.54600001      28.05000000      22.31700001
+ 67 23 1 -1.1128      34.22200000      21.38000000      25.41799999
+ 68 23 2 0.5564       35.66899999      20.15100000      25.31700001
+ 69 23 2 0.5564       32.96000000      21.18000000      23.99200000
+ 70 24 1 -1.1128      33.25900000      17.43800000      32.48000000
+ 71 24 2 0.5564       33.31399999      18.78200000      33.88300001
+ 72 24 2 0.5564       32.74300001      18.18100001      30.87100000
+ 73 25 1 -1.1128       4.46300000      21.97900000       3.93600000
+ 74 25 2 0.5564        5.85600000      23.08400001       3.39999999
+ 75 25 2 0.5564        3.98600000      22.18000000       5.60200000
+ 76 26 1 -1.1128       6.25800000      25.85100001       8.52000000
+ 77 26 2 0.5564        5.76700000      27.69300001       8.47600000
+ 78 26 2 0.5564        7.20200001      25.50600000      10.18600000
+ 79 27 1 -1.1128       0.60099999      29.73699999      12.74700001
+ 80 27 2 0.5564       -0.68500000      30.84200000      12.34999999
+ 81 27 2 0.5564        1.33600000      30.71600000      14.03099999
+ 82 28 1 -1.1128       7.56300000      28.19100001      24.33300000
+ 83 28 2 0.5564        9.20100000      28.82800000      24.68400000
+ 84 28 2 0.5564        7.38100001      27.62100000      22.79900000
+ 85 29 1 -1.1128       3.65300000      27.10900001      27.77200001
+ 86 29 2 0.5564        5.12600000      27.01500000      26.77200001
+ 87 29 2 0.5564        3.03099999      28.75600000      27.69800000
+ 88 30 1 -1.1128       2.59600001      23.99100001      32.47600000
+ 89 30 2 0.5564        2.87900000      24.79099999      30.85899999
+ 90 30 2 0.5564        4.00300000      22.91299999      32.70099999
+ 91 31 1 -1.1128       3.08300000      31.31700001       3.64399999
+ 92 31 2 0.5564        4.13300000      30.58900001       2.53900001
+ 93 31 2 0.5564        4.21800000      32.17300001       5.03700001
+ 94 32 1 -1.1128       4.66100001      30.55500000       9.36799999
+ 95 32 2 0.5564        3.18400001      29.84300000      10.13200000
+ 96 32 2 0.5564        4.35800000      32.44800000       9.12600000
+ 97 33 1 -1.1128       3.46499999      32.53700000      15.77800000
+ 98 33 2 0.5564        5.07200000      31.81899999      15.90300000
+ 99 33 2 0.5564        4.05500001      34.25699999      15.28400000
+ 100 34 1 -1.1128       4.21500000      29.15299999      20.31700001
+ 101 34 2 0.5564        3.65799999      30.17600000      18.84200000
+ 102 34 2 0.5564        4.95899999      30.29100000      21.44900001
+ 103 35 1 -1.1128       1.12600000      31.33300000      28.76800001
+ 104 35 2 0.5564        2.39500000      31.12399999      29.92500000
+ 105 35 2 0.5564        0.76800001      33.09199999      28.89799999
+ 106 36 1 -1.1128       4.88100000      32.61600000      32.30200000
+ 107 36 2 0.5564        6.58800000      32.91100000      31.72500001
+ 108 36 2 0.5564        4.48599999      34.03700001      33.24900001
+ 109 37 1 -1.1128       8.96200001       5.55600000       0.15100000
+ 110 37 2 0.5564        9.65200000       6.99100001       0.85899999
+ 111 37 2 0.5564        9.17300001       4.47700000       1.64500000
+ 112 38 1 -1.1128       1.83300001       3.51799999       5.67900001
+ 113 38 2 0.5564        2.88900000       2.73100000       6.78800000
+ 114 38 2 0.5564        2.78900000       4.18700000       4.14700000
+ 115 39 1 -1.1128      10.51000001      34.72599999      13.07300001
+ 116 39 2 0.5564       11.91999999      34.11800000      11.91900001
+ 117 39 2 0.5564       11.29500001      34.96800000      14.74100000
+ 118 40 1 -1.1128       7.21200000       0.04199999      22.45399999
+ 119 40 2 0.5564        6.92400000       0.47000000      24.17200000
+ 120 40 2 0.5564        8.31900000       1.22799999      21.65300000
+ 121 41 1 -1.1128       6.36500000       2.01000000      27.54400000
+ 122 41 2 0.5564        5.95400000       3.58500000      26.85199999
+ 123 41 2 0.5564        7.75800001       2.54900000      28.69600000
+ 124 42 1 -1.1128      10.83300001       3.14000000      30.78699999
+ 125 42 2 0.5564       12.69700001       2.97500000      30.86700000
+ 126 42 2 0.5564       10.38899999       3.70000001      32.40399999
+ 127 43 1 -1.1128       8.68400000       9.34200001       3.91200001
+ 128 43 2 0.5564        6.98500000       9.25600001       4.77299999
+ 129 43 2 0.5564        8.68400000      10.80899999       3.01100000
+ 130 44 1 -1.1128       4.87299999       9.91900001       7.70700000
+ 131 44 2 0.5564        3.69800000       9.77100000       6.19400000
+ 132 44 2 0.5564        5.04700000      11.96100000       7.62400000
+ 133 45 1 -1.1128      10.03099999       5.01800000       9.69900000
+ 134 45 2 0.5564        9.67500001       3.38199999      10.34000000
+ 135 45 2 0.5564        9.13200000       5.98700001      10.82500000
+ 136 46 1 -1.1128      11.24599999       3.91800000      21.92900000
+ 137 46 2 0.5564       12.61400001       2.77000000      22.34100000
+ 138 46 2 0.5564       12.07300001       5.68600001      21.49699999
+ 139 47 1 -1.1128       6.82500000       7.16400000      25.70799999
+ 140 47 2 0.5564        8.03600000       8.37400001      25.98000001
+ 141 47 2 0.5564        5.20600001       7.90000000      25.89099999
+ 142 48 1 -1.1128      10.17099999      12.81100001       0.29500001
+ 143 48 2 0.5564       10.03300000      12.81800000      -1.60900000
+ 144 48 2 0.5564        9.87999999      14.49200001       0.48000000
+ 145 49 1 -1.1128       8.19000000      17.40200000       1.25299999
+ 146 49 2 0.5564        9.47199999      18.53100000       1.25299999
+ 147 49 2 0.5564        6.35100000      17.81700000       1.56800001
+ 148 50 1 -1.1128      11.23300000      16.18800001       8.29900001
+ 149 50 2 0.5564       10.29100000      17.68900000       8.16600001
+ 150 50 2 0.5564       12.76800001      17.12300001       8.73299999
+ 151 51 1 -1.1128       6.38599999       8.00199999      12.84600000
+ 152 51 2 0.5564        7.70099999       8.89600000      13.65500000
+ 153 51 2 0.5564        5.59100000       8.87699999      11.51900000
+ 154 52 1 -1.1128       8.18400001      10.41900000      18.84799999
+ 155 52 2 0.5564        9.49800000       9.43400000      19.90500001
+ 156 52 2 0.5564        6.88200000       9.02699999      18.94800001
+ 157 53 1 -1.1128      10.80600000      14.43100000      21.32799999
+ 158 53 2 0.5564        9.17700001      13.53100000      20.67000000
+ 159 53 2 0.5564       11.34400000      15.69600000      20.44800000
+ 160 54 1 -1.1128       9.23700000      13.92800000      30.34100000
+ 161 54 2 0.5564       10.77900001      14.83900000      30.52199999
+ 162 54 2 0.5564        9.96500000      13.19199999      28.89900000
+ 163 55 1 -1.1128      10.91800000      21.70700000       1.86400000
+ 164 55 2 0.5564       10.28000000      23.44900001       2.27900000
+ 165 55 2 0.5564       12.70799999      21.45600000       1.74900000
+ 166 56 1 -1.1128       9.35300001      16.12500000      13.92699999
+ 167 56 2 0.5564        9.93799999      17.59399999      14.61800001
+ 168 56 2 0.5564        9.51799999      16.36000001      12.24400000
+ 169 57 1 -1.1128      10.37099999      11.10700000      14.26800000
+ 170 57 2 0.5564        9.64399999      10.40600001      15.85899999
+ 171 57 2 0.5564        9.43400000      12.52300000      14.11699999
+ 172 58 1 -1.1128       3.35100000      22.76899999      20.19599999
+ 173 58 2 0.5564        2.05500001      23.68600001      21.50300001
+ 174 58 2 0.5564        2.45200000      21.40100000      19.41300000
+ 175 59 1 -1.1128       6.83600000      21.32900000      23.19899999
+ 176 59 2 0.5564        8.24900001      20.84799999      22.32000001
+ 177 59 2 0.5564        5.66800001      21.84099999      21.88600000
+ 178 60 1 -1.1128       4.60399999      15.64900000      30.04300000
+ 179 60 2 0.5564        6.45300001      15.21699999      30.20700000
+ 180 60 2 0.5564        3.82200001      14.76199999      31.56200000
+ 181 61 1 -1.1128       7.12500000      19.97600001       9.42100001
+ 182 61 2 0.5564        5.91800000      20.45300001      10.72999999
+ 183 61 2 0.5564        8.09899999      21.49600001       9.49100000
+ 184 62 1 -1.1128       9.06299999      25.91200001      13.18600000
+ 185 62 2 0.5564       10.34999999      26.57199999      12.36700001
+ 186 62 2 0.5564        9.67999999      24.36700001      13.69700001
+ 187 63 1 -1.1128       8.02200000      22.34299999      17.04199999
+ 188 63 2 0.5564        9.14400000      23.36700001      18.07399999
+ 189 63 2 0.5564        6.56200000      23.46200000      16.85199999
+ 190 64 1 -1.1128      10.76199999      26.28499999      19.96299999
+ 191 64 2 0.5564       11.03600000      27.96599999      20.53800000
+ 192 64 2 0.5564       11.07800000      25.40100000      21.45600000
+ 193 65 1 -1.1128       9.15800000      22.90199999      28.39100000
+ 194 65 2 0.5564        8.21900000      23.52800001      27.08499999
+ 195 65 2 0.5564        8.08900000      21.76000000      29.50900000
+ 196 66 1 -1.1128       6.21900000      20.15800000      31.92100000
+ 197 66 2 0.5564        5.63500000      18.51099999      31.16100000
+ 198 66 2 0.5564        7.53000000      19.62400000      33.07100000
+ 199 67 1 -1.1128      11.19100001      31.50900000       2.61700000
+ 200 67 2 0.5564       10.46000001      32.21399999       4.10800000
+ 201 67 2 0.5564       13.17600000      31.75099999       2.57700000
+ 202 68 1 -1.1128       4.74799999       0.05500001       8.60500000
+ 203 68 2 0.5564        5.38000000       0.51700000      10.18300000
+ 204 68 2 0.5564        6.05000000      -0.30600001       7.48000000
+ 205 69 1 -1.1128       8.69500000      30.80899999      15.73100000
+ 206 69 2 0.5564        9.18899999      32.10300000      14.49500000
+ 207 69 2 0.5564        8.44699999      29.06900000      14.86800000
+ 208 70 1 -1.1128      10.12799999      31.40200000      20.76599999
+ 209 70 2 0.5564        9.45600000      30.90500001      19.15500000
+ 210 70 2 0.5564        9.01999999      32.73100000      21.41500000
+ 211 71 1 -1.1128      12.23800001      30.16200000      25.83699999
+ 212 71 2 0.5564       11.41799999      30.90800001      27.10999999
+ 213 71 2 0.5564       12.39600001      31.33100001      24.67800000
+ 214 72 1 -1.1128      10.39500000      32.53700000      30.62400000
+ 215 72 2 0.5564       11.04199999      34.33899999      30.75099999
+ 216 72 2 0.5564       11.37800001      31.48599999      31.53800000
+ 217 73 1 -1.1128      10.43800000       3.62599999       5.08700001
+ 218 73 2 0.5564       12.43500001       4.08200000       5.13600000
+ 219 73 2 0.5564        9.82200001       4.28400000       6.68100000
+ 220 74 1 -1.1128      14.76199999       3.40100000      13.77599999
+ 221 74 2 0.5564       16.51799999       3.82400000      13.37600000
+ 222 74 2 0.5564       13.75200000       4.75700000      12.96400000
+ 223 75 1 -1.1128      12.38199999       1.01200001      17.64300001
+ 224 75 2 0.5564       13.34599999       1.99700000      16.44400000
+ 225 75 2 0.5564       11.93100000       2.13300000      18.99800001
+ 226 76 1 -1.1128      15.27799999       1.29300000      24.55900000
+ 227 76 2 0.5564       16.07100000       0.94600000      26.36500000
+ 228 76 2 0.5564       15.79399999       0.19899999      23.49900000
+ 229 77 1 -1.1128      22.22600000      31.62700000      24.71199999
+ 230 77 2 0.5564       23.33800001      32.59500000      23.87600001
+ 231 77 2 0.5564       22.16100000      30.05300000      24.13200000
+ 232 78 1 -1.1128      15.63999999       1.84700001      32.71700000
+ 233 78 2 0.5564       17.48800000       2.47300000      31.87400000
+ 234 78 2 0.5564       16.40300001       0.86900001      34.26700001
+ 235 79 1 -1.1128      14.85800001      10.19899999       2.75400001
+ 236 79 2 0.5564       13.36000001      10.71199999       2.28199999
+ 237 79 2 0.5564       14.56000000       9.31600000       4.55900000
+ 238 80 1 -1.1128      15.71700000       8.46900000      10.73900000
+ 239 80 2 0.5564       17.32300000       9.58100000      10.87500000
+ 240 80 2 0.5564       14.57400000       9.63100000      10.22099999
+ 241 81 1 -1.1128      15.24800000      10.39800000      16.52500001
+ 242 81 2 0.5564       16.32400001       9.18100001      16.14899999
+ 243 81 2 0.5564       14.17200000      10.48800000      15.09800001
+ 244 82 1 -1.1128      13.22600000       8.43800000      20.80100001
+ 245 82 2 0.5564       14.04300000       8.99600000      19.29500001
+ 246 82 2 0.5564       14.66100001       7.80200000      22.09300000
+ 247 83 1 -1.1128      10.17300001      10.96100000      25.87500000
+ 248 83 2 0.5564       11.47700000      10.22300000      26.94000000
+ 249 83 2 0.5564       11.26900000      10.73800000      24.34299999
+ 250 84 1 -1.1128      12.79200000       7.73699999      29.17300001
+ 251 84 2 0.5564       12.19899999       6.03799999      29.47499999
+ 252 84 2 0.5564       14.42700000       7.44999999      29.61700000
+ 253 85 1 -1.1128      15.18000000      19.49800000       3.57800000
+ 254 85 2 0.5564       14.88300001      17.59600001       4.08000001
+ 255 85 2 0.5564       16.75400001      19.57899999       2.62599999
+ 256 86 1 -1.1128      12.51700000      11.09300000       7.70099999
+ 257 86 2 0.5564       12.22400001      12.77800000       7.55500000
+ 258 86 2 0.5564       11.15000000      10.39299999       7.05700000
+ 259 87 1 -1.1128      16.26600000      16.27099999      10.75800001
+ 260 87 2 0.5564       16.50700001      15.79500000      12.76800001
+ 261 87 2 0.5564       17.72500001      16.97699999      10.29200001
+ 262 88 1 -1.1128      14.06900000      18.39900001      18.89700000
+ 263 88 2 0.5564       15.51300000      17.52300000      18.15500000
+ 264 88 2 0.5564       14.95800001      18.70900000      20.67300000
+ 265 89 1 -1.1128      14.09899999      15.48000000      25.51000001
+ 266 89 2 0.5564       13.69800000      16.87200001      26.93799999
+ 267 89 2 0.5564       12.56700000      15.37900000      24.44400000
+ 268 90 1 -1.1128      13.30900000      17.57400000      30.29200001
+ 269 90 2 0.5564       14.93700001      16.93399999      30.81000000
+ 270 90 2 0.5564       13.96900001      19.49400000      30.01200001
+ 271 91 1 -1.1128      18.37099999      23.25699999       0.92500000
+ 272 91 2 0.5564       19.47899999      23.48000000       2.32099999
+ 273 91 2 0.5564       19.08700001      24.32499999      -0.36900000
+ 274 92 1 -1.1128      12.10000000      21.72999999      11.35500000
+ 275 92 2 0.5564       13.14100001      22.28700000      12.74300001
+ 276 92 2 0.5564       13.46700001      22.23600000      10.24400000
+ 277 93 1 -1.1128      12.16300001      23.29000000      23.59699999
+ 278 93 2 0.5564       11.32400001      22.73600001      24.94900000
+ 279 93 2 0.5564       13.88200000      22.87200001      23.84000001
+ 280 94 1 -1.1128      20.17300001      26.76100001      22.62800000
+ 281 94 2 0.5564       20.20600001      26.53200001      20.79200000
+ 282 94 2 0.5564       21.55600000      25.74200000      23.38899999
+ 283 95 1 -1.1128      16.70099999      21.16500000      22.60500000
+ 284 95 2 0.5564       18.02800000      20.68600001      23.84799999
+ 285 95 2 0.5564       17.10400000      22.86599999      21.94900000
+ 286 96 1 -1.1128      11.39100000      26.46099999      33.70499999
+ 287 96 2 0.5564        9.84099999      27.19199999      34.04800001
+ 288 96 2 0.5564       11.77599999      25.53999999      35.24300000
+ 289 97 1 -1.1128       9.89799999      25.98900000       4.55300001
+ 290 97 2 0.5564        8.90199999      26.13099999       6.03900000
+ 291 97 2 0.5564       10.28700000      27.80600000       4.37600000
+ 292 98 1 -1.1128      14.30800000      26.96000000      10.87699999
+ 293 98 2 0.5564       15.30200000      27.40500000      12.17300001
+ 294 98 2 0.5564       15.46300000      26.15100000       9.63299999
+ 295 99 1 -1.1128      13.43300000      22.96000000      16.90400000
+ 296 99 2 0.5564       13.40900000      24.13099999      18.13200000
+ 297 99 2 0.5564       13.62400000      21.19100001      17.52000000
+ 298 100 1 -1.1128      16.40900000      26.76800001      26.87500000
+ 299 100 2 0.5564       17.58999999      26.98700001      25.43100000
+ 300 100 2 0.5564       14.75099999      27.70300000      26.23000000
+ 301 101 1 -1.1128      14.40500000      22.73299999      29.89200000
+ 302 101 2 0.5564       15.42300000      23.07900000      28.49400000
+ 303 101 2 0.5564       12.82600001      23.25900000      29.41600000
+ 304 102 1 -1.1128       6.90500001      29.40800000       0.74900000
+ 305 102 2 0.5564        8.42800001      30.48300000       1.56700000
+ 306 102 2 0.5564        6.35300001      30.81400000      -0.44400000
+ 307 103 1 -1.1128       9.18899999      34.15900001       6.50900000
+ 308 103 2 0.5564       10.19800000      34.19300000       8.00199999
+ 309 103 2 0.5564        9.89000001      35.69200000       5.78500000
+ 310 104 1 -1.1128      14.25600001      32.31600000       9.36900000
+ 311 104 2 0.5564       15.73299999      32.86700000       9.48599999
+ 312 104 2 0.5564       14.75400001      30.67000000      10.09000000
+ 313 105 1 -1.1128      14.71400000      30.84099999      16.51600000
+ 314 105 2 0.5564       13.74799999      29.55099999      17.27900000
+ 315 105 2 0.5564       13.21800000      31.93300001      16.61400001
+ 316 106 1 -1.1128      18.40900000      33.64100000      20.61100001
+ 317 106 2 0.5564       19.60099999      32.27400001      21.11500000
+ 318 106 2 0.5564       17.36000001      32.65500000      19.51799999
+ 319 107 1 -1.1128      16.06200001      28.63800000      32.20700000
+ 320 107 2 0.5564       14.64800000      27.95800001      33.25299999
+ 321 107 2 0.5564       15.75200000      28.01400000      30.52199999
+ 322 108 1 -1.1128      16.20000000      30.89499999       1.47300000
+ 323 108 2 0.5564       16.62599999      29.96800000      -0.13000001
+ 324 108 2 0.5564       17.16699999      29.83300001       2.92699999
+ 325 109 1 -1.1128      20.27799999       3.52899999       6.04800001
+ 326 109 2 0.5564       20.97699999       3.61100001       4.57500001
+ 327 109 2 0.5564       21.31200000       4.51300000       7.25100000
+ 328 110 1 -1.1128      23.07900000       5.77800000      10.40800000
+ 329 110 2 0.5564       24.65000001       6.25900000      10.83800000
+ 330 110 2 0.5564       22.34200001       7.60900000      10.17799999
+ 331 111 1 -1.1128      19.58100000       2.03099999      12.10999999
+ 332 111 2 0.5564       19.03900000       1.08200000      10.44000000
+ 333 111 2 0.5564       21.14100001       2.99100001      11.85100001
+ 334 112 1 -1.1128      22.00500001       3.22300000      23.17799999
+ 335 112 2 0.5564       21.42899999       4.09000000      24.55399999
+ 336 112 2 0.5564       20.65400001       1.79099999      22.71100001
+ 337 113 1 -1.1128      16.63000000       6.42200000      23.79200000
+ 338 113 2 0.5564       16.21900000       4.80400001      24.40600001
+ 339 113 2 0.5564       17.06600001       7.12799999      25.28199999
+ 340 114 1 -1.1128      21.67599999       5.56400001      28.15800000
+ 341 114 2 0.5564       20.65799999       6.71700000      29.18499999
+ 342 114 2 0.5564       23.41300000       5.82800000      28.99600000
+ 343 115 1 -1.1128      15.25699999       5.26500000       5.62599999
+ 344 115 2 0.5564       16.91400000       4.51900000       5.48999999
+ 345 115 2 0.5564       15.14400000       6.15000000       6.97200000
+ 346 116 1 -1.1128      20.13700000      11.08200000      10.43700000
+ 347 116 2 0.5564       20.02100000      10.94700000       8.73299999
+ 348 116 2 0.5564       21.02500000      12.55500000      10.85300000
+ 349 117 1 -1.1128      23.08900000      14.62700000      12.43700000
+ 350 117 2 0.5564       24.71600000      15.25400000      12.73600001
+ 351 117 2 0.5564       23.28400000      13.22799999      13.65300000
+ 352 118 1 -1.1128      24.08300000      12.64900000      22.56600000
+ 353 118 2 0.5564       22.39700000      12.66300000      23.04199999
+ 354 118 2 0.5564       24.90100001      13.85100001      23.56499999
+ 355 119 1 -1.1128      17.86500001       7.90899999      30.03600000
+ 356 119 2 0.5564       17.50900000       8.04499999      31.98200000
+ 357 119 2 0.5564       18.07800000       9.58200001      29.31799999
+ 358 120 1 -1.1128      18.82400000       8.48599999       0.10400000
+ 359 120 2 0.5564       19.99700000      10.19100001      -0.05700000
+ 360 120 2 0.5564       17.07700001       8.99800001       0.77900001
+ 361 121 1 -1.1128      20.12200000       9.14300000       5.34299999
+ 362 121 2 0.5564       19.37300000       8.81899999       3.82100000
+ 363 121 2 0.5564       21.99800001       8.77599999       5.12799999
+ 364 122 1 -1.1128      16.41300000      14.45900000       5.85499999
+ 365 122 2 0.5564       15.53599999      13.00700000       5.23899999
+ 366 122 2 0.5564       16.00599999      14.72500001       7.73699999
+ 367 123 1 -1.1128      17.56099999      15.06600001      15.65400001
+ 368 123 2 0.5564       17.57500001      13.39800000      16.05500001
+ 369 123 2 0.5564       18.97800000      15.82800000      16.39999999
+ 370 124 1 -1.1128      26.37400001      17.04700000      24.81700000
+ 371 124 2 0.5564       27.98300000      17.09800001      25.63200001
+ 372 124 2 0.5564       25.62900001      18.75099999      24.91900001
+ 373 125 1 -1.1128      19.78400000      12.96000000      28.70600000
+ 374 125 2 0.5564       21.66199999      13.05500001      28.87100000
+ 375 125 2 0.5564       19.54500000      14.06999999      27.14300000
+ 376 126 1 -1.1128      17.89099999      16.73299999      32.49900000
+ 377 126 2 0.5564       18.32700000      15.24000000      31.27700001
+ 378 126 2 0.5564       18.63299999      18.33500001      31.69300001
+ 379 127 1 -1.1128      23.73299999      23.02399999       1.66300000
+ 380 127 2 0.5564       24.80000000      24.05199999       2.77599999
+ 381 127 2 0.5564       24.69300001      22.61800001       0.19800000
+ 382 128 1 -1.1128      20.78900000      18.44000000       9.44299999
+ 383 128 2 0.5564       20.76599999      17.25699999       7.88100000
+ 384 128 2 0.5564       21.89600000      17.34500000      10.38500001
+ 385 129 1 -1.1128      21.57400000      17.49299999      17.83800000
+ 386 129 2 0.5564       20.59699999      18.95500001      17.21800000
+ 387 129 2 0.5564       22.53800000      16.87400000      16.25100000
+ 388 130 1 -1.1128      19.16800000      14.74799999      24.13099999
+ 389 130 2 0.5564       19.71100001      16.39000000      23.71199999
+ 390 130 2 0.5564       17.42899999      14.69500000      24.40300001
+ 391 131 1 -1.1128      22.14899999      20.19800000      24.97699999
+ 392 131 2 0.5564       21.63900001      20.92400000      26.48599999
+ 393 131 2 0.5564       22.65600000      21.65700001      24.41099999
+ 394 132 1 -1.1128      20.56499999      20.79200000      29.60000001
+ 395 132 2 0.5564       22.26399999      20.40900000      30.21399999
+ 396 132 2 0.5564       20.54800000      22.40800000      30.59699999
+ 397 133 1 -1.1128      20.80200000      26.54699999       9.61499999
+ 398 133 2 0.5564       20.09899999      27.98399999       8.33800001
+ 399 133 2 0.5564       21.27700001      27.53900001      11.32499999
+ 400 134 1 -1.1128      16.28300000      23.58900001       7.77900001
+ 401 134 2 0.5564       16.09300000      21.97300001       6.71199999
+ 402 134 2 0.5564       17.90100001      22.97100000       8.15400000
+ 403 135 1 -1.1128      18.46900000      29.79799999      13.56800001
+ 404 135 2 0.5564       19.71199999      31.21600000      13.50600000
+ 405 135 2 0.5564       16.87200001      30.34299999      14.39600001
+ 406 136 1 -1.1128      18.79000001      21.71199999      16.06000000
+ 407 136 2 0.5564       19.87800000      23.09000000      16.48500001
+ 408 136 2 0.5564       17.20100000      22.32600000      15.81899999
+ 409 137 1 -1.1128      21.74700001      26.08400001      16.34900001
+ 410 137 2 0.5564       20.78300001      27.02100000      15.29999999
+ 411 137 2 0.5564       22.70499999      27.32799999      17.20600001
+ 412 138 1 -1.1128      20.76899999      26.21100000      32.05000000
+ 413 138 2 0.5564       21.48800000      27.40399999      33.32799999
+ 414 138 2 0.5564       18.98900000      26.71000000      32.14500001
+ 415 139 1 -1.1128      19.82000000      29.18100001       5.55900000
+ 416 139 2 0.5564       20.99100001      29.50900000       4.10900001
+ 417 139 2 0.5564       19.43100000      31.01800000       6.22099999
+ 418 140 1 -1.1128      19.24000000      33.86700000       7.99300000
+ 419 140 2 0.5564       19.10700000      35.03900000       6.60399999
+ 420 140 2 0.5564       20.69700001      33.67100000       9.06299999
+ 421 141 1 -1.1128      22.51099999      34.97600001      15.79300000
+ 422 141 2 0.5564       23.71600000      36.16300001      16.60300000
+ 423 141 2 0.5564       21.69900000      36.15000000      14.46700001
+ 424 142 1 -1.1128      22.62199999      30.28400000      19.06900000
+ 425 142 2 0.5564       22.04899999      31.35100000      17.72500001
+ 426 142 2 0.5564       24.41099999      30.77299999      19.57599999
+ 427 143 1 -1.1128      18.63900001      33.61100001      28.36900000
+ 428 143 2 0.5564       18.22600000      32.15900001      29.10300000
+ 429 143 2 0.5564       19.90600000      33.00800000      27.15800000
+ 430 144 1 -1.1128      22.52000000       1.32499999      31.92600001
+ 431 144 2 0.5564       22.80300000       2.66800001      30.79600000
+ 432 144 2 0.5564       21.04499999       0.42499999      31.12200000
+ 433 145 1 -1.1128      21.75400001       3.78900000       1.15900001
+ 434 145 2 0.5564       22.08499999       2.78500000      -0.18000000
+ 435 145 2 0.5564       20.85000000       5.17500000       0.61000000
+ 436 146 1 -1.1128      28.45699999       5.53900001      12.13300000
+ 437 146 2 0.5564       29.48900001       4.39000000      11.18200000
+ 438 146 2 0.5564       29.16100000       7.13099999      12.58700000
+ 439 147 1 -1.1128      22.49500000       5.96599999      17.32400001
+ 440 147 2 0.5564       24.37700000       5.37900000      17.39299999
+ 441 147 2 0.5564       21.90600000       5.49100000      18.85700000
+ 442 148 1 -1.1128      28.12799999       3.30400000      22.28700000
+ 443 148 2 0.5564       28.12300001       2.99899999      20.49100000
+ 444 148 2 0.5564       26.53299999       3.35500000      22.87600001
+ 445 149 1 -1.1128      28.37800001      10.45500000      27.26600000
+ 446 149 2 0.5564       30.01900001      10.29200001      28.05100000
+ 447 149 2 0.5564       28.63500000      10.03900000      25.46300000
+ 448 150 1 -1.1128      27.03099999       8.35300001      34.80600000
+ 449 150 2 0.5564       26.11600001       9.98399999      34.57100001
+ 450 150 2 0.5564       28.68500000       8.95100001      34.73900000
+ 451 151 1 -1.1128      24.95100001       8.15999999       4.45399999
+ 452 151 2 0.5564       25.93000001       9.61600000       5.15999999
+ 453 151 2 0.5564       25.94700000       7.99400001       2.72400000
+ 454 152 1 -1.1128      26.93700001      12.43599999       6.86900001
+ 455 152 2 0.5564       25.49200001      13.28400000       6.70799999
+ 456 152 2 0.5564       27.68900000      13.33199999       8.26600000
+ 457 153 1 -1.1128      23.36500000      11.21399999      16.93300001
+ 458 153 2 0.5564       22.24700000       9.74399999      16.78900000
+ 459 153 2 0.5564       23.26399999      12.03500000      18.53900001
+ 460 154 1 -1.1128      28.32099999       8.75900000      22.15800000
+ 461 154 2 0.5564       27.66199999       6.89499999      22.48200001
+ 462 154 2 0.5564       26.97100000       9.71000000      21.90199999
+ 463 155 1 -1.1128      27.07100000       6.10900001      29.55500000
+ 464 155 2 0.5564       27.59100000       7.66300000      28.85700000
+ 465 155 2 0.5564       27.30400000       6.32000001      31.26100000
+ 466 156 1 -1.1128      22.47400000      11.70400001      34.63999999
+ 467 156 2 0.5564       22.75200000      13.30400000      35.58400000
+ 468 156 2 0.5564       22.84000001      12.09000000      33.03000001
+ 469 157 1 -1.1128      21.65600000      14.97100000       5.61499999
+ 470 157 2 0.5564       21.68999999      15.86000000       3.97699999
+ 471 157 2 0.5564       19.96400000      14.22500000       5.77400000
+ 472 158 1 -1.1128      28.53900001      21.49200001       9.82000000
+ 473 158 2 0.5564       27.28800001      22.18100001       8.68800000
+ 474 158 2 0.5564       28.06500000      22.42000000      11.60200000
+ 475 159 1 -1.1128      28.36399999      16.01999999      11.10900001
+ 476 159 2 0.5564       30.03300000      16.64900000      12.08900000
+ 477 159 2 0.5564       28.45600000      17.44000000      10.08200000
+ 478 160 1 -1.1128       0.05400000      13.68600001      18.10300000
+ 479 160 2 0.5564       -1.71400000      12.92800000      18.84099999
+ 480 160 2 0.5564        1.00800000      12.42899999      17.38300000
+ 481 161 1 -1.1128      24.63600001      12.89400001      29.95700000
+ 482 161 2 0.5564       25.90600000      13.91400000      31.18300000
+ 483 161 2 0.5564       25.64100000      11.60900000      29.16200000
+ 484 162 1 -1.1128      21.54800000      17.25000000       0.74900000
+ 485 162 2 0.5564       21.84300000      19.02600000       0.90500001
+ 486 162 2 0.5564       20.38500001      16.71600000      -0.69700001
+ 487 163 1 -1.1128      26.09499999      27.27400001       4.52000000
+ 488 163 2 0.5564       27.88900000      26.45800000       4.50500000
+ 489 163 2 0.5564       25.64800000      26.96999999       6.16500000
+ 490 164 1 -1.1128      23.61000000      22.51499999       8.00800000
+ 491 164 2 0.5564       22.65300000      21.18700000       8.73900000
+ 492 164 2 0.5564       22.28600000      24.09499999       8.44400000
+ 493 165 1 -1.1128      27.35500000      18.92900000      18.18000000
+ 494 165 2 0.5564       27.20000000      20.34900001      17.15500000
+ 495 165 2 0.5564       25.57899999      18.32200000      18.77000000
+ 496 166 1 -1.1128      26.76500001      23.63299999      14.44400000
+ 497 166 2 0.5564       27.44100000      25.29800000      13.65099999
+ 498 166 2 0.5564       25.08600000      24.25600001      14.74900000
+ 499 167 1 -1.1128      31.47800001      20.76899999      20.98600000
+ 500 167 2 0.5564       30.44000000      22.50900000      21.13499999
+ 501 167 2 0.5564       30.56700000      19.65600000      20.04300000
+ 502 168 1 -1.1128      24.81199999      20.41200000      32.66800001
+ 503 168 2 0.5564       26.24199999      21.47800001      31.87400000
+ 504 168 2 0.5564       25.78699999      19.02300001      33.15800000
+ 505 169 1 -1.1128      22.10500001      29.07600000       0.92800000
+ 506 169 2 0.5564       23.29599999      27.92299999       1.73900000
+ 507 169 2 0.5564       22.62300000      30.99400001       0.88200000
+ 508 170 1 -1.1128      29.57199999      31.25600001       8.62599999
+ 509 170 2 0.5564       30.79500000      30.20299999       7.73600001
+ 510 170 2 0.5564       28.27700001      31.51900000       7.25999999
+ 511 171 1 -1.1128      31.81700000      34.84300000      18.28300000
+ 512 171 2 0.5564       32.43800000      34.38899999      16.47400000
+ 513 171 2 0.5564       32.74300001      36.42200000      18.34100000
+ 514 172 1 -1.1128      27.91500001      25.60099999      19.03300000
+ 515 172 2 0.5564       29.35800000      26.56099999      19.19000000
+ 516 172 2 0.5564       28.14800001      24.42899999      17.53000000
+ 517 173 1 -1.1128      24.54800000      24.65400001      24.02500000
+ 518 173 2 0.5564       25.52800001      25.63500000      22.82400000
+ 519 173 2 0.5564       25.29999999      25.20000000      25.64500000
+ 520 174 1 -1.1128      28.53999999      22.92200000      30.37000000
+ 521 174 2 0.5564       27.41399999      24.09600000      29.78100000
+ 522 174 2 0.5564       29.67400000      23.91400000      31.87299999
+ 523 175 1 -1.1128      24.96900001      33.62300000       1.01400000
+ 524 175 2 0.5564       26.52100001      33.05800000       1.51799999
+ 525 175 2 0.5564       24.99000000      34.32200000      -0.68299999
+ 526 176 1 -1.1128      23.07500000      32.17099999      11.32400001
+ 527 176 2 0.5564       23.31600000      32.77500000      13.09700000
+ 528 176 2 0.5564       24.46000001      33.20299999      10.66199999
+ 529 177 1 -1.1128      27.49699999       2.73600001      17.22400001
+ 530 177 2 0.5564       28.39700000       3.41500000      15.71500001
+ 531 177 2 0.5564       28.23400001       1.23300000      17.41200000
+ 532 178 1 -1.1128      26.36900000      33.06000000      22.07700001
+ 533 178 2 0.5564       26.17000001      34.74600000      22.26399999
+ 534 178 2 0.5564       27.59200000      32.40399999      23.32099999
+ 535 179 1 -1.1128      30.22099999      30.95000000      25.84300000
+ 536 179 2 0.5564       30.30500000      29.03799999      26.20800000
+ 537 179 2 0.5564       30.36300001      31.97900000      27.41399999
+ 538 180 1 -1.1128      24.97300001      26.73200000      28.60700001
+ 539 180 2 0.5564       25.38500001      28.36900000      29.24800000
+ 540 180 2 0.5564       23.33000000      26.59699999      29.23400001
+ 541 181 1 -1.1128      32.16500000       4.85700000       2.25800000
+ 542 181 2 0.5564       32.41700001       6.19500001       1.15700000
+ 543 181 2 0.5564       32.61499999       3.72700000       1.11200000
+ 544 182 1 -1.1128      28.06699999       3.53299999       5.21699999
+ 545 182 2 0.5564       26.96000000       4.44699999       4.15800000
+ 546 182 2 0.5564       29.87500000       3.86300000       4.44800000
+ 547 183 1 -1.1128      33.27900000       2.78200000      13.02800000
+ 548 183 2 0.5564       33.70799999       3.95500001      11.81700000
+ 549 183 2 0.5564       33.65600000       3.54500000      14.63100000
+ 550 184 1 -1.1128      34.27799999       4.94400001      17.49200001
+ 551 184 2 0.5564       33.43800000       6.56300000      17.87600001
+ 552 184 2 0.5564       34.90600000       4.45200000      18.99499999
+ 553 185 1 -1.1128      32.36300001       1.90800001      26.09199999
+ 554 185 2 0.5564       31.94099999       1.68299999      24.26800000
+ 555 185 2 0.5564       33.85000000       1.39000000      26.90400000
+ 556 186 1 -1.1128      27.98200000       0.41799999      28.24100000
+ 557 186 2 0.5564       27.51600000       2.08000001      28.30900000
+ 558 186 2 0.5564       29.59300001       0.17600000      27.29900001
+ 559 187 1 -1.1128      28.84500000      14.67200001       2.72400000
+ 560 187 2 0.5564       27.96299999      13.93000001       4.13900000
+ 561 187 2 0.5564       30.38599999      15.71400000       3.37900000
+ 562 188 1 -1.1128      28.08300000      10.61800001      14.29800000
+ 563 188 2 0.5564       28.62300000      12.15999999      13.29300000
+ 564 188 2 0.5564       26.48599999      11.01500000      15.37900000
+ 565 189 1 -1.1128      33.86700000      10.54500000      13.30600001
+ 566 189 2 0.5564       35.16500000       9.61200000      13.81000000
+ 567 189 2 0.5564       33.61499999      10.27000001      11.51300000
+ 568 190 1 -1.1128      31.79000001       9.69600000      18.22300000
+ 569 190 2 0.5564       30.48400000       9.33400000      19.42100001
+ 570 190 2 0.5564       30.83399999      10.09600000      16.92900000
+ 571 191 1 -1.1128      30.14100001      15.00599999      21.53200001
+ 572 191 2 0.5564       28.56499999      15.59399999      22.09899999
+ 573 191 2 0.5564       30.94200000      14.25299999      23.07700001
+ 574 192 1 -1.1128      32.79799999      10.73200000      30.67999999
+ 575 192 2 0.5564       34.07300001       9.52800001      30.79900000
+ 576 192 2 0.5564       32.99100001      11.51200000      28.98300000
+ 577 193 1 -1.1128      33.65200000      16.26500000       5.08600000
+ 578 193 2 0.5564       35.39900001      16.23899999       4.72999999
+ 579 193 2 0.5564       33.50300001      17.93900000       5.63100000
+ 580 194 1 -1.1128      31.94700000      10.79900000       7.94300000
+ 581 194 2 0.5564       29.89400001      10.54900000       7.61899999
+ 582 194 2 0.5564       32.27099999      12.41399999       7.07500000
+ 583 195 1 -1.1128       0.32900000      15.51600000      11.74600000
+ 584 195 2 0.5564       -0.44600001      14.24900001      12.93900000
+ 585 195 2 0.5564       -0.68500000      17.01800000      11.93500000
+ 586 196 1 -1.1128       4.26200000      19.16500000      14.30800000
+ 587 196 2 0.5564        3.57899999      17.69100000      14.91999999
+ 588 196 2 0.5564        5.72299999      19.18300000      15.20400000
+ 589 197 1 -1.1128      32.99499999      13.54600001      25.94800001
+ 590 197 2 0.5564       32.16699999      15.06000000      26.78699999
+ 591 197 2 0.5564       34.42499999      13.80000000      25.00700000
+ 592 198 1 -1.1128       1.77299999      13.52400000      34.03700001
+ 593 198 2 0.5564        0.22700001      14.40900000      33.44600001
+ 594 198 2 0.5564        2.16699999      14.67000000      35.51099999
+ 595 199 1 -1.1128      33.02900000      20.52899999       7.24700000
+ 596 199 2 0.5564       34.38800000      21.41399999       8.00300000
+ 597 199 2 0.5564       31.45100000      20.83100000       8.18200000
+ 598 200 1 -1.1128       2.03700001      24.25000000      10.25100000
+ 599 200 2 0.5564        3.74300001      25.00800000       9.87600001
+ 600 200 2 0.5564        1.89400001      25.04300000      11.90300000
+ 601 201 1 -1.1128      32.75300000      19.25900000      13.97600001
+ 602 201 2 0.5564       32.79200000      20.88600000      13.79200000
+ 603 201 2 0.5564       34.33400000      18.79900000      14.97600001
+ 604 202 1 -1.1128       0.39600001      18.67300000      18.69900000
+ 605 202 2 0.5564       -1.21100000      18.95000000      19.12700001
+ 606 202 2 0.5564        0.46900000      16.97699999      18.43599999
+ 607 203 1 -1.1128      30.85499999      18.37000000      27.95899999
+ 608 203 2 0.5564       29.75900000      19.68100000      28.68999999
+ 609 203 2 0.5564       32.10300000      19.47700000      26.76300000
+ 610 204 1 -1.1128      27.72299999      15.99200000      33.09100001
+ 611 204 2 0.5564       29.39000000      16.42300000      32.19199999
+ 612 204 2 0.5564       27.80100001      15.85899999      34.80400001
+ 613 205 1 -1.1128      31.06800000      27.89499999       3.34800000
+ 614 205 2 0.5564       32.51700000      27.82500000       4.61000000
+ 615 205 2 0.5564       31.52899999      29.45900000       2.32400001
+ 616 206 1 -1.1128      35.03900000      28.00800000       6.66300000
+ 617 206 2 0.5564       35.96599999      26.93399999       7.68299999
+ 618 206 2 0.5564       36.05500001      28.33600000       5.33600000
+ 619 207 1 -1.1128      29.35600001      28.19599999      13.02500000
+ 620 207 2 0.5564       29.20999999      29.33500001      14.58900001
+ 621 207 2 0.5564       28.87400000      29.62900001      11.86700000
+ 622 208 1 -1.1128      32.38599999      28.43400000      18.96100000
+ 623 208 2 0.5564       33.36799999      28.57400000      20.41099999
+ 624 208 2 0.5564       33.41000001      27.40600001      17.94900000
+ 625 209 1 -1.1128      30.89799999      25.39000000      25.79900000
+ 626 209 2 0.5564       32.36900000      25.91299999      24.58000000
+ 627 209 2 0.5564       31.31700001      24.07500000      27.02900000
+ 628 210 1 -1.1128      32.25900000      25.61100001      33.10400000
+ 629 210 2 0.5564       32.23800001      25.73600001      34.80600000
+ 630 210 2 0.5564       33.91999999      25.04199999      32.77500000
+ 631 211 1 -1.1128      30.29000000      32.64500000       1.34100000
+ 632 211 2 0.5564       29.94900000      32.79300000      -0.43000000
+ 633 211 2 0.5564       31.76199999      33.34000000       1.84700001
+ 634 212 1 -1.1128      25.53599999      34.23499999       6.46900000
+ 635 212 2 0.5564       25.71600000      36.05900001       6.65099999
+ 636 212 2 0.5564       25.28300000      33.86599999       4.89499999
+ 637 213 1 -1.1128      31.67400000      33.16100000      13.10599999
+ 638 213 2 0.5564       31.79300000      34.86300000      13.28100001
+ 639 213 2 0.5564       30.42499999      32.92800000      11.78300001
+ 640 214 1 -1.1128      33.84400001      32.66800001      22.29599999
+ 641 214 2 0.5564       32.75000000      32.23400001      23.52400000
+ 642 214 2 0.5564       32.91700000      32.87500000      20.73600001
+ 643 215 1 -1.1128      31.60300000      30.54200000      30.80499999
+ 644 215 2 0.5564       33.45100000      30.80400001      30.46799999
+ 645 215 2 0.5564       31.57500001      28.81599999      31.75600000
+ 646 216 1 -1.1128      26.29500001      31.23499999      30.59900000
+ 647 216 2 0.5564       27.83399999      30.51499999      30.60700001
+ 648 216 2 0.5564       26.36200000      32.91999999      29.85600000
+
+Bonds
+
+ 1 1 1 2
+ 2 1 1 3
+ 3 1 4 5
+ 4 1 4 6
+ 5 1 7 8
+ 6 1 7 9
+ 7 1 10 11
+ 8 1 10 12
+ 9 1 13 14
+ 10 1 13 15
+ 11 1 16 17
+ 12 1 16 18
+ 13 1 19 20
+ 14 1 19 21
+ 15 1 22 23
+ 16 1 22 24
+ 17 1 25 26
+ 18 1 25 27
+ 19 1 28 29
+ 20 1 28 30
+ 21 1 31 32
+ 22 1 31 33
+ 23 1 34 35
+ 24 1 34 36
+ 25 1 37 38
+ 26 1 37 39
+ 27 1 40 41
+ 28 1 40 42
+ 29 1 43 44
+ 30 1 43 45
+ 31 1 46 47
+ 32 1 46 48
+ 33 1 49 50
+ 34 1 49 51
+ 35 1 52 53
+ 36 1 52 54
+ 37 1 55 56
+ 38 1 55 57
+ 39 1 58 59
+ 40 1 58 60
+ 41 1 61 62
+ 42 1 61 63
+ 43 1 64 65
+ 44 1 64 66
+ 45 1 67 68
+ 46 1 67 69
+ 47 1 70 71
+ 48 1 70 72
+ 49 1 73 74
+ 50 1 73 75
+ 51 1 76 77
+ 52 1 76 78
+ 53 1 79 80
+ 54 1 79 81
+ 55 1 82 83
+ 56 1 82 84
+ 57 1 85 86
+ 58 1 85 87
+ 59 1 88 89
+ 60 1 88 90
+ 61 1 91 92
+ 62 1 91 93
+ 63 1 94 95
+ 64 1 94 96
+ 65 1 97 98
+ 66 1 97 99
+ 67 1 100 101
+ 68 1 100 102
+ 69 1 103 104
+ 70 1 103 105
+ 71 1 106 107
+ 72 1 106 108
+ 73 1 109 110
+ 74 1 109 111
+ 75 1 112 113
+ 76 1 112 114
+ 77 1 115 116
+ 78 1 115 117
+ 79 1 118 119
+ 80 1 118 120
+ 81 1 121 122
+ 82 1 121 123
+ 83 1 124 125
+ 84 1 124 126
+ 85 1 127 128
+ 86 1 127 129
+ 87 1 130 131
+ 88 1 130 132
+ 89 1 133 134
+ 90 1 133 135
+ 91 1 136 137
+ 92 1 136 138
+ 93 1 139 140
+ 94 1 139 141
+ 95 1 142 143
+ 96 1 142 144
+ 97 1 145 146
+ 98 1 145 147
+ 99 1 148 149
+ 100 1 148 150
+ 101 1 151 152
+ 102 1 151 153
+ 103 1 154 155
+ 104 1 154 156
+ 105 1 157 158
+ 106 1 157 159
+ 107 1 160 161
+ 108 1 160 162
+ 109 1 163 164
+ 110 1 163 165
+ 111 1 166 167
+ 112 1 166 168
+ 113 1 169 170
+ 114 1 169 171
+ 115 1 172 173
+ 116 1 172 174
+ 117 1 175 176
+ 118 1 175 177
+ 119 1 178 179
+ 120 1 178 180
+ 121 1 181 182
+ 122 1 181 183
+ 123 1 184 185
+ 124 1 184 186
+ 125 1 187 188
+ 126 1 187 189
+ 127 1 190 191
+ 128 1 190 192
+ 129 1 193 194
+ 130 1 193 195
+ 131 1 196 197
+ 132 1 196 198
+ 133 1 199 200
+ 134 1 199 201
+ 135 1 202 203
+ 136 1 202 204
+ 137 1 205 206
+ 138 1 205 207
+ 139 1 208 209
+ 140 1 208 210
+ 141 1 211 212
+ 142 1 211 213
+ 143 1 214 215
+ 144 1 214 216
+ 145 1 217 218
+ 146 1 217 219
+ 147 1 220 221
+ 148 1 220 222
+ 149 1 223 224
+ 150 1 223 225
+ 151 1 226 227
+ 152 1 226 228
+ 153 1 229 230
+ 154 1 229 231
+ 155 1 232 233
+ 156 1 232 234
+ 157 1 235 236
+ 158 1 235 237
+ 159 1 238 239
+ 160 1 238 240
+ 161 1 241 242
+ 162 1 241 243
+ 163 1 244 245
+ 164 1 244 246
+ 165 1 247 248
+ 166 1 247 249
+ 167 1 250 251
+ 168 1 250 252
+ 169 1 253 254
+ 170 1 253 255
+ 171 1 256 257
+ 172 1 256 258
+ 173 1 259 260
+ 174 1 259 261
+ 175 1 262 263
+ 176 1 262 264
+ 177 1 265 266
+ 178 1 265 267
+ 179 1 268 269
+ 180 1 268 270
+ 181 1 271 272
+ 182 1 271 273
+ 183 1 274 275
+ 184 1 274 276
+ 185 1 277 278
+ 186 1 277 279
+ 187 1 280 281
+ 188 1 280 282
+ 189 1 283 284
+ 190 1 283 285
+ 191 1 286 287
+ 192 1 286 288
+ 193 1 289 290
+ 194 1 289 291
+ 195 1 292 293
+ 196 1 292 294
+ 197 1 295 296
+ 198 1 295 297
+ 199 1 298 299
+ 200 1 298 300
+ 201 1 301 302
+ 202 1 301 303
+ 203 1 304 305
+ 204 1 304 306
+ 205 1 307 308
+ 206 1 307 309
+ 207 1 310 311
+ 208 1 310 312
+ 209 1 313 314
+ 210 1 313 315
+ 211 1 316 317
+ 212 1 316 318
+ 213 1 319 320
+ 214 1 319 321
+ 215 1 322 323
+ 216 1 322 324
+ 217 1 325 326
+ 218 1 325 327
+ 219 1 328 329
+ 220 1 328 330
+ 221 1 331 332
+ 222 1 331 333
+ 223 1 334 335
+ 224 1 334 336
+ 225 1 337 338
+ 226 1 337 339
+ 227 1 340 341
+ 228 1 340 342
+ 229 1 343 344
+ 230 1 343 345
+ 231 1 346 347
+ 232 1 346 348
+ 233 1 349 350
+ 234 1 349 351
+ 235 1 352 353
+ 236 1 352 354
+ 237 1 355 356
+ 238 1 355 357
+ 239 1 358 359
+ 240 1 358 360
+ 241 1 361 362
+ 242 1 361 363
+ 243 1 364 365
+ 244 1 364 366
+ 245 1 367 368
+ 246 1 367 369
+ 247 1 370 371
+ 248 1 370 372
+ 249 1 373 374
+ 250 1 373 375
+ 251 1 376 377
+ 252 1 376 378
+ 253 1 379 380
+ 254 1 379 381
+ 255 1 382 383
+ 256 1 382 384
+ 257 1 385 386
+ 258 1 385 387
+ 259 1 388 389
+ 260 1 388 390
+ 261 1 391 392
+ 262 1 391 393
+ 263 1 394 395
+ 264 1 394 396
+ 265 1 397 398
+ 266 1 397 399
+ 267 1 400 401
+ 268 1 400 402
+ 269 1 403 404
+ 270 1 403 405
+ 271 1 406 407
+ 272 1 406 408
+ 273 1 409 410
+ 274 1 409 411
+ 275 1 412 413
+ 276 1 412 414
+ 277 1 415 416
+ 278 1 415 417
+ 279 1 418 419
+ 280 1 418 420
+ 281 1 421 422
+ 282 1 421 423
+ 283 1 424 425
+ 284 1 424 426
+ 285 1 427 428
+ 286 1 427 429
+ 287 1 430 431
+ 288 1 430 432
+ 289 1 433 434
+ 290 1 433 435
+ 291 1 436 437
+ 292 1 436 438
+ 293 1 439 440
+ 294 1 439 441
+ 295 1 442 443
+ 296 1 442 444
+ 297 1 445 446
+ 298 1 445 447
+ 299 1 448 449
+ 300 1 448 450
+ 301 1 451 452
+ 302 1 451 453
+ 303 1 454 455
+ 304 1 454 456
+ 305 1 457 458
+ 306 1 457 459
+ 307 1 460 461
+ 308 1 460 462
+ 309 1 463 464
+ 310 1 463 465
+ 311 1 466 467
+ 312 1 466 468
+ 313 1 469 470
+ 314 1 469 471
+ 315 1 472 473
+ 316 1 472 474
+ 317 1 475 476
+ 318 1 475 477
+ 319 1 478 479
+ 320 1 478 480
+ 321 1 481 482
+ 322 1 481 483
+ 323 1 484 485
+ 324 1 484 486
+ 325 1 487 488
+ 326 1 487 489
+ 327 1 490 491
+ 328 1 490 492
+ 329 1 493 494
+ 330 1 493 495
+ 331 1 496 497
+ 332 1 496 498
+ 333 1 499 500
+ 334 1 499 501
+ 335 1 502 503
+ 336 1 502 504
+ 337 1 505 506
+ 338 1 505 507
+ 339 1 508 509
+ 340 1 508 510
+ 341 1 511 512
+ 342 1 511 513
+ 343 1 514 515
+ 344 1 514 516
+ 345 1 517 518
+ 346 1 517 519
+ 347 1 520 521
+ 348 1 520 522
+ 349 1 523 524
+ 350 1 523 525
+ 351 1 526 527
+ 352 1 526 528
+ 353 1 529 530
+ 354 1 529 531
+ 355 1 532 533
+ 356 1 532 534
+ 357 1 535 536
+ 358 1 535 537
+ 359 1 538 539
+ 360 1 538 540
+ 361 1 541 542
+ 362 1 541 543
+ 363 1 544 545
+ 364 1 544 546
+ 365 1 547 548
+ 366 1 547 549
+ 367 1 550 551
+ 368 1 550 552
+ 369 1 553 554
+ 370 1 553 555
+ 371 1 556 557
+ 372 1 556 558
+ 373 1 559 560
+ 374 1 559 561
+ 375 1 562 563
+ 376 1 562 564
+ 377 1 565 566
+ 378 1 565 567
+ 379 1 568 569
+ 380 1 568 570
+ 381 1 571 572
+ 382 1 571 573
+ 383 1 574 575
+ 384 1 574 576
+ 385 1 577 578
+ 386 1 577 579
+ 387 1 580 581
+ 388 1 580 582
+ 389 1 583 584
+ 390 1 583 585
+ 391 1 586 587
+ 392 1 586 588
+ 393 1 589 590
+ 394 1 589 591
+ 395 1 592 593
+ 396 1 592 594
+ 397 1 595 596
+ 398 1 595 597
+ 399 1 598 599
+ 400 1 598 600
+ 401 1 601 602
+ 402 1 601 603
+ 403 1 604 605
+ 404 1 604 606
+ 405 1 607 608
+ 406 1 607 609
+ 407 1 610 611
+ 408 1 610 612
+ 409 1 613 614
+ 410 1 613 615
+ 411 1 616 617
+ 412 1 616 618
+ 413 1 619 620
+ 414 1 619 621
+ 415 1 622 623
+ 416 1 622 624
+ 417 1 625 626
+ 418 1 625 627
+ 419 1 628 629
+ 420 1 628 630
+ 421 1 631 632
+ 422 1 631 633
+ 423 1 634 635
+ 424 1 634 636
+ 425 1 637 638
+ 426 1 637 639
+ 427 1 640 641
+ 428 1 640 642
+ 429 1 643 644
+ 430 1 643 645
+ 431 1 646 647
+ 432 1 646 648
+
+Angles
+
+ 1 1 2 1 3
+ 2 1 5 4 6
+ 3 1 8 7 9
+ 4 1 11 10 12
+ 5 1 14 13 15
+ 6 1 17 16 18
+ 7 1 20 19 21
+ 8 1 23 22 24
+ 9 1 26 25 27
+ 10 1 29 28 30
+ 11 1 32 31 33
+ 12 1 35 34 36
+ 13 1 38 37 39
+ 14 1 41 40 42
+ 15 1 44 43 45
+ 16 1 47 46 48
+ 17 1 50 49 51
+ 18 1 53 52 54
+ 19 1 56 55 57
+ 20 1 59 58 60
+ 21 1 62 61 63
+ 22 1 65 64 66
+ 23 1 68 67 69
+ 24 1 71 70 72
+ 25 1 74 73 75
+ 26 1 77 76 78
+ 27 1 80 79 81
+ 28 1 83 82 84
+ 29 1 86 85 87
+ 30 1 89 88 90
+ 31 1 92 91 93
+ 32 1 95 94 96
+ 33 1 98 97 99
+ 34 1 101 100 102
+ 35 1 104 103 105
+ 36 1 107 106 108
+ 37 1 110 109 111
+ 38 1 113 112 114
+ 39 1 116 115 117
+ 40 1 119 118 120
+ 41 1 122 121 123
+ 42 1 125 124 126
+ 43 1 128 127 129
+ 44 1 131 130 132
+ 45 1 134 133 135
+ 46 1 137 136 138
+ 47 1 140 139 141
+ 48 1 143 142 144
+ 49 1 146 145 147
+ 50 1 149 148 150
+ 51 1 152 151 153
+ 52 1 155 154 156
+ 53 1 158 157 159
+ 54 1 161 160 162
+ 55 1 164 163 165
+ 56 1 167 166 168
+ 57 1 170 169 171
+ 58 1 173 172 174
+ 59 1 176 175 177
+ 60 1 179 178 180
+ 61 1 182 181 183
+ 62 1 185 184 186
+ 63 1 188 187 189
+ 64 1 191 190 192
+ 65 1 194 193 195
+ 66 1 197 196 198
+ 67 1 200 199 201
+ 68 1 203 202 204
+ 69 1 206 205 207
+ 70 1 209 208 210
+ 71 1 212 211 213
+ 72 1 215 214 216
+ 73 1 218 217 219
+ 74 1 221 220 222
+ 75 1 224 223 225
+ 76 1 227 226 228
+ 77 1 230 229 231
+ 78 1 233 232 234
+ 79 1 236 235 237
+ 80 1 239 238 240
+ 81 1 242 241 243
+ 82 1 245 244 246
+ 83 1 248 247 249
+ 84 1 251 250 252
+ 85 1 254 253 255
+ 86 1 257 256 258
+ 87 1 260 259 261
+ 88 1 263 262 264
+ 89 1 266 265 267
+ 90 1 269 268 270
+ 91 1 272 271 273
+ 92 1 275 274 276
+ 93 1 278 277 279
+ 94 1 281 280 282
+ 95 1 284 283 285
+ 96 1 287 286 288
+ 97 1 290 289 291
+ 98 1 293 292 294
+ 99 1 296 295 297
+ 100 1 299 298 300
+ 101 1 302 301 303
+ 102 1 305 304 306
+ 103 1 308 307 309
+ 104 1 311 310 312
+ 105 1 314 313 315
+ 106 1 317 316 318
+ 107 1 320 319 321
+ 108 1 323 322 324
+ 109 1 326 325 327
+ 110 1 329 328 330
+ 111 1 332 331 333
+ 112 1 335 334 336
+ 113 1 338 337 339
+ 114 1 341 340 342
+ 115 1 344 343 345
+ 116 1 347 346 348
+ 117 1 350 349 351
+ 118 1 353 352 354
+ 119 1 356 355 357
+ 120 1 359 358 360
+ 121 1 362 361 363
+ 122 1 365 364 366
+ 123 1 368 367 369
+ 124 1 371 370 372
+ 125 1 374 373 375
+ 126 1 377 376 378
+ 127 1 380 379 381
+ 128 1 383 382 384
+ 129 1 386 385 387
+ 130 1 389 388 390
+ 131 1 392 391 393
+ 132 1 395 394 396
+ 133 1 398 397 399
+ 134 1 401 400 402
+ 135 1 404 403 405
+ 136 1 407 406 408
+ 137 1 410 409 411
+ 138 1 413 412 414
+ 139 1 416 415 417
+ 140 1 419 418 420
+ 141 1 422 421 423
+ 142 1 425 424 426
+ 143 1 428 427 429
+ 144 1 431 430 432
+ 145 1 434 433 435
+ 146 1 437 436 438
+ 147 1 440 439 441
+ 148 1 443 442 444
+ 149 1 446 445 447
+ 150 1 449 448 450
+ 151 1 452 451 453
+ 152 1 455 454 456
+ 153 1 458 457 459
+ 154 1 461 460 462
+ 155 1 464 463 465
+ 156 1 467 466 468
+ 157 1 470 469 471
+ 158 1 473 472 474
+ 159 1 476 475 477
+ 160 1 479 478 480
+ 161 1 482 481 483
+ 162 1 485 484 486
+ 163 1 488 487 489
+ 164 1 491 490 492
+ 165 1 494 493 495
+ 166 1 497 496 498
+ 167 1 500 499 501
+ 168 1 503 502 504
+ 169 1 506 505 507
+ 170 1 509 508 510
+ 171 1 512 511 513
+ 172 1 515 514 516
+ 173 1 518 517 519
+ 174 1 521 520 522
+ 175 1 524 523 525
+ 176 1 527 526 528
+ 177 1 530 529 531
+ 178 1 533 532 534
+ 179 1 536 535 537
+ 180 1 539 538 540
+ 181 1 542 541 543
+ 182 1 545 544 546
+ 183 1 548 547 549
+ 184 1 551 550 552
+ 185 1 554 553 555
+ 186 1 557 556 558
+ 187 1 560 559 561
+ 188 1 563 562 564
+ 189 1 566 565 567
+ 190 1 569 568 570
+ 191 1 572 571 573
+ 192 1 575 574 576
+ 193 1 578 577 579
+ 194 1 581 580 582
+ 195 1 584 583 585
+ 196 1 587 586 588
+ 197 1 590 589 591
+ 198 1 593 592 594
+ 199 1 596 595 597
+ 200 1 599 598 600
+ 201 1 602 601 603
+ 202 1 605 604 606
+ 203 1 608 607 609
+ 204 1 611 610 612
+ 205 1 614 613 615
+ 206 1 617 616 618
+ 207 1 620 619 621
+ 208 1 623 622 624
+ 209 1 626 625 627
+ 210 1 629 628 630
+ 211 1 632 631 633
+ 212 1 635 634 636
+ 213 1 638 637 639
+ 214 1 641 640 642
+ 215 1 644 643 645
+ 216 1 647 646 648
diff --git a/tools/i-pi/examples/lammps/h2o-piglet.8/in.water b/tools/i-pi/examples/lammps/h2o-piglet.8/in.water
new file mode 100644
index 0000000000..9592d112f5
--- /dev/null
+++ b/tools/i-pi/examples/lammps/h2o-piglet.8/in.water
@@ -0,0 +1,32 @@
+units		electron
+atom_style	full
+
+#pair_style	lj/cut/coul/long 17.01
+pair_style      lj/cut/tip4p/long 1 2 1 1 0.278072379 17.007
+#bond_style      harmonic
+bond_style      class2 
+angle_style     harmonic
+#kspace_style	pppm 0.0001
+kspace_style	pppm/tip4p 0.0001
+
+read_data	data.water
+pair_coeff  * * 0 0
+pair_coeff  1  1  0.000295147 5.96946
+
+neighbor	2.0 bin
+
+timestep	0.00025
+
+#velocity all create 298.0 2345187
+
+#thermo_style	multi
+#thermo		1
+
+#fix		1 all nvt temp 298.0 298.0 30.0 tchain 1
+#fix 1 all nve
+fix 1 all ipi piglet_8 32342 unix
+
+#dump		1 all xyz 25 dump.xyz
+
+run		100000000
+
diff --git a/tools/i-pi/examples/lammps/h2o-piglet.8/input.xml b/tools/i-pi/examples/lammps/h2o-piglet.8/input.xml
new file mode 100644
index 0000000000..ace4d7f3de
--- /dev/null
+++ b/tools/i-pi/examples/lammps/h2o-piglet.8/input.xml
@@ -0,0 +1,49 @@
+<simulation>
+   <initialize nbeads='8'> 
+      <file mode='pdb'> water_298K.pdb </file>
+      <velocities mode="thermal" units='kelvin'> 298 </velocities>
+   </initialize>
+   <output prefix='gle_lammps'>
+      <properties stride='1' filename='out'>  [ step, time{picosecond}, conserved{kelvin}, temperature{kelvin}, kinetic_cv{kelvin}, potential{kelvin}, pressure_cv{megapascal}] </properties>
+      <trajectory filename='pos' stride='20'> positions </trajectory>
+   </output>
+   <total_steps>500000</total_steps>
+   <prng><seed>32342</seed></prng>
+   <forces>
+      <socket mode='unix'>
+         <address>piglet_8</address>
+      </socket>
+   </forces>
+   <ensemble mode='nvt'>
+  <thermostat mode='nm_gle'>
+    <A shape='(8,9,9)'>
+[
+   1.300513766690e-2,     9.078220950722e-6,     8.180522706851e-6,     1.196620464216e-5,     1.108609196233e-4,    -8.941338246404e-4,     7.817382329484e-3,    -1.206049888192e-2,    -5.215913547478e-2,    -9.756343549369e-6,     2.131200614277e-7,     2.972243541454e-6,    -4.459298032276e-6,     2.177011229810e-7,     4.960251269751e-7,    -2.083064995647e-6,    -7.004617074013e-6,     2.299410255689e-5,    -1.851243089560e-6,    -2.972243541454e-6,     1.956991859501e-6,     1.742357040415e-6,    -2.082265548357e-6,    -1.760771137012e-6,    -3.733162998255e-6,    -3.711884630223e-5,    -3.625483838477e-5,     1.492481502899e-5,     4.459298032276e-6,    -1.742357040415e-6,     5.092476869103e-6,     2.033910859306e-6,     5.856365217540e-7,    -3.020170664006e-6,     1.868034354962e-5,    -5.049113665348e-6,     1.059383195368e-4,    -2.177011229810e-7,     2.082265548357e-6,    -2.033910859306e-6,     5.467813757620e-5,    -6.684243951800e-6,    -9.770331146786e-7,    -2.159991642805e-4,     4.667176340213e-4,    -7.611448585233e-4,    -4.960251269751e-7,     1.760771137012e-6,    -5.856365217540e-7,     6.684243951800e-6,     6.616597356640e-4,    -1.637891086976e-6,    -2.056652206438e-4,     2.960975881160e-4,     7.659946833472e-3,     2.083064995647e-6,     3.733162998255e-6,     3.020170664006e-6,     9.770331146786e-7,     1.637891086976e-6,     6.390977118535e-3,    -6.246090363901e-5,     5.054994461623e-4,    -1.078245092236e-2,     7.004617074013e-6,     3.711884630223e-5,    -1.868034354962e-5,     2.159991642805e-4,     2.056652206438e-4,     6.246090363901e-5,     1.730397061203e-1,     1.004651317366e-4,    -5.467410217589e-2,    -2.299410255689e-5,     3.625483838477e-5,     5.049113665348e-6,    -4.667176340213e-4,    -2.960975881160e-4,    -5.054994461623e-4,    -1.004651317366e-4,     1.795223909984e+0,  
+   8.433361179684e-6,     5.985771048989e-3,     0.000000000000e+0,     1.106850007061e-2,     0.000000000000e+0,     4.737897597685e-3,     0.000000000000e+0,     2.344265458323e-4,     0.000000000000e+0,    -5.985771048989e-3,     9.461326310093e-2,     9.829968606252e-3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -9.829968606252e-3,    1.889231157037e-14,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -1.106850007061e-2,     0.000000000000e+0,     0.000000000000e+0,     1.488504300030e-2,     4.214899343968e-3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -4.214899343968e-3,    1.889231157037e-14,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -4.737897597685e-3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     3.514677295700e-2,     8.541932660186e-3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -8.541932660186e-3,    1.889231157037e-14,     0.000000000000e+0,     0.000000000000e+0,    -2.344265458323e-4,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     2.199180080880e-4,     3.798554823700e-3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -3.798554823700e-3,    1.889231157037e-14,  
+   8.433361179684e-6,     5.985771048989e-3,     0.000000000000e+0,     1.106850007061e-2,     0.000000000000e+0,     4.737897597685e-3,     0.000000000000e+0,     2.344265458323e-4,     0.000000000000e+0,    -5.985771048989e-3,     9.461326310093e-2,     9.829968606252e-3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -9.829968606252e-3,    1.889231157037e-14,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -1.106850007061e-2,     0.000000000000e+0,     0.000000000000e+0,     1.488504300030e-2,     4.214899343968e-3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -4.214899343968e-3,    1.889231157037e-14,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -4.737897597685e-3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     3.514677295700e-2,     8.541932660186e-3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -8.541932660186e-3,    1.889231157037e-14,     0.000000000000e+0,     0.000000000000e+0,    -2.344265458323e-4,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     2.199180080880e-4,     3.798554823700e-3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -3.798554823700e-3,    1.889231157037e-14,  
+   8.433361179684e-6,     5.985771048989e-3,     0.000000000000e+0,     1.106850007061e-2,     0.000000000000e+0,     4.737897597685e-3,     0.000000000000e+0,     2.344265458323e-4,     0.000000000000e+0,    -5.985771048989e-3,     9.461326310093e-2,     9.829968606252e-3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -9.829968606252e-3,    1.889231157037e-14,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -1.106850007061e-2,     0.000000000000e+0,     0.000000000000e+0,     1.488504300030e-2,     4.214899343968e-3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -4.214899343968e-3,    1.889231157037e-14,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -4.737897597685e-3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     3.514677295700e-2,     8.541932660186e-3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -8.541932660186e-3,    1.889231157037e-14,     0.000000000000e+0,     0.000000000000e+0,    -2.344265458323e-4,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     2.199180080880e-4,     3.798554823700e-3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -3.798554823700e-3,    1.889231157037e-14,  
+   8.433361179684e-6,     5.985771048989e-3,     0.000000000000e+0,     1.106850007061e-2,     0.000000000000e+0,     4.737897597685e-3,     0.000000000000e+0,     2.344265458323e-4,     0.000000000000e+0,    -5.985771048989e-3,     9.461326310093e-2,     9.829968606252e-3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -9.829968606252e-3,    1.889231157037e-14,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -1.106850007061e-2,     0.000000000000e+0,     0.000000000000e+0,     1.488504300030e-2,     4.214899343968e-3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -4.214899343968e-3,    1.889231157037e-14,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -4.737897597685e-3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     3.514677295700e-2,     8.541932660186e-3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -8.541932660186e-3,    1.889231157037e-14,     0.000000000000e+0,     0.000000000000e+0,    -2.344265458323e-4,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     2.199180080880e-4,     3.798554823700e-3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -3.798554823700e-3,    1.889231157037e-14,  
+   8.433361179684e-6,     5.985771048989e-3,     0.000000000000e+0,     1.106850007061e-2,     0.000000000000e+0,     4.737897597685e-3,     0.000000000000e+0,     2.344265458323e-4,     0.000000000000e+0,    -5.985771048989e-3,     9.461326310093e-2,     9.829968606252e-3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -9.829968606252e-3,    1.889231157037e-14,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -1.106850007061e-2,     0.000000000000e+0,     0.000000000000e+0,     1.488504300030e-2,     4.214899343968e-3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -4.214899343968e-3,    1.889231157037e-14,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -4.737897597685e-3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     3.514677295700e-2,     8.541932660186e-3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -8.541932660186e-3,    1.889231157037e-14,     0.000000000000e+0,     0.000000000000e+0,    -2.344265458323e-4,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     2.199180080880e-4,     3.798554823700e-3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -3.798554823700e-3,    1.889231157037e-14,  
+   8.433361179684e-6,     5.985771048989e-3,     0.000000000000e+0,     1.106850007061e-2,     0.000000000000e+0,     4.737897597685e-3,     0.000000000000e+0,     2.344265458323e-4,     0.000000000000e+0,    -5.985771048989e-3,     9.461326310093e-2,     9.829968606252e-3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -9.829968606252e-3,    1.889231157037e-14,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -1.106850007061e-2,     0.000000000000e+0,     0.000000000000e+0,     1.488504300030e-2,     4.214899343968e-3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -4.214899343968e-3,    1.889231157037e-14,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -4.737897597685e-3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     3.514677295700e-2,     8.541932660186e-3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -8.541932660186e-3,    1.889231157037e-14,     0.000000000000e+0,     0.000000000000e+0,    -2.344265458323e-4,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     2.199180080880e-4,     3.798554823700e-3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -3.798554823700e-3,    1.889231157037e-14,  
+   8.433361179684e-6,     5.985771048989e-3,     0.000000000000e+0,     1.106850007061e-2,     0.000000000000e+0,     4.737897597685e-3,     0.000000000000e+0,     2.344265458323e-4,     0.000000000000e+0,    -5.985771048989e-3,     9.461326310093e-2,     9.829968606252e-3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -9.829968606252e-3,    1.889231157037e-14,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -1.106850007061e-2,     0.000000000000e+0,     0.000000000000e+0,     1.488504300030e-2,     4.214899343968e-3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -4.214899343968e-3,    1.889231157037e-14,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -4.737897597685e-3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     3.514677295700e-2,     8.541932660186e-3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -8.541932660186e-3,    1.889231157037e-14,     0.000000000000e+0,     0.000000000000e+0,    -2.344265458323e-4,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     2.199180080880e-4,     3.798554823700e-3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,    -3.798554823700e-3,    1.889231157037e-14
+]
+    </A>
+    <C shape='(8,9,9)' units='kelvin'>
+[
+     2.384000000000e+3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     2.384000000000e+3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     2.384000000000e+3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     2.384000000000e+3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     2.384000000000e+3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     2.384000000000e+3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     2.384000000000e+3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     2.384000000000e+3,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     0.000000000000e+0,     2.384000000000e+3,
+     2.698549372188e+3,    -1.368081060516e+3,    -3.209415830440e+3,     8.738658365140e+2,     7.268039280880e+2,    -2.513005676292e+2,    -4.150754888640e+2,    -1.260054684948e+3,    -6.448165752780e+2,    -1.368081060516e+3,     2.965586458180e+4,     5.268769597220e-8,    -5.555628715240e+0,     4.972346413560e+2,    -5.924916939780e+1,     1.075269335280e+2,    -8.318280168320e+1,    -1.172679285326e+0,    -3.209415830440e+3,     5.268504922560e-8,     2.770155230160e+4,    -1.159648313612e+3,    -4.345682898960e+3,    -1.237408936636e+2,    -1.339182640444e+3,     3.034680577260e+0,    -4.135056752260e+2,     8.738658365140e+2,    -5.555628715240e+0,    -1.159648313612e+3,     1.243175060816e+3,     1.278480055046e-8,     5.970691220840e+1,    -2.520026819128e+2,    -9.347295856760e+2,    -4.292224714720e+2,     7.268039280880e+2,     4.972346413560e+2,    -4.345682898960e+3,     1.278476746650e-8,     3.151792246900e+3,     1.243472620074e+2,    -7.904812686860e+1,     4.762678432220e+2,    -1.019900735322e+3,    -2.513005676292e+2,    -5.924916939780e+1,    -1.237408936636e+2,     5.970691220840e+1,     1.243472620074e+2,     5.255446383760e+3,     1.045563267562e-8,    -1.725915110312e+2,    -4.871461433960e+0,    -4.150754888640e+2,     1.075269335280e+2,    -1.339182640444e+3,    -2.520026819128e+2,    -7.904812686860e+1,     1.045503715242e-8,     5.025219194680e+3,     1.095461232690e+1,    -4.143625581340e+2,    -1.260054684948e+3,    -8.318280168320e+1,     3.034680577260e+0,    -9.347295856760e+2,     4.762678432220e+2,    -1.725915110312e+2,     1.095461232690e+1,     6.411989938480e+4,     3.172261366260e-7,    -6.448165752780e+2,    -1.172679285326e+0,    -4.135056752260e+2,    -4.292224714720e+2,    -1.019900735322e+3,    -4.871461433960e+0,    -4.143625581340e+2,     3.172261720880e-7,     6.408010473300e+4,
+     2.698549372188e+3,    -1.368081060516e+3,    -3.209415830440e+3,     8.738658365140e+2,     7.268039280880e+2,    -2.513005676292e+2,    -4.150754888640e+2,    -1.260054684948e+3,    -6.448165752780e+2,    -1.368081060516e+3,     2.965586458180e+4,     5.268769597220e-8,    -5.555628715240e+0,     4.972346413560e+2,    -5.924916939780e+1,     1.075269335280e+2,    -8.318280168320e+1,    -1.172679285326e+0,    -3.209415830440e+3,     5.268504922560e-8,     2.770155230160e+4,    -1.159648313612e+3,    -4.345682898960e+3,    -1.237408936636e+2,    -1.339182640444e+3,     3.034680577260e+0,    -4.135056752260e+2,     8.738658365140e+2,    -5.555628715240e+0,    -1.159648313612e+3,     1.243175060816e+3,     1.278480055046e-8,     5.970691220840e+1,    -2.520026819128e+2,    -9.347295856760e+2,    -4.292224714720e+2,     7.268039280880e+2,     4.972346413560e+2,    -4.345682898960e+3,     1.278476746650e-8,     3.151792246900e+3,     1.243472620074e+2,    -7.904812686860e+1,     4.762678432220e+2,    -1.019900735322e+3,    -2.513005676292e+2,    -5.924916939780e+1,    -1.237408936636e+2,     5.970691220840e+1,     1.243472620074e+2,     5.255446383760e+3,     1.045563267562e-8,    -1.725915110312e+2,    -4.871461433960e+0,    -4.150754888640e+2,     1.075269335280e+2,    -1.339182640444e+3,    -2.520026819128e+2,    -7.904812686860e+1,     1.045503715242e-8,     5.025219194680e+3,     1.095461232690e+1,    -4.143625581340e+2,    -1.260054684948e+3,    -8.318280168320e+1,     3.034680577260e+0,    -9.347295856760e+2,     4.762678432220e+2,    -1.725915110312e+2,     1.095461232690e+1,     6.411989938480e+4,     3.172261366260e-7,    -6.448165752780e+2,    -1.172679285326e+0,    -4.135056752260e+2,    -4.292224714720e+2,    -1.019900735322e+3,    -4.871461433960e+0,    -4.143625581340e+2,     3.172261720880e-7,     6.408010473300e+4,
+     2.698549372188e+3,    -1.368081060516e+3,    -3.209415830440e+3,     8.738658365140e+2,     7.268039280880e+2,    -2.513005676292e+2,    -4.150754888640e+2,    -1.260054684948e+3,    -6.448165752780e+2,    -1.368081060516e+3,     2.965586458180e+4,     5.268769597220e-8,    -5.555628715240e+0,     4.972346413560e+2,    -5.924916939780e+1,     1.075269335280e+2,    -8.318280168320e+1,    -1.172679285326e+0,    -3.209415830440e+3,     5.268504922560e-8,     2.770155230160e+4,    -1.159648313612e+3,    -4.345682898960e+3,    -1.237408936636e+2,    -1.339182640444e+3,     3.034680577260e+0,    -4.135056752260e+2,     8.738658365140e+2,    -5.555628715240e+0,    -1.159648313612e+3,     1.243175060816e+3,     1.278480055046e-8,     5.970691220840e+1,    -2.520026819128e+2,    -9.347295856760e+2,    -4.292224714720e+2,     7.268039280880e+2,     4.972346413560e+2,    -4.345682898960e+3,     1.278476746650e-8,     3.151792246900e+3,     1.243472620074e+2,    -7.904812686860e+1,     4.762678432220e+2,    -1.019900735322e+3,    -2.513005676292e+2,    -5.924916939780e+1,    -1.237408936636e+2,     5.970691220840e+1,     1.243472620074e+2,     5.255446383760e+3,     1.045563267562e-8,    -1.725915110312e+2,    -4.871461433960e+0,    -4.150754888640e+2,     1.075269335280e+2,    -1.339182640444e+3,    -2.520026819128e+2,    -7.904812686860e+1,     1.045503715242e-8,     5.025219194680e+3,     1.095461232690e+1,    -4.143625581340e+2,    -1.260054684948e+3,    -8.318280168320e+1,     3.034680577260e+0,    -9.347295856760e+2,     4.762678432220e+2,    -1.725915110312e+2,     1.095461232690e+1,     6.411989938480e+4,     3.172261366260e-7,    -6.448165752780e+2,    -1.172679285326e+0,    -4.135056752260e+2,    -4.292224714720e+2,    -1.019900735322e+3,    -4.871461433960e+0,    -4.143625581340e+2,     3.172261720880e-7,     6.408010473300e+4,
+     2.698549372188e+3,    -1.368081060516e+3,    -3.209415830440e+3,     8.738658365140e+2,     7.268039280880e+2,    -2.513005676292e+2,    -4.150754888640e+2,    -1.260054684948e+3,    -6.448165752780e+2,    -1.368081060516e+3,     2.965586458180e+4,     5.268769597220e-8,    -5.555628715240e+0,     4.972346413560e+2,    -5.924916939780e+1,     1.075269335280e+2,    -8.318280168320e+1,    -1.172679285326e+0,    -3.209415830440e+3,     5.268504922560e-8,     2.770155230160e+4,    -1.159648313612e+3,    -4.345682898960e+3,    -1.237408936636e+2,    -1.339182640444e+3,     3.034680577260e+0,    -4.135056752260e+2,     8.738658365140e+2,    -5.555628715240e+0,    -1.159648313612e+3,     1.243175060816e+3,     1.278480055046e-8,     5.970691220840e+1,    -2.520026819128e+2,    -9.347295856760e+2,    -4.292224714720e+2,     7.268039280880e+2,     4.972346413560e+2,    -4.345682898960e+3,     1.278476746650e-8,     3.151792246900e+3,     1.243472620074e+2,    -7.904812686860e+1,     4.762678432220e+2,    -1.019900735322e+3,    -2.513005676292e+2,    -5.924916939780e+1,    -1.237408936636e+2,     5.970691220840e+1,     1.243472620074e+2,     5.255446383760e+3,     1.045563267562e-8,    -1.725915110312e+2,    -4.871461433960e+0,    -4.150754888640e+2,     1.075269335280e+2,    -1.339182640444e+3,    -2.520026819128e+2,    -7.904812686860e+1,     1.045503715242e-8,     5.025219194680e+3,     1.095461232690e+1,    -4.143625581340e+2,    -1.260054684948e+3,    -8.318280168320e+1,     3.034680577260e+0,    -9.347295856760e+2,     4.762678432220e+2,    -1.725915110312e+2,     1.095461232690e+1,     6.411989938480e+4,     3.172261366260e-7,    -6.448165752780e+2,    -1.172679285326e+0,    -4.135056752260e+2,    -4.292224714720e+2,    -1.019900735322e+3,    -4.871461433960e+0,    -4.143625581340e+2,     3.172261720880e-7,     6.408010473300e+4,
+     2.698549372188e+3,    -1.368081060516e+3,    -3.209415830440e+3,     8.738658365140e+2,     7.268039280880e+2,    -2.513005676292e+2,    -4.150754888640e+2,    -1.260054684948e+3,    -6.448165752780e+2,    -1.368081060516e+3,     2.965586458180e+4,     5.268769597220e-8,    -5.555628715240e+0,     4.972346413560e+2,    -5.924916939780e+1,     1.075269335280e+2,    -8.318280168320e+1,    -1.172679285326e+0,    -3.209415830440e+3,     5.268504922560e-8,     2.770155230160e+4,    -1.159648313612e+3,    -4.345682898960e+3,    -1.237408936636e+2,    -1.339182640444e+3,     3.034680577260e+0,    -4.135056752260e+2,     8.738658365140e+2,    -5.555628715240e+0,    -1.159648313612e+3,     1.243175060816e+3,     1.278480055046e-8,     5.970691220840e+1,    -2.520026819128e+2,    -9.347295856760e+2,    -4.292224714720e+2,     7.268039280880e+2,     4.972346413560e+2,    -4.345682898960e+3,     1.278476746650e-8,     3.151792246900e+3,     1.243472620074e+2,    -7.904812686860e+1,     4.762678432220e+2,    -1.019900735322e+3,    -2.513005676292e+2,    -5.924916939780e+1,    -1.237408936636e+2,     5.970691220840e+1,     1.243472620074e+2,     5.255446383760e+3,     1.045563267562e-8,    -1.725915110312e+2,    -4.871461433960e+0,    -4.150754888640e+2,     1.075269335280e+2,    -1.339182640444e+3,    -2.520026819128e+2,    -7.904812686860e+1,     1.045503715242e-8,     5.025219194680e+3,     1.095461232690e+1,    -4.143625581340e+2,    -1.260054684948e+3,    -8.318280168320e+1,     3.034680577260e+0,    -9.347295856760e+2,     4.762678432220e+2,    -1.725915110312e+2,     1.095461232690e+1,     6.411989938480e+4,     3.172261366260e-7,    -6.448165752780e+2,    -1.172679285326e+0,    -4.135056752260e+2,    -4.292224714720e+2,    -1.019900735322e+3,    -4.871461433960e+0,    -4.143625581340e+2,     3.172261720880e-7,     6.408010473300e+4,
+     2.698549372188e+3,    -1.368081060516e+3,    -3.209415830440e+3,     8.738658365140e+2,     7.268039280880e+2,    -2.513005676292e+2,    -4.150754888640e+2,    -1.260054684948e+3,    -6.448165752780e+2,    -1.368081060516e+3,     2.965586458180e+4,     5.268769597220e-8,    -5.555628715240e+0,     4.972346413560e+2,    -5.924916939780e+1,     1.075269335280e+2,    -8.318280168320e+1,    -1.172679285326e+0,    -3.209415830440e+3,     5.268504922560e-8,     2.770155230160e+4,    -1.159648313612e+3,    -4.345682898960e+3,    -1.237408936636e+2,    -1.339182640444e+3,     3.034680577260e+0,    -4.135056752260e+2,     8.738658365140e+2,    -5.555628715240e+0,    -1.159648313612e+3,     1.243175060816e+3,     1.278480055046e-8,     5.970691220840e+1,    -2.520026819128e+2,    -9.347295856760e+2,    -4.292224714720e+2,     7.268039280880e+2,     4.972346413560e+2,    -4.345682898960e+3,     1.278476746650e-8,     3.151792246900e+3,     1.243472620074e+2,    -7.904812686860e+1,     4.762678432220e+2,    -1.019900735322e+3,    -2.513005676292e+2,    -5.924916939780e+1,    -1.237408936636e+2,     5.970691220840e+1,     1.243472620074e+2,     5.255446383760e+3,     1.045563267562e-8,    -1.725915110312e+2,    -4.871461433960e+0,    -4.150754888640e+2,     1.075269335280e+2,    -1.339182640444e+3,    -2.520026819128e+2,    -7.904812686860e+1,     1.045503715242e-8,     5.025219194680e+3,     1.095461232690e+1,    -4.143625581340e+2,    -1.260054684948e+3,    -8.318280168320e+1,     3.034680577260e+0,    -9.347295856760e+2,     4.762678432220e+2,    -1.725915110312e+2,     1.095461232690e+1,     6.411989938480e+4,     3.172261366260e-7,    -6.448165752780e+2,    -1.172679285326e+0,    -4.135056752260e+2,    -4.292224714720e+2,    -1.019900735322e+3,    -4.871461433960e+0,    -4.143625581340e+2,     3.172261720880e-7,     6.408010473300e+4,
+     2.698549372188e+3,    -1.368081060516e+3,    -3.209415830440e+3,     8.738658365140e+2,     7.268039280880e+2,    -2.513005676292e+2,    -4.150754888640e+2,    -1.260054684948e+3,    -6.448165752780e+2,    -1.368081060516e+3,     2.965586458180e+4,     5.268769597220e-8,    -5.555628715240e+0,     4.972346413560e+2,    -5.924916939780e+1,     1.075269335280e+2,    -8.318280168320e+1,    -1.172679285326e+0,    -3.209415830440e+3,     5.268504922560e-8,     2.770155230160e+4,    -1.159648313612e+3,    -4.345682898960e+3,    -1.237408936636e+2,    -1.339182640444e+3,     3.034680577260e+0,    -4.135056752260e+2,     8.738658365140e+2,    -5.555628715240e+0,    -1.159648313612e+3,     1.243175060816e+3,     1.278480055046e-8,     5.970691220840e+1,    -2.520026819128e+2,    -9.347295856760e+2,    -4.292224714720e+2,     7.268039280880e+2,     4.972346413560e+2,    -4.345682898960e+3,     1.278476746650e-8,     3.151792246900e+3,     1.243472620074e+2,    -7.904812686860e+1,     4.762678432220e+2,    -1.019900735322e+3,    -2.513005676292e+2,    -5.924916939780e+1,    -1.237408936636e+2,     5.970691220840e+1,     1.243472620074e+2,     5.255446383760e+3,     1.045563267562e-8,    -1.725915110312e+2,    -4.871461433960e+0,    -4.150754888640e+2,     1.075269335280e+2,    -1.339182640444e+3,    -2.520026819128e+2,    -7.904812686860e+1,     1.045503715242e-8,     5.025219194680e+3,     1.095461232690e+1,    -4.143625581340e+2,    -1.260054684948e+3,    -8.318280168320e+1,     3.034680577260e+0,    -9.347295856760e+2,     4.762678432220e+2,    -1.725915110312e+2,     1.095461232690e+1,     6.411989938480e+4,     3.172261366260e-7,    -6.448165752780e+2,    -1.172679285326e+0,    -4.135056752260e+2,    -4.292224714720e+2,    -1.019900735322e+3,    -4.871461433960e+0,    -4.143625581340e+2,     3.172261720880e-7,     6.408010473300e+4
+]
+    </C>
+  </thermostat>
+
+
+      <timestep units='femtosecond'> 0.1</timestep>
+      <temperature units='kelvin'>298</temperature>
+   </ensemble>
+</simulation>
diff --git a/tools/i-pi/examples/lammps/h2o-piglet.8/water_298K.pdb b/tools/i-pi/examples/lammps/h2o-piglet.8/water_298K.pdb
new file mode 100644
index 0000000000..e8509c868e
--- /dev/null
+++ b/tools/i-pi/examples/lammps/h2o-piglet.8/water_298K.pdb
@@ -0,0 +1,650 @@
+CRYST   35.233   35.233   35.233  90.00  90.00  90.00 P 1          1
+ATOM      1    O   1     1       3.846   5.672   1.323  0.00  0.00            0
+ATOM      2    H   1     1       2.979   7.054   0.857  0.00  0.00            0
+ATOM      3    H   1     1       5.525   5.697   0.451  0.00  0.00            0
+ATOM      4    O   1     1      34.557  34.341   3.078  0.00  0.00            0
+ATOM      5    H   1     1      33.722  34.689   4.840  0.00  0.00            0
+ATOM      6    H   1     1      36.029  33.220   3.711  0.00  0.00            0
+ATOM      7    O   1     1       5.591   1.963  13.477  0.00  0.00            0
+ATOM      8    H   1     1       7.265   1.864  13.851  0.00  0.00            0
+ATOM      9    H   1     1       5.009   3.555  13.916  0.00  0.00            0
+ATOM     10    O   1     1       1.060   2.061  21.718  0.00  0.00            0
+ATOM     11    H   1     1       0.757   0.261  21.820  0.00  0.00            0
+ATOM     12    H   1     1       0.213   3.013  23.047  0.00  0.00            0
+ATOM     13    O   1     1       1.200   1.337  29.006  0.00  0.00            0
+ATOM     14    H   1     1       0.818   1.884  30.732  0.00  0.00            0
+ATOM     15    H   1     1       2.883   1.825  29.011  0.00  0.00            0
+ATOM     16    O   1     1       1.331   1.386  34.306  0.00  0.00            0
+ATOM     17    H   1     1       2.392   2.898  34.846  0.00  0.00            0
+ATOM     18    H   1     1       0.814   0.532  35.836  0.00  0.00            0
+ATOM     19    O   1     1      31.451  10.201   0.726  0.00  0.00            0
+ATOM     20    H   1     1      32.282  10.877  -0.750  0.00  0.00            0
+ATOM     21    H   1     1      30.920  11.594   1.677  0.00  0.00            0
+ATOM     22    O   1     1       0.836  10.808   4.298  0.00  0.00            0
+ATOM     23    H   1     1       0.305  10.643   2.793  0.00  0.00            0
+ATOM     24    H   1     1      -0.356  10.334   5.524  0.00  0.00            0
+ATOM     25    O   1     1      34.381   5.979   9.194  0.00  0.00            0
+ATOM     26    H   1     1      33.616   7.673   8.857  0.00  0.00            0
+ATOM     27    H   1     1      35.115   5.260   7.618  0.00  0.00            0
+ATOM     28    O   1     1      33.212   6.480  24.278  0.00  0.00            0
+ATOM     29    H   1     1      31.624   6.908  23.521  0.00  0.00            0
+ATOM     30    H   1     1      32.544   4.990  24.982  0.00  0.00            0
+ATOM     31    O   1     1       1.992   9.002  26.863  0.00  0.00            0
+ATOM     32    H   1     1       1.856  10.175  25.579  0.00  0.00            0
+ATOM     33    H   1     1       0.519   8.099  26.386  0.00  0.00            0
+ATOM     34    O   1     1       2.054   8.660  32.515  0.00  0.00            0
+ATOM     35    H   1     1       2.167   8.727  30.494  0.00  0.00            0
+ATOM     36    H   1     1       2.374  10.513  33.038  0.00  0.00            0
+ATOM     37    O   1     1       3.402  16.639   3.008  0.00  0.00            0
+ATOM     38    H   1     1       4.127  15.872   4.446  0.00  0.00            0
+ATOM     39    H   1     1       2.905  18.339   3.160  0.00  0.00            0
+ATOM     40    O   1     1       4.222  15.444   8.072  0.00  0.00            0
+ATOM     41    H   1     1       5.211  16.756   8.299  0.00  0.00            0
+ATOM     42    H   1     1       2.560  15.492   8.860  0.00  0.00            0
+ATOM     43    O   1     1       2.831   9.246  16.488  0.00  0.00            0
+ATOM     44    H   1     1       2.869   8.023  18.050  0.00  0.00            0
+ATOM     45    H   1     1       3.960   8.467  15.154  0.00  0.00            0
+ATOM     46    O   1     1       5.563   6.003  20.907  0.00  0.00            0
+ATOM     47    H   1     1       4.653   4.638  21.480  0.00  0.00            0
+ATOM     48    H   1     1       6.405   6.208  22.529  0.00  0.00            0
+ATOM     49    O   1     1       2.087  13.370  22.913  0.00  0.00            0
+ATOM     50    H   1     1       2.832  14.804  23.422  0.00  0.00            0
+ATOM     51    H   1     1       1.434  13.509  21.196  0.00  0.00            0
+ATOM     52    O   1     1       3.369  17.886  25.109  0.00  0.00            0
+ATOM     53    H   1     1       3.655  17.200  26.766  0.00  0.00            0
+ATOM     54    H   1     1       4.772  18.977  24.500  0.00  0.00            0
+ATOM     55    O   1     1      34.764  20.803   0.948  0.00  0.00            0
+ATOM     56    H   1     1      35.210  21.267   2.816  0.00  0.00            0
+ATOM     57    H   1     1      35.962  21.726   0.131  0.00  0.00            0
+ATOM     58    O   1     1       2.836  24.178  15.229  0.00  0.00            0
+ATOM     59    H   1     1       2.795  22.346  14.876  0.00  0.00            0
+ATOM     60    H   1     1       2.414  24.115  17.130  0.00  0.00            0
+ATOM     61    O   1     1      33.000  24.481  15.230  0.00  0.00            0
+ATOM     62    H   1     1      34.640  24.804  15.013  0.00  0.00            0
+ATOM     63    H   1     1      32.401  25.764  14.295  0.00  0.00            0
+ATOM     64    O   1     1       0.404  26.779  23.400  0.00  0.00            0
+ATOM     65    H   1     1       1.353  27.248  24.987  0.00  0.00            0
+ATOM     66    H   1     1       1.546  28.050  22.317  0.00  0.00            0
+ATOM     67    O   1     1      34.222  21.380  25.418  0.00  0.00            0
+ATOM     68    H   1     1      35.669  20.151  25.317  0.00  0.00            0
+ATOM     69    H   1     1      32.960  21.180  23.992  0.00  0.00            0
+ATOM     70    O   1     1      33.259  17.438  32.480  0.00  0.00            0
+ATOM     71    H   1     1      33.314  18.782  33.883  0.00  0.00            0
+ATOM     72    H   1     1      32.743  18.181  30.871  0.00  0.00            0
+ATOM     73    O   1     1       4.463  21.979   3.936  0.00  0.00            0
+ATOM     74    H   1     1       5.856  23.084   3.400  0.00  0.00            0
+ATOM     75    H   1     1       3.986  22.180   5.602  0.00  0.00            0
+ATOM     76    O   1     1       6.258  25.851   8.520  0.00  0.00            0
+ATOM     77    H   1     1       5.767  27.693   8.476  0.00  0.00            0
+ATOM     78    H   1     1       7.202  25.506  10.186  0.00  0.00            0
+ATOM     79    O   1     1       0.601  29.737  12.747  0.00  0.00            0
+ATOM     80    H   1     1      -0.685  30.842  12.350  0.00  0.00            0
+ATOM     81    H   1     1       1.336  30.716  14.031  0.00  0.00            0
+ATOM     82    O   1     1       7.563  28.191  24.333  0.00  0.00            0
+ATOM     83    H   1     1       9.201  28.828  24.684  0.00  0.00            0
+ATOM     84    H   1     1       7.381  27.621  22.799  0.00  0.00            0
+ATOM     85    O   1     1       3.653  27.109  27.772  0.00  0.00            0
+ATOM     86    H   1     1       5.126  27.015  26.772  0.00  0.00            0
+ATOM     87    H   1     1       3.031  28.756  27.698  0.00  0.00            0
+ATOM     88    O   1     1       2.596  23.991  32.476  0.00  0.00            0
+ATOM     89    H   1     1       2.879  24.791  30.859  0.00  0.00            0
+ATOM     90    H   1     1       4.003  22.913  32.701  0.00  0.00            0
+ATOM     91    O   1     1       3.083  31.317   3.644  0.00  0.00            0
+ATOM     92    H   1     1       4.133  30.589   2.539  0.00  0.00            0
+ATOM     93    H   1     1       4.218  32.173   5.037  0.00  0.00            0
+ATOM     94    O   1     1       4.661  30.555   9.368  0.00  0.00            0
+ATOM     95    H   1     1       3.184  29.843  10.132  0.00  0.00            0
+ATOM     96    H   1     1       4.358  32.448   9.126  0.00  0.00            0
+ATOM     97    O   1     1       3.465  32.537  15.778  0.00  0.00            0
+ATOM     98    H   1     1       5.072  31.819  15.903  0.00  0.00            0
+ATOM     99    H   1     1       4.055  34.257  15.284  0.00  0.00            0
+ATOM    100    O   1     1       4.215  29.153  20.317  0.00  0.00            0
+ATOM    101    H   1     1       3.658  30.176  18.842  0.00  0.00            0
+ATOM    102    H   1     1       4.959  30.291  21.449  0.00  0.00            0
+ATOM    103    O   1     1       1.126  31.333  28.768  0.00  0.00            0
+ATOM    104    H   1     1       2.395  31.124  29.925  0.00  0.00            0
+ATOM    105    H   1     1       0.768  33.092  28.898  0.00  0.00            0
+ATOM    106    O   1     1       4.881  32.616  32.302  0.00  0.00            0
+ATOM    107    H   1     1       6.588  32.911  31.725  0.00  0.00            0
+ATOM    108    H   1     1       4.486  34.037  33.249  0.00  0.00            0
+ATOM    109    O   1     1       8.962   5.556   0.151  0.00  0.00            0
+ATOM    110    H   1     1       9.652   6.991   0.859  0.00  0.00            0
+ATOM    111    H   1     1       9.173   4.477   1.645  0.00  0.00            0
+ATOM    112    O   1     1       1.833   3.518   5.679  0.00  0.00            0
+ATOM    113    H   1     1       2.889   2.731   6.788  0.00  0.00            0
+ATOM    114    H   1     1       2.789   4.187   4.147  0.00  0.00            0
+ATOM    115    O   1     1      10.510  34.726  13.073  0.00  0.00            0
+ATOM    116    H   1     1      11.920  34.118  11.919  0.00  0.00            0
+ATOM    117    H   1     1      11.295  34.968  14.741  0.00  0.00            0
+ATOM    118    O   1     1       7.212   0.042  22.454  0.00  0.00            0
+ATOM    119    H   1     1       6.924   0.470  24.172  0.00  0.00            0
+ATOM    120    H   1     1       8.319   1.228  21.653  0.00  0.00            0
+ATOM    121    O   1     1       6.365   2.010  27.544  0.00  0.00            0
+ATOM    122    H   1     1       5.954   3.585  26.852  0.00  0.00            0
+ATOM    123    H   1     1       7.758   2.549  28.696  0.00  0.00            0
+ATOM    124    O   1     1      10.833   3.140  30.787  0.00  0.00            0
+ATOM    125    H   1     1      12.697   2.975  30.867  0.00  0.00            0
+ATOM    126    H   1     1      10.389   3.700  32.404  0.00  0.00            0
+ATOM    127    O   1     1       8.684   9.342   3.912  0.00  0.00            0
+ATOM    128    H   1     1       6.985   9.256   4.773  0.00  0.00            0
+ATOM    129    H   1     1       8.684  10.809   3.011  0.00  0.00            0
+ATOM    130    O   1     1       4.873   9.919   7.707  0.00  0.00            0
+ATOM    131    H   1     1       3.698   9.771   6.194  0.00  0.00            0
+ATOM    132    H   1     1       5.047  11.961   7.624  0.00  0.00            0
+ATOM    133    O   1     1      10.031   5.018   9.699  0.00  0.00            0
+ATOM    134    H   1     1       9.675   3.382  10.340  0.00  0.00            0
+ATOM    135    H   1     1       9.132   5.987  10.825  0.00  0.00            0
+ATOM    136    O   1     1      11.246   3.918  21.929  0.00  0.00            0
+ATOM    137    H   1     1      12.614   2.770  22.341  0.00  0.00            0
+ATOM    138    H   1     1      12.073   5.686  21.497  0.00  0.00            0
+ATOM    139    O   1     1       6.825   7.164  25.708  0.00  0.00            0
+ATOM    140    H   1     1       8.036   8.374  25.980  0.00  0.00            0
+ATOM    141    H   1     1       5.206   7.900  25.891  0.00  0.00            0
+ATOM    142    O   1     1      10.171  12.811   0.295  0.00  0.00            0
+ATOM    143    H   1     1      10.033  12.818  -1.609  0.00  0.00            0
+ATOM    144    H   1     1       9.880  14.492   0.480  0.00  0.00            0
+ATOM    145    O   1     1       8.190  17.402   1.253  0.00  0.00            0
+ATOM    146    H   1     1       9.472  18.531   1.253  0.00  0.00            0
+ATOM    147    H   1     1       6.351  17.817   1.568  0.00  0.00            0
+ATOM    148    O   1     1      11.233  16.188   8.299  0.00  0.00            0
+ATOM    149    H   1     1      10.291  17.689   8.166  0.00  0.00            0
+ATOM    150    H   1     1      12.768  17.123   8.733  0.00  0.00            0
+ATOM    151    O   1     1       6.386   8.002  12.846  0.00  0.00            0
+ATOM    152    H   1     1       7.701   8.896  13.655  0.00  0.00            0
+ATOM    153    H   1     1       5.591   8.877  11.519  0.00  0.00            0
+ATOM    154    O   1     1       8.184  10.419  18.848  0.00  0.00            0
+ATOM    155    H   1     1       9.498   9.434  19.905  0.00  0.00            0
+ATOM    156    H   1     1       6.882   9.027  18.948  0.00  0.00            0
+ATOM    157    O   1     1      10.806  14.431  21.328  0.00  0.00            0
+ATOM    158    H   1     1       9.177  13.531  20.670  0.00  0.00            0
+ATOM    159    H   1     1      11.344  15.696  20.448  0.00  0.00            0
+ATOM    160    O   1     1       9.237  13.928  30.341  0.00  0.00            0
+ATOM    161    H   1     1      10.779  14.839  30.522  0.00  0.00            0
+ATOM    162    H   1     1       9.965  13.192  28.899  0.00  0.00            0
+ATOM    163    O   1     1      10.918  21.707   1.864  0.00  0.00            0
+ATOM    164    H   1     1      10.280  23.449   2.279  0.00  0.00            0
+ATOM    165    H   1     1      12.708  21.456   1.749  0.00  0.00            0
+ATOM    166    O   1     1       9.353  16.125  13.927  0.00  0.00            0
+ATOM    167    H   1     1       9.938  17.594  14.618  0.00  0.00            0
+ATOM    168    H   1     1       9.518  16.360  12.244  0.00  0.00            0
+ATOM    169    O   1     1      10.371  11.107  14.268  0.00  0.00            0
+ATOM    170    H   1     1       9.644  10.406  15.859  0.00  0.00            0
+ATOM    171    H   1     1       9.434  12.523  14.117  0.00  0.00            0
+ATOM    172    O   1     1       3.351  22.769  20.196  0.00  0.00            0
+ATOM    173    H   1     1       2.055  23.686  21.503  0.00  0.00            0
+ATOM    174    H   1     1       2.452  21.401  19.413  0.00  0.00            0
+ATOM    175    O   1     1       6.836  21.329  23.199  0.00  0.00            0
+ATOM    176    H   1     1       8.249  20.848  22.320  0.00  0.00            0
+ATOM    177    H   1     1       5.668  21.841  21.886  0.00  0.00            0
+ATOM    178    O   1     1       4.604  15.649  30.043  0.00  0.00            0
+ATOM    179    H   1     1       6.453  15.217  30.207  0.00  0.00            0
+ATOM    180    H   1     1       3.822  14.762  31.562  0.00  0.00            0
+ATOM    181    O   1     1       7.125  19.976   9.421  0.00  0.00            0
+ATOM    182    H   1     1       5.918  20.453  10.730  0.00  0.00            0
+ATOM    183    H   1     1       8.099  21.496   9.491  0.00  0.00            0
+ATOM    184    O   1     1       9.063  25.912  13.186  0.00  0.00            0
+ATOM    185    H   1     1      10.350  26.572  12.367  0.00  0.00            0
+ATOM    186    H   1     1       9.680  24.367  13.697  0.00  0.00            0
+ATOM    187    O   1     1       8.022  22.343  17.042  0.00  0.00            0
+ATOM    188    H   1     1       9.144  23.367  18.074  0.00  0.00            0
+ATOM    189    H   1     1       6.562  23.462  16.852  0.00  0.00            0
+ATOM    190    O   1     1      10.762  26.285  19.963  0.00  0.00            0
+ATOM    191    H   1     1      11.036  27.966  20.538  0.00  0.00            0
+ATOM    192    H   1     1      11.078  25.401  21.456  0.00  0.00            0
+ATOM    193    O   1     1       9.158  22.902  28.391  0.00  0.00            0
+ATOM    194    H   1     1       8.219  23.528  27.085  0.00  0.00            0
+ATOM    195    H   1     1       8.089  21.760  29.509  0.00  0.00            0
+ATOM    196    O   1     1       6.219  20.158  31.921  0.00  0.00            0
+ATOM    197    H   1     1       5.635  18.511  31.161  0.00  0.00            0
+ATOM    198    H   1     1       7.530  19.624  33.071  0.00  0.00            0
+ATOM    199    O   1     1      11.191  31.509   2.617  0.00  0.00            0
+ATOM    200    H   1     1      10.460  32.214   4.108  0.00  0.00            0
+ATOM    201    H   1     1      13.176  31.751   2.577  0.00  0.00            0
+ATOM    202    O   1     1       4.748   0.055   8.605  0.00  0.00            0
+ATOM    203    H   1     1       5.380   0.517  10.183  0.00  0.00            0
+ATOM    204    H   1     1       6.050  -0.306   7.480  0.00  0.00            0
+ATOM    205    O   1     1       8.695  30.809  15.731  0.00  0.00            0
+ATOM    206    H   1     1       9.189  32.103  14.495  0.00  0.00            0
+ATOM    207    H   1     1       8.447  29.069  14.868  0.00  0.00            0
+ATOM    208    O   1     1      10.128  31.402  20.766  0.00  0.00            0
+ATOM    209    H   1     1       9.456  30.905  19.155  0.00  0.00            0
+ATOM    210    H   1     1       9.020  32.731  21.415  0.00  0.00            0
+ATOM    211    O   1     1      12.238  30.162  25.837  0.00  0.00            0
+ATOM    212    H   1     1      11.418  30.908  27.110  0.00  0.00            0
+ATOM    213    H   1     1      12.396  31.331  24.678  0.00  0.00            0
+ATOM    214    O   1     1      10.395  32.537  30.624  0.00  0.00            0
+ATOM    215    H   1     1      11.042  34.339  30.751  0.00  0.00            0
+ATOM    216    H   1     1      11.378  31.486  31.538  0.00  0.00            0
+ATOM    217    O   1     1      10.438   3.626   5.087  0.00  0.00            0
+ATOM    218    H   1     1      12.435   4.082   5.136  0.00  0.00            0
+ATOM    219    H   1     1       9.822   4.284   6.681  0.00  0.00            0
+ATOM    220    O   1     1      14.762   3.401  13.776  0.00  0.00            0
+ATOM    221    H   1     1      16.518   3.824  13.376  0.00  0.00            0
+ATOM    222    H   1     1      13.752   4.757  12.964  0.00  0.00            0
+ATOM    223    O   1     1      12.382   1.012  17.643  0.00  0.00            0
+ATOM    224    H   1     1      13.346   1.997  16.444  0.00  0.00            0
+ATOM    225    H   1     1      11.931   2.133  18.998  0.00  0.00            0
+ATOM    226    O   1     1      15.278   1.293  24.559  0.00  0.00            0
+ATOM    227    H   1     1      16.071   0.946  26.365  0.00  0.00            0
+ATOM    228    H   1     1      15.794   0.199  23.499  0.00  0.00            0
+ATOM    229    O   1     1      22.226  31.627  24.712  0.00  0.00            0
+ATOM    230    H   1     1      23.338  32.595  23.876  0.00  0.00            0
+ATOM    231    H   1     1      22.161  30.053  24.132  0.00  0.00            0
+ATOM    232    O   1     1      15.640   1.847  32.717  0.00  0.00            0
+ATOM    233    H   1     1      17.488   2.473  31.874  0.00  0.00            0
+ATOM    234    H   1     1      16.403   0.869  34.267  0.00  0.00            0
+ATOM    235    O   1     1      14.858  10.199   2.754  0.00  0.00            0
+ATOM    236    H   1     1      13.360  10.712   2.282  0.00  0.00            0
+ATOM    237    H   1     1      14.560   9.316   4.559  0.00  0.00            0
+ATOM    238    O   1     1      15.717   8.469  10.739  0.00  0.00            0
+ATOM    239    H   1     1      17.323   9.581  10.875  0.00  0.00            0
+ATOM    240    H   1     1      14.574   9.631  10.221  0.00  0.00            0
+ATOM    241    O   1     1      15.248  10.398  16.525  0.00  0.00            0
+ATOM    242    H   1     1      16.324   9.181  16.149  0.00  0.00            0
+ATOM    243    H   1     1      14.172  10.488  15.098  0.00  0.00            0
+ATOM    244    O   1     1      13.226   8.438  20.801  0.00  0.00            0
+ATOM    245    H   1     1      14.043   8.996  19.295  0.00  0.00            0
+ATOM    246    H   1     1      14.661   7.802  22.093  0.00  0.00            0
+ATOM    247    O   1     1      10.173  10.961  25.875  0.00  0.00            0
+ATOM    248    H   1     1      11.477  10.223  26.940  0.00  0.00            0
+ATOM    249    H   1     1      11.269  10.738  24.343  0.00  0.00            0
+ATOM    250    O   1     1      12.792   7.737  29.173  0.00  0.00            0
+ATOM    251    H   1     1      12.199   6.038  29.475  0.00  0.00            0
+ATOM    252    H   1     1      14.427   7.450  29.617  0.00  0.00            0
+ATOM    253    O   1     1      15.180  19.498   3.578  0.00  0.00            0
+ATOM    254    H   1     1      14.883  17.596   4.080  0.00  0.00            0
+ATOM    255    H   1     1      16.754  19.579   2.626  0.00  0.00            0
+ATOM    256    O   1     1      12.517  11.093   7.701  0.00  0.00            0
+ATOM    257    H   1     1      12.224  12.778   7.555  0.00  0.00            0
+ATOM    258    H   1     1      11.150  10.393   7.057  0.00  0.00            0
+ATOM    259    O   1     1      16.266  16.271  10.758  0.00  0.00            0
+ATOM    260    H   1     1      16.507  15.795  12.768  0.00  0.00            0
+ATOM    261    H   1     1      17.725  16.977  10.292  0.00  0.00            0
+ATOM    262    O   1     1      14.069  18.399  18.897  0.00  0.00            0
+ATOM    263    H   1     1      15.513  17.523  18.155  0.00  0.00            0
+ATOM    264    H   1     1      14.958  18.709  20.673  0.00  0.00            0
+ATOM    265    O   1     1      14.099  15.480  25.510  0.00  0.00            0
+ATOM    266    H   1     1      13.698  16.872  26.938  0.00  0.00            0
+ATOM    267    H   1     1      12.567  15.379  24.444  0.00  0.00            0
+ATOM    268    O   1     1      13.309  17.574  30.292  0.00  0.00            0
+ATOM    269    H   1     1      14.937  16.934  30.810  0.00  0.00            0
+ATOM    270    H   1     1      13.969  19.494  30.012  0.00  0.00            0
+ATOM    271    O   1     1      18.371  23.257   0.925  0.00  0.00            0
+ATOM    272    H   1     1      19.479  23.480   2.321  0.00  0.00            0
+ATOM    273    H   1     1      19.087  24.325  -0.369  0.00  0.00            0
+ATOM    274    O   1     1      12.100  21.730  11.355  0.00  0.00            0
+ATOM    275    H   1     1      13.141  22.287  12.743  0.00  0.00            0
+ATOM    276    H   1     1      13.467  22.236  10.244  0.00  0.00            0
+ATOM    277    O   1     1      12.163  23.290  23.597  0.00  0.00            0
+ATOM    278    H   1     1      11.324  22.736  24.949  0.00  0.00            0
+ATOM    279    H   1     1      13.882  22.872  23.840  0.00  0.00            0
+ATOM    280    O   1     1      20.173  26.761  22.628  0.00  0.00            0
+ATOM    281    H   1     1      20.206  26.532  20.792  0.00  0.00            0
+ATOM    282    H   1     1      21.556  25.742  23.389  0.00  0.00            0
+ATOM    283    O   1     1      16.701  21.165  22.605  0.00  0.00            0
+ATOM    284    H   1     1      18.028  20.686  23.848  0.00  0.00            0
+ATOM    285    H   1     1      17.104  22.866  21.949  0.00  0.00            0
+ATOM    286    O   1     1      11.391  26.461  33.705  0.00  0.00            0
+ATOM    287    H   1     1       9.841  27.192  34.048  0.00  0.00            0
+ATOM    288    H   1     1      11.776  25.540  35.243  0.00  0.00            0
+ATOM    289    O   1     1       9.898  25.989   4.553  0.00  0.00            0
+ATOM    290    H   1     1       8.902  26.131   6.039  0.00  0.00            0
+ATOM    291    H   1     1      10.287  27.806   4.376  0.00  0.00            0
+ATOM    292    O   1     1      14.308  26.960  10.877  0.00  0.00            0
+ATOM    293    H   1     1      15.302  27.405  12.173  0.00  0.00            0
+ATOM    294    H   1     1      15.463  26.151   9.633  0.00  0.00            0
+ATOM    295    O   1     1      13.433  22.960  16.904  0.00  0.00            0
+ATOM    296    H   1     1      13.409  24.131  18.132  0.00  0.00            0
+ATOM    297    H   1     1      13.624  21.191  17.520  0.00  0.00            0
+ATOM    298    O   1     1      16.409  26.768  26.875  0.00  0.00            0
+ATOM    299    H   1     1      17.590  26.987  25.431  0.00  0.00            0
+ATOM    300    H   1     1      14.751  27.703  26.230  0.00  0.00            0
+ATOM    301    O   1     1      14.405  22.733  29.892  0.00  0.00            0
+ATOM    302    H   1     1      15.423  23.079  28.494  0.00  0.00            0
+ATOM    303    H   1     1      12.826  23.259  29.416  0.00  0.00            0
+ATOM    304    O   1     1       6.905  29.408   0.749  0.00  0.00            0
+ATOM    305    H   1     1       8.428  30.483   1.567  0.00  0.00            0
+ATOM    306    H   1     1       6.353  30.814  -0.444  0.00  0.00            0
+ATOM    307    O   1     1       9.189  34.159   6.509  0.00  0.00            0
+ATOM    308    H   1     1      10.198  34.193   8.002  0.00  0.00            0
+ATOM    309    H   1     1       9.890  35.692   5.785  0.00  0.00            0
+ATOM    310    O   1     1      14.256  32.316   9.369  0.00  0.00            0
+ATOM    311    H   1     1      15.733  32.867   9.486  0.00  0.00            0
+ATOM    312    H   1     1      14.754  30.670  10.090  0.00  0.00            0
+ATOM    313    O   1     1      14.714  30.841  16.516  0.00  0.00            0
+ATOM    314    H   1     1      13.748  29.551  17.279  0.00  0.00            0
+ATOM    315    H   1     1      13.218  31.933  16.614  0.00  0.00            0
+ATOM    316    O   1     1      18.409  33.641  20.611  0.00  0.00            0
+ATOM    317    H   1     1      19.601  32.274  21.115  0.00  0.00            0
+ATOM    318    H   1     1      17.360  32.655  19.518  0.00  0.00            0
+ATOM    319    O   1     1      16.062  28.638  32.207  0.00  0.00            0
+ATOM    320    H   1     1      14.648  27.958  33.253  0.00  0.00            0
+ATOM    321    H   1     1      15.752  28.014  30.522  0.00  0.00            0
+ATOM    322    O   1     1      16.200  30.895   1.473  0.00  0.00            0
+ATOM    323    H   1     1      16.626  29.968  -0.130  0.00  0.00            0
+ATOM    324    H   1     1      17.167  29.833   2.927  0.00  0.00            0
+ATOM    325    O   1     1      20.278   3.529   6.048  0.00  0.00            0
+ATOM    326    H   1     1      20.977   3.611   4.575  0.00  0.00            0
+ATOM    327    H   1     1      21.312   4.513   7.251  0.00  0.00            0
+ATOM    328    O   1     1      23.079   5.778  10.408  0.00  0.00            0
+ATOM    329    H   1     1      24.650   6.259  10.838  0.00  0.00            0
+ATOM    330    H   1     1      22.342   7.609  10.178  0.00  0.00            0
+ATOM    331    O   1     1      19.581   2.031  12.110  0.00  0.00            0
+ATOM    332    H   1     1      19.039   1.082  10.440  0.00  0.00            0
+ATOM    333    H   1     1      21.141   2.991  11.851  0.00  0.00            0
+ATOM    334    O   1     1      22.005   3.223  23.178  0.00  0.00            0
+ATOM    335    H   1     1      21.429   4.090  24.554  0.00  0.00            0
+ATOM    336    H   1     1      20.654   1.791  22.711  0.00  0.00            0
+ATOM    337    O   1     1      16.630   6.422  23.792  0.00  0.00            0
+ATOM    338    H   1     1      16.219   4.804  24.406  0.00  0.00            0
+ATOM    339    H   1     1      17.066   7.128  25.282  0.00  0.00            0
+ATOM    340    O   1     1      21.676   5.564  28.158  0.00  0.00            0
+ATOM    341    H   1     1      20.658   6.717  29.185  0.00  0.00            0
+ATOM    342    H   1     1      23.413   5.828  28.996  0.00  0.00            0
+ATOM    343    O   1     1      15.257   5.265   5.626  0.00  0.00            0
+ATOM    344    H   1     1      16.914   4.519   5.490  0.00  0.00            0
+ATOM    345    H   1     1      15.144   6.150   6.972  0.00  0.00            0
+ATOM    346    O   1     1      20.137  11.082  10.437  0.00  0.00            0
+ATOM    347    H   1     1      20.021  10.947   8.733  0.00  0.00            0
+ATOM    348    H   1     1      21.025  12.555  10.853  0.00  0.00            0
+ATOM    349    O   1     1      23.089  14.627  12.437  0.00  0.00            0
+ATOM    350    H   1     1      24.716  15.254  12.736  0.00  0.00            0
+ATOM    351    H   1     1      23.284  13.228  13.653  0.00  0.00            0
+ATOM    352    O   1     1      24.083  12.649  22.566  0.00  0.00            0
+ATOM    353    H   1     1      22.397  12.663  23.042  0.00  0.00            0
+ATOM    354    H   1     1      24.901  13.851  23.565  0.00  0.00            0
+ATOM    355    O   1     1      17.865   7.909  30.036  0.00  0.00            0
+ATOM    356    H   1     1      17.509   8.045  31.982  0.00  0.00            0
+ATOM    357    H   1     1      18.078   9.582  29.318  0.00  0.00            0
+ATOM    358    O   1     1      18.824   8.486   0.104  0.00  0.00            0
+ATOM    359    H   1     1      19.997  10.191  -0.057  0.00  0.00            0
+ATOM    360    H   1     1      17.077   8.998   0.779  0.00  0.00            0
+ATOM    361    O   1     1      20.122   9.143   5.343  0.00  0.00            0
+ATOM    362    H   1     1      19.373   8.819   3.821  0.00  0.00            0
+ATOM    363    H   1     1      21.998   8.776   5.128  0.00  0.00            0
+ATOM    364    O   1     1      16.413  14.459   5.855  0.00  0.00            0
+ATOM    365    H   1     1      15.536  13.007   5.239  0.00  0.00            0
+ATOM    366    H   1     1      16.006  14.725   7.737  0.00  0.00            0
+ATOM    367    O   1     1      17.561  15.066  15.654  0.00  0.00            0
+ATOM    368    H   1     1      17.575  13.398  16.055  0.00  0.00            0
+ATOM    369    H   1     1      18.978  15.828  16.400  0.00  0.00            0
+ATOM    370    O   1     1      26.374  17.047  24.817  0.00  0.00            0
+ATOM    371    H   1     1      27.983  17.098  25.632  0.00  0.00            0
+ATOM    372    H   1     1      25.629  18.751  24.919  0.00  0.00            0
+ATOM    373    O   1     1      19.784  12.960  28.706  0.00  0.00            0
+ATOM    374    H   1     1      21.662  13.055  28.871  0.00  0.00            0
+ATOM    375    H   1     1      19.545  14.070  27.143  0.00  0.00            0
+ATOM    376    O   1     1      17.891  16.733  32.499  0.00  0.00            0
+ATOM    377    H   1     1      18.327  15.240  31.277  0.00  0.00            0
+ATOM    378    H   1     1      18.633  18.335  31.693  0.00  0.00            0
+ATOM    379    O   1     1      23.733  23.024   1.663  0.00  0.00            0
+ATOM    380    H   1     1      24.800  24.052   2.776  0.00  0.00            0
+ATOM    381    H   1     1      24.693  22.618   0.198  0.00  0.00            0
+ATOM    382    O   1     1      20.789  18.440   9.443  0.00  0.00            0
+ATOM    383    H   1     1      20.766  17.257   7.881  0.00  0.00            0
+ATOM    384    H   1     1      21.896  17.345  10.385  0.00  0.00            0
+ATOM    385    O   1     1      21.574  17.493  17.838  0.00  0.00            0
+ATOM    386    H   1     1      20.597  18.955  17.218  0.00  0.00            0
+ATOM    387    H   1     1      22.538  16.874  16.251  0.00  0.00            0
+ATOM    388    O   1     1      19.168  14.748  24.131  0.00  0.00            0
+ATOM    389    H   1     1      19.711  16.390  23.712  0.00  0.00            0
+ATOM    390    H   1     1      17.429  14.695  24.403  0.00  0.00            0
+ATOM    391    O   1     1      22.149  20.198  24.977  0.00  0.00            0
+ATOM    392    H   1     1      21.639  20.924  26.486  0.00  0.00            0
+ATOM    393    H   1     1      22.656  21.657  24.411  0.00  0.00            0
+ATOM    394    O   1     1      20.565  20.792  29.600  0.00  0.00            0
+ATOM    395    H   1     1      22.264  20.409  30.214  0.00  0.00            0
+ATOM    396    H   1     1      20.548  22.408  30.597  0.00  0.00            0
+ATOM    397    O   1     1      20.802  26.547   9.615  0.00  0.00            0
+ATOM    398    H   1     1      20.099  27.984   8.338  0.00  0.00            0
+ATOM    399    H   1     1      21.277  27.539  11.325  0.00  0.00            0
+ATOM    400    O   1     1      16.283  23.589   7.779  0.00  0.00            0
+ATOM    401    H   1     1      16.093  21.973   6.712  0.00  0.00            0
+ATOM    402    H   1     1      17.901  22.971   8.154  0.00  0.00            0
+ATOM    403    O   1     1      18.469  29.798  13.568  0.00  0.00            0
+ATOM    404    H   1     1      19.712  31.216  13.506  0.00  0.00            0
+ATOM    405    H   1     1      16.872  30.343  14.396  0.00  0.00            0
+ATOM    406    O   1     1      18.790  21.712  16.060  0.00  0.00            0
+ATOM    407    H   1     1      19.878  23.090  16.485  0.00  0.00            0
+ATOM    408    H   1     1      17.201  22.326  15.819  0.00  0.00            0
+ATOM    409    O   1     1      21.747  26.084  16.349  0.00  0.00            0
+ATOM    410    H   1     1      20.783  27.021  15.300  0.00  0.00            0
+ATOM    411    H   1     1      22.705  27.328  17.206  0.00  0.00            0
+ATOM    412    O   1     1      20.769  26.211  32.050  0.00  0.00            0
+ATOM    413    H   1     1      21.488  27.404  33.328  0.00  0.00            0
+ATOM    414    H   1     1      18.989  26.710  32.145  0.00  0.00            0
+ATOM    415    O   1     1      19.820  29.181   5.559  0.00  0.00            0
+ATOM    416    H   1     1      20.991  29.509   4.109  0.00  0.00            0
+ATOM    417    H   1     1      19.431  31.018   6.221  0.00  0.00            0
+ATOM    418    O   1     1      19.240  33.867   7.993  0.00  0.00            0
+ATOM    419    H   1     1      19.107  35.039   6.604  0.00  0.00            0
+ATOM    420    H   1     1      20.697  33.671   9.063  0.00  0.00            0
+ATOM    421    O   1     1      22.511  34.976  15.793  0.00  0.00            0
+ATOM    422    H   1     1      23.716  36.163  16.603  0.00  0.00            0
+ATOM    423    H   1     1      21.699  36.150  14.467  0.00  0.00            0
+ATOM    424    O   1     1      22.622  30.284  19.069  0.00  0.00            0
+ATOM    425    H   1     1      22.049  31.351  17.725  0.00  0.00            0
+ATOM    426    H   1     1      24.411  30.773  19.576  0.00  0.00            0
+ATOM    427    O   1     1      18.639  33.611  28.369  0.00  0.00            0
+ATOM    428    H   1     1      18.226  32.159  29.103  0.00  0.00            0
+ATOM    429    H   1     1      19.906  33.008  27.158  0.00  0.00            0
+ATOM    430    O   1     1      22.520   1.325  31.926  0.00  0.00            0
+ATOM    431    H   1     1      22.803   2.668  30.796  0.00  0.00            0
+ATOM    432    H   1     1      21.045   0.425  31.122  0.00  0.00            0
+ATOM    433    O   1     1      21.754   3.789   1.159  0.00  0.00            0
+ATOM    434    H   1     1      22.085   2.785  -0.180  0.00  0.00            0
+ATOM    435    H   1     1      20.850   5.175   0.610  0.00  0.00            0
+ATOM    436    O   1     1      28.457   5.539  12.133  0.00  0.00            0
+ATOM    437    H   1     1      29.489   4.390  11.182  0.00  0.00            0
+ATOM    438    H   1     1      29.161   7.131  12.587  0.00  0.00            0
+ATOM    439    O   1     1      22.495   5.966  17.324  0.00  0.00            0
+ATOM    440    H   1     1      24.377   5.379  17.393  0.00  0.00            0
+ATOM    441    H   1     1      21.906   5.491  18.857  0.00  0.00            0
+ATOM    442    O   1     1      28.128   3.304  22.287  0.00  0.00            0
+ATOM    443    H   1     1      28.123   2.999  20.491  0.00  0.00            0
+ATOM    444    H   1     1      26.533   3.355  22.876  0.00  0.00            0
+ATOM    445    O   1     1      28.378  10.455  27.266  0.00  0.00            0
+ATOM    446    H   1     1      30.019  10.292  28.051  0.00  0.00            0
+ATOM    447    H   1     1      28.635  10.039  25.463  0.00  0.00            0
+ATOM    448    O   1     1      27.031   8.353  34.806  0.00  0.00            0
+ATOM    449    H   1     1      26.116   9.984  34.571  0.00  0.00            0
+ATOM    450    H   1     1      28.685   8.951  34.739  0.00  0.00            0
+ATOM    451    O   1     1      24.951   8.160   4.454  0.00  0.00            0
+ATOM    452    H   1     1      25.930   9.616   5.160  0.00  0.00            0
+ATOM    453    H   1     1      25.947   7.994   2.724  0.00  0.00            0
+ATOM    454    O   1     1      26.937  12.436   6.869  0.00  0.00            0
+ATOM    455    H   1     1      25.492  13.284   6.708  0.00  0.00            0
+ATOM    456    H   1     1      27.689  13.332   8.266  0.00  0.00            0
+ATOM    457    O   1     1      23.365  11.214  16.933  0.00  0.00            0
+ATOM    458    H   1     1      22.247   9.744  16.789  0.00  0.00            0
+ATOM    459    H   1     1      23.264  12.035  18.539  0.00  0.00            0
+ATOM    460    O   1     1      28.321   8.759  22.158  0.00  0.00            0
+ATOM    461    H   1     1      27.662   6.895  22.482  0.00  0.00            0
+ATOM    462    H   1     1      26.971   9.710  21.902  0.00  0.00            0
+ATOM    463    O   1     1      27.071   6.109  29.555  0.00  0.00            0
+ATOM    464    H   1     1      27.591   7.663  28.857  0.00  0.00            0
+ATOM    465    H   1     1      27.304   6.320  31.261  0.00  0.00            0
+ATOM    466    O   1     1      22.474  11.704  34.640  0.00  0.00            0
+ATOM    467    H   1     1      22.752  13.304  35.584  0.00  0.00            0
+ATOM    468    H   1     1      22.840  12.090  33.030  0.00  0.00            0
+ATOM    469    O   1     1      21.656  14.971   5.615  0.00  0.00            0
+ATOM    470    H   1     1      21.690  15.860   3.977  0.00  0.00            0
+ATOM    471    H   1     1      19.964  14.225   5.774  0.00  0.00            0
+ATOM    472    O   1     1      28.539  21.492   9.820  0.00  0.00            0
+ATOM    473    H   1     1      27.288  22.181   8.688  0.00  0.00            0
+ATOM    474    H   1     1      28.065  22.420  11.602  0.00  0.00            0
+ATOM    475    O   1     1      28.364  16.020  11.109  0.00  0.00            0
+ATOM    476    H   1     1      30.033  16.649  12.089  0.00  0.00            0
+ATOM    477    H   1     1      28.456  17.440  10.082  0.00  0.00            0
+ATOM    478    O   1     1       0.054  13.686  18.103  0.00  0.00            0
+ATOM    479    H   1     1      -1.714  12.928  18.841  0.00  0.00            0
+ATOM    480    H   1     1       1.008  12.429  17.383  0.00  0.00            0
+ATOM    481    O   1     1      24.636  12.894  29.957  0.00  0.00            0
+ATOM    482    H   1     1      25.906  13.914  31.183  0.00  0.00            0
+ATOM    483    H   1     1      25.641  11.609  29.162  0.00  0.00            0
+ATOM    484    O   1     1      21.548  17.250   0.749  0.00  0.00            0
+ATOM    485    H   1     1      21.843  19.026   0.905  0.00  0.00            0
+ATOM    486    H   1     1      20.385  16.716  -0.697  0.00  0.00            0
+ATOM    487    O   1     1      26.095  27.274   4.520  0.00  0.00            0
+ATOM    488    H   1     1      27.889  26.458   4.505  0.00  0.00            0
+ATOM    489    H   1     1      25.648  26.970   6.165  0.00  0.00            0
+ATOM    490    O   1     1      23.610  22.515   8.008  0.00  0.00            0
+ATOM    491    H   1     1      22.653  21.187   8.739  0.00  0.00            0
+ATOM    492    H   1     1      22.286  24.095   8.444  0.00  0.00            0
+ATOM    493    O   1     1      27.355  18.929  18.180  0.00  0.00            0
+ATOM    494    H   1     1      27.200  20.349  17.155  0.00  0.00            0
+ATOM    495    H   1     1      25.579  18.322  18.770  0.00  0.00            0
+ATOM    496    O   1     1      26.765  23.633  14.444  0.00  0.00            0
+ATOM    497    H   1     1      27.441  25.298  13.651  0.00  0.00            0
+ATOM    498    H   1     1      25.086  24.256  14.749  0.00  0.00            0
+ATOM    499    O   1     1      31.478  20.769  20.986  0.00  0.00            0
+ATOM    500    H   1     1      30.440  22.509  21.135  0.00  0.00            0
+ATOM    501    H   1     1      30.567  19.656  20.043  0.00  0.00            0
+ATOM    502    O   1     1      24.812  20.412  32.668  0.00  0.00            0
+ATOM    503    H   1     1      26.242  21.478  31.874  0.00  0.00            0
+ATOM    504    H   1     1      25.787  19.023  33.158  0.00  0.00            0
+ATOM    505    O   1     1      22.105  29.076   0.928  0.00  0.00            0
+ATOM    506    H   1     1      23.296  27.923   1.739  0.00  0.00            0
+ATOM    507    H   1     1      22.623  30.994   0.882  0.00  0.00            0
+ATOM    508    O   1     1      29.572  31.256   8.626  0.00  0.00            0
+ATOM    509    H   1     1      30.795  30.203   7.736  0.00  0.00            0
+ATOM    510    H   1     1      28.277  31.519   7.260  0.00  0.00            0
+ATOM    511    O   1     1      31.817  34.843  18.283  0.00  0.00            0
+ATOM    512    H   1     1      32.438  34.389  16.474  0.00  0.00            0
+ATOM    513    H   1     1      32.743  36.422  18.341  0.00  0.00            0
+ATOM    514    O   1     1      27.915  25.601  19.033  0.00  0.00            0
+ATOM    515    H   1     1      29.358  26.561  19.190  0.00  0.00            0
+ATOM    516    H   1     1      28.148  24.429  17.530  0.00  0.00            0
+ATOM    517    O   1     1      24.548  24.654  24.025  0.00  0.00            0
+ATOM    518    H   1     1      25.528  25.635  22.824  0.00  0.00            0
+ATOM    519    H   1     1      25.300  25.200  25.645  0.00  0.00            0
+ATOM    520    O   1     1      28.540  22.922  30.370  0.00  0.00            0
+ATOM    521    H   1     1      27.414  24.096  29.781  0.00  0.00            0
+ATOM    522    H   1     1      29.674  23.914  31.873  0.00  0.00            0
+ATOM    523    O   1     1      24.969  33.623   1.014  0.00  0.00            0
+ATOM    524    H   1     1      26.521  33.058   1.518  0.00  0.00            0
+ATOM    525    H   1     1      24.990  34.322  -0.683  0.00  0.00            0
+ATOM    526    O   1     1      23.075  32.171  11.324  0.00  0.00            0
+ATOM    527    H   1     1      23.316  32.775  13.097  0.00  0.00            0
+ATOM    528    H   1     1      24.460  33.203  10.662  0.00  0.00            0
+ATOM    529    O   1     1      27.497   2.736  17.224  0.00  0.00            0
+ATOM    530    H   1     1      28.397   3.415  15.715  0.00  0.00            0
+ATOM    531    H   1     1      28.234   1.233  17.412  0.00  0.00            0
+ATOM    532    O   1     1      26.369  33.060  22.077  0.00  0.00            0
+ATOM    533    H   1     1      26.170  34.746  22.264  0.00  0.00            0
+ATOM    534    H   1     1      27.592  32.404  23.321  0.00  0.00            0
+ATOM    535    O   1     1      30.221  30.950  25.843  0.00  0.00            0
+ATOM    536    H   1     1      30.305  29.038  26.208  0.00  0.00            0
+ATOM    537    H   1     1      30.363  31.979  27.414  0.00  0.00            0
+ATOM    538    O   1     1      24.973  26.732  28.607  0.00  0.00            0
+ATOM    539    H   1     1      25.385  28.369  29.248  0.00  0.00            0
+ATOM    540    H   1     1      23.330  26.597  29.234  0.00  0.00            0
+ATOM    541    O   1     1      32.165   4.857   2.258  0.00  0.00            0
+ATOM    542    H   1     1      32.417   6.195   1.157  0.00  0.00            0
+ATOM    543    H   1     1      32.615   3.727   1.112  0.00  0.00            0
+ATOM    544    O   1     1      28.067   3.533   5.217  0.00  0.00            0
+ATOM    545    H   1     1      26.960   4.447   4.158  0.00  0.00            0
+ATOM    546    H   1     1      29.875   3.863   4.448  0.00  0.00            0
+ATOM    547    O   1     1      33.279   2.782  13.028  0.00  0.00            0
+ATOM    548    H   1     1      33.708   3.955  11.817  0.00  0.00            0
+ATOM    549    H   1     1      33.656   3.545  14.631  0.00  0.00            0
+ATOM    550    O   1     1      34.278   4.944  17.492  0.00  0.00            0
+ATOM    551    H   1     1      33.438   6.563  17.876  0.00  0.00            0
+ATOM    552    H   1     1      34.906   4.452  18.995  0.00  0.00            0
+ATOM    553    O   1     1      32.363   1.908  26.092  0.00  0.00            0
+ATOM    554    H   1     1      31.941   1.683  24.268  0.00  0.00            0
+ATOM    555    H   1     1      33.850   1.390  26.904  0.00  0.00            0
+ATOM    556    O   1     1      27.982   0.418  28.241  0.00  0.00            0
+ATOM    557    H   1     1      27.516   2.080  28.309  0.00  0.00            0
+ATOM    558    H   1     1      29.593   0.176  27.299  0.00  0.00            0
+ATOM    559    O   1     1      28.845  14.672   2.724  0.00  0.00            0
+ATOM    560    H   1     1      27.963  13.930   4.139  0.00  0.00            0
+ATOM    561    H   1     1      30.386  15.714   3.379  0.00  0.00            0
+ATOM    562    O   1     1      28.083  10.618  14.298  0.00  0.00            0
+ATOM    563    H   1     1      28.623  12.160  13.293  0.00  0.00            0
+ATOM    564    H   1     1      26.486  11.015  15.379  0.00  0.00            0
+ATOM    565    O   1     1      33.867  10.545  13.306  0.00  0.00            0
+ATOM    566    H   1     1      35.165   9.612  13.810  0.00  0.00            0
+ATOM    567    H   1     1      33.615  10.270  11.513  0.00  0.00            0
+ATOM    568    O   1     1      31.790   9.696  18.223  0.00  0.00            0
+ATOM    569    H   1     1      30.484   9.334  19.421  0.00  0.00            0
+ATOM    570    H   1     1      30.834  10.096  16.929  0.00  0.00            0
+ATOM    571    O   1     1      30.141  15.006  21.532  0.00  0.00            0
+ATOM    572    H   1     1      28.565  15.594  22.099  0.00  0.00            0
+ATOM    573    H   1     1      30.942  14.253  23.077  0.00  0.00            0
+ATOM    574    O   1     1      32.798  10.732  30.680  0.00  0.00            0
+ATOM    575    H   1     1      34.073   9.528  30.799  0.00  0.00            0
+ATOM    576    H   1     1      32.991  11.512  28.983  0.00  0.00            0
+ATOM    577    O   1     1      33.652  16.265   5.086  0.00  0.00            0
+ATOM    578    H   1     1      35.399  16.239   4.730  0.00  0.00            0
+ATOM    579    H   1     1      33.503  17.939   5.631  0.00  0.00            0
+ATOM    580    O   1     1      31.947  10.799   7.943  0.00  0.00            0
+ATOM    581    H   1     1      29.894  10.549   7.619  0.00  0.00            0
+ATOM    582    H   1     1      32.271  12.414   7.075  0.00  0.00            0
+ATOM    583    O   1     1       0.329  15.516  11.746  0.00  0.00            0
+ATOM    584    H   1     1      -0.446  14.249  12.939  0.00  0.00            0
+ATOM    585    H   1     1      -0.685  17.018  11.935  0.00  0.00            0
+ATOM    586    O   1     1       4.262  19.165  14.308  0.00  0.00            0
+ATOM    587    H   1     1       3.579  17.691  14.920  0.00  0.00            0
+ATOM    588    H   1     1       5.723  19.183  15.204  0.00  0.00            0
+ATOM    589    O   1     1      32.995  13.546  25.948  0.00  0.00            0
+ATOM    590    H   1     1      32.167  15.060  26.787  0.00  0.00            0
+ATOM    591    H   1     1      34.425  13.800  25.007  0.00  0.00            0
+ATOM    592    O   1     1       1.773  13.524  34.037  0.00  0.00            0
+ATOM    593    H   1     1       0.227  14.409  33.446  0.00  0.00            0
+ATOM    594    H   1     1       2.167  14.670  35.511  0.00  0.00            0
+ATOM    595    O   1     1      33.029  20.529   7.247  0.00  0.00            0
+ATOM    596    H   1     1      34.388  21.414   8.003  0.00  0.00            0
+ATOM    597    H   1     1      31.451  20.831   8.182  0.00  0.00            0
+ATOM    598    O   1     1       2.037  24.250  10.251  0.00  0.00            0
+ATOM    599    H   1     1       3.743  25.008   9.876  0.00  0.00            0
+ATOM    600    H   1     1       1.894  25.043  11.903  0.00  0.00            0
+ATOM    601    O   1     1      32.753  19.259  13.976  0.00  0.00            0
+ATOM    602    H   1     1      32.792  20.886  13.792  0.00  0.00            0
+ATOM    603    H   1     1      34.334  18.799  14.976  0.00  0.00            0
+ATOM    604    O   1     1       0.396  18.673  18.699  0.00  0.00            0
+ATOM    605    H   1     1      -1.211  18.950  19.127  0.00  0.00            0
+ATOM    606    H   1     1       0.469  16.977  18.436  0.00  0.00            0
+ATOM    607    O   1     1      30.855  18.370  27.959  0.00  0.00            0
+ATOM    608    H   1     1      29.759  19.681  28.690  0.00  0.00            0
+ATOM    609    H   1     1      32.103  19.477  26.763  0.00  0.00            0
+ATOM    610    O   1     1      27.723  15.992  33.091  0.00  0.00            0
+ATOM    611    H   1     1      29.390  16.423  32.192  0.00  0.00            0
+ATOM    612    H   1     1      27.801  15.859  34.804  0.00  0.00            0
+ATOM    613    O   1     1      31.068  27.895   3.348  0.00  0.00            0
+ATOM    614    H   1     1      32.517  27.825   4.610  0.00  0.00            0
+ATOM    615    H   1     1      31.529  29.459   2.324  0.00  0.00            0
+ATOM    616    O   1     1      35.039  28.008   6.663  0.00  0.00            0
+ATOM    617    H   1     1      35.966  26.934   7.683  0.00  0.00            0
+ATOM    618    H   1     1      36.055  28.336   5.336  0.00  0.00            0
+ATOM    619    O   1     1      29.356  28.196  13.025  0.00  0.00            0
+ATOM    620    H   1     1      29.210  29.335  14.589  0.00  0.00            0
+ATOM    621    H   1     1      28.874  29.629  11.867  0.00  0.00            0
+ATOM    622    O   1     1      32.386  28.434  18.961  0.00  0.00            0
+ATOM    623    H   1     1      33.368  28.574  20.411  0.00  0.00            0
+ATOM    624    H   1     1      33.410  27.406  17.949  0.00  0.00            0
+ATOM    625    O   1     1      30.898  25.390  25.799  0.00  0.00            0
+ATOM    626    H   1     1      32.369  25.913  24.580  0.00  0.00            0
+ATOM    627    H   1     1      31.317  24.075  27.029  0.00  0.00            0
+ATOM    628    O   1     1      32.259  25.611  33.104  0.00  0.00            0
+ATOM    629    H   1     1      32.238  25.736  34.806  0.00  0.00            0
+ATOM    630    H   1     1      33.920  25.042  32.775  0.00  0.00            0
+ATOM    631    O   1     1      30.290  32.645   1.341  0.00  0.00            0
+ATOM    632    H   1     1      29.949  32.793  -0.430  0.00  0.00            0
+ATOM    633    H   1     1      31.762  33.340   1.847  0.00  0.00            0
+ATOM    634    O   1     1      25.536  34.235   6.469  0.00  0.00            0
+ATOM    635    H   1     1      25.716  36.059   6.651  0.00  0.00            0
+ATOM    636    H   1     1      25.283  33.866   4.895  0.00  0.00            0
+ATOM    637    O   1     1      31.674  33.161  13.106  0.00  0.00            0
+ATOM    638    H   1     1      31.793  34.863  13.281  0.00  0.00            0
+ATOM    639    H   1     1      30.425  32.928  11.783  0.00  0.00            0
+ATOM    640    O   1     1      33.844  32.668  22.296  0.00  0.00            0
+ATOM    641    H   1     1      32.750  32.234  23.524  0.00  0.00            0
+ATOM    642    H   1     1      32.917  32.875  20.736  0.00  0.00            0
+ATOM    643    O   1     1      31.603  30.542  30.805  0.00  0.00            0
+ATOM    644    H   1     1      33.451  30.804  30.468  0.00  0.00            0
+ATOM    645    H   1     1      31.575  28.816  31.756  0.00  0.00            0
+ATOM    646    O   1     1      26.295  31.235  30.599  0.00  0.00            0
+ATOM    647    H   1     1      27.834  30.515  30.607  0.00  0.00            0
+ATOM    648    H   1     1      26.362  32.920  29.856  0.00  0.00            0
+END
diff --git a/tools/i-pi/examples/lammps/h2o-pimd-rpc/data.water_longrange b/tools/i-pi/examples/lammps/h2o-pimd-rpc/data.water_longrange
new file mode 100644
index 0000000000..a08e2d741e
--- /dev/null
+++ b/tools/i-pi/examples/lammps/h2o-pimd-rpc/data.water_longrange
@@ -0,0 +1,1331 @@
+LAMMPS Description
+ 
+         648  atoms
+         432  bonds
+         216  angles
+ 
+           2  atom types
+           1  bond types
+           1  angle types
+ 
+         0 35.233 xlo xhi
+         0 35.233 ylo yhi
+         0 35.233 zlo zhi
+ 
+Masses
+ 
+  1 15.9994
+  2  1.0080
+ 
+Bond Coeffs
+ 
+  1    0 1.78 
+ 
+Angle Coeffs
+ 
+  1    0  107.400000
+
+Atoms
+ 
+ 1 1 1 -1.1128       3.84600000       5.67200001       1.32300000
+ 2 1 2 0.5564        2.97900000       7.05400000       0.85700000
+ 3 1 2 0.5564        5.52500001       5.69700001       0.45100000
+ 4 2 1 -1.1128      34.55700001      34.34100000       3.07800000
+ 5 2 2 0.5564       33.72200001      34.68900000       4.84000001
+ 6 2 2 0.5564       36.02900000      33.22000001       3.71100001
+ 7 3 1 -1.1128       5.59100000       1.96299999      13.47700000
+ 8 3 2 0.5564        7.26500000       1.86400000      13.85100001
+ 9 3 2 0.5564        5.00899999       3.55500000      13.91599999
+ 10 4 1 -1.1128       1.06000000       2.06100000      21.71800001
+ 11 4 2 0.5564        0.75700000       0.26100000      21.82000000
+ 12 4 2 0.5564        0.21300001       3.01299999      23.04700000
+ 13 5 1 -1.1128       1.20000000       1.33700000      29.00599999
+ 14 5 2 0.5564        0.81800000       1.88399999      30.73200000
+ 15 5 2 0.5564        2.88300001       1.82500000      29.01100000
+ 16 6 1 -1.1128       1.33100001       1.38599999      34.30600001
+ 17 6 2 0.5564        2.39200001       2.89799999      34.84600000
+ 18 6 2 0.5564        0.81400000       0.53200001      35.83600000
+ 19 7 1 -1.1128      31.45100000      10.20100000       0.72599999
+ 20 7 2 0.5564       32.28199999      10.87699999      -0.75000000
+ 21 7 2 0.5564       30.91999999      11.59399999       1.67700000
+ 22 8 1 -1.1128       0.83600000      10.80800001       4.29800000
+ 23 8 2 0.5564        0.30500000      10.64300001       2.79300000
+ 24 8 2 0.5564       -0.35600001      10.33400000       5.52400000
+ 25 9 1 -1.1128      34.38100001       5.97900000       9.19400000
+ 26 9 2 0.5564       33.61600000       7.67300000       8.85700000
+ 27 9 2 0.5564       35.11500000       5.25999999       7.61800001
+ 28 10 1 -1.1128      33.21200000       6.48000000      24.27799999
+ 29 10 2 0.5564       31.62400000       6.90800001      23.52100001
+ 30 10 2 0.5564       32.54400000       4.99000000      24.98200000
+ 31 11 1 -1.1128       1.99200000       9.00199999      26.86300000
+ 32 11 2 0.5564        1.85600000      10.17500000      25.57899999
+ 33 11 2 0.5564        0.51900000       8.09899999      26.38599999
+ 34 12 1 -1.1128       2.05400000       8.66000000      32.51499999
+ 35 12 2 0.5564        2.16699999       8.72700000      30.49400000
+ 36 12 2 0.5564        2.37400001      10.51300000      33.03799999
+ 37 13 1 -1.1128       3.40200000      16.63900001       3.00800000
+ 38 13 2 0.5564        4.12700001      15.87200001       4.44600001
+ 39 13 2 0.5564        2.90500001      18.33899999       3.15999999
+ 40 14 1 -1.1128       4.22200000      15.44400000       8.07200000
+ 41 14 2 0.5564        5.21100000      16.75600000       8.29900001
+ 42 14 2 0.5564        2.56000000      15.49200001       8.86000000
+ 43 15 1 -1.1128       2.83100000       9.24599999      16.48800000
+ 44 15 2 0.5564        2.86900001       8.02300001      18.05000000
+ 45 15 2 0.5564        3.96000000       8.46700001      15.15400000
+ 46 16 1 -1.1128       5.56300000       6.00300000      20.90700000
+ 47 16 2 0.5564        4.65300000       4.63800000      21.48000000
+ 48 16 2 0.5564        6.40500000       6.20800000      22.52899999
+ 49 17 1 -1.1128       2.08700001      13.37000000      22.91299999
+ 50 17 2 0.5564        2.83200000      14.80400001      23.42200000
+ 51 17 2 0.5564        1.43400000      13.50900000      21.19599999
+ 52 18 1 -1.1128       3.36900000      17.88600000      25.10900001
+ 53 18 2 0.5564        3.65500000      17.20000000      26.76599999
+ 54 18 2 0.5564        4.77200001      18.97699999      24.49999999
+ 55 19 1 -1.1128      34.76400000      20.80300000       0.94800001
+ 56 19 2 0.5564       35.20999999      21.26700001       2.81599999
+ 57 19 2 0.5564       35.96200001      21.72599999       0.13099999
+ 58 20 1 -1.1128       2.83600000      24.17799999      15.22900000
+ 59 20 2 0.5564        2.79500000      22.34599999      14.87600001
+ 60 20 2 0.5564        2.41399999      24.11500000      17.13000001
+ 61 21 1 -1.1128      33.00000000      24.48100000      15.23000000
+ 62 21 2 0.5564       34.63999999      24.80400001      15.01299999
+ 63 21 2 0.5564       32.40100000      25.76400000      14.29500001
+ 64 22 1 -1.1128       0.40399999      26.77900001      23.39999999
+ 65 22 2 0.5564        1.35300001      27.24800000      24.98700001
+ 66 22 2 0.5564        1.54600001      28.05000000      22.31700001
+ 67 23 1 -1.1128      34.22200000      21.38000000      25.41799999
+ 68 23 2 0.5564       35.66899999      20.15100000      25.31700001
+ 69 23 2 0.5564       32.96000000      21.18000000      23.99200000
+ 70 24 1 -1.1128      33.25900000      17.43800000      32.48000000
+ 71 24 2 0.5564       33.31399999      18.78200000      33.88300001
+ 72 24 2 0.5564       32.74300001      18.18100001      30.87100000
+ 73 25 1 -1.1128       4.46300000      21.97900000       3.93600000
+ 74 25 2 0.5564        5.85600000      23.08400001       3.39999999
+ 75 25 2 0.5564        3.98600000      22.18000000       5.60200000
+ 76 26 1 -1.1128       6.25800000      25.85100001       8.52000000
+ 77 26 2 0.5564        5.76700000      27.69300001       8.47600000
+ 78 26 2 0.5564        7.20200001      25.50600000      10.18600000
+ 79 27 1 -1.1128       0.60099999      29.73699999      12.74700001
+ 80 27 2 0.5564       -0.68500000      30.84200000      12.34999999
+ 81 27 2 0.5564        1.33600000      30.71600000      14.03099999
+ 82 28 1 -1.1128       7.56300000      28.19100001      24.33300000
+ 83 28 2 0.5564        9.20100000      28.82800000      24.68400000
+ 84 28 2 0.5564        7.38100001      27.62100000      22.79900000
+ 85 29 1 -1.1128       3.65300000      27.10900001      27.77200001
+ 86 29 2 0.5564        5.12600000      27.01500000      26.77200001
+ 87 29 2 0.5564        3.03099999      28.75600000      27.69800000
+ 88 30 1 -1.1128       2.59600001      23.99100001      32.47600000
+ 89 30 2 0.5564        2.87900000      24.79099999      30.85899999
+ 90 30 2 0.5564        4.00300000      22.91299999      32.70099999
+ 91 31 1 -1.1128       3.08300000      31.31700001       3.64399999
+ 92 31 2 0.5564        4.13300000      30.58900001       2.53900001
+ 93 31 2 0.5564        4.21800000      32.17300001       5.03700001
+ 94 32 1 -1.1128       4.66100001      30.55500000       9.36799999
+ 95 32 2 0.5564        3.18400001      29.84300000      10.13200000
+ 96 32 2 0.5564        4.35800000      32.44800000       9.12600000
+ 97 33 1 -1.1128       3.46499999      32.53700000      15.77800000
+ 98 33 2 0.5564        5.07200000      31.81899999      15.90300000
+ 99 33 2 0.5564        4.05500001      34.25699999      15.28400000
+ 100 34 1 -1.1128       4.21500000      29.15299999      20.31700001
+ 101 34 2 0.5564        3.65799999      30.17600000      18.84200000
+ 102 34 2 0.5564        4.95899999      30.29100000      21.44900001
+ 103 35 1 -1.1128       1.12600000      31.33300000      28.76800001
+ 104 35 2 0.5564        2.39500000      31.12399999      29.92500000
+ 105 35 2 0.5564        0.76800001      33.09199999      28.89799999
+ 106 36 1 -1.1128       4.88100000      32.61600000      32.30200000
+ 107 36 2 0.5564        6.58800000      32.91100000      31.72500001
+ 108 36 2 0.5564        4.48599999      34.03700001      33.24900001
+ 109 37 1 -1.1128       8.96200001       5.55600000       0.15100000
+ 110 37 2 0.5564        9.65200000       6.99100001       0.85899999
+ 111 37 2 0.5564        9.17300001       4.47700000       1.64500000
+ 112 38 1 -1.1128       1.83300001       3.51799999       5.67900001
+ 113 38 2 0.5564        2.88900000       2.73100000       6.78800000
+ 114 38 2 0.5564        2.78900000       4.18700000       4.14700000
+ 115 39 1 -1.1128      10.51000001      34.72599999      13.07300001
+ 116 39 2 0.5564       11.91999999      34.11800000      11.91900001
+ 117 39 2 0.5564       11.29500001      34.96800000      14.74100000
+ 118 40 1 -1.1128       7.21200000       0.04199999      22.45399999
+ 119 40 2 0.5564        6.92400000       0.47000000      24.17200000
+ 120 40 2 0.5564        8.31900000       1.22799999      21.65300000
+ 121 41 1 -1.1128       6.36500000       2.01000000      27.54400000
+ 122 41 2 0.5564        5.95400000       3.58500000      26.85199999
+ 123 41 2 0.5564        7.75800001       2.54900000      28.69600000
+ 124 42 1 -1.1128      10.83300001       3.14000000      30.78699999
+ 125 42 2 0.5564       12.69700001       2.97500000      30.86700000
+ 126 42 2 0.5564       10.38899999       3.70000001      32.40399999
+ 127 43 1 -1.1128       8.68400000       9.34200001       3.91200001
+ 128 43 2 0.5564        6.98500000       9.25600001       4.77299999
+ 129 43 2 0.5564        8.68400000      10.80899999       3.01100000
+ 130 44 1 -1.1128       4.87299999       9.91900001       7.70700000
+ 131 44 2 0.5564        3.69800000       9.77100000       6.19400000
+ 132 44 2 0.5564        5.04700000      11.96100000       7.62400000
+ 133 45 1 -1.1128      10.03099999       5.01800000       9.69900000
+ 134 45 2 0.5564        9.67500001       3.38199999      10.34000000
+ 135 45 2 0.5564        9.13200000       5.98700001      10.82500000
+ 136 46 1 -1.1128      11.24599999       3.91800000      21.92900000
+ 137 46 2 0.5564       12.61400001       2.77000000      22.34100000
+ 138 46 2 0.5564       12.07300001       5.68600001      21.49699999
+ 139 47 1 -1.1128       6.82500000       7.16400000      25.70799999
+ 140 47 2 0.5564        8.03600000       8.37400001      25.98000001
+ 141 47 2 0.5564        5.20600001       7.90000000      25.89099999
+ 142 48 1 -1.1128      10.17099999      12.81100001       0.29500001
+ 143 48 2 0.5564       10.03300000      12.81800000      -1.60900000
+ 144 48 2 0.5564        9.87999999      14.49200001       0.48000000
+ 145 49 1 -1.1128       8.19000000      17.40200000       1.25299999
+ 146 49 2 0.5564        9.47199999      18.53100000       1.25299999
+ 147 49 2 0.5564        6.35100000      17.81700000       1.56800001
+ 148 50 1 -1.1128      11.23300000      16.18800001       8.29900001
+ 149 50 2 0.5564       10.29100000      17.68900000       8.16600001
+ 150 50 2 0.5564       12.76800001      17.12300001       8.73299999
+ 151 51 1 -1.1128       6.38599999       8.00199999      12.84600000
+ 152 51 2 0.5564        7.70099999       8.89600000      13.65500000
+ 153 51 2 0.5564        5.59100000       8.87699999      11.51900000
+ 154 52 1 -1.1128       8.18400001      10.41900000      18.84799999
+ 155 52 2 0.5564        9.49800000       9.43400000      19.90500001
+ 156 52 2 0.5564        6.88200000       9.02699999      18.94800001
+ 157 53 1 -1.1128      10.80600000      14.43100000      21.32799999
+ 158 53 2 0.5564        9.17700001      13.53100000      20.67000000
+ 159 53 2 0.5564       11.34400000      15.69600000      20.44800000
+ 160 54 1 -1.1128       9.23700000      13.92800000      30.34100000
+ 161 54 2 0.5564       10.77900001      14.83900000      30.52199999
+ 162 54 2 0.5564        9.96500000      13.19199999      28.89900000
+ 163 55 1 -1.1128      10.91800000      21.70700000       1.86400000
+ 164 55 2 0.5564       10.28000000      23.44900001       2.27900000
+ 165 55 2 0.5564       12.70799999      21.45600000       1.74900000
+ 166 56 1 -1.1128       9.35300001      16.12500000      13.92699999
+ 167 56 2 0.5564        9.93799999      17.59399999      14.61800001
+ 168 56 2 0.5564        9.51799999      16.36000001      12.24400000
+ 169 57 1 -1.1128      10.37099999      11.10700000      14.26800000
+ 170 57 2 0.5564        9.64399999      10.40600001      15.85899999
+ 171 57 2 0.5564        9.43400000      12.52300000      14.11699999
+ 172 58 1 -1.1128       3.35100000      22.76899999      20.19599999
+ 173 58 2 0.5564        2.05500001      23.68600001      21.50300001
+ 174 58 2 0.5564        2.45200000      21.40100000      19.41300000
+ 175 59 1 -1.1128       6.83600000      21.32900000      23.19899999
+ 176 59 2 0.5564        8.24900001      20.84799999      22.32000001
+ 177 59 2 0.5564        5.66800001      21.84099999      21.88600000
+ 178 60 1 -1.1128       4.60399999      15.64900000      30.04300000
+ 179 60 2 0.5564        6.45300001      15.21699999      30.20700000
+ 180 60 2 0.5564        3.82200001      14.76199999      31.56200000
+ 181 61 1 -1.1128       7.12500000      19.97600001       9.42100001
+ 182 61 2 0.5564        5.91800000      20.45300001      10.72999999
+ 183 61 2 0.5564        8.09899999      21.49600001       9.49100000
+ 184 62 1 -1.1128       9.06299999      25.91200001      13.18600000
+ 185 62 2 0.5564       10.34999999      26.57199999      12.36700001
+ 186 62 2 0.5564        9.67999999      24.36700001      13.69700001
+ 187 63 1 -1.1128       8.02200000      22.34299999      17.04199999
+ 188 63 2 0.5564        9.14400000      23.36700001      18.07399999
+ 189 63 2 0.5564        6.56200000      23.46200000      16.85199999
+ 190 64 1 -1.1128      10.76199999      26.28499999      19.96299999
+ 191 64 2 0.5564       11.03600000      27.96599999      20.53800000
+ 192 64 2 0.5564       11.07800000      25.40100000      21.45600000
+ 193 65 1 -1.1128       9.15800000      22.90199999      28.39100000
+ 194 65 2 0.5564        8.21900000      23.52800001      27.08499999
+ 195 65 2 0.5564        8.08900000      21.76000000      29.50900000
+ 196 66 1 -1.1128       6.21900000      20.15800000      31.92100000
+ 197 66 2 0.5564        5.63500000      18.51099999      31.16100000
+ 198 66 2 0.5564        7.53000000      19.62400000      33.07100000
+ 199 67 1 -1.1128      11.19100001      31.50900000       2.61700000
+ 200 67 2 0.5564       10.46000001      32.21399999       4.10800000
+ 201 67 2 0.5564       13.17600000      31.75099999       2.57700000
+ 202 68 1 -1.1128       4.74799999       0.05500001       8.60500000
+ 203 68 2 0.5564        5.38000000       0.51700000      10.18300000
+ 204 68 2 0.5564        6.05000000      -0.30600001       7.48000000
+ 205 69 1 -1.1128       8.69500000      30.80899999      15.73100000
+ 206 69 2 0.5564        9.18899999      32.10300000      14.49500000
+ 207 69 2 0.5564        8.44699999      29.06900000      14.86800000
+ 208 70 1 -1.1128      10.12799999      31.40200000      20.76599999
+ 209 70 2 0.5564        9.45600000      30.90500001      19.15500000
+ 210 70 2 0.5564        9.01999999      32.73100000      21.41500000
+ 211 71 1 -1.1128      12.23800001      30.16200000      25.83699999
+ 212 71 2 0.5564       11.41799999      30.90800001      27.10999999
+ 213 71 2 0.5564       12.39600001      31.33100001      24.67800000
+ 214 72 1 -1.1128      10.39500000      32.53700000      30.62400000
+ 215 72 2 0.5564       11.04199999      34.33899999      30.75099999
+ 216 72 2 0.5564       11.37800001      31.48599999      31.53800000
+ 217 73 1 -1.1128      10.43800000       3.62599999       5.08700001
+ 218 73 2 0.5564       12.43500001       4.08200000       5.13600000
+ 219 73 2 0.5564        9.82200001       4.28400000       6.68100000
+ 220 74 1 -1.1128      14.76199999       3.40100000      13.77599999
+ 221 74 2 0.5564       16.51799999       3.82400000      13.37600000
+ 222 74 2 0.5564       13.75200000       4.75700000      12.96400000
+ 223 75 1 -1.1128      12.38199999       1.01200001      17.64300001
+ 224 75 2 0.5564       13.34599999       1.99700000      16.44400000
+ 225 75 2 0.5564       11.93100000       2.13300000      18.99800001
+ 226 76 1 -1.1128      15.27799999       1.29300000      24.55900000
+ 227 76 2 0.5564       16.07100000       0.94600000      26.36500000
+ 228 76 2 0.5564       15.79399999       0.19899999      23.49900000
+ 229 77 1 -1.1128      22.22600000      31.62700000      24.71199999
+ 230 77 2 0.5564       23.33800001      32.59500000      23.87600001
+ 231 77 2 0.5564       22.16100000      30.05300000      24.13200000
+ 232 78 1 -1.1128      15.63999999       1.84700001      32.71700000
+ 233 78 2 0.5564       17.48800000       2.47300000      31.87400000
+ 234 78 2 0.5564       16.40300001       0.86900001      34.26700001
+ 235 79 1 -1.1128      14.85800001      10.19899999       2.75400001
+ 236 79 2 0.5564       13.36000001      10.71199999       2.28199999
+ 237 79 2 0.5564       14.56000000       9.31600000       4.55900000
+ 238 80 1 -1.1128      15.71700000       8.46900000      10.73900000
+ 239 80 2 0.5564       17.32300000       9.58100000      10.87500000
+ 240 80 2 0.5564       14.57400000       9.63100000      10.22099999
+ 241 81 1 -1.1128      15.24800000      10.39800000      16.52500001
+ 242 81 2 0.5564       16.32400001       9.18100001      16.14899999
+ 243 81 2 0.5564       14.17200000      10.48800000      15.09800001
+ 244 82 1 -1.1128      13.22600000       8.43800000      20.80100001
+ 245 82 2 0.5564       14.04300000       8.99600000      19.29500001
+ 246 82 2 0.5564       14.66100001       7.80200000      22.09300000
+ 247 83 1 -1.1128      10.17300001      10.96100000      25.87500000
+ 248 83 2 0.5564       11.47700000      10.22300000      26.94000000
+ 249 83 2 0.5564       11.26900000      10.73800000      24.34299999
+ 250 84 1 -1.1128      12.79200000       7.73699999      29.17300001
+ 251 84 2 0.5564       12.19899999       6.03799999      29.47499999
+ 252 84 2 0.5564       14.42700000       7.44999999      29.61700000
+ 253 85 1 -1.1128      15.18000000      19.49800000       3.57800000
+ 254 85 2 0.5564       14.88300001      17.59600001       4.08000001
+ 255 85 2 0.5564       16.75400001      19.57899999       2.62599999
+ 256 86 1 -1.1128      12.51700000      11.09300000       7.70099999
+ 257 86 2 0.5564       12.22400001      12.77800000       7.55500000
+ 258 86 2 0.5564       11.15000000      10.39299999       7.05700000
+ 259 87 1 -1.1128      16.26600000      16.27099999      10.75800001
+ 260 87 2 0.5564       16.50700001      15.79500000      12.76800001
+ 261 87 2 0.5564       17.72500001      16.97699999      10.29200001
+ 262 88 1 -1.1128      14.06900000      18.39900001      18.89700000
+ 263 88 2 0.5564       15.51300000      17.52300000      18.15500000
+ 264 88 2 0.5564       14.95800001      18.70900000      20.67300000
+ 265 89 1 -1.1128      14.09899999      15.48000000      25.51000001
+ 266 89 2 0.5564       13.69800000      16.87200001      26.93799999
+ 267 89 2 0.5564       12.56700000      15.37900000      24.44400000
+ 268 90 1 -1.1128      13.30900000      17.57400000      30.29200001
+ 269 90 2 0.5564       14.93700001      16.93399999      30.81000000
+ 270 90 2 0.5564       13.96900001      19.49400000      30.01200001
+ 271 91 1 -1.1128      18.37099999      23.25699999       0.92500000
+ 272 91 2 0.5564       19.47899999      23.48000000       2.32099999
+ 273 91 2 0.5564       19.08700001      24.32499999      -0.36900000
+ 274 92 1 -1.1128      12.10000000      21.72999999      11.35500000
+ 275 92 2 0.5564       13.14100001      22.28700000      12.74300001
+ 276 92 2 0.5564       13.46700001      22.23600000      10.24400000
+ 277 93 1 -1.1128      12.16300001      23.29000000      23.59699999
+ 278 93 2 0.5564       11.32400001      22.73600001      24.94900000
+ 279 93 2 0.5564       13.88200000      22.87200001      23.84000001
+ 280 94 1 -1.1128      20.17300001      26.76100001      22.62800000
+ 281 94 2 0.5564       20.20600001      26.53200001      20.79200000
+ 282 94 2 0.5564       21.55600000      25.74200000      23.38899999
+ 283 95 1 -1.1128      16.70099999      21.16500000      22.60500000
+ 284 95 2 0.5564       18.02800000      20.68600001      23.84799999
+ 285 95 2 0.5564       17.10400000      22.86599999      21.94900000
+ 286 96 1 -1.1128      11.39100000      26.46099999      33.70499999
+ 287 96 2 0.5564        9.84099999      27.19199999      34.04800001
+ 288 96 2 0.5564       11.77599999      25.53999999      35.24300000
+ 289 97 1 -1.1128       9.89799999      25.98900000       4.55300001
+ 290 97 2 0.5564        8.90199999      26.13099999       6.03900000
+ 291 97 2 0.5564       10.28700000      27.80600000       4.37600000
+ 292 98 1 -1.1128      14.30800000      26.96000000      10.87699999
+ 293 98 2 0.5564       15.30200000      27.40500000      12.17300001
+ 294 98 2 0.5564       15.46300000      26.15100000       9.63299999
+ 295 99 1 -1.1128      13.43300000      22.96000000      16.90400000
+ 296 99 2 0.5564       13.40900000      24.13099999      18.13200000
+ 297 99 2 0.5564       13.62400000      21.19100001      17.52000000
+ 298 100 1 -1.1128      16.40900000      26.76800001      26.87500000
+ 299 100 2 0.5564       17.58999999      26.98700001      25.43100000
+ 300 100 2 0.5564       14.75099999      27.70300000      26.23000000
+ 301 101 1 -1.1128      14.40500000      22.73299999      29.89200000
+ 302 101 2 0.5564       15.42300000      23.07900000      28.49400000
+ 303 101 2 0.5564       12.82600001      23.25900000      29.41600000
+ 304 102 1 -1.1128       6.90500001      29.40800000       0.74900000
+ 305 102 2 0.5564        8.42800001      30.48300000       1.56700000
+ 306 102 2 0.5564        6.35300001      30.81400000      -0.44400000
+ 307 103 1 -1.1128       9.18899999      34.15900001       6.50900000
+ 308 103 2 0.5564       10.19800000      34.19300000       8.00199999
+ 309 103 2 0.5564        9.89000001      35.69200000       5.78500000
+ 310 104 1 -1.1128      14.25600001      32.31600000       9.36900000
+ 311 104 2 0.5564       15.73299999      32.86700000       9.48599999
+ 312 104 2 0.5564       14.75400001      30.67000000      10.09000000
+ 313 105 1 -1.1128      14.71400000      30.84099999      16.51600000
+ 314 105 2 0.5564       13.74799999      29.55099999      17.27900000
+ 315 105 2 0.5564       13.21800000      31.93300001      16.61400001
+ 316 106 1 -1.1128      18.40900000      33.64100000      20.61100001
+ 317 106 2 0.5564       19.60099999      32.27400001      21.11500000
+ 318 106 2 0.5564       17.36000001      32.65500000      19.51799999
+ 319 107 1 -1.1128      16.06200001      28.63800000      32.20700000
+ 320 107 2 0.5564       14.64800000      27.95800001      33.25299999
+ 321 107 2 0.5564       15.75200000      28.01400000      30.52199999
+ 322 108 1 -1.1128      16.20000000      30.89499999       1.47300000
+ 323 108 2 0.5564       16.62599999      29.96800000      -0.13000001
+ 324 108 2 0.5564       17.16699999      29.83300001       2.92699999
+ 325 109 1 -1.1128      20.27799999       3.52899999       6.04800001
+ 326 109 2 0.5564       20.97699999       3.61100001       4.57500001
+ 327 109 2 0.5564       21.31200000       4.51300000       7.25100000
+ 328 110 1 -1.1128      23.07900000       5.77800000      10.40800000
+ 329 110 2 0.5564       24.65000001       6.25900000      10.83800000
+ 330 110 2 0.5564       22.34200001       7.60900000      10.17799999
+ 331 111 1 -1.1128      19.58100000       2.03099999      12.10999999
+ 332 111 2 0.5564       19.03900000       1.08200000      10.44000000
+ 333 111 2 0.5564       21.14100001       2.99100001      11.85100001
+ 334 112 1 -1.1128      22.00500001       3.22300000      23.17799999
+ 335 112 2 0.5564       21.42899999       4.09000000      24.55399999
+ 336 112 2 0.5564       20.65400001       1.79099999      22.71100001
+ 337 113 1 -1.1128      16.63000000       6.42200000      23.79200000
+ 338 113 2 0.5564       16.21900000       4.80400001      24.40600001
+ 339 113 2 0.5564       17.06600001       7.12799999      25.28199999
+ 340 114 1 -1.1128      21.67599999       5.56400001      28.15800000
+ 341 114 2 0.5564       20.65799999       6.71700000      29.18499999
+ 342 114 2 0.5564       23.41300000       5.82800000      28.99600000
+ 343 115 1 -1.1128      15.25699999       5.26500000       5.62599999
+ 344 115 2 0.5564       16.91400000       4.51900000       5.48999999
+ 345 115 2 0.5564       15.14400000       6.15000000       6.97200000
+ 346 116 1 -1.1128      20.13700000      11.08200000      10.43700000
+ 347 116 2 0.5564       20.02100000      10.94700000       8.73299999
+ 348 116 2 0.5564       21.02500000      12.55500000      10.85300000
+ 349 117 1 -1.1128      23.08900000      14.62700000      12.43700000
+ 350 117 2 0.5564       24.71600000      15.25400000      12.73600001
+ 351 117 2 0.5564       23.28400000      13.22799999      13.65300000
+ 352 118 1 -1.1128      24.08300000      12.64900000      22.56600000
+ 353 118 2 0.5564       22.39700000      12.66300000      23.04199999
+ 354 118 2 0.5564       24.90100001      13.85100001      23.56499999
+ 355 119 1 -1.1128      17.86500001       7.90899999      30.03600000
+ 356 119 2 0.5564       17.50900000       8.04499999      31.98200000
+ 357 119 2 0.5564       18.07800000       9.58200001      29.31799999
+ 358 120 1 -1.1128      18.82400000       8.48599999       0.10400000
+ 359 120 2 0.5564       19.99700000      10.19100001      -0.05700000
+ 360 120 2 0.5564       17.07700001       8.99800001       0.77900001
+ 361 121 1 -1.1128      20.12200000       9.14300000       5.34299999
+ 362 121 2 0.5564       19.37300000       8.81899999       3.82100000
+ 363 121 2 0.5564       21.99800001       8.77599999       5.12799999
+ 364 122 1 -1.1128      16.41300000      14.45900000       5.85499999
+ 365 122 2 0.5564       15.53599999      13.00700000       5.23899999
+ 366 122 2 0.5564       16.00599999      14.72500001       7.73699999
+ 367 123 1 -1.1128      17.56099999      15.06600001      15.65400001
+ 368 123 2 0.5564       17.57500001      13.39800000      16.05500001
+ 369 123 2 0.5564       18.97800000      15.82800000      16.39999999
+ 370 124 1 -1.1128      26.37400001      17.04700000      24.81700000
+ 371 124 2 0.5564       27.98300000      17.09800001      25.63200001
+ 372 124 2 0.5564       25.62900001      18.75099999      24.91900001
+ 373 125 1 -1.1128      19.78400000      12.96000000      28.70600000
+ 374 125 2 0.5564       21.66199999      13.05500001      28.87100000
+ 375 125 2 0.5564       19.54500000      14.06999999      27.14300000
+ 376 126 1 -1.1128      17.89099999      16.73299999      32.49900000
+ 377 126 2 0.5564       18.32700000      15.24000000      31.27700001
+ 378 126 2 0.5564       18.63299999      18.33500001      31.69300001
+ 379 127 1 -1.1128      23.73299999      23.02399999       1.66300000
+ 380 127 2 0.5564       24.80000000      24.05199999       2.77599999
+ 381 127 2 0.5564       24.69300001      22.61800001       0.19800000
+ 382 128 1 -1.1128      20.78900000      18.44000000       9.44299999
+ 383 128 2 0.5564       20.76599999      17.25699999       7.88100000
+ 384 128 2 0.5564       21.89600000      17.34500000      10.38500001
+ 385 129 1 -1.1128      21.57400000      17.49299999      17.83800000
+ 386 129 2 0.5564       20.59699999      18.95500001      17.21800000
+ 387 129 2 0.5564       22.53800000      16.87400000      16.25100000
+ 388 130 1 -1.1128      19.16800000      14.74799999      24.13099999
+ 389 130 2 0.5564       19.71100001      16.39000000      23.71199999
+ 390 130 2 0.5564       17.42899999      14.69500000      24.40300001
+ 391 131 1 -1.1128      22.14899999      20.19800000      24.97699999
+ 392 131 2 0.5564       21.63900001      20.92400000      26.48599999
+ 393 131 2 0.5564       22.65600000      21.65700001      24.41099999
+ 394 132 1 -1.1128      20.56499999      20.79200000      29.60000001
+ 395 132 2 0.5564       22.26399999      20.40900000      30.21399999
+ 396 132 2 0.5564       20.54800000      22.40800000      30.59699999
+ 397 133 1 -1.1128      20.80200000      26.54699999       9.61499999
+ 398 133 2 0.5564       20.09899999      27.98399999       8.33800001
+ 399 133 2 0.5564       21.27700001      27.53900001      11.32499999
+ 400 134 1 -1.1128      16.28300000      23.58900001       7.77900001
+ 401 134 2 0.5564       16.09300000      21.97300001       6.71199999
+ 402 134 2 0.5564       17.90100001      22.97100000       8.15400000
+ 403 135 1 -1.1128      18.46900000      29.79799999      13.56800001
+ 404 135 2 0.5564       19.71199999      31.21600000      13.50600000
+ 405 135 2 0.5564       16.87200001      30.34299999      14.39600001
+ 406 136 1 -1.1128      18.79000001      21.71199999      16.06000000
+ 407 136 2 0.5564       19.87800000      23.09000000      16.48500001
+ 408 136 2 0.5564       17.20100000      22.32600000      15.81899999
+ 409 137 1 -1.1128      21.74700001      26.08400001      16.34900001
+ 410 137 2 0.5564       20.78300001      27.02100000      15.29999999
+ 411 137 2 0.5564       22.70499999      27.32799999      17.20600001
+ 412 138 1 -1.1128      20.76899999      26.21100000      32.05000000
+ 413 138 2 0.5564       21.48800000      27.40399999      33.32799999
+ 414 138 2 0.5564       18.98900000      26.71000000      32.14500001
+ 415 139 1 -1.1128      19.82000000      29.18100001       5.55900000
+ 416 139 2 0.5564       20.99100001      29.50900000       4.10900001
+ 417 139 2 0.5564       19.43100000      31.01800000       6.22099999
+ 418 140 1 -1.1128      19.24000000      33.86700000       7.99300000
+ 419 140 2 0.5564       19.10700000      35.03900000       6.60399999
+ 420 140 2 0.5564       20.69700001      33.67100000       9.06299999
+ 421 141 1 -1.1128      22.51099999      34.97600001      15.79300000
+ 422 141 2 0.5564       23.71600000      36.16300001      16.60300000
+ 423 141 2 0.5564       21.69900000      36.15000000      14.46700001
+ 424 142 1 -1.1128      22.62199999      30.28400000      19.06900000
+ 425 142 2 0.5564       22.04899999      31.35100000      17.72500001
+ 426 142 2 0.5564       24.41099999      30.77299999      19.57599999
+ 427 143 1 -1.1128      18.63900001      33.61100001      28.36900000
+ 428 143 2 0.5564       18.22600000      32.15900001      29.10300000
+ 429 143 2 0.5564       19.90600000      33.00800000      27.15800000
+ 430 144 1 -1.1128      22.52000000       1.32499999      31.92600001
+ 431 144 2 0.5564       22.80300000       2.66800001      30.79600000
+ 432 144 2 0.5564       21.04499999       0.42499999      31.12200000
+ 433 145 1 -1.1128      21.75400001       3.78900000       1.15900001
+ 434 145 2 0.5564       22.08499999       2.78500000      -0.18000000
+ 435 145 2 0.5564       20.85000000       5.17500000       0.61000000
+ 436 146 1 -1.1128      28.45699999       5.53900001      12.13300000
+ 437 146 2 0.5564       29.48900001       4.39000000      11.18200000
+ 438 146 2 0.5564       29.16100000       7.13099999      12.58700000
+ 439 147 1 -1.1128      22.49500000       5.96599999      17.32400001
+ 440 147 2 0.5564       24.37700000       5.37900000      17.39299999
+ 441 147 2 0.5564       21.90600000       5.49100000      18.85700000
+ 442 148 1 -1.1128      28.12799999       3.30400000      22.28700000
+ 443 148 2 0.5564       28.12300001       2.99899999      20.49100000
+ 444 148 2 0.5564       26.53299999       3.35500000      22.87600001
+ 445 149 1 -1.1128      28.37800001      10.45500000      27.26600000
+ 446 149 2 0.5564       30.01900001      10.29200001      28.05100000
+ 447 149 2 0.5564       28.63500000      10.03900000      25.46300000
+ 448 150 1 -1.1128      27.03099999       8.35300001      34.80600000
+ 449 150 2 0.5564       26.11600001       9.98399999      34.57100001
+ 450 150 2 0.5564       28.68500000       8.95100001      34.73900000
+ 451 151 1 -1.1128      24.95100001       8.15999999       4.45399999
+ 452 151 2 0.5564       25.93000001       9.61600000       5.15999999
+ 453 151 2 0.5564       25.94700000       7.99400001       2.72400000
+ 454 152 1 -1.1128      26.93700001      12.43599999       6.86900001
+ 455 152 2 0.5564       25.49200001      13.28400000       6.70799999
+ 456 152 2 0.5564       27.68900000      13.33199999       8.26600000
+ 457 153 1 -1.1128      23.36500000      11.21399999      16.93300001
+ 458 153 2 0.5564       22.24700000       9.74399999      16.78900000
+ 459 153 2 0.5564       23.26399999      12.03500000      18.53900001
+ 460 154 1 -1.1128      28.32099999       8.75900000      22.15800000
+ 461 154 2 0.5564       27.66199999       6.89499999      22.48200001
+ 462 154 2 0.5564       26.97100000       9.71000000      21.90199999
+ 463 155 1 -1.1128      27.07100000       6.10900001      29.55500000
+ 464 155 2 0.5564       27.59100000       7.66300000      28.85700000
+ 465 155 2 0.5564       27.30400000       6.32000001      31.26100000
+ 466 156 1 -1.1128      22.47400000      11.70400001      34.63999999
+ 467 156 2 0.5564       22.75200000      13.30400000      35.58400000
+ 468 156 2 0.5564       22.84000001      12.09000000      33.03000001
+ 469 157 1 -1.1128      21.65600000      14.97100000       5.61499999
+ 470 157 2 0.5564       21.68999999      15.86000000       3.97699999
+ 471 157 2 0.5564       19.96400000      14.22500000       5.77400000
+ 472 158 1 -1.1128      28.53900001      21.49200001       9.82000000
+ 473 158 2 0.5564       27.28800001      22.18100001       8.68800000
+ 474 158 2 0.5564       28.06500000      22.42000000      11.60200000
+ 475 159 1 -1.1128      28.36399999      16.01999999      11.10900001
+ 476 159 2 0.5564       30.03300000      16.64900000      12.08900000
+ 477 159 2 0.5564       28.45600000      17.44000000      10.08200000
+ 478 160 1 -1.1128       0.05400000      13.68600001      18.10300000
+ 479 160 2 0.5564       -1.71400000      12.92800000      18.84099999
+ 480 160 2 0.5564        1.00800000      12.42899999      17.38300000
+ 481 161 1 -1.1128      24.63600001      12.89400001      29.95700000
+ 482 161 2 0.5564       25.90600000      13.91400000      31.18300000
+ 483 161 2 0.5564       25.64100000      11.60900000      29.16200000
+ 484 162 1 -1.1128      21.54800000      17.25000000       0.74900000
+ 485 162 2 0.5564       21.84300000      19.02600000       0.90500001
+ 486 162 2 0.5564       20.38500001      16.71600000      -0.69700001
+ 487 163 1 -1.1128      26.09499999      27.27400001       4.52000000
+ 488 163 2 0.5564       27.88900000      26.45800000       4.50500000
+ 489 163 2 0.5564       25.64800000      26.96999999       6.16500000
+ 490 164 1 -1.1128      23.61000000      22.51499999       8.00800000
+ 491 164 2 0.5564       22.65300000      21.18700000       8.73900000
+ 492 164 2 0.5564       22.28600000      24.09499999       8.44400000
+ 493 165 1 -1.1128      27.35500000      18.92900000      18.18000000
+ 494 165 2 0.5564       27.20000000      20.34900001      17.15500000
+ 495 165 2 0.5564       25.57899999      18.32200000      18.77000000
+ 496 166 1 -1.1128      26.76500001      23.63299999      14.44400000
+ 497 166 2 0.5564       27.44100000      25.29800000      13.65099999
+ 498 166 2 0.5564       25.08600000      24.25600001      14.74900000
+ 499 167 1 -1.1128      31.47800001      20.76899999      20.98600000
+ 500 167 2 0.5564       30.44000000      22.50900000      21.13499999
+ 501 167 2 0.5564       30.56700000      19.65600000      20.04300000
+ 502 168 1 -1.1128      24.81199999      20.41200000      32.66800001
+ 503 168 2 0.5564       26.24199999      21.47800001      31.87400000
+ 504 168 2 0.5564       25.78699999      19.02300001      33.15800000
+ 505 169 1 -1.1128      22.10500001      29.07600000       0.92800000
+ 506 169 2 0.5564       23.29599999      27.92299999       1.73900000
+ 507 169 2 0.5564       22.62300000      30.99400001       0.88200000
+ 508 170 1 -1.1128      29.57199999      31.25600001       8.62599999
+ 509 170 2 0.5564       30.79500000      30.20299999       7.73600001
+ 510 170 2 0.5564       28.27700001      31.51900000       7.25999999
+ 511 171 1 -1.1128      31.81700000      34.84300000      18.28300000
+ 512 171 2 0.5564       32.43800000      34.38899999      16.47400000
+ 513 171 2 0.5564       32.74300001      36.42200000      18.34100000
+ 514 172 1 -1.1128      27.91500001      25.60099999      19.03300000
+ 515 172 2 0.5564       29.35800000      26.56099999      19.19000000
+ 516 172 2 0.5564       28.14800001      24.42899999      17.53000000
+ 517 173 1 -1.1128      24.54800000      24.65400001      24.02500000
+ 518 173 2 0.5564       25.52800001      25.63500000      22.82400000
+ 519 173 2 0.5564       25.29999999      25.20000000      25.64500000
+ 520 174 1 -1.1128      28.53999999      22.92200000      30.37000000
+ 521 174 2 0.5564       27.41399999      24.09600000      29.78100000
+ 522 174 2 0.5564       29.67400000      23.91400000      31.87299999
+ 523 175 1 -1.1128      24.96900001      33.62300000       1.01400000
+ 524 175 2 0.5564       26.52100001      33.05800000       1.51799999
+ 525 175 2 0.5564       24.99000000      34.32200000      -0.68299999
+ 526 176 1 -1.1128      23.07500000      32.17099999      11.32400001
+ 527 176 2 0.5564       23.31600000      32.77500000      13.09700000
+ 528 176 2 0.5564       24.46000001      33.20299999      10.66199999
+ 529 177 1 -1.1128      27.49699999       2.73600001      17.22400001
+ 530 177 2 0.5564       28.39700000       3.41500000      15.71500001
+ 531 177 2 0.5564       28.23400001       1.23300000      17.41200000
+ 532 178 1 -1.1128      26.36900000      33.06000000      22.07700001
+ 533 178 2 0.5564       26.17000001      34.74600000      22.26399999
+ 534 178 2 0.5564       27.59200000      32.40399999      23.32099999
+ 535 179 1 -1.1128      30.22099999      30.95000000      25.84300000
+ 536 179 2 0.5564       30.30500000      29.03799999      26.20800000
+ 537 179 2 0.5564       30.36300001      31.97900000      27.41399999
+ 538 180 1 -1.1128      24.97300001      26.73200000      28.60700001
+ 539 180 2 0.5564       25.38500001      28.36900000      29.24800000
+ 540 180 2 0.5564       23.33000000      26.59699999      29.23400001
+ 541 181 1 -1.1128      32.16500000       4.85700000       2.25800000
+ 542 181 2 0.5564       32.41700001       6.19500001       1.15700000
+ 543 181 2 0.5564       32.61499999       3.72700000       1.11200000
+ 544 182 1 -1.1128      28.06699999       3.53299999       5.21699999
+ 545 182 2 0.5564       26.96000000       4.44699999       4.15800000
+ 546 182 2 0.5564       29.87500000       3.86300000       4.44800000
+ 547 183 1 -1.1128      33.27900000       2.78200000      13.02800000
+ 548 183 2 0.5564       33.70799999       3.95500001      11.81700000
+ 549 183 2 0.5564       33.65600000       3.54500000      14.63100000
+ 550 184 1 -1.1128      34.27799999       4.94400001      17.49200001
+ 551 184 2 0.5564       33.43800000       6.56300000      17.87600001
+ 552 184 2 0.5564       34.90600000       4.45200000      18.99499999
+ 553 185 1 -1.1128      32.36300001       1.90800001      26.09199999
+ 554 185 2 0.5564       31.94099999       1.68299999      24.26800000
+ 555 185 2 0.5564       33.85000000       1.39000000      26.90400000
+ 556 186 1 -1.1128      27.98200000       0.41799999      28.24100000
+ 557 186 2 0.5564       27.51600000       2.08000001      28.30900000
+ 558 186 2 0.5564       29.59300001       0.17600000      27.29900001
+ 559 187 1 -1.1128      28.84500000      14.67200001       2.72400000
+ 560 187 2 0.5564       27.96299999      13.93000001       4.13900000
+ 561 187 2 0.5564       30.38599999      15.71400000       3.37900000
+ 562 188 1 -1.1128      28.08300000      10.61800001      14.29800000
+ 563 188 2 0.5564       28.62300000      12.15999999      13.29300000
+ 564 188 2 0.5564       26.48599999      11.01500000      15.37900000
+ 565 189 1 -1.1128      33.86700000      10.54500000      13.30600001
+ 566 189 2 0.5564       35.16500000       9.61200000      13.81000000
+ 567 189 2 0.5564       33.61499999      10.27000001      11.51300000
+ 568 190 1 -1.1128      31.79000001       9.69600000      18.22300000
+ 569 190 2 0.5564       30.48400000       9.33400000      19.42100001
+ 570 190 2 0.5564       30.83399999      10.09600000      16.92900000
+ 571 191 1 -1.1128      30.14100001      15.00599999      21.53200001
+ 572 191 2 0.5564       28.56499999      15.59399999      22.09899999
+ 573 191 2 0.5564       30.94200000      14.25299999      23.07700001
+ 574 192 1 -1.1128      32.79799999      10.73200000      30.67999999
+ 575 192 2 0.5564       34.07300001       9.52800001      30.79900000
+ 576 192 2 0.5564       32.99100001      11.51200000      28.98300000
+ 577 193 1 -1.1128      33.65200000      16.26500000       5.08600000
+ 578 193 2 0.5564       35.39900001      16.23899999       4.72999999
+ 579 193 2 0.5564       33.50300001      17.93900000       5.63100000
+ 580 194 1 -1.1128      31.94700000      10.79900000       7.94300000
+ 581 194 2 0.5564       29.89400001      10.54900000       7.61899999
+ 582 194 2 0.5564       32.27099999      12.41399999       7.07500000
+ 583 195 1 -1.1128       0.32900000      15.51600000      11.74600000
+ 584 195 2 0.5564       -0.44600001      14.24900001      12.93900000
+ 585 195 2 0.5564       -0.68500000      17.01800000      11.93500000
+ 586 196 1 -1.1128       4.26200000      19.16500000      14.30800000
+ 587 196 2 0.5564        3.57899999      17.69100000      14.91999999
+ 588 196 2 0.5564        5.72299999      19.18300000      15.20400000
+ 589 197 1 -1.1128      32.99499999      13.54600001      25.94800001
+ 590 197 2 0.5564       32.16699999      15.06000000      26.78699999
+ 591 197 2 0.5564       34.42499999      13.80000000      25.00700000
+ 592 198 1 -1.1128       1.77299999      13.52400000      34.03700001
+ 593 198 2 0.5564        0.22700001      14.40900000      33.44600001
+ 594 198 2 0.5564        2.16699999      14.67000000      35.51099999
+ 595 199 1 -1.1128      33.02900000      20.52899999       7.24700000
+ 596 199 2 0.5564       34.38800000      21.41399999       8.00300000
+ 597 199 2 0.5564       31.45100000      20.83100000       8.18200000
+ 598 200 1 -1.1128       2.03700001      24.25000000      10.25100000
+ 599 200 2 0.5564        3.74300001      25.00800000       9.87600001
+ 600 200 2 0.5564        1.89400001      25.04300000      11.90300000
+ 601 201 1 -1.1128      32.75300000      19.25900000      13.97600001
+ 602 201 2 0.5564       32.79200000      20.88600000      13.79200000
+ 603 201 2 0.5564       34.33400000      18.79900000      14.97600001
+ 604 202 1 -1.1128       0.39600001      18.67300000      18.69900000
+ 605 202 2 0.5564       -1.21100000      18.95000000      19.12700001
+ 606 202 2 0.5564        0.46900000      16.97699999      18.43599999
+ 607 203 1 -1.1128      30.85499999      18.37000000      27.95899999
+ 608 203 2 0.5564       29.75900000      19.68100000      28.68999999
+ 609 203 2 0.5564       32.10300000      19.47700000      26.76300000
+ 610 204 1 -1.1128      27.72299999      15.99200000      33.09100001
+ 611 204 2 0.5564       29.39000000      16.42300000      32.19199999
+ 612 204 2 0.5564       27.80100001      15.85899999      34.80400001
+ 613 205 1 -1.1128      31.06800000      27.89499999       3.34800000
+ 614 205 2 0.5564       32.51700000      27.82500000       4.61000000
+ 615 205 2 0.5564       31.52899999      29.45900000       2.32400001
+ 616 206 1 -1.1128      35.03900000      28.00800000       6.66300000
+ 617 206 2 0.5564       35.96599999      26.93399999       7.68299999
+ 618 206 2 0.5564       36.05500001      28.33600000       5.33600000
+ 619 207 1 -1.1128      29.35600001      28.19599999      13.02500000
+ 620 207 2 0.5564       29.20999999      29.33500001      14.58900001
+ 621 207 2 0.5564       28.87400000      29.62900001      11.86700000
+ 622 208 1 -1.1128      32.38599999      28.43400000      18.96100000
+ 623 208 2 0.5564       33.36799999      28.57400000      20.41099999
+ 624 208 2 0.5564       33.41000001      27.40600001      17.94900000
+ 625 209 1 -1.1128      30.89799999      25.39000000      25.79900000
+ 626 209 2 0.5564       32.36900000      25.91299999      24.58000000
+ 627 209 2 0.5564       31.31700001      24.07500000      27.02900000
+ 628 210 1 -1.1128      32.25900000      25.61100001      33.10400000
+ 629 210 2 0.5564       32.23800001      25.73600001      34.80600000
+ 630 210 2 0.5564       33.91999999      25.04199999      32.77500000
+ 631 211 1 -1.1128      30.29000000      32.64500000       1.34100000
+ 632 211 2 0.5564       29.94900000      32.79300000      -0.43000000
+ 633 211 2 0.5564       31.76199999      33.34000000       1.84700001
+ 634 212 1 -1.1128      25.53599999      34.23499999       6.46900000
+ 635 212 2 0.5564       25.71600000      36.05900001       6.65099999
+ 636 212 2 0.5564       25.28300000      33.86599999       4.89499999
+ 637 213 1 -1.1128      31.67400000      33.16100000      13.10599999
+ 638 213 2 0.5564       31.79300000      34.86300000      13.28100001
+ 639 213 2 0.5564       30.42499999      32.92800000      11.78300001
+ 640 214 1 -1.1128      33.84400001      32.66800001      22.29599999
+ 641 214 2 0.5564       32.75000000      32.23400001      23.52400000
+ 642 214 2 0.5564       32.91700000      32.87500000      20.73600001
+ 643 215 1 -1.1128      31.60300000      30.54200000      30.80499999
+ 644 215 2 0.5564       33.45100000      30.80400001      30.46799999
+ 645 215 2 0.5564       31.57500001      28.81599999      31.75600000
+ 646 216 1 -1.1128      26.29500001      31.23499999      30.59900000
+ 647 216 2 0.5564       27.83399999      30.51499999      30.60700001
+ 648 216 2 0.5564       26.36200000      32.91999999      29.85600000
+
+Bonds
+
+ 1 1 1 2
+ 2 1 1 3
+ 3 1 4 5
+ 4 1 4 6
+ 5 1 7 8
+ 6 1 7 9
+ 7 1 10 11
+ 8 1 10 12
+ 9 1 13 14
+ 10 1 13 15
+ 11 1 16 17
+ 12 1 16 18
+ 13 1 19 20
+ 14 1 19 21
+ 15 1 22 23
+ 16 1 22 24
+ 17 1 25 26
+ 18 1 25 27
+ 19 1 28 29
+ 20 1 28 30
+ 21 1 31 32
+ 22 1 31 33
+ 23 1 34 35
+ 24 1 34 36
+ 25 1 37 38
+ 26 1 37 39
+ 27 1 40 41
+ 28 1 40 42
+ 29 1 43 44
+ 30 1 43 45
+ 31 1 46 47
+ 32 1 46 48
+ 33 1 49 50
+ 34 1 49 51
+ 35 1 52 53
+ 36 1 52 54
+ 37 1 55 56
+ 38 1 55 57
+ 39 1 58 59
+ 40 1 58 60
+ 41 1 61 62
+ 42 1 61 63
+ 43 1 64 65
+ 44 1 64 66
+ 45 1 67 68
+ 46 1 67 69
+ 47 1 70 71
+ 48 1 70 72
+ 49 1 73 74
+ 50 1 73 75
+ 51 1 76 77
+ 52 1 76 78
+ 53 1 79 80
+ 54 1 79 81
+ 55 1 82 83
+ 56 1 82 84
+ 57 1 85 86
+ 58 1 85 87
+ 59 1 88 89
+ 60 1 88 90
+ 61 1 91 92
+ 62 1 91 93
+ 63 1 94 95
+ 64 1 94 96
+ 65 1 97 98
+ 66 1 97 99
+ 67 1 100 101
+ 68 1 100 102
+ 69 1 103 104
+ 70 1 103 105
+ 71 1 106 107
+ 72 1 106 108
+ 73 1 109 110
+ 74 1 109 111
+ 75 1 112 113
+ 76 1 112 114
+ 77 1 115 116
+ 78 1 115 117
+ 79 1 118 119
+ 80 1 118 120
+ 81 1 121 122
+ 82 1 121 123
+ 83 1 124 125
+ 84 1 124 126
+ 85 1 127 128
+ 86 1 127 129
+ 87 1 130 131
+ 88 1 130 132
+ 89 1 133 134
+ 90 1 133 135
+ 91 1 136 137
+ 92 1 136 138
+ 93 1 139 140
+ 94 1 139 141
+ 95 1 142 143
+ 96 1 142 144
+ 97 1 145 146
+ 98 1 145 147
+ 99 1 148 149
+ 100 1 148 150
+ 101 1 151 152
+ 102 1 151 153
+ 103 1 154 155
+ 104 1 154 156
+ 105 1 157 158
+ 106 1 157 159
+ 107 1 160 161
+ 108 1 160 162
+ 109 1 163 164
+ 110 1 163 165
+ 111 1 166 167
+ 112 1 166 168
+ 113 1 169 170
+ 114 1 169 171
+ 115 1 172 173
+ 116 1 172 174
+ 117 1 175 176
+ 118 1 175 177
+ 119 1 178 179
+ 120 1 178 180
+ 121 1 181 182
+ 122 1 181 183
+ 123 1 184 185
+ 124 1 184 186
+ 125 1 187 188
+ 126 1 187 189
+ 127 1 190 191
+ 128 1 190 192
+ 129 1 193 194
+ 130 1 193 195
+ 131 1 196 197
+ 132 1 196 198
+ 133 1 199 200
+ 134 1 199 201
+ 135 1 202 203
+ 136 1 202 204
+ 137 1 205 206
+ 138 1 205 207
+ 139 1 208 209
+ 140 1 208 210
+ 141 1 211 212
+ 142 1 211 213
+ 143 1 214 215
+ 144 1 214 216
+ 145 1 217 218
+ 146 1 217 219
+ 147 1 220 221
+ 148 1 220 222
+ 149 1 223 224
+ 150 1 223 225
+ 151 1 226 227
+ 152 1 226 228
+ 153 1 229 230
+ 154 1 229 231
+ 155 1 232 233
+ 156 1 232 234
+ 157 1 235 236
+ 158 1 235 237
+ 159 1 238 239
+ 160 1 238 240
+ 161 1 241 242
+ 162 1 241 243
+ 163 1 244 245
+ 164 1 244 246
+ 165 1 247 248
+ 166 1 247 249
+ 167 1 250 251
+ 168 1 250 252
+ 169 1 253 254
+ 170 1 253 255
+ 171 1 256 257
+ 172 1 256 258
+ 173 1 259 260
+ 174 1 259 261
+ 175 1 262 263
+ 176 1 262 264
+ 177 1 265 266
+ 178 1 265 267
+ 179 1 268 269
+ 180 1 268 270
+ 181 1 271 272
+ 182 1 271 273
+ 183 1 274 275
+ 184 1 274 276
+ 185 1 277 278
+ 186 1 277 279
+ 187 1 280 281
+ 188 1 280 282
+ 189 1 283 284
+ 190 1 283 285
+ 191 1 286 287
+ 192 1 286 288
+ 193 1 289 290
+ 194 1 289 291
+ 195 1 292 293
+ 196 1 292 294
+ 197 1 295 296
+ 198 1 295 297
+ 199 1 298 299
+ 200 1 298 300
+ 201 1 301 302
+ 202 1 301 303
+ 203 1 304 305
+ 204 1 304 306
+ 205 1 307 308
+ 206 1 307 309
+ 207 1 310 311
+ 208 1 310 312
+ 209 1 313 314
+ 210 1 313 315
+ 211 1 316 317
+ 212 1 316 318
+ 213 1 319 320
+ 214 1 319 321
+ 215 1 322 323
+ 216 1 322 324
+ 217 1 325 326
+ 218 1 325 327
+ 219 1 328 329
+ 220 1 328 330
+ 221 1 331 332
+ 222 1 331 333
+ 223 1 334 335
+ 224 1 334 336
+ 225 1 337 338
+ 226 1 337 339
+ 227 1 340 341
+ 228 1 340 342
+ 229 1 343 344
+ 230 1 343 345
+ 231 1 346 347
+ 232 1 346 348
+ 233 1 349 350
+ 234 1 349 351
+ 235 1 352 353
+ 236 1 352 354
+ 237 1 355 356
+ 238 1 355 357
+ 239 1 358 359
+ 240 1 358 360
+ 241 1 361 362
+ 242 1 361 363
+ 243 1 364 365
+ 244 1 364 366
+ 245 1 367 368
+ 246 1 367 369
+ 247 1 370 371
+ 248 1 370 372
+ 249 1 373 374
+ 250 1 373 375
+ 251 1 376 377
+ 252 1 376 378
+ 253 1 379 380
+ 254 1 379 381
+ 255 1 382 383
+ 256 1 382 384
+ 257 1 385 386
+ 258 1 385 387
+ 259 1 388 389
+ 260 1 388 390
+ 261 1 391 392
+ 262 1 391 393
+ 263 1 394 395
+ 264 1 394 396
+ 265 1 397 398
+ 266 1 397 399
+ 267 1 400 401
+ 268 1 400 402
+ 269 1 403 404
+ 270 1 403 405
+ 271 1 406 407
+ 272 1 406 408
+ 273 1 409 410
+ 274 1 409 411
+ 275 1 412 413
+ 276 1 412 414
+ 277 1 415 416
+ 278 1 415 417
+ 279 1 418 419
+ 280 1 418 420
+ 281 1 421 422
+ 282 1 421 423
+ 283 1 424 425
+ 284 1 424 426
+ 285 1 427 428
+ 286 1 427 429
+ 287 1 430 431
+ 288 1 430 432
+ 289 1 433 434
+ 290 1 433 435
+ 291 1 436 437
+ 292 1 436 438
+ 293 1 439 440
+ 294 1 439 441
+ 295 1 442 443
+ 296 1 442 444
+ 297 1 445 446
+ 298 1 445 447
+ 299 1 448 449
+ 300 1 448 450
+ 301 1 451 452
+ 302 1 451 453
+ 303 1 454 455
+ 304 1 454 456
+ 305 1 457 458
+ 306 1 457 459
+ 307 1 460 461
+ 308 1 460 462
+ 309 1 463 464
+ 310 1 463 465
+ 311 1 466 467
+ 312 1 466 468
+ 313 1 469 470
+ 314 1 469 471
+ 315 1 472 473
+ 316 1 472 474
+ 317 1 475 476
+ 318 1 475 477
+ 319 1 478 479
+ 320 1 478 480
+ 321 1 481 482
+ 322 1 481 483
+ 323 1 484 485
+ 324 1 484 486
+ 325 1 487 488
+ 326 1 487 489
+ 327 1 490 491
+ 328 1 490 492
+ 329 1 493 494
+ 330 1 493 495
+ 331 1 496 497
+ 332 1 496 498
+ 333 1 499 500
+ 334 1 499 501
+ 335 1 502 503
+ 336 1 502 504
+ 337 1 505 506
+ 338 1 505 507
+ 339 1 508 509
+ 340 1 508 510
+ 341 1 511 512
+ 342 1 511 513
+ 343 1 514 515
+ 344 1 514 516
+ 345 1 517 518
+ 346 1 517 519
+ 347 1 520 521
+ 348 1 520 522
+ 349 1 523 524
+ 350 1 523 525
+ 351 1 526 527
+ 352 1 526 528
+ 353 1 529 530
+ 354 1 529 531
+ 355 1 532 533
+ 356 1 532 534
+ 357 1 535 536
+ 358 1 535 537
+ 359 1 538 539
+ 360 1 538 540
+ 361 1 541 542
+ 362 1 541 543
+ 363 1 544 545
+ 364 1 544 546
+ 365 1 547 548
+ 366 1 547 549
+ 367 1 550 551
+ 368 1 550 552
+ 369 1 553 554
+ 370 1 553 555
+ 371 1 556 557
+ 372 1 556 558
+ 373 1 559 560
+ 374 1 559 561
+ 375 1 562 563
+ 376 1 562 564
+ 377 1 565 566
+ 378 1 565 567
+ 379 1 568 569
+ 380 1 568 570
+ 381 1 571 572
+ 382 1 571 573
+ 383 1 574 575
+ 384 1 574 576
+ 385 1 577 578
+ 386 1 577 579
+ 387 1 580 581
+ 388 1 580 582
+ 389 1 583 584
+ 390 1 583 585
+ 391 1 586 587
+ 392 1 586 588
+ 393 1 589 590
+ 394 1 589 591
+ 395 1 592 593
+ 396 1 592 594
+ 397 1 595 596
+ 398 1 595 597
+ 399 1 598 599
+ 400 1 598 600
+ 401 1 601 602
+ 402 1 601 603
+ 403 1 604 605
+ 404 1 604 606
+ 405 1 607 608
+ 406 1 607 609
+ 407 1 610 611
+ 408 1 610 612
+ 409 1 613 614
+ 410 1 613 615
+ 411 1 616 617
+ 412 1 616 618
+ 413 1 619 620
+ 414 1 619 621
+ 415 1 622 623
+ 416 1 622 624
+ 417 1 625 626
+ 418 1 625 627
+ 419 1 628 629
+ 420 1 628 630
+ 421 1 631 632
+ 422 1 631 633
+ 423 1 634 635
+ 424 1 634 636
+ 425 1 637 638
+ 426 1 637 639
+ 427 1 640 641
+ 428 1 640 642
+ 429 1 643 644
+ 430 1 643 645
+ 431 1 646 647
+ 432 1 646 648
+
+Angles
+
+ 1 1 2 1 3
+ 2 1 5 4 6
+ 3 1 8 7 9
+ 4 1 11 10 12
+ 5 1 14 13 15
+ 6 1 17 16 18
+ 7 1 20 19 21
+ 8 1 23 22 24
+ 9 1 26 25 27
+ 10 1 29 28 30
+ 11 1 32 31 33
+ 12 1 35 34 36
+ 13 1 38 37 39
+ 14 1 41 40 42
+ 15 1 44 43 45
+ 16 1 47 46 48
+ 17 1 50 49 51
+ 18 1 53 52 54
+ 19 1 56 55 57
+ 20 1 59 58 60
+ 21 1 62 61 63
+ 22 1 65 64 66
+ 23 1 68 67 69
+ 24 1 71 70 72
+ 25 1 74 73 75
+ 26 1 77 76 78
+ 27 1 80 79 81
+ 28 1 83 82 84
+ 29 1 86 85 87
+ 30 1 89 88 90
+ 31 1 92 91 93
+ 32 1 95 94 96
+ 33 1 98 97 99
+ 34 1 101 100 102
+ 35 1 104 103 105
+ 36 1 107 106 108
+ 37 1 110 109 111
+ 38 1 113 112 114
+ 39 1 116 115 117
+ 40 1 119 118 120
+ 41 1 122 121 123
+ 42 1 125 124 126
+ 43 1 128 127 129
+ 44 1 131 130 132
+ 45 1 134 133 135
+ 46 1 137 136 138
+ 47 1 140 139 141
+ 48 1 143 142 144
+ 49 1 146 145 147
+ 50 1 149 148 150
+ 51 1 152 151 153
+ 52 1 155 154 156
+ 53 1 158 157 159
+ 54 1 161 160 162
+ 55 1 164 163 165
+ 56 1 167 166 168
+ 57 1 170 169 171
+ 58 1 173 172 174
+ 59 1 176 175 177
+ 60 1 179 178 180
+ 61 1 182 181 183
+ 62 1 185 184 186
+ 63 1 188 187 189
+ 64 1 191 190 192
+ 65 1 194 193 195
+ 66 1 197 196 198
+ 67 1 200 199 201
+ 68 1 203 202 204
+ 69 1 206 205 207
+ 70 1 209 208 210
+ 71 1 212 211 213
+ 72 1 215 214 216
+ 73 1 218 217 219
+ 74 1 221 220 222
+ 75 1 224 223 225
+ 76 1 227 226 228
+ 77 1 230 229 231
+ 78 1 233 232 234
+ 79 1 236 235 237
+ 80 1 239 238 240
+ 81 1 242 241 243
+ 82 1 245 244 246
+ 83 1 248 247 249
+ 84 1 251 250 252
+ 85 1 254 253 255
+ 86 1 257 256 258
+ 87 1 260 259 261
+ 88 1 263 262 264
+ 89 1 266 265 267
+ 90 1 269 268 270
+ 91 1 272 271 273
+ 92 1 275 274 276
+ 93 1 278 277 279
+ 94 1 281 280 282
+ 95 1 284 283 285
+ 96 1 287 286 288
+ 97 1 290 289 291
+ 98 1 293 292 294
+ 99 1 296 295 297
+ 100 1 299 298 300
+ 101 1 302 301 303
+ 102 1 305 304 306
+ 103 1 308 307 309
+ 104 1 311 310 312
+ 105 1 314 313 315
+ 106 1 317 316 318
+ 107 1 320 319 321
+ 108 1 323 322 324
+ 109 1 326 325 327
+ 110 1 329 328 330
+ 111 1 332 331 333
+ 112 1 335 334 336
+ 113 1 338 337 339
+ 114 1 341 340 342
+ 115 1 344 343 345
+ 116 1 347 346 348
+ 117 1 350 349 351
+ 118 1 353 352 354
+ 119 1 356 355 357
+ 120 1 359 358 360
+ 121 1 362 361 363
+ 122 1 365 364 366
+ 123 1 368 367 369
+ 124 1 371 370 372
+ 125 1 374 373 375
+ 126 1 377 376 378
+ 127 1 380 379 381
+ 128 1 383 382 384
+ 129 1 386 385 387
+ 130 1 389 388 390
+ 131 1 392 391 393
+ 132 1 395 394 396
+ 133 1 398 397 399
+ 134 1 401 400 402
+ 135 1 404 403 405
+ 136 1 407 406 408
+ 137 1 410 409 411
+ 138 1 413 412 414
+ 139 1 416 415 417
+ 140 1 419 418 420
+ 141 1 422 421 423
+ 142 1 425 424 426
+ 143 1 428 427 429
+ 144 1 431 430 432
+ 145 1 434 433 435
+ 146 1 437 436 438
+ 147 1 440 439 441
+ 148 1 443 442 444
+ 149 1 446 445 447
+ 150 1 449 448 450
+ 151 1 452 451 453
+ 152 1 455 454 456
+ 153 1 458 457 459
+ 154 1 461 460 462
+ 155 1 464 463 465
+ 156 1 467 466 468
+ 157 1 470 469 471
+ 158 1 473 472 474
+ 159 1 476 475 477
+ 160 1 479 478 480
+ 161 1 482 481 483
+ 162 1 485 484 486
+ 163 1 488 487 489
+ 164 1 491 490 492
+ 165 1 494 493 495
+ 166 1 497 496 498
+ 167 1 500 499 501
+ 168 1 503 502 504
+ 169 1 506 505 507
+ 170 1 509 508 510
+ 171 1 512 511 513
+ 172 1 515 514 516
+ 173 1 518 517 519
+ 174 1 521 520 522
+ 175 1 524 523 525
+ 176 1 527 526 528
+ 177 1 530 529 531
+ 178 1 533 532 534
+ 179 1 536 535 537
+ 180 1 539 538 540
+ 181 1 542 541 543
+ 182 1 545 544 546
+ 183 1 548 547 549
+ 184 1 551 550 552
+ 185 1 554 553 555
+ 186 1 557 556 558
+ 187 1 560 559 561
+ 188 1 563 562 564
+ 189 1 566 565 567
+ 190 1 569 568 570
+ 191 1 572 571 573
+ 192 1 575 574 576
+ 193 1 578 577 579
+ 194 1 581 580 582
+ 195 1 584 583 585
+ 196 1 587 586 588
+ 197 1 590 589 591
+ 198 1 593 592 594
+ 199 1 596 595 597
+ 200 1 599 598 600
+ 201 1 602 601 603
+ 202 1 605 604 606
+ 203 1 608 607 609
+ 204 1 611 610 612
+ 205 1 614 613 615
+ 206 1 617 616 618
+ 207 1 620 619 621
+ 208 1 623 622 624
+ 209 1 626 625 627
+ 210 1 629 628 630
+ 211 1 632 631 633
+ 212 1 635 634 636
+ 213 1 638 637 639
+ 214 1 641 640 642
+ 215 1 644 643 645
+ 216 1 647 646 648
diff --git a/tools/i-pi/examples/lammps/h2o-pimd-rpc/data.water_shortrange b/tools/i-pi/examples/lammps/h2o-pimd-rpc/data.water_shortrange
new file mode 100644
index 0000000000..13c75e9933
--- /dev/null
+++ b/tools/i-pi/examples/lammps/h2o-pimd-rpc/data.water_shortrange
@@ -0,0 +1,1331 @@
+LAMMPS Description
+ 
+         648  atoms
+         432  bonds
+         216  angles
+ 
+           2  atom types
+           1  bond types
+           1  angle types
+ 
+         0 35.233 xlo xhi
+         0 35.233 ylo yhi
+         0 35.233 zlo zhi
+ 
+Masses
+ 
+  1 15.9994
+  2  1.0080
+ 
+Bond Coeffs
+ 
+  1    1.78    0.2708585 -0.327738785 0.231328959
+ 
+Angle Coeffs
+ 
+  1    0.0700  107.400000
+
+Atoms
+ 
+ 1 1 1 -1.1128       3.84600000       5.67200001       1.32300000
+ 2 1 2 0.5564        2.97900000       7.05400000       0.85700000
+ 3 1 2 0.5564        5.52500001       5.69700001       0.45100000
+ 4 2 1 -1.1128      34.55700001      34.34100000       3.07800000
+ 5 2 2 0.5564       33.72200001      34.68900000       4.84000001
+ 6 2 2 0.5564       36.02900000      33.22000001       3.71100001
+ 7 3 1 -1.1128       5.59100000       1.96299999      13.47700000
+ 8 3 2 0.5564        7.26500000       1.86400000      13.85100001
+ 9 3 2 0.5564        5.00899999       3.55500000      13.91599999
+ 10 4 1 -1.1128       1.06000000       2.06100000      21.71800001
+ 11 4 2 0.5564        0.75700000       0.26100000      21.82000000
+ 12 4 2 0.5564        0.21300001       3.01299999      23.04700000
+ 13 5 1 -1.1128       1.20000000       1.33700000      29.00599999
+ 14 5 2 0.5564        0.81800000       1.88399999      30.73200000
+ 15 5 2 0.5564        2.88300001       1.82500000      29.01100000
+ 16 6 1 -1.1128       1.33100001       1.38599999      34.30600001
+ 17 6 2 0.5564        2.39200001       2.89799999      34.84600000
+ 18 6 2 0.5564        0.81400000       0.53200001      35.83600000
+ 19 7 1 -1.1128      31.45100000      10.20100000       0.72599999
+ 20 7 2 0.5564       32.28199999      10.87699999      -0.75000000
+ 21 7 2 0.5564       30.91999999      11.59399999       1.67700000
+ 22 8 1 -1.1128       0.83600000      10.80800001       4.29800000
+ 23 8 2 0.5564        0.30500000      10.64300001       2.79300000
+ 24 8 2 0.5564       -0.35600001      10.33400000       5.52400000
+ 25 9 1 -1.1128      34.38100001       5.97900000       9.19400000
+ 26 9 2 0.5564       33.61600000       7.67300000       8.85700000
+ 27 9 2 0.5564       35.11500000       5.25999999       7.61800001
+ 28 10 1 -1.1128      33.21200000       6.48000000      24.27799999
+ 29 10 2 0.5564       31.62400000       6.90800001      23.52100001
+ 30 10 2 0.5564       32.54400000       4.99000000      24.98200000
+ 31 11 1 -1.1128       1.99200000       9.00199999      26.86300000
+ 32 11 2 0.5564        1.85600000      10.17500000      25.57899999
+ 33 11 2 0.5564        0.51900000       8.09899999      26.38599999
+ 34 12 1 -1.1128       2.05400000       8.66000000      32.51499999
+ 35 12 2 0.5564        2.16699999       8.72700000      30.49400000
+ 36 12 2 0.5564        2.37400001      10.51300000      33.03799999
+ 37 13 1 -1.1128       3.40200000      16.63900001       3.00800000
+ 38 13 2 0.5564        4.12700001      15.87200001       4.44600001
+ 39 13 2 0.5564        2.90500001      18.33899999       3.15999999
+ 40 14 1 -1.1128       4.22200000      15.44400000       8.07200000
+ 41 14 2 0.5564        5.21100000      16.75600000       8.29900001
+ 42 14 2 0.5564        2.56000000      15.49200001       8.86000000
+ 43 15 1 -1.1128       2.83100000       9.24599999      16.48800000
+ 44 15 2 0.5564        2.86900001       8.02300001      18.05000000
+ 45 15 2 0.5564        3.96000000       8.46700001      15.15400000
+ 46 16 1 -1.1128       5.56300000       6.00300000      20.90700000
+ 47 16 2 0.5564        4.65300000       4.63800000      21.48000000
+ 48 16 2 0.5564        6.40500000       6.20800000      22.52899999
+ 49 17 1 -1.1128       2.08700001      13.37000000      22.91299999
+ 50 17 2 0.5564        2.83200000      14.80400001      23.42200000
+ 51 17 2 0.5564        1.43400000      13.50900000      21.19599999
+ 52 18 1 -1.1128       3.36900000      17.88600000      25.10900001
+ 53 18 2 0.5564        3.65500000      17.20000000      26.76599999
+ 54 18 2 0.5564        4.77200001      18.97699999      24.49999999
+ 55 19 1 -1.1128      34.76400000      20.80300000       0.94800001
+ 56 19 2 0.5564       35.20999999      21.26700001       2.81599999
+ 57 19 2 0.5564       35.96200001      21.72599999       0.13099999
+ 58 20 1 -1.1128       2.83600000      24.17799999      15.22900000
+ 59 20 2 0.5564        2.79500000      22.34599999      14.87600001
+ 60 20 2 0.5564        2.41399999      24.11500000      17.13000001
+ 61 21 1 -1.1128      33.00000000      24.48100000      15.23000000
+ 62 21 2 0.5564       34.63999999      24.80400001      15.01299999
+ 63 21 2 0.5564       32.40100000      25.76400000      14.29500001
+ 64 22 1 -1.1128       0.40399999      26.77900001      23.39999999
+ 65 22 2 0.5564        1.35300001      27.24800000      24.98700001
+ 66 22 2 0.5564        1.54600001      28.05000000      22.31700001
+ 67 23 1 -1.1128      34.22200000      21.38000000      25.41799999
+ 68 23 2 0.5564       35.66899999      20.15100000      25.31700001
+ 69 23 2 0.5564       32.96000000      21.18000000      23.99200000
+ 70 24 1 -1.1128      33.25900000      17.43800000      32.48000000
+ 71 24 2 0.5564       33.31399999      18.78200000      33.88300001
+ 72 24 2 0.5564       32.74300001      18.18100001      30.87100000
+ 73 25 1 -1.1128       4.46300000      21.97900000       3.93600000
+ 74 25 2 0.5564        5.85600000      23.08400001       3.39999999
+ 75 25 2 0.5564        3.98600000      22.18000000       5.60200000
+ 76 26 1 -1.1128       6.25800000      25.85100001       8.52000000
+ 77 26 2 0.5564        5.76700000      27.69300001       8.47600000
+ 78 26 2 0.5564        7.20200001      25.50600000      10.18600000
+ 79 27 1 -1.1128       0.60099999      29.73699999      12.74700001
+ 80 27 2 0.5564       -0.68500000      30.84200000      12.34999999
+ 81 27 2 0.5564        1.33600000      30.71600000      14.03099999
+ 82 28 1 -1.1128       7.56300000      28.19100001      24.33300000
+ 83 28 2 0.5564        9.20100000      28.82800000      24.68400000
+ 84 28 2 0.5564        7.38100001      27.62100000      22.79900000
+ 85 29 1 -1.1128       3.65300000      27.10900001      27.77200001
+ 86 29 2 0.5564        5.12600000      27.01500000      26.77200001
+ 87 29 2 0.5564        3.03099999      28.75600000      27.69800000
+ 88 30 1 -1.1128       2.59600001      23.99100001      32.47600000
+ 89 30 2 0.5564        2.87900000      24.79099999      30.85899999
+ 90 30 2 0.5564        4.00300000      22.91299999      32.70099999
+ 91 31 1 -1.1128       3.08300000      31.31700001       3.64399999
+ 92 31 2 0.5564        4.13300000      30.58900001       2.53900001
+ 93 31 2 0.5564        4.21800000      32.17300001       5.03700001
+ 94 32 1 -1.1128       4.66100001      30.55500000       9.36799999
+ 95 32 2 0.5564        3.18400001      29.84300000      10.13200000
+ 96 32 2 0.5564        4.35800000      32.44800000       9.12600000
+ 97 33 1 -1.1128       3.46499999      32.53700000      15.77800000
+ 98 33 2 0.5564        5.07200000      31.81899999      15.90300000
+ 99 33 2 0.5564        4.05500001      34.25699999      15.28400000
+ 100 34 1 -1.1128       4.21500000      29.15299999      20.31700001
+ 101 34 2 0.5564        3.65799999      30.17600000      18.84200000
+ 102 34 2 0.5564        4.95899999      30.29100000      21.44900001
+ 103 35 1 -1.1128       1.12600000      31.33300000      28.76800001
+ 104 35 2 0.5564        2.39500000      31.12399999      29.92500000
+ 105 35 2 0.5564        0.76800001      33.09199999      28.89799999
+ 106 36 1 -1.1128       4.88100000      32.61600000      32.30200000
+ 107 36 2 0.5564        6.58800000      32.91100000      31.72500001
+ 108 36 2 0.5564        4.48599999      34.03700001      33.24900001
+ 109 37 1 -1.1128       8.96200001       5.55600000       0.15100000
+ 110 37 2 0.5564        9.65200000       6.99100001       0.85899999
+ 111 37 2 0.5564        9.17300001       4.47700000       1.64500000
+ 112 38 1 -1.1128       1.83300001       3.51799999       5.67900001
+ 113 38 2 0.5564        2.88900000       2.73100000       6.78800000
+ 114 38 2 0.5564        2.78900000       4.18700000       4.14700000
+ 115 39 1 -1.1128      10.51000001      34.72599999      13.07300001
+ 116 39 2 0.5564       11.91999999      34.11800000      11.91900001
+ 117 39 2 0.5564       11.29500001      34.96800000      14.74100000
+ 118 40 1 -1.1128       7.21200000       0.04199999      22.45399999
+ 119 40 2 0.5564        6.92400000       0.47000000      24.17200000
+ 120 40 2 0.5564        8.31900000       1.22799999      21.65300000
+ 121 41 1 -1.1128       6.36500000       2.01000000      27.54400000
+ 122 41 2 0.5564        5.95400000       3.58500000      26.85199999
+ 123 41 2 0.5564        7.75800001       2.54900000      28.69600000
+ 124 42 1 -1.1128      10.83300001       3.14000000      30.78699999
+ 125 42 2 0.5564       12.69700001       2.97500000      30.86700000
+ 126 42 2 0.5564       10.38899999       3.70000001      32.40399999
+ 127 43 1 -1.1128       8.68400000       9.34200001       3.91200001
+ 128 43 2 0.5564        6.98500000       9.25600001       4.77299999
+ 129 43 2 0.5564        8.68400000      10.80899999       3.01100000
+ 130 44 1 -1.1128       4.87299999       9.91900001       7.70700000
+ 131 44 2 0.5564        3.69800000       9.77100000       6.19400000
+ 132 44 2 0.5564        5.04700000      11.96100000       7.62400000
+ 133 45 1 -1.1128      10.03099999       5.01800000       9.69900000
+ 134 45 2 0.5564        9.67500001       3.38199999      10.34000000
+ 135 45 2 0.5564        9.13200000       5.98700001      10.82500000
+ 136 46 1 -1.1128      11.24599999       3.91800000      21.92900000
+ 137 46 2 0.5564       12.61400001       2.77000000      22.34100000
+ 138 46 2 0.5564       12.07300001       5.68600001      21.49699999
+ 139 47 1 -1.1128       6.82500000       7.16400000      25.70799999
+ 140 47 2 0.5564        8.03600000       8.37400001      25.98000001
+ 141 47 2 0.5564        5.20600001       7.90000000      25.89099999
+ 142 48 1 -1.1128      10.17099999      12.81100001       0.29500001
+ 143 48 2 0.5564       10.03300000      12.81800000      -1.60900000
+ 144 48 2 0.5564        9.87999999      14.49200001       0.48000000
+ 145 49 1 -1.1128       8.19000000      17.40200000       1.25299999
+ 146 49 2 0.5564        9.47199999      18.53100000       1.25299999
+ 147 49 2 0.5564        6.35100000      17.81700000       1.56800001
+ 148 50 1 -1.1128      11.23300000      16.18800001       8.29900001
+ 149 50 2 0.5564       10.29100000      17.68900000       8.16600001
+ 150 50 2 0.5564       12.76800001      17.12300001       8.73299999
+ 151 51 1 -1.1128       6.38599999       8.00199999      12.84600000
+ 152 51 2 0.5564        7.70099999       8.89600000      13.65500000
+ 153 51 2 0.5564        5.59100000       8.87699999      11.51900000
+ 154 52 1 -1.1128       8.18400001      10.41900000      18.84799999
+ 155 52 2 0.5564        9.49800000       9.43400000      19.90500001
+ 156 52 2 0.5564        6.88200000       9.02699999      18.94800001
+ 157 53 1 -1.1128      10.80600000      14.43100000      21.32799999
+ 158 53 2 0.5564        9.17700001      13.53100000      20.67000000
+ 159 53 2 0.5564       11.34400000      15.69600000      20.44800000
+ 160 54 1 -1.1128       9.23700000      13.92800000      30.34100000
+ 161 54 2 0.5564       10.77900001      14.83900000      30.52199999
+ 162 54 2 0.5564        9.96500000      13.19199999      28.89900000
+ 163 55 1 -1.1128      10.91800000      21.70700000       1.86400000
+ 164 55 2 0.5564       10.28000000      23.44900001       2.27900000
+ 165 55 2 0.5564       12.70799999      21.45600000       1.74900000
+ 166 56 1 -1.1128       9.35300001      16.12500000      13.92699999
+ 167 56 2 0.5564        9.93799999      17.59399999      14.61800001
+ 168 56 2 0.5564        9.51799999      16.36000001      12.24400000
+ 169 57 1 -1.1128      10.37099999      11.10700000      14.26800000
+ 170 57 2 0.5564        9.64399999      10.40600001      15.85899999
+ 171 57 2 0.5564        9.43400000      12.52300000      14.11699999
+ 172 58 1 -1.1128       3.35100000      22.76899999      20.19599999
+ 173 58 2 0.5564        2.05500001      23.68600001      21.50300001
+ 174 58 2 0.5564        2.45200000      21.40100000      19.41300000
+ 175 59 1 -1.1128       6.83600000      21.32900000      23.19899999
+ 176 59 2 0.5564        8.24900001      20.84799999      22.32000001
+ 177 59 2 0.5564        5.66800001      21.84099999      21.88600000
+ 178 60 1 -1.1128       4.60399999      15.64900000      30.04300000
+ 179 60 2 0.5564        6.45300001      15.21699999      30.20700000
+ 180 60 2 0.5564        3.82200001      14.76199999      31.56200000
+ 181 61 1 -1.1128       7.12500000      19.97600001       9.42100001
+ 182 61 2 0.5564        5.91800000      20.45300001      10.72999999
+ 183 61 2 0.5564        8.09899999      21.49600001       9.49100000
+ 184 62 1 -1.1128       9.06299999      25.91200001      13.18600000
+ 185 62 2 0.5564       10.34999999      26.57199999      12.36700001
+ 186 62 2 0.5564        9.67999999      24.36700001      13.69700001
+ 187 63 1 -1.1128       8.02200000      22.34299999      17.04199999
+ 188 63 2 0.5564        9.14400000      23.36700001      18.07399999
+ 189 63 2 0.5564        6.56200000      23.46200000      16.85199999
+ 190 64 1 -1.1128      10.76199999      26.28499999      19.96299999
+ 191 64 2 0.5564       11.03600000      27.96599999      20.53800000
+ 192 64 2 0.5564       11.07800000      25.40100000      21.45600000
+ 193 65 1 -1.1128       9.15800000      22.90199999      28.39100000
+ 194 65 2 0.5564        8.21900000      23.52800001      27.08499999
+ 195 65 2 0.5564        8.08900000      21.76000000      29.50900000
+ 196 66 1 -1.1128       6.21900000      20.15800000      31.92100000
+ 197 66 2 0.5564        5.63500000      18.51099999      31.16100000
+ 198 66 2 0.5564        7.53000000      19.62400000      33.07100000
+ 199 67 1 -1.1128      11.19100001      31.50900000       2.61700000
+ 200 67 2 0.5564       10.46000001      32.21399999       4.10800000
+ 201 67 2 0.5564       13.17600000      31.75099999       2.57700000
+ 202 68 1 -1.1128       4.74799999       0.05500001       8.60500000
+ 203 68 2 0.5564        5.38000000       0.51700000      10.18300000
+ 204 68 2 0.5564        6.05000000      -0.30600001       7.48000000
+ 205 69 1 -1.1128       8.69500000      30.80899999      15.73100000
+ 206 69 2 0.5564        9.18899999      32.10300000      14.49500000
+ 207 69 2 0.5564        8.44699999      29.06900000      14.86800000
+ 208 70 1 -1.1128      10.12799999      31.40200000      20.76599999
+ 209 70 2 0.5564        9.45600000      30.90500001      19.15500000
+ 210 70 2 0.5564        9.01999999      32.73100000      21.41500000
+ 211 71 1 -1.1128      12.23800001      30.16200000      25.83699999
+ 212 71 2 0.5564       11.41799999      30.90800001      27.10999999
+ 213 71 2 0.5564       12.39600001      31.33100001      24.67800000
+ 214 72 1 -1.1128      10.39500000      32.53700000      30.62400000
+ 215 72 2 0.5564       11.04199999      34.33899999      30.75099999
+ 216 72 2 0.5564       11.37800001      31.48599999      31.53800000
+ 217 73 1 -1.1128      10.43800000       3.62599999       5.08700001
+ 218 73 2 0.5564       12.43500001       4.08200000       5.13600000
+ 219 73 2 0.5564        9.82200001       4.28400000       6.68100000
+ 220 74 1 -1.1128      14.76199999       3.40100000      13.77599999
+ 221 74 2 0.5564       16.51799999       3.82400000      13.37600000
+ 222 74 2 0.5564       13.75200000       4.75700000      12.96400000
+ 223 75 1 -1.1128      12.38199999       1.01200001      17.64300001
+ 224 75 2 0.5564       13.34599999       1.99700000      16.44400000
+ 225 75 2 0.5564       11.93100000       2.13300000      18.99800001
+ 226 76 1 -1.1128      15.27799999       1.29300000      24.55900000
+ 227 76 2 0.5564       16.07100000       0.94600000      26.36500000
+ 228 76 2 0.5564       15.79399999       0.19899999      23.49900000
+ 229 77 1 -1.1128      22.22600000      31.62700000      24.71199999
+ 230 77 2 0.5564       23.33800001      32.59500000      23.87600001
+ 231 77 2 0.5564       22.16100000      30.05300000      24.13200000
+ 232 78 1 -1.1128      15.63999999       1.84700001      32.71700000
+ 233 78 2 0.5564       17.48800000       2.47300000      31.87400000
+ 234 78 2 0.5564       16.40300001       0.86900001      34.26700001
+ 235 79 1 -1.1128      14.85800001      10.19899999       2.75400001
+ 236 79 2 0.5564       13.36000001      10.71199999       2.28199999
+ 237 79 2 0.5564       14.56000000       9.31600000       4.55900000
+ 238 80 1 -1.1128      15.71700000       8.46900000      10.73900000
+ 239 80 2 0.5564       17.32300000       9.58100000      10.87500000
+ 240 80 2 0.5564       14.57400000       9.63100000      10.22099999
+ 241 81 1 -1.1128      15.24800000      10.39800000      16.52500001
+ 242 81 2 0.5564       16.32400001       9.18100001      16.14899999
+ 243 81 2 0.5564       14.17200000      10.48800000      15.09800001
+ 244 82 1 -1.1128      13.22600000       8.43800000      20.80100001
+ 245 82 2 0.5564       14.04300000       8.99600000      19.29500001
+ 246 82 2 0.5564       14.66100001       7.80200000      22.09300000
+ 247 83 1 -1.1128      10.17300001      10.96100000      25.87500000
+ 248 83 2 0.5564       11.47700000      10.22300000      26.94000000
+ 249 83 2 0.5564       11.26900000      10.73800000      24.34299999
+ 250 84 1 -1.1128      12.79200000       7.73699999      29.17300001
+ 251 84 2 0.5564       12.19899999       6.03799999      29.47499999
+ 252 84 2 0.5564       14.42700000       7.44999999      29.61700000
+ 253 85 1 -1.1128      15.18000000      19.49800000       3.57800000
+ 254 85 2 0.5564       14.88300001      17.59600001       4.08000001
+ 255 85 2 0.5564       16.75400001      19.57899999       2.62599999
+ 256 86 1 -1.1128      12.51700000      11.09300000       7.70099999
+ 257 86 2 0.5564       12.22400001      12.77800000       7.55500000
+ 258 86 2 0.5564       11.15000000      10.39299999       7.05700000
+ 259 87 1 -1.1128      16.26600000      16.27099999      10.75800001
+ 260 87 2 0.5564       16.50700001      15.79500000      12.76800001
+ 261 87 2 0.5564       17.72500001      16.97699999      10.29200001
+ 262 88 1 -1.1128      14.06900000      18.39900001      18.89700000
+ 263 88 2 0.5564       15.51300000      17.52300000      18.15500000
+ 264 88 2 0.5564       14.95800001      18.70900000      20.67300000
+ 265 89 1 -1.1128      14.09899999      15.48000000      25.51000001
+ 266 89 2 0.5564       13.69800000      16.87200001      26.93799999
+ 267 89 2 0.5564       12.56700000      15.37900000      24.44400000
+ 268 90 1 -1.1128      13.30900000      17.57400000      30.29200001
+ 269 90 2 0.5564       14.93700001      16.93399999      30.81000000
+ 270 90 2 0.5564       13.96900001      19.49400000      30.01200001
+ 271 91 1 -1.1128      18.37099999      23.25699999       0.92500000
+ 272 91 2 0.5564       19.47899999      23.48000000       2.32099999
+ 273 91 2 0.5564       19.08700001      24.32499999      -0.36900000
+ 274 92 1 -1.1128      12.10000000      21.72999999      11.35500000
+ 275 92 2 0.5564       13.14100001      22.28700000      12.74300001
+ 276 92 2 0.5564       13.46700001      22.23600000      10.24400000
+ 277 93 1 -1.1128      12.16300001      23.29000000      23.59699999
+ 278 93 2 0.5564       11.32400001      22.73600001      24.94900000
+ 279 93 2 0.5564       13.88200000      22.87200001      23.84000001
+ 280 94 1 -1.1128      20.17300001      26.76100001      22.62800000
+ 281 94 2 0.5564       20.20600001      26.53200001      20.79200000
+ 282 94 2 0.5564       21.55600000      25.74200000      23.38899999
+ 283 95 1 -1.1128      16.70099999      21.16500000      22.60500000
+ 284 95 2 0.5564       18.02800000      20.68600001      23.84799999
+ 285 95 2 0.5564       17.10400000      22.86599999      21.94900000
+ 286 96 1 -1.1128      11.39100000      26.46099999      33.70499999
+ 287 96 2 0.5564        9.84099999      27.19199999      34.04800001
+ 288 96 2 0.5564       11.77599999      25.53999999      35.24300000
+ 289 97 1 -1.1128       9.89799999      25.98900000       4.55300001
+ 290 97 2 0.5564        8.90199999      26.13099999       6.03900000
+ 291 97 2 0.5564       10.28700000      27.80600000       4.37600000
+ 292 98 1 -1.1128      14.30800000      26.96000000      10.87699999
+ 293 98 2 0.5564       15.30200000      27.40500000      12.17300001
+ 294 98 2 0.5564       15.46300000      26.15100000       9.63299999
+ 295 99 1 -1.1128      13.43300000      22.96000000      16.90400000
+ 296 99 2 0.5564       13.40900000      24.13099999      18.13200000
+ 297 99 2 0.5564       13.62400000      21.19100001      17.52000000
+ 298 100 1 -1.1128      16.40900000      26.76800001      26.87500000
+ 299 100 2 0.5564       17.58999999      26.98700001      25.43100000
+ 300 100 2 0.5564       14.75099999      27.70300000      26.23000000
+ 301 101 1 -1.1128      14.40500000      22.73299999      29.89200000
+ 302 101 2 0.5564       15.42300000      23.07900000      28.49400000
+ 303 101 2 0.5564       12.82600001      23.25900000      29.41600000
+ 304 102 1 -1.1128       6.90500001      29.40800000       0.74900000
+ 305 102 2 0.5564        8.42800001      30.48300000       1.56700000
+ 306 102 2 0.5564        6.35300001      30.81400000      -0.44400000
+ 307 103 1 -1.1128       9.18899999      34.15900001       6.50900000
+ 308 103 2 0.5564       10.19800000      34.19300000       8.00199999
+ 309 103 2 0.5564        9.89000001      35.69200000       5.78500000
+ 310 104 1 -1.1128      14.25600001      32.31600000       9.36900000
+ 311 104 2 0.5564       15.73299999      32.86700000       9.48599999
+ 312 104 2 0.5564       14.75400001      30.67000000      10.09000000
+ 313 105 1 -1.1128      14.71400000      30.84099999      16.51600000
+ 314 105 2 0.5564       13.74799999      29.55099999      17.27900000
+ 315 105 2 0.5564       13.21800000      31.93300001      16.61400001
+ 316 106 1 -1.1128      18.40900000      33.64100000      20.61100001
+ 317 106 2 0.5564       19.60099999      32.27400001      21.11500000
+ 318 106 2 0.5564       17.36000001      32.65500000      19.51799999
+ 319 107 1 -1.1128      16.06200001      28.63800000      32.20700000
+ 320 107 2 0.5564       14.64800000      27.95800001      33.25299999
+ 321 107 2 0.5564       15.75200000      28.01400000      30.52199999
+ 322 108 1 -1.1128      16.20000000      30.89499999       1.47300000
+ 323 108 2 0.5564       16.62599999      29.96800000      -0.13000001
+ 324 108 2 0.5564       17.16699999      29.83300001       2.92699999
+ 325 109 1 -1.1128      20.27799999       3.52899999       6.04800001
+ 326 109 2 0.5564       20.97699999       3.61100001       4.57500001
+ 327 109 2 0.5564       21.31200000       4.51300000       7.25100000
+ 328 110 1 -1.1128      23.07900000       5.77800000      10.40800000
+ 329 110 2 0.5564       24.65000001       6.25900000      10.83800000
+ 330 110 2 0.5564       22.34200001       7.60900000      10.17799999
+ 331 111 1 -1.1128      19.58100000       2.03099999      12.10999999
+ 332 111 2 0.5564       19.03900000       1.08200000      10.44000000
+ 333 111 2 0.5564       21.14100001       2.99100001      11.85100001
+ 334 112 1 -1.1128      22.00500001       3.22300000      23.17799999
+ 335 112 2 0.5564       21.42899999       4.09000000      24.55399999
+ 336 112 2 0.5564       20.65400001       1.79099999      22.71100001
+ 337 113 1 -1.1128      16.63000000       6.42200000      23.79200000
+ 338 113 2 0.5564       16.21900000       4.80400001      24.40600001
+ 339 113 2 0.5564       17.06600001       7.12799999      25.28199999
+ 340 114 1 -1.1128      21.67599999       5.56400001      28.15800000
+ 341 114 2 0.5564       20.65799999       6.71700000      29.18499999
+ 342 114 2 0.5564       23.41300000       5.82800000      28.99600000
+ 343 115 1 -1.1128      15.25699999       5.26500000       5.62599999
+ 344 115 2 0.5564       16.91400000       4.51900000       5.48999999
+ 345 115 2 0.5564       15.14400000       6.15000000       6.97200000
+ 346 116 1 -1.1128      20.13700000      11.08200000      10.43700000
+ 347 116 2 0.5564       20.02100000      10.94700000       8.73299999
+ 348 116 2 0.5564       21.02500000      12.55500000      10.85300000
+ 349 117 1 -1.1128      23.08900000      14.62700000      12.43700000
+ 350 117 2 0.5564       24.71600000      15.25400000      12.73600001
+ 351 117 2 0.5564       23.28400000      13.22799999      13.65300000
+ 352 118 1 -1.1128      24.08300000      12.64900000      22.56600000
+ 353 118 2 0.5564       22.39700000      12.66300000      23.04199999
+ 354 118 2 0.5564       24.90100001      13.85100001      23.56499999
+ 355 119 1 -1.1128      17.86500001       7.90899999      30.03600000
+ 356 119 2 0.5564       17.50900000       8.04499999      31.98200000
+ 357 119 2 0.5564       18.07800000       9.58200001      29.31799999
+ 358 120 1 -1.1128      18.82400000       8.48599999       0.10400000
+ 359 120 2 0.5564       19.99700000      10.19100001      -0.05700000
+ 360 120 2 0.5564       17.07700001       8.99800001       0.77900001
+ 361 121 1 -1.1128      20.12200000       9.14300000       5.34299999
+ 362 121 2 0.5564       19.37300000       8.81899999       3.82100000
+ 363 121 2 0.5564       21.99800001       8.77599999       5.12799999
+ 364 122 1 -1.1128      16.41300000      14.45900000       5.85499999
+ 365 122 2 0.5564       15.53599999      13.00700000       5.23899999
+ 366 122 2 0.5564       16.00599999      14.72500001       7.73699999
+ 367 123 1 -1.1128      17.56099999      15.06600001      15.65400001
+ 368 123 2 0.5564       17.57500001      13.39800000      16.05500001
+ 369 123 2 0.5564       18.97800000      15.82800000      16.39999999
+ 370 124 1 -1.1128      26.37400001      17.04700000      24.81700000
+ 371 124 2 0.5564       27.98300000      17.09800001      25.63200001
+ 372 124 2 0.5564       25.62900001      18.75099999      24.91900001
+ 373 125 1 -1.1128      19.78400000      12.96000000      28.70600000
+ 374 125 2 0.5564       21.66199999      13.05500001      28.87100000
+ 375 125 2 0.5564       19.54500000      14.06999999      27.14300000
+ 376 126 1 -1.1128      17.89099999      16.73299999      32.49900000
+ 377 126 2 0.5564       18.32700000      15.24000000      31.27700001
+ 378 126 2 0.5564       18.63299999      18.33500001      31.69300001
+ 379 127 1 -1.1128      23.73299999      23.02399999       1.66300000
+ 380 127 2 0.5564       24.80000000      24.05199999       2.77599999
+ 381 127 2 0.5564       24.69300001      22.61800001       0.19800000
+ 382 128 1 -1.1128      20.78900000      18.44000000       9.44299999
+ 383 128 2 0.5564       20.76599999      17.25699999       7.88100000
+ 384 128 2 0.5564       21.89600000      17.34500000      10.38500001
+ 385 129 1 -1.1128      21.57400000      17.49299999      17.83800000
+ 386 129 2 0.5564       20.59699999      18.95500001      17.21800000
+ 387 129 2 0.5564       22.53800000      16.87400000      16.25100000
+ 388 130 1 -1.1128      19.16800000      14.74799999      24.13099999
+ 389 130 2 0.5564       19.71100001      16.39000000      23.71199999
+ 390 130 2 0.5564       17.42899999      14.69500000      24.40300001
+ 391 131 1 -1.1128      22.14899999      20.19800000      24.97699999
+ 392 131 2 0.5564       21.63900001      20.92400000      26.48599999
+ 393 131 2 0.5564       22.65600000      21.65700001      24.41099999
+ 394 132 1 -1.1128      20.56499999      20.79200000      29.60000001
+ 395 132 2 0.5564       22.26399999      20.40900000      30.21399999
+ 396 132 2 0.5564       20.54800000      22.40800000      30.59699999
+ 397 133 1 -1.1128      20.80200000      26.54699999       9.61499999
+ 398 133 2 0.5564       20.09899999      27.98399999       8.33800001
+ 399 133 2 0.5564       21.27700001      27.53900001      11.32499999
+ 400 134 1 -1.1128      16.28300000      23.58900001       7.77900001
+ 401 134 2 0.5564       16.09300000      21.97300001       6.71199999
+ 402 134 2 0.5564       17.90100001      22.97100000       8.15400000
+ 403 135 1 -1.1128      18.46900000      29.79799999      13.56800001
+ 404 135 2 0.5564       19.71199999      31.21600000      13.50600000
+ 405 135 2 0.5564       16.87200001      30.34299999      14.39600001
+ 406 136 1 -1.1128      18.79000001      21.71199999      16.06000000
+ 407 136 2 0.5564       19.87800000      23.09000000      16.48500001
+ 408 136 2 0.5564       17.20100000      22.32600000      15.81899999
+ 409 137 1 -1.1128      21.74700001      26.08400001      16.34900001
+ 410 137 2 0.5564       20.78300001      27.02100000      15.29999999
+ 411 137 2 0.5564       22.70499999      27.32799999      17.20600001
+ 412 138 1 -1.1128      20.76899999      26.21100000      32.05000000
+ 413 138 2 0.5564       21.48800000      27.40399999      33.32799999
+ 414 138 2 0.5564       18.98900000      26.71000000      32.14500001
+ 415 139 1 -1.1128      19.82000000      29.18100001       5.55900000
+ 416 139 2 0.5564       20.99100001      29.50900000       4.10900001
+ 417 139 2 0.5564       19.43100000      31.01800000       6.22099999
+ 418 140 1 -1.1128      19.24000000      33.86700000       7.99300000
+ 419 140 2 0.5564       19.10700000      35.03900000       6.60399999
+ 420 140 2 0.5564       20.69700001      33.67100000       9.06299999
+ 421 141 1 -1.1128      22.51099999      34.97600001      15.79300000
+ 422 141 2 0.5564       23.71600000      36.16300001      16.60300000
+ 423 141 2 0.5564       21.69900000      36.15000000      14.46700001
+ 424 142 1 -1.1128      22.62199999      30.28400000      19.06900000
+ 425 142 2 0.5564       22.04899999      31.35100000      17.72500001
+ 426 142 2 0.5564       24.41099999      30.77299999      19.57599999
+ 427 143 1 -1.1128      18.63900001      33.61100001      28.36900000
+ 428 143 2 0.5564       18.22600000      32.15900001      29.10300000
+ 429 143 2 0.5564       19.90600000      33.00800000      27.15800000
+ 430 144 1 -1.1128      22.52000000       1.32499999      31.92600001
+ 431 144 2 0.5564       22.80300000       2.66800001      30.79600000
+ 432 144 2 0.5564       21.04499999       0.42499999      31.12200000
+ 433 145 1 -1.1128      21.75400001       3.78900000       1.15900001
+ 434 145 2 0.5564       22.08499999       2.78500000      -0.18000000
+ 435 145 2 0.5564       20.85000000       5.17500000       0.61000000
+ 436 146 1 -1.1128      28.45699999       5.53900001      12.13300000
+ 437 146 2 0.5564       29.48900001       4.39000000      11.18200000
+ 438 146 2 0.5564       29.16100000       7.13099999      12.58700000
+ 439 147 1 -1.1128      22.49500000       5.96599999      17.32400001
+ 440 147 2 0.5564       24.37700000       5.37900000      17.39299999
+ 441 147 2 0.5564       21.90600000       5.49100000      18.85700000
+ 442 148 1 -1.1128      28.12799999       3.30400000      22.28700000
+ 443 148 2 0.5564       28.12300001       2.99899999      20.49100000
+ 444 148 2 0.5564       26.53299999       3.35500000      22.87600001
+ 445 149 1 -1.1128      28.37800001      10.45500000      27.26600000
+ 446 149 2 0.5564       30.01900001      10.29200001      28.05100000
+ 447 149 2 0.5564       28.63500000      10.03900000      25.46300000
+ 448 150 1 -1.1128      27.03099999       8.35300001      34.80600000
+ 449 150 2 0.5564       26.11600001       9.98399999      34.57100001
+ 450 150 2 0.5564       28.68500000       8.95100001      34.73900000
+ 451 151 1 -1.1128      24.95100001       8.15999999       4.45399999
+ 452 151 2 0.5564       25.93000001       9.61600000       5.15999999
+ 453 151 2 0.5564       25.94700000       7.99400001       2.72400000
+ 454 152 1 -1.1128      26.93700001      12.43599999       6.86900001
+ 455 152 2 0.5564       25.49200001      13.28400000       6.70799999
+ 456 152 2 0.5564       27.68900000      13.33199999       8.26600000
+ 457 153 1 -1.1128      23.36500000      11.21399999      16.93300001
+ 458 153 2 0.5564       22.24700000       9.74399999      16.78900000
+ 459 153 2 0.5564       23.26399999      12.03500000      18.53900001
+ 460 154 1 -1.1128      28.32099999       8.75900000      22.15800000
+ 461 154 2 0.5564       27.66199999       6.89499999      22.48200001
+ 462 154 2 0.5564       26.97100000       9.71000000      21.90199999
+ 463 155 1 -1.1128      27.07100000       6.10900001      29.55500000
+ 464 155 2 0.5564       27.59100000       7.66300000      28.85700000
+ 465 155 2 0.5564       27.30400000       6.32000001      31.26100000
+ 466 156 1 -1.1128      22.47400000      11.70400001      34.63999999
+ 467 156 2 0.5564       22.75200000      13.30400000      35.58400000
+ 468 156 2 0.5564       22.84000001      12.09000000      33.03000001
+ 469 157 1 -1.1128      21.65600000      14.97100000       5.61499999
+ 470 157 2 0.5564       21.68999999      15.86000000       3.97699999
+ 471 157 2 0.5564       19.96400000      14.22500000       5.77400000
+ 472 158 1 -1.1128      28.53900001      21.49200001       9.82000000
+ 473 158 2 0.5564       27.28800001      22.18100001       8.68800000
+ 474 158 2 0.5564       28.06500000      22.42000000      11.60200000
+ 475 159 1 -1.1128      28.36399999      16.01999999      11.10900001
+ 476 159 2 0.5564       30.03300000      16.64900000      12.08900000
+ 477 159 2 0.5564       28.45600000      17.44000000      10.08200000
+ 478 160 1 -1.1128       0.05400000      13.68600001      18.10300000
+ 479 160 2 0.5564       -1.71400000      12.92800000      18.84099999
+ 480 160 2 0.5564        1.00800000      12.42899999      17.38300000
+ 481 161 1 -1.1128      24.63600001      12.89400001      29.95700000
+ 482 161 2 0.5564       25.90600000      13.91400000      31.18300000
+ 483 161 2 0.5564       25.64100000      11.60900000      29.16200000
+ 484 162 1 -1.1128      21.54800000      17.25000000       0.74900000
+ 485 162 2 0.5564       21.84300000      19.02600000       0.90500001
+ 486 162 2 0.5564       20.38500001      16.71600000      -0.69700001
+ 487 163 1 -1.1128      26.09499999      27.27400001       4.52000000
+ 488 163 2 0.5564       27.88900000      26.45800000       4.50500000
+ 489 163 2 0.5564       25.64800000      26.96999999       6.16500000
+ 490 164 1 -1.1128      23.61000000      22.51499999       8.00800000
+ 491 164 2 0.5564       22.65300000      21.18700000       8.73900000
+ 492 164 2 0.5564       22.28600000      24.09499999       8.44400000
+ 493 165 1 -1.1128      27.35500000      18.92900000      18.18000000
+ 494 165 2 0.5564       27.20000000      20.34900001      17.15500000
+ 495 165 2 0.5564       25.57899999      18.32200000      18.77000000
+ 496 166 1 -1.1128      26.76500001      23.63299999      14.44400000
+ 497 166 2 0.5564       27.44100000      25.29800000      13.65099999
+ 498 166 2 0.5564       25.08600000      24.25600001      14.74900000
+ 499 167 1 -1.1128      31.47800001      20.76899999      20.98600000
+ 500 167 2 0.5564       30.44000000      22.50900000      21.13499999
+ 501 167 2 0.5564       30.56700000      19.65600000      20.04300000
+ 502 168 1 -1.1128      24.81199999      20.41200000      32.66800001
+ 503 168 2 0.5564       26.24199999      21.47800001      31.87400000
+ 504 168 2 0.5564       25.78699999      19.02300001      33.15800000
+ 505 169 1 -1.1128      22.10500001      29.07600000       0.92800000
+ 506 169 2 0.5564       23.29599999      27.92299999       1.73900000
+ 507 169 2 0.5564       22.62300000      30.99400001       0.88200000
+ 508 170 1 -1.1128      29.57199999      31.25600001       8.62599999
+ 509 170 2 0.5564       30.79500000      30.20299999       7.73600001
+ 510 170 2 0.5564       28.27700001      31.51900000       7.25999999
+ 511 171 1 -1.1128      31.81700000      34.84300000      18.28300000
+ 512 171 2 0.5564       32.43800000      34.38899999      16.47400000
+ 513 171 2 0.5564       32.74300001      36.42200000      18.34100000
+ 514 172 1 -1.1128      27.91500001      25.60099999      19.03300000
+ 515 172 2 0.5564       29.35800000      26.56099999      19.19000000
+ 516 172 2 0.5564       28.14800001      24.42899999      17.53000000
+ 517 173 1 -1.1128      24.54800000      24.65400001      24.02500000
+ 518 173 2 0.5564       25.52800001      25.63500000      22.82400000
+ 519 173 2 0.5564       25.29999999      25.20000000      25.64500000
+ 520 174 1 -1.1128      28.53999999      22.92200000      30.37000000
+ 521 174 2 0.5564       27.41399999      24.09600000      29.78100000
+ 522 174 2 0.5564       29.67400000      23.91400000      31.87299999
+ 523 175 1 -1.1128      24.96900001      33.62300000       1.01400000
+ 524 175 2 0.5564       26.52100001      33.05800000       1.51799999
+ 525 175 2 0.5564       24.99000000      34.32200000      -0.68299999
+ 526 176 1 -1.1128      23.07500000      32.17099999      11.32400001
+ 527 176 2 0.5564       23.31600000      32.77500000      13.09700000
+ 528 176 2 0.5564       24.46000001      33.20299999      10.66199999
+ 529 177 1 -1.1128      27.49699999       2.73600001      17.22400001
+ 530 177 2 0.5564       28.39700000       3.41500000      15.71500001
+ 531 177 2 0.5564       28.23400001       1.23300000      17.41200000
+ 532 178 1 -1.1128      26.36900000      33.06000000      22.07700001
+ 533 178 2 0.5564       26.17000001      34.74600000      22.26399999
+ 534 178 2 0.5564       27.59200000      32.40399999      23.32099999
+ 535 179 1 -1.1128      30.22099999      30.95000000      25.84300000
+ 536 179 2 0.5564       30.30500000      29.03799999      26.20800000
+ 537 179 2 0.5564       30.36300001      31.97900000      27.41399999
+ 538 180 1 -1.1128      24.97300001      26.73200000      28.60700001
+ 539 180 2 0.5564       25.38500001      28.36900000      29.24800000
+ 540 180 2 0.5564       23.33000000      26.59699999      29.23400001
+ 541 181 1 -1.1128      32.16500000       4.85700000       2.25800000
+ 542 181 2 0.5564       32.41700001       6.19500001       1.15700000
+ 543 181 2 0.5564       32.61499999       3.72700000       1.11200000
+ 544 182 1 -1.1128      28.06699999       3.53299999       5.21699999
+ 545 182 2 0.5564       26.96000000       4.44699999       4.15800000
+ 546 182 2 0.5564       29.87500000       3.86300000       4.44800000
+ 547 183 1 -1.1128      33.27900000       2.78200000      13.02800000
+ 548 183 2 0.5564       33.70799999       3.95500001      11.81700000
+ 549 183 2 0.5564       33.65600000       3.54500000      14.63100000
+ 550 184 1 -1.1128      34.27799999       4.94400001      17.49200001
+ 551 184 2 0.5564       33.43800000       6.56300000      17.87600001
+ 552 184 2 0.5564       34.90600000       4.45200000      18.99499999
+ 553 185 1 -1.1128      32.36300001       1.90800001      26.09199999
+ 554 185 2 0.5564       31.94099999       1.68299999      24.26800000
+ 555 185 2 0.5564       33.85000000       1.39000000      26.90400000
+ 556 186 1 -1.1128      27.98200000       0.41799999      28.24100000
+ 557 186 2 0.5564       27.51600000       2.08000001      28.30900000
+ 558 186 2 0.5564       29.59300001       0.17600000      27.29900001
+ 559 187 1 -1.1128      28.84500000      14.67200001       2.72400000
+ 560 187 2 0.5564       27.96299999      13.93000001       4.13900000
+ 561 187 2 0.5564       30.38599999      15.71400000       3.37900000
+ 562 188 1 -1.1128      28.08300000      10.61800001      14.29800000
+ 563 188 2 0.5564       28.62300000      12.15999999      13.29300000
+ 564 188 2 0.5564       26.48599999      11.01500000      15.37900000
+ 565 189 1 -1.1128      33.86700000      10.54500000      13.30600001
+ 566 189 2 0.5564       35.16500000       9.61200000      13.81000000
+ 567 189 2 0.5564       33.61499999      10.27000001      11.51300000
+ 568 190 1 -1.1128      31.79000001       9.69600000      18.22300000
+ 569 190 2 0.5564       30.48400000       9.33400000      19.42100001
+ 570 190 2 0.5564       30.83399999      10.09600000      16.92900000
+ 571 191 1 -1.1128      30.14100001      15.00599999      21.53200001
+ 572 191 2 0.5564       28.56499999      15.59399999      22.09899999
+ 573 191 2 0.5564       30.94200000      14.25299999      23.07700001
+ 574 192 1 -1.1128      32.79799999      10.73200000      30.67999999
+ 575 192 2 0.5564       34.07300001       9.52800001      30.79900000
+ 576 192 2 0.5564       32.99100001      11.51200000      28.98300000
+ 577 193 1 -1.1128      33.65200000      16.26500000       5.08600000
+ 578 193 2 0.5564       35.39900001      16.23899999       4.72999999
+ 579 193 2 0.5564       33.50300001      17.93900000       5.63100000
+ 580 194 1 -1.1128      31.94700000      10.79900000       7.94300000
+ 581 194 2 0.5564       29.89400001      10.54900000       7.61899999
+ 582 194 2 0.5564       32.27099999      12.41399999       7.07500000
+ 583 195 1 -1.1128       0.32900000      15.51600000      11.74600000
+ 584 195 2 0.5564       -0.44600001      14.24900001      12.93900000
+ 585 195 2 0.5564       -0.68500000      17.01800000      11.93500000
+ 586 196 1 -1.1128       4.26200000      19.16500000      14.30800000
+ 587 196 2 0.5564        3.57899999      17.69100000      14.91999999
+ 588 196 2 0.5564        5.72299999      19.18300000      15.20400000
+ 589 197 1 -1.1128      32.99499999      13.54600001      25.94800001
+ 590 197 2 0.5564       32.16699999      15.06000000      26.78699999
+ 591 197 2 0.5564       34.42499999      13.80000000      25.00700000
+ 592 198 1 -1.1128       1.77299999      13.52400000      34.03700001
+ 593 198 2 0.5564        0.22700001      14.40900000      33.44600001
+ 594 198 2 0.5564        2.16699999      14.67000000      35.51099999
+ 595 199 1 -1.1128      33.02900000      20.52899999       7.24700000
+ 596 199 2 0.5564       34.38800000      21.41399999       8.00300000
+ 597 199 2 0.5564       31.45100000      20.83100000       8.18200000
+ 598 200 1 -1.1128       2.03700001      24.25000000      10.25100000
+ 599 200 2 0.5564        3.74300001      25.00800000       9.87600001
+ 600 200 2 0.5564        1.89400001      25.04300000      11.90300000
+ 601 201 1 -1.1128      32.75300000      19.25900000      13.97600001
+ 602 201 2 0.5564       32.79200000      20.88600000      13.79200000
+ 603 201 2 0.5564       34.33400000      18.79900000      14.97600001
+ 604 202 1 -1.1128       0.39600001      18.67300000      18.69900000
+ 605 202 2 0.5564       -1.21100000      18.95000000      19.12700001
+ 606 202 2 0.5564        0.46900000      16.97699999      18.43599999
+ 607 203 1 -1.1128      30.85499999      18.37000000      27.95899999
+ 608 203 2 0.5564       29.75900000      19.68100000      28.68999999
+ 609 203 2 0.5564       32.10300000      19.47700000      26.76300000
+ 610 204 1 -1.1128      27.72299999      15.99200000      33.09100001
+ 611 204 2 0.5564       29.39000000      16.42300000      32.19199999
+ 612 204 2 0.5564       27.80100001      15.85899999      34.80400001
+ 613 205 1 -1.1128      31.06800000      27.89499999       3.34800000
+ 614 205 2 0.5564       32.51700000      27.82500000       4.61000000
+ 615 205 2 0.5564       31.52899999      29.45900000       2.32400001
+ 616 206 1 -1.1128      35.03900000      28.00800000       6.66300000
+ 617 206 2 0.5564       35.96599999      26.93399999       7.68299999
+ 618 206 2 0.5564       36.05500001      28.33600000       5.33600000
+ 619 207 1 -1.1128      29.35600001      28.19599999      13.02500000
+ 620 207 2 0.5564       29.20999999      29.33500001      14.58900001
+ 621 207 2 0.5564       28.87400000      29.62900001      11.86700000
+ 622 208 1 -1.1128      32.38599999      28.43400000      18.96100000
+ 623 208 2 0.5564       33.36799999      28.57400000      20.41099999
+ 624 208 2 0.5564       33.41000001      27.40600001      17.94900000
+ 625 209 1 -1.1128      30.89799999      25.39000000      25.79900000
+ 626 209 2 0.5564       32.36900000      25.91299999      24.58000000
+ 627 209 2 0.5564       31.31700001      24.07500000      27.02900000
+ 628 210 1 -1.1128      32.25900000      25.61100001      33.10400000
+ 629 210 2 0.5564       32.23800001      25.73600001      34.80600000
+ 630 210 2 0.5564       33.91999999      25.04199999      32.77500000
+ 631 211 1 -1.1128      30.29000000      32.64500000       1.34100000
+ 632 211 2 0.5564       29.94900000      32.79300000      -0.43000000
+ 633 211 2 0.5564       31.76199999      33.34000000       1.84700001
+ 634 212 1 -1.1128      25.53599999      34.23499999       6.46900000
+ 635 212 2 0.5564       25.71600000      36.05900001       6.65099999
+ 636 212 2 0.5564       25.28300000      33.86599999       4.89499999
+ 637 213 1 -1.1128      31.67400000      33.16100000      13.10599999
+ 638 213 2 0.5564       31.79300000      34.86300000      13.28100001
+ 639 213 2 0.5564       30.42499999      32.92800000      11.78300001
+ 640 214 1 -1.1128      33.84400001      32.66800001      22.29599999
+ 641 214 2 0.5564       32.75000000      32.23400001      23.52400000
+ 642 214 2 0.5564       32.91700000      32.87500000      20.73600001
+ 643 215 1 -1.1128      31.60300000      30.54200000      30.80499999
+ 644 215 2 0.5564       33.45100000      30.80400001      30.46799999
+ 645 215 2 0.5564       31.57500001      28.81599999      31.75600000
+ 646 216 1 -1.1128      26.29500001      31.23499999      30.59900000
+ 647 216 2 0.5564       27.83399999      30.51499999      30.60700001
+ 648 216 2 0.5564       26.36200000      32.91999999      29.85600000
+
+Bonds
+
+ 1 1 1 2
+ 2 1 1 3
+ 3 1 4 5
+ 4 1 4 6
+ 5 1 7 8
+ 6 1 7 9
+ 7 1 10 11
+ 8 1 10 12
+ 9 1 13 14
+ 10 1 13 15
+ 11 1 16 17
+ 12 1 16 18
+ 13 1 19 20
+ 14 1 19 21
+ 15 1 22 23
+ 16 1 22 24
+ 17 1 25 26
+ 18 1 25 27
+ 19 1 28 29
+ 20 1 28 30
+ 21 1 31 32
+ 22 1 31 33
+ 23 1 34 35
+ 24 1 34 36
+ 25 1 37 38
+ 26 1 37 39
+ 27 1 40 41
+ 28 1 40 42
+ 29 1 43 44
+ 30 1 43 45
+ 31 1 46 47
+ 32 1 46 48
+ 33 1 49 50
+ 34 1 49 51
+ 35 1 52 53
+ 36 1 52 54
+ 37 1 55 56
+ 38 1 55 57
+ 39 1 58 59
+ 40 1 58 60
+ 41 1 61 62
+ 42 1 61 63
+ 43 1 64 65
+ 44 1 64 66
+ 45 1 67 68
+ 46 1 67 69
+ 47 1 70 71
+ 48 1 70 72
+ 49 1 73 74
+ 50 1 73 75
+ 51 1 76 77
+ 52 1 76 78
+ 53 1 79 80
+ 54 1 79 81
+ 55 1 82 83
+ 56 1 82 84
+ 57 1 85 86
+ 58 1 85 87
+ 59 1 88 89
+ 60 1 88 90
+ 61 1 91 92
+ 62 1 91 93
+ 63 1 94 95
+ 64 1 94 96
+ 65 1 97 98
+ 66 1 97 99
+ 67 1 100 101
+ 68 1 100 102
+ 69 1 103 104
+ 70 1 103 105
+ 71 1 106 107
+ 72 1 106 108
+ 73 1 109 110
+ 74 1 109 111
+ 75 1 112 113
+ 76 1 112 114
+ 77 1 115 116
+ 78 1 115 117
+ 79 1 118 119
+ 80 1 118 120
+ 81 1 121 122
+ 82 1 121 123
+ 83 1 124 125
+ 84 1 124 126
+ 85 1 127 128
+ 86 1 127 129
+ 87 1 130 131
+ 88 1 130 132
+ 89 1 133 134
+ 90 1 133 135
+ 91 1 136 137
+ 92 1 136 138
+ 93 1 139 140
+ 94 1 139 141
+ 95 1 142 143
+ 96 1 142 144
+ 97 1 145 146
+ 98 1 145 147
+ 99 1 148 149
+ 100 1 148 150
+ 101 1 151 152
+ 102 1 151 153
+ 103 1 154 155
+ 104 1 154 156
+ 105 1 157 158
+ 106 1 157 159
+ 107 1 160 161
+ 108 1 160 162
+ 109 1 163 164
+ 110 1 163 165
+ 111 1 166 167
+ 112 1 166 168
+ 113 1 169 170
+ 114 1 169 171
+ 115 1 172 173
+ 116 1 172 174
+ 117 1 175 176
+ 118 1 175 177
+ 119 1 178 179
+ 120 1 178 180
+ 121 1 181 182
+ 122 1 181 183
+ 123 1 184 185
+ 124 1 184 186
+ 125 1 187 188
+ 126 1 187 189
+ 127 1 190 191
+ 128 1 190 192
+ 129 1 193 194
+ 130 1 193 195
+ 131 1 196 197
+ 132 1 196 198
+ 133 1 199 200
+ 134 1 199 201
+ 135 1 202 203
+ 136 1 202 204
+ 137 1 205 206
+ 138 1 205 207
+ 139 1 208 209
+ 140 1 208 210
+ 141 1 211 212
+ 142 1 211 213
+ 143 1 214 215
+ 144 1 214 216
+ 145 1 217 218
+ 146 1 217 219
+ 147 1 220 221
+ 148 1 220 222
+ 149 1 223 224
+ 150 1 223 225
+ 151 1 226 227
+ 152 1 226 228
+ 153 1 229 230
+ 154 1 229 231
+ 155 1 232 233
+ 156 1 232 234
+ 157 1 235 236
+ 158 1 235 237
+ 159 1 238 239
+ 160 1 238 240
+ 161 1 241 242
+ 162 1 241 243
+ 163 1 244 245
+ 164 1 244 246
+ 165 1 247 248
+ 166 1 247 249
+ 167 1 250 251
+ 168 1 250 252
+ 169 1 253 254
+ 170 1 253 255
+ 171 1 256 257
+ 172 1 256 258
+ 173 1 259 260
+ 174 1 259 261
+ 175 1 262 263
+ 176 1 262 264
+ 177 1 265 266
+ 178 1 265 267
+ 179 1 268 269
+ 180 1 268 270
+ 181 1 271 272
+ 182 1 271 273
+ 183 1 274 275
+ 184 1 274 276
+ 185 1 277 278
+ 186 1 277 279
+ 187 1 280 281
+ 188 1 280 282
+ 189 1 283 284
+ 190 1 283 285
+ 191 1 286 287
+ 192 1 286 288
+ 193 1 289 290
+ 194 1 289 291
+ 195 1 292 293
+ 196 1 292 294
+ 197 1 295 296
+ 198 1 295 297
+ 199 1 298 299
+ 200 1 298 300
+ 201 1 301 302
+ 202 1 301 303
+ 203 1 304 305
+ 204 1 304 306
+ 205 1 307 308
+ 206 1 307 309
+ 207 1 310 311
+ 208 1 310 312
+ 209 1 313 314
+ 210 1 313 315
+ 211 1 316 317
+ 212 1 316 318
+ 213 1 319 320
+ 214 1 319 321
+ 215 1 322 323
+ 216 1 322 324
+ 217 1 325 326
+ 218 1 325 327
+ 219 1 328 329
+ 220 1 328 330
+ 221 1 331 332
+ 222 1 331 333
+ 223 1 334 335
+ 224 1 334 336
+ 225 1 337 338
+ 226 1 337 339
+ 227 1 340 341
+ 228 1 340 342
+ 229 1 343 344
+ 230 1 343 345
+ 231 1 346 347
+ 232 1 346 348
+ 233 1 349 350
+ 234 1 349 351
+ 235 1 352 353
+ 236 1 352 354
+ 237 1 355 356
+ 238 1 355 357
+ 239 1 358 359
+ 240 1 358 360
+ 241 1 361 362
+ 242 1 361 363
+ 243 1 364 365
+ 244 1 364 366
+ 245 1 367 368
+ 246 1 367 369
+ 247 1 370 371
+ 248 1 370 372
+ 249 1 373 374
+ 250 1 373 375
+ 251 1 376 377
+ 252 1 376 378
+ 253 1 379 380
+ 254 1 379 381
+ 255 1 382 383
+ 256 1 382 384
+ 257 1 385 386
+ 258 1 385 387
+ 259 1 388 389
+ 260 1 388 390
+ 261 1 391 392
+ 262 1 391 393
+ 263 1 394 395
+ 264 1 394 396
+ 265 1 397 398
+ 266 1 397 399
+ 267 1 400 401
+ 268 1 400 402
+ 269 1 403 404
+ 270 1 403 405
+ 271 1 406 407
+ 272 1 406 408
+ 273 1 409 410
+ 274 1 409 411
+ 275 1 412 413
+ 276 1 412 414
+ 277 1 415 416
+ 278 1 415 417
+ 279 1 418 419
+ 280 1 418 420
+ 281 1 421 422
+ 282 1 421 423
+ 283 1 424 425
+ 284 1 424 426
+ 285 1 427 428
+ 286 1 427 429
+ 287 1 430 431
+ 288 1 430 432
+ 289 1 433 434
+ 290 1 433 435
+ 291 1 436 437
+ 292 1 436 438
+ 293 1 439 440
+ 294 1 439 441
+ 295 1 442 443
+ 296 1 442 444
+ 297 1 445 446
+ 298 1 445 447
+ 299 1 448 449
+ 300 1 448 450
+ 301 1 451 452
+ 302 1 451 453
+ 303 1 454 455
+ 304 1 454 456
+ 305 1 457 458
+ 306 1 457 459
+ 307 1 460 461
+ 308 1 460 462
+ 309 1 463 464
+ 310 1 463 465
+ 311 1 466 467
+ 312 1 466 468
+ 313 1 469 470
+ 314 1 469 471
+ 315 1 472 473
+ 316 1 472 474
+ 317 1 475 476
+ 318 1 475 477
+ 319 1 478 479
+ 320 1 478 480
+ 321 1 481 482
+ 322 1 481 483
+ 323 1 484 485
+ 324 1 484 486
+ 325 1 487 488
+ 326 1 487 489
+ 327 1 490 491
+ 328 1 490 492
+ 329 1 493 494
+ 330 1 493 495
+ 331 1 496 497
+ 332 1 496 498
+ 333 1 499 500
+ 334 1 499 501
+ 335 1 502 503
+ 336 1 502 504
+ 337 1 505 506
+ 338 1 505 507
+ 339 1 508 509
+ 340 1 508 510
+ 341 1 511 512
+ 342 1 511 513
+ 343 1 514 515
+ 344 1 514 516
+ 345 1 517 518
+ 346 1 517 519
+ 347 1 520 521
+ 348 1 520 522
+ 349 1 523 524
+ 350 1 523 525
+ 351 1 526 527
+ 352 1 526 528
+ 353 1 529 530
+ 354 1 529 531
+ 355 1 532 533
+ 356 1 532 534
+ 357 1 535 536
+ 358 1 535 537
+ 359 1 538 539
+ 360 1 538 540
+ 361 1 541 542
+ 362 1 541 543
+ 363 1 544 545
+ 364 1 544 546
+ 365 1 547 548
+ 366 1 547 549
+ 367 1 550 551
+ 368 1 550 552
+ 369 1 553 554
+ 370 1 553 555
+ 371 1 556 557
+ 372 1 556 558
+ 373 1 559 560
+ 374 1 559 561
+ 375 1 562 563
+ 376 1 562 564
+ 377 1 565 566
+ 378 1 565 567
+ 379 1 568 569
+ 380 1 568 570
+ 381 1 571 572
+ 382 1 571 573
+ 383 1 574 575
+ 384 1 574 576
+ 385 1 577 578
+ 386 1 577 579
+ 387 1 580 581
+ 388 1 580 582
+ 389 1 583 584
+ 390 1 583 585
+ 391 1 586 587
+ 392 1 586 588
+ 393 1 589 590
+ 394 1 589 591
+ 395 1 592 593
+ 396 1 592 594
+ 397 1 595 596
+ 398 1 595 597
+ 399 1 598 599
+ 400 1 598 600
+ 401 1 601 602
+ 402 1 601 603
+ 403 1 604 605
+ 404 1 604 606
+ 405 1 607 608
+ 406 1 607 609
+ 407 1 610 611
+ 408 1 610 612
+ 409 1 613 614
+ 410 1 613 615
+ 411 1 616 617
+ 412 1 616 618
+ 413 1 619 620
+ 414 1 619 621
+ 415 1 622 623
+ 416 1 622 624
+ 417 1 625 626
+ 418 1 625 627
+ 419 1 628 629
+ 420 1 628 630
+ 421 1 631 632
+ 422 1 631 633
+ 423 1 634 635
+ 424 1 634 636
+ 425 1 637 638
+ 426 1 637 639
+ 427 1 640 641
+ 428 1 640 642
+ 429 1 643 644
+ 430 1 643 645
+ 431 1 646 647
+ 432 1 646 648
+
+Angles
+
+ 1 1 2 1 3
+ 2 1 5 4 6
+ 3 1 8 7 9
+ 4 1 11 10 12
+ 5 1 14 13 15
+ 6 1 17 16 18
+ 7 1 20 19 21
+ 8 1 23 22 24
+ 9 1 26 25 27
+ 10 1 29 28 30
+ 11 1 32 31 33
+ 12 1 35 34 36
+ 13 1 38 37 39
+ 14 1 41 40 42
+ 15 1 44 43 45
+ 16 1 47 46 48
+ 17 1 50 49 51
+ 18 1 53 52 54
+ 19 1 56 55 57
+ 20 1 59 58 60
+ 21 1 62 61 63
+ 22 1 65 64 66
+ 23 1 68 67 69
+ 24 1 71 70 72
+ 25 1 74 73 75
+ 26 1 77 76 78
+ 27 1 80 79 81
+ 28 1 83 82 84
+ 29 1 86 85 87
+ 30 1 89 88 90
+ 31 1 92 91 93
+ 32 1 95 94 96
+ 33 1 98 97 99
+ 34 1 101 100 102
+ 35 1 104 103 105
+ 36 1 107 106 108
+ 37 1 110 109 111
+ 38 1 113 112 114
+ 39 1 116 115 117
+ 40 1 119 118 120
+ 41 1 122 121 123
+ 42 1 125 124 126
+ 43 1 128 127 129
+ 44 1 131 130 132
+ 45 1 134 133 135
+ 46 1 137 136 138
+ 47 1 140 139 141
+ 48 1 143 142 144
+ 49 1 146 145 147
+ 50 1 149 148 150
+ 51 1 152 151 153
+ 52 1 155 154 156
+ 53 1 158 157 159
+ 54 1 161 160 162
+ 55 1 164 163 165
+ 56 1 167 166 168
+ 57 1 170 169 171
+ 58 1 173 172 174
+ 59 1 176 175 177
+ 60 1 179 178 180
+ 61 1 182 181 183
+ 62 1 185 184 186
+ 63 1 188 187 189
+ 64 1 191 190 192
+ 65 1 194 193 195
+ 66 1 197 196 198
+ 67 1 200 199 201
+ 68 1 203 202 204
+ 69 1 206 205 207
+ 70 1 209 208 210
+ 71 1 212 211 213
+ 72 1 215 214 216
+ 73 1 218 217 219
+ 74 1 221 220 222
+ 75 1 224 223 225
+ 76 1 227 226 228
+ 77 1 230 229 231
+ 78 1 233 232 234
+ 79 1 236 235 237
+ 80 1 239 238 240
+ 81 1 242 241 243
+ 82 1 245 244 246
+ 83 1 248 247 249
+ 84 1 251 250 252
+ 85 1 254 253 255
+ 86 1 257 256 258
+ 87 1 260 259 261
+ 88 1 263 262 264
+ 89 1 266 265 267
+ 90 1 269 268 270
+ 91 1 272 271 273
+ 92 1 275 274 276
+ 93 1 278 277 279
+ 94 1 281 280 282
+ 95 1 284 283 285
+ 96 1 287 286 288
+ 97 1 290 289 291
+ 98 1 293 292 294
+ 99 1 296 295 297
+ 100 1 299 298 300
+ 101 1 302 301 303
+ 102 1 305 304 306
+ 103 1 308 307 309
+ 104 1 311 310 312
+ 105 1 314 313 315
+ 106 1 317 316 318
+ 107 1 320 319 321
+ 108 1 323 322 324
+ 109 1 326 325 327
+ 110 1 329 328 330
+ 111 1 332 331 333
+ 112 1 335 334 336
+ 113 1 338 337 339
+ 114 1 341 340 342
+ 115 1 344 343 345
+ 116 1 347 346 348
+ 117 1 350 349 351
+ 118 1 353 352 354
+ 119 1 356 355 357
+ 120 1 359 358 360
+ 121 1 362 361 363
+ 122 1 365 364 366
+ 123 1 368 367 369
+ 124 1 371 370 372
+ 125 1 374 373 375
+ 126 1 377 376 378
+ 127 1 380 379 381
+ 128 1 383 382 384
+ 129 1 386 385 387
+ 130 1 389 388 390
+ 131 1 392 391 393
+ 132 1 395 394 396
+ 133 1 398 397 399
+ 134 1 401 400 402
+ 135 1 404 403 405
+ 136 1 407 406 408
+ 137 1 410 409 411
+ 138 1 413 412 414
+ 139 1 416 415 417
+ 140 1 419 418 420
+ 141 1 422 421 423
+ 142 1 425 424 426
+ 143 1 428 427 429
+ 144 1 431 430 432
+ 145 1 434 433 435
+ 146 1 437 436 438
+ 147 1 440 439 441
+ 148 1 443 442 444
+ 149 1 446 445 447
+ 150 1 449 448 450
+ 151 1 452 451 453
+ 152 1 455 454 456
+ 153 1 458 457 459
+ 154 1 461 460 462
+ 155 1 464 463 465
+ 156 1 467 466 468
+ 157 1 470 469 471
+ 158 1 473 472 474
+ 159 1 476 475 477
+ 160 1 479 478 480
+ 161 1 482 481 483
+ 162 1 485 484 486
+ 163 1 488 487 489
+ 164 1 491 490 492
+ 165 1 494 493 495
+ 166 1 497 496 498
+ 167 1 500 499 501
+ 168 1 503 502 504
+ 169 1 506 505 507
+ 170 1 509 508 510
+ 171 1 512 511 513
+ 172 1 515 514 516
+ 173 1 518 517 519
+ 174 1 521 520 522
+ 175 1 524 523 525
+ 176 1 527 526 528
+ 177 1 530 529 531
+ 178 1 533 532 534
+ 179 1 536 535 537
+ 180 1 539 538 540
+ 181 1 542 541 543
+ 182 1 545 544 546
+ 183 1 548 547 549
+ 184 1 551 550 552
+ 185 1 554 553 555
+ 186 1 557 556 558
+ 187 1 560 559 561
+ 188 1 563 562 564
+ 189 1 566 565 567
+ 190 1 569 568 570
+ 191 1 572 571 573
+ 192 1 575 574 576
+ 193 1 578 577 579
+ 194 1 581 580 582
+ 195 1 584 583 585
+ 196 1 587 586 588
+ 197 1 590 589 591
+ 198 1 593 592 594
+ 199 1 596 595 597
+ 200 1 599 598 600
+ 201 1 602 601 603
+ 202 1 605 604 606
+ 203 1 608 607 609
+ 204 1 611 610 612
+ 205 1 614 613 615
+ 206 1 617 616 618
+ 207 1 620 619 621
+ 208 1 623 622 624
+ 209 1 626 625 627
+ 210 1 629 628 630
+ 211 1 632 631 633
+ 212 1 635 634 636
+ 213 1 638 637 639
+ 214 1 641 640 642
+ 215 1 644 643 645
+ 216 1 647 646 648
diff --git a/tools/i-pi/examples/lammps/h2o-pimd-rpc/in.water_longrange b/tools/i-pi/examples/lammps/h2o-pimd-rpc/in.water_longrange
new file mode 100644
index 0000000000..0e0e09a5b8
--- /dev/null
+++ b/tools/i-pi/examples/lammps/h2o-pimd-rpc/in.water_longrange
@@ -0,0 +1,33 @@
+units		electron
+atom_style	full
+
+#pair_style	lj/cut/coul/long 17.01
+pair_style      lj/cut/tip4p/long 1 2 1 1 0.278072379 17.007
+bond_style      harmonic
+#bond_style      class2 
+angle_style     harmonic
+#kspace_style	pppm 0.0001
+kspace_style	pppm/tip4p 0.0001
+
+read_data	data.water_longrange
+pair_coeff  * * 0 0
+pair_coeff  1  1  0.000295147 5.96946
+
+neighbor	2.0 bin
+neigh_modify delay 0 every 1 check yes
+
+timestep	0.00025
+
+#velocity all create 298.0 2345187
+
+#thermo_style	multi
+#thermo		1
+
+#fix		1 all nvt temp 298.0 298.0 30.0 tchain 1
+#fix 1 all nve
+fix 1 all ipi rpc_long 32347 unix
+
+#dump		1 all xyz 25 dump.xyz
+
+run		100000000
+
diff --git a/tools/i-pi/examples/lammps/h2o-pimd-rpc/in.water_shortrange b/tools/i-pi/examples/lammps/h2o-pimd-rpc/in.water_shortrange
new file mode 100644
index 0000000000..6df6d16ee2
--- /dev/null
+++ b/tools/i-pi/examples/lammps/h2o-pimd-rpc/in.water_shortrange
@@ -0,0 +1,34 @@
+units		electron
+atom_style	full
+
+pair_style	lj/cut 0.51
+#pair_style      lj/cut/tip4p/long 1 2 1 1 0.278072379 17.007
+#bond_style      harmonic
+bond_style      class2 
+angle_style     harmonic
+#kspace_style	pppm 0.0001
+#kspace_style	pppm/tip4p 0.0001
+
+read_data	data.water_shortrange
+pair_coeff  * * 0 0.1
+#pair_coeff  1  1  0.000295147 5.96946
+
+#atom_modify sort 1 3.00
+neighbor	2.0 bin
+neigh_modify delay 0 every 1 check yes
+
+timestep	0.00025
+
+#velocity all create 298.0 2345187
+
+#thermo_style	multi
+#thermo		1
+
+#fix		1 all nvt temp 298.0 298.0 30.0 tchain 1
+#fix 1 all nve
+fix 1 all ipi rpc_short 32346 unix
+
+#dump		1 all xyz 25 dump.xyz
+
+run		100000000
+
diff --git a/tools/i-pi/examples/lammps/h2o-pimd-rpc/input.xml b/tools/i-pi/examples/lammps/h2o-pimd-rpc/input.xml
new file mode 100644
index 0000000000..fc7596d097
--- /dev/null
+++ b/tools/i-pi/examples/lammps/h2o-pimd-rpc/input.xml
@@ -0,0 +1,27 @@
+<simulation>
+   <initialize nbeads='32'> 
+      <file mode='pdb'> water_298K.pdb </file>
+      <velocities mode="thermal" units='kelvin'> 298 </velocities>
+   </initialize>
+   <output prefix='rpc'>
+      <properties stride='1' filename='out'>  [ step, time{picosecond}, conserved, temperature{kelvin}, kinetic_cv, potential, pressure_cv{megapascal}] </properties>
+      <trajectory filename='pos' stride='20'> positions </trajectory>
+   </output>
+   <total_steps>500000</total_steps>
+   <prng><seed>32346</seed></prng>
+   <forces>
+      <socket mode='unix'>
+         <address>rpc_short</address>
+      </socket>
+      <socket mode='unix' nbeads='5'>
+         <address> rpc_long </address>
+      </socket>
+   </forces>
+   <ensemble mode='nvt'>
+      <thermostat mode='svr'>
+         <tau units='femtosecond'>25</tau>
+      </thermostat>
+      <timestep units='femtosecond'> 0.25</timestep>
+      <temperature units='kelvin'>298</temperature>
+   </ensemble>
+</simulation>
diff --git a/tools/i-pi/examples/lammps/h2o-pimd-rpc/water_298K.pdb b/tools/i-pi/examples/lammps/h2o-pimd-rpc/water_298K.pdb
new file mode 100644
index 0000000000..e8509c868e
--- /dev/null
+++ b/tools/i-pi/examples/lammps/h2o-pimd-rpc/water_298K.pdb
@@ -0,0 +1,650 @@
+CRYST   35.233   35.233   35.233  90.00  90.00  90.00 P 1          1
+ATOM      1    O   1     1       3.846   5.672   1.323  0.00  0.00            0
+ATOM      2    H   1     1       2.979   7.054   0.857  0.00  0.00            0
+ATOM      3    H   1     1       5.525   5.697   0.451  0.00  0.00            0
+ATOM      4    O   1     1      34.557  34.341   3.078  0.00  0.00            0
+ATOM      5    H   1     1      33.722  34.689   4.840  0.00  0.00            0
+ATOM      6    H   1     1      36.029  33.220   3.711  0.00  0.00            0
+ATOM      7    O   1     1       5.591   1.963  13.477  0.00  0.00            0
+ATOM      8    H   1     1       7.265   1.864  13.851  0.00  0.00            0
+ATOM      9    H   1     1       5.009   3.555  13.916  0.00  0.00            0
+ATOM     10    O   1     1       1.060   2.061  21.718  0.00  0.00            0
+ATOM     11    H   1     1       0.757   0.261  21.820  0.00  0.00            0
+ATOM     12    H   1     1       0.213   3.013  23.047  0.00  0.00            0
+ATOM     13    O   1     1       1.200   1.337  29.006  0.00  0.00            0
+ATOM     14    H   1     1       0.818   1.884  30.732  0.00  0.00            0
+ATOM     15    H   1     1       2.883   1.825  29.011  0.00  0.00            0
+ATOM     16    O   1     1       1.331   1.386  34.306  0.00  0.00            0
+ATOM     17    H   1     1       2.392   2.898  34.846  0.00  0.00            0
+ATOM     18    H   1     1       0.814   0.532  35.836  0.00  0.00            0
+ATOM     19    O   1     1      31.451  10.201   0.726  0.00  0.00            0
+ATOM     20    H   1     1      32.282  10.877  -0.750  0.00  0.00            0
+ATOM     21    H   1     1      30.920  11.594   1.677  0.00  0.00            0
+ATOM     22    O   1     1       0.836  10.808   4.298  0.00  0.00            0
+ATOM     23    H   1     1       0.305  10.643   2.793  0.00  0.00            0
+ATOM     24    H   1     1      -0.356  10.334   5.524  0.00  0.00            0
+ATOM     25    O   1     1      34.381   5.979   9.194  0.00  0.00            0
+ATOM     26    H   1     1      33.616   7.673   8.857  0.00  0.00            0
+ATOM     27    H   1     1      35.115   5.260   7.618  0.00  0.00            0
+ATOM     28    O   1     1      33.212   6.480  24.278  0.00  0.00            0
+ATOM     29    H   1     1      31.624   6.908  23.521  0.00  0.00            0
+ATOM     30    H   1     1      32.544   4.990  24.982  0.00  0.00            0
+ATOM     31    O   1     1       1.992   9.002  26.863  0.00  0.00            0
+ATOM     32    H   1     1       1.856  10.175  25.579  0.00  0.00            0
+ATOM     33    H   1     1       0.519   8.099  26.386  0.00  0.00            0
+ATOM     34    O   1     1       2.054   8.660  32.515  0.00  0.00            0
+ATOM     35    H   1     1       2.167   8.727  30.494  0.00  0.00            0
+ATOM     36    H   1     1       2.374  10.513  33.038  0.00  0.00            0
+ATOM     37    O   1     1       3.402  16.639   3.008  0.00  0.00            0
+ATOM     38    H   1     1       4.127  15.872   4.446  0.00  0.00            0
+ATOM     39    H   1     1       2.905  18.339   3.160  0.00  0.00            0
+ATOM     40    O   1     1       4.222  15.444   8.072  0.00  0.00            0
+ATOM     41    H   1     1       5.211  16.756   8.299  0.00  0.00            0
+ATOM     42    H   1     1       2.560  15.492   8.860  0.00  0.00            0
+ATOM     43    O   1     1       2.831   9.246  16.488  0.00  0.00            0
+ATOM     44    H   1     1       2.869   8.023  18.050  0.00  0.00            0
+ATOM     45    H   1     1       3.960   8.467  15.154  0.00  0.00            0
+ATOM     46    O   1     1       5.563   6.003  20.907  0.00  0.00            0
+ATOM     47    H   1     1       4.653   4.638  21.480  0.00  0.00            0
+ATOM     48    H   1     1       6.405   6.208  22.529  0.00  0.00            0
+ATOM     49    O   1     1       2.087  13.370  22.913  0.00  0.00            0
+ATOM     50    H   1     1       2.832  14.804  23.422  0.00  0.00            0
+ATOM     51    H   1     1       1.434  13.509  21.196  0.00  0.00            0
+ATOM     52    O   1     1       3.369  17.886  25.109  0.00  0.00            0
+ATOM     53    H   1     1       3.655  17.200  26.766  0.00  0.00            0
+ATOM     54    H   1     1       4.772  18.977  24.500  0.00  0.00            0
+ATOM     55    O   1     1      34.764  20.803   0.948  0.00  0.00            0
+ATOM     56    H   1     1      35.210  21.267   2.816  0.00  0.00            0
+ATOM     57    H   1     1      35.962  21.726   0.131  0.00  0.00            0
+ATOM     58    O   1     1       2.836  24.178  15.229  0.00  0.00            0
+ATOM     59    H   1     1       2.795  22.346  14.876  0.00  0.00            0
+ATOM     60    H   1     1       2.414  24.115  17.130  0.00  0.00            0
+ATOM     61    O   1     1      33.000  24.481  15.230  0.00  0.00            0
+ATOM     62    H   1     1      34.640  24.804  15.013  0.00  0.00            0
+ATOM     63    H   1     1      32.401  25.764  14.295  0.00  0.00            0
+ATOM     64    O   1     1       0.404  26.779  23.400  0.00  0.00            0
+ATOM     65    H   1     1       1.353  27.248  24.987  0.00  0.00            0
+ATOM     66    H   1     1       1.546  28.050  22.317  0.00  0.00            0
+ATOM     67    O   1     1      34.222  21.380  25.418  0.00  0.00            0
+ATOM     68    H   1     1      35.669  20.151  25.317  0.00  0.00            0
+ATOM     69    H   1     1      32.960  21.180  23.992  0.00  0.00            0
+ATOM     70    O   1     1      33.259  17.438  32.480  0.00  0.00            0
+ATOM     71    H   1     1      33.314  18.782  33.883  0.00  0.00            0
+ATOM     72    H   1     1      32.743  18.181  30.871  0.00  0.00            0
+ATOM     73    O   1     1       4.463  21.979   3.936  0.00  0.00            0
+ATOM     74    H   1     1       5.856  23.084   3.400  0.00  0.00            0
+ATOM     75    H   1     1       3.986  22.180   5.602  0.00  0.00            0
+ATOM     76    O   1     1       6.258  25.851   8.520  0.00  0.00            0
+ATOM     77    H   1     1       5.767  27.693   8.476  0.00  0.00            0
+ATOM     78    H   1     1       7.202  25.506  10.186  0.00  0.00            0
+ATOM     79    O   1     1       0.601  29.737  12.747  0.00  0.00            0
+ATOM     80    H   1     1      -0.685  30.842  12.350  0.00  0.00            0
+ATOM     81    H   1     1       1.336  30.716  14.031  0.00  0.00            0
+ATOM     82    O   1     1       7.563  28.191  24.333  0.00  0.00            0
+ATOM     83    H   1     1       9.201  28.828  24.684  0.00  0.00            0
+ATOM     84    H   1     1       7.381  27.621  22.799  0.00  0.00            0
+ATOM     85    O   1     1       3.653  27.109  27.772  0.00  0.00            0
+ATOM     86    H   1     1       5.126  27.015  26.772  0.00  0.00            0
+ATOM     87    H   1     1       3.031  28.756  27.698  0.00  0.00            0
+ATOM     88    O   1     1       2.596  23.991  32.476  0.00  0.00            0
+ATOM     89    H   1     1       2.879  24.791  30.859  0.00  0.00            0
+ATOM     90    H   1     1       4.003  22.913  32.701  0.00  0.00            0
+ATOM     91    O   1     1       3.083  31.317   3.644  0.00  0.00            0
+ATOM     92    H   1     1       4.133  30.589   2.539  0.00  0.00            0
+ATOM     93    H   1     1       4.218  32.173   5.037  0.00  0.00            0
+ATOM     94    O   1     1       4.661  30.555   9.368  0.00  0.00            0
+ATOM     95    H   1     1       3.184  29.843  10.132  0.00  0.00            0
+ATOM     96    H   1     1       4.358  32.448   9.126  0.00  0.00            0
+ATOM     97    O   1     1       3.465  32.537  15.778  0.00  0.00            0
+ATOM     98    H   1     1       5.072  31.819  15.903  0.00  0.00            0
+ATOM     99    H   1     1       4.055  34.257  15.284  0.00  0.00            0
+ATOM    100    O   1     1       4.215  29.153  20.317  0.00  0.00            0
+ATOM    101    H   1     1       3.658  30.176  18.842  0.00  0.00            0
+ATOM    102    H   1     1       4.959  30.291  21.449  0.00  0.00            0
+ATOM    103    O   1     1       1.126  31.333  28.768  0.00  0.00            0
+ATOM    104    H   1     1       2.395  31.124  29.925  0.00  0.00            0
+ATOM    105    H   1     1       0.768  33.092  28.898  0.00  0.00            0
+ATOM    106    O   1     1       4.881  32.616  32.302  0.00  0.00            0
+ATOM    107    H   1     1       6.588  32.911  31.725  0.00  0.00            0
+ATOM    108    H   1     1       4.486  34.037  33.249  0.00  0.00            0
+ATOM    109    O   1     1       8.962   5.556   0.151  0.00  0.00            0
+ATOM    110    H   1     1       9.652   6.991   0.859  0.00  0.00            0
+ATOM    111    H   1     1       9.173   4.477   1.645  0.00  0.00            0
+ATOM    112    O   1     1       1.833   3.518   5.679  0.00  0.00            0
+ATOM    113    H   1     1       2.889   2.731   6.788  0.00  0.00            0
+ATOM    114    H   1     1       2.789   4.187   4.147  0.00  0.00            0
+ATOM    115    O   1     1      10.510  34.726  13.073  0.00  0.00            0
+ATOM    116    H   1     1      11.920  34.118  11.919  0.00  0.00            0
+ATOM    117    H   1     1      11.295  34.968  14.741  0.00  0.00            0
+ATOM    118    O   1     1       7.212   0.042  22.454  0.00  0.00            0
+ATOM    119    H   1     1       6.924   0.470  24.172  0.00  0.00            0
+ATOM    120    H   1     1       8.319   1.228  21.653  0.00  0.00            0
+ATOM    121    O   1     1       6.365   2.010  27.544  0.00  0.00            0
+ATOM    122    H   1     1       5.954   3.585  26.852  0.00  0.00            0
+ATOM    123    H   1     1       7.758   2.549  28.696  0.00  0.00            0
+ATOM    124    O   1     1      10.833   3.140  30.787  0.00  0.00            0
+ATOM    125    H   1     1      12.697   2.975  30.867  0.00  0.00            0
+ATOM    126    H   1     1      10.389   3.700  32.404  0.00  0.00            0
+ATOM    127    O   1     1       8.684   9.342   3.912  0.00  0.00            0
+ATOM    128    H   1     1       6.985   9.256   4.773  0.00  0.00            0
+ATOM    129    H   1     1       8.684  10.809   3.011  0.00  0.00            0
+ATOM    130    O   1     1       4.873   9.919   7.707  0.00  0.00            0
+ATOM    131    H   1     1       3.698   9.771   6.194  0.00  0.00            0
+ATOM    132    H   1     1       5.047  11.961   7.624  0.00  0.00            0
+ATOM    133    O   1     1      10.031   5.018   9.699  0.00  0.00            0
+ATOM    134    H   1     1       9.675   3.382  10.340  0.00  0.00            0
+ATOM    135    H   1     1       9.132   5.987  10.825  0.00  0.00            0
+ATOM    136    O   1     1      11.246   3.918  21.929  0.00  0.00            0
+ATOM    137    H   1     1      12.614   2.770  22.341  0.00  0.00            0
+ATOM    138    H   1     1      12.073   5.686  21.497  0.00  0.00            0
+ATOM    139    O   1     1       6.825   7.164  25.708  0.00  0.00            0
+ATOM    140    H   1     1       8.036   8.374  25.980  0.00  0.00            0
+ATOM    141    H   1     1       5.206   7.900  25.891  0.00  0.00            0
+ATOM    142    O   1     1      10.171  12.811   0.295  0.00  0.00            0
+ATOM    143    H   1     1      10.033  12.818  -1.609  0.00  0.00            0
+ATOM    144    H   1     1       9.880  14.492   0.480  0.00  0.00            0
+ATOM    145    O   1     1       8.190  17.402   1.253  0.00  0.00            0
+ATOM    146    H   1     1       9.472  18.531   1.253  0.00  0.00            0
+ATOM    147    H   1     1       6.351  17.817   1.568  0.00  0.00            0
+ATOM    148    O   1     1      11.233  16.188   8.299  0.00  0.00            0
+ATOM    149    H   1     1      10.291  17.689   8.166  0.00  0.00            0
+ATOM    150    H   1     1      12.768  17.123   8.733  0.00  0.00            0
+ATOM    151    O   1     1       6.386   8.002  12.846  0.00  0.00            0
+ATOM    152    H   1     1       7.701   8.896  13.655  0.00  0.00            0
+ATOM    153    H   1     1       5.591   8.877  11.519  0.00  0.00            0
+ATOM    154    O   1     1       8.184  10.419  18.848  0.00  0.00            0
+ATOM    155    H   1     1       9.498   9.434  19.905  0.00  0.00            0
+ATOM    156    H   1     1       6.882   9.027  18.948  0.00  0.00            0
+ATOM    157    O   1     1      10.806  14.431  21.328  0.00  0.00            0
+ATOM    158    H   1     1       9.177  13.531  20.670  0.00  0.00            0
+ATOM    159    H   1     1      11.344  15.696  20.448  0.00  0.00            0
+ATOM    160    O   1     1       9.237  13.928  30.341  0.00  0.00            0
+ATOM    161    H   1     1      10.779  14.839  30.522  0.00  0.00            0
+ATOM    162    H   1     1       9.965  13.192  28.899  0.00  0.00            0
+ATOM    163    O   1     1      10.918  21.707   1.864  0.00  0.00            0
+ATOM    164    H   1     1      10.280  23.449   2.279  0.00  0.00            0
+ATOM    165    H   1     1      12.708  21.456   1.749  0.00  0.00            0
+ATOM    166    O   1     1       9.353  16.125  13.927  0.00  0.00            0
+ATOM    167    H   1     1       9.938  17.594  14.618  0.00  0.00            0
+ATOM    168    H   1     1       9.518  16.360  12.244  0.00  0.00            0
+ATOM    169    O   1     1      10.371  11.107  14.268  0.00  0.00            0
+ATOM    170    H   1     1       9.644  10.406  15.859  0.00  0.00            0
+ATOM    171    H   1     1       9.434  12.523  14.117  0.00  0.00            0
+ATOM    172    O   1     1       3.351  22.769  20.196  0.00  0.00            0
+ATOM    173    H   1     1       2.055  23.686  21.503  0.00  0.00            0
+ATOM    174    H   1     1       2.452  21.401  19.413  0.00  0.00            0
+ATOM    175    O   1     1       6.836  21.329  23.199  0.00  0.00            0
+ATOM    176    H   1     1       8.249  20.848  22.320  0.00  0.00            0
+ATOM    177    H   1     1       5.668  21.841  21.886  0.00  0.00            0
+ATOM    178    O   1     1       4.604  15.649  30.043  0.00  0.00            0
+ATOM    179    H   1     1       6.453  15.217  30.207  0.00  0.00            0
+ATOM    180    H   1     1       3.822  14.762  31.562  0.00  0.00            0
+ATOM    181    O   1     1       7.125  19.976   9.421  0.00  0.00            0
+ATOM    182    H   1     1       5.918  20.453  10.730  0.00  0.00            0
+ATOM    183    H   1     1       8.099  21.496   9.491  0.00  0.00            0
+ATOM    184    O   1     1       9.063  25.912  13.186  0.00  0.00            0
+ATOM    185    H   1     1      10.350  26.572  12.367  0.00  0.00            0
+ATOM    186    H   1     1       9.680  24.367  13.697  0.00  0.00            0
+ATOM    187    O   1     1       8.022  22.343  17.042  0.00  0.00            0
+ATOM    188    H   1     1       9.144  23.367  18.074  0.00  0.00            0
+ATOM    189    H   1     1       6.562  23.462  16.852  0.00  0.00            0
+ATOM    190    O   1     1      10.762  26.285  19.963  0.00  0.00            0
+ATOM    191    H   1     1      11.036  27.966  20.538  0.00  0.00            0
+ATOM    192    H   1     1      11.078  25.401  21.456  0.00  0.00            0
+ATOM    193    O   1     1       9.158  22.902  28.391  0.00  0.00            0
+ATOM    194    H   1     1       8.219  23.528  27.085  0.00  0.00            0
+ATOM    195    H   1     1       8.089  21.760  29.509  0.00  0.00            0
+ATOM    196    O   1     1       6.219  20.158  31.921  0.00  0.00            0
+ATOM    197    H   1     1       5.635  18.511  31.161  0.00  0.00            0
+ATOM    198    H   1     1       7.530  19.624  33.071  0.00  0.00            0
+ATOM    199    O   1     1      11.191  31.509   2.617  0.00  0.00            0
+ATOM    200    H   1     1      10.460  32.214   4.108  0.00  0.00            0
+ATOM    201    H   1     1      13.176  31.751   2.577  0.00  0.00            0
+ATOM    202    O   1     1       4.748   0.055   8.605  0.00  0.00            0
+ATOM    203    H   1     1       5.380   0.517  10.183  0.00  0.00            0
+ATOM    204    H   1     1       6.050  -0.306   7.480  0.00  0.00            0
+ATOM    205    O   1     1       8.695  30.809  15.731  0.00  0.00            0
+ATOM    206    H   1     1       9.189  32.103  14.495  0.00  0.00            0
+ATOM    207    H   1     1       8.447  29.069  14.868  0.00  0.00            0
+ATOM    208    O   1     1      10.128  31.402  20.766  0.00  0.00            0
+ATOM    209    H   1     1       9.456  30.905  19.155  0.00  0.00            0
+ATOM    210    H   1     1       9.020  32.731  21.415  0.00  0.00            0
+ATOM    211    O   1     1      12.238  30.162  25.837  0.00  0.00            0
+ATOM    212    H   1     1      11.418  30.908  27.110  0.00  0.00            0
+ATOM    213    H   1     1      12.396  31.331  24.678  0.00  0.00            0
+ATOM    214    O   1     1      10.395  32.537  30.624  0.00  0.00            0
+ATOM    215    H   1     1      11.042  34.339  30.751  0.00  0.00            0
+ATOM    216    H   1     1      11.378  31.486  31.538  0.00  0.00            0
+ATOM    217    O   1     1      10.438   3.626   5.087  0.00  0.00            0
+ATOM    218    H   1     1      12.435   4.082   5.136  0.00  0.00            0
+ATOM    219    H   1     1       9.822   4.284   6.681  0.00  0.00            0
+ATOM    220    O   1     1      14.762   3.401  13.776  0.00  0.00            0
+ATOM    221    H   1     1      16.518   3.824  13.376  0.00  0.00            0
+ATOM    222    H   1     1      13.752   4.757  12.964  0.00  0.00            0
+ATOM    223    O   1     1      12.382   1.012  17.643  0.00  0.00            0
+ATOM    224    H   1     1      13.346   1.997  16.444  0.00  0.00            0
+ATOM    225    H   1     1      11.931   2.133  18.998  0.00  0.00            0
+ATOM    226    O   1     1      15.278   1.293  24.559  0.00  0.00            0
+ATOM    227    H   1     1      16.071   0.946  26.365  0.00  0.00            0
+ATOM    228    H   1     1      15.794   0.199  23.499  0.00  0.00            0
+ATOM    229    O   1     1      22.226  31.627  24.712  0.00  0.00            0
+ATOM    230    H   1     1      23.338  32.595  23.876  0.00  0.00            0
+ATOM    231    H   1     1      22.161  30.053  24.132  0.00  0.00            0
+ATOM    232    O   1     1      15.640   1.847  32.717  0.00  0.00            0
+ATOM    233    H   1     1      17.488   2.473  31.874  0.00  0.00            0
+ATOM    234    H   1     1      16.403   0.869  34.267  0.00  0.00            0
+ATOM    235    O   1     1      14.858  10.199   2.754  0.00  0.00            0
+ATOM    236    H   1     1      13.360  10.712   2.282  0.00  0.00            0
+ATOM    237    H   1     1      14.560   9.316   4.559  0.00  0.00            0
+ATOM    238    O   1     1      15.717   8.469  10.739  0.00  0.00            0
+ATOM    239    H   1     1      17.323   9.581  10.875  0.00  0.00            0
+ATOM    240    H   1     1      14.574   9.631  10.221  0.00  0.00            0
+ATOM    241    O   1     1      15.248  10.398  16.525  0.00  0.00            0
+ATOM    242    H   1     1      16.324   9.181  16.149  0.00  0.00            0
+ATOM    243    H   1     1      14.172  10.488  15.098  0.00  0.00            0
+ATOM    244    O   1     1      13.226   8.438  20.801  0.00  0.00            0
+ATOM    245    H   1     1      14.043   8.996  19.295  0.00  0.00            0
+ATOM    246    H   1     1      14.661   7.802  22.093  0.00  0.00            0
+ATOM    247    O   1     1      10.173  10.961  25.875  0.00  0.00            0
+ATOM    248    H   1     1      11.477  10.223  26.940  0.00  0.00            0
+ATOM    249    H   1     1      11.269  10.738  24.343  0.00  0.00            0
+ATOM    250    O   1     1      12.792   7.737  29.173  0.00  0.00            0
+ATOM    251    H   1     1      12.199   6.038  29.475  0.00  0.00            0
+ATOM    252    H   1     1      14.427   7.450  29.617  0.00  0.00            0
+ATOM    253    O   1     1      15.180  19.498   3.578  0.00  0.00            0
+ATOM    254    H   1     1      14.883  17.596   4.080  0.00  0.00            0
+ATOM    255    H   1     1      16.754  19.579   2.626  0.00  0.00            0
+ATOM    256    O   1     1      12.517  11.093   7.701  0.00  0.00            0
+ATOM    257    H   1     1      12.224  12.778   7.555  0.00  0.00            0
+ATOM    258    H   1     1      11.150  10.393   7.057  0.00  0.00            0
+ATOM    259    O   1     1      16.266  16.271  10.758  0.00  0.00            0
+ATOM    260    H   1     1      16.507  15.795  12.768  0.00  0.00            0
+ATOM    261    H   1     1      17.725  16.977  10.292  0.00  0.00            0
+ATOM    262    O   1     1      14.069  18.399  18.897  0.00  0.00            0
+ATOM    263    H   1     1      15.513  17.523  18.155  0.00  0.00            0
+ATOM    264    H   1     1      14.958  18.709  20.673  0.00  0.00            0
+ATOM    265    O   1     1      14.099  15.480  25.510  0.00  0.00            0
+ATOM    266    H   1     1      13.698  16.872  26.938  0.00  0.00            0
+ATOM    267    H   1     1      12.567  15.379  24.444  0.00  0.00            0
+ATOM    268    O   1     1      13.309  17.574  30.292  0.00  0.00            0
+ATOM    269    H   1     1      14.937  16.934  30.810  0.00  0.00            0
+ATOM    270    H   1     1      13.969  19.494  30.012  0.00  0.00            0
+ATOM    271    O   1     1      18.371  23.257   0.925  0.00  0.00            0
+ATOM    272    H   1     1      19.479  23.480   2.321  0.00  0.00            0
+ATOM    273    H   1     1      19.087  24.325  -0.369  0.00  0.00            0
+ATOM    274    O   1     1      12.100  21.730  11.355  0.00  0.00            0
+ATOM    275    H   1     1      13.141  22.287  12.743  0.00  0.00            0
+ATOM    276    H   1     1      13.467  22.236  10.244  0.00  0.00            0
+ATOM    277    O   1     1      12.163  23.290  23.597  0.00  0.00            0
+ATOM    278    H   1     1      11.324  22.736  24.949  0.00  0.00            0
+ATOM    279    H   1     1      13.882  22.872  23.840  0.00  0.00            0
+ATOM    280    O   1     1      20.173  26.761  22.628  0.00  0.00            0
+ATOM    281    H   1     1      20.206  26.532  20.792  0.00  0.00            0
+ATOM    282    H   1     1      21.556  25.742  23.389  0.00  0.00            0
+ATOM    283    O   1     1      16.701  21.165  22.605  0.00  0.00            0
+ATOM    284    H   1     1      18.028  20.686  23.848  0.00  0.00            0
+ATOM    285    H   1     1      17.104  22.866  21.949  0.00  0.00            0
+ATOM    286    O   1     1      11.391  26.461  33.705  0.00  0.00            0
+ATOM    287    H   1     1       9.841  27.192  34.048  0.00  0.00            0
+ATOM    288    H   1     1      11.776  25.540  35.243  0.00  0.00            0
+ATOM    289    O   1     1       9.898  25.989   4.553  0.00  0.00            0
+ATOM    290    H   1     1       8.902  26.131   6.039  0.00  0.00            0
+ATOM    291    H   1     1      10.287  27.806   4.376  0.00  0.00            0
+ATOM    292    O   1     1      14.308  26.960  10.877  0.00  0.00            0
+ATOM    293    H   1     1      15.302  27.405  12.173  0.00  0.00            0
+ATOM    294    H   1     1      15.463  26.151   9.633  0.00  0.00            0
+ATOM    295    O   1     1      13.433  22.960  16.904  0.00  0.00            0
+ATOM    296    H   1     1      13.409  24.131  18.132  0.00  0.00            0
+ATOM    297    H   1     1      13.624  21.191  17.520  0.00  0.00            0
+ATOM    298    O   1     1      16.409  26.768  26.875  0.00  0.00            0
+ATOM    299    H   1     1      17.590  26.987  25.431  0.00  0.00            0
+ATOM    300    H   1     1      14.751  27.703  26.230  0.00  0.00            0
+ATOM    301    O   1     1      14.405  22.733  29.892  0.00  0.00            0
+ATOM    302    H   1     1      15.423  23.079  28.494  0.00  0.00            0
+ATOM    303    H   1     1      12.826  23.259  29.416  0.00  0.00            0
+ATOM    304    O   1     1       6.905  29.408   0.749  0.00  0.00            0
+ATOM    305    H   1     1       8.428  30.483   1.567  0.00  0.00            0
+ATOM    306    H   1     1       6.353  30.814  -0.444  0.00  0.00            0
+ATOM    307    O   1     1       9.189  34.159   6.509  0.00  0.00            0
+ATOM    308    H   1     1      10.198  34.193   8.002  0.00  0.00            0
+ATOM    309    H   1     1       9.890  35.692   5.785  0.00  0.00            0
+ATOM    310    O   1     1      14.256  32.316   9.369  0.00  0.00            0
+ATOM    311    H   1     1      15.733  32.867   9.486  0.00  0.00            0
+ATOM    312    H   1     1      14.754  30.670  10.090  0.00  0.00            0
+ATOM    313    O   1     1      14.714  30.841  16.516  0.00  0.00            0
+ATOM    314    H   1     1      13.748  29.551  17.279  0.00  0.00            0
+ATOM    315    H   1     1      13.218  31.933  16.614  0.00  0.00            0
+ATOM    316    O   1     1      18.409  33.641  20.611  0.00  0.00            0
+ATOM    317    H   1     1      19.601  32.274  21.115  0.00  0.00            0
+ATOM    318    H   1     1      17.360  32.655  19.518  0.00  0.00            0
+ATOM    319    O   1     1      16.062  28.638  32.207  0.00  0.00            0
+ATOM    320    H   1     1      14.648  27.958  33.253  0.00  0.00            0
+ATOM    321    H   1     1      15.752  28.014  30.522  0.00  0.00            0
+ATOM    322    O   1     1      16.200  30.895   1.473  0.00  0.00            0
+ATOM    323    H   1     1      16.626  29.968  -0.130  0.00  0.00            0
+ATOM    324    H   1     1      17.167  29.833   2.927  0.00  0.00            0
+ATOM    325    O   1     1      20.278   3.529   6.048  0.00  0.00            0
+ATOM    326    H   1     1      20.977   3.611   4.575  0.00  0.00            0
+ATOM    327    H   1     1      21.312   4.513   7.251  0.00  0.00            0
+ATOM    328    O   1     1      23.079   5.778  10.408  0.00  0.00            0
+ATOM    329    H   1     1      24.650   6.259  10.838  0.00  0.00            0
+ATOM    330    H   1     1      22.342   7.609  10.178  0.00  0.00            0
+ATOM    331    O   1     1      19.581   2.031  12.110  0.00  0.00            0
+ATOM    332    H   1     1      19.039   1.082  10.440  0.00  0.00            0
+ATOM    333    H   1     1      21.141   2.991  11.851  0.00  0.00            0
+ATOM    334    O   1     1      22.005   3.223  23.178  0.00  0.00            0
+ATOM    335    H   1     1      21.429   4.090  24.554  0.00  0.00            0
+ATOM    336    H   1     1      20.654   1.791  22.711  0.00  0.00            0
+ATOM    337    O   1     1      16.630   6.422  23.792  0.00  0.00            0
+ATOM    338    H   1     1      16.219   4.804  24.406  0.00  0.00            0
+ATOM    339    H   1     1      17.066   7.128  25.282  0.00  0.00            0
+ATOM    340    O   1     1      21.676   5.564  28.158  0.00  0.00            0
+ATOM    341    H   1     1      20.658   6.717  29.185  0.00  0.00            0
+ATOM    342    H   1     1      23.413   5.828  28.996  0.00  0.00            0
+ATOM    343    O   1     1      15.257   5.265   5.626  0.00  0.00            0
+ATOM    344    H   1     1      16.914   4.519   5.490  0.00  0.00            0
+ATOM    345    H   1     1      15.144   6.150   6.972  0.00  0.00            0
+ATOM    346    O   1     1      20.137  11.082  10.437  0.00  0.00            0
+ATOM    347    H   1     1      20.021  10.947   8.733  0.00  0.00            0
+ATOM    348    H   1     1      21.025  12.555  10.853  0.00  0.00            0
+ATOM    349    O   1     1      23.089  14.627  12.437  0.00  0.00            0
+ATOM    350    H   1     1      24.716  15.254  12.736  0.00  0.00            0
+ATOM    351    H   1     1      23.284  13.228  13.653  0.00  0.00            0
+ATOM    352    O   1     1      24.083  12.649  22.566  0.00  0.00            0
+ATOM    353    H   1     1      22.397  12.663  23.042  0.00  0.00            0
+ATOM    354    H   1     1      24.901  13.851  23.565  0.00  0.00            0
+ATOM    355    O   1     1      17.865   7.909  30.036  0.00  0.00            0
+ATOM    356    H   1     1      17.509   8.045  31.982  0.00  0.00            0
+ATOM    357    H   1     1      18.078   9.582  29.318  0.00  0.00            0
+ATOM    358    O   1     1      18.824   8.486   0.104  0.00  0.00            0
+ATOM    359    H   1     1      19.997  10.191  -0.057  0.00  0.00            0
+ATOM    360    H   1     1      17.077   8.998   0.779  0.00  0.00            0
+ATOM    361    O   1     1      20.122   9.143   5.343  0.00  0.00            0
+ATOM    362    H   1     1      19.373   8.819   3.821  0.00  0.00            0
+ATOM    363    H   1     1      21.998   8.776   5.128  0.00  0.00            0
+ATOM    364    O   1     1      16.413  14.459   5.855  0.00  0.00            0
+ATOM    365    H   1     1      15.536  13.007   5.239  0.00  0.00            0
+ATOM    366    H   1     1      16.006  14.725   7.737  0.00  0.00            0
+ATOM    367    O   1     1      17.561  15.066  15.654  0.00  0.00            0
+ATOM    368    H   1     1      17.575  13.398  16.055  0.00  0.00            0
+ATOM    369    H   1     1      18.978  15.828  16.400  0.00  0.00            0
+ATOM    370    O   1     1      26.374  17.047  24.817  0.00  0.00            0
+ATOM    371    H   1     1      27.983  17.098  25.632  0.00  0.00            0
+ATOM    372    H   1     1      25.629  18.751  24.919  0.00  0.00            0
+ATOM    373    O   1     1      19.784  12.960  28.706  0.00  0.00            0
+ATOM    374    H   1     1      21.662  13.055  28.871  0.00  0.00            0
+ATOM    375    H   1     1      19.545  14.070  27.143  0.00  0.00            0
+ATOM    376    O   1     1      17.891  16.733  32.499  0.00  0.00            0
+ATOM    377    H   1     1      18.327  15.240  31.277  0.00  0.00            0
+ATOM    378    H   1     1      18.633  18.335  31.693  0.00  0.00            0
+ATOM    379    O   1     1      23.733  23.024   1.663  0.00  0.00            0
+ATOM    380    H   1     1      24.800  24.052   2.776  0.00  0.00            0
+ATOM    381    H   1     1      24.693  22.618   0.198  0.00  0.00            0
+ATOM    382    O   1     1      20.789  18.440   9.443  0.00  0.00            0
+ATOM    383    H   1     1      20.766  17.257   7.881  0.00  0.00            0
+ATOM    384    H   1     1      21.896  17.345  10.385  0.00  0.00            0
+ATOM    385    O   1     1      21.574  17.493  17.838  0.00  0.00            0
+ATOM    386    H   1     1      20.597  18.955  17.218  0.00  0.00            0
+ATOM    387    H   1     1      22.538  16.874  16.251  0.00  0.00            0
+ATOM    388    O   1     1      19.168  14.748  24.131  0.00  0.00            0
+ATOM    389    H   1     1      19.711  16.390  23.712  0.00  0.00            0
+ATOM    390    H   1     1      17.429  14.695  24.403  0.00  0.00            0
+ATOM    391    O   1     1      22.149  20.198  24.977  0.00  0.00            0
+ATOM    392    H   1     1      21.639  20.924  26.486  0.00  0.00            0
+ATOM    393    H   1     1      22.656  21.657  24.411  0.00  0.00            0
+ATOM    394    O   1     1      20.565  20.792  29.600  0.00  0.00            0
+ATOM    395    H   1     1      22.264  20.409  30.214  0.00  0.00            0
+ATOM    396    H   1     1      20.548  22.408  30.597  0.00  0.00            0
+ATOM    397    O   1     1      20.802  26.547   9.615  0.00  0.00            0
+ATOM    398    H   1     1      20.099  27.984   8.338  0.00  0.00            0
+ATOM    399    H   1     1      21.277  27.539  11.325  0.00  0.00            0
+ATOM    400    O   1     1      16.283  23.589   7.779  0.00  0.00            0
+ATOM    401    H   1     1      16.093  21.973   6.712  0.00  0.00            0
+ATOM    402    H   1     1      17.901  22.971   8.154  0.00  0.00            0
+ATOM    403    O   1     1      18.469  29.798  13.568  0.00  0.00            0
+ATOM    404    H   1     1      19.712  31.216  13.506  0.00  0.00            0
+ATOM    405    H   1     1      16.872  30.343  14.396  0.00  0.00            0
+ATOM    406    O   1     1      18.790  21.712  16.060  0.00  0.00            0
+ATOM    407    H   1     1      19.878  23.090  16.485  0.00  0.00            0
+ATOM    408    H   1     1      17.201  22.326  15.819  0.00  0.00            0
+ATOM    409    O   1     1      21.747  26.084  16.349  0.00  0.00            0
+ATOM    410    H   1     1      20.783  27.021  15.300  0.00  0.00            0
+ATOM    411    H   1     1      22.705  27.328  17.206  0.00  0.00            0
+ATOM    412    O   1     1      20.769  26.211  32.050  0.00  0.00            0
+ATOM    413    H   1     1      21.488  27.404  33.328  0.00  0.00            0
+ATOM    414    H   1     1      18.989  26.710  32.145  0.00  0.00            0
+ATOM    415    O   1     1      19.820  29.181   5.559  0.00  0.00            0
+ATOM    416    H   1     1      20.991  29.509   4.109  0.00  0.00            0
+ATOM    417    H   1     1      19.431  31.018   6.221  0.00  0.00            0
+ATOM    418    O   1     1      19.240  33.867   7.993  0.00  0.00            0
+ATOM    419    H   1     1      19.107  35.039   6.604  0.00  0.00            0
+ATOM    420    H   1     1      20.697  33.671   9.063  0.00  0.00            0
+ATOM    421    O   1     1      22.511  34.976  15.793  0.00  0.00            0
+ATOM    422    H   1     1      23.716  36.163  16.603  0.00  0.00            0
+ATOM    423    H   1     1      21.699  36.150  14.467  0.00  0.00            0
+ATOM    424    O   1     1      22.622  30.284  19.069  0.00  0.00            0
+ATOM    425    H   1     1      22.049  31.351  17.725  0.00  0.00            0
+ATOM    426    H   1     1      24.411  30.773  19.576  0.00  0.00            0
+ATOM    427    O   1     1      18.639  33.611  28.369  0.00  0.00            0
+ATOM    428    H   1     1      18.226  32.159  29.103  0.00  0.00            0
+ATOM    429    H   1     1      19.906  33.008  27.158  0.00  0.00            0
+ATOM    430    O   1     1      22.520   1.325  31.926  0.00  0.00            0
+ATOM    431    H   1     1      22.803   2.668  30.796  0.00  0.00            0
+ATOM    432    H   1     1      21.045   0.425  31.122  0.00  0.00            0
+ATOM    433    O   1     1      21.754   3.789   1.159  0.00  0.00            0
+ATOM    434    H   1     1      22.085   2.785  -0.180  0.00  0.00            0
+ATOM    435    H   1     1      20.850   5.175   0.610  0.00  0.00            0
+ATOM    436    O   1     1      28.457   5.539  12.133  0.00  0.00            0
+ATOM    437    H   1     1      29.489   4.390  11.182  0.00  0.00            0
+ATOM    438    H   1     1      29.161   7.131  12.587  0.00  0.00            0
+ATOM    439    O   1     1      22.495   5.966  17.324  0.00  0.00            0
+ATOM    440    H   1     1      24.377   5.379  17.393  0.00  0.00            0
+ATOM    441    H   1     1      21.906   5.491  18.857  0.00  0.00            0
+ATOM    442    O   1     1      28.128   3.304  22.287  0.00  0.00            0
+ATOM    443    H   1     1      28.123   2.999  20.491  0.00  0.00            0
+ATOM    444    H   1     1      26.533   3.355  22.876  0.00  0.00            0
+ATOM    445    O   1     1      28.378  10.455  27.266  0.00  0.00            0
+ATOM    446    H   1     1      30.019  10.292  28.051  0.00  0.00            0
+ATOM    447    H   1     1      28.635  10.039  25.463  0.00  0.00            0
+ATOM    448    O   1     1      27.031   8.353  34.806  0.00  0.00            0
+ATOM    449    H   1     1      26.116   9.984  34.571  0.00  0.00            0
+ATOM    450    H   1     1      28.685   8.951  34.739  0.00  0.00            0
+ATOM    451    O   1     1      24.951   8.160   4.454  0.00  0.00            0
+ATOM    452    H   1     1      25.930   9.616   5.160  0.00  0.00            0
+ATOM    453    H   1     1      25.947   7.994   2.724  0.00  0.00            0
+ATOM    454    O   1     1      26.937  12.436   6.869  0.00  0.00            0
+ATOM    455    H   1     1      25.492  13.284   6.708  0.00  0.00            0
+ATOM    456    H   1     1      27.689  13.332   8.266  0.00  0.00            0
+ATOM    457    O   1     1      23.365  11.214  16.933  0.00  0.00            0
+ATOM    458    H   1     1      22.247   9.744  16.789  0.00  0.00            0
+ATOM    459    H   1     1      23.264  12.035  18.539  0.00  0.00            0
+ATOM    460    O   1     1      28.321   8.759  22.158  0.00  0.00            0
+ATOM    461    H   1     1      27.662   6.895  22.482  0.00  0.00            0
+ATOM    462    H   1     1      26.971   9.710  21.902  0.00  0.00            0
+ATOM    463    O   1     1      27.071   6.109  29.555  0.00  0.00            0
+ATOM    464    H   1     1      27.591   7.663  28.857  0.00  0.00            0
+ATOM    465    H   1     1      27.304   6.320  31.261  0.00  0.00            0
+ATOM    466    O   1     1      22.474  11.704  34.640  0.00  0.00            0
+ATOM    467    H   1     1      22.752  13.304  35.584  0.00  0.00            0
+ATOM    468    H   1     1      22.840  12.090  33.030  0.00  0.00            0
+ATOM    469    O   1     1      21.656  14.971   5.615  0.00  0.00            0
+ATOM    470    H   1     1      21.690  15.860   3.977  0.00  0.00            0
+ATOM    471    H   1     1      19.964  14.225   5.774  0.00  0.00            0
+ATOM    472    O   1     1      28.539  21.492   9.820  0.00  0.00            0
+ATOM    473    H   1     1      27.288  22.181   8.688  0.00  0.00            0
+ATOM    474    H   1     1      28.065  22.420  11.602  0.00  0.00            0
+ATOM    475    O   1     1      28.364  16.020  11.109  0.00  0.00            0
+ATOM    476    H   1     1      30.033  16.649  12.089  0.00  0.00            0
+ATOM    477    H   1     1      28.456  17.440  10.082  0.00  0.00            0
+ATOM    478    O   1     1       0.054  13.686  18.103  0.00  0.00            0
+ATOM    479    H   1     1      -1.714  12.928  18.841  0.00  0.00            0
+ATOM    480    H   1     1       1.008  12.429  17.383  0.00  0.00            0
+ATOM    481    O   1     1      24.636  12.894  29.957  0.00  0.00            0
+ATOM    482    H   1     1      25.906  13.914  31.183  0.00  0.00            0
+ATOM    483    H   1     1      25.641  11.609  29.162  0.00  0.00            0
+ATOM    484    O   1     1      21.548  17.250   0.749  0.00  0.00            0
+ATOM    485    H   1     1      21.843  19.026   0.905  0.00  0.00            0
+ATOM    486    H   1     1      20.385  16.716  -0.697  0.00  0.00            0
+ATOM    487    O   1     1      26.095  27.274   4.520  0.00  0.00            0
+ATOM    488    H   1     1      27.889  26.458   4.505  0.00  0.00            0
+ATOM    489    H   1     1      25.648  26.970   6.165  0.00  0.00            0
+ATOM    490    O   1     1      23.610  22.515   8.008  0.00  0.00            0
+ATOM    491    H   1     1      22.653  21.187   8.739  0.00  0.00            0
+ATOM    492    H   1     1      22.286  24.095   8.444  0.00  0.00            0
+ATOM    493    O   1     1      27.355  18.929  18.180  0.00  0.00            0
+ATOM    494    H   1     1      27.200  20.349  17.155  0.00  0.00            0
+ATOM    495    H   1     1      25.579  18.322  18.770  0.00  0.00            0
+ATOM    496    O   1     1      26.765  23.633  14.444  0.00  0.00            0
+ATOM    497    H   1     1      27.441  25.298  13.651  0.00  0.00            0
+ATOM    498    H   1     1      25.086  24.256  14.749  0.00  0.00            0
+ATOM    499    O   1     1      31.478  20.769  20.986  0.00  0.00            0
+ATOM    500    H   1     1      30.440  22.509  21.135  0.00  0.00            0
+ATOM    501    H   1     1      30.567  19.656  20.043  0.00  0.00            0
+ATOM    502    O   1     1      24.812  20.412  32.668  0.00  0.00            0
+ATOM    503    H   1     1      26.242  21.478  31.874  0.00  0.00            0
+ATOM    504    H   1     1      25.787  19.023  33.158  0.00  0.00            0
+ATOM    505    O   1     1      22.105  29.076   0.928  0.00  0.00            0
+ATOM    506    H   1     1      23.296  27.923   1.739  0.00  0.00            0
+ATOM    507    H   1     1      22.623  30.994   0.882  0.00  0.00            0
+ATOM    508    O   1     1      29.572  31.256   8.626  0.00  0.00            0
+ATOM    509    H   1     1      30.795  30.203   7.736  0.00  0.00            0
+ATOM    510    H   1     1      28.277  31.519   7.260  0.00  0.00            0
+ATOM    511    O   1     1      31.817  34.843  18.283  0.00  0.00            0
+ATOM    512    H   1     1      32.438  34.389  16.474  0.00  0.00            0
+ATOM    513    H   1     1      32.743  36.422  18.341  0.00  0.00            0
+ATOM    514    O   1     1      27.915  25.601  19.033  0.00  0.00            0
+ATOM    515    H   1     1      29.358  26.561  19.190  0.00  0.00            0
+ATOM    516    H   1     1      28.148  24.429  17.530  0.00  0.00            0
+ATOM    517    O   1     1      24.548  24.654  24.025  0.00  0.00            0
+ATOM    518    H   1     1      25.528  25.635  22.824  0.00  0.00            0
+ATOM    519    H   1     1      25.300  25.200  25.645  0.00  0.00            0
+ATOM    520    O   1     1      28.540  22.922  30.370  0.00  0.00            0
+ATOM    521    H   1     1      27.414  24.096  29.781  0.00  0.00            0
+ATOM    522    H   1     1      29.674  23.914  31.873  0.00  0.00            0
+ATOM    523    O   1     1      24.969  33.623   1.014  0.00  0.00            0
+ATOM    524    H   1     1      26.521  33.058   1.518  0.00  0.00            0
+ATOM    525    H   1     1      24.990  34.322  -0.683  0.00  0.00            0
+ATOM    526    O   1     1      23.075  32.171  11.324  0.00  0.00            0
+ATOM    527    H   1     1      23.316  32.775  13.097  0.00  0.00            0
+ATOM    528    H   1     1      24.460  33.203  10.662  0.00  0.00            0
+ATOM    529    O   1     1      27.497   2.736  17.224  0.00  0.00            0
+ATOM    530    H   1     1      28.397   3.415  15.715  0.00  0.00            0
+ATOM    531    H   1     1      28.234   1.233  17.412  0.00  0.00            0
+ATOM    532    O   1     1      26.369  33.060  22.077  0.00  0.00            0
+ATOM    533    H   1     1      26.170  34.746  22.264  0.00  0.00            0
+ATOM    534    H   1     1      27.592  32.404  23.321  0.00  0.00            0
+ATOM    535    O   1     1      30.221  30.950  25.843  0.00  0.00            0
+ATOM    536    H   1     1      30.305  29.038  26.208  0.00  0.00            0
+ATOM    537    H   1     1      30.363  31.979  27.414  0.00  0.00            0
+ATOM    538    O   1     1      24.973  26.732  28.607  0.00  0.00            0
+ATOM    539    H   1     1      25.385  28.369  29.248  0.00  0.00            0
+ATOM    540    H   1     1      23.330  26.597  29.234  0.00  0.00            0
+ATOM    541    O   1     1      32.165   4.857   2.258  0.00  0.00            0
+ATOM    542    H   1     1      32.417   6.195   1.157  0.00  0.00            0
+ATOM    543    H   1     1      32.615   3.727   1.112  0.00  0.00            0
+ATOM    544    O   1     1      28.067   3.533   5.217  0.00  0.00            0
+ATOM    545    H   1     1      26.960   4.447   4.158  0.00  0.00            0
+ATOM    546    H   1     1      29.875   3.863   4.448  0.00  0.00            0
+ATOM    547    O   1     1      33.279   2.782  13.028  0.00  0.00            0
+ATOM    548    H   1     1      33.708   3.955  11.817  0.00  0.00            0
+ATOM    549    H   1     1      33.656   3.545  14.631  0.00  0.00            0
+ATOM    550    O   1     1      34.278   4.944  17.492  0.00  0.00            0
+ATOM    551    H   1     1      33.438   6.563  17.876  0.00  0.00            0
+ATOM    552    H   1     1      34.906   4.452  18.995  0.00  0.00            0
+ATOM    553    O   1     1      32.363   1.908  26.092  0.00  0.00            0
+ATOM    554    H   1     1      31.941   1.683  24.268  0.00  0.00            0
+ATOM    555    H   1     1      33.850   1.390  26.904  0.00  0.00            0
+ATOM    556    O   1     1      27.982   0.418  28.241  0.00  0.00            0
+ATOM    557    H   1     1      27.516   2.080  28.309  0.00  0.00            0
+ATOM    558    H   1     1      29.593   0.176  27.299  0.00  0.00            0
+ATOM    559    O   1     1      28.845  14.672   2.724  0.00  0.00            0
+ATOM    560    H   1     1      27.963  13.930   4.139  0.00  0.00            0
+ATOM    561    H   1     1      30.386  15.714   3.379  0.00  0.00            0
+ATOM    562    O   1     1      28.083  10.618  14.298  0.00  0.00            0
+ATOM    563    H   1     1      28.623  12.160  13.293  0.00  0.00            0
+ATOM    564    H   1     1      26.486  11.015  15.379  0.00  0.00            0
+ATOM    565    O   1     1      33.867  10.545  13.306  0.00  0.00            0
+ATOM    566    H   1     1      35.165   9.612  13.810  0.00  0.00            0
+ATOM    567    H   1     1      33.615  10.270  11.513  0.00  0.00            0
+ATOM    568    O   1     1      31.790   9.696  18.223  0.00  0.00            0
+ATOM    569    H   1     1      30.484   9.334  19.421  0.00  0.00            0
+ATOM    570    H   1     1      30.834  10.096  16.929  0.00  0.00            0
+ATOM    571    O   1     1      30.141  15.006  21.532  0.00  0.00            0
+ATOM    572    H   1     1      28.565  15.594  22.099  0.00  0.00            0
+ATOM    573    H   1     1      30.942  14.253  23.077  0.00  0.00            0
+ATOM    574    O   1     1      32.798  10.732  30.680  0.00  0.00            0
+ATOM    575    H   1     1      34.073   9.528  30.799  0.00  0.00            0
+ATOM    576    H   1     1      32.991  11.512  28.983  0.00  0.00            0
+ATOM    577    O   1     1      33.652  16.265   5.086  0.00  0.00            0
+ATOM    578    H   1     1      35.399  16.239   4.730  0.00  0.00            0
+ATOM    579    H   1     1      33.503  17.939   5.631  0.00  0.00            0
+ATOM    580    O   1     1      31.947  10.799   7.943  0.00  0.00            0
+ATOM    581    H   1     1      29.894  10.549   7.619  0.00  0.00            0
+ATOM    582    H   1     1      32.271  12.414   7.075  0.00  0.00            0
+ATOM    583    O   1     1       0.329  15.516  11.746  0.00  0.00            0
+ATOM    584    H   1     1      -0.446  14.249  12.939  0.00  0.00            0
+ATOM    585    H   1     1      -0.685  17.018  11.935  0.00  0.00            0
+ATOM    586    O   1     1       4.262  19.165  14.308  0.00  0.00            0
+ATOM    587    H   1     1       3.579  17.691  14.920  0.00  0.00            0
+ATOM    588    H   1     1       5.723  19.183  15.204  0.00  0.00            0
+ATOM    589    O   1     1      32.995  13.546  25.948  0.00  0.00            0
+ATOM    590    H   1     1      32.167  15.060  26.787  0.00  0.00            0
+ATOM    591    H   1     1      34.425  13.800  25.007  0.00  0.00            0
+ATOM    592    O   1     1       1.773  13.524  34.037  0.00  0.00            0
+ATOM    593    H   1     1       0.227  14.409  33.446  0.00  0.00            0
+ATOM    594    H   1     1       2.167  14.670  35.511  0.00  0.00            0
+ATOM    595    O   1     1      33.029  20.529   7.247  0.00  0.00            0
+ATOM    596    H   1     1      34.388  21.414   8.003  0.00  0.00            0
+ATOM    597    H   1     1      31.451  20.831   8.182  0.00  0.00            0
+ATOM    598    O   1     1       2.037  24.250  10.251  0.00  0.00            0
+ATOM    599    H   1     1       3.743  25.008   9.876  0.00  0.00            0
+ATOM    600    H   1     1       1.894  25.043  11.903  0.00  0.00            0
+ATOM    601    O   1     1      32.753  19.259  13.976  0.00  0.00            0
+ATOM    602    H   1     1      32.792  20.886  13.792  0.00  0.00            0
+ATOM    603    H   1     1      34.334  18.799  14.976  0.00  0.00            0
+ATOM    604    O   1     1       0.396  18.673  18.699  0.00  0.00            0
+ATOM    605    H   1     1      -1.211  18.950  19.127  0.00  0.00            0
+ATOM    606    H   1     1       0.469  16.977  18.436  0.00  0.00            0
+ATOM    607    O   1     1      30.855  18.370  27.959  0.00  0.00            0
+ATOM    608    H   1     1      29.759  19.681  28.690  0.00  0.00            0
+ATOM    609    H   1     1      32.103  19.477  26.763  0.00  0.00            0
+ATOM    610    O   1     1      27.723  15.992  33.091  0.00  0.00            0
+ATOM    611    H   1     1      29.390  16.423  32.192  0.00  0.00            0
+ATOM    612    H   1     1      27.801  15.859  34.804  0.00  0.00            0
+ATOM    613    O   1     1      31.068  27.895   3.348  0.00  0.00            0
+ATOM    614    H   1     1      32.517  27.825   4.610  0.00  0.00            0
+ATOM    615    H   1     1      31.529  29.459   2.324  0.00  0.00            0
+ATOM    616    O   1     1      35.039  28.008   6.663  0.00  0.00            0
+ATOM    617    H   1     1      35.966  26.934   7.683  0.00  0.00            0
+ATOM    618    H   1     1      36.055  28.336   5.336  0.00  0.00            0
+ATOM    619    O   1     1      29.356  28.196  13.025  0.00  0.00            0
+ATOM    620    H   1     1      29.210  29.335  14.589  0.00  0.00            0
+ATOM    621    H   1     1      28.874  29.629  11.867  0.00  0.00            0
+ATOM    622    O   1     1      32.386  28.434  18.961  0.00  0.00            0
+ATOM    623    H   1     1      33.368  28.574  20.411  0.00  0.00            0
+ATOM    624    H   1     1      33.410  27.406  17.949  0.00  0.00            0
+ATOM    625    O   1     1      30.898  25.390  25.799  0.00  0.00            0
+ATOM    626    H   1     1      32.369  25.913  24.580  0.00  0.00            0
+ATOM    627    H   1     1      31.317  24.075  27.029  0.00  0.00            0
+ATOM    628    O   1     1      32.259  25.611  33.104  0.00  0.00            0
+ATOM    629    H   1     1      32.238  25.736  34.806  0.00  0.00            0
+ATOM    630    H   1     1      33.920  25.042  32.775  0.00  0.00            0
+ATOM    631    O   1     1      30.290  32.645   1.341  0.00  0.00            0
+ATOM    632    H   1     1      29.949  32.793  -0.430  0.00  0.00            0
+ATOM    633    H   1     1      31.762  33.340   1.847  0.00  0.00            0
+ATOM    634    O   1     1      25.536  34.235   6.469  0.00  0.00            0
+ATOM    635    H   1     1      25.716  36.059   6.651  0.00  0.00            0
+ATOM    636    H   1     1      25.283  33.866   4.895  0.00  0.00            0
+ATOM    637    O   1     1      31.674  33.161  13.106  0.00  0.00            0
+ATOM    638    H   1     1      31.793  34.863  13.281  0.00  0.00            0
+ATOM    639    H   1     1      30.425  32.928  11.783  0.00  0.00            0
+ATOM    640    O   1     1      33.844  32.668  22.296  0.00  0.00            0
+ATOM    641    H   1     1      32.750  32.234  23.524  0.00  0.00            0
+ATOM    642    H   1     1      32.917  32.875  20.736  0.00  0.00            0
+ATOM    643    O   1     1      31.603  30.542  30.805  0.00  0.00            0
+ATOM    644    H   1     1      33.451  30.804  30.468  0.00  0.00            0
+ATOM    645    H   1     1      31.575  28.816  31.756  0.00  0.00            0
+ATOM    646    O   1     1      26.295  31.235  30.599  0.00  0.00            0
+ATOM    647    H   1     1      27.834  30.515  30.607  0.00  0.00            0
+ATOM    648    H   1     1      26.362  32.920  29.856  0.00  0.00            0
+END
diff --git a/tools/i-pi/examples/lammps/h2o-pimd/data.water b/tools/i-pi/examples/lammps/h2o-pimd/data.water
new file mode 100644
index 0000000000..13c75e9933
--- /dev/null
+++ b/tools/i-pi/examples/lammps/h2o-pimd/data.water
@@ -0,0 +1,1331 @@
+LAMMPS Description
+ 
+         648  atoms
+         432  bonds
+         216  angles
+ 
+           2  atom types
+           1  bond types
+           1  angle types
+ 
+         0 35.233 xlo xhi
+         0 35.233 ylo yhi
+         0 35.233 zlo zhi
+ 
+Masses
+ 
+  1 15.9994
+  2  1.0080
+ 
+Bond Coeffs
+ 
+  1    1.78    0.2708585 -0.327738785 0.231328959
+ 
+Angle Coeffs
+ 
+  1    0.0700  107.400000
+
+Atoms
+ 
+ 1 1 1 -1.1128       3.84600000       5.67200001       1.32300000
+ 2 1 2 0.5564        2.97900000       7.05400000       0.85700000
+ 3 1 2 0.5564        5.52500001       5.69700001       0.45100000
+ 4 2 1 -1.1128      34.55700001      34.34100000       3.07800000
+ 5 2 2 0.5564       33.72200001      34.68900000       4.84000001
+ 6 2 2 0.5564       36.02900000      33.22000001       3.71100001
+ 7 3 1 -1.1128       5.59100000       1.96299999      13.47700000
+ 8 3 2 0.5564        7.26500000       1.86400000      13.85100001
+ 9 3 2 0.5564        5.00899999       3.55500000      13.91599999
+ 10 4 1 -1.1128       1.06000000       2.06100000      21.71800001
+ 11 4 2 0.5564        0.75700000       0.26100000      21.82000000
+ 12 4 2 0.5564        0.21300001       3.01299999      23.04700000
+ 13 5 1 -1.1128       1.20000000       1.33700000      29.00599999
+ 14 5 2 0.5564        0.81800000       1.88399999      30.73200000
+ 15 5 2 0.5564        2.88300001       1.82500000      29.01100000
+ 16 6 1 -1.1128       1.33100001       1.38599999      34.30600001
+ 17 6 2 0.5564        2.39200001       2.89799999      34.84600000
+ 18 6 2 0.5564        0.81400000       0.53200001      35.83600000
+ 19 7 1 -1.1128      31.45100000      10.20100000       0.72599999
+ 20 7 2 0.5564       32.28199999      10.87699999      -0.75000000
+ 21 7 2 0.5564       30.91999999      11.59399999       1.67700000
+ 22 8 1 -1.1128       0.83600000      10.80800001       4.29800000
+ 23 8 2 0.5564        0.30500000      10.64300001       2.79300000
+ 24 8 2 0.5564       -0.35600001      10.33400000       5.52400000
+ 25 9 1 -1.1128      34.38100001       5.97900000       9.19400000
+ 26 9 2 0.5564       33.61600000       7.67300000       8.85700000
+ 27 9 2 0.5564       35.11500000       5.25999999       7.61800001
+ 28 10 1 -1.1128      33.21200000       6.48000000      24.27799999
+ 29 10 2 0.5564       31.62400000       6.90800001      23.52100001
+ 30 10 2 0.5564       32.54400000       4.99000000      24.98200000
+ 31 11 1 -1.1128       1.99200000       9.00199999      26.86300000
+ 32 11 2 0.5564        1.85600000      10.17500000      25.57899999
+ 33 11 2 0.5564        0.51900000       8.09899999      26.38599999
+ 34 12 1 -1.1128       2.05400000       8.66000000      32.51499999
+ 35 12 2 0.5564        2.16699999       8.72700000      30.49400000
+ 36 12 2 0.5564        2.37400001      10.51300000      33.03799999
+ 37 13 1 -1.1128       3.40200000      16.63900001       3.00800000
+ 38 13 2 0.5564        4.12700001      15.87200001       4.44600001
+ 39 13 2 0.5564        2.90500001      18.33899999       3.15999999
+ 40 14 1 -1.1128       4.22200000      15.44400000       8.07200000
+ 41 14 2 0.5564        5.21100000      16.75600000       8.29900001
+ 42 14 2 0.5564        2.56000000      15.49200001       8.86000000
+ 43 15 1 -1.1128       2.83100000       9.24599999      16.48800000
+ 44 15 2 0.5564        2.86900001       8.02300001      18.05000000
+ 45 15 2 0.5564        3.96000000       8.46700001      15.15400000
+ 46 16 1 -1.1128       5.56300000       6.00300000      20.90700000
+ 47 16 2 0.5564        4.65300000       4.63800000      21.48000000
+ 48 16 2 0.5564        6.40500000       6.20800000      22.52899999
+ 49 17 1 -1.1128       2.08700001      13.37000000      22.91299999
+ 50 17 2 0.5564        2.83200000      14.80400001      23.42200000
+ 51 17 2 0.5564        1.43400000      13.50900000      21.19599999
+ 52 18 1 -1.1128       3.36900000      17.88600000      25.10900001
+ 53 18 2 0.5564        3.65500000      17.20000000      26.76599999
+ 54 18 2 0.5564        4.77200001      18.97699999      24.49999999
+ 55 19 1 -1.1128      34.76400000      20.80300000       0.94800001
+ 56 19 2 0.5564       35.20999999      21.26700001       2.81599999
+ 57 19 2 0.5564       35.96200001      21.72599999       0.13099999
+ 58 20 1 -1.1128       2.83600000      24.17799999      15.22900000
+ 59 20 2 0.5564        2.79500000      22.34599999      14.87600001
+ 60 20 2 0.5564        2.41399999      24.11500000      17.13000001
+ 61 21 1 -1.1128      33.00000000      24.48100000      15.23000000
+ 62 21 2 0.5564       34.63999999      24.80400001      15.01299999
+ 63 21 2 0.5564       32.40100000      25.76400000      14.29500001
+ 64 22 1 -1.1128       0.40399999      26.77900001      23.39999999
+ 65 22 2 0.5564        1.35300001      27.24800000      24.98700001
+ 66 22 2 0.5564        1.54600001      28.05000000      22.31700001
+ 67 23 1 -1.1128      34.22200000      21.38000000      25.41799999
+ 68 23 2 0.5564       35.66899999      20.15100000      25.31700001
+ 69 23 2 0.5564       32.96000000      21.18000000      23.99200000
+ 70 24 1 -1.1128      33.25900000      17.43800000      32.48000000
+ 71 24 2 0.5564       33.31399999      18.78200000      33.88300001
+ 72 24 2 0.5564       32.74300001      18.18100001      30.87100000
+ 73 25 1 -1.1128       4.46300000      21.97900000       3.93600000
+ 74 25 2 0.5564        5.85600000      23.08400001       3.39999999
+ 75 25 2 0.5564        3.98600000      22.18000000       5.60200000
+ 76 26 1 -1.1128       6.25800000      25.85100001       8.52000000
+ 77 26 2 0.5564        5.76700000      27.69300001       8.47600000
+ 78 26 2 0.5564        7.20200001      25.50600000      10.18600000
+ 79 27 1 -1.1128       0.60099999      29.73699999      12.74700001
+ 80 27 2 0.5564       -0.68500000      30.84200000      12.34999999
+ 81 27 2 0.5564        1.33600000      30.71600000      14.03099999
+ 82 28 1 -1.1128       7.56300000      28.19100001      24.33300000
+ 83 28 2 0.5564        9.20100000      28.82800000      24.68400000
+ 84 28 2 0.5564        7.38100001      27.62100000      22.79900000
+ 85 29 1 -1.1128       3.65300000      27.10900001      27.77200001
+ 86 29 2 0.5564        5.12600000      27.01500000      26.77200001
+ 87 29 2 0.5564        3.03099999      28.75600000      27.69800000
+ 88 30 1 -1.1128       2.59600001      23.99100001      32.47600000
+ 89 30 2 0.5564        2.87900000      24.79099999      30.85899999
+ 90 30 2 0.5564        4.00300000      22.91299999      32.70099999
+ 91 31 1 -1.1128       3.08300000      31.31700001       3.64399999
+ 92 31 2 0.5564        4.13300000      30.58900001       2.53900001
+ 93 31 2 0.5564        4.21800000      32.17300001       5.03700001
+ 94 32 1 -1.1128       4.66100001      30.55500000       9.36799999
+ 95 32 2 0.5564        3.18400001      29.84300000      10.13200000
+ 96 32 2 0.5564        4.35800000      32.44800000       9.12600000
+ 97 33 1 -1.1128       3.46499999      32.53700000      15.77800000
+ 98 33 2 0.5564        5.07200000      31.81899999      15.90300000
+ 99 33 2 0.5564        4.05500001      34.25699999      15.28400000
+ 100 34 1 -1.1128       4.21500000      29.15299999      20.31700001
+ 101 34 2 0.5564        3.65799999      30.17600000      18.84200000
+ 102 34 2 0.5564        4.95899999      30.29100000      21.44900001
+ 103 35 1 -1.1128       1.12600000      31.33300000      28.76800001
+ 104 35 2 0.5564        2.39500000      31.12399999      29.92500000
+ 105 35 2 0.5564        0.76800001      33.09199999      28.89799999
+ 106 36 1 -1.1128       4.88100000      32.61600000      32.30200000
+ 107 36 2 0.5564        6.58800000      32.91100000      31.72500001
+ 108 36 2 0.5564        4.48599999      34.03700001      33.24900001
+ 109 37 1 -1.1128       8.96200001       5.55600000       0.15100000
+ 110 37 2 0.5564        9.65200000       6.99100001       0.85899999
+ 111 37 2 0.5564        9.17300001       4.47700000       1.64500000
+ 112 38 1 -1.1128       1.83300001       3.51799999       5.67900001
+ 113 38 2 0.5564        2.88900000       2.73100000       6.78800000
+ 114 38 2 0.5564        2.78900000       4.18700000       4.14700000
+ 115 39 1 -1.1128      10.51000001      34.72599999      13.07300001
+ 116 39 2 0.5564       11.91999999      34.11800000      11.91900001
+ 117 39 2 0.5564       11.29500001      34.96800000      14.74100000
+ 118 40 1 -1.1128       7.21200000       0.04199999      22.45399999
+ 119 40 2 0.5564        6.92400000       0.47000000      24.17200000
+ 120 40 2 0.5564        8.31900000       1.22799999      21.65300000
+ 121 41 1 -1.1128       6.36500000       2.01000000      27.54400000
+ 122 41 2 0.5564        5.95400000       3.58500000      26.85199999
+ 123 41 2 0.5564        7.75800001       2.54900000      28.69600000
+ 124 42 1 -1.1128      10.83300001       3.14000000      30.78699999
+ 125 42 2 0.5564       12.69700001       2.97500000      30.86700000
+ 126 42 2 0.5564       10.38899999       3.70000001      32.40399999
+ 127 43 1 -1.1128       8.68400000       9.34200001       3.91200001
+ 128 43 2 0.5564        6.98500000       9.25600001       4.77299999
+ 129 43 2 0.5564        8.68400000      10.80899999       3.01100000
+ 130 44 1 -1.1128       4.87299999       9.91900001       7.70700000
+ 131 44 2 0.5564        3.69800000       9.77100000       6.19400000
+ 132 44 2 0.5564        5.04700000      11.96100000       7.62400000
+ 133 45 1 -1.1128      10.03099999       5.01800000       9.69900000
+ 134 45 2 0.5564        9.67500001       3.38199999      10.34000000
+ 135 45 2 0.5564        9.13200000       5.98700001      10.82500000
+ 136 46 1 -1.1128      11.24599999       3.91800000      21.92900000
+ 137 46 2 0.5564       12.61400001       2.77000000      22.34100000
+ 138 46 2 0.5564       12.07300001       5.68600001      21.49699999
+ 139 47 1 -1.1128       6.82500000       7.16400000      25.70799999
+ 140 47 2 0.5564        8.03600000       8.37400001      25.98000001
+ 141 47 2 0.5564        5.20600001       7.90000000      25.89099999
+ 142 48 1 -1.1128      10.17099999      12.81100001       0.29500001
+ 143 48 2 0.5564       10.03300000      12.81800000      -1.60900000
+ 144 48 2 0.5564        9.87999999      14.49200001       0.48000000
+ 145 49 1 -1.1128       8.19000000      17.40200000       1.25299999
+ 146 49 2 0.5564        9.47199999      18.53100000       1.25299999
+ 147 49 2 0.5564        6.35100000      17.81700000       1.56800001
+ 148 50 1 -1.1128      11.23300000      16.18800001       8.29900001
+ 149 50 2 0.5564       10.29100000      17.68900000       8.16600001
+ 150 50 2 0.5564       12.76800001      17.12300001       8.73299999
+ 151 51 1 -1.1128       6.38599999       8.00199999      12.84600000
+ 152 51 2 0.5564        7.70099999       8.89600000      13.65500000
+ 153 51 2 0.5564        5.59100000       8.87699999      11.51900000
+ 154 52 1 -1.1128       8.18400001      10.41900000      18.84799999
+ 155 52 2 0.5564        9.49800000       9.43400000      19.90500001
+ 156 52 2 0.5564        6.88200000       9.02699999      18.94800001
+ 157 53 1 -1.1128      10.80600000      14.43100000      21.32799999
+ 158 53 2 0.5564        9.17700001      13.53100000      20.67000000
+ 159 53 2 0.5564       11.34400000      15.69600000      20.44800000
+ 160 54 1 -1.1128       9.23700000      13.92800000      30.34100000
+ 161 54 2 0.5564       10.77900001      14.83900000      30.52199999
+ 162 54 2 0.5564        9.96500000      13.19199999      28.89900000
+ 163 55 1 -1.1128      10.91800000      21.70700000       1.86400000
+ 164 55 2 0.5564       10.28000000      23.44900001       2.27900000
+ 165 55 2 0.5564       12.70799999      21.45600000       1.74900000
+ 166 56 1 -1.1128       9.35300001      16.12500000      13.92699999
+ 167 56 2 0.5564        9.93799999      17.59399999      14.61800001
+ 168 56 2 0.5564        9.51799999      16.36000001      12.24400000
+ 169 57 1 -1.1128      10.37099999      11.10700000      14.26800000
+ 170 57 2 0.5564        9.64399999      10.40600001      15.85899999
+ 171 57 2 0.5564        9.43400000      12.52300000      14.11699999
+ 172 58 1 -1.1128       3.35100000      22.76899999      20.19599999
+ 173 58 2 0.5564        2.05500001      23.68600001      21.50300001
+ 174 58 2 0.5564        2.45200000      21.40100000      19.41300000
+ 175 59 1 -1.1128       6.83600000      21.32900000      23.19899999
+ 176 59 2 0.5564        8.24900001      20.84799999      22.32000001
+ 177 59 2 0.5564        5.66800001      21.84099999      21.88600000
+ 178 60 1 -1.1128       4.60399999      15.64900000      30.04300000
+ 179 60 2 0.5564        6.45300001      15.21699999      30.20700000
+ 180 60 2 0.5564        3.82200001      14.76199999      31.56200000
+ 181 61 1 -1.1128       7.12500000      19.97600001       9.42100001
+ 182 61 2 0.5564        5.91800000      20.45300001      10.72999999
+ 183 61 2 0.5564        8.09899999      21.49600001       9.49100000
+ 184 62 1 -1.1128       9.06299999      25.91200001      13.18600000
+ 185 62 2 0.5564       10.34999999      26.57199999      12.36700001
+ 186 62 2 0.5564        9.67999999      24.36700001      13.69700001
+ 187 63 1 -1.1128       8.02200000      22.34299999      17.04199999
+ 188 63 2 0.5564        9.14400000      23.36700001      18.07399999
+ 189 63 2 0.5564        6.56200000      23.46200000      16.85199999
+ 190 64 1 -1.1128      10.76199999      26.28499999      19.96299999
+ 191 64 2 0.5564       11.03600000      27.96599999      20.53800000
+ 192 64 2 0.5564       11.07800000      25.40100000      21.45600000
+ 193 65 1 -1.1128       9.15800000      22.90199999      28.39100000
+ 194 65 2 0.5564        8.21900000      23.52800001      27.08499999
+ 195 65 2 0.5564        8.08900000      21.76000000      29.50900000
+ 196 66 1 -1.1128       6.21900000      20.15800000      31.92100000
+ 197 66 2 0.5564        5.63500000      18.51099999      31.16100000
+ 198 66 2 0.5564        7.53000000      19.62400000      33.07100000
+ 199 67 1 -1.1128      11.19100001      31.50900000       2.61700000
+ 200 67 2 0.5564       10.46000001      32.21399999       4.10800000
+ 201 67 2 0.5564       13.17600000      31.75099999       2.57700000
+ 202 68 1 -1.1128       4.74799999       0.05500001       8.60500000
+ 203 68 2 0.5564        5.38000000       0.51700000      10.18300000
+ 204 68 2 0.5564        6.05000000      -0.30600001       7.48000000
+ 205 69 1 -1.1128       8.69500000      30.80899999      15.73100000
+ 206 69 2 0.5564        9.18899999      32.10300000      14.49500000
+ 207 69 2 0.5564        8.44699999      29.06900000      14.86800000
+ 208 70 1 -1.1128      10.12799999      31.40200000      20.76599999
+ 209 70 2 0.5564        9.45600000      30.90500001      19.15500000
+ 210 70 2 0.5564        9.01999999      32.73100000      21.41500000
+ 211 71 1 -1.1128      12.23800001      30.16200000      25.83699999
+ 212 71 2 0.5564       11.41799999      30.90800001      27.10999999
+ 213 71 2 0.5564       12.39600001      31.33100001      24.67800000
+ 214 72 1 -1.1128      10.39500000      32.53700000      30.62400000
+ 215 72 2 0.5564       11.04199999      34.33899999      30.75099999
+ 216 72 2 0.5564       11.37800001      31.48599999      31.53800000
+ 217 73 1 -1.1128      10.43800000       3.62599999       5.08700001
+ 218 73 2 0.5564       12.43500001       4.08200000       5.13600000
+ 219 73 2 0.5564        9.82200001       4.28400000       6.68100000
+ 220 74 1 -1.1128      14.76199999       3.40100000      13.77599999
+ 221 74 2 0.5564       16.51799999       3.82400000      13.37600000
+ 222 74 2 0.5564       13.75200000       4.75700000      12.96400000
+ 223 75 1 -1.1128      12.38199999       1.01200001      17.64300001
+ 224 75 2 0.5564       13.34599999       1.99700000      16.44400000
+ 225 75 2 0.5564       11.93100000       2.13300000      18.99800001
+ 226 76 1 -1.1128      15.27799999       1.29300000      24.55900000
+ 227 76 2 0.5564       16.07100000       0.94600000      26.36500000
+ 228 76 2 0.5564       15.79399999       0.19899999      23.49900000
+ 229 77 1 -1.1128      22.22600000      31.62700000      24.71199999
+ 230 77 2 0.5564       23.33800001      32.59500000      23.87600001
+ 231 77 2 0.5564       22.16100000      30.05300000      24.13200000
+ 232 78 1 -1.1128      15.63999999       1.84700001      32.71700000
+ 233 78 2 0.5564       17.48800000       2.47300000      31.87400000
+ 234 78 2 0.5564       16.40300001       0.86900001      34.26700001
+ 235 79 1 -1.1128      14.85800001      10.19899999       2.75400001
+ 236 79 2 0.5564       13.36000001      10.71199999       2.28199999
+ 237 79 2 0.5564       14.56000000       9.31600000       4.55900000
+ 238 80 1 -1.1128      15.71700000       8.46900000      10.73900000
+ 239 80 2 0.5564       17.32300000       9.58100000      10.87500000
+ 240 80 2 0.5564       14.57400000       9.63100000      10.22099999
+ 241 81 1 -1.1128      15.24800000      10.39800000      16.52500001
+ 242 81 2 0.5564       16.32400001       9.18100001      16.14899999
+ 243 81 2 0.5564       14.17200000      10.48800000      15.09800001
+ 244 82 1 -1.1128      13.22600000       8.43800000      20.80100001
+ 245 82 2 0.5564       14.04300000       8.99600000      19.29500001
+ 246 82 2 0.5564       14.66100001       7.80200000      22.09300000
+ 247 83 1 -1.1128      10.17300001      10.96100000      25.87500000
+ 248 83 2 0.5564       11.47700000      10.22300000      26.94000000
+ 249 83 2 0.5564       11.26900000      10.73800000      24.34299999
+ 250 84 1 -1.1128      12.79200000       7.73699999      29.17300001
+ 251 84 2 0.5564       12.19899999       6.03799999      29.47499999
+ 252 84 2 0.5564       14.42700000       7.44999999      29.61700000
+ 253 85 1 -1.1128      15.18000000      19.49800000       3.57800000
+ 254 85 2 0.5564       14.88300001      17.59600001       4.08000001
+ 255 85 2 0.5564       16.75400001      19.57899999       2.62599999
+ 256 86 1 -1.1128      12.51700000      11.09300000       7.70099999
+ 257 86 2 0.5564       12.22400001      12.77800000       7.55500000
+ 258 86 2 0.5564       11.15000000      10.39299999       7.05700000
+ 259 87 1 -1.1128      16.26600000      16.27099999      10.75800001
+ 260 87 2 0.5564       16.50700001      15.79500000      12.76800001
+ 261 87 2 0.5564       17.72500001      16.97699999      10.29200001
+ 262 88 1 -1.1128      14.06900000      18.39900001      18.89700000
+ 263 88 2 0.5564       15.51300000      17.52300000      18.15500000
+ 264 88 2 0.5564       14.95800001      18.70900000      20.67300000
+ 265 89 1 -1.1128      14.09899999      15.48000000      25.51000001
+ 266 89 2 0.5564       13.69800000      16.87200001      26.93799999
+ 267 89 2 0.5564       12.56700000      15.37900000      24.44400000
+ 268 90 1 -1.1128      13.30900000      17.57400000      30.29200001
+ 269 90 2 0.5564       14.93700001      16.93399999      30.81000000
+ 270 90 2 0.5564       13.96900001      19.49400000      30.01200001
+ 271 91 1 -1.1128      18.37099999      23.25699999       0.92500000
+ 272 91 2 0.5564       19.47899999      23.48000000       2.32099999
+ 273 91 2 0.5564       19.08700001      24.32499999      -0.36900000
+ 274 92 1 -1.1128      12.10000000      21.72999999      11.35500000
+ 275 92 2 0.5564       13.14100001      22.28700000      12.74300001
+ 276 92 2 0.5564       13.46700001      22.23600000      10.24400000
+ 277 93 1 -1.1128      12.16300001      23.29000000      23.59699999
+ 278 93 2 0.5564       11.32400001      22.73600001      24.94900000
+ 279 93 2 0.5564       13.88200000      22.87200001      23.84000001
+ 280 94 1 -1.1128      20.17300001      26.76100001      22.62800000
+ 281 94 2 0.5564       20.20600001      26.53200001      20.79200000
+ 282 94 2 0.5564       21.55600000      25.74200000      23.38899999
+ 283 95 1 -1.1128      16.70099999      21.16500000      22.60500000
+ 284 95 2 0.5564       18.02800000      20.68600001      23.84799999
+ 285 95 2 0.5564       17.10400000      22.86599999      21.94900000
+ 286 96 1 -1.1128      11.39100000      26.46099999      33.70499999
+ 287 96 2 0.5564        9.84099999      27.19199999      34.04800001
+ 288 96 2 0.5564       11.77599999      25.53999999      35.24300000
+ 289 97 1 -1.1128       9.89799999      25.98900000       4.55300001
+ 290 97 2 0.5564        8.90199999      26.13099999       6.03900000
+ 291 97 2 0.5564       10.28700000      27.80600000       4.37600000
+ 292 98 1 -1.1128      14.30800000      26.96000000      10.87699999
+ 293 98 2 0.5564       15.30200000      27.40500000      12.17300001
+ 294 98 2 0.5564       15.46300000      26.15100000       9.63299999
+ 295 99 1 -1.1128      13.43300000      22.96000000      16.90400000
+ 296 99 2 0.5564       13.40900000      24.13099999      18.13200000
+ 297 99 2 0.5564       13.62400000      21.19100001      17.52000000
+ 298 100 1 -1.1128      16.40900000      26.76800001      26.87500000
+ 299 100 2 0.5564       17.58999999      26.98700001      25.43100000
+ 300 100 2 0.5564       14.75099999      27.70300000      26.23000000
+ 301 101 1 -1.1128      14.40500000      22.73299999      29.89200000
+ 302 101 2 0.5564       15.42300000      23.07900000      28.49400000
+ 303 101 2 0.5564       12.82600001      23.25900000      29.41600000
+ 304 102 1 -1.1128       6.90500001      29.40800000       0.74900000
+ 305 102 2 0.5564        8.42800001      30.48300000       1.56700000
+ 306 102 2 0.5564        6.35300001      30.81400000      -0.44400000
+ 307 103 1 -1.1128       9.18899999      34.15900001       6.50900000
+ 308 103 2 0.5564       10.19800000      34.19300000       8.00199999
+ 309 103 2 0.5564        9.89000001      35.69200000       5.78500000
+ 310 104 1 -1.1128      14.25600001      32.31600000       9.36900000
+ 311 104 2 0.5564       15.73299999      32.86700000       9.48599999
+ 312 104 2 0.5564       14.75400001      30.67000000      10.09000000
+ 313 105 1 -1.1128      14.71400000      30.84099999      16.51600000
+ 314 105 2 0.5564       13.74799999      29.55099999      17.27900000
+ 315 105 2 0.5564       13.21800000      31.93300001      16.61400001
+ 316 106 1 -1.1128      18.40900000      33.64100000      20.61100001
+ 317 106 2 0.5564       19.60099999      32.27400001      21.11500000
+ 318 106 2 0.5564       17.36000001      32.65500000      19.51799999
+ 319 107 1 -1.1128      16.06200001      28.63800000      32.20700000
+ 320 107 2 0.5564       14.64800000      27.95800001      33.25299999
+ 321 107 2 0.5564       15.75200000      28.01400000      30.52199999
+ 322 108 1 -1.1128      16.20000000      30.89499999       1.47300000
+ 323 108 2 0.5564       16.62599999      29.96800000      -0.13000001
+ 324 108 2 0.5564       17.16699999      29.83300001       2.92699999
+ 325 109 1 -1.1128      20.27799999       3.52899999       6.04800001
+ 326 109 2 0.5564       20.97699999       3.61100001       4.57500001
+ 327 109 2 0.5564       21.31200000       4.51300000       7.25100000
+ 328 110 1 -1.1128      23.07900000       5.77800000      10.40800000
+ 329 110 2 0.5564       24.65000001       6.25900000      10.83800000
+ 330 110 2 0.5564       22.34200001       7.60900000      10.17799999
+ 331 111 1 -1.1128      19.58100000       2.03099999      12.10999999
+ 332 111 2 0.5564       19.03900000       1.08200000      10.44000000
+ 333 111 2 0.5564       21.14100001       2.99100001      11.85100001
+ 334 112 1 -1.1128      22.00500001       3.22300000      23.17799999
+ 335 112 2 0.5564       21.42899999       4.09000000      24.55399999
+ 336 112 2 0.5564       20.65400001       1.79099999      22.71100001
+ 337 113 1 -1.1128      16.63000000       6.42200000      23.79200000
+ 338 113 2 0.5564       16.21900000       4.80400001      24.40600001
+ 339 113 2 0.5564       17.06600001       7.12799999      25.28199999
+ 340 114 1 -1.1128      21.67599999       5.56400001      28.15800000
+ 341 114 2 0.5564       20.65799999       6.71700000      29.18499999
+ 342 114 2 0.5564       23.41300000       5.82800000      28.99600000
+ 343 115 1 -1.1128      15.25699999       5.26500000       5.62599999
+ 344 115 2 0.5564       16.91400000       4.51900000       5.48999999
+ 345 115 2 0.5564       15.14400000       6.15000000       6.97200000
+ 346 116 1 -1.1128      20.13700000      11.08200000      10.43700000
+ 347 116 2 0.5564       20.02100000      10.94700000       8.73299999
+ 348 116 2 0.5564       21.02500000      12.55500000      10.85300000
+ 349 117 1 -1.1128      23.08900000      14.62700000      12.43700000
+ 350 117 2 0.5564       24.71600000      15.25400000      12.73600001
+ 351 117 2 0.5564       23.28400000      13.22799999      13.65300000
+ 352 118 1 -1.1128      24.08300000      12.64900000      22.56600000
+ 353 118 2 0.5564       22.39700000      12.66300000      23.04199999
+ 354 118 2 0.5564       24.90100001      13.85100001      23.56499999
+ 355 119 1 -1.1128      17.86500001       7.90899999      30.03600000
+ 356 119 2 0.5564       17.50900000       8.04499999      31.98200000
+ 357 119 2 0.5564       18.07800000       9.58200001      29.31799999
+ 358 120 1 -1.1128      18.82400000       8.48599999       0.10400000
+ 359 120 2 0.5564       19.99700000      10.19100001      -0.05700000
+ 360 120 2 0.5564       17.07700001       8.99800001       0.77900001
+ 361 121 1 -1.1128      20.12200000       9.14300000       5.34299999
+ 362 121 2 0.5564       19.37300000       8.81899999       3.82100000
+ 363 121 2 0.5564       21.99800001       8.77599999       5.12799999
+ 364 122 1 -1.1128      16.41300000      14.45900000       5.85499999
+ 365 122 2 0.5564       15.53599999      13.00700000       5.23899999
+ 366 122 2 0.5564       16.00599999      14.72500001       7.73699999
+ 367 123 1 -1.1128      17.56099999      15.06600001      15.65400001
+ 368 123 2 0.5564       17.57500001      13.39800000      16.05500001
+ 369 123 2 0.5564       18.97800000      15.82800000      16.39999999
+ 370 124 1 -1.1128      26.37400001      17.04700000      24.81700000
+ 371 124 2 0.5564       27.98300000      17.09800001      25.63200001
+ 372 124 2 0.5564       25.62900001      18.75099999      24.91900001
+ 373 125 1 -1.1128      19.78400000      12.96000000      28.70600000
+ 374 125 2 0.5564       21.66199999      13.05500001      28.87100000
+ 375 125 2 0.5564       19.54500000      14.06999999      27.14300000
+ 376 126 1 -1.1128      17.89099999      16.73299999      32.49900000
+ 377 126 2 0.5564       18.32700000      15.24000000      31.27700001
+ 378 126 2 0.5564       18.63299999      18.33500001      31.69300001
+ 379 127 1 -1.1128      23.73299999      23.02399999       1.66300000
+ 380 127 2 0.5564       24.80000000      24.05199999       2.77599999
+ 381 127 2 0.5564       24.69300001      22.61800001       0.19800000
+ 382 128 1 -1.1128      20.78900000      18.44000000       9.44299999
+ 383 128 2 0.5564       20.76599999      17.25699999       7.88100000
+ 384 128 2 0.5564       21.89600000      17.34500000      10.38500001
+ 385 129 1 -1.1128      21.57400000      17.49299999      17.83800000
+ 386 129 2 0.5564       20.59699999      18.95500001      17.21800000
+ 387 129 2 0.5564       22.53800000      16.87400000      16.25100000
+ 388 130 1 -1.1128      19.16800000      14.74799999      24.13099999
+ 389 130 2 0.5564       19.71100001      16.39000000      23.71199999
+ 390 130 2 0.5564       17.42899999      14.69500000      24.40300001
+ 391 131 1 -1.1128      22.14899999      20.19800000      24.97699999
+ 392 131 2 0.5564       21.63900001      20.92400000      26.48599999
+ 393 131 2 0.5564       22.65600000      21.65700001      24.41099999
+ 394 132 1 -1.1128      20.56499999      20.79200000      29.60000001
+ 395 132 2 0.5564       22.26399999      20.40900000      30.21399999
+ 396 132 2 0.5564       20.54800000      22.40800000      30.59699999
+ 397 133 1 -1.1128      20.80200000      26.54699999       9.61499999
+ 398 133 2 0.5564       20.09899999      27.98399999       8.33800001
+ 399 133 2 0.5564       21.27700001      27.53900001      11.32499999
+ 400 134 1 -1.1128      16.28300000      23.58900001       7.77900001
+ 401 134 2 0.5564       16.09300000      21.97300001       6.71199999
+ 402 134 2 0.5564       17.90100001      22.97100000       8.15400000
+ 403 135 1 -1.1128      18.46900000      29.79799999      13.56800001
+ 404 135 2 0.5564       19.71199999      31.21600000      13.50600000
+ 405 135 2 0.5564       16.87200001      30.34299999      14.39600001
+ 406 136 1 -1.1128      18.79000001      21.71199999      16.06000000
+ 407 136 2 0.5564       19.87800000      23.09000000      16.48500001
+ 408 136 2 0.5564       17.20100000      22.32600000      15.81899999
+ 409 137 1 -1.1128      21.74700001      26.08400001      16.34900001
+ 410 137 2 0.5564       20.78300001      27.02100000      15.29999999
+ 411 137 2 0.5564       22.70499999      27.32799999      17.20600001
+ 412 138 1 -1.1128      20.76899999      26.21100000      32.05000000
+ 413 138 2 0.5564       21.48800000      27.40399999      33.32799999
+ 414 138 2 0.5564       18.98900000      26.71000000      32.14500001
+ 415 139 1 -1.1128      19.82000000      29.18100001       5.55900000
+ 416 139 2 0.5564       20.99100001      29.50900000       4.10900001
+ 417 139 2 0.5564       19.43100000      31.01800000       6.22099999
+ 418 140 1 -1.1128      19.24000000      33.86700000       7.99300000
+ 419 140 2 0.5564       19.10700000      35.03900000       6.60399999
+ 420 140 2 0.5564       20.69700001      33.67100000       9.06299999
+ 421 141 1 -1.1128      22.51099999      34.97600001      15.79300000
+ 422 141 2 0.5564       23.71600000      36.16300001      16.60300000
+ 423 141 2 0.5564       21.69900000      36.15000000      14.46700001
+ 424 142 1 -1.1128      22.62199999      30.28400000      19.06900000
+ 425 142 2 0.5564       22.04899999      31.35100000      17.72500001
+ 426 142 2 0.5564       24.41099999      30.77299999      19.57599999
+ 427 143 1 -1.1128      18.63900001      33.61100001      28.36900000
+ 428 143 2 0.5564       18.22600000      32.15900001      29.10300000
+ 429 143 2 0.5564       19.90600000      33.00800000      27.15800000
+ 430 144 1 -1.1128      22.52000000       1.32499999      31.92600001
+ 431 144 2 0.5564       22.80300000       2.66800001      30.79600000
+ 432 144 2 0.5564       21.04499999       0.42499999      31.12200000
+ 433 145 1 -1.1128      21.75400001       3.78900000       1.15900001
+ 434 145 2 0.5564       22.08499999       2.78500000      -0.18000000
+ 435 145 2 0.5564       20.85000000       5.17500000       0.61000000
+ 436 146 1 -1.1128      28.45699999       5.53900001      12.13300000
+ 437 146 2 0.5564       29.48900001       4.39000000      11.18200000
+ 438 146 2 0.5564       29.16100000       7.13099999      12.58700000
+ 439 147 1 -1.1128      22.49500000       5.96599999      17.32400001
+ 440 147 2 0.5564       24.37700000       5.37900000      17.39299999
+ 441 147 2 0.5564       21.90600000       5.49100000      18.85700000
+ 442 148 1 -1.1128      28.12799999       3.30400000      22.28700000
+ 443 148 2 0.5564       28.12300001       2.99899999      20.49100000
+ 444 148 2 0.5564       26.53299999       3.35500000      22.87600001
+ 445 149 1 -1.1128      28.37800001      10.45500000      27.26600000
+ 446 149 2 0.5564       30.01900001      10.29200001      28.05100000
+ 447 149 2 0.5564       28.63500000      10.03900000      25.46300000
+ 448 150 1 -1.1128      27.03099999       8.35300001      34.80600000
+ 449 150 2 0.5564       26.11600001       9.98399999      34.57100001
+ 450 150 2 0.5564       28.68500000       8.95100001      34.73900000
+ 451 151 1 -1.1128      24.95100001       8.15999999       4.45399999
+ 452 151 2 0.5564       25.93000001       9.61600000       5.15999999
+ 453 151 2 0.5564       25.94700000       7.99400001       2.72400000
+ 454 152 1 -1.1128      26.93700001      12.43599999       6.86900001
+ 455 152 2 0.5564       25.49200001      13.28400000       6.70799999
+ 456 152 2 0.5564       27.68900000      13.33199999       8.26600000
+ 457 153 1 -1.1128      23.36500000      11.21399999      16.93300001
+ 458 153 2 0.5564       22.24700000       9.74399999      16.78900000
+ 459 153 2 0.5564       23.26399999      12.03500000      18.53900001
+ 460 154 1 -1.1128      28.32099999       8.75900000      22.15800000
+ 461 154 2 0.5564       27.66199999       6.89499999      22.48200001
+ 462 154 2 0.5564       26.97100000       9.71000000      21.90199999
+ 463 155 1 -1.1128      27.07100000       6.10900001      29.55500000
+ 464 155 2 0.5564       27.59100000       7.66300000      28.85700000
+ 465 155 2 0.5564       27.30400000       6.32000001      31.26100000
+ 466 156 1 -1.1128      22.47400000      11.70400001      34.63999999
+ 467 156 2 0.5564       22.75200000      13.30400000      35.58400000
+ 468 156 2 0.5564       22.84000001      12.09000000      33.03000001
+ 469 157 1 -1.1128      21.65600000      14.97100000       5.61499999
+ 470 157 2 0.5564       21.68999999      15.86000000       3.97699999
+ 471 157 2 0.5564       19.96400000      14.22500000       5.77400000
+ 472 158 1 -1.1128      28.53900001      21.49200001       9.82000000
+ 473 158 2 0.5564       27.28800001      22.18100001       8.68800000
+ 474 158 2 0.5564       28.06500000      22.42000000      11.60200000
+ 475 159 1 -1.1128      28.36399999      16.01999999      11.10900001
+ 476 159 2 0.5564       30.03300000      16.64900000      12.08900000
+ 477 159 2 0.5564       28.45600000      17.44000000      10.08200000
+ 478 160 1 -1.1128       0.05400000      13.68600001      18.10300000
+ 479 160 2 0.5564       -1.71400000      12.92800000      18.84099999
+ 480 160 2 0.5564        1.00800000      12.42899999      17.38300000
+ 481 161 1 -1.1128      24.63600001      12.89400001      29.95700000
+ 482 161 2 0.5564       25.90600000      13.91400000      31.18300000
+ 483 161 2 0.5564       25.64100000      11.60900000      29.16200000
+ 484 162 1 -1.1128      21.54800000      17.25000000       0.74900000
+ 485 162 2 0.5564       21.84300000      19.02600000       0.90500001
+ 486 162 2 0.5564       20.38500001      16.71600000      -0.69700001
+ 487 163 1 -1.1128      26.09499999      27.27400001       4.52000000
+ 488 163 2 0.5564       27.88900000      26.45800000       4.50500000
+ 489 163 2 0.5564       25.64800000      26.96999999       6.16500000
+ 490 164 1 -1.1128      23.61000000      22.51499999       8.00800000
+ 491 164 2 0.5564       22.65300000      21.18700000       8.73900000
+ 492 164 2 0.5564       22.28600000      24.09499999       8.44400000
+ 493 165 1 -1.1128      27.35500000      18.92900000      18.18000000
+ 494 165 2 0.5564       27.20000000      20.34900001      17.15500000
+ 495 165 2 0.5564       25.57899999      18.32200000      18.77000000
+ 496 166 1 -1.1128      26.76500001      23.63299999      14.44400000
+ 497 166 2 0.5564       27.44100000      25.29800000      13.65099999
+ 498 166 2 0.5564       25.08600000      24.25600001      14.74900000
+ 499 167 1 -1.1128      31.47800001      20.76899999      20.98600000
+ 500 167 2 0.5564       30.44000000      22.50900000      21.13499999
+ 501 167 2 0.5564       30.56700000      19.65600000      20.04300000
+ 502 168 1 -1.1128      24.81199999      20.41200000      32.66800001
+ 503 168 2 0.5564       26.24199999      21.47800001      31.87400000
+ 504 168 2 0.5564       25.78699999      19.02300001      33.15800000
+ 505 169 1 -1.1128      22.10500001      29.07600000       0.92800000
+ 506 169 2 0.5564       23.29599999      27.92299999       1.73900000
+ 507 169 2 0.5564       22.62300000      30.99400001       0.88200000
+ 508 170 1 -1.1128      29.57199999      31.25600001       8.62599999
+ 509 170 2 0.5564       30.79500000      30.20299999       7.73600001
+ 510 170 2 0.5564       28.27700001      31.51900000       7.25999999
+ 511 171 1 -1.1128      31.81700000      34.84300000      18.28300000
+ 512 171 2 0.5564       32.43800000      34.38899999      16.47400000
+ 513 171 2 0.5564       32.74300001      36.42200000      18.34100000
+ 514 172 1 -1.1128      27.91500001      25.60099999      19.03300000
+ 515 172 2 0.5564       29.35800000      26.56099999      19.19000000
+ 516 172 2 0.5564       28.14800001      24.42899999      17.53000000
+ 517 173 1 -1.1128      24.54800000      24.65400001      24.02500000
+ 518 173 2 0.5564       25.52800001      25.63500000      22.82400000
+ 519 173 2 0.5564       25.29999999      25.20000000      25.64500000
+ 520 174 1 -1.1128      28.53999999      22.92200000      30.37000000
+ 521 174 2 0.5564       27.41399999      24.09600000      29.78100000
+ 522 174 2 0.5564       29.67400000      23.91400000      31.87299999
+ 523 175 1 -1.1128      24.96900001      33.62300000       1.01400000
+ 524 175 2 0.5564       26.52100001      33.05800000       1.51799999
+ 525 175 2 0.5564       24.99000000      34.32200000      -0.68299999
+ 526 176 1 -1.1128      23.07500000      32.17099999      11.32400001
+ 527 176 2 0.5564       23.31600000      32.77500000      13.09700000
+ 528 176 2 0.5564       24.46000001      33.20299999      10.66199999
+ 529 177 1 -1.1128      27.49699999       2.73600001      17.22400001
+ 530 177 2 0.5564       28.39700000       3.41500000      15.71500001
+ 531 177 2 0.5564       28.23400001       1.23300000      17.41200000
+ 532 178 1 -1.1128      26.36900000      33.06000000      22.07700001
+ 533 178 2 0.5564       26.17000001      34.74600000      22.26399999
+ 534 178 2 0.5564       27.59200000      32.40399999      23.32099999
+ 535 179 1 -1.1128      30.22099999      30.95000000      25.84300000
+ 536 179 2 0.5564       30.30500000      29.03799999      26.20800000
+ 537 179 2 0.5564       30.36300001      31.97900000      27.41399999
+ 538 180 1 -1.1128      24.97300001      26.73200000      28.60700001
+ 539 180 2 0.5564       25.38500001      28.36900000      29.24800000
+ 540 180 2 0.5564       23.33000000      26.59699999      29.23400001
+ 541 181 1 -1.1128      32.16500000       4.85700000       2.25800000
+ 542 181 2 0.5564       32.41700001       6.19500001       1.15700000
+ 543 181 2 0.5564       32.61499999       3.72700000       1.11200000
+ 544 182 1 -1.1128      28.06699999       3.53299999       5.21699999
+ 545 182 2 0.5564       26.96000000       4.44699999       4.15800000
+ 546 182 2 0.5564       29.87500000       3.86300000       4.44800000
+ 547 183 1 -1.1128      33.27900000       2.78200000      13.02800000
+ 548 183 2 0.5564       33.70799999       3.95500001      11.81700000
+ 549 183 2 0.5564       33.65600000       3.54500000      14.63100000
+ 550 184 1 -1.1128      34.27799999       4.94400001      17.49200001
+ 551 184 2 0.5564       33.43800000       6.56300000      17.87600001
+ 552 184 2 0.5564       34.90600000       4.45200000      18.99499999
+ 553 185 1 -1.1128      32.36300001       1.90800001      26.09199999
+ 554 185 2 0.5564       31.94099999       1.68299999      24.26800000
+ 555 185 2 0.5564       33.85000000       1.39000000      26.90400000
+ 556 186 1 -1.1128      27.98200000       0.41799999      28.24100000
+ 557 186 2 0.5564       27.51600000       2.08000001      28.30900000
+ 558 186 2 0.5564       29.59300001       0.17600000      27.29900001
+ 559 187 1 -1.1128      28.84500000      14.67200001       2.72400000
+ 560 187 2 0.5564       27.96299999      13.93000001       4.13900000
+ 561 187 2 0.5564       30.38599999      15.71400000       3.37900000
+ 562 188 1 -1.1128      28.08300000      10.61800001      14.29800000
+ 563 188 2 0.5564       28.62300000      12.15999999      13.29300000
+ 564 188 2 0.5564       26.48599999      11.01500000      15.37900000
+ 565 189 1 -1.1128      33.86700000      10.54500000      13.30600001
+ 566 189 2 0.5564       35.16500000       9.61200000      13.81000000
+ 567 189 2 0.5564       33.61499999      10.27000001      11.51300000
+ 568 190 1 -1.1128      31.79000001       9.69600000      18.22300000
+ 569 190 2 0.5564       30.48400000       9.33400000      19.42100001
+ 570 190 2 0.5564       30.83399999      10.09600000      16.92900000
+ 571 191 1 -1.1128      30.14100001      15.00599999      21.53200001
+ 572 191 2 0.5564       28.56499999      15.59399999      22.09899999
+ 573 191 2 0.5564       30.94200000      14.25299999      23.07700001
+ 574 192 1 -1.1128      32.79799999      10.73200000      30.67999999
+ 575 192 2 0.5564       34.07300001       9.52800001      30.79900000
+ 576 192 2 0.5564       32.99100001      11.51200000      28.98300000
+ 577 193 1 -1.1128      33.65200000      16.26500000       5.08600000
+ 578 193 2 0.5564       35.39900001      16.23899999       4.72999999
+ 579 193 2 0.5564       33.50300001      17.93900000       5.63100000
+ 580 194 1 -1.1128      31.94700000      10.79900000       7.94300000
+ 581 194 2 0.5564       29.89400001      10.54900000       7.61899999
+ 582 194 2 0.5564       32.27099999      12.41399999       7.07500000
+ 583 195 1 -1.1128       0.32900000      15.51600000      11.74600000
+ 584 195 2 0.5564       -0.44600001      14.24900001      12.93900000
+ 585 195 2 0.5564       -0.68500000      17.01800000      11.93500000
+ 586 196 1 -1.1128       4.26200000      19.16500000      14.30800000
+ 587 196 2 0.5564        3.57899999      17.69100000      14.91999999
+ 588 196 2 0.5564        5.72299999      19.18300000      15.20400000
+ 589 197 1 -1.1128      32.99499999      13.54600001      25.94800001
+ 590 197 2 0.5564       32.16699999      15.06000000      26.78699999
+ 591 197 2 0.5564       34.42499999      13.80000000      25.00700000
+ 592 198 1 -1.1128       1.77299999      13.52400000      34.03700001
+ 593 198 2 0.5564        0.22700001      14.40900000      33.44600001
+ 594 198 2 0.5564        2.16699999      14.67000000      35.51099999
+ 595 199 1 -1.1128      33.02900000      20.52899999       7.24700000
+ 596 199 2 0.5564       34.38800000      21.41399999       8.00300000
+ 597 199 2 0.5564       31.45100000      20.83100000       8.18200000
+ 598 200 1 -1.1128       2.03700001      24.25000000      10.25100000
+ 599 200 2 0.5564        3.74300001      25.00800000       9.87600001
+ 600 200 2 0.5564        1.89400001      25.04300000      11.90300000
+ 601 201 1 -1.1128      32.75300000      19.25900000      13.97600001
+ 602 201 2 0.5564       32.79200000      20.88600000      13.79200000
+ 603 201 2 0.5564       34.33400000      18.79900000      14.97600001
+ 604 202 1 -1.1128       0.39600001      18.67300000      18.69900000
+ 605 202 2 0.5564       -1.21100000      18.95000000      19.12700001
+ 606 202 2 0.5564        0.46900000      16.97699999      18.43599999
+ 607 203 1 -1.1128      30.85499999      18.37000000      27.95899999
+ 608 203 2 0.5564       29.75900000      19.68100000      28.68999999
+ 609 203 2 0.5564       32.10300000      19.47700000      26.76300000
+ 610 204 1 -1.1128      27.72299999      15.99200000      33.09100001
+ 611 204 2 0.5564       29.39000000      16.42300000      32.19199999
+ 612 204 2 0.5564       27.80100001      15.85899999      34.80400001
+ 613 205 1 -1.1128      31.06800000      27.89499999       3.34800000
+ 614 205 2 0.5564       32.51700000      27.82500000       4.61000000
+ 615 205 2 0.5564       31.52899999      29.45900000       2.32400001
+ 616 206 1 -1.1128      35.03900000      28.00800000       6.66300000
+ 617 206 2 0.5564       35.96599999      26.93399999       7.68299999
+ 618 206 2 0.5564       36.05500001      28.33600000       5.33600000
+ 619 207 1 -1.1128      29.35600001      28.19599999      13.02500000
+ 620 207 2 0.5564       29.20999999      29.33500001      14.58900001
+ 621 207 2 0.5564       28.87400000      29.62900001      11.86700000
+ 622 208 1 -1.1128      32.38599999      28.43400000      18.96100000
+ 623 208 2 0.5564       33.36799999      28.57400000      20.41099999
+ 624 208 2 0.5564       33.41000001      27.40600001      17.94900000
+ 625 209 1 -1.1128      30.89799999      25.39000000      25.79900000
+ 626 209 2 0.5564       32.36900000      25.91299999      24.58000000
+ 627 209 2 0.5564       31.31700001      24.07500000      27.02900000
+ 628 210 1 -1.1128      32.25900000      25.61100001      33.10400000
+ 629 210 2 0.5564       32.23800001      25.73600001      34.80600000
+ 630 210 2 0.5564       33.91999999      25.04199999      32.77500000
+ 631 211 1 -1.1128      30.29000000      32.64500000       1.34100000
+ 632 211 2 0.5564       29.94900000      32.79300000      -0.43000000
+ 633 211 2 0.5564       31.76199999      33.34000000       1.84700001
+ 634 212 1 -1.1128      25.53599999      34.23499999       6.46900000
+ 635 212 2 0.5564       25.71600000      36.05900001       6.65099999
+ 636 212 2 0.5564       25.28300000      33.86599999       4.89499999
+ 637 213 1 -1.1128      31.67400000      33.16100000      13.10599999
+ 638 213 2 0.5564       31.79300000      34.86300000      13.28100001
+ 639 213 2 0.5564       30.42499999      32.92800000      11.78300001
+ 640 214 1 -1.1128      33.84400001      32.66800001      22.29599999
+ 641 214 2 0.5564       32.75000000      32.23400001      23.52400000
+ 642 214 2 0.5564       32.91700000      32.87500000      20.73600001
+ 643 215 1 -1.1128      31.60300000      30.54200000      30.80499999
+ 644 215 2 0.5564       33.45100000      30.80400001      30.46799999
+ 645 215 2 0.5564       31.57500001      28.81599999      31.75600000
+ 646 216 1 -1.1128      26.29500001      31.23499999      30.59900000
+ 647 216 2 0.5564       27.83399999      30.51499999      30.60700001
+ 648 216 2 0.5564       26.36200000      32.91999999      29.85600000
+
+Bonds
+
+ 1 1 1 2
+ 2 1 1 3
+ 3 1 4 5
+ 4 1 4 6
+ 5 1 7 8
+ 6 1 7 9
+ 7 1 10 11
+ 8 1 10 12
+ 9 1 13 14
+ 10 1 13 15
+ 11 1 16 17
+ 12 1 16 18
+ 13 1 19 20
+ 14 1 19 21
+ 15 1 22 23
+ 16 1 22 24
+ 17 1 25 26
+ 18 1 25 27
+ 19 1 28 29
+ 20 1 28 30
+ 21 1 31 32
+ 22 1 31 33
+ 23 1 34 35
+ 24 1 34 36
+ 25 1 37 38
+ 26 1 37 39
+ 27 1 40 41
+ 28 1 40 42
+ 29 1 43 44
+ 30 1 43 45
+ 31 1 46 47
+ 32 1 46 48
+ 33 1 49 50
+ 34 1 49 51
+ 35 1 52 53
+ 36 1 52 54
+ 37 1 55 56
+ 38 1 55 57
+ 39 1 58 59
+ 40 1 58 60
+ 41 1 61 62
+ 42 1 61 63
+ 43 1 64 65
+ 44 1 64 66
+ 45 1 67 68
+ 46 1 67 69
+ 47 1 70 71
+ 48 1 70 72
+ 49 1 73 74
+ 50 1 73 75
+ 51 1 76 77
+ 52 1 76 78
+ 53 1 79 80
+ 54 1 79 81
+ 55 1 82 83
+ 56 1 82 84
+ 57 1 85 86
+ 58 1 85 87
+ 59 1 88 89
+ 60 1 88 90
+ 61 1 91 92
+ 62 1 91 93
+ 63 1 94 95
+ 64 1 94 96
+ 65 1 97 98
+ 66 1 97 99
+ 67 1 100 101
+ 68 1 100 102
+ 69 1 103 104
+ 70 1 103 105
+ 71 1 106 107
+ 72 1 106 108
+ 73 1 109 110
+ 74 1 109 111
+ 75 1 112 113
+ 76 1 112 114
+ 77 1 115 116
+ 78 1 115 117
+ 79 1 118 119
+ 80 1 118 120
+ 81 1 121 122
+ 82 1 121 123
+ 83 1 124 125
+ 84 1 124 126
+ 85 1 127 128
+ 86 1 127 129
+ 87 1 130 131
+ 88 1 130 132
+ 89 1 133 134
+ 90 1 133 135
+ 91 1 136 137
+ 92 1 136 138
+ 93 1 139 140
+ 94 1 139 141
+ 95 1 142 143
+ 96 1 142 144
+ 97 1 145 146
+ 98 1 145 147
+ 99 1 148 149
+ 100 1 148 150
+ 101 1 151 152
+ 102 1 151 153
+ 103 1 154 155
+ 104 1 154 156
+ 105 1 157 158
+ 106 1 157 159
+ 107 1 160 161
+ 108 1 160 162
+ 109 1 163 164
+ 110 1 163 165
+ 111 1 166 167
+ 112 1 166 168
+ 113 1 169 170
+ 114 1 169 171
+ 115 1 172 173
+ 116 1 172 174
+ 117 1 175 176
+ 118 1 175 177
+ 119 1 178 179
+ 120 1 178 180
+ 121 1 181 182
+ 122 1 181 183
+ 123 1 184 185
+ 124 1 184 186
+ 125 1 187 188
+ 126 1 187 189
+ 127 1 190 191
+ 128 1 190 192
+ 129 1 193 194
+ 130 1 193 195
+ 131 1 196 197
+ 132 1 196 198
+ 133 1 199 200
+ 134 1 199 201
+ 135 1 202 203
+ 136 1 202 204
+ 137 1 205 206
+ 138 1 205 207
+ 139 1 208 209
+ 140 1 208 210
+ 141 1 211 212
+ 142 1 211 213
+ 143 1 214 215
+ 144 1 214 216
+ 145 1 217 218
+ 146 1 217 219
+ 147 1 220 221
+ 148 1 220 222
+ 149 1 223 224
+ 150 1 223 225
+ 151 1 226 227
+ 152 1 226 228
+ 153 1 229 230
+ 154 1 229 231
+ 155 1 232 233
+ 156 1 232 234
+ 157 1 235 236
+ 158 1 235 237
+ 159 1 238 239
+ 160 1 238 240
+ 161 1 241 242
+ 162 1 241 243
+ 163 1 244 245
+ 164 1 244 246
+ 165 1 247 248
+ 166 1 247 249
+ 167 1 250 251
+ 168 1 250 252
+ 169 1 253 254
+ 170 1 253 255
+ 171 1 256 257
+ 172 1 256 258
+ 173 1 259 260
+ 174 1 259 261
+ 175 1 262 263
+ 176 1 262 264
+ 177 1 265 266
+ 178 1 265 267
+ 179 1 268 269
+ 180 1 268 270
+ 181 1 271 272
+ 182 1 271 273
+ 183 1 274 275
+ 184 1 274 276
+ 185 1 277 278
+ 186 1 277 279
+ 187 1 280 281
+ 188 1 280 282
+ 189 1 283 284
+ 190 1 283 285
+ 191 1 286 287
+ 192 1 286 288
+ 193 1 289 290
+ 194 1 289 291
+ 195 1 292 293
+ 196 1 292 294
+ 197 1 295 296
+ 198 1 295 297
+ 199 1 298 299
+ 200 1 298 300
+ 201 1 301 302
+ 202 1 301 303
+ 203 1 304 305
+ 204 1 304 306
+ 205 1 307 308
+ 206 1 307 309
+ 207 1 310 311
+ 208 1 310 312
+ 209 1 313 314
+ 210 1 313 315
+ 211 1 316 317
+ 212 1 316 318
+ 213 1 319 320
+ 214 1 319 321
+ 215 1 322 323
+ 216 1 322 324
+ 217 1 325 326
+ 218 1 325 327
+ 219 1 328 329
+ 220 1 328 330
+ 221 1 331 332
+ 222 1 331 333
+ 223 1 334 335
+ 224 1 334 336
+ 225 1 337 338
+ 226 1 337 339
+ 227 1 340 341
+ 228 1 340 342
+ 229 1 343 344
+ 230 1 343 345
+ 231 1 346 347
+ 232 1 346 348
+ 233 1 349 350
+ 234 1 349 351
+ 235 1 352 353
+ 236 1 352 354
+ 237 1 355 356
+ 238 1 355 357
+ 239 1 358 359
+ 240 1 358 360
+ 241 1 361 362
+ 242 1 361 363
+ 243 1 364 365
+ 244 1 364 366
+ 245 1 367 368
+ 246 1 367 369
+ 247 1 370 371
+ 248 1 370 372
+ 249 1 373 374
+ 250 1 373 375
+ 251 1 376 377
+ 252 1 376 378
+ 253 1 379 380
+ 254 1 379 381
+ 255 1 382 383
+ 256 1 382 384
+ 257 1 385 386
+ 258 1 385 387
+ 259 1 388 389
+ 260 1 388 390
+ 261 1 391 392
+ 262 1 391 393
+ 263 1 394 395
+ 264 1 394 396
+ 265 1 397 398
+ 266 1 397 399
+ 267 1 400 401
+ 268 1 400 402
+ 269 1 403 404
+ 270 1 403 405
+ 271 1 406 407
+ 272 1 406 408
+ 273 1 409 410
+ 274 1 409 411
+ 275 1 412 413
+ 276 1 412 414
+ 277 1 415 416
+ 278 1 415 417
+ 279 1 418 419
+ 280 1 418 420
+ 281 1 421 422
+ 282 1 421 423
+ 283 1 424 425
+ 284 1 424 426
+ 285 1 427 428
+ 286 1 427 429
+ 287 1 430 431
+ 288 1 430 432
+ 289 1 433 434
+ 290 1 433 435
+ 291 1 436 437
+ 292 1 436 438
+ 293 1 439 440
+ 294 1 439 441
+ 295 1 442 443
+ 296 1 442 444
+ 297 1 445 446
+ 298 1 445 447
+ 299 1 448 449
+ 300 1 448 450
+ 301 1 451 452
+ 302 1 451 453
+ 303 1 454 455
+ 304 1 454 456
+ 305 1 457 458
+ 306 1 457 459
+ 307 1 460 461
+ 308 1 460 462
+ 309 1 463 464
+ 310 1 463 465
+ 311 1 466 467
+ 312 1 466 468
+ 313 1 469 470
+ 314 1 469 471
+ 315 1 472 473
+ 316 1 472 474
+ 317 1 475 476
+ 318 1 475 477
+ 319 1 478 479
+ 320 1 478 480
+ 321 1 481 482
+ 322 1 481 483
+ 323 1 484 485
+ 324 1 484 486
+ 325 1 487 488
+ 326 1 487 489
+ 327 1 490 491
+ 328 1 490 492
+ 329 1 493 494
+ 330 1 493 495
+ 331 1 496 497
+ 332 1 496 498
+ 333 1 499 500
+ 334 1 499 501
+ 335 1 502 503
+ 336 1 502 504
+ 337 1 505 506
+ 338 1 505 507
+ 339 1 508 509
+ 340 1 508 510
+ 341 1 511 512
+ 342 1 511 513
+ 343 1 514 515
+ 344 1 514 516
+ 345 1 517 518
+ 346 1 517 519
+ 347 1 520 521
+ 348 1 520 522
+ 349 1 523 524
+ 350 1 523 525
+ 351 1 526 527
+ 352 1 526 528
+ 353 1 529 530
+ 354 1 529 531
+ 355 1 532 533
+ 356 1 532 534
+ 357 1 535 536
+ 358 1 535 537
+ 359 1 538 539
+ 360 1 538 540
+ 361 1 541 542
+ 362 1 541 543
+ 363 1 544 545
+ 364 1 544 546
+ 365 1 547 548
+ 366 1 547 549
+ 367 1 550 551
+ 368 1 550 552
+ 369 1 553 554
+ 370 1 553 555
+ 371 1 556 557
+ 372 1 556 558
+ 373 1 559 560
+ 374 1 559 561
+ 375 1 562 563
+ 376 1 562 564
+ 377 1 565 566
+ 378 1 565 567
+ 379 1 568 569
+ 380 1 568 570
+ 381 1 571 572
+ 382 1 571 573
+ 383 1 574 575
+ 384 1 574 576
+ 385 1 577 578
+ 386 1 577 579
+ 387 1 580 581
+ 388 1 580 582
+ 389 1 583 584
+ 390 1 583 585
+ 391 1 586 587
+ 392 1 586 588
+ 393 1 589 590
+ 394 1 589 591
+ 395 1 592 593
+ 396 1 592 594
+ 397 1 595 596
+ 398 1 595 597
+ 399 1 598 599
+ 400 1 598 600
+ 401 1 601 602
+ 402 1 601 603
+ 403 1 604 605
+ 404 1 604 606
+ 405 1 607 608
+ 406 1 607 609
+ 407 1 610 611
+ 408 1 610 612
+ 409 1 613 614
+ 410 1 613 615
+ 411 1 616 617
+ 412 1 616 618
+ 413 1 619 620
+ 414 1 619 621
+ 415 1 622 623
+ 416 1 622 624
+ 417 1 625 626
+ 418 1 625 627
+ 419 1 628 629
+ 420 1 628 630
+ 421 1 631 632
+ 422 1 631 633
+ 423 1 634 635
+ 424 1 634 636
+ 425 1 637 638
+ 426 1 637 639
+ 427 1 640 641
+ 428 1 640 642
+ 429 1 643 644
+ 430 1 643 645
+ 431 1 646 647
+ 432 1 646 648
+
+Angles
+
+ 1 1 2 1 3
+ 2 1 5 4 6
+ 3 1 8 7 9
+ 4 1 11 10 12
+ 5 1 14 13 15
+ 6 1 17 16 18
+ 7 1 20 19 21
+ 8 1 23 22 24
+ 9 1 26 25 27
+ 10 1 29 28 30
+ 11 1 32 31 33
+ 12 1 35 34 36
+ 13 1 38 37 39
+ 14 1 41 40 42
+ 15 1 44 43 45
+ 16 1 47 46 48
+ 17 1 50 49 51
+ 18 1 53 52 54
+ 19 1 56 55 57
+ 20 1 59 58 60
+ 21 1 62 61 63
+ 22 1 65 64 66
+ 23 1 68 67 69
+ 24 1 71 70 72
+ 25 1 74 73 75
+ 26 1 77 76 78
+ 27 1 80 79 81
+ 28 1 83 82 84
+ 29 1 86 85 87
+ 30 1 89 88 90
+ 31 1 92 91 93
+ 32 1 95 94 96
+ 33 1 98 97 99
+ 34 1 101 100 102
+ 35 1 104 103 105
+ 36 1 107 106 108
+ 37 1 110 109 111
+ 38 1 113 112 114
+ 39 1 116 115 117
+ 40 1 119 118 120
+ 41 1 122 121 123
+ 42 1 125 124 126
+ 43 1 128 127 129
+ 44 1 131 130 132
+ 45 1 134 133 135
+ 46 1 137 136 138
+ 47 1 140 139 141
+ 48 1 143 142 144
+ 49 1 146 145 147
+ 50 1 149 148 150
+ 51 1 152 151 153
+ 52 1 155 154 156
+ 53 1 158 157 159
+ 54 1 161 160 162
+ 55 1 164 163 165
+ 56 1 167 166 168
+ 57 1 170 169 171
+ 58 1 173 172 174
+ 59 1 176 175 177
+ 60 1 179 178 180
+ 61 1 182 181 183
+ 62 1 185 184 186
+ 63 1 188 187 189
+ 64 1 191 190 192
+ 65 1 194 193 195
+ 66 1 197 196 198
+ 67 1 200 199 201
+ 68 1 203 202 204
+ 69 1 206 205 207
+ 70 1 209 208 210
+ 71 1 212 211 213
+ 72 1 215 214 216
+ 73 1 218 217 219
+ 74 1 221 220 222
+ 75 1 224 223 225
+ 76 1 227 226 228
+ 77 1 230 229 231
+ 78 1 233 232 234
+ 79 1 236 235 237
+ 80 1 239 238 240
+ 81 1 242 241 243
+ 82 1 245 244 246
+ 83 1 248 247 249
+ 84 1 251 250 252
+ 85 1 254 253 255
+ 86 1 257 256 258
+ 87 1 260 259 261
+ 88 1 263 262 264
+ 89 1 266 265 267
+ 90 1 269 268 270
+ 91 1 272 271 273
+ 92 1 275 274 276
+ 93 1 278 277 279
+ 94 1 281 280 282
+ 95 1 284 283 285
+ 96 1 287 286 288
+ 97 1 290 289 291
+ 98 1 293 292 294
+ 99 1 296 295 297
+ 100 1 299 298 300
+ 101 1 302 301 303
+ 102 1 305 304 306
+ 103 1 308 307 309
+ 104 1 311 310 312
+ 105 1 314 313 315
+ 106 1 317 316 318
+ 107 1 320 319 321
+ 108 1 323 322 324
+ 109 1 326 325 327
+ 110 1 329 328 330
+ 111 1 332 331 333
+ 112 1 335 334 336
+ 113 1 338 337 339
+ 114 1 341 340 342
+ 115 1 344 343 345
+ 116 1 347 346 348
+ 117 1 350 349 351
+ 118 1 353 352 354
+ 119 1 356 355 357
+ 120 1 359 358 360
+ 121 1 362 361 363
+ 122 1 365 364 366
+ 123 1 368 367 369
+ 124 1 371 370 372
+ 125 1 374 373 375
+ 126 1 377 376 378
+ 127 1 380 379 381
+ 128 1 383 382 384
+ 129 1 386 385 387
+ 130 1 389 388 390
+ 131 1 392 391 393
+ 132 1 395 394 396
+ 133 1 398 397 399
+ 134 1 401 400 402
+ 135 1 404 403 405
+ 136 1 407 406 408
+ 137 1 410 409 411
+ 138 1 413 412 414
+ 139 1 416 415 417
+ 140 1 419 418 420
+ 141 1 422 421 423
+ 142 1 425 424 426
+ 143 1 428 427 429
+ 144 1 431 430 432
+ 145 1 434 433 435
+ 146 1 437 436 438
+ 147 1 440 439 441
+ 148 1 443 442 444
+ 149 1 446 445 447
+ 150 1 449 448 450
+ 151 1 452 451 453
+ 152 1 455 454 456
+ 153 1 458 457 459
+ 154 1 461 460 462
+ 155 1 464 463 465
+ 156 1 467 466 468
+ 157 1 470 469 471
+ 158 1 473 472 474
+ 159 1 476 475 477
+ 160 1 479 478 480
+ 161 1 482 481 483
+ 162 1 485 484 486
+ 163 1 488 487 489
+ 164 1 491 490 492
+ 165 1 494 493 495
+ 166 1 497 496 498
+ 167 1 500 499 501
+ 168 1 503 502 504
+ 169 1 506 505 507
+ 170 1 509 508 510
+ 171 1 512 511 513
+ 172 1 515 514 516
+ 173 1 518 517 519
+ 174 1 521 520 522
+ 175 1 524 523 525
+ 176 1 527 526 528
+ 177 1 530 529 531
+ 178 1 533 532 534
+ 179 1 536 535 537
+ 180 1 539 538 540
+ 181 1 542 541 543
+ 182 1 545 544 546
+ 183 1 548 547 549
+ 184 1 551 550 552
+ 185 1 554 553 555
+ 186 1 557 556 558
+ 187 1 560 559 561
+ 188 1 563 562 564
+ 189 1 566 565 567
+ 190 1 569 568 570
+ 191 1 572 571 573
+ 192 1 575 574 576
+ 193 1 578 577 579
+ 194 1 581 580 582
+ 195 1 584 583 585
+ 196 1 587 586 588
+ 197 1 590 589 591
+ 198 1 593 592 594
+ 199 1 596 595 597
+ 200 1 599 598 600
+ 201 1 602 601 603
+ 202 1 605 604 606
+ 203 1 608 607 609
+ 204 1 611 610 612
+ 205 1 614 613 615
+ 206 1 617 616 618
+ 207 1 620 619 621
+ 208 1 623 622 624
+ 209 1 626 625 627
+ 210 1 629 628 630
+ 211 1 632 631 633
+ 212 1 635 634 636
+ 213 1 638 637 639
+ 214 1 641 640 642
+ 215 1 644 643 645
+ 216 1 647 646 648
diff --git a/tools/i-pi/examples/lammps/h2o-pimd/in.water b/tools/i-pi/examples/lammps/h2o-pimd/in.water
new file mode 100644
index 0000000000..d1d9048cc8
--- /dev/null
+++ b/tools/i-pi/examples/lammps/h2o-pimd/in.water
@@ -0,0 +1,32 @@
+units		electron
+atom_style	full
+
+#pair_style	lj/cut/coul/long 17.01
+pair_style      lj/cut/tip4p/long 1 2 1 1 0.278072379 17.007
+#bond_style      harmonic
+bond_style      class2 
+angle_style     harmonic
+#kspace_style	pppm 0.0001
+kspace_style	pppm/tip4p 0.0001
+
+read_data	data.water
+pair_coeff  * * 0 0
+pair_coeff  1  1  0.000295147 5.96946
+
+neighbor	2.0 bin
+
+timestep	0.00025
+
+#velocity all create 298.0 2345187
+
+#thermo_style	multi
+#thermo		1
+
+#fix		1 all nvt temp 298.0 298.0 30.0 tchain 1
+#fix 1 all nve
+fix 1 all ipi no_rpc 32345 unix
+
+#dump		1 all xyz 25 dump.xyz
+
+run		100000000
+
diff --git a/tools/i-pi/examples/lammps/h2o-pimd/input.xml b/tools/i-pi/examples/lammps/h2o-pimd/input.xml
new file mode 100644
index 0000000000..36bcd38d2e
--- /dev/null
+++ b/tools/i-pi/examples/lammps/h2o-pimd/input.xml
@@ -0,0 +1,24 @@
+<simulation>
+   <initialize nbeads='32'> 
+      <file mode='pdb'> water_298K.pdb </file>
+      <velocities mode="thermal" units='kelvin'> 298 </velocities>
+   </initialize>
+   <output prefix='no_rpc'>
+      <properties stride='1' filename='out'>  [ step, time{picosecond}, conserved, temperature{kelvin}, kinetic_cv, potential, pressure_cv{megapascal}] </properties>
+      <trajectory filename='pos' stride='20'> positions </trajectory>
+   </output>
+   <total_steps>500000</total_steps>
+   <prng><seed>32345</seed></prng>
+   <forces>
+      <socket mode='unix'>
+         <address>no_rpc</address>
+      </socket>
+   </forces>
+   <ensemble mode='nvt'>
+      <thermostat mode='svr'>
+         <tau units='femtosecond'>25</tau>
+      </thermostat>
+      <timestep units='femtosecond'> 0.25</timestep>
+      <temperature units='kelvin'>298</temperature>
+   </ensemble>
+</simulation>
diff --git a/tools/i-pi/examples/lammps/h2o-pimd/water_298K.pdb b/tools/i-pi/examples/lammps/h2o-pimd/water_298K.pdb
new file mode 100644
index 0000000000..e8509c868e
--- /dev/null
+++ b/tools/i-pi/examples/lammps/h2o-pimd/water_298K.pdb
@@ -0,0 +1,650 @@
+CRYST   35.233   35.233   35.233  90.00  90.00  90.00 P 1          1
+ATOM      1    O   1     1       3.846   5.672   1.323  0.00  0.00            0
+ATOM      2    H   1     1       2.979   7.054   0.857  0.00  0.00            0
+ATOM      3    H   1     1       5.525   5.697   0.451  0.00  0.00            0
+ATOM      4    O   1     1      34.557  34.341   3.078  0.00  0.00            0
+ATOM      5    H   1     1      33.722  34.689   4.840  0.00  0.00            0
+ATOM      6    H   1     1      36.029  33.220   3.711  0.00  0.00            0
+ATOM      7    O   1     1       5.591   1.963  13.477  0.00  0.00            0
+ATOM      8    H   1     1       7.265   1.864  13.851  0.00  0.00            0
+ATOM      9    H   1     1       5.009   3.555  13.916  0.00  0.00            0
+ATOM     10    O   1     1       1.060   2.061  21.718  0.00  0.00            0
+ATOM     11    H   1     1       0.757   0.261  21.820  0.00  0.00            0
+ATOM     12    H   1     1       0.213   3.013  23.047  0.00  0.00            0
+ATOM     13    O   1     1       1.200   1.337  29.006  0.00  0.00            0
+ATOM     14    H   1     1       0.818   1.884  30.732  0.00  0.00            0
+ATOM     15    H   1     1       2.883   1.825  29.011  0.00  0.00            0
+ATOM     16    O   1     1       1.331   1.386  34.306  0.00  0.00            0
+ATOM     17    H   1     1       2.392   2.898  34.846  0.00  0.00            0
+ATOM     18    H   1     1       0.814   0.532  35.836  0.00  0.00            0
+ATOM     19    O   1     1      31.451  10.201   0.726  0.00  0.00            0
+ATOM     20    H   1     1      32.282  10.877  -0.750  0.00  0.00            0
+ATOM     21    H   1     1      30.920  11.594   1.677  0.00  0.00            0
+ATOM     22    O   1     1       0.836  10.808   4.298  0.00  0.00            0
+ATOM     23    H   1     1       0.305  10.643   2.793  0.00  0.00            0
+ATOM     24    H   1     1      -0.356  10.334   5.524  0.00  0.00            0
+ATOM     25    O   1     1      34.381   5.979   9.194  0.00  0.00            0
+ATOM     26    H   1     1      33.616   7.673   8.857  0.00  0.00            0
+ATOM     27    H   1     1      35.115   5.260   7.618  0.00  0.00            0
+ATOM     28    O   1     1      33.212   6.480  24.278  0.00  0.00            0
+ATOM     29    H   1     1      31.624   6.908  23.521  0.00  0.00            0
+ATOM     30    H   1     1      32.544   4.990  24.982  0.00  0.00            0
+ATOM     31    O   1     1       1.992   9.002  26.863  0.00  0.00            0
+ATOM     32    H   1     1       1.856  10.175  25.579  0.00  0.00            0
+ATOM     33    H   1     1       0.519   8.099  26.386  0.00  0.00            0
+ATOM     34    O   1     1       2.054   8.660  32.515  0.00  0.00            0
+ATOM     35    H   1     1       2.167   8.727  30.494  0.00  0.00            0
+ATOM     36    H   1     1       2.374  10.513  33.038  0.00  0.00            0
+ATOM     37    O   1     1       3.402  16.639   3.008  0.00  0.00            0
+ATOM     38    H   1     1       4.127  15.872   4.446  0.00  0.00            0
+ATOM     39    H   1     1       2.905  18.339   3.160  0.00  0.00            0
+ATOM     40    O   1     1       4.222  15.444   8.072  0.00  0.00            0
+ATOM     41    H   1     1       5.211  16.756   8.299  0.00  0.00            0
+ATOM     42    H   1     1       2.560  15.492   8.860  0.00  0.00            0
+ATOM     43    O   1     1       2.831   9.246  16.488  0.00  0.00            0
+ATOM     44    H   1     1       2.869   8.023  18.050  0.00  0.00            0
+ATOM     45    H   1     1       3.960   8.467  15.154  0.00  0.00            0
+ATOM     46    O   1     1       5.563   6.003  20.907  0.00  0.00            0
+ATOM     47    H   1     1       4.653   4.638  21.480  0.00  0.00            0
+ATOM     48    H   1     1       6.405   6.208  22.529  0.00  0.00            0
+ATOM     49    O   1     1       2.087  13.370  22.913  0.00  0.00            0
+ATOM     50    H   1     1       2.832  14.804  23.422  0.00  0.00            0
+ATOM     51    H   1     1       1.434  13.509  21.196  0.00  0.00            0
+ATOM     52    O   1     1       3.369  17.886  25.109  0.00  0.00            0
+ATOM     53    H   1     1       3.655  17.200  26.766  0.00  0.00            0
+ATOM     54    H   1     1       4.772  18.977  24.500  0.00  0.00            0
+ATOM     55    O   1     1      34.764  20.803   0.948  0.00  0.00            0
+ATOM     56    H   1     1      35.210  21.267   2.816  0.00  0.00            0
+ATOM     57    H   1     1      35.962  21.726   0.131  0.00  0.00            0
+ATOM     58    O   1     1       2.836  24.178  15.229  0.00  0.00            0
+ATOM     59    H   1     1       2.795  22.346  14.876  0.00  0.00            0
+ATOM     60    H   1     1       2.414  24.115  17.130  0.00  0.00            0
+ATOM     61    O   1     1      33.000  24.481  15.230  0.00  0.00            0
+ATOM     62    H   1     1      34.640  24.804  15.013  0.00  0.00            0
+ATOM     63    H   1     1      32.401  25.764  14.295  0.00  0.00            0
+ATOM     64    O   1     1       0.404  26.779  23.400  0.00  0.00            0
+ATOM     65    H   1     1       1.353  27.248  24.987  0.00  0.00            0
+ATOM     66    H   1     1       1.546  28.050  22.317  0.00  0.00            0
+ATOM     67    O   1     1      34.222  21.380  25.418  0.00  0.00            0
+ATOM     68    H   1     1      35.669  20.151  25.317  0.00  0.00            0
+ATOM     69    H   1     1      32.960  21.180  23.992  0.00  0.00            0
+ATOM     70    O   1     1      33.259  17.438  32.480  0.00  0.00            0
+ATOM     71    H   1     1      33.314  18.782  33.883  0.00  0.00            0
+ATOM     72    H   1     1      32.743  18.181  30.871  0.00  0.00            0
+ATOM     73    O   1     1       4.463  21.979   3.936  0.00  0.00            0
+ATOM     74    H   1     1       5.856  23.084   3.400  0.00  0.00            0
+ATOM     75    H   1     1       3.986  22.180   5.602  0.00  0.00            0
+ATOM     76    O   1     1       6.258  25.851   8.520  0.00  0.00            0
+ATOM     77    H   1     1       5.767  27.693   8.476  0.00  0.00            0
+ATOM     78    H   1     1       7.202  25.506  10.186  0.00  0.00            0
+ATOM     79    O   1     1       0.601  29.737  12.747  0.00  0.00            0
+ATOM     80    H   1     1      -0.685  30.842  12.350  0.00  0.00            0
+ATOM     81    H   1     1       1.336  30.716  14.031  0.00  0.00            0
+ATOM     82    O   1     1       7.563  28.191  24.333  0.00  0.00            0
+ATOM     83    H   1     1       9.201  28.828  24.684  0.00  0.00            0
+ATOM     84    H   1     1       7.381  27.621  22.799  0.00  0.00            0
+ATOM     85    O   1     1       3.653  27.109  27.772  0.00  0.00            0
+ATOM     86    H   1     1       5.126  27.015  26.772  0.00  0.00            0
+ATOM     87    H   1     1       3.031  28.756  27.698  0.00  0.00            0
+ATOM     88    O   1     1       2.596  23.991  32.476  0.00  0.00            0
+ATOM     89    H   1     1       2.879  24.791  30.859  0.00  0.00            0
+ATOM     90    H   1     1       4.003  22.913  32.701  0.00  0.00            0
+ATOM     91    O   1     1       3.083  31.317   3.644  0.00  0.00            0
+ATOM     92    H   1     1       4.133  30.589   2.539  0.00  0.00            0
+ATOM     93    H   1     1       4.218  32.173   5.037  0.00  0.00            0
+ATOM     94    O   1     1       4.661  30.555   9.368  0.00  0.00            0
+ATOM     95    H   1     1       3.184  29.843  10.132  0.00  0.00            0
+ATOM     96    H   1     1       4.358  32.448   9.126  0.00  0.00            0
+ATOM     97    O   1     1       3.465  32.537  15.778  0.00  0.00            0
+ATOM     98    H   1     1       5.072  31.819  15.903  0.00  0.00            0
+ATOM     99    H   1     1       4.055  34.257  15.284  0.00  0.00            0
+ATOM    100    O   1     1       4.215  29.153  20.317  0.00  0.00            0
+ATOM    101    H   1     1       3.658  30.176  18.842  0.00  0.00            0
+ATOM    102    H   1     1       4.959  30.291  21.449  0.00  0.00            0
+ATOM    103    O   1     1       1.126  31.333  28.768  0.00  0.00            0
+ATOM    104    H   1     1       2.395  31.124  29.925  0.00  0.00            0
+ATOM    105    H   1     1       0.768  33.092  28.898  0.00  0.00            0
+ATOM    106    O   1     1       4.881  32.616  32.302  0.00  0.00            0
+ATOM    107    H   1     1       6.588  32.911  31.725  0.00  0.00            0
+ATOM    108    H   1     1       4.486  34.037  33.249  0.00  0.00            0
+ATOM    109    O   1     1       8.962   5.556   0.151  0.00  0.00            0
+ATOM    110    H   1     1       9.652   6.991   0.859  0.00  0.00            0
+ATOM    111    H   1     1       9.173   4.477   1.645  0.00  0.00            0
+ATOM    112    O   1     1       1.833   3.518   5.679  0.00  0.00            0
+ATOM    113    H   1     1       2.889   2.731   6.788  0.00  0.00            0
+ATOM    114    H   1     1       2.789   4.187   4.147  0.00  0.00            0
+ATOM    115    O   1     1      10.510  34.726  13.073  0.00  0.00            0
+ATOM    116    H   1     1      11.920  34.118  11.919  0.00  0.00            0
+ATOM    117    H   1     1      11.295  34.968  14.741  0.00  0.00            0
+ATOM    118    O   1     1       7.212   0.042  22.454  0.00  0.00            0
+ATOM    119    H   1     1       6.924   0.470  24.172  0.00  0.00            0
+ATOM    120    H   1     1       8.319   1.228  21.653  0.00  0.00            0
+ATOM    121    O   1     1       6.365   2.010  27.544  0.00  0.00            0
+ATOM    122    H   1     1       5.954   3.585  26.852  0.00  0.00            0
+ATOM    123    H   1     1       7.758   2.549  28.696  0.00  0.00            0
+ATOM    124    O   1     1      10.833   3.140  30.787  0.00  0.00            0
+ATOM    125    H   1     1      12.697   2.975  30.867  0.00  0.00            0
+ATOM    126    H   1     1      10.389   3.700  32.404  0.00  0.00            0
+ATOM    127    O   1     1       8.684   9.342   3.912  0.00  0.00            0
+ATOM    128    H   1     1       6.985   9.256   4.773  0.00  0.00            0
+ATOM    129    H   1     1       8.684  10.809   3.011  0.00  0.00            0
+ATOM    130    O   1     1       4.873   9.919   7.707  0.00  0.00            0
+ATOM    131    H   1     1       3.698   9.771   6.194  0.00  0.00            0
+ATOM    132    H   1     1       5.047  11.961   7.624  0.00  0.00            0
+ATOM    133    O   1     1      10.031   5.018   9.699  0.00  0.00            0
+ATOM    134    H   1     1       9.675   3.382  10.340  0.00  0.00            0
+ATOM    135    H   1     1       9.132   5.987  10.825  0.00  0.00            0
+ATOM    136    O   1     1      11.246   3.918  21.929  0.00  0.00            0
+ATOM    137    H   1     1      12.614   2.770  22.341  0.00  0.00            0
+ATOM    138    H   1     1      12.073   5.686  21.497  0.00  0.00            0
+ATOM    139    O   1     1       6.825   7.164  25.708  0.00  0.00            0
+ATOM    140    H   1     1       8.036   8.374  25.980  0.00  0.00            0
+ATOM    141    H   1     1       5.206   7.900  25.891  0.00  0.00            0
+ATOM    142    O   1     1      10.171  12.811   0.295  0.00  0.00            0
+ATOM    143    H   1     1      10.033  12.818  -1.609  0.00  0.00            0
+ATOM    144    H   1     1       9.880  14.492   0.480  0.00  0.00            0
+ATOM    145    O   1     1       8.190  17.402   1.253  0.00  0.00            0
+ATOM    146    H   1     1       9.472  18.531   1.253  0.00  0.00            0
+ATOM    147    H   1     1       6.351  17.817   1.568  0.00  0.00            0
+ATOM    148    O   1     1      11.233  16.188   8.299  0.00  0.00            0
+ATOM    149    H   1     1      10.291  17.689   8.166  0.00  0.00            0
+ATOM    150    H   1     1      12.768  17.123   8.733  0.00  0.00            0
+ATOM    151    O   1     1       6.386   8.002  12.846  0.00  0.00            0
+ATOM    152    H   1     1       7.701   8.896  13.655  0.00  0.00            0
+ATOM    153    H   1     1       5.591   8.877  11.519  0.00  0.00            0
+ATOM    154    O   1     1       8.184  10.419  18.848  0.00  0.00            0
+ATOM    155    H   1     1       9.498   9.434  19.905  0.00  0.00            0
+ATOM    156    H   1     1       6.882   9.027  18.948  0.00  0.00            0
+ATOM    157    O   1     1      10.806  14.431  21.328  0.00  0.00            0
+ATOM    158    H   1     1       9.177  13.531  20.670  0.00  0.00            0
+ATOM    159    H   1     1      11.344  15.696  20.448  0.00  0.00            0
+ATOM    160    O   1     1       9.237  13.928  30.341  0.00  0.00            0
+ATOM    161    H   1     1      10.779  14.839  30.522  0.00  0.00            0
+ATOM    162    H   1     1       9.965  13.192  28.899  0.00  0.00            0
+ATOM    163    O   1     1      10.918  21.707   1.864  0.00  0.00            0
+ATOM    164    H   1     1      10.280  23.449   2.279  0.00  0.00            0
+ATOM    165    H   1     1      12.708  21.456   1.749  0.00  0.00            0
+ATOM    166    O   1     1       9.353  16.125  13.927  0.00  0.00            0
+ATOM    167    H   1     1       9.938  17.594  14.618  0.00  0.00            0
+ATOM    168    H   1     1       9.518  16.360  12.244  0.00  0.00            0
+ATOM    169    O   1     1      10.371  11.107  14.268  0.00  0.00            0
+ATOM    170    H   1     1       9.644  10.406  15.859  0.00  0.00            0
+ATOM    171    H   1     1       9.434  12.523  14.117  0.00  0.00            0
+ATOM    172    O   1     1       3.351  22.769  20.196  0.00  0.00            0
+ATOM    173    H   1     1       2.055  23.686  21.503  0.00  0.00            0
+ATOM    174    H   1     1       2.452  21.401  19.413  0.00  0.00            0
+ATOM    175    O   1     1       6.836  21.329  23.199  0.00  0.00            0
+ATOM    176    H   1     1       8.249  20.848  22.320  0.00  0.00            0
+ATOM    177    H   1     1       5.668  21.841  21.886  0.00  0.00            0
+ATOM    178    O   1     1       4.604  15.649  30.043  0.00  0.00            0
+ATOM    179    H   1     1       6.453  15.217  30.207  0.00  0.00            0
+ATOM    180    H   1     1       3.822  14.762  31.562  0.00  0.00            0
+ATOM    181    O   1     1       7.125  19.976   9.421  0.00  0.00            0
+ATOM    182    H   1     1       5.918  20.453  10.730  0.00  0.00            0
+ATOM    183    H   1     1       8.099  21.496   9.491  0.00  0.00            0
+ATOM    184    O   1     1       9.063  25.912  13.186  0.00  0.00            0
+ATOM    185    H   1     1      10.350  26.572  12.367  0.00  0.00            0
+ATOM    186    H   1     1       9.680  24.367  13.697  0.00  0.00            0
+ATOM    187    O   1     1       8.022  22.343  17.042  0.00  0.00            0
+ATOM    188    H   1     1       9.144  23.367  18.074  0.00  0.00            0
+ATOM    189    H   1     1       6.562  23.462  16.852  0.00  0.00            0
+ATOM    190    O   1     1      10.762  26.285  19.963  0.00  0.00            0
+ATOM    191    H   1     1      11.036  27.966  20.538  0.00  0.00            0
+ATOM    192    H   1     1      11.078  25.401  21.456  0.00  0.00            0
+ATOM    193    O   1     1       9.158  22.902  28.391  0.00  0.00            0
+ATOM    194    H   1     1       8.219  23.528  27.085  0.00  0.00            0
+ATOM    195    H   1     1       8.089  21.760  29.509  0.00  0.00            0
+ATOM    196    O   1     1       6.219  20.158  31.921  0.00  0.00            0
+ATOM    197    H   1     1       5.635  18.511  31.161  0.00  0.00            0
+ATOM    198    H   1     1       7.530  19.624  33.071  0.00  0.00            0
+ATOM    199    O   1     1      11.191  31.509   2.617  0.00  0.00            0
+ATOM    200    H   1     1      10.460  32.214   4.108  0.00  0.00            0
+ATOM    201    H   1     1      13.176  31.751   2.577  0.00  0.00            0
+ATOM    202    O   1     1       4.748   0.055   8.605  0.00  0.00            0
+ATOM    203    H   1     1       5.380   0.517  10.183  0.00  0.00            0
+ATOM    204    H   1     1       6.050  -0.306   7.480  0.00  0.00            0
+ATOM    205    O   1     1       8.695  30.809  15.731  0.00  0.00            0
+ATOM    206    H   1     1       9.189  32.103  14.495  0.00  0.00            0
+ATOM    207    H   1     1       8.447  29.069  14.868  0.00  0.00            0
+ATOM    208    O   1     1      10.128  31.402  20.766  0.00  0.00            0
+ATOM    209    H   1     1       9.456  30.905  19.155  0.00  0.00            0
+ATOM    210    H   1     1       9.020  32.731  21.415  0.00  0.00            0
+ATOM    211    O   1     1      12.238  30.162  25.837  0.00  0.00            0
+ATOM    212    H   1     1      11.418  30.908  27.110  0.00  0.00            0
+ATOM    213    H   1     1      12.396  31.331  24.678  0.00  0.00            0
+ATOM    214    O   1     1      10.395  32.537  30.624  0.00  0.00            0
+ATOM    215    H   1     1      11.042  34.339  30.751  0.00  0.00            0
+ATOM    216    H   1     1      11.378  31.486  31.538  0.00  0.00            0
+ATOM    217    O   1     1      10.438   3.626   5.087  0.00  0.00            0
+ATOM    218    H   1     1      12.435   4.082   5.136  0.00  0.00            0
+ATOM    219    H   1     1       9.822   4.284   6.681  0.00  0.00            0
+ATOM    220    O   1     1      14.762   3.401  13.776  0.00  0.00            0
+ATOM    221    H   1     1      16.518   3.824  13.376  0.00  0.00            0
+ATOM    222    H   1     1      13.752   4.757  12.964  0.00  0.00            0
+ATOM    223    O   1     1      12.382   1.012  17.643  0.00  0.00            0
+ATOM    224    H   1     1      13.346   1.997  16.444  0.00  0.00            0
+ATOM    225    H   1     1      11.931   2.133  18.998  0.00  0.00            0
+ATOM    226    O   1     1      15.278   1.293  24.559  0.00  0.00            0
+ATOM    227    H   1     1      16.071   0.946  26.365  0.00  0.00            0
+ATOM    228    H   1     1      15.794   0.199  23.499  0.00  0.00            0
+ATOM    229    O   1     1      22.226  31.627  24.712  0.00  0.00            0
+ATOM    230    H   1     1      23.338  32.595  23.876  0.00  0.00            0
+ATOM    231    H   1     1      22.161  30.053  24.132  0.00  0.00            0
+ATOM    232    O   1     1      15.640   1.847  32.717  0.00  0.00            0
+ATOM    233    H   1     1      17.488   2.473  31.874  0.00  0.00            0
+ATOM    234    H   1     1      16.403   0.869  34.267  0.00  0.00            0
+ATOM    235    O   1     1      14.858  10.199   2.754  0.00  0.00            0
+ATOM    236    H   1     1      13.360  10.712   2.282  0.00  0.00            0
+ATOM    237    H   1     1      14.560   9.316   4.559  0.00  0.00            0
+ATOM    238    O   1     1      15.717   8.469  10.739  0.00  0.00            0
+ATOM    239    H   1     1      17.323   9.581  10.875  0.00  0.00            0
+ATOM    240    H   1     1      14.574   9.631  10.221  0.00  0.00            0
+ATOM    241    O   1     1      15.248  10.398  16.525  0.00  0.00            0
+ATOM    242    H   1     1      16.324   9.181  16.149  0.00  0.00            0
+ATOM    243    H   1     1      14.172  10.488  15.098  0.00  0.00            0
+ATOM    244    O   1     1      13.226   8.438  20.801  0.00  0.00            0
+ATOM    245    H   1     1      14.043   8.996  19.295  0.00  0.00            0
+ATOM    246    H   1     1      14.661   7.802  22.093  0.00  0.00            0
+ATOM    247    O   1     1      10.173  10.961  25.875  0.00  0.00            0
+ATOM    248    H   1     1      11.477  10.223  26.940  0.00  0.00            0
+ATOM    249    H   1     1      11.269  10.738  24.343  0.00  0.00            0
+ATOM    250    O   1     1      12.792   7.737  29.173  0.00  0.00            0
+ATOM    251    H   1     1      12.199   6.038  29.475  0.00  0.00            0
+ATOM    252    H   1     1      14.427   7.450  29.617  0.00  0.00            0
+ATOM    253    O   1     1      15.180  19.498   3.578  0.00  0.00            0
+ATOM    254    H   1     1      14.883  17.596   4.080  0.00  0.00            0
+ATOM    255    H   1     1      16.754  19.579   2.626  0.00  0.00            0
+ATOM    256    O   1     1      12.517  11.093   7.701  0.00  0.00            0
+ATOM    257    H   1     1      12.224  12.778   7.555  0.00  0.00            0
+ATOM    258    H   1     1      11.150  10.393   7.057  0.00  0.00            0
+ATOM    259    O   1     1      16.266  16.271  10.758  0.00  0.00            0
+ATOM    260    H   1     1      16.507  15.795  12.768  0.00  0.00            0
+ATOM    261    H   1     1      17.725  16.977  10.292  0.00  0.00            0
+ATOM    262    O   1     1      14.069  18.399  18.897  0.00  0.00            0
+ATOM    263    H   1     1      15.513  17.523  18.155  0.00  0.00            0
+ATOM    264    H   1     1      14.958  18.709  20.673  0.00  0.00            0
+ATOM    265    O   1     1      14.099  15.480  25.510  0.00  0.00            0
+ATOM    266    H   1     1      13.698  16.872  26.938  0.00  0.00            0
+ATOM    267    H   1     1      12.567  15.379  24.444  0.00  0.00            0
+ATOM    268    O   1     1      13.309  17.574  30.292  0.00  0.00            0
+ATOM    269    H   1     1      14.937  16.934  30.810  0.00  0.00            0
+ATOM    270    H   1     1      13.969  19.494  30.012  0.00  0.00            0
+ATOM    271    O   1     1      18.371  23.257   0.925  0.00  0.00            0
+ATOM    272    H   1     1      19.479  23.480   2.321  0.00  0.00            0
+ATOM    273    H   1     1      19.087  24.325  -0.369  0.00  0.00            0
+ATOM    274    O   1     1      12.100  21.730  11.355  0.00  0.00            0
+ATOM    275    H   1     1      13.141  22.287  12.743  0.00  0.00            0
+ATOM    276    H   1     1      13.467  22.236  10.244  0.00  0.00            0
+ATOM    277    O   1     1      12.163  23.290  23.597  0.00  0.00            0
+ATOM    278    H   1     1      11.324  22.736  24.949  0.00  0.00            0
+ATOM    279    H   1     1      13.882  22.872  23.840  0.00  0.00            0
+ATOM    280    O   1     1      20.173  26.761  22.628  0.00  0.00            0
+ATOM    281    H   1     1      20.206  26.532  20.792  0.00  0.00            0
+ATOM    282    H   1     1      21.556  25.742  23.389  0.00  0.00            0
+ATOM    283    O   1     1      16.701  21.165  22.605  0.00  0.00            0
+ATOM    284    H   1     1      18.028  20.686  23.848  0.00  0.00            0
+ATOM    285    H   1     1      17.104  22.866  21.949  0.00  0.00            0
+ATOM    286    O   1     1      11.391  26.461  33.705  0.00  0.00            0
+ATOM    287    H   1     1       9.841  27.192  34.048  0.00  0.00            0
+ATOM    288    H   1     1      11.776  25.540  35.243  0.00  0.00            0
+ATOM    289    O   1     1       9.898  25.989   4.553  0.00  0.00            0
+ATOM    290    H   1     1       8.902  26.131   6.039  0.00  0.00            0
+ATOM    291    H   1     1      10.287  27.806   4.376  0.00  0.00            0
+ATOM    292    O   1     1      14.308  26.960  10.877  0.00  0.00            0
+ATOM    293    H   1     1      15.302  27.405  12.173  0.00  0.00            0
+ATOM    294    H   1     1      15.463  26.151   9.633  0.00  0.00            0
+ATOM    295    O   1     1      13.433  22.960  16.904  0.00  0.00            0
+ATOM    296    H   1     1      13.409  24.131  18.132  0.00  0.00            0
+ATOM    297    H   1     1      13.624  21.191  17.520  0.00  0.00            0
+ATOM    298    O   1     1      16.409  26.768  26.875  0.00  0.00            0
+ATOM    299    H   1     1      17.590  26.987  25.431  0.00  0.00            0
+ATOM    300    H   1     1      14.751  27.703  26.230  0.00  0.00            0
+ATOM    301    O   1     1      14.405  22.733  29.892  0.00  0.00            0
+ATOM    302    H   1     1      15.423  23.079  28.494  0.00  0.00            0
+ATOM    303    H   1     1      12.826  23.259  29.416  0.00  0.00            0
+ATOM    304    O   1     1       6.905  29.408   0.749  0.00  0.00            0
+ATOM    305    H   1     1       8.428  30.483   1.567  0.00  0.00            0
+ATOM    306    H   1     1       6.353  30.814  -0.444  0.00  0.00            0
+ATOM    307    O   1     1       9.189  34.159   6.509  0.00  0.00            0
+ATOM    308    H   1     1      10.198  34.193   8.002  0.00  0.00            0
+ATOM    309    H   1     1       9.890  35.692   5.785  0.00  0.00            0
+ATOM    310    O   1     1      14.256  32.316   9.369  0.00  0.00            0
+ATOM    311    H   1     1      15.733  32.867   9.486  0.00  0.00            0
+ATOM    312    H   1     1      14.754  30.670  10.090  0.00  0.00            0
+ATOM    313    O   1     1      14.714  30.841  16.516  0.00  0.00            0
+ATOM    314    H   1     1      13.748  29.551  17.279  0.00  0.00            0
+ATOM    315    H   1     1      13.218  31.933  16.614  0.00  0.00            0
+ATOM    316    O   1     1      18.409  33.641  20.611  0.00  0.00            0
+ATOM    317    H   1     1      19.601  32.274  21.115  0.00  0.00            0
+ATOM    318    H   1     1      17.360  32.655  19.518  0.00  0.00            0
+ATOM    319    O   1     1      16.062  28.638  32.207  0.00  0.00            0
+ATOM    320    H   1     1      14.648  27.958  33.253  0.00  0.00            0
+ATOM    321    H   1     1      15.752  28.014  30.522  0.00  0.00            0
+ATOM    322    O   1     1      16.200  30.895   1.473  0.00  0.00            0
+ATOM    323    H   1     1      16.626  29.968  -0.130  0.00  0.00            0
+ATOM    324    H   1     1      17.167  29.833   2.927  0.00  0.00            0
+ATOM    325    O   1     1      20.278   3.529   6.048  0.00  0.00            0
+ATOM    326    H   1     1      20.977   3.611   4.575  0.00  0.00            0
+ATOM    327    H   1     1      21.312   4.513   7.251  0.00  0.00            0
+ATOM    328    O   1     1      23.079   5.778  10.408  0.00  0.00            0
+ATOM    329    H   1     1      24.650   6.259  10.838  0.00  0.00            0
+ATOM    330    H   1     1      22.342   7.609  10.178  0.00  0.00            0
+ATOM    331    O   1     1      19.581   2.031  12.110  0.00  0.00            0
+ATOM    332    H   1     1      19.039   1.082  10.440  0.00  0.00            0
+ATOM    333    H   1     1      21.141   2.991  11.851  0.00  0.00            0
+ATOM    334    O   1     1      22.005   3.223  23.178  0.00  0.00            0
+ATOM    335    H   1     1      21.429   4.090  24.554  0.00  0.00            0
+ATOM    336    H   1     1      20.654   1.791  22.711  0.00  0.00            0
+ATOM    337    O   1     1      16.630   6.422  23.792  0.00  0.00            0
+ATOM    338    H   1     1      16.219   4.804  24.406  0.00  0.00            0
+ATOM    339    H   1     1      17.066   7.128  25.282  0.00  0.00            0
+ATOM    340    O   1     1      21.676   5.564  28.158  0.00  0.00            0
+ATOM    341    H   1     1      20.658   6.717  29.185  0.00  0.00            0
+ATOM    342    H   1     1      23.413   5.828  28.996  0.00  0.00            0
+ATOM    343    O   1     1      15.257   5.265   5.626  0.00  0.00            0
+ATOM    344    H   1     1      16.914   4.519   5.490  0.00  0.00            0
+ATOM    345    H   1     1      15.144   6.150   6.972  0.00  0.00            0
+ATOM    346    O   1     1      20.137  11.082  10.437  0.00  0.00            0
+ATOM    347    H   1     1      20.021  10.947   8.733  0.00  0.00            0
+ATOM    348    H   1     1      21.025  12.555  10.853  0.00  0.00            0
+ATOM    349    O   1     1      23.089  14.627  12.437  0.00  0.00            0
+ATOM    350    H   1     1      24.716  15.254  12.736  0.00  0.00            0
+ATOM    351    H   1     1      23.284  13.228  13.653  0.00  0.00            0
+ATOM    352    O   1     1      24.083  12.649  22.566  0.00  0.00            0
+ATOM    353    H   1     1      22.397  12.663  23.042  0.00  0.00            0
+ATOM    354    H   1     1      24.901  13.851  23.565  0.00  0.00            0
+ATOM    355    O   1     1      17.865   7.909  30.036  0.00  0.00            0
+ATOM    356    H   1     1      17.509   8.045  31.982  0.00  0.00            0
+ATOM    357    H   1     1      18.078   9.582  29.318  0.00  0.00            0
+ATOM    358    O   1     1      18.824   8.486   0.104  0.00  0.00            0
+ATOM    359    H   1     1      19.997  10.191  -0.057  0.00  0.00            0
+ATOM    360    H   1     1      17.077   8.998   0.779  0.00  0.00            0
+ATOM    361    O   1     1      20.122   9.143   5.343  0.00  0.00            0
+ATOM    362    H   1     1      19.373   8.819   3.821  0.00  0.00            0
+ATOM    363    H   1     1      21.998   8.776   5.128  0.00  0.00            0
+ATOM    364    O   1     1      16.413  14.459   5.855  0.00  0.00            0
+ATOM    365    H   1     1      15.536  13.007   5.239  0.00  0.00            0
+ATOM    366    H   1     1      16.006  14.725   7.737  0.00  0.00            0
+ATOM    367    O   1     1      17.561  15.066  15.654  0.00  0.00            0
+ATOM    368    H   1     1      17.575  13.398  16.055  0.00  0.00            0
+ATOM    369    H   1     1      18.978  15.828  16.400  0.00  0.00            0
+ATOM    370    O   1     1      26.374  17.047  24.817  0.00  0.00            0
+ATOM    371    H   1     1      27.983  17.098  25.632  0.00  0.00            0
+ATOM    372    H   1     1      25.629  18.751  24.919  0.00  0.00            0
+ATOM    373    O   1     1      19.784  12.960  28.706  0.00  0.00            0
+ATOM    374    H   1     1      21.662  13.055  28.871  0.00  0.00            0
+ATOM    375    H   1     1      19.545  14.070  27.143  0.00  0.00            0
+ATOM    376    O   1     1      17.891  16.733  32.499  0.00  0.00            0
+ATOM    377    H   1     1      18.327  15.240  31.277  0.00  0.00            0
+ATOM    378    H   1     1      18.633  18.335  31.693  0.00  0.00            0
+ATOM    379    O   1     1      23.733  23.024   1.663  0.00  0.00            0
+ATOM    380    H   1     1      24.800  24.052   2.776  0.00  0.00            0
+ATOM    381    H   1     1      24.693  22.618   0.198  0.00  0.00            0
+ATOM    382    O   1     1      20.789  18.440   9.443  0.00  0.00            0
+ATOM    383    H   1     1      20.766  17.257   7.881  0.00  0.00            0
+ATOM    384    H   1     1      21.896  17.345  10.385  0.00  0.00            0
+ATOM    385    O   1     1      21.574  17.493  17.838  0.00  0.00            0
+ATOM    386    H   1     1      20.597  18.955  17.218  0.00  0.00            0
+ATOM    387    H   1     1      22.538  16.874  16.251  0.00  0.00            0
+ATOM    388    O   1     1      19.168  14.748  24.131  0.00  0.00            0
+ATOM    389    H   1     1      19.711  16.390  23.712  0.00  0.00            0
+ATOM    390    H   1     1      17.429  14.695  24.403  0.00  0.00            0
+ATOM    391    O   1     1      22.149  20.198  24.977  0.00  0.00            0
+ATOM    392    H   1     1      21.639  20.924  26.486  0.00  0.00            0
+ATOM    393    H   1     1      22.656  21.657  24.411  0.00  0.00            0
+ATOM    394    O   1     1      20.565  20.792  29.600  0.00  0.00            0
+ATOM    395    H   1     1      22.264  20.409  30.214  0.00  0.00            0
+ATOM    396    H   1     1      20.548  22.408  30.597  0.00  0.00            0
+ATOM    397    O   1     1      20.802  26.547   9.615  0.00  0.00            0
+ATOM    398    H   1     1      20.099  27.984   8.338  0.00  0.00            0
+ATOM    399    H   1     1      21.277  27.539  11.325  0.00  0.00            0
+ATOM    400    O   1     1      16.283  23.589   7.779  0.00  0.00            0
+ATOM    401    H   1     1      16.093  21.973   6.712  0.00  0.00            0
+ATOM    402    H   1     1      17.901  22.971   8.154  0.00  0.00            0
+ATOM    403    O   1     1      18.469  29.798  13.568  0.00  0.00            0
+ATOM    404    H   1     1      19.712  31.216  13.506  0.00  0.00            0
+ATOM    405    H   1     1      16.872  30.343  14.396  0.00  0.00            0
+ATOM    406    O   1     1      18.790  21.712  16.060  0.00  0.00            0
+ATOM    407    H   1     1      19.878  23.090  16.485  0.00  0.00            0
+ATOM    408    H   1     1      17.201  22.326  15.819  0.00  0.00            0
+ATOM    409    O   1     1      21.747  26.084  16.349  0.00  0.00            0
+ATOM    410    H   1     1      20.783  27.021  15.300  0.00  0.00            0
+ATOM    411    H   1     1      22.705  27.328  17.206  0.00  0.00            0
+ATOM    412    O   1     1      20.769  26.211  32.050  0.00  0.00            0
+ATOM    413    H   1     1      21.488  27.404  33.328  0.00  0.00            0
+ATOM    414    H   1     1      18.989  26.710  32.145  0.00  0.00            0
+ATOM    415    O   1     1      19.820  29.181   5.559  0.00  0.00            0
+ATOM    416    H   1     1      20.991  29.509   4.109  0.00  0.00            0
+ATOM    417    H   1     1      19.431  31.018   6.221  0.00  0.00            0
+ATOM    418    O   1     1      19.240  33.867   7.993  0.00  0.00            0
+ATOM    419    H   1     1      19.107  35.039   6.604  0.00  0.00            0
+ATOM    420    H   1     1      20.697  33.671   9.063  0.00  0.00            0
+ATOM    421    O   1     1      22.511  34.976  15.793  0.00  0.00            0
+ATOM    422    H   1     1      23.716  36.163  16.603  0.00  0.00            0
+ATOM    423    H   1     1      21.699  36.150  14.467  0.00  0.00            0
+ATOM    424    O   1     1      22.622  30.284  19.069  0.00  0.00            0
+ATOM    425    H   1     1      22.049  31.351  17.725  0.00  0.00            0
+ATOM    426    H   1     1      24.411  30.773  19.576  0.00  0.00            0
+ATOM    427    O   1     1      18.639  33.611  28.369  0.00  0.00            0
+ATOM    428    H   1     1      18.226  32.159  29.103  0.00  0.00            0
+ATOM    429    H   1     1      19.906  33.008  27.158  0.00  0.00            0
+ATOM    430    O   1     1      22.520   1.325  31.926  0.00  0.00            0
+ATOM    431    H   1     1      22.803   2.668  30.796  0.00  0.00            0
+ATOM    432    H   1     1      21.045   0.425  31.122  0.00  0.00            0
+ATOM    433    O   1     1      21.754   3.789   1.159  0.00  0.00            0
+ATOM    434    H   1     1      22.085   2.785  -0.180  0.00  0.00            0
+ATOM    435    H   1     1      20.850   5.175   0.610  0.00  0.00            0
+ATOM    436    O   1     1      28.457   5.539  12.133  0.00  0.00            0
+ATOM    437    H   1     1      29.489   4.390  11.182  0.00  0.00            0
+ATOM    438    H   1     1      29.161   7.131  12.587  0.00  0.00            0
+ATOM    439    O   1     1      22.495   5.966  17.324  0.00  0.00            0
+ATOM    440    H   1     1      24.377   5.379  17.393  0.00  0.00            0
+ATOM    441    H   1     1      21.906   5.491  18.857  0.00  0.00            0
+ATOM    442    O   1     1      28.128   3.304  22.287  0.00  0.00            0
+ATOM    443    H   1     1      28.123   2.999  20.491  0.00  0.00            0
+ATOM    444    H   1     1      26.533   3.355  22.876  0.00  0.00            0
+ATOM    445    O   1     1      28.378  10.455  27.266  0.00  0.00            0
+ATOM    446    H   1     1      30.019  10.292  28.051  0.00  0.00            0
+ATOM    447    H   1     1      28.635  10.039  25.463  0.00  0.00            0
+ATOM    448    O   1     1      27.031   8.353  34.806  0.00  0.00            0
+ATOM    449    H   1     1      26.116   9.984  34.571  0.00  0.00            0
+ATOM    450    H   1     1      28.685   8.951  34.739  0.00  0.00            0
+ATOM    451    O   1     1      24.951   8.160   4.454  0.00  0.00            0
+ATOM    452    H   1     1      25.930   9.616   5.160  0.00  0.00            0
+ATOM    453    H   1     1      25.947   7.994   2.724  0.00  0.00            0
+ATOM    454    O   1     1      26.937  12.436   6.869  0.00  0.00            0
+ATOM    455    H   1     1      25.492  13.284   6.708  0.00  0.00            0
+ATOM    456    H   1     1      27.689  13.332   8.266  0.00  0.00            0
+ATOM    457    O   1     1      23.365  11.214  16.933  0.00  0.00            0
+ATOM    458    H   1     1      22.247   9.744  16.789  0.00  0.00            0
+ATOM    459    H   1     1      23.264  12.035  18.539  0.00  0.00            0
+ATOM    460    O   1     1      28.321   8.759  22.158  0.00  0.00            0
+ATOM    461    H   1     1      27.662   6.895  22.482  0.00  0.00            0
+ATOM    462    H   1     1      26.971   9.710  21.902  0.00  0.00            0
+ATOM    463    O   1     1      27.071   6.109  29.555  0.00  0.00            0
+ATOM    464    H   1     1      27.591   7.663  28.857  0.00  0.00            0
+ATOM    465    H   1     1      27.304   6.320  31.261  0.00  0.00            0
+ATOM    466    O   1     1      22.474  11.704  34.640  0.00  0.00            0
+ATOM    467    H   1     1      22.752  13.304  35.584  0.00  0.00            0
+ATOM    468    H   1     1      22.840  12.090  33.030  0.00  0.00            0
+ATOM    469    O   1     1      21.656  14.971   5.615  0.00  0.00            0
+ATOM    470    H   1     1      21.690  15.860   3.977  0.00  0.00            0
+ATOM    471    H   1     1      19.964  14.225   5.774  0.00  0.00            0
+ATOM    472    O   1     1      28.539  21.492   9.820  0.00  0.00            0
+ATOM    473    H   1     1      27.288  22.181   8.688  0.00  0.00            0
+ATOM    474    H   1     1      28.065  22.420  11.602  0.00  0.00            0
+ATOM    475    O   1     1      28.364  16.020  11.109  0.00  0.00            0
+ATOM    476    H   1     1      30.033  16.649  12.089  0.00  0.00            0
+ATOM    477    H   1     1      28.456  17.440  10.082  0.00  0.00            0
+ATOM    478    O   1     1       0.054  13.686  18.103  0.00  0.00            0
+ATOM    479    H   1     1      -1.714  12.928  18.841  0.00  0.00            0
+ATOM    480    H   1     1       1.008  12.429  17.383  0.00  0.00            0
+ATOM    481    O   1     1      24.636  12.894  29.957  0.00  0.00            0
+ATOM    482    H   1     1      25.906  13.914  31.183  0.00  0.00            0
+ATOM    483    H   1     1      25.641  11.609  29.162  0.00  0.00            0
+ATOM    484    O   1     1      21.548  17.250   0.749  0.00  0.00            0
+ATOM    485    H   1     1      21.843  19.026   0.905  0.00  0.00            0
+ATOM    486    H   1     1      20.385  16.716  -0.697  0.00  0.00            0
+ATOM    487    O   1     1      26.095  27.274   4.520  0.00  0.00            0
+ATOM    488    H   1     1      27.889  26.458   4.505  0.00  0.00            0
+ATOM    489    H   1     1      25.648  26.970   6.165  0.00  0.00            0
+ATOM    490    O   1     1      23.610  22.515   8.008  0.00  0.00            0
+ATOM    491    H   1     1      22.653  21.187   8.739  0.00  0.00            0
+ATOM    492    H   1     1      22.286  24.095   8.444  0.00  0.00            0
+ATOM    493    O   1     1      27.355  18.929  18.180  0.00  0.00            0
+ATOM    494    H   1     1      27.200  20.349  17.155  0.00  0.00            0
+ATOM    495    H   1     1      25.579  18.322  18.770  0.00  0.00            0
+ATOM    496    O   1     1      26.765  23.633  14.444  0.00  0.00            0
+ATOM    497    H   1     1      27.441  25.298  13.651  0.00  0.00            0
+ATOM    498    H   1     1      25.086  24.256  14.749  0.00  0.00            0
+ATOM    499    O   1     1      31.478  20.769  20.986  0.00  0.00            0
+ATOM    500    H   1     1      30.440  22.509  21.135  0.00  0.00            0
+ATOM    501    H   1     1      30.567  19.656  20.043  0.00  0.00            0
+ATOM    502    O   1     1      24.812  20.412  32.668  0.00  0.00            0
+ATOM    503    H   1     1      26.242  21.478  31.874  0.00  0.00            0
+ATOM    504    H   1     1      25.787  19.023  33.158  0.00  0.00            0
+ATOM    505    O   1     1      22.105  29.076   0.928  0.00  0.00            0
+ATOM    506    H   1     1      23.296  27.923   1.739  0.00  0.00            0
+ATOM    507    H   1     1      22.623  30.994   0.882  0.00  0.00            0
+ATOM    508    O   1     1      29.572  31.256   8.626  0.00  0.00            0
+ATOM    509    H   1     1      30.795  30.203   7.736  0.00  0.00            0
+ATOM    510    H   1     1      28.277  31.519   7.260  0.00  0.00            0
+ATOM    511    O   1     1      31.817  34.843  18.283  0.00  0.00            0
+ATOM    512    H   1     1      32.438  34.389  16.474  0.00  0.00            0
+ATOM    513    H   1     1      32.743  36.422  18.341  0.00  0.00            0
+ATOM    514    O   1     1      27.915  25.601  19.033  0.00  0.00            0
+ATOM    515    H   1     1      29.358  26.561  19.190  0.00  0.00            0
+ATOM    516    H   1     1      28.148  24.429  17.530  0.00  0.00            0
+ATOM    517    O   1     1      24.548  24.654  24.025  0.00  0.00            0
+ATOM    518    H   1     1      25.528  25.635  22.824  0.00  0.00            0
+ATOM    519    H   1     1      25.300  25.200  25.645  0.00  0.00            0
+ATOM    520    O   1     1      28.540  22.922  30.370  0.00  0.00            0
+ATOM    521    H   1     1      27.414  24.096  29.781  0.00  0.00            0
+ATOM    522    H   1     1      29.674  23.914  31.873  0.00  0.00            0
+ATOM    523    O   1     1      24.969  33.623   1.014  0.00  0.00            0
+ATOM    524    H   1     1      26.521  33.058   1.518  0.00  0.00            0
+ATOM    525    H   1     1      24.990  34.322  -0.683  0.00  0.00            0
+ATOM    526    O   1     1      23.075  32.171  11.324  0.00  0.00            0
+ATOM    527    H   1     1      23.316  32.775  13.097  0.00  0.00            0
+ATOM    528    H   1     1      24.460  33.203  10.662  0.00  0.00            0
+ATOM    529    O   1     1      27.497   2.736  17.224  0.00  0.00            0
+ATOM    530    H   1     1      28.397   3.415  15.715  0.00  0.00            0
+ATOM    531    H   1     1      28.234   1.233  17.412  0.00  0.00            0
+ATOM    532    O   1     1      26.369  33.060  22.077  0.00  0.00            0
+ATOM    533    H   1     1      26.170  34.746  22.264  0.00  0.00            0
+ATOM    534    H   1     1      27.592  32.404  23.321  0.00  0.00            0
+ATOM    535    O   1     1      30.221  30.950  25.843  0.00  0.00            0
+ATOM    536    H   1     1      30.305  29.038  26.208  0.00  0.00            0
+ATOM    537    H   1     1      30.363  31.979  27.414  0.00  0.00            0
+ATOM    538    O   1     1      24.973  26.732  28.607  0.00  0.00            0
+ATOM    539    H   1     1      25.385  28.369  29.248  0.00  0.00            0
+ATOM    540    H   1     1      23.330  26.597  29.234  0.00  0.00            0
+ATOM    541    O   1     1      32.165   4.857   2.258  0.00  0.00            0
+ATOM    542    H   1     1      32.417   6.195   1.157  0.00  0.00            0
+ATOM    543    H   1     1      32.615   3.727   1.112  0.00  0.00            0
+ATOM    544    O   1     1      28.067   3.533   5.217  0.00  0.00            0
+ATOM    545    H   1     1      26.960   4.447   4.158  0.00  0.00            0
+ATOM    546    H   1     1      29.875   3.863   4.448  0.00  0.00            0
+ATOM    547    O   1     1      33.279   2.782  13.028  0.00  0.00            0
+ATOM    548    H   1     1      33.708   3.955  11.817  0.00  0.00            0
+ATOM    549    H   1     1      33.656   3.545  14.631  0.00  0.00            0
+ATOM    550    O   1     1      34.278   4.944  17.492  0.00  0.00            0
+ATOM    551    H   1     1      33.438   6.563  17.876  0.00  0.00            0
+ATOM    552    H   1     1      34.906   4.452  18.995  0.00  0.00            0
+ATOM    553    O   1     1      32.363   1.908  26.092  0.00  0.00            0
+ATOM    554    H   1     1      31.941   1.683  24.268  0.00  0.00            0
+ATOM    555    H   1     1      33.850   1.390  26.904  0.00  0.00            0
+ATOM    556    O   1     1      27.982   0.418  28.241  0.00  0.00            0
+ATOM    557    H   1     1      27.516   2.080  28.309  0.00  0.00            0
+ATOM    558    H   1     1      29.593   0.176  27.299  0.00  0.00            0
+ATOM    559    O   1     1      28.845  14.672   2.724  0.00  0.00            0
+ATOM    560    H   1     1      27.963  13.930   4.139  0.00  0.00            0
+ATOM    561    H   1     1      30.386  15.714   3.379  0.00  0.00            0
+ATOM    562    O   1     1      28.083  10.618  14.298  0.00  0.00            0
+ATOM    563    H   1     1      28.623  12.160  13.293  0.00  0.00            0
+ATOM    564    H   1     1      26.486  11.015  15.379  0.00  0.00            0
+ATOM    565    O   1     1      33.867  10.545  13.306  0.00  0.00            0
+ATOM    566    H   1     1      35.165   9.612  13.810  0.00  0.00            0
+ATOM    567    H   1     1      33.615  10.270  11.513  0.00  0.00            0
+ATOM    568    O   1     1      31.790   9.696  18.223  0.00  0.00            0
+ATOM    569    H   1     1      30.484   9.334  19.421  0.00  0.00            0
+ATOM    570    H   1     1      30.834  10.096  16.929  0.00  0.00            0
+ATOM    571    O   1     1      30.141  15.006  21.532  0.00  0.00            0
+ATOM    572    H   1     1      28.565  15.594  22.099  0.00  0.00            0
+ATOM    573    H   1     1      30.942  14.253  23.077  0.00  0.00            0
+ATOM    574    O   1     1      32.798  10.732  30.680  0.00  0.00            0
+ATOM    575    H   1     1      34.073   9.528  30.799  0.00  0.00            0
+ATOM    576    H   1     1      32.991  11.512  28.983  0.00  0.00            0
+ATOM    577    O   1     1      33.652  16.265   5.086  0.00  0.00            0
+ATOM    578    H   1     1      35.399  16.239   4.730  0.00  0.00            0
+ATOM    579    H   1     1      33.503  17.939   5.631  0.00  0.00            0
+ATOM    580    O   1     1      31.947  10.799   7.943  0.00  0.00            0
+ATOM    581    H   1     1      29.894  10.549   7.619  0.00  0.00            0
+ATOM    582    H   1     1      32.271  12.414   7.075  0.00  0.00            0
+ATOM    583    O   1     1       0.329  15.516  11.746  0.00  0.00            0
+ATOM    584    H   1     1      -0.446  14.249  12.939  0.00  0.00            0
+ATOM    585    H   1     1      -0.685  17.018  11.935  0.00  0.00            0
+ATOM    586    O   1     1       4.262  19.165  14.308  0.00  0.00            0
+ATOM    587    H   1     1       3.579  17.691  14.920  0.00  0.00            0
+ATOM    588    H   1     1       5.723  19.183  15.204  0.00  0.00            0
+ATOM    589    O   1     1      32.995  13.546  25.948  0.00  0.00            0
+ATOM    590    H   1     1      32.167  15.060  26.787  0.00  0.00            0
+ATOM    591    H   1     1      34.425  13.800  25.007  0.00  0.00            0
+ATOM    592    O   1     1       1.773  13.524  34.037  0.00  0.00            0
+ATOM    593    H   1     1       0.227  14.409  33.446  0.00  0.00            0
+ATOM    594    H   1     1       2.167  14.670  35.511  0.00  0.00            0
+ATOM    595    O   1     1      33.029  20.529   7.247  0.00  0.00            0
+ATOM    596    H   1     1      34.388  21.414   8.003  0.00  0.00            0
+ATOM    597    H   1     1      31.451  20.831   8.182  0.00  0.00            0
+ATOM    598    O   1     1       2.037  24.250  10.251  0.00  0.00            0
+ATOM    599    H   1     1       3.743  25.008   9.876  0.00  0.00            0
+ATOM    600    H   1     1       1.894  25.043  11.903  0.00  0.00            0
+ATOM    601    O   1     1      32.753  19.259  13.976  0.00  0.00            0
+ATOM    602    H   1     1      32.792  20.886  13.792  0.00  0.00            0
+ATOM    603    H   1     1      34.334  18.799  14.976  0.00  0.00            0
+ATOM    604    O   1     1       0.396  18.673  18.699  0.00  0.00            0
+ATOM    605    H   1     1      -1.211  18.950  19.127  0.00  0.00            0
+ATOM    606    H   1     1       0.469  16.977  18.436  0.00  0.00            0
+ATOM    607    O   1     1      30.855  18.370  27.959  0.00  0.00            0
+ATOM    608    H   1     1      29.759  19.681  28.690  0.00  0.00            0
+ATOM    609    H   1     1      32.103  19.477  26.763  0.00  0.00            0
+ATOM    610    O   1     1      27.723  15.992  33.091  0.00  0.00            0
+ATOM    611    H   1     1      29.390  16.423  32.192  0.00  0.00            0
+ATOM    612    H   1     1      27.801  15.859  34.804  0.00  0.00            0
+ATOM    613    O   1     1      31.068  27.895   3.348  0.00  0.00            0
+ATOM    614    H   1     1      32.517  27.825   4.610  0.00  0.00            0
+ATOM    615    H   1     1      31.529  29.459   2.324  0.00  0.00            0
+ATOM    616    O   1     1      35.039  28.008   6.663  0.00  0.00            0
+ATOM    617    H   1     1      35.966  26.934   7.683  0.00  0.00            0
+ATOM    618    H   1     1      36.055  28.336   5.336  0.00  0.00            0
+ATOM    619    O   1     1      29.356  28.196  13.025  0.00  0.00            0
+ATOM    620    H   1     1      29.210  29.335  14.589  0.00  0.00            0
+ATOM    621    H   1     1      28.874  29.629  11.867  0.00  0.00            0
+ATOM    622    O   1     1      32.386  28.434  18.961  0.00  0.00            0
+ATOM    623    H   1     1      33.368  28.574  20.411  0.00  0.00            0
+ATOM    624    H   1     1      33.410  27.406  17.949  0.00  0.00            0
+ATOM    625    O   1     1      30.898  25.390  25.799  0.00  0.00            0
+ATOM    626    H   1     1      32.369  25.913  24.580  0.00  0.00            0
+ATOM    627    H   1     1      31.317  24.075  27.029  0.00  0.00            0
+ATOM    628    O   1     1      32.259  25.611  33.104  0.00  0.00            0
+ATOM    629    H   1     1      32.238  25.736  34.806  0.00  0.00            0
+ATOM    630    H   1     1      33.920  25.042  32.775  0.00  0.00            0
+ATOM    631    O   1     1      30.290  32.645   1.341  0.00  0.00            0
+ATOM    632    H   1     1      29.949  32.793  -0.430  0.00  0.00            0
+ATOM    633    H   1     1      31.762  33.340   1.847  0.00  0.00            0
+ATOM    634    O   1     1      25.536  34.235   6.469  0.00  0.00            0
+ATOM    635    H   1     1      25.716  36.059   6.651  0.00  0.00            0
+ATOM    636    H   1     1      25.283  33.866   4.895  0.00  0.00            0
+ATOM    637    O   1     1      31.674  33.161  13.106  0.00  0.00            0
+ATOM    638    H   1     1      31.793  34.863  13.281  0.00  0.00            0
+ATOM    639    H   1     1      30.425  32.928  11.783  0.00  0.00            0
+ATOM    640    O   1     1      33.844  32.668  22.296  0.00  0.00            0
+ATOM    641    H   1     1      32.750  32.234  23.524  0.00  0.00            0
+ATOM    642    H   1     1      32.917  32.875  20.736  0.00  0.00            0
+ATOM    643    O   1     1      31.603  30.542  30.805  0.00  0.00            0
+ATOM    644    H   1     1      33.451  30.804  30.468  0.00  0.00            0
+ATOM    645    H   1     1      31.575  28.816  31.756  0.00  0.00            0
+ATOM    646    O   1     1      26.295  31.235  30.599  0.00  0.00            0
+ATOM    647    H   1     1      27.834  30.515  30.607  0.00  0.00            0
+ATOM    648    H   1     1      26.362  32.920  29.856  0.00  0.00            0
+END
diff --git a/tools/i-pi/examples/tutorial/README b/tools/i-pi/examples/tutorial/README
new file mode 100644
index 0000000000..3062659bd0
--- /dev/null
+++ b/tools/i-pi/examples/tutorial/README
@@ -0,0 +1,6 @@
+ -- Example with the rudimentary PH2 code --
+
+ * This gives an example of para-H2 with the isotropic Silvera-Goldman 
+   pair potential, as discussed in the tutorial section of the user manual.
+   Please refer to this section for more detailed instructions
+   on how to run this example.
diff --git a/tools/i-pi/examples/tutorial/tutorial-1/our_ref.pdb b/tools/i-pi/examples/tutorial/tutorial-1/our_ref.pdb
new file mode 100755
index 0000000000..fbeba1afc9
--- /dev/null
+++ b/tools/i-pi/examples/tutorial/tutorial-1/our_ref.pdb
@@ -0,0 +1,111 @@
+TITLE              Traj: positions{angstrom} Step:           0  Bead:       1 
+CRYST1   17.847   17.847   17.847  90.00  90.00  90.00 P 1           1
+ATOM      1   H2   1     1       0.147   0.132   0.114  0.00  0.00             0
+ATOM      2   H2   1     1      -0.125   2.943   3.188  0.00  0.00             0
+ATOM      3   H2   1     1       3.042   2.937   0.107  0.00  0.00             0
+ATOM      4   H2   1     1       2.976  -0.148   2.960  0.00  0.00             0
+ATOM      5   H2   1     1      -0.229  -0.030   5.923  0.00  0.00             0
+ATOM      6   H2   1     1       0.094   2.999   8.915  0.00  0.00             0
+ATOM      7   H2   1     1       2.954   2.895   5.910  0.00  0.00             0
+ATOM      8   H2   1     1       2.892  -0.155   8.870  0.00  0.00             0
+ATOM      9   H2   1     1      -0.048   0.087  11.901  0.00  0.00             0
+ATOM     10   H2   1     1       0.017   2.947  14.955  0.00  0.00             0
+ATOM     11   H2   1     1       2.979   2.989  11.875  0.00  0.00             0
+ATOM     12   H2   1     1       2.976   0.114  14.794  0.00  0.00             0
+ATOM     13   H2   1     1      -0.053   5.852  -0.165  0.00  0.00             0
+ATOM     14   H2   1     1       0.006   8.858   3.040  0.00  0.00             0
+ATOM     15   H2   1     1       3.041   8.951  -0.096  0.00  0.00             0
+ATOM     16   H2   1     1       3.007   5.879   2.876  0.00  0.00             0
+ATOM     17   H2   1     1       0.057   5.910   6.036  0.00  0.00             0
+ATOM     18   H2   1     1      -0.097   8.867   8.804  0.00  0.00             0
+ATOM     19   H2   1     1       2.832   8.766   5.719  0.00  0.00             0
+ATOM     20   H2   1     1       3.148   5.956   8.964  0.00  0.00             0
+ATOM     21   H2   1     1       0.031   5.974  11.932  0.00  0.00             0
+ATOM     22   H2   1     1       0.124   8.972  14.723  0.00  0.00             0
+ATOM     23   H2   1     1       2.998   8.861  11.952  0.00  0.00             0
+ATOM     24   H2   1     1       2.971   5.943  14.914  0.00  0.00             0
+ATOM     25   H2   1     1       0.009  11.770   0.089  0.00  0.00             0
+ATOM     26   H2   1     1       0.015  14.931   2.992  0.00  0.00             0
+ATOM     27   H2   1     1       2.924  14.889   0.062  0.00  0.00             0
+ATOM     28   H2   1     1       2.832  11.918   3.162  0.00  0.00             0
+ATOM     29   H2   1     1      -0.097  11.885   6.105  0.00  0.00             0
+ATOM     30   H2   1     1       0.169  14.731   8.889  0.00  0.00             0
+ATOM     31   H2   1     1       2.877  14.750   5.921  0.00  0.00             0
+ATOM     32   H2   1     1       3.078  12.038   8.936  0.00  0.00             0
+ATOM     33   H2   1     1       0.019  12.011  11.885  0.00  0.00             0
+ATOM     34   H2   1     1       0.139  14.848  14.841  0.00  0.00             0
+ATOM     35   H2   1     1       2.904  14.835  12.020  0.00  0.00             0
+ATOM     36   H2   1     1       3.083  12.013  14.942  0.00  0.00             0
+ATOM     37   H2   1     1       6.042   0.051  -0.122  0.00  0.00             0
+ATOM     38   H2   1     1       5.911   2.957   2.811  0.00  0.00             0
+ATOM     39   H2   1     1       8.949   3.111   0.013  0.00  0.00             0
+ATOM     40   H2   1     1       8.991  -0.010   2.794  0.00  0.00             0
+ATOM     41   H2   1     1       6.061   0.042   6.018  0.00  0.00             0
+ATOM     42   H2   1     1       6.156   3.002   8.708  0.00  0.00             0
+ATOM     43   H2   1     1       8.922   3.069   5.909  0.00  0.00             0
+ATOM     44   H2   1     1       8.988   0.132   9.006  0.00  0.00             0
+ATOM     45   H2   1     1       5.916   0.157  11.936  0.00  0.00             0
+ATOM     46   H2   1     1       6.011   2.841  14.909  0.00  0.00             0
+ATOM     47   H2   1     1       8.974   2.990  11.906  0.00  0.00             0
+ATOM     48   H2   1     1       8.946  -0.012  14.762  0.00  0.00             0
+ATOM     49   H2   1     1       5.871   5.856  -0.119  0.00  0.00             0
+ATOM     50   H2   1     1       6.164   8.843   3.017  0.00  0.00             0
+ATOM     51   H2   1     1       9.193   8.762   0.076  0.00  0.00             0
+ATOM     52   H2   1     1       8.834   5.965   2.835  0.00  0.00             0
+ATOM     53   H2   1     1       5.987   6.003   5.941  0.00  0.00             0
+ATOM     54   H2   1     1       5.977   8.974   8.839  0.00  0.00             0
+ATOM     55   H2   1     1       9.025   8.846   6.022  0.00  0.00             0
+ATOM     56   H2   1     1       8.848   5.694   9.143  0.00  0.00             0
+ATOM     57   H2   1     1       5.924   6.032  11.865  0.00  0.00             0
+ATOM     58   H2   1     1       6.019   8.827  14.866  0.00  0.00             0
+ATOM     59   H2   1     1       8.835   9.076  11.941  0.00  0.00             0
+ATOM     60   H2   1     1       8.891   6.039  14.895  0.00  0.00             0
+ATOM     61   H2   1     1       5.856  11.998   0.105  0.00  0.00             0
+ATOM     62   H2   1     1       5.828  14.783   2.903  0.00  0.00             0
+ATOM     63   H2   1     1       8.942  14.899  -0.042  0.00  0.00             0
+ATOM     64   H2   1     1       8.930  11.966   3.015  0.00  0.00             0
+ATOM     65   H2   1     1       6.073  11.865   5.912  0.00  0.00             0
+ATOM     66   H2   1     1       6.031  14.891   8.979  0.00  0.00             0
+ATOM     67   H2   1     1       8.972  14.858   5.883  0.00  0.00             0
+ATOM     68   H2   1     1       8.957  11.835   8.967  0.00  0.00             0
+ATOM     69   H2   1     1       5.966  11.882  12.044  0.00  0.00             0
+ATOM     70   H2   1     1       5.947  14.705  14.774  0.00  0.00             0
+ATOM     71   H2   1     1       8.876  14.853  11.951  0.00  0.00             0
+ATOM     72   H2   1     1       8.992  11.917  14.929  0.00  0.00             0
+ATOM     73   H2   1     1      11.946   0.088  -0.028  0.00  0.00             0
+ATOM     74   H2   1     1      11.829   3.081   3.117  0.00  0.00             0
+ATOM     75   H2   1     1      15.004   3.033  -0.008  0.00  0.00             0
+ATOM     76   H2   1     1      14.828   0.120   3.029  0.00  0.00             0
+ATOM     77   H2   1     1      11.906   0.017   5.995  0.00  0.00             0
+ATOM     78   H2   1     1      11.873   2.916   9.016  0.00  0.00             0
+ATOM     79   H2   1     1      14.907   3.062   5.960  0.00  0.00             0
+ATOM     80   H2   1     1      14.948  -0.122   8.864  0.00  0.00             0
+ATOM     81   H2   1     1      11.869  -0.118  11.930  0.00  0.00             0
+ATOM     82   H2   1     1      11.932   2.863  14.979  0.00  0.00             0
+ATOM     83   H2   1     1      14.835   2.976  12.018  0.00  0.00             0
+ATOM     84   H2   1     1      14.852  -0.218  14.783  0.00  0.00             0
+ATOM     85   H2   1     1      11.892   5.990   0.058  0.00  0.00             0
+ATOM     86   H2   1     1      11.816   8.684   2.936  0.00  0.00             0
+ATOM     87   H2   1     1      14.958   8.876  -0.055  0.00  0.00             0
+ATOM     88   H2   1     1      14.840   6.061   2.916  0.00  0.00             0
+ATOM     89   H2   1     1      11.911   5.971   5.726  0.00  0.00             0
+ATOM     90   H2   1     1      11.921   8.947   8.915  0.00  0.00             0
+ATOM     91   H2   1     1      15.032   8.972   5.831  0.00  0.00             0
+ATOM     92   H2   1     1      14.699   5.889   8.931  0.00  0.00             0
+ATOM     93   H2   1     1      11.765   5.844  11.846  0.00  0.00             0
+ATOM     94   H2   1     1      11.983   8.755  14.933  0.00  0.00             0
+ATOM     95   H2   1     1      14.840   8.926  11.947  0.00  0.00             0
+ATOM     96   H2   1     1      14.976   5.712  14.771  0.00  0.00             0
+ATOM     97   H2   1     1      11.824  11.871  -0.007  0.00  0.00             0
+ATOM     98   H2   1     1      11.894  14.840   2.771  0.00  0.00             0
+ATOM     99   H2   1     1      15.039  14.928   0.021  0.00  0.00             0
+ATOM    100   H2   1     1      14.876  11.851   2.910  0.00  0.00             0
+ATOM    101   H2   1     1      11.785  11.934   6.071  0.00  0.00             0
+ATOM    102   H2   1     1      11.937  14.681   8.929  0.00  0.00             0
+ATOM    103   H2   1     1      14.935  14.902   5.873  0.00  0.00             0
+ATOM    104   H2   1     1      14.882  11.944   9.007  0.00  0.00             0
+ATOM    105   H2   1     1      11.941  11.956  11.877  0.00  0.00             0
+ATOM    106   H2   1     1      11.791  14.900  14.955  0.00  0.00             0
+ATOM    107   H2   1     1      14.838  14.947  11.831  0.00  0.00             0
+ATOM    108   H2   1     1      14.891  12.005  15.050  0.00  0.00             0
+END
diff --git a/tools/i-pi/examples/tutorial/tutorial-1/our_ref.xyz b/tools/i-pi/examples/tutorial/tutorial-1/our_ref.xyz
new file mode 100644
index 0000000000..46ecc5b5d9
--- /dev/null
+++ b/tools/i-pi/examples/tutorial/tutorial-1/our_ref.xyz
@@ -0,0 +1,110 @@
+108
+#  CELL(abcABC):  17.8469984966  17.8469984966  17.8469984966  90.00000  90.00000  90.00000  Traj:  positions  Step:  0  Bead:  0  
+H2   0.147000137166   0.132000079971   0.114000117173
+H2   -0.125000123837   2.94299788633   3.18800164278
+H2   3.04200165055   2.93700230854   0.107000161039
+H2   2.97599737714   -0.147999752916   2.96000035008
+H2   -0.228999850096   -0.0300000085539   5.92297467609
+H2   0.0939998645211   2.99900071046   8.91499553915
+H2   2.95399948052   2.89500151338   5.91000983444
+H2   2.8920010786   -0.155000238227   8.8700154763
+H2   -0.0480000242697   0.0869999083873   11.900983782
+H2   0.0169999766244   2.94699846603   14.9550242141
+H2   2.97899781192   2.98899926119   11.875001181
+H2   2.97599737714   0.114000117173   14.7939955891
+H2   -0.0529997434675   5.85201201223   -0.165000099964
+H2   0.00600002287786   8.85800315363   3.04000136069
+H2   3.04100150562   8.95097958943   -0.0960001543749
+H2   3.00700186988   5.87900004994   2.87599875977
+H2   0.0569997939979   5.91000983444   6.03600692814
+H2   -0.0969997701246   8.8669991662   8.80397416049
+H2   2.83199767476   8.76597923681   5.71897686163
+H2   3.14800113748   5.95599533399   8.96399734879
+H2   0.0309999947276   5.97398735913   11.9319935665
+H2   0.12399997891   8.97198792467   14.7229800075
+H2   2.99800056553   8.86101946373   11.9519964651
+H2   2.97100194428   5.94297757463   14.9140129803
+H2   0.00899998139907   11.7700124225   0.0890001982411
+H2   0.0150000042769   14.9309995688   2.99199969597
+H2   2.92400042449   14.8889828983   0.0619999894552
+H2   2.83199767476   11.9180232882   3.16199787469
+H2   -0.0969997701246   11.8850026303   6.10501163633
+H2   0.169000150494   14.7310235011   8.88901293814
+H2   2.8769989047   14.7500209629   5.92101672041
+H2   3.07800157614   12.0379877617   8.93600387439
+H2   0.0190000018896   12.010999724   11.8850026303
+H2   0.139000036105   14.8480245822   14.8409865253
+H2   2.90399752595   14.8350068229   12.0199957365
+H2   3.08300230078   12.0130105974   14.9420064547
+H2   6.04198663062   0.050999982791   -0.122000218234
+H2   5.91101527114   2.9569999153   2.81099992306
+H2   8.94902163375   3.11100106696   0.0129999790117
+H2   8.9909853865   -0.0100000204905   2.79399745931
+H2   6.06098409246   0.0420000013919   6.018014903
+H2   6.15602431937   3.00200114524   8.7079814146
+H2   8.92198067832   3.0690002718   5.90900439774
+H2   8.98802199413   0.132000079971   9.00601401927
+H2   5.91598953692   0.156999998903   11.9360153133
+H2   6.01097684611   2.8409989791   14.9089857968
+H2   8.97399879806   2.98999940612   11.9060109655
+H2   8.94600532365   -0.011999992838   14.7619803679
+H2   5.87100947407   5.8559808413   -0.118999783453
+H2   6.16401489524   8.84297452087   3.01699802737
+H2   9.19302524528   8.76201040774   0.075999901723
+H2   8.8339785083   5.96499134656   2.83499810954
+H2   5.9870051185   6.00298627024   5.94101961895
+H2   5.97700366923   8.97399879806   8.83900569179
+H2   9.02501148111   8.84599083096   6.02198373208
+H2   8.84800170436   5.69399969732   9.14301799894
+H2   5.92398011279   6.03198518135   11.8649997317
+H2   6.0190203397   8.82699336913   14.8660166074
+H2   8.834983945   9.07602416415   11.9409895791
+H2   8.89102381154   6.03902323824   14.8950155185
+H2   5.8559808413   11.9979819646   0.104999871185
+H2   5.82798736689   14.7829887031   2.90299738102
+H2   8.94198357686   14.8989843475   -0.0420000013919
+H2   8.93002417191   11.9660196611   3.01499773752
+H2   6.07299641512   11.8649997317   5.91202070784
+H2   6.03097974465   14.8909937717   8.97902598156
+H2   8.97198792467   14.8580260315   5.88302179673
+H2   8.95701220962   11.8349953839   8.96701365889
+H2   5.96599678326   11.8819863202   12.0440203819
+H2   5.94699932142   14.7049879824   14.7739926905
+H2   8.87599517877   14.852998848   11.9509910284
+H2   8.9919908232   11.9170178515   14.9289886954
+H2   11.9460167626   0.0880000533142   -0.0279999832887
+H2   11.8290156815   3.08100201092   3.11700193652
+H2   15.0040260237   3.0330003462   -0.00799999522534
+H2   14.8280216837   0.11999992838   3.0289997665
+H2   11.9060109655   0.0169999766244   5.99499569437
+H2   11.8729903076   2.91599926507   9.01601546854
+H2   14.9069749234   3.06199925731   5.96001708079
+H2   14.9479861572   -0.122000218234   8.8639828561
+H2   11.8690214785   -0.118000167703   11.9299826931
+H2   11.9319935665   2.86300216749   14.9789959417
+H2   14.8350068229   2.97599737714   12.0179848631
+H2   14.8519934113   -0.217999843432   14.7829887031
+H2   11.8919877694   5.99002142859   0.0579999389248
+H2   11.8159979221   8.68400968698   2.93600216361
+H2   14.9579876065   8.87599517877   -0.0550000333213
+H2   14.8399810886   6.06098409246   2.91599926507
+H2   11.9109852313   5.97102396676   5.72601491853
+H2   11.9209866806   8.94701076035   8.91499553915
+H2   15.0320194981   8.97198792467   5.83100367699
+H2   14.6990082799   5.88900149921   8.93097669089
+H2   11.764985239   5.84402143636   11.8460022699
+H2   11.9830062496   8.75502526857   14.9330104422
+H2   14.8399810886   8.92600242512   11.9470221993
+H2   14.9759796316   5.71199172246   14.7709763805
+H2   11.823988498   11.8709794342   -0.0070000090516
+H2   11.8939986428   14.8399810886   2.77099941776
+H2   15.0390046373   14.9279832587   0.0209999742371
+H2   14.8760180566   11.8509765357   2.90999839551
+H2   11.7849881376   11.9340044399   6.07098554172
+H2   11.93702075   14.6810162548   8.92901873521
+H2   14.9350213156   14.9020006576   5.87302034746
+H2   14.8819977591   11.9440058892   9.00701945597
+H2   11.9409895791   11.9560182119   11.8770120544
+H2   11.7910207578   14.8999897842   14.9550242141
+H2   14.838023133   14.9469807205   11.8309736371
+H2   14.8909937717   12.0050200215   15.0500115233
diff --git a/tools/i-pi/examples/tutorial/tutorial-1/tutorial-1.xml b/tools/i-pi/examples/tutorial/tutorial-1/tutorial-1.xml
new file mode 100755
index 0000000000..713953fe46
--- /dev/null
+++ b/tools/i-pi/examples/tutorial/tutorial-1/tutorial-1.xml
@@ -0,0 +1,26 @@
+<simulation verbosity='high'>
+   <initialize nbeads='4'>
+      <file mode='pdb' units='angstrom'> our_ref.pdb </file>
+      <velocities mode='thermal' units='kelvin'> 25 </velocities>
+   </initialize>
+   <output prefix='tut1'>
+      <properties filename='md' stride='1'> [step, time{picosecond}, conserved{kelvin}, temperature{kelvin}, potential{kelvin}, kinetic_cv{kelvin}] </properties>
+      <properties filename='force' stride='20'> [atom_f{piconewton}(atom=0;bead=0)] </properties>
+      <trajectory filename='pos' stride='100' format='pdb' cell_units='angstrom'> positions{angstrom} </trajectory>
+      <checkpoint filename='checkpoint' stride='1000' overwrite='True'/>
+   </output>
+   <total_steps> 5000 </total_steps>
+   <forces>
+      <socket mode="inet">
+         <address>localhost</address>
+         <port> 31415 </port>
+      </socket>
+   </forces>
+   <ensemble mode='nvt'>
+      <thermostat mode='pile_g'>
+         <tau units='femtosecond'> 25 </tau>
+      </thermostat>
+      <timestep units='femtosecond'> 1 </timestep>
+      <temperature units='kelvin'> 25 </temperature>
+   </ensemble>
+</simulation>
diff --git a/tools/i-pi/examples/tutorial/tutorial-2/tutorial-1_RESTART b/tools/i-pi/examples/tutorial/tutorial-2/tutorial-1_RESTART
new file mode 100755
index 0000000000..30912ef04a
--- /dev/null
+++ b/tools/i-pi/examples/tutorial/tutorial-2/tutorial-1_RESTART
@@ -0,0 +1,736 @@
+<simulation verbosity='high'>
+   <step>5000</step>
+   <beads natoms='108' nbeads='4'>
+      <q shape='(4, 324)'>
+       [  -1.83955900e+00,  -2.24073938e+00,  -1.08250020e+00,  -5.70795599e-01,   7.32627980e+00, 
+           7.19210265e+00,  -3.30615234e-01,   3.98119438e+00,   1.51691432e+00,   2.52717260e+00, 
+          -1.27666806e+00,   4.73413388e+00,   1.12126184e+00,   1.26764230e+00,   1.02704916e+01, 
+           1.29998780e+00,   3.73413588e+00,   1.61919862e+01,   5.88202729e+00,   8.04850032e+00, 
+           1.24311326e+01,   1.02078708e+01,   1.86360455e+00,   1.64012625e+01,   1.17619062e+00, 
+           4.24983476e-01,   2.55535965e+01,   1.65002846e-01,   5.34507262e+00,   2.73617602e+01, 
+           6.62641741e+00,   5.73764066e+00,   2.33893339e+01,   6.10026934e+00,   2.56958142e+00, 
+           2.92780910e+01,   2.01269291e+00,   8.69979574e+00,  -6.33324249e-01,   1.14898211e+00, 
+           1.61301653e+01,   3.70551886e+00,   5.80295868e+00,   1.66782201e+01,   2.75413040e-01, 
+           5.71194979e+00,   1.32139518e+01,   7.47120998e+00,   2.90527832e+00,   1.26243247e+01, 
+           1.18688316e+01,   3.86777222e-01,   1.86473408e+01,   1.66542003e+01,   6.49634508e+00, 
+           1.76520477e+01,   1.52792529e+01,   9.56145353e+00,   1.16514109e+01,   1.76464481e+01, 
+           7.90247690e-01,   1.28040514e+01,   1.99445660e+01,   1.91319083e+00,   1.48232256e+01, 
+           2.81978021e+01,   7.47808952e+00,   1.73026463e+01,   2.15060634e+01,   7.95108626e+00, 
+           9.08836417e+00,   2.88452581e+01,  -8.39364894e-01,   2.33095835e+01,  -1.26661254e+00, 
+          -2.26048825e+00,   2.73659085e+01,   6.83034984e+00,   5.55328952e+00,   3.00964760e+01, 
+          -2.13570013e+00,   3.85462300e+00,   2.11139559e+01,   6.98601751e+00,  -1.69779185e+00, 
+           2.02798593e+01,   8.98144417e+00,  -1.83724239e+00,   2.74015435e+01,   1.70384301e+01, 
+           5.49534087e+00,   2.92028322e+01,   1.28972834e+01,   4.00538016e+00,   2.38450279e+01, 
+           1.73369977e+01,   6.37702010e-01,   2.23536671e+01,   2.24315602e+01,  -9.17792114e-01, 
+           2.76922986e+01,   2.71486460e+01,   4.59352860e+00,   2.73738615e+01,   2.47996576e+01, 
+           3.50789080e+00,   2.24217692e+01,   2.85214338e+01,   1.27744386e+01,  -3.16474409e+00, 
+          -4.32938118e+00,   1.23369331e+01,   5.19778303e+00,   6.29834102e+00,   1.65171169e+01, 
+           7.43433654e+00,  -1.50763053e-01,   1.71757563e+01,   8.73504480e-02,   2.91427460e+00, 
+           1.37000162e+01,   3.58863547e-01,   1.16430675e+01,   1.33468414e+01,   7.88277760e+00, 
+           1.35602855e+01,   1.85311481e+01,   6.66308247e+00,   1.10802627e+01,   1.62994052e+01, 
+           1.15789465e+00,   1.73181503e+01,   9.33358989e+00,   3.82104623e-01,   2.45811794e+01, 
+           1.33131712e+01,   5.68071890e+00,   2.77946720e+01,   1.29013165e+01,   7.27837218e+00, 
+           2.09147450e+01,   1.84799695e+01,  -1.43953367e+00,   2.88271546e+01,   1.06297113e+01, 
+           1.06874159e+01,   1.80009217e+00,   9.88791886e+00,   1.74750501e+01,   5.38215565e+00, 
+           1.75814278e+01,   1.64927163e+01,  -7.22490057e-01,   1.59410372e+01,   1.21327342e+01, 
+           5.31684038e+00,   1.07398656e+01,   1.27687533e+01,   1.11831750e+01,   1.30396209e+01, 
+           1.78543512e+01,   1.53781269e+01,   1.74549497e+01,   1.69593034e+01,   1.25392544e+01, 
+           1.91056959e+01,   1.02634068e+01,   1.58723572e+01,   1.01017169e+01,   1.15340755e+01, 
+           2.42047249e+01,   8.82103648e+00,   1.74196163e+01,   2.71575865e+01,   1.42717489e+01, 
+           1.61565324e+01,   2.20042138e+01,   1.46526399e+01,   1.22238423e+01,   2.82739099e+01, 
+           1.32115234e+01,   2.28595316e+01,  -3.43176969e-01,   9.94990444e+00,   3.15261979e+01, 
+           7.17743425e+00,   1.79725272e+01,   2.66047961e+01,  -1.03202183e-01,   1.46786234e+01, 
+           2.03983934e+01,   6.75355215e+00,   1.21898998e+01,   2.68300650e+01,   1.28501206e+01, 
+           9.52256604e+00,   2.96146284e+01,   1.79253244e+01,   1.48734446e+01,   2.75889170e+01, 
+           7.84459536e+00,   2.04254604e+01,   2.29273727e+01,   1.86587003e+01,   1.36039471e+01, 
+           2.34500168e+01,   1.76328865e+01,   1.06667576e+01,   2.40841230e+01,   2.49370928e+01, 
+           1.38349803e+01,   3.01788493e+01,   2.19453967e+01,   1.96844070e+01,   2.17383789e+01, 
+           2.79207277e+01,   2.40109880e+01,   2.44652621e+00,   7.71232732e-01,   2.28150210e+01, 
+           4.44993033e+00,   6.32217106e+00,   2.86959872e+01,   6.16770811e+00,   2.54155030e+00, 
+           2.86295708e+01,   6.58513110e-01,   7.07847686e+00,   1.91416715e+01,   8.42657055e-01, 
+           1.09318699e+01,   2.21629487e+01,   3.26372053e+00,   1.85487891e+01,   2.42299255e+01, 
+           3.53057281e+00,   1.21895915e+01,   3.07759304e+01,   5.87270948e-01,   1.54581789e+01, 
+           2.21462069e+01,  -3.29544187e+00,   2.17376848e+01,   2.08019829e+01,   5.74042948e+00, 
+           2.91126306e+01,   2.82616387e+01,   4.12726443e+00,   2.38117939e+01,   2.48604110e+01, 
+          -9.81005677e-02,   2.75017597e+01,   2.19769526e+01,   9.55679072e+00,  -3.48501195e-01, 
+           2.15122044e+01,   1.35659683e+01,   4.45218017e+00,   2.70106862e+01,   1.84178475e+01, 
+           2.90258066e+00,   3.09038945e+01,   1.13784966e+01,   3.97619446e+00,   2.33776271e+01, 
+           1.09744756e+01,   9.48584489e+00,   2.30108491e+01,   1.65710971e+01,   1.59074187e+01, 
+           2.90437432e+01,   1.63990319e+01,   1.41164353e+01,   3.03675824e+01,   9.36100919e+00, 
+           1.59902897e+01,   2.19588417e+01,   9.65547975e+00,   2.31178969e+01,   2.07325650e+01, 
+           1.43025889e+01,   2.85076354e+01,   2.79531009e+01,   1.40545290e+01,   1.99579811e+01, 
+           2.86838426e+01,   1.23353706e+01,   2.65845766e+01,   2.36116501e+01,   2.56191152e+01, 
+           5.93663687e+00,   2.14810798e+01,   3.18962824e+01,   6.43104769e+00,   2.61566331e+01, 
+           3.11398548e+01,   2.04112055e+00,   2.78161522e+01,   2.39026490e+01,   3.29230633e+00, 
+           2.35872061e+01,   1.92586393e+01,   9.42997765e+00,   2.18868541e+01,   2.93005866e+01, 
+           1.56731672e+01,   2.57892309e+01,   3.08659127e+01,   1.04565213e+01,   2.89111102e+01, 
+           2.23973168e+01,   1.41543879e+01,   2.40352391e+01,   1.89355855e+01,   2.26713139e+01, 
+           2.60883570e+01,   2.53551683e+01,   3.10959184e+01,   2.56617570e+01,   2.53873006e+01, 
+           2.02938950e+01,   2.87914567e+01,   1.97522769e+01,   2.78202344e+01,  -1.76425983e+00, 
+          -1.53558560e+00,  -1.71338801e+00,  -9.78599968e-01,   6.87902421e+00,   7.88543588e+00, 
+           5.47881861e-01,   3.64324940e+00,   1.39468482e+00,   3.60000249e+00,  -9.28967610e-01, 
+           4.01716866e+00,   2.42995414e+00,   1.05628735e+00,   1.03627265e+01,   9.20694754e-01, 
+           4.29683694e+00,   1.64579850e+01,   6.19121450e+00,   7.68893688e+00,   1.23304998e+01, 
+           9.82833523e+00,   1.54814143e+00,   1.71545209e+01,   6.99417618e-01,   8.54622163e-02, 
+           2.48873966e+01,  -3.11309329e-01,   6.97214120e+00,   2.66220741e+01,   5.25625287e+00, 
+           7.68138067e+00,   2.39284370e+01,   6.25528626e+00,   3.07873577e+00,   3.00882100e+01, 
+           1.15270468e+00,   8.88014098e+00,   3.00512398e-01,   9.30446242e-01,   1.71408264e+01, 
+           3.50661823e+00,   5.83759203e+00,   1.72729331e+01,   3.34582087e-01,   5.40503488e+00, 
+           1.24459036e+01,   5.56073866e+00,   1.21588195e+00,   1.31551680e+01,   1.27378351e+01, 
+          -4.66813441e-01,   1.87703376e+01,   1.69486235e+01,   6.75076580e+00,   1.83449120e+01, 
+           1.48488718e+01,   9.47340998e+00,   1.17932793e+01,   1.67868142e+01,   6.10952151e-01, 
+           1.27008444e+01,   2.15901214e+01,   1.76087373e+00,   1.40248834e+01,   2.78953850e+01, 
+           6.51618548e+00,   1.72532108e+01,   2.04694567e+01,   7.36556309e+00,   9.99912211e+00, 
+           2.91964532e+01,  -7.06531579e-01,   2.27219694e+01,  -1.31954187e+00,  -1.54612461e+00, 
+           2.75038363e+01,   6.70572831e+00,   5.21401215e+00,   2.84508378e+01,  -1.38701455e+00, 
+           5.24874266e+00,   2.15644003e+01,   8.28914156e+00,  -2.21199280e+00,   2.06411930e+01, 
+           9.08490967e+00,  -3.69161804e-01,   2.79213183e+01,   1.67707124e+01,   5.77258212e+00, 
+           2.95534123e+01,   1.29379476e+01,   5.27372097e+00,   2.29618317e+01,   1.82846335e+01, 
+           5.50365226e-01,   2.32915342e+01,   2.26003508e+01,  -3.23975407e-01,   2.71026192e+01, 
+           2.69864390e+01,   5.25571146e+00,   2.84281121e+01,   2.43362803e+01,   4.19783582e+00, 
+           2.23458941e+01,   2.89351055e+01,   1.30027038e+01,  -2.89260409e+00,  -3.32667625e+00, 
+           1.24700611e+01,   5.45576814e+00,   6.79907186e+00,   1.69263149e+01,   5.70732090e+00, 
+           1.52975089e-01,   1.72152577e+01,  -5.86473536e-01,   2.60910235e+00,   1.39562777e+01, 
+           1.10496755e+00,   9.89893108e+00,   1.27550907e+01,   6.50405608e+00,   1.44860215e+01, 
+           1.84418079e+01,   6.98755864e+00,   1.14378627e+01,   1.73685838e+01,   1.03634629e+00, 
+           1.72542968e+01,   9.36166090e+00,   1.26996989e+00,   2.48970836e+01,   1.35415180e+01, 
+           4.84360499e+00,   2.82597230e+01,   1.28859648e+01,   7.62646315e+00,   2.08202186e+01, 
+           1.82323636e+01,  -1.58242560e+00,   2.82645654e+01,   9.67026415e+00,   9.99521608e+00, 
+           1.48323928e+00,   1.06202054e+01,   1.74410916e+01,   5.30476845e+00,   1.68915394e+01, 
+           1.66028258e+01,  -3.98602304e-01,   1.52286166e+01,   1.15951307e+01,   4.88875152e+00, 
+           1.16320855e+01,   1.18462368e+01,   1.17721604e+01,   1.30800856e+01,   1.72687237e+01, 
+           1.52362824e+01,   1.86182764e+01,   1.72413013e+01,   1.32638271e+01,   1.90927913e+01, 
+           1.01652528e+01,   1.60527418e+01,   9.59785151e+00,   1.16306603e+01,   2.32521891e+01, 
+           1.02733588e+01,   1.86418357e+01,   2.65319699e+01,   1.48920616e+01,   1.69296308e+01, 
+           2.24345192e+01,   1.44781142e+01,   1.16768928e+01,   2.87742833e+01,   1.26440243e+01, 
+           2.31651077e+01,   1.09153308e+00,   9.32620240e+00,   3.18068970e+01,   5.91156305e+00, 
+           1.82338682e+01,   2.68163992e+01,  -6.10171355e-01,   1.56193643e+01,   1.99596118e+01, 
+           8.12957661e+00,   1.34391603e+01,   2.79448176e+01,   1.21148599e+01,   9.90095353e+00, 
+           2.95224900e+01,   1.88551608e+01,   1.63687321e+01,   2.81729033e+01,   7.75414361e+00, 
+           2.11290647e+01,   2.30983265e+01,   1.80818117e+01,   1.22179830e+01,   2.36227246e+01, 
+           1.85352948e+01,   1.00736995e+01,   2.52569655e+01,   2.39704097e+01,   1.44179838e+01, 
+           2.90993728e+01,   2.15195489e+01,   1.95569595e+01,   2.20162082e+01,   2.86888343e+01, 
+           2.38790793e+01,   1.81853851e+00,  -8.62424353e-01,   2.30087081e+01,   3.67168316e+00, 
+           5.79906646e+00,   2.86237895e+01,   5.77923269e+00,   1.82976727e+00,   2.97992364e+01, 
+          -2.44824247e-01,   6.97483848e+00,   1.97479547e+01,   1.28907671e+00,   1.06238401e+01, 
+           2.22988651e+01,   3.36189040e+00,   1.99142865e+01,   2.56182622e+01,   4.87467917e+00, 
+           1.16104104e+01,   3.01052148e+01,  -1.89720612e-01,   1.52853202e+01,   2.30601562e+01, 
+          -3.37897609e+00,   2.20210883e+01,   2.21023714e+01,   7.37999253e+00,   2.99827770e+01, 
+           2.83970918e+01,   5.06217176e+00,   2.39324034e+01,   2.36552267e+01,   3.97689851e-01, 
+           2.70250248e+01,   2.32913517e+01,   1.10207360e+01,   7.64503581e-01,   2.00178673e+01, 
+           1.37487336e+01,   4.25542754e+00,   2.60455321e+01,   1.69122386e+01,   2.31534587e+00, 
+           3.04356904e+01,   1.25406626e+01,   5.17675092e+00,   2.38621411e+01,   1.14515762e+01, 
+           9.75443924e+00,   2.25731071e+01,   1.62345346e+01,   1.68317268e+01,   2.84171490e+01, 
+           1.69913568e+01,   1.42827468e+01,   2.97526886e+01,   9.31307649e+00,   1.67785293e+01, 
+           2.17762297e+01,   8.96916957e+00,   2.19718340e+01,   2.22594418e+01,   1.33823144e+01, 
+           2.81207945e+01,   2.77005814e+01,   1.50622075e+01,   2.05455699e+01,   2.92151641e+01, 
+           1.30044976e+01,   2.67938258e+01,   2.17064822e+01,   2.45224793e+01,   5.39644288e+00, 
+           2.09907797e+01,   3.13381910e+01,   6.65786528e+00,   2.44267241e+01,   2.96324924e+01, 
+           1.59248807e+00,   2.81352950e+01,   2.52179231e+01,   3.21255854e+00,   2.29984530e+01, 
+           1.94459863e+01,   9.90712637e+00,   1.95242101e+01,   2.89090489e+01,   1.59338674e+01, 
+           2.54944440e+01,   3.14856070e+01,   1.10580434e+01,   2.91399127e+01,   2.38737698e+01, 
+           1.47156065e+01,   2.36566327e+01,   1.94718712e+01,   2.27327251e+01,   2.67255132e+01, 
+           2.57714727e+01,   3.15584870e+01,   2.55546714e+01,   2.55331520e+01,   2.06608588e+01, 
+           2.85241759e+01,   1.96187079e+01,   2.95686729e+01,  -1.28506833e+00,  -1.19627373e+00, 
+          -1.11505578e+00,  -1.26613495e+00,   6.87769487e+00,   8.86664224e+00,   3.22672767e-01, 
+           3.60048900e+00,   1.75198909e+00,   3.39985912e+00,  -5.38113592e-01,   4.40630180e+00, 
+           2.05527629e+00,   1.04780310e+00,   1.09245524e+01,   1.64433825e+00,   5.07925261e+00, 
+           1.66693862e+01,   6.34528032e+00,   6.84652464e+00,   1.30553942e+01,   9.19503930e+00, 
+           1.02559973e+00,   1.64900202e+01,   1.50883393e+00,   1.94153184e-01,   2.60419984e+01, 
+           2.23637168e-01,   5.88126235e+00,   2.68151686e+01,   6.09330009e+00,   6.41359349e+00, 
+           2.27265508e+01,   5.20417493e+00,   3.02351860e+00,   2.90727542e+01,   5.22759441e-01, 
+           9.07723226e+00,   3.74357289e-01,   5.28407017e-01,   1.77876299e+01,   3.40818122e+00, 
+           4.77500246e+00,   1.61051931e+01,  -7.15798597e-01,   5.35494411e+00,   1.24396028e+01, 
+           5.26132317e+00,   3.65101881e+00,   1.45180281e+01,   1.20044556e+01,   6.47702685e-01, 
+           1.89647984e+01,   1.63575659e+01,   6.85886982e+00,   1.86666656e+01,   1.39918716e+01, 
+           9.63134562e+00,   1.21489398e+01,   1.79744053e+01,  -4.65149892e-02,   1.28820467e+01, 
+           2.20848030e+01,   5.38141652e-01,   1.49773108e+01,   2.86234466e+01,   6.69460622e+00, 
+           1.70430908e+01,   2.03293501e+01,   7.46084699e+00,   9.27068140e+00,   2.87672652e+01, 
+          -1.77446797e+00,   2.31007533e+01,  -1.61541146e+00,  -1.44197270e+00,   2.59669452e+01, 
+           7.05366958e+00,   6.78973516e+00,   2.82048010e+01,  -6.81707442e-01,   4.11224811e+00, 
+           2.33230735e+01,   7.64143788e+00,  -1.30932484e+00,   2.00341346e+01,   8.43186122e+00, 
+          -3.23227570e-01,   2.88456685e+01,   1.71869485e+01,   5.59484664e+00,   2.86861878e+01, 
+           1.38255153e+01,   5.39986151e+00,   2.26670663e+01,   1.74856853e+01,   1.31353338e+00, 
+           2.27240963e+01,   2.26573999e+01,  -6.43284767e-01,   2.75545414e+01,   2.65487243e+01, 
+           6.36781664e+00,   2.89591698e+01,   2.55204798e+01,   4.19690392e+00,   2.20492684e+01, 
+           2.90086623e+01,   1.29407803e+01,  -3.28971533e+00,  -3.59953707e+00,   1.30308691e+01, 
+           4.52526975e+00,   6.05334642e+00,   1.80200038e+01,   6.86934432e+00,  -6.64799107e-01, 
+           1.77004927e+01,  -1.08469207e+00,   2.66573197e+00,   1.33883962e+01,   1.77878946e+00, 
+           1.01478623e+01,   1.28332615e+01,   7.20488713e+00,   1.30030127e+01,   1.82890722e+01, 
+           5.45538575e+00,   1.26731818e+01,   1.64372459e+01,   1.13264799e+00,   1.68270761e+01, 
+           9.29480506e+00,   8.02789471e-01,   2.50004864e+01,   1.30397241e+01,   4.25942991e+00, 
+           2.82105770e+01,   1.34839369e+01,   6.59877473e+00,   1.96748658e+01,   1.90248344e+01, 
+          -7.34844927e-01,   2.61879859e+01,   1.06994814e+01,   1.04221404e+01,   1.19626201e+00, 
+           9.75063627e+00,   1.82675328e+01,   4.79479047e+00,   1.67169178e+01,   1.67708791e+01, 
+          -3.25796174e-01,   1.58140826e+01,   1.07514402e+01,   4.16021066e+00,   1.14190484e+01, 
+           1.20130431e+01,   1.10359921e+01,   1.23286945e+01,   1.73093633e+01,   1.60093426e+01, 
+           1.72472089e+01,   1.71555986e+01,   1.29595403e+01,   1.96515771e+01,   1.07779852e+01, 
+           1.55906451e+01,   1.04066011e+01,   1.06852174e+01,   2.41637389e+01,   9.33300851e+00, 
+           1.72769290e+01,   2.72366205e+01,   1.43344594e+01,   1.55444449e+01,   2.25613745e+01, 
+           1.54876710e+01,   1.23994150e+01,   2.77630051e+01,   1.24465157e+01,   2.22953455e+01, 
+           7.07224538e-01,   9.17225571e+00,   3.04541888e+01,   7.00444346e+00,   1.90451094e+01, 
+           2.68206460e+01,   2.12443190e-01,   1.40421608e+01,   2.16604155e+01,   8.76748146e+00, 
+           1.18599685e+01,   2.63467340e+01,   1.24514910e+01,   9.07508597e+00,   2.94452971e+01, 
+           1.81138604e+01,   1.65350863e+01,   2.76724408e+01,   8.10094240e+00,   2.03902238e+01, 
+           2.19891729e+01,   1.81613540e+01,   1.28241365e+01,   2.30836693e+01,   1.77077396e+01, 
+           1.07839643e+01,   2.43167076e+01,   2.35379387e+01,   1.43368823e+01,   2.99960368e+01, 
+           2.18020500e+01,   1.98836259e+01,   2.10543368e+01,   2.77564511e+01,   2.38873187e+01, 
+           2.63596088e+00,  -8.45710736e-01,   2.26031998e+01,   4.94875239e+00,   6.06483058e+00, 
+           2.72420930e+01,   7.16044030e+00,   2.03664724e+00,   2.83819926e+01,   1.41474271e+00, 
+           6.86956553e+00,   1.90297274e+01,   2.08547446e-01,   1.17356589e+01,   2.20093707e+01, 
+           3.11015561e+00,   1.84015708e+01,   2.55258414e+01,   4.51413195e+00,   1.15060640e+01, 
+           3.04420577e+01,   2.05350822e-01,   1.59037463e+01,   2.20766378e+01,  -3.08680082e+00, 
+           2.27928539e+01,   2.19423049e+01,   6.96063455e+00,   2.93175572e+01,   2.63580580e+01, 
+           4.17130592e+00,   2.37215427e+01,   2.48207538e+01,  -1.10022388e+00,   2.72061284e+01, 
+           2.27735841e+01,   1.10983539e+01,   5.03790539e-01,   2.05447311e+01,   1.35069355e+01, 
+           4.99617490e+00,   2.74249691e+01,   1.74389534e+01,   2.12313453e+00,   3.09387285e+01, 
+           1.30390672e+01,   4.56728163e+00,   2.49467870e+01,   1.09552706e+01,   1.05134177e+01, 
+           2.26330821e+01,   1.67053853e+01,   1.63758180e+01,   2.83218004e+01,   1.73740024e+01, 
+           1.40724154e+01,   3.02682616e+01,   8.35484609e+00,   1.66575388e+01,   2.13501708e+01, 
+           1.01994161e+01,   2.34754835e+01,   2.17794008e+01,   1.46632688e+01,   2.78344546e+01, 
+           2.68554005e+01,   1.40368100e+01,   2.04864069e+01,   2.79509647e+01,   1.19193324e+01, 
+           2.79392613e+01,   2.26582097e+01,   2.45440331e+01,   6.30616900e+00,   2.13859764e+01, 
+           3.08849664e+01,   6.44869190e+00,   2.64928749e+01,   3.02400532e+01,   8.32685758e-01, 
+           2.74640627e+01,   2.40967712e+01,   3.18770838e+00,   2.27412709e+01,   1.85562433e+01, 
+           9.23151490e+00,   2.03983609e+01,   2.91681800e+01,   1.56979455e+01,   2.51695730e+01, 
+           3.07717754e+01,   1.06821424e+01,   2.92168363e+01,   2.36456995e+01,   1.45948324e+01, 
+           2.33527556e+01,   1.93047064e+01,   2.37746530e+01,   2.48248533e+01,   2.61599136e+01, 
+           3.04541638e+01,   2.58041186e+01,   2.56474296e+01,   2.02610796e+01,   2.85417157e+01, 
+           1.88972442e+01,   2.98568715e+01,  -2.38586496e+00,  -7.58828968e-01,  -1.63156635e+00, 
+          -1.24260140e-01,   7.66170676e+00,   8.26519210e+00,   8.18582687e-01,   3.21215177e+00, 
+           8.71469426e-01,   3.32445560e+00,  -1.32118548e+00,   3.91101312e+00,   2.32046567e+00, 
+           1.58370834e+00,   1.07292588e+01,   1.33792245e+00,   4.76690685e+00,   1.57155304e+01, 
+           5.60070334e+00,   7.35450929e+00,   1.13291649e+01,   9.38118665e+00,   1.32457406e+00, 
+           1.64112640e+01,   2.06694803e+00,  -1.08774960e-01,   2.51995098e+01,   5.83962037e-01, 
+           6.14184963e+00,   2.60031487e+01,   7.65609079e+00,   5.60778423e+00,   2.29300579e+01, 
+           5.77114858e+00,   2.13679298e+00,   2.93327862e+01,   2.19806103e+00,   9.68222590e+00, 
+           1.57880111e+00,   3.14284164e-01,   1.73107320e+01,   3.17317841e+00,   5.31032205e+00, 
+           1.67722718e+01,  -3.21992890e-01,   4.86044703e+00,   1.46302272e+01,   6.21744347e+00, 
+           3.23194778e+00,   1.36053502e+01,   1.20906550e+01,   1.05401318e+00,   1.89924170e+01, 
+           1.86500989e+01,   7.28920551e+00,   1.90214147e+01,   1.48608421e+01,   8.94579137e+00, 
+           1.17939437e+01,   1.76451822e+01,  -2.16292241e-01,   1.27470176e+01,   2.10170183e+01, 
+           1.86340865e+00,   1.43620945e+01,   2.88854080e+01,   7.51715045e+00,   1.76892134e+01, 
+           2.12086589e+01,   7.40953137e+00,   8.90283609e+00,   2.82643224e+01,  -1.81615954e+00, 
+           2.35425566e+01,  -6.35391065e-01,  -1.81429720e+00,   2.64341698e+01,   6.21091555e+00, 
+           5.43254354e+00,   2.75836921e+01,  -9.47958758e-01,   4.71567619e+00,   2.21052659e+01, 
+           7.88771418e+00,  -1.66841626e+00,   2.04914383e+01,   8.26675658e+00,  -4.59229759e-01, 
+           2.71579580e+01,   1.68410204e+01,   5.00100432e+00,   2.90662447e+01,   1.29214242e+01, 
+           4.69089603e+00,   2.34759714e+01,   1.67656282e+01,   6.53854823e-01,   2.38352952e+01, 
+           2.17931036e+01,  -1.01639060e+00,   2.72103570e+01,   2.59664262e+01,   4.89596274e+00, 
+           2.77674695e+01,   2.47617265e+01,   3.70839276e+00,   2.19495406e+01,   2.77068507e+01, 
+           1.33883490e+01,  -2.96774368e+00,  -3.88662826e+00,   1.21540528e+01,   4.88520987e+00, 
+           6.46250715e+00,   1.58502434e+01,   7.52061809e+00,  -5.94010768e-01,   1.80041063e+01, 
+          -1.45785510e+00,   1.90361473e+00,   1.37682126e+01,   1.01096461e+00,   1.05140180e+01, 
+           1.32426632e+01,   7.30651107e+00,   1.44595448e+01,   1.87287975e+01,   5.98649586e+00, 
+           1.22746034e+01,   1.63100152e+01,   1.15741871e+00,   1.66981121e+01,   9.12913654e+00, 
+          -2.92667679e-01,   2.45886138e+01,   1.33050334e+01,   3.97377478e+00,   2.69467178e+01, 
+           1.42080442e+01,   6.64595078e+00,   2.01191284e+01,   1.86015542e+01,  -1.75336417e+00, 
+           2.83471787e+01,   1.08620615e+01,   1.11988186e+01,   1.95253365e+00,   9.45047887e+00, 
+           1.75938537e+01,   4.23821913e+00,   1.70208034e+01,   1.60108143e+01,  -1.22190668e+00, 
+           1.50766040e+01,   1.12165304e+01,   5.43990155e+00,   1.09933699e+01,   1.22850779e+01, 
+           1.16546326e+01,   1.23781385e+01,   1.80369686e+01,   1.53125056e+01,   1.73516609e+01, 
+           1.75785987e+01,   1.18313796e+01,   1.94046667e+01,   1.10166421e+01,   1.62979612e+01, 
+           9.66207941e+00,   1.08458701e+01,   2.37048314e+01,   8.44004940e+00,   1.70203943e+01, 
+           2.65757559e+01,   1.43027170e+01,   1.63790927e+01,   2.18182624e+01,   1.38144113e+01, 
+           1.12481654e+01,   2.87113704e+01,   1.23513270e+01,   2.18980717e+01,   5.17961694e-01, 
+           9.82158593e+00,   3.06003668e+01,   6.40959927e+00,   1.97382355e+01,   2.64666452e+01, 
+          -2.56886470e-01,   1.51138569e+01,   2.14756928e+01,   7.69843726e+00,   1.13280462e+01, 
+           2.53724470e+01,   1.17891597e+01,   9.16645548e+00,   2.85470480e+01,   1.83229821e+01, 
+           1.60641629e+01,   2.74309208e+01,   8.14336993e+00,   2.00104262e+01,   2.16691335e+01, 
+           1.90509791e+01,   1.35353858e+01,   2.30944654e+01,   1.79157296e+01,   1.01235942e+01, 
+           2.45385866e+01,   2.35448360e+01,   1.40749201e+01,   3.01972078e+01,   2.17768651e+01, 
+           2.03786050e+01,   2.10805498e+01,   2.76935947e+01,   2.44615615e+01,   3.05749628e+00, 
+           4.07414296e-01,   2.16336438e+01,   4.40657970e+00,   5.21060398e+00,   2.88299726e+01, 
+           7.01128437e+00,   8.79026008e-01,   2.85241186e+01,   3.14915946e-01,   7.07809470e+00, 
+           1.98625917e+01,   4.50200492e-03,   1.15863909e+01,   2.29376845e+01,   2.50348240e+00, 
+           1.86113050e+01,   2.47645618e+01,   3.74984924e+00,   1.16835156e+01,   3.00116656e+01, 
+           1.33610084e+00,   1.54039934e+01,   2.16664404e+01,  -3.77318264e+00,   2.24073626e+01, 
+           2.17213138e+01,   6.32154759e+00,   2.91289015e+01,   2.80778040e+01,   4.04768899e+00, 
+           2.51637272e+01,   2.49482621e+01,  -1.80258150e+00,   2.77649841e+01,   2.28639670e+01, 
+           9.52095023e+00,   1.12320744e+00,   2.11060298e+01,   1.35966775e+01,   4.52804356e+00, 
+           2.65933190e+01,   1.74870802e+01,   3.12917456e+00,   3.12581554e+01,   1.26369216e+01, 
+           4.24969839e+00,   2.28577555e+01,   1.09623135e+01,   9.61329928e+00,   2.31292240e+01, 
+           1.68635673e+01,   1.59562582e+01,   2.83134554e+01,   1.65993286e+01,   1.34061062e+01, 
+           3.07651009e+01,   8.60937322e+00,   1.58164516e+01,   2.15713342e+01,   9.77426434e+00, 
+           2.38239983e+01,   2.07170028e+01,   1.44272471e+01,   2.72915473e+01,   2.78094878e+01, 
+           1.46067375e+01,   2.02374654e+01,   2.83102299e+01,   1.21902457e+01,   2.73283465e+01, 
+           2.25040436e+01,   2.40201181e+01,   7.24105767e+00,   2.16659528e+01,   3.22281603e+01, 
+           6.56727556e+00,   2.67438472e+01,   3.14254999e+01,   1.00941523e+00,   2.72477648e+01, 
+           2.43062679e+01,   3.91537815e+00,   2.28206020e+01,   1.90617248e+01,   9.50661026e+00, 
+           1.95693791e+01,   2.99400820e+01,   1.67827219e+01,   2.52432494e+01,   3.09283864e+01, 
+           1.18433291e+01,   3.02997758e+01,   2.26469178e+01,   1.40818435e+01,   2.52061280e+01, 
+           1.93512323e+01,   2.29021542e+01,   2.65208970e+01,   2.53952117e+01,   3.08512322e+01, 
+           2.76076800e+01,   2.54724293e+01,   1.95719692e+01,   2.94254771e+01,   1.94406409e+01, 
+           2.73992646e+01 ]
+      </q>
+      <p shape='(4, 324)'>
+       [   1.40372994e-01,  -1.70336384e+00,   6.37303020e-01,  -3.60483257e-01,  -1.10940109e+00, 
+           3.74869623e-01,  -3.25735029e-01,   7.75472220e-01,   1.10757231e+00,  -2.40493336e+00, 
+          -1.53716651e+00,   1.37041429e+00,   5.28228491e-01,   1.38616874e+00,  -1.38581237e+00, 
+          -3.77690596e-01,   2.35773187e-01,   1.37036828e+00,   1.74363360e+00,   1.46668252e+00, 
+           9.19554977e-01,   1.46604384e+00,   7.17395153e-01,   1.16766357e+00,   5.74213643e-01, 
+           1.73367931e-01,  -1.66161161e+00,   2.33212598e+00,  -9.77285003e-01,   2.41575083e-01, 
+          -1.49585940e-01,  -1.18522916e+00,   1.58553462e-01,  -1.47168505e+00,  -1.24387557e+00, 
+           7.68483391e-01,  -1.56677579e+00,   8.39149463e-01,  -7.60108832e-01,  -1.39563512e-01, 
+           1.23618455e+00,  -3.39699359e-01,  -9.88358452e-01,  -1.25161119e+00,   5.75688958e-01, 
+           3.34908289e-02,  -1.57137545e+00,   9.54873978e-01,   2.21048523e-01,   3.15471131e+00, 
+           4.38424417e-01,  -1.41296551e+00,  -6.15293784e-01,   4.54568031e-01,   5.25912190e-01, 
+           1.10462750e+00,  -7.33687512e-01,   3.51836732e-01,   1.11696908e+00,  -1.75519514e-01, 
+          -9.87401261e-01,  -1.00224818e+00,  -2.06257599e+00,  -8.69995365e-02,   1.96237139e-01, 
+          -1.55878661e+00,   2.06187113e+00,   5.21020731e-03,   2.35617406e-01,   1.59018004e+00, 
+           1.23310143e+00,  -9.06287741e-01,   1.02772014e+00,  -4.13278400e-01,  -9.73895321e-01, 
+           1.26420822e+00,  -6.00372594e-02,  -8.86889397e-01,  -1.35877237e+00,   1.26542138e-01, 
+          -1.96996606e+00,   1.16602982e+00,  -1.87715811e+00,  -1.07989580e+00,   1.52684255e-01, 
+           2.69202324e+00,  -7.86764932e-01,  -1.26792145e+00,  -2.15985504e-01,   2.83847115e-01, 
+          -3.90074815e-02,  -3.21827572e-01,   8.60927158e-01,   1.15174374e+00,  -1.06395947e+00, 
+           6.56206723e-01,   1.71687653e+00,   1.88094551e+00,  -1.41246651e-01,   6.67235507e-01, 
+           8.02729512e-01,  -5.99750938e-01,   3.86175582e-01,   1.56674025e+00,   1.16770355e-01, 
+          -1.25058894e-01,  -6.64317179e-01,  -1.90732529e+00,  -3.49443824e-01,  -1.75313244e+00, 
+          -8.93802373e-01,  -8.38911513e-02,  -3.54765784e+00,   3.29189169e-01,  -1.59470714e+00, 
+           2.28214169e-01,  -2.04640475e+00,  -1.21363021e+00,   4.43956386e-01,   1.98553407e+00, 
+          -6.41921427e-01,   8.31610867e-01,   2.37729074e-01,  -1.96307860e+00,   5.83519443e-01, 
+          -9.23373803e-01,  -2.72733993e-01,  -6.80313749e-01,  -4.21629881e-01,   8.24112349e-02, 
+          -2.02945940e-02,   4.70239760e-02,  -8.87189426e-01,   2.62362546e-01,   2.90567277e-03, 
+          -5.77088646e-01,   8.63734028e-01,   2.12881273e-01,  -1.84398318e+00,  -1.27537888e+00, 
+          -8.96390165e-01,   8.67723220e-01,  -7.13233254e-01,   9.98467053e-01,   1.20471615e+00, 
+           3.80364988e-02,  -3.86066496e-01,   2.80482433e-01,  -5.55953973e-01,   6.99483364e-01, 
+          -6.20862722e-01,  -5.75941665e-01,  -1.01810316e+00,   6.59129210e-01,   3.36528627e-01, 
+           1.19657571e+00,   1.16325245e+00,   1.38231876e+00,  -1.62296272e+00,   7.73325492e-01, 
+           9.07953738e-01,  -1.56020700e+00,   5.91276288e-01,  -1.45072710e+00,   3.06498507e-01, 
+           1.02001412e+00,  -7.79180574e-01,  -1.09202701e+00,   8.60608247e-01,  -8.12517020e-01, 
+          -3.29732754e-01,   7.95824769e-02,  -3.53180396e-01,  -6.92843090e-01,   8.08287670e-01, 
+          -1.31368002e+00,   8.92275005e-01,   7.74460553e-01,  -4.16315357e-01,   4.13327475e-01, 
+           2.07077192e-01,  -2.18589769e+00,  -1.02281048e-01,   9.09167509e-02,  -1.46835347e+00, 
+           1.23256338e+00,  -3.07250057e-01,   2.46249432e-01,   7.74791555e-01,   3.98298680e-01, 
+          -5.39569195e-02,   4.73911005e-01,   1.79978269e+00,   6.49413046e-01,   1.44049305e+00, 
+          -7.54136523e-01,   6.85251391e-01,  -1.03401786e+00,  -1.07121945e+00,   1.15101429e+00, 
+          -6.78252322e-01,   3.66963136e-02,  -1.11945652e-01,  -4.17808375e-01,   9.68133746e-02, 
+           1.99069757e+00,   1.55013114e+00,  -1.92882805e-02,   1.33795454e+00,   7.39452603e-01, 
+           3.77633950e-01,   1.81163711e+00,   2.58943819e+00,   1.29562203e+00,  -1.48713547e+00, 
+          -9.55424888e-01,   3.46515063e-01,   4.16880974e-01,  -1.14430760e+00,  -5.41540342e-01, 
+           1.15617781e+00,  -8.15311978e-01,  -1.24131679e-01,  -1.01785991e+00,  -6.82587363e-01, 
+           1.34485087e+00,   3.95295976e-01,   3.61637052e-01,  -4.79290805e-01,   1.96407902e-02, 
+          -6.96427808e-01,   9.65717585e-01,   4.63130635e-01,  -4.12348950e-02,  -6.14114134e-02, 
+           3.76909298e-01,   1.31464930e-01,  -1.96943568e+00,  -2.07138054e+00,   1.07506895e+00, 
+          -8.47693792e-02,   1.50838082e+00,   9.66357898e-01,   3.29832625e-02,   2.53592195e+00, 
+          -8.44613584e-01,  -1.75528218e-01,  -1.51432281e+00,  -1.30241164e+00,  -2.07575407e-01, 
+          -1.04844306e+00,  -1.28575451e+00,   4.62727941e-01,   1.46590141e+00,  -2.63004766e-01, 
+          -1.01898113e+00,  -1.37875255e+00,  -9.12918530e-01,   1.71033710e+00,   1.02893180e+00, 
+          -1.32634968e+00,   8.82495711e-02,  -9.11997611e-01,  -2.42094019e+00,  -6.29467944e-01, 
+           8.08788619e-01,   1.94804910e+00,  -8.72566500e-01,   9.20033720e-01,  -1.72884793e+00, 
+           3.44191186e-01,   1.21733557e+00,   1.87515471e-01,   5.10808988e-02,   7.94329477e-01, 
+          -3.52316495e-01,  -1.00945167e+00,   7.35146276e-01,   1.07654301e+00,   1.04930155e+00, 
+          -1.85826022e+00,  -5.07927804e-01,  -9.80771494e-01,  -3.21767737e+00,  -1.49676613e-01, 
+          -2.15647041e-01,  -1.82770370e+00,   1.49469246e+00,  -1.68826911e+00,   1.62663223e+00, 
+          -3.48742295e-01,  -6.17863065e-01,  -8.81308520e-01,   7.44925882e-01,   1.73070837e+00, 
+          -1.28410488e-01,   8.64089144e-01,   3.26440658e-01,   1.10448379e+00,  -1.69522830e-01, 
+          -6.53776497e-01,   3.81864979e-01,  -1.07760135e+00,  -3.98562627e-01,   5.38128157e-01, 
+          -2.29754635e-01,  -2.33407869e+00,  -1.25116856e-01,  -1.21131987e+00,   1.08298393e+00, 
+           1.51546625e-01,  -3.56701517e-01,  -9.98362812e-01,   1.03306121e-01,  -4.42120758e-01, 
+          -3.94015959e-02,  -8.12077182e-01,  -5.72762073e-01,  -8.31013031e-01,  -1.16147494e+00, 
+          -7.35897383e-02,  -1.09398682e-01,  -1.40219599e+00,   9.63041766e-01,   6.60583424e-02, 
+          -1.71857732e+00,   1.99405396e-01,  -8.84068189e-01,  -2.18819685e-01,   2.21366910e+00, 
+          -1.84460428e+00,  -1.05848347e+00,  -1.53731311e+00,  -2.25141079e-01,   8.55239543e-02, 
+          -5.64991535e-01,  -1.11243253e+00,  -1.48334114e+00,   2.85484662e-01,  -5.98357857e-01, 
+          -5.62005083e-01,   5.18476929e-02,   7.20785662e-01,  -9.21464830e-01,  -4.17295452e-01, 
+          -7.06470111e-01,  -2.07423207e+00,  -2.82738840e-01,  -7.05765425e-01,   5.71154019e-01, 
+           1.41402308e+00,   7.15224885e-01,  -9.01571406e-01,  -1.78966537e-01,  -9.57855925e-01, 
+           1.92815188e+00,   3.67644067e-01,  -7.77398627e-01,   3.75573158e-01,  -1.27570871e+00, 
+          -1.56269598e-01,  -1.20126128e+00,   5.64996896e-01,  -1.45388556e+00,  -4.64414199e-01, 
+           1.88714704e+00,   1.47969578e+00,  -1.96063537e-01,   5.18755530e-01,   2.68937808e+00, 
+          -1.69730122e+00,  -5.36576005e-01,   1.04962410e+00,   4.65512668e-01,   1.47912174e+00, 
+           8.46469352e-01,   8.08058567e-01,   1.13879268e+00,   6.34831145e-01,   1.43535434e+00, 
+           2.04580992e+00,   7.90686500e-04,   1.19722827e+00,  -1.42644546e+00,   1.92405610e-01, 
+           8.14926140e-02,  -2.36223884e-01,   1.16089456e+00,   2.24765430e-01,  -1.32752285e+00, 
+           1.36642599e+00,  -5.36742312e-01,   4.98821954e-01,   6.00651182e-01,  -2.56801229e+00, 
+          -2.36250226e-01,  -8.57842968e-01,  -3.00915036e-01,   2.41807890e+00,   7.24711670e-01, 
+           1.36799087e+00,  -1.78428862e-01,  -3.59900038e-01,   3.42306822e-01,  -3.98271527e-01, 
+          -1.30912096e-01,  -5.36751004e-01,  -6.45495166e-01,   3.16360509e-02,  -6.38708513e-01, 
+           1.33860162e+00,   7.16436859e-01,   8.83639989e-01,  -2.87900422e-01,  -1.77363177e-01, 
+           1.75217790e-01,  -2.41654433e+00,  -8.13755792e-02,  -7.71741152e-01,   1.33456387e+00, 
+          -5.10830196e-01,  -1.10584683e+00,  -1.31689363e+00,   1.17583053e+00,   6.77964594e-01, 
+           2.99895744e-01,   5.12719967e-01,   2.06867244e+00,  -2.89182146e+00,   1.84494668e+00, 
+           3.10415200e-01,   1.64179666e+00,  -2.18044104e+00,  -9.27575571e-01,  -8.07814665e-01, 
+          -1.85157068e-01,   5.86693996e-01,   1.60605927e+00,  -1.03758631e-01,  -9.65958485e-01, 
+          -9.06979038e-01,   5.61735019e-01,   3.35132784e-01,   6.02021180e-01,   1.76689554e-01, 
+          -3.36488706e-02,   1.45021360e+00,   6.70122973e-01,  -1.71792295e-01,   8.29616451e-01, 
+          -8.05614322e-01,  -2.58079407e+00,   1.01873565e+00,  -3.81060235e-01,   1.00130704e+00, 
+           1.55674172e+00,   2.02125219e+00,  -7.48802492e-01,   1.06649929e+00,  -9.65493892e-01, 
+          -3.98926995e-01,   1.08567030e+00,  -1.04009627e+00,   1.41394914e+00,   1.80976669e+00, 
+          -4.38932124e-01,  -9.96116646e-01,   2.93325605e+00,  -2.65850173e+00,  -2.86627210e-01, 
+          -1.13380351e+00,   1.01776593e+00,   3.82798024e-01,  -2.03015905e+00,  -4.77705377e-01, 
+          -1.52497126e-01,  -3.08097496e-01,  -1.22388367e+00,   7.72589230e-01,  -1.18620576e+00, 
+           7.03396905e-01,  -6.07914021e-01,   1.36665589e+00,   3.05885200e-01,   8.68021103e-01, 
+           7.85645067e-01,   6.86344886e-01,   6.60054397e-02,   6.72872685e-01,  -1.72147672e+00, 
+          -3.35687107e-01,   6.40280686e-01,   1.90765562e-01,  -1.19759420e+00,   3.98723557e-01, 
+           1.01300503e+00,   3.15092859e-01,  -7.48716523e-01,  -6.31490429e-01,   5.03478302e-01, 
+          -7.97737020e-01,  -3.64328563e-01,  -6.84865111e-01,  -5.96889804e-01,   8.97320299e-01, 
+          -2.74447207e-01,   8.96041854e-01,   8.62447243e-01,   1.14171036e+00,   1.89620219e+00, 
+          -2.03086042e-01,   1.21863991e+00,  -7.08332672e-01,   8.65474351e-01,   8.84794271e-02, 
+          -7.38048949e-01,  -3.29738572e-01,   6.25639096e-01,   8.73860305e-01,   1.32892575e+00, 
+          -1.08731164e+00,   7.42722680e-02,   1.10376262e+00,  -2.70446460e-01,   4.84230480e-01, 
+          -7.49397372e-01,  -1.22773789e-01,  -1.73175160e+00,   1.00419017e+00,   4.18612640e-01, 
+          -1.19265354e+00,   1.89942453e+00,   2.16924392e-01,   1.98456504e+00,  -4.47127896e-02, 
+          -8.13751338e-01,  -1.57721515e+00,  -1.51087464e+00,   1.49149818e-01,   3.34518489e-01, 
+          -1.49643992e+00,   3.14649899e-01,   2.07634343e+00,  -6.04070136e-01,   1.87721508e+00, 
+          -4.06863898e-01,  -7.83918757e-01,   2.03531050e-01,  -7.64354284e-02,   3.31824344e-01, 
+           4.79012974e-01,   1.83535358e+00,   9.02286124e-01,  -1.15207026e+00,   1.28672254e-01, 
+          -8.26157812e-01,   1.90407166e+00,  -3.96264466e-01,   1.94392469e-01,  -8.73100373e-01, 
+          -3.37468953e-03,   9.76466097e-01,   6.23291758e-02,  -2.37497472e-01,   1.07993508e+00, 
+          -3.14201676e-01,   1.70621222e+00,  -9.90965410e-02,   1.20753777e-01,  -6.38441546e-01, 
+           1.41774776e+00,  -5.80882309e-01,   1.09405908e+00,   3.93716017e-01,  -1.28958167e+00, 
+           4.24488630e-01,   9.55061213e-01,   1.29635151e+00,  -1.96475095e-01,   1.27366715e-01, 
+           1.13693192e-01,  -1.99660506e+00,  -7.38934810e-01,   1.27623410e+00,   1.67534486e+00, 
+           2.98512870e-01,   1.48183369e+00,   1.03842506e+00,  -1.05881112e+00,   3.59296217e+00, 
+           2.33641006e+00,  -4.44058636e-01,  -7.05099765e-02,   3.21036779e-01,  -1.92001349e-01, 
+          -1.42762638e+00,  -4.05688476e-01,   4.80851634e-01,   4.74839401e-01,   1.26185094e+00, 
+          -1.05552598e-01,   5.56910980e-01,  -5.32621114e-01,   9.34349181e-02,   2.56314544e-01, 
+          -1.74582311e+00,   4.17470989e-01,   2.29528051e+00,   2.62392322e-01,   3.18772657e-01, 
+           8.17214811e-01,  -8.16325438e-01,  -4.19774898e-01,  -1.79953350e-02,   2.52742913e+00, 
+          -2.79795924e-02,  -8.35211211e-01,  -3.49992939e-01,   1.17976432e+00,   1.06455248e+00, 
+           4.99693771e-01,  -3.25404106e-01,  -1.19518002e+00,  -1.12107657e+00,   7.08571829e-01, 
+          -1.32836392e+00,  -4.05940531e-01,  -1.62901886e+00,   1.94474528e-01,   5.69560181e-01, 
+          -1.16097389e+00,  -9.55882892e-01,   8.43738270e-01,   9.60068854e-01,   3.04930133e-02, 
+           1.09691130e-01,   5.31002976e-01,  -7.96127056e-02,  -2.90684090e-02,  -2.90427758e-01, 
+           6.26093036e-01,   6.57694112e-01,  -4.85835995e-01,   1.80074318e-01,   1.12303284e+00, 
+           5.23912334e-01,   5.85300514e-01,   6.21565032e-01,  -6.88438319e-01,   1.76104297e+00, 
+           4.69681129e-01,  -1.50756131e+00,  -2.35433970e+00,   2.20926618e-01,  -1.59035655e+00, 
+          -2.16680752e-01,  -1.09766225e+00,  -3.66108880e-01,   6.72549669e-01,  -1.39966389e+00, 
+          -2.64964223e-01,  -4.47757200e-01,   5.31233808e-01,   1.84834139e+00,  -6.02818313e-01, 
+          -1.44473483e+00,   1.52776447e-02,  -7.93366554e-01,  -1.90159337e+00,   1.74463595e-01, 
+          -2.11499652e+00,  -2.25655780e+00,   1.18038845e+00,  -3.70794733e-01,  -8.67093500e-01, 
+           1.43290672e+00,  -1.38210097e-01,   1.14792213e+00,   1.06670774e+00,   1.03103438e+00, 
+          -9.00433225e-02,  -5.34357708e-01,  -1.22908335e+00,  -4.72611965e-01,   2.46111190e-01, 
+          -1.70561610e+00,   3.92682358e-01,  -1.55756928e+00,  -2.37928227e-01,   2.03059408e+00, 
+          -9.84120137e-01,  -2.11053290e+00,   6.16981710e-01,  -1.12243752e-01,  -1.10029159e-02, 
+           9.02048435e-01,   8.56294718e-01,   1.13642549e+00,  -1.50782750e+00,  -3.72301949e-01, 
+          -1.66280307e+00,  -1.38174795e+00,   8.97950650e-02,   5.55623559e-01,  -6.05980874e-01, 
+          -7.05479352e-01,   7.04832792e-01,  -3.20169261e-02,  -5.46153623e-01,  -4.23996939e-01, 
+          -1.87522120e+00,  -4.41626784e-01,   2.28022755e+00,   1.41852748e+00,   7.22573260e-01, 
+           2.28863935e+00,   1.32648450e+00,  -1.20732385e+00,   6.48320570e-01,  -5.97367023e-02, 
+           1.26207462e-01,  -2.04798081e+00,   1.13007921e+00,  -1.71585140e-01,   3.14833129e-02, 
+           1.71558970e-01,   2.30236146e-01,  -2.69742619e+00,   1.36832193e+00,  -4.09947214e-01, 
+          -2.00570514e-01,   8.31050179e-01,   1.40744357e+00,  -2.34268444e+00,  -7.42098732e-03, 
+           1.03611120e+00,   2.06373254e+00,  -5.02279592e-01,  -7.01081635e-01,   1.25847835e-01, 
+           6.02231279e-02,  -4.08815632e-01,  -3.34433187e-01,   1.42676664e+00,  -1.49454672e+00, 
+          -1.24564490e+00,   1.71269292e+00,   6.82206821e-01,   8.72601070e-01,  -9.22460387e-01, 
+           4.55740724e-02,   1.33030508e+00,   6.53585708e-02,   3.13993497e-01,  -2.11648823e+00, 
+          -1.36475580e-02,   2.51552262e+00,   9.25969768e-01,  -6.52019962e-01,   2.03940799e+00, 
+           2.55910092e-01,  -7.26525412e-01,  -1.00207723e+00,   1.31950793e+00,  -1.82967630e+00, 
+          -4.92805660e-01,   4.07867808e-01,   6.11026922e-02,  -2.11979237e-01,  -2.87253727e-01, 
+           1.11856203e+00,  -2.21720426e-01,   1.84350017e+00,   7.84784426e-01,  -1.49696700e+00, 
+           9.09038266e-01,  -1.27156936e+00,   9.56717220e-02,  -4.15656486e-01,   4.19788418e-01, 
+          -2.61691637e-01,  -1.56861006e+00,  -6.47659675e-01,  -6.83293713e-01,   2.51621894e+00, 
+          -4.44034798e-01,   1.78185380e+00,   4.60785269e-01,  -2.68311726e-01,   1.04600391e+00, 
+          -5.67576324e-01,   1.13507042e+00,  -1.78393940e+00,  -1.82719464e+00,  -1.84508388e+00, 
+          -1.29303124e+00,   1.35664029e+00,  -9.17173260e-01,   9.85863915e-01,   1.07223755e+00, 
+           8.84707496e-01,  -1.37852063e+00,   6.19459586e-01,  -2.93677966e-02,  -3.18737198e-01, 
+           1.03094159e+00,   4.89778531e-01,   1.73667810e+00,  -2.03090079e-01,   3.64701299e-01, 
+           3.48172075e-01,  -1.54091587e+00,   1.04498049e+00,  -1.28639737e+00,  -4.71319136e-01, 
+           8.61169102e-01,   1.61610909e+00,   7.69597251e-01,   7.68227380e-01,   1.11224694e+00, 
+           8.48919769e-01,   3.12294367e-01,  -4.93201021e-01,   6.42746189e-01,  -2.27293413e-01, 
+           2.16505068e-01,   5.52193787e-01,  -1.76108774e+00,  -4.43454137e-01,  -1.10836243e+00, 
+           7.49078941e-01,  -5.26434049e-02,   4.23300776e-01,  -1.66554395e+00,   3.10524219e-01, 
+           1.19480829e+00,  -6.29200409e-01,   6.41552685e-01,   7.60530128e-01,  -1.44429069e+00, 
+          -2.98038448e-01,   5.01177628e-01,   3.97341120e-01,   4.53467676e-01,  -1.35725377e+00, 
+           9.43314195e-01,   2.15143758e+00,   3.94302672e-01,   2.26509780e-01,   9.59313828e-01, 
+          -1.66404768e-01,   1.65207595e-01,  -2.39340233e+00,   3.14543001e+00,   1.05218765e+00, 
+          -8.14714579e-01,  -3.05710147e-01,  -1.74531477e+00,  -3.64151538e-01,  -2.09140760e-01, 
+           2.23739053e+00,   6.09477113e-01,   1.16899879e+00,   5.92967924e-01,  -8.17673149e-01, 
+          -1.10420428e+00,   4.65350290e-01,   2.11023040e-03,   8.14863971e-01,   1.08315984e+00, 
+          -7.25860590e-02,  -4.59896403e-01,   1.38164252e+00,   5.89336792e-01,   1.34519891e+00, 
+          -3.63277304e-01,   9.08232031e-01,   2.05775821e-01,   1.01268871e+00,   2.25900629e-01, 
+           1.11195741e+00,   1.46383492e+00,   1.15712737e+00,   1.37285918e+00,  -3.27123406e-01, 
+           2.10121867e+00,   3.63728898e-01,  -9.64451543e-01,   7.50304023e-02,   2.26045537e+00, 
+          -1.07848463e-01,  -5.55058232e-01,   6.46210385e-01,  -3.82173868e-01,   1.02724203e+00, 
+           4.75226625e-01,   2.63486832e-01,  -1.87720616e-01,   2.66714045e+00,  -1.37046410e-01, 
+          -9.47273326e-01,  -2.21070556e+00,   5.16910020e-01,  -1.00019802e+00,  -6.10344773e-01, 
+          -1.23626760e-01,  -7.78025616e-01,   3.54873800e-01,   1.32409224e+00,  -4.96383871e-01, 
+          -8.45650299e-01,  -7.06777204e-01,   7.74296088e-01,   5.40594697e-01,  -2.35323920e+00, 
+           1.10574355e+00,  -2.71490739e-01,   3.89486537e-01,  -2.25716891e+00,   1.08161436e+00, 
+          -7.61396029e-01,  -6.43902282e-01,   2.07071361e-01,  -1.24311778e+00,   1.66718154e+00, 
+          -1.12540846e+00,   4.04848060e-01,   9.82172410e-01,  -2.22704668e-01,  -4.41651091e-01, 
+           8.11339257e-01,  -1.71211605e+00,  -6.16208091e-02,   8.56110168e-01,   5.66390166e-01, 
+           6.39785155e-01,   1.39973994e+00,  -6.88244744e-01,   2.42634138e+00,   3.24544610e-01, 
+           4.48313772e-01,   7.45142689e-01,  -7.23045807e-02,   1.83704141e-01,  -1.47171323e+00, 
+          -7.09077372e-01,  -6.01038702e-01,  -8.75281454e-01,   5.13919915e-01,  -6.60822470e-01, 
+          -1.43487765e+00,   7.49938057e-01,   2.83635875e-01,   3.07045512e-01,   1.48936195e+00, 
+          -2.17046249e-01,   2.04101206e+00,   6.02181940e-01,  -1.78421830e-01,  -8.17580831e-01, 
+           6.13386299e-01,   1.46247756e-01,  -1.42514706e+00,  -1.93940896e+00,  -8.65275710e-01, 
+           1.47462311e-01,  -4.02301576e-01,  -9.63675890e-01,  -1.84120948e+00,   8.14102917e-01, 
+           3.80760496e-01,   3.25900148e-01,  -4.87843594e-01,  -1.03508268e+00,   3.57676231e-01, 
+          -6.47622001e-01,   2.14181936e+00,  -3.34827796e-01,  -8.07284435e-01,  -8.49708166e-01, 
+          -8.31736592e-01,   6.33904552e-01,   4.35249821e-01,  -9.13698624e-01,  -2.96290563e-01, 
+           3.77906357e-02,  -1.16936544e+00,  -3.14920460e-03,  -1.18537362e+00,   2.99624644e-01, 
+           1.76247250e+00,  -6.49375825e-01,  -1.89211809e-01,  -1.00974570e+00,   1.47455608e+00, 
+           1.72728137e+00,   2.18072141e+00,  -7.62571173e-01,  -1.23504812e+00,   2.14290218e-01, 
+          -7.46888683e-01,   5.53627395e-01,  -7.82076567e-03,   1.56933507e+00,   1.07155739e+00, 
+          -6.42903166e-01,  -9.85900335e-01,  -6.31873346e-01,  -9.85430080e-01,   3.97933623e-01, 
+          -2.07587828e+00,   2.76612669e-01,  -1.22060249e+00,  -2.25139829e-01,   1.80572908e+00, 
+          -5.58028004e-01,  -8.45859723e-01,  -1.30829100e+00,  -1.65904870e+00,  -9.78603426e-01, 
+          -3.70256932e-01,   6.40194479e-01,   1.29842617e+00,   5.79764541e-01,  -2.18955795e+00, 
+          -6.34491122e-01,   2.83457214e-01,   2.71316544e-01,   5.79996139e-01,  -1.90426727e+00, 
+          -2.20898199e+00,   5.67839219e-01,  -1.04623710e+00,   1.01192986e+00,   1.18567472e+00, 
+          -1.73342893e+00,  -2.65618016e+00,   3.03138568e-01,  -1.02196040e+00,  -2.21750759e-01, 
+          -1.72682912e+00,  -1.23679339e+00,   3.32640475e-01,  -4.60601000e-01,  -7.81932128e-02, 
+           4.11906483e+00,  -1.89283131e+00,  -3.88776684e-01,   1.80199833e+00,   1.96404455e+00, 
+           3.43852965e-01,  -6.23609543e-01,   1.81733087e-01,   5.72130123e-01,   1.20715657e+00, 
+          -9.16486162e-01,  -5.61833245e-01,   1.67641549e-01,  -1.75329878e+00,   2.02727673e+00, 
+          -2.28164354e-01,   8.44422552e-01,  -1.51806276e+00,   1.11571422e+00,  -6.35541493e-01, 
+          -7.89951282e-02,   4.72008590e-01,  -8.35642565e-01,   3.68813724e-01,  -7.06411185e-01, 
+          -2.06091646e-01,   1.16843231e+00,   2.22169824e+00,  -2.13768098e+00,   2.32776602e-01, 
+           2.52900016e-01,  -1.14185849e+00,   1.66528537e-01,   1.98871626e+00,   6.88624657e-01, 
+           1.86755853e-01,  -2.60746884e-01,   2.14480822e-01,   5.74795125e-01,  -1.38808062e-01, 
+           6.23677175e-01,  -2.74784978e+00,  -8.37018300e-02,  -3.22071295e-01,   3.66767660e-01, 
+          -8.23091717e-01,  -7.47733613e-02,   1.51128334e+00,  -1.74266371e+00,  -2.99285140e-01, 
+          -5.11163366e-01,   6.42039600e-01,   2.76048507e-01,  -7.37616832e-01,   1.22339395e+00, 
+          -2.67566663e-01,  -7.51730239e-02,   2.01868691e-01,   7.07868632e-01,  -1.21711787e+00, 
+          -1.85687375e+00,   1.05200890e+00,   1.47295756e+00,   2.54890967e-01,  -1.24936980e+00, 
+          -2.57051185e+00,   3.98733877e-01,  -7.23513377e-01,   1.21540059e+00,   8.12283422e-01, 
+           1.65554595e+00,  -1.17091747e+00,   1.34992672e-01,  -1.26490262e+00,   1.90743067e+00, 
+           1.26996550e+00,   6.84984124e-01,  -2.42826181e+00,   5.82274924e-01,  -6.03997807e-02, 
+          -2.34897259e-01,  -2.82126477e+00,   6.99213914e-01,  -6.24173822e-01,   9.13698195e-01, 
+           2.30096444e+00,  -7.69519522e-01,  -2.05936269e+00,  -5.04623275e-01,   9.51572220e-01, 
+          -1.04990530e+00,   9.29427177e-01,  -1.00119016e+00,   5.58533219e-01,  -1.96190366e+00, 
+          -2.19649662e+00,   2.76351981e-01,   1.00882502e+00,   1.77184378e+00,   1.52844587e+00, 
+          -6.11090570e-01,   8.38972820e-01,  -1.19408219e+00,   1.09833108e+00,   1.79335203e+00, 
+           9.50652921e-01,   2.03016606e-01,  -7.05328950e-01,   2.63976431e+00,   1.32128813e+00, 
+          -3.26324584e-01,  -6.03144462e-01,  -1.15795682e+00,  -2.84347500e-01,  -2.70637624e+00, 
+           8.99588322e-01,   1.16243638e+00,   6.23042073e-01,  -1.05633172e+00,   7.74870856e-01, 
+           1.11703946e+00,   7.31498949e-01,   4.88889866e-02,   5.18543386e-01,  -1.15303239e-01, 
+          -3.72740004e-01,   7.18707005e-01,  -1.10160673e-02,  -3.42219376e-01,  -4.07108891e-01, 
+           1.46297984e+00,   2.21343521e+00,   1.36672760e+00,  -1.42677666e+00,  -1.53701751e+00, 
+           1.20834078e+00,   5.34986888e-01,  -1.09136550e-01,   4.83101030e-01,   7.86715435e-01, 
+           1.04015999e-01,   6.21976525e-01,  -2.08139696e+00,   6.95530731e-01,   1.03483749e+00, 
+          -1.35308249e+00,   4.56603819e-02,  -2.25926466e-01,   2.43326854e-01,   6.16818669e-01, 
+           6.94683652e-02,  -2.33814385e-01,  -2.22136024e+00,   1.86899901e+00,   1.10748320e+00, 
+           1.16927626e+00,  -2.45241826e+00,   1.27914126e+00,   1.60261128e+00,  -1.94906569e+00, 
+           1.97845616e+00,  -4.46554806e-01,  -8.02072809e-01,  -1.96479219e+00,   3.59615459e-01, 
+          -5.74916548e-01,  -1.86520891e-01,   1.24436447e+00,  -7.48666778e-01,  -2.45964718e+00, 
+          -2.48723344e-01,   1.49576775e+00,   1.18547459e-01,  -1.24812482e+00,   1.65059802e+00, 
+          -8.75251737e-01,  -3.00917161e+00,  -9.70460069e-01,  -6.87370120e-01,  -1.39008336e+00, 
+          -4.98646683e-01,   1.53959956e+00,   1.34417230e+00,   7.25609309e-01,  -7.97696169e-01, 
+          -8.26531057e-01,  -2.73695934e+00,   2.27172885e+00,   1.58063398e-01,  -5.75734209e-01, 
+          -1.20968554e+00,   8.79594164e-01,  -1.97505063e-01,   6.07633769e-01,  -5.23534759e-01, 
+           5.39579521e-01,  -1.43180248e+00,  -1.31573180e+00,   2.06689061e-01,   8.44228287e-01, 
+           1.01539177e-01,   8.50313924e-01,   1.13773193e+00,  -6.09337003e-01,   1.22573408e+00, 
+           1.60308325e+00,  -3.58368736e+00,  -1.44948284e+00,  -1.41743392e+00,  -5.61340107e-01, 
+          -9.68290606e-01,  -2.02739053e+00,   2.71090499e-01,   2.51806453e+00,  -9.34553301e-02, 
+           5.98489523e-01,   1.00383713e-01,   1.47096663e+00,  -1.87702008e+00,  -9.71287935e-01, 
+           1.36813300e+00,  -1.05133427e-01,  -7.45511518e-01,   1.15482681e-02,   7.41538344e-01, 
+           4.89211699e-01,   1.78611375e-01,  -3.22591658e-01,  -6.62753734e-01,  -6.79941629e-01, 
+          -1.56662518e+00,  -1.30972025e+00,  -9.95839674e-01,   5.78534201e-01,  -3.55251735e-01, 
+          -4.20144708e-02,   2.11099051e-01,  -1.37500178e+00,   3.05860052e-01,   2.39801447e+00, 
+           1.06806434e-01,  -4.31891309e-02,  -5.92778723e-01,  -2.33810000e-01,   2.73379933e-01, 
+          -8.91777478e-01,  -5.54188105e-01,  -7.29232486e-01,  -2.61636425e-02,  -2.56123061e+00, 
+          -1.82546639e+00 ]
+      </p>
+      <m shape='(108)'>
+       [   3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03, 
+           3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03, 
+           3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03, 
+           3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03, 
+           3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03, 
+           3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03, 
+           3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03, 
+           3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03, 
+           3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03, 
+           3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03, 
+           3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03, 
+           3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03, 
+           3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03, 
+           3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03, 
+           3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03, 
+           3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03, 
+           3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03, 
+           3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03, 
+           3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03, 
+           3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03, 
+           3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03, 
+           3.67494322e+03,   3.67494322e+03,   3.67494322e+03 ]
+      </m>
+      <names shape='(108)'>
+       [ H2, H2, H2, H2, H2, 
+         H2, H2, H2, H2, H2, 
+         H2, H2, H2, H2, H2, 
+         H2, H2, H2, H2, H2, 
+         H2, H2, H2, H2, H2, 
+         H2, H2, H2, H2, H2, 
+         H2, H2, H2, H2, H2, 
+         H2, H2, H2, H2, H2, 
+         H2, H2, H2, H2, H2, 
+         H2, H2, H2, H2, H2, 
+         H2, H2, H2, H2, H2, 
+         H2, H2, H2, H2, H2, 
+         H2, H2, H2, H2, H2, 
+         H2, H2, H2, H2, H2, 
+         H2, H2, H2, H2, H2, 
+         H2, H2, H2, H2, H2, 
+         H2, H2, H2, H2, H2, 
+         H2, H2, H2, H2, H2, 
+         H2, H2, H2, H2, H2, 
+         H2, H2, H2, H2, H2, 
+         H2, H2, H2, H2, H2, 
+         H2, H2, H2 ]
+      </names>
+   </beads>
+   <total_steps>5000</total_steps>
+   <cell shape='(3, 3)'>
+    [   3.37259417e+01,   2.06511833e-15,   2.06511833e-15,   0.00000000e+00,   3.37259417e+01, 
+        2.06511833e-15,   0.00000000e+00,   0.00000000e+00,   3.37259417e+01 ]
+   </cell>
+   <forces>
+      <socket>
+         <port>31415</port>
+      </socket>
+   </forces>
+   <output prefix=''>
+      <properties shape='(6)' filename='tut1.md'>
+       [ step, time{picosecond}, conserved{kelvin}, temperature{kelvin}, potential{kelvin}, 
+         kinetic_cv{kelvin} ]
+      </properties>
+      <properties stride='20' shape='(1)' filename='tut1.force'> [ atom_f{piconewton}(atom=0;bead=0) ] </properties>
+      <trajectory format='pdb' filename='tut1.pos' stride='100' cell_units='angstrom'>positions{angstrom}</trajectory>
+      <checkpoint stride='1000' filename='tut1.checkpoint'>6</checkpoint>
+   </output>
+   <prng>
+      <state shape='(624)'>
+       [ 2687888409, 4059721984, 529212847, 1944050140, 549951740, 
+         753730274, 4256902940, 3644633819, 1619935418, 2926854959, 
+         3845596702, 3377185214, 672656208, 1522275289, 2252162595, 
+         3840064745, 4027492069, 3675681571, 2579879846, 1816332499, 
+         4032401752, 1911816378, 303445975, 1468438718, 4013747657, 
+         1340600813, 2333908485, 2694837801, 4170600699, 2510847348, 
+         3039951471, 3744192067, 1926386446, 1272375545, 1414207521, 
+         66179398, 4083890893, 4151044133, 576437212, 1676792606, 
+         434309634, 1907904212, 552501071, 2721977900, 1774218030, 
+         2379944892, 895572049, 964207007, 855123501, 322370220, 
+         2071560835, 311075834, 2622627631, 3049706185, 2343013325, 
+         68709345, 1862864050, 3480897554, 1688711674, 3849088037, 
+         2335410691, 2553458415, 3853338058, 2210199727, 2794071459, 
+         2398176951, 3934057850, 1698758425, 1011318686, 1806201471, 
+         1034736815, 3855360847, 835665231, 2475925733, 233924796, 
+         3024757758, 2198530484, 3673044703, 1249768122, 3962863565, 
+         3357863236, 2995035040, 307264231, 726406611, 2449569067, 
+         2105792248, 2511154863, 1776943467, 1288186977, 1069459630, 
+         4142069906, 2662399901, 2976669074, 3587203732, 2374529826, 
+         1425481845, 228954896, 829104572, 3792121363, 2155121068, 
+         4012537920, 4004560763, 1828234324, 523136808, 212778594, 
+         2400962328, 2941249333, 941934455, 1185399473, 1989697055, 
+         3876270640, 2356595322, 2240658826, 1455744954, 1294764103, 
+         197281598, 3596260716, 1784450322, 4229237399, 2625160461, 
+         3437563840, 99534139, 4231199313, 4186457231, 1356327267, 
+         11955050, 694326214, 3281619587, 1501920361, 4047724237, 
+         254407815, 1209336385, 2469757968, 3247917043, 467877924, 
+         714928015, 1424369871, 2112691093, 961450464, 1302826015, 
+         1508195287, 2682046824, 1166405749, 130758490, 669915191, 
+         3325468865, 2863429703, 99481154, 2455859519, 3512819878, 
+         2058734245, 713709489, 92681358, 1270820689, 2875258344, 
+         4089059727, 2319856617, 3246994482, 2375401460, 3526989769, 
+         2037481502, 1523778672, 4277357577, 3378312673, 1761280988, 
+         385602812, 2806072191, 263793228, 3893867788, 1122562696, 
+         3292179677, 196613098, 1412940405, 437753556, 2089537898, 
+         3093827021, 2543771523, 2707596589, 4247024898, 423016972, 
+         1950202748, 619404510, 1524092033, 2603783903, 1668886628, 
+         1610491330, 203643004, 378998824, 3077420296, 1135622483, 
+         1741156718, 4043803158, 134627695, 3826076900, 2236198903, 
+         1299249975, 1841801847, 1664600294, 3214378313, 4189671272, 
+         3480243241, 2314880827, 726164864, 1258895459, 1021877225, 
+         57278710, 2540601428, 2729779922, 1740214549, 1640865107, 
+         1355185385, 2109593488, 2195506700, 672372257, 2178115007, 
+         1875949822, 1689867492, 385658740, 2445406785, 271863064, 
+         988127097, 1025468932, 2359419817, 30505704, 3740615491, 
+         302654725, 68322970, 3937476624, 1133164597, 2115798914, 
+         320399345, 783710429, 2653212426, 3534685928, 1799928422, 
+         3374564924, 140092188, 2838741355, 118331603, 3274090979, 
+         2536288199, 424964681, 2624886533, 930882804, 2205394448, 
+         2184146172, 676812400, 3846276446, 3664199786, 1428020191, 
+         174713762, 1742043028, 1988587715, 250315220, 3460710952, 
+         518855886, 3301263820, 3376830340, 1924596217, 3991359611, 
+         4018324691, 2736101407, 3348220756, 4134954748, 1014806456, 
+         811815211, 2969949177, 1648717003, 1095340695, 3941199066, 
+         1442177871, 2118024477, 3440070762, 2652513624, 2449760687, 
+         3263443330, 2902806218, 3234417117, 1849567332, 947381041, 
+         3667048364, 951549915, 3479164436, 3858250612, 331400252, 
+         2281345388, 2762215954, 3082365401, 683228175, 3454398927, 
+         970279118, 2070406438, 3049304524, 1693733059, 175159517, 
+         1769171565, 2762326718, 2494712358, 1596534753, 696283870, 
+         2018059673, 92137961, 494184422, 392011733, 1385029818, 
+         934252405, 333359117, 3764822796, 1330799844, 1968964095, 
+         1099463842, 3602247127, 2198538609, 99239880, 3666952197, 
+         1538751175, 687515492, 1759850188, 1784319556, 219306934, 
+         3607066683, 3549791334, 1244006176, 3168276190, 2506130029, 
+         934365798, 4125460139, 2267772610, 4123099235, 3145641762, 
+         2282867996, 947174487, 2735752579, 1153570283, 1214198797, 
+         3843855592, 226542409, 1556151146, 2140750114, 173612017, 
+         3793649149, 513160329, 1696259753, 2196908248, 4236321655, 
+         3978054768, 3076169778, 1237756707, 794294503, 2478806329, 
+         3270485108, 21511829, 3648378180, 2173244083, 390728983, 
+         1613278496, 245589104, 1871555825, 840092166, 2005126608, 
+         2086709055, 346538249, 755528088, 4150217063, 1800593080, 
+         2996189003, 223378615, 26641502, 1408725657, 1055486622, 
+         2783260926, 2418422845, 1425876347, 2681749907, 689577833, 
+         2439224882, 1119191698, 3284738598, 3248369824, 2184806341, 
+         3827067703, 1403375638, 2039560728, 2026930258, 1439858255, 
+         3646642925, 357706083, 801162144, 200302113, 843383109, 
+         3953988752, 803642989, 133507707, 1890262095, 2010928680, 
+         153102298, 62155903, 277159866, 3184049271, 3470490419, 
+         1263803797, 1744789719, 291191777, 2104793752, 3710673355, 
+         690715888, 3985842110, 2609560703, 850539005, 86744360, 
+         1737104979, 1863808169, 1774594416, 295814460, 349948339, 
+         2998856642, 2965669633, 1901828086, 3978738887, 1547972061, 
+         3099911135, 2005717380, 567557764, 4005749125, 2160875982, 
+         3708061218, 71131479, 4020136758, 2494015768, 1649237263, 
+         3904477723, 398737933, 1060721700, 1863476301, 370356512, 
+         3071414126, 2579819024, 1413367122, 2902740002, 111597792, 
+         3291486874, 2640531015, 3168695648, 2512654909, 3959449531, 
+         2099836667, 1724339088, 1513859793, 1867797563, 72940112, 
+         150365030, 2695841664, 1822792143, 1313669546, 2967322181, 
+         520611643, 353667991, 2717535171, 3765848346, 388428102, 
+         1356267895, 3512676772, 370279636, 3846898162, 230096495, 
+         1637173159, 611261822, 1005164736, 269482378, 3515088803, 
+         3384787851, 219854487, 3527128574, 1621986556, 2351564858, 
+         1464556636, 3969432414, 4241153635, 3481875215, 2028710485, 
+         2552303669, 398357876, 502240174, 2783848798, 3029135000, 
+         3389310739, 2505116094, 142532114, 3164584552, 2476051612, 
+         3402430270, 3909441351, 3427500434, 334653597, 3680534388, 
+         994471388, 3554495285, 1194116172, 2229772907, 1080120321, 
+         764714490, 2033099135, 14870392, 1699063853, 4063486208, 
+         1292743360, 2032090912, 72238972, 161094465, 1452285444, 
+         2672671278, 1692937611, 1323803845, 3240748400, 4018998180, 
+         747254077, 236045767, 3239449578, 983232024, 3337514013, 
+         1251769771, 3333700522, 410670915, 987407435, 2475716801, 
+         2872258033, 4098868775, 1252507952, 3804640001, 1349395704, 
+         3776831082, 2921973556, 4089719272, 2209056770, 4132418611, 
+         1349045766, 1096167788, 946557058, 2742739413, 675697683, 
+         981116951, 3762459934, 735892043, 2820765771, 3285067216, 
+         2160644040, 3791763118, 3326789900, 4049571064, 2680776632, 
+         3569204094, 65929649, 3389067210, 3597945585, 1844146738, 
+         2700511765, 329482853, 1760204187, 923334769, 4064120545, 
+         3501525441, 185277522, 1241941790, 3591317416, 417403194, 
+         1300287444, 568015210, 1937417620, 1293297106, 1132926831, 
+         2866724791, 3257502829, 2947848120, 3895316838, 522557077, 
+         3227142004, 3090084150, 1099385887, 281296826, 1305525858, 
+         4048212751, 1083053479, 1851665893, 2417839863, 1623516667, 
+         3571192609, 3711731288, 2688150423, 1385750380, 3001410324, 
+         3992036671, 438613795, 1675062808, 126103207, 3806023665, 
+         3378609204, 3872710810, 3254661971, 3271656093, 2954958773, 
+         2955771203, 943499290, 1783244758, 27256593, 2736330207, 
+         2854314347, 1414980118, 3499653814, 2716003330, 1906739972, 
+         2097871403, 833490830, 860249641, 1359898654, 681385897, 
+         768010275, 1337229341, 2176361026, 1243749829, 2535464086, 
+         3587794549, 257320265, 1799338138, 2326145708 ]
+      </state>
+      <seed>12345</seed>
+      <set_pos>432</set_pos>
+      <gauss> -8.30560467e-01</gauss>
+   </prng>
+   <ensemble mode='nvt'>
+      <thermostat mode='pile_g'>
+         <tau>  1.03353433e+03</tau>
+         <ethermo>  2.24648494e-02</ethermo>
+      </thermostat>
+      <timestep>  4.13413730e+01</timestep>
+      <temperature>  7.91703800e-05</temperature>
+   </ensemble>
+</simulation>
diff --git a/tools/i-pi/examples/tutorial/tutorial-2/tutorial-2a.xml b/tools/i-pi/examples/tutorial/tutorial-2/tutorial-2a.xml
new file mode 100755
index 0000000000..b6e6824637
--- /dev/null
+++ b/tools/i-pi/examples/tutorial/tutorial-2/tutorial-2a.xml
@@ -0,0 +1,742 @@
+<simulation verbosity='high'>
+   <beads natoms='108' nbeads='4'>
+      <q shape='(4, 324)'>
+       [  -1.83955900e+00,  -2.24073938e+00,  -1.08250020e+00,  -5.70795599e-01,   7.32627980e+00, 
+           7.19210265e+00,  -3.30615234e-01,   3.98119438e+00,   1.51691432e+00,   2.52717260e+00, 
+          -1.27666806e+00,   4.73413388e+00,   1.12126184e+00,   1.26764230e+00,   1.02704916e+01, 
+           1.29998780e+00,   3.73413588e+00,   1.61919862e+01,   5.88202729e+00,   8.04850032e+00, 
+           1.24311326e+01,   1.02078708e+01,   1.86360455e+00,   1.64012625e+01,   1.17619062e+00, 
+           4.24983476e-01,   2.55535965e+01,   1.65002846e-01,   5.34507262e+00,   2.73617602e+01, 
+           6.62641741e+00,   5.73764066e+00,   2.33893339e+01,   6.10026934e+00,   2.56958142e+00, 
+           2.92780910e+01,   2.01269291e+00,   8.69979574e+00,  -6.33324249e-01,   1.14898211e+00, 
+           1.61301653e+01,   3.70551886e+00,   5.80295868e+00,   1.66782201e+01,   2.75413040e-01, 
+           5.71194979e+00,   1.32139518e+01,   7.47120998e+00,   2.90527832e+00,   1.26243247e+01, 
+           1.18688316e+01,   3.86777222e-01,   1.86473408e+01,   1.66542003e+01,   6.49634508e+00, 
+           1.76520477e+01,   1.52792529e+01,   9.56145353e+00,   1.16514109e+01,   1.76464481e+01, 
+           7.90247690e-01,   1.28040514e+01,   1.99445660e+01,   1.91319083e+00,   1.48232256e+01, 
+           2.81978021e+01,   7.47808952e+00,   1.73026463e+01,   2.15060634e+01,   7.95108626e+00, 
+           9.08836417e+00,   2.88452581e+01,  -8.39364894e-01,   2.33095835e+01,  -1.26661254e+00, 
+          -2.26048825e+00,   2.73659085e+01,   6.83034984e+00,   5.55328952e+00,   3.00964760e+01, 
+          -2.13570013e+00,   3.85462300e+00,   2.11139559e+01,   6.98601751e+00,  -1.69779185e+00, 
+           2.02798593e+01,   8.98144417e+00,  -1.83724239e+00,   2.74015435e+01,   1.70384301e+01, 
+           5.49534087e+00,   2.92028322e+01,   1.28972834e+01,   4.00538016e+00,   2.38450279e+01, 
+           1.73369977e+01,   6.37702010e-01,   2.23536671e+01,   2.24315602e+01,  -9.17792114e-01, 
+           2.76922986e+01,   2.71486460e+01,   4.59352860e+00,   2.73738615e+01,   2.47996576e+01, 
+           3.50789080e+00,   2.24217692e+01,   2.85214338e+01,   1.27744386e+01,  -3.16474409e+00, 
+          -4.32938118e+00,   1.23369331e+01,   5.19778303e+00,   6.29834102e+00,   1.65171169e+01, 
+           7.43433654e+00,  -1.50763053e-01,   1.71757563e+01,   8.73504480e-02,   2.91427460e+00, 
+           1.37000162e+01,   3.58863547e-01,   1.16430675e+01,   1.33468414e+01,   7.88277760e+00, 
+           1.35602855e+01,   1.85311481e+01,   6.66308247e+00,   1.10802627e+01,   1.62994052e+01, 
+           1.15789465e+00,   1.73181503e+01,   9.33358989e+00,   3.82104623e-01,   2.45811794e+01, 
+           1.33131712e+01,   5.68071890e+00,   2.77946720e+01,   1.29013165e+01,   7.27837218e+00, 
+           2.09147450e+01,   1.84799695e+01,  -1.43953367e+00,   2.88271546e+01,   1.06297113e+01, 
+           1.06874159e+01,   1.80009217e+00,   9.88791886e+00,   1.74750501e+01,   5.38215565e+00, 
+           1.75814278e+01,   1.64927163e+01,  -7.22490057e-01,   1.59410372e+01,   1.21327342e+01, 
+           5.31684038e+00,   1.07398656e+01,   1.27687533e+01,   1.11831750e+01,   1.30396209e+01, 
+           1.78543512e+01,   1.53781269e+01,   1.74549497e+01,   1.69593034e+01,   1.25392544e+01, 
+           1.91056959e+01,   1.02634068e+01,   1.58723572e+01,   1.01017169e+01,   1.15340755e+01, 
+           2.42047249e+01,   8.82103648e+00,   1.74196163e+01,   2.71575865e+01,   1.42717489e+01, 
+           1.61565324e+01,   2.20042138e+01,   1.46526399e+01,   1.22238423e+01,   2.82739099e+01, 
+           1.32115234e+01,   2.28595316e+01,  -3.43176969e-01,   9.94990444e+00,   3.15261979e+01, 
+           7.17743425e+00,   1.79725272e+01,   2.66047961e+01,  -1.03202183e-01,   1.46786234e+01, 
+           2.03983934e+01,   6.75355215e+00,   1.21898998e+01,   2.68300650e+01,   1.28501206e+01, 
+           9.52256604e+00,   2.96146284e+01,   1.79253244e+01,   1.48734446e+01,   2.75889170e+01, 
+           7.84459536e+00,   2.04254604e+01,   2.29273727e+01,   1.86587003e+01,   1.36039471e+01, 
+           2.34500168e+01,   1.76328865e+01,   1.06667576e+01,   2.40841230e+01,   2.49370928e+01, 
+           1.38349803e+01,   3.01788493e+01,   2.19453967e+01,   1.96844070e+01,   2.17383789e+01, 
+           2.79207277e+01,   2.40109880e+01,   2.44652621e+00,   7.71232732e-01,   2.28150210e+01, 
+           4.44993033e+00,   6.32217106e+00,   2.86959872e+01,   6.16770811e+00,   2.54155030e+00, 
+           2.86295708e+01,   6.58513110e-01,   7.07847686e+00,   1.91416715e+01,   8.42657055e-01, 
+           1.09318699e+01,   2.21629487e+01,   3.26372053e+00,   1.85487891e+01,   2.42299255e+01, 
+           3.53057281e+00,   1.21895915e+01,   3.07759304e+01,   5.87270948e-01,   1.54581789e+01, 
+           2.21462069e+01,  -3.29544187e+00,   2.17376848e+01,   2.08019829e+01,   5.74042948e+00, 
+           2.91126306e+01,   2.82616387e+01,   4.12726443e+00,   2.38117939e+01,   2.48604110e+01, 
+          -9.81005677e-02,   2.75017597e+01,   2.19769526e+01,   9.55679072e+00,  -3.48501195e-01, 
+           2.15122044e+01,   1.35659683e+01,   4.45218017e+00,   2.70106862e+01,   1.84178475e+01, 
+           2.90258066e+00,   3.09038945e+01,   1.13784966e+01,   3.97619446e+00,   2.33776271e+01, 
+           1.09744756e+01,   9.48584489e+00,   2.30108491e+01,   1.65710971e+01,   1.59074187e+01, 
+           2.90437432e+01,   1.63990319e+01,   1.41164353e+01,   3.03675824e+01,   9.36100919e+00, 
+           1.59902897e+01,   2.19588417e+01,   9.65547975e+00,   2.31178969e+01,   2.07325650e+01, 
+           1.43025889e+01,   2.85076354e+01,   2.79531009e+01,   1.40545290e+01,   1.99579811e+01, 
+           2.86838426e+01,   1.23353706e+01,   2.65845766e+01,   2.36116501e+01,   2.56191152e+01, 
+           5.93663687e+00,   2.14810798e+01,   3.18962824e+01,   6.43104769e+00,   2.61566331e+01, 
+           3.11398548e+01,   2.04112055e+00,   2.78161522e+01,   2.39026490e+01,   3.29230633e+00, 
+           2.35872061e+01,   1.92586393e+01,   9.42997765e+00,   2.18868541e+01,   2.93005866e+01, 
+           1.56731672e+01,   2.57892309e+01,   3.08659127e+01,   1.04565213e+01,   2.89111102e+01, 
+           2.23973168e+01,   1.41543879e+01,   2.40352391e+01,   1.89355855e+01,   2.26713139e+01, 
+           2.60883570e+01,   2.53551683e+01,   3.10959184e+01,   2.56617570e+01,   2.53873006e+01, 
+           2.02938950e+01,   2.87914567e+01,   1.97522769e+01,   2.78202344e+01,  -1.76425983e+00, 
+          -1.53558560e+00,  -1.71338801e+00,  -9.78599968e-01,   6.87902421e+00,   7.88543588e+00, 
+           5.47881861e-01,   3.64324940e+00,   1.39468482e+00,   3.60000249e+00,  -9.28967610e-01, 
+           4.01716866e+00,   2.42995414e+00,   1.05628735e+00,   1.03627265e+01,   9.20694754e-01, 
+           4.29683694e+00,   1.64579850e+01,   6.19121450e+00,   7.68893688e+00,   1.23304998e+01, 
+           9.82833523e+00,   1.54814143e+00,   1.71545209e+01,   6.99417618e-01,   8.54622163e-02, 
+           2.48873966e+01,  -3.11309329e-01,   6.97214120e+00,   2.66220741e+01,   5.25625287e+00, 
+           7.68138067e+00,   2.39284370e+01,   6.25528626e+00,   3.07873577e+00,   3.00882100e+01, 
+           1.15270468e+00,   8.88014098e+00,   3.00512398e-01,   9.30446242e-01,   1.71408264e+01, 
+           3.50661823e+00,   5.83759203e+00,   1.72729331e+01,   3.34582087e-01,   5.40503488e+00, 
+           1.24459036e+01,   5.56073866e+00,   1.21588195e+00,   1.31551680e+01,   1.27378351e+01, 
+          -4.66813441e-01,   1.87703376e+01,   1.69486235e+01,   6.75076580e+00,   1.83449120e+01, 
+           1.48488718e+01,   9.47340998e+00,   1.17932793e+01,   1.67868142e+01,   6.10952151e-01, 
+           1.27008444e+01,   2.15901214e+01,   1.76087373e+00,   1.40248834e+01,   2.78953850e+01, 
+           6.51618548e+00,   1.72532108e+01,   2.04694567e+01,   7.36556309e+00,   9.99912211e+00, 
+           2.91964532e+01,  -7.06531579e-01,   2.27219694e+01,  -1.31954187e+00,  -1.54612461e+00, 
+           2.75038363e+01,   6.70572831e+00,   5.21401215e+00,   2.84508378e+01,  -1.38701455e+00, 
+           5.24874266e+00,   2.15644003e+01,   8.28914156e+00,  -2.21199280e+00,   2.06411930e+01, 
+           9.08490967e+00,  -3.69161804e-01,   2.79213183e+01,   1.67707124e+01,   5.77258212e+00, 
+           2.95534123e+01,   1.29379476e+01,   5.27372097e+00,   2.29618317e+01,   1.82846335e+01, 
+           5.50365226e-01,   2.32915342e+01,   2.26003508e+01,  -3.23975407e-01,   2.71026192e+01, 
+           2.69864390e+01,   5.25571146e+00,   2.84281121e+01,   2.43362803e+01,   4.19783582e+00, 
+           2.23458941e+01,   2.89351055e+01,   1.30027038e+01,  -2.89260409e+00,  -3.32667625e+00, 
+           1.24700611e+01,   5.45576814e+00,   6.79907186e+00,   1.69263149e+01,   5.70732090e+00, 
+           1.52975089e-01,   1.72152577e+01,  -5.86473536e-01,   2.60910235e+00,   1.39562777e+01, 
+           1.10496755e+00,   9.89893108e+00,   1.27550907e+01,   6.50405608e+00,   1.44860215e+01, 
+           1.84418079e+01,   6.98755864e+00,   1.14378627e+01,   1.73685838e+01,   1.03634629e+00, 
+           1.72542968e+01,   9.36166090e+00,   1.26996989e+00,   2.48970836e+01,   1.35415180e+01, 
+           4.84360499e+00,   2.82597230e+01,   1.28859648e+01,   7.62646315e+00,   2.08202186e+01, 
+           1.82323636e+01,  -1.58242560e+00,   2.82645654e+01,   9.67026415e+00,   9.99521608e+00, 
+           1.48323928e+00,   1.06202054e+01,   1.74410916e+01,   5.30476845e+00,   1.68915394e+01, 
+           1.66028258e+01,  -3.98602304e-01,   1.52286166e+01,   1.15951307e+01,   4.88875152e+00, 
+           1.16320855e+01,   1.18462368e+01,   1.17721604e+01,   1.30800856e+01,   1.72687237e+01, 
+           1.52362824e+01,   1.86182764e+01,   1.72413013e+01,   1.32638271e+01,   1.90927913e+01, 
+           1.01652528e+01,   1.60527418e+01,   9.59785151e+00,   1.16306603e+01,   2.32521891e+01, 
+           1.02733588e+01,   1.86418357e+01,   2.65319699e+01,   1.48920616e+01,   1.69296308e+01, 
+           2.24345192e+01,   1.44781142e+01,   1.16768928e+01,   2.87742833e+01,   1.26440243e+01, 
+           2.31651077e+01,   1.09153308e+00,   9.32620240e+00,   3.18068970e+01,   5.91156305e+00, 
+           1.82338682e+01,   2.68163992e+01,  -6.10171355e-01,   1.56193643e+01,   1.99596118e+01, 
+           8.12957661e+00,   1.34391603e+01,   2.79448176e+01,   1.21148599e+01,   9.90095353e+00, 
+           2.95224900e+01,   1.88551608e+01,   1.63687321e+01,   2.81729033e+01,   7.75414361e+00, 
+           2.11290647e+01,   2.30983265e+01,   1.80818117e+01,   1.22179830e+01,   2.36227246e+01, 
+           1.85352948e+01,   1.00736995e+01,   2.52569655e+01,   2.39704097e+01,   1.44179838e+01, 
+           2.90993728e+01,   2.15195489e+01,   1.95569595e+01,   2.20162082e+01,   2.86888343e+01, 
+           2.38790793e+01,   1.81853851e+00,  -8.62424353e-01,   2.30087081e+01,   3.67168316e+00, 
+           5.79906646e+00,   2.86237895e+01,   5.77923269e+00,   1.82976727e+00,   2.97992364e+01, 
+          -2.44824247e-01,   6.97483848e+00,   1.97479547e+01,   1.28907671e+00,   1.06238401e+01, 
+           2.22988651e+01,   3.36189040e+00,   1.99142865e+01,   2.56182622e+01,   4.87467917e+00, 
+           1.16104104e+01,   3.01052148e+01,  -1.89720612e-01,   1.52853202e+01,   2.30601562e+01, 
+          -3.37897609e+00,   2.20210883e+01,   2.21023714e+01,   7.37999253e+00,   2.99827770e+01, 
+           2.83970918e+01,   5.06217176e+00,   2.39324034e+01,   2.36552267e+01,   3.97689851e-01, 
+           2.70250248e+01,   2.32913517e+01,   1.10207360e+01,   7.64503581e-01,   2.00178673e+01, 
+           1.37487336e+01,   4.25542754e+00,   2.60455321e+01,   1.69122386e+01,   2.31534587e+00, 
+           3.04356904e+01,   1.25406626e+01,   5.17675092e+00,   2.38621411e+01,   1.14515762e+01, 
+           9.75443924e+00,   2.25731071e+01,   1.62345346e+01,   1.68317268e+01,   2.84171490e+01, 
+           1.69913568e+01,   1.42827468e+01,   2.97526886e+01,   9.31307649e+00,   1.67785293e+01, 
+           2.17762297e+01,   8.96916957e+00,   2.19718340e+01,   2.22594418e+01,   1.33823144e+01, 
+           2.81207945e+01,   2.77005814e+01,   1.50622075e+01,   2.05455699e+01,   2.92151641e+01, 
+           1.30044976e+01,   2.67938258e+01,   2.17064822e+01,   2.45224793e+01,   5.39644288e+00, 
+           2.09907797e+01,   3.13381910e+01,   6.65786528e+00,   2.44267241e+01,   2.96324924e+01, 
+           1.59248807e+00,   2.81352950e+01,   2.52179231e+01,   3.21255854e+00,   2.29984530e+01, 
+           1.94459863e+01,   9.90712637e+00,   1.95242101e+01,   2.89090489e+01,   1.59338674e+01, 
+           2.54944440e+01,   3.14856070e+01,   1.10580434e+01,   2.91399127e+01,   2.38737698e+01, 
+           1.47156065e+01,   2.36566327e+01,   1.94718712e+01,   2.27327251e+01,   2.67255132e+01, 
+           2.57714727e+01,   3.15584870e+01,   2.55546714e+01,   2.55331520e+01,   2.06608588e+01, 
+           2.85241759e+01,   1.96187079e+01,   2.95686729e+01,  -1.28506833e+00,  -1.19627373e+00, 
+          -1.11505578e+00,  -1.26613495e+00,   6.87769487e+00,   8.86664224e+00,   3.22672767e-01, 
+           3.60048900e+00,   1.75198909e+00,   3.39985912e+00,  -5.38113592e-01,   4.40630180e+00, 
+           2.05527629e+00,   1.04780310e+00,   1.09245524e+01,   1.64433825e+00,   5.07925261e+00, 
+           1.66693862e+01,   6.34528032e+00,   6.84652464e+00,   1.30553942e+01,   9.19503930e+00, 
+           1.02559973e+00,   1.64900202e+01,   1.50883393e+00,   1.94153184e-01,   2.60419984e+01, 
+           2.23637168e-01,   5.88126235e+00,   2.68151686e+01,   6.09330009e+00,   6.41359349e+00, 
+           2.27265508e+01,   5.20417493e+00,   3.02351860e+00,   2.90727542e+01,   5.22759441e-01, 
+           9.07723226e+00,   3.74357289e-01,   5.28407017e-01,   1.77876299e+01,   3.40818122e+00, 
+           4.77500246e+00,   1.61051931e+01,  -7.15798597e-01,   5.35494411e+00,   1.24396028e+01, 
+           5.26132317e+00,   3.65101881e+00,   1.45180281e+01,   1.20044556e+01,   6.47702685e-01, 
+           1.89647984e+01,   1.63575659e+01,   6.85886982e+00,   1.86666656e+01,   1.39918716e+01, 
+           9.63134562e+00,   1.21489398e+01,   1.79744053e+01,  -4.65149892e-02,   1.28820467e+01, 
+           2.20848030e+01,   5.38141652e-01,   1.49773108e+01,   2.86234466e+01,   6.69460622e+00, 
+           1.70430908e+01,   2.03293501e+01,   7.46084699e+00,   9.27068140e+00,   2.87672652e+01, 
+          -1.77446797e+00,   2.31007533e+01,  -1.61541146e+00,  -1.44197270e+00,   2.59669452e+01, 
+           7.05366958e+00,   6.78973516e+00,   2.82048010e+01,  -6.81707442e-01,   4.11224811e+00, 
+           2.33230735e+01,   7.64143788e+00,  -1.30932484e+00,   2.00341346e+01,   8.43186122e+00, 
+          -3.23227570e-01,   2.88456685e+01,   1.71869485e+01,   5.59484664e+00,   2.86861878e+01, 
+           1.38255153e+01,   5.39986151e+00,   2.26670663e+01,   1.74856853e+01,   1.31353338e+00, 
+           2.27240963e+01,   2.26573999e+01,  -6.43284767e-01,   2.75545414e+01,   2.65487243e+01, 
+           6.36781664e+00,   2.89591698e+01,   2.55204798e+01,   4.19690392e+00,   2.20492684e+01, 
+           2.90086623e+01,   1.29407803e+01,  -3.28971533e+00,  -3.59953707e+00,   1.30308691e+01, 
+           4.52526975e+00,   6.05334642e+00,   1.80200038e+01,   6.86934432e+00,  -6.64799107e-01, 
+           1.77004927e+01,  -1.08469207e+00,   2.66573197e+00,   1.33883962e+01,   1.77878946e+00, 
+           1.01478623e+01,   1.28332615e+01,   7.20488713e+00,   1.30030127e+01,   1.82890722e+01, 
+           5.45538575e+00,   1.26731818e+01,   1.64372459e+01,   1.13264799e+00,   1.68270761e+01, 
+           9.29480506e+00,   8.02789471e-01,   2.50004864e+01,   1.30397241e+01,   4.25942991e+00, 
+           2.82105770e+01,   1.34839369e+01,   6.59877473e+00,   1.96748658e+01,   1.90248344e+01, 
+          -7.34844927e-01,   2.61879859e+01,   1.06994814e+01,   1.04221404e+01,   1.19626201e+00, 
+           9.75063627e+00,   1.82675328e+01,   4.79479047e+00,   1.67169178e+01,   1.67708791e+01, 
+          -3.25796174e-01,   1.58140826e+01,   1.07514402e+01,   4.16021066e+00,   1.14190484e+01, 
+           1.20130431e+01,   1.10359921e+01,   1.23286945e+01,   1.73093633e+01,   1.60093426e+01, 
+           1.72472089e+01,   1.71555986e+01,   1.29595403e+01,   1.96515771e+01,   1.07779852e+01, 
+           1.55906451e+01,   1.04066011e+01,   1.06852174e+01,   2.41637389e+01,   9.33300851e+00, 
+           1.72769290e+01,   2.72366205e+01,   1.43344594e+01,   1.55444449e+01,   2.25613745e+01, 
+           1.54876710e+01,   1.23994150e+01,   2.77630051e+01,   1.24465157e+01,   2.22953455e+01, 
+           7.07224538e-01,   9.17225571e+00,   3.04541888e+01,   7.00444346e+00,   1.90451094e+01, 
+           2.68206460e+01,   2.12443190e-01,   1.40421608e+01,   2.16604155e+01,   8.76748146e+00, 
+           1.18599685e+01,   2.63467340e+01,   1.24514910e+01,   9.07508597e+00,   2.94452971e+01, 
+           1.81138604e+01,   1.65350863e+01,   2.76724408e+01,   8.10094240e+00,   2.03902238e+01, 
+           2.19891729e+01,   1.81613540e+01,   1.28241365e+01,   2.30836693e+01,   1.77077396e+01, 
+           1.07839643e+01,   2.43167076e+01,   2.35379387e+01,   1.43368823e+01,   2.99960368e+01, 
+           2.18020500e+01,   1.98836259e+01,   2.10543368e+01,   2.77564511e+01,   2.38873187e+01, 
+           2.63596088e+00,  -8.45710736e-01,   2.26031998e+01,   4.94875239e+00,   6.06483058e+00, 
+           2.72420930e+01,   7.16044030e+00,   2.03664724e+00,   2.83819926e+01,   1.41474271e+00, 
+           6.86956553e+00,   1.90297274e+01,   2.08547446e-01,   1.17356589e+01,   2.20093707e+01, 
+           3.11015561e+00,   1.84015708e+01,   2.55258414e+01,   4.51413195e+00,   1.15060640e+01, 
+           3.04420577e+01,   2.05350822e-01,   1.59037463e+01,   2.20766378e+01,  -3.08680082e+00, 
+           2.27928539e+01,   2.19423049e+01,   6.96063455e+00,   2.93175572e+01,   2.63580580e+01, 
+           4.17130592e+00,   2.37215427e+01,   2.48207538e+01,  -1.10022388e+00,   2.72061284e+01, 
+           2.27735841e+01,   1.10983539e+01,   5.03790539e-01,   2.05447311e+01,   1.35069355e+01, 
+           4.99617490e+00,   2.74249691e+01,   1.74389534e+01,   2.12313453e+00,   3.09387285e+01, 
+           1.30390672e+01,   4.56728163e+00,   2.49467870e+01,   1.09552706e+01,   1.05134177e+01, 
+           2.26330821e+01,   1.67053853e+01,   1.63758180e+01,   2.83218004e+01,   1.73740024e+01, 
+           1.40724154e+01,   3.02682616e+01,   8.35484609e+00,   1.66575388e+01,   2.13501708e+01, 
+           1.01994161e+01,   2.34754835e+01,   2.17794008e+01,   1.46632688e+01,   2.78344546e+01, 
+           2.68554005e+01,   1.40368100e+01,   2.04864069e+01,   2.79509647e+01,   1.19193324e+01, 
+           2.79392613e+01,   2.26582097e+01,   2.45440331e+01,   6.30616900e+00,   2.13859764e+01, 
+           3.08849664e+01,   6.44869190e+00,   2.64928749e+01,   3.02400532e+01,   8.32685758e-01, 
+           2.74640627e+01,   2.40967712e+01,   3.18770838e+00,   2.27412709e+01,   1.85562433e+01, 
+           9.23151490e+00,   2.03983609e+01,   2.91681800e+01,   1.56979455e+01,   2.51695730e+01, 
+           3.07717754e+01,   1.06821424e+01,   2.92168363e+01,   2.36456995e+01,   1.45948324e+01, 
+           2.33527556e+01,   1.93047064e+01,   2.37746530e+01,   2.48248533e+01,   2.61599136e+01, 
+           3.04541638e+01,   2.58041186e+01,   2.56474296e+01,   2.02610796e+01,   2.85417157e+01, 
+           1.88972442e+01,   2.98568715e+01,  -2.38586496e+00,  -7.58828968e-01,  -1.63156635e+00, 
+          -1.24260140e-01,   7.66170676e+00,   8.26519210e+00,   8.18582687e-01,   3.21215177e+00, 
+           8.71469426e-01,   3.32445560e+00,  -1.32118548e+00,   3.91101312e+00,   2.32046567e+00, 
+           1.58370834e+00,   1.07292588e+01,   1.33792245e+00,   4.76690685e+00,   1.57155304e+01, 
+           5.60070334e+00,   7.35450929e+00,   1.13291649e+01,   9.38118665e+00,   1.32457406e+00, 
+           1.64112640e+01,   2.06694803e+00,  -1.08774960e-01,   2.51995098e+01,   5.83962037e-01, 
+           6.14184963e+00,   2.60031487e+01,   7.65609079e+00,   5.60778423e+00,   2.29300579e+01, 
+           5.77114858e+00,   2.13679298e+00,   2.93327862e+01,   2.19806103e+00,   9.68222590e+00, 
+           1.57880111e+00,   3.14284164e-01,   1.73107320e+01,   3.17317841e+00,   5.31032205e+00, 
+           1.67722718e+01,  -3.21992890e-01,   4.86044703e+00,   1.46302272e+01,   6.21744347e+00, 
+           3.23194778e+00,   1.36053502e+01,   1.20906550e+01,   1.05401318e+00,   1.89924170e+01, 
+           1.86500989e+01,   7.28920551e+00,   1.90214147e+01,   1.48608421e+01,   8.94579137e+00, 
+           1.17939437e+01,   1.76451822e+01,  -2.16292241e-01,   1.27470176e+01,   2.10170183e+01, 
+           1.86340865e+00,   1.43620945e+01,   2.88854080e+01,   7.51715045e+00,   1.76892134e+01, 
+           2.12086589e+01,   7.40953137e+00,   8.90283609e+00,   2.82643224e+01,  -1.81615954e+00, 
+           2.35425566e+01,  -6.35391065e-01,  -1.81429720e+00,   2.64341698e+01,   6.21091555e+00, 
+           5.43254354e+00,   2.75836921e+01,  -9.47958758e-01,   4.71567619e+00,   2.21052659e+01, 
+           7.88771418e+00,  -1.66841626e+00,   2.04914383e+01,   8.26675658e+00,  -4.59229759e-01, 
+           2.71579580e+01,   1.68410204e+01,   5.00100432e+00,   2.90662447e+01,   1.29214242e+01, 
+           4.69089603e+00,   2.34759714e+01,   1.67656282e+01,   6.53854823e-01,   2.38352952e+01, 
+           2.17931036e+01,  -1.01639060e+00,   2.72103570e+01,   2.59664262e+01,   4.89596274e+00, 
+           2.77674695e+01,   2.47617265e+01,   3.70839276e+00,   2.19495406e+01,   2.77068507e+01, 
+           1.33883490e+01,  -2.96774368e+00,  -3.88662826e+00,   1.21540528e+01,   4.88520987e+00, 
+           6.46250715e+00,   1.58502434e+01,   7.52061809e+00,  -5.94010768e-01,   1.80041063e+01, 
+          -1.45785510e+00,   1.90361473e+00,   1.37682126e+01,   1.01096461e+00,   1.05140180e+01, 
+           1.32426632e+01,   7.30651107e+00,   1.44595448e+01,   1.87287975e+01,   5.98649586e+00, 
+           1.22746034e+01,   1.63100152e+01,   1.15741871e+00,   1.66981121e+01,   9.12913654e+00, 
+          -2.92667679e-01,   2.45886138e+01,   1.33050334e+01,   3.97377478e+00,   2.69467178e+01, 
+           1.42080442e+01,   6.64595078e+00,   2.01191284e+01,   1.86015542e+01,  -1.75336417e+00, 
+           2.83471787e+01,   1.08620615e+01,   1.11988186e+01,   1.95253365e+00,   9.45047887e+00, 
+           1.75938537e+01,   4.23821913e+00,   1.70208034e+01,   1.60108143e+01,  -1.22190668e+00, 
+           1.50766040e+01,   1.12165304e+01,   5.43990155e+00,   1.09933699e+01,   1.22850779e+01, 
+           1.16546326e+01,   1.23781385e+01,   1.80369686e+01,   1.53125056e+01,   1.73516609e+01, 
+           1.75785987e+01,   1.18313796e+01,   1.94046667e+01,   1.10166421e+01,   1.62979612e+01, 
+           9.66207941e+00,   1.08458701e+01,   2.37048314e+01,   8.44004940e+00,   1.70203943e+01, 
+           2.65757559e+01,   1.43027170e+01,   1.63790927e+01,   2.18182624e+01,   1.38144113e+01, 
+           1.12481654e+01,   2.87113704e+01,   1.23513270e+01,   2.18980717e+01,   5.17961694e-01, 
+           9.82158593e+00,   3.06003668e+01,   6.40959927e+00,   1.97382355e+01,   2.64666452e+01, 
+          -2.56886470e-01,   1.51138569e+01,   2.14756928e+01,   7.69843726e+00,   1.13280462e+01, 
+           2.53724470e+01,   1.17891597e+01,   9.16645548e+00,   2.85470480e+01,   1.83229821e+01, 
+           1.60641629e+01,   2.74309208e+01,   8.14336993e+00,   2.00104262e+01,   2.16691335e+01, 
+           1.90509791e+01,   1.35353858e+01,   2.30944654e+01,   1.79157296e+01,   1.01235942e+01, 
+           2.45385866e+01,   2.35448360e+01,   1.40749201e+01,   3.01972078e+01,   2.17768651e+01, 
+           2.03786050e+01,   2.10805498e+01,   2.76935947e+01,   2.44615615e+01,   3.05749628e+00, 
+           4.07414296e-01,   2.16336438e+01,   4.40657970e+00,   5.21060398e+00,   2.88299726e+01, 
+           7.01128437e+00,   8.79026008e-01,   2.85241186e+01,   3.14915946e-01,   7.07809470e+00, 
+           1.98625917e+01,   4.50200492e-03,   1.15863909e+01,   2.29376845e+01,   2.50348240e+00, 
+           1.86113050e+01,   2.47645618e+01,   3.74984924e+00,   1.16835156e+01,   3.00116656e+01, 
+           1.33610084e+00,   1.54039934e+01,   2.16664404e+01,  -3.77318264e+00,   2.24073626e+01, 
+           2.17213138e+01,   6.32154759e+00,   2.91289015e+01,   2.80778040e+01,   4.04768899e+00, 
+           2.51637272e+01,   2.49482621e+01,  -1.80258150e+00,   2.77649841e+01,   2.28639670e+01, 
+           9.52095023e+00,   1.12320744e+00,   2.11060298e+01,   1.35966775e+01,   4.52804356e+00, 
+           2.65933190e+01,   1.74870802e+01,   3.12917456e+00,   3.12581554e+01,   1.26369216e+01, 
+           4.24969839e+00,   2.28577555e+01,   1.09623135e+01,   9.61329928e+00,   2.31292240e+01, 
+           1.68635673e+01,   1.59562582e+01,   2.83134554e+01,   1.65993286e+01,   1.34061062e+01, 
+           3.07651009e+01,   8.60937322e+00,   1.58164516e+01,   2.15713342e+01,   9.77426434e+00, 
+           2.38239983e+01,   2.07170028e+01,   1.44272471e+01,   2.72915473e+01,   2.78094878e+01, 
+           1.46067375e+01,   2.02374654e+01,   2.83102299e+01,   1.21902457e+01,   2.73283465e+01, 
+           2.25040436e+01,   2.40201181e+01,   7.24105767e+00,   2.16659528e+01,   3.22281603e+01, 
+           6.56727556e+00,   2.67438472e+01,   3.14254999e+01,   1.00941523e+00,   2.72477648e+01, 
+           2.43062679e+01,   3.91537815e+00,   2.28206020e+01,   1.90617248e+01,   9.50661026e+00, 
+           1.95693791e+01,   2.99400820e+01,   1.67827219e+01,   2.52432494e+01,   3.09283864e+01, 
+           1.18433291e+01,   3.02997758e+01,   2.26469178e+01,   1.40818435e+01,   2.52061280e+01, 
+           1.93512323e+01,   2.29021542e+01,   2.65208970e+01,   2.53952117e+01,   3.08512322e+01, 
+           2.76076800e+01,   2.54724293e+01,   1.95719692e+01,   2.94254771e+01,   1.94406409e+01, 
+           2.73992646e+01 ]
+      </q>
+      <p shape='(4, 324)'>
+       [   1.40372994e-01,  -1.70336384e+00,   6.37303020e-01,  -3.60483257e-01,  -1.10940109e+00, 
+           3.74869623e-01,  -3.25735029e-01,   7.75472220e-01,   1.10757231e+00,  -2.40493336e+00, 
+          -1.53716651e+00,   1.37041429e+00,   5.28228491e-01,   1.38616874e+00,  -1.38581237e+00, 
+          -3.77690596e-01,   2.35773187e-01,   1.37036828e+00,   1.74363360e+00,   1.46668252e+00, 
+           9.19554977e-01,   1.46604384e+00,   7.17395153e-01,   1.16766357e+00,   5.74213643e-01, 
+           1.73367931e-01,  -1.66161161e+00,   2.33212598e+00,  -9.77285003e-01,   2.41575083e-01, 
+          -1.49585940e-01,  -1.18522916e+00,   1.58553462e-01,  -1.47168505e+00,  -1.24387557e+00, 
+           7.68483391e-01,  -1.56677579e+00,   8.39149463e-01,  -7.60108832e-01,  -1.39563512e-01, 
+           1.23618455e+00,  -3.39699359e-01,  -9.88358452e-01,  -1.25161119e+00,   5.75688958e-01, 
+           3.34908289e-02,  -1.57137545e+00,   9.54873978e-01,   2.21048523e-01,   3.15471131e+00, 
+           4.38424417e-01,  -1.41296551e+00,  -6.15293784e-01,   4.54568031e-01,   5.25912190e-01, 
+           1.10462750e+00,  -7.33687512e-01,   3.51836732e-01,   1.11696908e+00,  -1.75519514e-01, 
+          -9.87401261e-01,  -1.00224818e+00,  -2.06257599e+00,  -8.69995365e-02,   1.96237139e-01, 
+          -1.55878661e+00,   2.06187113e+00,   5.21020731e-03,   2.35617406e-01,   1.59018004e+00, 
+           1.23310143e+00,  -9.06287741e-01,   1.02772014e+00,  -4.13278400e-01,  -9.73895321e-01, 
+           1.26420822e+00,  -6.00372594e-02,  -8.86889397e-01,  -1.35877237e+00,   1.26542138e-01, 
+          -1.96996606e+00,   1.16602982e+00,  -1.87715811e+00,  -1.07989580e+00,   1.52684255e-01, 
+           2.69202324e+00,  -7.86764932e-01,  -1.26792145e+00,  -2.15985504e-01,   2.83847115e-01, 
+          -3.90074815e-02,  -3.21827572e-01,   8.60927158e-01,   1.15174374e+00,  -1.06395947e+00, 
+           6.56206723e-01,   1.71687653e+00,   1.88094551e+00,  -1.41246651e-01,   6.67235507e-01, 
+           8.02729512e-01,  -5.99750938e-01,   3.86175582e-01,   1.56674025e+00,   1.16770355e-01, 
+          -1.25058894e-01,  -6.64317179e-01,  -1.90732529e+00,  -3.49443824e-01,  -1.75313244e+00, 
+          -8.93802373e-01,  -8.38911513e-02,  -3.54765784e+00,   3.29189169e-01,  -1.59470714e+00, 
+           2.28214169e-01,  -2.04640475e+00,  -1.21363021e+00,   4.43956386e-01,   1.98553407e+00, 
+          -6.41921427e-01,   8.31610867e-01,   2.37729074e-01,  -1.96307860e+00,   5.83519443e-01, 
+          -9.23373803e-01,  -2.72733993e-01,  -6.80313749e-01,  -4.21629881e-01,   8.24112349e-02, 
+          -2.02945940e-02,   4.70239760e-02,  -8.87189426e-01,   2.62362546e-01,   2.90567277e-03, 
+          -5.77088646e-01,   8.63734028e-01,   2.12881273e-01,  -1.84398318e+00,  -1.27537888e+00, 
+          -8.96390165e-01,   8.67723220e-01,  -7.13233254e-01,   9.98467053e-01,   1.20471615e+00, 
+           3.80364988e-02,  -3.86066496e-01,   2.80482433e-01,  -5.55953973e-01,   6.99483364e-01, 
+          -6.20862722e-01,  -5.75941665e-01,  -1.01810316e+00,   6.59129210e-01,   3.36528627e-01, 
+           1.19657571e+00,   1.16325245e+00,   1.38231876e+00,  -1.62296272e+00,   7.73325492e-01, 
+           9.07953738e-01,  -1.56020700e+00,   5.91276288e-01,  -1.45072710e+00,   3.06498507e-01, 
+           1.02001412e+00,  -7.79180574e-01,  -1.09202701e+00,   8.60608247e-01,  -8.12517020e-01, 
+          -3.29732754e-01,   7.95824769e-02,  -3.53180396e-01,  -6.92843090e-01,   8.08287670e-01, 
+          -1.31368002e+00,   8.92275005e-01,   7.74460553e-01,  -4.16315357e-01,   4.13327475e-01, 
+           2.07077192e-01,  -2.18589769e+00,  -1.02281048e-01,   9.09167509e-02,  -1.46835347e+00, 
+           1.23256338e+00,  -3.07250057e-01,   2.46249432e-01,   7.74791555e-01,   3.98298680e-01, 
+          -5.39569195e-02,   4.73911005e-01,   1.79978269e+00,   6.49413046e-01,   1.44049305e+00, 
+          -7.54136523e-01,   6.85251391e-01,  -1.03401786e+00,  -1.07121945e+00,   1.15101429e+00, 
+          -6.78252322e-01,   3.66963136e-02,  -1.11945652e-01,  -4.17808375e-01,   9.68133746e-02, 
+           1.99069757e+00,   1.55013114e+00,  -1.92882805e-02,   1.33795454e+00,   7.39452603e-01, 
+           3.77633950e-01,   1.81163711e+00,   2.58943819e+00,   1.29562203e+00,  -1.48713547e+00, 
+          -9.55424888e-01,   3.46515063e-01,   4.16880974e-01,  -1.14430760e+00,  -5.41540342e-01, 
+           1.15617781e+00,  -8.15311978e-01,  -1.24131679e-01,  -1.01785991e+00,  -6.82587363e-01, 
+           1.34485087e+00,   3.95295976e-01,   3.61637052e-01,  -4.79290805e-01,   1.96407902e-02, 
+          -6.96427808e-01,   9.65717585e-01,   4.63130635e-01,  -4.12348950e-02,  -6.14114134e-02, 
+           3.76909298e-01,   1.31464930e-01,  -1.96943568e+00,  -2.07138054e+00,   1.07506895e+00, 
+          -8.47693792e-02,   1.50838082e+00,   9.66357898e-01,   3.29832625e-02,   2.53592195e+00, 
+          -8.44613584e-01,  -1.75528218e-01,  -1.51432281e+00,  -1.30241164e+00,  -2.07575407e-01, 
+          -1.04844306e+00,  -1.28575451e+00,   4.62727941e-01,   1.46590141e+00,  -2.63004766e-01, 
+          -1.01898113e+00,  -1.37875255e+00,  -9.12918530e-01,   1.71033710e+00,   1.02893180e+00, 
+          -1.32634968e+00,   8.82495711e-02,  -9.11997611e-01,  -2.42094019e+00,  -6.29467944e-01, 
+           8.08788619e-01,   1.94804910e+00,  -8.72566500e-01,   9.20033720e-01,  -1.72884793e+00, 
+           3.44191186e-01,   1.21733557e+00,   1.87515471e-01,   5.10808988e-02,   7.94329477e-01, 
+          -3.52316495e-01,  -1.00945167e+00,   7.35146276e-01,   1.07654301e+00,   1.04930155e+00, 
+          -1.85826022e+00,  -5.07927804e-01,  -9.80771494e-01,  -3.21767737e+00,  -1.49676613e-01, 
+          -2.15647041e-01,  -1.82770370e+00,   1.49469246e+00,  -1.68826911e+00,   1.62663223e+00, 
+          -3.48742295e-01,  -6.17863065e-01,  -8.81308520e-01,   7.44925882e-01,   1.73070837e+00, 
+          -1.28410488e-01,   8.64089144e-01,   3.26440658e-01,   1.10448379e+00,  -1.69522830e-01, 
+          -6.53776497e-01,   3.81864979e-01,  -1.07760135e+00,  -3.98562627e-01,   5.38128157e-01, 
+          -2.29754635e-01,  -2.33407869e+00,  -1.25116856e-01,  -1.21131987e+00,   1.08298393e+00, 
+           1.51546625e-01,  -3.56701517e-01,  -9.98362812e-01,   1.03306121e-01,  -4.42120758e-01, 
+          -3.94015959e-02,  -8.12077182e-01,  -5.72762073e-01,  -8.31013031e-01,  -1.16147494e+00, 
+          -7.35897383e-02,  -1.09398682e-01,  -1.40219599e+00,   9.63041766e-01,   6.60583424e-02, 
+          -1.71857732e+00,   1.99405396e-01,  -8.84068189e-01,  -2.18819685e-01,   2.21366910e+00, 
+          -1.84460428e+00,  -1.05848347e+00,  -1.53731311e+00,  -2.25141079e-01,   8.55239543e-02, 
+          -5.64991535e-01,  -1.11243253e+00,  -1.48334114e+00,   2.85484662e-01,  -5.98357857e-01, 
+          -5.62005083e-01,   5.18476929e-02,   7.20785662e-01,  -9.21464830e-01,  -4.17295452e-01, 
+          -7.06470111e-01,  -2.07423207e+00,  -2.82738840e-01,  -7.05765425e-01,   5.71154019e-01, 
+           1.41402308e+00,   7.15224885e-01,  -9.01571406e-01,  -1.78966537e-01,  -9.57855925e-01, 
+           1.92815188e+00,   3.67644067e-01,  -7.77398627e-01,   3.75573158e-01,  -1.27570871e+00, 
+          -1.56269598e-01,  -1.20126128e+00,   5.64996896e-01,  -1.45388556e+00,  -4.64414199e-01, 
+           1.88714704e+00,   1.47969578e+00,  -1.96063537e-01,   5.18755530e-01,   2.68937808e+00, 
+          -1.69730122e+00,  -5.36576005e-01,   1.04962410e+00,   4.65512668e-01,   1.47912174e+00, 
+           8.46469352e-01,   8.08058567e-01,   1.13879268e+00,   6.34831145e-01,   1.43535434e+00, 
+           2.04580992e+00,   7.90686500e-04,   1.19722827e+00,  -1.42644546e+00,   1.92405610e-01, 
+           8.14926140e-02,  -2.36223884e-01,   1.16089456e+00,   2.24765430e-01,  -1.32752285e+00, 
+           1.36642599e+00,  -5.36742312e-01,   4.98821954e-01,   6.00651182e-01,  -2.56801229e+00, 
+          -2.36250226e-01,  -8.57842968e-01,  -3.00915036e-01,   2.41807890e+00,   7.24711670e-01, 
+           1.36799087e+00,  -1.78428862e-01,  -3.59900038e-01,   3.42306822e-01,  -3.98271527e-01, 
+          -1.30912096e-01,  -5.36751004e-01,  -6.45495166e-01,   3.16360509e-02,  -6.38708513e-01, 
+           1.33860162e+00,   7.16436859e-01,   8.83639989e-01,  -2.87900422e-01,  -1.77363177e-01, 
+           1.75217790e-01,  -2.41654433e+00,  -8.13755792e-02,  -7.71741152e-01,   1.33456387e+00, 
+          -5.10830196e-01,  -1.10584683e+00,  -1.31689363e+00,   1.17583053e+00,   6.77964594e-01, 
+           2.99895744e-01,   5.12719967e-01,   2.06867244e+00,  -2.89182146e+00,   1.84494668e+00, 
+           3.10415200e-01,   1.64179666e+00,  -2.18044104e+00,  -9.27575571e-01,  -8.07814665e-01, 
+          -1.85157068e-01,   5.86693996e-01,   1.60605927e+00,  -1.03758631e-01,  -9.65958485e-01, 
+          -9.06979038e-01,   5.61735019e-01,   3.35132784e-01,   6.02021180e-01,   1.76689554e-01, 
+          -3.36488706e-02,   1.45021360e+00,   6.70122973e-01,  -1.71792295e-01,   8.29616451e-01, 
+          -8.05614322e-01,  -2.58079407e+00,   1.01873565e+00,  -3.81060235e-01,   1.00130704e+00, 
+           1.55674172e+00,   2.02125219e+00,  -7.48802492e-01,   1.06649929e+00,  -9.65493892e-01, 
+          -3.98926995e-01,   1.08567030e+00,  -1.04009627e+00,   1.41394914e+00,   1.80976669e+00, 
+          -4.38932124e-01,  -9.96116646e-01,   2.93325605e+00,  -2.65850173e+00,  -2.86627210e-01, 
+          -1.13380351e+00,   1.01776593e+00,   3.82798024e-01,  -2.03015905e+00,  -4.77705377e-01, 
+          -1.52497126e-01,  -3.08097496e-01,  -1.22388367e+00,   7.72589230e-01,  -1.18620576e+00, 
+           7.03396905e-01,  -6.07914021e-01,   1.36665589e+00,   3.05885200e-01,   8.68021103e-01, 
+           7.85645067e-01,   6.86344886e-01,   6.60054397e-02,   6.72872685e-01,  -1.72147672e+00, 
+          -3.35687107e-01,   6.40280686e-01,   1.90765562e-01,  -1.19759420e+00,   3.98723557e-01, 
+           1.01300503e+00,   3.15092859e-01,  -7.48716523e-01,  -6.31490429e-01,   5.03478302e-01, 
+          -7.97737020e-01,  -3.64328563e-01,  -6.84865111e-01,  -5.96889804e-01,   8.97320299e-01, 
+          -2.74447207e-01,   8.96041854e-01,   8.62447243e-01,   1.14171036e+00,   1.89620219e+00, 
+          -2.03086042e-01,   1.21863991e+00,  -7.08332672e-01,   8.65474351e-01,   8.84794271e-02, 
+          -7.38048949e-01,  -3.29738572e-01,   6.25639096e-01,   8.73860305e-01,   1.32892575e+00, 
+          -1.08731164e+00,   7.42722680e-02,   1.10376262e+00,  -2.70446460e-01,   4.84230480e-01, 
+          -7.49397372e-01,  -1.22773789e-01,  -1.73175160e+00,   1.00419017e+00,   4.18612640e-01, 
+          -1.19265354e+00,   1.89942453e+00,   2.16924392e-01,   1.98456504e+00,  -4.47127896e-02, 
+          -8.13751338e-01,  -1.57721515e+00,  -1.51087464e+00,   1.49149818e-01,   3.34518489e-01, 
+          -1.49643992e+00,   3.14649899e-01,   2.07634343e+00,  -6.04070136e-01,   1.87721508e+00, 
+          -4.06863898e-01,  -7.83918757e-01,   2.03531050e-01,  -7.64354284e-02,   3.31824344e-01, 
+           4.79012974e-01,   1.83535358e+00,   9.02286124e-01,  -1.15207026e+00,   1.28672254e-01, 
+          -8.26157812e-01,   1.90407166e+00,  -3.96264466e-01,   1.94392469e-01,  -8.73100373e-01, 
+          -3.37468953e-03,   9.76466097e-01,   6.23291758e-02,  -2.37497472e-01,   1.07993508e+00, 
+          -3.14201676e-01,   1.70621222e+00,  -9.90965410e-02,   1.20753777e-01,  -6.38441546e-01, 
+           1.41774776e+00,  -5.80882309e-01,   1.09405908e+00,   3.93716017e-01,  -1.28958167e+00, 
+           4.24488630e-01,   9.55061213e-01,   1.29635151e+00,  -1.96475095e-01,   1.27366715e-01, 
+           1.13693192e-01,  -1.99660506e+00,  -7.38934810e-01,   1.27623410e+00,   1.67534486e+00, 
+           2.98512870e-01,   1.48183369e+00,   1.03842506e+00,  -1.05881112e+00,   3.59296217e+00, 
+           2.33641006e+00,  -4.44058636e-01,  -7.05099765e-02,   3.21036779e-01,  -1.92001349e-01, 
+          -1.42762638e+00,  -4.05688476e-01,   4.80851634e-01,   4.74839401e-01,   1.26185094e+00, 
+          -1.05552598e-01,   5.56910980e-01,  -5.32621114e-01,   9.34349181e-02,   2.56314544e-01, 
+          -1.74582311e+00,   4.17470989e-01,   2.29528051e+00,   2.62392322e-01,   3.18772657e-01, 
+           8.17214811e-01,  -8.16325438e-01,  -4.19774898e-01,  -1.79953350e-02,   2.52742913e+00, 
+          -2.79795924e-02,  -8.35211211e-01,  -3.49992939e-01,   1.17976432e+00,   1.06455248e+00, 
+           4.99693771e-01,  -3.25404106e-01,  -1.19518002e+00,  -1.12107657e+00,   7.08571829e-01, 
+          -1.32836392e+00,  -4.05940531e-01,  -1.62901886e+00,   1.94474528e-01,   5.69560181e-01, 
+          -1.16097389e+00,  -9.55882892e-01,   8.43738270e-01,   9.60068854e-01,   3.04930133e-02, 
+           1.09691130e-01,   5.31002976e-01,  -7.96127056e-02,  -2.90684090e-02,  -2.90427758e-01, 
+           6.26093036e-01,   6.57694112e-01,  -4.85835995e-01,   1.80074318e-01,   1.12303284e+00, 
+           5.23912334e-01,   5.85300514e-01,   6.21565032e-01,  -6.88438319e-01,   1.76104297e+00, 
+           4.69681129e-01,  -1.50756131e+00,  -2.35433970e+00,   2.20926618e-01,  -1.59035655e+00, 
+          -2.16680752e-01,  -1.09766225e+00,  -3.66108880e-01,   6.72549669e-01,  -1.39966389e+00, 
+          -2.64964223e-01,  -4.47757200e-01,   5.31233808e-01,   1.84834139e+00,  -6.02818313e-01, 
+          -1.44473483e+00,   1.52776447e-02,  -7.93366554e-01,  -1.90159337e+00,   1.74463595e-01, 
+          -2.11499652e+00,  -2.25655780e+00,   1.18038845e+00,  -3.70794733e-01,  -8.67093500e-01, 
+           1.43290672e+00,  -1.38210097e-01,   1.14792213e+00,   1.06670774e+00,   1.03103438e+00, 
+          -9.00433225e-02,  -5.34357708e-01,  -1.22908335e+00,  -4.72611965e-01,   2.46111190e-01, 
+          -1.70561610e+00,   3.92682358e-01,  -1.55756928e+00,  -2.37928227e-01,   2.03059408e+00, 
+          -9.84120137e-01,  -2.11053290e+00,   6.16981710e-01,  -1.12243752e-01,  -1.10029159e-02, 
+           9.02048435e-01,   8.56294718e-01,   1.13642549e+00,  -1.50782750e+00,  -3.72301949e-01, 
+          -1.66280307e+00,  -1.38174795e+00,   8.97950650e-02,   5.55623559e-01,  -6.05980874e-01, 
+          -7.05479352e-01,   7.04832792e-01,  -3.20169261e-02,  -5.46153623e-01,  -4.23996939e-01, 
+          -1.87522120e+00,  -4.41626784e-01,   2.28022755e+00,   1.41852748e+00,   7.22573260e-01, 
+           2.28863935e+00,   1.32648450e+00,  -1.20732385e+00,   6.48320570e-01,  -5.97367023e-02, 
+           1.26207462e-01,  -2.04798081e+00,   1.13007921e+00,  -1.71585140e-01,   3.14833129e-02, 
+           1.71558970e-01,   2.30236146e-01,  -2.69742619e+00,   1.36832193e+00,  -4.09947214e-01, 
+          -2.00570514e-01,   8.31050179e-01,   1.40744357e+00,  -2.34268444e+00,  -7.42098732e-03, 
+           1.03611120e+00,   2.06373254e+00,  -5.02279592e-01,  -7.01081635e-01,   1.25847835e-01, 
+           6.02231279e-02,  -4.08815632e-01,  -3.34433187e-01,   1.42676664e+00,  -1.49454672e+00, 
+          -1.24564490e+00,   1.71269292e+00,   6.82206821e-01,   8.72601070e-01,  -9.22460387e-01, 
+           4.55740724e-02,   1.33030508e+00,   6.53585708e-02,   3.13993497e-01,  -2.11648823e+00, 
+          -1.36475580e-02,   2.51552262e+00,   9.25969768e-01,  -6.52019962e-01,   2.03940799e+00, 
+           2.55910092e-01,  -7.26525412e-01,  -1.00207723e+00,   1.31950793e+00,  -1.82967630e+00, 
+          -4.92805660e-01,   4.07867808e-01,   6.11026922e-02,  -2.11979237e-01,  -2.87253727e-01, 
+           1.11856203e+00,  -2.21720426e-01,   1.84350017e+00,   7.84784426e-01,  -1.49696700e+00, 
+           9.09038266e-01,  -1.27156936e+00,   9.56717220e-02,  -4.15656486e-01,   4.19788418e-01, 
+          -2.61691637e-01,  -1.56861006e+00,  -6.47659675e-01,  -6.83293713e-01,   2.51621894e+00, 
+          -4.44034798e-01,   1.78185380e+00,   4.60785269e-01,  -2.68311726e-01,   1.04600391e+00, 
+          -5.67576324e-01,   1.13507042e+00,  -1.78393940e+00,  -1.82719464e+00,  -1.84508388e+00, 
+          -1.29303124e+00,   1.35664029e+00,  -9.17173260e-01,   9.85863915e-01,   1.07223755e+00, 
+           8.84707496e-01,  -1.37852063e+00,   6.19459586e-01,  -2.93677966e-02,  -3.18737198e-01, 
+           1.03094159e+00,   4.89778531e-01,   1.73667810e+00,  -2.03090079e-01,   3.64701299e-01, 
+           3.48172075e-01,  -1.54091587e+00,   1.04498049e+00,  -1.28639737e+00,  -4.71319136e-01, 
+           8.61169102e-01,   1.61610909e+00,   7.69597251e-01,   7.68227380e-01,   1.11224694e+00, 
+           8.48919769e-01,   3.12294367e-01,  -4.93201021e-01,   6.42746189e-01,  -2.27293413e-01, 
+           2.16505068e-01,   5.52193787e-01,  -1.76108774e+00,  -4.43454137e-01,  -1.10836243e+00, 
+           7.49078941e-01,  -5.26434049e-02,   4.23300776e-01,  -1.66554395e+00,   3.10524219e-01, 
+           1.19480829e+00,  -6.29200409e-01,   6.41552685e-01,   7.60530128e-01,  -1.44429069e+00, 
+          -2.98038448e-01,   5.01177628e-01,   3.97341120e-01,   4.53467676e-01,  -1.35725377e+00, 
+           9.43314195e-01,   2.15143758e+00,   3.94302672e-01,   2.26509780e-01,   9.59313828e-01, 
+          -1.66404768e-01,   1.65207595e-01,  -2.39340233e+00,   3.14543001e+00,   1.05218765e+00, 
+          -8.14714579e-01,  -3.05710147e-01,  -1.74531477e+00,  -3.64151538e-01,  -2.09140760e-01, 
+           2.23739053e+00,   6.09477113e-01,   1.16899879e+00,   5.92967924e-01,  -8.17673149e-01, 
+          -1.10420428e+00,   4.65350290e-01,   2.11023040e-03,   8.14863971e-01,   1.08315984e+00, 
+          -7.25860590e-02,  -4.59896403e-01,   1.38164252e+00,   5.89336792e-01,   1.34519891e+00, 
+          -3.63277304e-01,   9.08232031e-01,   2.05775821e-01,   1.01268871e+00,   2.25900629e-01, 
+           1.11195741e+00,   1.46383492e+00,   1.15712737e+00,   1.37285918e+00,  -3.27123406e-01, 
+           2.10121867e+00,   3.63728898e-01,  -9.64451543e-01,   7.50304023e-02,   2.26045537e+00, 
+          -1.07848463e-01,  -5.55058232e-01,   6.46210385e-01,  -3.82173868e-01,   1.02724203e+00, 
+           4.75226625e-01,   2.63486832e-01,  -1.87720616e-01,   2.66714045e+00,  -1.37046410e-01, 
+          -9.47273326e-01,  -2.21070556e+00,   5.16910020e-01,  -1.00019802e+00,  -6.10344773e-01, 
+          -1.23626760e-01,  -7.78025616e-01,   3.54873800e-01,   1.32409224e+00,  -4.96383871e-01, 
+          -8.45650299e-01,  -7.06777204e-01,   7.74296088e-01,   5.40594697e-01,  -2.35323920e+00, 
+           1.10574355e+00,  -2.71490739e-01,   3.89486537e-01,  -2.25716891e+00,   1.08161436e+00, 
+          -7.61396029e-01,  -6.43902282e-01,   2.07071361e-01,  -1.24311778e+00,   1.66718154e+00, 
+          -1.12540846e+00,   4.04848060e-01,   9.82172410e-01,  -2.22704668e-01,  -4.41651091e-01, 
+           8.11339257e-01,  -1.71211605e+00,  -6.16208091e-02,   8.56110168e-01,   5.66390166e-01, 
+           6.39785155e-01,   1.39973994e+00,  -6.88244744e-01,   2.42634138e+00,   3.24544610e-01, 
+           4.48313772e-01,   7.45142689e-01,  -7.23045807e-02,   1.83704141e-01,  -1.47171323e+00, 
+          -7.09077372e-01,  -6.01038702e-01,  -8.75281454e-01,   5.13919915e-01,  -6.60822470e-01, 
+          -1.43487765e+00,   7.49938057e-01,   2.83635875e-01,   3.07045512e-01,   1.48936195e+00, 
+          -2.17046249e-01,   2.04101206e+00,   6.02181940e-01,  -1.78421830e-01,  -8.17580831e-01, 
+           6.13386299e-01,   1.46247756e-01,  -1.42514706e+00,  -1.93940896e+00,  -8.65275710e-01, 
+           1.47462311e-01,  -4.02301576e-01,  -9.63675890e-01,  -1.84120948e+00,   8.14102917e-01, 
+           3.80760496e-01,   3.25900148e-01,  -4.87843594e-01,  -1.03508268e+00,   3.57676231e-01, 
+          -6.47622001e-01,   2.14181936e+00,  -3.34827796e-01,  -8.07284435e-01,  -8.49708166e-01, 
+          -8.31736592e-01,   6.33904552e-01,   4.35249821e-01,  -9.13698624e-01,  -2.96290563e-01, 
+           3.77906357e-02,  -1.16936544e+00,  -3.14920460e-03,  -1.18537362e+00,   2.99624644e-01, 
+           1.76247250e+00,  -6.49375825e-01,  -1.89211809e-01,  -1.00974570e+00,   1.47455608e+00, 
+           1.72728137e+00,   2.18072141e+00,  -7.62571173e-01,  -1.23504812e+00,   2.14290218e-01, 
+          -7.46888683e-01,   5.53627395e-01,  -7.82076567e-03,   1.56933507e+00,   1.07155739e+00, 
+          -6.42903166e-01,  -9.85900335e-01,  -6.31873346e-01,  -9.85430080e-01,   3.97933623e-01, 
+          -2.07587828e+00,   2.76612669e-01,  -1.22060249e+00,  -2.25139829e-01,   1.80572908e+00, 
+          -5.58028004e-01,  -8.45859723e-01,  -1.30829100e+00,  -1.65904870e+00,  -9.78603426e-01, 
+          -3.70256932e-01,   6.40194479e-01,   1.29842617e+00,   5.79764541e-01,  -2.18955795e+00, 
+          -6.34491122e-01,   2.83457214e-01,   2.71316544e-01,   5.79996139e-01,  -1.90426727e+00, 
+          -2.20898199e+00,   5.67839219e-01,  -1.04623710e+00,   1.01192986e+00,   1.18567472e+00, 
+          -1.73342893e+00,  -2.65618016e+00,   3.03138568e-01,  -1.02196040e+00,  -2.21750759e-01, 
+          -1.72682912e+00,  -1.23679339e+00,   3.32640475e-01,  -4.60601000e-01,  -7.81932128e-02, 
+           4.11906483e+00,  -1.89283131e+00,  -3.88776684e-01,   1.80199833e+00,   1.96404455e+00, 
+           3.43852965e-01,  -6.23609543e-01,   1.81733087e-01,   5.72130123e-01,   1.20715657e+00, 
+          -9.16486162e-01,  -5.61833245e-01,   1.67641549e-01,  -1.75329878e+00,   2.02727673e+00, 
+          -2.28164354e-01,   8.44422552e-01,  -1.51806276e+00,   1.11571422e+00,  -6.35541493e-01, 
+          -7.89951282e-02,   4.72008590e-01,  -8.35642565e-01,   3.68813724e-01,  -7.06411185e-01, 
+          -2.06091646e-01,   1.16843231e+00,   2.22169824e+00,  -2.13768098e+00,   2.32776602e-01, 
+           2.52900016e-01,  -1.14185849e+00,   1.66528537e-01,   1.98871626e+00,   6.88624657e-01, 
+           1.86755853e-01,  -2.60746884e-01,   2.14480822e-01,   5.74795125e-01,  -1.38808062e-01, 
+           6.23677175e-01,  -2.74784978e+00,  -8.37018300e-02,  -3.22071295e-01,   3.66767660e-01, 
+          -8.23091717e-01,  -7.47733613e-02,   1.51128334e+00,  -1.74266371e+00,  -2.99285140e-01, 
+          -5.11163366e-01,   6.42039600e-01,   2.76048507e-01,  -7.37616832e-01,   1.22339395e+00, 
+          -2.67566663e-01,  -7.51730239e-02,   2.01868691e-01,   7.07868632e-01,  -1.21711787e+00, 
+          -1.85687375e+00,   1.05200890e+00,   1.47295756e+00,   2.54890967e-01,  -1.24936980e+00, 
+          -2.57051185e+00,   3.98733877e-01,  -7.23513377e-01,   1.21540059e+00,   8.12283422e-01, 
+           1.65554595e+00,  -1.17091747e+00,   1.34992672e-01,  -1.26490262e+00,   1.90743067e+00, 
+           1.26996550e+00,   6.84984124e-01,  -2.42826181e+00,   5.82274924e-01,  -6.03997807e-02, 
+          -2.34897259e-01,  -2.82126477e+00,   6.99213914e-01,  -6.24173822e-01,   9.13698195e-01, 
+           2.30096444e+00,  -7.69519522e-01,  -2.05936269e+00,  -5.04623275e-01,   9.51572220e-01, 
+          -1.04990530e+00,   9.29427177e-01,  -1.00119016e+00,   5.58533219e-01,  -1.96190366e+00, 
+          -2.19649662e+00,   2.76351981e-01,   1.00882502e+00,   1.77184378e+00,   1.52844587e+00, 
+          -6.11090570e-01,   8.38972820e-01,  -1.19408219e+00,   1.09833108e+00,   1.79335203e+00, 
+           9.50652921e-01,   2.03016606e-01,  -7.05328950e-01,   2.63976431e+00,   1.32128813e+00, 
+          -3.26324584e-01,  -6.03144462e-01,  -1.15795682e+00,  -2.84347500e-01,  -2.70637624e+00, 
+           8.99588322e-01,   1.16243638e+00,   6.23042073e-01,  -1.05633172e+00,   7.74870856e-01, 
+           1.11703946e+00,   7.31498949e-01,   4.88889866e-02,   5.18543386e-01,  -1.15303239e-01, 
+          -3.72740004e-01,   7.18707005e-01,  -1.10160673e-02,  -3.42219376e-01,  -4.07108891e-01, 
+           1.46297984e+00,   2.21343521e+00,   1.36672760e+00,  -1.42677666e+00,  -1.53701751e+00, 
+           1.20834078e+00,   5.34986888e-01,  -1.09136550e-01,   4.83101030e-01,   7.86715435e-01, 
+           1.04015999e-01,   6.21976525e-01,  -2.08139696e+00,   6.95530731e-01,   1.03483749e+00, 
+          -1.35308249e+00,   4.56603819e-02,  -2.25926466e-01,   2.43326854e-01,   6.16818669e-01, 
+           6.94683652e-02,  -2.33814385e-01,  -2.22136024e+00,   1.86899901e+00,   1.10748320e+00, 
+           1.16927626e+00,  -2.45241826e+00,   1.27914126e+00,   1.60261128e+00,  -1.94906569e+00, 
+           1.97845616e+00,  -4.46554806e-01,  -8.02072809e-01,  -1.96479219e+00,   3.59615459e-01, 
+          -5.74916548e-01,  -1.86520891e-01,   1.24436447e+00,  -7.48666778e-01,  -2.45964718e+00, 
+          -2.48723344e-01,   1.49576775e+00,   1.18547459e-01,  -1.24812482e+00,   1.65059802e+00, 
+          -8.75251737e-01,  -3.00917161e+00,  -9.70460069e-01,  -6.87370120e-01,  -1.39008336e+00, 
+          -4.98646683e-01,   1.53959956e+00,   1.34417230e+00,   7.25609309e-01,  -7.97696169e-01, 
+          -8.26531057e-01,  -2.73695934e+00,   2.27172885e+00,   1.58063398e-01,  -5.75734209e-01, 
+          -1.20968554e+00,   8.79594164e-01,  -1.97505063e-01,   6.07633769e-01,  -5.23534759e-01, 
+           5.39579521e-01,  -1.43180248e+00,  -1.31573180e+00,   2.06689061e-01,   8.44228287e-01, 
+           1.01539177e-01,   8.50313924e-01,   1.13773193e+00,  -6.09337003e-01,   1.22573408e+00, 
+           1.60308325e+00,  -3.58368736e+00,  -1.44948284e+00,  -1.41743392e+00,  -5.61340107e-01, 
+          -9.68290606e-01,  -2.02739053e+00,   2.71090499e-01,   2.51806453e+00,  -9.34553301e-02, 
+           5.98489523e-01,   1.00383713e-01,   1.47096663e+00,  -1.87702008e+00,  -9.71287935e-01, 
+           1.36813300e+00,  -1.05133427e-01,  -7.45511518e-01,   1.15482681e-02,   7.41538344e-01, 
+           4.89211699e-01,   1.78611375e-01,  -3.22591658e-01,  -6.62753734e-01,  -6.79941629e-01, 
+          -1.56662518e+00,  -1.30972025e+00,  -9.95839674e-01,   5.78534201e-01,  -3.55251735e-01, 
+          -4.20144708e-02,   2.11099051e-01,  -1.37500178e+00,   3.05860052e-01,   2.39801447e+00, 
+           1.06806434e-01,  -4.31891309e-02,  -5.92778723e-01,  -2.33810000e-01,   2.73379933e-01, 
+          -8.91777478e-01,  -5.54188105e-01,  -7.29232486e-01,  -2.61636425e-02,  -2.56123061e+00, 
+          -1.82546639e+00 ]
+      </p>
+      <m shape='(108)'>
+       [   3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03, 
+           3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03, 
+           3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03, 
+           3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03, 
+           3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03, 
+           3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03, 
+           3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03, 
+           3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03, 
+           3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03, 
+           3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03, 
+           3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03, 
+           3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03, 
+           3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03, 
+           3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03, 
+           3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03, 
+           3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03, 
+           3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03, 
+           3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03, 
+           3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03, 
+           3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03, 
+           3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03,   3.67494322e+03, 
+           3.67494322e+03,   3.67494322e+03,   3.67494322e+03 ]
+      </m>
+      <names shape='(108)'>
+       [ H2, H2, H2, H2, H2, 
+         H2, H2, H2, H2, H2, 
+         H2, H2, H2, H2, H2, 
+         H2, H2, H2, H2, H2, 
+         H2, H2, H2, H2, H2, 
+         H2, H2, H2, H2, H2, 
+         H2, H2, H2, H2, H2, 
+         H2, H2, H2, H2, H2, 
+         H2, H2, H2, H2, H2, 
+         H2, H2, H2, H2, H2, 
+         H2, H2, H2, H2, H2, 
+         H2, H2, H2, H2, H2, 
+         H2, H2, H2, H2, H2, 
+         H2, H2, H2, H2, H2, 
+         H2, H2, H2, H2, H2, 
+         H2, H2, H2, H2, H2, 
+         H2, H2, H2, H2, H2, 
+         H2, H2, H2, H2, H2, 
+         H2, H2, H2, H2, H2, 
+         H2, H2, H2, H2, H2, 
+         H2, H2, H2, H2, H2, 
+         H2, H2, H2 ]
+      </names>
+   </beads>
+   <total_steps>100000</total_steps>
+   <cell shape='(3, 3)'>
+    [   3.37259417e+01,   2.06511833e-15,   2.06511833e-15,   0.00000000e+00,   3.37259417e+01, 
+        2.06511833e-15,   0.00000000e+00,   0.00000000e+00,   3.37259417e+01 ]
+   </cell>
+   <forces>
+      <socket>
+         <port>31415</port>
+      </socket>
+   </forces>
+   <output prefix=''>
+      <properties shape='(8)' filename='tut2a.md'>
+       [ step, time{picosecond}, conserved{kelvin}, temperature{kelvin}, potential{kelvin}, 
+         kinetic_cv{kelvin}, pressure_cv{megapascal}, volume ]
+      </properties>
+      <properties stride='20' shape='(1)' filename='tut2a.force'> [ atom_f{piconewton}(atom=0;bead=0) ] </properties>
+      <trajectory format='pdb' filename='tut2a.pos' stride='100' cell_units='angstrom'>positions{angstrom}</trajectory>
+      <checkpoint stride='1000' filename='tut2a.checkpoint'/>
+   </output>
+   <prng>
+      <state shape='(624)'>
+       [ 2687888409, 4059721984, 529212847, 1944050140, 549951740, 
+         753730274, 4256902940, 3644633819, 1619935418, 2926854959, 
+         3845596702, 3377185214, 672656208, 1522275289, 2252162595, 
+         3840064745, 4027492069, 3675681571, 2579879846, 1816332499, 
+         4032401752, 1911816378, 303445975, 1468438718, 4013747657, 
+         1340600813, 2333908485, 2694837801, 4170600699, 2510847348, 
+         3039951471, 3744192067, 1926386446, 1272375545, 1414207521, 
+         66179398, 4083890893, 4151044133, 576437212, 1676792606, 
+         434309634, 1907904212, 552501071, 2721977900, 1774218030, 
+         2379944892, 895572049, 964207007, 855123501, 322370220, 
+         2071560835, 311075834, 2622627631, 3049706185, 2343013325, 
+         68709345, 1862864050, 3480897554, 1688711674, 3849088037, 
+         2335410691, 2553458415, 3853338058, 2210199727, 2794071459, 
+         2398176951, 3934057850, 1698758425, 1011318686, 1806201471, 
+         1034736815, 3855360847, 835665231, 2475925733, 233924796, 
+         3024757758, 2198530484, 3673044703, 1249768122, 3962863565, 
+         3357863236, 2995035040, 307264231, 726406611, 2449569067, 
+         2105792248, 2511154863, 1776943467, 1288186977, 1069459630, 
+         4142069906, 2662399901, 2976669074, 3587203732, 2374529826, 
+         1425481845, 228954896, 829104572, 3792121363, 2155121068, 
+         4012537920, 4004560763, 1828234324, 523136808, 212778594, 
+         2400962328, 2941249333, 941934455, 1185399473, 1989697055, 
+         3876270640, 2356595322, 2240658826, 1455744954, 1294764103, 
+         197281598, 3596260716, 1784450322, 4229237399, 2625160461, 
+         3437563840, 99534139, 4231199313, 4186457231, 1356327267, 
+         11955050, 694326214, 3281619587, 1501920361, 4047724237, 
+         254407815, 1209336385, 2469757968, 3247917043, 467877924, 
+         714928015, 1424369871, 2112691093, 961450464, 1302826015, 
+         1508195287, 2682046824, 1166405749, 130758490, 669915191, 
+         3325468865, 2863429703, 99481154, 2455859519, 3512819878, 
+         2058734245, 713709489, 92681358, 1270820689, 2875258344, 
+         4089059727, 2319856617, 3246994482, 2375401460, 3526989769, 
+         2037481502, 1523778672, 4277357577, 3378312673, 1761280988, 
+         385602812, 2806072191, 263793228, 3893867788, 1122562696, 
+         3292179677, 196613098, 1412940405, 437753556, 2089537898, 
+         3093827021, 2543771523, 2707596589, 4247024898, 423016972, 
+         1950202748, 619404510, 1524092033, 2603783903, 1668886628, 
+         1610491330, 203643004, 378998824, 3077420296, 1135622483, 
+         1741156718, 4043803158, 134627695, 3826076900, 2236198903, 
+         1299249975, 1841801847, 1664600294, 3214378313, 4189671272, 
+         3480243241, 2314880827, 726164864, 1258895459, 1021877225, 
+         57278710, 2540601428, 2729779922, 1740214549, 1640865107, 
+         1355185385, 2109593488, 2195506700, 672372257, 2178115007, 
+         1875949822, 1689867492, 385658740, 2445406785, 271863064, 
+         988127097, 1025468932, 2359419817, 30505704, 3740615491, 
+         302654725, 68322970, 3937476624, 1133164597, 2115798914, 
+         320399345, 783710429, 2653212426, 3534685928, 1799928422, 
+         3374564924, 140092188, 2838741355, 118331603, 3274090979, 
+         2536288199, 424964681, 2624886533, 930882804, 2205394448, 
+         2184146172, 676812400, 3846276446, 3664199786, 1428020191, 
+         174713762, 1742043028, 1988587715, 250315220, 3460710952, 
+         518855886, 3301263820, 3376830340, 1924596217, 3991359611, 
+         4018324691, 2736101407, 3348220756, 4134954748, 1014806456, 
+         811815211, 2969949177, 1648717003, 1095340695, 3941199066, 
+         1442177871, 2118024477, 3440070762, 2652513624, 2449760687, 
+         3263443330, 2902806218, 3234417117, 1849567332, 947381041, 
+         3667048364, 951549915, 3479164436, 3858250612, 331400252, 
+         2281345388, 2762215954, 3082365401, 683228175, 3454398927, 
+         970279118, 2070406438, 3049304524, 1693733059, 175159517, 
+         1769171565, 2762326718, 2494712358, 1596534753, 696283870, 
+         2018059673, 92137961, 494184422, 392011733, 1385029818, 
+         934252405, 333359117, 3764822796, 1330799844, 1968964095, 
+         1099463842, 3602247127, 2198538609, 99239880, 3666952197, 
+         1538751175, 687515492, 1759850188, 1784319556, 219306934, 
+         3607066683, 3549791334, 1244006176, 3168276190, 2506130029, 
+         934365798, 4125460139, 2267772610, 4123099235, 3145641762, 
+         2282867996, 947174487, 2735752579, 1153570283, 1214198797, 
+         3843855592, 226542409, 1556151146, 2140750114, 173612017, 
+         3793649149, 513160329, 1696259753, 2196908248, 4236321655, 
+         3978054768, 3076169778, 1237756707, 794294503, 2478806329, 
+         3270485108, 21511829, 3648378180, 2173244083, 390728983, 
+         1613278496, 245589104, 1871555825, 840092166, 2005126608, 
+         2086709055, 346538249, 755528088, 4150217063, 1800593080, 
+         2996189003, 223378615, 26641502, 1408725657, 1055486622, 
+         2783260926, 2418422845, 1425876347, 2681749907, 689577833, 
+         2439224882, 1119191698, 3284738598, 3248369824, 2184806341, 
+         3827067703, 1403375638, 2039560728, 2026930258, 1439858255, 
+         3646642925, 357706083, 801162144, 200302113, 843383109, 
+         3953988752, 803642989, 133507707, 1890262095, 2010928680, 
+         153102298, 62155903, 277159866, 3184049271, 3470490419, 
+         1263803797, 1744789719, 291191777, 2104793752, 3710673355, 
+         690715888, 3985842110, 2609560703, 850539005, 86744360, 
+         1737104979, 1863808169, 1774594416, 295814460, 349948339, 
+         2998856642, 2965669633, 1901828086, 3978738887, 1547972061, 
+         3099911135, 2005717380, 567557764, 4005749125, 2160875982, 
+         3708061218, 71131479, 4020136758, 2494015768, 1649237263, 
+         3904477723, 398737933, 1060721700, 1863476301, 370356512, 
+         3071414126, 2579819024, 1413367122, 2902740002, 111597792, 
+         3291486874, 2640531015, 3168695648, 2512654909, 3959449531, 
+         2099836667, 1724339088, 1513859793, 1867797563, 72940112, 
+         150365030, 2695841664, 1822792143, 1313669546, 2967322181, 
+         520611643, 353667991, 2717535171, 3765848346, 388428102, 
+         1356267895, 3512676772, 370279636, 3846898162, 230096495, 
+         1637173159, 611261822, 1005164736, 269482378, 3515088803, 
+         3384787851, 219854487, 3527128574, 1621986556, 2351564858, 
+         1464556636, 3969432414, 4241153635, 3481875215, 2028710485, 
+         2552303669, 398357876, 502240174, 2783848798, 3029135000, 
+         3389310739, 2505116094, 142532114, 3164584552, 2476051612, 
+         3402430270, 3909441351, 3427500434, 334653597, 3680534388, 
+         994471388, 3554495285, 1194116172, 2229772907, 1080120321, 
+         764714490, 2033099135, 14870392, 1699063853, 4063486208, 
+         1292743360, 2032090912, 72238972, 161094465, 1452285444, 
+         2672671278, 1692937611, 1323803845, 3240748400, 4018998180, 
+         747254077, 236045767, 3239449578, 983232024, 3337514013, 
+         1251769771, 3333700522, 410670915, 987407435, 2475716801, 
+         2872258033, 4098868775, 1252507952, 3804640001, 1349395704, 
+         3776831082, 2921973556, 4089719272, 2209056770, 4132418611, 
+         1349045766, 1096167788, 946557058, 2742739413, 675697683, 
+         981116951, 3762459934, 735892043, 2820765771, 3285067216, 
+         2160644040, 3791763118, 3326789900, 4049571064, 2680776632, 
+         3569204094, 65929649, 3389067210, 3597945585, 1844146738, 
+         2700511765, 329482853, 1760204187, 923334769, 4064120545, 
+         3501525441, 185277522, 1241941790, 3591317416, 417403194, 
+         1300287444, 568015210, 1937417620, 1293297106, 1132926831, 
+         2866724791, 3257502829, 2947848120, 3895316838, 522557077, 
+         3227142004, 3090084150, 1099385887, 281296826, 1305525858, 
+         4048212751, 1083053479, 1851665893, 2417839863, 1623516667, 
+         3571192609, 3711731288, 2688150423, 1385750380, 3001410324, 
+         3992036671, 438613795, 1675062808, 126103207, 3806023665, 
+         3378609204, 3872710810, 3254661971, 3271656093, 2954958773, 
+         2955771203, 943499290, 1783244758, 27256593, 2736330207, 
+         2854314347, 1414980118, 3499653814, 2716003330, 1906739972, 
+         2097871403, 833490830, 860249641, 1359898654, 681385897, 
+         768010275, 1337229341, 2176361026, 1243749829, 2535464086, 
+         3587794549, 257320265, 1799338138, 2326145708 ]
+      </state>
+      <seed>12345</seed>
+      <set_pos>432</set_pos>
+      <gauss> -8.30560467e-01</gauss>
+   </prng>
+   <ensemble mode='npt'>
+      <pressure> 0 </pressure>
+      <barostat mode='isotropic'>
+         <thermostat mode='langevin'>
+            <tau units='femtosecond'> 250 </tau>
+         </thermostat>
+         <tau units='femtosecond'> 250 </tau>
+      </barostat>
+      <thermostat mode='pile_g'>
+         <tau>  1.03353433e+03</tau>
+         <ethermo>  2.24648494e-02</ethermo>
+      </thermostat>
+      <timestep>  4.13413730e+01</timestep>
+      <temperature>  7.91703800e-05</temperature>
+   </ensemble>
+</simulation>
diff --git a/tools/i-pi/examples/tutorial/tutorial-2/tutorial-2b.xml b/tools/i-pi/examples/tutorial/tutorial-2/tutorial-2b.xml
new file mode 100755
index 0000000000..d90bbc3e34
--- /dev/null
+++ b/tools/i-pi/examples/tutorial/tutorial-2/tutorial-2b.xml
@@ -0,0 +1,33 @@
+<simulation verbosity='high'>
+   <initialize nbeads='4'>
+      <file mode='chk'> tutorial-1_RESTART </file>
+   </initialize>
+   <output prefix='tut2b'>
+      <properties filename='md' stride='1'> [ step, time{picosecond}, conserved{kelvin}, temperature{kelvin}, potential{kelvin}, kinetic_cv{kelvin}, pressure_cv{megapascal}, volume ] </properties>
+      <properties filename='force' stride='20'> [atom_f{piconewton}(atom=0;bead=0)] </properties>
+      <trajectory filename='pos' stride='100' format='pdb' cell_units='angstrom'> positions{angstrom} </trajectory>
+      <checkpoint filename='checkpoint' stride='1000' overwrite='True'/>
+   </output>
+   <total_steps>100000</total_steps>
+   <prng> <seed> 31415 </seed> </prng>
+   <forces>
+      <socket mode="inet">
+         <address>localhost</address>
+         <port> 31415 </port>
+      </socket>
+   </forces>
+   <ensemble mode='npt'>
+      <barostat mode='isotropic'>
+         <thermostat mode='langevin'>
+            <tau units='femtosecond'> 250 </tau>
+         </thermostat>
+         <tau units='femtosecond'> 250 </tau>
+      </barostat>
+      <thermostat mode='pile_g'>
+         <tau units='femtosecond'> 25 </tau>
+      </thermostat>
+      <timestep units='femtosecond'> 1 </timestep>
+      <temperature units='kelvin'> 25 </temperature>
+      <pressure> 0 </pressure>
+   </ensemble>
+</simulation>
diff --git a/tools/i-pi/examples/tutorial/tutorial-3/our_ref.pdb b/tools/i-pi/examples/tutorial/tutorial-3/our_ref.pdb
new file mode 100755
index 0000000000..4734f80613
--- /dev/null
+++ b/tools/i-pi/examples/tutorial/tutorial-3/our_ref.pdb
@@ -0,0 +1,174 @@
+CRYST1   39.115   39.115   39.115  90.00  90.00  90.00 P 1          1
+ATOM      1   H2   1     1       0.000   0.000   0.000  0.00  0.00            0
+ATOM      2   H2   1     1       5.582   5.582   0.000  0.00  0.00            0
+ATOM      3   H2   1     1       5.582   0.000   5.582  0.00  0.00            0
+ATOM      4   H2   1     1       0.000   5.582   5.582  0.00  0.00            0
+ATOM      5   H2   1     1       0.000   0.000  11.165  0.00  0.00            0
+ATOM      6   H2   1     1       5.582   5.582  11.165  0.00  0.00            0
+ATOM      7   H2   1     1       5.582   0.000  16.747  0.00  0.00            0
+ATOM      8   H2   1     1       0.000   5.582  16.747  0.00  0.00            0
+ATOM      9   H2   1     1       0.000   0.000  22.330  0.00  0.00            0
+ATOM     10   H2   1     1       5.582   5.582  22.330  0.00  0.00            0
+ATOM     11   H2   1     1       5.582   0.000  27.912  0.00  0.00            0
+ATOM     12   H2   1     1       0.000   5.582  27.912  0.00  0.00            0
+ATOM     13   H2   1     1       0.000   0.000  33.495  0.00  0.00            0
+ATOM     14   H2   1     1       5.582   5.582  33.495  0.00  0.00            0
+ATOM     15   H2   1     1       0.000  11.165   0.000  0.00  0.00            0
+ATOM     16   H2   1     1       5.582  16.747   0.000  0.00  0.00            0
+ATOM     17   H2   1     1       5.582  11.165   5.582  0.00  0.00            0
+ATOM     18   H2   1     1       0.000  16.747   5.582  0.00  0.00            0
+ATOM     19   H2   1     1       0.000  11.165  11.165  0.00  0.00            0
+ATOM     20   H2   1     1       5.582  16.747  11.165  0.00  0.00            0
+ATOM     21   H2   1     1       5.582  11.165  16.747  0.00  0.00            0
+ATOM     22   H2   1     1       0.000  16.747  16.747  0.00  0.00            0
+ATOM     23   H2   1     1       0.000  11.165  22.330  0.00  0.00            0
+ATOM     24   H2   1     1       5.582  16.747  22.330  0.00  0.00            0
+ATOM     25   H2   1     1       5.582  11.165  27.912  0.00  0.00            0
+ATOM     26   H2   1     1       0.000  16.747  27.912  0.00  0.00            0
+ATOM     27   H2   1     1       0.000  11.165  33.495  0.00  0.00            0
+ATOM     28   H2   1     1       5.582  16.747  33.495  0.00  0.00            0
+ATOM     29   H2   1     1       0.000  22.330   0.000  0.00  0.00            0
+ATOM     30   H2   1     1       5.582  27.912   0.000  0.00  0.00            0
+ATOM     31   H2   1     1       5.582  22.330   5.582  0.00  0.00            0
+ATOM     32   H2   1     1       0.000  27.912   5.582  0.00  0.00            0
+ATOM     33   H2   1     1       0.000  22.330  11.165  0.00  0.00            0
+ATOM     34   H2   1     1       5.582  27.912  11.165  0.00  0.00            0
+ATOM     35   H2   1     1       5.582  22.330  16.747  0.00  0.00            0
+ATOM     36   H2   1     1       0.000  27.912  16.747  0.00  0.00            0
+ATOM     37   H2   1     1       0.000  22.330  22.330  0.00  0.00            0
+ATOM     38   H2   1     1       5.582  27.912  22.330  0.00  0.00            0
+ATOM     39   H2   1     1       5.582  22.330  27.912  0.00  0.00            0
+ATOM     40   H2   1     1       0.000  27.912  27.912  0.00  0.00            0
+ATOM     41   H2   1     1       0.000  22.330  33.495  0.00  0.00            0
+ATOM     42   H2   1     1       5.582  27.912  33.495  0.00  0.00            0
+ATOM     43   H2   1     1       0.000  33.495   0.000  0.00  0.00            0
+ATOM     44   H2   1     1       5.582  33.495   5.582  0.00  0.00            0
+ATOM     45   H2   1     1       0.000  33.495  11.165  0.00  0.00            0
+ATOM     46   H2   1     1       5.582  33.495  16.747  0.00  0.00            0
+ATOM     47   H2   1     1       0.000  33.495  22.330  0.00  0.00            0
+ATOM     48   H2   1     1       5.582  33.495  27.912  0.00  0.00            0
+ATOM     49   H2   1     1       0.000  33.495  33.495  0.00  0.00            0
+ATOM     50   H2   1     1      11.165   0.000   0.000  0.00  0.00            0
+ATOM     51   H2   1     1      16.747   5.582   0.000  0.00  0.00            0
+ATOM     52   H2   1     1      16.747   0.000   5.582  0.00  0.00            0
+ATOM     53   H2   1     1      11.165   5.582   5.582  0.00  0.00            0
+ATOM     54   H2   1     1      11.165   0.000  11.165  0.00  0.00            0
+ATOM     55   H2   1     1      16.747   5.582  11.165  0.00  0.00            0
+ATOM     56   H2   1     1      16.747   0.000  16.747  0.00  0.00            0
+ATOM     57   H2   1     1      11.165   5.582  16.747  0.00  0.00            0
+ATOM     58   H2   1     1      11.165   0.000  22.330  0.00  0.00            0
+ATOM     59   H2   1     1      16.747   5.582  22.330  0.00  0.00            0
+ATOM     60   H2   1     1      16.747   0.000  27.912  0.00  0.00            0
+ATOM     61   H2   1     1      11.165   5.582  27.912  0.00  0.00            0
+ATOM     62   H2   1     1      11.165   0.000  33.495  0.00  0.00            0
+ATOM     63   H2   1     1      16.747   5.582  33.495  0.00  0.00            0
+ATOM     64   H2   1     1      11.165  11.165   0.000  0.00  0.00            0
+ATOM     65   H2   1     1      16.747  16.747   0.000  0.00  0.00            0
+ATOM     66   H2   1     1      16.747  11.165   5.582  0.00  0.00            0
+ATOM     67   H2   1     1      11.165  16.747   5.582  0.00  0.00            0
+ATOM     68   H2   1     1      11.165  11.165  11.165  0.00  0.00            0
+ATOM     69   H2   1     1      16.747  16.747  11.165  0.00  0.00            0
+ATOM     70   H2   1     1      16.747  11.165  16.747  0.00  0.00            0
+ATOM     71   H2   1     1      11.165  16.747  16.747  0.00  0.00            0
+ATOM     72   H2   1     1      11.165  11.165  22.330  0.00  0.00            0
+ATOM     73   H2   1     1      16.747  16.747  22.330  0.00  0.00            0
+ATOM     74   H2   1     1      16.747  11.165  27.912  0.00  0.00            0
+ATOM     75   H2   1     1      11.165  16.747  27.912  0.00  0.00            0
+ATOM     76   H2   1     1      11.165  11.165  33.495  0.00  0.00            0
+ATOM     77   H2   1     1      16.747  16.747  33.495  0.00  0.00            0
+ATOM     78   H2   1     1      11.165  22.330   0.000  0.00  0.00            0
+ATOM     79   H2   1     1      16.747  27.912   0.000  0.00  0.00            0
+ATOM     80   H2   1     1      16.747  22.330   5.582  0.00  0.00            0
+ATOM     81   H2   1     1      11.165  27.912   5.582  0.00  0.00            0
+ATOM     82   H2   1     1      11.165  22.330  11.165  0.00  0.00            0
+ATOM     83   H2   1     1      16.747  27.912  11.165  0.00  0.00            0
+ATOM     84   H2   1     1      16.747  22.330  16.747  0.00  0.00            0
+ATOM     85   H2   1     1      11.165  27.912  16.747  0.00  0.00            0
+ATOM     86   H2   1     1      11.165  22.330  22.330  0.00  0.00            0
+ATOM     87   H2   1     1      16.747  27.912  22.330  0.00  0.00            0
+ATOM     88   H2   1     1      16.747  22.330  27.912  0.00  0.00            0
+ATOM     89   H2   1     1      11.165  27.912  27.912  0.00  0.00            0
+ATOM     90   H2   1     1      11.165  22.330  33.495  0.00  0.00            0
+ATOM     91   H2   1     1      16.747  27.912  33.495  0.00  0.00            0
+ATOM     92   H2   1     1      11.165  33.495   0.000  0.00  0.00            0
+ATOM     93   H2   1     1      16.747  33.495   5.582  0.00  0.00            0
+ATOM     94   H2   1     1      11.165  33.495  11.165  0.00  0.00            0
+ATOM     95   H2   1     1      16.747  33.495  16.747  0.00  0.00            0
+ATOM     96   H2   1     1      11.165  33.495  22.330  0.00  0.00            0
+ATOM     97   H2   1     1      16.747  33.495  27.912  0.00  0.00            0
+ATOM     98   H2   1     1      11.165  33.495  33.495  0.00  0.00            0
+ATOM     99   H2   1     1      22.330   0.000   0.000  0.00  0.00            0
+ATOM    100   H2   1     1      27.912   5.582   0.000  0.00  0.00            0
+ATOM    101   H2   1     1      27.912   0.000   5.582  0.00  0.00            0
+ATOM    102   H2   1     1      22.330   5.582   5.582  0.00  0.00            0
+ATOM    103   H2   1     1      22.330   0.000  11.165  0.00  0.00            0
+ATOM    104   H2   1     1      27.912   5.582  11.165  0.00  0.00            0
+ATOM    105   H2   1     1      27.912   0.000  16.747  0.00  0.00            0
+ATOM    106   H2   1     1      22.330   5.582  16.747  0.00  0.00            0
+ATOM    107   H2   1     1      22.330   0.000  22.330  0.00  0.00            0
+ATOM    108   H2   1     1      27.912   5.582  22.330  0.00  0.00            0
+ATOM    109   H2   1     1      27.912   0.000  27.912  0.00  0.00            0
+ATOM    110   H2   1     1      22.330   5.582  27.912  0.00  0.00            0
+ATOM    111   H2   1     1      22.330   0.000  33.495  0.00  0.00            0
+ATOM    112   H2   1     1      27.912   5.582  33.495  0.00  0.00            0
+ATOM    113   H2   1     1      22.330  11.165   0.000  0.00  0.00            0
+ATOM    114   H2   1     1      27.912  16.747   0.000  0.00  0.00            0
+ATOM    115   H2   1     1      27.912  11.165   5.582  0.00  0.00            0
+ATOM    116   H2   1     1      22.330  16.747   5.582  0.00  0.00            0
+ATOM    117   H2   1     1      22.330  11.165  11.165  0.00  0.00            0
+ATOM    118   H2   1     1      27.912  16.747  11.165  0.00  0.00            0
+ATOM    119   H2   1     1      27.912  11.165  16.747  0.00  0.00            0
+ATOM    120   H2   1     1      22.330  16.747  16.747  0.00  0.00            0
+ATOM    121   H2   1     1      22.330  11.165  22.330  0.00  0.00            0
+ATOM    122   H2   1     1      27.912  16.747  22.330  0.00  0.00            0
+ATOM    123   H2   1     1      27.912  11.165  27.912  0.00  0.00            0
+ATOM    124   H2   1     1      22.330  16.747  27.912  0.00  0.00            0
+ATOM    125   H2   1     1      22.330  11.165  33.495  0.00  0.00            0
+ATOM    126   H2   1     1      27.912  16.747  33.495  0.00  0.00            0
+ATOM    127   H2   1     1      22.330  22.330   0.000  0.00  0.00            0
+ATOM    128   H2   1     1      27.912  27.912   0.000  0.00  0.00            0
+ATOM    129   H2   1     1      27.912  22.330   5.582  0.00  0.00            0
+ATOM    130   H2   1     1      22.330  27.912   5.582  0.00  0.00            0
+ATOM    131   H2   1     1      22.330  22.330  11.165  0.00  0.00            0
+ATOM    132   H2   1     1      27.912  27.912  11.165  0.00  0.00            0
+ATOM    133   H2   1     1      27.912  22.330  16.747  0.00  0.00            0
+ATOM    134   H2   1     1      22.330  27.912  16.747  0.00  0.00            0
+ATOM    135   H2   1     1      22.330  22.330  22.330  0.00  0.00            0
+ATOM    136   H2   1     1      27.912  27.912  22.330  0.00  0.00            0
+ATOM    137   H2   1     1      27.912  22.330  27.912  0.00  0.00            0
+ATOM    138   H2   1     1      22.330  27.912  27.912  0.00  0.00            0
+ATOM    139   H2   1     1      22.330  22.330  33.495  0.00  0.00            0
+ATOM    140   H2   1     1      27.912  27.912  33.495  0.00  0.00            0
+ATOM    141   H2   1     1      22.330  33.495   0.000  0.00  0.00            0
+ATOM    142   H2   1     1      27.912  33.495   5.582  0.00  0.00            0
+ATOM    143   H2   1     1      22.330  33.495  11.165  0.00  0.00            0
+ATOM    144   H2   1     1      27.912  33.495  16.747  0.00  0.00            0
+ATOM    145   H2   1     1      22.330  33.495  22.330  0.00  0.00            0
+ATOM    146   H2   1     1      27.912  33.495  27.912  0.00  0.00            0
+ATOM    147   H2   1     1      22.330  33.495  33.495  0.00  0.00            0
+ATOM    148   H2   1     1      33.495   0.000   0.000  0.00  0.00            0
+ATOM    149   H2   1     1      33.495   5.582   5.582  0.00  0.00            0
+ATOM    150   H2   1     1      33.495   0.000  11.165  0.00  0.00            0
+ATOM    151   H2   1     1      33.495   5.582  16.747  0.00  0.00            0
+ATOM    152   H2   1     1      33.495   0.000  22.330  0.00  0.00            0
+ATOM    153   H2   1     1      33.495   5.582  27.912  0.00  0.00            0
+ATOM    154   H2   1     1      33.495   0.000  33.495  0.00  0.00            0
+ATOM    155   H2   1     1      33.495  11.165   0.000  0.00  0.00            0
+ATOM    156   H2   1     1      33.495  16.747   5.582  0.00  0.00            0
+ATOM    157   H2   1     1      33.495  11.165  11.165  0.00  0.00            0
+ATOM    158   H2   1     1      33.495  16.747  16.747  0.00  0.00            0
+ATOM    159   H2   1     1      33.495  11.165  22.330  0.00  0.00            0
+ATOM    160   H2   1     1      33.495  16.747  27.912  0.00  0.00            0
+ATOM    161   H2   1     1      33.495  11.165  33.495  0.00  0.00            0
+ATOM    162   H2   1     1      33.495  22.330   0.000  0.00  0.00            0
+ATOM    163   H2   1     1      33.495  27.912   5.582  0.00  0.00            0
+ATOM    164   H2   1     1      33.495  22.330  11.165  0.00  0.00            0
+ATOM    165   H2   1     1      33.495  27.912  16.747  0.00  0.00            0
+ATOM    166   H2   1     1      33.495  22.330  22.330  0.00  0.00            0
+ATOM    167   H2   1     1      33.495  27.912  27.912  0.00  0.00            0
+ATOM    168   H2   1     1      33.495  22.330  33.495  0.00  0.00            0
+ATOM    169   H2   1     1      33.495  33.495   0.000  0.00  0.00            0
+ATOM    170   H2   1     1      33.495  33.495  11.165  0.00  0.00            0
+ATOM    171   H2   1     1      33.495  33.495  22.330  0.00  0.00            0
+ATOM    172   H2   1     1      33.495  33.495  33.495  0.00  0.00            0
+END
diff --git a/tools/i-pi/examples/tutorial/tutorial-3/tutorial-3_npt.xml b/tools/i-pi/examples/tutorial/tutorial-3/tutorial-3_npt.xml
new file mode 100755
index 0000000000..2392797e01
--- /dev/null
+++ b/tools/i-pi/examples/tutorial/tutorial-3/tutorial-3_npt.xml
@@ -0,0 +1,31 @@
+<simulation verbosity='medium'>
+   <initialize nbeads='16'>
+      <file mode='chk'> tutorial-3_RESTART </file>
+   </initialize>
+   <output prefix='tut3_npt'>
+      <properties filename='md' stride='1'> [ step, time{picosecond}, conserved{kelvin}, temperature{kelvin}, potential{kelvin}, kinetic_cv{kelvin}, pressure_cv{megapascal}, volume ] </properties>
+      <trajectory filename='pos' stride='100' format='pdb' cell_units='angstrom'> positions{angstrom} </trajectory>
+      <checkpoint filename='checkpoint' stride='1000' overwrite='True'/>
+   </output>
+   <total_steps> ??? </total_steps>
+   <forces>
+      <socket mode="???">
+         <address>localhost</address>
+         <port> 31415 </port>
+      </socket>
+   </forces>
+   <ensemble mode='npt'>
+      <barostat mode='???'>
+         <thermostat mode='???'>
+            <tau units='femtosecond'> ??? </tau>
+         </thermostat>
+         <tau units='femtosecond'> ??? </tau>
+      </barostat>
+      <thermostat mode='???'>
+         <tau units='femtosecond'> ??? </tau>
+      </thermostat>
+      <timestep units='femtosecond'> ??? </timestep>
+      <temperature units='kelvin'>25</temperature>
+      <pressure> 0 </pressure>
+   </ensemble>
+</simulation>
diff --git a/tools/i-pi/examples/tutorial/tutorial-3/tutorial-3_nvt.xml b/tools/i-pi/examples/tutorial/tutorial-3/tutorial-3_nvt.xml
new file mode 100755
index 0000000000..7a333be0f1
--- /dev/null
+++ b/tools/i-pi/examples/tutorial/tutorial-3/tutorial-3_nvt.xml
@@ -0,0 +1,25 @@
+<simulation verbosity='medium'>
+   <initialize nbeads='16'>
+      <file mode='pdb'> our_ref.pdb </file>
+      <velocities mode='thermal' units='kelvin'> ??? </velocities>
+   </initialize>
+   <output prefix='tut3_nvt'>
+      <properties filename='md' stride='1'> [ step, time{picosecond}, conserved{kelvin}, temperature{kelvin}, potential{kelvin}, kinetic_cv{kelvin}, pressure_cv{megapascal} ] </properties>
+      <trajectory filename='pos' stride='100' format='pdb' cell_units='angstrom'> positions{angstrom} </trajectory>
+      <checkpoint filename='checkpoint' stride='1000' overwrite='True'/>
+   </output>
+   <total_steps> ??? </total_steps>
+   <forces>
+      <socket mode="???">
+         <address>localhost</address>
+         <port> 31415 </port>
+      </socket>
+   </forces>
+   <ensemble mode='nvt'>
+      <thermostat mode='???'>
+         <tau units='femtosecond'> ??? </tau>
+      </thermostat>
+      <timestep units='femtosecond'> ??? </timestep>
+      <temperature units='kelvin'>25</temperature>
+   </ensemble>
+</simulation>
diff --git a/tools/i-pi/i-pi b/tools/i-pi/i-pi
new file mode 100755
index 0000000000..fa6a1ae623
--- /dev/null
+++ b/tools/i-pi/i-pi
@@ -0,0 +1,60 @@
+#!/usr/bin/python
+
+"""Main script from which the simulation is run.
+
+Deals with creation of the simulation object, reading the input file and
+initialising the system.
+
+Run using:
+      i-pi input_file.xml
+
+Where 'input_file.xml' should be replaced by the name of the xml input file from
+which the system data will be read. For a description of how the input file
+should be formatted, see the reference manual.
+
+Functions:
+   main: Runs the simulation.
+"""
+
+import sys
+from ipi.engine import simulation
+from ipi.inputs.simulation import InputSimulation
+from ipi.utils.io.io_xml import *
+from ipi.utils.messages import banner, help, verbosity
+
+def main(file_name):
+   """Runs the simulation.
+
+   Will run automatically when the module is used as a script.
+   """
+
+   ifile = open(file_name,"r")
+   xmlrestart = xml_parse_file(ifile) # Parses the file.
+   ifile.close()
+
+   simrestart = InputSimulation()
+   # Checks the input and partitions it appropriately.
+   simrestart.parse(xmlrestart.fields[0][1])
+   # Here we must do this manually; from here on everything should be automated by the messages classes
+   if simrestart.verbosity.fetch() != "quiet" :
+      banner()
+      print " # i-pi starting from input file: ", file_name
+   if simrestart.verbosity.fetch() != "quiet" and simrestart.verbosity.fetch() != "low" :
+      print " --- begin input file content --- "
+      ifile = open(file_name,"r")
+      for line in ifile.readlines():
+         print line,
+      ifile.close()
+      print " ---  end input file content  --- "
+
+   simul = simrestart.fetch() # Creates the appropriate simulation object.
+   simul.run()
+
+   del simul
+
+#This is what is run if the file is run as a script.
+if __name__ == '__main__':
+   if (len(sys.argv) != 2):
+      help()
+   else:
+      main(sys.argv[1])
diff --git a/tools/i-pi/ipi/README b/tools/i-pi/ipi/README
new file mode 100644
index 0000000000..a775b2066e
--- /dev/null
+++ b/tools/i-pi/ipi/README
@@ -0,0 +1,14 @@
+ -- Source code directory --
+
+ * This is the main source directory.
+
+ * Files:
+   - i-pi: Runs the simulation.
+
+ * Directories:
+   - engine: Holds the modules containing the objects used during the 
+      simulation.
+   - interfaces: Holds the modules containing the socket interface code.
+   - utils: Holds the modules containing utility functions.
+   - inputs: Holds the modules that deals with reading the input and the 
+      restart mechanism.
diff --git a/tools/i-pi/ipi/__init__.py b/tools/i-pi/ipi/__init__.py
new file mode 100644
index 0000000000..0ed5b4dbf5
--- /dev/null
+++ b/tools/i-pi/ipi/__init__.py
@@ -0,0 +1 @@
+__all__ = ["engine",  "inputs",  "interfaces", "utils"]
diff --git a/tools/i-pi/ipi/engine/README b/tools/i-pi/ipi/engine/README
new file mode 100644
index 0000000000..0ce3661b35
--- /dev/null
+++ b/tools/i-pi/ipi/engine/README
@@ -0,0 +1,18 @@
+ -- Engine code directory --
+
+ * This is the directory containing all the major class definitions.
+
+ * Files:
+   - atoms.py: Deals with classical simulations.
+   - barostats.py: Deals with constant pressure simulations.
+   - beads.py: Deals with quantum simulations.
+   - cell.py: Deals with the simulation box.
+   - ensembles.py: Deals with the different ensembles.
+   - forces.py: Deals with creating the jobs to send to the driver code.
+   - initializer.py: Deals with initialization of the simulation.
+   - normalmodes.py: Deals with the normal mode transformations.
+   - outputs.py: Deals with the output files.
+   - properties.py: Deals with calculating all the output properties.
+   - simulation.py: Deals with all the top level information, such as 
+      input/output.
+   - thermostats.py: Deals with constant temperature simulations.
diff --git a/tools/i-pi/ipi/engine/__init__.py b/tools/i-pi/ipi/engine/__init__.py
new file mode 100644
index 0000000000..609556a5e0
--- /dev/null
+++ b/tools/i-pi/ipi/engine/__init__.py
@@ -0,0 +1,3 @@
+__all__ = ["atoms", "cell", "simulation", "forces", "ensembles", "properties",
+           "thermostats", "barostats", "beads", "outputs", "normalmodes",
+           "initializer" ]
diff --git a/tools/i-pi/ipi/engine/atoms.py b/tools/i-pi/ipi/engine/atoms.py
new file mode 100644
index 0000000000..02ffcd7551
--- /dev/null
+++ b/tools/i-pi/ipi/engine/atoms.py
@@ -0,0 +1,269 @@
+"""Contains the classes which deal with the atoms.
+
+Copyright (C) 2013, Joshua More and Michele Ceriotti
+
+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 3 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/>.
+
+
+Used for holding information about the atoms, including their positions, masses
+momenta and kinetic energy. Has separate classes for accessing the global
+arrays of atoms and for individual atoms.
+
+Classes:
+   Atom: Class with methods dealing with individual atoms.
+   Atoms: Class with methods dealing with all the atoms.
+"""
+
+__all__ = ['Atoms', 'Atom']
+
+import numpy as np
+from ipi.utils.depend import *
+from ipi.utils import units
+
+class Atom(dobject):
+   """Represent an atom, with position, velocity, mass and related properties.
+
+   This is actually only an interface to the Atoms class, i.e. only stores
+   views of the large arrays which contain all the coordinates.
+
+   Attributes:
+      kin: The kinetic energy of the atom.
+      kstress: The contribution of the atom to the kinetic stress tensor.
+
+   Depend objects:
+      p: The three components of the momentum of the atom.
+      q: The three components of the position of the atom.
+      m: The mass of the atom.
+      name: The name of the atom.
+      m3: An array of 3 elements with each element being the mass of the atom.
+         Used when each degree of freedom needs to be divided by the mass.
+   """
+
+   def __init__(self, system, index):
+      """Initialises Atom.
+
+      Args:
+         system: An Atoms object containing the required atom.
+         index: An integer giving the index of the required atom in the atoms
+            list. Note that indices start from 0.
+      """
+
+      dset(self,"p",system.p[3*index:3*index+3])
+      dset(self,"q",system.q[3*index:3*index+3])
+      dset(self,"m",system.m[index:index+1])
+      dset(self,"name",system.names[index:index+1])
+      dset(self,"m3",system.m3[3*index:3*index+3])
+
+   @property
+   def kin(self):
+      """Calculates the contribution of the atom to the kinetic energy."""
+
+      return np.dot(self.p,self.p)/(2.0*self.m)
+
+   @property
+   def kstress(self):
+      """Calculates the contribution of the atom to the kinetic stress
+      tensor.
+      """
+
+      p = depstrip(self.p)
+      ks = numpy.zeros((3,3),float)
+      for i in range(3):
+         for j in range(i,3):
+            ks[i,j] = p[i]*p[j]
+      return ks/self.m
+
+
+class Atoms(dobject):
+   """Storage for the atoms' positions, masses and velocities.
+
+   Everything is stored as 3*n sized contiguous arrays,
+   and a convenience-access is provided through a list of Atom objects.
+
+   Attributes:
+      natoms: The number of atoms.
+
+   Depend objects:
+      p: An array giving the components of the atom positions.
+      q: An array giving the components of the atom momenta.
+      m: An array giving the atom masses.
+      names: An array giving the atom names.
+      m3: An array of 3*n elements where each element of m has been copied
+         three times. Used when each degree of freedom needs to be divided
+         by the mass.
+      M: The total mass of all the atoms.
+      kin: The total kinetic energy of the atoms. Depends on p and m3.
+      kstress: The contribution of the atoms to the kinetic stress tensor.
+         Depends on px, py, pz and m.
+      qx: An array giving the x components of the positions.
+      qy: An array giving the y components of the positions.
+      qz: An array giving the z components of the positions.
+      px: An array giving the x components of the momenta.
+      py: An array giving the y components of the momenta.
+      pz: An array giving the z components of the momenta.
+   """
+
+
+   def __init__(self, natoms, _prebind=None):
+      """Initialises Atoms.
+
+      Each replica and the centroid coordinate are all held as Atoms objects,
+      and so slices of the global position and momentum arrays must be used in
+      the initialisation so that they always agree with each other.
+
+      Args:
+         natoms: An integer giving the number of atoms.
+         _prebind: An optional tuple of four elements; a depend_array of length
+            3*natoms for the positions, another for the momenta, a depend_array
+            of length natoms for the masses and another for the names.
+      """
+
+      self.natoms = natoms
+
+      if _prebind is None:
+         dset(self,"q",depend_array(name="q",value=np.zeros(3*natoms, float)))
+         dset(self,"p",depend_array(name="p",value=np.zeros(3*natoms, float)))
+         dset(self,"m",depend_array(name="m",value=np.zeros(natoms, float)))
+         dset(self,"names",
+            depend_array(name="names",value=np.zeros(natoms, np.dtype('|S6'))))
+      else:
+         dset(self,"q",_prebind[0])
+         dset(self,"p",_prebind[1])
+         dset(self,"m",_prebind[2])
+         dset(self,"names",_prebind[3])
+
+      self.px = self.p[0:3*natoms:3]
+      self.py = self.p[1:3*natoms:3]
+      self.pz = self.p[2:3*natoms:3]
+      self.qx = self.q[0:3*natoms:3]
+      self.qy = self.q[1:3*natoms:3]
+      self.qz = self.q[2:3*natoms:3]
+
+      dset(self,"m3",
+         depend_array(name="m3",value=np.zeros(3*natoms, float),func=self.mtom3,
+            dependencies=[dget(self,"m")]))
+
+      dset(self,"M",
+         depend_value(name="M",func=self.get_msum,
+            dependencies=[dget(self,"m")]) )
+      dset(self,"kin",
+         depend_value(name="kin",func=self.get_kin,
+            dependencies=[dget(self,"p"),dget(self,"m3")]) )
+      dset(self,"kstress",
+         depend_value(name="kstress",func=self.get_kstress,
+            dependencies=[dget(self,"px"),dget(self,"py"),dget(self,"pz"),dget(self,"m")]) )
+
+   def copy(self):
+      """Creates a new Atoms object.
+
+      Returns:
+         An Atoms object with the same q, p, m and names arrays as the original.
+      """
+
+      newat = Atoms(self.natoms)
+      newat.q[:] = self.q
+      newat.p[:] = self.p
+      newat.m[:] = self.m
+      newat.names[:] = self.names
+      return newat
+
+   def __len__(self):
+      """Length function.
+
+      This is called whenever the standard function len(atoms) is used.
+
+      Returns:
+         The number of atoms.
+      """
+
+      return self.natoms
+
+   def __getitem__(self,index):
+      """Overwrites standard getting function.
+
+      This is called whenever the standard function atoms[index] is used.
+      Returns an Atom object with the appropriate position and momenta arrays.
+      Note that they are dynamically generated each time an Atom needs to be
+      accessed, as this reduces the number of depend objects that need to be
+      held at any one time.
+
+      Args:
+         index: The index of the atom to be accessed.
+
+      Returns:
+         The atom given by the index.
+      """
+
+      return Atom(self,index)
+
+   def __setitem__(self,index,value):
+      """Overwrites standard setting function.
+
+      This is called whenever the standard function atoms[index]=value is used.
+      Changes the position and momenta of the appropriate slice of the global
+      position and momentum arrays to those given by value.
+      Note that they are dynamically generated each time an Atom needs to be
+      accessed, as this reduces the number of depend objects that need to be
+      held at any one time.
+
+      Args:
+         index: The atom to be changed.
+         value: The Atom object that holds the new values.
+      """
+
+      pat = Atom(self,index)
+      pat.p = value.p
+      pat.q = value.q
+      pat.m = value.m
+      pat.name = value.name
+
+   def get_msum(self):
+      """Calculates the total mass."""
+
+      return self.m.sum()
+
+   def mtom3(self):
+      """Returns a 3*n mass array.
+
+      Returns:
+         An array of 3*n elements where each element of m has been copied
+         three times. Used when each degree of freedom needs to be divided
+         by the mass.
+      """
+
+      m3 = np.zeros(3*self.natoms,float)
+      m3[0:3*self.natoms:3] = self.m
+      m3[1:3*self.natoms:3] = m3[0:3*self.natoms:3]
+      m3[2:3*self.natoms:3] = m3[0:3*self.natoms:3]
+      return m3
+
+   def get_kin(self):
+      """Calculates the total kinetic energy of the system."""
+
+      p = depstrip(self.p)
+      return 0.5*np.dot(p,p/depstrip(self.m3))
+
+   def get_kstress(self):
+      """Calculates the total contribution of the atoms to the kinetic stress
+      tensor -- not volume-scaled
+      """
+
+      ks = np.zeros((3,3),float)
+      ks[0,0] = np.dot(self.px,self.px/self.m)
+      ks[1,1] = np.dot(self.py,self.py/self.m)
+      ks[2,2] = np.dot(self.pz,self.pz/self.m)
+      ks[0,1] = np.dot(self.px,self.py/self.m)
+      ks[0,2] = np.dot(self.px,self.pz/self.m)
+      ks[1,2] = np.dot(self.py,self.pz/self.m)
+      return ks
diff --git a/tools/i-pi/ipi/engine/barostats.py b/tools/i-pi/ipi/engine/barostats.py
new file mode 100644
index 0000000000..5dbc6049d5
--- /dev/null
+++ b/tools/i-pi/ipi/engine/barostats.py
@@ -0,0 +1,450 @@
+"""Contains the classes that deal with constant pressure dynamics.
+
+Copyright (C) 2013, Joshua More and Michele Ceriotti
+
+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 3 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/>.
+
+
+Contains the algorithms which propagate the position and momenta steps in the
+constant pressure ensemble. Holds the properties directly related to
+these ensembles, such as the internal and external pressure and stress.
+
+Classes:
+   Barostat: Base barostat class with the generic methods and attributes.
+   BaroBZP: Generates dynamics with a stochastic barostat -- see
+            Ceriotti, More, Manolopoulos, Comp. Phys. Comm. 2013 for
+            implementation details.
+"""
+
+# NB: this file also contains a 'BaroMHT' class, that follows more closely the
+# Martyna, Hughes, Tuckerman implementation of a PIMD barostat. However it is so
+# close to the BZP implementation that we disabled it for the sake of simplicity
+# BaroMHT: Generates dynamics according to the method of G. Martyna, A.
+# Hughes and M. Tuckerman, J. Chem. Phys., 110, 3275.
+
+__all__ = ['Barostat', 'BaroBZP']
+
+import numpy as np
+from ipi.utils.depend import *
+from ipi.utils.units import *
+from ipi.utils.mathtools import eigensystem_ut3x3, invert_ut3x3, exp_ut3x3, det_ut3x3
+from ipi.inputs.thermostats import InputThermo
+from ipi.engine.thermostats import Thermostat
+
+class Barostat(dobject):
+   """Base barostat class.
+
+   Gives the standard methods and attributes needed in all the barostat classes.
+
+   Attributes:
+      beads: A beads object giving the atoms positions
+      cell: A cell object giving the system box.
+      forces: A forces object giving the virial and the forces acting on
+         each bead.
+      nm: An object to do the normal mode transformation.
+      thermostat: A thermostat coupled to the barostat degrees of freedom.
+      mdof: The number of atomic degrees of freedom
+
+   Depend objects:
+      dt: The time step used in the algorithms. Depends on the simulation dt.
+      temp: The (classical) simulation temperature. Higher than the physical
+         temperature by a factor of the number of beads.
+      tau: The timescale associated with the piston
+      pext: The external pressure
+      ebaro: The conserved quantity associated with the barostat.
+      pot: The potential energy associated with the barostat.
+      kstress: The system kinetic stress tensor.
+      stress: The system stress tensor.
+      press: The system pressure.
+   """
+
+   def __init__(self, dt=None, temp=None, pext=None, tau=None, ebaro=None, thermostat=None):
+      """Initialises base barostat class.
+
+      Note that the external stress and the external pressure are synchronized.
+      This makes most sense going from the stress to the pressure, but if you
+      must go in the other direction the stress is assumed to be isotropic.
+
+      Args:
+         dt: Optional float giving the time step for the algorithms. Defaults
+            to the simulation dt.
+         temp: Optional float giving the temperature for the thermostat.
+            Defaults to the simulation temp.
+         pext: Optional float giving the external pressure.
+         tau: Optional float giving the time scale associated with the barostat.
+         ebaro: Optional float giving the conserved quantity already stored
+            in the barostat initially. Used on restart.
+         thermostat: The thermostat connected to the barostat degree of freedom.
+      """
+
+      dset(self,"dt",depend_value(name='dt'))
+      if not dt is None:
+         self.dt = dt
+      else: self.dt = 1.0
+
+      dset(self, "temp", depend_value(name="temp"))
+      if not temp is None:
+         self.temp = temp
+      else: self.temp = 1.0
+
+      dset(self,"tau",depend_value(name='tau'))
+      if not tau is None:
+         self.tau = tau
+      else: self.tau = 1.0
+
+      dset(self,"pext",depend_value(name='pext'))
+      if not pext is None:
+         self.pext = pext
+      else: self.pext = 0.0
+
+      dset(self,"ebaro",depend_value(name='ebaro'))
+      if not ebaro is None:
+         self.ebaro = ebaro
+      else: self.ebaro = 0.0
+
+      if thermostat is None:
+         thermostat = Thermostat()
+      self.thermostat = thermostat
+
+      # pipes timestep and temperature to the thermostat
+      deppipe(self,"dt", self.thermostat, "dt")
+      deppipe(self, "temp", self.thermostat,"temp")
+
+
+   def bind(self, beads, nm, cell, forces, prng=None, fixdof=None):
+      """Binds beads, cell and forces to the barostat.
+
+      This takes a beads object, a cell object and a forcefield object and
+      makes them members of the barostat. It also then creates the objects that
+      will hold the data needed in the barostat algorithms and the dependency
+      network.
+
+      Args:
+         beads: The beads object from which the bead positions are taken.
+         nm: The normal modes propagator object
+         cell: The cell object from which the system box is taken.
+         forces: The forcefield object from which the force and virial are
+            taken.
+         prng: The parent PRNG to bind the thermostat to
+         fixdof: The number of blocked degrees of freedom.
+      """
+
+      self.beads = beads
+      self.cell = cell
+      self.forces = forces
+      self.nm = nm
+
+      dset(self,"pot",
+         depend_value(name='pot', func=self.get_pot,
+            dependencies=[ dget(cell,"V"), dget(self,"pext") ]))
+      dset(self,"kstress",
+         depend_value(name='kstress', func=self.get_kstress,
+            dependencies=[ dget(beads,"q"), dget(beads,"qc"), dget(beads,"pc"), dget(forces,"f") ]))
+      dset(self,"stress",
+         depend_value(name='stress', func=self.get_stress,
+            dependencies=[ dget(self,"kstress"), dget(cell,"V"), dget(forces,"vir") ]))
+      dset(self,"press",
+         depend_value(name='press', func=self.get_press,
+            dependencies=[ dget(self,"stress") ]))
+
+      if fixdof is None:
+         self.mdof = float(self.beads.natoms)*3.0
+      else:
+         self.mdof = float(self.beads.natoms)*3.0 - float(fixdof)
+
+   def get_pot(self):
+      """Calculates the elastic strain energy of the cell."""
+
+      # NOTE: since there are nbeads replicas of the unit cell, the enthalpy contains a nbeads factor
+      return self.cell.V*self.pext*self.beads.nbeads
+
+   def get_kstress(self):
+      """Calculates the quantum centroid virial kinetic stress tensor
+      estimator.
+      """
+
+      kst = np.zeros((3,3),float)
+      q = depstrip(self.beads.q)
+      qc = depstrip(self.beads.qc)
+      pc = depstrip(self.beads.pc)
+      m = depstrip(self.beads.m)
+      na3 = 3*self.beads.natoms
+      fall = depstrip(self.forces.f)
+
+      for b in range(self.beads.nbeads):
+         for i in range(3):
+            for j in range(i,3):
+               kst[i,j] -= np.dot(q[b,i:na3:3] - qc[i:na3:3],
+                  fall[b,j:na3:3])
+
+      # NOTE: In order to have a well-defined conserved quantity, the Nf kT term in the
+      # diagonal stress estimator must be taken from the centroid kinetic energy.
+      for i in range(3):
+         kst[i,i] += np.dot(pc[i:na3:3],pc[i:na3:3]/m) *self.beads.nbeads
+
+      return kst
+
+   def get_stress(self):
+      """Calculates the internal stress tensor."""
+
+      return (self.kstress + self.forces.vir)/self.cell.V
+
+   def get_press(self):
+      """Calculates the internal pressure."""
+
+      return np.trace(self.stress)/3.0
+
+   def pstep(self):
+      """Dummy momenta propagator step."""
+
+      pass
+
+   def qcstep(self):
+      """Dummy centroid position propagator step."""
+
+      pass
+
+
+class BaroBZP(Barostat):
+   """Bussi-Zykova-Parrinello barostat class.
+
+   Just extends the standard class adding finite-dt propagators for the barostat
+   velocities, positions, piston.
+
+   Depend objects:
+      p: The momentum associated with the volume degree of freedom.
+      m: The mass associated with the volume degree of freedom.
+   """
+
+   def __init__(self, dt=None, temp=None, pext=None, tau=None, ebaro=None, thermostat=None, p=None):
+      """Initializes BZP barostat.
+
+      Args:
+         dt: Optional float giving the time step for the algorithms. Defaults
+            to the simulation dt.
+         temp: Optional float giving the temperature for the thermostat.
+            Defaults to the simulation temp.
+         pext: Optional float giving the external pressure.
+         tau: Optional float giving the time scale associated with the barostat.
+         ebaro: Optional float giving the conserved quantity already stored
+            in the barostat initially. Used on restart.
+         thermostat: The thermostat connected to the barostat degree of freedom.
+         p: Optional initial volume conjugate momentum. Defaults to 0.
+      """
+
+
+      super(BaroBZP, self).__init__(dt, temp, pext, tau, ebaro, thermostat)
+
+      dset(self,"p", depend_array(name='p', value=np.atleast_1d(0.0)))
+
+      if not p is None:
+         self.p = np.asarray([p])
+      else:
+         self.p = 0.0
+
+   def bind(self, beads, nm, cell, forces, prng=None, fixdof=None):
+      """Binds beads, cell and forces to the barostat.
+
+      This takes a beads object, a cell object and a forcefield object and
+      makes them members of the barostat. It also then creates the objects that
+      will hold the data needed in the barostat algorithms and the dependency
+      network.
+
+      Args:
+         beads: The beads object from which the bead positions are taken.
+         nm: The normal modes propagator object
+         cell: The cell object from which the system box is taken.
+         forces: The forcefield object from which the force and virial are
+            taken.
+         prng: The parent PRNG to bind the thermostat to
+         fixdof: The number of blocked degrees of freedom.
+      """
+
+      super(BaroBZP, self).bind(beads, nm, cell, forces, prng, fixdof)
+
+      # obtain the thermostat mass from the given time constant
+      # note that the barostat temperature is nbeads times the physical T
+      dset(self,"m", depend_array(name='m', value=np.atleast_1d(0.0),
+         func=(lambda:np.asarray([self.tau**2*3*self.beads.natoms*Constants.kb*self.temp])),
+            dependencies=[ dget(self,"tau"), dget(self,"temp") ] ))
+
+      # binds the thermostat to the piston degrees of freedom
+      self.thermostat.bind(pm=[ self.p, self.m ], prng=prng)
+
+      dset(self,"kin",depend_value(name='kin',
+         func=(lambda:0.5*self.p[0]**2/self.m[0]),
+            dependencies= [dget(self,"p"), dget(self,"m")] ) )
+
+      # the barostat energy must be computed from bits & pieces (overwrite the default)
+      dset(self, "ebaro", depend_value(name='ebaro', func=self.get_ebaro,
+         dependencies=[ dget(self, "kin"), dget(self, "pot"),
+            dget(self.cell, "V"), dget(self, "temp"),
+               dget(self.thermostat,"ethermo")] ))
+
+   def get_ebaro(self):
+      """Calculates the barostat conserved quantity."""
+
+      return self.thermostat.ethermo + self.kin + self.pot - np.log(self.cell.V)*Constants.kb*self.temp
+
+
+   def pstep(self):
+      """Propagates the momenta for half a time step."""
+
+      dthalf = self.dt*0.5
+      dthalf2 = dthalf**2
+      dthalf3 = dthalf**3/3.0
+
+      # This differs from the BZP thermostat in that it uses just one kT in the propagator.
+      # This leads to an ensemble equaivalent to Martyna-Hughes-Tuckermann for both fixed and moving COM
+      # Anyway, it is a small correction so whatever.
+      self.p += dthalf*3.0*( self.cell.V* ( self.press - self.beads.nbeads*self.pext ) +
+                Constants.kb*self.temp )
+
+      fc = np.sum(depstrip(self.forces.f),0)/self.beads.nbeads
+      m = depstrip(self.beads.m3)[0]
+      pc = depstrip(self.beads.pc)
+
+      # I am not 100% sure, but these higher-order terms come from integrating the pressure virial term,
+      # so they should need to be multiplied by nbeads to be consistent with the equations of motion in the PI context
+      # again, these are tiny tiny terms so whatever.
+      self.p += (dthalf2*np.dot(pc,fc/m) + dthalf3*np.dot(fc,fc/m)) * self.beads.nbeads
+
+      self.beads.p += depstrip(self.forces.f)*dthalf
+
+   def qcstep(self):
+      """Propagates the centroid position and momentum and the volume."""
+
+      v = self.p[0]/self.m[0]
+      expq, expp = (np.exp(v*self.dt), np.exp(-v*self.dt))
+
+      m = depstrip(self.beads.m3)[0]
+
+      self.nm.qnm[0,:] *= expq
+      self.nm.qnm[0,:] += ((expq-expp)/(2.0*v))* (depstrip(self.nm.pnm)[0,:]/m)
+      self.nm.pnm[0,:] *= expp
+
+      self.cell.h *= expq
+
+
+class BaroMHT(Barostat):
+   """Martyna-Hughes-Tuckerman barostat class.
+
+   Just extends the standard class adding finite-dt propagators for the barostat
+   velocities, positions, piston.
+
+   Depend objects:
+      p: The momentum associated with the volume degree of freedom.
+      m: The mass associated with the volume degree of freedom.
+   """
+
+   def __init__(self, dt=None, temp=None, pext=None, tau=None, ebaro=None, thermostat=None, p=None):
+      """Initializes MHT barostat.
+
+      Args:
+         dt: Optional float giving the time step for the algorithms. Defaults
+            to the simulation dt.
+         temp: Optional float giving the temperature for the thermostat.
+            Defaults to the simulation temp.
+         pext: Optional float giving the external pressure.
+         tau: Optional float giving the time scale associated with the barostat.
+         ebaro: Optional float giving the conserved quantity already stored
+            in the barostat initially. Used on restart.
+         thermostat: The thermostat connected to the barostat degree of freedom.
+         p: Optional initial volume conjugate momentum. Defaults to 0.
+      """
+
+      super(BaroMHT, self).__init__(dt, temp, pext, tau, ebaro, thermostat)
+
+      dset(self,"p", depend_array(name='p', value=np.atleast_1d(0.0)))
+
+      if not p is None:
+         self.p = np.asarray([p])
+      else:
+         self.p = 0.0
+
+   def bind(self, beads, nm, cell, forces, prng=None, fixdof=None):
+      """Binds beads, cell and forces to the barostat.
+
+      This takes a beads object, a cell object and a forcefield object and
+      makes them members of the barostat. It also then creates the objects that
+      will hold the data needed in the barostat algorithms and the dependency
+      network.
+
+      Args:
+         beads: The beads object from which the bead positions are taken.
+         nm: The normal modes propagator object
+         cell: The cell object from which the system box is taken.
+         forces: The forcefield object from which the force and virial are
+            taken.
+         prng: The parent PRNG to bind the thermostat to
+         fixdof: The number of blocked degrees of freedom.
+      """
+
+      super(BaroMHT, self).bind(beads, nm, cell, forces, prng, fixdof)
+
+      # obtain the thermostat mass from the given time constant
+      # note that the barostat temperature is nbeads times the physical T
+      dset(self,"m", depend_array(name='m', value=np.atleast_1d(0.0),
+         func=(lambda:np.asarray([self.tau**2*3*self.beads.natoms*Constants.kb*self.temp])),
+            dependencies=[ dget(self,"tau"), dget(self,"temp") ] ))
+
+      # binds the thermostat to the piston degrees of freedom
+      self.thermostat.bind(pm=[ self.p, self.m ], prng=prng)
+
+      dset(self,"kin",depend_value(name='kin',
+         func=(lambda:0.5*self.p[0]**2/self.m[0]),
+            dependencies=[dget(self,"p"), dget(self,"m")] ) )
+
+      # the barostat energy must be computed from bits & pieces (overwrite the default)
+      dset(self, "ebaro", depend_value(name='ebaro', func=self.get_ebaro,
+         dependencies=[ dget(self, "kin"), dget(self, "pot"),
+            dget(self.cell, "V"), dget(self, "temp"),
+               dget(self.thermostat,"ethermo")]))
+
+   def get_ebaro(self):
+      """Calculates the barostat conserved quantity."""
+
+      return self.thermostat.ethermo + self.kin + self.pot
+
+   def pstep(self):
+      """Propagates the momenta for half a time step."""
+
+      dthalf = self.dt*0.5
+      dthalf2 = dthalf**2
+      dthalf3 = dthalf**3/3.0
+
+      fc = np.sum(depstrip(self.forces.f),0)/float(self.beads.nbeads)
+      m = depstrip(self.beads.m3)[0]
+      pc = depstrip(self.beads.pc)
+
+      self.p += dthalf*3.0*( self.cell.V* ( self.press - self.beads.nbeads*self.pext ) +
+                float(self.beads.nbeads)/self.mdof*np.dot(pc,pc/m) )
+
+      self.beads.p += depstrip(self.forces.f)*dthalf
+
+   def qcstep(self):
+      """Propagates the centroid position and momentum and the volume."""
+
+      v = self.p[0]/self.m[0]
+      adof = (1 + 3.0/self.mdof)
+      expq, expp = (np.exp(v*self.dt), np.exp( -v*self.dt * adof  ) )
+
+      m = depstrip(self.beads.m3)[0]
+
+      self.nm.qnm[0,:] *= expq
+      self.nm.qnm[0,:] += ((expq-expp)/(v*(1+adof)) *
+                    (depstrip(self.nm.pnm)[0,:])/m)
+      self.nm.pnm[0,:] *= expp
+
+      self.cell.h *= expq
diff --git a/tools/i-pi/ipi/engine/beads.py b/tools/i-pi/ipi/engine/beads.py
new file mode 100644
index 0000000000..ba4ddf1509
--- /dev/null
+++ b/tools/i-pi/ipi/engine/beads.py
@@ -0,0 +1,323 @@
+"""Contains the classes which deal with all the beads.
+
+Copyright (C) 2013, Joshua More and Michele Ceriotti
+
+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 3 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/>.
+
+
+Used for holding information about the beads, including their positions, masses
+momenta and kinetic energy. Has different objects for the position and normal
+mode representations, and has a special centroid atoms object for when the
+centroid coordinate is required.
+
+Classes:
+   Beads: Class with methods dealing with all the beads.
+"""
+
+__all__ = ['Beads']
+
+import numpy as np
+from ipi.utils.depend import *
+from ipi.engine.atoms import Atoms
+from ipi.utils import units
+
+class Beads(dobject):
+   """Storage for the beads positions and velocities.
+
+   Everything is stored as (nbeads,3*natoms) sized contiguous arrays,
+   and a convenience-access to each replica of the system is provided through a
+   list of Atoms objects. Contains arrays of both the normal mode representation
+   and the position representation, and various sized arrays for the atom
+   labels and masses. Also contains the potential and force between
+   neighbouring replicas.
+
+   Attributes:
+      natoms: The number of atoms.
+      nbeads: The number of beads.
+      _blist: A list of Atoms objects for each replica of the system. Each
+         replica is assumed to have the same mass and atom label.
+      centroid: An atoms object giving the centroid coordinate of the beads.
+
+   Depend objects:
+      names: An array giving the atom names.
+      m: An array giving the atom masses.
+      m3: An array giving the mass associated with each degree of freedom.
+      sm3: An array giving the square root of m3.
+      q: An array giving all the bead positions.
+      p: An array giving all the bead momenta.
+      qc: An array giving the centroid positions. Depends on qnm.
+      pc: An array giving the centroid momenta. Depends on pnm.
+      vpath: The spring potential between the beads, divided by omegan**2.
+         Depends on q.
+      fpath: The spring force between the beads, divided by omegan**2.
+         Depends on q.
+      kins: A list of the kinetic energy of each replica.
+      kin: The total kinetic energy of the system. Note that this is not the
+         same as the estimate of the kinetic energy of the system, which is
+         contained in the properties module.
+      kstress: The total kinetic stress tensor for the system.
+      rg: An array giving the radius of gyration of each atom.
+   """
+
+   def __init__(self, natoms, nbeads):
+      """Initialises Beads.
+
+      Args:
+         natoms: Number of atoms.
+         nbeads: Number of beads.
+      """
+
+      self.resize(natoms, nbeads)
+
+   def resize(self, natoms, nbeads):
+      """Creates all the data arrays needed in the simulation.
+
+      Effectively initializes the whole Beads object, according to the
+      specified number of atoms and beads. Is also used, as the name suggests,
+      to resize the data to a new number of beads when this is necessary, for
+      example in initialization from a simulation with a different number of
+      beads.
+
+      Also creates, or recreates, the dependency network, as this requires
+      the data arrays to be created for it to work.
+
+      Args:
+         natoms: The number of atoms.
+         nbeads: The number of beads.
+      """
+
+      self.natoms = natoms
+      self.nbeads = nbeads
+
+      dset(self,"names",
+         depend_array(name="names",value=np.zeros(natoms, np.dtype('|S6'))) )
+
+      # atom masses, and mass-related arrays
+      dset(self,"m",depend_array(name="m",value=np.zeros(natoms, float)) )   # this is the prototype mass array (just one independent of bead n)
+      dset(self,"m3",
+         depend_array(name="m3",value=np.zeros((nbeads,3*natoms), float),    # this is m conveniently replicated to be (nb,3*nat)
+            func=self.mtom3, dependencies=[dget(self,"m")]))
+      dset(self,"sm3",
+         depend_array(name="sm3",value=np.zeros((nbeads,3*natoms), float),   # this is just the square root of m3
+            func=self.m3tosm3, dependencies=[dget(self,"m3")]))
+
+      # positions and momenta. bead representation, base storage used everywhere
+      dset(self,"q",
+         depend_array(name="q",value=np.zeros((nbeads,3*natoms), float)) )
+      dset(self,"p",
+         depend_array(name="p",value=np.zeros((nbeads,3*natoms), float)) )
+
+      # position and momentum of the centroid
+      dset(self,"qc",
+         depend_array(name="qc",value=np.zeros(3*natoms, float),
+            func=self.get_qc, dependencies=[dget(self,"q")] ) )
+      dset(self,"pc",
+         depend_array(name="pc",value=np.zeros(3*natoms, float),
+            func=self.get_pc, dependencies=[dget(self,"p")] ) )
+
+      # create proxies to access the centroid and the individual beads as Atoms objects
+      self.centroid = Atoms(natoms, _prebind=(self.qc, self.pc, self.m, self.names))
+      self._blist = [Atoms(natoms, _prebind=( self.q[i,:], self.p[i,:], self.m,  self.names )) for i in range(nbeads) ]
+
+      # path springs potential and force
+      dset(self,"vpath",
+         depend_value(name="vpath", func=self.get_vpath,
+            dependencies=[dget(self,"q")]))
+      dset(self,"fpath",
+         depend_array(name="fpath", value=np.zeros((nbeads,3*natoms), float),
+            func=self.get_fpath, dependencies=[dget(self,"q")]))
+
+      # kinetic energies of thhe beads, and total (classical) kinetic stress tensor
+      dset(self,"kins",
+         depend_array(name="kins",value=np.zeros(nbeads, float),
+            func=self.kin_gather,
+               dependencies=[dget(b,"kin") for b in self._blist]))
+      dset(self,"kin",
+         depend_value(name="kin", func=self.get_kin,
+            dependencies=[dget(self,"kins")]))
+      dset(self,"kstress",
+         depend_array(name="kstress",value=np.zeros((3,3), float),
+            func=self.get_kstress,
+               dependencies=[dget(b,"kstress") for b in self._blist]))
+
+   def copy(self):
+      """Creates a new beads object from the original.
+
+      Returns:
+         A Beads object with the same q, p, m and names arrays as the original.
+      """
+
+      newbd = Beads(self.natoms, self.nbeads)
+      newbd.q[:] = self.q
+      newbd.p[:] = self.p
+      newbd.m[:] = self.m
+      newbd.names[:] = self.names
+      return newbd
+
+
+   def m3tosm3(self):
+      """Takes the mass array and returns the square rooted mass array."""
+
+      return np.sqrt(depstrip(self.m3))
+
+   def mtom3(self):
+      """Takes the mass array for each bead and returns one with an element
+      for each degree of freedom.
+
+      Returns:
+         An array of size (nbeads,3*natoms), with each element corresponding
+         to the mass associated with the appropriate degree of freedom in q.
+      """
+
+      m3 = np.zeros((self.nbeads,3*self.natoms),float)
+      m3[:,0:3*self.natoms:3] = self.m
+      m3[:,1:3*self.natoms:3] = m3[:,0:3*self.natoms:3]
+      m3[:,2:3*self.natoms:3] = m3[:,0:3*self.natoms:3]
+      return m3
+
+   def get_qc(self):
+      """Gets the centroid coordinates."""
+
+      return np.dot(np.ones(self.nbeads,float),depstrip(self.q))/float(self.nbeads)
+
+   def get_pc(self):
+      """Gets the centroid momenta."""
+
+      return np.dot(np.ones(self.nbeads,float),depstrip(self.p))/float(self.nbeads)
+
+   def kin_gather(self):
+      """Gets the kinetic energy for all the replicas.
+
+      Returns:
+         A list of the kinetic energy for each system.
+      """
+
+      return np.array([b.kin for b in self._blist])
+
+   def get_kin(self):
+      """Gets the total kinetic energy of all the replicas.
+
+      Note that this does not correspond to the total kinetic energy estimate
+      for the system.
+
+      Returns:
+         The sum of the kinetic energy of each replica.
+      """
+
+      return self.kins.sum()
+
+   def get_kstress(self):
+      """Calculates the total kinetic stress tensor of all the replicas.
+
+      Note that this does not correspond to the quantum kinetic stress tensor
+      estimate for the system.
+
+      Returns:
+         The sum of the kinetic stress tensor of each replica.
+      """
+
+      ks = np.zeros((3,3),float)
+      for b in range(self.nbeads):
+         ks += self[b].kstress
+      return ks
+
+   def get_vpath(self):
+      """Calculates the spring potential between the replicas.
+
+      Note that this is actually the harmonic potential without being
+      multiplied by the factor omegan**2, which is only available in the
+      ensemble as the temperature is required to calculate it.
+      """
+
+      epath = 0.0
+      q = depstrip(self.q)
+      m = depstrip(self.m3)[0]
+      for b in range(self.nbeads):
+         if b > 0:
+            dq = q[b,:] - q[b-1,:]
+         else:
+            dq = q[b,:] - q[self.nbeads-1,:]
+         epath += np.dot(dq, m*dq)
+      return epath*0.5
+
+   def get_fpath(self):
+      """Calculates the spring force between the replicas.
+
+      Note that this is actually the harmonic force without being
+      multiplied by the factor omegan**2, which is only available in the
+      ensemble as the temperature is required to calculate it.
+      """
+
+      nbeads = self.nbeads
+      natoms = self.natoms
+      f = np.zeros((nbeads,3*natoms),float)
+
+      q = depstrip(self.q)
+      m = depstrip(self.m3)[0]
+      for b in range(nbeads):
+         if b > 0:
+            dq = q[b,:] - q[b-1,:]
+         else:
+            dq = q[b,:] - q[self.nbeads-1,:]
+         dq *= m
+         f[b] -= dq
+         if b > 0:
+            f[b-1] += dq
+         else:
+            f[nbeads-1] += dq
+      return f
+
+   # A set of functions to access individual beads as Atoms objects
+   def __len__(self):
+      """Length function.
+
+      This is called whenever the standard function len(beads) is used.
+
+      Returns:
+         The number of beads.
+      """
+
+      return self.nbeads
+
+   def __getitem__(self,index):
+      """Overwrites standard getting function.
+
+      This is called whenever the standard function beads[index] is used.
+      Returns an Atoms object with the appropriate position and momenta arrays.
+
+      Args:
+         index: The index of the replica of the system to be accessed.
+
+      Returns:
+         The replica of the system given by the index.
+      """
+
+      return self._blist[index]
+
+   def __setitem__(self,index,value):
+      """Overwrites standard setting function.
+
+      This is called whenever the standard function beads[index]=value is used.
+      Changes the position and momenta of the appropriate slice of the global
+      position and momentum arrays to those given by value.
+
+      Args:
+         index: The replica of the system to be changed.
+         value: The Atoms object that holds the new values.
+      """
+
+      self._blist[index].p[:] = value.p
+      self._blist[index].q[:] = value.q
+      self._blist[index].m[:] = value.m
+      self._blist[index].names[:] = value.names
diff --git a/tools/i-pi/ipi/engine/cell.py b/tools/i-pi/ipi/engine/cell.py
new file mode 100644
index 0000000000..e9bf813502
--- /dev/null
+++ b/tools/i-pi/ipi/engine/cell.py
@@ -0,0 +1,140 @@
+"""Contains the classes which deal with the system box.
+
+Copyright (C) 2013, Joshua More and Michele Ceriotti
+
+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 3 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/>.
+
+
+Used for implementing the minimum image convention.
+
+Classes:
+   Cell: Base cell class with the generic methods and attributes.
+"""
+
+__all__ = ['Cell']
+
+import numpy as np
+from ipi.utils.depend import *
+from ipi.utils.mathtools import *
+from ipi.utils import units
+
+
+class Cell(dobject):
+   """Base class to represent the simulation cell in a periodic system.
+
+   This class has the base attributes required for either flexible or
+   isotropic cell dynamics. Uses an upper triangular lattice vector matrix to
+   represent the cell.
+
+   Depend objects:
+      h: An array giving the lattice vector matrix.
+      ih: An array giving the inverse of the lattice vector matrix.
+      V: The volume of the cell.
+   """
+
+   def __init__(self, h=None):
+      """Initialises base cell class.
+
+      Args:
+         h: Optional array giving the initial lattice vector matrix. The
+            reference cell matrix is set equal to this. Must be an upper
+            triangular 3*3 matrix. Defaults to a 3*3 zeroes matrix.
+      """
+
+      if h is None:
+         #h = np.identity(3,float)
+         h = np.zeros((3,3), float)
+      dset(self,"h",depend_array(name = 'h', value = h) )
+
+      dset(self,"ih",
+         depend_array(name = "ih", value = np.zeros((3,3),float),
+            func=self.get_ih, dependencies=[dget(self,"h")]) )
+      dset(self,"V",
+         depend_value(name = 'V', func=self.get_volume,
+            dependencies=[dget(self,"h")]) )
+
+   def get_ih(self):
+      """Inverts the lattice vector matrix."""
+
+      return invert_ut3x3(self.h)
+
+   def get_volume(self):
+      """Calculates the volume of the system box."""
+
+      return det_ut3x3(self.h)
+
+   def apply_pbc(self, atom):
+      """Uses the minimum image convention to return a particle to the
+         unit cell.
+
+      Args:
+         atom: An Atom object.
+
+      Returns:
+         An array giving the position of the image that is inside the
+         system box.
+      """
+
+      s = np.dot(self.ih,atom.q)
+
+
+      for i in range(3):
+         s[i] = s[i] - round(s[i])
+
+      return np.dot(self.h,s)
+
+   def array_pbc(self, pos):
+      """Uses the minimum image convention to return a list of particles to the
+         unit cell.
+
+      Args:
+         atom: An Atom object.
+
+      Returns:
+         An array giving the position of the image that is inside the
+         system box.
+      """
+
+      s = depstrip(pos).copy()
+      s.shape = (len(pos)/3,3)
+
+      s = np.dot(depstrip(self.ih),s.T)
+      s = s - np.round(s)
+
+      s = np.dot(depstrip(self.h),s).T
+
+      pos[:] = s.reshape((len(s)*3))
+
+   def minimum_distance(self, atom1, atom2):
+      """Takes two atoms and tries to find the smallest vector between two
+      images.
+
+      This is only rigorously accurate in the case of a cubic cell,
+      but gives the correct results as long as the cut-off radius is defined
+      as smaller than the smallest width between parallel faces even for
+      triclinic cells.
+
+      Args:
+         atom1: An Atom object.
+         atom2: An Atom object.
+
+      Returns:
+         An array giving the minimum distance between the positions of atoms
+         atom1 and atom2 in the minimum image convention.
+      """
+
+      s = np.dot(self.ih,atom1.q-atom2.q)
+      for i in range(3):
+         s[i] -= round(s[i])
+      return np.dot(self.h, s)
diff --git a/tools/i-pi/ipi/engine/ensembles.py b/tools/i-pi/ipi/engine/ensembles.py
new file mode 100644
index 0000000000..9660ca983c
--- /dev/null
+++ b/tools/i-pi/ipi/engine/ensembles.py
@@ -0,0 +1,565 @@
+"""Contains the classes that deal with the different dynamics required in
+different types of ensembles.
+
+Copyright (C) 2013, Joshua More and Michele Ceriotti
+
+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 3 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/>.
+
+
+Holds the algorithms required for normal mode propagators, and the objects to
+do the constant temperature and pressure algorithms. Also calculates the
+appropriate conserved energy quantity for the ensemble of choice.
+
+Classes:
+   Ensemble: Base ensemble class with generic methods and attributes.
+   NVEEnsemble: Deals with constant energy dynamics.
+   NVTEnsemble: Deals with constant temperature dynamics.
+   NPTEnsemble: Deals with constant pressure dynamics.
+   ReplayEnsemble: Takes a trajectory, and simply sets the atom positions to
+      match it, rather than doing dynamics. In this way new properties can
+      be calculated on an old simulation, without having to rerun it from
+      scratch.
+"""
+
+__all__ = ['Ensemble', 'NVEEnsemble', 'NVTEnsemble', 'NPTEnsemble', 'ReplayEnsemble']
+
+import numpy as np
+import time
+
+from ipi.utils.depend import *
+from ipi.utils import units
+from ipi.utils.softexit import softexit
+from ipi.utils.io.io_xyz import read_xyz
+from ipi.utils.io.io_pdb import read_pdb
+from ipi.utils.io.io_xml import xml_parse_file
+from ipi.utils.units import Constants, unit_to_internal
+from ipi.inputs.thermostats import InputThermo
+from ipi.inputs.barostats import InputBaro
+from ipi.engine.thermostats import *
+from ipi.engine.barostats import *
+
+
+class Ensemble(dobject):
+   """Base ensemble class.
+
+   Gives the standard methods and attributes needed in all the
+   ensemble classes.
+
+   Attributes:
+      beads: A beads object giving the atoms positions.
+      cell: A cell object giving the system box.
+      forces: A forces object giving the virial and the forces acting on
+         each bead.
+      prng: A random number generator object.
+      nm: An object which does the normal modes transformation.
+      fixcom: A boolean which decides whether the centre of mass
+         motion will be constrained or not.
+
+   Depend objects:
+      econs: The conserved energy quantity appropriate to the given
+         ensemble. Depends on the various energy terms which make it up,
+         which are different depending on the ensemble.
+      temp: The system temperature.
+      dt: The timestep for the algorithms.
+      ntemp: The simulation temperature. Will be nbeads times higher than
+         the system temperature as PIMD calculations are done at this
+         effective classical temperature.
+   """
+
+   def __init__(self, dt, temp, fixcom=False):
+      """Initialises Ensemble.
+
+      Args:
+         dt: The timestep of the simulation algorithms.
+         temp: The temperature.
+         fixcom: An optional boolean which decides whether the centre of mass
+            motion will be constrained or not. Defaults to False.
+      """
+
+      dset(self, "econs", depend_value(name='econs', func=self.get_econs))
+      dset(self, "temp",  depend_value(name='temp',  value=temp))
+      dset(self, "dt",    depend_value(name='dt',    value=dt))
+      self.fixcom = fixcom
+
+
+   def bind(self, beads, nm, cell, bforce, prng):
+      """Binds beads, cell, bforce and prng to the ensemble.
+
+      This takes a beads object, a cell object, a forcefield object and a
+      random number generator object and makes them members of the ensemble.
+      It also then creates the objects that will hold the data needed in the
+      ensemble algorithms and the dependency network. Note that the conserved
+      quantity is defined in the init, but as each ensemble has a different
+      conserved quantity the dependencies are defined in bind.
+
+      Args:
+         beads: The beads object from whcih the bead positions are taken.
+         nm: A normal modes object used to do the normal modes transformation.
+         cell: The cell object from which the system box is taken.
+         bforce: The forcefield object from which the force and virial are
+            taken.
+         prng: The random number generator object which controls random number
+            generation.
+      """
+
+      # store local references to the different bits of the simulation
+      self.beads = beads
+      self.cell = cell
+      self.forces = bforce
+      self.prng = prng
+      self.nm = nm
+
+      # n times the temperature
+      dset(self,"ntemp", depend_value(name='ntemp',func=self.get_ntemp,
+         dependencies=[dget(self,"temp")]))
+
+      # dependencies of the conserved quantity
+      dget(self,"econs").add_dependency(dget(self.beads, "kin"))
+      dget(self,"econs").add_dependency(dget(self.forces, "pot"))
+      dget(self,"econs").add_dependency(dget(self.beads, "vpath"))
+
+
+   def get_ntemp(self):
+      """Returns the PI simulation temperature (P times the physical T)."""
+
+      return self.temp*self.beads.nbeads
+
+
+   def pstep(self):
+      """Dummy momenta propagator which does nothing."""
+
+      pass
+
+   def qcstep(self):
+      """Dummy centroid position propagator which does nothing."""
+
+      pass
+
+   def step(self):
+      """Dummy simulation time step which does nothing."""
+
+      pass
+
+   def get_econs(self):
+      """Calculates the conserved energy quantity for constant energy
+      ensembles.
+      """
+
+      return self.beads.vpath*self.nm.omegan2 + self.nm.kin + self.forces.pot
+
+
+class NVEEnsemble(Ensemble):
+   """Ensemble object for constant energy simulations.
+
+   Has the relevant conserved quantity and normal mode propagator for the
+   constant energy ensemble. Note that a temperature of some kind must be
+   defined so that the spring potential can be calculated.
+
+   Attributes:
+      ptime: The time taken in updating the velocities.
+      qtime: The time taken in updating the positions.
+      ttime: The time taken in applying the thermostat steps.
+
+   Depend objects:
+      econs: Conserved energy quantity. Depends on the bead kinetic and
+         potential energy, and the spring potential energy.
+   """
+
+   def __init__(self, dt, temp, fixcom=False):
+      """Initialises NVEEnsemble.
+
+      Args:
+         dt: The simulation timestep.
+         temp: The system temperature.
+         fixcom: An optional boolean which decides whether the centre of mass
+            motion will be constrained or not. Defaults to False.
+      """
+
+      super(NVEEnsemble,self).__init__(dt=dt,temp=temp, fixcom=fixcom)
+
+   def rmcom(self):
+      """This removes the centre of mass contribution to the kinetic energy.
+
+      Calculates the centre of mass momenta, then removes the mass weighted
+      contribution from each atom. If the ensemble defines a thermostat, then
+      the contribution to the conserved quantity due to this subtraction is
+      added to the thermostat heat energy, as it is assumed that the centre of
+      mass motion is due to the thermostat.
+
+      If there is a choice of thermostats, the thermostat
+      connected to the centroid is chosen.
+      """
+
+      if (self.fixcom):
+         pcom = np.zeros(3,float);
+
+         na3 = self.beads.natoms*3
+         nb = self.beads.nbeads
+         p = depstrip(self.beads.p)
+         m = depstrip(self.beads.m3)[:,0:na3:3]
+         M = self.beads[0].M
+
+         for i in range(3):
+            pcom[i] = p[:,i:na3:3].sum()
+
+         if hasattr(self,"thermostat"):
+            if hasattr(self.thermostat, "_thermos"):
+               self.thermostat._thermos[0].ethermo += np.dot(pcom,pcom)/(2.0*M*nb)
+            else:
+               self.thermostat.ethermo += np.dot(pcom,pcom)/(2.0*M*nb)
+
+         # subtracts COM _velocity_
+         pcom *= 1.0/(nb*M)
+         for i in range(3):
+            self.beads.p[:,i:na3:3] -= m*pcom[i]
+
+   def pstep(self):
+      """Velocity Verlet momenta propagator."""
+
+      self.beads.p += depstrip(self.forces.f)*(self.dt*0.5)
+
+   def qcstep(self):
+      """Velocity Verlet centroid position propagator."""
+
+      self.nm.qnm[0,:] += depstrip(self.nm.pnm)[0,:]/depstrip(self.beads.m3)[0]*self.dt
+
+   def step(self):
+      """Does one simulation time step."""
+
+      self.ptime = -time.time()
+      self.pstep()
+      self.ptime += time.time()
+
+      self.qtime = -time.time()
+      self.qcstep()
+
+      self.nm.free_qstep()
+      self.qtime += time.time()
+
+      self.ptime -= time.time()
+      self.pstep()
+      self.ptime += time.time()
+
+      self.ttime = -time.time()
+      self.rmcom()
+      self.ttime += time.time()
+
+
+class NVTEnsemble(NVEEnsemble):
+   """Ensemble object for constant temperature simulations.
+
+   Has the relevant conserved quantity and normal mode propagator for the
+   constant temperature ensemble. Contains a thermostat object containing the
+   algorithms to keep the temperature constant.
+
+   Attributes:
+      thermostat: A thermostat object to keep the temperature constant.
+
+   Depend objects:
+      econs: Conserved energy quantity. Depends on the bead kinetic and
+         potential energy, the spring potential energy and the heat
+         transferred to the thermostat.
+   """
+
+   def __init__(self, dt, temp, thermostat=None, fixcom=False):
+      """Initialises NVTEnsemble.
+
+      Args:
+         dt: The simulation timestep.
+         temp: The system temperature.
+         thermostat: A thermostat object to keep the temperature constant.
+            Defaults to Thermostat()
+         fixcom: An optional boolean which decides whether the centre of mass
+            motion will be constrained or not. Defaults to False.
+      """
+
+      super(NVTEnsemble,self).__init__(dt=dt,temp=temp, fixcom=fixcom)
+
+      if thermostat is None:
+         self.thermostat = Thermostat()
+      else:
+         self.thermostat = thermostat
+
+   def bind(self, beads, nm, cell, bforce, prng):
+      """Binds beads, cell, bforce and prng to the ensemble.
+
+      This takes a beads object, a cell object, a forcefield object and a
+      random number generator object and makes them members of the ensemble.
+      It also then creates the objects that will hold the data needed in the
+      ensemble algorithms and the dependency network. Also note that the
+      thermostat timestep and temperature are defined relative to the system
+      temperature, and the the thermostat temperature is held at the
+      higher simulation temperature, as is appropriate.
+
+      Args:
+         beads: The beads object from whcih the bead positions are taken.
+         nm: A normal modes object used to do the normal modes transformation.
+         cell: The cell object from which the system box is taken.
+         bforce: The forcefield object from which the force and virial are
+            taken.
+         prng: The random number generator object which controls random number
+            generation.
+      """
+
+      super(NVTEnsemble,self).bind(beads, nm, cell, bforce, prng)
+      fixdof = None
+      if self.fixcom:
+         fixdof = 3
+
+      # first makes sure that the thermostat has the correct temperature, then proceed with binding it.
+      deppipe(self,"ntemp", self.thermostat,"temp")
+      deppipe(self,"dt", self.thermostat, "dt")
+
+      #decides whether the thermostat will work in the normal mode or
+      #the bead representation.
+      if isinstance(self.thermostat,ThermoNMGLE) or isinstance(self.thermostat,ThermoNMGLEG) or isinstance(self.thermostat,ThermoPILE_L) or isinstance(self.thermostat,ThermoPILE_G):
+         self.thermostat.bind(nm=self.nm,prng=prng,fixdof=fixdof )
+      else:
+         self.thermostat.bind(beads=self.beads,prng=prng, fixdof=fixdof)
+
+      dget(self,"econs").add_dependency(dget(self.thermostat, "ethermo"))
+
+   def step(self):
+      """Does one simulation time step."""
+
+      self.ttime = -time.time()
+      self.thermostat.step()
+      self.rmcom()
+      self.ttime += time.time()
+
+      self.ptime = -time.time()
+      self.pstep()
+      self.ptime += time.time()
+
+      self.qtime = -time.time()
+      self.qcstep()
+      self.nm.free_qstep()
+      self.qtime += time.time()
+
+      self.ptime -= time.time()
+      self.pstep()
+      self.ptime += time.time()
+
+      self.ttime -= time.time()
+      self.thermostat.step()
+      self.rmcom()
+      self.ttime += time.time()
+
+   def get_econs(self):
+      """Calculates the conserved energy quantity for constant temperature
+      ensemble.
+      """
+
+      return NVEEnsemble.get_econs(self) + self.thermostat.ethermo
+
+
+class NPTEnsemble(NVTEnsemble):
+   """Ensemble object for constant pressure simulations.
+
+   Has the relevant conserved quantity and normal mode propagator for the
+   constant pressure ensemble. Contains a thermostat object containing the
+   algorithms to keep the temperature constant, and a barostat to keep the
+   pressure constant.
+
+   Attributes:
+      barostat: A barostat object to keep the pressure constant.
+
+   Depend objects:
+      econs: Conserved energy quantity. Depends on the bead and cell kinetic
+         and potential energy, the spring potential energy, the heat
+         transferred to the beads and cell thermostat, the temperature and
+         the cell volume.
+      pext: External pressure.
+   """
+
+   def __init__(self, dt, temp, pext, thermostat=None, barostat=None, fixcom=False):
+      """Initialises NPTEnsemble.
+
+      Args:
+         dt: The simulation timestep.
+         temp: The system temperature.
+         pext: The external pressure.
+         thermostat: A thermostat object to keep the temperature constant.
+            Defaults to Thermostat().
+         barostat: A barostat object to keep the pressure constant.
+            Defaults to Barostat().
+         fixcom: An optional boolean which decides whether the centre of mass
+            motion will be constrained or not. Defaults to False.
+      """
+
+      super(NPTEnsemble,self).__init__(dt, temp, thermostat, fixcom=fixcom)
+      if barostat == None:
+         self.barostat = Barostat()
+      else:
+         self.barostat = barostat
+
+      dset(self,"pext",depend_value(name='pext'))
+      if not pext is None:
+         self.pext = pext
+      else: self.pext = 0.0
+
+
+   def bind(self, beads, nm, cell, bforce, prng):
+      """Binds beads, cell, bforce and prng to the ensemble.
+
+      This takes a beads object, a cell object, a forcefield object and a
+      random number generator object and makes them members of the ensemble.
+      It also then creates the objects that will hold the data needed in the
+      ensemble algorithms and the dependency network. Also note that the cell
+      thermostat timesteps and temperatures are defined relative to the system
+      temperature, and the the thermostat temperatures are held at the
+      higher simulation temperature, as is appropriate.
+
+      Args:
+         beads: The beads object from whcih the bead positions are taken.
+         nm: A normal modes object used to do the normal modes transformation.
+         cell: The cell object from which the system box is taken.
+         bforce: The forcefield object from which the force and virial are
+            taken.
+         prng: The random number generator object which controls random number
+            generation.
+      """
+
+
+      fixdof = None
+      if self.fixcom:
+         fixdof = 3
+
+      super(NPTEnsemble,self).bind(beads, nm, cell, bforce, prng)
+      self.barostat.bind(beads, nm, cell, bforce, prng=prng, fixdof=fixdof)
+
+
+      deppipe(self,"ntemp", self.barostat, "temp")
+      deppipe(self,"dt", self.barostat, "dt")
+      deppipe(self,"pext", self.barostat, "pext")
+      dget(self,"econs").add_dependency(dget(self.barostat, "ebaro"))
+
+   def get_econs(self):
+      """Calculates the conserved energy quantity for the constant pressure
+      ensemble.
+      """
+
+      return NVTEnsemble.get_econs(self) + self.barostat.ebaro
+
+   def step(self):
+      """NPT time step.
+
+      Note that the barostat only propagates the centroid coordinates. If this
+      approximation is made a centroid virial pressure and stress estimator can
+      be defined, so this gives the best statistical convergence. This is
+      allowed as the normal mode propagation is approximately unaffected
+      by volume fluctuations as long as the system box is much larger than
+      the radius of gyration of the ring polymers.
+      """
+
+      self.ttime = -time.time()
+      self.thermostat.step()
+      self.barostat.thermostat.step()
+      self.rmcom()
+      self.ttime += time.time()
+
+      self.ptime = -time.time()
+      self.barostat.pstep()
+      self.ptime += time.time()
+
+      self.qtime = -time.time()
+      self.barostat.qcstep()
+      self.nm.free_qstep()
+      self.qtime += time.time()
+
+      self.ptime -= time.time()
+      self.barostat.pstep()
+      self.ptime += time.time()
+
+      self.ttime -= time.time()
+      self.barostat.thermostat.step()
+      self.thermostat.step()
+      self.rmcom()
+      self.ttime += time.time()
+
+
+class ReplayEnsemble(Ensemble):
+   """Ensemble object that just loads snapshots from an external file in sequence.
+
+   Has the relevant conserved quantity and normal mode propagator for the
+   constant energy ensemble. Note that a temperature of some kind must be
+   defined so that the spring potential can be calculated.
+
+   Attributes:
+      intraj: The input trajectory file.
+      ptime: The time taken in updating the velocities.
+      qtime: The time taken in updating the positions.
+      ttime: The time taken in applying the thermostat steps.
+
+   Depend objects:
+      econs: Conserved energy quantity. Depends on the bead kinetic and
+         potential energy, and the spring potential energy.
+   """
+
+   def __init__(self, dt, temp, fixcom=False, intraj=None):
+      """Initialises ReplayEnsemble.
+
+      Args:
+         dt: The simulation timestep.
+         temp: The system temperature.
+         fixcom: An optional boolean which decides whether the centre of mass
+            motion will be constrained or not. Defaults to False.
+         intraj: The input trajectory file.
+      """
+
+      super(ReplayEnsemble,self).__init__(dt=dt,temp=temp,fixcom=fixcom)
+      if intraj == None:
+         raise ValueError("Must provide an initialized InitFile object to read trajectory from")
+      self.intraj = intraj
+      if intraj.mode == "manual":
+         raise ValueError("Replay can only read from PDB or XYZ files -- or a single frame from a CHK file")
+      self.rfile = open(self.intraj.value,"r")
+
+   def step(self):
+      """Does one simulation time step."""
+
+      self.ptime = self.ttime = 0
+      self.qtime = -time.time()
+
+      try:
+         if (self.intraj.mode == "xyz"):
+            for b in self.beads:
+               myatoms = read_xyz(self.rfile)
+               myatoms.q *= unit_to_internal("length",self.intraj.units,1.0)
+               b.q[:] = myatoms.q
+         elif (self.intraj.mode == "pdb"):
+            for b in self.beads:
+               myatoms, mycell = read_pdb(self.rfile)
+               myatoms.q *= unit_to_internal("length",self.intraj.units,1.0)
+               mycell.h  *= unit_to_internal("length",self.intraj.units,1.0)
+               b.q[:] = myatoms.q
+            self.cell.h[:] = mycell.h
+         elif (self.intraj.mode == "chk" or self.intraj.mode == "checkpoint"):
+            # reads configuration from a checkpoint file
+            xmlchk = xml_parse_file(self.rfile) # Parses the file.
+
+            from ipi.inputs.simulation import InputSimulation
+            simchk = InputSimulation()
+            simchk.parse(xmlchk.fields[0][1])
+            mycell = simchk.cell.fetch()
+            mybeads = simchk.beads.fetch()
+            self.cell.h[:] = mycell.h
+            self.beads.q[:] = mybeads.q
+            softexit.trigger(" # Read single checkpoint")
+      except EOFError:
+         softexit.trigger(" # Finished reading re-run trajectory")
+
+      self.qtime += time.time()
+
+
diff --git a/tools/i-pi/ipi/engine/forces.py b/tools/i-pi/ipi/engine/forces.py
new file mode 100644
index 0000000000..58987f1e4d
--- /dev/null
+++ b/tools/i-pi/ipi/engine/forces.py
@@ -0,0 +1,781 @@
+"""Contains the classes that connect the driver to the python code.
+
+Copyright (C) 2013, Joshua More and Michele Ceriotti
+
+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 3 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/>.
+
+
+Communicates with the driver code, obtaining the force, virial and potential.
+Deals with creating the jobs that will be sent to the driver, and
+returning the results to the python code.
+
+Classes:
+   ForceField: Base forcefield class with the generic methods and attributes.
+   FFSocket: Deals with a single replica of the system
+   ForceBeads: Deals with the parallelization of the force calculation over
+      different beads.
+   Forces: Deals with the parallelizatoin of the force calculation over
+      different forcefields.
+"""
+
+__all__ = ['ForceField', 'ForceBeads', 'Forces', 'FFSocket']
+
+import numpy as np
+import time
+from ipi.utils.softexit import softexit
+from ipi.utils.messages import verbosity, warning
+from ipi.utils.depend import *
+from ipi.utils.nmtransform import nm_rescale
+from ipi.interfaces.sockets import InterfaceSocket
+from ipi.engine.beads import Beads
+
+class ForceField(dobject):
+   """Base forcefield class.
+
+   Gives the standard methods and quantities needed in all the forcefield
+   classes.
+
+   Attributes:
+      atoms: An Atoms object containing all the atom positions.
+      cell: A Cell object containing the system box.
+
+   Depend objects:
+      ufvx: A list of the form [pot, f, vir]. These quantities are calculated
+         all at one time by the driver, so are collected together. Each separate
+         object is then taken from the list. Depends on the atom positions and
+         the system box.
+      extra: A string containing some formatted output returned by the client. Depends on ufvx.
+      pot: A float giving the potential energy of the system. Depends on ufvx.
+      f: An array containing all the components of the force. Depends on ufvx.
+      fx: A slice of f containing only the x components of the forces.
+      fy: A slice of f containing only the y components of the forces.
+      fz: A slice of f containing only the z components of the forces.
+      vir: An array containing the components of the virial tensor in upper
+         triangular form, not divided by the volume. Depends on ufvx.
+   """
+
+   def __init__(self):
+      """Initialises ForceField."""
+
+      # ufvx is a list [ u, f, vir, extra ]  which stores the results of the force
+      #calculation
+      dset(self,"ufvx", depend_value(name="ufvx", func=self.get_all))
+
+   def copy(self):
+      """Creates a deep copy without the bound objects.
+
+      Used in ForceBeads to create a ForceField for each replica of the system.
+
+      Returns:
+         A ForceField object without atoms or cell attributes.
+      """
+
+      return type(self)(self.nbeads, self.weight)
+
+   def bind(self, atoms, cell):
+      """Binds atoms and cell to the forcefield.
+
+      This takes an atoms object and a cell object and makes them members of
+      the forcefield. It also then creates the objects that will hold the data
+      that the driver returns and the dependency network.
+
+      Args:
+         atoms: The Atoms object from which the atom positions are taken.
+         cell: The Cell object from which the system box is taken.
+      """
+
+      # stores a reference to the atoms and cell we are computing forces for
+      self.atoms = atoms
+      self.cell = cell
+
+      # ufv depends on the atomic positions and on the cell
+      dget(self,"ufvx").add_dependency(dget(self.atoms,"q"))
+      dget(self,"ufvx").add_dependency(dget(self.cell,"h"))
+
+      # potential and virial are to be extracted very simply from ufv
+      dset(self,"pot",
+         depend_value(name="pot", func=self.get_pot,
+            dependencies=[dget(self,"ufvx")]))
+
+      dset(self,"vir",
+         depend_array(name="vir", value=np.zeros((3,3),float),func=self.get_vir,
+            dependencies=[dget(self,"ufvx")]))
+
+      # NB: the force requires a bit more work, to define shortcuts to xyz
+      # slices without calculating the force at this point.
+      fbase = np.zeros(atoms.natoms*3, float)
+      dset(self,"f",
+         depend_array(name="f", value=fbase, func=self.get_f,
+             dependencies=[dget(self,"ufvx")]))
+
+      dset(self,"extra",
+         depend_value(name="extra", func=self.get_extra,
+            dependencies=[dget(self,"ufvx")]))
+
+      dset(self,"fx", depend_array(name="fx", value=fbase[0:3*atoms.natoms:3]))
+      dset(self,"fy", depend_array(name="fy", value=fbase[1:3*atoms.natoms:3]))
+      dset(self,"fz", depend_array(name="fz", value=fbase[2:3*atoms.natoms:3]))
+      depcopy(self,"f", self,"fx")
+      depcopy(self,"f", self,"fy")
+      depcopy(self,"f", self,"fz")
+
+   def queue(self):
+      """Dummy queueing method."""
+
+      pass
+
+   def stop(self):
+      """Dummy queueing method."""
+
+      pass
+
+   def run(self):
+      """Dummy queueing method."""
+
+      pass
+
+   def get_all(self):
+      """Dummy driver routine.
+
+      Returns:
+         A list of the form [potential, force, virial] where the potential
+         and all components of the force and virial have been set to zero.
+      """
+
+      return [0.0, np.zeros(3*self.atoms.natoms), np.zeros((3,3),float), ""]
+
+   def get_pot(self):
+      """Calls get_all routine of forcefield to update potential.
+
+      Returns:
+         Potential energy.
+      """
+
+      return self.ufvx[0]
+
+   def get_f(self):
+      """Calls get_all routine of forcefield to update force.
+
+      Returns:
+         An array containing all the components of the force.
+      """
+
+      return depstrip(self.ufvx[1])
+
+   def get_vir(self):
+      """Calls get_all routine of forcefield to update virial.
+
+      Returns:
+         An array containing the virial in upper triangular form, not divided
+         by the volume.
+      """
+
+      vir = depstrip(self.ufvx[2])
+      vir[1,0] = 0.0
+      vir[2,0:2] = 0.0
+      return vir
+
+   def get_extra(self):
+      """Calls get_all routine of forcefield to update potential.
+
+      Returns:
+         A string containing all formatted additional output that the
+         client might have produced.
+      """
+
+      return self.ufvx[3]
+
+
+class FFSocket(ForceField):
+   """Interface between the PIMD code and the socket for a single replica.
+
+   Deals with an individual replica of the system, obtaining the potential
+   force and virial appropriate to this system. Deals with the distribution of
+   jobs to the interface.
+
+   Attributes:
+      parameters: A dictionary of the parameters used by the driver. Of the
+         form {'name': value}.
+      socket: The interface object which contains the socket through which
+         communication between the forcefield and the driver is done.
+      request: During the force calculation step this holds a dictionary
+         containing the relevant data for determining the progress of the step.
+         Of the form {'atoms': atoms, 'cell': cell, 'pars': parameters,
+                      'status': status, 'result': result, 'id': bead id,
+                      'start': starting time}.
+   """
+
+   def __init__(self, pars=None, interface=None):
+      """Initialises FFSocket.
+
+      Args:
+         pars: Optional dictionary, giving the parameters needed by the driver.
+         interface: Optional Interface object, which contains the socket.
+      """
+
+      # a socket to the communication library is created or linked
+      super(FFSocket,self).__init__()
+      if interface is None:
+         self.socket = InterfaceSocket()
+      else:
+         self.socket = interface
+
+      if pars is None:
+         self.pars = {}
+      else:
+         self.pars = pars
+      self.request = None
+
+   def bind(self, atoms, cell):
+      """Pass on the binding request from ForceBeads.
+
+      Also makes sure to set the socket's softexit.
+
+      Args:
+         atoms: Atoms object from which the bead positions are taken.
+         cell: Cell object from which the system box is taken.
+      """
+
+      super(FFSocket,self).bind(atoms, cell)
+
+   def copy(self):
+      """Creates a deep copy without the bound objects.
+
+      Used in ForceBeads to create a FFSocket for each replica of the system.
+
+      Returns:
+         A FFSocket object without atoms or cell attributes.
+      """
+
+      # does not copy the bound objects
+      # (i.e., the returned forcefield must be bound before use)
+      return type(self)(self.pars, self.socket)
+
+   def get_all(self):
+      """Driver routine.
+
+      When one of the force, potential or virial are called, this sends the
+      atoms and cell to the driver through the interface, requesting that the
+      driver does the calculation. This then waits until the driver is finished,
+      and then returns the ufvx list.
+
+      Returns:
+         A list of the form [potential, force, virial, extra].
+      """
+
+      # this is converting the distribution library requests into [ u, f, v ]  lists
+      if self.request is None:
+         self.request = self.socket.queue(self.atoms, self.cell, pars=self.pars, reqid=-1)
+      while self.request["status"] != "Done":
+         if self.request["status"] == "Exit":
+            break
+         time.sleep(self.socket.latency)
+      if self.request["status"] == "Exit":
+         softexit.trigger(" @Force: Requested returned a Exit status")
+
+      # data has been collected, so the request can be released and a slot
+      #freed up for new calculations
+      self.socket.release(self.request)
+      result = self.request["result"]
+      self.request = None
+
+      return result
+
+   def queue(self, reqid=-1):
+      """Sends the job to the interface queue directly.
+
+      Allows the ForceBeads object to ask for the ufvx list of each replica
+      directly without going through the get_all function. This allows
+      all the jobs to be sent at once, allowing them to be parallelized.
+
+      Args:
+         reqid: An optional integer that indentifies requests of the same type,
+            e.g. the bead index.
+      """
+
+      if self.request is None and dget(self,"ufvx").tainted():
+         self.request = self.socket.queue(self.atoms, self.cell, pars=self.pars, reqid=reqid)
+
+   def run(self):
+      """Makes the socket start looking for driver codes.
+
+      Tells the interface code to start the thread that looks for
+      connection from the driver codes in a loop. Until this point no
+      jobs can be queued.
+      """
+
+      if not self.socket.started():
+         self.socket.start_thread()
+
+   def stop(self):
+      """Makes the socket stop looking for driver codes.
+
+      Tells the interface code to stop the thread that looks for
+      connection from the driver codes in a loop. After this point no
+      jobs can be queued.
+      """
+
+      if self.socket.started():
+         self.socket.end_thread()
+
+
+class ForceBeads(dobject):
+   """Class that gathers the forces for each replica together.
+
+   Deals with splitting the bead representation into
+   separate replicas, and collecting the data from each replica.
+
+   Attributes:
+      natoms: An integer giving the number of atoms.
+      nbeads: An integer giving the number of beads.
+      f_model: A model used to create the forcefield objects for each replica
+         of the system.
+      _forces: A list of the forcefield objects for all the replicas.
+      weight: A float that will be used to weight the contribution of this
+         forcefield to the total force.
+
+   Depend objects:
+      f: An array containing the components of the force. Depends on each
+         replica's ufvx list.
+      pots: A list containing the potential energy for each system replica.
+         Depends on each replica's ufvx list.
+      virs: A list containing the virial tensor for each system replica.
+         Depends on each replica's ufvx list.
+      pot: The sum of the potential energy of the replicas.
+      vir: The sum of the virial tensor of the replicas.
+      extras: Strings containing some formatted output returned by the client.
+         Depends on each replica's ufvx list.
+   """
+
+   def __init__(self, model, nbeads=0, weight=1.0):
+      """Initializes ForceBeads
+
+      Args:
+         model: A model to be used to create the forcefield objects for all
+            the replicas of the system.
+         nbeads: The number of replicas.
+         weight: A relative weight to be given to the values obtained with this
+            forcefield. When the contribution of all the forcefields is
+            combined to give a total force, the contribution of this forcefield
+            will be weighted by this factor.
+      """
+
+      self.f_model = model
+      self.nbeads = nbeads
+      self.weight = weight
+
+   def copy(self):
+      """Creates a deep copy without the bound objects.
+
+      Used so that we can create multiple Forces objects from the same
+      Forcebeads model, without binding a particular ForceBeads object twice.
+
+      Returns:
+         A ForceBeads object without beads or cell attributes.
+      """
+
+      # does not copy the bound objects (i.e., the returned forcefield must be bound before use)
+      return type(self)(self.f_model, self.nbeads, self.weight)
+
+
+   def bind(self, beads, cell):
+      """Binds beads, cell and force to the forcefield.
+
+      Takes the beads, cell objects and makes them members of the forcefield.
+      Also takes the force object and copies it once for each replica of the
+      system, then binds each replica to one of the copies so that the force
+      calculation can be parallelized. Creates the objects that will
+      hold the data that the driver returns and the dependency network.
+
+      Args:
+         beads: Beads object from which the bead positions are taken.
+         cell: Cell object from which the system box is taken.
+      """
+
+      # stores a copy of the number of atoms and of beads
+      #!TODO! make them read-only properties
+      self.natoms = beads.natoms
+      if (self.nbeads != beads.nbeads):
+         raise ValueError("Binding together a Beads and a ForceBeads objects with different numbers of beads")
+
+      # creates an array of force objects, which are bound to the beads
+      #and the cell
+      self._forces = [];
+      for b in range(self.nbeads):
+         new_force = self.f_model.copy()
+         new_force.bind(beads[b], cell)
+         self._forces.append(new_force)
+
+      # f is a big array which assembles the forces on individual beads
+      dset(self,"f",
+         depend_array(name="f",value=np.zeros((self.nbeads,3*self.natoms)),
+            func=self.f_gather,
+               dependencies=[dget(self._forces[b],"f") for b in range(self.nbeads)]))
+
+      # collection of pots and virs from individual beads
+      dset(self,"pots",
+         depend_array(name="pots", value=np.zeros(self.nbeads,float),
+            func=self.pot_gather,
+               dependencies=[dget(self._forces[b],"pot") for b in range(self.nbeads)]))
+      dset(self,"virs",
+         depend_array(name="virs", value=np.zeros((self.nbeads,3,3),float),
+            func=self.vir_gather,
+               dependencies=[dget(self._forces[b],"vir") for b in range(self.nbeads)]))
+      dset(self,"extras",
+         depend_value(name="extras", value=np.zeros(self.nbeads,float),
+            func=self.extra_gather,
+               dependencies=[dget(self._forces[b],"extra") for b in range(self.nbeads)]))
+
+      # total potential and total virial
+      dset(self,"pot",
+         depend_value(name="pot", func=(lambda: self.pots.sum()),
+            dependencies=[dget(self,"pots")]))
+      dset(self,"vir",
+         depend_array(name="vir", func=self.get_vir, value=np.zeros((3,3)),
+            dependencies=[dget(self,"virs")]))
+
+   def run(self):
+      """Makes the socket start looking for driver codes.
+
+      Tells the interface code to start the thread that looks for
+      connection from the driver codes in a loop. Until this point no
+      jobs can be queued.
+      """
+
+      for b in range(self.nbeads):
+         self._forces[b].run()
+
+   def stop(self):
+      """Makes the socket stop looking for driver codes.
+
+      Tells the interface code to stop the thread that looks for
+      connection from the driver codes in a loop. After this point no
+      jobs can be queued.
+      """
+
+      for b in range(self.nbeads):
+         self._forces[b].stop()
+
+   def queue(self):
+      """Submits all the required force calculations to the interface."""
+
+      # this should be called in functions which access u,v,f for ALL the beads,
+      # before accessing them. it is basically pre-queueing so that the
+      # distributed-computing magic can work
+      for b in range(self.nbeads):
+         self._forces[b].queue(reqid=b)
+
+   def pot_gather(self):
+      """Obtains the potential energy for each replica.
+
+      Returns:
+         A list of the potential energy of each replica of the system.
+      """
+
+      self.queue()
+      return np.array([b.pot for b in self._forces], float)
+
+   def extra_gather(self):
+      """Obtains the potential energy for each replica.
+
+      Returns:
+         A list of the potential energy of each replica of the system.
+      """
+
+      self.queue()
+      return [b.extra for b in self._forces]
+
+   def vir_gather(self):
+      """Obtains the virial for each replica.
+
+      Returns:
+         A list of the virial of each replica of the system.
+      """
+
+      self.queue()
+      return np.array([b.vir for b in self._forces], float)
+
+   def f_gather(self):
+      """Obtains the force vector for each replica.
+
+      Returns:
+         An array with all the components of the force. Row i gives the force
+         array for replica i of the system.
+      """
+
+      newf = np.zeros((self.nbeads,3*self.natoms),float)
+
+      self.queue()
+      for b in range(self.nbeads):
+         newf[b] = depstrip(self._forces[b].f)
+
+      return newf
+
+      #serial
+#      for b in range(self.nbeads): newf[b]=self._forces[b].f
+      # threaded
+#      bthreads=[]
+#      print "starting threads"
+#      for b in range(self.nbeads):
+#         thread=threading.Thread(target=self._getbead, args=(b,newf,))
+#         thread.start()
+#         bthreads.append(thread)
+
+#      print "waiting threads"
+#      for b in range(self.nbeads): bthreads[b].join()
+#      print "threads joined in"
+
+   def get_vir(self):
+      """Sums the virial of each replica.
+
+      Not the actual system virial, as it has not been divided by either the
+      number of beads or the cell volume.
+
+      Returns:
+          Virial sum.
+      """
+
+      vir = np.zeros((3,3))
+      for v in depstrip(self.virs):
+         vir += v
+      return vir
+
+   def __len__(self):
+      """Length function.
+
+      This is called whenever the standard function len(forcebeads) is used.
+
+      Returns:
+         The number of beads.
+      """
+
+      return self.nbeads
+
+   def __getitem__(self,index):
+      """Overwrites standard getting function.
+
+      This is called whenever the standard function forcebeads[index] is used.
+      Returns the force on bead index.
+
+      Args:
+         index: The index of the replica of the system to be accessed.
+
+      Returns:
+         The forces acting on the replica of the system given by the index.
+      """
+
+      return self._forces[index]
+
+
+class Forces(dobject):
+   """Class that gathers all the forces together.
+
+   Collects many forcefield instances and parallelizes getting the forces
+   in a PIMD environment.
+
+   Attributes:
+      natoms: An integer giving the number of atoms.
+      nbeads: An integer giving the number of beads.
+      nforces: An integer giving the number of ForceBeads objects.
+      mforces: A list of all the forcefield objects.
+      mbeads: A list of all the beads objects. Some of these may be contracted
+         ring polymers, with a smaller number of beads than of the simulation.
+      mweights: A list of the weights of all the forcefields.
+      mrpc: A list of the objects containing the functions required to
+         contract the ring polymers of the different forcefields.
+
+   Depend objects:
+      f: An array containing the components of the force. Depends on each
+         replica's ufvx list.
+      pots: A list containing the potential energy for each system replica.
+         Depends on each replica's ufvx list.
+      virs: A list containing the virial tensor for each system replica.
+         Depends on each replica's ufvx list.
+      extras: A list containing the "extra" strings for each replica.
+      pot: The sum of the potential energy of the replicas.
+      vir: The sum of the virial tensor of the replicas.
+   """
+
+   def bind(self, beads, cell, flist):
+
+      self.natoms = beads.natoms
+      self.nbeads = beads.nbeads
+      self.nforces = len(flist)
+
+      # flist should be a list of tuples containing ( "name", forcebeads)
+      self.mforces = []
+      self.mbeads = []
+      self.mweights = []
+      self.mrpc = []
+
+      # a "function factory" to generate functions to automatically update
+      #contracted paths
+      def make_rpc(rpc, beads):
+         return lambda: rpc.b1tob2(depstrip(beads.q))
+
+      # creates new force objects, possibly acting on contracted path
+      #representations
+      for (ftype, fbeads) in flist:
+
+         # creates an automatically-updated contracted beads object
+         newb = fbeads.nbeads
+         newforce = fbeads.copy()
+         newweight = fbeads.weight
+
+         # if the number of beads for this force component is unspecified,
+         #assume full force evaluation
+         if newb == 0:
+            newb = beads.nbeads
+            newforce.nbeads = newb
+
+         newbeads = Beads(beads.natoms, newb)
+         newrpc = nm_rescale(beads.nbeads, newb)
+
+         dget(newbeads,"q")._func = make_rpc(newrpc, beads)
+         for b in newbeads:
+            # must update also indirect access to the beads coordinates
+            dget(b,"q")._func = dget(newbeads,"q")._func
+
+         # makes newbeads.q depend from beads.q
+         dget(beads,"q").add_dependant(dget(newbeads,"q"))
+
+         #now we create a new forcebeads which is bound to newbeads!
+         newforce.bind(newbeads, cell)
+
+         #adds information we will later need to the appropriate lists.
+         self.mweights.append(newweight)
+         self.mbeads.append(newbeads)
+         self.mforces.append(newforce)
+         self.mrpc.append(newrpc)
+
+      #now must expose an interface that gives overall forces
+      dset(self,"f",
+         depend_array(name="f",value=np.zeros((self.nbeads,3*self.natoms)),
+            func=self.f_combine,
+               dependencies=[dget(ff, "f") for ff in self.mforces] ) )
+
+      # collection of pots and virs from individual ff objects
+      dset(self,"pots",
+         depend_array(name="pots", value=np.zeros(self.nbeads,float),
+            func=self.pot_combine,
+               dependencies=[dget(ff, "pots") for ff in self.mforces]) )
+
+      # must take care of the virials!
+      dset(self,"virs",
+         depend_array(name="virs", value=np.zeros((self.nbeads,3,3),float),
+            func=self.vir_combine,
+               dependencies=[dget(ff, "virs") for ff in self.mforces]) )
+
+      dset(self,"extras",
+         depend_value(name="extras", value=np.zeros(self.nbeads,float),
+            func=self.extra_combine,
+               dependencies=[dget(ff, "extras") for ff in self.mforces]))
+
+      # total potential and total virial
+      dset(self,"pot",
+         depend_value(name="pot", func=(lambda: self.pots.sum()),
+            dependencies=[dget(self,"pots")]))
+      dset(self,"vir",
+         depend_array(name="vir", func=self.get_vir, value=np.zeros((3,3)),
+            dependencies=[dget(self,"virs")]))
+
+   def run(self):
+      """Makes the socket start looking for driver codes.
+
+      Tells the interface code to start the thread that looks for
+      connection from the driver codes in a loop. Until this point no
+      jobs can be queued.
+      """
+
+      for ff in self.mforces:
+         ff.run()
+
+   def stop(self):
+      """Makes the socket stop looking for driver codes.
+
+      Tells the interface code to stop the thread that looks for
+      connection from the driver codes in a loop. After this point no
+      jobs can be queued.
+      """
+
+      for ff in self.mforces:
+         ff.stop()
+
+   def queue(self):
+      """Submits all the required force calculations to the forcefields."""
+
+      for ff in self.mforces:
+         ff.queue()
+
+   def get_vir(self):
+      """Sums the virial of each forcefield.
+
+      Not the actual system virial.
+
+      Returns:
+          Virial sum.
+      """
+
+      vir = np.zeros((3,3))
+      for v in depstrip(self.virs):
+         vir += v
+      return vir
+
+   def f_combine(self):
+      """Obtains the total force vector."""
+
+      self.queue()
+      rf = np.zeros((self.nbeads,3*self.natoms),float)
+      for k in range(self.nforces):
+         # "expand" to the total number of beads the forces from the
+         #contracted one
+         rf += self.mweights[k]*self.mrpc[k].b2tob1(depstrip(self.mforces[k].f))
+      return rf
+
+   def pot_combine(self):
+      """Obtains the potential energy for each forcefield."""
+
+      self.queue()
+      rp = np.zeros(self.nbeads,float)
+      for k in range(self.nforces):
+         # "expand" to the total number of beads the potentials from the
+         #contracted one
+         rp += self.mweights[k]*self.mrpc[k].b2tob1(self.mforces[k].pots)
+      return rp
+
+   def extra_combine(self):
+      """Obtains the potential energy for each forcefield."""
+
+      self.queue()
+      rp = [ "" for b in range(self.nbeads) ]
+      for k in range(self.nforces):
+         # "expand" to the total number of beads the potentials from the
+         #contracted one
+         for b in range(self.nbeads):
+            rp[b] += self.mforces[k].extras[b]
+      return rp
+
+   def vir_combine(self):
+      """Obtains the virial tensor for each forcefield."""
+
+      self.queue()
+      rp = np.zeros((self.nbeads,3,3),float)
+      for k in range(self.nforces):
+         virs = depstrip(self.mforces[k].virs)
+         # "expand" to the total number of beads the virials from the
+         #contracted one, element by element
+         for i in range(3):
+            for j in range(3):
+               rp[:,i,j] += self.mweights[k]*self.mrpc[k].b2tob1(virs[:,i,j])
+      return rp
diff --git a/tools/i-pi/ipi/engine/initializer.py b/tools/i-pi/ipi/engine/initializer.py
new file mode 100644
index 0000000000..466677938a
--- /dev/null
+++ b/tools/i-pi/ipi/engine/initializer.py
@@ -0,0 +1,549 @@
+"""Contains the classes that are used to initialize data in the simulation.
+
+Copyright (C) 2013, Joshua More and Michele Ceriotti
+
+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 3 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/>.
+
+
+These classes can either be used to restart a simulation with some different
+data or used to start a calculation. Any data given in these classes will
+overwrite data given elsewhere.
+
+Classes:
+   Initializer: Holds the functions that are required to initialize objects in
+      the code. Data can be initialized from a file, or according to a
+      particular parameter. An example of the former would be initializing
+      the configurations from a xyz file, an example of the latter would be
+      initializing the velocities according to the physical temperature.
+   InitBase: Simple class that reads data from a string or file.
+   InitIndexed: The same as init base, but can also optionally hold
+      information about which atom or bead to initialize from.
+
+Functions:
+   init_xyz: Reads beads data from a xyz file.
+   init_pdb: Reads beads and cell data from a pdb file.
+   init_chk: Reads beads, cell and thermostat data from a checkpoint file.
+   init_beads: Initializes a beads object from an Initializer object.
+   init_vector: Initializes a vector from an Initializer object.
+   set_vector: Initializes a vector from another vector.
+"""
+
+import numpy as np
+
+from ipi.engine.beads import Beads
+from ipi.engine.cell import Cell
+from ipi.engine.normalmodes import NormalModes
+from ipi.engine.ensembles import Ensemble
+from ipi.utils.io.io_xyz import read_xyz
+from ipi.utils.io.io_pdb import read_pdb
+from ipi.utils.io.io_xml import xml_parse_file
+from ipi.utils.depend import dobject
+from ipi.utils.units import Constants, unit_to_internal
+from ipi.utils.nmtransform import nm_rescale
+from ipi.utils.messages import verbosity, warning, info
+
+__all__ = ['Initializer', 'InitBase', 'InitIndexed']
+
+class InitBase(dobject):
+   """Base class for initializer objects.
+
+   Attributes:
+      value: A duck-typed stored value.
+      mode: A string that determines how the value is to be interpreted.
+      units: A string giving which unit the value is in.
+   """
+
+   def __init__(self, value="", mode="", units="", **others):
+      """Initializes InitFile.
+
+      Args:
+         value: A string which specifies what value to initialize the
+            simulation property to.
+         mode: A string specifiying what style of initialization should be
+            used to read the data.
+         units: A string giving which unit the value is in.
+      """
+
+      self.value = value
+      self.mode = mode
+      self.units = units
+
+      for (o, v) in others.items():
+         self.__dict__[o] = v
+
+
+class InitIndexed(InitBase):
+   """Class to initialize objects which can be set for a particular bead.
+
+   Attributes:
+      index: Which atom to initialize the value of.
+      bead: Which bead to initialize the value of.
+   """
+
+   def __init__(self, value="", mode="", units="", index=-1, bead=-1):
+      """Initializes InitFile.
+
+      Args:
+         value: A string which specifies what value to initialize the
+            simulation property to.
+         mode: A string specifiying what style of initialization should be
+            used to read the data.
+         units: A string giving which unit the value is in.
+         index: Which atom to initialize the value of.
+         bead: Which bead to initialize the value of.
+      """
+
+      super(InitIndexed,self).__init__(value=value, mode=mode, units=units, index=index, bead=bead)
+
+
+def init_xyz(filename):
+   """Reads an xyz file and returns the data contained in it.
+
+   Args:
+      filename: A string giving the name of the xyz file to be read from.
+
+   Returns:
+      A list of Atoms objects as read from each frame of the xyz file.
+   """
+
+   rfile = open(filename,"r")
+   ratoms = []
+   while True:
+   #while loop, so that more than one configuration can be given
+   #so multiple beads can be initialized at once.
+      try:
+         myatoms = read_xyz(rfile)
+      except EOFError:
+         break
+      ratoms.append(myatoms)
+   return ratoms
+
+def init_pdb(filename):
+   """Reads an pdb file and returns the data contained in it.
+
+   Args:
+      filename: A string giving the name of the pdb file to be read from.
+
+   Returns:
+      A list of Atoms objects as read from each frame of the pdb file, and
+      a Cell object as read from the final pdb frame.
+   """
+
+   rfile = open(filename,"r")
+   ratoms = []
+   while True:
+   #while loop, so that more than one configuration can be given
+   #so multiple beads can be initialized at once.
+      try:
+         myatoms, rcell  = read_pdb(rfile)
+      except EOFError:
+         break
+      ratoms.append(myatoms)
+   return ( ratoms, rcell ) # if multiple frames, the last cell is returned
+
+def init_chk(filename):
+   """Reads an checkpoint file and returns the data contained in it.
+
+   Args:
+      filename: A string giving the name of the checkpoint file to be read from.
+
+   Returns:
+      A Beads object, Cell object and Thermostat object as read from the
+      checkpoint file.
+   """
+
+   # reads configuration from a checkpoint file
+   rfile = open(filename,"r")
+   xmlchk = xml_parse_file(rfile) # Parses the file.
+
+   from ipi.inputs.simulation import InputSimulation
+   simchk = InputSimulation()
+   simchk.parse(xmlchk.fields[0][1])
+   rcell = simchk.cell.fetch()
+   rbeads = simchk.beads.fetch()
+   rthermo = simchk.ensemble.thermostat.fetch()
+
+   return (rbeads, rcell, rthermo)
+
+def init_beads(iif, nbeads):
+   """A file to initialize a beads object from an appropriate initializer
+   object.
+
+   Args:
+      iif: An Initializer object which has information on the bead positions.
+      nbeads: The number of beads.
+
+   Raises:
+      ValueError: If called using an Initializer object with a 'manual' mode.
+   """
+
+   mode = iif.mode; value = iif.value
+   if mode == "xyz" or mode == "pdb":
+      if mode == "xyz": ratoms = init_xyz(value)
+      if mode == "pdb": ratoms = init_pdb(value)[0]
+      rbeads = Beads(ratoms[0].natoms,len(ratoms))
+      for i in range(len(ratoms)): rbeads[i] = ratoms[i]
+   elif mode == "chk":
+      rbeads = init_chk(value)[0]
+   elif mode == "manual":
+      raise ValueError("Cannot initialize manually a whole beads object.")
+
+   return rbeads
+
+def init_vector(iif, nbeads, momenta=False):
+   """A file to initialize a vector from an appropriate initializer
+   object.
+
+   Args:
+      iif: An Initializer object specifying the value of a vector.
+      nbeads: The number of beads.
+      momenta: If bead momenta rather than positions are being initialized
+         from a checkpoint file, this is set to True.
+   """
+
+   mode = iif.mode; value = iif.value
+   if mode == "xyz" or mode == "pdb":
+      rq = init_beads(iif, nbeads).q
+   elif mode == "chk":
+      if momenta: rq = init_beads(iif, nbeads).p
+      else:       rq = init_beads(iif, nbeads).q
+   elif mode == "manual":
+      rq = value
+
+   # determines the size of the input data
+   if mode == "manual":
+      if iif.bead >= 0: # if there is a bead specifier then we return a single bead slice
+         nbeads = 1
+      natoms = len(rq)/nbeads/3
+      rq.shape = (nbeads,3*natoms)
+
+   return rq
+
+def set_vector(iif, dq, rq):
+   """A file to initialize a vector from an another vector.
+
+   If the first dimension is different, i.e. the two vectors correspond
+   to a different number of beads, then the ring polymer contraction/expansion
+   is used to rescale the original vector to the one used in the simulation,
+   as described in the paper T. E. Markland and D. E. Manolopoulos, J. Chem.
+   Phys. 129, 024105, (2008).
+
+   Args:
+      iif: An Initializer object specifying the value of a vector.
+      dq: The vector to be initialized.
+      rq: The vector to initialize from.
+   """
+
+   (nbeads, natoms) = rq.shape; natoms /= 3
+   (dbeads, datoms) = dq.shape; datoms /= 3
+
+   # Check that indices make sense
+   if iif.index < 0 and natoms != datoms:
+      raise ValueError("Initialization tries to mix up structures with different atom numbers.")
+   if iif.index >= datoms:
+      raise ValueError("Cannot initialize single atom as atom index %d is larger than the number of atoms" % iif.index)
+   if iif.bead >= dbeads:
+      raise ValueError("Cannot initialize single bead as bead index %d is larger than the number of beads" % iif.bead)
+
+   if iif.bead < 0:   # we are initializing the path
+      res = nm_rescale(nbeads,dbeads)  # path rescaler
+      if nbeads != dbeads:
+         info(" # Initialize is rescaling from %5d beads to %5d beads" % (nbeads, dbeads), verbosity.low)
+      if iif.index < 0:
+         dq[:] = res.b1tob2(rq)
+      else: # we are initializing a specific atom
+         dq[:,3*iif.index:3*(iif.index+1)] = res.b1tob2(rq)
+   else:  # we are initializing a specific bead
+      if iif.index < 0:
+         dq[iif.bead] = rq
+      else:
+         dq[iif.bead,3*iif.index:3*(iif.index+1)] = rq
+
+class Initializer(dobject):
+   """Class that deals with the initialization of data.
+
+   This can either be used to initialize the atom positions and the cell data
+   from a file, or to initialize them from a beads, atoms or cell object.
+
+   Currently, we use a ring polymer contraction scheme to create a new beads
+   object from one given in initialize if they have different numbers of beads,
+   as described in the paper T. E. Markland and D. E. Manolopoulos, J. Chem.
+   Phys. 129, 024105, (2008). If the new beads object has more beads than
+   the beads object it was initialized from, we set the higher ring polymer
+   normal modes to zero.
+
+   Attributes:
+      queue: A list of things to initialize. Each member of the list is a tuple
+         of the form ('type', 'object'), where 'type' specifies what kind of
+         initialization is being done, and 'object' gives the data to
+         initialize it from.
+   """
+
+   def __init__(self, nbeads=0, queue=None):
+      """Initializes Initializer.
+
+      Arguments:
+         nbeads: The number of beads that we need in the simulation. Not
+            necessarily the same as the number of beads of the objects we are
+            initializing the data from.
+         queue: A list of things to initialize. Each member of the list is a
+            tuple of the form ('type', 'object'), where 'type' specifies what
+            kind of initialization is being done, and 'object' gives the data to
+            initialize it from.
+      """
+
+      self.nbeads = nbeads
+
+      if queue is None:
+         self.queue = []
+      else:
+         self.queue = queue
+
+   def init_stage1(self, simul):
+      """Initializes the simulation -- first stage.
+
+      Takes a simulation object, and uses all the data in the initialization
+      queue to fill up the beads and cell data needed to run the simulation.
+
+      Args:
+         simul: A simulation object to be initialized.
+
+      Raises:
+         ValueError: Raised if there is a problem with the initialization,
+            if something that should have been has not been, or if the objects
+            that have been specified are not compatible with each other.
+      """
+
+      if simul.beads.nbeads == 0:
+         fpos = fmom = fmass = flab = fcell = False   # we don't have an explicitly defined beads object yet
+      else:
+         fpos = fmom = fmass = flab = fcell = True
+
+      for (k,v) in self.queue:
+         info(" # Initializer (stage 1) parsing " + str(k) + " object.", verbosity.high)
+
+         if k == "cell":
+            if fcell :
+               warning("Overwriting previous cell parameters", verbosity.medium)
+            if v.mode == "pdb":
+               rh = init_pdb(v.value)[1].h
+            elif v.mode == "chk":
+               rh = init_chk(v.value)[1].h
+            else:
+               rh = v.value.reshape((3,3))
+            rh *= unit_to_internal("length",v.units,1.0)
+
+            simul.cell.h = rh
+            if simul.cell.V == 0.0:
+               ValueError("Cell provided has zero volume")
+
+            fcell = True
+         elif k == "masses":
+            if simul.beads.nbeads == 0:
+               raise ValueError("Cannot initialize the masses before the size of the system is known")
+            if fmass:
+               warning("Overwriting previous atomic masses", verbosity.medium)
+            if v.mode == "manual":
+               rm = v.value
+            else:
+               rm = init_beads(v, self.nbeads).m
+            rm *= unit_to_internal("mass",v.units,1.0)
+
+            if v.bead < 0:   # we are initializing the path
+               if (fmom and fmass):
+                  warning("Rescaling momenta to make up for changed mass", verbosity.medium)
+                  simul.beads.p /= simul.beads.sm3   # go to mass-scaled momenta, that are mass-invariant
+               if v.index < 0:
+                  simul.beads.m = rm
+               else: # we are initializing a specific atom
+                  simul.beads.m[v.index:v.index+1] = rm
+               if (fmom and fmass):  # finishes correcting the momenta
+                  simul.beads.p *= simul.beads.sm3  # back to normal momenta
+            else:
+               raise ValueError("Cannot change the mass of a single bead")
+            fmass = True
+
+         elif k == "labels":
+            if simul.beads.nbeads == 0:
+               raise ValueError("Cannot initialize the labels before the size of the system is known")
+            if flab:
+               warning("Overwriting previous atomic labels", verbosity.medium)
+            if v.mode == "manual":
+               rn = v.value
+            else:
+               rn = init_beads(v, self.nbeads).names
+
+            if v.bead < 0:   # we are initializing the path
+               if v.index < 0:
+                  simul.beads.names = rn
+               else: # we are initializing a specific atom
+                  simul.beads.names[v.index:v.index+1] = rn
+            else:
+               raise ValueError("Cannot change the label of a single bead")
+            flab = True
+
+         elif k == "positions":
+            if fpos:
+               warning("Overwriting previous atomic positions", verbosity.medium)
+            # read the atomic positions as a vector
+            rq = init_vector(v, self.nbeads)
+            rq *= unit_to_internal("length",v.units,1.0)
+            (nbeads, natoms) = rq.shape;   natoms /= 3
+
+            # check if we must initialize the simulation beads
+            if simul.beads.nbeads == 0:
+               if v.index >= 0:
+                  raise ValueError("Cannot initialize single atoms before the size of the system is known")
+               simul.beads.resize(natoms,self.nbeads)
+
+            set_vector(v, simul.beads.q, rq)
+            fpos = True
+
+         elif (k == "velocities" or k == "momenta") and v.mode == "thermal" :   # intercept here thermal initialization, so we don't need to check further down
+            if fmom:
+               warning("Overwriting previous atomic momenta", verbosity.medium)
+            if simul.beads.natoms == 0:
+               raise ValueError("Cannot initialize momenta before the size of the system is known.")
+            if not fmass:
+               raise ValueError("Trying to resample velocities before having masses.")
+
+            rtemp = v.value * unit_to_internal("temperature",v.units,1.0)
+            if rtemp <= 0:
+               warning("Using the simulation temperature to resample velocities", verbosity.low)
+               rtemp = simul.ensemble.temp
+            else:
+               info(" # Resampling velocities at temperature %s %s" % (v.value, v.units), verbosity.low)
+
+            # pull together a mock initialization to get NM masses right
+            #without too much code duplication
+            if v.bead >= 0:
+               raise ValueError("Cannot thermalize a single bead")
+            if v.index >= 0:
+               rnatoms = 1
+            else:
+               rnatoms = simul.beads.natoms
+            rbeads = Beads(rnatoms, simul.beads.nbeads)
+            if v.index < 0:
+               rbeads.m[:] = simul.beads.m
+            else:
+               rbeads.m[:] = simul.beads.m[v.index]
+            rnm = NormalModes(mode=simul.nm.mode, transform_method=simul.nm.transform_method, freqs=simul.nm.nm_freqs)
+            rens = Ensemble(dt=simul.ensemble.dt, temp=simul.ensemble.temp)
+            rnm.bind(rbeads,rens)
+            # then we exploit the sync magic to do a complicated initialization
+            # in the NM representation
+            # with (possibly) shifted-frequencies NM
+            rnm.pnm = simul.prng.gvec((rbeads.nbeads,3*rbeads.natoms))*np.sqrt(rnm.dynm3)*np.sqrt(rbeads.nbeads*rtemp*Constants.kb)
+
+            if v.index < 0:
+               simul.beads.p = rbeads.p
+            else:
+               simul.beads.p[:,3*v.index:3*(v.index+1)] = rbeads.p
+            fmom = True
+
+         elif k == "momenta":
+            if fmom:
+               warning("Overwriting previous atomic momenta", verbosity.medium)
+            # read the atomic momenta as a vector
+            rp = init_vector(v, self.nbeads, momenta = True)
+            rp *= unit_to_internal("momentum",v.units,1.0)
+            (nbeads, natoms) = rp.shape;   natoms /= 3
+
+            # checks if we must initialize the simulation beads
+            if simul.beads.nbeads == 0:
+               if v.index >= 0 :
+                  raise ValueError("Cannot initialize single atoms before the size of the system is known")
+               simul.beads.resize(natoms,self.nbeads)
+
+            rp *= np.sqrt(self.nbeads/nbeads)
+            set_vector(v, simul.beads.p, rp)
+            fmom = True
+
+         elif k == "velocities":
+            if fmom:
+               warning("Overwriting previous atomic momenta", verbosity.medium)
+            # read the atomic velocities as a vector
+            rv = init_vector(v, self.nbeads)
+            rv *= unit_to_internal("velocity",v.units,1.0)
+            (nbeads, natoms) = rv.shape;   natoms /= 3
+
+            # checks if we must initialize the simulation beads
+            if simul.beads.nbeads == 0 or not fmass:
+               ValueError("Cannot initialize velocities before the masses of the atoms are known")
+               simul.beads.resize(natoms,self.nbeads)
+
+            warning("Initializing from velocities uses the previously defined masses -- not the masses inferred from the file -- to build momenta", verbosity.low)
+            if v.index >= 0:
+               rv *= simul.beads.m[v.index]
+            elif v.bead >= 0:
+               rv *= simul.beads.m3[0]
+            else:
+               rv *= simul.beads.m3
+            rv *= np.sqrt(self.nbeads/nbeads)
+            set_vector(v, simul.beads.p, rv)
+            fmom = True
+         elif k == "thermostat": pass   # thermostats must be initialised in a second stage
+
+      if simul.beads.natoms == 0:
+         raise ValueError("Initializer could not initialize the atomic positions")
+      if simul.cell.V == 0:
+         raise ValueError("Initializer could not initialize the cell")
+      for i in range(simul.beads.natoms):
+         if simul.beads.m[i] <= 0:
+            raise ValueError("Initializer could not initialize the masses")
+         if simul.beads.names[i] == "":
+            raise ValueError("Initializer could not initialize the atom labels")
+      if not fmom:
+         warning("Momenta not specified in initialize. Will start with zero velocity if they are not specified in beads.", verbosity.low)
+
+   def init_stage2(self, simul):
+      """Initializes the simulation -- second stage.
+
+      Takes a simulation object which has been fully generated,
+      and restarts additional information such as the thermostat internal state.
+
+      Args:
+         simul: A simulation object to be initialized.
+
+      Raises:
+         ValueError: Raised if there is a problem with the initialization,
+            if something that should have been has not been, or if the objects
+            that have been specified are not compatible with each other.
+      """
+
+      for (k,v) in self.queue:
+         info(" # Initializer (stage 2) parsing " + str(k) + " object.", verbosity.high)
+
+         if k == "gle":
+            # read thermostat parameters from file
+            if not ( hasattr(simul.ensemble, "thermostat") ):
+               raise ValueError("Ensemble does not have a thermostat to initialize")
+            if not ( hasattr(simul.ensemble.thermostat, "s") ):
+               raise ValueError("There is nothing to initialize in non-GLE thermostats")
+            ssimul = simul.ensemble.thermostat.s
+            if v.mode == "manual":
+               sinput = v.value.copy()
+               if (sinput.size() != ssimul.size() ):
+                  raise ValueError("Size mismatch in thermostat initialization data")
+               sinput.shape = ssimul.shape
+            elif v.mode == "chk":
+               rthermo = init_chk(v.value)[2]
+               if not hasattr(rthermo,"s"):
+                  raise ValueError("Checkpoint file does not contain usable thermostat data")
+               sinput = rthermo.s.copy()
+               if sinput.shape != ssimul.shape :
+                  raise ValueError("Shape mismatch in thermostat initialization data")
+
+            # if all the preliminary checks are good, we can initialize the s's
+            ssimul[:] = sinput
diff --git a/tools/i-pi/ipi/engine/normalmodes.py b/tools/i-pi/ipi/engine/normalmodes.py
new file mode 100644
index 0000000000..38566736f7
--- /dev/null
+++ b/tools/i-pi/ipi/engine/normalmodes.py
@@ -0,0 +1,400 @@
+"""Contains the classes that deal with the normal mode representation.
+
+Copyright (C) 2013, Joshua More and Michele Ceriotti
+
+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 3 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/>.
+
+
+Deals with the normal mode transformation, including the complications
+introduced by PA-CMD when the bead masses are rescaled. Also deals with
+the change in the dynamics introduced by this mass-scaling, and has its
+own functions to calculate the kinetic energy, and the exact propagator
+in the normal mode representation under the ring polymer Hamiltonian.
+
+Classes:
+   NormalModes: Deals with the normal mode transformation in RPMD and PA-CMD.
+"""
+
+import numpy as np
+from ipi.utils.depend import *
+from ipi.utils import units
+from ipi.utils import nmtransform
+from ipi.utils.messages import verbosity, warning, info
+
+__all__ = [ "NormalModes" ]
+
+class NormalModes(dobject):
+   """ A helper class to manipulate the path NM.
+
+   Normal-modes transformation, determination of path frequencies,
+   dynamical mass matrix change, etc.
+
+   Attributes:
+      natoms: The number of atoms.
+      nbeads: The number of beads.
+      beads: The beads object for which the normal mode transformation should
+         be done.
+      ensemble: The ensemble object, specifying the temperature to hold the
+         system to.
+      transform: A nm_trans object that contains the functions that are
+         required for the normal mode transformation.
+
+   Depend objects:
+      mode: A string specifying how the bead masses are chosen.
+      transform_method: A string specifying how to do the normal mode
+         transformation.
+      nm_freqs: An array that specifies how the normal mode frequencies
+         of the ring polymers are to be calculated, and thus how the
+         bead masses should be chosen.
+      qnm: The bead positions in the normal mode representation. Depends on
+         beads.q.
+      pnm: The bead momenta in the normal mode representation. Depends on
+         beads.p.
+      omegan: The effective vibrational frequency for the interaction
+         between the replicas. Depends on the simulation temperature.
+      omegan2: omegan**2.
+      omegak: The normal mode frequencies for the free ring polymer.
+         Depends on omegan.
+      prop_pq: An array holding the exact normal mode propagator for the
+         free ring polymer, using mass scaled coordinates.
+         See J. Chem. Phys. 133, 124101 (2010). Depends on the bead masses
+         and the timestep.
+      nm_factor: An array of dynamical mass factors associated with each of
+         the normal modes. Depends on nm_freqs and mode.
+      dynm3: An array that gives the dynamical masses of individual atoms in the
+         normal modes representation. Depends on nm_factor and beads.m3.
+      dynomegak: The scaled vibrational frequencies. Depends on nm_factor and
+         omegak.
+      kins: A list of the kinetic energy for each normal mode, as
+         calculated in the normal mode representation, using the
+         dynamical mass factors. Depends on beads.sm3, beads.p and nm_factor.
+      kin: The total kinetic energy, as calculated in the normal mode
+         representation, using the dynamical mass factors.
+      kstress: The kinetic stress tensor, as calculated in the normal mode
+         representation, using the dynamical mass factors. Depends on
+         beads.sm3, beads.p and nm_factor.
+   """
+
+   def __init__(self, mode="rpmd", transform_method="fft", freqs=None):
+      """Initializes NormalModes.
+
+      Sets the options for the normal mode transform.
+
+      Args:
+         mode: A string specifying how to calculate the bead masses.
+         transform_method: A string specifying how to do the normal mode
+            transformation.
+         freqs: A list of data used to calculate the dynamical mass factors.
+      """
+
+      if freqs is None:
+         freqs = []
+      dset(self,"mode",   depend_value(name='mode', value=mode))
+      dset(self,"transform_method",
+         depend_value(name='transform_method', value=transform_method))
+      dset(self,"nm_freqs",
+         depend_array(name="nm_freqs",value=np.asarray(freqs, float) ) )
+
+   def bind(self, beads, ensemble):
+      """ Initializes the normal modes object and binds to beads and ensemble.
+
+      Do all the work down here as we need a full-formed necklace and ensemble
+      to know how this should be done.
+
+      Args:
+         beads: A beads object to be bound.
+         ensemble: An ensemble object to be bound.
+      """
+
+      self.nbeads = beads.nbeads
+      self.natoms = beads.natoms
+
+      # stores a reference to the bound beads and ensemble objects
+      self.beads = beads
+      self.ensemble = ensemble
+
+      # sets up what's necessary to perform nm transformation.
+      if self.transform_method == "fft":
+         self.transform = nmtransform.nm_fft(nbeads=self.nbeads, natoms=self.natoms)
+      elif self.transform_method == "matrix":
+         self.transform = nmtransform.nm_trans(nbeads=self.nbeads)
+
+      # creates arrays to store normal modes representation of the path.
+      # must do a lot of piping to create "ex post" a synchronization between the beads and the nm
+      sync_q = synchronizer()
+      sync_p = synchronizer()
+      dset(self,"qnm",
+         depend_array(name="qnm",
+            value=np.zeros((self.nbeads,3*self.natoms), float),
+               func={"q": (lambda : self.transform.b2nm(depstrip(self.beads.q)) ) },
+                  synchro=sync_q ) )
+      dset(self,"pnm",
+         depend_array(name="pnm",
+            value=np.zeros((self.nbeads,3*self.natoms), float),
+               func={"p": (lambda : self.transform.b2nm(depstrip(self.beads.p)) ) },
+                  synchro=sync_p ) )
+
+      # must overwrite the functions
+      dget(self.beads, "q")._func = { "qnm": (lambda : self.transform.nm2b(depstrip(self.qnm)) )  }
+      dget(self.beads, "p")._func = { "pnm": (lambda : self.transform.nm2b(depstrip(self.pnm)) )  }
+      dget(self.beads, "q").add_synchro(sync_q)
+      dget(self.beads, "p").add_synchro(sync_p)
+
+      # also within the "atomic" interface to beads
+      for b in range(self.nbeads):
+         dget(self.beads._blist[b],"q")._func = { "qnm": (lambda : self.transform.nm2b(depstrip(self.qnm)) )  }
+         dget(self.beads._blist[b],"p")._func = { "pnm": (lambda : self.transform.nm2b(depstrip(self.pnm)) )  }
+         dget(self.beads._blist[b],"q").add_synchro(sync_q)
+         dget(self.beads._blist[b],"p").add_synchro(sync_p)
+
+
+      # finally, we mark the beads as those containing the set positions
+      dget(self.beads, "q").update_man()
+      dget(self.beads, "p").update_man()
+
+      # create path-frequencies related properties
+      dset(self,"omegan",
+         depend_value(name='omegan', func=self.get_omegan,
+            dependencies=[dget(self.ensemble,"temp")]) )
+      dset(self,"omegan2", depend_value(name='omegan2',func=self.get_omegan2,
+            dependencies=[dget(self,"omegan")]) )
+      dset(self,"omegak", depend_array(name='omegak',
+         value=np.zeros(self.beads.nbeads,float),
+            func=self.get_omegak, dependencies=[dget(self,"omegan")]) )
+
+      # sets up "dynamical" masses -- mass-scalings to give the correct RPMD/CMD dynamics
+      dset(self,"nm_factor", depend_array(name="nmm",
+         value=np.zeros(self.nbeads, float), func=self.get_nmm,
+            dependencies=[dget(self,"nm_freqs"), dget(self,"mode") ]) )
+      dset(self,"dynm3", depend_array(name="dm3",
+         value=np.zeros((self.nbeads,3*self.natoms), float),func=self.get_dynm3,
+            dependencies=[dget(self,"nm_factor"), dget(self.beads, "m3")] ) )
+      dset(self,"dynomegak", depend_array(name="dynomegak",
+         value=np.zeros(self.nbeads, float), func=self.get_dynwk,
+            dependencies=[dget(self,"nm_factor"), dget(self,"omegak") ]) )
+
+      dset(self,"prop_pq",
+         depend_array(name='prop_pq',value=np.zeros((self.beads.nbeads,2,2)),
+            func=self.get_prop_pq,
+               dependencies=[dget(self,"omegak"), dget(self,"nm_factor"), dget(self.ensemble,"dt")]) )
+
+      # if the mass matrix is not the RPMD one, the MD kinetic energy can't be
+      # obtained in the bead representation because the masses are all mixed up
+      dset(self,"kins",
+         depend_array(name="kins",value=np.zeros(self.nbeads, float),
+            func=self.get_kins,
+               dependencies=[dget(self,"pnm"), dget(self.beads,"sm3"), dget(self, "nm_factor") ] ))
+      dset(self,"kin",
+         depend_value(name="kin", func=self.get_kin,
+            dependencies=[dget(self,"kins")] ))
+      dset(self,"kstress",
+         depend_array(name="kstress",value=np.zeros((3,3), float),
+            func=self.get_kstress,
+               dependencies=[dget(self,"pnm"), dget(self.beads,"sm3"), dget(self, "nm_factor") ] ))
+
+   def get_omegan(self):
+      """Returns the effective vibrational frequency for the interaction
+      between replicas.
+      """
+
+      return self.ensemble.temp*self.nbeads*units.Constants.kb/units.Constants.hbar
+
+   def get_omegan2(self):
+      """Returns omegan**2."""
+
+      return self.omegan**2
+
+   def get_omegak(self):
+      """Gets the normal mode frequencies.
+
+      Returns:
+         A list of the normal mode frequencies for the free ring polymer.
+         The first element is the centroid frequency (0.0).
+      """
+
+      return 2*self.omegan*np.array([np.sin(k*np.pi/self.nbeads) for k in range(self.nbeads)])
+
+   def get_dynwk(self):
+      """Gets the dynamical normal mode frequencies.
+
+      Returns:
+         A list of the scaled normal mode frequencies for the free ring polymer.
+         The first element is the centroid frequency (0.0).
+      """
+
+      return self.omegak/np.sqrt(self.nm_factor)
+
+   def get_prop_pq(self):
+      """Gets the normal mode propagator matrix.
+
+      Note the special treatment for the centroid normal mode, which is
+      propagated using the standard velocity Verlet algorithm as required.
+      Note that both the normal mode positions and momenta are propagated
+      using this matrix.
+
+      Returns:
+         An array of the form (nbeads, 2, 2). Each 2*2 array prop_pq[i,:,:]
+         gives the exact propagator for the i-th normal mode of the
+         ring polymer.
+      """
+
+      dt = self.ensemble.dt
+      pqk = np.zeros((self.nbeads,2,2), float)
+      pqk[0] = np.array([[1,0], [dt,1]])
+
+      for b in range(1, self.nbeads):
+         sk = np.sqrt(self.nm_factor[b]) # NOTE THAT THE PROPAGATOR USES MASS-SCALED MOMENTA!
+
+         dtomegak = self.omegak[b]*dt/sk
+         c = np.cos(dtomegak)
+         s = np.sin(dtomegak)
+         pqk[b,0,0] = c
+         pqk[b,1,1] = c
+         pqk[b,0,1] = -s*self.omegak[b]*sk
+         pqk[b,1,0] = s/(self.omegak[b]*sk)
+
+      return pqk
+
+   def get_nmm(self):
+      """Returns dynamical mass factors, i.e. the scaling of normal mode
+      masses that determine the path dynamics (but not statics)."""
+
+      # also checks that the frequencies and the mode given in init are
+      # consistent with the beads and ensemble
+
+      dmf = np.zeros(self.nbeads,float)
+      dmf[:] = 1.0
+      if self.mode == "rpmd":
+         if len(self.nm_freqs) > 0:
+            warning("nm.frequencies will be ignored for RPMD mode.", verbosity.low)
+      elif self.mode == "manual":
+         if len(self.nm_freqs) != self.nbeads-1:
+            raise ValueError("Manual path mode requires (nbeads-1) frequencies, one for each internal mode of the path.")
+         for b in range(1, self.nbeads):
+            sk = self.omegak[b]/self.nm_freqs[b-1]
+            dmf[b] = sk**2
+      elif self.mode == "pa-cmd":
+         if len(self.nm_freqs) > 1:
+            warning("Only the first element in nm.frequencies will be considered for PA-CMD mode.", verbosity.low)
+         if len(self.nm_freqs) == 0:
+            raise ValueError("PA-CMD mode requires the target frequency of all the internal modes.")
+         for b in range(1, self.nbeads):
+            sk = self.omegak[b]/self.nm_freqs[0]
+            info(" ".join(["NM FACTOR", str(b), str(sk), str(self.omegak[b]), str(self.nm_freqs[0])]), verbosity.medium)
+            dmf[b] = sk**2
+      elif self.mode == "wmax-cmd":
+         if len(self.nm_freqs) > 2:
+            warning("Only the first two element in nm.frequencies will be considered for WMAX-CMD mode.", verbosity.low)
+         if len(self.nm_freqs) < 2:
+            raise ValueError("WMAX-CMD mode requires [wmax, wtarget]. The normal modes will be scaled such that the first internal mode is at frequency wtarget and all the normal modes coincide at frequency wmax.")
+         wmax = self.nm_freqs[0]
+         wt = self.nm_freqs[1]
+         for b in range(1, self.nbeads):
+            sk = 1.0/np.sqrt((wt)**2*(1+(wmax/self.omegak[1])**2)/(wmax**2+(self.omegak[b])**2))
+            dmf[b] = sk**2
+
+      return dmf
+
+   def get_dynm3(self):
+      """Returns an array with the dynamical masses of individual atoms in the normal modes representation."""
+
+      dm3 = np.zeros(self.beads.m3.shape,float)
+      for b in range(self.nbeads):
+         dm3[b] = self.beads.m3[b]*self.nm_factor[b]
+
+      return dm3
+
+   def free_qstep(self):
+      """Exact normal mode propagator for the free ring polymer.
+
+      Note that the propagator works in mass scaled coordinates, so that the
+      propagator matrix can be determined independently from the particular
+      atom masses, and so the same propagator will work for all the atoms in
+      the system. All the ring polymers are propagated at the same time by a
+      matrix multiplication.
+
+      Also note that the centroid coordinate is propagated in qcstep, so is
+      not altered here.
+      """
+
+      if self.nbeads == 1:
+         pass
+      else:
+         pq = np.zeros((2,self.natoms*3),float)
+         sm = depstrip(self.beads.sm3)[0]
+         prop_pq = depstrip(self.prop_pq)
+         for k in range(1,self.nbeads):
+            pq[0,:] = depstrip(self.pnm)[k]/sm
+            pq[1,:] = depstrip(self.qnm)[k]*sm
+            pq = np.dot(prop_pq[k],pq)
+            self.qnm[k] = pq[1,:]/sm
+            self.pnm[k] = pq[0,:]*sm
+
+   def get_kins(self):
+      """Gets the MD kinetic energy for all the normal modes.
+
+      Returns:
+         A list of the kinetic energy for each NM.
+      """
+
+      kmd = np.zeros(self.nbeads,float)
+      sm = depstrip(self.beads.sm3[0])
+      pnm = depstrip(self.pnm)
+      nmf = depstrip(self.nm_factor)
+
+      # computes the MD ke in the normal modes representation, to properly account for CMD mass scaling
+      for b in range(self.nbeads):
+         sp = pnm[b]/sm                      # mass-scaled momentum of b-th NM
+         kmd[b] = np.dot(sp,sp)*0.5/nmf[b]   # include the partially adiabatic CMD mass scaling
+
+      return kmd
+
+   def get_kin(self):
+      """Gets the total MD kinetic energy.
+
+      Note that this does not correspond to the quantum kinetic energy estimate
+      for the system.
+
+      Returns:
+         The sum of the kinetic energy of each NM in the path.
+      """
+
+      return self.kins.sum()
+
+   def get_kstress(self):
+      """Calculates the total MD kinetic stress tensor.
+
+      Note that this does not correspond to the quantum kinetic stress tensor
+      estimate for the system.
+
+      Returns:
+         The sum of the MD kinetic stress tensor contributions from each NM.
+      """
+
+      kmd = np.zeros((3,3),float)
+      sm = depstrip(self.beads.sm3[0])
+      pnm = depstrip(self.pnm)
+      nmf = depstrip(self.nm_factor)
+
+      for b in range(self.nbeads):
+         sp = pnm[b]/sm  # mass-scaled momentum of b-th NM
+
+         for i in range(3):
+            for j in range(3):
+               # computes the outer product of the p of various normal modes
+               # singling out Cartesian components to build the tensor
+               # also takes care of the possibility of having non-RPMD masses
+               kmd[i,j] += np.dot(sp[i:3*self.natoms:3],sp[j:3*self.natoms:3])/nmf[b]
+
+      return kmd
diff --git a/tools/i-pi/ipi/engine/outputs.py b/tools/i-pi/ipi/engine/outputs.py
new file mode 100644
index 0000000000..fb5ebda96e
--- /dev/null
+++ b/tools/i-pi/ipi/engine/outputs.py
@@ -0,0 +1,378 @@
+"""Classes to deal with output of simulation data.
+
+Copyright (C) 2013, Joshua More and Michele Ceriotti
+
+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 3 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/>.
+
+
+Holds classes to deal with the output of different properties, trajectories
+and the restart files.
+
+Classes:
+   PropertyOutput: Deals with outputting properties.
+   TrajectoryOutput: Deals with outputting trajectories.
+   CheckpointOutput: Deals with outputting restart files.
+"""
+
+import os
+import numpy as np
+import ipi.inputs.simulation
+from ipi.utils.depend import *
+from ipi.utils.io.io_xml import *
+from ipi.engine.properties import getkey
+
+__all__ = [ 'PropertyOutput', 'TrajectoryOutput', 'CheckpointOutput' ]
+
+class PropertyOutput(dobject):
+   """Class dealing with outputting a set of properties to file.
+
+   Does not do any calculation, just manages opening a file, getting data
+   from a Properties object and outputting with the desired stride.
+
+   Attributes:
+      filename: The name of the file to output to.
+      outlist: A list of the properties to be output.
+      stride: The number of steps that should be taken between outputting the
+         data to file.
+      flush: How often we should flush to disk.
+      nout: Number of steps since data was last flushed.
+      out: The output stream on which to output the properties.
+      simul: The simulation object to get the data to be output from.
+   """
+
+
+   def __init__(self, filename="out", stride=1, flush=1, outlist=None):
+      """Initializes a property output stream opening the corresponding
+      file name.
+
+      Also writes out headers.
+
+      Args:
+         filename: A string giving the name of the file to be output to.
+         stride: An integer giving how many steps should be taken between
+            outputting the data to file.
+         flush: Number of writes to file between flushing data.
+         outlist: A list of all the properties that should be output.
+      """
+
+      if outlist is None:
+         outlist = np.zeros(0,np.dtype('|S1024'))
+      self.filename = filename
+      self.outlist = np.asarray(outlist,np.dtype('|S1024'))
+      self.stride = stride
+      self.flush = flush
+      self.nout = 0
+      self.out = None
+
+   def bind(self, simul):
+      """Binds output proxy to simulation object.
+
+      Args:
+         simul: A simulation object to be bound.
+      """
+
+      self.simul = simul
+
+      # Checks as soon as possible if some asked-for properties are
+      # missing or mispelled
+      for what in self.outlist:
+         key = getkey(what)
+         if not key in self.simul.properties.property_dict.keys():
+            print "Computable properties list: ", self.simul.properties.property_dict.keys()
+            raise KeyError(key + " is not a recognized property")
+
+      self.open_stream()
+
+   def open_stream(self):
+      """Opens the output stream."""
+
+      try:
+         self.out = open(self.filename, "a")
+      except:
+         raise ValueError("Could not open file " + self.filename + " for output")
+
+      # print nice header if information is available on the properties
+      if (self.simul.step == 0) :
+         icol = 1
+         for what in self.outlist:
+            ohead = "# "
+            key = getkey(what)
+            prop = self.simul.properties.property_dict[key]
+
+            if "size" in prop and prop["size"] > 1:
+               ohead += "cols.  %3d-%-3d" % ( icol, icol+prop["size"] - 1 )
+               icol += prop["size"]
+            else:
+               ohead += "column %3d    " % ( icol )
+               icol += 1
+            ohead += " --> %s " % (what)
+            if "help" in prop:
+               ohead += ": " + prop["help"]
+            self.out.write(ohead + "\n")
+
+   def close_stream():
+      """Closes the output stream."""
+
+      self.out.close()
+
+   def write(self):
+      """Outputs the required properties of the system.
+
+      Note that properties are outputted using the same format as for the
+      output to the xml checkpoint files, as specified in io_xml.
+
+      Raises:
+         KeyError: Raised if one of the properties specified in the output list
+            are not contained in the property_dict member of properties.
+      """
+
+      if not (self.simul.step + 1) % self.stride == 0:
+         return
+      self.out.write("  ")
+      for what in self.outlist:
+         try:
+            quantity = self.simul.properties[what]
+         except KeyError:
+            raise KeyError(what + " is not a recognized property")
+         if not hasattr(quantity,"__len__") :
+            self.out.write(write_type(float, quantity) + "   ")
+         else:
+            for el in quantity:
+               self.out.write(write_type(float, el) + " ")
+
+      self.out.write("\n")
+
+      self.nout += 1
+      if self.flush > 0 and self.nout >= self.flush :
+         self.out.flush()
+         os.fsync(self.out)  # we REALLY want to print out! pretty please OS let us do it.
+         self.nout = 0
+
+
+class TrajectoryOutput(dobject):
+   """Class dealing with outputting atom-based properties as a
+   trajectory file.
+
+   Does not do any calculation, just manages opening a file, getting data
+   from a Trajectories object and outputting with the desired stride.
+
+   Attributes:
+      filename: The (base) name of the file to output to.
+      format: The format of the trajectory file to be created.
+      what: The trajectory that needs to be output.
+      stride: The number of steps that should be taken between outputting the
+         data to file.
+      out: The output stream on which to output the trajectories.
+      flush: How often we should flush to disk.
+      nout: Number of steps since data was last flushed.
+      ibead: Index of the replica to print the trajectory of.
+      cell_units: The units that the cell parameters are given in.
+      simul: The simulation object to get the data to be output from.
+   """
+
+   def __init__(self, filename="out", stride=1, flush=1, what="", format="xyz", cell_units="atomic_unit", ibead=-1):
+      """ Initializes a property output stream opening the corresponding
+      file name.
+
+      Also writes out headers.
+
+      Args:
+         filename: A string giving the name of the file to be output to.
+         stride: An integer giving how many steps should be taken between
+            outputting the data to file.
+         flush: How often we should flush to disk
+         what: A string specifying what trajectory should be output.
+         format: A string specifying the type of trajectory file to be created.
+         cell_units: A string specifying the units that the cell parameters are
+            given in.
+         ibead: If positive, prints out only the selected bead. If negative, prints out one file per bead.
+      """
+
+      self.filename = filename
+      self.what = what
+      self.stride = stride
+      self.flush = flush
+      self.ibead = ibead
+      self.format = format
+      self.cell_units = cell_units
+      self.out = None
+      self.nout = 0
+
+   def bind(self, simul):
+      """Binds output proxy to simulation object.
+
+      Args:
+         simul: A simulation object to be bound.
+      """
+
+      self.simul = simul
+
+      # Checks as soon as possible if some asked-for trajs are missing or mispelled
+      key = getkey(self.what)
+      if not key in self.simul.trajs.traj_dict.keys():
+         print "Computable trajectories list: ", self.simul.trajs.traj_dict.keys()
+         raise KeyError(key + " is not a recognized output trajectory")
+
+      self.open_stream()
+
+   def open_stream(self):
+      """Opens the output stream(s)."""
+
+      if getkey(self.what) in [ "positions", "velocities", "forces", "extras" ]:
+         # must write out trajectories for each bead, so must create b streams
+         self.out = []
+         for b in range(self.simul.beads.nbeads):
+            # zero-padded bead number
+            padb = ( ("%0" + str(int(1 + np.floor(np.log(self.simul.beads.nbeads)/np.log(10)))) + "d") % (b) )
+            try:
+               if (self.ibead < 0 or self.ibead == b):
+                  if getkey(self.what) == "extras":
+                     self.out.append(open(self.filename + "_" + padb, "a"))
+                  else:
+                     self.out.append(open(self.filename + "_" + padb + "." + self.format, "a"))
+               else:
+                  self.out.append(None) # creates null outputs if a
+                                        # single bead output is chosen
+            except:
+               raise ValueError("Could not open file " + self.filename + "_" + padb + "." + self.format + " for output")
+      else:
+         try:
+            self.out = ( open(self.filename + "." + self.format, "a") )
+         except:
+            raise ValueError("Could not open file " + self.filename + "." + self.format + " for output")
+
+   def close_stream():
+      """Closes the output stream."""
+
+      if hasattr(self.out, "__getitem__"):
+         for o in self.out:
+            o.close()
+      else:
+         self.out.close()
+
+   def write(self):
+      """Writes out the required trajectories."""
+
+      if not (self.simul.step + 1) % self.stride == 0:
+         return
+
+      doflush = False
+      self.nout += 1
+      if self.flush > 0 and self.nout >= self.flush :
+         doflush = True
+         self.nout = 0
+
+      # quick-and-dirty way to check if a trajectory is "global" or per-bead
+      # Checks to see if there is a list of files or just a single file.
+      if hasattr(self.out, "__getitem__"):
+         if self.ibead < 0:
+            for b in range(len(self.out)):
+               self.simul.trajs.print_traj(self.what, self.out[b], b, format=self.format, cell_units=self.cell_units, flush=doflush)
+         elif self.ibead < len(self.out):
+            self.simul.trajs.print_traj(self.what, self.out[self.ibead], self.ibead, format=self.format, cell_units=self.cell_units, flush=doflush)
+         else:
+            raise ValueError("Selected bead index " + str(self.ibead) + " does not exist for trajectory " + self.what)
+      else:
+         self.simul.trajs.print_traj(self.what, self.out, b=0, format=self.format, cell_units=self.cell_units, flush=doflush)
+
+
+class CheckpointOutput(dobject):
+   """Class dealing with outputting checkpoints.
+
+   Saves the complete status of the simulation at regular intervals.
+
+   Attributes:
+      filename: The (base) name of the file to output to.
+      step: the number of times a checkpoint has been written out.
+      stride: The number of steps that should be taken between outputting the
+         data to file.
+      overwrite: If True, the checkpoint file is overwritten at each output.
+         If False, will output to 'filename_step'. Note that no check is done
+         on whether 'filename_step' exists already.
+      simul: The simulation object to get the data to be output from.
+      status: An input simulation object used to write out the checkpoint file.
+   """
+
+
+   def __init__(self, filename="restart", stride=1000, overwrite=True, step=0):
+      """Initializes a checkpoint output proxy.
+
+      Args:
+         filename: A string giving the name of the file to be output to.
+         stride: An integer giving how many steps should be taken between
+            outputting the data to file.
+         overwrite: If True, the checkpoint file is overwritten at each output.
+            If False, will output to 'filename_step'. Note that no check is done
+            on whether 'filename_step' exists already.
+         step: The number of checkpoint files that have been created so far.
+      """
+
+      self.filename = filename
+      self.step = step
+      self.stride = stride
+      self.overwrite = overwrite
+
+   def bind(self, simul):
+      """Binds output proxy to simulation object.
+
+      Args:
+         simul: A simulation object to be bound.
+      """
+
+      self.simul = simul
+      self.status = ipi.inputs.simulation.InputSimulation()
+      self.status.store(simul)
+
+   def store(self):
+      """Stores the current simulation status.
+
+      Used so that, if halfway through a step a kill signal is received,
+      we can output a checkpoint file corresponding to the beginning of the
+      current step, which is the last time that both the velocities and
+      positions would have been consistent.
+      """
+
+      self.status.store(self.simul)
+
+   def write(self, store=True):
+      """Writes out the required trajectories.
+
+      Used for both the checkpoint files and the soft-exit restart file.
+      We have slightly different behaviour for these two different types of
+      checkpoint file, as the soft-exit files have their store() function
+      called automatically, and we do not want this to be updated as the
+      status of the simulation after a soft-exit call is unlikely to be in
+      a consistent state. On the other hand, the standard checkpoint files
+      are not automatically updated in this way, and we must manually store the
+      current state of the system before writing them.
+
+      Args:
+         store: A boolean saying whether the state of the system should be
+            stored before writing the checkpoint file.
+      """
+
+      if not (self.simul.step + 1) % self.stride == 0:
+         return
+
+      if self.overwrite:
+         filename = self.filename
+      else:
+         filename = self.filename + "_" + str(self.step)
+
+      if store:
+         self.step += 1    # advances the step counter before saving, so next time the correct index will be loaded.
+         self.store()
+      check_file = open(filename, "w")
+      check_file.write(self.status.write(name="simulation"))
+      check_file.close()
diff --git a/tools/i-pi/ipi/engine/properties.py b/tools/i-pi/ipi/engine/properties.py
new file mode 100644
index 0000000000..1ea07bda87
--- /dev/null
+++ b/tools/i-pi/ipi/engine/properties.py
@@ -0,0 +1,1273 @@
+"""Holds the class which computes important properties of the system, and
+prepares them for output.
+
+Copyright (C) 2013, Joshua More and Michele Ceriotti
+
+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 3 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/>.
+
+
+Classes:
+   Properties: This is the class that holds all the algorithms to calculate
+      the important properties that should be output.
+   Trajectories: This class deals with outputting all position data in the
+      appropriate format.
+
+Functions:
+   getkey: This function strips the units and argument list specification
+      from a string specifying an output parameter.
+   getall: This function gives the keyword, units and argument list
+      specification from a string specifying an output parameter.
+   help_latex: This returns a string that can be used in the manual to
+      specify the different available outputs.
+"""
+
+__all__ = ['Properties', 'Trajectories', 'getkey', 'getall', 'help_latex']
+
+import os
+import numpy as np
+from ipi.utils.messages import verbosity, info, warning
+from ipi.utils.depend import *
+from ipi.utils.units import Constants, unit_to_internal, unit_to_user
+from ipi.utils.mathtools import logsumlog, h2abc_deg
+from ipi.utils.io import *
+from ipi.engine.atoms import *
+from ipi.engine.cell import *
+from ipi.engine.ensembles import *
+from ipi.engine.forces import *
+
+def getkey(pstring):
+   """Strips units and argument lists from a property/trajectory keyword.
+
+   Args:
+      pstring: The string input by the user that specifies an output,
+         which in general will specify units and argument lists.
+
+   Returns: A string giving the keyword for the property, stripped of the
+      argument lists and units key words.
+   """
+
+   pa = pstring.find('(')
+   if pa < 0:
+      pa = len(pstring)
+   pu = pstring.find('{')
+   if pu < 0:
+      pu = len(pstring)
+   return pstring[0:min(pa,pu)].strip()
+
+def getall(pstring):
+   """Returns the keyword, units and argument list separately.
+
+   Args:
+      pstring: The string input by the user that specifies an output,
+         which in general will specify units and argument lists.
+
+   Returns: A tuple giving the keyword for the property, and its units
+      argument list and key word argument list.
+   """
+
+   unit = ""
+   arglist = ()
+   kwarglist = {}
+   unstart = len(pstring)
+   argstart = unstart
+
+   if '}' in pstring:
+      # the property has a user-defined unit
+      unstart = pstring.find('{')
+      unstop = pstring.find('}', unstart)
+      if unstop == -1:
+         raise ValueError("Incorrect format in units specification " + pstring)
+      unit = pstring[unstart+1:unstop]
+   if '(' in pstring:
+      # If the property has additional arguments
+      argstart = pstring.find('(')
+      argstop = pstring.find(')', argstart)
+      if argstop == -1:
+         raise ValueError("Incorrect format in argument list " + pstring)
+
+      argstr = pstring[argstart:argstop+1]
+      arglist = io_xml.read_tuple(argstr, delims="()", split=";", arg_type=str)
+      for arg in arglist:
+         # If a keyword argument is used
+         equals = arg.find('=')
+         if equals >= 0:
+            kwarglist[arg[0:equals].strip()] = arg[equals+1:].strip()
+            arglist = tuple(a for a in arglist if not a == arg)
+
+   pstring = pstring[0:min(unstart,argstart)].strip() # strips the arguments from pstring name
+
+   return (pstring, unit, arglist, kwarglist)
+
+def help_latex(idict, standalone=True):
+   """Function to generate a LaTeX formatted file.
+
+   Args:
+      idict: Either property_dict or traj_dict, to be used to
+         generate the help file.
+      standalone: A boolean giving whether the latex file produced will be a
+         stand-alone document, or will be intended as a section of a larger
+         document with cross-references between the different sections.
+
+   Returns:
+      A LaTeX formatted string.
+   """
+
+   rstr = ""
+   if standalone:
+      #assumes that it is a stand-alone document, so must have document
+      #options.
+      rstr += r"\documentclass[12pt,fleqn]{report}"
+      rstr += r"""
+\usepackage{etoolbox}
+\usepackage{suffix}
+
+\newcommand{\ipiitem}[3]{%
+\ifblank{#1}{}{\ifstrequal{#1}{\underline{}}{}{
+{\noindent\textbf{#1}:\rule{0.0pt}{1.05\baselineskip}\quad}}}% uses a strut to add a bit of vertical space
+{#2}\parskip=0pt\par
+\ifblank{#3}{}%
+{ {\hfill\raggedleft\textit{\small #3}\par} }
+}
+"""
+      rstr += "\n\\begin{document}\n"
+      rstr += "The following are the different allowable ouputs:\n\\par"
+
+   for out in sorted(idict):
+      rstr += "\\ipiitem{" + out + "}"
+      if "longhelp" in idict[out]:
+         rstr += "{" + idict[out]['longhelp'] +"}"
+      else:
+         rstr += "{" + idict[out]['help'] +"}"
+
+      #see if there are additional attributes to print out
+      xstr = ""
+      if "dimension" in idict[out] and  idict[out]['dimension'] != "undefined": #doesn't print out dimension if not necessary.
+         xstr += "dimension: " + idict[out]['dimension'] + '; '
+      if "size" in idict[out]:
+         xstr += "size: " + str(idict[out]['size']) +"; "
+      rstr += "{" + xstr + "}"
+
+   if standalone:
+      #ends the created document if it is not part of a larger document
+      rstr += "\\end{document}"
+
+   # Some escape characters are necessary for the proper latex formatting
+   rstr = rstr.replace('_', '\\_')
+   rstr = rstr.replace('\\\\_', '\\_')
+   rstr = rstr.replace('...', '\\ldots ')
+   rstr = rstr.replace('<', '$<$')
+   rstr = rstr.replace('>', '$>$')
+   rstr = rstr.replace('[', '$[$')
+   rstr = rstr.replace(']', '$]$')
+
+   return rstr
+
+
+class Properties(dobject):
+   """A proxy to compute and output properties of the system.
+
+   Takes the fundamental properties calculated during the simulation, and
+   prepares them for output. It also contains simple algorithms to calculate
+   other properties not calculated during the simulation itself, so that
+   these can also be output.
+
+   Attributes:
+      fd_delta: A float giving the size of the finite difference
+         parameter used in the Yamamoto kinetic energy estimator. Defaults
+         to _DEFAULT_FINDIFF.
+      _DEFAULT_FDERROR: A float giving the size of the minimum precision
+         allowed for the finite difference calculation in the Yamamoto kinetic
+         energy estimator.
+      _DEFAULT_MINFID: A float giving the maximum displacement in the Yamamoto
+         kinetic energy estimator.
+      dbeads: A dummy Beads object used in the Yamamoto kinetic energy
+         estimator.
+      dforces: A dummy Forces object used in the Yamamoto kinetic energy
+         estimator.
+      simul: The Simulation object containing the data to be output.
+      ensemble: An ensemble object giving the objects necessary for producing
+         the correct ensemble.
+      beads: A beads object giving the atoms positions.
+      nm: A normal modes object giving the normal mode representation.
+      cell: A cell object giving the system box.
+      forces: A forcefield object giving the force calculator for each
+         replica of the system.
+      property_dict: A dictionary containing all the properties that can be
+         output.
+   """
+
+   _DEFAULT_FINDIFF = 1e-5
+   _DEFAULT_FDERROR = 1e-9
+   _DEFAULT_MINFID = 1e-12
+
+   def __init__(self):
+      """Initialises Properties."""
+
+      self.property_dict = {
+      "step": {       "dimension" : "number",
+                      "help" : "The current simulation time step.",
+                      'func': (lambda: (1 + self.simul.step))},
+      "time": {       "dimension": "time",
+                      "help": "The elapsed simulation time.",
+                      'func': (lambda: (1 + self.simul.step)*self.ensemble.dt)},
+      "temperature": {"dimension": "temperature",
+                      "help": "The current temperature, as obtained from the MD kinetic energy.",
+                      "longhelp" : """The current temperature, as obtained from the MD kinetic energy of the (extended)
+                                      ring polymer. Takes a single, optional argument 'atom', which can be either an
+                                      atom label or an index (zero-based) to specify which species or individual atom
+                                      to output the temperature of. If not specified, all atoms are used and averaged.""",
+                      'func': self.get_temp },
+      "density": {    "dimension": "density",
+                      "help": "The mass density of the physical system.",
+                      'func': (lambda: self.beads.m.sum()/self.cell.V)},
+      "volume": {     "dimension": "volume",
+                      "help": "The volume of the cell box.",
+                      'func': (lambda: self.cell.V) },
+      "cell_h": {    "dimension" : "length",
+                      "help": "The simulation cell as a matrix. Returns the 6 non-zero components in the form [xx, yy, zz, xy, xz, yz].",
+                      "size": 6,
+                      "func": (lambda: self.tensor2vec(self.cell.h))},
+      "cell_abcABC": {"dimension" : "undefined",
+                      "help": "The lengths of the cell vectors and the angles between them in degrees as a list of the form [a, b, c, A, B, C]",
+                      "longhelp": """The lengths of the cell vectors and the angles between them in degrees as a list of the
+                      form [a, b, c, A, B, C], where A is the angle between the sides of length b and c in degrees, and B and C
+                      are defined similarly. Since the output mixes different units, a, b and c can only be output in bohr.""",
+                      "size": 6,
+                      'func': (lambda: np.asarray(h2abc_deg(self.cell.h)))},
+      "conserved": {  "dimension": "energy",
+                      "help": "The value of the conserved energy quantity per bead.",
+                      'func': (lambda: self.ensemble.econs/float(self.beads.nbeads))},
+      "potential": {  "dimension" : "energy",
+                      "help": "The physical system potential energy.",
+                      'func': (lambda: self.forces.pot/self.beads.nbeads)},
+      "spring": {     "dimension" : "energy",
+                      "help": "The total spring potential energy between the beads of all the ring polymers in the system.",
+                      'func': (lambda: self.beads.vpath*self.nm.omegan2/self.beads.nbeads)},
+      "kinetic_md":  {"dimension" : "energy",
+                      "help": "The kinetic energy of the (extended) classical system.",
+                       "longhelp" : """The kinetic energy of the (extended) classical system. Takes an argument 'atom',
+                       which can be either an atom label or index (zero based) to specify which species to find the
+                       kinetic energy of. If not specified, all atoms are used.""",
+                      'func': self.get_kinmd},
+      "kinetic_cv":  {"dimension" : "energy",
+                      "help": "The centroid-virial quantum kinetic energy of the physical system.",
+                      "longhelp": """The centroid-virial quantum kinetic energy of the physical system.
+                      Takes an argument 'atom', which can be either an atom label or index (zero based)
+                      to specify which species to find the kinetic energy of. If not specified, all atoms are used.""",
+                      'func': self.get_kincv},
+      "kinetic_tens":{"dimension" : "energy",
+                      "help" : "The centroid-virial quantum kinetic energy tensor of the physical system.",
+                      "longhelp" : """The centroid-virial quantum kinetic energy tensor of the physical system.
+                      Returns the 6 independent components in the form [xx, yy, zz, xy, xz, yz]. Takes an
+                      argument 'atom', which can be either an atom label or index (zero based) to specify
+                      which species to find the kinetic tensor components of. If not specified, all atoms are used.""",
+                      "size" : 6,
+                      "func" : self.get_ktens},
+      "kinetic_ij":  {"dimension" : "energy",
+                      "help" : "The centroid-virial off-diagonal quantum kinetic energy tensor of the physical system.",
+                      "longhelp" : """The centroid-virial off-diagonal quantum kinetic energy tensor of the physical system.
+                      This computes the cross terms between atoms i and atom j, whose average is  <p_i*p_j/(2*sqrt(m_i*m_j))>.
+                      Returns the 6 independent components in the form [xx, yy, zz, xy, xz, yz]. Takes arguments 'i' and 'j',
+                       which give the indices of the two desired atoms.""",
+                      "size" : 6,
+                      "func" : self.get_kij},
+      "r_gyration": { "dimension" : "length",
+                      "help" : "The average radius of gyration of the selected ring polymers.",
+                      "longhelp" : """The average radius of gyration of the selected ring polymers. Takes an
+                      argument 'atom', which can be either an atom label or index (zero based) to specify which
+                      species to find the radius of gyration of. If not specified, all atoms are used and averaged.""",
+                      "func": self.get_rg},
+      "atom_x": {     "dimension" : "length",
+                      "help": "The position (x,y,z) of a particle given its index.",
+                      "longhelp" : """The position (x,y,z) of a particle given its index. Takes arguments index
+                       and bead (both zero based). If bead is not specified, refers to the centroid.""",
+                      "size" : 3,
+                      "func" : (lambda atom="", bead="-1": self.get_atom_vec(self.beads.q, atom=atom, bead=bead))},
+      "atom_v": {     "dimension" : "velocity",
+                      "help": "The velocity (x,y,z) of a particle given its index.",
+                       "longhelp": """The velocity (x,y,z) of a particle given its index. Takes arguments index
+                       and bead (both zero based). If bead is not specified, refers to the centroid.""",
+                      "size" : 3,
+                      "func" : (lambda atom="", bead="-1": self.get_atom_vec(self.beads.p/self.beads.m3, atom=atom, bead=bead))},
+      "atom_p": {     "dimension" : "momentum",
+                      "help": "The momentum (x,y,z) of a particle given its index.",
+                      "longhelp": """The momentum (x,y,z) of a particle given its index. Takes arguments index
+                      and bead (both zero based). If bead is not specified, refers to the centroid.""",
+                      "size" : 3,
+                      "func" : (lambda atom="", bead="-1": self.get_atom_vec(self.beads.p, atom=atom, bead=bead))},
+      "atom_f": {     "dimension" : "force",
+                      "help": "The force (x,y,z) acting on a particle given its index.",
+                      "longhelp": """The force (x,y,z) acting on a particle given its index. Takes arguments index
+                      and bead (both zero based). If bead is not specified, refers to the centroid.""",
+                      "size" : 3,
+                      "func" : (lambda atom="", bead="-1": self.get_atom_vec(self.forces.f, atom=atom, bead=bead))},
+      "stress_md": {  "dimension": "pressure",
+                      "size" : 6,
+                      "help": "The total stress tensor of the (extended) classical system.",
+                      "longhelp": """The total stress tensor of the (extended) classical system. Returns the 6
+                      independent components in the form [xx, yy, zz, xy, xz, yz].""",
+                      "func": (lambda: self.tensor2vec((self.forces.vir + self.nm.kstress)/self.cell.V))},
+      "pressure_md": {"dimension": "pressure",
+                      "help": "The pressure of the (extended) classical system.",
+                      "func": (lambda: np.trace((self.forces.vir + self.nm.kstress)/(3.0*self.cell.V)))},
+      "kstress_md":  {"dimension": "pressure",
+                      "size" : 6,
+                      "help": "The kinetic stress tensor of the (extended) classical system.",
+                      "longhelp": """The kinetic stress tensor of the (extended) classical system. Returns the 6
+                      independent components in the form [xx, yy, zz, xy, xz, yz].""",
+                      "func": (lambda: self.tensor2vec(self.nm.kstress/self.cell.V))},
+      "virial_md": {  "dimension": "pressure",
+                      "size" : 6,
+                      "help": "The virial tensor of the (extended) classical system.",
+                      "longhelp": """The virial tensor of the (extended) classical system. Returns the 6
+                      independent components in the form [xx, yy, zz, xy, xz, yz].""",
+                      "func": (lambda: self.tensor2vec(self.forces.vir/self.cell.V))},
+      "stress_cv": {  "dimension": "pressure",
+                      "size" : 6,
+                      "help": "The total quantum estimator for the stress tensor of the physical system.",
+                      "longhelp": """The total quantum estimator for the stress tensor of the physical system. Returns the
+                      6 independent components in the form [xx, yy, zz, xy, xz, yz].""",
+                      "func": (lambda: self.tensor2vec(self.forces.vir + self.kstress_cv())/(self.cell.V*self.beads.nbeads))},
+      "pressure_cv": {"dimension": "pressure",
+                      "help": "The quantum estimator for pressure of the physical system.",
+                      "func": (lambda: np.trace(self.forces.vir + self.kstress_cv())/(3.0*self.cell.V*self.beads.nbeads))},
+      "kstress_cv":  {"dimension": "pressure",
+                      "size" : 6,
+                      "help": "The quantum estimator for the kinetic stress tensor of the physical system.",
+                      "longhelp": """The quantum estimator for the kinetic stress tensor of the physical system.
+                      Returns the 6 independent components in the form [xx, yy, zz, xy, xz, yz].""",
+                      "func": (lambda: self.tensor2vec(self.kstress_cv()/(self.cell.V*self.beads.nbeads)))},
+      "virial_cv": {  "dimension": "pressure",
+                      "size" : 6,
+                      "help": "The quantum estimator for the virial stress tensor of the physical system.",
+                      "longhelp": """The quantum estimator for the virial stress tensor of the physical system.
+                      Returns the 6 independent components in the form [xx, yy, zz, xy, xz, yz].""",
+                      "func": (lambda: self.tensor2vec(self.forces.vir/(self.cell.V*self.beads.nbeads)))},
+      "displacedpath": {  "dimension": "undefined",
+                      "help": "The displaced path end-to-end distribution estimator",
+                      "longhelp": """This is the estimator for the end-to-end distribution, that can be used to calculate the
+                      particle momentum distribution as described in in L. Lin, J. A. Morrone, R. Car and M. Parrinello,
+                      105, 110602 (2010), Phys. Rev. Lett. Takes arguments 'ux', 'uy' and 'uz', which are the components of
+                      the path opening vector. Also takes an argument 'atom', which can be either an atom label or index
+                      (zero based) to specify which species to find the end-to-end distribution estimator for. If not
+                      specified, all atoms are used. Note that one atom is computed at a time, and that each path opening
+                      operation costs as much as a PIMD step. Returns the average over the selected atoms of the estimator of
+                      exp(-U(u)) for each frame.""",
+                      "func": self.get_linlin},
+      "scaledcoords": {   "dimension": "undefined",
+                      "help" : "The scaled coordinates estimators that can be used to compute energy and heat capacity",
+                       "longhelp": """Returns the estimators that are required to evaluate the scaled-coordinates estimators
+                       for total energy and heat capacity, as described in T. M. Yamamoto,
+                       J. Chem. Phys., 104101, 123 (2005). Returns eps_v and eps_v', as defined in that paper.
+                       As the two estimators have a different dimensions, this can only be output in atomic units.
+                       Takes one argument, 'fd_delta', which gives the value of the finite difference parameter used -
+                       which defaults to """+ str(-self._DEFAULT_FINDIFF) + """. If the value of 'fd_delta' is negative,
+                       then its magnitude will be reduced automatically by the code if the finite difference error
+                       becomes too large.""",
+                      'func': self.get_yama_estimators,
+                      "size": 2},
+      "isotope_scfep":  {"dimension": "undefined",
+                      "size": 7,
+                      'func': self.get_isotope_yama,
+                      "help": "The scaled-coordinates free energy perturbation scaled mass KE estimator.",
+                      "longhelp" : """Returns the (many) terms needed to compute the scaled-coordinates free energy
+                      perturbation scaled mass KE estimator (M. Ceriotti, T. Markland, J. Chem. Phys. 138, 014112 (2013)).
+                      Takes two arguments, 'alpha' and 'atom', which give the
+                      scaled mass parameter and the atom of interest respectively, and default to '1.0' and ''. The
+                      'atom' argument can either be the label of a particular kind of atom, or an index (zero based)
+                      of a specific atom. This property computes, for each atom in the selection, an estimator for
+                      the kinetic energy it would have had if it had the mass scaled by alpha. The 7 numbers output
+                      are the average over the selected atoms of the log of the weights <h>, the average of the
+                      squares <h**2>, the average of the un-weighted scaled-coordinates kinetic energies  <T_CV>
+                      and of the squares <T_CV**2>, the log sum of the weights LW=ln(sum(e**(-h))), the sum of the
+                      re-weighted kinetic energies, stored as a log modulus and sign, LTW=ln(abs(sum(T_CV e**(-h))))
+                      STW=sign(sum(T_CV e**(-h))). In practice, the best estimate of the estimator can be computed
+                      as [sum_i exp(LTW_i)*STW_i]/[sum_i exp(LW_i)]. The other terms can be used to compute diagnostics
+                      for the statistical accuracy of the re-weighting process. Note that evaluating this estimator costs
+                      as much as a PIMD step for each atom in the list. The elements that are output have different
+                      units, so the output can be only in atomic units.""" },
+      "isotope_tdfep":  {"dimension" : "undefined",
+                          "size" : 7,
+                          'func': self.get_isotope_thermo,
+                          "help": "The thermodynamic free energy perturbation scaled mass KE estimator.",
+                          "longhelp" : """Returns the (many) terms needed to compute the thermodynamic free energy
+                      perturbation scaled mass KE estimator (M. Ceriotti, T. Markland, J. Chem. Phys. 138, 014112 (2013)).
+                      Takes two arguments, 'alpha' and 'atom', which give the
+                      scaled mass parameter and the atom of interest respectively, and default to '1.0' and ''. The
+                      'atom' argument can either be the label of a particular kind of atom, or an index (zero based)
+                      of a specific atom. This property computes, for each atom in the selection, an estimator for
+                      the kinetic energy it would have had if it had the mass scaled by alpha. The 7 numbers output
+                      are the average over the selected atoms of the log of the weights <h>, the average of the
+                      squares <h**2>, the average of the un-weighted scaled-coordinates kinetic energies  <T_CV>
+                      and of the squares <T_CV**2>, the log sum of the weights LW=ln(sum(e**(-h))), the sum of the
+                      re-weighted kinetic energies, stored as a log modulus and sign, LTW=ln(abs(sum(T_CV e**(-h))))
+                      STW=sign(sum(T_CV e**(-h))). In practice, the best estimate of the estimator can be computed
+                      as [sum_i exp(LTW_i)*STW_i]/[sum_i exp(LW_i)]. The other terms can be used to compute diagnostics
+                      for the statistical accuracy of the re-weighting process. Evaluating this estimator is inexpensive,
+                      but typically the statistical accuracy is worse than with the scaled coordinates estimator.
+                      The elements that are output have different
+                      units, so the output can be only in atomic units.""" }
+      }
+
+   def bind(self, simul):
+      """Binds the necessary objects from the simulation to calculate the
+      required properties.
+
+      Args:
+         simul: The Simulation object to be bound.
+      """
+
+      self.ensemble = simul.ensemble
+      self.beads = simul.beads
+      self.nm = simul.nm
+      self.cell = simul.cell
+      self.forces = simul.forces
+      self.simul = simul
+      # dummy beads and forcefield objects so that we can use scaled and
+      # displaced path estimators without changing the simulation bead
+      # coordinates
+      self.dbeads = simul.beads.copy()
+      self.dforces = Forces()
+      self.dforces.bind(self.dbeads, self.simul.cell,  self.simul.flist)
+
+   def __getitem__(self, key):
+      """Retrieves the item given by key.
+
+      Note that if the key contains a string (arg1; arg2; ... )
+      then it will pass the appropriate positional arguments to the
+      calculation function of the property. Note the brackets and
+      the semi-colon separators. If instead we have the syntax
+      (arg1=val1;arg2; ... ), then the keyword/value pair (arg1,val1)
+      will be added to the keyword argument list. The appropriate key word
+      arguments will then be passed to the calculation function instead.
+
+      Similarly, if the key contains a string {unit}, then it will take
+      the string 'unit' and use it to define the units that the property
+      is output in.
+
+      Args:
+         key: A string contained in property_dict.
+
+      Returns:
+         The property labelled by the keyword key, along with its unit
+         keyword, and the argument lists for the function used to calculate
+         the property specified by the keyword key.
+      """
+
+      (key, unit, arglist, kwarglist) = getall(key)
+      pkey = self.property_dict[key]
+
+      #pkey["func"](*arglist,**kwarglist) gives the value of the property
+      #in atomic units. unit_to_user() returns the value in the user
+      #specified units.
+      if "dimension" in pkey and unit != "":
+         return unit_to_user(pkey["dimension"], unit, pkey["func"](*arglist,**kwarglist))
+      else:
+         return pkey["func"](*arglist,**kwarglist)
+
+   def tensor2vec(self, tensor):
+      """Takes a 3*3 symmetric tensor and returns it as a 1D array,
+      containing the elements [xx, yy, zz, xy, xz, yz].
+      """
+
+      return np.array([tensor[0,0], tensor[1,1], tensor[2,2], tensor[0,1], tensor[0,2], tensor[1,2]])
+
+   def get_atom_vec(self, prop_vec, atom="", bead="-1"):
+      """Gives a vector for one atom.
+
+      Args:
+         prop_vec: An array from which to take the atomic vector from.
+         atom: The index of the atom for which the vector will
+            be output.
+         bead: The index of the replica of the atom for which the
+            vector will be output. If less than 0, then the centroid is used.
+      """
+
+      if atom == "":
+         raise IndexError("Must specify the index for atom_vec property")
+      atom = int(atom)
+      bead = int(bead)
+      if atom >= self.beads.natoms:
+         raise IndexError("Cannot output atom_vec property as atom index %d is larger than the number of atoms" % atom)
+      if bead >= self.beads.nbeads:
+         raise IndexError("Cannot output atom_vec property as bead index %d is larger than the number of beads" % bead)
+
+      if bead < 0:
+         atom_vec = np.zeros(3)
+         for b in range(self.beads.nbeads):
+            atom_vec += prop_vec[b,3*atom:3*(atom+1)]
+         return atom_vec/float(self.beads.nbeads)
+      else:
+         return prop_vec[bead,3*atom:3*(atom+1)]
+
+   def get_temp(self, atom=""):
+      """Calculates the MD kinetic temperature.
+
+      Note that in the case that the centre of mass constraint there will be
+      3 fewer degrees of freedom than without, so this has to be taken into
+      account when calculating the kinetic temperature.
+
+      Args:
+         atom: If given, specifies the atom to give the temperature
+            for. If not, then the simulation temperature.
+      """
+
+      if self.ensemble.fixcom:
+         mdof = 3
+      else:
+         mdof = 0
+
+      if atom == "":
+         # use the KE computed in the NM representation in order to avoid problems when mass scaling is used
+         kedof = self.get_kinmd()/(3*self.beads.natoms*self.beads.nbeads - mdof)
+      else:
+         try:
+            #iatom gives the index of the atom to be studied
+            iatom = int(atom)
+            latom = ""
+            if iatom >= self.beads.natoms:
+               raise IndexError("Cannot output temperature as atom index %d is larger than the number of atoms" % iatom)
+         except ValueError:
+            #here 'atom' is a label rather than an index which is stored in latom
+            iatom = -1
+            latom = atom
+
+         ncount = 0
+         for i in range(self.beads.natoms):
+            if (iatom == i or latom == self.beads.names[i]):
+               ncount += 1
+
+         if ncount == 0:
+            raise IndexError("Couldn't find an atom which matched the argument of temperature")
+         # "spreads" the COM removal correction evenly over all the atoms...
+         kedof = self.get_kinmd(atom)/ncount*(self.beads.natoms/(3.0*self.beads.natoms*self.beads.nbeads - mdof))
+
+      return kedof/(0.5*Constants.kb)
+
+   def get_kincv(self, atom=""):
+      """Calculates the quantum centroid virial kinetic energy estimator.
+
+      Args:
+         atom: If given, specifies the atom to give the kinetic energy
+            for. If not, the system kinetic energy is given.
+      """
+
+      try:
+         #iatom gives the index of the atom to be studied
+         iatom = int(atom)
+         latom = ""
+         if iatom >= self.beads.natoms:
+            raise IndexError("Cannot output kinetic energy as atom index %d is larger than the number of atoms" % iatom)
+      except ValueError:
+         #here 'atom' is a label rather than an index which is stored in latom
+         iatom = -1
+         latom = atom
+
+      q = depstrip(self.beads.q)
+      qc = depstrip(self.beads.qc)
+      f = depstrip(self.forces.f)
+
+      acv = 0.0
+      ncount = 0
+      for i in range(self.beads.natoms):
+         if (atom != "" and iatom != i and latom != self.beads.names[i]):
+            continue
+
+         kcv = 0.0
+         k = 3*i
+         for b in range(self.beads.nbeads):
+            kcv += (q[b,k] - qc[k])* f[b,k] + (q[b,k+1] - qc[k+1])* f[b,k+1] + (q[b,k+2] - qc[k+2])* f[b,k+2]
+         kcv *= -0.5/self.beads.nbeads
+         kcv += 1.5*Constants.kb*self.ensemble.temp
+         acv += kcv
+         ncount += 1
+
+      if ncount == 0:
+         warning("Couldn't find an atom which matched the argument of kinetic energy, setting to zero.", verbosity.medium)
+
+      return acv
+
+   def get_kinmd(self, atom=""):
+      """Calculates the classical kinetic energy of the simulation (p^2/2m)
+
+      Args:
+         atom: If given, specifies the atom to give the kinetic energy
+            for. If not, the simulation kinetic energy is given.
+      """
+
+      if atom == "":
+         return self.nm.kin/self.beads.nbeads
+      else:
+         try:
+            #iatom gives the index of the atom to be studied
+            iatom = int(atom)
+            latom = ""
+            if iatom >= self.beads.natoms:
+               raise IndexError("Cannot output kinetic energy as atom index %d is larger than the number of atoms" % iatom)
+         except ValueError:
+            #here 'atom' is a label rather than an index which is stored in latom
+            iatom = -1
+            latom = atom
+
+         pnm = depstrip(self.nm.pnm)
+         dm3 = depstrip(self.nm.dynm3)
+         kmd = 0.0
+         ncount = 0
+         for i in range(self.beads.natoms):
+            if (atom != "" and iatom != i and latom != self.beads.names[i]):
+               continue
+            k = 3*i
+            for b in range(self.beads.nbeads):
+               kmd += (pnm[b,k]**2 + pnm[b,k+1]**2 + pnm[b,k+2]**2)/(2.0*dm3[b,k])
+            ncount += 1
+
+         if ncount == 0:
+            warning("Couldn't find an atom which matched the argument of kinetic energy, setting to zero.", verbosity.medium)
+
+         return kmd/self.beads.nbeads
+
+   def get_ktens(self, atom=""):
+      """Calculates the quantum centroid virial kinetic energy
+      TENSOR estimator.
+
+      Args:
+         atom: The index of the atom for which the kinetic energy tensor
+            is to be output, or the index of the type of atoms for which
+            it should be output.
+      """
+
+      try:
+         #iatom gives the index of the atom to be studied
+         iatom = int(atom)
+         latom = ""
+         if iatom >= self.beads.natoms:
+            raise IndexError("Cannot output kinetic tensor as atom index %d is larger than the number of atoms" % iatom)
+      except ValueError:
+         #here 'atom' is a label rather than an index which is stored in latom
+         iatom = -1
+         latom = atom
+
+      tkcv = np.zeros((6),float)
+      ncount = 0
+      for i in range(self.beads.natoms):
+         if (atom != "" and iatom != i and latom != self.beads.names[i]):
+            continue
+
+         tkcv += self.get_kij(str(i), str(i))
+         ncount += 1
+
+      if ncount == 0:
+         warning("Couldn't find an atom which matched the argument of kinetic tensor, setting to zero.", verbosity.medium)
+
+      return tkcv
+
+   def get_kij(self, ni="0", nj="0"):
+      """Calculates the quantum centroid virial kinetic energy
+      TENSOR estimator for two possibly different atom indices.
+
+      Args:
+         ni: The index of atom i.
+         nj: The index of atom j.
+
+      Returns:
+         The contribution to the kinetic energy tensor estimator from
+         the interactions between atom i and atom j.
+      """
+
+      i = int(ni)
+      j = int(nj)
+      if i >= self.beads.natoms:
+         raise IndexError("Cannot output kinetic_ij as atom index %d is larger than the number of atoms" % i)
+      if j >= self.beads.natoms:
+         raise IndexError("Cannot output kinetic_ij as atom index %d is larger than the number of atoms" % j)
+      mi = self.beads.m[i]
+      mj = self.beads.m[j]
+      ai = 3*i
+      aj = 3*j
+
+      q = depstrip(self.beads.q)
+      qc = depstrip(self.beads.qc)
+      f = depstrip(self.forces.f)
+
+      # I implement this for the most general case. In practice T_ij = <p_i p_j>/(2sqrt(m_i m_j))
+      kcv = np.zeros((6),float)
+      for b in range(self.beads.nbeads):
+         kcv[0] += mi*(q[b,ai] - qc[ai])    *f[b,aj]   + mj*(q[b,aj] - qc[aj])    *f[b,ai]       #Txx
+         kcv[1] += mi*(q[b,ai+1] - qc[ai+1])*f[b,aj+1] + mj*(q[b,aj+1] - qc[aj+1])*f[b,ai+1]     #Tyy
+         kcv[2] += mi*(q[b,ai+2] - qc[ai+2])*f[b,aj+2] + mj*(q[b,aj+2] - qc[aj+2])*f[b,ai+2]     #Tzz
+         kcv[3] += mi*(q[b,ai] - qc[ai])*    f[b,aj+1] + mj*(q[b,aj+1] - qc[aj+1])*f[b,ai]       #Txy
+         kcv[4] += mi*(q[b,ai] - qc[ai])*    f[b,aj+2] + mj*(q[b,aj+2] - qc[aj+2])*f[b,ai]       #Txz
+         kcv[5] += mi*(q[b,ai+1] - qc[ai+1])*f[b,aj+2] + mj*(q[b,aj+2] - qc[aj+2])*f[b,ai+1]     #Tyz
+
+      kcv *= -0.5/(self.beads.nbeads*2*np.sqrt(mi*mj))
+      if i == j:
+         kcv[0:3] += 0.5*Constants.kb*self.ensemble.temp
+
+      return kcv
+
+   def get_rg(self, atom=""):
+      """Calculates the radius of gyration of the ring polymers.
+
+      Args:
+         atom: If given, specifies the atom to give the gyration radius
+            for. If not, the system average gyration radius is given.
+      """
+
+      try:
+         #iatom gives the index of the atom to be studied
+         iatom = int(atom)
+         latom = ""
+         if iatom >= self.beads.natoms:
+            raise IndexError("Cannot output gyration radius as atom index %d is larger than the number of atoms" % iatom)
+      except ValueError:
+         #here 'atom' is a label rather than an index which is stored in latom
+         iatom = -1
+         latom = atom
+
+      q = depstrip(self.beads.q)
+      qc = depstrip(self.beads.qc)
+      nat = self.beads.natoms
+      nb = self.beads.nbeads
+      rg_tot = 0.0
+      ncount = 0
+      for i in range(nat):
+         if (atom != "" and iatom != i and latom != self.beads.names[i]):
+            continue
+
+         rg_at = 0.0
+         for j in range(nb):
+            dq = q[j,3*i:3*(i+1)] - qc[3*i:3*(i+1)]
+            rg_at += np.dot(dq, dq)
+         ncount += 1
+         rg_tot += np.sqrt(rg_at/float(nb))
+
+      if ncount == 0:
+         raise IndexError("Couldn't find an atom which matched the argument of r_gyration")
+
+      return rg_tot/float(ncount)
+
+   def kstress_cv(self):
+      """Calculates the quantum centroid virial kinetic stress tensor
+      estimator.
+
+      Note that this is not divided by the volume or the number of beads.
+
+      Returns:
+         A 3*3 tensor with all the components of the tensor.
+      """
+
+      kst = np.zeros((3,3),float)
+      q = depstrip(self.beads.q)
+      qc = depstrip(self.beads.qc)
+      pc = depstrip(self.beads.pc)
+      m = depstrip(self.beads.m)
+      fall = depstrip(self.forces.f)
+      na3 = 3*self.beads.natoms
+
+      for b in range(self.beads.nbeads):
+         for i in range(3):
+            for j in range(i,3):
+               kst[i,j] -= np.dot(q[b,i:na3:3] - qc[i:na3:3],
+                  fall[b,j:na3:3])
+
+      # return the CV estimator MULTIPLIED BY NBEADS -- again for consistency with the virial, kstress_MD, etc...
+      for i in range(3):
+         kst[i,i] += self.beads.nbeads * ( np.dot(pc[i:na3:3],pc[i:na3:3]/m) )
+
+      return kst
+
+   def opening(self, bead):
+      """Path opening function, used in linlin momentum distribution
+      estimator.
+
+      Args:
+         bead: The index of the bead to shift.
+      """
+
+      return bead/float(self.beads.nbeads) + 0.5*(1.0/self.beads.nbeads - 1)
+
+   def get_linlin(self, ux="0", uy="0", uz="0", atom=""):
+      """Calculates the end-to-end distribution for a particular path opening
+      vector.
+
+      Args:
+         ux: The x-component of the path opening vector.
+         uy: The y-component of the path opening vector.
+         uz: The z-component of the path opening vector.
+         atom: If given, specifies the atom to give the kinetic energy
+            for. If not, the simulation kinetic energy is given.
+      """
+
+      try:
+         #iatom gives the index of the atom to be studied
+         iatom = int(atom)
+         latom = ""
+         if iatom >= self.beads.natoms:
+            raise IndexError("Cannot output linlin estimator as atom index %d is larger than the number of atoms" % iatom)
+      except ValueError:
+         #here 'atom' is a label rather than an index which is stored in latom
+         iatom = -1
+         latom = atom
+
+      beta = 1.0/(self.ensemble.temp*Constants.kb)
+
+      u = np.array([float(ux), float(uy), float(uz)])
+      u_size = np.dot(u,u)
+      q = depstrip(self.beads.q)
+      nat = self.beads.natoms
+      nb = self.beads.nbeads
+      nx_tot = 0.0
+      ncount = 0
+      for i in range(nat):
+         if (atom != "" and iatom != i and latom != self.beads.names[i]):
+            continue
+
+         mass = self.beads.m[i]
+         self.dbeads.q[:] = q
+         for b in range(nb):
+            self.dbeads.q[b,3*i:3*(i+1)] += self.opening(b)*u
+         dV = self.dforces.pot - self.forces.pot
+
+         n0 = np.exp(-mass*u_size/(2.0*beta*Constants.hbar**2))
+         nx_tot += n0*np.exp(-dV*beta/float(self.beads.nbeads))
+         ncount += 1
+
+      if ncount == 0:
+         raise IndexError("Couldn't find an atom which matched the argument of linlin")
+
+      return nx_tot/float(ncount)
+
+   def get_yama_estimators(self, fd_delta= - _DEFAULT_FINDIFF):
+      """Calculates the quantum scaled coordinate kinetic energy estimator.
+
+      Uses a finite difference method to calculate the estimators
+      needed to calculate the energy and heat capacity of the system, as
+      shown in Takeshi M. Yamamoto, Journal of Chemical Physics,
+      104101, 123 (2005). Returns both eps_v and eps_v' as defined in
+      the above article. Note that heat capacity is calculated as
+      beta**2*kboltzmann*(<eps_v**2> - <eps_v>**2 - <eps_v'>), and the
+      energy of the system as <eps_v>.
+
+      Args:
+         fd_delta: the relative finite difference in temperature to apply in
+         computing finite-difference quantities. If it is negative, will be
+         scaled down automatically to avoid discontinuities in the potential.
+      """
+
+      dbeta = abs(float(fd_delta))
+      beta = 1.0/(Constants.kb*self.ensemble.temp)
+
+      qc = depstrip(self.beads.centroid.q)
+      q = depstrip(self.beads.q)
+      v0 = self.forces.pot/self.beads.nbeads
+      while True:
+         splus = np.sqrt(1.0 + dbeta)
+         sminus = np.sqrt(1.0 - dbeta)
+
+         for b in range(self.beads.nbeads):
+            self.dbeads[b].q = qc*(1.0 - splus) + splus*q[b,:]
+         vplus = self.dforces.pot/self.beads.nbeads
+
+         for b in range(self.beads.nbeads):
+            self.dbeads[b].q = qc*(1.0 - sminus) + sminus*q[b,:]
+         vminus = self.dforces.pot/self.beads.nbeads
+
+         if (fd_delta < 0 and abs((vplus + vminus)/(v0*2) - 1.0) > self._DEFAULT_FDERROR and dbeta > self._DEFAULT_MINFID):
+            dbeta *= 0.5
+            info("Reducing displacement in Yamamoto kinetic estimator", verbosity.low)
+            continue
+         else:
+            eps = ((1.0 + dbeta)*vplus - (1.0 - dbeta)*vminus)/(2*dbeta)
+            eps += 0.5*(3*self.beads.natoms)/beta
+
+            eps_prime = ((1.0 + dbeta)*vplus + (1.0 - dbeta)*vminus - 2*v0)/(dbeta**2*beta)
+            eps_prime -= 0.5*(3*self.beads.natoms)/beta**2
+
+            break
+
+      return np.asarray([eps, eps_prime])
+
+   def get_isotope_yama(self, alpha="1.0", atom=""):
+      """Gives the components of the yamamoto scaled-mass KE estimator
+      for a given atom index.
+
+      Args:
+         alpha: m'/m the mass ratio
+         atom: the index of the atom to compute the isotope fractionation
+            pair for, or a label
+
+      Returns:
+         a tuple from which one can reconstruct all that is needed to
+         compute the SMKEE, and its statistical accuracy:
+         (sum_deltah, sum_ke, log(sum(weights)), log(sum(weight*ke)),
+            sign(sum(weight*ke)) )
+      """
+
+      try:
+         #iatom gives the index of the atom to be studied
+         iatom = int(atom)
+         latom = ""
+         if iatom >= self.beads.natoms:
+            raise IndexError("Cannot output scaled-mass kinetic energy estimator as atom index %d is larger than the number of atoms" % iatom)
+      except ValueError:
+         #here 'atom' is a label rather than an index which is stored in latom
+         iatom = -1
+         latom = atom
+
+      alpha = float(alpha)
+
+      atcv = 0.0
+      atcv2 = 0.0
+      alogr = 0.0
+      alogr2 = 0.0
+      law = 0.0
+      lawke = 0.0
+      sawke = 1.0
+      ni = 0
+
+      # strips dependency control since we are not gonna change the true beads in what follows
+      q = depstrip(self.beads.q)
+      f = depstrip(self.forces.f)
+      qc = depstrip(self.beads.qc)
+
+      for i in range(self.beads.natoms):
+         # selects only the atoms we care about
+         if (atom != "" and iatom != i and latom != self.beads.names[i]):
+            continue
+
+         ni += 1
+
+         # arranges coordinate-scaled beads in a auxiliary beads object
+         self.dbeads.q[:] = q[:]
+         for b in range(self.beads.nbeads):
+            self.dbeads.q[b,3*i:3*(i+1)] = ( qc[3*i:3*(i+1)]+
+                        np.sqrt(1.0/alpha)*(q[b,3*i:3*(i+1)]-qc[3*i:3*(i+1)])  )
+
+         tcv = 0.0
+         for b in range(self.beads.nbeads):
+            tcv += np.dot( (self.dbeads.q[b,3*i:3*(i+1)]-self.dbeads.qc[3*i:3*(i+1)]),
+                          self.dforces.f[b,3*i:3*(i+1)] )
+         tcv *= -0.5/self.beads.nbeads
+         tcv += 1.5*Constants.kb*self.simul.ensemble.temp
+
+         logr = (self.dforces.pot-self.forces.pot)/(Constants.kb*self.simul.ensemble.temp*self.beads.nbeads)
+
+         atcv += tcv
+         atcv2 += tcv*tcv
+
+         alogr += logr
+         alogr2 += logr*logr;
+
+         #accumulates log averages in a way which preserves accuracy
+         if (ni == 1):
+            law = -logr
+         else:
+            (law, drop) = logsumlog( (law,1.0), (-logr,1.0))
+
+         #here we need to take care of the sign of tcv, which might as well be
+         #negative... almost never but...
+         if (ni == 1):
+            lawke = -logr + np.log(abs(tcv))
+            sawke = np.sign(tcv);
+         else:
+            (lawke, sawke) = logsumlog( (lawke, sawke), (-logr+np.log(abs(tcv)), np.sign(tcv)) )
+
+      if ni == 0:
+         raise IndexError("Couldn't find an atom which matched the argument of isotope_y")
+
+      return np.asarray([alogr/ni, alogr2/ni, atcv/ni, atcv2/ni, law, lawke, sawke])
+
+   def get_isotope_thermo(self, alpha="1.0", atom=""):
+      """Gives the components of the thermodynamic scaled-mass KE
+      estimator for a given atom index.
+
+      Args:
+         alpha: m'/m the mass ratio
+         atom: the index of the atom to compute the isotope fractionation
+            pair for, or a label
+
+      Returns:
+         a tuple from which one can reconstruct all that is needed to
+         compute the SMKEE:
+         (sum_deltah, sum_ke, log(sum(weights)), log(sum(weight*ke)),
+            sign(sum(weight*ke)) )
+      """
+
+      try:
+         #iatom gives the index of the atom to be studied
+         iatom = int(atom)
+         latom = ""
+         if iatom >= self.beads.natoms:
+            raise IndexError("Cannot output scaled-mass kinetic energy estimator as atom index %d is larger than the number of atoms" % iatom)
+      except ValueError:
+         #here 'atom' is a label rather than an index which is stored in latom
+         iatom = -1
+         latom = atom
+
+      alpha = float(alpha)
+
+      atcv = 0.0
+      alogr = 0.0
+      atcv2 = 0.0
+      alogr2 = 0.0
+      law = 0.0
+      lawke = 0.0
+      sawke = 1.0
+      ni = 0
+
+      # strips dependency control since we are not gonna change the true beads in what follows
+      q = depstrip(self.beads.q)
+      f = depstrip(self.forces.f)
+      qc = depstrip(self.beads.qc)
+
+      for i in range(self.beads.natoms):
+         # selects only the atoms we care about
+         if (atom != "" and iatom != i and latom != self.beads.names[i]):
+            continue
+
+         ni += 1
+
+         spr = 0.0
+         for b in range(1,self.beads.nbeads):
+            for j in range(3*i,3*(i+1)):
+               spr += (q[b,j]-q[b-1,j])**2
+         for j in range(3*i,3*(i+1)):
+            spr += (q[self.beads.nbeads-1,j]-q[0,j])**2
+
+         spr *= 0.5*self.beads.m[i]*self.nm.omegan2
+
+         # centroid virial contribution from atom i
+         tcv = 0.0
+         for b in range(self.beads.nbeads):
+            tcv += np.dot( (q[b,3*i:3*(i+1)]-qc[3*i:3*(i+1)]), f[b,3*i:3*(i+1)])
+         tcv *= -0.5/self.beads.nbeads
+         tcv += 1.5*Constants.kb*self.simul.ensemble.temp
+
+         logr = (alpha-1)*spr/(Constants.kb*self.simul.ensemble.temp*self.beads.nbeads)
+
+         atcv += tcv
+         atcv2 += tcv*tcv
+         alogr += logr
+         alogr2 += logr*logr
+
+         #accumulates log averages in a way which preserves accuracy
+         if (ni == 1):
+            law = -logr
+         else:
+            (law, drop) = logsumlog( (law,1.0), (-logr,1.0))
+
+         #here we need to take care of the sign of tcv, which might as well be
+         #negative... almost never but...
+         if (ni == 1):
+            lawke = -logr + np.log(abs(tcv))
+            sawke = np.sign(tcv)
+         else:
+            (lawke, sawke) = logsumlog( (lawke, sawke), (-logr+np.log(abs(tcv)), np.sign(tcv)) )
+
+      if ni == 0:
+         raise IndexError("Couldn't find an atom which matched the argument of isotope_y")
+
+      return np.asarray([alogr/ni, alogr2/ni, atcv/ni, atcv2/ni, law, lawke, sawke])
+
+
+class Trajectories(dobject):
+   """A simple class to take care of output of trajectory data.
+
+   Attributes:
+      simul: The simulation object from which the position data will be
+         obtained.
+      fatom: A dummy beads object used so that individual replica trajectories
+         can be output.
+      traj_dict: A dictionary containing all the trajectories that can be
+         output.
+   """
+
+   def __init__(self):
+      """Initialises a Trajectories object."""
+
+      self.traj_dict = {
+      # Note that here we want to return COPIES of the different arrays, so we make sure to make an operation in order not to return a reference.
+      "positions": { "dimension" : "length",
+                     "help": "The atomic coordinate trajectories. Will print out one file per bead, unless the bead attribute is set by the user.",
+                     'func': (lambda : 1.0*self.simul.beads.q)},
+      "velocities": {"dimension" : "velocity",
+                     "help": "The velocity trajectories. Will print out one file per bead, unless the bead attribute is set by the user.",
+                     'func': (lambda : self.simul.beads.p/self.simul.beads.m3)},
+      "momenta": {"dimension" : "momentum",
+                     "help": "The momentum trajectories. Will print out one file per bead, unless the bead attribute is set by the user.",
+                     'func': (lambda : 1.0*self.simul.beads.p)},
+      "forces": {    "dimension" : "force",
+                     "help": "The force trajectories. Will print out one file per bead, unless the bead attribute is set by the user.",
+                     'func': (lambda : 1.0*self.simul.forces.f)},
+      "x_centroid": {"dimension" : "length",
+                     "help": "The centroid coordinates.",
+                     'func': (lambda : 1.0*self.simul.beads.qc)},
+      "v_centroid": {"dimension" : "velocity",
+                     "help": "The centroid velocity.",
+                     'func': (lambda : self.simul.beads.pc/self.simul.beads.m3[0])},
+      "p_centroid": {"dimension" : "momentum",
+                     "help": "The centroid momentum.",
+                     'func': (lambda : 1.0*self.simul.beads.pc)},
+      "f_centroid": {"dimension" : "force",
+                     "help": "The force acting on the centroid.",
+                     'func': (lambda : np.sum(self.simul.forces.f,0)/float(self.simul.beads.nbeads))},
+      "kinetic_cv": {"dimension" : "energy",
+                     "help": "The centroid virial quantum kinetic energy estimator for each atom, resolved into Cartesian components [xx, yy, zz]",
+                     'func': self.get_akcv},
+      "kinetic_od": {"dimension" : "energy",
+                     "help": "The off diagonal elements of the centroid virial quantum kinetic energy tensor [xy, xz, yz]",
+                     'func': self.get_akcv_od},
+      "r_gyration": {"dimension" : "length",
+                     "help": "The radius of gyration of the ring polymer, for each atom and resolved into Cartesian components [xx, yy, zz]",
+                     'func': self.get_rg},
+      "extras": {    "help": """The additional data returned by the client code, printed verbatim. Will print
+                             out one file per bead, unless the bead attribute is set by the user.""",
+                     'func': (lambda : self.simul.forces.extras)}
+      }
+
+
+   def bind(self, simul):
+      """ Binds to a simulation object to fetch atomic and force data.
+
+      Args:
+         simul: The simulation object that will be managed by this Trajectories.
+      """
+
+      self.simul = simul
+      self.fatom = simul.beads[0].copy()
+
+   def get_akcv(self):
+      """Calculates the contribution to the kinetic energy due to each degree
+      of freedom.
+      """
+
+      rv = np.zeros(self.simul.beads.natoms*3)
+      for b in range(self.simul.beads.nbeads):
+         rv[:] += (self.simul.beads.q[b]-self.simul.beads.qc)*self.simul.forces.f[b]
+      rv *= -0.5/self.simul.beads.nbeads
+      rv += 0.5*Constants.kb*self.simul.ensemble.temp
+      return rv
+
+   def get_akcv_od(self):
+      """Calculates the "off-diagonal" contribution to the kinetic energy tensor
+      due to each atom.
+      """
+
+      rv = np.zeros((self.simul.beads.natoms,3))
+      # helper arrays to make it more obvious what we are computing
+      dq = np.zeros((self.simul.beads.natoms,3))
+      f = np.zeros((self.simul.beads.natoms,3))
+      for b in range(self.simul.beads.nbeads):
+         dq[:] = (self.simul.beads.q[b]-self.simul.beads.qc).reshape((self.simul.beads.natoms,3))
+         f[:] = self.simul.forces.f[b].reshape((self.simul.beads.natoms,3))
+         rv[:,0] += dq[:,0]*f[:,1] + dq[:,1]*f[:,0]
+         rv[:,1] += dq[:,0]*f[:,2] + dq[:,2]*f[:,0]
+         rv[:,2] += dq[:,1]*f[:,2] + dq[:,2]*f[:,1]
+      rv *= 0.5
+      rv *= -0.5/self.simul.beads.nbeads
+
+      return rv.reshape(self.simul.beads.natoms*3)
+
+   def get_rg(self):
+      """Calculates the radius of gyration of the ring polymers.
+
+      Computes separately the x, y, z contributions so that the actual
+      gyration radius can be recovered as sqrt(rx^2+ry^2+rz^2).
+      """
+
+      q = depstrip(self.simul.beads.q)
+      qc = depstrip(self.simul.beads.qc)
+      nat = self.simul.beads.natoms
+      nb = self.simul.beads.nbeads
+      rg = np.zeros(3*nat)
+      for i in range(nb):
+         for j in range(nat):
+            dq = q[i,3*j:3*(j+1)] - qc[3*j:3*(j+1)]
+            rg[3*j:3*(j+1)] += dq*dq
+      return np.sqrt(rg/float(nb))
+
+   def __getitem__(self, key):
+      """Retrieves the item given by key.
+
+      Note that if the key contains a string (arg1; arg2; ... )
+      then it will pass the appropriate positional arguments to the
+      calculation function of the property. Note the brackets and
+      the semi-colon separators. If instead we have the syntax
+      (arg1=val1;arg2; ... ), then the keyword/value pair (arg1,val1)
+      will be added to the keyword argument list. The appropriate key word
+      arguments will then be passed to the calculation function instead.
+
+      Similarly, if the key contains a string {unit}, then it will take
+      the string 'unit' and use it to define the units that the trajectory
+      is output in.
+
+      Args:
+         key: A string contained in trajectory_dict.
+
+      Returns:
+         The trajectory labelled by the keyword key, along with its unit
+         keyword, and the argument lists for the function used to calculate
+         the trajectory specified by the keyword key.
+      """
+
+      (key, unit, arglist, kwarglist) = getall(key)
+      pkey = self.traj_dict[key]
+
+      #pkey["func"](*arglist,**kwarglist) gives the value of the trajectory
+      #in atomic units. unit_to_user() returns the value in the user
+      #specified units.
+      if "dimension" in pkey and unit != "":
+         return  unit_to_user(pkey["dimension"], unit, 1.0) * pkey["func"](*arglist,**kwarglist)
+      else:
+         return pkey["func"](*arglist,**kwarglist)
+
+   def print_traj(self, what, stream, b=0, format="pdb", cell_units="atomic_unit", flush=True):
+      """Prints out a frame of a trajectory for the specified quantity and bead.
+
+      Args:
+         what: A string specifying what to print.
+         b: The bead index. Defaults to 0.
+         stream: A reference to the stream on which data will be printed.
+         format: The output file format.
+         cell_units: The units used to specify the cell parameters.
+         flush: A boolean which specifies whether to flush the output buffer
+            after each write to file or not.
+      """
+
+      cq = self[what]
+      if getkey(what) in [ "extras" ] :
+         stream.write(" #*EXTRAS*# Step:  %10d  Bead:  %5d  \n" % (self.simul.step+1, b) )
+         stream.write(cq[b])
+         stream.write("\n")
+         if flush :
+			stream.flush()
+			os.fsync(stream)
+         return
+      elif getkey(what) in [ "positions", "velocities", "forces" ] :
+         self.fatom.q[:] = cq[b]
+      else:
+         self.fatom.q[:] = cq
+
+      fcell = Cell()
+      fcell.h = self.simul.cell.h*unit_to_user("length", cell_units, 1.0)
+
+      if format == "pdb":
+         io_pdb.print_pdb(self.fatom, fcell, stream, title=("Traj: %s Step:  %10d  Bead:   %5d " % (what, self.simul.step+1, b) ) )
+      elif format == "xyz":
+         io_xyz.print_xyz(self.fatom, fcell, stream, title=("Traj: %s Step:  %10d  Bead:   %5d " % (what, self.simul.step+1, b) ) )
+      elif format == "bin":
+         io_binary.print_bin(self.fatom, fcell, stream, title=("Traj: %s Step:  %10d  Bead:   %5d " % (what, self.simul.step+1, b) ) )
+      if flush :
+         stream.flush()
+         os.fsync(stream)
diff --git a/tools/i-pi/ipi/engine/simulation.py b/tools/i-pi/ipi/engine/simulation.py
new file mode 100644
index 0000000000..42645939ee
--- /dev/null
+++ b/tools/i-pi/ipi/engine/simulation.py
@@ -0,0 +1,232 @@
+"""Contains the class that deals with the running of the simulation and
+outputting the results.
+
+Copyright (C) 2013, Joshua More and Michele Ceriotti
+
+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 3 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/>.
+
+
+The root class for the whole simulation. Contains references to all the top
+level objects used in the simulation, and controls all the steps that are
+not inherently system dependent, like the running of each time step,
+choosing which properties to initialise, and which properties to output.
+
+Classes:
+   Simulation: Deals with running the simulation and outputting the results.
+"""
+
+__all__ = ['Simulation']
+
+import numpy as np
+import os.path, sys, time
+from ipi.utils.depend import *
+from ipi.utils.units  import *
+from ipi.utils.prng   import *
+from ipi.utils.io     import *
+from ipi.utils.io.io_xml import *
+from ipi.utils.messages import verbosity, info
+from ipi.utils.softexit import softexit
+from ipi.engine.atoms import *
+from ipi.engine.cell import *
+from ipi.engine.forces import Forces
+from ipi.engine.beads import Beads
+from ipi.engine.normalmodes import NormalModes
+from ipi.engine.properties import Properties, Trajectories
+from ipi.engine.outputs import CheckpointOutput
+
+class Simulation(dobject):
+   """Main simulation object.
+
+   Contains all the references and the main dynamics loop. Also handles the
+   initialisation and output.
+
+   Attributes:
+      beads: A beads object giving the atom positions.
+      cell: A cell object giving the system box.
+      prng: A random number generator object.
+      flist: A list of forcefield objects giving different ways to partially
+         calculate the forces.
+      forces: A Forces object for calculating the total force for all the
+         replicas.
+      ensemble: An ensemble object giving the objects necessary for producing
+         the correct ensemble.
+      tsteps: The total number of steps.
+      ttime: The wall clock time (in seconds).
+      format: A string specifying both the format and the extension of traj
+         output.
+      outputs: A list of output objects that should be printed during the run
+      nm:  A helper object dealing with normal modes transformation
+      properties: A property object for dealing with property output.
+      trajs: A trajectory object for dealing with trajectory output.
+      chk: A checkpoint object for dealing with checkpoint output.
+      rollback: If set to true, the state of the simulation at the start
+         of the step will be output to a restart file rather than
+         the current state of the simulation. This is because we cannot
+         restart from half way through a step, only from the beginning of a
+         step, so this is necessary for the trajectory to be continuous.
+
+   Depend objects:
+      step: The current simulation step.
+   """
+
+   def __init__(self, beads, cell, forces, ensemble, prng, outputs, nm, init, step=0, tsteps=1000, ttime=0):
+      """Initialises Simulation class.
+
+      Args:
+         beads: A beads object giving the atom positions.
+         cell: A cell object giving the system box.
+         forces: A forcefield object giving the force calculator for each
+            replica of the system.
+         ensemble: An ensemble object giving the objects necessary for
+            producing the correct ensemble.
+         prng: A random number object.
+         outputs: A list of output objects.
+         nm: A class dealing with path NM operations.
+         init: A class to deal with initializing the simulation object.
+         step: An optional integer giving the current simulation time step.
+            Defaults to 0.
+         tsteps: An optional integer giving the total number of steps. Defaults
+            to 1000.
+         ttime: The simulation running time. Used on restart, to keep a
+            cumulative total.
+      """
+
+      info(" # Initializing simulation object ", verbosity.low )
+      self.prng = prng
+      self.ensemble = ensemble
+      self.beads = beads
+      self.cell = cell
+      self.nm = nm
+
+      # initialize the configuration of the system
+      self.init = init
+      init.init_stage1(self)
+
+      self.flist = forces
+      self.forces = Forces()
+      self.outputs = outputs
+
+      dset(self, "step", depend_value(name="step", value=step))
+      self.tsteps = tsteps
+      self.ttime = ttime
+
+      self.properties = Properties()
+      self.trajs = Trajectories()
+      self.chk = None
+      self.rollback = True
+
+   def bind(self):
+      """Calls the bind routines for all the objects in the simulation."""
+
+      # binds important computation engines
+      self.nm.bind(self.beads, self.ensemble)
+      self.forces.bind(self.beads, self.cell, self.flist)
+      self.ensemble.bind(self.beads, self.nm, self.cell, self.forces, self.prng)
+      self.init.init_stage2(self)
+
+      # binds output management objects
+      self.properties.bind(self)
+      self.trajs.bind(self)
+      for o in self.outputs:
+         o.bind(self)
+
+      self.chk = CheckpointOutput("RESTART", 1, True, 0)
+      self.chk.bind(self)
+
+      # registers the softexit routine
+      softexit.register(self.softexit)
+
+   def softexit(self):
+      """Deals with a soft exit request.
+
+      Tries to ensure that a consistent restart checkpoint is
+      written out.
+      """
+
+      if self.step < self.tsteps:
+         self.step += 1
+      if not self.rollback:
+         self.chk.store()
+      self.chk.write(store=False)
+
+      self.forces.stop()
+
+   def run(self):
+      """Runs the simulation.
+
+      Does all the simulation steps, and outputs data to the appropriate files
+      when necessary. Also deals with starting and cleaning up the threads used
+      in the communication between the driver and the PIMD code.
+      """
+
+      self.forces.run()
+
+      # prints inital configuration -- only if we are not restarting
+      if (self.step == 0):
+         self.step = -1
+         for o in self.outputs:
+            o.write()
+         self.step = 0
+
+      steptime = 0.0
+      simtime =  time.time()
+
+      cstep = 0
+      tptime = 0.0
+      tqtime = 0.0
+      tttime = 0.0
+      ttot = 0.0
+      # main MD loop
+      for self.step in range(self.step,self.tsteps):
+         # stores the state before doing a step.
+         # this is a bit time-consuming but makes sure that we can honor soft
+         # exit requests without screwing the trajectory
+
+         steptime = -time.time()
+         self.chk.store()
+
+         self.ensemble.step()
+
+         for o in self.outputs:
+            o.write()
+
+         if os.path.exists("EXIT"): # soft-exit
+            self.rollback = False
+            softexit.trigger()
+
+         steptime += time.time()
+         ttot += steptime
+         tptime += self.ensemble.ptime
+         tqtime += self.ensemble.qtime
+         tttime += self.ensemble.ttime
+         cstep += 1
+
+         if verbosity.high or (verbosity.medium and self.step%100 == 0) or (verbosity.low and self.step%1000 == 0):
+            info(" # Average timings at MD step % 7d. t/step: %10.5e [p: %10.5e  q: %10.5e  t: %10.5e]" %
+               ( self.step, ttot/cstep, tptime/cstep, tqtime/cstep, tttime/cstep ) )
+            cstep = 0
+            tptime = 0.0
+            tqtime = 0.0
+            tttime = 0.0
+            ttot = 0.0
+            info(" # MD diagnostics: V: %10.5e    Kcv: %10.5e   Ecns: %10.5e" %
+               (self.properties["potential"], self.properties["kinetic_cv"], self.properties["conserved"] ) )
+
+         if (self.ttime > 0 and time.time() - simtime > self.ttime):
+            info(" # Wall clock time expired! Bye bye!", verbosity.low )
+            break
+
+      info(" # Simulation ran successfully for the prescribed total_step! Bye bye!", verbosity.low )
+      self.rollback = False
+      softexit.trigger()
diff --git a/tools/i-pi/ipi/engine/thermostats.py b/tools/i-pi/ipi/engine/thermostats.py
new file mode 100644
index 0000000000..5375bb917e
--- /dev/null
+++ b/tools/i-pi/ipi/engine/thermostats.py
@@ -0,0 +1,884 @@
+"""Contains the classes that deal with constant temperature dynamics.
+
+Copyright (C) 2013, Joshua More and Michele Ceriotti
+
+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 3 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/>.
+
+
+Contains the algorithms which propagate the thermostatting steps in the constant
+temperature ensembles. Includes the new GLE thermostat, which can be used to
+run PI+GLE dynamics, reducing the number of path integral beads required.
+
+Classes:
+   Thermostat: Base thermostat class with the generic methods and attributes.
+   ThermoLangevin: Holds the algorithms for a langevin thermostat.
+   ThermoPILE_L: Holds the algorithms for a path-integral langevin equation
+      thermostat, with a thermostat coupled directly to the
+      centroid coordinate of each bead.
+   ThermoPILE_G: Holds the algorithms for a path-integral langevin equation
+      thermostat, with a thermostat coupled to the kinetic energy for
+      the entire system.
+   ThermoSVR: Holds the algorithms for a stochastic velocity rescaling
+      thermostat.
+   ThermoGLE: Holds the algorithms for a generalised langevin equation
+      thermostat.
+   ThermoNMGLE: Holds the algorithms for a generalised langevin equation
+      thermostat in the normal mode representation.
+   ThermoNMGLEG: Holds the algorithms for a generalised langevin equation
+      thermostat in the normal mode representation, with kinetic energy as
+      well as potential energy sampling optimization.
+"""
+
+__all__ = ['Thermostat', 'ThermoLangevin', 'ThermoPILE_L', 'ThermoPILE_G',
+           'ThermoSVR', 'ThermoGLE', 'ThermoNMGLE', 'ThermoNMGLEG']
+
+import numpy as np
+from ipi.utils.depend   import *
+from ipi.utils.units    import *
+from ipi.utils.mathtools import matrix_exp, stab_cholesky, root_herm
+from ipi.utils.prng import Random
+from ipi.utils.messages import verbosity, warning, info
+from ipi.engine.beads import Beads
+from ipi.engine.normalmodes import NormalModes
+
+class Thermostat(dobject):
+   """Base thermostat class.
+
+   Gives the standard methods and attributes needed in all the thermostat
+   classes.
+
+   Attributes:
+      prng: A pseudo random number generator object.
+      ndof: The number of degrees of freedom that the thermostat will be
+         attached to.
+
+   Depend objects:
+      dt: The time step used in the algorithms. Depends on the simulation dt.
+      temp: The simulation temperature. Higher than the system temperature by
+         a factor of the number of beads. Depends on the simulation temp.
+      ethermo: The total energy exchanged with the bath due to the thermostat.
+      p: The momentum vector that the thermostat is coupled to. Depends on the
+         beads p object.
+      m: The mass vector associated with p. Depends on the beads m object.
+      sm: The square root of the mass vector.
+   """
+
+   def __init__(self, temp = 1.0, dt = 1.0, ethermo=0.0):
+      """Initialises Thermostat.
+
+      Args:
+         temp: The simulation temperature. Defaults to 1.0.
+         dt: The simulation time step. Defaults to 1.0.
+         ethermo: The initial heat energy transferred to the bath.
+            Defaults to 0.0. Will be non-zero if the thermostat is
+            initialised from a checkpoint file.
+      """
+
+      dset(self,"temp",   depend_value(name='temp', value=temp))
+      dset(self,"dt",     depend_value(name='dt', value=dt))
+      dset(self,"ethermo",depend_value(name='ethermo',value=ethermo))
+
+   def bind(self, beads=None, atoms=None, pm=None, prng=None, fixdof=None):
+      """Binds the appropriate degrees of freedom to the thermostat.
+
+      This takes an object with degrees of freedom, and makes their momentum
+      and mass vectors members of the thermostat. It also then creates the
+      objects that will hold the data needed in the thermostat algorithms
+      and the dependency network.
+
+      Args:
+         beads: An optional beads object to take the mass and momentum vectors
+            from.
+         atoms: An optional atoms object to take the mass and momentum vectors
+            from.
+         pm: An optional tuple containing a single momentum value and its
+            conjugate mass.
+         prng: An optional pseudo random number generator object. Defaults to
+            Random().
+         fixdof: An optional integer which can specify the number of constraints
+            applied to the system. Defaults to zero.
+
+      Raises:
+         TypeError: Raised if no appropriate degree of freedom or object
+            containing a momentum vector is specified for
+            the thermostat to couple to.
+      """
+
+      if prng is None:
+         warning("Initializing thermostat from standard random PRNG", verbosity.medium)
+         self.prng = Random()
+      else:
+         self.prng = prng
+
+      if not beads is None:
+         dset(self,"p",beads.p.flatten())
+         dset(self,"m",beads.m3.flatten())
+      elif not atoms is None:
+         dset(self,"p",dget(atoms, "p"))
+         dset(self,"m",dget(atoms, "m3"))
+      elif not pm is None:
+         dset(self,"p",pm[0])
+         dset(self,"m",pm[1])
+      else:
+         raise TypeError("Thermostat.bind expects either Beads, Atoms, NormalModes, or a (p,m) tuple to bind to")
+
+      if fixdof is None:
+         self.ndof = len(self.p)
+      else:
+         self.ndof = float(len(self.p) - fixdof)
+
+      dset(self, "sm",
+         depend_array(name="sm", value=np.zeros(len(dget(self,"m"))),
+            func=self.get_sm, dependencies=[dget(self,"m")]))
+
+   def get_sm(self):
+      """Retrieves the square root of the mass matrix.
+
+      Returns:
+         A vector of the square root of the mass matrix with one value for
+         each degree of freedom.
+      """
+
+      return np.sqrt(self.m)
+
+   def step(self):
+      """Dummy thermostat step."""
+
+      pass
+
+
+class ThermoLangevin(Thermostat):
+   """Represents a langevin thermostat.
+
+   Depend objects:
+      tau: Thermostat damping time scale. Larger values give a less strongly
+         coupled thermostat.
+      T: Coefficient of the diffusive contribution of the thermostat, i.e. the
+         drift back towards equilibrium. Depends on tau and the time step.
+      S: Coefficient of the stochastic contribution of the thermostat, i.e.
+         the uncorrelated Gaussian noise. Depends on T and the temperature.
+   """
+
+   def get_T(self):
+      """Calculates the coefficient of the overall drift of the velocities."""
+
+      return np.exp(-0.5*self.dt/self.tau)
+
+   def get_S(self):
+      """Calculates the coefficient of the white noise."""
+
+      return np.sqrt(Constants.kb*self.temp*(1 - self.T**2))
+
+   def __init__(self, temp = 1.0, dt = 1.0, tau = 1.0, ethermo=0.0):
+      """Initialises ThermoLangevin.
+
+      Args:
+         temp: The simulation temperature. Defaults to 1.0.
+         dt: The simulation time step. Defaults to 1.0.
+         tau: The thermostat damping timescale. Defaults to 1.0.
+         ethermo: The initial heat energy transferred to the bath.
+            Defaults to 0.0. Will be non-zero if the thermostat is
+            initialised from a checkpoint file.
+      """
+
+      super(ThermoLangevin,self).__init__(temp, dt, ethermo)
+
+      dset(self,"tau",depend_value(value=tau,name='tau'))
+      dset(self,"T",
+         depend_value(name="T",func=self.get_T,
+            dependencies=[dget(self,"tau"), dget(self,"dt")]))
+      dset(self,"S",
+         depend_value(name="S",func=self.get_S,
+            dependencies=[dget(self,"temp"), dget(self,"T")]))
+
+   def step(self):
+      """Updates the bound momentum vector with a langevin thermostat."""
+
+      p = depstrip(self.p).copy()
+      sm = depstrip(self.sm)
+
+      p /= sm
+
+      self.ethermo += np.dot(p,p)*0.5
+      p *= self.T
+      p += self.S*self.prng.gvec(len(p))
+      self.ethermo -= np.dot(p,p)*0.5
+
+      p *= sm
+
+      self.p = p
+
+
+class ThermoPILE_L(Thermostat):
+   """Represents a PILE thermostat with a local centroid thermostat.
+
+   Attributes:
+      _thermos: The list of the different thermostats for all the ring polymer
+         normal modes.
+      nm: A normal modes object to attach the thermostat to.
+      prng: Random number generator used in the stochastic integration
+         algorithms.
+
+   Depend objects:
+      tau: Centroid thermostat damping time scale. Larger values give a
+         less strongly coupled centroid thermostat.
+      tauk: Thermostat damping time scale for the non-centroid normal modes.
+         Depends on the ring polymer spring constant, and thus the simulation
+         temperature.
+      pilescale: A float used to reduce the intensity of the PILE thermostat if
+         required.
+   """
+
+   def __init__(self, temp = 1.0, dt = 1.0, tau = 1.0, ethermo=0.0, scale=1.0):
+      """Initialises ThermoPILE_L.
+
+      Args:
+         temp: The simulation temperature. Defaults to 1.0.
+         dt: The simulation time step. Defaults to 1.0.
+         tau: The centroid thermostat damping timescale. Defaults to 1.0.
+         ethermo: The initial conserved energy quantity. Defaults to 0.0. Will
+            be non-zero if the thermostat is initialised from a checkpoint file.
+         scale: A float used to reduce the intensity of the PILE thermostat if
+            required.
+
+      Raises:
+         TypeError: Raised if the thermostat is used with any object other than
+            a beads object, so that we make sure that the objects needed for the
+            normal mode transformation exist.
+      """
+
+      super(ThermoPILE_L,self).__init__(temp,dt,ethermo)
+      dset(self,"tau",depend_value(value=tau,name='tau'))
+      dset(self,"pilescale",depend_value(value=scale,name='pilescale'))
+
+   def bind(self, nm=None, prng=None, bindcentroid=True, fixdof=None):
+      """Binds the appropriate degrees of freedom to the thermostat.
+
+      This takes a beads object with degrees of freedom, and makes its momentum
+      and mass vectors members of the thermostat. It also then creates the
+      objects that will hold the data needed in the thermostat algorithms
+      and the dependency network.
+
+      Gives the interface for both the PILE_L and PILE_G thermostats, which
+      only differ in their treatment of the centroid coordinate momenta.
+
+      Args:
+         nm: An optional normal mode object to take the mass and momentum
+            vectors from.
+         prng: An optional pseudo random number generator object. Defaults to
+            Random().
+         bindcentroid: An optional boolean which decides whether a Langevin
+            thermostat is attached to the centroid mode of each atom
+            separately, or the total kinetic energy. Defaults to True, which
+            gives a thermostat bound to each centroid momentum.
+         fixdof: An optional integer which can specify the number of constraints
+            applied to the system. Defaults to zero.
+
+      Raises:
+         TypeError: Raised if no appropriate degree of freedom or object
+            containing a momentum vector is specified for
+            the thermostat to couple to.
+      """
+
+      if nm is None or not type(nm) is NormalModes:
+         raise TypeError("ThermoPILE_L.bind expects a NormalModes argument to bind to")
+      if prng is None:
+         self.prng = Random()
+      else:
+         self.prng = prng
+
+      prev_ethermo = self.ethermo
+
+      # creates a set of thermostats to be applied to individual normal modes
+      self._thermos = [ ThermoLangevin(temp=1, dt=1, tau=1) for b in range(nm.nbeads) ]
+      # optionally does not bind the centroid, so we can re-use all of this
+      # in the PILE_G case
+      if not bindcentroid:
+         self._thermos[0] = None
+
+      self.nm = nm
+
+      dset(self,"tauk",
+         depend_array(name="tauk", value=np.zeros(nm.nbeads-1,float),
+            func=self.get_tauk, dependencies=[dget(self,"pilescale"), dget(nm,"dynomegak")] ) )
+
+      # must pipe all the dependencies in such a way that values for the nm thermostats
+      # are automatically updated based on the "master" thermostat
+      def make_taugetter(k):
+         return lambda: self.tauk[k-1]
+      it = 0
+      for t in self._thermos:
+         if t is None:
+            it += 1
+            continue
+         if it > 0:
+            fixdof = None # only the centroid thermostat may have constraints
+
+         # bind thermostat t to the it-th bead
+         t.bind(pm=(nm.pnm[it,:],nm.dynm3[it,:]),prng=self.prng, fixdof=fixdof)
+         # pipes temp and dt
+         deppipe(self,"temp", t, "temp")
+         deppipe(self,"dt", t, "dt")
+
+         # for tau it is slightly more complex
+         if it == 0:
+            deppipe(self,"tau", t, "tau")
+         else:
+            # Here we manually connect _thermos[i].tau to tauk[i].
+            # Simple and clear.
+            dget(t,"tau").add_dependency(dget(self,"tauk"))
+            dget(t,"tau")._func = make_taugetter(it)
+         dget(self,"ethermo").add_dependency(dget(t,"ethermo"))
+         it += 1
+
+      # since the ethermo will be "delegated" to the normal modes thermostats,
+      # one has to split
+      # any previously-stored value between the sub-thermostats
+      if bindcentroid:
+         for t in self._thermos:
+            t.ethermo = prev_ethermo/nm.nbeads
+         dget(self,"ethermo")._func = self.get_ethermo;
+         # if we are not binding the centroid just yet, this bit of the piping
+         # is delegated to the function which is actually calling this
+
+   def get_tauk(self):
+      """Computes the thermostat damping time scale for the non-centroid
+      normal modes.
+
+      Returns:
+         An array with the damping time scales for the non-centroid modes.
+      """
+
+      # Also include an optional scaling factor to reduce the intensity of NM thermostats
+      return  np.array([ self.pilescale/(2*self.nm.dynomegak[k])  for k in range(1,len(self._thermos)) ])
+
+   def get_ethermo(self):
+      """Computes the total energy transferred to the heat bath for all the
+      thermostats.
+      """
+
+      et = 0.0;
+      for t in self._thermos:
+         et += t.ethermo
+      return et
+
+   def step(self):
+      """Updates the bound momentum vector with a PILE thermostat."""
+
+      # super-cool! just loop over the thermostats! it's as easy as that!
+      for t in self._thermos:
+         t.step()
+
+
+class ThermoSVR(Thermostat):
+   """Represents a stochastic velocity rescaling thermostat.
+
+   Depend objects:
+      tau: Centroid thermostat damping time scale. Larger values give a
+         less strongly coupled centroid thermostat.
+      K: Scaling factor for the total kinetic energy. Depends on the
+         temperature.
+      et: Parameter determining the strength of the thermostat coupling.
+         Depends on tau and the time step.
+   """
+
+   def get_et(self):
+      """Calculates the damping term in the propagator."""
+
+      return np.exp(-0.5*self.dt/self.tau)
+
+   def get_K(self):
+      """Calculates the average kinetic energy per degree of freedom."""
+
+      return Constants.kb*self.temp*0.5
+
+   def __init__(self, temp = 1.0, dt = 1.0, tau = 1.0, ethermo=0.0):
+      """Initialises ThermoSVR.
+
+      Args:
+         temp: The simulation temperature. Defaults to 1.0.
+         dt: The simulation time step. Defaults to 1.0.
+         tau: The thermostat damping timescale. Defaults to 1.0.
+         ethermo: The initial conserved energy quantity. Defaults to 0.0. Will
+            be non-zero if the thermostat is initialised from a checkpoint file.
+      """
+
+      super(ThermoSVR,self).__init__(temp,dt,ethermo)
+
+      dset(self,"tau",depend_value(value=tau,name='tau'))
+      dset(self,"et",
+         depend_value(name="et",func=self.get_et,
+            dependencies=[dget(self,"tau"), dget(self,"dt")]))
+      dset(self,"K",
+         depend_value(name="K",func=self.get_K, dependencies=[dget(self,"temp")]))
+
+   def step(self):
+      """Updates the bound momentum vector with a stochastic velocity rescaling
+      thermostat. See G Bussi, D Donadio, M Parrinello,
+      Journal of Chemical Physics 126, 014101 (2007)
+      """
+
+      K = np.dot(depstrip(self.p),depstrip(self.p)/depstrip(self.m))*0.5
+
+      # rescaling is un-defined if the KE is zero
+      if K == 0.0:
+         return
+
+      # gets the stochastic term (basically a Gamma distribution for the kinetic energy)
+      r1 = self.prng.g
+      if (self.ndof-1)%2 == 0:
+         rg = 2.0*self.prng.gamma((self.ndof-1)/2)
+      else:
+         rg = 2.0*self.prng.gamma((self.ndof-2)/2) + self.prng.g**2
+
+      alpha2 = self.et + self.K/K*(1 - self.et)*(r1**2 + rg) + 2.0*r1*np.sqrt(self.K/K*self.et*(1 - self.et))
+      alpha = np.sqrt(alpha2)
+      if (r1 + np.sqrt(2*K/self.K*self.et/(1 - self.et))) < 0:
+         alpha *= -1
+
+      self.ethermo += K*(1 - alpha2)
+      self.p *= alpha
+
+
+class ThermoPILE_G(ThermoPILE_L):
+   """Represents a PILE thermostat with a global centroid thermostat.
+
+   Simply replaces the Langevin thermostat for the centroid normal mode with
+   a global velocity rescaling thermostat.
+   """
+
+   def __init__(self, temp = 1.0, dt = 1.0, tau = 1.0, ethermo=0.0, scale = 1.0):
+      """Initialises ThermoPILE_G.
+
+      Args:
+         temp: The simulation temperature. Defaults to 1.0.
+         dt: The simulation time step. Defaults to 1.0.
+         tau: The centroid thermostat damping timescale. Defaults to 1.0.
+         ethermo: The initial conserved energy quantity. Defaults to 0.0. Will
+            be non-zero if the thermostat is initialised from a checkpoint file.
+         scale: A float used to reduce the intensity of the PILE thermostat if
+            required.
+      """
+
+      super(ThermoPILE_G,self).__init__(temp,dt,tau,ethermo)
+      dset(self,"pilescale",depend_value(value=scale,name='pilescale'))
+
+   def bind(self, nm=None, prng=None, fixdof=None):
+      """Binds the appropriate degrees of freedom to the thermostat.
+
+      This takes a beads object with degrees of freedom, and makes its momentum
+      and mass vectors members of the thermostat. It also then creates the
+      objects that will hold the data needed in the thermostat algorithms
+      and the dependency network.
+
+      Uses the PILE_L bind interface, with bindcentroid set to false so we can
+      specify that thermostat separately, by binding a global
+      thermostat to the centroid mode.
+
+      Args:
+         beads: An optional beads object to take the mass and momentum vectors
+            from.
+         prng: An optional pseudo random number generator object. Defaults to
+            Random().
+         fixdof: An optional integer which can specify the number of constraints
+            applied to the system. Defaults to zero.
+
+      """
+
+      # first binds as a local PILE, then substitutes the thermostat on the centroid
+      prev_ethermo = self.ethermo
+      super(ThermoPILE_G,self).bind(nm=nm,prng=prng,bindcentroid=False, fixdof=fixdof)
+
+      #centroid thermostat
+      self._thermos[0] = ThermoSVR(temp=1, dt=1, tau=1)
+
+      t = self._thermos[0]
+      t.bind(pm=(nm.pnm[0,:],nm.dynm3[0,:]),prng=self.prng, fixdof=fixdof)
+      deppipe(self,"temp", t, "temp")
+      deppipe(self,"dt", t, "dt")
+      deppipe(self,"tau", t, "tau")
+      dget(self,"ethermo").add_dependency(dget(t,"ethermo"))
+
+      # splits any previous ethermo between the thermostats, and finishes to bind ethermo to the sum function
+      for t in self._thermos:
+         t.ethermo = prev_ethermo/nm.nbeads
+      dget(self,"ethermo")._func = self.get_ethermo;
+
+
+class ThermoGLE(Thermostat):
+   """Represents a GLE thermostat.
+
+   This is similar to a langevin thermostat, in that it uses Gaussian random
+   numbers to simulate a heat bath acting on the system, but simulates a
+   non-Markovian system by using a Markovian formulation in an extended phase
+   space. This allows for a much greater degree of flexibility, and this
+   thermostat, properly fitted, can give the an approximation to the correct
+   quantum ensemble even for a classical, 1-bead simulation. More reasonably,
+   using this thermostat allows for a far smaller number of replicas of the
+   system to be used, as the convergence of the properties
+   of the system is accelerated with respect to number of beads when PI+GLE
+   are used in combination. (See M. Ceriotti, D. E. Manolopoulos, M. Parinello,
+   J. Chem. Phys. 134, 084104 (2011)).
+
+   Attributes:
+      ns: The number of auxilliary degrees of freedom.
+      s: An array holding all the momenta, including the ones for the
+         auxilliary degrees of freedom.
+
+   Depend objects:
+      A: Drift matrix giving the damping time scales for all the different
+         degrees of freedom.
+      C: Static covariance matrix.
+         Satisfies A.C + C.transpose(A) = B.transpose(B), where B is the
+         diffusion matrix, giving the strength of the coupling of the system
+         with the heat bath, and thus the size of the stochastic
+         contribution of the thermostat.
+      T: Matrix for the diffusive contribution of the thermostat, i.e. the
+         drift back towards equilibrium. Depends on A and the time step.
+      S: Matrix for the stochastic contribution of the thermostat, i.e.
+         the uncorrelated Gaussian noise. Depends on C and T.
+   """
+
+   def get_T(self):
+      """Calculates the matrix for the overall drift of the velocities."""
+
+      return matrix_exp(-0.5*self.dt*self.A)
+
+   def get_S(self):
+      """Calculates the matrix for the coloured noise."""
+
+      SST = Constants.kb*(self.C - np.dot(self.T,np.dot(self.C,self.T.T)))
+
+      # Uses a symetric decomposition rather than Cholesky, since it is more stable
+      return root_herm(SST)
+
+   def get_C(self):
+      """Calculates C from temp (if C is not set explicitly)"""
+
+      rC = np.identity(self.ns + 1,float)*self.temp
+      return rC[:]
+
+   def __init__(self, temp = 1.0, dt = 1.0, A = None, C = None, ethermo=0.0):
+      """Initialises ThermoGLE.
+
+      Args:
+         temp: The simulation temperature. Defaults to 1.0.
+         dt: The simulation time step. Defaults to 1.0.
+         A: An optional matrix giving the drift matrix. Defaults to a single
+            value of 1.0.
+         C: An optional matrix giving the covariance matrix. Defaults to an
+            identity matrix times temperature with the same dimensions as the
+            total number of degrees of freedom in the system.
+         ethermo: The initial heat energy transferred to the bath.
+            Defaults to 0.0. Will be non-zero if the thermostat is
+            initialised from a checkpoint file.
+      """
+
+      super(ThermoGLE,self).__init__(temp,dt,ethermo)
+
+      if A is None:
+         A = np.identity(1,float)
+      dset(self,"A",depend_value(value=A.copy(),name='A'))
+
+      self.ns = len(self.A) - 1;
+
+      # now, this is tricky. if C is taken from temp, then we want it to be updated
+      # as a depend of temp. Otherwise, we want it to be an independent beast.
+      if C is None:
+         C = np.identity(self.ns+1,float)*self.temp
+         dset(self,"C",
+            depend_value(name='C', func=self.get_C,
+               dependencies=[dget(self,"temp")]))
+      else:
+         dset(self,"C",depend_value(value=C.copy(),name='C'))
+
+      dset(self,"T",
+         depend_value(name="T",func=self.get_T,
+            dependencies=[dget(self,"A"), dget(self,"dt")]))
+      dset(self,"S",
+         depend_value(name="S",func=self.get_S,
+            dependencies=[dget(self,"C"), dget(self,"T")]))
+
+      self.s = np.zeros(0)
+
+   def bind(self, beads=None, atoms=None, pm=None, prng=None, fixdof=None):
+      """Binds the appropriate degrees of freedom to the thermostat.
+
+      This takes an object with degrees of freedom, and makes their momentum
+      and mass vectors members of the thermostat. It also then creates the
+      objects that will hold the data needed in the thermostat algorithms
+      and the dependency network.
+
+      Args:
+         beads: An optional beads object to take the mass and momentum vectors
+            from.
+         atoms: An optional atoms object to take the mass and momentum vectors
+            from.
+         pm: An optional tuple containing a single momentum value and its
+            conjugate mass.
+         prng: An optional pseudo random number generator object. Defaults to
+            Random().
+         fixdof: An optional integer which can specify the number of constraints
+            applied to the system. Defaults to zero.
+
+      Raises:
+         TypeError: Raised if no appropriate degree of freedom or object
+            containing a momentum vector is specified for
+            the thermostat to couple to.
+      """
+
+      super(ThermoGLE,self).bind(beads,atoms,pm,prng,fixdof)
+
+      # allocates, initializes or restarts an array of s's
+      if self.s.shape != (self.ns + 1, len(dget(self,"m"))):
+         if len(self.s) > 0:
+            warning("Mismatch in GLE s array size on restart, will reinitialise to free particle.", verbosity.low)
+         self.s = np.zeros((self.ns + 1, len(dget(self,"m"))))
+
+         # Initializes the s vector in the free-particle limit
+         info(" GLE additional DOFs initialised to the free-particle limit.", verbosity.low)
+         SC = stab_cholesky(self.C*Constants.kb)
+         self.s[:] = np.dot(SC, self.prng.gvec(self.s.shape))
+      else:
+         info("GLE additional DOFs initialised from input.", verbosity.medium)
+
+   def step(self):
+      """Updates the bound momentum vector with a GLE thermostat"""
+
+      p = depstrip(self.p).copy()
+
+      self.s[0,:] = self.p/self.sm
+
+      self.ethermo += np.dot(self.s[0],self.s[0])*0.5
+      self.s[:] = np.dot(self.T,self.s) + np.dot(self.S,self.prng.gvec(self.s.shape))
+      self.ethermo -= np.dot(self.s[0],self.s[0])*0.5
+
+      self.p = self.s[0]*self.sm
+
+
+class ThermoNMGLE(Thermostat):
+   """Represents a 'normal-modes' GLE thermostat.
+
+   An extension to the GLE thermostat which is applied in the
+   normal modes representation, and which allows to use a different
+   GLE for each normal mode
+
+   Attributes:
+      ns: The number of auxilliary degrees of freedom.
+      nb: The number of beads.
+      s: An array holding all the momenta, including the ones for the
+         auxilliary degrees of freedom.
+
+   Depend objects:
+      A: Drift matrix giving the damping time scales for all the different
+         degrees of freedom (must contain nb terms).
+      C: Static covariance matrix.
+         Satisfies A.C + C.transpose(A) = B.transpose(B), where B is the
+         diffusion matrix, giving the strength of the coupling of the system
+         with the heat bath, and thus the size of the stochastic
+         contribution of the thermostat.
+   """
+
+   def get_C(self):
+      """Calculates C from temp (if C is not set explicitely)."""
+
+      rv = np.ndarray((self.nb, self.ns+1, self.ns+1), float)
+      for b in range(0,self.nb):
+         rv[b] = np.identity(self.ns + 1,float)*self.temp
+      return rv[:]
+
+   def __init__(self, temp = 1.0, dt = 1.0, A = None, C = None, ethermo=0.0):
+      """Initialises ThermoGLE.
+
+      Args:
+         temp: The simulation temperature. Defaults to 1.0.
+         dt: The simulation time step. Defaults to 1.0.
+         A: An optional matrix giving the drift matrix. Defaults to a single
+            value of 1.0.
+         C: An optional matrix giving the covariance matrix. Defaults to an
+            identity matrix times temperature with the same dimensions as the
+            total number of degrees of freedom in the system.
+         ethermo: The initial heat energy transferred to the bath.
+            Defaults to 0.0. Will be non-zero if the thermostat is
+            initialised from a checkpoint file.
+      """
+
+      super(ThermoNMGLE,self).__init__(temp,dt,ethermo)
+
+      if A is None:
+         A = np.identity(1,float)
+      dset(self,"A",depend_value(value=A.copy(),name='A'))
+
+      self.nb = len(self.A)
+      self.ns = len(self.A[0]) - 1;
+
+      # now, this is tricky. if C is taken from temp, then we want it to be
+      # updated as a depend of temp.
+      # Otherwise, we want it to be an independent beast.
+      if C is None:
+         dset(self,"C",depend_value(name='C', func=self.get_C, dependencies=[dget(self,"temp")]))
+      else:
+         dset(self,"C",depend_value(value=C.copy(),name='C'))
+
+   def bind(self, nm=None, prng=None, fixdof=None):
+      """Binds the appropriate degrees of freedom to the thermostat.
+
+      This takes an object with degrees of freedom, and makes their momentum
+      and mass vectors members of the thermostat. It also then creates the
+      objects that will hold the data needed in the thermostat algorithms
+      and the dependency network. Actually, this specific thermostat requires
+      being called on a beads object.
+
+      Args:
+         nm: An optional normal modes object to take the mass and momentum
+            vectors from.
+         prng: An optional pseudo random number generator object. Defaults to
+            Random().
+         fixdof: An optional integer which can specify the number of constraints
+            applied to the system. Defaults to zero.
+
+      Raises:
+         TypeError: Raised if no beads object is specified for
+            the thermostat to couple to.
+      """
+
+      if nm is None or not type(nm) is NormalModes:
+         raise TypeError("ThermoNMGLE.bind expects a NormalModes argument to bind to")
+
+      if prng is None:
+         self.prng = Random()
+      else:
+         self.prng = prng
+
+      if (nm.nbeads != self.nb):
+         raise IndexError("The parameters in nm_gle options correspond to a bead number "+str(self.nb)+ " which does not match the number of beads in the path" + str(nm.nbeads) )
+
+      # allocates, initializes or restarts an array of s's
+      if self.s.shape != (self.nb, self.ns + 1, nm.natoms *3) :
+         if len(self.s) > 0:
+            warning("Mismatch in GLE s array size on restart, will reinitialise to free particle.", verbosity.low)
+         self.s = np.zeros((self.nb, self.ns + 1, nm.natoms*3))
+
+         # Initializes the s vector in the free-particle limit
+         info(" GLE additional DOFs initialised to the free-particle limit.", verbosity.low)
+         for b in range(self.nb):
+            SC = stab_cholesky(self.C[b]*Constants.kb)
+            self.s[b] = np.dot(SC, self.prng.gvec(self.s[b].shape))
+      else:
+         info("GLE additional DOFs initialised from input.", verbosity.medium)
+
+      prev_ethermo = self.ethermo
+
+      # creates a set of thermostats to be applied to individual normal modes
+      self._thermos = [ThermoGLE(temp=1, dt=1, A=self.A[b], C=self.C[b]) for b in range(self.nb)]
+
+      # must pipe all the dependencies in such a way that values for the nm
+      # thermostats are automatically updated based on the "master" thermostat
+      def make_Agetter(k):
+         return lambda: self.A[k]
+      def make_Cgetter(k):
+         return lambda: self.C[k]
+
+      it = 0
+      for t in self._thermos:
+         t.s = self.s[it]  # gets the s's as a slice of self.s
+         t.bind(pm=(nm.pnm[it,:],nm.dynm3[it,:]), prng=self.prng) # bind thermostat t to the it-th normal mode
+
+         # pipes temp and dt
+         deppipe(self,"temp", t, "temp")
+         deppipe(self,"dt", t, "dt")
+
+         # here we pipe the A and C of individual NM to the "master" arrays
+         dget(t,"A").add_dependency(dget(self,"A"))
+         dget(t,"A")._func = make_Agetter(it)
+         dget(t,"C").add_dependency(dget(self,"C"))
+         dget(t,"C")._func = make_Cgetter(it)
+         dget(self,"ethermo").add_dependency(dget(t,"ethermo"))
+         it += 1
+
+      # since the ethermo will be "delegated" to the normal modes thermostats,
+      # one has to split
+      # any previously-stored value between the sub-thermostats
+      for t in self._thermos:
+         t.ethermo = prev_ethermo/self.nb
+
+      dget(self,"ethermo")._func = self.get_ethermo;
+
+   def step(self):
+      """Updates the thermostat in NM representation by looping over the
+      individual DOFs.
+      """
+
+      for t in self._thermos:
+         t.step()
+
+   def get_ethermo(self):
+      """Computes the total energy transferred to the heat bath for all the nm
+      thermostats.
+      """
+
+      et = 0.0;
+      for t in self._thermos:
+         et += t.ethermo
+      return et
+
+
+class ThermoNMGLEG(ThermoNMGLE):
+   """Represents a 'normal-modes' GLE thermostat + SVR.
+
+   An extension to the above NMGLE thermostat which also adds a stochastic velocity
+   rescaling to the centroid.
+
+   Depend objects:
+      tau: Thermostat damping time scale. Larger values give a less strongly
+         coupled thermostat.
+   """
+
+   def __init__(self, temp = 1.0, dt = 1.0, A = None, C = None, tau=1.0, ethermo=0.0):
+
+      super(ThermoNMGLEG,self).__init__(temp, dt, A, C, ethermo)
+      dset(self,"tau",depend_value(value=tau,name='tau'))
+
+   def bind(self, nm=None, prng=None, fixdof=None):
+      """Binds the appropriate degrees of freedom to the thermostat.
+
+      This takes an object with degrees of freedom, and makes their momentum
+      and mass vectors members of the thermostat. It also then creates the
+      objects that will hold the data needed in the thermostat algorithms
+      and the dependency network. Actually, this specific thermostat requires
+      being called on a beads object.
+
+      Args:
+         nm: An optional normal modes object to take the mass and momentum
+            vectors from.
+         prng: An optional pseudo random number generator object. Defaults to
+            Random().
+         fixdof: An optional integer which can specify the number of constraints
+            applied to the system. Defaults to zero.
+      """
+
+      super(ThermoNMGLEG,self).bind(nm, prng, fixdof)
+
+      t = ThermoSVR(self.temp, self.dt, self.tau)
+
+      t.bind(pm=(nm.pnm[0,:],nm.dynm3[0,:]), prng=self.prng) # bind global thermostat to centroid
+
+      # pipes temp and dt
+      deppipe(self,"temp", t, "temp")
+      deppipe(self,"dt", t, "dt")
+      deppipe(self,"tau", t, "tau")
+
+      dget(self,"ethermo").add_dependency(dget(t,"ethermo"))
+      self._thermos.append(t)
+
diff --git a/tools/i-pi/ipi/inputs/README b/tools/i-pi/ipi/inputs/README
new file mode 100644
index 0000000000..547884031d
--- /dev/null
+++ b/tools/i-pi/ipi/inputs/README
@@ -0,0 +1,24 @@
+ -- Input files directory --
+
+ * This is the directory containing the input classes.
+
+ * Files:
+   - atoms.py: Creates objects that deal with classical simulations.
+   - barostats.py: Creates objects that deal with constant pressure and 
+      stress simulations.
+   - beads.py: Creates objects that deal with quantum simulations.
+   - cell.py: Creates objects that deal with the simulation box.
+   - ensembles.py: Creates objects that deal with the different ensembles.
+   - forces.py: Creates objects that deal with the jobs to send to 
+      the driver code.
+   - initializer.py: Creates the objects that deal with initializing the
+      simulation.
+   - interface.py: Creates objects that deal with socket creation.
+   - normalmodes.py: Creates the objects that deal with the normal mode
+      transformation.
+   - outputs.py: Creates objects that deal with output files.
+   - prng.py: Creates the objects that deal with random number generation.
+   - simulation.py: Creates objects that deal with all the top level 
+      information, such as input/output.
+   - thermostats.py: Creates objects that deal with constant temperature 
+      simulations.
diff --git a/tools/i-pi/ipi/inputs/__init__.py b/tools/i-pi/ipi/inputs/__init__.py
new file mode 100644
index 0000000000..8e5fcd5089
--- /dev/null
+++ b/tools/i-pi/ipi/inputs/__init__.py
@@ -0,0 +1,3 @@
+__all__ = [ 'barostats', 'cell', 'simulation', 'ensembles', 'thermostats',
+            'interface', 'forces', 'atoms', 'beads', 'prng', 'outputs', 
+            'normalmodes', 'initializer']
diff --git a/tools/i-pi/ipi/inputs/atoms.py b/tools/i-pi/ipi/inputs/atoms.py
new file mode 100644
index 0000000000..6068be1961
--- /dev/null
+++ b/tools/i-pi/ipi/inputs/atoms.py
@@ -0,0 +1,121 @@
+"""Deals with creating the atoms class.
+
+Copyright (C) 2013, Joshua More and Michele Ceriotti
+
+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 3 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/>.
+
+
+Generates an atoms class either from a set of positions and momenta.
+This class is only used if no beads tag is present in the xml file.
+
+Classes:
+   InputAtoms: Deals with creating the Atoms object from a file, and
+      writing the checkpoints.
+"""
+
+import numpy as np
+from ipi.engine.atoms import *
+from ipi.utils.inputvalue import *
+from ipi.utils.depend import *
+from ipi.utils.units import unit_to_internal
+
+__all__ = ['InputAtoms']
+
+class InputAtoms(Input):
+   """Atoms input class.
+
+   Handles generating the appropriate atoms class from the xml input file,
+   and generating the xml checkpoint tags and data from an instance of the
+   object.
+
+   Attributes:
+      natoms: An optional integer giving the number of atoms. Defaults to 0.
+      q: An optional array giving the atom positions. Defaults to an empty
+         array with no elements.
+      p: An optional array giving the atom momenta. Defaults to an empty
+         array with no elements.
+      m: An optional array giving the atom masses. Defaults to an empty
+         array with no elements.
+      names: An optional array giving the atom names. Defaults to an empty
+         array with no elements
+   """
+
+   fields={ "natoms"    : (InputValue, {"dtype"     : int,
+                                        "default"   : 0,
+                                        "help"      : "The number of atoms." }),
+            "q"         : (InputArray, {"dtype"     : float,
+                                        "default"   : input_default(factory=np.zeros, args=(0,)),
+                                        "help"      : "The positions of the atoms, in the format [x1, y1, z1, x2, ... ].",
+                                        "dimension" : "length" }),
+            "p"         : (InputArray, {"dtype"     : float,
+                                        "default"   : input_default(factory=np.zeros, args=(0,)),
+                                        "help"      : "The momenta of the atoms, in the format [px1, py1, pz1, px2, ... ].",
+                                        "dimension" : "momentum" }),
+            "m"         : (InputArray, {"dtype"     : float,
+                                        "default"   : input_default(factory=np.zeros, args=(0,)),
+                                        "help"      : "The masses of the atoms, in the format [m1, m2, ... ].",
+                                        "dimension" : "mass" }),
+            "names"     : (InputArray, {"dtype"     : str,
+                                        "default"   : input_default(factory=np.zeros, args=(0,), kwargs = {'dtype': np.dtype('|S6')}),
+                                        "help"      : "The names of the atoms, in the format [name1, name2, ... ]." })
+         }
+
+   default_help = "Deals with a single replica of the system or classical simulations."
+   default_label = "ATOMS"
+
+   def store(self, atoms):
+      """Takes an Atoms instance and stores a minimal representation of it.
+
+      Args:
+         atoms: An Atoms object from which to initialise from.
+         filename: An optional string giving a filename to take the atom
+            positions from. Defaults to ''.
+      """
+
+      super(InputAtoms,self).store()
+      self.natoms.store(atoms.natoms)
+      self.q.store(depstrip(atoms.q))
+      self.p.store(depstrip(atoms.p))
+      self.m.store(depstrip(atoms.m))
+      self.names.store(depstrip(atoms.names))
+
+   def fetch(self):
+      """Creates an atoms object.
+
+      Returns:
+         An atoms object of the appropriate type and with the appropriate
+         properties given the attributes of the InputAtoms object.
+      """
+
+      super(InputAtoms,self).fetch()
+      atoms = Atoms(self.natoms.fetch())
+      atoms.q = self.q.fetch()
+      atoms.p = self.p.fetch()
+      atoms.m = self.m.fetch()
+      atoms.names = self.names.fetch()
+      return atoms
+
+   def write(self,  name="", indent=""):
+      """Overloads Input write() function so that nothing is written if
+      no atoms are present. This occurs if the beads object has been specified,
+      so that the classical atoms object is not initialized.
+
+      Returns:
+         A string giving the appropriate xml tags for the checkpoint file.
+      """
+
+      if self.natoms.fetch() > 0:
+         return super(InputAtoms,self).write(name=name,indent=indent)
+      else:
+         return ""
diff --git a/tools/i-pi/ipi/inputs/barostats.py b/tools/i-pi/ipi/inputs/barostats.py
new file mode 100644
index 0000000000..84d0d83f43
--- /dev/null
+++ b/tools/i-pi/ipi/inputs/barostats.py
@@ -0,0 +1,107 @@
+"""Deals with creating the barostat class.
+
+Copyright (C) 2013, Joshua More and Michele Ceriotti
+
+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 3 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/>.
+
+
+Classes:
+   InputBaro: Deals with creating the Barostat object from a file, and
+      writing the checkpoints.
+"""
+
+import numpy as np
+import ipi.engine.thermostats
+from ipi.engine.barostats import *
+from ipi.utils.inputvalue import *
+from ipi.inputs.thermostats import *
+
+__all__ = ['InputBaro']
+
+class InputBaro(Input):
+   """Barostat input class.
+
+   Handles generating the appropriate barostat class from the xml input file,
+   and generating the xml checkpoint tags and data from an
+   instance of the object.
+
+   Attributes:
+      mode: An optional string giving the type of barostat used. Defaults to
+         'rigid'.
+
+   Fields:
+      thermostat: A thermostat object giving the cell thermostat.
+      tau: The time constant associated with the dynamics of the piston.
+      p: The conjugate momentum to the volume degree of freedom.
+   """
+
+   attribs={ "mode": (InputAttribute, {"dtype"    : str,
+                                   "default" : "dummy",
+                                   "help"     : """The type of barostat.  Currently, only a 'isotropic' barostat is implemented, that combines
+                                   ideas from the Bussi-Zykova-Parrinello barostat for classical MD with ideas from the
+                                   Martyna-Hughes-Tuckerman centroid barostat for PIMD; see Ceriotti, More, Manolopoulos, Comp. Phys. Comm. 2013 for
+                                   implementation details.""",
+                                   "options"  : ["dummy", "isotropic"]}) }
+   fields={ "thermostat": (InputThermo, {"default" : input_default(factory=ipi.engine.thermostats.Thermostat),
+                                         "help"    : "The thermostat for the cell. Keeps the cell velocity distribution at the correct temperature. Note that the 'pile_l', 'pile_g', 'nm_gle' and 'nm_gle_g' options will not work for this thermostat."}),
+            "tau": (InputValue, {"default" : 1.0,
+                                  "dtype" : float,
+                                  "dimension" : "time",
+                                  "help"    : "The time constant associated with the dynamics of the piston."}),
+            "p": (InputArray, {  "dtype"     : float,
+                                 "default"   : input_default(factory=np.zeros, args = (0,)),
+                                 "help"      : "Momentum (or momenta) of the piston.",
+                                 "dimension" : "momentum" })
+           }
+
+   default_help = "Simulates an external pressure bath."
+   default_label = "BAROSTAT"
+
+   def store(self, baro):
+      """Takes a barostat instance and stores a minimal representation of it.
+
+      Args:
+         baro: A barostat object.
+      """
+
+      super(InputBaro,self).store(baro)
+      self.thermostat.store(baro.thermostat)
+      self.tau.store(baro.tau)
+      if type(baro) is BaroBZP:
+         self.mode.store("isotropic")
+         self.p.store(baro.p)
+      elif type(baro) is Barostat:
+         self.mode.store("dummy")
+      else:
+         raise TypeError("The type " + type(baro).__name__ + " is not a valid barostat type")
+
+
+   def fetch(self):
+      """Creates a barostat object.
+
+      Returns:
+         A barostat object of the appropriate type and with the appropriate
+         thermostat given the attributes of the InputBaro object.
+      """
+
+      super(InputBaro,self).fetch()
+      if self.mode.fetch() == "isotropic":
+         baro = BaroBZP(thermostat=self.thermostat.fetch(), tau=self.tau.fetch())
+         if self.p._explicit: baro.p = self.p.fetch()
+      elif self.mode.fetch() == "dummy":
+         baro = Barostat(thermostat=self.thermostat.fetch(), tau=self.tau.fetch())
+      else:
+         raise ValueError(self.mode.fetch() + " is not a valid mode of barostat")
+
+      return baro
diff --git a/tools/i-pi/ipi/inputs/beads.py b/tools/i-pi/ipi/inputs/beads.py
new file mode 100644
index 0000000000..f4caafcbb9
--- /dev/null
+++ b/tools/i-pi/ipi/inputs/beads.py
@@ -0,0 +1,137 @@
+"""Deals with creating the beads class.
+
+Copyright (C) 2013, Joshua More and Michele Ceriotti
+
+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 3 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/>.
+
+
+Classes:
+   InputBeads: Deals with creating the Beads object from a file, and
+      writing the checkpoints.
+"""
+
+import numpy as np
+from ipi.engine.beads import *
+from ipi.engine.atoms import Atoms
+from ipi.utils.inputvalue import *
+from ipi.utils.depend import *
+from ipi.utils.units import *
+from ipi.inputs.atoms import *
+
+__all__ = ['InputBeads']
+
+class InputBeads(Input):
+   """Beads input class.
+
+   Handles generating the appropriate beads class from the xml input file,
+   and generating the xml checkpoint tags and data from an instance of the
+   object.
+
+   Attributes:
+      nbeads: An optional integer giving the number of beads. Defaults to 0.
+      natoms: An optional integer giving the number of atoms. Defaults to 0.
+
+   Fields:
+      q: An optional array giving the bead positions. Defaults to an empty
+         array with no elements.
+      p: An optional array giving the bead momenta. Defaults to an empty
+         array with no elements.
+      m: An optional array giving the bead masses. Defaults to an empty array
+         with no elements.
+      names: An optional array giving the bead names. Defaults to an empty
+         array with no elements.
+   """
+
+   attribs = { "natoms"  : (InputAttribute, {"dtype" : int,  "default"   : 0,
+                                             "help"  : "The number of atoms."}),
+               "nbeads"  : (InputAttribute, {"dtype" : int,  "default"   : 0,
+                                             "help"  : "The number of beads."})
+            }
+   fields={ "q"     : (InputArray, {"dtype"     : float,
+                                    "default"   : input_default(factory=np.zeros, args = (0,)),
+                                    "help"      : "The positions of the beads. In an array of size [nbeads, 3*natoms].",
+                                    "dimension" : "length"}),
+            "p"     : (InputArray, {"dtype"     : float,
+                                    "default"   : input_default(factory=np.zeros, args = (0,)),
+                                    "help"      : "The momenta of the beads. In an array of size [nbeads, 3*natoms].",
+                                    "dimension" : "momentum"}),
+            "m"     : (InputArray, {"dtype"     : float,
+                                    "default"   : input_default(factory=np.zeros, args = (0,)),
+                                    "help"      : "The masses of the atoms, in the format [m1, m2, ... ].",
+                                    "dimension" : "mass"}),
+            "names" : (InputArray, {"dtype"     : str,
+                                    "default"   : input_default(factory=np.zeros, args=(0,), kwargs={'dtype': np.dtype('|S6')}),
+                                    "help"      : "The names of the atoms, in the format [name1, name2, ... ]."})  }
+
+   default_help = "Describes the bead configurations in a path integral simulation."
+   default_label = "BEADS"
+
+
+   def store(self, beads):
+      """Takes a Beads instance and stores a minimal representation of it.
+
+      Args:
+         beads: A Beads object from which to initialise from.
+      """
+
+      super(InputBeads,self).store()
+      self.natoms.store(beads.natoms)
+      self.nbeads.store(beads.nbeads)
+
+      self.q.store(depstrip(beads.q))
+      self.p.store(depstrip(beads.p))
+      self.m.store(depstrip(beads.m))
+      self.names.store(depstrip(beads.names))
+
+   def fetch(self):
+      """Creates a beads object.
+
+      Returns:
+         A beads object of the appropriate type and with the appropriate
+         properties given the attributes of the InputBeads object.
+      """
+
+      super(InputBeads,self).fetch()
+      beads = Beads(self.natoms.fetch(),self.nbeads.fetch())
+
+      # tries to fill up with as much data as available and valid
+      q = self.q.fetch()
+      if (q.shape == (beads.nbeads,3*beads.natoms)):
+         beads.q = q
+      elif (beads.nbeads == 1 and q.shape == (3*beads.natoms,)):
+         beads.q = q
+      elif len(q) != 0:
+         raise ValueError("Array shape mismatches for q in <beads> input.")
+
+      p = self.p.fetch()
+      if (p.shape == (beads.nbeads,3*beads.natoms)):
+         beads.p = p
+      elif (beads.nbeads == 1 and p.shape == (3*beads.natoms,)):
+         beads.p = p
+      elif len(p) != 0:
+         raise ValueError("Array shape mismatches for p in <beads> input.")
+
+      m = self.m.fetch()
+      if (m.shape == (beads.natoms,)):
+         beads.m = m
+      elif len(m) != 0:
+         raise ValueError("Array shape mismatches for m in <beads> input.")
+
+      n = self.names.fetch()
+      if (n.shape == (beads.natoms,)):
+         beads.names = n
+      elif len(n) != 0:
+         raise ValueError("Array shape mismatches for names in <beads> input.")
+
+      return beads
diff --git a/tools/i-pi/ipi/inputs/cell.py b/tools/i-pi/ipi/inputs/cell.py
new file mode 100644
index 0000000000..9b316ef92f
--- /dev/null
+++ b/tools/i-pi/ipi/inputs/cell.py
@@ -0,0 +1,77 @@
+"""Deals with creating the cell class.
+
+Copyright (C) 2013, Joshua More and Michele Ceriotti
+
+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 3 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/>.
+
+
+Generates an cell class from a cell vector.
+
+Classes:
+   InputCell: Deals with creating the Cell object from a file, and
+      writing the checkpoints.
+"""
+
+import numpy as np
+from copy import copy
+from ipi.engine.cell import *
+from ipi.utils.inputvalue import *
+from ipi.utils.units import UnitMap
+from ipi.utils.messages import verbosity, warning
+
+__all__ = [ 'InputCell' ]
+
+class InputCell(InputArray):
+   """Cell input class.
+
+   Handles generating the appropriate cell class from the xml input file,
+   and generating the xml checkpoint tags and data from an instance of the
+   object.
+   """
+
+   attribs = copy(InputArray.attribs)
+
+   default_help = "Deals with the cell parameters. Takes as array which can be used to initialize the cell vector matrix."
+   default_label = "CELL"
+
+   def __init__(self, help=None, dimension=None, units=None, default=None, dtype=None):
+      """Initializes InputCell.
+
+      Just calls the parent initialization function with appropriate arguments.
+      """
+
+      super(InputCell,self).__init__(dtype=float, dimension="length", default=default, help=help)
+
+   def store(self, cell):
+      """Takes a Cell instance and stores of minimal representation of it.
+
+      Args:
+         cell: A cell object.
+      """
+
+      super(InputCell,self).store(cell.h)
+      self.shape.store((3,3))
+
+   def fetch(self):
+      """Creates a cell object.
+
+      Returns:
+         A cell object of the appropriate type and with the appropriate
+         properties given the attributes of the InputCell object.
+      """
+
+      h = super(InputCell,self).fetch()
+      h.shape = (3,3)
+
+      return Cell(h=h)
diff --git a/tools/i-pi/ipi/inputs/ensembles.py b/tools/i-pi/ipi/inputs/ensembles.py
new file mode 100644
index 0000000000..4a5519fff7
--- /dev/null
+++ b/tools/i-pi/ipi/inputs/ensembles.py
@@ -0,0 +1,185 @@
+"""Deals with creating the ensembles class.
+
+Copyright (C) 2013, Joshua More and Michele Ceriotti
+
+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 3 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/>.
+
+
+Classes:
+   InputEnsemble: Deals with creating the Ensemble object from a file, and
+      writing the checkpoints.
+"""
+
+import numpy as np
+import ipi.engine.thermostats
+import ipi.engine.initializer
+import ipi.engine.barostats
+from ipi.engine.ensembles import *
+from ipi.utils.inputvalue import *
+from ipi.inputs.barostats import *
+from ipi.inputs.thermostats import *
+from ipi.inputs.initializer import *
+from ipi.utils.units import *
+
+__all__ = ['InputEnsemble']
+
+class InputEnsemble(Input):
+   """Ensemble input class.
+
+   Handles generating the appropriate ensemble class from the xml input file,
+   and generating the xml checkpoint tags and data from an instance of the
+   object.
+
+   Attributes:
+      mode: An optional string giving the mode of ensemble to be simulated.
+         Defaults to 'unknown'.
+
+   Fields:
+      thermostat: The thermostat to be used for constant temperature dynamics.
+      barostat: The barostat to be used for constant pressure or stress
+         dynamics.
+      timestep: An optional float giving the size of the timestep in atomic
+         units. Defaults to 1.0.
+      temperature: An optional float giving the temperature in Kelvin. Defaults
+         to 1.0.
+      pressure: An optional float giving the external pressure in atomic units.
+         Defaults to 1.0.
+      fixcom: An optional boolean which decides whether the centre of mass
+         motion will be constrained or not. Defaults to False.
+      replay_file: An optional string that gives an input file name to get
+         a trajectory to be re-run.
+   """
+
+   attribs={"mode"  : (InputAttribute, {"dtype"   : str,
+                                    "help"    : "The ensemble that will be sampled during the simulation. 'replay' means that a simulation is restarted from a previous simulation.",
+                                    "options" : ['nve', 'nvt', 'npt', 'replay']}) }
+   fields={"thermostat" : (InputThermo, {"default"   : input_default(factory=ipi.engine.thermostats.Thermostat),
+                                         "help"      : "The thermostat for the atoms, keeps the atom velocity distribution at the correct temperature."} ),
+           "barostat" : (InputBaro, {"default"       : input_default(factory=ipi.engine.barostats.Barostat),
+                                     "help"          : InputBaro.default_help}),
+           "timestep": (InputValue, {"dtype"         : float,
+                                     "default"       : 1.0,
+                                     "help"          : "The time step.",
+                                     "dimension"     : "time"}),
+           "temperature" : (InputValue, {"dtype"     : float,
+                                         "default"   : 1.0,
+                                         "help"      : "The temperature of the system.",
+                                         "dimension" : "temperature"}),
+           "pressure" : (InputValue, {"dtype"        : float,
+                                      "default"      : 1.0,
+                                      "help"         : "The external pressure.",
+                                      "dimension"    : "pressure"}),
+           "fixcom": (InputValue, {"dtype"           : bool,
+                                   "default"         : True,
+                                   "help"            : "This describes whether the centre of mass of the particles is fixed."}),
+           "replay_file": (InputInitFile, {"default" : input_default(factory=ipi.engine.initializer.InitBase),
+                           "help"            : "This describes the location to read a trajectory file from."})
+         }
+
+   default_help = "Holds all the information that is ensemble specific, such as the temperature and the external pressure, and the thermostats and barostats that control it."
+   default_label = "ENSEMBLE"
+
+   def store(self, ens):
+      """Takes an ensemble instance and stores a minimal representation of it.
+
+      Args:
+         ens: An ensemble object.
+      """
+
+      super(InputEnsemble,self).store(ens)
+      if type(ens) is ReplayEnsemble:
+         self.mode.store("rerun")
+         tens = 0
+      elif type(ens) is NVEEnsemble:
+         self.mode.store("nve")
+         tens = 1
+      elif type(ens) is NVTEnsemble:
+         self.mode.store("nvt")
+         tens = 2
+      elif type(ens) is NPTEnsemble:
+         self.mode.store("npt")
+         tens = 3
+
+      self.timestep.store(ens.dt)
+      self.temperature.store(ens.temp)
+
+      if tens == 0:
+         self.replay_file.store(ens.intraj)
+      if tens > 1:
+         self.thermostat.store(ens.thermostat)
+         self.fixcom.store(ens.fixcom)
+      if tens > 2:
+         self.barostat.store(ens.barostat)
+      if tens == 3:
+         self.pressure.store(ens.pext)
+
+
+   def fetch(self):
+      """Creates an ensemble object.
+
+      Returns:
+         An ensemble object of the appropriate mode and with the appropriate
+         objects given the attributes of the InputEnsemble object.
+      """
+
+      super(InputEnsemble,self).fetch()
+
+      if self.mode.fetch() == "nve" :
+         ens = NVEEnsemble(dt=self.timestep.fetch(),
+            temp=self.temperature.fetch(), fixcom=self.fixcom.fetch())
+      elif self.mode.fetch() == "nvt" :
+         ens = NVTEnsemble(dt=self.timestep.fetch(),
+            temp=self.temperature.fetch(), thermostat=self.thermostat.fetch(), fixcom=self.fixcom.fetch())
+      elif self.mode.fetch() == "npt" :
+         ens = NPTEnsemble(dt=self.timestep.fetch(),
+            temp=self.temperature.fetch(), thermostat=self.thermostat.fetch(), fixcom=self.fixcom.fetch(),
+                  pext=self.pressure.fetch(), barostat=self.barostat.fetch() )
+      elif self.mode.fetch() == "replay":
+         ens = ReplayEnsemble(dt=self.timestep.fetch(),
+            temp=self.temperature.fetch(),fixcom=False,intraj=self.replay_file.fetch() )
+      else:
+         raise ValueError("'" + self.mode.fetch() + "' is not a supported ensemble mode.")
+
+      return ens
+
+   def check(self):
+      """Function that deals with optional arguments.
+
+      Makes sure that if the ensemble requires a thermostat or barostat that
+      they have been defined by the user and not given the default values.
+      """
+
+      super(InputEnsemble,self).check()
+      if self.mode.fetch() == "nvt":
+         if self.thermostat._explicit == False:
+            raise ValueError("No thermostat tag supplied for NVT simulation")
+      if self.mode.fetch() == "npt":
+         if self.thermostat._explicit == False:
+            raise ValueError("No thermostat tag supplied for NPT simulation")
+         if self.barostat._explicit == False:
+            raise ValueError("No barostat tag supplied for NPT simulation")
+         if self.barostat.thermostat._explicit == False:
+            raise ValueError("No thermostat tag supplied in barostat for NPT simulation")
+
+      if self.timestep.fetch() <= 0:
+         raise ValueError("Non-positive timestep specified.")
+      if self.temperature.fetch() <= 0:
+            raise ValueError("Non-positive temperature specified.")
+
+      if self.mode.fetch() == "npt":
+         if not self.pressure._explicit:
+            raise ValueError("Pressure should be supplied for constant pressure simulation")
+      if self.mode.fetch() == "npt" or self.mode.fetch() == "nvt":
+         if not self.temperature._explicit:
+            raise ValueError("Temperature should be supplied for constant temperature simulation")
diff --git a/tools/i-pi/ipi/inputs/forces.py b/tools/i-pi/ipi/inputs/forces.py
new file mode 100644
index 0000000000..d343e19e0f
--- /dev/null
+++ b/tools/i-pi/ipi/inputs/forces.py
@@ -0,0 +1,176 @@
+"""Deals with creating the forcefield class.
+
+Copyright (C) 2013, Joshua More and Michele Ceriotti
+
+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 3 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/>.
+
+
+Classes:
+   InputForces: Deals with creating all the forcefield objects.
+   InputForceBeads: Base class to deal with one particular forcefield object.
+   InputFBSocket: Deals with creating a forcefield using sockets.
+"""
+
+__all__ = ['InputForces', 'InputForceBeads', "InputFBSocket"]
+
+from copy import copy
+from ipi.engine.forces import *
+from ipi.inputs.interface import InputInterfaceSocket
+from ipi.utils.inputvalue import *
+
+class InputForceBeads(Input):
+   """ForceBeads input class.
+
+   Handles generating one instance of a particular forcefield class from the xml
+   input file, and generating the xml checkpoint tags and data from an
+   instance of the object.
+
+   Attributes:
+      nbeads: The number of beads that the forcefield will be evaluated on.
+      weight: A scaling factor for the contribution from this forcefield.
+   """
+
+   attribs = { "nbeads" : ( InputAttribute, { "dtype"   : int,
+                                         "default" : 0,
+                                         "help"    : "If the forcefield is to be evaluated on a contracted ring polymer, this gives the number of beads that are used. If not specified, the forcefield will be evaluated on the full ring polymer." } ),
+               "weight" : ( InputAttribute, { "dtype"   : float,
+                                         "default" : 1.0,
+                                         "help"    : "A scaling factor for this forcefield, to be applied before adding the force calculated by this forcefield to the total force." } )
+            }
+
+   default_help = "Base class that deals with the assigning of force calculation jobs and collecting the data."
+   default_label = "FORCEBEADS"
+
+   def store(self, forceb):
+      """Takes a ForceBeads instance and stores a minimal representation of it.
+
+      Args:
+         forceb: A ForceBeads object.
+      """
+
+      Input.store(self,forceb)
+      self.nbeads.store(forceb.nbeads)
+      self.weight.store(forceb.weight)
+
+   def fetch(self):
+      """Creates a ForceBeads object.
+
+      Returns:
+         A ForceBeads object.
+      """
+
+      super(InputForceBeads,self).fetch()
+
+      return ForceBeads(model=ForceField(), nbeads=self.nbeads.fetch(), weight=self.weight.fetch())
+
+   def check(self):
+      """Checks for optional parameters."""
+
+      super(InputForceBeads,self).check()
+      if self.nbeads.fetch() < 0:
+         raise ValueError("The forces must be evaluated over a positive number of beads.")
+
+
+class InputFBSocket(InputForceBeads, InputInterfaceSocket):
+   """Creates a ForceBeads object with a socket interface.
+
+   Handles generating one instance of a socket interface forcefield class.
+   Shares its attributes between InputForceBeads, which deals with creating the
+   forcefield, and InputInterfaceSocket, which deals with creating the socket
+   interface.
+   """
+
+   attribs = copy(InputInterfaceSocket.attribs)
+   attribs.update(InputForceBeads.attribs)
+
+   default_help = "Deals with the assigning of force calculation jobs to different driver codes, and collecting the data, using a socket for the data communication."
+   default_label = "SOCKET"
+
+   def store(self, forceb):
+      """Takes a ForceField instance and stores a minimal representation of it.
+
+      Args:
+         forceb: A ForceBeads object with a FFSocket forcemodel object.
+      """
+
+      if (not type(forceb.f_model) is FFSocket):
+         raise TypeError("The type " + type(forceb.f_model).__name__ + " is not a valid socket forcefield")
+
+      InputForceBeads.store(self,forceb)
+      InputInterfaceSocket.store(self,forceb.f_model.socket)
+
+   def fetch(self):
+      """Creates a ForceBeads object.
+
+      Returns:
+         A ForceBeads object with the correct socket parameters.
+      """
+
+      return ForceBeads(model=FFSocket( interface=InputInterfaceSocket.fetch(self) ),nbeads=self.nbeads.fetch(),weight=self.weight.fetch() )
+
+   def check(self):
+      """Deals with optional parameters."""
+
+      InputInterfaceSocket.check(self)
+      InputForceBeads.check(self)
+
+
+class InputForces(Input):
+   """Deals with creating all the forcefield objects required in the
+   simulation.
+
+   Dynamic fields:
+      socket: Socket object to create the server socket.
+   """
+
+   #At the moment only socket driver codes implemented, other types
+   #could be used in principle
+   dynamic = {  "socket" : (InputFBSocket, { "help" : InputFBSocket.default_help } )
+            }
+
+   default_help = "Deals with creating all the necessary forcefield objects."
+   default_label = "FORCES"
+
+   def fetch(self):
+      """Returns a list of the output objects included in this dynamic
+      container.
+
+      Returns:
+         A list of tuples, with each tuple being of the form ('type', 'object'),
+         where 'type' is the type of forcefield, and 'object' is a
+      """
+
+      super(InputForces, self).fetch()
+      flist = [ (n, f.fetch()) for (n, f) in self.extra ]
+
+      return flist
+
+   def store(self, flist):
+      """Stores a list of the output objects, creating a sequence of
+      dynamic containers.
+
+      Args:
+         flist: A list of tuples, with each tuple being of the form
+         ('type', 'object') where 'type' is the type of forcefield
+         and 'object' is a forcefield object of that type.
+      """
+
+      super(InputForces, self).store()
+      self.extra = []
+
+      for el in flist:
+         if el[0]=="socket":
+            iff = InputFBSocket()
+            iff.store(el[1])
+            self.extra.append(("socket", iff))
diff --git a/tools/i-pi/ipi/inputs/initializer.py b/tools/i-pi/ipi/inputs/initializer.py
new file mode 100644
index 0000000000..f78a617e2a
--- /dev/null
+++ b/tools/i-pi/ipi/inputs/initializer.py
@@ -0,0 +1,406 @@
+"""Deals with creating the initiliazer class.
+
+Copyright (C) 2013, Joshua More and Michele Ceriotti
+
+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 3 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/>.
+
+
+Classes:
+   InputInitializer: Initializes the classes that initialize the simulation
+      data.
+   InputInitFile: Initializes the classes that initialize the simulation data
+      from a file. Rather than initializing one piece of data, everything that
+      can be initialized from that file will be.
+   InputInitPositions: Initializes the positions.
+   InputInitMomenta: Initializes the momenta.
+   InputInitVelocities: Initializes the velocities.
+   InputInitMasses: Initializes the masses.
+   InputInitLabels: Initializes the atom labels.
+   InputInitCell: Initializes the cell.
+   InputInitThermo: Initializes the thermostat.
+   InputInitBase: The base class for all Initializer objects.
+   InputInitIndexed: The class for all Initializer objects which can be called
+      to initialize data for a particular atom or bead.
+"""
+
+import numpy as np
+from copy import copy, deepcopy
+import ipi.utils.mathtools as mt
+import ipi.engine.initializer as ei
+from ipi.utils.inputvalue import *
+from ipi.inputs.beads import InputBeads
+from ipi.inputs.cell import InputCell
+from ipi.utils.io import io_xml
+from ipi.utils.messages import verbosity, warning
+
+__all__ = ['InputInitializer', 'InputInitFile', 'InputInitPositions', 'InputInitMomenta', 'InputInitVelocities', 'InputInitMasses', 'InputInitLabels', 'InputInitCell', 'InputInitThermo']
+
+class InputInitBase(InputValue):
+   """Base class to handle initialization.
+
+   Attributes:
+      mode: The type of data to be initialized from.
+      _initclass: Which InputInit class to use to read the data.
+      _storageclass: Which data type to use to hold the data.
+   """
+
+   attribs = deepcopy(InputValue.attribs)
+   attribs["mode"] =     (InputAttribute,{ "dtype" : str, "default": "other", "help": "The input data format. 'xyz' and 'pdb' stand for xyz and pdb input files respectively. 'chk' stands for initialization from a checkpoint file. 'manual' means that the value to initialize from is giving explicitly as a vector. 'thermal' means that the data is to be generated from a Maxwell-Boltzmann distribution at the given temperature.", "options": None } )
+
+   default_label = "INITBASE"
+   default_help = "This is the base class for initialization. Initializers for different aspects of the simulation can be inherit for it for the base methods."
+
+   _initclass    = ei.InitBase
+   _storageclass = float
+
+   def __init__(self, help=None, default=None, dtype=None, options=None, dimension=None):
+      """Initializes InputInitFile.
+
+      Just calls the parent initialize function with appropriate arguments.
+      """
+
+      super(InputInitBase,self).__init__(dtype=str, dimension=dimension, default=default, options=options, help=help)
+
+   def store(self, ibase):
+      """Takes a InitBase instance and stores a minimal representation of it.
+
+      Args:
+         ibase: An input base object.
+      """
+
+      if ibase.mode == "manual":
+         if hasattr(value, __len__):
+            value = io_xml.write_list(ibase.value)
+         else:  # if it's a single value then just write the value
+            value = io_xml.write_type(self._storageclass, ibase.value)
+      else:  # just store the value as a string
+         value = ibase.value
+
+      super(InputInitBase,self).store(value, units=ibase.units)
+
+      for k in self.attribs:  # store additional attributes from the input class
+         self.__dict__[k].store(ibase.__dict__[k])
+
+   def getval(self):
+      """Calculates the value from the data supplied in the xml file.
+
+      Either reads the string from the input file as an array of numbers,
+      or as a string specifying either a file name or a single value.
+      """
+
+      value = super(InputInitBase,self).fetch()
+      if self.mode.fetch() == "manual":
+         if '[' in value and ']' in value: # value appears to be a list
+            if self._storageclass is float:
+               value = io_xml.read_array(np.float, value)
+            else:
+               value = io_xml.read_list(value)
+         else:
+            value = io_xml.read_type(self._storageclass, value)
+      else:
+         value = str(value)  # typically this will be a no-op
+      return value
+
+   def fetch(self, initclass=None):
+      """Creates an input base object.
+
+      Returns:
+         An input base object.
+      """
+
+      rdict = {}
+      for k in self.attribs:
+         rdict[k] = self.__dict__[k].fetch()
+
+      if initclass is None: # allows for some flexibility in return class
+         initclass = self._initclass
+
+      return initclass(value=self.getval(), **rdict)
+
+
+class InputInitFile(InputInitBase):
+   """Class to handle initialization from a file."""
+
+   attribs = deepcopy(InputInitBase.attribs)
+   attribs["mode"][1]["default"] = "chk"
+   attribs["mode"][1]["options"] = ["xyz", "pdb", "chk"]
+   attribs["mode"][1]["help"] = "The input data format. 'xyz' and 'pdb' stand for xyz and pdb input files respectively. 'chk' stands for initialization from a checkpoint file."
+
+   default_label = "INITFILE"
+   default_help = "This is the class to initialize from file."
+
+
+class InputInitThermo(InputInitBase):
+   """Class to handle initialization of the thermostat."""
+
+   attribs = deepcopy(InputInitBase.attribs)
+   attribs["mode"][1]["default"] = "manual"
+   attribs["mode"][1]["options"] = ["chk", "manual"]
+   attribs["mode"][1]["help"] = "'chk' stands for initialization from a checkpoint file. 'manual' means that the value to initialize from is giving explicitly as a vector."
+
+   default_label = "INITTHERMO"
+   default_help = "This is the class to initialize the thermostat (ethermo and fictitious momenta)."
+
+
+class InputInitIndexed(InputInitBase):
+   """Class to handle initialization of properties which the value of each
+   bead and atom can be specified.
+
+   Attributes:
+      index: Which atom to initialize the value of.
+      bead: Which bead to initialize the value of.
+   """
+
+   attribs = deepcopy(InputInitBase.attribs)
+   attribs["index"] =     (InputAttribute,{ "dtype" : int, "default": -1, "help": "The index of the atom for which the value will be set. If a negative value is specified, then all atoms are assumed." } )
+   attribs["bead"]  =     (InputAttribute,{ "dtype" : int, "default": -1, "help": "The index of the bead for which the value will be set. If a negative value is specified, then all beads are assumed." } )
+
+   default_label = "INITINDEXED"
+   default_help = "This is a helper class to initialize with an index."
+
+
+class InputInitPositions(InputInitIndexed):
+   """Class to handle initialization of the positions."""
+
+   attribs = deepcopy(InputInitIndexed.attribs)
+   attribs["mode"][1]["default"] = "chk"
+   attribs["mode"][1]["options"] = ["manual", "xyz", "pdb", "chk"]
+   attribs["mode"][1]["help"] = "The input data format. 'xyz' and 'pdb' stand for xyz and pdb input files respectively. 'chk' stands for initialization from a checkpoint file. 'manual' means that the value to initialize from is giving explicitly as a vector."
+
+   default_label = "INITPOSITIONS"
+   default_help = "This is the class to initialize positions."
+   _initclass = ei.InitIndexed
+
+
+class InputInitMomenta(InputInitPositions):
+   """Class to handle initialization of the momenta."""
+
+   attribs = deepcopy(InputInitPositions.attribs)
+   attribs["mode"][1]["options"].append( "thermal" )
+   attribs["mode"][1]["help"] = "The input data format. 'xyz' and 'pdb' stand for xyz and pdb input files respectively. 'chk' stands for initialization from a checkpoint file. 'manual' means that the value to initialize from is giving explicitly as a vector. 'thermal' means that the data is to be generated from a Maxwell-Boltzmann distribution at the given temperature."
+
+   default_label = "INITMOMENTA"
+   default_help = "This is the class to initialize momenta."
+
+   def fetch(self):
+      """Creates an momentum initializer object.
+
+      Note that the momenta can be initialized by a single value, specifying
+      the temperature at which to thermalize the momenta.
+      """
+
+      if self.mode.fetch() == "thermal":
+         return self._initclass(value=float(InputValue.fetch(self)),  mode=self.mode.fetch(), units=self.units.fetch(), index=self.index.fetch(), bead=self.bead.fetch())
+      else:
+         return super(InputInitMomenta,self).fetch()
+
+
+class InputInitVelocities(InputInitMomenta):
+   """Class to handle initialization of the velocities."""
+
+   attribs = deepcopy(InputInitMomenta.attribs)
+
+   default_label = "INITVELOCITIES"
+   default_help = "This is the class to initialize velocities."
+
+
+class InputInitMasses(InputInitPositions):
+   """Class to handle initialization of the masses."""
+
+   attribs = deepcopy(InputInitPositions.attribs)
+
+   default_label = "INITMASSES"
+   default_help = "This is the class to initialize atomic masses."
+
+
+class InputInitLabels(InputInitPositions):
+   """Class to handle initialization of the atom labels."""
+
+   attribs = deepcopy(InputInitPositions.attribs)
+
+   default_label = "INITLABELS"
+   default_help = "This is the class to initialize atomic labels."
+
+   _storageclass = str
+
+
+class InputInitCell(InputInitBase):
+   """Class to handle initialization of the cell."""
+
+   attribs = deepcopy(InputInitBase.attribs)
+   attribs["mode"] = (InputAttribute, { "dtype"  : str,
+                                        "default": "manual",
+                                        "options": ["manual", "pdb", "chk", "abc", "abcABC"],
+                                        "help"   : "This decides whether the system box is created from a cell parameter matrix, or from the side lengths and angles between them. If 'mode' is 'manual', then 'cell' takes a 9-elements vector containing the cell matrix (row-major). If 'mode' is 'abcABC', then 'cell' takes an array of 6 floats, the first three being the length of the sides of the system parallelopiped, and the last three being the angles (in degrees) between those sides. Angle A corresponds to the angle between sides b and c, and so on for B and C. If mode is 'abc', then this is the same as for 'abcABC', but the cell is assumed to be orthorhombic. 'pdb' and 'chk' read the cell from a PDB or a checkpoint file, respectively."} )
+
+   default_label = "INITCELL"
+   default_help = "This is the class to initialize cell."
+
+   def fetch(self):
+      """Creates a cell initializer object.
+
+      Note that the cell can be initialized from the lengths of the sides and
+      the angles between them instead of by a vector, as specified by the
+      'abc' or 'abcABC' modes.
+      """
+
+      mode = self.mode.fetch()
+
+      ibase = super(InputInitCell,self).fetch()
+      if mode == "abc" or mode == "abcABC":
+
+         h = io_xml.read_array(np.float, ibase.value)
+
+         if mode == "abc":
+            if h.size != 3:
+               raise ValueError("If you are initializing cell from cell side lengths you must pass the 'cell' tag an array of 3 floats.")
+            else:
+               h = mt.abc2h(h[0], h[1], h[2], np.pi/2, np.pi/2, np.pi/2)
+         elif mode == "abcABC":
+            if h.size != 6:
+               raise ValueError("If you are initializing cell from cell side lengths and angles you must pass the 'cell' tag an array of 6 floats.")
+            else:
+               h = mt.abc2h(h[0], h[1], h[2], h[3]*np.pi/180.0, h[4]*np.pi/180.0, h[5]*np.pi/180.0)
+
+         h.shape = (9,)
+         ibase.value = h
+         mode = "manual"
+
+      if mode == "manual":
+         h = ibase.value
+         if h.size != 9:
+               raise ValueError("Cell objects must contain a 3x3 matrix describing the cell vectors.")
+
+         if not (h[3] == 0.0 and h[6] == 0.0 and h[7] == 0.0):
+            warning("Cell vector matrix must be upper triangular, all elements below the diagonal being set to zero.", verbosity.low)
+            h[3] = h[6] = h[7] = 0
+         ibase.value = h
+
+      return self._initclass(value=ibase.value, mode=mode, units=self.units.fetch())
+
+
+class InputInitializer(Input):
+   """Input class to handle initialization.
+
+   Attributes:
+      nbeads: The number of beads to be used in the simulation.
+
+   Dynamic fields:
+      positions: An object to initialize the positions from.
+      velocities: An object to initialize the velocities from.
+      momenta: An object to initialize the momenta from.
+      cell: An object to initialize the cell from.
+      masses: An object to initialize the masses from.
+      labels: An object to initialize the labels from.
+      gle: An object to initialize the GLE matrices from.
+      file: A file from which to initialize multiple properties from. Anything
+         that can be initialized either directly or indirectly from this file
+         will be.
+   """
+
+   attribs = { "nbeads"    : (InputAttribute, {"dtype"     : int,
+                                        "help"      : "The number of beads. Will override any provision from inside the initializer. A ring polymer contraction scheme is used to scale down the number of beads if required. If instead the number of beads is scaled up, higher normal modes will be initialized to zero."})
+            }
+
+   dynamic = {
+           "positions"  : (InputInitPositions,  { "help" : "Initializes atomic positions. Will take a 'units' attribute of dimension 'length'"}),
+           "velocities" : (InputInitVelocities, { "help" : "Initializes atomic velocities. Will take a 'units' attribute of dimension 'velocity'" }),
+           "momenta"    : (InputInitMomenta,    { "help" : "Initializes atomic momenta. Will take a 'units' attribute of dimension 'momentum'" }),
+           "masses"     : (InputInitMasses,     { "help" : "Initializes atomic masses. Will take a 'units' attribute of dimension 'mass'" }),
+           "labels"     : (InputInitLabels,     { "help" : "Initializes atomic labels" }),
+           "cell"       : (InputInitCell,       { "help" : "Initializes the configuration of the cell. Will take a 'units' attribute of dimension 'length'" }),
+           "file"       : (InputInitFile,       { "help" : "Initializes everything possible for the given mode. Will take a 'units' attribute of dimension 'length'. The unit conversion will only be applied to the positions and cell parameters." }),
+           "gle"        : (InputInitThermo,     { "help" : "Initializes the additional momenta in a GLE thermostat." })
+            }
+
+   default_help = "Specifies the number of beads, and how the system should be initialized."
+   default_label = "INITIALIZER"
+
+   def write(self,  name="", indent=""):
+      """Overloads Input write() function so that we never write out
+      InputInitializer to restart files.
+
+      Returns:
+         An empty string.
+      """
+
+      return ""
+
+   def store(self, ii):
+      """Takes a Initializer instance and stores a minimal representation of it.
+
+      Args:
+         ii: An initializer object.
+      """
+
+      self.extra = []
+
+      for (k, el) in ii.queue:
+         if k == "positions" :
+            ip = InputInitPositions()
+            ip.store(el)
+         elif k == "velocities" :
+            ip = InputInitVelocities()
+            ip.store(el)
+         elif k == "momenta" :
+            ip = InputInitMomenta()
+            ip.store(el)
+         elif k == "masses" :
+            ip = InputInitMasses()
+            ip.store(el)
+         elif k == "labels" :
+            ip = InputInitLabels()
+            ip.store(el)
+         elif k == "cell" :
+            ip = InputInitCell()
+            ip.store(el)
+         elif k == "gle" :
+            ip = InputInitThermo()
+            ip.store(el)
+         self.extra.append((k, ip))
+
+      self.nbeads.store(ii.nbeads)
+
+   def fetch(self):
+      """Creates an initializer object.
+
+      Returns:
+         An initializer object.
+      """
+
+      super(InputInitializer,self).fetch()
+
+      initlist = []
+      for (k,v) in self.extra:
+         if v.mode.fetch() == "chk" and v.fetch(initclass=ei.InitIndexed).units != "":
+            raise ValueError("Cannot specify units for initialization from a checkpoint file - units should be defined _inside_ the file.")
+         if k == "file":
+            mode = v.mode.fetch()
+            if mode == "xyz" or mode == "manual" or mode == "pdb" or mode == "chk":
+               initlist.append( ( "positions", v.fetch(initclass=ei.InitIndexed) ) )
+            if mode == "xyz" or mode == "pdb" or mode == "chk":
+               rm = v.fetch(initclass=ei.InitIndexed)
+               rm.units = ""
+               initlist.append( ( "masses",   rm ) )
+               initlist.append( ( "labels",   v.fetch(initclass=ei.InitIndexed) ) )
+            if mode == "pdb" or mode == "chk":
+               initlist.append( ( "cell", v.fetch(initclass=ei.InitIndexed) ) )
+            if mode == "chk":
+               rm = v.fetch(initclass=ei.InitIndexed)
+               rm.units = ""
+               initlist.append( ( "momenta", rm ) )
+         else:
+            initlist.append( (k, v.fetch()) )
+
+      return ei.Initializer(self.nbeads.fetch(), initlist )
diff --git a/tools/i-pi/ipi/inputs/interface.py b/tools/i-pi/ipi/inputs/interface.py
new file mode 100644
index 0000000000..2ff092a665
--- /dev/null
+++ b/tools/i-pi/ipi/inputs/interface.py
@@ -0,0 +1,125 @@
+"""Deals with creating the interface between the wrapper and the socket.
+
+Copyright (C) 2013, Joshua More and Michele Ceriotti
+
+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 3 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/>.
+
+
+Classes:
+   InputInterface: Deals with creating the Interface object from a file, and
+      writing the checkpoints.
+"""
+
+__all__ = [ 'InputInterfaceSocket' ]
+
+import socket, select, threading, signal, string, os, time
+import numpy as np
+from ipi.utils.messages import verbosity, warning
+from ipi.utils.inputvalue import *
+from ipi.interfaces.sockets import *
+
+
+class InputInterfaceSocket(Input):
+   """Interface input class.
+
+   Handles generating the apporopriate interface class from the xml
+   input file, and generating the xml checkpoin tags and data from an
+   instance of the object.
+
+   Attributes:
+      mode: A string giving the type of socket used.
+      pbc: A boolean giving whether the atom positions will be folded back
+         into the unit cell before being sent through the socket or not.
+
+   Fields:
+      address: A string giving the host name.
+      port: An integer giving the port used by the socket.
+      slots: An integer giving the maximum allowed backlog of queued clients.
+      latency: A float giving the number of seconds that the interface waits
+         before updating the client list.
+      timeout: A float giving a number of seconds after which a calculation core
+         is considered dead. Defaults to zero, i.e. no timeout.
+   """
+
+   fields = {"address": (InputValue, {"dtype"   : str,
+                                      "default" : "localhost",
+                                      "help"    : "This gives the server address that the socket will run on." } ),
+             "port":    (InputValue, {"dtype"   : int,
+                                      "default" : 65535,
+                                      "help"    : "This gives the port number that defines the socket."} ),
+             "slots":   (InputValue, {"dtype"   : int,
+                                      "default" : 4,
+                                      "help"    : "This gives the number of client codes that can queue at any one time."} ),
+             "latency": (InputValue, {"dtype"   : float,
+                                      "default" : 1e-3,
+                                      "help"    : "This gives the number of seconds between each check for new clients."} ),
+             "timeout": (InputValue, {"dtype"   : float,
+                                      "default" : 0.0,
+                                      "help"    : "This gives the number of seconds before assuming a calculation has died. If 0 there is no timeout." } )}
+   attribs = { "mode": (InputAttribute, {"dtype"    : str,
+                                     "options"  : [ "unix", "inet" ],
+                                     "default"  : "inet",
+                                     "help"     : "Specifies whether the driver interface will listen onto a internet socket [inet] or onto a unix socket [unix]." } ),
+               "pbc":  ( InputAttribute, { "dtype"   : bool,
+                                         "default" : True,
+                                         "help"    : "Applies periodic boundary conditions to the atoms coordinates before passing them on to the driver code." })
+              }
+
+   default_help = "Specifies the parameters for the socket interface."
+   default_label = "INTERFACE"
+
+   def store(self, iface):
+      """Takes an Interface instance and stores a minimal representation of it.
+
+      Args:
+         iface: An interface object.
+      """
+
+      super(InputInterfaceSocket,self).store(iface)
+      self.latency.store(iface.latency)
+      self.mode.store(iface.mode)
+      self.address.store(iface.address)
+      self.port.store(iface.port)
+      self.slots.store(iface.slots)
+      self.timeout.store(iface.timeout)
+      self.pbc.store(iface.dopbc)
+
+   def fetch(self):
+      """Creates an InterfaceSocket object.
+
+      Returns:
+         An interface object with the appropriate socket given the attributes
+         of the InputInterfaceSocket object.
+      """
+
+      super(InputInterfaceSocket,self).fetch()
+      return InterfaceSocket(address=self.address.fetch(), port=self.port.fetch(),
+            slots=self.slots.fetch(), mode=self.mode.fetch(),
+            latency=self.latency.fetch(), timeout=self.timeout.fetch(), dopbc=self.pbc.fetch())
+
+   def check(self):
+      """Function that deals with optional arguments."""
+
+      super(InputInterfaceSocket,self).check()
+      if self.port.fetch() < 1 or self.port.fetch() > 65535:
+         raise ValueError("Port number " + str(self.port.fetch()) + " out of acceptable range.")
+      elif self.port.fetch() < 1025:
+         warning("Low port number being used, this may interrupt important system processes.", verbosity.low)
+
+      if self.slots.fetch() < 1 or self.slots.fetch() > 5:
+         raise ValueError("Slot number " + str(self.slots.fetch()) + " out of acceptable range.")
+      if self.latency.fetch() < 0:
+         raise ValueError("Negative latency parameter specified.")
+      if self.timeout.fetch() < 0.0:
+         raise ValueError("Negative timeout parameter specified.")
diff --git a/tools/i-pi/ipi/inputs/normalmodes.py b/tools/i-pi/ipi/inputs/normalmodes.py
new file mode 100644
index 0000000000..0e46051049
--- /dev/null
+++ b/tools/i-pi/ipi/inputs/normalmodes.py
@@ -0,0 +1,84 @@
+"""Deals with creating the normal mode representation arrays.
+
+Copyright (C) 2013, Joshua More and Michele Ceriotti
+
+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 3 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/>.
+
+
+Classes:
+   InputNormalModes: Deals with creating the normal mode objects.
+"""
+
+import numpy as np
+from copy import copy
+from ipi.engine.normalmodes import *
+from ipi.utils.inputvalue import *
+from ipi.utils.units import *
+
+__all__ = ['InputNormalModes']
+
+class InputNormalModes(InputArray):
+   """ Storage class for NormalModes engine.
+
+   Describes how normal-modes transformation and integration should be
+   performed.
+
+   Attributes:
+      mode: Specifies the method by which the dynamical masses are created.
+      transform: Specifies whether the normal mode calculation will be
+         done using a FFT transform or a matrix multiplication.
+   """
+
+   attribs = copy(InputArray.attribs)
+   attribs["mode"] = (InputAttribute, {"dtype"   : str,
+                                       "default" : "rpmd",
+                                       "help"    : "Specifies the technique to be used to calculate the dynamical masses. 'rpmd' simply assigns the bead masses the physical mass. 'manual' sets all the normal mode frequencies except the centroid normal mode manually. 'pa-cmd' takes an argument giving the frequency to set all the non-centroid normal modes to. 'wmax-cmd' is similar to 'pa-cmd', except instead of taking one argument it takes two ([wmax,wtarget]). The lowest-lying normal mode will be set to wtarget for a free particle, and all the normal modes will coincide at frequency wmax. ",
+                                       "options" : ['pa-cmd', 'wmax-cmd', 'manual', 'rpmd']})
+   attribs["transform"] = (InputValue,{"dtype"   : str,
+                                       "default" : "fft",
+                                       "help"    : "Specifies whether to calculate the normal mode transform using a fast Fourier transform or a matrix multiplication. For small numbers of beads the matrix multiplication may be faster.",
+                                       "options" : ['fft', 'matrix']})
+
+   default_help = "Deals with the normal mode transformations, including the adjustment of bead masses to give the desired ring polymer normal mode frequencies if appropriate. Takes as arguments frequencies, of which different numbers must be specified and which are used to scale the normal mode frequencies in different ways depending on which 'mode' is specified."
+   default_label = "NORMALMODES"
+
+   def __init__(self, help=None, dimension=None, default=None, dtype=None):
+      """ Initializes InputNormalModes.
+
+      Just calls the parent initialization function with appropriate arguments.
+      """
+
+      super(InputNormalModes,self).__init__(help=help, default=default, dtype=float, dimension="frequency")
+
+   def store(self, nm):
+      """Takes a normal modes instance and stores a minimal representation
+      of it.
+
+      Args:
+         nm: A normal modes object.
+      """
+
+      super(InputNormalModes,self).store(nm.nm_freqs)
+      self.mode.store(nm.mode)
+      self.transform.store(nm.transform_method)
+
+   def fetch(self):
+      """Creates a normal modes object.
+
+      Returns:
+         A normal modes object.
+      """
+
+      super(InputNormalModes,self).check()
+      return NormalModes(self.mode.fetch(), self.transform.fetch(), super(InputNormalModes,self).fetch() )
diff --git a/tools/i-pi/ipi/inputs/outputs.py b/tools/i-pi/ipi/inputs/outputs.py
new file mode 100644
index 0000000000..5141c79beb
--- /dev/null
+++ b/tools/i-pi/ipi/inputs/outputs.py
@@ -0,0 +1,323 @@
+"""Deals with creating the output objects.
+
+Copyright (C) 2013, Joshua More and Michele Ceriotti
+
+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 3 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/>.
+
+
+Classes:
+   InputOutputs: Creates a list of all the output objects.
+   InputProperties: Deals with property output.
+   InputTrajectory: Deals with trajectory output.
+   InputCheckpoint: Deals with restart file output.
+"""
+import numpy as np
+from copy import copy
+import ipi.engine.outputs
+from ipi.utils.depend import *
+from ipi.utils.inputvalue import *
+from ipi.engine.properties import getkey
+
+__all__=['InputOutputs', 'InputProperties', 'InputTrajectory',
+         'InputCheckpoint']
+
+class InputProperties(InputArray):
+   """Simple input class to describe output for properties.
+
+   Storage class for PropertyOutput.
+
+   Attributes:
+      filename: The name of the file to output to.
+      stride: The number of steps that should be taken between outputting the
+         data to file.
+      flush: An integer describing how often the output streams are flushed,
+         so that it doesn't wait for the buffer to fill before outputting to
+         file.
+   """
+
+   default_help = """This class deals with the output of properties to one file. Between each property tag there should be an array of strings, each of which specifies one property to be output."""
+   default_label = "PROPERTIES"
+
+   attribs = copy(InputArray.attribs)
+   attribs["filename"] = (InputAttribute,{ "dtype" : str, "default": "out",
+                                           "help": "A string to specify the name of the file that is output. The file name is given by 'prefix'.'filename' + format_specifier. The format specifier may also include a number if multiple similar files are output."} )
+   attribs["stride"] = (InputAttribute,{ "dtype" : int, "default": 1,
+                                         "help": "The number of steps between successive writes." } )
+   attribs["flush"] = (InputAttribute, {"dtype"    : int,    "default"  : 1,
+                                   "help"     : "How often should streams be flushed. 1 means each time, zero means never." })
+
+   def __init__(self, help=None,  default=None, dtype=None, dimension=None):
+      """Initializes InputProperties.
+
+      Just calls the parent initialization function with appropriate arguments.
+      """
+
+      super(InputProperties,self).__init__(help=help, default=default, dtype=str, dimension=dimension)
+
+   def fetch(self):
+      """Returns a PropertyOutput object."""
+
+      return ipi.engine.outputs.PropertyOutput(filename=self.filename.fetch(),
+        stride=self.stride.fetch(), flush=self.flush.fetch(), outlist=super(InputProperties,self).fetch())
+
+   def store(self, prop):
+      """Stores a PropertyOutput object."""
+
+      super(InputProperties,self).store(prop.outlist)
+      self.stride.store(prop.stride)
+      self.flush.store(prop.flush)
+      self.filename.store(prop.filename)
+
+   def check(self):
+      """Checks for optional parameters."""
+
+      super(InputProperties,self).check()
+      if self.stride.fetch() < 0:
+         raise ValueError("The stride length for the properties file output must be positive.")
+
+
+class InputTrajectory(InputValue):
+   """Simple input class to describe output for trajectories.
+
+   Storage class for TrajectoryOutput.
+
+   Attributes:
+      filename: The (base) name of the file to output to.
+      stride: The number of steps that should be taken between outputting the
+         data to file.
+      format: The format of the trajectory output file.
+      cell_units: The units that the cell parameters are given in.
+      bead: If the trajectory is a per-bead property, this can be used to
+         specify a single bead to output. If negative, it defaults to
+         the centroid.
+      flush: An integer describing how often the output streams are flushed,
+         so that it doesn't wait for the buffer to fill before outputting to
+         file.
+   """
+
+   default_help = """This class defines how one trajectory file should be output. Between each trajectory tag one string should be given, which specifies what data is to be output."""
+   default_label = "TRAJECTORY"
+
+   attribs = copy(InputValue.attribs)
+   attribs["filename"] = (InputAttribute,{ "dtype" : str, "default": "traj",
+                                           "help": "A string to specify the name of the file that is output. The file name is given by 'prefix'.'filename' + format_specifier. The format specifier may also include a number if multiple similar files are output."} )
+   attribs["stride"] = (InputAttribute,{ "dtype" : int, "default": 1,
+                                         "help": "The number of steps between successive writes." } )
+   attribs["format"] = (InputAttribute,{ "dtype" : str, "default": "xyz",
+                                       "help": "The output file format.",
+                                       "options": ['xyz', 'pdb'] } )
+   attribs["cell_units"] = (InputAttribute,{ "dtype" : str, "default": "",
+                                       "help": "The units for the cell dimensions." } )
+   attribs["bead"] = (InputAttribute,{ "dtype" : int, "default": -1,
+                                         "help": "Print out only the specified bead. A negative value means print all." } )
+   attribs["flush"] = (InputAttribute, {"dtype"    : int,    "default"  : 1,
+                                   "help"     : "How often should streams be flushed. 1 means each time, zero means never." })
+
+   def __init__(self, help=None,  default=None, dtype=None, dimension=None):
+      """Initializes InputTrajectory.
+
+      Just calls the parent initialization function with appropriate arguments.
+      """
+
+      super(InputTrajectory,self).__init__(help=help, default=default, dtype=str, dimension=dimension)
+
+   def fetch(self):
+      """Returns a TrajectoryOutput object."""
+
+      return ipi.engine.outputs.TrajectoryOutput(filename=self.filename.fetch(), stride=self.stride.fetch(),
+               flush=self.flush.fetch(), what=super(InputTrajectory,self).fetch(),
+               format=self.format.fetch(), cell_units=self.cell_units.fetch(), ibead=self.bead.fetch())
+
+   def store(self, traj):
+      """Stores a PropertyOutput object."""
+
+      super(InputTrajectory,self).store(traj.what)
+      self.stride.store(traj.stride)
+      self.flush.store(traj.flush)
+      self.filename.store(traj.filename)
+      self.format.store(traj.format)
+      self.cell_units.store(traj.cell_units)
+      self.bead.store(traj.ibead)
+
+   def check(self):
+      """Checks for optional parameters."""
+
+      super(InputTrajectory,self).check()
+      if self.stride.fetch() < 0:
+         raise ValueError("The stride length for the trajectory file output must be positive.")
+
+
+class InputCheckpoint(InputValue):
+   """Simple input class to describe output for properties.
+
+   Storage class for CheckpointOutput.
+
+   Attributes:
+      filename: The (base) name of the file to output to.
+      stride: The number of steps that should be taken between outputting the
+         data to file.
+      overwrite: whether checkpoints should be overwritten, or multiple
+         files output.
+   """
+
+   default_help = """This class defines how a checkpoint file should be output. Optionally, between the checkpoint tags, you can specify one integer giving the current step of the simulation. By default this integer will be zero."""
+   default_label = "CHECKPOINT"
+
+   attribs=copy(InputValue.attribs)
+   attribs["filename"] = (InputAttribute,{ "dtype" : str, "default": "restart",
+                                           "help": "A string to specify the name of the file that is output. The file name is given by 'prefix'.'filename' + format_specifier. The format specifier may also include a number if multiple similar files are output."} )
+   attribs["stride"] = (InputAttribute,{ "dtype" : int, "default": 1,
+                                         "help": "The number of steps between successive writes." } )
+   attribs["overwrite"] = (InputAttribute,{ "dtype" : bool, "default": True,
+                                            "help": "This specifies whether or not each consecutive checkpoint file will overwrite the old one."} )
+
+   def __init__(self, help=None,  default=None, dtype=None, dimension=None):
+      """Initializes InputCheckpoint.
+
+      Just calls the parent initialization function with appropriate arguments.
+      """
+
+      super(InputCheckpoint,self).__init__(help=help, default=default, dtype=int, dimension=dimension)
+
+   def fetch(self):
+      """Returns a CheckpointOutput object."""
+
+      step = super(InputCheckpoint,self).fetch()
+      return ipi.engine.outputs.CheckpointOutput(self.filename.fetch(), self.stride.fetch(), self.overwrite.fetch(), step=step )
+
+   def parse(self, xml=None, text=""):
+      """Overwrites the standard parse function so that we can specify this tag
+      in the input without any data.
+
+      We can use the syntax <checkpoint /> to do this
+
+      Args:
+         xml: An xml node containing all the data for the parent tag.
+         text: The data to read the data from. Will be None if we have not
+            specified any data.
+      """
+
+      # just a quick hack to allow an empty element
+      try:
+         super(InputCheckpoint,self).parse(xml,text)
+      except: #TODO make this except a specific exception, not every one
+         self.value = 0  #This could hide actual errors, at least in theory.
+
+   def store(self, chk):
+      """Stores a CheckpointOutput object."""
+
+      super(InputCheckpoint,self).store(chk.step)
+      self.stride.store(chk.stride)
+      self.filename.store(chk.filename)
+      self.overwrite.store(chk.overwrite)
+
+   def check(self):
+      """Checks for optional parameters."""
+
+      super(InputCheckpoint,self).check()
+      if self.stride.fetch() < 0:
+         raise ValueError("The stride length for the checkpoint file output must be positive.")
+
+
+class InputOutputs(Input):
+   """ List of outputs input class.
+
+   An example of a dynamic input class: a variable number of tags might be
+   present, corresponding to different output requests. This allows for
+   instance to print multiple property outputs, with different content
+   and/or output frequency.
+
+   Attributes:
+      prefix: A string that will be appended to all output files from this
+         simulation.
+
+   Dynamic fields:
+      trajectory: Specifies a trajectory to be output
+      properties: Specifies some properties to be output.
+      checkpoint: Specifies a checkpoint file to be output.
+   """
+
+   attribs = { "prefix" : ( InputAttribute, { "dtype" : str,
+                                          "default"  : "i-pi",
+                                          "help"     : "A string that will be prepended to each output file name. The file name is given by 'prefix'.'filename' + format_specifier. The format specifier may also include a number if multiple similar files are output." })
+             }
+
+   dynamic = {  "properties" : (InputProperties, { "help" : "Each of the properties tags specify how to create a file in which one or more properties are written, one line per frame. " } ),
+               "trajectory" : (InputTrajectory, { "help" : "Each of the trajectory tags specify how to create a trajectory file, containing a list of per-atom coordinate properties. " } ),
+               "checkpoint" : (InputCheckpoint, { "help" : "Each of the checkpoint tags specify how to create a checkpoint file, which can be used to restart a simulation. " } ),
+            }
+
+   default_help = """This class defines how properties, trajectories and checkpoints should be output during the simulation. May contain zero, one or many instances of properties, trajectory or checkpoint tags, each giving instructions on how one output file should be created and managed."""
+   default_label = "OUTPUTS"
+
+   @classmethod
+   def make_default(cls):
+      """Used to make the default value of the outputs class for use when no
+      output is specified.
+
+      Needed since this is a fairly complicated default, with many mutable
+      objects, and the default has to be generated by a function that does not
+      use any mutable objects as arguments.
+      """
+
+      return [ ipi.engine.outputs.PropertyOutput(filename="i-pi.md", stride=10, outlist=[ "time", "step", "conserved", "temperature", "potential", "kinetic_cv" ] ),
+               ipi.engine.outputs.TrajectoryOutput(filename="i-pi.pos", stride=100, what="positions", format="xyz"),
+               ipi.engine.outputs.CheckpointOutput(filename="i-pi.checkpoint", stride=1000, overwrite=True)]
+
+   def fetch(self):
+      """Returns a list of the output objects included in this dynamic
+      container.
+
+      Returns:
+         A list of tuples, with each tuple being of the form ('type', 'object')
+         where 'type' is the type of output object and 'object' is a particular
+         object of that type.
+      """
+
+      super(InputOutputs, self).fetch()
+      outlist = [ p.fetch() for (n, p) in self.extra ]
+      prefix = self.prefix.fetch()
+      if not prefix == "":
+         for p in outlist:
+            p.filename = prefix + "." + p.filename
+
+      return outlist
+
+   def store(self, plist):
+      """ Stores a list of the output objects, creating a sequence of
+      dynamic containers.
+
+      Args:
+         plist: A list of tuples, with each tuple being of the form
+            ('type', 'object') where 'type' is the type of forcefield and
+            'object' is a particular object of that type.
+      """
+
+      super(InputOutputs, self).store()
+      self.extra = []
+
+      self.prefix.store("")
+      for el in plist:
+         if (isinstance(el, ipi.engine.outputs.PropertyOutput)):
+            ip = InputProperties()
+            ip.store(el)
+            self.extra.append(("properties", ip))
+         elif (isinstance(el, ipi.engine.outputs.TrajectoryOutput)):
+            ip = InputTrajectory()
+            ip.store(el)
+            self.extra.append(("trajectory", ip))
+         elif (isinstance(el, ipi.engine.outputs.CheckpointOutput)):
+            ip = InputCheckpoint()
+            ip.store(el)
+            self.extra.append(("checkpoint", ip))
diff --git a/tools/i-pi/ipi/inputs/prng.py b/tools/i-pi/ipi/inputs/prng.py
new file mode 100644
index 0000000000..58faaca5f0
--- /dev/null
+++ b/tools/i-pi/ipi/inputs/prng.py
@@ -0,0 +1,101 @@
+"""Deals with creating the random number generator.
+
+Copyright (C) 2013, Joshua More and Michele Ceriotti
+
+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 3 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/>.
+
+
+Generates a random number generator either from a seed number, or from a
+state vector.
+
+Classes:
+   InputRandom: Deals with creating the Random object from a file, and
+      writing the checkpoints.
+"""
+
+__all__ = ['InputRandom']
+
+import numpy as np
+from ipi.utils.prng import *
+from ipi.utils.inputvalue import *
+
+class InputRandom(Input):
+   """Random input class.
+
+   Handles generating the appropriate random number class from the xml
+   input file, and generating the xml checkpoint tags and data from an
+   instance of the object.
+
+   Attributes:
+      seed: An optional integer giving a seed to initialise the random number
+         generator from. Defaults to 123456.
+      state: An optional array giving the state of the random number generator.
+         Defaults to an empty array.
+      has_gauss: An optional integer giving whether there is a stored
+         Gaussian number or not. Defaults to 0.
+      gauss: An optional float giving the stored Gaussian number. Defaults to
+         0.0.
+      set_pos: An optional integer giving the position in the state array
+         that is being read from. Defaults to 0.
+   """
+
+   fields = {"seed"      : (InputValue, {"dtype"   : int,
+                                         "default" : 123456,
+                                         "help"    : "This is the seed number used to generate the initial state of the random number generator."}),
+             "state"     : (InputArray, {"dtype"   : np.uint,
+                                         "default" : input_default(factory=np.zeros, kwargs={'shape': (0,), 'dtype': np.uint}),
+                                         "help"    : "Gives the state vector for the random number generator. Avoid directly modifying this unless you are very familiar with the inner workings of the algorithm used."}),
+             "has_gauss" : (InputValue, {"dtype"   : int,
+                                         "default" : 0,
+                                         "help"    : "Determines whether there is a stored gaussian number or not. A value of 0 means there is none stored."}),
+             "gauss"     : (InputValue, {"dtype"   : float,
+                                         "default" : 0.00,
+                                         "help"    : "The stored Gaussian number." }),
+             "set_pos"   : (InputValue, {"dtype"   : int,
+                                         "default" : 0,
+                                         "help"    : "Gives the position in the state array that the random number generator is reading from."})}
+
+   default_help = "Deals with the pseudo-random number generator."
+   default_label = "PRNG"
+
+   def store(self, prng):
+      """Takes a random number instance and stores a minimal
+      representation of it.
+
+      Args:
+         prng: A random number object from which to initialise from.
+      """
+
+      super(InputRandom,self).store(prng)
+      self.seed.store(prng.seed)
+      gstate = prng.state
+      self.state.store(gstate[1])
+      self.set_pos.store(gstate[2])
+      self.has_gauss.store(gstate[3])
+      self.gauss.store(gstate[4])
+
+   def fetch(self):
+      """Creates a random number object.
+
+      Returns:
+         An random number object of the appropriate type and with the
+         appropriate properties given the attributes of the InputRandom
+         object.
+      """
+
+      super(InputRandom,self).fetch()
+      if not self.state._explicit:
+         return Random(seed=self.seed.fetch())
+      else:
+         return Random(state=('MT19937',self.state.fetch(), self.set_pos.fetch(), self.has_gauss.fetch(), self.gauss.fetch() ))
diff --git a/tools/i-pi/ipi/inputs/simulation.py b/tools/i-pi/ipi/inputs/simulation.py
new file mode 100644
index 0000000000..d020547cd2
--- /dev/null
+++ b/tools/i-pi/ipi/inputs/simulation.py
@@ -0,0 +1,193 @@
+"""Deals with creating the simulation class.
+
+Copyright (C) 2013, Joshua More and Michele Ceriotti
+
+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 3 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/>.
+
+
+Classes:
+   InputSimulation: Deals with creating the Simulation object from a file, and
+      writing the checkpoints.
+"""
+
+__all__ = ['InputSimulation']
+
+import numpy as np
+import os.path, sys
+import ipi.engine.simulation
+from ipi.utils.depend import *
+from ipi.utils.inputvalue import *
+from ipi.utils.units  import *
+from ipi.utils.prng   import *
+from ipi.utils.io     import *
+from ipi.utils.io.io_xml import *
+from ipi.utils.messages import verbosity
+from ipi.inputs.forces import InputForces
+from ipi.inputs.prng import InputRandom
+from ipi.inputs.initializer import InputInitializer
+from ipi.inputs.beads import InputBeads
+from ipi.inputs.cell import InputCell
+from ipi.inputs.ensembles import InputEnsemble
+from ipi.inputs.outputs import InputOutputs
+from ipi.inputs.normalmodes import InputNormalModes
+from ipi.engine.normalmodes import NormalModes
+from ipi.engine.atoms import Atoms
+from ipi.engine.beads import Beads
+from ipi.engine.cell import Cell
+from ipi.engine.initializer import Initializer
+
+class InputSimulation(Input):
+   """Simulation input class.
+
+   Handles generating the appropriate forcefield class from the xml input file,
+   and generating the xml checkpoint tags and data from an instance of the
+   object.
+
+   Attributes:
+      verbosity: A string saying how much should be output to standard output.
+
+   Fields:
+      force: A restart force instance. Used as a model for all the replicas.
+      ensemble: A restart ensemble instance.
+      beads: A restart beads instance.
+      normal_modes: Setup of normal mode integrator.
+      cell: A restart cell instance.
+      output: A list of the required outputs.
+      prng: A random number generator object.
+      step: An integer giving the current simulation step. Defaults to 0.
+      total_steps: The total number of steps. Defaults to 1000
+      total_time:  The wall clock time limit. Defaults to 0 (no limit).
+      initialize: An array of strings giving all the quantities that should
+         be output.
+   """
+
+   fields = { "forces" :   (InputForces,    { "help"  : InputForces.default_help }),
+             "ensemble": (InputEnsemble, { "help"  : InputEnsemble.default_help } ),
+             "prng" :    (InputRandom,   { "help"  : InputRandom.default_help,
+                                         "default" : input_default(factory=Random)} ),
+             "initialize" : (InputInitializer, { "help" : InputInitializer.default_help,
+                                                "default" : input_default(factory=Initializer) } ),
+             "beads" :   (InputBeads, { "help"     : InputBeads.default_help,
+                                        "default"  : input_default(factory=Beads, kwargs={'natoms': 0, 'nbeads': 0}) } ),
+             "normal_modes" :   (InputNormalModes, { "help"     : InputNormalModes.default_help,
+                                        "default"  : input_default(factory=NormalModes, kwargs={'mode': "rpmd"}) } ),
+             "cell" :    (InputCell,   { "help"    : InputCell.default_help,
+                                        "default"  : input_default(factory=Cell) }),
+             "output" :  (InputOutputs, { "help"   : InputOutputs.default_help,
+                                          "default": input_default(factory=InputOutputs.make_default)  }),
+             "step" :       ( InputValue, { "dtype"    : int,
+                                            "default"  : 0,
+                                            "help"     : "The current simulation time step." }),
+             "total_steps": ( InputValue, { "dtype"    : int,
+                                            "default"  : 1000,
+                                            "help"     : "The total number of steps that will be done. If 'step' is equal to or greater than 'total_steps', then the simulation will finish." }),
+             "total_time" :       ( InputValue, { "dtype"    : float,
+                                            "default"  : 0,
+                                            "help"     : "The maximum wall clock time (in seconds)." }),
+                                             }
+
+   attribs = { "verbosity" : (InputAttribute, { "dtype"   : str,
+                                      "default" : "low",
+                                      "options" : [ "quiet", "low", "medium", "high", "debug" ],
+                                      "help"    : "The level of output on stdout."
+                                         })
+             }
+
+   default_help = "This is the top level class that deals with the running of the simulation, including holding the simulation specific properties such as the time step and outputting the data."
+   default_label = "SIMULATION"
+
+   def store(self, simul):
+      """Takes a simulation instance and stores a minimal representation of it.
+
+      Args:
+         simul: A simulation object.
+      """
+
+      super(InputSimulation,self).store()
+      self.forces.store(simul.flist)
+      self.ensemble.store(simul.ensemble)
+
+      self.beads.store(simul.beads)
+
+      self.normal_modes.store(simul.nm)
+      self.cell.store(simul.cell)
+      self.prng.store(simul.prng)
+      self.step.store(simul.step)
+      self.total_steps.store(simul.tsteps)
+      self.total_time.store(simul.ttime)
+      self.output.store(simul.outputs)
+
+      # this we pick from the messages class. kind of a "global" but it seems to
+      # be the best way to pass around the (global) information on the level of output.
+      if verbosity.debug:
+         self.verbosity.store("debug")
+      elif verbosity.high:
+         self.verbosity.store("high")
+      elif verbosity.medium:
+         self.verbosity.store("medium")
+      elif verbosity.low:
+         self.verbosity.store("low")
+      elif verbosity.quiet:
+         self.verbosity.store("quiet")
+      else:
+         raise ValueError("Invalid verbosity level")
+
+   def fetch(self):
+      """Creates a simulation object.
+
+      Returns:
+         A simulation object of the appropriate type and with the appropriate
+         properties and other objects given the attributes of the
+         InputSimulation object.
+
+      Raises:
+         TypeError: Raised if one of the file types in the stride keyword
+            is incorrect.
+      """
+
+      super(InputSimulation,self).fetch()
+
+      # small hack: initialize here the verbosity level -- we really assume to have
+      # just one simulation object
+      verbosity.level=self.verbosity.fetch()
+
+      # this creates a simulation object which gathers all the little bits
+      #TODO use named arguments since this list is a bit too long...
+      rsim = ipi.engine.simulation.Simulation(self.beads.fetch(), self.cell.fetch(),
+               self.forces.fetch(), self.ensemble.fetch(), self.prng.fetch(),
+                  self.output.fetch(), self.normal_modes.fetch(),
+                     self.initialize.fetch(), self.step.fetch(),
+                        tsteps=self.total_steps.fetch(),
+                           ttime=self.total_time.fetch())
+
+      # this does all of the piping between the components of the simulation
+      rsim.bind()
+
+      return rsim
+
+   def check(self):
+      """Function that deals with optional arguments.
+
+      Deals with the difference between classical and PI dynamics. If there is
+      no beads argument, the bead positions are generated from the atoms, with
+      the necklace being fixed at the atom position. Similarly, if no nbeads
+      argument is specified a classical simulation is done.
+
+      Raises:
+         TypeError: Raised if no beads or atoms attribute is defined.
+      """
+
+      super(InputSimulation,self).check()
+      if self.total_steps.fetch() <= self.step.fetch():
+         raise ValueError("Current step greater than total steps, no dynamics will be done.")
diff --git a/tools/i-pi/ipi/inputs/thermostats.py b/tools/i-pi/ipi/inputs/thermostats.py
new file mode 100644
index 0000000000..cbe2deefcf
--- /dev/null
+++ b/tools/i-pi/ipi/inputs/thermostats.py
@@ -0,0 +1,195 @@
+"""Deals with creating the thermostats class.
+
+Copyright (C) 2013, Joshua More and Michele Ceriotti
+
+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 3 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/>.
+
+
+Chooses between the different possible thermostat options and creates the
+appropriate thermostat object, with suitable parameters.
+
+Classes:
+   InputThermo: Deals with creating the thermostat object from a file, and
+      writing the checkpoints.
+"""
+
+__all__ = ['InputThermo']
+
+import numpy as np
+from ipi.utils.depend   import *
+from ipi.utils.inputvalue  import *
+from ipi.engine.thermostats import *
+
+class InputThermo(Input):
+   """Thermostat input class.
+
+   Handles generating the appropriate thermostat class from the xml input file,
+   and generating the xml checkpoiunt tags and data from an instance of the
+   object.
+
+   Attributes:
+      mode: An optional string giving the type of the thermostat used. Defaults
+         to 'langevin'.
+
+   Fields:
+      ethermo: An optional float giving the amount of heat energy transferred
+         to the bath. Defaults to 0.0.
+      tau: An optional float giving the damping time scale. Defaults to 1.0.
+      pile_scale: Scaling for the PILE damping relative to the critical damping.
+      A: An optional array of floats giving the drift matrix. Defaults to 0.0.
+      C: An optional array of floats giving the static covariance matrix.
+         Defaults to 0.0.
+      s: An optional array of floats giving the additional momentum-scaled
+         momenta in GLE. Defaults to 0.0.
+   """
+
+   attribs = { "mode": (InputAttribute, { "dtype"   : str,
+                                      "options" : [ "", "langevin", "svr", "pile_l", "pile_g", "gle", "nm_gle", "nm_gle_g" ],
+                                      "help"    : "The style of thermostatting. 'langevin' specifies a white noise langevin equation to be attached to the cartesian representation of the momenta. 'svr' attaches a velocity rescaling thermostat to the cartesian representation of the momenta. Both 'pile_l' and 'pile_g' attaches a white noise langevin thermostat to the normal mode representation, with 'pile_l' attaching a local langevin thermostat to the centroid mode and 'pile_g' instead attaching a global velocity rescaling thermostat. 'gle' attaches a coloured noise langevin thermostat to the cartesian representation of the momenta, 'nm_gle' attaches a coloured noise langevin thermostat to the normal mode representation of the momenta and a langevin thermostat to the centroid and 'nm_gle_g' attaches a gle thermostat to the normal modes and a svr thermostat to the centroid."
+                                         }) }
+   fields = { "ethermo" : (InputValue, {  "dtype"     : float,
+                                          "default"   : 0.0,
+                                          "help"      : "The initial value of the thermostat energy. Used when the simulation is restarted to guarantee continuity of the conserved quantity.",
+                                          "dimension" : "energy" }),
+            "tau" : (InputValue, {  "dtype"     : float,
+                                    "default"   : 0.0,
+                                    "help"      : "The friction coefficient for white noise thermostats.",
+                                    "dimension" : "time" }),
+            "pile_scale" : (InputValue, { "dtype" : float,
+                                    "default"   : 1.0,
+                                    "help"      : "Scaling for the PILE damping relative to the critical damping."} ),
+            "A" : (InputArray, {    "dtype"     : float,
+                                    "default"   : input_default(factory=np.zeros, args = (0,)),
+                                    "help"      : "The friction matrix for GLE thermostats.",
+                                    "dimension" : "frequency" }),
+            "C" : (InputArray, {    "dtype"     : float,
+                                    "default"   : input_default(factory=np.zeros, args = (0,)),
+                                    "help"      : "The covariance matrix for GLE thermostats.",
+                                    "dimension" : "temperature" }),
+            "s" : (InputArray, {    "dtype"     : float,
+                                    "default"   : input_default(factory=np.zeros, args = (0,)),
+                                    "help"      : "Input values for the additional momenta in GLE.",
+                                    "dimension" : "ms-momentum" })
+             }
+
+   default_help = "Simulates an external heat bath to keep the velocity distribution at the correct temperature."
+   default_label = "THERMOSTATS"
+
+   def store(self, thermo):
+      """Takes a thermostat instance and stores a minimal representation of it.
+
+      Args:
+         thermo: A thermostat object.
+
+      Raises:
+         TypeError: Raised if the thermostat is not a recognized type.
+      """
+
+      super(InputThermo,self).store(thermo)
+      if type(thermo) is ThermoLangevin:
+         self.mode.store("langevin")
+         self.tau.store(thermo.tau)
+      elif type(thermo) is ThermoSVR:
+         self.mode.store("svr")
+         self.tau.store(thermo.tau)
+      elif type(thermo) is ThermoPILE_L:
+         self.mode.store("pile_l")
+         self.tau.store(thermo.tau)
+         self.pile_scale.store(thermo.pilescale)
+      elif type(thermo) is ThermoPILE_G:
+         self.mode.store("pile_g")
+         self.tau.store(thermo.tau)
+         self.pile_scale.store(thermo.pilescale)
+      elif type(thermo) is ThermoGLE:
+         self.mode.store("gle")
+         self.A.store(thermo.A)
+         if dget(thermo,"C")._func is None:
+            self.C.store(thermo.C)
+         self.s.store(thermo.s)
+      elif type(thermo) is ThermoNMGLE:
+         self.mode.store("nm_gle")
+         self.A.store(thermo.A)
+         if dget(thermo,"C")._func is None:
+            self.C.store(thermo.C)
+         self.s.store(thermo.s)
+      elif type(thermo) is ThermoNMGLEG:
+         self.mode.store("nm_gle_g")
+         self.A.store(thermo.A)
+         self.tau.store(thermo.tau)
+         if dget(thermo,"C")._func is None:
+            self.C.store(thermo.C)
+         self.s.store(thermo.s)
+      elif type(thermo) is Thermostat:
+         self.mode.store("")
+      else:
+         raise TypeError("Unknown thermostat mode " + type(thermo).__name__)
+      self.ethermo.store(thermo.ethermo)
+
+   def fetch(self):
+      """Creates a thermostat object.
+
+      Returns:
+         A thermostat object of the appropriate type and with the appropriate
+         parameters given the attributes of the InputThermo object.
+
+      Raises:
+         TypeError: Raised if the thermostat type is not a recognized option.
+      """
+
+      super(InputThermo,self).fetch()
+      if self.mode.fetch() == "langevin":
+         thermo = ThermoLangevin(tau=self.tau.fetch())
+      elif self.mode.fetch() == "svr":
+         thermo = ThermoSVR(tau=self.tau.fetch())
+      elif self.mode.fetch() == "pile_l":
+         thermo = ThermoPILE_L(tau=self.tau.fetch(), scale=self.pile_scale.fetch())
+      elif self.mode.fetch() == "pile_g":
+         thermo = ThermoPILE_G(tau=self.tau.fetch(), scale=self.pile_scale.fetch())
+      elif self.mode.fetch() == "gle":
+         rC = self.C.fetch()
+         if len(rC) == 0:
+            rC = None
+         thermo = ThermoGLE(A=self.A.fetch(),C=rC)
+         thermo.s = self.s.fetch()
+      elif self.mode.fetch() == "nm_gle":
+         rC = self.C.fetch()
+         if len(rC) == 0:
+            rC = None
+         thermo = ThermoNMGLE(A=self.A.fetch(),C=rC)
+         thermo.s = self.s.fetch()
+      elif self.mode.fetch() == "nm_gle_g":
+         rC = self.C.fetch()
+         if len(rC) == 0:
+            rC = None
+         thermo = ThermoNMGLEG(A=self.A.fetch(),C=rC, tau=self.tau.fetch())
+         thermo.s = self.s.fetch()
+      elif self.mode.fetch() == "" :
+         thermo=Thermostat()
+      else:
+         raise TypeError("Invalid thermostat mode " + self.mode.fetch())
+
+      thermo.ethermo = self.ethermo.fetch()
+
+      return thermo
+
+   def check(self):
+      """Checks that the parameter arrays represents a valid thermostat."""
+
+      super(InputThermo,self).check()
+
+      if self.mode.fetch() in ["langevin", "svr", "pile_l", "pile_g", "nm_gle_g"]:
+         if self.tau.fetch() <= 0:
+            raise ValueError("The thermostat friction coefficient must be set to a positive value")
+      if self.mode.fetch() in ["gle", "nm_gle", "nm_gle_g"]:
+         pass  # PERHAPS DO CHECKS THAT MATRICES SATISFY REASONABLE CONDITIONS (POSITIVE-DEFINITENESS, ETC)
diff --git a/tools/i-pi/ipi/interfaces/README b/tools/i-pi/ipi/interfaces/README
new file mode 100644
index 0000000000..d5693d8f35
--- /dev/null
+++ b/tools/i-pi/ipi/interfaces/README
@@ -0,0 +1,8 @@
+ -- Interfaces between i-PI and the drivers --
+
+ * This is the directory containing the code that deals with the socket 
+   interface.
+
+ * Files:
+   - sockets.py: Deals with the driver communication and the wrapper socket 
+      and threading interface.
diff --git a/tools/i-pi/ipi/interfaces/__init__.py b/tools/i-pi/ipi/interfaces/__init__.py
new file mode 100644
index 0000000000..68af0572bf
--- /dev/null
+++ b/tools/i-pi/ipi/interfaces/__init__.py
@@ -0,0 +1 @@
+__all__ = ["sockets"]
diff --git a/tools/i-pi/ipi/interfaces/sockets.py b/tools/i-pi/ipi/interfaces/sockets.py
new file mode 100644
index 0000000000..998a87d113
--- /dev/null
+++ b/tools/i-pi/ipi/interfaces/sockets.py
@@ -0,0 +1,773 @@
+"""Deals with the socket communication between the PIMD and driver code.
+
+Copyright (C) 2013, Joshua More and Michele Ceriotti
+
+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 3 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/>.
+
+
+Deals with creating the socket, transmitting and receiving data, accepting and
+removing different driver routines and the parallelization of the force
+calculation.
+
+Classes:
+   Status: Simple class to keep track of the status, uses bitwise or to give
+      combinations of different status options.
+   DriverSocket: Class to deal with communication between a client and
+      the driver code.
+   InterfaceSocket: Host server class. Deals with distribution of all the jobs
+      between the different client servers.
+
+Functions:
+   Message: Sends a header string through the socket.
+
+Exceptions:
+   Disconnected: Raised if client has been disconnected.
+   InvalidStatus: Raised if client has the wrong status. Shouldn't have to be
+      used if the structure of the program is correct.
+"""
+
+__all__ = ['InterfaceSocket']
+
+import numpy as np
+import sys, os
+import socket, select, threading, signal, string, time
+from ipi.utils.depend import depstrip
+from ipi.utils.messages import verbosity, warning, info
+from ipi.utils.softexit import softexit
+
+
+HDRLEN = 12
+UPDATEFREQ = 10
+TIMEOUT = 5.0
+SERVERTIMEOUT = 2.0*TIMEOUT
+NTIMEOUT = 10
+
+def Message(mystr):
+   """Returns a header of standard length HDRLEN."""
+
+   return string.ljust(string.upper(mystr), HDRLEN)
+
+
+class Disconnected(Exception):
+   """Disconnected: Raised if client has been disconnected."""
+
+   pass
+
+class InvalidSize(Exception):
+   """Disconnected: Raised if client returns forces with inconsistent number of atoms."""
+
+   pass
+
+class InvalidStatus(Exception):
+   """InvalidStatus: Raised if client has the wrong status.
+
+   Shouldn't have to be used if the structure of the program is correct.
+   """
+
+   pass
+
+class Status:
+   """Simple class used to keep track of the status of the client.
+
+   Uses bitwise or to give combinations of different status options.
+   i.e. Status.Up | Status.Ready would be understood to mean that the client
+   was connected and ready to receive the position and cell data.
+
+   Attributes:
+      Disconnected: Flag for if the client has disconnected.
+      Up: Flag for if the client is running.
+      Ready: Flag for if the client has ready to receive position and cell data.
+      NeedsInit: Flag for if the client is ready to receive forcefield
+         parameters.
+      HasData: Flag for if the client is ready to send force data.
+      Busy: Flag for if the client is busy.
+      Timeout: Flag for if the connection has timed out.
+   """
+
+   Disconnected = 0
+   Up = 1
+   Ready = 2
+   NeedsInit = 4
+   HasData = 8
+   Busy = 16
+   Timeout = 32
+
+
+class DriverSocket(socket.socket):
+   """Deals with communication between the client and driver code.
+
+   Deals with sending and receiving the data from the driver code. Keeps track
+   of the status of the driver. Initialises the driver forcefield, sends the
+   position and cell data, and receives the force data.
+
+   Attributes:
+      _buf: A string buffer to hold the reply from the driver.
+      status: Keeps track of the status of the driver.
+      lastreq: The ID of the last request processed by the client.
+      locked: Flag to mark if the client has been working consistently on one image.
+   """
+
+   def __init__(self, socket):
+      """Initialises DriverSocket.
+
+      Args:
+         socket: A socket through which the communication should be done.
+      """
+
+      super(DriverSocket,self).__init__(_sock=socket)
+      self._buf = np.zeros(0,np.byte)
+      self.peername = self.getpeername()
+      self.status = Status.Up
+      self.waitstatus = False
+      self.lastreq = None
+      self.locked = False
+      
+   def shutdown(self, how=socket.SHUT_RDWR):
+      
+      self.sendall(Message("exit"))
+      self.status = Status.Disconnected
+      super(DriverSocket,self).shutdown(how)
+   
+   def poll(self):
+      """Waits for driver status."""
+
+      self.status = Status.Disconnected  # sets disconnected as failsafe status, in case _getstatus fails and exceptions are ignored upstream
+      self.status = self._getstatus()
+
+   def _getstatus(self):
+      """Gets driver status.
+
+      Returns:
+         An integer labelling the status via bitwise or of the relevant members
+         of Status.
+      """
+            
+      if not self.waitstatus:
+         try:
+            readable, writable, errored = select.select([], [self], [])
+            if self in writable:
+               self.sendall(Message("status"))
+               self.waitstatus = True
+         except:
+            return Status.Disconnected
+
+      try:
+         reply = self.recv(HDRLEN)
+         self.waitstatus = False # got status reply         
+      except socket.timeout:
+         warning(" @SOCKET:   Timeout in status recv!", verbosity.debug )
+         return Status.Up | Status.Busy | Status.Timeout
+      except:
+         return Status.Disconnected
+      
+      if not len(reply) == HDRLEN:
+         return Status.Disconnected
+      elif reply == Message("ready"):
+         return Status.Up | Status.Ready
+      elif reply == Message("needinit"):
+         return Status.Up | Status.NeedsInit
+      elif reply == Message("havedata"):
+         return Status.Up | Status.HasData
+      else:
+         warning(" @SOCKET:    Unrecognized reply: " + str(reply), verbosity.low )
+         return Status.Up
+
+   def recvall(self, dest):
+      """Gets the potential energy, force and virial from the driver.
+
+      Args:
+         dest: Object to be read into.
+
+      Raises:
+         Disconnected: Raised if client is disconnected.
+
+      Returns:
+         The data read from the socket to be read into dest.
+      """
+
+      blen = dest.itemsize*dest.size
+      if (blen > len(self._buf)):
+         self._buf.resize(blen)
+      bpos = 0
+      ntimeout = 0
+
+      while bpos < blen:
+         timeout = False
+
+#   pre-2.5 version.
+         try:
+            bpart = ""            
+            bpart = self.recv(blen - bpos)
+            if len(bpart) == 0: raise socket.timeout  # There is a problem if this returns no data
+            self._buf[bpos:bpos + len(bpart)] = np.fromstring(bpart, np.byte)
+         except socket.timeout:
+            warning(" @SOCKET:   Timeout in status recvall, trying again!", verbosity.low)
+            timeout = True
+            ntimeout += 1
+            if ntimeout > NTIMEOUT:
+               warning(" @SOCKET:  Couldn't receive within %5d attempts. Time to give up!" % (NTIMEOUT), verbosity.low)
+               raise Disconnected()
+            pass
+         if (not timeout and bpart == 0):
+            raise Disconnected()
+         bpos += len(bpart)
+
+#   post-2.5 version: slightly more compact for modern python versions
+#         try:
+#            bpart = 1
+#            bpart = self.recv_into(self._buf[bpos:], blen-bpos)
+#         except socket.timeout:
+#            print " @SOCKET:   Timeout in status recvall, trying again!"
+#            timeout = True
+#            pass
+#         if (not timeout and bpart == 0):
+#            raise Disconnected()
+#         bpos += bpart
+#TODO this Disconnected() exception currently just causes the program to hang.
+#This should do something more graceful
+
+      if np.isscalar(dest):
+         return np.fromstring(self._buf[0:blen], dest.dtype)[0]
+      else:
+         return np.fromstring(self._buf[0:blen], dest.dtype).reshape(dest.shape)
+
+   def initialize(self, rid, pars):
+      """Sends the initialisation string to the driver.
+
+      Args:
+         rid: The index of the request, i.e. the replica that
+            the force calculation is for.
+         pars: The parameter string to be sent to the driver.
+
+      Raises:
+         InvalidStatus: Raised if the status is not NeedsInit.
+      """
+
+      if self.status & Status.NeedsInit:
+         try:
+            self.sendall(Message("init"))
+            self.sendall(np.int32(rid))
+            self.sendall(np.int32(len(pars)))
+            self.sendall(pars)
+         except:
+            self.poll()
+            return
+      else:
+         raise InvalidStatus("Status in init was " + self.status)
+
+   def sendpos(self, pos, cell):
+      """Sends the position and cell data to the driver.
+
+      Args:
+         pos: An array containing the atom positions.
+         cell: A cell object giving the system box.
+
+      Raises:
+         InvalidStatus: Raised if the status is not Ready.
+      """
+
+      if (self.status & Status.Ready):
+         try:
+            self.sendall(Message("posdata"))
+            self.sendall(cell.h, 9*8)
+            self.sendall(cell.ih, 9*8)
+            self.sendall(np.int32(len(pos)/3))
+            self.sendall(pos, len(pos)*8)
+         except:
+            self.poll()
+            return
+      else:
+         raise InvalidStatus("Status in sendpos was " + self.status)
+
+   def getforce(self):
+      """Gets the potential energy, force and virial from the driver.
+
+      Raises:
+         InvalidStatus: Raised if the status is not HasData.
+         Disconnected: Raised if the driver has disconnected.
+
+      Returns:
+         A list of the form [potential, force, virial, extra].
+      """
+
+      if (self.status & Status.HasData):
+         self.sendall(Message("getforce"));
+         reply = ""         
+         while True:            
+            try:
+               reply = self.recv(HDRLEN)
+            except socket.timeout:
+               warning(" @SOCKET:   Timeout in getforce, trying again!", verbosity.low)
+               continue
+            if reply == Message("forceready"):
+               break
+            else:
+               warning(" @SOCKET:   Unexpected getforce reply: %s" % (reply), verbosity.low)
+            if reply == "":
+               raise Disconnected()
+      else:
+         raise InvalidStatus("Status in getforce was " + self.status)
+      
+      mu = np.float64()
+      mu = self.recvall(mu)
+
+      mlen = np.int32()
+      mlen = self.recvall(mlen)
+      mf = np.zeros(3*mlen,np.float64)
+      mf = self.recvall(mf)
+
+      mvir = np.zeros((3,3),np.float64)
+      mvir = self.recvall(mvir)
+      
+      #! Machinery to return a string as an "extra" field. Comment if you are using a old patched driver that does not return anything!
+      mlen = np.int32()
+      mlen = self.recvall(mlen)
+      if mlen > 0 :
+         mxtra = np.zeros(mlen,np.character)
+         mxtra = self.recvall(mxtra)
+         mxtra = "".join(mxtra)
+      else:
+         mxtra = ""
+
+      #!TODO must set up a machinery to intercept the "extra" return field
+      return [mu, mf, mvir, mxtra]
+
+
+class InterfaceSocket(object):
+   """Host server class.
+
+   Deals with distribution of all the jobs between the different client servers
+   and both initially and as clients either finish or are disconnected.
+   Deals with cleaning up after all calculations are done. Also deals with the
+   threading mechanism, and cleaning up if the interface is killed.
+
+   Attributes:
+      address: A string giving the name of the host network.
+      port: An integer giving the port the socket will be using.
+      slots: An integer giving the maximum allowed backlog of queued clients.
+      mode: A string giving the type of socket used.
+      latency: A float giving the number of seconds the interface will wait
+         before updating the client list.
+      timeout: A float giving a timeout limit for considering a calculation dead
+         and dropping the connection.
+      dopbc: A boolean which decides whether or not to fold the bead positions
+         back into the unit cell before passing them to the client code.
+      server: The socket used for data transmition.
+      clients: A list of the driver clients connected to the server.
+      requests: A list of all the jobs required in the current PIMD step.
+      jobs: A list of all the jobs currently running.
+      _poll_thread: The thread the poll loop is running on.
+      _prev_kill: Holds the signals to be sent to clean up the main thread
+         when a kill signal is sent.
+      _poll_true: A boolean giving whether the thread is alive.
+      _poll_iter: An integer used to decide whether or not to check for
+         client connections. It is used as a counter, once it becomes higher
+         than the pre-defined number of steps between checks the socket will
+         update the list of clients and then be reset to zero.
+   """
+
+   def __init__(self, address="localhost", port=31415, slots=4, mode="unix", latency=1e-3, timeout=1.0, dopbc=True):
+      """Initialises interface.
+
+      Args:
+         address: An optional string giving the name of the host server.
+            Defaults to 'localhost'.
+         port: An optional integer giving the port number. Defaults to 31415.
+         slots: An optional integer giving the maximum allowed backlog of
+            queueing clients. Defaults to 4.
+         mode: An optional string giving the type of socket. Defaults to 'unix'.
+         latency: An optional float giving the time in seconds the socket will
+            wait before updating the client list. Defaults to 1e-3.
+         timeout: Length of time waiting for data from a client before we assume
+            the connection is dead and disconnect the client.
+         dopbc: A boolean which decides whether or not to fold the bead positions
+            back into the unit cell before passing them to the client code.
+
+      Raises:
+         NameError: Raised if mode is not 'unix' or 'inet'.
+      """
+
+      self.address = address
+      self.port = port
+      self.slots = slots
+      self.mode = mode
+      self.latency = latency
+      self.timeout = timeout
+      self.dopbc = dopbc
+      self._poll_thread = None
+      self._prev_kill = {}
+      self._poll_true = False
+      self._poll_iter = 0
+
+   def open(self):
+      """Creates a new socket.
+
+      Used so that we can create a interface object without having to also
+      create the associated socket object.
+      """
+
+      if self.mode == "unix":
+         self.server = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
+         try:
+            self.server.bind("/tmp/ipi_" + self.address)
+            info("Created unix socket with address " + self.address, verbosity.medium)
+         except:
+            raise ValueError("Error opening unix socket. Check if a file " + ("/tmp/ipi_" + self.address) + " exists, and remove it if unused.")
+
+      elif self.mode == "inet":
+         self.server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+         self.server.bind((self.address,self.port))
+         info("Created inet socket with address " + self.address + " and port number " + str(self.port), verbosity.medium)
+      else:
+         raise NameError("InterfaceSocket mode " + self.mode + " is not implemented (should be unix/inet)")
+
+      self.server.listen(self.slots)
+      self.server.settimeout(SERVERTIMEOUT)
+      self.clients = []
+      self.requests = []
+      self.jobs = []
+
+   def close(self):
+      """Closes down the socket."""
+
+      info(" @SOCKET: Shutting down the driver interface.", verbosity.low )
+      
+      for c in self.clients[:]:
+         if (c.status & Status.Up):
+            c.shutdown(socket.SHUT_RDWR)
+            
+      self.server.shutdown(socket.SHUT_RDWR)
+      self.server.close()
+      if self.mode == "unix":
+         os.unlink("/tmp/ipi_" + self.address)
+
+   def queue(self, atoms, cell, pars=None, reqid=0):
+      """Adds a request.
+
+      Note that the pars dictionary need to be sent as a string of a
+      standard format so that the initialisation of the driver can be done.
+
+      Args:
+         atoms: An Atoms object giving the atom positions.
+         cell: A Cell object giving the system box.
+         pars: An optional dictionary giving the parameters to be sent to the
+            driver for initialisation. Defaults to {}.
+         reqid: An optional integer that identifies requests of the same type,
+            e.g. the bead index
+
+      Returns:
+         A list giving the status of the request of the form {'atoms': Atoms
+         object giving the atom positions, 'cell': Cell object giving the
+         system box, 'pars': parameter string, 'result': holds the result as a
+         list once the computation is done, 'status': a string labelling the
+         status, 'id': the id of the request, usually the bead number, 'start':
+         the starting time for the calculation, used to check for timeouts.}.
+      """
+
+      par_str = " "
+
+      if not pars is None:
+         for k,v in pars.items():
+            par_str += k + " : " + str(v) + " , "
+      else:
+         par_str = " "
+
+      # APPLY PBC -- this is useful for codes such as LAMMPS that don't do full PBC when computing distances
+      pbcpos = depstrip(atoms.q).copy()
+      if self.dopbc:
+         cell.array_pbc(pbcpos)
+
+      newreq = {"pos": pbcpos, "cell": cell, "pars": par_str,
+                "result": None, "status": "Queued", "id": reqid,
+                "start": -1 }
+
+      self.requests.append(newreq)
+      return newreq
+
+   def release(self, request):
+      """Empties the list of requests once finished.
+
+      Args:
+         request: A list of requests that are done.
+      """
+
+      if request in self.requests:
+         self.requests.remove(request)
+
+   def pool_update(self):
+      """Deals with keeping the pool of client drivers up-to-date during a
+      force calculation step.
+
+      Deals with maintaining the client list. Clients that have
+      disconnected are removed and their jobs removed from the list of
+      running jobs and new clients are connected to the server.
+      """
+
+      for c in self.clients[:]:
+         if not (c.status & Status.Up):
+            try:
+               warning(" @SOCKET:   Client " + str(c.peername) +" died or got unresponsive(C). Removing from the list.", verbosity.low)
+               c.shutdown(socket.SHUT_RDWR)
+               c.close()
+            except:
+               pass
+            c.status = Status.Disconnected
+            self.clients.remove(c)
+            for [k,j] in self.jobs[:]:
+               if j is c:
+                  self.jobs = [ w for w in self.jobs if not ( w[0] is k and w[1] is j ) ] # removes pair in a robust way
+                  #self.jobs.remove([k,j])
+                  k["status"] = "Queued"
+                  k["start"] = -1
+
+      keepsearch = True
+      while keepsearch:
+         readable, writable, errored = select.select([self.server], [], [], 0.0)
+         if self.server in readable:
+            client, address = self.server.accept()
+            client.settimeout(TIMEOUT)
+            driver = DriverSocket(client)
+            info(" @SOCKET:   Client asked for connection from "+ str( address ) +". Now hand-shaking.", verbosity.low)
+            driver.poll()
+            if (driver.status | Status.Up):
+               self.clients.append(driver)
+               info(" @SOCKET:   Handshaking was successful. Added to the client list.", verbosity.low)
+            else:
+               warning(" @SOCKET:   Handshaking failed. Dropping connection.", verbosity.low)
+               client.shutdown(socket.SHUT_RDWR)
+               client.close()
+         else:
+            keepsearch = False
+
+   def pool_distribute(self):
+      """Deals with keeping the list of jobs up-to-date during a force
+      calculation step.
+
+      Deals with maintaining the jobs list. Gets data from drivers that have
+      finished their calculation and removes that job from the list of running
+      jobs, adds jobs to free clients and initialises the forcefields of new
+      clients.
+      """
+
+      for c in self.clients:
+         if c.status == Status.Disconnected : # client disconnected. force a pool_update
+            self._poll_iter = UPDATEFREQ
+            return
+         if not c.status & ( Status.Ready | Status.NeedsInit ):
+            c.poll()
+
+      for [r,c] in self.jobs[:]:
+         if c.status & Status.HasData:
+            try:
+               r["result"] = c.getforce()
+               if len(r["result"][1]) != len(r["pos"]):
+                  raise InvalidSize
+            except Disconnected:
+               c.status = Status.Disconnected
+               continue
+            except InvalidSize:
+              warning(" @SOCKET:   Client returned an inconsistent number of forces. Will mark as disconnected and try to carry on.", verbosity.low)
+              c.status = Status.Disconnected
+              continue
+            except:
+              warning(" @SOCKET:   Client got in a awkward state during getforce. Will mark as disconnected and try to carry on.", verbosity.low)
+              c.status = Status.Disconnected
+              continue
+            c.poll()
+            while c.status & Status.Busy: # waits, but check if we got stuck.
+               if self.timeout > 0 and r["start"] > 0 and time.time() - r["start"] > self.timeout:
+                  warning(" @SOCKET:  Timeout! HASDATA for bead " + str(r["id"]) + " has been running for " + str(time.time() - r["start"]) + " sec.", verbosity.low)
+                  warning(" @SOCKET:   Client " + str(c.peername) + " died or got unresponsive(A). Disconnecting.", verbosity.low)
+                  try:
+                     c.shutdown(socket.SHUT_RDWR)
+                  except:
+                     pass
+                  c.close()
+                  c.status = Status.Disconnected
+                  continue
+               c.poll()
+            if not (c.status & Status.Up):
+               warning(" @SOCKET:   Client died a horrible death while getting forces. Will try to cleanup.", verbosity.low)
+               continue
+            r["status"] = "Done"
+            c.lastreq = r["id"] # saves the ID of the request that the client has just processed
+            self.jobs = [ w for w in self.jobs if not ( w[0] is r and w[1] is c ) ] # removes pair in a robust way
+
+         if self.timeout > 0 and c.status != Status.Disconnected and r["start"] > 0 and time.time() - r["start"] > self.timeout:
+            warning(" @SOCKET:  Timeout! Request for bead " + str( r["id"]) + " has been running for " + str(time.time() - r["start"]) + " sec.", verbosity.low)
+            warning(" @SOCKET:   Client " + str(c.peername) + " died or got unresponsive(B). Disconnecting.",verbosity.low)
+            try:
+               c.shutdown(socket.SHUT_RDWR)
+            except socket.error:
+               e = sys.exc_info()
+               warning(" @SOCKET:  could not shut down cleanly the socket. %s: %s in file '%s' on line %d" % (e[0].__name__, e[1], os.path.basename(e[2].tb_frame.f_code.co_filename), e[2].tb_lineno), verbosity.low )
+            c.close()
+            c.poll()
+            c.status = Status.Disconnected
+
+      freec = self.clients[:]
+      for [r2, c] in self.jobs:
+         freec.remove(c)
+
+      pendr = self.requests[:]
+      pendr = [ r for r in self.requests if r["status"] == "Queued" ]
+
+      for fc in freec[:]:
+         matched = False
+         # first, makes sure that the client is REALLY free
+         if not (fc.status & Status.Up):
+            self.clients.remove(fc)   # if fc is in freec it can't be associated with a job (we just checked for that above)
+            continue
+         if fc.status & Status.HasData:
+            continue
+         if not (fc.status & (Status.Ready | Status.NeedsInit | Status.Busy) ):
+            warning(" @SOCKET: Client " + str(fc.peername) + " is in an unexpected status " + str(fc.status) + " at (1). Will try to keep calm and carry on.", verbosity.low)
+            continue
+         for match_ids in ( "match", "none", "free", "any" ):
+            for r in pendr[:]:
+               if match_ids == "match" and not fc.lastreq is r["id"]:
+                  continue
+               elif match_ids == "none" and not fc.lastreq is None:
+                  continue
+               elif match_ids == "free" and fc.locked:
+                  continue
+
+               info(" @SOCKET: Assigning [%5s] request id %4s to client with last-id %4s (% 3d/% 3d : %s)" % (match_ids,  str(r["id"]),  str(fc.lastreq), self.clients.index(fc), len(self.clients), str(fc.peername) ), verbosity.high )
+
+               while fc.status & Status.Busy:
+                  fc.poll()
+               if fc.status & Status.NeedsInit:
+                  fc.initialize(r["id"], r["pars"])
+                  fc.poll()
+                  while fc.status & Status.Busy: # waits for initialization to finish. hopefully this is fast
+                     fc.poll()
+               if fc.status & Status.Ready:
+                  fc.sendpos(r["pos"], r["cell"])
+                  r["status"] = "Running"
+                  r["start"] = time.time() # sets start time for the request
+                  fc.poll()
+                  self.jobs.append([r,fc])
+                  fc.locked =  (fc.lastreq is r["id"])
+                  matched = True
+                  # removes r from the list of pending jobs
+                  pendr = [nr for nr in pendr if (not nr is r)]
+                  break
+               else:
+                  warning(" @SOCKET: Client " + str(fc.peername) + " is in an unexpected status " + str(fc.status) + " at (2). Will try to keep calm and carry on.", verbosity.low)
+            if matched:
+               break # doesn't do a second (or third) round if it managed
+                     # to assign the job
+
+   def _kill_handler(self, signal, frame):
+      """Deals with handling a kill call gracefully.
+
+      Prevents any of the threads becoming zombies, by intercepting a
+      kill signal using the standard python function signal.signal() and
+      then closing the socket and the spawned threads before closing the main
+      thread. Called when signals SIG_INT and SIG_TERM are received.
+
+      Args:
+         signal: An integer giving the signal number of the signal received
+            from the socket.
+         frame: Current stack frame.
+      """
+
+      warning(" @SOCKET:   Kill signal. Trying to make a clean exit.", verbosity.low)
+      self.end_thread()
+
+      softexit.trigger(" @SOCKET: Kill signal received")
+
+      try:
+         self.__del__()
+      except:
+         pass
+      if signal in self._prev_kill:
+         self._prev_kill[signal](signal, frame)
+
+   def _poll_loop(self):
+      """The main thread loop.
+
+      Runs until either the program finishes or a kill call is sent. Updates
+      the pool of clients every UPDATEFREQ loops and loops every latency
+      seconds until _poll_true becomes false.
+      """
+
+      info(" @SOCKET: Starting the polling thread main loop.", verbosity.low)
+      self._poll_iter = UPDATEFREQ
+      while self._poll_true:
+         time.sleep(self.latency)
+         # makes sure to remove the last dead client as soon as possible -- and to get clients if we are dry
+         if self._poll_iter >= UPDATEFREQ or len(self.clients)==0 or (len(self.clients) > 0 and not(self.clients[0].status & Status.Up)):
+            self.pool_update()
+            self._poll_iter = 0
+         self._poll_iter += 1
+         self.pool_distribute()
+
+         if os.path.exists("EXIT"): # softexit
+            info(" @SOCKET: Soft exit request from file EXIT. Flushing job queue.", verbosity.low)
+            # releases all pending requests
+            for r in self.requests:
+               r["status"] = "Exit"
+            for c in self.clients:
+               try:
+                  c.shutdown(socket.SHUT_RDWR)
+                  c.close()
+               except:
+                  pass
+            # flush it all down the drain
+            self.clients = []
+            self.jobs = []
+      self._poll_thread = None
+
+   def started(self):
+      """Returns a boolean specifying whether the thread has started yet."""
+
+      return (not self._poll_thread is None)
+
+   def start_thread(self):
+      """Spawns a new thread.
+
+      Splits the main program into two threads, one that runs the polling loop
+      which updates the client list, and one which gets the data. Also sets up
+      the machinery to deal with a kill call, in the case of a Ctrl-C or
+      similar signal the signal is intercepted by the _kill_handler function,
+      which cleans up the spawned thread before closing the main thread.
+
+      Raises:
+         NameError: Raised if the polling thread already exists.
+      """
+
+      self.open()
+      if not self._poll_thread is None:
+         raise NameError("Polling thread already started")
+      self._poll_thread = threading.Thread(target=self._poll_loop, name="poll_" + self.address)
+      self._poll_thread.daemon = True
+      self._prev_kill[signal.SIGINT] = signal.signal(signal.SIGINT, self._kill_handler)
+      self._prev_kill[signal.SIGTERM] = signal.signal(signal.SIGTERM, self._kill_handler)
+      self._poll_true = True
+      self._poll_thread.start()
+
+   def end_thread(self):
+      """Closes the spawned thread.
+
+      Deals with cleaning up the spawned thread cleanly. First sets
+      _poll_true to false to indicate that the poll_loop should be exited, then
+      closes the spawned thread and removes it.
+      """
+
+      self._poll_true = False
+      if not self._poll_thread is None:
+         self._poll_thread.join()
+      self._poll_thread = None
+      self.close()
diff --git a/tools/i-pi/ipi/tests/README b/tools/i-pi/ipi/tests/README
new file mode 100644
index 0000000000..17df9d7a7c
--- /dev/null
+++ b/tools/i-pi/ipi/tests/README
@@ -0,0 +1,9 @@
+ -- Nosetests directory --
+
+ * This is the directory containing the tests that can be run with nosetests.
+
+ * Files:
+   - common.py: Common helper funtions for use in the tests.
+   - datest.py: Tests the dependency utility and some of the numpy
+      facilities.
+   - test_*.py: The actual tests for at least some of the code basis.
diff --git a/tools/i-pi/ipi/tests/common.py b/tools/i-pi/ipi/tests/common.py
new file mode 100644
index 0000000000..3ffea431a1
--- /dev/null
+++ b/tools/i-pi/ipi/tests/common.py
@@ -0,0 +1,96 @@
+"""Common helper functions for running the tests.
+
+Copyright (C) 2013, Joshua More and Michele Ceriotti
+
+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 3 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/>.
+
+
+Functions:
+   local: Returns local folder of the tests directory.
+
+Classes:
+   TestSimulation: Can be used to test that a particular simulation
+      will run properly, given an input file and a driver code.
+"""
+
+import glob
+import os
+import subprocess
+import shutil
+import tempfile
+
+def local(file=None):
+    """Returns local folder of the tests directory.
+
+    Args:
+        - file: Append file to the local folder
+    """
+    if file:
+        return os.sep.join(__file__.split(os.sep)[:-1]+[file])
+    else:
+        return os.sep.join(__file__.split(os.sep)[:-1])
+
+class TestSimulation(object):
+   """Simple class used to test various aspects of the simulation.
+
+   Can be used to run an example given the location of an xml
+   input file and the location of a suitable driver code.
+
+   Attributes:
+      finput: The name of the xml input file
+      folder_input: A string giving the directory the input file is held in.
+      fdriver: The location of a driver code.
+      cwd: Current working directory.
+      tmpdir: A temporary directory to run the simulation in.
+   """
+
+   def __init__(self, input, driver):
+      """Initializes TestSimulation.
+
+      Args:
+         input: The name of the xml input file.
+         driver: The location of the driver code.
+      """
+
+      self.finput = input
+      self.folder_input = os.sep.join(input.split(os.sep)[:-1])
+      self.fdriver = driver
+      self.cwd = os.getcwd()
+      self.tmpdir = tempfile.mkdtemp()
+
+      # Copy needed files to tmpdir
+      for src in glob.glob("%s/*"%self.folder_input):
+          shutil.copy(src, self.tmpdir)
+
+      os.chdir(self.tmpdir)
+
+   def __del__(self):
+      """Cleans the temporary directory once the simulation is over."""
+
+      os.chdir(self.cwd)
+      shutil.rmtree(self.tmpdir)
+
+   def run(self):
+      """Runs the simulation."""
+
+      # Run driver
+      p = subprocess.Popen("echo running %s"%self.fdriver, shell=True)
+
+      # Start simulation
+      # TODO
+      print subprocess.check_output("ls", shell=True)
+      print subprocess.check_output("pwd", shell=True)
+
+      # wait for driver to finish
+      p.wait()
diff --git a/tools/i-pi/ipi/tests/datest.py b/tools/i-pi/ipi/tests/datest.py
new file mode 100644
index 0000000000..aa608691ef
--- /dev/null
+++ b/tools/i-pi/ipi/tests/datest.py
@@ -0,0 +1,56 @@
+"""Short test scripts.
+
+Copyright (C) 2013, Joshua More and Michele Ceriotti
+
+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 3 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/>.
+
+
+Used to test the depend array view mechanism.
+"""
+
+import sys
+sys.path.append("../")
+sys.path.append("../../")
+
+import utils.depend as dp
+import numpy as np
+
+print "## Creation test"
+a = dp.depend_array(name="a",value=np.zeros((2,2),float))
+b = dp.depend_array(name="b",value=np.zeros((2,2),float))
+
+print "## Slicing test"
+c = a[0]
+print type(c)
+
+print "## Addition test"
+c = a + b
+print type(c)
+
+print "## Increment test"
+c = np.zeros((2,2))
+c += a
+print type(c)
+
+print "## Dot test"
+c = np.dot(a,b)
+print type(c)
+
+rdot = np.dot
+def fdot(a,b):
+   return rdot(a,b).view(np.ndarray)
+#np.dot=fdot
+
+print "## Dot-f test"
+c = np.dot(a,b)
diff --git a/tools/i-pi/ipi/tests/test.pos_0.pdb b/tools/i-pi/ipi/tests/test.pos_0.pdb
new file mode 100644
index 0000000000..426c470192
--- /dev/null
+++ b/tools/i-pi/ipi/tests/test.pos_0.pdb
@@ -0,0 +1,10 @@
+CRYST1    1.000    1.000    1.000  90.00  90.00  90.00 P 1           1
+ATOM      1    O   1     1       0.000   1.000   2.000  0.00  0.00             0
+ATOM      2    H   1     1       3.000   4.000   5.000  0.00  0.00             0
+ATOM      3    H   1     1       6.000   7.000   8.000  0.00  0.00             0
+END
+CRYST1    1.000    1.000    1.000  90.00  90.00  90.00 P 1           1
+ATOM      1    O   1     1       0.000   2.000   4.000  0.00  0.00             0
+ATOM      2    H   1     1       6.000   8.000  10.000  0.00  0.00             0
+ATOM      3    H   1     1      12.000  14.000  16.000  0.00  0.00             0
+END
diff --git a/tools/i-pi/ipi/tests/test.pos_0.xyz b/tools/i-pi/ipi/tests/test.pos_0.xyz
new file mode 100644
index 0000000000..05ae14da54
--- /dev/null
+++ b/tools/i-pi/ipi/tests/test.pos_0.xyz
@@ -0,0 +1,10 @@
+3
+# CELL(abcABC):    1.00000     1.00000     1.00000    90.00000    90.00000    90.00000  
+       O  0.00000e+00  1.00000e+00  2.00000e+00
+       H  3.00000e+00  4.00000e+00  5.00000e+00
+       H  6.00000e+00  7.00000e+00  8.00000e+00
+3
+# CELL(abcABC):    1.00000     1.00000     1.00000    90.00000    90.00000    90.00000  
+       O  0.00000e+00  2.00000e+00  4.00000e+00
+       H  6.00000e+00  8.00000e+00  1.00000e+01
+       H  1.20000e+01  1.40000e+01  1.60000e+01
diff --git a/tools/i-pi/ipi/tests/test_contraction.py b/tools/i-pi/ipi/tests/test_contraction.py
new file mode 100644
index 0000000000..ad9556fbea
--- /dev/null
+++ b/tools/i-pi/ipi/tests/test_contraction.py
@@ -0,0 +1,127 @@
+"""Tests ring polymer contraction.
+
+Copyright (C) 2013, Joshua More and Michele Ceriotti
+
+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 3 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/>.
+"""
+
+import sys
+sys.path.append("../")
+sys.path.append("../../")
+
+from ipi.utils import nmtransform
+import numpy as np
+from numpy.testing import assert_almost_equal as assert_equals
+
+def check_up_and_down_scaling(n, q):
+    """Check if q expanding and then contracting a ring polymer is a no-op.
+
+    Args:
+       n: The number of beads in the scaled ring polymer.
+       q: The original position array.
+    """
+
+    rescale = nmtransform.nm_rescale(q.shape[0], n)
+    print "Initial position of the beads:"
+    print q, q.shape, (q.shape[0], n)
+
+    # rescale up to the n beads
+    beads_n = rescale.b1tob2(q)
+    print "Upscaled to %d beads:"%n
+    print beads_n, beads_n.shape
+
+    beads_final = rescale.b2tob1(beads_n)
+    print "Final position of the beads:"
+    print beads_final
+
+    assert_equals(q, beads_final)
+    return beads_n
+
+def check_rpc_consistency(n, q):
+   """Check if q expanding and then contracting a ring polymer is a no-op.
+
+   Args:
+      n: The number of beads in the scaled ring polymer.
+      q: The original position array.
+   """
+
+   rescale1 = nmtransform.nm_rescale(q.shape[0], n)
+   rescale2 = nmtransform.nm_rescale(n,q.shape[0])
+
+   beads_n=rescale1.b1tob2(q)
+   beads_1=rescale1.b2tob1(beads_n)
+   beads_2=rescale2.b1tob2(beads_n)
+
+   assert_equals(beads_1, beads_2)
+
+def check_centroid_pos(n, q):
+   """Check if expanding and then contracting a ring polymer
+   maintains the centroid.
+
+   Args:
+      n: The number of beads in the scaled ring polymer.
+      q: The original position array.
+   """
+
+   beads_big = check_up_and_down_scaling(n, q)
+   rescale_big = nmtransform.mk_rs_matrix(n, 1)
+   rescale_q = nmtransform.mk_rs_matrix(q.shape[0], 1)
+
+   centroid_big = np.dot(rescale_big, beads_big)
+   centroid_q = np.dot(rescale_q, q)
+
+   assert_equals(centroid_q, centroid_big)
+
+numbers_to_check = range(10, 56, 9)
+def test_1_to_n():
+   """One bead tests."""
+
+   for n in numbers_to_check:
+      q = np.array([[0.0,0.0,0.0, 1.0,0.0,0.0]])
+      yield check_up_and_down_scaling, n, q
+      yield check_rpc_consistency, n, q
+      yield check_centroid_pos, n, q
+
+def test_2_to_n():
+   """Two bead tests."""
+
+   for n in numbers_to_check:
+      q = np.array([[0.0,0.0,0.0, 1.0,0.0,0.0],
+                    [0.0,0.1,0.0, 1.0,0.1,0.0]])
+      yield check_up_and_down_scaling, n, q
+      yield check_rpc_consistency, n, q
+      yield check_centroid_pos, n, q
+
+def test_3_to_n():
+   """Three bead tests."""
+
+   for n in numbers_to_check:
+      q = np.array([[0.0, 0.0,0.0, 1.0, 0.0,0.0],
+                    [0.0, 0.1,0.0, 1.0, 0.1,0.0],
+                    [0.0,-0.1,0.0, 1.0,-0.1,0.0]])
+      yield check_up_and_down_scaling, n, q
+      yield check_rpc_consistency, n, q
+      yield check_centroid_pos, n, q
+
+def test_4_to_n():
+   """Four bead tests."""
+
+   for n in numbers_to_check:
+      q = np.array([[0.0, 0.0,0.0, 1.0, 0.0,0.0],
+                    [0.0, 0.1,0.0, 1.0, 0.1,0.0],
+                    [0.0, 0.2,0.0, 1.0, 0.2,0.0],
+                    [0.0,-0.1,0.0, 1.0,-0.1,0.0]])
+      yield check_up_and_down_scaling, n, q
+      yield check_rpc_consistency, n, q
+      yield check_centroid_pos, n, q
diff --git a/tools/i-pi/ipi/tests/test_io.py b/tools/i-pi/ipi/tests/test_io.py
new file mode 100644
index 0000000000..53fad808f7
--- /dev/null
+++ b/tools/i-pi/ipi/tests/test_io.py
@@ -0,0 +1,96 @@
+"""Deals with testing the io system.
+
+Copyright (C) 2013, Joshua More and Michele Ceriotti
+
+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 3 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/>.
+
+Note that this will only run if you have Python version 2.5 or later.
+Otherwise, replace all the with statements with f = filestream.
+"""
+
+import sys
+sys.path.append("../")
+sys.path.append("../../")
+
+import filecmp
+import os, sys
+import numpy as np
+from numpy.testing import assert_equal
+from common import local
+
+from ipi.engine.cell import Cell
+
+from ipi.utils.io import io_xyz
+from ipi.utils.io import io_pdb
+
+pos = np.array([i for i in range(3*3)])
+
+def test_read_xyz():
+   """Tests that xyz files are read correctly."""
+
+   with open(local("test.pos_0.xyz"), "r") as f:
+      atoms = io_xyz.read_xyz(f)
+      assert(len(atoms) == 3)
+      assert_equal(pos, atoms.q)
+
+def test_iter_xyz():
+   """Tests that xyz files with multiple frames are read correctly."""
+
+   with open(local("test.pos_0.xyz"), "r") as f:
+      for num, atoms in enumerate(io_xyz.iter_xyz(f)):
+         assert(len(atoms) == 3)
+         assert_equal(pos*(num+1), atoms.q)
+
+def test_read_pdb():
+   """Tests that pdb files are read correctly."""
+
+   with open(local("test.pos_0.pdb"), "r") as f:
+      atoms, cell = io_pdb.read_pdb(f)
+      assert(len(atoms) == 3)
+      assert_equal(pos, atoms.q)
+      # TODO: test cell
+
+def test_iter_pdb():
+   """Tests that pdb files with multiple frames are read correctly."""
+
+   with open(local("test.pos_0.pdb"), "r") as f:
+      for num, (atoms, cell) in enumerate(io_pdb.iter_pdb(f)):
+         assert(len(atoms) == 3)
+         assert_equal(pos*(num+1), atoms.q)
+
+def test_print_pdb():
+   """Tests that pdb files are printed correctly."""
+
+   with open(local("test.pos_0.pdb"), "r") as f:
+      with open(local("test.pos_1.xyz"), "w") as out:
+         for num, (atoms, cell) in enumerate(io_pdb.iter_pdb(f)):
+            assert(len(atoms) == 3)
+            assert_equal(pos*(num+1), atoms.q)
+            io_xyz.print_xyz(atoms, Cell(h=np.identity(3, float)), filedesc=out)
+
+   assert(filecmp.cmp(local("test.pos_0.xyz"), local("test.pos_1.xyz")))
+   os.unlink(local("test.pos_1.xyz"))
+
+def test_print_xyz():
+   """Tests that xyz files are printed correctly."""
+
+   with open(local("test.pos_0.pdb"), "r") as f:
+      with open(local("test.pos_1.pdb"), "w") as out:
+         for num, (atoms, cell) in enumerate(io_pdb.iter_pdb(f)):
+            assert(len(atoms) == 3)
+            assert_equal(pos*(num+1), atoms.q)
+            io_pdb.print_pdb(atoms, Cell(h=np.identity(3, float)), filedesc=out)
+
+   assert(filecmp.cmp(local("test.pos_0.pdb"), local("test.pos_1.pdb")))
+   os.unlink(local("test.pos_1.pdb"))
diff --git a/tools/i-pi/ipi/tests/test_runs.py b/tools/i-pi/ipi/tests/test_runs.py
new file mode 100644
index 0000000000..940f2c9ed9
--- /dev/null
+++ b/tools/i-pi/ipi/tests/test_runs.py
@@ -0,0 +1,24 @@
+"""Tests that the Lennard-Jones test case works properly.
+
+Copyright (C) 2013, Joshua More and Michele Ceriotti
+
+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 3 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/>.
+"""
+
+from common import TestSimulation
+
+def test_lj_gas():
+    ts = TestSimulation(input="../../test/lj/gas/input.xml", driver="../../drivers/driver.x")
+    ts.run()
+    # Test properties (e.g. latest positions/temperature etc)
diff --git a/tools/i-pi/ipi/utils/README b/tools/i-pi/ipi/utils/README
new file mode 100644
index 0000000000..edc629f081
--- /dev/null
+++ b/tools/i-pi/ipi/utils/README
@@ -0,0 +1,21 @@
+ -- Utility functions directory --
+
+ * This is the directory containing functions that are used in the other 
+   modules in the code.
+
+ * Files:
+   - depend.py: Deals with the dependency detection, value caching and 
+      automatic updating of variables.
+   - inputvalue.py: Contains the base classes used in reading the xml
+      input file, and creating the restart file.
+   - mathtools.py: Contains the algorithms used in various parts of the code.
+   - messages.py: Contains the classes to generate info and warning messages
+      to standard output during the simulation.
+   - nmtransform.py: Contains the algorithms that deal with the normal mode
+      and ring polymer contraction transformations.
+   - prng.py: Deals with random number generation.
+   - softexit: Contains the classes to deal with calls for a soft exit.
+   - units.py: Holds atomic masses, fundamental constants, and unit conversions.
+
+ * Directories:
+   - io: Holds the modules that deal with reading and outputting files.
diff --git a/tools/i-pi/ipi/utils/__init__.py b/tools/i-pi/ipi/utils/__init__.py
new file mode 100644
index 0000000000..6fa5c8e00c
--- /dev/null
+++ b/tools/i-pi/ipi/utils/__init__.py
@@ -0,0 +1 @@
+__all__ = ["depend", "units", "mathtools", "prng" , "inputvalue", 'nmtransform', 'messages', 'softexit']
diff --git a/tools/i-pi/ipi/utils/depend.py b/tools/i-pi/ipi/utils/depend.py
new file mode 100644
index 0000000000..1ca361f781
--- /dev/null
+++ b/tools/i-pi/ipi/utils/depend.py
@@ -0,0 +1,768 @@
+"""Contains the classes that are used to define the dependency network.
+
+Copyright (C) 2013, Joshua More and Michele Ceriotti
+
+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 3 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/>.
+
+
+The classes defined in this module overload the standard __get__ and __set__
+routines of the numpy ndarray class and standard library object class so that
+they automatically keep track of whether anything they depend on has been
+altered, and so only recalculate their value when necessary.
+
+Basic quantities that depend on nothing else can be manually altered in the
+usual way, all other quantities are updated automatically and cannot be changed
+directly.
+
+The exceptions to this are synchronized properties, which are in effect
+multiple basic quantities all related to each other, for example the bead and
+normal mode representations of the positions and momenta. In this case any of
+the representations can be set manually, and all the other representations
+must keep in step.
+
+For a more detailed discussion, see the reference manual.
+
+Classes:
+   depend_base: Base depend class with the generic methods and attributes.
+   depend_value: Depend class for scalar objects.
+   depend_array: Depend class for arrays.
+   synchronizer: Class that holds the different objects that are related to each
+      other and keeps track of which property has been set manually.
+   dobject: An extension of the standard library object that overloads
+      __getattribute__ and __setattribute__, so that we can use the
+      standard syntax for setting and getting the depend object,
+      i.e. foo = value, not foo.set(value).
+
+Functions:
+   dget: Gets the dependencies of a depend object.
+   dset: Sets the dependencies of a depend object.
+   depstrip: Used on a depend_array object, to access its value without
+      needing the depend machinery, and so much more quickly. Must not be used
+      if the value of the array is to be changed.
+   depcopy: Copies the dependencies from one object to another
+   deppipe: Used to make two objects be synchronized to the same value.
+"""
+
+__all__ = ['depend_base', 'depend_value', 'depend_array', 'synchronizer',
+           'dobject', 'dget', 'dset', 'depstrip', 'depcopy', 'deppipe']
+
+import numpy as np
+from ipi.utils.messages import verbosity, warning
+
+class synchronizer(object):
+   """Class to implement synched objects.
+
+   Holds the objects used to keep two or more objects in step with each other.
+   This is shared between all the synched objects.
+
+   Attributes:
+      synched: A dictionary containing all the synched objects, of the form
+         {"name": depend object}.
+      manual: A string containing the name of the object being manually changed.
+   """
+
+   def __init__(self, deps=None):
+      """Initialises synchronizer.
+
+      Args:
+         deps: Optional dictionary giving the synched objects of the form
+            {"name": depend object}.
+      """
+
+      if deps is None:
+         self.synced = dict()
+      else:
+         self.synced = deps
+
+      self.manual = None
+
+
+#TODO put some error checks in the init to make sure that the object is initialized from consistent synchro and func states
+class depend_base(object):
+   """Base class for dependency handling.
+
+   Builds the majority of the machinery required for the different depend
+   objects. Contains functions to add and remove dependencies, the tainting
+   mechanism by which information about which objects have been updated is
+   passed around the dependency network, and the manual and automatic update
+   functions to check that depend objects with functions are not manually
+   updated and that synchronized objects are kept in step with the one manually
+   changed.
+
+   Attributes:
+      _tainted: An array containing one boolean, which is True if one of the
+         dependencies has been changed since the last time the value was
+         cached.
+      _func: A function name giving the method of calculating the value,
+         if required. None otherwise.
+      _name: The name of the depend base object.
+      _synchro: A synchronizer object to deal with synched objects, if
+         required. None otherwise.
+      _dependants: A list containing all objects dependent on the self.
+   """
+
+   def __init__(self, name, synchro=None, func=None, dependants=None, dependencies=None, tainted=None):
+      """Initialises depend_base.
+
+      An unusual initialisation routine, as it has to be able to deal with the
+      depend array mechanism for returning slices as new depend arrays.
+
+      This is the reason for the penultimate if statement; it automatically
+      taints objects created from scratch but does nothing to slices which are
+      not tainted.
+
+      Also, the last if statement makes sure that if a synchronized property is
+      sliced, this initialization routine does not automatically set it to the
+      manually updated property.
+
+      Args:
+         name: A string giving the name of self.
+         tainted: An optional array containing one boolean which is True if one
+         of the dependencies has been changed.
+         func: An optional argument that can be specified either by a function
+            name, or for synchronized values a dictionary of the form
+            {"name": function name}; where "name" is one of the other
+            synched objects and function name is the name of a function to
+            get the object "name" from self.
+         synchro: An optional synchronizer object.
+         dependants: An optional list containing objects that depend on self.
+         dependencies: An optional list containing objects that self
+            depends upon.
+      """
+
+      self._dependants = []
+      if tainted is None:
+         tainted = np.array([True],bool)
+      if dependants is None:
+         dependants = []
+      if dependencies is None:
+         dependencies = []
+      self._tainted = tainted
+      self._func = func
+      self._name = name
+
+      self.add_synchro(synchro)
+
+      for item in dependencies:
+         item.add_dependant(self, tainted)
+
+      self._dependants = dependants
+
+      # Don't taint self if the object is a primitive one. However, do propagate tainting to dependants if required.
+      if (tainted):
+         if self._func is None:
+            self.taint(taintme=False)
+         else:
+            self.taint(taintme=tainted)
+
+
+   def add_synchro(self, synchro=None):
+      """ Links depend object to a synchronizer. """
+
+      self._synchro = synchro
+      if not self._synchro is None and not self._name in self._synchro.synced:
+         self._synchro.synced[self._name] = self
+         self._synchro.manual = self._name
+
+
+   def add_dependant(self, newdep, tainted=True):
+      """Adds a dependant property.
+
+      Args:
+         newdep: The depend object to be added to the dependency list.
+         tainted: A boolean that decides whether newdep should be tainted.
+            True by default.
+      """
+
+      self._dependants.append(newdep)
+      if tainted:
+         newdep.taint(taintme=True)
+
+   def add_dependency(self, newdep, tainted=True):
+      """Adds a dependency.
+
+      Args:
+         newdep: The depend object self now depends upon.
+         tainted: A boolean that decides whether self should
+            be tainted. True by default.
+      """
+
+      newdep._dependants.append(self)
+      if tainted:
+         self.taint(taintme=True)
+
+   def taint(self,taintme=True):
+      """Recursively sets tainted flag on dependent objects.
+
+      The main function dealing with the dependencies. Taints all objects
+      further down the dependency tree until either all objects have been
+      tainted, or it reaches only objects that have already been tainted. Note
+      that in the case of a dependency loop the initial setting of _tainted to
+      True prevents an infinite loop occuring.
+
+      Also, in the case of a synchro object, the manually set quantity is not
+      tainted, as it is assumed that synchro objects only depend on each other.
+
+      Args:
+         taintme: A boolean giving whether self should be tainted at the end.
+            True by default.
+      """
+
+      self._tainted[:] = True
+      for item in self._dependants:
+         if (not item._tainted[0]):
+            item.taint()
+      if not self._synchro is None:
+         for v in self._synchro.synced.values():
+            if (not v._tainted[0]) and (not v is self):
+               v.taint(taintme=True)
+         self._tainted[:] = (taintme and (not self._name == self._synchro.manual))
+      else:
+         self._tainted[:] = taintme
+
+   def tainted(self):
+      """Returns tainted flag."""
+
+      return self._tainted[0]
+
+   def update_auto(self):
+      """Automatic update routine.
+
+      Updates the value when get has been called and self has been tainted.
+      """
+
+      if not self._synchro is None:
+         if (not self._name == self._synchro.manual):
+            self.set(self._func[self._synchro.manual](), manual=False)
+         else:
+            warning(self._name + " probably shouldn't be tainted (synchro)", verbosity.low)
+      elif not self._func is None:
+         self.set(self._func(), manual=False)
+      else:
+         warning(self._name + " probably shouldn't be tainted (value)", verbosity.low)
+
+   def update_man(self):
+      """Manual update routine.
+
+      Updates the value when the value has been manually set. Also raises an
+      exception if a calculated quantity has been manually set. Also starts the
+      tainting routine.
+
+      Raises:
+         NameError: If a calculated quantity has been manually set.
+      """
+
+      if not self._synchro is None:
+         self._synchro.manual = self._name
+         for v in self._synchro.synced.values():
+            v.taint(taintme=True)
+         self._tainted[:] = False
+      elif not self._func is None:
+         raise NameError("Cannot set manually the value of the automatically-computed property <" + self._name + ">")
+      else:
+         self.taint(taintme=False)
+
+   def set(self, value, manual=False):
+      """Dummy setting routine."""
+
+      pass
+
+   def get(self):
+      """Dummy getting routine."""
+
+      pass
+
+class depend_value(depend_base):
+   """Scalar class for dependency handling.
+
+   Attributes:
+      _value: The value associated with self.
+   """
+
+   def __init__(self, name, value=None, synchro=None, func=None, dependants=None, dependencies=None, tainted=None):
+      """Initialises depend_value.
+
+      Args:
+         name: A string giving the name of self.
+         value: The value of the object. Optional.
+         tainted: An optional array giving the tainted flag. Default is [True].
+         func: An optional argument that can be specified either by a function
+            name, or for synchronized values a dictionary of the form
+            {"name": function name}; where "name" is one of the other
+            synched objects and function name is the name of a function to
+            get the object "name" from self.
+         synchro: An optional synchronizer object.
+         dependants: An optional list containing objects that depend on self.
+         dependencies: An optional list containing objects that self
+            depends upon.
+      """
+
+      self._value = value
+      super(depend_value,self).__init__(name, synchro, func, dependants, dependencies, tainted)
+
+   def get(self):
+      """Returns value, after recalculating if necessary.
+
+      Overwrites the standard method of getting value, so that value
+      is recalculated if tainted.
+      """
+
+      if self._tainted[0]:
+         self.update_auto()
+         self.taint(taintme=False)
+
+      return self._value
+
+   def __get__(self, instance, owner):
+      """Overwrites standard get function."""
+
+      return self.get()
+
+   def set(self, value, manual=True):
+      """Alters value and taints dependencies.
+
+      Overwrites the standard method of setting value, so that dependent
+      quantities are tainted, and so we check that computed quantities are not
+      manually updated.
+      """
+
+      self._value = value
+      self.taint(taintme=False)
+      if (manual):
+         self.update_man()
+
+   def __set__(self, instance, value):
+      """Overwrites standard set function."""
+
+      self.set(value)
+
+
+class depend_array(np.ndarray, depend_base):
+   """Array class for dependency handling.
+
+   Differs from depend_value as arrays handle getting items in a different
+   way to scalar quantities, and as there needs to be support for slicing an
+   array. Initialisation is also done in a different way for ndarrays.
+
+   Attributes:
+      _bval: The base deparray storage space. Equal to depstrip(self) unless
+         self is a slice.
+   """
+
+   def __new__(cls, value, name, synchro=None, func=None, dependants=None, dependencies=None, tainted=None, base=None):
+      """Creates a new array from a template.
+
+      Called whenever a new instance of depend_array is created. Casts the
+      array base into an appropriate form before passing it to
+      __array_finalize__().
+
+      Args:
+         See __init__().
+      """
+
+      obj = np.asarray(value).view(cls)
+      return obj
+
+   def __init__(self, value, name, synchro=None, func=None, dependants=None, dependencies=None, tainted=None, base=None):
+      """Initialises depend_array.
+
+      Note that this is only called when a new array is created by an
+      explicit constructor.
+
+      Args:
+         name: A string giving the name of self.
+         value: The (numpy) array to serve as the memory base.
+         tainted: An optional array giving the tainted flag. Default is [True].
+         func: An optional argument that can be specified either by a function
+            name, or for synchronized values a dictionary of the form
+            {"name": function name}; where "name" is one of the other
+            synched objects and function name is the name of a function to
+            get the object "name" from self.
+         synchro: An optional synchronizer object.
+         dependants: An optional list containing objects that depend on self.
+         dependencies: An optional list containing objects that self
+            depends upon.
+      """
+
+      super(depend_array,self).__init__(name, synchro, func, dependants, dependencies, tainted)
+
+      if base is None:
+         self._bval = value
+      else:
+         self._bval = base
+
+   def copy(self, order='C', maskna=None):
+      """Wrapper for numpy copy mechanism."""
+
+      # Sets a flag and hands control to the numpy copy
+      self._fcopy = True
+      return super(depend_array,self).copy(order)
+
+   def __array_finalize__(self, obj):
+      """Deals with properly creating some arrays.
+
+      In the case where a function acting on a depend array returns a ndarray,
+      this casts it into the correct form and gives it the
+      depend machinery for other methods to be able to act upon it. New
+      depend_arrays will next be passed to __init__ ()to be properly
+      initialized, but some ways of creating arrays do not call __new__() or
+      __init__(), so need to be initialized.
+      """
+
+      depend_base.__init__(self, name="")
+
+      if type(obj) is depend_array:
+         # We are in a view cast or in new from template. Unfortunately
+         # there is no sure way to tell (or so it seems). Hence we need to
+         # handle special cases, and hope we are in a view cast otherwise.
+         if hasattr(obj,"_fcopy"):
+            del(obj._fcopy) # removes the "copy flag"
+            self._bval = depstrip(self)
+         else:
+            # Assumes we are in view cast, so copy over the attributes from the
+            # parent object. Typical case: when transpose is performed as a
+            # view.
+            super(depend_array,self).__init__(obj._name, obj._synchro, obj._func, obj._dependants, None, obj._tainted)
+            self._bval = obj._bval
+      else:
+         # Most likely we came here on the way to init.
+         # Just sets a defaults for safety
+         self._bval = depstrip(self)
+
+
+   def __array_prepare__(self, arr, context=None):
+      """Prepare output array for ufunc.
+
+      Depending on the context we try to understand if we are doing an
+      in-place operation (in which case we want to keep the return value a
+      deparray) or we are generating a new array as a result of the ufunc.
+      In this case there is no way to know if dependencies should be copied,
+      so we strip and return a ndarray.
+      """
+
+      if context is None or len(context) < 2 or not type(context[0]) is np.ufunc:
+         # It is not clear what we should do. If in doubt, strip dependencies.
+         return np.ndarray.__array_prepare__(self.view(np.ndarray),arr.view(np.ndarray),context)
+      elif len(context[1]) > context[0].nin and context[0].nout > 0:
+         # We are being called by a ufunc with a output argument, which is being
+         # actually used. Most likely, something like an increment,
+         # so we pass on a deparray
+         return super(depend_array,self).__array_prepare__(arr,context)
+      else:
+         # Apparently we are generating a new array.
+         # We have no way of knowing its
+         # dependencies, so we'd better return a ndarray view!
+         return np.ndarray.__array_prepare__(self.view(np.ndarray),arr.view(np.ndarray),context)
+
+   def __array_wrap__(self, arr, context=None):
+      """ Wraps up output array from ufunc.
+
+      See docstring of __array_prepare__().
+      """
+
+      if context is None or len(context) < 2 or not type(context[0]) is np.ufunc:
+         return np.ndarray.__array_wrap__(self.view(np.ndarray),arr.view(np.ndarray),context)
+      elif len(context[1]) > context[0].nin and context[0].nout > 0:
+         return super(depend_array,self).__array_wrap__(arr,context)
+      else:
+         return np.ndarray.__array_wrap__(self.view(np.ndarray),arr.view(np.ndarray),context)
+
+   # whenever possible in compound operations just return a regular ndarray
+   __array_priority__ = -1.0
+
+   def reshape(self, newshape):
+      """Changes the shape of the base array.
+
+      Args:
+         newshape: A tuple giving the desired shape of the new array.
+
+      Returns:
+         A depend_array with the dimensions given by newshape.
+      """
+
+      return depend_array(depstrip(self).reshape(newshape), name=self._name, synchro=self._synchro, func=self._func, dependants=self._dependants, tainted=self._tainted, base=self._bval)
+
+   def flatten(self):
+      """Makes the base array one dimensional.
+
+      Returns:
+         A flattened array.
+      """
+
+      return self.reshape(self.size)
+
+   @staticmethod
+   def __scalarindex(index, depth=1):
+      """Checks if an index points at a scalar value.
+
+      Used so that looking up one item in an array returns a scalar, whereas
+      looking up a slice of the array returns a new array with the same
+      dependencies as the original, so that changing the slice also taints
+      the global array.
+
+      Arguments:
+         index: the index to be checked.
+         depth: the rank of the array which is being accessed. Default value
+            is 1.
+
+      Returns:
+         A logical stating whether a __get__ instruction based
+         on index would return a scalar.
+      """
+
+      if (np.isscalar(index) and depth <= 1):
+         return True
+      elif (isinstance(index, tuple) and len(index)==depth):
+          #if the index is a tuple check it does not contain slices
+         for i in index:
+            if not np.isscalar(i): return False
+         return True
+      return False
+
+   def __getitem__(self,index):
+      """Returns value[index], after recalculating if necessary.
+
+      Overwrites the standard method of getting value, so that value
+      is recalculated if tainted. Scalar slices are returned as an ndarray,
+      so without depend machinery. If you need a "scalar depend" which
+      behaves as a slice, just create a 1x1 matrix, e.g b=a(7,1:2)
+
+      Args:
+         index: A slice variable giving the appropriate slice to be read.
+      """
+
+      if self._tainted[0]:
+         self.update_auto()
+         self.taint(taintme=False)
+
+      if (self.__scalarindex(index, self.ndim)):
+         return depstrip(self)[index]
+      else:
+         return depend_array(depstrip(self)[index], name=self._name, synchro=self._synchro, func=self._func, dependants=self._dependants, tainted=self._tainted, base=self._bval)
+
+
+   def __getslice__(self,i,j):
+      """Overwrites standard get function."""
+
+      return self.__getitem__(slice(i,j,None))
+
+   def get(self):
+      """Alternative to standard get function."""
+
+      return self.__get__(slice(None,None,None))
+
+   def __get__(self, instance, owner):
+      """Overwrites standard get function."""
+
+      # It is worth duplicating this code that is also used in __getitem__ as this
+      # is called most of the time, and we avoid creating a load of copies pointing to the same depend_array
+
+      if self._tainted[0]:
+         self.update_auto()
+         self.taint(taintme=False)
+
+      return self
+
+   def __setitem__(self,index,value,manual=True):
+      """Alters value[index] and taints dependencies.
+
+      Overwrites the standard method of setting value, so that dependent
+      quantities are tainted, and so we check that computed quantities are not
+      manually updated.
+
+      Args:
+         index: A slice variable giving the appropriate slice to be read.
+         value: The new value of the slice.
+         manual: Optional boolean giving whether the value has been changed
+            manually. True by default.
+      """
+
+      self.taint(taintme=False)
+      if manual:
+         depstrip(self)[index] = value
+         self.update_man()
+      elif index == slice(None,None,None):
+         self._bval[index] = value
+      else:
+         raise IndexError("Automatically computed arrays should span the whole parent")
+
+   def __setslice__(self,i,j,value):
+      """Overwrites standard set function."""
+
+      return self.__setitem__(slice(i,j),value)
+
+   def set(self, value, manual=True):
+      """Alterative to standard set function.
+
+      Args:
+         See __setitem__().
+      """
+
+      self.__setitem__(slice(None,None),value=value,manual=manual)
+
+   def __set__(self, instance, value):
+      """Overwrites standard set function."""
+
+      self.__setitem__(slice(None,None),value=value)
+
+
+# np.dot and other numpy.linalg functions have the nasty habit to
+# view cast to generate the output. Since we don't want to pass on
+# dependencies to the result of these functions, and we can't use
+# the ufunc mechanism to demote the class type to ndarray, we must
+# overwrite np.dot and other similar functions.
+# BEGINS NUMPY FUNCTIONS OVERRIDE
+# ** np.dot
+__dp_dot = np.dot
+
+def dep_dot(da, db):
+   a=depstrip(da)
+   b=depstrip(db)
+
+   return __dp_dot(da,db)
+
+np.dot = dep_dot
+# ENDS NUMPY FUNCTIONS OVERRIDE
+
+def dget(obj,member):
+   """Takes an object and retrieves one of its attributes.
+
+   Note that this is necessary as calling it in the standard way calls the
+   __get__() function of member.
+
+   Args:
+      obj: A user defined class.
+      member: A string giving the name of an attribute of obj.
+
+   Exceptions:
+      KeyError: If member is not an attribute of obj.
+
+   Returns:
+      obj.member.
+   """
+
+   return obj.__dict__[member]
+
+def dset(obj,member,value,name=None):
+   """Takes an object and sets one of its attributes.
+
+   Necessary for editing any depend object, and should be used for
+   initialising them as well, as often initialization occurs more than once,
+   with the second time effectively being an edit.
+
+   Args:
+      obj: A user defined class.
+      member: A string giving the name of an attribute of obj.
+      value: The new value of member.
+      name: New name of member.
+
+   Exceptions:
+      KeyError: If member is not an attribute of obj.
+   """
+
+   obj.__dict__[member] = value
+   if not name is None:
+      obj.__dict__[member]._name = name
+
+def depstrip(da):
+   """Removes dependencies from a depend_array.
+
+   Takes a depend_array and returns its value as a ndarray, effectively
+   stripping the dependencies from the ndarray. This speeds up a lot of
+   calculations involving these arrays. Must only be used if the value of the
+   array is not going to be changed.
+
+   Args:
+      deparray: A depend_array.
+
+   Returns:
+      A ndarray with the same value as deparray.
+   """
+
+   if isinstance(da, depend_array): # only bother to strip dependencies if the array actually IS a depend_array
+      #if da._tainted[0]:
+      #   print "!!! WARNING depstrip called on tainted array WARNING !!!!!" # I think we can safely assume that when we call depstrip the array has been cleared already but I am not 100% sure so better check - and in case raise the update
+      return da.view(np.ndarray)
+   else:
+      return da
+
+def deppipe(objfrom,memberfrom,objto,memberto):
+   """Synchronizes two depend objects.
+
+   Takes two depend objects, and makes one of them depend on the other in such
+   a way that both keep the same value. Used for attributes such as temperature
+   that are used in many different modules, and so need different depend objects
+   in each, but which should all have the same value.
+
+   Args:
+      objfrom: An object containing memberfrom.
+      memberfrom: The base depend object.
+      objto: An object containing memberto.
+      memberto: The depend object that should be equal to memberfrom.
+   """
+
+   dfrom = dget(objfrom,memberfrom)
+   dto = dget(objto,memberto)
+   dto._func = lambda : dfrom.get()
+   dto.add_dependency(dfrom)
+
+def depcopy(objfrom,memberfrom,objto,memberto):
+   """Copies the dependencies of one depend object to another.
+
+   Args:
+      See deppipe.
+   """
+   dfrom = dget(objfrom,memberfrom)
+   dto = dget(objto,memberto)
+   dto._dependants = dfrom._dependants
+   dto._synchro = dfrom._synchro
+   dto.add_synchro(dfrom._synchro)
+   dto._tainted = dfrom._tainted
+   dto._func = dfrom._func
+   if hasattr(dfrom,"_bval"):
+      dto._bval = dfrom._bval
+
+
+class dobject(object):
+   """Class that allows standard notation to be used for depend objects."""
+
+   def __getattribute__(self, name):
+      """Overwrites standard __getattribute__().
+
+      This changes the standard __getattribute__() function of any class that
+      subclasses dobject such that depend objects are called with their own
+      __get__() function rather than the standard one.
+      """
+
+      value = object.__getattribute__(self, name)
+      if hasattr(value, '__get__'):
+         value = value.__get__(self, self.__class__)
+      return value
+
+   def __setattr__(self, name, value):
+      """Overwrites standard __setattribute__().
+
+      This changes the standard __setattribute__() function of any class that
+      subclasses dobject such that depend objects are called with their own
+      __set__() function rather than the standard one.
+      """
+
+      try:
+         obj = object.__getattribute__(self, name)
+      except AttributeError:
+         pass
+      else:
+         if hasattr(obj, '__set__'):
+            return obj.__set__(self, value)
+      return object.__setattr__(self, name, value)
diff --git a/tools/i-pi/ipi/utils/inputvalue.py b/tools/i-pi/ipi/utils/inputvalue.py
new file mode 100644
index 0000000000..d1bbc631fd
--- /dev/null
+++ b/tools/i-pi/ipi/utils/inputvalue.py
@@ -0,0 +1,968 @@
+"""Contains the classes that are used to write to and read from restart files.
+
+Copyright (C) 2013, Joshua More and Michele Ceriotti
+
+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 3 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/>.
+
+
+The classes defined in this module define the base functions which parse the
+data in the restart files. Each restart object defined has a fields and an
+attributes dictionary, which are filled with the tags and attributes that
+are allowed to be present, along with their default values and data type.
+
+These are then filled with the data from the xml file when the program
+is initialised, and are filled by the values calculated in the program which
+are then output to the checkpoint file when a restart file is required.
+
+Also deals with checking for user input errors, of the form of misspelt tags,
+bad data types, and failure to input required fields.
+
+Classes:
+   Input: Base input class.
+   InputAttribute: Input class for attribute data.
+   InputValue: Input class for scalar objects.
+   InputArray: Input class for arrays.
+   input_default: Class used to create mutable objects dynamically.
+"""
+
+__all__ = ['Input', 'InputValue', 'InputAttribute', 'InputArray', 'input_default']
+
+import numpy as np
+from copy import copy
+from ipi.utils.io.io_xml import *
+from ipi.utils.units import unit_to_internal, unit_to_user
+
+
+
+class input_default(object):
+   """Contains information required to dynamically create objects
+
+   Used so that we can define mutable default input values to various tags
+   without the usual trouble with having a class object that is also mutable,
+   namely that all members of that class share the same mutable object, so that
+   changing it for one instance of that class changes it for all others. It
+   does this by not holding the mutable default value, but instead the
+   information to create it, so that each instance of an input class can
+   have a separate instance of the default value.
+
+   Attributes:
+      type: Either a class type or function call from which to create the
+         default object.
+      args: A tuple giving positional arguments to be passed to the function.
+      kwargs: A dictionary giving key word arguments to be passed to the
+         function.
+   """
+
+   def __init__(self, factory, args = None, kwargs = None):
+      """Initialises input_default.
+
+      Args:
+         type: The class or function to be used to create the default object.
+         args: A tuple giving the arguments to be used to initialise
+            the default value.
+         kwargs: A dictionary giving the key word arguments to be used
+            to initialise the default value.
+      """
+
+      if args is None:
+         args = ()
+      if kwargs is None:
+         kwargs = {}
+      # a default will be generated by factory(*args, **kwargs)
+      # *args unpacks the tuple, and is used for positional arguments
+      # **kwargs unpacks the dictionary, and is used for keyword arguments
+      self.factory = factory
+      self.args = args
+      self.kwargs = kwargs
+
+
+class Input(object):
+   """Base class for input handling.
+
+   Has the generic methods for dealing with the xml input file. Parses the input
+   data, outputs the output data, and deals with storing and returning the
+   data obtained during the simulation for the restart files.
+
+   Attributes:
+      fields: A dictionary holding the possible tags contained within the
+         tags for this restart object, which are then turned into the objects
+         held by the object given by this restart object. The dictionary is
+         of the form:
+         {"tag name": ( Input_object,
+                                 {"default": default value,
+                                  "dtype": data type,
+                                  "options": list of available options,
+                                  "help": help string,
+                                  "dimension": dimensionality of data}), ... }.
+      dynamic: A dictionary holding the possible tags contained within the
+         tags for this restart object, which are then turned into the objects
+         held by the object given by this restart object. These are used for
+         tags that can be specified more than once.
+         The dictionary is of the form:
+         {"tag name": ( Input_object,
+                                 {"default": default value,
+                                  "dtype": data type,
+                                  "options": list of available options,
+                                  "help": help string,
+                                  "dimension": dimensionality of data}), ... }.
+      attribs: A dictionary holding the attribute data for the tag for this
+         restart object. The dictionary is of the form:
+         {"attribute name": ( Input_object,
+                                 {"default": default value,
+                                  "dtype": data type,
+                                  "options": list of available options,
+                                  "help": help string,
+                                  "dimension": dimensionality of data}), ... }.
+      extra: A list of tuples ( "name", Input_object ) that may be used to
+         extend the capabilities of the class, i.e. to hold several instances of
+         a field with the same name, or to hold variable numbers of elements.
+      default_help: The default help string.
+      _help: The help string of the object. Defaults to default_help.
+      _default: Optional default value.
+      _optional: A bool giving whether the field is a required field.
+      _explicit: A bool giving whether the field has been specified by the user.
+      _text: All text written between the tags of the object.
+      _label: A label to be used to identify the class in the latex user manual.
+      _defwrite: The string which would be output if the class has its default
+         value.
+   """
+
+   fields = {}
+   attribs = {}
+   dynamic = {}
+
+   default_help = "Generic input value"
+   default_label = "" #used as a way to reference a particular class using
+                      #hyperlinks
+
+   def __init__(self, help=None, default=None):
+      """Initialises Input.
+
+      Automatically adds all the fields and attribs names to the input object's
+      dictionary, then initialises all the appropriate input objects
+      as the corresponding values.
+
+      Args:
+         help: A help string.
+         default: A default value.
+      """
+
+      # list of extended (dynamic) fields
+      self.extra = []
+
+      if help is None:
+         self._help = self.default_help
+      else:
+         self._help = help
+
+      if isinstance(default,input_default):
+         #creates default dynamically if a suitable template is defined.
+         self._default = default.factory(*default.args, **default.kwargs)
+      else:
+         self._default = default
+
+      self._optional = not (self._default is None)
+
+      self._label = self.default_label
+
+      #For each tag name in the fields and attribs dictionaries,
+      #creates and object of the type given, expanding the dictionary to give
+      #the arguments of the __init__() function, then adds it to the input
+      #object's dictionary.
+      for f, v in self.fields.iteritems():
+         self.__dict__[f] = v[0](**v[1])
+
+      for a, v in self.attribs.iteritems():
+         self.__dict__[a] = v[0](**v[1])
+
+      self.set_default()
+
+      self._text = ""
+
+      # stores what we would write out if the default was set
+      self._defwrite = ""
+      if not self._default is None:
+         self._defwrite = self.write(name="%%NAME%%")
+
+   def set_default(self):
+      """Sets the default value of the object."""
+
+      if not self._default is None:
+         self.store(self._default)
+      elif not hasattr(self, 'value'):
+         self.value = None #Makes sure we don't get exceptions when we
+                           #look for self.value
+
+      self._explicit = False #Since the value was not set by the user
+
+   def store(self, value=None):
+      """Dummy function for storing data."""
+
+      self._explicit = True
+      pass
+
+   def fetch(self):
+      """Dummy function to retrieve data."""
+
+      self.check()
+      pass
+
+   def check(self):
+      """Base function to check for input errors.
+
+      Raises:
+         ValueError: Raised if the user does not specify a required field.
+      """
+
+      if not (self._explicit or self._optional):
+         raise ValueError("Uninitialized Input value of type " + type(self).__name__)
+
+   def extend(self, name,  xml):
+      """ Dynamically add elements to the 'extra' list.
+
+      Picks from one of the templates in the self.dynamic dictionary, then
+      parses.
+
+      Args:
+         name: The tag name of the dynamically stored tag.
+         xml: The xml_node object used to parse the data stored in the tags.
+      """
+
+      newfield = self.dynamic[name][0](**self.dynamic[name][1])
+      newfield.parse(xml)
+      self.extra.append((name,newfield))
+
+   def write(self, name="", indent="", text="\n"):
+      """Writes data in xml file format.
+
+      Writes the tag, attributes, data and closing tag appropriate to the
+      particular fields and attribs data. Writes in a recursive manner, so
+      that objects contained in the fields dictionary have their write function
+      called, so that their tags are written between the start and end tags
+      of this object, as is required for the xml format.
+
+      This also adds an indent to the lower levels of the xml heirarchy,
+      so that it is easy to see which tags contain other tags.
+
+      Args:
+         name: An optional string giving the tag name. Defaults to "".
+         indent: An optional string giving the string to be added to the start
+            of the line, so usually a number of tabs. Defaults to "".
+         text: Additional text to be output between the tags.
+
+      Returns:
+         A string giving all the data contained in the fields and attribs
+         dictionaries, in the appropriate xml format.
+      """
+
+      rstr = indent + "<" + name;
+      for a in self.attribs:
+         # only write out attributes that are not defaults
+         # have a very simple way to check whether they actually add something:
+         # we compare with the string that would be output if the argument was set
+         # to its default
+         defstr = self.__dict__[a]._defwrite.replace("%%NAME%%",a)
+         outstr = self.__dict__[a].write(name=a)
+         if outstr != defstr:
+            rstr += " " + outstr
+      rstr += ">"
+      rstr += text
+      for f in self.fields:
+         #only write out fields that are not defaults
+
+         defstr = self.__dict__[f]._defwrite.replace("%%NAME%%",f)
+         if defstr != self.__dict__[f].write(f):   # here we must compute the write string twice not to be confused by indents.
+            rstr += self.__dict__[f].write(f, "   " + indent)
+
+      for (f,v) in self.extra:
+         # also write out extended (dynamic) fields if present
+         rstr += v.write(f, "   " + indent)
+
+      if text.find('\n') >= 0:
+         rstr += indent + "</" + name + ">\n"
+      else:
+         rstr += "</" + name + ">\n"
+      return rstr
+
+   def parse(self, xml=None, text=""):
+      """Parses an xml file.
+
+      Uses the xml_node class defined in io_xml to read all the information
+      contained within the root tags, and uses it to give values for the attribs
+      and fields data recursively. It does this by giving all the data between
+      the appropriate field tag to the appropriate field restart object as a
+      string, and the appropriate attribute data to the appropriate attribs
+      restart object as a string. These data are then parsed by these objects
+      until all the information is read, or an input error is found.
+
+      Args:
+         xml: An xml_node object containing all the data for the parent
+            tag.
+         text: The data held between the start and end tags.
+
+      Raises:
+         NameError: Raised if one of the tags in the xml input file is
+            incorrect.
+         ValueError: Raised if the user does not specify a required field.
+      """
+
+      # before starting, sets everything to its default -- if a default is set!
+      for a in self.attribs:
+         self.__dict__[a].set_default()
+      for f in self.fields:
+         self.__dict__[f].set_default()
+
+      self.extra = []
+      self._explicit = True
+      if xml is None:
+         self._text = text
+      else:
+         for a, v in xml.attribs.iteritems():
+            if a in self.attribs:
+               self.__dict__[a].parse(text=v)
+            elif a == "_text":
+               pass
+            else:
+               raise NameError("Attribute name '" + a + "' is not a recognized property of '" + xml.name + "' objects")
+
+         for (f, v) in xml.fields: #reads all field and dynamic data.
+            if f in self.fields:
+               self.__dict__[f].parse(xml=v)
+            elif f == "_text":
+               self._text = v
+            elif f in self.dynamic:
+               self.extend(f, v)
+            else:
+               raise NameError("Tag name '" + f + "' is not a recognized property of '" + xml.name + "' objects")
+
+         #checks for missing arguments.
+         for a in self.attribs:
+            va = self.__dict__[a]
+            if not (va._explicit or va._optional):
+               raise ValueError("Attribute name '" + a + "' is mandatory and was not found in the input for the property " + xml.name)
+         for f in self.fields:
+            vf = self.__dict__[f]
+            if not (vf._explicit or vf._optional):
+               raise ValueError("Field name '" + f + "' is mandatory and was not found in the input for the property " + xml.name)
+
+   def detail_str(self):
+      """Prints out the supplementary information about a particular input class.
+
+      Used to print out the dimensions, default value, possible options and data
+      type of an input value to the LaTeX helf file.
+      """
+
+      xstr = ""
+      if hasattr(self, '_dimension') and self._dimension != "undefined": #gives dimension
+         xstr += "dimension: " + self._dimension + "; "
+
+      if self._default != None and issubclass(self.__class__, InputAttribute):
+         #We only print out the default if it has a well defined value.
+         #For classes such as InputCell, self._default is not the value,
+         #instead it is an object that is stored to give the default value in
+         #self.value. For this reason we print out self.value at this stage,
+         #and not self._default
+         xstr += "default: " + self.pprint(self.value) + "; "
+
+      if issubclass(self.__class__, InputAttribute):
+         #if possible, prints out the type of data that is being used
+         xstr += "data type: " + self.type_print(self.type) + "; "
+
+      if hasattr(self, "_valid"):
+         if self._valid is not None:
+            xstr += "options: " #prints out valid options, if
+            for option in self._valid:      #required.
+               xstr += "`" + str(option) + "', "
+            xstr = xstr.rstrip(", ")
+            xstr +=  "; "
+      return xstr
+
+   def help_latex(self, name="", level=0, stop_level=None, standalone=True):
+      """Function to generate a LaTeX formatted help file.
+
+      Args:
+         name: Name of the tag that has to be written out.
+         level: Current level of the hierarchy being considered.
+         stop_level: The depth to which information will be given. If not given,
+            will give all information.
+         standalone: A boolean giving whether the latex file produced will be a
+            stand-alone document, or will be intended as a section of a larger
+            document with cross-references between the different sections.
+
+      Returns:
+         A LaTeX formatted string.
+      """
+
+      #stops when we've printed out the prerequisite number of levels
+      if (not stop_level is None and level > stop_level):
+         return ""
+
+      rstr = ""
+      if level == 0:
+         if standalone:
+            #assumes that it is a stand-alone document, so must have
+            #document options.
+            rstr += r"\documentclass[12pt,fleqn]{report}"
+            rstr += r"""
+\usepackage{etoolbox}
+\usepackage{suffix}
+
+\newcommand{\ipiitem}[3]{%
+\setul{1pt}{.4pt}\ifblank{#1}{}{\ifstrequal{#1}{\underline{\smash{}}}{}{
+{\noindent\textbf{#1}:\rule{0.0pt}{1.05\baselineskip}\quad}}}% uses a strut to add a bit of vertical space
+{#2}\parskip=0pt\par
+\ifblank{#3}{}%
+{ {\hfill\raggedleft\textit{\small #3}\par} }
+}
+
+\makeatletter
+\newenvironment{ipifield}[4]{%
+                \ifblank{#1}{}{\vspace{0.5em}}
+               \noindent\parskip=0pt\begin{tabular}[t]{|p{1.0\linewidth}}
+               %cell without border
+               \multicolumn{1}{@{}p{1.0\linewidth}}{
+               \ipiitem{\underline{\smash{#1}}}{#2}{}
+               \ifblank{#4}{ %
+                  \ifblank{#3}{}{{\hfill\raggedleft\textit{\small #3}}\par}}{} } \vspace{-1em}\\ %
+               % cell with border
+               \ifblank{#4}{} %
+                 { \ifblank{#3}{}{\vspace{-1em}{\hfill\raggedleft\textit{\small #3}}\par} %
+                 {#4}\vspace{-1em}\\\hline } % negative vspace to undo the line break
+               \end{tabular}
+               \parskip=0pt\list{}{\listparindent 1.5em%
+                        \leftmargin    \listparindent
+                        \rightmargin   0pt
+                        \parsep        0pt
+                        \itemsep       0pt
+                        \topsep        0pt
+                        }%
+                \item\relax
+                }
+               {\endlist}
+\makeatother
+"""
+            rstr += "\n\\begin{document}\n"
+         if self._label != "" and not standalone:
+            #assumes that it is part of a cross-referenced document, so only
+            #starts a new section.
+            rstr += "\\section{" + self._label + "}\n"
+            rstr += "\\label{" + self._label + "}\n"
+
+         rstr += "\\begin{ipifield}{}%\n"
+      else:
+         if self._label != "" and not standalone:
+            rstr += "\\begin{ipifield}{\hyperref["+self._label+"]{"+name+"}}%\n"
+         else:
+            rstr += "\\begin{ipifield}{"+name+"}%\n"
+
+      rstr += "{"+self._help+"}%\n"
+
+      rstr += "{"+self.detail_str()+"}%\n"
+
+      rstr += "{"
+      # Prints out the attributes
+      if len(self.attribs) != 0:
+         #don't print out units if not necessary
+         if len(self.attribs) == 1 and (("units" in self.attribs) and self._dimension == "undefined"):
+            pass
+         else:
+            for a in self.attribs:
+               #don't print out units if not necessary
+               if not (a == "units" and self._dimension == "undefined"):
+                  rstr += "\\ipiitem{" + a + "}%\n{" + self.__dict__[a]._help + "}%\n{"+self.__dict__[a].detail_str()+"}%\n"  #!!MUST ADD OTHER STUFF
+      rstr+="}\n"
+
+      #As above, for the fields. Only prints out if we have not reached the
+      #user-specified limit.
+      if len(self.fields) != 0 and level != stop_level:
+         for f in self.fields:
+            rstr += self.__dict__[f].help_latex(name=f, level=level+1, stop_level=stop_level, standalone=standalone)
+
+      if len(self.dynamic) != 0 and level != stop_level:
+         for f, v in self.dynamic.iteritems():
+            dummy_obj = v[0](**v[1])
+            rstr += dummy_obj.help_latex(name=f, level=level+1, stop_level=stop_level, standalone=standalone)
+
+      rstr += "\\end{ipifield}\n"
+      if level == 0 and standalone:
+         #ends the created document if it is not part of a larger document
+         rstr += "\\end{document}"
+
+      #Some escape characters are necessary for the proper latex formatting
+      rstr = rstr.replace('_', '\\_')
+      rstr = rstr.replace('\\\\_', '\\_')
+      rstr = rstr.replace('...', '\\ldots ')
+      rstr = rstr.replace('<', '$<$')
+      rstr = rstr.replace('>', '$>$')
+
+      return rstr
+
+   def pprint(self, default, indent="", latex = True):
+      """Function to convert arrays and other objects to human-readable strings.
+
+      Args:
+         default: The object that needs to be converted to a string.
+         indent: The indent at the beginning of a line.
+         latex: A boolean giving whether the string will be latex-format.
+
+      Returns:
+         A formatted string.
+      """
+
+      if type(default) is np.ndarray:
+         if default.shape == (0,):
+            return " [ ] " #proper treatment of empty arrays.
+         else:
+            #indents new lines for multi-D arrays properly
+            rstr = "\n" + indent + "      "
+            rstr += str(default).replace("\n", "\n" + indent + "      ")
+            if not latex:
+               rstr += "\n" + indent + "   "
+
+            return rstr
+      elif type(default) == str:
+         if latex:
+            return "`" + default + "'" #indicates that it is a string
+         else:
+            return " " + default + " "
+      elif default == []:
+         return " [ ] "
+      elif default == {}:
+         if latex:
+            return " \\{ \\} " #again, escape characters needed for latex
+         else:               #formatting
+            return " { } "
+      else:
+         #in most cases standard formatting will do
+         return " " + str(default) + " "
+
+   def type_print(self, dtype):
+      """Function to convert a data types to human-readable strings.
+
+      Args:
+         dtype: A data type.
+      """
+
+      if dtype == bool:
+         return "boolean"
+      elif dtype == float or dtype == np.float64:
+         return "float"
+      elif dtype == int or dtype == np.uint64 or dtype == np.int64:
+         return "integer"
+      elif dtype == dict:
+         return "dictionary"
+      elif dtype == str:
+         return "string"
+      elif dtype == tuple:
+         return "tuple"
+      else:
+         raise TypeError("Unrecognized data type " + str(dtype))
+
+   def help_xml(self, name="", indent="", level=0, stop_level=None):
+      """Function to generate an xml formatted help file.
+
+      Args:
+         name: A string giving the name of the root node.
+         indent: The indent at the beginning of a line.
+         level: Current level of the hierarchy being considered.
+         stop_level: The depth to which information will be given. If not given,
+            all information will be given
+
+      Returns:
+         An xml formatted string.
+      """
+
+      #stops when we've printed out the prerequisite number of levels
+      if (not stop_level is None and level > stop_level):
+         return ""
+
+      #these are booleans which tell us whether there are any attributes
+      #and fields to print out
+      show_attribs = (len(self.attribs) != 0)
+      show_fields = (not (len(self.fields) == 0 and len(self.dynamic) == 0)) and level != stop_level
+
+      rstr = ""
+      rstr = indent + "<" + name; #prints tag name
+      for a in self.attribs:
+         if not (a == "units" and self._dimension == "undefined"):
+            #don't print out units if not necessary
+            rstr += " " + a + "=''" #prints attribute names
+      rstr += ">\n"
+
+      #prints help string
+      rstr += indent + "   <help> " + self._help + " </help>\n"
+      if show_attribs:
+         for a in self.attribs:
+            if not (a == "units" and self._dimension == "undefined"):
+               #information about tags is found in tags beginning with the name
+               #of the attribute
+               rstr += indent + "   <" + a + "_help> " + self.__dict__[a]._help + " </" + a + "_help>\n"
+
+      #prints dimensionality of the object
+      if hasattr(self, '_dimension') and self._dimension != "undefined":
+         rstr += indent + "   <dimension> " + self._dimension + " </dimension>\n"
+
+      if self._default != None and issubclass(self.__class__, InputAttribute):
+         #We only print out the default if it has a well defined value.
+         #For classes such as InputCell, self._default is not the value,
+         #instead it is an object that is stored, putting the default value in
+         #self.value. For this reason we print out self.value at this stage,
+         #and not self._default
+         rstr += indent + "   <default>" + self.pprint(self.value, indent=indent, latex=False) + "</default>\n"
+      if show_attribs:
+         for a in self.attribs:
+            if not (a == "units" and self._dimension == "undefined"):
+               if self.__dict__[a]._default is not None:
+                  rstr += indent + "   <" + a + "_default>" + self.pprint(self.__dict__[a]._default, indent=indent, latex=False) + "</" + a + "_default>\n"
+
+      #prints out valid options, if required.
+      if hasattr(self, "_valid"):
+         if self._valid is not None:
+            rstr += indent + "   <options> " + str(self._valid) + " </options>\n"
+      if show_attribs:
+         for a in self.attribs:
+            if not (a == "units" and self._dimension == "undefined"):
+               if hasattr(self.__dict__[a], "_valid"):
+                  if self.__dict__[a]._valid is not None:
+                     rstr += indent + "   <" + a + "_options> " + str(self.__dict__[a]._valid) + " </" + a + "_options>\n"
+
+      #if possible, prints out the type of data that is being used
+      if issubclass(self.__class__, InputAttribute):
+         rstr += indent + "   <dtype> " + self.type_print(self.type) + " </dtype>\n"
+      if show_attribs:
+         for a in self.attribs:
+            if not (a == "units" and self._dimension == "undefined"):
+               rstr += indent + "   <" + a + "_dtype> " + self.type_print(self.__dict__[a].type) + " </" + a + "_dtype>\n"
+
+      #repeats the above instructions for any fields or dynamic tags.
+      #these will only be printed if their level in the hierarchy is not above
+      #the user specified limit.
+      if show_fields:
+         for f in self.fields:
+            rstr += self.__dict__[f].help_xml(f, "   " + indent, level+1, stop_level)
+         for f, v in self.dynamic.iteritems():
+            #we must create the object manually, as dynamic objects are
+            #not automatically added to the input object's dictionary
+            dummy_obj = v[0](**v[1])
+            rstr += dummy_obj.help_xml(f, "   " + indent, level+1, stop_level)
+
+      rstr += indent + "</" + name + ">\n"
+      return rstr
+
+
+class InputAttribute(Input):
+   """Class for handling attribute data.
+
+   Has the methods for dealing with attribute data of the form:
+   <tag_name attrib='data'> ..., where data is just a value. Takes the data and
+   converts it to the required data_type, so that it can be used in the
+   simulation.
+
+   Attributes:
+      type: Data type of the data.
+      value: Value of data. Also specifies data type if type is None.
+      _valid: An optional list of valid options.
+   """
+
+   def __init__(self,  help=None, default=None, dtype=None, options=None):
+      """Initialises InputAttribute.
+
+      Args:
+         help: A help string.
+         default: A default value.
+         dtype: An optional data type. Defaults to None.
+         options: An optional list of valid options.
+      """
+
+      if not dtype is None:
+         self.type = dtype
+      else:
+         raise TypeError("You must provide dtype")
+
+      super(InputAttribute,self).__init__(help, default)
+
+      if options is not None:
+         self._valid = options
+         if not default is None and not self._default in self._valid:
+            #This makes sure that the programmer has set the default value
+            #so that it is a valid value.
+            raise ValueError("Default value '" + str(self._default) + "' not in option list " + str(self._valid)+ "\n" + self._help)
+      else:
+         self._valid = None
+
+   def parse(self, text=""):
+      """Reads the data for a single attribute value from an xml file.
+
+      Args:
+         text: The data held between the start and end tags.
+      """
+
+      super(InputAttribute, self).parse(text=text)
+
+      self.value = read_type(self.type, self._text)
+
+   def store(self, value):
+      """Stores the input data.
+
+      Args:
+         value: The raw data to be stored.
+      """
+      super(InputAttribute,self).store(value)
+      self.value = value
+
+   def fetch(self):
+      """Returns the stored data."""
+
+      super(InputAttribute,self).fetch()
+      return self.value
+
+   def check(self):
+      """Function to check for input errors.
+
+      Raises:
+         ValueError: Raised if the value chosen is not one of the valid options.
+      """
+
+      super(InputAttribute,self).check()
+      if not (self._valid is None or self.value in self._valid):
+         #This checks that the user has set the value to a valid value.
+         raise ValueError(str(self.value) + " is not a valid option (" + str(self._valid) + ")")
+
+   def write(self, name=""):
+      """Writes data in xml file format.
+
+      Writes the attribute data in the appropriate format.
+
+      Args:
+         name: An optional string giving the attribute name. Defaults to "".
+
+      Returns:
+         A string giving the stored value in the appropriate format.
+      """
+
+      return name + "='" + write_type(self.type, self.value) + "'"
+
+
+class InputValue(InputAttribute):
+   """Scalar class for input handling.
+
+   Has the methods for dealing with simple data tags of the form:
+   <tag_name> data </tag_name>, where data is just a value. Takes the data and
+   converts it to the required data_type, so that it can be used in the
+   simulation.
+
+   Attributes:
+      units: The units that the input data is given in.
+      _dimension: The dimensionality of the data.
+   """
+
+   default_dimension = "undefined"
+   default_units = ""
+
+   attribs= { "units" : ( InputAttribute, { "dtype" : str, "help" : "The units the input data is given in.", "default" : default_units } ) }
+
+   def __init__(self,  help=None, default=None, dtype=None, options=None, dimension=None):
+      """Initialises InputValue.
+
+      Args:
+         help: A help string.
+         dimension: The dimensionality of the value.
+         default: A default value.
+         dtype: An optional data type. Defaults to None.
+         options: An optional list of valid options.
+      """
+
+      # a note on units handling:
+      # 1) units are only processed at parse/fetch time:
+      #    internally EVERYTHING is in internal units
+      # 2) if one adds an explicit "units" attribute to a derived class,
+      #    the internal units handling will be just ignored
+      if dimension is None:
+         self._dimension = self.default_dimension
+      else:
+         self._dimension = dimension
+
+      super(InputValue,self).__init__(help, default, dtype, options)
+
+   def store(self, value, units=""):
+      """Converts the data to the appropriate data type and units and stores it.
+
+      Args:
+         value: The raw data to be stored.
+         units: Optional string giving the units that the data should be stored
+            in.
+      """
+
+      super(InputValue,self).store(value)
+
+      if units != "":
+         self.units.store(units) #User can define in the code the units to be
+                                 #printed
+
+      self.value = value
+      if self._dimension != "undefined":
+         self.value *= unit_to_user(self._dimension, units, 1.0)
+
+   def fetch(self):
+      """Returns the stored data in the user defined units."""
+
+      super(InputValue,self).fetch()
+
+      rval = self.value
+      if self._dimension != "undefined":
+         rval *= unit_to_internal(self._dimension, self.units.fetch(), 1.0)
+      return rval
+
+   def write(self, name="", indent=""):
+      """Writes data in xml file format.
+
+      Writes the data in the appropriate format between appropriate tags.
+
+      Args:
+         name: An optional string giving the tag name. Defaults to "".
+         indent: An optional string giving the string to be added to the start
+            of the line, so usually a number of tabs. Defaults to "".
+
+      Returns:
+         A string giving the stored value in the appropriate xml format.
+      """
+
+      return Input.write(self, name=name, indent=indent, text=write_type(self.type, self.value))
+
+   def parse(self, xml=None, text=""):
+      """Reads the data for a single value from an xml file.
+
+      Args:
+         xml: An xml_node object containing the all the data for the parent
+            tag.
+         text: The data held between the start and end tags.
+      """
+
+      Input.parse(self, xml=xml, text=text)
+      self.value = read_type(self.type, self._text)
+
+
+ELPERLINE = 5
+class InputArray(InputValue):
+   """Array class for input handling.
+
+   Has the methods for dealing with simple data tags of the form:
+   <tag_name shape="(shape)"> data </tag_name>, where data is an array
+   of the form [data[0], data[1], ... , data[length]].
+
+   Takes the data and converts it to the required data type,
+   so that it can be used in the simulation. Also holds the shape of the array,
+   so that we can use a simple 1D list of data to specify a multi-dimensional
+   array.
+
+   Attributes:
+      shape: The shape of the array.
+   """
+
+   attribs = copy(InputValue.attribs)
+   attribs["shape"] = (InputAttribute,  {"dtype": tuple,  "help": "The shape of the array.", "default": (0,)})
+
+   def __init__(self,  help=None, default=None, dtype=None, dimension=None):
+      """Initialises InputArray.
+
+      Args:
+         help: A help string.
+         dimension: The dimensionality of the value.
+         default: A default value.
+         dtype: An optional data type. Defaults to None.
+      """
+
+      super(InputArray,self).__init__(help, default, dtype, dimension=dimension)
+
+   def store(self, value, units=""):
+      """Converts the data to the appropriate data type, shape and units and
+      stores it.
+
+      Args:
+         value: The raw data to be stored.
+         units: Optional string giving the units that the data should be stored
+            in.
+      """
+
+      super(InputArray,self).store(value=np.array(value, dtype=self.type).flatten().copy(), units=units)
+      self.shape.store(value.shape)
+
+      #if the shape is not specified, assume the array is linear.
+      if self.shape.fetch() == (0,):
+         self.shape.store((len(self.value),))
+
+   def fetch(self):
+      """Returns the stored data in the user defined units."""
+
+      value = super(InputArray,self).fetch()
+
+      #if the shape is not specified, assume the array is linear.
+      if self.shape.fetch() == (0,):
+         value = np.resize(self.value,0).copy()
+      else:
+         value = self.value.reshape(self.shape.fetch()).copy()
+
+      return value
+
+   def write(self, name="", indent=""):
+      """Writes data in xml file format.
+
+      Writes the data in the appropriate format between appropriate tags. Note
+      that only ELPERLINE values are printed on each line if there are more
+      than this in the array. If the values are floats, or another data type
+      with a fixed width of data output, then they are aligned in columns.
+
+      Args:
+         name: An optional string giving the tag name. Defaults to "".
+         indent: An optional string giving the string to be added to the start
+            of the line, so usually a number of tabs. Defaults to "".
+
+      Returns:
+         A string giving the stored value in the appropriate xml format.
+      """
+
+      rstr = ""
+      if (len(self.value) > ELPERLINE):
+         rstr += "\n" + indent + " [ "
+      else:
+         rstr += " [ " #inlines the array if it is small enough
+
+      for i, v in enumerate(self.value):
+         if (len(self.value) > ELPERLINE and i > 0 and i%ELPERLINE == 0):
+            rstr += "\n" + indent + "   "
+         rstr += write_type(self.type, v) + ", "
+
+      rstr = rstr.rstrip(", ") #get rid of trailing commas
+      if (len(self.value) > ELPERLINE):
+         rstr += " ]\n"
+      else:
+         rstr += " ] "
+
+      return Input.write(self, name=name, indent=indent, text=rstr)
+
+   def parse(self, xml=None, text=""):
+      """Reads the data for an array from an xml file.
+
+      Args:
+         xml: An xml_node object containing the all the data for the parent
+            tag.
+         text: The data held between the start and end tags.
+      """
+
+      Input.parse(self, xml=xml, text=text)
+      self.value = read_array(self.type, self._text)
+
+      #if the shape is not specified, assume the array is linear.
+      if self.shape.fetch() == (0,):
+         self.shape.store((len(self.value),))
diff --git a/tools/i-pi/ipi/utils/io/README b/tools/i-pi/ipi/utils/io/README
new file mode 100644
index 0000000000..d70ff09ddd
--- /dev/null
+++ b/tools/i-pi/ipi/utils/io/README
@@ -0,0 +1,12 @@
+ -- IO functions directory --
+
+ * This is the directory containing input/output functions.
+
+ * Files:
+   - io_binary.py: Contains the functions to write output in binary format.
+   - io_pdb.py: Contains the functions to read pdb structure files and to 
+      create pdb trajectory output files.
+   - io_xml.py: Contains the functions used to read the xml input file and
+      to format the restart output file.
+   - io_xyz.py: Contains the functions to read xyz structure files and to 
+      create xyz trajectory output files.
diff --git a/tools/i-pi/ipi/utils/io/__init__.py b/tools/i-pi/ipi/utils/io/__init__.py
new file mode 100644
index 0000000000..01615a0d57
--- /dev/null
+++ b/tools/i-pi/ipi/utils/io/__init__.py
@@ -0,0 +1 @@
+__all__ = [ "io_xml", "io_pdb" , "io_xyz", "io_binary" ]
diff --git a/tools/i-pi/ipi/utils/io/io_binary.py b/tools/i-pi/ipi/utils/io/io_binary.py
new file mode 100644
index 0000000000..6e8fbd8346
--- /dev/null
+++ b/tools/i-pi/ipi/utils/io/io_binary.py
@@ -0,0 +1,47 @@
+"""Contains the functions used to print the trajectories and read input
+configurations (or even full status dump) as unformatted binary.
+
+Copyright (C) 2013, Joshua More and Michele Ceriotti
+
+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 3 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/>.
+
+
+Functions:
+   print_bin: Prints an atomic configuration.
+"""
+
+__all__ = ['print_bin']
+
+import os
+import numpy as np
+import math, sys
+from ipi.utils.depend import depstrip
+
+def print_bin(atoms, cell, filedesc = sys.stdout, title=""):
+   """Prints the centroid configurations, into a binary file.
+
+   Args:
+      beads: An atoms object giving the centroid positions.
+      cell: A cell object giving the system box.
+      filedesc: An open writable file object. Defaults to standard output.
+      title: This gives a string to be appended to the comment line.
+   """
+
+   buff = filedesc # .buffer
+   cell.h.tofile(buff)
+   nat = np.asarray([atoms.natoms])
+   nat.tofile(buff)
+   atoms.names.tofile(buff)
+   atoms.q.tofile(buff)
+
diff --git a/tools/i-pi/ipi/utils/io/io_pdb.py b/tools/i-pi/ipi/utils/io/io_pdb.py
new file mode 100644
index 0000000000..b3ce8fc202
--- /dev/null
+++ b/tools/i-pi/ipi/utils/io/io_pdb.py
@@ -0,0 +1,173 @@
+"""Contains the functions used to print the trajectories and read input
+configurations with pdb formatting.
+
+Copyright (C) 2013, Joshua More and Michele Ceriotti
+
+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 3 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/>.
+
+
+Functions:
+   print_pdb_path: Prints all the bead configurations, and shows the ring
+      polymer connectivity.
+   print_pdb: Prints the centroid configurations.
+   read_pdb: Reads the cell parameters and atom configurations from a pdb file.
+"""
+
+__all__ = ['print_pdb_path', 'print_pdb', 'read_pdb']
+
+import numpy as np
+import sys
+import ipi.utils.mathtools as mt
+from ipi.utils.depend  import depstrip
+from ipi.engine.cell   import Cell
+from ipi.engine.atoms  import Atoms
+from ipi.utils.units   import *
+
+def print_pdb_path(beads, cell, filedesc = sys.stdout):
+   """Prints all the bead configurations, into a pdb formatted file.
+
+   Prints the ring polymer springs as well as the bead positions using the
+   CONECT command. Also prints the cell parameters in standard pdb form. Note
+   that the angles are in degrees.
+
+   Args:
+      beads: A beads object giving the bead positions.
+      cell: A cell object giving the system box.
+      filedesc: An open writable file object. Defaults to standard output.
+   """
+
+   a, b, c, alpha, beta, gamma = mt.h2abc_deg(cell.h)
+
+   z = 1 #What even is this parameter?
+   filedesc.write("CRYST1%9.3f%9.3f%9.3f%7.2f%7.2f%7.2f%s%4i\n" % (a, b, c, alpha, beta, gamma, " P 1        ", z))
+
+   natoms = beads.natoms
+   nbeads = beads.nbeads
+   for j in range(nbeads):
+      for i in range(natoms):
+         qs = depstrip(beads.q)
+         lab = depstrip(beads.names)
+         filedesc.write("ATOM  %5i %4s%1s%3s %1s%4i%1s   %8.3f%8.3f%8.3f%6.2f%6.2f          %2s%2i\n" % (j*natoms+i+1, lab[i],' ','  1',' ',1,' ', qs[j][3*i], qs[j][3*i+1], qs[j][3*i+2],0.0,0.0,'  ',0))
+
+   if nbeads > 1:
+      for i in range(natoms):
+         filedesc.write("CONECT%5i%5i\n" % (i+1, (nbeads-1)*natoms+i+1))
+      for j in range(nbeads-1):
+         for i in range(natoms):
+            filedesc.write("CONECT%5i%5i\n" % (j*natoms+i+1, (j+1)*natoms+i+1))
+
+   filedesc.write("END\n")
+
+def print_pdb(atoms, cell, filedesc = sys.stdout, title=""):
+   """Prints the atom configurations, into a pdb formatted file.
+
+   Also prints the cell parameters in standard pdb form. Note
+   that the angles are in degrees.
+
+   Args:
+      atoms: An atoms object giving the atom positions.
+      cell: A cell object giving the system box.
+      filedesc: An open writable file object. Defaults to standard output.
+      title: An optional string of max. 70 characters.
+   """
+
+
+   if title != "" :
+      filedesc.write("TITLE   %70s\n" % (title))
+
+   a, b, c, alpha, beta, gamma = mt.h2abc_deg(cell.h)
+
+   z = 1
+   filedesc.write("CRYST1%9.3f%9.3f%9.3f%7.2f%7.2f%7.2f%s%4i\n" % (a, b, c, alpha, beta, gamma, " P 1        ", z))
+
+   natoms = atoms.natoms
+   qs = depstrip(atoms.q)
+   lab = depstrip(atoms.names)
+   for i in range(natoms):
+      filedesc.write("ATOM  %5i %4s%1s%3s %1s%4i%1s   %8.3f%8.3f%8.3f%6.2f%6.2f          %2s%2i\n" % (i+1, lab[i], ' ', '  1', ' ', 1, ' ', qs[3*i], qs[3*i+1], qs[3*i+2], 0.0, 0.0, '  ', 0))
+
+   filedesc.write("END\n")
+
+def read_pdb(filedesc):
+   """Takes a pdb-style file and creates an Atoms and Cell object.
+
+   Args:
+      filedesc: An open readable file object from a pdb formatted file.
+
+   Returns:
+      An Atoms object with the appropriate atom labels, masses and positions,
+      and a Cell object with the appropriate cell dimensions and an estimate
+      of a reasonable cell mass.
+   """
+
+   header = filedesc.readline()
+   if "TITLE" in header: header = filedesc.readline()   # skip the comment field
+   if header == "":
+      raise EOFError("End of file or empty header in PDB file")
+
+   a = float(header[6:15])
+   b = float(header[15:24])
+   c = float(header[24:33])
+   alpha = float(header[33:40])
+   beta = float(header[40:47])
+   gamma = float(header[47:54])
+   alpha *= np.pi/180.0
+   beta *= np.pi/180.0
+   gamma *= np.pi/180.0
+   h = mt.abc2h(a, b, c, alpha, beta, gamma)
+   cell = Cell(h)
+
+   natoms = 0
+   body = filedesc.readline()
+   qatoms = []
+   names = []
+   masses = []
+   while (body.strip() != "" and body.strip() != "END"):
+      natoms += 1
+      name = body[12:16].strip()
+      names.append(name)
+      masses.append(Elements.mass(name))
+      x = float(body[31:39])
+      y = float(body[39:47])
+      z = float(body[47:55])
+      qatoms.append(x)
+      qatoms.append(y)
+      qatoms.append(z)
+
+      body = filedesc.readline()
+
+   atoms = Atoms(natoms)
+   atoms.q = np.asarray(qatoms)
+   atoms.names = np.asarray(names,dtype='|S4')
+   atoms.m = np.asarray(masses)
+
+   return atoms, cell
+
+def iter_pdb(filedesc):
+   """Takes a pdb-style file and yields one Atoms, Cell tuple after another.
+
+   Args:
+      filedesc: An open readable file object from a pdb formatted file.
+
+   Returns:
+      Generator over the pdb trajectory, that yields
+      (Atoms, Cell) tuple with the appropriate atom labels, masses and positions.
+   """
+
+   try:
+      while 1:
+         atoms, cell = read_pdb(filedesc)
+         yield atoms, cell
+   except EOFError:
+      pass
diff --git a/tools/i-pi/ipi/utils/io/io_xml.py b/tools/i-pi/ipi/utils/io/io_xml.py
new file mode 100644
index 0000000000..5e43854408
--- /dev/null
+++ b/tools/i-pi/ipi/utils/io/io_xml.py
@@ -0,0 +1,520 @@
+"""Contains the functions used to read the input file and print the checkpoint
+files with xml formatting.
+
+Copyright (C) 2013, Joshua More and Michele Ceriotti
+
+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 3 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/>.
+
+
+Functions:
+   xml_node: Class to handle a particular xml tag.
+   xml_handler: Class giving general xml data reading methods. 
+   xml_parse_string: Parses a string made from a section of a xml input file.
+   xml_parse_file: Parses an entire xml input file.
+   read_type: Reads a string and outputs data of a specified type.
+   read_float: Reads a string and outputs a float.
+   read_int: Reads a string and outputs an integer.
+   read_bool: Reads a string and outputs a boolean.
+   read_list: Reads a string and outputs a list.
+   read_array: Reads a string and outputs an array.
+   read_tuple: Reads a string and outputs a tuple.
+   read_dict: Reads a string and outputs a dictionary.
+   write_type: Writes a string from data of a specified type.
+   write_list: Writes a string from a list.
+   write_tuple: Writes a string from a tuple.
+   write_float: Writes a string from a float.
+   write_bool: Writes a string from a boolean.
+   write_dict: Writes a string from a dictionary.
+"""
+
+__all__ = ['xml_node', 'xml_handler', 'xml_parse_string', 'xml_parse_file',
+           'read_type', 'read_float', 'read_int', 'read_bool', 'read_list',
+           'read_array', 'read_tuple', 'read_dict', 'write_type', 'write_list',
+           'write_tuple', 'write_float', 'write_bool', 'write_dict']
+
+from xml.sax import parseString, parse
+from xml.sax.handler import ContentHandler 
+import numpy as np
+import string
+
+class xml_node(object):
+   """Class to handle a particular xml tag.
+
+   Tags are generally written in the form 
+   <tag_name attribs="attrib_data"> main_data </tag_name>. This class holds
+   tag_name, attrib_data and main_data separately so they can be used to
+   create the objects with the appropriate names and data.
+
+   Attributes:
+      attribs: The attribute data for the tag.
+      fields: The rest of the data.
+      name: The tag name. 
+   """
+
+   def __init__(self, attribs=None, name="", fields=None):
+      """Initialises xml_node.
+
+      Args:
+         attribs: An optional dictionary giving attribute data. Defaults to {}.
+         fields: An optional dictionary holding all the data between the start
+            and end tags, including information about other nodes. 
+            Defaults to {}.
+         name: An optional string giving the tag name. Defaults to ''.
+      """
+
+      if attribs is None:
+         attribs = {}
+      if fields is None:
+         fields = []
+
+      self.attribs = attribs
+      self.name = name         
+      self.fields = fields
+
+
+class xml_handler(ContentHandler):
+   """Class giving general xml_reading methods.
+
+   Uses the standard python xml_reader to read the different kinds of data.
+   Keeps track of the heirarchial nature of an xml file by recording the level
+   of nesting, so that the correct data and attributes can be associated with 
+   the correct tag name. 
+
+   Attributes:
+      root: An xml_node object for the root node.
+      open: The list of the tags that the parser is currently between the start
+         and end tags of.
+      level: The level of nesting that the parser is currently at.
+      buffer: A list of the data found between the tags at the different levels
+         of nesting.
+   """
+
+   def __init__(self):
+      """Initialises xml_handler."""
+
+      #root xml node with all the data
+      self.root = xml_node(name="root", fields=[])
+      self.open = [self.root]
+      #current level of the hierarchy
+      self.level = 0
+      #Holds all the data between each of the tags.
+      #If level = 1, then buffer[0] holds all the data collected between the 
+      #root tags, and buffer[1] holds all the data collected between the 
+      #first child tag.
+      self.buffer = [[""]]
+      
+   def startElement(self, name, attrs): 
+      """Reads an opening tag.
+
+      Adds the opening tag to the list of open tags, adds a new space in the
+      buffer, reads the appropriate attributes and adds a new level to the 
+      heirarchy.
+
+      Args:
+         name: The tag_name.
+         attrs: The attribute data.
+      """
+
+      #creates a new node
+      newnode = xml_node(attribs=dict((k,attrs[k]) for k in attrs.keys()), name=name, fields=[])
+      #adds it to the list of open nodes
+      self.open.append(newnode)
+      #adds it to the list of fields of the parent tag
+      self.open[self.level].fields.append((name,newnode))
+      #gets ready to read new data
+      self.buffer.append([""])
+      self.level += 1      
+
+   def characters(self, data):
+      """Reads data.
+
+      Adds the data to the buffer of the current level of the heirarchy.
+      Data is read as a string, and needs to be converted to the required
+      type later.
+
+      Args:
+         data: The data to be read.
+      """
+
+      self.buffer[self.level].append(data)
+
+   def endElement(self, name):
+      """Reads a closing tag.
+
+      Once all the data has been read, and the closing tag found, the buffer
+      is read into the appropriate field.
+
+      Args:
+         name: The tag_name.
+      """
+
+      #all the text found between the tags stored in the appropriate xml_node
+      #object
+      self.buffer[self.level] = ''.join(self.buffer[self.level])
+      self.open[self.level].fields.append(("_text" , self.buffer[self.level]))
+      #'closes' the xml_node object, as we are no longer within its tags, so
+      #there is no more data to be added to it.
+      #Note that the xml_node is still held within the parent tag, so we
+      #no longer require this xml node object.
+      self.buffer.pop(self.level)
+      self.open.pop(self.level)
+      self.level -= 1
+
+def xml_parse_string(buf):
+   """Parses a string made from a section of a xml input file.
+
+   Args:
+      buf: A string in correct xml format.
+
+   Returns:
+      A xml_node for the root node of the file.
+   """
+
+   myhandle = xml_handler()
+   parseString(buf, myhandle)
+   return myhandle.root
+
+def xml_parse_file(stream):
+   """Parses an entire xml input file.
+
+   Args:
+      stream: A string describing a xml formatted file.
+
+   Returns:
+      A xml_node for the root node of the file.
+   """
+
+   myhandle = xml_handler()
+   parse(stream, myhandle)
+   return myhandle.root
+
+def read_type(type, data):
+   """Reads a string and outputs data of a specified type.
+
+   Args:
+      type: The data type of the target container.
+      data: The string to be read in.
+
+   Raises:
+      TypeError: Raised if it tries to read into a data type that has not been
+         implemented.
+
+   Returns:
+      An object of type type.
+   """
+
+   if not type in readtype_funcs:
+      raise TypeError("Conversion not available for given type")
+   return type(readtype_funcs[type](data))
+
+def read_float(data):
+   """Reads a string and outputs a float.
+
+   Args:
+      data: The string to be read in.
+
+   Raises: 
+      ValueError: Raised if the input data is not of the correct format.
+
+   Returns:
+      A float.
+   """
+
+   return float(data)
+
+def read_int(data):
+   """Reads a string and outputs a integer.
+
+   Args:
+      data: The string to be read in.
+
+   Raises: 
+      ValueError: Raised if the input data is not of the correct format.
+
+   Returns:
+      An integer.
+   """
+
+   return int(data)
+
+def read_bool(data):
+   """Reads a string and outputs a boolean.
+
+   Takes a string of the form 'true' or 'false', and returns the appropriate
+   boolean.
+
+   Args:
+      data: The string to be read in.
+
+   Raises:
+      ValueError: Raised if the string is not 'true' or 'false'.
+
+   Returns:
+      A boolean.
+   """
+
+
+   if data.strip().upper() == "TRUE":
+      return True
+   elif data.strip().upper() == "FALSE":
+      return False
+   else:
+      raise ValueError(data + " does not represent a bool value")
+
+def read_list(data, delims="[]", split=",", strip=" \n\t'"):
+   """Reads a formatted string and outputs a list.
+
+   The string must be formatted in the correct way.
+   The start character must be delimiters[0], the end character
+   must be delimiters[1] and each element must be split along 
+   the character split. Characters at the beginning or
+   end of each element in strip are ignored. The standard list format is of the
+   form '[array[0], array[1],..., array[n]]', which is used for actual lists.
+   Other formats are used for tuples and dictionaries.
+
+   Args:
+      data: The string to be read in. '[]' by default.
+      delims: A string of two characters giving the first and last character of
+         the list format. ',' by default.
+      split: The character between different elements of the list format.
+      strip: Characters to be removed from the beginning and end of each 
+         element. ' \n\t' by default.
+
+   Raises: 
+      ValueError: Raised if the input data is not of the correct format.
+
+   Returns:
+      A list of strings.
+   """
+
+   try:
+      begin = data.index(delims[0])
+      end = data.index(delims[1])
+   except ValueError:
+      raise ValueError("Error in list syntax: could not locate delimiters")
+   
+   rlist = data[begin+1:end].split(split)
+   for i in range(len(rlist)):
+      rlist[i] = rlist[i].strip(strip)
+
+   # handles empty lists correctly
+   if len(rlist) == 1 and rlist[0] == "":
+      rlist = [] 
+    
+   return rlist
+
+def read_array(dtype, data):
+   """Reads a formatted string and outputs an array.
+
+   The format is as for standard python arrays, which is
+   [array[0], array[1], ... , array[n]]. Note the use of comma separators, and 
+   the use of square brackets.
+
+   Args:
+      data: The string to be read in.
+      dtype: The data type of the elements of the target array.
+
+   Raises: 
+      ValueError: Raised if the input data is not of the correct format.
+
+   Returns:
+      An array of data type dtype.
+   """
+
+   rlist = read_list(data)
+   for i in range(len(rlist)):
+      rlist[i] = read_type(dtype,rlist[i])
+   
+   return np.array(rlist, dtype)
+
+def read_tuple(data, delims="()", split=",", strip=" \n\t'", arg_type=int):
+   """Reads a formatted string and outputs a tuple.
+
+   The format is as for standard python tuples, which is
+   (tuple[0], tuple[1], ... , tuple[n]). Note the comma 
+   separators, and the use of brackets.
+
+   Args:
+      data: The string to be read in.
+      delims: A string of two characters giving the first and last character of
+         the list format. ',' by default.
+      split: The character between different elements of the list format.
+      strip: Characters to be removed from the beginning and end of each 
+         element. ' \n\t' by default.
+      arg_type: The strings in the input will be converted, and a tuple 
+         of ar_type will be returned. 
+
+   Raises: 
+      ValueError: Raised if the input data is not of the correct format.
+
+   Returns:
+      A tuple of elements of the specified data type.
+   """
+
+   rlist = read_list(data, delims=delims, split=split, strip=strip)
+   return tuple([arg_type(i) for i in rlist])
+
+def read_dict(data, delims="{}", split=",", key_split=":", strip=" \n\t"):
+   """Reads a formatted string and outputs a dictionary.
+
+   The format is as for standard python dictionaries, which is
+   {keyword[0]: arg[0], keyword[1]: arg[1], ... , keyword[n]: arg[n]}. Note the
+   comma separators, and the use of curly brackets.
+
+   Args:
+      data: The string to be read in.
+      delims: A string of two characters giving the first and last character of
+         the list format. ',' by default.
+      split: The character between different elements of the list format.
+      key_split: The character between the key word and the value.
+      strip: Characters to be removed from the beginning and end of each 
+         element. ' \n\t' by default.
+
+   Raises: 
+      ValueError: Raised if the input data is not of the correct format.
+
+   Returns:
+      A dictionary of strings.
+   """
+
+   rlist = read_list(data, delims=delims, split=split, strip=strip)
+   def mystrip(data):
+      return data.strip(strip)
+   rdict = {}
+   for s in rlist:
+      rtuple = map(mystrip,s.split(key_split))      
+      if not len(rtuple) == 2:
+         raise ValueError("Format for a key:value format is wrong for item " + s)
+      rdict[rtuple[0]] = rtuple[1]
+      
+   return rdict   
+      
+readtype_funcs = {np.ndarray: read_array, dict: read_dict, float: read_float, int: read_int, bool: read_bool, str: string.strip, tuple: read_tuple, np.uint : read_int}
+
+def write_type(type, data):
+   """Writes a formatted string from a value of a specified type.
+
+   Args:
+      type: The data type of the value.
+      data: The value to be read in.
+
+   Raises:
+      TypeError: Raised if it tries to write from a data type that has not been
+         implemented.
+
+   Returns:
+      A formatted string.
+   """
+
+   if not type in writetype_funcs:
+      raise TypeError("Conversion not available for given type")
+   return writetype_funcs[type](data)
+
+def write_list(data, delims="[]"):
+   """Writes a formatted string from a list.
+
+   The format of the output is as for a standard python list, 
+   [list[0], list[1],..., list[n]]. Note the space after the commas, and the
+   use of square brackets.
+
+   Args:
+      data: The value to be read in.
+      delims: An optional string of two characters giving the first and last
+         character to be printed. Defaults to "[]".
+
+   Returns:
+      A formatted string.
+   """
+
+   rstr = delims[0]
+   
+   for v in data:
+      rstr += str(v) + ", "
+   
+   rstr = rstr.rstrip(", ")
+   rstr += delims[1]
+   return rstr
+
+def write_tuple(data):
+   """Writes a formatted string from a tuple.
+
+   The format of the output is as for a standard python tuple, 
+   (tuple[0], tuple[1],..., tuple[n]). Note the space after the commas, and the
+   use of brackets.
+
+   Args:
+      data: The value to be read in.
+
+   Returns:
+      A formatted string.
+   """
+
+   return write_list(data, delims="()")
+
+def write_float(data):
+   """Writes a formatted string from a float.
+
+   Floats are printed out in exponential format, to 8 decimal places and 
+   filling up any spaces under 16 not used with spaces.
+
+   For example 1.0 --> '  1.00000000e+00'
+
+   Args:
+      data: The value to be read in.
+
+   Returns:
+      A formatted string.
+   """
+
+   return "%16.8e" % (data)
+
+def write_bool(data):
+   """Writes a formatted string from a float.
+
+   Booleans are printed as a string of either ' true' or 'false'. Note that
+   both are printed out as exactly 5 characters.
+
+   Args:
+      data: The value to be read in.
+
+   Returns:
+      A formatted string.
+   """
+
+   return "%5.5s" % (str(data))
+
+def write_dict(data, delims="{}"):
+   """Writes a formatted string from a dictionary.
+
+   The format of the output is as for a standard python dictionary, 
+   {keyword[0]: arg[0], keyword[1]: arg[1],..., keyword[n]: arg[n]}. Note the 
+   space after the commas, and the use of curly brackets.
+
+   Args:
+      data: The value to be read in.
+      delims: An optional string of two characters giving the first and last
+         character to be printed. Defaults to "{}".
+
+   Returns:
+      A formatted string.
+   """
+
+   rstr = delims[0]
+   for v in data:
+      rstr += str(v) + ": " + str(data[v]) + ", "
+   rstr = rstr.strip(", ")
+   rstr += delims[1]
+   return rstr
+
+writetype_funcs = {float: write_float, dict: write_dict, int: str, bool: write_bool, str: string.strip, tuple: write_tuple, np.uint : str}
diff --git a/tools/i-pi/ipi/utils/io/io_xyz.py b/tools/i-pi/ipi/utils/io/io_xyz.py
new file mode 100644
index 0000000000..e5fe3e93b7
--- /dev/null
+++ b/tools/i-pi/ipi/utils/io/io_xyz.py
@@ -0,0 +1,145 @@
+"""Contains the functions used to print the trajectories and read input
+configurations with xyz formatting.
+
+Copyright (C) 2013, Joshua More and Michele Ceriotti
+
+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 3 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/>.
+
+
+Functions:
+   print_xyz_path: Prints all the bead configurations.
+   print_xyz: Prints the centroid configurations.
+   read_xyz: Reads the cell parameters and atom configurations from a xyz file.
+"""
+
+__all__ = ['print_xyz_path', 'print_xyz', 'read_xyz', 'iter_xyz']
+
+import numpy as np
+import math, sys
+import ipi.utils.mathtools as mt
+from ipi.utils.depend import depstrip
+from ipi.engine.atoms import Atoms
+from ipi.utils.units import *
+
+def print_xyz_path(beads, cell, filedesc = sys.stdout):
+   """Prints all the bead configurations, into a xyz formatted file.
+
+   Prints all the replicas for each time step separately, rather than all at
+   once.
+
+   Args:
+      beads: A beads object giving the bead positions.
+      cell: A cell object giving the system box.
+      filedesc: An open writable file object. Defaults to standard output.
+   """
+
+   a, b, c, alpha, beta, gamma = mt.h2abc_deg(cell.h)
+
+   natoms = beads.natoms
+   nbeads = beads.nbeads
+   for j in range(nbeads):
+      filedesc.write("%d\n# bead: %d CELL(abcABC): %10.5f  %10.5f  %10.5f  %10.5f  %10.5f  %10.5f \n" % (natoms, j, a, b, c, alpha, beta, gamma))
+      for i in range(natoms):
+         qs = depstrip(beads.q)
+         lab = depstrip(beads.names)
+         filedesc.write("%8s %12.5e %12.5e %12.5e\n" % (lab[i], qs[j][3*i], qs[j][3*i+1], qs[j][3*i+2]))
+
+def print_xyz(atoms, cell, filedesc = sys.stdout, title=""):
+   """Prints the centroid configurations, into a xyz formatted file.
+
+   Args:
+      atoms: An atoms object giving the centroid positions.
+      cell: A cell object giving the system box.
+      filedesc: An open writable file object. Defaults to standard output.
+      title: This gives a string to be appended to the comment line.
+   """
+
+   a, b, c, alpha, beta, gamma = mt.h2abc_deg(cell.h)
+
+   natoms = atoms.natoms
+   filedesc.write("%d\n# CELL(abcABC): %10.5f  %10.5f  %10.5f  %10.5f  %10.5f  %10.5f  %s\n" % ( natoms, a, b, c, alpha, beta, gamma, title))
+   # direct access to avoid unnecessary slow-down
+   qs = depstrip(atoms.q)
+   lab = depstrip(atoms.names)
+   for i in range(natoms):
+      filedesc.write("%8s %12.5e %12.5e %12.5e\n" % (lab[i], qs[3*i], qs[3*i+1], qs[3*i+2]))
+
+def read_xyz(filedesc):
+   """Takes a xyz-style file and creates an Atoms object.
+
+   Args:
+      filedesc: An open readable file object from a xyz formatted file.
+
+   Returns:
+      An Atoms object with the appropriate atom labels, masses and positions.
+   """
+
+   natoms = filedesc.readline()
+   if natoms == "":
+      raise EOFError("The file descriptor hit EOF.")
+   natoms = int(natoms)
+   comment = filedesc.readline()
+
+   qatoms = []
+   names = []
+   masses = []
+   iat = 0
+   while (iat < natoms):
+      body = filedesc.readline()
+      if body.strip() == "":
+         break
+      body = body.split()
+      name = body[0]
+      names.append(name)
+      masses.append(Elements.mass(name))
+      x = float(body[1])
+      y = float(body[2])
+      z = float(body[3])
+      qatoms.append(x)
+      qatoms.append(y)
+      qatoms.append(z)
+      iat += 1
+
+   if natoms != len(names):
+      raise ValueError("The number of atom records does not match the header of the xyz file.")
+
+   atoms = Atoms(natoms)
+#   for i in range(natoms):
+#      nat = atoms[i]
+#      nat.q = qatoms[i]
+#      nat.name = names[i]
+#      nat.m = Elements.mass(names[i])
+   atoms.q = np.asarray(qatoms)
+   atoms.names = np.asarray(names, dtype='|S4')
+   atoms.m = np.asarray(masses)
+
+   return atoms
+
+def iter_xyz(filedesc):
+   """Takes a xyz-style file and yields one Atoms object after another.
+
+   Args:
+      filedesc: An open readable file object from a xyz formatted file.
+
+   Returns:
+      Generator over the xyz trajectory, that yields
+      Atoms objects with the appropriate atom labels, masses and positions.
+   """
+
+   try:
+      while 1:
+         atoms = read_xyz(filedesc)
+         yield atoms
+   except EOFError:
+      pass
diff --git a/tools/i-pi/ipi/utils/mathtools.py b/tools/i-pi/ipi/utils/mathtools.py
new file mode 100644
index 0000000000..767feca53f
--- /dev/null
+++ b/tools/i-pi/ipi/utils/mathtools.py
@@ -0,0 +1,343 @@
+"""Contains simple algorithms.
+
+Copyright (C) 2013, Joshua More and Michele Ceriotti
+
+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 3 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/>.
+
+
+Functions:
+   matrix_exp: Computes the exponential of a square matrix via a Taylor series.
+   stab_cholesky: A numerically stable version of the Cholesky decomposition.
+   h2abc: Takes the representation of the system box in terms of an upper
+      triangular matrix of column vectors, and returns the representation in
+      terms of the lattice vector lengths and the angles between them
+      in radians.
+   h2abc_deg: Takes the representation of the system box in terms of an upper
+      triangular matrix of column vectors, and returns the representation in
+      terms of the lattice vector lengths and the angles between them in
+      degrees.
+   abc2h: Takes the representation of the system box in terms of the lattice
+      vector lengths and the angles between them, and returns the
+      representation in terms of an upper triangular lattice vector matrix.
+   invert_ut3x3: Inverts a 3*3 upper triangular matrix.
+   det_ut3x3(h): Finds the determinant of a 3*3 upper triangular matrix.
+   eigensystem_ut3x3: Finds the eigenvector matrix and eigenvalues of a 3*3
+      upper triangular matrix
+   exp_ut3x3: Computes the exponential of a 3*3 upper triangular matrix.
+   root_herm: Computes the square root of a positive-definite hermitian
+      matrix.
+   logsumlog: Routine to accumulate the logarithm of a sum
+"""
+
+__all__ = ['matrix_exp', 'stab_cholesky', 'h2abc', 'h2abc_deg', 'abc2h',
+           'invert_ut3x3', 'det_ut3x3', 'eigensystem_ut3x3', 'exp_ut3x3',
+            'root_herm', 'logsumlog' ]
+
+import numpy as np
+import math
+from ipi.utils.messages import verbosity, warning
+
+def logsumlog(lasa, lbsb):
+   """Computes log(|A+B|) and sign(A+B) given log(|A|), log(|B|),
+   sign(A), sign(B).
+
+   Args:
+      lasa: (log(|A|), sign(A)) as a tuple
+      lbsb: (log(|B|), sign(B)) as a tuple
+
+   Returns:
+      (log(|A+B|), sign(A+B)) as a tuple
+   """
+
+   (la,sa) = lasa
+   (lb,sb) = lbsb
+
+   if (la > lb):
+      sr = sa
+      lr = la + np.log(1.0 + sb*np.exp(lb-la))
+   else:
+      sr = sb
+      lr = lb + np.log(1.0 + sa*np.exp(la-lb))
+
+   return (lr,sr)
+
+def matrix_exp(M, ntaylor=15, nsquare=15):
+   """Computes the exponential of a square matrix via a Taylor series.
+
+   Calculates the matrix exponential by first calculating exp(M/(2**nsquare)),
+   then squaring the result the appropriate number of times.
+
+   Args:
+      M: Matrix to be exponentiated.
+      ntaylor: Optional integer giving the number of terms in the Taylor series.
+         Defaults to 15.
+      nsquare: Optional integer giving how many times the original matrix will
+         be halved. Defaults to 15.
+
+   Returns:
+      The matrix exponential of M.
+   """
+
+   n = M.shape[1]
+   tc = np.zeros(ntaylor+1)
+   tc[0] = 1.0
+   for i in range(ntaylor):
+      tc[i+1] = tc[i]/(i+1)
+
+   SM = np.copy(M)/2.0**nsquare
+
+   EM = np.identity(n,float)*tc[ntaylor]
+   for i in range(ntaylor-1,-1,-1):
+      EM = np.dot(SM,EM)
+      EM += np.identity(n)*tc[i]
+
+   for i in range(nsquare):
+      EM = np.dot(EM,EM)
+   return EM
+
+def stab_cholesky(M):
+   """ A numerically stable version of the Cholesky decomposition.
+
+   Used in the GLE implementation. Since many of the matrices used in this
+   algorithm have very large and very small numbers in at once, to handle a
+   wide range of frequencies, a naive algorithm can end up having to calculate
+   the square root of a negative number, which breaks the algorithm. This is
+   due to numerical precision errors turning a very tiny positive eigenvalue
+   into a tiny negative value.
+
+   Instead of this, an LDU decomposition is used, and any small negative numbers
+   in the diagonal D matrix are assumed to be due to numerical precision errors,
+   and so are replaced with zero.
+
+   Args:
+      M: The matrix to be decomposed.
+   """
+
+   n = M.shape[1]
+   D = np.zeros(n,float)
+   L = np.zeros(M.shape,float)
+   for i in range(n):
+      L[i,i] = 1.
+      for j in range(i):
+         L[i,j] = M[i,j]
+         for k in range(j):
+            L[i,j] -= L[i,k]*L[j,k]*D[k]
+         if (not D[j] == 0.0):
+            L[i,j] = L[i,j]/D[j]
+      D[i] = M[i,i]
+      for k in range(i):
+         D[i] -= L[i,k]*L[i,k]*D[k]
+
+   S = np.zeros(M.shape,float)
+   for i in range(n):
+      if (D[i]>0):
+         D[i] = math.sqrt(D[i])
+      else:
+         warning("Zeroing negative element in stab-cholesky decomposition: " + str(D[i]), verbosity.low)
+         D[i] = 0
+      for j in range(i+1):
+         S[i,j] += L[i,j]*D[j]
+   return S
+
+def h2abc(h):
+   """Returns a description of the cell in terms of the length of the
+      lattice vectors and the angles between them in radians.
+
+   Args:
+      h: Cell matrix in upper triangular column vector form.
+
+   Returns:
+      A list containing the lattice vector lengths and the angles between them.
+   """
+
+   a = float(h[0,0])
+   b = math.sqrt(h[0,1]**2 + h[1,1]**2)
+   c = math.sqrt(h[0,2]**2 + h[1,2]**2 + h[2,2]**2)
+   gamma = math.acos(h[0,1]/b)
+   beta = math.acos(h[0,2]/c)
+   alpha = math.acos(np.dot(h[:,1], h[:,2])/(b*c))
+
+   return a, b, c, alpha, beta, gamma
+
+def h2abc_deg(h):
+   """Returns a description of the cell in terms of the length of the
+      lattice vectors and the angles between them in degrees.
+
+   Args:
+      h: Cell matrix in upper triangular column vector form.
+
+   Returns:
+      A list containing the lattice vector lengths and the angles between them
+      in degrees.
+   """
+
+   (a, b, c, alpha, beta, gamma) = h2abc(h)
+   return a, b, c, alpha*180/math.pi, beta*180/math.pi, gamma*180/math.pi
+
+def abc2h(a, b, c, alpha, beta, gamma):
+   """Returns a lattice vector matrix given a description in terms of the
+   lattice vector lengths and the angles in between.
+
+   Args:
+      a: First cell vector length.
+      b: Second cell vector length.
+      c: Third cell vector length.
+      alpha: Angle between sides b and c in radians.
+      beta: Angle between sides a and c in radians.
+      gamma: Angle between sides b and a in radians.
+
+   Returns:
+      An array giving the lattice vector matrix in upper triangular form.
+   """
+
+   h = np.zeros((3,3) ,float)
+   h[0,0] = a
+   h[0,1] = b*math.cos(gamma)
+   h[0,2] = c*math.cos(beta)
+   h[1,1] = b*math.sin(gamma)
+   h[1,2] = (b*c*math.cos(alpha) - h[0,1]*h[0,2])/h[1,1]
+   h[2,2] = math.sqrt(c**2 - h[0,2]**2 - h[1,2]**2)
+   return h
+
+def invert_ut3x3(h):
+   """Inverts a 3*3 upper triangular matrix.
+
+   Args:
+      h: An upper triangular 3*3 matrix.
+
+   Returns:
+      The inverse matrix of h.
+   """
+
+   ih = np.zeros((3,3), float)
+   for i in range(3):
+      ih[i,i] = 1.0/h[i,i]
+   ih[0,1] = -ih[0,0]*h[0,1]*ih[1,1]
+   ih[1,2] = -ih[1,1]*h[1,2]*ih[2,2]
+   ih[0,2] = -ih[1,2]*h[0,1]*ih[0,0] - ih[0,0]*h[0,2]*ih[2,2]
+   return ih
+
+def eigensystem_ut3x3(p):
+   """Finds the eigenvector matrix of a 3*3 upper-triangular matrix.
+
+   Args:
+      p: An upper triangular 3*3 matrix.
+
+   Returns:
+      An array giving the 3 eigenvalues of p, and the eigenvector matrix of p.
+   """
+
+   eigp = np.zeros((3,3), float)
+   eigvals = np.zeros(3, float)
+
+   for i in range(3):
+      eigp[i,i] = 1
+   eigp[0,1] = -p[0,1]/(p[0,0] - p[1,1])
+   eigp[1,2] = -p[1,2]/(p[1,1] - p[2,2])
+   eigp[0,2] = -(p[0,1]*p[1,2] - p[0,2]*p[1,1] + p[0,2]*p[2,2])/((p[0,0] - p[2,2])*(p[2,2] - p[1,1]))
+
+   for i in range(3):
+      eigvals[i] = p[i,i]
+   return eigp, eigvals
+
+def det_ut3x3(h):
+   """Calculates the determinant of a 3*3 upper triangular matrix.
+
+   Note that the volume of the system box when the lattice vector matrix is
+   expressed as a 3*3 upper triangular matrix is given by the determinant of
+   this matrix.
+
+   Args:
+      h: An upper triangular 3*3 matrix.
+
+   Returns:
+      The determinant of h.
+   """
+
+   return h[0,0]*h[1,1]*h[2,2]
+
+MINSERIES=1e-8
+def exp_ut3x3(h):
+   """Computes the matrix exponential for a 3x3 upper-triangular matrix.
+
+   Note that for 3*3 upper triangular matrices this is the best method, as
+   it is stable. This is terms which become unstable as the
+   denominator tends to zero are calculated via a Taylor series in this limit.
+
+   Args:
+      h: An upper triangular 3*3 matrix.
+
+   Returns:
+      The matrix exponential of h.
+   """
+   eh = np.zeros((3,3), float)
+   e00 = math.exp(h[0,0])
+   e11 = math.exp(h[1,1])
+   e22 = math.exp(h[2,2])
+   eh[0,0] = e00
+   eh[1,1] = e11
+   eh[2,2] = e22
+
+   if (abs((h[0,0] - h[1,1])/h[0,0])>MINSERIES):
+      r01 = (e00 - e11)/(h[0,0] - h[1,1])
+   else:
+      r01 = e00*(1 + (h[0,0] - h[1,1])*(0.5 + (h[0,0] - h[1,1])/6.0))
+   if (abs((h[1,1] - h[2,2])/h[1,1])>MINSERIES):
+      r12 = (e11 - e22)/(h[1,1] - h[2,2])
+   else:
+      r12 = e11*(1 + (h[1,1] - h[2,2])*(0.5 + (h[1,1] - h[2,2])/6.0))
+   if (abs((h[2,2] - h[0,0])/h[2,2])>MINSERIES):
+      r02 = (e22 - e00)/(h[2,2] - h[0,0])
+   else:
+      r02 = e22*(1 + (h[2,2] - h[0,0])*(0.5 + (h[2,2] - h[0,0])/6.0))
+
+   eh[0,1] = h[0,1]*r01
+   eh[1,2] = h[1,2]*r12
+
+   eh[0,2] = h[0,2]*r02
+   if (abs((h[2,2] - h[0,0])/h[2,2])>MINSERIES):
+      eh[0,2] += h[0,1]*h[0,2]*(r01 - r12)/(h[0,0] - h[2,2])
+   elif (abs((h[1,1] - h[0,0])/h[1,1])>MINSERIES):
+      eh[0,2] += h[0,1]*h[0,2]*(r12 - r02)/(h[1,1] - h[0,0])
+   elif (abs((h[1,1]-h[2,2])/h[1,1])>MINSERIES):
+      eh[0,2] += h[0,1]*h[0,2]*(r02 - r01)/(h[2,2] - h[1,1])
+   else:
+      eh[0,2] += h[0,1]*h[0,2]*e00/24.0*(12.0 + 4*(h[1,1] + h[2,2] - 2*h[0,0]) + (h[1,1] - h[0,0])*(h[2,2] - h[0,0]))
+
+   return eh
+
+def root_herm(A):
+   """Gives the square root of a hermitian matrix with real eigenvalues.
+
+   Args:
+      A: A Hermitian matrix.
+
+   Returns:
+      A matrix such that itself matrix multiplied by its transpose gives the
+      original matrix.
+   """
+
+   if not (abs(A.T - A) < 1e-10).all():
+      raise ValueError("Non-Hermitian matrix passed to root_herm function")
+   eigvals, eigvecs = np.linalg.eigh(A)
+   ndgrs = len(eigvals)
+   diag = np.zeros((ndgrs,ndgrs))
+   for i in range(ndgrs):
+      if eigvals[i] >= 0:
+         diag[i,i] = math.sqrt(eigvals[i])
+      else:
+         warning("Zeroing negative element in matrix square root: " + str(eigvals[i]), verbosity.low)
+         diag[i,i] = 0
+   return np.dot(eigvecs, np.dot(diag, eigvecs.T))
+
diff --git a/tools/i-pi/ipi/utils/messages.py b/tools/i-pi/ipi/utils/messages.py
new file mode 100644
index 0000000000..928eb537a3
--- /dev/null
+++ b/tools/i-pi/ipi/utils/messages.py
@@ -0,0 +1,155 @@
+"""Utility functions for outputting messages, diagnostics and errors'
+
+Copyright (C) 2013, Joshua More and Michele Ceriotti
+
+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 3 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/>.
+
+
+Classes:
+   Verbosity: Concise class to check the selected level of output
+
+Functions:
+   banner:    Prints the program welcome "screen"
+   help:      Prints the input syntax help
+   info:      Prints some information to standard output, depending on the level of verbosity
+   warning:   Same as info, but with a "!W!" prefix and optionally printing a stack trace
+"""
+
+import traceback, sys
+
+__all__ = ['Verbosity', 'verbosity',' help', 'banner', 'info', 'warning']
+
+
+VERB_QUIET  = 0
+VERB_LOW    = 1
+VERB_MEDIUM = 2
+VERB_HIGH   = 3
+VERB_DEBUG  = 4
+
+class Verbosity(object):
+   """Class used to determine what to print to standard output.
+
+   Attributes:
+      level: Determines what level of output to print.
+   """
+
+   level = "low"
+
+   def __getattr__(self, name):
+      """Determines whether a certain verbosity level is
+      less than or greater than the stored value.
+
+      Used to decide whether or not a certain info or warning string
+      should be output.
+
+      Args:
+         name: The verbosity level at which the info/warning string
+            will be output.
+      """
+
+      if name is "quiet":
+         return self.level >= VERB_QUIET
+      elif name is "low":
+         return self.level >= VERB_LOW
+      elif name is "medium":
+         return self.level >= VERB_MEDIUM
+      elif name is "high":
+         return self.level >= VERB_HIGH
+      elif name is "debug":
+         return self.level >= VERB_DEBUG
+
+   def __setattr__(self, name, value):
+      """Sets the verbosity level
+
+      Args:
+         name: The name of what to set. Should always be 'level'.
+         value: The value to set the verbosity to.
+
+      Raises:
+         ValueError: Raised if either the name or the level is not
+            a valid option.
+      """
+
+      if name == "level":
+         if value == "quiet":
+            level = VERB_QUIET
+         elif value == "low":
+            level = VERB_LOW
+         elif value == "medium":
+            level = VERB_MEDIUM
+         elif value == "high":
+            level = VERB_HIGH
+         elif value == "debug":
+            level = VERB_DEBUG
+         else: 
+            raise ValueError("Invalid verbosity level " + str(value) + " specified.")
+         super(Verbosity,self).__setattr__("level", level)
+
+
+verbosity = Verbosity()
+
+def help():
+   """Prints out a help string."""
+
+   print """usage:  %s input """%sys.argv[0]
+
+def banner():
+   """Prints out a banner."""
+
+   print """
+ ____       ____       ____       ____  
+/    \     /    \     /    \     /    \  
+|  #################################  | 
+\__#_/     \____/     \____/     \_#__/     
+   #    _        _______  _____    #                 
+   #   (_)      |_   __ \|_   _|   #       v. 1.0                       
+   #   __  ______ | |__) | | |     #                                         
+   Y  [  ||______||  ___/  | |     #      A Python interface for (ab initio)  
+  0 0  | |       _| |_    _| |_    #      (path integral) molecular dynamics. 
+   #  [___]     |_____|  |_____|   #
+ __#_       ____       ____       _#__                
+/  # \     /    \     /    \     / #  \                                      
+|  #################################  |                                      
+\____/     \____/     \____/     \____/        
+
+   """
+
+
+def info(text="", show=True ):
+   """Prints a warning message.
+
+   Args:
+      text: The text of the information message.
+      show: A boolean describing whether or not the message should be
+         printed.
+   """
+
+   if not show:
+      return
+   print text
+
+def warning(text="", show=True):
+   """Prints a warning message.
+
+   Args:
+      text: The text of the information message.
+      show: A boolean describing whether or not the message should be
+         printed.
+   """
+
+   if not show:
+      return
+   if verbosity.debug:
+      traceback.print_stack(file=sys.stdout)
+   print " !W! " + text
diff --git a/tools/i-pi/ipi/utils/nmtransform.py b/tools/i-pi/ipi/utils/nmtransform.py
new file mode 100644
index 0000000000..a8c258d522
--- /dev/null
+++ b/tools/i-pi/ipi/utils/nmtransform.py
@@ -0,0 +1,283 @@
+"""Contains functions for doing the inverse and forward normal mode transforms.
+
+Copyright (C) 2013, Joshua More and Michele Ceriotti
+
+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 3 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/>.
+
+
+Classes:
+   nm_trans: Uses matrix multiplication to do normal mode transformations.
+   nm_rescale: Uses matrix multiplication to do ring polymer contraction
+      or expansion.
+   nm_fft: Uses fast-Fourier transforms to do normal modes transformations.
+
+Functions:
+   mk_nm_matrix: Makes a matrix to transform between the normal mode and bead
+      representations.
+   mk_rs_matrix: Makes a matrix to transform between one number of beads and
+      another. Higher normal modes in the case of an expansion are set to zero.
+"""
+
+__all__ = ['nm_trans', 'nm_rescale', 'nm_fft']
+
+import numpy as np
+from ipi.utils.messages import verbosity, info
+
+def mk_nm_matrix(nbeads):
+   """Gets the matrix that transforms from the bead representation
+   to the normal mode representation.
+
+   If we return from this function a matrix C, then we transform between the
+   bead and normal mode representation using q_nm = C . q_b, q_b = C.T . q_nm
+
+   Args:
+      nbeads: The number of beads.
+   """
+
+   b2nm = np.zeros((nbeads,nbeads))
+   b2nm[0,:] = np.sqrt(1.0)
+   for j in range(nbeads):
+      for i in range(1, nbeads/2+1):
+         b2nm[i,j] = np.sqrt(2.0)*np.cos(2*np.pi*j*i/float(nbeads))
+      for i in range(nbeads/2+1, nbeads):
+         b2nm[i,j] = np.sqrt(2.0)*np.sin(2*np.pi*j*i/float(nbeads))
+   if (nbeads%2) == 0:
+      b2nm[nbeads/2,0:nbeads:2] = 1.0
+      b2nm[nbeads/2,1:nbeads:2] = -1.0
+   return b2nm/np.sqrt(nbeads)
+
+def mk_rs_matrix(nb1, nb2):
+   """Gets the matrix that transforms a path with nb1 beads into one with
+   nb2 beads.
+
+   If we return from this function a matrix T, then we transform between the
+   system with nb1 bead and the system of nb2 beads using q_2 = T . q_1
+
+   Args:
+      nb1: The initial number of beads.
+      nb2: The final number of beads.
+   """
+
+   if (nb1 == nb2):
+      return np.identity(nb1,float)
+   elif (nb1 > nb2):
+      b1_nm = mk_nm_matrix(nb1)
+      nm_b2 = mk_nm_matrix(nb2).T
+
+      #builds the "reduction" matrix that picks the normal modes we want to keep
+      b1_b2 = np.zeros((nb2, nb1), float)
+      b1_b2[0,0] = 1.0
+      for i in range(1, nb2/2+1):
+         b1_b2[i,i] = 1.0
+         b1_b2[nb2-i, nb1-i] = 1.0
+      if (nb2 % 2 == 0):
+         #if we are contracting down to an even number of beads, then we have to
+         #pick just one of the last degenerate modes to match onto the single
+         #stiffest mode in the new path
+         b1_b2[nb2/2, nb1-nb2/2] = 0.0
+
+      rs_b1_b2 = np.dot(nm_b2, np.dot(b1_b2, b1_nm))
+      return rs_b1_b2*np.sqrt(float(nb2)/float(nb1))
+   else:
+      return mk_rs_matrix(nb2, nb1).T*(float(nb2)/float(nb1))
+
+
+class nm_trans:
+   """Helper class to perform beads <--> normal modes transformation.
+
+   Attributes:
+      _b2nm: The matrix to transform between the bead and normal mode
+         representations.
+      _nm2b: The matrix to transform between the normal mode and bead
+         representations.
+   """
+
+   def __init__(self, nbeads):
+      """Initializes nm_trans.
+
+      Args:
+         nbeads: The number of beads.
+      """
+
+      self._b2nm = mk_nm_matrix(nbeads)
+      self._nm2b = self._b2nm.T
+
+   def b2nm(self, q):
+      """Transforms a matrix to the normal mode representation.
+
+      Args:
+         q: A matrix with nbeads rows, in the bead representation.
+      """
+
+      return np.dot(self._b2nm,q)
+
+   def nm2b(self, q):
+      """Transforms a matrix to the bead representation.
+
+      Args:
+         q: A matrix with nbeads rows, in the normal mode representation.
+      """
+
+      return np.dot(self._nm2b,q)
+
+
+class nm_rescale:
+   """Helper class to rescale a ring polymer between different number of beads.
+
+   Attributes:
+      _b1tob2: The matrix to transform between a ring polymer with 'nbeads1'
+         beads and another with 'nbeads2' beads.
+      _b2tob1: The matrix to transform between a ring polymer with 'nbeads2'
+         beads and another with 'nbeads1' beads.
+   """
+
+   def __init__(self, nbeads1, nbeads2):
+      """Initializes nm_rescale.
+
+      Args:
+         nbeads1: The initial number of beads.
+         nbeads2: The rescaled number of beads.
+      """
+
+      self._b1tob2 = mk_rs_matrix(nbeads1,nbeads2)
+      self._b2tob1 = self._b1tob2.T*(float(nbeads1)/float(nbeads2))
+
+   def b1tob2(self, q):
+      """Transforms a matrix from one value of beads to another.
+
+      Args:
+         q: A matrix with nbeads1 rows, in the bead representation.
+      """
+
+      return np.dot(self._b1tob2,q)
+
+   def b2tob1(self, q):
+      """Transforms a matrix from one value of beads to another.
+
+      Args:
+         q: A matrix with nbeads2 rows, in the bead representation.
+      """
+
+      return np.dot(self._b2tob1,q)
+
+
+
+class nm_fft:
+   """Helper class to perform beads <--> normal modes transformation
+      using Fast Fourier transforms.
+
+   Attributes:
+      fft: The fast-Fourier transform function to transform between the
+         bead and normal mode representations.
+      ifft: The inverse fast-Fourier transform function to transform
+         between the normal mode and bead representations.
+      qdummy: A matrix to hold a copy of the bead positions to transform
+         them to the normal mode representation.
+      qnmdummy: A matrix to hold a copy of the normal modes to transform
+         them to the bead representation.
+      nbeads: The number of beads.
+      natoms: The number of atoms.
+   """
+
+   def __init__(self, nbeads, natoms):
+      """Initializes nm_trans.
+
+      Args:
+         nbeads: The number of beads.
+         natoms: The number of atoms.
+      """
+
+      self.nbeads = nbeads
+      self.natoms = natoms
+      try:
+         import pyfftw
+         info("Import of PyFFTW successful", verbosity.medium)
+         self.qdummy = pyfftw.n_byte_align_empty((nbeads, 3*natoms), 16, 'float32')
+         self.qnmdummy = pyfftw.n_byte_align_empty((nbeads//2+1, 3*natoms), 16, 'complex64')
+         self.fft = pyfftw.FFTW(self.qdummy, self.qnmdummy, axes=(0,), direction='FFTW_FORWARD')
+         self.ifft = pyfftw.FFTW(self.qnmdummy, self.qdummy, axes=(0,), direction='FFTW_BACKWARD')
+      except ImportError: #Uses standard numpy fft library if nothing better
+                          #is available
+         info("Import of PyFFTW unsuccessful, using NumPy library instead", verbosity.medium)
+         self.qdummy = np.zeros((nbeads,3*natoms), dtype='float32')
+         self.qnmdummy = np.zeros((nbeads//2+1,3*natoms), dtype='complex64')
+         def dummy_fft(self):
+            self.qnmdummy = np.fft.rfft(self.qdummy, axis=0)
+         def dummy_ifft(self):
+            self.qdummy = np.fft.irfft(self.qnmdummy, n=self.nbeads, axis=0)
+         self.fft = lambda: dummy_fft(self)
+         self.ifft = lambda: dummy_ifft(self)
+
+   def b2nm(self, q):
+      """Transforms a matrix to the normal mode representation.
+
+      Args:
+         q: A matrix with nbeads rows and 3*natoms columns,
+            in the bead representation.
+      """
+
+      if self.nbeads == 1:
+         return q
+      self.qdummy[:] = q
+      self.fft()
+      if self.nbeads == 2:
+         return self.qnmdummy.real/np.sqrt(self.nbeads)
+
+      nmodes = self.nbeads/2
+
+      self.qnmdummy /= np.sqrt(self.nbeads)
+      qnm = np.zeros(q.shape)
+      qnm[0,:] = self.qnmdummy[0,:].real
+
+      if self.nbeads % 2 == 0:
+         self.qnmdummy[1:-1,:] *= np.sqrt(2)
+         (qnm[1:nmodes,:], qnm[self.nbeads:nmodes:-1,:]) = (self.qnmdummy[1:-1,:].real, self.qnmdummy[1:-1,:].imag)
+         qnm[nmodes,:] = self.qnmdummy[nmodes,:].real
+      else:
+         self.qnmdummy[1:,:] *= np.sqrt(2)
+         (qnm[1:nmodes+1,:], qnm[self.nbeads:nmodes:-1,:]) = (self.qnmdummy[1:,:].real, self.qnmdummy[1:,:].imag)
+
+      return qnm
+
+   def nm2b(self, qnm):
+      """Transforms a matrix to the bead representation.
+
+      Args:
+         qnm: A matrix with nbeads rows and 3*natoms columns,
+            in the normal mode representation.
+      """
+
+      if self.nbeads == 1:
+         return qnm
+      if self.nbeads == 2:
+         self.qnmdummy[:] = qnm
+         self.ifft()
+         return self.qdummy*np.sqrt(self.nbeads)
+
+      nmodes = self.nbeads/2
+      odd = self.nbeads - 2*nmodes  # 0 if even, 1 if odd
+
+      qnm_complex = np.zeros((nmodes+1, len(qnm[0,:])), complex)
+      qnm_complex[0,:] = qnm[0,:]
+      if not odd:
+         (qnm_complex[1:-1,:].real, qnm_complex[1:-1,:].imag) = (qnm[1:nmodes,:], qnm[self.nbeads:nmodes:-1,:])
+         qnm_complex[1:-1,:] /= np.sqrt(2)
+         qnm_complex[nmodes,:] = qnm[nmodes,:]
+      else:
+         (qnm_complex[1:,:].real, qnm_complex[1:,:].imag) = (qnm[1:nmodes+1,:], qnm[self.nbeads:nmodes:-1,:])
+         qnm_complex[1:,:] /= np.sqrt(2)
+
+      self.qnmdummy[:] = qnm_complex
+      self.ifft()
+      return self.qdummy*np.sqrt(self.nbeads)
diff --git a/tools/i-pi/ipi/utils/prng.py b/tools/i-pi/ipi/utils/prng.py
new file mode 100644
index 0000000000..c6626828a9
--- /dev/null
+++ b/tools/i-pi/ipi/utils/prng.py
@@ -0,0 +1,129 @@
+"""Contains the classes used to generate pseudo-random numbers.
+
+Copyright (C) 2013, Joshua More and Michele Ceriotti
+
+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 3 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/>.
+
+
+Allows the user to specify a seed for the random number generator.
+These are used in initialising the velocities and in stochastic thermostats.
+The state of the random number generator is kept track of, so that the if the
+simulation is restarted from a checkpoint, we will see the same dynamics as if 
+it had not been stopped.
+
+Classes:
+   Random: An interface between the numpy.random module and the user.
+"""
+
+__all__ = ['Random']
+
+import numpy as np
+import math
+
+class Random(object):
+   """Class to interface with the standard pseudo-random number generator.
+
+   Initialises the standard numpy pseudo-random number generator from a seed
+   at the beginning of the simulation, and keeps track of the state so that
+   it can be output to the checkpoint files throughout the simulation.
+
+   Attributes:
+      rng: The random number generator to be used.
+      seed: The seed number to start the generator.
+      state: A tuple of five objects giving the current state of the random
+         number generator. The first is the type of random number generator, 
+         here 'MT19937', the second is an array of 624 integers, the third
+         is the current position in the array that is being read from, the 
+         fourth gives whether it has a gaussian random number stored, and 
+         the fifth is this stored Gaussian random number, or else the last
+         Gaussian random number returned.
+   """
+
+   def __init__(self, seed=12345, state=None):
+      """Initialises Random.
+
+      Args:
+         seed: An optional seed giving an integer to initialise the state with.
+         state: An optional state tuple to initialise the state with.
+      """
+
+      self.rng = np.random.mtrand.RandomState(seed=seed)
+      self.seed = seed
+      if state is None:   
+         self.rng.seed(seed)        
+      else:
+         self.state = state
+
+   def get_state(self):
+      """Interface to the standard get_state() function."""
+
+      return self.rng.get_state()
+
+   def set_state(self, value):
+      """Interface to the standard set_state() function.
+
+      Should only be used with states generated from another similar random
+      number generator, such as one from a previous run.
+      """
+
+      return self.rng.set_state(value)
+
+   state=property(get_state, set_state)
+
+   @property
+   def u(self):
+      """Interface to the standard random_sample() function.
+
+      Returns:
+         A pseudo-random number from a uniform distribution from 0-1.
+      """
+
+      return self.rng.random_sample()
+
+   @property
+   def g(self):
+      """Interface to the standard standard_normal() function.
+
+      Returns:
+         A pseudo-random number from a normal Gaussian distribution.
+      """
+
+      return self.rng.standard_normal()
+   
+   def gamma(self, k, theta=1.0):
+      """Interface to the standard gamma() function.
+
+      Args:
+         k: Shape parameter for the gamma distribution.
+         theta: Mean of the distribution.
+
+      Returns:
+         A random number from a gamma distribution with a shape k and a 
+         mean value theta.
+      """
+
+      return self.rng.gamma(k,theta)
+
+   def gvec(self, shape):
+      """Interface to the standard_normal array function.
+
+      Args:
+         shape: The shape of the array to be returned.
+
+      Returns:
+         An array with the required shape where each element is taken from
+         a normal Gaussian distribution.
+      """
+
+      return self.rng.standard_normal(shape)
diff --git a/tools/i-pi/ipi/utils/softexit.py b/tools/i-pi/ipi/utils/softexit.py
new file mode 100644
index 0000000000..5d22d9de6b
--- /dev/null
+++ b/tools/i-pi/ipi/utils/softexit.py
@@ -0,0 +1,73 @@
+"""Utility functions for killing the wrapper softly.
+
+Copyright (C) 2013, Joshua More and Michele Ceriotti
+
+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 3 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/>.
+
+
+Classes:
+   Softexit: Concise class to manage cleaning up in case of an emergency exit.
+"""
+
+import traceback, sys
+from ipi.utils.messages import verbosity, warning
+
+__all__ = ['Softexit', 'softexit']
+
+
+class Softexit(object):
+   """Class to deal with stopping a simulation half way through.
+
+   Holds the functions used to clean up a simulation that has been
+   stopped early, either because of a SIGTERM signal or because the
+   user has added an EXIT file to the directory in which it is 
+   running. This will then properly shut down the socket interface,
+   and print out a RESTART file for the appropriate time step.
+
+   Attributes:
+      flist: A list of functions used to close down the socket
+         interface.
+   """
+
+   def __init__(self):
+      """Initializes SoftExit."""
+
+      self.flist = []
+
+   def register(self, func):
+      """Adds another function to flist.
+
+      Args:
+         func: The function to be added to flist.
+      """
+
+      self.flist.append(func)
+
+   def trigger(self, message=""):
+      """Halts the simulation.
+
+      Prints out a warning message, then runs all the exit functions in flist
+      before terminating the simulation.
+
+      Args:
+         message: The message to output to standard output.
+      """
+
+      if message != "":
+         warning("Soft exit has been requested with message: '" + message + "'. Cleaning up.", verbosity.low)
+      for f in self.flist:
+         f()
+      sys.exit()
+
+softexit = Softexit()
diff --git a/tools/i-pi/ipi/utils/units.py b/tools/i-pi/ipi/utils/units.py
new file mode 100644
index 0000000000..93d05ea0f8
--- /dev/null
+++ b/tools/i-pi/ipi/utils/units.py
@@ -0,0 +1,358 @@
+"""Contains fundamental constants in atomic units.
+
+Copyright (C) 2013, Joshua More and Michele Ceriotti
+
+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 3 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/>.
+
+
+Classes:
+   Constants: Class whose members are fundamental constants.
+   Elements: Class which contains the mass of different elements
+   Units: Class which contains the methods needed to transform
+      between different systems of units.
+"""
+
+import re
+from ipi.utils.messages import verbosity, info
+
+__all__ = ['Constants', 'Elements', 'unit_to_internal', 'unit_to_user']
+
+
+class Constants:
+   """Class whose members are fundamental constants.
+
+   Attributes:
+      kb: Boltzmann constant.
+      hbar: Reduced Planck's constant.
+      amu: Atomic mass unit.
+   """
+
+   kb = 1.0
+   hbar = 1.0
+   amu = 1822.8885
+
+
+class Elements(dict):
+   """Class which contains the mass of different elements.
+
+   Attributes:
+      mass_list: A dictionary containing the masses of different elements.
+         Has the form {"label": Mass in a.m.u.}. Note that the generic "X"
+         label is assumed to be an electron.
+   """
+
+   mass_list={
+      "X"   :    1.0000/Constants.amu,
+      "H"   :   1.00794,
+      "D"   :    2.0141,
+      "Z"   :  1.382943, #an interpolated H-D atom, based on y=1/sqrt(m) scaling
+      "H2"  :    2.0160,
+      "He"  :  4.002602,
+      "Li"  :    6.9410,
+      "Be"  :  9.012182,
+      "B"   :    10.811,
+      "C"   :   12.0107,
+      "N"   :  14.00674,
+      "O"   :   15.9994,
+      "F"   : 18.998403,
+      "Ne"  :   20.1797,
+      "Na"  : 22.989770,
+      "Mg"  :   24.3050,
+      "Al"  : 26.981538,
+      "Si"  :   28.0855,
+      "P"   : 30.973761,
+      "S"   :    32.066,
+      "Cl"  :   35.4527,
+      "Ar"  :   39.9480,
+      "K"   :   39.0983,
+      "Ca"  :    40.078,
+      "Sc"  : 44.955910,
+      "Ti"  :    47.867,
+      "V"   :   50.9415,
+      "Cr"  :   51.9961,
+      "Mn"  : 54.938049,
+      "Fe"  :    55.845,
+      "Co"  : 58.933200,
+      "Ni"  :   58.6934,
+      "Cu"  :    63.546,
+      "Zn"  :     65.39,
+      "Ga"  :    69.723,
+      "Ge"  :     72.61,
+      "As"  :  74.92160,
+      "Se"  :     78.96,
+      "Br"  :    79.904,
+      "Kr"  :     83.80,
+      "Rb"  :   85.4678,
+      "Sr"  :     87.62,
+      "Y"   :  88.90585,
+      "Zr"  :    91.224,
+      "Nb"  :  92.90638,
+      "Mo"  :     95.94,
+      "Tc"  :        98,
+      "Ru"  :    101.07,
+      "Rh"  : 102.90550,
+      "Pd"  :    106.42,
+      "Ag"  :  107.8682,
+      "Cd"  :   112.411,
+      "In"  :   114.818,
+      "Sn"  :   118.710,
+      "Sb"  :   121.760,
+      "Te"  :    127.60,
+      "I"   : 126.90447,
+      "Xe"  :    131.29,
+      "Cs"  : 132.90545,
+      "Ba"  :   137.327,
+      "La"  :  138.9055,
+      "Ce"  :   140.166,
+      "Pr"  : 140.90765,
+      "Nd"  :    144.24,
+      "Pm"  :       145,
+      "Sm"  :    150.36,
+      "Eu"  :   151.964,
+      "Gd"  :    157.25,
+      "Tb"  : 158.92534,
+      "Dy"  :    162.50,
+      "Ho"  : 164.93032,
+      "Er"  :    167.26,
+      "Tm"  : 168.93241,
+      "Yb"  :    173.04,
+      "Lu"  :   174.967,
+      "Hf"  :    178.49,
+      "Ta"  :  180.9479,
+      "W"   :    183.84,
+      "Re"  :   186.207,
+      "Os"  :    190.23,
+      "Ir"  :   192.217,
+      "Pt"  :   195.078,
+      "Au"  : 196.96655,
+      "Hg"  :    200.59,
+      "Tl"  :  204.3833,
+      "Pb"  :     207.2,
+      "Bi"  : 208.98038,
+      "Po"  :       209,
+      "At"  :       210,
+      "Rn"  :       222,
+      "Fr"  :       223,
+      "Ra"  :       226,
+      "Ac"  :       227,
+      "Th"  :  232.0381,
+      "Pa"  : 231.03588,
+      "U"   :  238.0289,
+      "Np"  :       237,
+      "Pu"  :       244,
+      "Am"  :       243,
+      "Cm"  :       247,
+      "Bk"  :       247,
+      "Cf"  :       251,
+      "Es"  :       252,
+      "Fm"  :       257,
+      "Md"  :       258,
+      "No"  :       259,
+      "Lr"  :       262,
+      "Rf"  :       267,
+      "Db"  :       268,
+      "Sg"  :       269,
+      "Bh"  :       270,
+      "Hs"  :       269,
+      "Mt"  :       278,
+      "Ds"  :       281,
+      "Rg"  :       280,
+      "Cn"  :       285,
+      "Uut" :       286,
+      "Fl"  :       289,
+      "Uup" :       288,
+      "Lv"  :       293,
+      "Uus" :       294,
+      "Uuo" :       294
+   }
+
+   @classmethod
+   def mass(cls, label):
+      """Function to access the mass_list attribute.
+
+      Note that this does not require an instance of the Elements class to be
+      created, as this is a class method. Therefore using Elements.mass(label)
+      will give the mass of the element with the atomic symbol given by label.
+
+      Args:
+         label: The atomic symbol of the atom whose mass is required.
+
+      Returns:
+         A float giving the mass of the atom with atomic symbol label.
+      """
+
+      try:
+         return cls.mass_list[label]*Constants.amu
+      except KeyError:
+         info("Unknown element given, you must specify the mass", verbosity.low)
+         return -1.0
+
+# these are the conversion FROM the unit stated to internal (atomic) units
+UnitMap = {
+   "undefined": {
+      ""             : 1.00
+      },
+   "energy":   {
+      ""             : 1.00,
+      "atomic_unit"  : 1.00,
+      "electronvolt" : 0.036749326,
+      "j/mol"        : 0.00000038087989,
+      "cal/mol"      : 0.0000015946679,
+      "kelvin"       : 3.1668152e-06
+      },
+   "temperature":   {
+      ""             : 1.00,
+      "atomic_unit"  : 1.00,
+      "kelvin"       : 3.1668152e-06
+      },
+   "time":     {
+      ""             : 1.00,
+      "atomic_unit"  : 1.00,
+      "second"       : 4.1341373e+16
+      },
+   "frequency" :   {   # NB Internally, ANGULAR frequencies are used.
+      ""             : 1.00,
+      "atomic_unit"  : 1.00,
+      "inversecm"    : 4.5563353e-06,
+      "hertz*rad"    : 2.4188843e-17,
+      "hertz"        : 1.5198298e-16
+      },
+   "ms-momentum" :   {   # TODO fill up units here (mass-scaled momentum)
+      ""             : 1.00,
+      "atomic_unit"  : 1.00
+      },
+   "length" :     {
+      ""             : 1.00,
+      "atomic_unit"  : 1.00,
+      "angstrom"     : 1.8897261,
+      "meter"        : 1.8897261e+10
+      },
+   "volume" :     {
+      ""             : 1.00,
+      "atomic_unit"  : 1.00,
+      "angstrom3"    : 6.748334231,
+      },
+   "velocity":    {
+      ""            : 1.00,
+      "atomic_unit" : 1.00,
+      "m/s"         : 4.5710289e-7
+      },
+   "momentum":    {
+      ""             : 1.00,
+      "atomic_unit"  : 1.00
+      },
+   "mass":        {
+      ""             : 1.00,
+      "atomic_unit"  : 1.00,
+      "dalton"       : 1.00*Constants.amu,
+      "electronmass" : 1.00
+      },
+   "pressure" :     {
+      ""             : 1.00,
+      "atomic_unit"  : 1.00,
+      "bar"          : 3.398827377e-9,
+      "atmosphere"   : 3.44386184e-9,
+      "pascal"       : 3.398827377e-14
+      },
+   "density" : {
+      ""             : 1.00,
+      "atomic_unit"  : 1.00,
+      "g/cm3"        : 162.67263
+      },
+    "force" : {
+      ""             : 1.00,
+      "atomic_unit"  : 1.00,
+      "newton"       : 12137805
+      }
+
+}
+
+# a list of magnitude prefixes
+UnitPrefix = {
+   "" : 1.0,
+   "yotta" : 1e24, "zetta" : 1e21, "exa" : 1e18, "peta" : 1e15,
+   "tera" : 1e12, "giga" : 1e9, "mega" : 1e6, "kilo" : 1e3,
+   "milli" : 1e-3, "micro" : 1e-6, "nano" : 1e-9, "pico" : 1e-12,
+   "femto" : 1e-15, "atto" : 1e-18, "zepto" : 1e-21, "yocto" : 1e-24
+}
+
+# builds a RE to match prefix and split out the base unit
+UnitPrefixRE = ""
+for key in UnitPrefix:
+   UnitPrefixRE = UnitPrefixRE + key + "|"
+UnitPrefixRE = " *(" + UnitPrefixRE[1:] + ")(.*) *"
+UnitPrefixRE = re.compile(UnitPrefixRE)
+
+########################################################################
+#  Atomic units are used EVERYWHERE internally. In order to quickly    #
+#  interface with any "outside" unit, we set up a simple conversion    #
+#  library.                                                            #
+########################################################################
+
+def unit_to_internal(family, unit, number):
+   """Converts a number of given dimensions and units into internal units.
+
+   Args:
+      family: The dimensionality of the number.
+      unit: The units 'number' is originally in.
+      number: The value of the parameter in the units 'unit'.
+
+   Returns:
+      The number in internal units.
+
+   Raises:
+      ValueError: Raised if the user specified units aren't given in the
+         UnitMap dictionary.
+      IndexError: Raised if the programmer specified dimensionality for the
+         parameter isn't in UnitMap. Shouldn't happen, for obvious reasons.
+      TypeError: Raised if the prefix is correct, but the base unit is not, in
+         the user specified unit string.
+   """
+
+   if not (family == "number" or family in UnitMap):
+      raise IndexError(family + " is an undefined units kind.")
+   if family == "number":
+      return number
+
+
+   if unit == "":
+      prefix = ""
+      base = ""
+   else:
+      m = UnitPrefixRE.match(unit);
+      if m is None:
+         raise ValueError("Unit " + unit + " is not structured with a prefix+base syntax.")
+      prefix = m.group(1)
+      base = m.group(2)
+
+   if not prefix in UnitPrefix:
+      raise TypeError(prefix + " is not a valid unit prefix.")
+   if not base in UnitMap[family]:
+      raise TypeError(base + " is an undefined unit for kind " + family + ".")
+
+   return number*UnitMap[family][base]*UnitPrefix[prefix]
+
+def unit_to_user(family, unit, number):
+   """Converts a number of given dimensions from internal to user units.
+
+   Args:
+      family: The dimensionality of the number.
+      unit: The units 'number' should be changed to.
+      number: The value of the parameter in internal units.
+
+   Returns:
+      The number in the user specified units
+   """
+
+   return number/unit_to_internal(family, unit, 1.0)
diff --git a/tools/i-pi/licenses/license_GPL.txt b/tools/i-pi/licenses/license_GPL.txt
new file mode 100644
index 0000000000..10926e87f1
--- /dev/null
+++ b/tools/i-pi/licenses/license_GPL.txt
@@ -0,0 +1,675 @@
+                    GNU GENERAL PUBLIC LICENSE
+                       Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+                            Preamble
+
+  The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+  The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works.  By contrast,
+the GNU General Public License is intended to guarantee your freedom to
+share and change all versions of a program--to make sure it remains free
+software for all its users.  We, the Free Software Foundation, use the
+GNU General Public License for most of our software; it applies also to
+any other work released this way by its authors.  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+  To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights.  Therefore, you have
+certain responsibilities if you distribute copies of the software, or if
+you modify it: responsibilities to respect the freedom of others.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received.  You must make sure that they, too, receive
+or can get the source code.  And you must show them these terms so they
+know their rights.
+
+  Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+  For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software.  For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+  Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the manufacturer
+can do so.  This is fundamentally incompatible with the aim of
+protecting users' freedom to change the software.  The systematic
+pattern of such abuse occurs in the area of products for individuals to
+use, which is precisely where it is most unacceptable.  Therefore, we
+have designed this version of the GPL to prohibit the practice for those
+products.  If such problems arise substantially in other domains, we
+stand ready to extend this provision to those domains in future versions
+of the GPL, as needed to protect the freedom of users.
+
+  Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish to
+avoid the special danger that patents applied to a free program could
+make it effectively proprietary.  To prevent this, the GPL assures that
+patents cannot be used to render the program non-free.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+
+                       TERMS AND CONDITIONS
+
+  0. Definitions.
+
+  "This License" refers to version 3 of the GNU General Public License.
+
+  "Copyright" also means copyright-like laws that apply to other kinds of
+works, such as semiconductor masks.
+
+  "The Program" refers to any copyrightable work licensed under this
+License.  Each licensee is addressed as "you".  "Licensees" and
+"recipients" may be individuals or organizations.
+
+  To "modify" a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of an
+exact copy.  The resulting work is called a "modified version" of the
+earlier work or a work "based on" the earlier work.
+
+  A "covered work" means either the unmodified Program or a work based
+on the Program.
+
+  To "propagate" a work means to do anything with it that, without
+permission, would make you directly or secondarily liable for
+infringement under applicable copyright law, except executing it on a
+computer or modifying a private copy.  Propagation includes copying,
+distribution (with or without modification), making available to the
+public, and in some countries other activities as well.
+
+  To "convey" a work means any kind of propagation that enables other
+parties to make or receive copies.  Mere interaction with a user through
+a computer network, with no transfer of a copy, is not conveying.
+
+  An interactive user interface displays "Appropriate Legal Notices"
+to the extent that it includes a convenient and prominently visible
+feature that (1) displays an appropriate copyright notice, and (2)
+tells the user that there is no warranty for the work (except to the
+extent that warranties are provided), that licensees may convey the
+work under this License, and how to view a copy of this License.  If
+the interface presents a list of user commands or options, such as a
+menu, a prominent item in the list meets this criterion.
+
+  1. Source Code.
+
+  The "source code" for a work means the preferred form of the work
+for making modifications to it.  "Object code" means any non-source
+form of a work.
+
+  A "Standard Interface" means an interface that either is an official
+standard defined by a recognized standards body, or, in the case of
+interfaces specified for a particular programming language, one that
+is widely used among developers working in that language.
+
+  The "System Libraries" of an executable work include anything, other
+than the work as a whole, that (a) is included in the normal form of
+packaging a Major Component, but which is not part of that Major
+Component, and (b) serves only to enable use of the work with that
+Major Component, or to implement a Standard Interface for which an
+implementation is available to the public in source code form.  A
+"Major Component", in this context, means a major essential component
+(kernel, window system, and so on) of the specific operating system
+(if any) on which the executable work runs, or a compiler used to
+produce the work, or an object code interpreter used to run it.
+
+  The "Corresponding Source" for a work in object code form means all
+the source code needed to generate, install, and (for an executable
+work) run the object code and to modify the work, including scripts to
+control those activities.  However, it does not include the work's
+System Libraries, or general-purpose tools or generally available free
+programs which are used unmodified in performing those activities but
+which are not part of the work.  For example, Corresponding Source
+includes interface definition files associated with source files for
+the work, and the source code for shared libraries and dynamically
+linked subprograms that the work is specifically designed to require,
+such as by intimate data communication or control flow between those
+subprograms and other parts of the work.
+
+  The Corresponding Source need not include anything that users
+can regenerate automatically from other parts of the Corresponding
+Source.
+
+  The Corresponding Source for a work in source code form is that
+same work.
+
+  2. Basic Permissions.
+
+  All rights granted under this License are granted for the term of
+copyright on the Program, and are irrevocable provided the stated
+conditions are met.  This License explicitly affirms your unlimited
+permission to run the unmodified Program.  The output from running a
+covered work is covered by this License only if the output, given its
+content, constitutes a covered work.  This License acknowledges your
+rights of fair use or other equivalent, as provided by copyright law.
+
+  You may make, run and propagate covered works that you do not
+convey, without conditions so long as your license otherwise remains
+in force.  You may convey covered works to others for the sole purpose
+of having them make modifications exclusively for you, or provide you
+with facilities for running those works, provided that you comply with
+the terms of this License in conveying all material for which you do
+not control copyright.  Those thus making or running the covered works
+for you must do so exclusively on your behalf, under your direction
+and control, on terms that prohibit them from making any copies of
+your copyrighted material outside their relationship with you.
+
+  Conveying under any other circumstances is permitted solely under
+the conditions stated below.  Sublicensing is not allowed; section 10
+makes it unnecessary.
+
+  3. Protecting Users' Legal Rights From Anti-Circumvention Law.
+
+  No covered work shall be deemed part of an effective technological
+measure under any applicable law fulfilling obligations under article
+11 of the WIPO copyright treaty adopted on 20 December 1996, or
+similar laws prohibiting or restricting circumvention of such
+measures.
+
+  When you convey a covered work, you waive any legal power to forbid
+circumvention of technological measures to the extent such circumvention
+is effected by exercising rights under this License with respect to
+the covered work, and you disclaim any intention to limit operation or
+modification of the work as a means of enforcing, against the work's
+users, your or third parties' legal rights to forbid circumvention of
+technological measures.
+
+  4. Conveying Verbatim Copies.
+
+  You may convey verbatim copies of the Program's source code as you
+receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice;
+keep intact all notices stating that this License and any
+non-permissive terms added in accord with section 7 apply to the code;
+keep intact all notices of the absence of any warranty; and give all
+recipients a copy of this License along with the Program.
+
+  You may charge any price or no price for each copy that you convey,
+and you may offer support or warranty protection for a fee.
+
+  5. Conveying Modified Source Versions.
+
+  You may convey a work based on the Program, or the modifications to
+produce it from the Program, in the form of source code under the
+terms of section 4, provided that you also meet all of these conditions:
+
+    a) The work must carry prominent notices stating that you modified
+    it, and giving a relevant date.
+
+    b) The work must carry prominent notices stating that it is
+    released under this License and any conditions added under section
+    7.  This requirement modifies the requirement in section 4 to
+    "keep intact all notices".
+
+    c) You must license the entire work, as a whole, under this
+    License to anyone who comes into possession of a copy.  This
+    License will therefore apply, along with any applicable section 7
+    additional terms, to the whole of the work, and all its parts,
+    regardless of how they are packaged.  This License gives no
+    permission to license the work in any other way, but it does not
+    invalidate such permission if you have separately received it.
+
+    d) If the work has interactive user interfaces, each must display
+    Appropriate Legal Notices; however, if the Program has interactive
+    interfaces that do not display Appropriate Legal Notices, your
+    work need not make them do so.
+
+  A compilation of a covered work with other separate and independent
+works, which are not by their nature extensions of the covered work,
+and which are not combined with it such as to form a larger program,
+in or on a volume of a storage or distribution medium, is called an
+"aggregate" if the compilation and its resulting copyright are not
+used to limit the access or legal rights of the compilation's users
+beyond what the individual works permit.  Inclusion of a covered work
+in an aggregate does not cause this License to apply to the other
+parts of the aggregate.
+
+  6. Conveying Non-Source Forms.
+
+  You may convey a covered work in object code form under the terms
+of sections 4 and 5, provided that you also convey the
+machine-readable Corresponding Source under the terms of this License,
+in one of these ways:
+
+    a) Convey the object code in, or embodied in, a physical product
+    (including a physical distribution medium), accompanied by the
+    Corresponding Source fixed on a durable physical medium
+    customarily used for software interchange.
+
+    b) Convey the object code in, or embodied in, a physical product
+    (including a physical distribution medium), accompanied by a
+    written offer, valid for at least three years and valid for as
+    long as you offer spare parts or customer support for that product
+    model, to give anyone who possesses the object code either (1) a
+    copy of the Corresponding Source for all the software in the
+    product that is covered by this License, on a durable physical
+    medium customarily used for software interchange, for a price no
+    more than your reasonable cost of physically performing this
+    conveying of source, or (2) access to copy the
+    Corresponding Source from a network server at no charge.
+
+    c) Convey individual copies of the object code with a copy of the
+    written offer to provide the Corresponding Source.  This
+    alternative is allowed only occasionally and noncommercially, and
+    only if you received the object code with such an offer, in accord
+    with subsection 6b.
+
+    d) Convey the object code by offering access from a designated
+    place (gratis or for a charge), and offer equivalent access to the
+    Corresponding Source in the same way through the same place at no
+    further charge.  You need not require recipients to copy the
+    Corresponding Source along with the object code.  If the place to
+    copy the object code is a network server, the Corresponding Source
+    may be on a different server (operated by you or a third party)
+    that supports equivalent copying facilities, provided you maintain
+    clear directions next to the object code saying where to find the
+    Corresponding Source.  Regardless of what server hosts the
+    Corresponding Source, you remain obligated to ensure that it is
+    available for as long as needed to satisfy these requirements.
+
+    e) Convey the object code using peer-to-peer transmission, provided
+    you inform other peers where the object code and Corresponding
+    Source of the work are being offered to the general public at no
+    charge under subsection 6d.
+
+  A separable portion of the object code, whose source code is excluded
+from the Corresponding Source as a System Library, need not be
+included in conveying the object code work.
+
+  A "User Product" is either (1) a "consumer product", which means any
+tangible personal property which is normally used for personal, family,
+or household purposes, or (2) anything designed or sold for incorporation
+into a dwelling.  In determining whether a product is a consumer product,
+doubtful cases shall be resolved in favor of coverage.  For a particular
+product received by a particular user, "normally used" refers to a
+typical or common use of that class of product, regardless of the status
+of the particular user or of the way in which the particular user
+actually uses, or expects or is expected to use, the product.  A product
+is a consumer product regardless of whether the product has substantial
+commercial, industrial or non-consumer uses, unless such uses represent
+the only significant mode of use of the product.
+
+  "Installation Information" for a User Product means any methods,
+procedures, authorization keys, or other information required to install
+and execute modified versions of a covered work in that User Product from
+a modified version of its Corresponding Source.  The information must
+suffice to ensure that the continued functioning of the modified object
+code is in no case prevented or interfered with solely because
+modification has been made.
+
+  If you convey an object code work under this section in, or with, or
+specifically for use in, a User Product, and the conveying occurs as
+part of a transaction in which the right of possession and use of the
+User Product is transferred to the recipient in perpetuity or for a
+fixed term (regardless of how the transaction is characterized), the
+Corresponding Source conveyed under this section must be accompanied
+by the Installation Information.  But this requirement does not apply
+if neither you nor any third party retains the ability to install
+modified object code on the User Product (for example, the work has
+been installed in ROM).
+
+  The requirement to provide Installation Information does not include a
+requirement to continue to provide support service, warranty, or updates
+for a work that has been modified or installed by the recipient, or for
+the User Product in which it has been modified or installed.  Access to a
+network may be denied when the modification itself materially and
+adversely affects the operation of the network or violates the rules and
+protocols for communication across the network.
+
+  Corresponding Source conveyed, and Installation Information provided,
+in accord with this section must be in a format that is publicly
+documented (and with an implementation available to the public in
+source code form), and must require no special password or key for
+unpacking, reading or copying.
+
+  7. Additional Terms.
+
+  "Additional permissions" are terms that supplement the terms of this
+License by making exceptions from one or more of its conditions.
+Additional permissions that are applicable to the entire Program shall
+be treated as though they were included in this License, to the extent
+that they are valid under applicable law.  If additional permissions
+apply only to part of the Program, that part may be used separately
+under those permissions, but the entire Program remains governed by
+this License without regard to the additional permissions.
+
+  When you convey a copy of a covered work, you may at your option
+remove any additional permissions from that copy, or from any part of
+it.  (Additional permissions may be written to require their own
+removal in certain cases when you modify the work.)  You may place
+additional permissions on material, added by you to a covered work,
+for which you have or can give appropriate copyright permission.
+
+  Notwithstanding any other provision of this License, for material you
+add to a covered work, you may (if authorized by the copyright holders of
+that material) supplement the terms of this License with terms:
+
+    a) Disclaiming warranty or limiting liability differently from the
+    terms of sections 15 and 16 of this License; or
+
+    b) Requiring preservation of specified reasonable legal notices or
+    author attributions in that material or in the Appropriate Legal
+    Notices displayed by works containing it; or
+
+    c) Prohibiting misrepresentation of the origin of that material, or
+    requiring that modified versions of such material be marked in
+    reasonable ways as different from the original version; or
+
+    d) Limiting the use for publicity purposes of names of licensors or
+    authors of the material; or
+
+    e) Declining to grant rights under trademark law for use of some
+    trade names, trademarks, or service marks; or
+
+    f) Requiring indemnification of licensors and authors of that
+    material by anyone who conveys the material (or modified versions of
+    it) with contractual assumptions of liability to the recipient, for
+    any liability that these contractual assumptions directly impose on
+    those licensors and authors.
+
+  All other non-permissive additional terms are considered "further
+restrictions" within the meaning of section 10.  If the Program as you
+received it, or any part of it, contains a notice stating that it is
+governed by this License along with a term that is a further
+restriction, you may remove that term.  If a license document contains
+a further restriction but permits relicensing or conveying under this
+License, you may add to a covered work material governed by the terms
+of that license document, provided that the further restriction does
+not survive such relicensing or conveying.
+
+  If you add terms to a covered work in accord with this section, you
+must place, in the relevant source files, a statement of the
+additional terms that apply to those files, or a notice indicating
+where to find the applicable terms.
+
+  Additional terms, permissive or non-permissive, may be stated in the
+form of a separately written license, or stated as exceptions;
+the above requirements apply either way.
+
+  8. Termination.
+
+  You may not propagate or modify a covered work except as expressly
+provided under this License.  Any attempt otherwise to propagate or
+modify it is void, and will automatically terminate your rights under
+this License (including any patent licenses granted under the third
+paragraph of section 11).
+
+  However, if you cease all violation of this License, then your
+license from a particular copyright holder is reinstated (a)
+provisionally, unless and until the copyright holder explicitly and
+finally terminates your license, and (b) permanently, if the copyright
+holder fails to notify you of the violation by some reasonable means
+prior to 60 days after the cessation.
+
+  Moreover, your license from a particular copyright holder is
+reinstated permanently if the copyright holder notifies you of the
+violation by some reasonable means, this is the first time you have
+received notice of violation of this License (for any work) from that
+copyright holder, and you cure the violation prior to 30 days after
+your receipt of the notice.
+
+  Termination of your rights under this section does not terminate the
+licenses of parties who have received copies or rights from you under
+this License.  If your rights have been terminated and not permanently
+reinstated, you do not qualify to receive new licenses for the same
+material under section 10.
+
+  9. Acceptance Not Required for Having Copies.
+
+  You are not required to accept this License in order to receive or
+run a copy of the Program.  Ancillary propagation of a covered work
+occurring solely as a consequence of using peer-to-peer transmission
+to receive a copy likewise does not require acceptance.  However,
+nothing other than this License grants you permission to propagate or
+modify any covered work.  These actions infringe copyright if you do
+not accept this License.  Therefore, by modifying or propagating a
+covered work, you indicate your acceptance of this License to do so.
+
+  10. Automatic Licensing of Downstream Recipients.
+
+  Each time you convey a covered work, the recipient automatically
+receives a license from the original licensors, to run, modify and
+propagate that work, subject to this License.  You are not responsible
+for enforcing compliance by third parties with this License.
+
+  An "entity transaction" is a transaction transferring control of an
+organization, or substantially all assets of one, or subdividing an
+organization, or merging organizations.  If propagation of a covered
+work results from an entity transaction, each party to that
+transaction who receives a copy of the work also receives whatever
+licenses to the work the party's predecessor in interest had or could
+give under the previous paragraph, plus a right to possession of the
+Corresponding Source of the work from the predecessor in interest, if
+the predecessor has it or can get it with reasonable efforts.
+
+  You may not impose any further restrictions on the exercise of the
+rights granted or affirmed under this License.  For example, you may
+not impose a license fee, royalty, or other charge for exercise of
+rights granted under this License, and you may not initiate litigation
+(including a cross-claim or counterclaim in a lawsuit) alleging that
+any patent claim is infringed by making, using, selling, offering for
+sale, or importing the Program or any portion of it.
+
+  11. Patents.
+
+  A "contributor" is a copyright holder who authorizes use under this
+License of the Program or a work on which the Program is based.  The
+work thus licensed is called the contributor's "contributor version".
+
+  A contributor's "essential patent claims" are all patent claims
+owned or controlled by the contributor, whether already acquired or
+hereafter acquired, that would be infringed by some manner, permitted
+by this License, of making, using, or selling its contributor version,
+but do not include claims that would be infringed only as a
+consequence of further modification of the contributor version.  For
+purposes of this definition, "control" includes the right to grant
+patent sublicenses in a manner consistent with the requirements of
+this License.
+
+  Each contributor grants you a non-exclusive, worldwide, royalty-free
+patent license under the contributor's essential patent claims, to
+make, use, sell, offer for sale, import and otherwise run, modify and
+propagate the contents of its contributor version.
+
+  In the following three paragraphs, a "patent license" is any express
+agreement or commitment, however denominated, not to enforce a patent
+(such as an express permission to practice a patent or covenant not to
+sue for patent infringement).  To "grant" such a patent license to a
+party means to make such an agreement or commitment not to enforce a
+patent against the party.
+
+  If you convey a covered work, knowingly relying on a patent license,
+and the Corresponding Source of the work is not available for anyone
+to copy, free of charge and under the terms of this License, through a
+publicly available network server or other readily accessible means,
+then you must either (1) cause the Corresponding Source to be so
+available, or (2) arrange to deprive yourself of the benefit of the
+patent license for this particular work, or (3) arrange, in a manner
+consistent with the requirements of this License, to extend the patent
+license to downstream recipients.  "Knowingly relying" means you have
+actual knowledge that, but for the patent license, your conveying the
+covered work in a country, or your recipient's use of the covered work
+in a country, would infringe one or more identifiable patents in that
+country that you have reason to believe are valid.
+
+  If, pursuant to or in connection with a single transaction or
+arrangement, you convey, or propagate by procuring conveyance of, a
+covered work, and grant a patent license to some of the parties
+receiving the covered work authorizing them to use, propagate, modify
+or convey a specific copy of the covered work, then the patent license
+you grant is automatically extended to all recipients of the covered
+work and works based on it.
+
+  A patent license is "discriminatory" if it does not include within
+the scope of its coverage, prohibits the exercise of, or is
+conditioned on the non-exercise of one or more of the rights that are
+specifically granted under this License.  You may not convey a covered
+work if you are a party to an arrangement with a third party that is
+in the business of distributing software, under which you make payment
+to the third party based on the extent of your activity of conveying
+the work, and under which the third party grants, to any of the
+parties who would receive the covered work from you, a discriminatory
+patent license (a) in connection with copies of the covered work
+conveyed by you (or copies made from those copies), or (b) primarily
+for and in connection with specific products or compilations that
+contain the covered work, unless you entered into that arrangement,
+or that patent license was granted, prior to 28 March 2007.
+
+  Nothing in this License shall be construed as excluding or limiting
+any implied license or other defenses to infringement that may
+otherwise be available to you under applicable patent law.
+
+  12. No Surrender of Others' Freedom.
+
+  If conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot convey a
+covered work so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you may
+not convey it at all.  For example, if you agree to terms that obligate you
+to collect a royalty for further conveying from those to whom you convey
+the Program, the only way you could satisfy both those terms and this
+License would be to refrain entirely from conveying the Program.
+
+  13. Use with the GNU Affero General Public License.
+
+  Notwithstanding any other provision of this License, you have
+permission to link or combine any covered work with a work licensed
+under version 3 of the GNU Affero General Public License into a single
+combined work, and to convey the resulting work.  The terms of this
+License will continue to apply to the part which is the covered work,
+but the special requirements of the GNU Affero General Public License,
+section 13, concerning interaction through a network will apply to the
+combination as such.
+
+  14. Revised Versions of this License.
+
+  The Free Software Foundation may publish revised and/or new versions of
+the GNU General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+  Each version is given a distinguishing version number.  If the
+Program specifies that a certain numbered version of the GNU General
+Public License "or any later version" applies to it, you have the
+option of following the terms and conditions either of that numbered
+version or of any later version published by the Free Software
+Foundation.  If the Program does not specify a version number of the
+GNU General Public License, you may choose any version ever published
+by the Free Software Foundation.
+
+  If the Program specifies that a proxy can decide which future
+versions of the GNU General Public License can be used, that proxy's
+public statement of acceptance of a version permanently authorizes you
+to choose that version for the Program.
+
+  Later license versions may give you additional or different
+permissions.  However, no additional obligations are imposed on any
+author or copyright holder as a result of your choosing to follow a
+later version.
+
+  15. Disclaimer of Warranty.
+
+  THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
+APPLICABLE LAW.  EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
+HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
+OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
+IS WITH YOU.  SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
+ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+  16. Limitation of Liability.
+
+  IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
+THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
+GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
+USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
+DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
+PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
+EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
+SUCH DAMAGES.
+
+  17. Interpretation of Sections 15 and 16.
+
+  If the disclaimer of warranty and limitation of liability provided
+above cannot be given local legal effect according to their terms,
+reviewing courts shall apply local law that most closely approximates
+an absolute waiver of all civil liability in connection with the
+Program, unless a warranty or assumption of liability accompanies a
+copy of the Program in return for a fee.
+
+                     END OF TERMS AND CONDITIONS
+
+            How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+state the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    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 3 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/>.
+
+Also add information on how to contact you by electronic and paper mail.
+
+  If the program does terminal interaction, make it output a short
+notice like this when it starts in an interactive mode:
+
+    <program>  Copyright (C) <year>  <name of author>
+    This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
+
+  You should also get your employer (if you work as a programmer) or school,
+if any, to sign a "copyright disclaimer" for the program, if necessary.
+For more information on this, and how to apply and follow the GNU GPL, see
+<http://www.gnu.org/licenses/>.
+
+  The GNU General Public License does not permit incorporating your program
+into proprietary programs.  If your program is a subroutine library, you
+may consider it more useful to permit linking proprietary applications with
+the library.  If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.  But first, please read
+<http://www.gnu.org/philosophy/why-not-lgpl.html>.
+
diff --git a/tools/i-pi/licenses/license_MIT.txt b/tools/i-pi/licenses/license_MIT.txt
new file mode 100644
index 0000000000..3a85b00ea7
--- /dev/null
+++ b/tools/i-pi/licenses/license_MIT.txt
@@ -0,0 +1,21 @@
+                        MIT license
+                 Modern Style with sublicense
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be included
+in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
+IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
+CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/tools/i-pi/manual.pdf b/tools/i-pi/manual.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..b4a239d43fac14f4449df7e63c73ccaf60027b52
GIT binary patch
literal 609105
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%0As&`oh1Q43dNmSL}
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
YPj7$Jo&&z9ps1iA2%nu@NfV6!A9|uvBLDyZ

literal 0
HcmV?d00001

-- 
GitLab