diff --git a/.gitignore b/.gitignore
index 6f8ec4578462901c710bad08f338d6e62ab6187f..89fab064ccd7d05bccee889818d8ef84ffb65fb8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -53,4 +53,5 @@ TAGS
 lib/
 env/
 
-# CP2K files
+# CPMD files
+parser/parser-cpmd/cpmdparser.egg-info/
diff --git a/parser/parser-cpmd/cpmdparser/parser.py b/parser/parser-cpmd/cpmdparser/parser.py
index f3f0fae1b4f899b00286abec300e2f7912aa5da1..8f6ecd9ffa1e538d757c33594f526191a701cdc1 100644
--- a/parser/parser-cpmd/cpmdparser/parser.py
+++ b/parser/parser-cpmd/cpmdparser/parser.py
@@ -3,8 +3,8 @@ from builtins import range
 import os
 import re
 import logging
+import importlib
 from nomadcore.baseclasses import ParserInterface
-from cpmdparser.versions.versionsetup import get_main_parser
 logger = logging.getLogger("nomad")
 
 
@@ -27,28 +27,19 @@ class CPMDParser(ParserInterface):
         # Search for the CP2K version specification and the RUN_TYPE for the
         # calculation. The correct and optimized parser is initialized based on
         # this information.
-        regex_version = re.compile(r" CP2K\| version string:\s+CP2K version ([\d\.]+)")
-        regex_run_type = re.compile(r"\s+GLOBAL\| Run type\s+(.+)")
+        regex_version = re.compile("\s+VERSION ([\d\.]+)")
         n_lines = 50
         version_id = None
-        run_type = None
         with open(self.parser_context.main_file, 'r') as outputfile:
             for i_line in range(n_lines):
                 line = next(outputfile)
                 result_version = regex_version.match(line)
-                result_run_type = regex_run_type.match(line)
                 if result_version:
                     version_id = result_version.group(1).replace('.', '')
-                if result_run_type:
-                    run_type = result_run_type.group(1)
         if version_id is None:
             msg = "Could not find a version specification from the given main file."
             logger.exception(msg)
             raise RuntimeError(msg)
-        if run_type is None:
-            msg = "Could not find a version specification from the given main file."
-            logger.exception(msg)
-            raise RuntimeError(msg)
 
         # Setup the root folder to the fileservice that is used to access files
         dirpath, filename = os.path.split(self.parser_context.main_file)
@@ -58,10 +49,33 @@ class CPMDParser(ParserInterface):
 
         # Setup the correct main parser based on the version id. If no match
         # for the version is found, use the main parser for CP2K 2.6.2
-        self.main_parser = get_main_parser(version_id, run_type)(self.parser_context.main_file, self.parser_context)
+        self.setup_main_parser(version_id)
 
     def get_metainfo_filename(self):
         return "cpmd.nomadmetainfo.json"
 
     def get_parser_info(self):
         return {'name': 'cpmd-parser', 'version': '1.0'}
+
+    def setup_main_parser(self, version_id):
+        # Currently the version id is a pure integer, so it can directly be mapped
+        # into a package name.
+        base = "cpmdparser.versions.cpmd{}.mainparser".format(version_id)
+        parser_module = None
+        parser_class = None
+        try:
+            parser_module = importlib.import_module(base)
+        except ImportError:
+            logger.warning("Could not find a parser for version '{}'. Trying to default to the base implementation for CPMD 4.1".format(version_id))
+            base = "cpmdparser.versions.cp2k41.mainparser"
+            try:
+                parser_module = importlib.import_module(base)
+            except ImportError:
+                logger.exception("Tried to default to the CPMD 4.1 implementation but could not find the correct module.")
+                raise
+        try:
+            parser_class = getattr(parser_module, "CPMDMainParser")
+        except AttributeError:
+            logger.exception("A parser class 'CPMDMainParser' could not be found in the module '[]'.".format(parser_module))
+            raise
+        self.main_parser = parser_class(self.parser_context.main_file, self.parser_context)
diff --git a/parser/parser-cpmd/cpmdparser/versions/cpmd41/commonmatcher.py b/parser/parser-cpmd/cpmdparser/versions/cpmd41/commonmatcher.py
new file mode 100644
index 0000000000000000000000000000000000000000..9ea4ee49fa11ca52432e93921666a31613406c3c
--- /dev/null
+++ b/parser/parser-cpmd/cpmdparser/versions/cpmd41/commonmatcher.py
@@ -0,0 +1,18 @@
+from nomadcore.baseclasses import CommonMatcher
+
+
+#===============================================================================
+class CPMDCommonMatcher(CommonMatcher):
+    """
+    This class is used to store and instantiate common parts of the
+    hierarchical SimpleMatcher structure used in the parsing of a CPMD
+    calculation.
+    """
+    def __init__(self, parser_context):
+        super(CPMDCommonMatcher, self).__init__(parser_context)
+
+    #===========================================================================
+    # onClose triggers
+    def onClose_section_run(self, backend, gIndex, section):
+        backend.addValue("program_name", "CPMD")
+        backend.addValue("program_basis_set_type", "plane waves")
diff --git a/parser/parser-cpmd/cpmdparser/versions/cpmd41/inputparser.py b/parser/parser-cpmd/cpmdparser/versions/cpmd41/inputparser.py
new file mode 100644
index 0000000000000000000000000000000000000000..1e9b3b7fb1c7b84d1638fb2bc35c9b0923d8254d
--- /dev/null
+++ b/parser/parser-cpmd/cpmdparser/versions/cpmd41/inputparser.py
@@ -0,0 +1,43 @@
+from __future__ import absolute_import
+from nomadcore.simple_parser import SimpleMatcher as SM
+from nomadcore.baseclasses import MainHierarchicalParser
+from nomadcore.caching_backend import CachingLevel
+from .commonmatcher import CommonMatcher
+import logging
+logger = logging.getLogger("nomad")
+
+
+#===============================================================================
+class CPMDSinglePointParser(MainHierarchicalParser):
+    """The main parser class. Used to parse the CP2K calculation with run types:
+        -ENERGY
+        -ENERGY_FORCE
+    """
+    def __init__(self, file_path, parser_context):
+        """
+        """
+        super(CPMDSinglePointParser, self).__init__(file_path, parser_context)
+        self.setup_common_matcher(CommonMatcher(parser_context))
+
+        #=======================================================================
+        # Cache levels
+        self.caching_level_for_metaname.update({
+            'x_cp2k_energy_total_scf_iteration': CachingLevel.ForwardAndCache,
+            'x_cp2k_energy_XC_scf_iteration': CachingLevel.ForwardAndCache,
+            'x_cp2k_energy_change_scf_iteration': CachingLevel.ForwardAndCache,
+            'x_cp2k_stress_tensor': CachingLevel.ForwardAndCache,
+            'x_cp2k_section_stress_tensor': CachingLevel.ForwardAndCache,
+        })
+
+        #=======================================================================
+        # SimpleMatchers
+        self.root_matcher = SM("",
+            forwardMatch=True,
+            sections=['section_run', "section_single_configuration_calculation", "section_system", "section_method"],
+            otherMetaInfo=["atom_forces"],
+            subMatchers=[
+                self.cm.header(),
+                self.cm.quickstep_header(),
+                self.cm.quickstep_calculation(),
+            ]
+        )
diff --git a/parser/parser-cpmd/cpmdparser/versions/cpmd41/mainparser.py b/parser/parser-cpmd/cpmdparser/versions/cpmd41/mainparser.py
new file mode 100644
index 0000000000000000000000000000000000000000..39de580e9f4d5849ec6726471c34a9453521998b
--- /dev/null
+++ b/parser/parser-cpmd/cpmdparser/versions/cpmd41/mainparser.py
@@ -0,0 +1,67 @@
+from __future__ import absolute_import
+from nomadcore.simple_parser import SimpleMatcher as SM
+from nomadcore.baseclasses import MainHierarchicalParser
+from nomadcore.caching_backend import CachingLevel
+from .commonmatcher import CPMDCommonMatcher
+import re
+import logging
+import datetime
+logger = logging.getLogger("nomad")
+
+
+#===============================================================================
+class CPMDMainParser(MainHierarchicalParser):
+    """The main parser class that is called for all run types. Parses the CPMD
+    output file.
+    """
+    def __init__(self, file_path, parser_context):
+        """
+        """
+        super(CPMDMainParser, self).__init__(file_path, parser_context)
+        self.setup_common_matcher(CPMDCommonMatcher(parser_context))
+
+        #=======================================================================
+        # Cache levels
+        # self.caching_levels.update({
+            # 'section_run': CachingLevel.ForwardAndCache,
+        # })
+
+        #=======================================================================
+        # SimpleMatchers
+        self.root_matcher = SM("",
+            forwardMatch=True,
+            sections=['section_run', "section_single_configuration_calculation", "section_system", "section_method"],
+            subMatchers=[
+                SM( " PROGRAM CPMD STARTED AT: (?P<x_cpmd_start_datetime>{})".format(self.regexs.regex_eol)),
+                SM( "\s+VERSION (?P<program_version>\d+\.\d+)"),
+                SM( " THE INPUT FILE IS:\s+(?P<x_cpmd_input_file>{})".format(self.regexs.regex_eol)),
+                SM( " THIS JOB RUNS ON:\s+(?P<x_cpmd_run_host_name>{})".format(self.regexs.regex_eol)),
+                SM( " THE JOB WAS SUBMITTED BY:\s+(?P<x_cpmd_run_user_name>{})".format(self.regexs.regex_eol)),
+            ]
+        )
+
+    #=======================================================================
+    # onClose triggers
+    def onClose_section_run(self, backend, gIndex, section):
+        start_datetime = section.get_latest_value("x_cpmd_start_datetime")
+        start_date_stamp, start_wall_time = self.timestamp_from_string(start_datetime)
+        backend.addValue("time_run_date_start", start_date_stamp)
+        backend.addValue("time_run_wall_start", start_wall_time)
+
+    #=======================================================================
+    # misc. functions
+    def timestamp_from_string(self, timestring):
+        timestring = timestring.strip()
+        date, time = timestring.split()
+        year, month, day = [int(x) for x in date.split("-")]
+        hour, minute, second, msec = [float(x) for x in re.split("[:.]", time)]
+        date_stamp = datetime.datetime(year, month, day).timestamp()
+        wall_time = hour*3600+minute*60+second+0.001*msec
+        return date_stamp, wall_time
+
+    #=======================================================================
+    # adHoc
+    def debug(self):
+        def wrapper(parser):
+            print("DEBUG")
+        return wrapper
diff --git a/parser/parser-cpmd/cpmdparser/versions/versionsetup.py b/parser/parser-cpmd/cpmdparser/versions/versionsetup.py
deleted file mode 100644
index e4f917686feff161e52adc8160f1fceecc44c56a..0000000000000000000000000000000000000000
--- a/parser/parser-cpmd/cpmdparser/versions/versionsetup.py
+++ /dev/null
@@ -1,62 +0,0 @@
-import importlib
-import logging
-logger = logging.getLogger("nomad")
-
-
-#===============================================================================
-def get_main_parser(version_id, run_type):
-    """
-    Setups a main parser class for this calculation. The main class can be
-    different for each version and run type.
-
-    Args:
-        version_id: An integer representing the CP2K version. The version
-            number is originally a string the form '2.6.2', but here the numbers
-            are just concatenated into a single integer number 262.
-        run_type: A string that identifies the RUN_TYPE for the calculation.
-            All the possible run types can be found in the CP2K reference manual.
-
-    Returns:
-        A python class that should be instantiated later with the correct
-        parameters.
-    """
-
-    # Search for a RUN_TYPE specific parser
-    parser_map = {
-        "ENERGY": "SinglePointParser",
-        "ENERGY_FORCE": "SinglePointParser",
-        "WAVEFUNCTION_OPTIMIZATION": "SinglePointParser",
-        "WFN_OPT": "SinglePointParser",
-        "GEO_OPT": "GeoOptParser",
-        "GEOMETRY_OPTIMIZATION": "GeoOptParser",
-        "MD": "MDParser",
-        "MOLECULAR_DYNAMICS": "MDParser",
-    }
-    try:
-        parser = parser_map[run_type]
-    except KeyError:
-        logger.exception("A parser corresponding to the run_type '{}' could not be found.".format(run_type))
-        raise
-
-    # Currently the version id is a pure integer, so it can directly be mapped
-    # into a package name.
-    base = "cpmdparser.versions.cp2k{}.{}".format(version_id, parser.lower())
-    parser_module = None
-    parser_class = None
-    try:
-        parser_module = importlib.import_module(base)
-    except ImportError:
-        logger.warning("Could not find a parser for version '{}' and run type '{}'. Trying to default to the base implementation for CP2K 2.6.2".format(version_id, run_type))
-        base = "cp2kparser.versions.cp2k262.{}".format(parser.lower())
-        try:
-            parser_module = importlib.import_module(base)
-        except ImportError:
-            logger.exception("Tried to default to the CP2K 2.6.2 implementation but could not find the correct modules for run_type '{}'.".format(run_type))
-            raise
-    try:
-        parser_class = getattr(parser_module, "CP2K{}".format(parser))
-    except AttributeError:
-        logger.exception("A parser class '{}' could not be found in the module '[]'.".format(parser_class, parser_module))
-        raise
-
-    return parser_class
diff --git a/setup.py b/setup.py
index fc623cc72744fdc9f2fb061fa484d904991bd93d..ff76355dc746f1088aab71f87c0aedd60688fc03 100644
--- a/setup.py
+++ b/setup.py
@@ -11,20 +11,15 @@ def main():
     setup(
         name="cpmdparser",
         version="0.1",
-        # package_data={
-            # 'cp2kparser.versions.cp2k262': ['input_data/cp2k_input_tree.pickle'],
-        # },
         description="NoMaD parser implementation for CPMD.",
         author="Lauri Himanen",
         author_email="lauri.himanen@aalto.fi",
         license="GPL3",
-        # package_dir={'': 'parser/parser-cp2k'},
+        package_dir={'': 'parser/parser-cpmd'},
         packages=find_packages(),
         install_requires=[
             'pint',
             'numpy',
-            # 'mdtraj',
-            # 'ase'
         ],
     )
 
diff --git a/src/main/scala/eu/nomad_lab/parsers/CpmdParser.scala b/src/main/scala/eu/nomad_lab/parsers/CpmdParser.scala
index c0305e7da182389759d3f4e14895f80394a48c9b..8e2c8f1d89ee9ef447907afecd16733471e41be8 100644
--- a/src/main/scala/eu/nomad_lab/parsers/CpmdParser.scala
+++ b/src/main/scala/eu/nomad_lab/parsers/CpmdParser.scala
@@ -5,11 +5,11 @@ import eu.nomad_lab.DefaultPythonInterpreter
 import org.{ json4s => jn }
 import scala.collection.breakOut
 
-object Cp2kParser extends SimpleExternalParserGenerator(
-  name = "Cp2kParser",
+object CpmdParser extends SimpleExternalParserGenerator(
+  name = "CpmdParser",
   parserInfo = jn.JObject(
     ("name" -> jn.JString("CpmdParser")) ::
-      ("parserId" -> jn.JString("CpmdParser" + lab.Cp2kVersionInfo.version)) ::
+      ("parserId" -> jn.JString("CpmdParser" + lab.CpmdVersionInfo.version)) ::
       ("versionInfo" -> jn.JObject(
         ("nomadCoreVersion" -> jn.JObject(lab.NomadCoreVersionInfo.toMap.map {
           case (k, v) => k -> jn.JString(v.toString)
@@ -21,16 +21,14 @@ object Cp2kParser extends SimpleExternalParserGenerator(
       )) :: Nil
   ),
   mainFileTypes = Seq("text/.*"),
-  mainFileRe = """  \*\*\*\* \*\*\*\* \*\*\*\*\*\*  \*\*  PROGRAM STARTED AT\s(?<cpmdStartedAt>.*)
- \*\*\*\*\* \*\* \*\*\*  \*\*\* \*\*   PROGRAM STARTED ON\s*.*
- \*\*    \*\*\*\*   \*\*\*\*\*\*    PROGRAM STARTED BY .*
- \*\*\*\*\* \*\*    \*\* \*\* \*\*   PROGRAM PROCESS ID .*
-  \*\*\*\* \*\*  \*\*\*\*\*\*\*  \*\*  PROGRAM STARTED IN .*
-(?:\s*\n|                                      \s+.*
-)*
-(?:\s*CP2K\| version string:\s*(?<cpmdVersionString>.*)
-)?(?:\s*CP2K\| source code revision number:\s*(?<cpmdRevision>.*)
-)?""".r,
+  mainFileRe = """               \*\*\*\*\*\*  \*\*\*\*\*\*    \*\*\*\*  \*\*\*\*  \*\*\*\*\*\*
+              \*\*\*\*\*\*\*  \*\*\*\*\*\*\*   \*\*\*\*\*\*\*\*\*\*  \*\*\*\*\*\*\*
+             \*\*\*       \*\*   \*\*\*  \*\* \*\*\*\* \*\*  \*\*   \*\*\*
+             \*\*        \*\*   \*\*\*  \*\*  \*\*  \*\*  \*\*    \*\*
+             \*\*        \*\*\*\*\*\*\*   \*\*      \*\*  \*\*    \*\*
+             \*\*\*       \*\*\*\*\*\*    \*\*      \*\*  \*\*   \*\*\*
+              \*\*\*\*\*\*\*  \*\*        \*\*      \*\*  \*\*\*\*\*\*\*
+               \*\*\*\*\*\*  \*\*        \*\*      \*\*  \*\*\*\*\*\*""".r,
   cmd = Seq(DefaultPythonInterpreter.python2Exe(), "${envDir}/parsers/cpmd/parser/parser-cpmd/cpmdparser/scalainterface.py",
     "${mainFilePath}"),
   cmdCwd = "${mainFilePath}/..",
@@ -38,16 +36,17 @@ object Cp2kParser extends SimpleExternalParserGenerator(
     "parser-cpmd/cpmdparser/__init__.py",
     "parser-cpmd/cpmdparser/setup_paths.py",
     "parser-cpmd/cpmdparser/parser.py",
+    "parser-cpmd/cpmdparser/scalainterface.py",
     "parser-cpmd/cpmdparser/generic/__init__.py",
     "parser-cpmd/cpmdparser/versions/__init__.py",
-    "parser-cpmd/cpmdparser/versions/versionsetup.py",
     "parser-cpmd/cpmdparser/versions/cpmd41/__init__.py",
-    "parser-cpmd/cpmdparser/scalainterface.py",
+    "parser-cpmd/cpmdparser/versions/cpmd41/commonmatcher.py",
+    "parser-cpmd/cpmdparser/versions/cpmd41/mainparser.py",
+    "parser-cpmd/cpmdparser/versions/cpmd41/inputparser.py",
     "nomad_meta_info/public.nomadmetainfo.json",
     "nomad_meta_info/common.nomadmetainfo.json",
     "nomad_meta_info/meta_types.nomadmetainfo.json",
     "nomad_meta_info/cpmd.nomadmetainfo.json",
-    "nomad_meta_info/cpmd.general.nomadmetainfo.json"
   ) ++ DefaultPythonInterpreter.commonFiles(),
   dirMap = Map(
     "parser-cpmd" -> "parsers/cpmd/parser/parser-cpmd",
diff --git a/src/test/scala/eu/nomad_lab/parsers/CpmdParserSpec.scala b/src/test/scala/eu/nomad_lab/parsers/CpmdParserSpec.scala
index fd35602de6f5e3ea9b5fc7345b680e55dbfeca34..472e92b9e4641c7facb72312ccdc47954e6d16c9 100644
--- a/src/test/scala/eu/nomad_lab/parsers/CpmdParserSpec.scala
+++ b/src/test/scala/eu/nomad_lab/parsers/CpmdParserSpec.scala
@@ -3,13 +3,7 @@ package eu.nomad_lab.parsers
 import org.specs2.mutable.Specification
 
 object CpmdParserSpec extends Specification {
-  "CpmdParserTest" >> {
-    "test with json-events" >> {
-      ParserRun.parse(CpmdParser, "parsers/cpmd/test/examples/energy_force/si_bulk8.out", "json-events") must_== ParseResult.ParseSuccess
-    }
-  }
-
   "test energy_force with json" >> {
-    ParserRun.parse(CpmdParser, "parsers/cpmd/test/examples/energy_force/si_bulk8.out", "json") must_== ParseResult.ParseSuccess
+    ParserRun.parse(CpmdParser, "parsers/cpmd/test/examples/single_point/output.out", "json") must_== ParseResult.ParseSuccess
   }
 }
diff --git a/test/examples/single_point/GEOMETRY b/test/examples/single_point/GEOMETRY
new file mode 100644
index 0000000000000000000000000000000000000000..4fc346d8d03ee55cc5ed943b11eb14af91be77a4
--- /dev/null
+++ b/test/examples/single_point/GEOMETRY
@@ -0,0 +1,2 @@
+      8.259992891426      7.558904499132      7.558904499132              0.017798524379     -0.000000000000     -0.000000000000
+      6.857816106837      7.558904499132      7.558904499132             -0.017798524379     -0.000000000000     -0.000000000000
diff --git a/test/examples/single_point/GEOMETRY.xyz b/test/examples/single_point/GEOMETRY.xyz
new file mode 100644
index 0000000000000000000000000000000000000000..b13c48d0b6644a53a06502a83cea74fb0265e4e1
--- /dev/null
+++ b/test/examples/single_point/GEOMETRY.xyz
@@ -0,0 +1,4 @@
+       2
+GEOMETRY FILE / created by CPMD
+  H      4.371000000000      4.000000000000      4.000000000000              0.009418573488     -0.000000000000     -0.000000000000
+  H      3.629000000000      4.000000000000      4.000000000000             -0.009418573488     -0.000000000000     -0.000000000000
diff --git a/test/examples/single_point/LATEST b/test/examples/single_point/LATEST
new file mode 100644
index 0000000000000000000000000000000000000000..0e4449210602fd9c3a45bd3bc780cd67ad8721b0
--- /dev/null
+++ b/test/examples/single_point/LATEST
@@ -0,0 +1,2 @@
+./RESTART.1                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
+           1
diff --git a/test/examples/single_point/RESTART.1 b/test/examples/single_point/RESTART.1
new file mode 100644
index 0000000000000000000000000000000000000000..88b00a1a01f06fe6a5955b36cc01256a544cf1ce
Binary files /dev/null and b/test/examples/single_point/RESTART.1 differ
diff --git a/test/examples/single_point/input.inp b/test/examples/single_point/input.inp
new file mode 100755
index 0000000000000000000000000000000000000000..c1b5c8a868f3b0aec8910af9399c6bfabec9fa3d
--- /dev/null
+++ b/test/examples/single_point/input.inp
@@ -0,0 +1,35 @@
+&INFO
+isolated hydrogen molecule.
+single point calculation.
+&END
+
+&CPMD
+ OPTIMIZE WAVEFUNCTION
+ CONVERGENCE ORBITALS
+  1.0d-7
+ CENTER MOLECULE ON
+ PRINT FORCES ON
+&END
+  
+&SYSTEM
+ SYMMETRY
+  1
+ ANGSTROM
+ CELL
+  8.00 1.0 1.0  0.0  0.0  0.0
+ CUTOFF
+  70.0
+&END 
+
+&DFT
+ FUNCTIONAL LDA
+&END  
+
+&ATOMS
+*H_MT_LDA.psp
+ LMAX=S
+  2
+ 4.371   4.000   4.000
+ 3.629   4.000   4.000
+&END  
+
diff --git a/test/examples/single_point/output.out b/test/examples/single_point/output.out
new file mode 100644
index 0000000000000000000000000000000000000000..b7fb802822bc95d7164dab1cff250c4b764493de
--- /dev/null
+++ b/test/examples/single_point/output.out
@@ -0,0 +1,286 @@
+ cp_groups: we are using a 1 x 1 grid (groups x nprocs).
+ PROGRAM CPMD STARTED AT: 2016-07-04 14:05:06.851   
+ SETCNST| USING: CODATA 2006 UNITS
+
+
+               ******  ******    ****  ****  ******   
+              *******  *******   **********  *******  
+             ***       **   ***  ** **** **  **   *** 
+             **        **   ***  **  **  **  **    ** 
+             **        *******   **      **  **    ** 
+             ***       ******    **      **  **   *** 
+              *******  **        **      **  *******  
+               ******  **        **      **  ******   
+
+                          VERSION 4.1-rUnversioned directory
+
+                            COPYRIGHT
+                      IBM RESEARCH DIVISION
+                MPI FESTKOERPERFORSCHUNG STUTTGART
+
+                       The CPMD consortium
+                  Home Page: http://www.cpmd.org
+               Mailing List: cpmd-list@cpmd.org
+                     E-mail: cpmd@cpmd.org
+
+
+                  ***  Jun 22 2016 -- 12:41:05  ***
+
+ THE INPUT FILE IS:                                     input.inp
+ THIS JOB RUNS ON:                                      lenovo700
+ THE CURRENT DIRECTORY IS: 
+ /home/lauri/Dropbox/nomad-dev/nomad-lab-base/parsers/cpmd/test/unittests/cpmd_4.1/h2
+ THE TEMPORARY DIRECTORY IS: 
+ /home/lauri/Dropbox/nomad-dev/nomad-lab-base/parsers/cpmd/test/unittests/cpmd_4.1/h2
+ THE PROCESS ID IS:                                         32589
+ THE JOB WAS SUBMITTED BY:                                  lauri
+
+
+ ******************************************************************************
+ * INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO *
+ ******************************************************************************
+ * isolated hydrogen molecule.                                                *
+ * single point calculation.                                                  *
+ ******************************************************************************
+
+ SINGLE POINT DENSITY OPTIMIZATION
+
+ USING SEED       123456 TO INIT. PSEUDO RANDOM NUMBER GEN.
+ PATH TO THE RESTART FILES:                                    ./
+ GRAM-SCHMIDT ORTHOGONALIZATION
+ MAXIMUM NUMBER OF STEPS:                             10000 STEPS
+ MAXIMUM NUMBER OF ITERATIONS FOR SC:                 10000 STEPS
+ PRINT INTERMEDIATE RESULTS EVERY                     10001 STEPS
+ STORE INTERMEDIATE RESULTS EVERY                     10001 STEPS
+ NUMBER OF DISTINCT RESTART FILES:                              1
+ TEMPERATURE IS CALCULATED ASSUMING EXTENDED BULK BEHAVIOR 
+ FICTITIOUS ELECTRON MASS:                               400.0000
+ TIME STEP FOR ELECTRONS:                                  5.0000
+ TIME STEP FOR IONS:                                       5.0000
+ CONVERGENCE CRITERIA FOR WAVEFUNCTION OPTIMIZATION:   1.0000E-07
+ WAVEFUNCTION OPTIMIZATION BY PRECONDITIONED DIIS
+ THRESHOLD FOR THE WF-HESSIAN IS                           0.5000
+ MAXIMUM NUMBER OF VECTORS RETAINED FOR DIIS:                  10
+ STEPS UNTIL DIIS RESET ON POOR PROGRESS:                      10
+ FULL ELECTRONIC GRADIENT IS USED 
+ SPLINE INTERPOLATION IN G-SPACE FOR PSEUDOPOTENTIAL FUNCTIONS
+    NUMBER OF SPLINE POINTS:                                 5000
+
+ EXCHANGE CORRELATION FUNCTIONALS 
+    LDA EXCHANGE:                                            NONE
+    LDA XC THROUGH PADE APPROXIMATION
+    S.GOEDECKER, J.HUTTER, M.TETER PRB 541703 (1996)
+
+ ***     DETSP| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ ***************************** ATOMS ****************************
+   NR   TYPE        X(BOHR)        Y(BOHR)        Z(BOHR)     MBL
+    1      H       8.259993       7.558904       7.558904       3
+    2      H       6.857816       7.558904       7.558904       3
+ ****************************************************************
+
+ NUMBER OF STATES:                                              1
+ NUMBER OF ELECTRONS:                                     2.00000
+ CHARGE:                                                  0.00000
+ ELECTRON TEMPERATURE(KELVIN):                            0.00000
+ OCCUPATION
+  2.0
+
+    ============================================================  
+    |    Pseudopotential Report     Thu Jan 11 18:21:49 1996   |  
+    ------------------------------------------------------------  
+    |  Atomic Symbol                   :   H                   |  
+    |  Atomic Number                   :   1                   |  
+    |  Number of core states           :   0                   |  
+    |  Number of valence states        :   1                   |  
+    |  Exchange-Correlation Functional :                       |  
+    |     Slater exchange :   .6667                            |  
+    |     LDA correlation : Ceperley-Alder                     |  
+    |  Electron Configuration :   N   L  Occupation            |  
+    |                             1   S    1.0000              |  
+    |  Full Potential Total Energy     -.445894                |  
+    |  Trouiller-Martins normconserving PP                     |  
+    |     n    l        rc       energy                        |  
+    |     1    S     .5000      -.23366                        |  
+    |     2    P     .5000      -.23366                        |  
+    |  Number of Mesh Points :   511                           |  
+    |  Pseudoatom Total Energy    -.445889                     |  
+    ============================================================  
+
+ ****************************************************************
+ *   ATOM       MASS   RAGGIO NLCC              PSEUDOPOTENTIAL *
+ *      H     1.0080   1.2000  NO                   S     LOCAL *
+ ****************************************************************
+
+
+ PARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARA
+  NCPU     NGW     NHG  PLANES  GXRAYS  HXRAYS ORBITALS Z-PLANES
+     0   17133  136605      90    1281    5089       1       1
+                G=0 COMPONENT ON PROCESSOR :     0
+ PARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARA
+
+ ***    loadpa| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ OPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPEN
+ NUMBER OF CPUS PER TASK                                        1
+ OPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPEN
+
+ ***     rggen| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ ************************** SUPERCELL ***************************
+ SYMMETRY:                                           SIMPLE CUBIC
+ LATTICE CONSTANT(a.u.):                                 15.11781
+ CELL DIMENSION:  15.1178  1.0000  1.0000  0.0000  0.0000  0.0000
+ VOLUME(OMEGA IN BOHR^3):                              3455.14726
+ LATTICE VECTOR A1(BOHR):           15.1178     0.0000     0.0000
+ LATTICE VECTOR A2(BOHR):            0.0000    15.1178     0.0000
+ LATTICE VECTOR A3(BOHR):            0.0000     0.0000    15.1178
+ RECIP. LAT. VEC. B1(2Pi/BOHR):      0.0661     0.0000     0.0000
+ RECIP. LAT. VEC. B2(2Pi/BOHR):      0.0000     0.0661     0.0000
+ RECIP. LAT. VEC. B3(2Pi/BOHR):      0.0000     0.0000     0.0661
+ REAL SPACE MESH:                    90           90           90
+ WAVEFUNCTION CUTOFF(RYDBERG):                           70.00000
+ DENSITY CUTOFF(RYDBERG):          (DUAL= 4.00)         280.00000
+ NUMBER OF PLANE WAVES FOR WAVEFUNCTION CUTOFF:             17133
+ NUMBER OF PLANE WAVES FOR DENSITY CUTOFF:                 136605
+ ****************************************************************
+
+ ***  RINFORCE| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ***    FFTPRP| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ GENERATE ATOMIC BASIS SET
+      H        SLATER ORBITALS
+        1S        ALPHA=   1.0000      OCCUPATION= 1.00
+
+
+ INITIALIZATION TIME:                                0.48 SECONDS
+
+ ***    WFOPTS| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ***     PHFAC| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ NOTE: ATOMIC GUESS USING DISTRIBUTED LINALG WITH LANCZOS
+ ***    ATOMWF| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ATRHO| CHARGE(R-SPACE):    2.000000 (G-SPACE):    2.000000
+
+   ATOM          COORDINATES            GRADIENTS (-FORCES)
+   1  H  8.2600  7.5589  7.5589   0.000E+00  0.000E+00  0.000E+00
+   2  H  6.8578  7.5589  7.5589   0.000E+00  0.000E+00  0.000E+00
+
+ TIME FOR WAVEFUNCTION INITIALIZATION:               0.83 SECONDS
+ ***    RWFOPT| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ EWALD| SUM IN REAL SPACE OVER                      1* 1* 1 CELLS
+
+ TOTAL INTEGRATED ELECTRONIC DENSITY
+    IN G-SPACE =                                     2.0000000000
+    IN R-SPACE =                                     2.0000000000
+
+ (K+E1+L+N+X)           TOTAL ENERGY =           -1.09689770 A.U.
+ (K)                  KINETIC ENERGY =            0.81247072 A.U.
+ (E1=A-S+R)     ELECTROSTATIC ENERGY =           -0.48640053 A.U.
+ (S)                           ESELF =            0.66490380 A.U.
+ (R)                             ESR =            0.17302593 A.U.
+ (L)    LOCAL PSEUDOPOTENTIAL ENERGY =           -0.84879440 A.U.
+ (N)      N-L PSEUDOPOTENTIAL ENERGY =            0.00000000 A.U.
+ (X)     EXCHANGE-CORRELATION ENERGY =           -0.57417350 A.U.
+
+ NFI      GEMAX       CNORM           ETOT        DETOT      TCPU
+   1  3.816E-02   2.886E-03      -1.096898    0.000E+00      0.23
+   2  8.628E-03   1.041E-03      -1.130803   -3.391E-02      0.22
+   3  2.736E-03   2.293E-04      -1.132376   -1.572E-03      0.22
+   4  6.115E-04   4.235E-05      -1.132456   -8.056E-05      0.22
+   5  1.532E-04   7.007E-06      -1.132459   -3.315E-06      0.24
+   6  3.895E-05   1.396E-06      -1.132460   -1.338E-07      0.22
+   7  6.288E-06   4.459E-07      -1.132460   -7.717E-09      0.22
+   8  7.941E-07   1.282E-07      -1.132460   -4.283E-10      0.22
+   9  1.237E-07   2.861E-08      -1.132460   -1.992E-11      0.22
+  10  2.278E-08   5.401E-09      -1.132460   -8.606E-13      0.22
+
+ RESTART INFORMATION WRITTEN ON FILE                  ./RESTART.1
+ ***    RWFOPT| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ ****************************************************************
+ *                                                              *
+ *                        FINAL RESULTS                         *
+ *                                                              *
+ ****************************************************************
+
+   ATOM          COORDINATES            GRADIENTS (-FORCES)
+   1  H  8.2600  7.5589  7.5589   1.780E-02 -1.104E-16 -9.425E-17
+   2  H  6.8578  7.5589  7.5589  -1.780E-02 -1.867E-16 -1.490E-16
+
+ ****************************************************************
+
+
+ ELECTRONIC GRADIENT:
+    MAX. COMPONENT =    1.15980E-08         NORM =    1.11525E-09
+ NUCLEAR GRADIENT:
+    MAX. COMPONENT =    1.77985E-02         NORM =    1.02760E-02
+
+
+ TOTAL INTEGRATED ELECTRONIC DENSITY
+    IN G-SPACE =                                     2.0000000000
+    IN R-SPACE =                                     2.0000000000
+
+ (K+E1+L+N+X)           TOTAL ENERGY =           -1.13245953 A.U.
+ (K)                  KINETIC ENERGY =            1.09007149 A.U.
+ (E1=A-S+R)     ELECTROSTATIC ENERGY =           -0.47319176 A.U.
+ (S)                           ESELF =            0.66490380 A.U.
+ (R)                             ESR =            0.17302593 A.U.
+ (L)    LOCAL PSEUDOPOTENTIAL ENERGY =           -1.09902228 A.U.
+ (N)      N-L PSEUDOPOTENTIAL ENERGY =            0.00000000 A.U.
+ (X)     EXCHANGE-CORRELATION ENERGY =           -0.65031699 A.U.
+
+ ****************************************************************
+
+
+
+ ****************************************************************
+ *                                                              *
+ *                            TIMING                            *
+ *                                                              *
+ ****************************************************************
+ SUBROUTINE       CALLS             SELF TIME          TOTAL TIME
+                            AVERAGE   MAXIMUM   AVERAGE   MAXIMUM
+ cpmd                 1        0.00      0.00      3.67      3.67
+ rwfopt               1        0.00      0.00      3.20      3.20
+ updwf               11        0.00      0.00      2.37      2.37
+ forcedr             11        0.00      0.00      2.33      2.33
+ forces              11        0.00      0.00      2.33      2.33
+ forces_a            11        0.00      0.00      1.80      1.80
+ rscpot              11        0.00      0.00      1.80      1.80
+ vofrho              12        0.00      0.00      1.79      1.79
+ VOFRHOB             12        0.04      0.04      1.22      1.22
+ INVFFTN             37        1.12      1.12      1.12      1.12
+ initrun              1        0.00      0.00      0.82      0.82
+ rinitwf              1        0.00      0.00      0.82      0.82
+ ATOMWF               1        0.00      0.00      0.82      0.82
+ FWFFTN              25        0.69      0.69      0.69      0.69
+ xcener_new          12        0.04      0.04      0.67      0.67
+ mikeu               12        0.63      0.63      0.63      0.63
+ vpsi                13        0.06      0.06      0.63      0.63
+ VOFRHOA             12        0.03      0.03      0.57      0.57
+ ATRHO                1        0.35      0.35      0.39      0.39
+ rhoofr              11        0.07      0.07      0.34      0.34
+ rinit                1        0.00      0.00      0.26      0.26
+ rggen                1        0.01      0.01      0.26      0.26
+ loadpa               1        0.01      0.01      0.25      0.25
+ dist_ksmat           1        0.00      0.00      0.11      0.11
+ RINFORCE             1        0.00      0.00      0.10      0.10
+ NUMPW                1        0.10      0.10      0.10      0.10
+ loadpa_b             1        0.10      0.10      0.10      0.10
+ loadpa_c             1        0.10      0.10      0.10      0.10
+ FORMFN               1        0.10      0.10      0.10      0.10
+ ppener              12        0.06      0.06      0.06      0.06
+ loadpa_a             1        0.04      0.04      0.04      0.04
+ EICALC              12        0.04      0.04      0.04      0.04
+ odiis               11        0.04      0.04      0.04      0.04
+ PUTPS                1        0.01      0.01      0.01      0.01
+ forces_b            11        0.00      0.00      0.01      0.01
+ potfor               1        0.01      0.01      0.01      0.01
+ fftprp               1        0.00      0.00      0.00      0.00
+ ****************************************************************
+
+       CPU TIME :    0 HOURS  0 MINUTES  3.67 SECONDS     
+   ELAPSED TIME :    0 HOURS  0 MINUTES  3.67 SECONDS     
+ ***      CPMD| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ PROGRAM CPMD ENDED AT:   2016-07-04 14:05:10.523   
diff --git a/test/unittests/cpmd_4.1/H_MT_LDA.psp b/test/unittests/cpmd_4.1/H_MT_LDA.psp
new file mode 100755
index 0000000000000000000000000000000000000000..f24a5a5b39bcf21727cc7ab07da90ba83893f2aa
--- /dev/null
+++ b/test/unittests/cpmd_4.1/H_MT_LDA.psp
@@ -0,0 +1,1056 @@
+&ATOM  
+ Z  =    1
+ ZV =    1
+ XC = 1100        .666667
+ TYPE = NORMCONSERVING NUMERIC
+&END   
+&INFO  
+    ============================================================
+    |    Pseudopotential Report     Thu Jan 11 18:21:49 1996   |
+    ------------------------------------------------------------
+    |  Atomic Symbol                   :   H                   |
+    |  Atomic Number                   :   1                   |
+    |  Number of core states           :   0                   |
+    |  Number of valence states        :   1                   |
+    |  Exchange-Correlation Functional :                       |
+    |     Slater exchange :   .6667                            |
+    |     LDA correlation : Ceperley-Alder                     |
+    |  Electron Configuration :   N   L  Occupation            |
+    |                             1   S    1.0000              |
+    |  Full Potential Total Energy     -.445894                |
+    |  Trouiller-Martins normconserving PP                     |
+    |     n    l        rc       energy                        |
+    |     1    S     .5000      -.23366                        |
+    |     2    P     .5000      -.23366                        |
+    |  Number of Mesh Points :   511                           |
+    |  Pseudoatom Total Energy    -.445889                     |
+    ============================================================
+&END  
+&POTENTIAL  
+   511
+  .62500000E-02      -.73542906E+01 -.54814743E+01
+  .63593750E-02      -.73542899E+01 -.54814736E+01
+  .64706641E-02      -.73542890E+01 -.54814728E+01
+  .65839007E-02      -.73542882E+01 -.54814721E+01
+  .66991189E-02      -.73542874E+01 -.54814713E+01
+  .68163535E-02      -.73542866E+01 -.54814706E+01
+  .69356397E-02      -.73542858E+01 -.54814700E+01
+  .70570134E-02      -.73542851E+01 -.54814694E+01
+  .71805111E-02      -.73542844E+01 -.54814688E+01
+  .73061701E-02      -.73542837E+01 -.54814683E+01
+  .74340281E-02      -.73542831E+01 -.54814678E+01
+  .75641236E-02      -.73542825E+01 -.54814673E+01
+  .76964957E-02      -.73542819E+01 -.54814669E+01
+  .78311844E-02      -.73542814E+01 -.54814666E+01
+  .79682301E-02      -.73542809E+01 -.54814663E+01
+  .81076741E-02      -.73542805E+01 -.54814660E+01
+  .82495584E-02      -.73542800E+01 -.54814658E+01
+  .83939257E-02      -.73542796E+01 -.54814657E+01
+  .85408194E-02      -.73542793E+01 -.54814655E+01
+  .86902838E-02      -.73542789E+01 -.54814655E+01
+  .88423637E-02      -.73542786E+01 -.54814654E+01
+  .89971051E-02      -.73542783E+01 -.54814654E+01
+  .91545544E-02      -.73542781E+01 -.54814655E+01
+  .93147591E-02      -.73542778E+01 -.54814656E+01
+  .94777674E-02      -.73542776E+01 -.54814658E+01
+  .96436283E-02      -.73542774E+01 -.54814660E+01
+  .98123918E-02      -.73542772E+01 -.54814662E+01
+  .99841087E-02      -.73542771E+01 -.54814665E+01
+  .10158831E-01      -.73542769E+01 -.54814668E+01
+  .10336610E-01      -.73542768E+01 -.54814672E+01
+  .10517501E-01      -.73542766E+01 -.54814677E+01
+  .10701557E-01      -.73542765E+01 -.54814681E+01
+  .10888834E-01      -.73542764E+01 -.54814686E+01
+  .11079389E-01      -.73542762E+01 -.54814692E+01
+  .11273278E-01      -.73542761E+01 -.54814698E+01
+  .11470561E-01      -.73542759E+01 -.54814704E+01
+  .11671295E-01      -.73542758E+01 -.54814711E+01
+  .11875543E-01      -.73542756E+01 -.54814718E+01
+  .12083365E-01      -.73542753E+01 -.54814726E+01
+  .12294824E-01      -.73542751E+01 -.54814734E+01
+  .12509983E-01      -.73542748E+01 -.54814742E+01
+  .12728908E-01      -.73542744E+01 -.54814751E+01
+  .12951664E-01      -.73542740E+01 -.54814760E+01
+  .13178318E-01      -.73542736E+01 -.54814769E+01
+  .13408939E-01      -.73542730E+01 -.54814779E+01
+  .13643595E-01      -.73542724E+01 -.54814788E+01
+  .13882358E-01      -.73542717E+01 -.54814798E+01
+  .14125299E-01      -.73542709E+01 -.54814808E+01
+  .14372492E-01      -.73542700E+01 -.54814819E+01
+  .14624011E-01      -.73542689E+01 -.54814829E+01
+  .14879931E-01      -.73542677E+01 -.54814840E+01
+  .15140330E-01      -.73542663E+01 -.54814850E+01
+  .15405285E-01      -.73542647E+01 -.54814860E+01
+  .15674878E-01      -.73542630E+01 -.54814870E+01
+  .15949188E-01      -.73542610E+01 -.54814880E+01
+  .16228299E-01      -.73542588E+01 -.54814890E+01
+  .16512294E-01      -.73542563E+01 -.54814900E+01
+  .16801259E-01      -.73542535E+01 -.54814909E+01
+  .17095281E-01      -.73542505E+01 -.54814917E+01
+  .17394449E-01      -.73542470E+01 -.54814925E+01
+  .17698852E-01      -.73542432E+01 -.54814932E+01
+  .18008582E-01      -.73542390E+01 -.54814938E+01
+  .18323732E-01      -.73542344E+01 -.54814943E+01
+  .18644397E-01      -.73542292E+01 -.54814947E+01
+  .18970674E-01      -.73542235E+01 -.54814950E+01
+  .19302661E-01      -.73542173E+01 -.54814951E+01
+  .19640457E-01      -.73542104E+01 -.54814950E+01
+  .19984165E-01      -.73542028E+01 -.54814948E+01
+  .20333888E-01      -.73541945E+01 -.54814943E+01
+  .20689731E-01      -.73541854E+01 -.54814936E+01
+  .21051802E-01      -.73541755E+01 -.54814927E+01
+  .21420208E-01      -.73541646E+01 -.54814914E+01
+  .21795062E-01      -.73541527E+01 -.54814898E+01
+  .22176475E-01      -.73541397E+01 -.54814879E+01
+  .22564564E-01      -.73541255E+01 -.54814856E+01
+  .22959444E-01      -.73541100E+01 -.54814828E+01
+  .23361234E-01      -.73540932E+01 -.54814796E+01
+  .23770055E-01      -.73540748E+01 -.54814759E+01
+  .24186031E-01      -.73540549E+01 -.54814716E+01
+  .24609287E-01      -.73540332E+01 -.54814666E+01
+  .25039950E-01      -.73540096E+01 -.54814610E+01
+  .25478149E-01      -.73539840E+01 -.54814547E+01
+  .25924016E-01      -.73539563E+01 -.54814476E+01
+  .26377687E-01      -.73539262E+01 -.54814396E+01
+  .26839296E-01      -.73538935E+01 -.54814306E+01
+  .27308984E-01      -.73538582E+01 -.54814206E+01
+  .27786891E-01      -.73538199E+01 -.54814095E+01
+  .28273162E-01      -.73537784E+01 -.54813971E+01
+  .28767942E-01      -.73537336E+01 -.54813834E+01
+  .29271381E-01      -.73536850E+01 -.54813683E+01
+  .29783630E-01      -.73536326E+01 -.54813517E+01
+  .30304844E-01      -.73535759E+01 -.54813333E+01
+  .30835178E-01      -.73535147E+01 -.54813132E+01
+  .31374794E-01      -.73534485E+01 -.54812910E+01
+  .31923853E-01      -.73533771E+01 -.54812668E+01
+  .32482520E-01      -.73533001E+01 -.54812402E+01
+  .33050964E-01      -.73532169E+01 -.54812111E+01
+  .33629356E-01      -.73531272E+01 -.54811794E+01
+  .34217870E-01      -.73530305E+01 -.54811447E+01
+  .34816683E-01      -.73529263E+01 -.54811070E+01
+  .35425975E-01      -.73528139E+01 -.54810658E+01
+  .36045929E-01      -.73526929E+01 -.54810210E+01
+  .36676733E-01      -.73525625E+01 -.54809723E+01
+  .37318576E-01      -.73524221E+01 -.54809193E+01
+  .37971651E-01      -.73522709E+01 -.54808618E+01
+  .38636155E-01      -.73521081E+01 -.54807994E+01
+  .39312287E-01      -.73519330E+01 -.54807317E+01
+  .40000252E-01      -.73517445E+01 -.54806583E+01
+  .40700257E-01      -.73515418E+01 -.54805788E+01
+  .41412511E-01      -.73513238E+01 -.54804927E+01
+  .42137230E-01      -.73510893E+01 -.54803994E+01
+  .42874632E-01      -.73508373E+01 -.54802986E+01
+  .43624938E-01      -.73505663E+01 -.54801896E+01
+  .44388374E-01      -.73502751E+01 -.54800717E+01
+  .45165171E-01      -.73499622E+01 -.54799444E+01
+  .45955561E-01      -.73496260E+01 -.54798069E+01
+  .46759784E-01      -.73492648E+01 -.54796585E+01
+  .47578080E-01      -.73488770E+01 -.54794983E+01
+  .48410696E-01      -.73484604E+01 -.54793255E+01
+  .49257883E-01      -.73480132E+01 -.54791391E+01
+  .50119896E-01      -.73475332E+01 -.54789383E+01
+  .50996995E-01      -.73470179E+01 -.54787218E+01
+  .51889442E-01      -.73464649E+01 -.54784885E+01
+  .52797507E-01      -.73458715E+01 -.54782373E+01
+  .53721464E-01      -.73452348E+01 -.54779669E+01
+  .54661589E-01      -.73445519E+01 -.54776757E+01
+  .55618167E-01      -.73438194E+01 -.54773624E+01
+  .56591485E-01      -.73430338E+01 -.54770253E+01
+  .57581836E-01      -.73421915E+01 -.54766628E+01
+  .58589518E-01      -.73412884E+01 -.54762729E+01
+  .59614835E-01      -.73403203E+01 -.54758537E+01
+  .60658094E-01      -.73392827E+01 -.54754032E+01
+  .61719611E-01      -.73381707E+01 -.54749191E+01
+  .62799704E-01      -.73369792E+01 -.54743991E+01
+  .63898699E-01      -.73357026E+01 -.54738405E+01
+  .65016926E-01      -.73343351E+01 -.54732406E+01
+  .66154722E-01      -.73328703E+01 -.54725966E+01
+  .67312430E-01      -.73313017E+01 -.54719053E+01
+  .68490398E-01      -.73296220E+01 -.54711634E+01
+  .69688980E-01      -.73278237E+01 -.54703674E+01
+  .70908537E-01      -.73258987E+01 -.54695135E+01
+  .72149436E-01      -.73238383E+01 -.54685977E+01
+  .73412051E-01      -.73216333E+01 -.54676156E+01
+  .74696762E-01      -.73192740E+01 -.54665627E+01
+  .76003955E-01      -.73167499E+01 -.54654342E+01
+  .77334025E-01      -.73140499E+01 -.54642247E+01
+  .78687370E-01      -.73111623E+01 -.54629288E+01
+  .80064399E-01      -.73080745E+01 -.54615406E+01
+  .81465526E-01      -.73047730E+01 -.54600537E+01
+  .82891173E-01      -.73012439E+01 -.54584615E+01
+  .84341768E-01      -.72974719E+01 -.54567568E+01
+  .85817749E-01      -.72934411E+01 -.54549321E+01
+  .87319560E-01      -.72891345E+01 -.54529794E+01
+  .88847652E-01      -.72845340E+01 -.54508899E+01
+  .90402486E-01      -.72796206E+01 -.54486548E+01
+  .91984530E-01      -.72743739E+01 -.54462642E+01
+  .93594259E-01      -.72687724E+01 -.54437078E+01
+  .95232158E-01      -.72627934E+01 -.54409749E+01
+  .96898721E-01      -.72564126E+01 -.54380538E+01
+  .98594449E-01      -.72496047E+01 -.54349323E+01
+  .10031985E+00      -.72423426E+01 -.54315974E+01
+  .10207545E+00      -.72345978E+01 -.54280352E+01
+  .10386177E+00      -.72263400E+01 -.54242312E+01
+  .10567935E+00      -.72175375E+01 -.54201699E+01
+  .10752874E+00      -.72081567E+01 -.54158350E+01
+  .10941049E+00      -.71981622E+01 -.54112093E+01
+  .11132518E+00      -.71875166E+01 -.54062744E+01
+  .11327337E+00      -.71761806E+01 -.54010112E+01
+  .11525565E+00      -.71641130E+01 -.53953992E+01
+  .11727262E+00      -.71512702E+01 -.53894170E+01
+  .11932489E+00      -.71376067E+01 -.53830420E+01
+  .12141308E+00      -.71230747E+01 -.53762505E+01
+  .12353781E+00      -.71076239E+01 -.53690173E+01
+  .12569972E+00      -.70912019E+01 -.53613163E+01
+  .12789947E+00      -.70737539E+01 -.53531196E+01
+  .13013771E+00      -.70552223E+01 -.53443984E+01
+  .13241512E+00      -.70355476E+01 -.53351223E+01
+  .13473238E+00      -.70146673E+01 -.53252595E+01
+  .13709020E+00      -.69925167E+01 -.53147766E+01
+  .13948928E+00      -.69690285E+01 -.53036389E+01
+  .14193034E+00      -.69441330E+01 -.52918103E+01
+  .14441412E+00      -.69177579E+01 -.52792529E+01
+  .14694137E+00      -.68898289E+01 -.52659274E+01
+  .14951284E+00      -.68602690E+01 -.52517930E+01
+  .15212932E+00      -.68289993E+01 -.52368076E+01
+  .15479158E+00      -.67959388E+01 -.52209272E+01
+  .15750043E+00      -.67610046E+01 -.52041067E+01
+  .16025669E+00      -.67241123E+01 -.51862995E+01
+  .16306118E+00      -.66851759E+01 -.51674577E+01
+  .16591475E+00      -.66441084E+01 -.51475322E+01
+  .16881826E+00      -.66008223E+01 -.51264726E+01
+  .17177258E+00      -.65552293E+01 -.51042277E+01
+  .17477860E+00      -.65072415E+01 -.50807453E+01
+  .17783722E+00      -.64567717E+01 -.50559727E+01
+  .18094938E+00      -.64037335E+01 -.50298566E+01
+  .18411599E+00      -.63480428E+01 -.50023436E+01
+  .18733802E+00      -.62896179E+01 -.49733800E+01
+  .19061644E+00      -.62283805E+01 -.49429130E+01
+  .19395222E+00      -.61642565E+01 -.49108902E+01
+  .19734639E+00      -.60971772E+01 -.48772601E+01
+  .20079995E+00      -.60270803E+01 -.48419733E+01
+  .20431395E+00      -.59539110E+01 -.48049818E+01
+  .20788944E+00      -.58776231E+01 -.47662407E+01
+  .21152751E+00      -.57981809E+01 -.47257080E+01
+  .21522924E+00      -.57155600E+01 -.46833454E+01
+  .21899575E+00      -.56297495E+01 -.46391193E+01
+  .22282818E+00      -.55407531E+01 -.45930013E+01
+  .22672767E+00      -.54485912E+01 -.45449690E+01
+  .23069540E+00      -.53533027E+01 -.44950069E+01
+  .23473257E+00      -.52549465E+01 -.44431074E+01
+  .23884039E+00      -.51536042E+01 -.43892717E+01
+  .24302010E+00      -.50493811E+01 -.43335107E+01
+  .24727295E+00      -.49424090E+01 -.42758464E+01
+  .25160023E+00      -.48328477E+01 -.42163124E+01
+  .25600323E+00      -.47208870E+01 -.41549555E+01
+  .26048329E+00      -.46067487E+01 -.40918365E+01
+  .26504175E+00      -.44906878E+01 -.40270315E+01
+  .26967998E+00      -.43729943E+01 -.39606325E+01
+  .27439938E+00      -.42539942E+01 -.38927488E+01
+  .27920136E+00      -.41340504E+01 -.38235078E+01
+  .28408739E+00      -.40135629E+01 -.37530551E+01
+  .28905892E+00      -.38929686E+01 -.36815562E+01
+  .29411745E+00      -.37727407E+01 -.36091954E+01
+  .29926450E+00      -.36533865E+01 -.35361773E+01
+  .30450163E+00      -.35354455E+01 -.34627250E+01
+  .30983041E+00      -.34194852E+01 -.33890807E+01
+  .31525244E+00      -.33060963E+01 -.33155036E+01
+  .32076936E+00      -.31958866E+01 -.32422684E+01
+  .32638283E+00      -.30894728E+01 -.31696629E+01
+  .33209453E+00      -.29874713E+01 -.30979849E+01
+  .33790618E+00      -.28904860E+01 -.30275379E+01
+  .34381954E+00      -.27990954E+01 -.29586266E+01
+  .34983638E+00      -.27138363E+01 -.28915508E+01
+  .35595852E+00      -.26351863E+01 -.28265985E+01
+  .36218779E+00      -.25635433E+01 -.27640381E+01
+  .36852608E+00      -.24992039E+01 -.27041095E+01
+  .37497528E+00      -.24423395E+01 -.26470137E+01
+  .38153735E+00      -.23929721E+01 -.25929030E+01
+  .38821425E+00      -.23509487E+01 -.25418689E+01
+  .39500800E+00      -.23159189E+01 -.24939317E+01
+  .40192064E+00      -.22873133E+01 -.24490293E+01
+  .40895425E+00      -.22643296E+01 -.24070078E+01
+  .41611095E+00      -.22459260E+01 -.23676157E+01
+  .42339290E+00      -.22308294E+01 -.23305008E+01
+  .43080227E+00      -.22175622E+01 -.22952152E+01
+  .43834131E+00      -.22044970E+01 -.22612282E+01
+  .44601228E+00      -.21899477E+01 -.22279537E+01
+  .45381750E+00      -.21723102E+01 -.21947944E+01
+  .46175931E+00      -.21502688E+01 -.21612106E+01
+  .46984009E+00      -.21230868E+01 -.21268210E+01
+  .47806229E+00      -.20910079E+01 -.20915449E+01
+  .48642838E+00      -.20557990E+01 -.20557990E+01
+  .49494088E+00      -.20204412E+01 -.20204412E+01
+  .50360235E+00      -.19856916E+01 -.19856916E+01
+  .51241539E+00      -.19515396E+01 -.19515396E+01
+  .52138266E+00      -.19179750E+01 -.19179750E+01
+  .53050685E+00      -.18849877E+01 -.18849877E+01
+  .53979072E+00      -.18525677E+01 -.18525677E+01
+  .54923706E+00      -.18207054E+01 -.18207054E+01
+  .55884871E+00      -.17893910E+01 -.17893910E+01
+  .56862856E+00      -.17586152E+01 -.17586152E+01
+  .57857956E+00      -.17283687E+01 -.17283687E+01
+  .58870470E+00      -.16986424E+01 -.16986424E+01
+  .59900704E+00      -.16694274E+01 -.16694274E+01
+  .60948966E+00      -.16407149E+01 -.16407149E+01
+  .62015573E+00      -.16124962E+01 -.16124962E+01
+  .63100845E+00      -.15847628E+01 -.15847628E+01
+  .64205110E+00      -.15575064E+01 -.15575064E+01
+  .65328700E+00      -.15307188E+01 -.15307188E+01
+  .66471952E+00      -.15043919E+01 -.15043919E+01
+  .67635211E+00      -.14785179E+01 -.14785179E+01
+  .68818827E+00      -.14530888E+01 -.14530888E+01
+  .70023157E+00      -.14280971E+01 -.14280971E+01
+  .71248562E+00      -.14035352E+01 -.14035352E+01
+  .72495412E+00      -.13793957E+01 -.13793957E+01
+  .73764082E+00      -.13556715E+01 -.13556715E+01
+  .75054953E+00      -.13323552E+01 -.13323552E+01
+  .76368415E+00      -.13094400E+01 -.13094400E+01
+  .77704862E+00      -.12869189E+01 -.12869189E+01
+  .79064697E+00      -.12647852E+01 -.12647852E+01
+  .80448329E+00      -.12430321E+01 -.12430321E+01
+  .81856175E+00      -.12216531E+01 -.12216531E+01
+  .83288658E+00      -.12006419E+01 -.12006419E+01
+  .84746209E+00      -.11799920E+01 -.11799920E+01
+  .86229268E+00      -.11596973E+01 -.11596973E+01
+  .87738280E+00      -.11397516E+01 -.11397516E+01
+  .89273700E+00      -.11201490E+01 -.11201490E+01
+  .90835990E+00      -.11008836E+01 -.11008836E+01
+  .92425620E+00      -.10819494E+01 -.10819494E+01
+  .94043068E+00      -.10633410E+01 -.10633410E+01
+  .95688822E+00      -.10450525E+01 -.10450525E+01
+  .97363376E+00      -.10270786E+01 -.10270786E+01
+  .99067235E+00      -.10094139E+01 -.10094139E+01
+  .10080091E+01      -.99205296E+00 -.99205296E+00
+  .10256493E+01      -.97499062E+00 -.97499062E+00
+  .10435981E+01      -.95822174E+00 -.95822174E+00
+  .10618611E+01      -.94174126E+00 -.94174126E+00
+  .10804437E+01      -.92554423E+00 -.92554423E+00
+  .10993514E+01      -.90962578E+00 -.90962578E+00
+  .11185901E+01      -.89398111E+00 -.89398111E+00
+  .11381654E+01      -.87860551E+00 -.87860551E+00
+  .11580833E+01      -.86349435E+00 -.86349435E+00
+  .11783498E+01      -.84864310E+00 -.84864310E+00
+  .11989709E+01      -.83404727E+00 -.83404727E+00
+  .12199529E+01      -.81970247E+00 -.81970247E+00
+  .12413021E+01      -.80560440E+00 -.80560440E+00
+  .12630248E+01      -.79174879E+00 -.79174879E+00
+  .12851278E+01      -.77813149E+00 -.77813149E+00
+  .13076175E+01      -.76474839E+00 -.76474839E+00
+  .13305008E+01      -.75159547E+00 -.75159547E+00
+  .13537846E+01      -.73866877E+00 -.73866877E+00
+  .13774758E+01      -.72596439E+00 -.72596439E+00
+  .14015816E+01      -.71347852E+00 -.71347852E+00
+  .14261093E+01      -.70120739E+00 -.70120739E+00
+  .14510662E+01      -.68914732E+00 -.68914732E+00
+  .14764599E+01      -.67729466E+00 -.67729466E+00
+  .15022979E+01      -.66564586E+00 -.66564586E+00
+  .15285882E+01      -.65419741E+00 -.65419741E+00
+  .15553385E+01      -.64294585E+00 -.64294585E+00
+  .15825569E+01      -.63188782E+00 -.63188782E+00
+  .16102516E+01      -.62101997E+00 -.62101997E+00
+  .16384310E+01      -.61033904E+00 -.61033904E+00
+  .16671036E+01      -.59984181E+00 -.59984181E+00
+  .16962779E+01      -.58952512E+00 -.58952512E+00
+  .17259627E+01      -.57938587E+00 -.57938587E+00
+  .17561671E+01      -.56942100E+00 -.56942100E+00
+  .17869000E+01      -.55962752E+00 -.55962752E+00
+  .18181708E+01      -.55000248E+00 -.55000248E+00
+  .18499888E+01      -.54054298E+00 -.54054298E+00
+  .18823636E+01      -.53124617E+00 -.53124617E+00
+  .19153049E+01      -.52210926E+00 -.52210926E+00
+  .19488228E+01      -.51312950E+00 -.51312950E+00
+  .19829272E+01      -.50430417E+00 -.50430417E+00
+  .20176284E+01      -.49563064E+00 -.49563064E+00
+  .20529369E+01      -.48710628E+00 -.48710628E+00
+  .20888633E+01      -.47872853E+00 -.47872853E+00
+  .21254184E+01      -.47049487E+00 -.47049487E+00
+  .21626132E+01      -.46240282E+00 -.46240282E+00
+  .22004589E+01      -.45444995E+00 -.45444995E+00
+  .22389670E+01      -.44663385E+00 -.44663385E+00
+  .22781489E+01      -.43895219E+00 -.43895219E+00
+  .23180165E+01      -.43140264E+00 -.43140264E+00
+  .23585818E+01      -.42398294E+00 -.42398294E+00
+  .23998570E+01      -.41669085E+00 -.41669085E+00
+  .24418545E+01      -.40952418E+00 -.40952418E+00
+  .24845869E+01      -.40248076E+00 -.40248076E+00
+  .25280672E+01      -.39555849E+00 -.39555849E+00
+  .25723084E+01      -.38875527E+00 -.38875527E+00
+  .26173237E+01      -.38206906E+00 -.38206906E+00
+  .26631269E+01      -.37549785E+00 -.37549785E+00
+  .27097316E+01      -.36903965E+00 -.36903965E+00
+  .27571519E+01      -.36269253E+00 -.36269253E+00
+  .28054021E+01      -.35645457E+00 -.35645457E+00
+  .28544966E+01      -.35032390E+00 -.35032390E+00
+  .29044503E+01      -.34429868E+00 -.34429868E+00
+  .29552782E+01      -.33837708E+00 -.33837708E+00
+  .30069956E+01      -.33255732E+00 -.33255732E+00
+  .30596180E+01      -.32683766E+00 -.32683766E+00
+  .31131613E+01      -.32121637E+00 -.32121637E+00
+  .31676416E+01      -.31569177E+00 -.31569177E+00
+  .32230754E+01      -.31026218E+00 -.31026218E+00
+  .32794792E+01      -.30492597E+00 -.30492597E+00
+  .33368701E+01      -.29968154E+00 -.29968154E+00
+  .33952653E+01      -.29452731E+00 -.29452731E+00
+  .34546824E+01      -.28946173E+00 -.28946173E+00
+  .35151394E+01      -.28448327E+00 -.28448327E+00
+  .35766543E+01      -.27959044E+00 -.27959044E+00
+  .36392458E+01      -.27478176E+00 -.27478176E+00
+  .37029326E+01      -.27005578E+00 -.27005578E+00
+  .37677339E+01      -.26541108E+00 -.26541108E+00
+  .38336692E+01      -.26084627E+00 -.26084627E+00
+  .39007584E+01      -.25635997E+00 -.25635997E+00
+  .39690217E+01      -.25195083E+00 -.25195083E+00
+  .40384796E+01      -.24761753E+00 -.24761753E+00
+  .41091530E+01      -.24335875E+00 -.24335875E+00
+  .41810632E+01      -.23917322E+00 -.23917322E+00
+  .42542318E+01      -.23505967E+00 -.23505967E+00
+  .43286808E+01      -.23101688E+00 -.23101688E+00
+  .44044327E+01      -.22704361E+00 -.22704361E+00
+  .44815103E+01      -.22313869E+00 -.22313869E+00
+  .45599367E+01      -.21930092E+00 -.21930092E+00
+  .46397356E+01      -.21552916E+00 -.21552916E+00
+  .47209310E+01      -.21182228E+00 -.21182228E+00
+  .48035473E+01      -.20817914E+00 -.20817914E+00
+  .48876094E+01      -.20459867E+00 -.20459867E+00
+  .49731425E+01      -.20107977E+00 -.20107977E+00
+  .50601725E+01      -.19762140E+00 -.19762140E+00
+  .51487256E+01      -.19422251E+00 -.19422251E+00
+  .52388283E+01      -.19088207E+00 -.19088207E+00
+  .53305078E+01      -.18759909E+00 -.18759909E+00
+  .54237916E+01      -.18437257E+00 -.18437257E+00
+  .55187080E+01      -.18120155E+00 -.18120155E+00
+  .56152854E+01      -.17808506E+00 -.17808506E+00
+  .57135529E+01      -.17502218E+00 -.17502218E+00
+  .58135401E+01      -.17201197E+00 -.17201197E+00
+  .59152770E+01      -.16905354E+00 -.16905354E+00
+  .60187944E+01      -.16614599E+00 -.16614599E+00
+  .61241233E+01      -.16328844E+00 -.16328844E+00
+  .62312954E+01      -.16048005E+00 -.16048005E+00
+  .63403431E+01      -.15771995E+00 -.15771995E+00
+  .64512991E+01      -.15500733E+00 -.15500733E+00
+  .65641968E+01      -.15234136E+00 -.15234136E+00
+  .66790703E+01      -.14972124E+00 -.14972124E+00
+  .67959540E+01      -.14714618E+00 -.14714618E+00
+  .69148832E+01      -.14461542E+00 -.14461542E+00
+  .70358936E+01      -.14212818E+00 -.14212818E+00
+  .71590218E+01      -.13968372E+00 -.13968372E+00
+  .72843047E+01      -.13728130E+00 -.13728130E+00
+  .74117800E+01      -.13492020E+00 -.13492020E+00
+  .75414861E+01      -.13259971E+00 -.13259971E+00
+  .76734621E+01      -.13031913E+00 -.13031913E+00
+  .78077477E+01      -.12807777E+00 -.12807777E+00
+  .79443833E+01      -.12587496E+00 -.12587496E+00
+  .80834100E+01      -.12371004E+00 -.12371004E+00
+  .82248697E+01      -.12158235E+00 -.12158235E+00
+  .83688049E+01      -.11949126E+00 -.11949126E+00
+  .85152590E+01      -.11743613E+00 -.11743613E+00
+  .86642760E+01      -.11541635E+00 -.11541635E+00
+  .88159009E+01      -.11343131E+00 -.11343131E+00
+  .89701791E+01      -.11148040E+00 -.11148040E+00
+  .91271573E+01      -.10956305E+00 -.10956305E+00
+  .92868825E+01      -.10767868E+00 -.10767868E+00
+  .94494030E+01      -.10582672E+00 -.10582672E+00
+  .96147675E+01      -.10400660E+00 -.10400660E+00
+  .97830260E+01      -.10221780E+00 -.10221780E+00
+  .99542289E+01      -.10045975E+00 -.10045975E+00
+  .10128428E+02      -.98731946E-01 -.98731946E-01
+  .10305675E+02      -.97033857E-01 -.97033857E-01
+  .10486025E+02      -.95364973E-01 -.95364973E-01
+  .10669530E+02      -.93724792E-01 -.93724792E-01
+  .10856247E+02      -.92112820E-01 -.92112820E-01
+  .11046231E+02      -.90528572E-01 -.90528572E-01
+  .11239540E+02      -.88971572E-01 -.88971572E-01
+  .11436232E+02      -.87441351E-01 -.87441351E-01
+  .11636366E+02      -.85937447E-01 -.85937447E-01
+  .11840003E+02      -.84459410E-01 -.84459410E-01
+  .12047203E+02      -.83006793E-01 -.83006793E-01
+  .12258029E+02      -.81579159E-01 -.81579159E-01
+  .12472544E+02      -.80176080E-01 -.80176080E-01
+  .12690814E+02      -.78797132E-01 -.78797132E-01
+  .12912903E+02      -.77441900E-01 -.77441900E-01
+  .13138879E+02      -.76109994E-01 -.76109994E-01
+  .13368809E+02      -.74800977E-01 -.74800977E-01
+  .13602763E+02      -.73514474E-01 -.73514474E-01
+  .13840812E+02      -.72250097E-01 -.72250097E-01
+  .14083026E+02      -.71007467E-01 -.71007467E-01
+  .14329479E+02      -.69786208E-01 -.69786208E-01
+  .14580245E+02      -.68585954E-01 -.68585954E-01
+  .14835399E+02      -.67406343E-01 -.67406343E-01
+  .15095019E+02      -.66247020E-01 -.66247020E-01
+  .15359181E+02      -.65107636E-01 -.65107636E-01
+  .15627967E+02      -.63987849E-01 -.63987849E-01
+  .15901457E+02      -.62887321E-01 -.62887321E-01
+  .16179732E+02      -.61805721E-01 -.61805721E-01
+  .16462877E+02      -.60742723E-01 -.60742723E-01
+  .16750978E+02      -.59698008E-01 -.59698008E-01
+  .17044120E+02      -.58671261E-01 -.58671261E-01
+  .17342392E+02      -.57662173E-01 -.57662173E-01
+  .17645884E+02      -.56670440E-01 -.56670440E-01
+  .17954687E+02      -.55695764E-01 -.55695764E-01
+  .18268894E+02      -.54737852E-01 -.54737852E-01
+  .18588599E+02      -.53796415E-01 -.53796415E-01
+  .18913900E+02      -.52871169E-01 -.52871169E-01
+  .19244893E+02      -.51961837E-01 -.51961837E-01
+  .19581679E+02      -.51068144E-01 -.51068144E-01
+  .19924358E+02      -.50189823E-01 -.50189823E-01
+  .20273034E+02      -.49326607E-01 -.49326607E-01
+  .20627813E+02      -.48478238E-01 -.48478238E-01
+  .20988799E+02      -.47644460E-01 -.47644460E-01
+  .21356103E+02      -.46825022E-01 -.46825022E-01
+  .21729835E+02      -.46019677E-01 -.46019677E-01
+  .22110107E+02      -.45228184E-01 -.45228184E-01
+  .22497034E+02      -.44450304E-01 -.44450304E-01
+  .22890732E+02      -.43685802E-01 -.43685802E-01
+  .23291320E+02      -.42934450E-01 -.42934450E-01
+  .23698918E+02      -.42196019E-01 -.42196019E-01
+  .24113649E+02      -.41470289E-01 -.41470289E-01
+  .24535638E+02      -.40757041E-01 -.40757041E-01
+  .24965012E+02      -.40056060E-01 -.40056060E-01
+  .25401899E+02      -.39367135E-01 -.39367135E-01
+  .25846433E+02      -.38690059E-01 -.38690059E-01
+  .26298745E+02      -.38024628E-01 -.38024628E-01
+  .26758973E+02      -.37370642E-01 -.37370642E-01
+  .27227255E+02      -.36727903E-01 -.36727903E-01
+  .27703732E+02      -.36096220E-01 -.36096220E-01
+  .28188547E+02      -.35475400E-01 -.35475400E-01
+  .28681847E+02      -.34865258E-01 -.34865258E-01
+  .29183779E+02      -.34265610E-01 -.34265610E-01
+  .29694496E+02      -.33676275E-01 -.33676275E-01
+  .30214149E+02      -.33097076E-01 -.33097076E-01
+  .30742897E+02      -.32527839E-01 -.32527839E-01
+  .31280897E+02      -.31968392E-01 -.31968392E-01
+  .31828313E+02      -.31418567E-01 -.31418567E-01
+  .32385309E+02      -.30878199E-01 -.30878199E-01
+  .32952052E+02      -.30347124E-01 -.30347124E-01
+  .33528712E+02      -.29825183E-01 -.29825183E-01
+  .34115465E+02      -.29312220E-01 -.29312220E-01
+  .34712486E+02      -.28808078E-01 -.28808078E-01
+  .35319954E+02      -.28312608E-01 -.28312608E-01
+  .35938053E+02      -.27825659E-01 -.27825659E-01
+  .36566969E+02      -.27347085E-01 -.27347085E-01
+  .37206891E+02      -.26876742E-01 -.26876742E-01
+  .37858012E+02      -.26414488E-01 -.26414488E-01
+  .38520527E+02      -.25960185E-01 -.25960185E-01
+  .39194636E+02      -.25513695E-01 -.25513695E-01
+  .39880542E+02      -.25074885E-01 -.25074885E-01
+  .40578452E+02      -.24643621E-01 -.24643621E-01
+  .41288575E+02      -.24219775E-01 -.24219775E-01
+  .42011125E+02      -.23803219E-01 -.23803219E-01
+  .42746319E+02      -.23393827E-01 -.23393827E-01
+  .43494380E+02      -.22991476E-01 -.22991476E-01
+&END  
+&WAVEFUNCTION 
+   511 CHANNELS=1 
+  .62500000E-02       .29278464E-02  .21178479E-04
+  .63593750E-02       .29790837E-02  .21926212E-04
+  .64706641E-02       .30312177E-02  .22700344E-04
+  .65839007E-02       .30842640E-02  .23501808E-04
+  .66991189E-02       .31382384E-02  .24331568E-04
+  .68163535E-02       .31931567E-02  .25190619E-04
+  .69356397E-02       .32490354E-02  .26079997E-04
+  .70570134E-02       .33058914E-02  .27000772E-04
+  .71805111E-02       .33637417E-02  .27954052E-04
+  .73061701E-02       .34226036E-02  .28940985E-04
+  .74340281E-02       .34824949E-02  .29962759E-04
+  .75641236E-02       .35434334E-02  .31020602E-04
+  .76964957E-02       .36054376E-02  .32115790E-04
+  .78311844E-02       .36685259E-02  .33249639E-04
+  .79682301E-02       .37327173E-02  .34423515E-04
+  .81076741E-02       .37980311E-02  .35638830E-04
+  .82495584E-02       .38644868E-02  .36897047E-04
+  .83939257E-02       .39321044E-02  .38199680E-04
+  .85408194E-02       .40009042E-02  .39548297E-04
+  .86902838E-02       .40709067E-02  .40944521E-04
+  .88423637E-02       .41421330E-02  .42390033E-04
+  .89971051E-02       .42146045E-02  .43886572E-04
+  .91545544E-02       .42883427E-02  .45435939E-04
+  .93147591E-02       .43633699E-02  .47039998E-04
+  .94777674E-02       .44397084E-02  .48700680E-04
+  .96436283E-02       .45173813E-02  .50419984E-04
+  .98123918E-02       .45964116E-02  .52199978E-04
+  .99841087E-02       .46768232E-02  .54042804E-04
+  .10158831E-01       .47586400E-02  .55950680E-04
+  .10336610E-01       .48418865E-02  .57925901E-04
+  .10517501E-01       .49265877E-02  .59970844E-04
+  .10701557E-01       .50127689E-02  .62087970E-04
+  .10888834E-01       .51004559E-02  .64279826E-04
+  .11079389E-01       .51896749E-02  .66549050E-04
+  .11273278E-01       .52804526E-02  .68898370E-04
+  .11470561E-01       .53728161E-02  .71330615E-04
+  .11671295E-01       .54667930E-02  .73848710E-04
+  .11875543E-01       .55624113E-02  .76455684E-04
+  .12083365E-01       .56596998E-02  .79154674E-04
+  .12294824E-01       .57586873E-02  .81948927E-04
+  .12509983E-01       .58594035E-02  .84841803E-04
+  .12728908E-01       .59618784E-02  .87836784E-04
+  .12951664E-01       .60661426E-02  .90937471E-04
+  .13178318E-01       .61722272E-02  .94147594E-04
+  .13408939E-01       .62801638E-02  .97471014E-04
+  .13643595E-01       .63899846E-02  .10091173E-03
+  .13882358E-01       .65017223E-02  .10447387E-03
+  .14125299E-01       .66154101E-02  .10816174E-03
+  .14372492E-01       .67310821E-02  .11197975E-03
+  .14624011E-01       .68487724E-02  .11593251E-03
+  .14879931E-01       .69685163E-02  .12002477E-03
+  .15140330E-01       .70903492E-02  .12426144E-03
+  .15405285E-01       .72143075E-02  .12864762E-03
+  .15674878E-01       .73404279E-02  .13318859E-03
+  .15949188E-01       .74687478E-02  .13788980E-03
+  .16228299E-01       .75993055E-02  .14275690E-03
+  .16512294E-01       .77321396E-02  .14779576E-03
+  .16801259E-01       .78672894E-02  .15301242E-03
+  .17095281E-01       .80047952E-02  .15841315E-03
+  .17394449E-01       .81446976E-02  .16400445E-03
+  .17698852E-01       .82870379E-02  .16979304E-03
+  .18008582E-01       .84318585E-02  .17578586E-03
+  .18323732E-01       .85792019E-02  .18199014E-03
+  .18644397E-01       .87291119E-02  .18841331E-03
+  .18970674E-01       .88816327E-02  .19506310E-03
+  .19302661E-01       .90368093E-02  .20194750E-03
+  .19640457E-01       .91946874E-02  .20907478E-03
+  .19984165E-01       .93553136E-02  .21645349E-03
+  .20333888E-01       .95187352E-02  .22409252E-03
+  .20689731E-01       .96850003E-02  .23200101E-03
+  .21051802E-01       .98541578E-02  .24018849E-03
+  .21420208E-01       .10026257E-01  .24866477E-03
+  .21795062E-01       .10201349E-01  .25744004E-03
+  .22176475E-01       .10379485E-01  .26652484E-03
+  .22564564E-01       .10560717E-01  .27593006E-03
+  .22959444E-01       .10745099E-01  .28566700E-03
+  .23361234E-01       .10932683E-01  .29574735E-03
+  .23770055E-01       .11123525E-01  .30618320E-03
+  .24186031E-01       .11317681E-01  .31698708E-03
+  .24609287E-01       .11515207E-01  .32817195E-03
+  .25039950E-01       .11716160E-01  .33975123E-03
+  .25478149E-01       .11920600E-01  .35173882E-03
+  .25924016E-01       .12128585E-01  .36414908E-03
+  .26377687E-01       .12340176E-01  .37699690E-03
+  .26839296E-01       .12555434E-01  .39029769E-03
+  .27308984E-01       .12774421E-01  .40406739E-03
+  .27786891E-01       .12997201E-01  .41832251E-03
+  .28273162E-01       .13223838E-01  .43308013E-03
+  .28767942E-01       .13454396E-01  .44835795E-03
+  .29271381E-01       .13688943E-01  .46417426E-03
+  .29783630E-01       .13927546E-01  .48054801E-03
+  .30304844E-01       .14170273E-01  .49749882E-03
+  .30835178E-01       .14417194E-01  .51504698E-03
+  .31374794E-01       .14668378E-01  .53321350E-03
+  .31923853E-01       .14923898E-01  .55202013E-03
+  .32482520E-01       .15183826E-01  .57148938E-03
+  .33050964E-01       .15448236E-01  .59164454E-03
+  .33629356E-01       .15717203E-01  .61250972E-03
+  .34217870E-01       .15990803E-01  .63410988E-03
+  .34816683E-01       .16269113E-01  .65647085E-03
+  .35425975E-01       .16552212E-01  .67961935E-03
+  .36045929E-01       .16840178E-01  .70358305E-03
+  .36676733E-01       .17133092E-01  .72839059E-03
+  .37318576E-01       .17431036E-01  .75407159E-03
+  .37971651E-01       .17734093E-01  .78065673E-03
+  .38636155E-01       .18042347E-01  .80817774E-03
+  .39312287E-01       .18355883E-01  .83666746E-03
+  .40000252E-01       .18674788E-01  .86615988E-03
+  .40700257E-01       .18999150E-01  .89669019E-03
+  .41412511E-01       .19329056E-01  .92829478E-03
+  .42137230E-01       .19664598E-01  .96101131E-03
+  .42874632E-01       .20005867E-01  .99487878E-03
+  .43624938E-01       .20352954E-01  .10299375E-02
+  .44388374E-01       .20705955E-01  .10662292E-02
+  .45165171E-01       .21064963E-01  .11037972E-02
+  .45955561E-01       .21430074E-01  .11426860E-02
+  .46759784E-01       .21801387E-01  .11829419E-02
+  .47578080E-01       .22178999E-01  .12246128E-02
+  .48410696E-01       .22563011E-01  .12677481E-02
+  .49257883E-01       .22953522E-01  .13123992E-02
+  .50119896E-01       .23350636E-01  .13586189E-02
+  .50996995E-01       .23754455E-01  .14064622E-02
+  .51889442E-01       .24165083E-01  .14559856E-02
+  .52797507E-01       .24582627E-01  .15072480E-02
+  .53721464E-01       .25007193E-01  .15603100E-02
+  .54661589E-01       .25438888E-01  .16152345E-02
+  .55618167E-01       .25877822E-01  .16720863E-02
+  .56591485E-01       .26324104E-01  .17309327E-02
+  .57581836E-01       .26777846E-01  .17918432E-02
+  .58589518E-01       .27239158E-01  .18548898E-02
+  .59614835E-01       .27708155E-01  .19201468E-02
+  .60658094E-01       .28184950E-01  .19876910E-02
+  .61719611E-01       .28669658E-01  .20576022E-02
+  .62799704E-01       .29162394E-01  .21299625E-02
+  .63898699E-01       .29663275E-01  .22048571E-02
+  .65016926E-01       .30172418E-01  .22823741E-02
+  .66154722E-01       .30689942E-01  .23626043E-02
+  .67312430E-01       .31215965E-01  .24456419E-02
+  .68490398E-01       .31750605E-01  .25315842E-02
+  .69688980E-01       .32293984E-01  .26205320E-02
+  .70908537E-01       .32846221E-01  .27125891E-02
+  .72149436E-01       .33407437E-01  .28078631E-02
+  .73412051E-01       .33977753E-01  .29064654E-02
+  .74696762E-01       .34557291E-01  .30085107E-02
+  .76003955E-01       .35146171E-01  .31141181E-02
+  .77334025E-01       .35744516E-01  .32234102E-02
+  .78687370E-01       .36352446E-01  .33365142E-02
+  .80064399E-01       .36970084E-01  .34535612E-02
+  .81465526E-01       .37597550E-01  .35746868E-02
+  .82891173E-01       .38234965E-01  .37000312E-02
+  .84341768E-01       .38882449E-01  .38297394E-02
+  .85817749E-01       .39540121E-01  .39639609E-02
+  .87319560E-01       .40208100E-01  .41028503E-02
+  .88847652E-01       .40886505E-01  .42465676E-02
+  .90402486E-01       .41575451E-01  .43952777E-02
+  .91984530E-01       .42275054E-01  .45491511E-02
+  .93594259E-01       .42985428E-01  .47083639E-02
+  .95232158E-01       .43706684E-01  .48730981E-02
+  .96898721E-01       .44438934E-01  .50435416E-02
+  .98594449E-01       .45182286E-01  .52198883E-02
+  .10031985E+00       .45936845E-01  .54023385E-02
+  .10207545E+00       .46702716E-01  .55910992E-02
+  .10386177E+00       .47479998E-01  .57863838E-02
+  .10567935E+00       .48268790E-01  .59884128E-02
+  .10752874E+00       .49069186E-01  .61974137E-02
+  .10941049E+00       .49881277E-01  .64136214E-02
+  .11132518E+00       .50705150E-01  .66372781E-02
+  .11327337E+00       .51540888E-01  .68686341E-02
+  .11525565E+00       .52388570E-01  .71079471E-02
+  .11727262E+00       .53248270E-01  .73554835E-02
+  .11932489E+00       .54120056E-01  .76115178E-02
+  .12141308E+00       .55003992E-01  .78763332E-02
+  .12353781E+00       .55900135E-01  .81502217E-02
+  .12569972E+00       .56808538E-01  .84334845E-02
+  .12789947E+00       .57729245E-01  .87264320E-02
+  .13013771E+00       .58662294E-01  .90293843E-02
+  .13241512E+00       .59607718E-01  .93426713E-02
+  .13473238E+00       .60565539E-01  .96666331E-02
+  .13709020E+00       .61535774E-01  .10001620E-01
+  .13948928E+00       .62518429E-01  .10347993E-01
+  .14193034E+00       .63513503E-01  .10706123E-01
+  .14441412E+00       .64520986E-01  .11076395E-01
+  .14694137E+00       .65540858E-01  .11459202E-01
+  .14951284E+00       .66573089E-01  .11854951E-01
+  .15212932E+00       .67617639E-01  .12264060E-01
+  .15479158E+00       .68674458E-01  .12686960E-01
+  .15750043E+00       .69743484E-01  .13124093E-01
+  .16025669E+00       .70824645E-01  .13575916E-01
+  .16306118E+00       .71917857E-01  .14042899E-01
+  .16591475E+00       .73023024E-01  .14525524E-01
+  .16881826E+00       .74140038E-01  .15024287E-01
+  .17177258E+00       .75268780E-01  .15539701E-01
+  .17477860E+00       .76409118E-01  .16072290E-01
+  .17783722E+00       .77560908E-01  .16622595E-01
+  .18094938E+00       .78723992E-01  .17191172E-01
+  .18411599E+00       .79898202E-01  .17778592E-01
+  .18733802E+00       .81083357E-01  .18385443E-01
+  .19061644E+00       .82279264E-01  .19012328E-01
+  .19395222E+00       .83485718E-01  .19659869E-01
+  .19734639E+00       .84702502E-01  .20328703E-01
+  .20079995E+00       .85929390E-01  .21019486E-01
+  .20431395E+00       .87166144E-01  .21732893E-01
+  .20788944E+00       .88412518E-01  .22469615E-01
+  .21152751E+00       .89668256E-01  .23230366E-01
+  .21522924E+00       .90933094E-01  .24015877E-01
+  .21899575E+00       .92206762E-01  .24826900E-01
+  .22282818E+00       .93488984E-01  .25664209E-01
+  .22672767E+00       .94779481E-01  .26528599E-01
+  .23069540E+00       .96077968E-01  .27420889E-01
+  .23473257E+00       .97384162E-01  .28341917E-01
+  .23884039E+00       .98697779E-01  .29292551E-01
+  .24302010E+00       .10001854E+00  .30273680E-01
+  .24727295E+00       .10134616E+00  .31286219E-01
+  .25160023E+00       .10268038E+00  .32331112E-01
+  .25600323E+00       .10402092E+00  .33409329E-01
+  .26048329E+00       .10536754E+00  .34521869E-01
+  .26504175E+00       .10671999E+00  .35669764E-01
+  .26967998E+00       .10807805E+00  .36854074E-01
+  .27439938E+00       .10944150E+00  .38075893E-01
+  .27920136E+00       .11081016E+00  .39336351E-01
+  .28408739E+00       .11218383E+00  .40636610E-01
+  .28905892E+00       .11356238E+00  .41977872E-01
+  .29411745E+00       .11494565E+00  .43361377E-01
+  .29926450E+00       .11633354E+00  .44788404E-01
+  .30450163E+00       .11772595E+00  .46260274E-01
+  .30983041E+00       .11912280E+00  .47778351E-01
+  .31525244E+00       .12052403E+00  .49344043E-01
+  .32076936E+00       .12192959E+00  .50958805E-01
+  .32638283E+00       .12333946E+00  .52624138E-01
+  .33209453E+00       .12475360E+00  .54341592E-01
+  .33790618E+00       .12617199E+00  .56112764E-01
+  .34381954E+00       .12759457E+00  .57939303E-01
+  .34983638E+00       .12902132E+00  .59822907E-01
+  .35595852E+00       .13045214E+00  .61765324E-01
+  .36218779E+00       .13188693E+00  .63768355E-01
+  .36852608E+00       .13332553E+00  .65833846E-01
+  .37497528E+00       .13476774E+00  .67963696E-01
+  .38153735E+00       .13621327E+00  .70159851E-01
+  .38821425E+00       .13766178E+00  .72424302E-01
+  .39500800E+00       .13911281E+00  .74759087E-01
+  .40192064E+00       .14056582E+00  .77166286E-01
+  .40895425E+00       .14202017E+00  .79648023E-01
+  .41611095E+00       .14347512E+00  .82206464E-01
+  .42339290E+00       .14492983E+00  .84843815E-01
+  .43080227E+00       .14638337E+00  .87562326E-01
+  .43834131E+00       .14783471E+00  .90364290E-01
+  .44601228E+00       .14928281E+00  .93252051E-01
+  .45381750E+00       .15072659E+00  .96228005E-01
+  .46175931E+00       .15216495E+00  .99294612E-01
+  .46984009E+00       .15359687E+00  .10245440E+00
+  .47806229E+00       .15502139E+00  .10570999E+00
+  .48642838E+00       .15643759E+00  .10906406E+00
+  .49494088E+00       .15784466E+00  .11251940E+00
+  .50360235E+00       .15924175E+00  .11607887E+00
+  .51241539E+00       .16062802E+00  .11974540E+00
+  .52138266E+00       .16200259E+00  .12352199E+00
+  .53050685E+00       .16336457E+00  .12741174E+00
+  .53979072E+00       .16471306E+00  .13141782E+00
+  .54923706E+00       .16604714E+00  .13554347E+00
+  .55884871E+00       .16736587E+00  .13979204E+00
+  .56862856E+00       .16866830E+00  .14416694E+00
+  .57857956E+00       .16995346E+00  .14867171E+00
+  .58870470E+00       .17122038E+00  .15330994E+00
+  .59900704E+00       .17246804E+00  .15808535E+00
+  .60948966E+00       .17369544E+00  .16300173E+00
+  .62015573E+00       .17490157E+00  .16806299E+00
+  .63100845E+00       .17608537E+00  .17327315E+00
+  .64205110E+00       .17724581E+00  .17863632E+00
+  .65328700E+00       .17838182E+00  .18415672E+00
+  .66471952E+00       .17949234E+00  .18983871E+00
+  .67635211E+00       .18057629E+00  .19568675E+00
+  .68818827E+00       .18163258E+00  .20170543E+00
+  .70023157E+00       .18266013E+00  .20789945E+00
+  .71248562E+00       .18365782E+00  .21427367E+00
+  .72495412E+00       .18462456E+00  .22083305E+00
+  .73764082E+00       .18555924E+00  .22758273E+00
+  .75054953E+00       .18646075E+00  .23452797E+00
+  .76368415E+00       .18732797E+00  .24167419E+00
+  .77704862E+00       .18815979E+00  .24902696E+00
+  .79064697E+00       .18895509E+00  .25659203E+00
+  .80448329E+00       .18971278E+00  .26437529E+00
+  .81856175E+00       .19043173E+00  .27238285E+00
+  .83288658E+00       .19111085E+00  .28062095E+00
+  .84746209E+00       .19174904E+00  .28909607E+00
+  .86229268E+00       .19234522E+00  .29781485E+00
+  .87738280E+00       .19289830E+00  .30678418E+00
+  .89273700E+00       .19340723E+00  .31601112E+00
+  .90835990E+00       .19387094E+00  .32550299E+00
+  .92425620E+00       .19428840E+00  .33526734E+00
+  .94043068E+00       .19465859E+00  .34531196E+00
+  .95688822E+00       .19498051E+00  .35564490E+00
+  .97363376E+00       .19525316E+00  .36627449E+00
+  .99067235E+00       .19547558E+00  .37720933E+00
+  .10080091E+01       .19564685E+00  .38845834E+00
+  .10256493E+01       .19576604E+00  .40003074E+00
+  .10435981E+01       .19583226E+00  .41193607E+00
+  .10618611E+01       .19584468E+00  .42418423E+00
+  .10804437E+01       .19580245E+00  .43678549E+00
+  .10993514E+01       .19570479E+00  .44975048E+00
+  .11185901E+01       .19555094E+00  .46309026E+00
+  .11381654E+01       .19534018E+00  .47681629E+00
+  .11580833E+01       .19507185E+00  .49094050E+00
+  .11783498E+01       .19474529E+00  .50547528E+00
+  .11989709E+01       .19435991E+00  .52043353E+00
+  .12199529E+01       .19391517E+00  .53582866E+00
+  .12413021E+01       .19341057E+00  .00000000E+00
+  .12630248E+01       .19284565E+00  .00000000E+00
+  .12851278E+01       .19222001E+00  .00000000E+00
+  .13076175E+01       .19153331E+00  .00000000E+00
+  .13305008E+01       .19078525E+00  .00000000E+00
+  .13537846E+01       .18997560E+00  .00000000E+00
+  .13774758E+01       .18910419E+00  .00000000E+00
+  .14015816E+01       .18817089E+00  .00000000E+00
+  .14261093E+01       .18717566E+00  .00000000E+00
+  .14510662E+01       .18611851E+00  .00000000E+00
+  .14764599E+01       .18499951E+00  .00000000E+00
+  .15022979E+01       .18381881E+00  .00000000E+00
+  .15285882E+01       .18257662E+00  .00000000E+00
+  .15553385E+01       .18127322E+00  .00000000E+00
+  .15825569E+01       .17990898E+00  .00000000E+00
+  .16102516E+01       .17848431E+00  .00000000E+00
+  .16384310E+01       .17699972E+00  .00000000E+00
+  .16671036E+01       .17545578E+00  .00000000E+00
+  .16962779E+01       .17385315E+00  .00000000E+00
+  .17259627E+01       .17219255E+00  .00000000E+00
+  .17561671E+01       .17047480E+00  .00000000E+00
+  .17869000E+01       .16870076E+00  .00000000E+00
+  .18181708E+01       .16687142E+00  .00000000E+00
+  .18499888E+01       .16498780E+00  .00000000E+00
+  .18823636E+01       .16305103E+00  .00000000E+00
+  .19153049E+01       .16106230E+00  .00000000E+00
+  .19488228E+01       .15902289E+00  .00000000E+00
+  .19829272E+01       .15693416E+00  .00000000E+00
+  .20176284E+01       .15479754E+00  .00000000E+00
+  .20529369E+01       .15261453E+00  .00000000E+00
+  .20888633E+01       .15038673E+00  .00000000E+00
+  .21254184E+01       .14811579E+00  .00000000E+00
+  .21626132E+01       .14580344E+00  .00000000E+00
+  .22004589E+01       .14345150E+00  .00000000E+00
+  .22389670E+01       .14106184E+00  .00000000E+00
+  .22781489E+01       .13863641E+00  .00000000E+00
+  .23180165E+01       .13617720E+00  .00000000E+00
+  .23585818E+01       .13368631E+00  .00000000E+00
+  .23998570E+01       .13116586E+00  .00000000E+00
+  .24418545E+01       .12861805E+00  .00000000E+00
+  .24845869E+01       .12604514E+00  .00000000E+00
+  .25280672E+01       .12344941E+00  .00000000E+00
+  .25723084E+01       .12083323E+00  .00000000E+00
+  .26173237E+01       .11819899E+00  .00000000E+00
+  .26631269E+01       .11554912E+00  .00000000E+00
+  .27097316E+01       .11288609E+00  .00000000E+00
+  .27571519E+01       .11021242E+00  .00000000E+00
+  .28054021E+01       .10753063E+00  .00000000E+00
+  .28544966E+01       .10484327E+00  .00000000E+00
+  .29044503E+01       .10215293E+00  .00000000E+00
+  .29552782E+01       .99462183E-01  .00000000E+00
+  .30069956E+01       .96773621E-01  .00000000E+00
+  .30596180E+01       .94089838E-01  .00000000E+00
+  .31131613E+01       .91413422E-01  .00000000E+00
+  .31676416E+01       .88746952E-01  .00000000E+00
+  .32230754E+01       .86092991E-01  .00000000E+00
+  .32794792E+01       .83454077E-01  .00000000E+00
+  .33368701E+01       .80832724E-01  .00000000E+00
+  .33952653E+01       .78231408E-01  .00000000E+00
+  .34546824E+01       .75652566E-01  .00000000E+00
+  .35151394E+01       .73098590E-01  .00000000E+00
+  .35766543E+01       .70571817E-01  .00000000E+00
+  .36392458E+01       .68074524E-01  .00000000E+00
+  .37029326E+01       .65608928E-01  .00000000E+00
+  .37677339E+01       .63177170E-01  .00000000E+00
+  .38336692E+01       .60781319E-01  .00000000E+00
+  .39007584E+01       .58423360E-01  .00000000E+00
+  .39690217E+01       .56105192E-01  .00000000E+00
+  .40384796E+01       .53828621E-01  .00000000E+00
+  .41091530E+01       .51595357E-01  .00000000E+00
+  .41810632E+01       .49407008E-01  .00000000E+00
+  .42542318E+01       .47265078E-01  .00000000E+00
+  .43286808E+01       .45170961E-01  .00000000E+00
+  .44044327E+01       .43125938E-01  .00000000E+00
+  .44815103E+01       .41131175E-01  .00000000E+00
+  .45599367E+01       .39187721E-01  .00000000E+00
+  .46397356E+01       .37296501E-01  .00000000E+00
+  .47209310E+01       .35458323E-01  .00000000E+00
+  .48035473E+01       .33673870E-01  .00000000E+00
+  .48876094E+01       .31943700E-01  .00000000E+00
+  .49731425E+01       .30268248E-01  .00000000E+00
+  .50601725E+01       .28647827E-01  .00000000E+00
+  .51487256E+01       .27082625E-01  .00000000E+00
+  .52388283E+01       .25572710E-01  .00000000E+00
+  .53305078E+01       .24118030E-01  .00000000E+00
+  .54237916E+01       .22718416E-01  .00000000E+00
+  .55187080E+01       .21373584E-01  .00000000E+00
+  .56152854E+01       .20083139E-01  .00000000E+00
+  .57135529E+01       .18846579E-01  .00000000E+00
+  .58135401E+01       .17663297E-01  .00000000E+00
+  .59152770E+01       .16532588E-01  .00000000E+00
+  .60187944E+01       .15453653E-01  .00000000E+00
+  .61241233E+01       .14425605E-01  .00000000E+00
+  .62312954E+01       .13447470E-01  .00000000E+00
+  .63403431E+01       .12518201E-01  .00000000E+00
+  .64512991E+01       .11636675E-01  .00000000E+00
+  .65641968E+01       .10801706E-01  .00000000E+00
+  .66790703E+01       .10012047E-01  .00000000E+00
+  .67959540E+01       .92663995E-02  .00000000E+00
+  .69148832E+01       .85634180E-02  .00000000E+00
+  .70358936E+01       .79017166E-02  .00000000E+00
+  .71590218E+01       .72798763E-02  .00000000E+00
+  .72843047E+01       .66964511E-02  .00000000E+00
+  .74117800E+01       .61499740E-02  .00000000E+00
+  .75414861E+01       .56389638E-02  .00000000E+00
+  .76734621E+01       .51619307E-02  .00000000E+00
+  .78077477E+01       .47173824E-02  .00000000E+00
+  .79443833E+01       .43038295E-02  .00000000E+00
+  .80834100E+01       .39197912E-02  .00000000E+00
+  .82248697E+01       .35638002E-02  .00000000E+00
+  .83688049E+01       .32344074E-02  .00000000E+00
+  .85152590E+01       .29301865E-02  .00000000E+00
+  .86642760E+01       .26497382E-02  .00000000E+00
+  .88159009E+01       .23916940E-02  .00000000E+00
+  .89701791E+01       .21547195E-02  .00000000E+00
+  .91271573E+01       .19375176E-02  .00000000E+00
+  .92868825E+01       .17388311E-02  .00000000E+00
+  .94494030E+01       .15574452E-02  .00000000E+00
+  .96147675E+01       .13921894E-02  .00000000E+00
+  .97830260E+01       .12419392E-02  .00000000E+00
+  .99542289E+01       .11056171E-02  .00000000E+00
+  .10128428E+02       .98219396E-03  .00000000E+00
+  .10305675E+02       .87068947E-03  .00000000E+00
+  .10486025E+02       .77017232E-03  .00000000E+00
+  .10669530E+02       .67976036E-03  .00000000E+00
+  .10856247E+02       .59862033E-03  .00000000E+00
+  .11046231E+02       .52596735E-03  .00000000E+00
+  .11239540E+02       .46106421E-03  .00000000E+00
+  .11436232E+02       .40322037E-03  .00000000E+00
+  .11636366E+02       .35179086E-03  .00000000E+00
+  .11840003E+02       .30617498E-03  .00000000E+00
+  .12047203E+02       .26581484E-03  .00000000E+00
+  .12258029E+02       .23019380E-03  .00000000E+00
+  .12472544E+02       .19883452E-03  .00000000E+00
+  .12690814E+02       .17129895E-03  .00000000E+00
+  .12912903E+02       .14718026E-03  .00000000E+00
+  .13138879E+02       .12611469E-03  .00000000E+00
+  .13368809E+02       .10777105E-03  .00000000E+00
+  .13602763E+02       .91842545E-04  .00000000E+00
+  .13840812E+02       .78049508E-04  .00000000E+00
+  .14083026E+02       .66139303E-04  .00000000E+00
+  .14329479E+02       .55884401E-04  .00000000E+00
+  .14580245E+02       .47080504E-04  .00000000E+00
+  .14835399E+02       .39544739E-04  .00000000E+00
+  .15095019E+02       .33113922E-04  .00000000E+00
+  .15359181E+02       .27642901E-04  .00000000E+00
+  .15627967E+02       .23002980E-04  .00000000E+00
+  .15901457E+02       .19080425E-04  .00000000E+00
+  .16179732E+02       .15775059E-04  .00000000E+00
+  .16462877E+02       .12998945E-04  .00000000E+00
+  .16750978E+02       .10675151E-04  .00000000E+00
+  .17044120E+02       .87366117E-05  .00000000E+00
+  .17342392E+02       .71250664E-05  .00000000E+00
+  .17645884E+02       .57900858E-05  .00000000E+00
+  .17954687E+02       .46881788E-05  .00000000E+00
+  .18268894E+02       .37819762E-05  .00000000E+00
+  .18588599E+02       .30394905E-05  .00000000E+00
+  .18913900E+02       .24334452E-05  .00000000E+00
+  .19244893E+02       .19406716E-05  .00000000E+00
+  .19581679E+02       .15415677E-05  .00000000E+00
+  .19924358E+02       .12196159E-05  .00000000E+00
+  .20273034E+02       .96095460E-06  .00000000E+00
+  .20627813E+02       .75399886E-06  .00000000E+00
+  .20988799E+02       .58910775E-06  .00000000E+00
+  .21356103E+02       .45829241E-06  .00000000E+00
+  .21729835E+02       .00000000E+00  .00000000E+00
+  .22110107E+02       .00000000E+00  .00000000E+00
+  .22497034E+02       .00000000E+00  .00000000E+00
+  .22890732E+02       .00000000E+00  .00000000E+00
+  .23291320E+02       .00000000E+00  .00000000E+00
+  .23698918E+02       .00000000E+00  .00000000E+00
+  .24113649E+02       .00000000E+00  .00000000E+00
+  .24535638E+02       .00000000E+00  .00000000E+00
+  .24965012E+02       .00000000E+00  .00000000E+00
+  .25401899E+02       .00000000E+00  .00000000E+00
+  .25846433E+02       .00000000E+00  .00000000E+00
+  .26298745E+02       .00000000E+00  .00000000E+00
+  .26758973E+02       .00000000E+00  .00000000E+00
+  .27227255E+02       .00000000E+00  .00000000E+00
+  .27703732E+02       .00000000E+00  .00000000E+00
+  .28188547E+02       .00000000E+00  .00000000E+00
+  .28681847E+02       .00000000E+00  .00000000E+00
+  .29183779E+02       .00000000E+00  .00000000E+00
+  .29694496E+02       .00000000E+00  .00000000E+00
+  .30214149E+02       .00000000E+00  .00000000E+00
+  .30742897E+02       .00000000E+00  .00000000E+00
+  .31280897E+02       .00000000E+00  .00000000E+00
+  .31828313E+02       .00000000E+00  .00000000E+00
+  .32385309E+02       .00000000E+00  .00000000E+00
+  .32952052E+02       .00000000E+00  .00000000E+00
+  .33528712E+02       .00000000E+00  .00000000E+00
+  .34115465E+02       .00000000E+00  .00000000E+00
+  .34712486E+02       .00000000E+00  .00000000E+00
+  .35319954E+02       .00000000E+00  .00000000E+00
+  .35938053E+02       .00000000E+00  .00000000E+00
+  .36566969E+02       .00000000E+00  .00000000E+00
+  .37206891E+02       .00000000E+00  .00000000E+00
+  .37858012E+02       .00000000E+00  .00000000E+00
+  .38520527E+02       .00000000E+00  .00000000E+00
+  .39194636E+02       .00000000E+00  .00000000E+00
+  .39880542E+02       .00000000E+00  .00000000E+00
+  .40578452E+02       .00000000E+00  .00000000E+00
+  .41288575E+02       .00000000E+00  .00000000E+00
+  .42011125E+02       .00000000E+00  .00000000E+00
+  .42746319E+02       .00000000E+00  .00000000E+00
+  .43494380E+02       .00000000E+00  .00000000E+00
+&END  
diff --git a/test/unittests/cpmd_4.1/run_tests.py b/test/unittests/cpmd_4.1/run_tests.py
new file mode 100644
index 0000000000000000000000000000000000000000..db6beca4eef353dcaedb643fa028129ca2edcad5
--- /dev/null
+++ b/test/unittests/cpmd_4.1/run_tests.py
@@ -0,0 +1,1047 @@
+"""
+This is a module for unit testing the CPMD parser. The unit tests are run with
+a custom backend that outputs the results directly into native python object for
+easier and faster analysis.
+
+Each property that has an enumerable list of different possible options is
+assigned a new test class, that should ideally test through all the options.
+
+The properties that can have non-enumerbale values will be tested only for one
+specific case inside a test class that is designed for a certain type of run
+(MD, optimization, QM/MM, etc.)
+"""
+import os
+import unittest
+import logging
+import numpy as np
+from cpmdparser import CPMDParser
+from nomadcore.unit_conversion.unit_conversion import convert_unit
+
+# Setup the logger so that it doesn't spam messages during tests
+logging.basicConfig(
+    level=logging.DEBUG,
+    format=(
+        '%(filename)s: '
+        '%(levelname)s: '
+        '%(funcName)s(): '
+        '%(lineno)d:\t'
+        '%(message)s'
+    )
+)
+logger = logging.getLogger("nomad")
+logger.setLevel(logging.CRITICAL)
+logging.getLogger("nomadcore.caching_backend").setLevel(logging.CRITICAL)
+logger = logging.getLogger("cp2kparser")
+logger.setLevel(logging.ERROR)
+
+
+#===============================================================================
+def get_results(folder, metainfo_to_keep=None):
+    """Get the given result from the calculation in the given folder by using
+    the Analyzer in the nomadtoolkit package. Tries to optimize the parsing by
+    giving the metainfo_to_keep argument.
+
+    Args:
+        folder: The folder relative to the directory of this script where the
+            parsed calculation resides.
+        metaname: The quantity to extract.
+    """
+    dirname = os.path.dirname(__file__)
+    filename = os.path.join(dirname, folder, "output.out")
+    parser = CPMDParser(filename, None)
+    results = parser.parse()
+    return results
+
+
+#===============================================================================
+def get_result(folder, metaname, optimize=True):
+    if optimize:
+        results = get_results(folder, None)
+    else:
+        results = get_results(folder)
+    result = results[metaname]
+    return result
+
+
+#===============================================================================
+class TestSinglePoint(unittest.TestCase):
+    """Tests that the parser can handle single-point calculations.
+    """
+
+    @classmethod
+    def setUpClass(cls):
+        cls.results = get_results("single_point", "section_run")
+        cls.results.print_summary()
+
+    def test_program_name(self):
+        result = self.results["program_name"]
+        self.assertEqual(result, "CPMD")
+
+    def test_program_version(self):
+        result = self.results["program_version"]
+        self.assertEqual(result, "4.1")
+
+    def test_time_run_date_start(self):
+        result = self.results["time_run_date_start"]
+        self.assertEqual(result, 1467579600.0)
+
+    def test_time_run_wall_start(self):
+        result = self.results["time_run_wall_start"]
+        self.assertEqual(result, 50706.851)
+
+    # def test_program_basis_set_type(self):
+        # result = self.results["program_basis_set_type"]
+        # self.assertEqual(result, "plane waves")
+
+    # def test_energy_total_scf_iteration(self):
+        # result = self.results["energy_total_scf_iteration"]
+        # expected_result = convert_unit(np.array(-32.2320848878), "hartree")
+        # self.assertTrue(np.array_equal(result[0], expected_result))
+
+    # def test_program_compilation_host(self):
+        # result = self.results["program_compilation_host"]
+        # self.assertEqual(result, "lenovo700")
+
+    # def test_scf_max_iteration(self):
+        # result = self.results["scf_max_iteration"]
+        # self.assertEqual(result, 300)
+
+    # def test_scf_threshold_energy_change(self):
+        # result = self.results["scf_threshold_energy_change"]
+        # self.assertEqual(result, 1.00E-07)
+
+    # def test_number_of_spin_channels(self):
+        # result = self.results["number_of_spin_channels"]
+        # self.assertEqual(result, 1)
+
+    # def test_electronic_structure_method(self):
+        # result = self.results["electronic_structure_method"]
+        # self.assertEqual(result, "DFT")
+
+    # def test_energy_change_scf_iteration(self):
+        # energy_change = self.results["energy_change_scf_iteration"]
+        # expected_result = convert_unit(np.array(-3.22E+01), "hartree")
+        # self.assertTrue(np.array_equal(energy_change[0], expected_result))
+
+    # def test_energy_XC_scf_iteration(self):
+        # result = self.results["energy_XC_scf_iteration"]
+        # expected_result = convert_unit(np.array(-9.4555961214), "hartree")
+        # self.assertTrue(np.array_equal(result[0], expected_result))
+
+    # def test_energy_total(self):
+        # result = self.results["energy_total"]
+        # expected_result = convert_unit(np.array(-31.297885372811074), "hartree")
+        # self.assertTrue(np.array_equal(result, expected_result))
+
+    # def test_electronic_kinetic_energy(self):
+        # result = self.results["electronic_kinetic_energy"]
+        # expected_result = convert_unit(np.array(13.31525592466419), "hartree")
+        # self.assertTrue(np.array_equal(result, expected_result))
+
+    # def test_atom_forces(self):
+        # result = self.results["atom_forces"]
+        # expected_result = convert_unit(
+            # np.array([
+                # [0.00000000, 0.00000000, 0.00000000],
+                # [0.00000000, 0.00000001, 0.00000001],
+                # [0.00000001, 0.00000001, 0.00000000],
+                # [0.00000001, 0.00000000, 0.00000001],
+                # [-0.00000001, -0.00000001, -0.00000001],
+                # [-0.00000001, -0.00000001, -0.00000001],
+                # [-0.00000001, -0.00000001, -0.00000001],
+                # [-0.00000001, -0.00000001, -0.00000001],
+            # ]),
+            # "forceAu"
+        # )
+        # self.assertTrue(np.array_equal(result, expected_result))
+
+    # def test_atom_label(self):
+        # atom_labels = self.results["atom_labels"]
+        # expected_labels = np.array(8*["Si1"])
+        # self.assertTrue(np.array_equal(atom_labels, expected_labels))
+
+    # def test_simulation_cell(self):
+        # cell = self.results["simulation_cell"]
+        # n_vectors = cell.shape[0]
+        # n_dim = cell.shape[1]
+        # self.assertEqual(n_vectors, 3)
+        # self.assertEqual(n_dim, 3)
+        # expected_cell = convert_unit(np.array([[5.431, 0, 0], [0, 5.431, 0], [0, 0, 5.431]]), "angstrom")
+        # self.assertTrue(np.array_equal(cell, expected_cell))
+
+    # def test_number_of_atoms(self):
+        # n_atoms = self.results["number_of_atoms"]
+        # self.assertEqual(n_atoms, 8)
+
+    # def test_atom_position(self):
+        # atom_position = self.results["atom_positions"]
+        # expected_position = convert_unit(np.array([4.073023, 4.073023, 1.357674]), "angstrom")
+        # self.assertTrue(np.array_equal(atom_position[-1, :], expected_position))
+
+    # def test_x_cp2k_filenames(self):
+        # input_filename = self.results["x_cp2k_input_filename"]
+        # expected_input = "si_bulk8.inp"
+        # self.assertTrue(input_filename, expected_input)
+
+        # bs_filename = self.results["x_cp2k_basis_set_filename"]
+        # expected_bs = "../BASIS_SET"
+        # self.assertEqual(bs_filename, expected_bs)
+
+        # geminal_filename = self.results["x_cp2k_geminal_filename"]
+        # expected_geminal = "BASIS_GEMINAL"
+        # self.assertEqual(geminal_filename, expected_geminal)
+
+        # potential_filename = self.results["x_cp2k_potential_filename"]
+        # expected_potential = "../GTH_POTENTIALS"
+        # self.assertEqual(potential_filename, expected_potential)
+
+        # mm_potential_filename = self.results["x_cp2k_mm_potential_filename"]
+        # expected_mm_potential = "MM_POTENTIAL"
+        # self.assertEqual(mm_potential_filename, expected_mm_potential)
+
+        # coordinate_filename = self.results["x_cp2k_coordinate_filename"]
+        # expected_coordinate = "__STD_INPUT__"
+        # self.assertEqual(coordinate_filename, expected_coordinate)
+
+    # def test_target_multiplicity(self):
+        # multiplicity = self.results["spin_target_multiplicity"]
+        # self.assertEqual(multiplicity, 1)
+
+    # def test_total_charge(self):
+        # charge = self.results["total_charge"]
+        # self.assertEqual(charge, 0)
+
+    # def test_section_basis_set_atom_centered(self):
+        # basis = self.results["section_basis_set_atom_centered"][0]
+        # name = basis["basis_set_atom_centered_short_name"][0]
+        # number = basis["basis_set_atom_number"][0]
+        # self.assertEquals(name, "DZVP-GTH-PADE")
+        # self.assertEquals(number, 14)
+
+    # def test_section_basis_set_cell_dependent(self):
+        # basis = self.results["section_basis_set_cell_dependent"][0]
+        # cutoff = basis["basis_set_planewave_cutoff"][0]
+        # self.assertEquals(cutoff, convert_unit(300.0, "hartree"))
+
+    # def test_section_method_atom_kind(self):
+        # kind = self.results["section_method_atom_kind"][0]
+        # self.assertEqual(kind["method_atom_kind_atom_number"][0], 14)
+        # self.assertEqual(kind["method_atom_kind_label"][0], "Si1")
+
+    # def test_section_method_basis_set(self):
+        # kind = self.results["section_method_basis_set"][0]
+        # self.assertEqual(kind["method_basis_set_kind"][0], "wavefunction")
+        # self.assertEqual(kind["number_of_basis_sets_atom_centered"][0], 1)
+        # self.assertTrue(np.array_equal(kind["mapping_section_method_basis_set_atom_centered"][0], np.array([[0,0]])))
+
+    # def test_single_configuration_calculation_converged(self):
+        # result = self.results["single_configuration_calculation_converged"]
+        # self.assertTrue(result)
+
+    # def test_scf_dft_number_of_iterations(self):
+        # result = self.results["number_of_scf_iterations"]
+        # self.assertEqual(result, 10)
+
+    # def test_single_configuration_to_calculation_method_ref(self):
+        # result = self.results["single_configuration_to_calculation_method_ref"]
+        # self.assertEqual(result, 0)
+
+    # def test_single_configuration_calculation_to_system_description_ref(self):
+        # result = self.results["single_configuration_calculation_to_system_ref"]
+        # self.assertEqual(result, 0)
+
+    # def test_stress_tensor(self):
+        # result = self.results["stress_tensor"]
+        # expected_result = convert_unit(
+            # np.array([
+                # [7.77640934, -0.00000098, -0.00000099],
+                # [-0.00000098, 7.77640935, -0.00000101],
+                # [-0.00000099, -0.00000101, 7.77640935],
+            # ]),
+            # "GPa"
+        # )
+        # self.assertTrue(np.array_equal(result, expected_result))
+
+    # def test_stress_tensor_eigenvalues(self):
+        # result = self.results["x_cp2k_stress_tensor_eigenvalues"]
+        # expected_result = convert_unit(np.array([7.77640735, 7.77641033, 7.77641036]), "GPa")
+        # self.assertTrue(np.array_equal(result, expected_result))
+
+    # def test_stress_tensor_eigenvectors(self):
+        # result = self.results["x_cp2k_stress_tensor_eigenvectors"]
+        # expected_result = np.array([
+            # [0.57490332, -0.79965737, -0.17330395],
+            # [0.57753686, 0.54662171, -0.60634634],
+            # [0.57960102, 0.24850110, 0.77608624],
+        # ])
+        # self.assertTrue(np.array_equal(result, expected_result))
+
+    # def test_stress_tensor_determinant(self):
+        # result = self.results["x_cp2k_stress_tensor_determinant"]
+        # expected_result = convert_unit(4.70259243E+02, "GPa^3")
+        # self.assertTrue(np.array_equal(result, expected_result))
+
+    # def test_stress_tensor_one_third_of_trace(self):
+        # result = self.results["x_cp2k_stress_tensor_one_third_of_trace"]
+        # expected_result = convert_unit(7.77640934E+00, "GPa")
+        # self.assertTrue(np.array_equal(result, expected_result))
+
+
+
+# #===============================================================================
+# class TestErrors(unittest.TestCase):
+    # """Test misc. error stuations which may occur during the parsing.
+    # """
+    # def test_no_file(self):
+        # self.assertRaises(IOError, get_result, "errors/no_file", "XC_functional")
+
+    # def test_invalid_file(self):
+        # self.assertRaises(RuntimeError, get_result, "errors/invalid_file", "XC_functional")
+
+    # def test_invalid_run_type(self):
+        # self.assertRaises(KeyError, get_result, "errors/invalid_run_type", "XC_functional")
+
+    # def test_unknown_version(self):
+        # get_result("errors/unknown_version", "XC_functional")
+
+    # def test_unknown_input_keyword(self):
+        # get_result("errors/unknown_input_keyword", "XC_functional")
+
+    # def test_unknown_input_section(self):
+        # get_result("errors/unknown_input_section", "XC_functional")
+
+    # def test_unknown_input_section_parameter(self):
+        # get_result("errors/unknown_input_section_parameter", "XC_functional")
+
+
+# #===============================================================================
+# class TestXCFunctional(unittest.TestCase):
+    # """Tests that the XC functionals can be properly parsed.
+    # """
+
+    # def test_pade(self):
+        # xc = get_result("XC_functional/pade", "XC_functional")
+        # self.assertEqual(xc, "1*LDA_XC_TETER93")
+
+    # def test_lda(self):
+        # xc = get_result("XC_functional/lda", "XC_functional")
+        # self.assertEqual(xc, "1*LDA_XC_TETER93")
+
+    # def test_blyp(self):
+        # xc = get_result("XC_functional/blyp", "XC_functional")
+        # self.assertEqual(xc, "1*GGA_C_LYP+1*GGA_X_B88")
+
+    # def test_b3lyp(self):
+        # xc = get_result("XC_functional/b3lyp", "XC_functional")
+        # self.assertEqual(xc, "1*HYB_GGA_XC_B3LYP")
+
+    # def test_olyp(self):
+        # xc = get_result("XC_functional/olyp", "XC_functional")
+        # self.assertEqual(xc, "1*GGA_C_LYP+1*GGA_X_OPTX")
+
+    # def test_hcth120(self):
+        # xc = get_result("XC_functional/hcth120", "XC_functional")
+        # self.assertEqual(xc, "1*GGA_XC_HCTH_120")
+
+    # def test_pbe0(self):
+        # xc = get_result("XC_functional/pbe0", "XC_functional")
+        # self.assertEqual(xc, "1*HYB_GGA_XC_PBEH")
+
+    # def test_pbe(self):
+        # xc = get_result("XC_functional/pbe", "XC_functional")
+        # self.assertEqual(xc, "1*GGA_C_PBE+1*GGA_X_PBE")
+
+
+# #===============================================================================
+# class TestSCFConvergence(unittest.TestCase):
+    # """Tests whether the convergence status and number of SCF step can be
+    # parsed correctly.
+    # """
+
+    # def test_converged(self):
+        # result = get_result("convergence/converged", "single_configuration_calculation_converged")
+        # self.assertTrue(result)
+
+    # def test_non_converged(self):
+        # result = get_result("convergence/non_converged", "single_configuration_calculation_converged")
+        # self.assertFalse(result)
+
+
+#===============================================================================
+# class TestForceFiles(unittest.TestCase):
+    # """Tests that different force files that can be output, can actually be
+    # found and parsed.
+    # """
+
+    # def test_single_point(self):
+
+        # result = get_result("force_file/single_point", "atom_forces")
+        # expected_result = convert_unit(
+            # np.array([
+                # [0.00000000, 0.00000000, 0.00000000],
+                # [0.00000000, 0.00000001, 0.00000001],
+                # [0.00000001, 0.00000001, 0.00000000],
+                # [0.00000001, 0.00000000, 0.00000001],
+                # [-0.00000001, -0.00000001, -0.00000001],
+                # [-0.00000001, -0.00000001, -0.00000001],
+                # [-0.00000001, -0.00000001, -0.00000001],
+                # [-0.00000001, -0.00000001, -0.00000001],
+            # ]),
+            # "forceAu"
+        # )
+        # self.assertTrue(np.array_equal(result, expected_result))
+
+
+#===============================================================================
+# class TestSelfInteractionCorrectionMethod(unittest.TestCase):
+    # """Tests that the self-interaction correction can be properly parsed.
+    # """
+
+    # def test_no(self):
+        # sic = get_result("sic/no", "self_interaction_correction_method")
+        # self.assertEqual(sic, "")
+
+    # def test_ad(self):
+        # sic = get_result("sic/ad", "self_interaction_correction_method")
+        # self.assertEqual(sic, "SIC_AD")
+
+    # def test_explicit_orbitals(self):
+        # sic = get_result("sic/explicit_orbitals", "self_interaction_correction_method")
+        # self.assertEqual(sic, "SIC_EXPLICIT_ORBITALS")
+
+    # def test_mauri_spz(self):
+        # sic = get_result("sic/mauri_spz", "self_interaction_correction_method")
+        # self.assertEqual(sic, "SIC_MAURI_SPZ")
+
+    # def test_mauri_us(self):
+        # sic = get_result("sic/mauri_us", "self_interaction_correction_method")
+        # self.assertEqual(sic, "SIC_MAURI_US")
+
+
+# #===============================================================================
+# class TestStressTensorMethods(unittest.TestCase):
+    # """Tests that the stress tensor can be properly parsed for different
+    # calculation methods.
+    # """
+    # def test_none(self):
+        # get_results("stress_tensor/none", "section_stress_tensor")
+
+    # def test_analytical(self):
+        # results = get_results("stress_tensor/analytical", ["stress_tensor_method", "stress_tensor"])
+        # method = results["stress_tensor_method"]
+        # results["stress_tensor"]
+        # self.assertEqual(method, "Analytical")
+
+    # def test_numerical(self):
+        # results = get_results("stress_tensor/numerical", ["stress_tensor_method", "stress_tensor"])
+        # method = results["stress_tensor_method"]
+        # results["stress_tensor"]
+        # self.assertEqual(method, "Numerical")
+
+    # def test_diagonal_analytical(self):
+        # results = get_results("stress_tensor/diagonal_analytical", ["stress_tensor_method", "stress_tensor"])
+        # method = results["stress_tensor_method"]
+        # results["stress_tensor"]
+        # self.assertEqual(method, "Diagonal analytical")
+
+    # def test_diagonal_numerical(self):
+        # results = get_results("stress_tensor/diagonal_numerical", ["stress_tensor_method", "stress_tensor"])
+        # method = results["stress_tensor_method"]
+        # results["stress_tensor"]
+        # self.assertEqual(method, "Diagonal numerical")
+
+
+# #===============================================================================
+# class TestConfigurationPeriodicDimensions(unittest.TestCase):
+    # """Tests that the self-interaction correction can be properly parsed.
+    # """
+
+    # def test_default(self):
+        # result = get_result("configuration_periodic_dimensions/default", "configuration_periodic_dimensions")
+        # self.assertTrue(np.array_equal(result, np.array((True, True, True))))
+
+    # def test_none(self):
+        # result = get_result("configuration_periodic_dimensions/none", "configuration_periodic_dimensions")
+        # self.assertTrue(np.array_equal(result, np.array((False, False, False))))
+
+    # def test_x(self):
+        # result = get_result("configuration_periodic_dimensions/x", "configuration_periodic_dimensions")
+        # self.assertTrue(np.array_equal(result, np.array((True, False, False))))
+
+    # def test_y(self):
+        # result = get_result("configuration_periodic_dimensions/y", "configuration_periodic_dimensions")
+        # self.assertTrue(np.array_equal(result, np.array((False, True, False))))
+
+    # def test_z(self):
+        # result = get_result("configuration_periodic_dimensions/z", "configuration_periodic_dimensions")
+        # self.assertTrue(np.array_equal(result, np.array((False, False, True))))
+
+    # def test_xy(self):
+        # result = get_result("configuration_periodic_dimensions/xy", "configuration_periodic_dimensions")
+        # self.assertTrue(np.array_equal(result, np.array((True, True, False))))
+
+    # def test_xyz(self):
+        # result = get_result("configuration_periodic_dimensions/xyz", "configuration_periodic_dimensions")
+        # self.assertTrue(np.array_equal(result, np.array((True, True, True))))
+
+    # def test_xz(self):
+        # result = get_result("configuration_periodic_dimensions/xz", "configuration_periodic_dimensions")
+        # self.assertTrue(np.array_equal(result, np.array((True, False, True))))
+
+    # def test_yz(self):
+        # result = get_result("configuration_periodic_dimensions/yz", "configuration_periodic_dimensions")
+        # self.assertTrue(np.array_equal(result, np.array((False, True, True))))
+
+
+# #===============================================================================
+# class TestPreprocessor(unittest.TestCase):
+
+    # def test_include(self):
+        # result = get_result("input_preprocessing/include", "x_cp2k_CP2K_INPUT.GLOBAL.PRINT_LEVEL", optimize=False)
+        # self.assertEqual(result, "LOW")
+
+    # def test_variable(self):
+        # result = get_result("input_preprocessing/variable", "x_cp2k_CP2K_INPUT.GLOBAL.PROJECT_NAME", optimize=False)
+        # self.assertEqual(result, "variable_test")
+
+    # def test_variable_multiple(self):
+        # result = get_result("input_preprocessing/variable_multiple", "x_cp2k_CP2K_INPUT.FORCE_EVAL.DFT.MGRID.CUTOFF", optimize=False)
+        # self.assertEqual(result, "50")
+
+    # def test_comments(self):
+        # result = get_result("input_preprocessing/comments", "x_cp2k_CP2K_INPUT.FORCE_EVAL.DFT.MGRID.CUTOFF", optimize=False)
+        # self.assertEqual(result, "120")
+
+    # def test_tabseparator(self):
+        # result = get_result("input_preprocessing/tabseparator", "x_cp2k_CP2K_INPUT.FORCE_EVAL.DFT.MGRID.CUTOFF", optimize=False)
+        # self.assertEqual(result, "120")
+
+
+# #===============================================================================
+# class TestGeoOpt(unittest.TestCase):
+
+    # @classmethod
+    # def setUpClass(cls):
+        # cls.results = get_results("geo_opt/cg", "section_run")
+
+    # def test_geometry_optimization_converged(self):
+        # result = self.results["geometry_optimization_converged"]
+        # self.assertTrue(result)
+
+    # def test_number_of_frames_in_sequence(self):
+        # result = self.results["number_of_frames_in_sequence"]
+        # self.assertEqual(result, 7)
+
+    # def test_frame_sequence_to_sampling_ref(self):
+        # result = self.results["frame_sequence_to_sampling_ref"]
+        # self.assertEqual(result, 0)
+
+    # def test_frame_sequence_local_frames_ref(self):
+        # result = self.results["frame_sequence_local_frames_ref"]
+        # expected_result = np.array([0, 1, 2, 3, 4, 5, 6])
+        # self.assertTrue(np.array_equal(result, expected_result))
+
+    # def test_sampling_method(self):
+        # result = self.results["sampling_method"]
+        # self.assertEqual(result, "geometry_optimization")
+
+    # def test_geometry_optimization_method(self):
+        # result = self.results["geometry_optimization_method"]
+        # self.assertEqual(result, "conjugate_gradient")
+
+    # def test_geometry_optimization_geometry_change(self):
+        # result = self.results["geometry_optimization_geometry_change"]
+        # expected_result = convert_unit(
+            # 0.0010000000,
+            # "bohr"
+        # )
+        # self.assertEqual(result, expected_result)
+
+    # def test_geometry_optimization_threshold_force(self):
+        # result = self.results["geometry_optimization_threshold_force"]
+        # expected_result = convert_unit(
+            # 0.0010000000,
+            # "bohr^-1*hartree"
+        # )
+        # self.assertEqual(result, expected_result)
+
+    # def test_frame_sequence_potential_energy(self):
+        # result = self.results["frame_sequence_potential_energy"]
+        # expected_result = convert_unit(
+            # np.array([
+                # -17.1534159246,
+                # -17.1941015290,
+                # -17.2092321965,
+                # -17.2097667733,
+                # -17.2097743028,
+                # -17.2097743229,
+                # -17.20977820662248,
+            # ]),
+            # "hartree"
+        # )
+        # self.assertTrue(np.array_equal(result, expected_result))
+
+    # def test_atom_positions(self):
+        # result = self.results["atom_positions"]
+        # expected_start = convert_unit(
+            # np.array([
+                # [12.2353220000, 1.3766420000, 10.8698800000],
+                # [12.4175775999, 2.2362362573, 11.2616216864],
+                # [11.9271436933, 1.5723516602, 10.0115134757],
+            # ]),
+            # "angstrom"
+        # )
+
+        # expected_end = convert_unit(
+            # np.array([
+                # [12.2353220000, 1.3766420000, 10.8698800000],
+                # [12.4958164689, 2.2307248873, 11.3354322515],
+                # [11.9975558616, 1.5748085240, 10.0062792262],
+            # ]),
+            # "angstrom"
+        # )
+        # result_start = result[0,:,:]
+        # result_end = result[-1,:,:]
+        # self.assertTrue(np.array_equal(result_start, expected_start))
+        # self.assertTrue(np.array_equal(result_end, expected_end))
+
+
+# # ===============================================================================
+# class TestGeoOptTrajFormats(unittest.TestCase):
+
+    # def test_xyz(self):
+
+        # result = get_result("geo_opt/geometry_formats/xyz", "atom_positions", optimize=True)
+        # expected_start = convert_unit(
+            # np.array([
+                # [12.2353220000, 1.3766420000, 10.8698800000],
+                # [12.4175624065, 2.2362390825, 11.2616392180],
+                # [11.9271777126, 1.5723402996, 10.0115089094],
+            # ]),
+            # "angstrom"
+        # )
+        # expected_end = convert_unit(
+            # np.array([
+                # [12.2353220000, 1.3766420000, 10.8698800000],
+                # [12.4957995882, 2.2307218433, 11.3354453867],
+                # [11.9975764125, 1.5747996320, 10.0062529540],
+            # ]),
+            # "angstrom"
+        # )
+        # result_start = result[0,:,:]
+        # result_end = result[-1,:,:]
+        # self.assertTrue(np.array_equal(result_start, expected_start))
+        # self.assertTrue(np.array_equal(result_end, expected_end))
+
+    # def test_pdb(self):
+        # result = get_result("geo_opt/geometry_formats/pdb", "atom_positions", optimize=True)
+        # expected_start = convert_unit(
+            # np.array([
+                # [12.235, 1.377, 10.870],
+                # [12.418, 2.236, 11.262],
+                # [11.927, 1.572, 10.012],
+            # ]),
+            # "angstrom"
+        # )
+        # expected_end = convert_unit(
+            # np.array([
+                # [12.235, 1.377, 10.870],
+                # [12.496, 2.231, 11.335],
+                # [11.998, 1.575, 10.006],
+            # ]),
+            # "angstrom"
+        # )
+        # result_start = result[0,:,:]
+        # result_end = result[-1,:,:]
+        # self.assertTrue(np.array_equal(result_start, expected_start))
+        # self.assertTrue(np.array_equal(result_end, expected_end))
+
+    # def test_dcd(self):
+        # result = get_result("geo_opt/geometry_formats/dcd", "atom_positions", optimize=True)
+        # frames = result.shape[0]
+        # self.assertEqual(frames, 7)
+
+
+# #===============================================================================
+# class TestGeoOptOptimizers(unittest.TestCase):
+
+    # def test_bfgs(self):
+        # result = get_result("geo_opt/bfgs", "geometry_optimization_method")
+        # self.assertEqual(result, "bfgs")
+
+    # def test_lbfgs(self):
+        # result = get_result("geo_opt/lbfgs", "geometry_optimization_method")
+        # self.assertEqual(result, "bfgs")
+
+
+# #===============================================================================
+# class TestGeoOptTrajectory(unittest.TestCase):
+
+    # def test_each_and_add_last(self):
+        # """Test that the EACH and ADD_LAST settings affect the parsing
+        # correctly.
+        # """
+        # results = get_results("geo_opt/each")
+
+        # single_conf = results["section_single_configuration_calculation"]
+        # systems = results["section_system"]
+
+        # i_conf = 0
+        # for calc in single_conf.values():
+            # system_index = calc["single_configuration_calculation_to_system_ref"][0]
+            # system = systems[system_index]
+            # pos = system["atom_positions"]
+
+            # if i_conf == 0 or i_conf == 2 or i_conf == 4:
+                # self.assertEqual(pos, None)
+            # else:
+                # pos = system["atom_positions"][0]
+                # if i_conf == 1:
+                    # expected_pos = convert_unit(
+                        # np.array([
+                            # [12.2353220000, 1.3766420000, 10.8698800000],
+                            # [12.4618486015, 2.2314871691, 11.3335607388],
+                            # [11.9990227122, 1.5776813026, 10.0384213366],
+                        # ]),
+                        # "angstrom"
+                    # )
+                    # self.assertTrue(np.array_equal(pos, expected_pos))
+                # if i_conf == 3:
+                    # expected_pos = convert_unit(
+                        # np.array([
+                            # [12.2353220000, 1.3766420000, 10.8698800000],
+                            # [12.4962705528, 2.2308411983, 11.3355758433],
+                            # [11.9975151486, 1.5746309898, 10.0054430868],
+                        # ]),
+                        # "angstrom"
+                    # )
+                    # self.assertTrue(np.array_equal(pos, expected_pos))
+                # if i_conf == 5:
+                    # expected_pos = convert_unit(
+                        # np.array([
+                            # [12.2353220000, 1.3766420000, 10.8698800000],
+                            # [12.4958168364, 2.2307249171, 11.3354322532],
+                            # [11.9975556812, 1.5748088251, 10.0062793864],
+                        # ]),
+                        # "angstrom"
+                    # )
+                    # self.assertTrue(np.array_equal(pos, expected_pos))
+
+                # if i_conf == 6:
+                    # expected_pos = convert_unit(
+                        # np.array([
+                            # [12.2353220000, 1.3766420000, 10.8698800000],
+                            # [12.4958164689, 2.2307248873, 11.3354322515],
+                            # [11.9975558616, 1.5748085240, 10.0062792262],
+                        # ]),
+                        # "angstrom"
+                    # )
+                    # self.assertTrue(np.array_equal(pos, expected_pos))
+
+            # i_conf += 1
+
+
+# #===============================================================================
+# class TestMD(unittest.TestCase):
+
+    # @classmethod
+    # def setUpClass(cls):
+        # cls.results = get_results("md/nve", "section_run")
+        # cls.temp = convert_unit(
+            # np.array([
+                # 300.000000000,
+                # 275.075405378,
+                # 235.091633019,
+                # 202.752506973,
+                # 192.266488819,
+                # 201.629598676,
+                # 218.299664775,
+                # 230.324748557,
+                # 232.691881533,
+                # 226.146979313,
+                # 213.165337396,
+            # ]),
+            # "K"
+        # )
+        # cls.cons = convert_unit(
+            # np.array([
+                # -34.323271136,
+                # -34.323245645,
+                # -34.323206964,
+                # -34.323183380,
+                # -34.323187747,
+                # -34.323208962,
+                # -34.323227533,
+                # -34.323233583,
+                # -34.323230715,
+                # -34.323227013,
+                # -34.323224123,
+            # ]),
+            # "hartree"
+        # )
+        # cls.pot = convert_unit(
+            # np.array([
+                # -34.330396471,
+                # -34.329778993,
+                # -34.328790653,
+                # -34.327998978,
+                # -34.327754290,
+                # -34.327997890,
+                # -34.328412394,
+                # -34.328704052,
+                # -34.328757407,
+                # -34.328598255,
+                # -34.328287038,
+            # ]),
+            # "hartree"
+        # )
+        # cls.kin = convert_unit(
+            # np.array([
+                # 0.007125335,
+                # 0.006533348,
+                # 0.005583688,
+                # 0.004815598,
+                # 0.004566544,
+                # 0.004788928,
+                # 0.005184860,
+                # 0.005470470,
+                # 0.005526692,
+                # 0.005371243,
+                # 0.005062914,
+            # ]),
+            # "hartree"
+        # )
+
+    # def test_number_of_atoms(self):
+        # result = self.results["number_of_atoms"]
+        # expected_result = np.array(11*[6])
+        # self.assertTrue(np.array_equal(result, expected_result))
+
+    # def test_ensemble_type(self):
+        # result = self.results["ensemble_type"]
+        # self.assertEqual(result, "NVE")
+
+    # def test_sampling_method(self):
+        # result = self.results["sampling_method"]
+        # self.assertEqual(result, "molecular_dynamics")
+
+    # def test_number_of_frames_in_sequence(self):
+        # result = self.results["number_of_frames_in_sequence"]
+        # self.assertEqual(result, 11)
+
+    # def test_atom_positions(self):
+        # result = self.results["atom_positions"]
+        # expected_start = convert_unit(
+            # np.array([
+                # [2.2803980000, 9.1465390000, 5.0886960000],
+                # [1.2517030000, 2.4062610000, 7.7699080000],
+                # [1.7620190000, 9.8204290000, 5.5284540000],
+                # [3.0959870000, 9.1070880000, 5.5881860000],
+                # [0.5541290000, 2.9826340000, 8.0820240000],
+                # [1.7712570000, 2.9547790000, 7.1821810000],
+            # ]),
+            # "angstrom"
+        # )
+        # expected_end = convert_unit(
+            # np.array([
+                # [2.2916014875, 9.1431763260, 5.0868100688],
+                # [1.2366834078, 2.4077552776, 7.7630044423],
+                # [1.6909790671, 9.8235337924, 5.5042564094],
+                # [3.1130341664, 9.0372111810, 5.6100739746],
+                # [0.5652070478, 3.0441761067, 8.1734257299],
+                # [1.8669280879, 2.9877213524, 7.2364955946],
+            # ]),
+            # "angstrom"
+        # )
+        # self.assertTrue(np.array_equal(result[0,:], expected_start))
+        # self.assertTrue(np.array_equal(result[-1,:], expected_end))
+
+    # def test_atom_velocities(self):
+        # result = self.results["atom_velocities"]
+        # expected_start = convert_unit(
+            # np.array([
+                # [0.0000299284, 0.0000082360, -0.0000216368],
+                # [-0.0001665963, 0.0001143863, -0.0000622640],
+                # [-0.0005732926, -0.0003112611, -0.0007149779],
+                # [0.0013083605, -0.0009262219, 0.0006258560],
+                # [0.0012002313, -0.0003701042, 0.0002810523],
+                # [0.0002340810, -0.0003388418, 0.0011398583],
+            # ]),
+            # "bohr*(planckConstant/hartree)^-1"
+        # )
+        # expected_end = convert_unit(
+            # np.array([
+                # [0.0001600263, -0.0000383308, 0.0000153662],
+                # [-0.0001269381, -0.0000005151, -0.0000726214],
+                # [0.0000177093, -0.0003257814, -0.0000257852],
+                # [-0.0015067045, -0.0001700489, -0.0003651605],
+                # [0.0000307926, 0.0006886719, 0.0008431321],
+                # [0.0007424681, 0.0003614127, 0.0005749089],
+            # ]),
+            # "bohr*(planckConstant/hartree)^-1"
+        # )
+
+        # self.assertTrue(np.array_equal(result[0,:], expected_start))
+        # self.assertTrue(np.array_equal(result[-1,:], expected_end))
+
+    # def test_frame_sequence_potential_energy(self):
+        # result = self.results["frame_sequence_potential_energy"]
+        # self.assertTrue(np.array_equal(result, self.pot))
+
+    # def test_frame_sequence_kinetic_energy(self):
+        # result = self.results["frame_sequence_kinetic_energy"]
+        # self.assertTrue(np.array_equal(result, self.kin))
+
+    # def test_frame_sequence_conserved_quantity(self):
+        # result = self.results["frame_sequence_conserved_quantity"]
+        # self.assertTrue(np.array_equal(result, self.cons))
+
+    # def test_frame_sequence_temperature(self):
+        # result = self.results["frame_sequence_temperature"]
+        # self.assertTrue(np.array_equal(result, self.temp))
+
+    # def test_frame_sequence_time(self):
+        # result = self.results["frame_sequence_time"]
+        # expected_result = convert_unit(
+            # np.array([
+                # 0.000000,
+                # 0.500000,
+                # 1.000000,
+                # 1.500000,
+                # 2.000000,
+                # 2.500000,
+                # 3.000000,
+                # 3.500000,
+                # 4.000000,
+                # 4.500000,
+                # 5.000000,
+            # ]),
+            # "fs"
+        # )
+        # self.assertTrue(np.array_equal(result, expected_result))
+
+    # def test_frame_sequence_potential_energy_stats(self):
+        # result = self.results["frame_sequence_potential_energy_stats"]
+        # expected_result = np.array([self.pot.mean(), self.pot.std()])
+        # self.assertTrue(np.array_equal(result, expected_result))
+
+    # def test_frame_sequence_kinetic_energy_stats(self):
+        # result = self.results["frame_sequence_kinetic_energy_stats"]
+        # expected_result = np.array([self.kin.mean(), self.kin.std()])
+        # self.assertTrue(np.array_equal(result, expected_result))
+
+    # def test_frame_sequence_conserved_quantity_stats(self):
+        # result = self.results["frame_sequence_conserved_quantity_stats"]
+        # expected_result = np.array([self.cons.mean(), self.cons.std()])
+        # self.assertTrue(np.array_equal(result, expected_result))
+
+    # def test_frame_sequence_temperature_stats(self):
+        # result = self.results["frame_sequence_temperature_stats"]
+        # expected_result = np.array([self.temp.mean(), self.temp.std()])
+        # self.assertTrue(np.array_equal(result, expected_result))
+
+
+# #===============================================================================
+# class TestMDEnsembles(unittest.TestCase):
+
+    # @classmethod
+    # def setUpClass(cls):
+        # cls.pressure = convert_unit(
+            # np.array([
+                # -0.192828092559E+04,
+                # -0.145371071470E+04,
+                # -0.210098903760E+03,
+                # 0.167260570313E+04,
+                # 0.395562042841E+04,
+                # 0.630374855942E+04,
+                # 0.836906136786E+04,
+                # 0.983216022830E+04,
+                # 0.104711540465E+05,
+                # 0.102444821550E+05,
+                # 0.931695792434E+04,
+            # ]),
+            # "bar"
+        # )
+
+    # def test_nvt(self):
+        # results = get_results("md/nvt", "section_run")
+        # ensemble = results["ensemble_type"]
+        # self.assertEqual(ensemble, "NVT")
+
+    # def test_npt(self):
+        # results = get_results("md/npt", "section_run")
+        # ensemble = results["ensemble_type"]
+        # self.assertEqual(ensemble, "NPT")
+
+        # pressure = results["frame_sequence_pressure"]
+        # self.assertTrue(np.array_equal(pressure, self.pressure))
+
+        # pressure_stats = results["frame_sequence_pressure_stats"]
+        # expected_pressure_stats = np.array([self.pressure.mean(), self.pressure.std()])
+        # self.assertTrue(np.array_equal(pressure_stats, expected_pressure_stats))
+
+        # simulation_cell = results["simulation_cell"]
+        # expected_cell_start = convert_unit(
+            # np.array(
+                # [[
+                    # 6.0000000000,
+                    # 0.0000000000,
+                    # 0.0000000000,
+                # ], [
+                    # 0.0000000000,
+                    # 6.0000000000,
+                    # 0.0000000000,
+                # ], [
+                    # 0.0000000000,
+                    # 0.0000000000,
+                    # 6.0000000000,
+                # ]]),
+            # "angstrom"
+        # )
+        # expected_cell_end = convert_unit(
+            # np.array(
+                # [[
+                    # 5.9960617905,
+                    # -0.0068118798,
+                    # -0.0102043036,
+                # ], [
+                    # -0.0068116027,
+                    # 6.0225574669,
+                    # -0.0155044063,
+                # ], [
+                    # -0.0102048226,
+                    # -0.0155046726,
+                    # 6.0083072343,
+                # ]]),
+            # "angstrom"
+        # )
+        # self.assertEqual(simulation_cell.shape[0], 11)
+        # self.assertTrue(np.array_equal(expected_cell_start, simulation_cell[0,:,:]))
+        # self.assertTrue(np.array_equal(expected_cell_end, simulation_cell[-1,:,:]))
+
+
+# #===============================================================================
+# class TestElectronicStructureMethod(unittest.TestCase):
+
+    # def test_mp2(self):
+        # results = get_results("electronic_structure_method/mp2", "section_run")
+        # result = results["electronic_structure_method"]
+        # self.assertEqual(result, "MP2")
+
+    # def test_dft_plus_u(self):
+        # results = get_results("electronic_structure_method/dft_plus_u", "section_run")
+        # result = results["electronic_structure_method"]
+        # self.assertEqual(result, "DFT+U")
+
+    # def test_rpa(self):
+        # results = get_results("electronic_structure_method/rpa", "section_run")
+        # result = results["electronic_structure_method"]
+        # self.assertEqual(result, "RPA")
+
+
+#===============================================================================
+if __name__ == '__main__':
+    suites = []
+    suites.append(unittest.TestLoader().loadTestsFromTestCase(TestSinglePoint))
+    alltests = unittest.TestSuite(suites)
+    unittest.TextTestRunner(verbosity=0).run(alltests)
diff --git a/test/unittests/cpmd_4.1/single_point/GEOMETRY b/test/unittests/cpmd_4.1/single_point/GEOMETRY
new file mode 100644
index 0000000000000000000000000000000000000000..4fc346d8d03ee55cc5ed943b11eb14af91be77a4
--- /dev/null
+++ b/test/unittests/cpmd_4.1/single_point/GEOMETRY
@@ -0,0 +1,2 @@
+      8.259992891426      7.558904499132      7.558904499132              0.017798524379     -0.000000000000     -0.000000000000
+      6.857816106837      7.558904499132      7.558904499132             -0.017798524379     -0.000000000000     -0.000000000000
diff --git a/test/unittests/cpmd_4.1/single_point/GEOMETRY.xyz b/test/unittests/cpmd_4.1/single_point/GEOMETRY.xyz
new file mode 100644
index 0000000000000000000000000000000000000000..b13c48d0b6644a53a06502a83cea74fb0265e4e1
--- /dev/null
+++ b/test/unittests/cpmd_4.1/single_point/GEOMETRY.xyz
@@ -0,0 +1,4 @@
+       2
+GEOMETRY FILE / created by CPMD
+  H      4.371000000000      4.000000000000      4.000000000000              0.009418573488     -0.000000000000     -0.000000000000
+  H      3.629000000000      4.000000000000      4.000000000000             -0.009418573488     -0.000000000000     -0.000000000000
diff --git a/test/unittests/cpmd_4.1/single_point/LATEST b/test/unittests/cpmd_4.1/single_point/LATEST
new file mode 100644
index 0000000000000000000000000000000000000000..0e4449210602fd9c3a45bd3bc780cd67ad8721b0
--- /dev/null
+++ b/test/unittests/cpmd_4.1/single_point/LATEST
@@ -0,0 +1,2 @@
+./RESTART.1                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     
+           1
diff --git a/test/unittests/cpmd_4.1/single_point/RESTART.1 b/test/unittests/cpmd_4.1/single_point/RESTART.1
new file mode 100644
index 0000000000000000000000000000000000000000..88b00a1a01f06fe6a5955b36cc01256a544cf1ce
Binary files /dev/null and b/test/unittests/cpmd_4.1/single_point/RESTART.1 differ
diff --git a/test/unittests/cpmd_4.1/single_point/input.inp b/test/unittests/cpmd_4.1/single_point/input.inp
new file mode 100755
index 0000000000000000000000000000000000000000..c1b5c8a868f3b0aec8910af9399c6bfabec9fa3d
--- /dev/null
+++ b/test/unittests/cpmd_4.1/single_point/input.inp
@@ -0,0 +1,35 @@
+&INFO
+isolated hydrogen molecule.
+single point calculation.
+&END
+
+&CPMD
+ OPTIMIZE WAVEFUNCTION
+ CONVERGENCE ORBITALS
+  1.0d-7
+ CENTER MOLECULE ON
+ PRINT FORCES ON
+&END
+  
+&SYSTEM
+ SYMMETRY
+  1
+ ANGSTROM
+ CELL
+  8.00 1.0 1.0  0.0  0.0  0.0
+ CUTOFF
+  70.0
+&END 
+
+&DFT
+ FUNCTIONAL LDA
+&END  
+
+&ATOMS
+*H_MT_LDA.psp
+ LMAX=S
+  2
+ 4.371   4.000   4.000
+ 3.629   4.000   4.000
+&END  
+
diff --git a/test/unittests/cpmd_4.1/single_point/output.out b/test/unittests/cpmd_4.1/single_point/output.out
new file mode 100644
index 0000000000000000000000000000000000000000..b7fb802822bc95d7164dab1cff250c4b764493de
--- /dev/null
+++ b/test/unittests/cpmd_4.1/single_point/output.out
@@ -0,0 +1,286 @@
+ cp_groups: we are using a 1 x 1 grid (groups x nprocs).
+ PROGRAM CPMD STARTED AT: 2016-07-04 14:05:06.851   
+ SETCNST| USING: CODATA 2006 UNITS
+
+
+               ******  ******    ****  ****  ******   
+              *******  *******   **********  *******  
+             ***       **   ***  ** **** **  **   *** 
+             **        **   ***  **  **  **  **    ** 
+             **        *******   **      **  **    ** 
+             ***       ******    **      **  **   *** 
+              *******  **        **      **  *******  
+               ******  **        **      **  ******   
+
+                          VERSION 4.1-rUnversioned directory
+
+                            COPYRIGHT
+                      IBM RESEARCH DIVISION
+                MPI FESTKOERPERFORSCHUNG STUTTGART
+
+                       The CPMD consortium
+                  Home Page: http://www.cpmd.org
+               Mailing List: cpmd-list@cpmd.org
+                     E-mail: cpmd@cpmd.org
+
+
+                  ***  Jun 22 2016 -- 12:41:05  ***
+
+ THE INPUT FILE IS:                                     input.inp
+ THIS JOB RUNS ON:                                      lenovo700
+ THE CURRENT DIRECTORY IS: 
+ /home/lauri/Dropbox/nomad-dev/nomad-lab-base/parsers/cpmd/test/unittests/cpmd_4.1/h2
+ THE TEMPORARY DIRECTORY IS: 
+ /home/lauri/Dropbox/nomad-dev/nomad-lab-base/parsers/cpmd/test/unittests/cpmd_4.1/h2
+ THE PROCESS ID IS:                                         32589
+ THE JOB WAS SUBMITTED BY:                                  lauri
+
+
+ ******************************************************************************
+ * INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO - INFO *
+ ******************************************************************************
+ * isolated hydrogen molecule.                                                *
+ * single point calculation.                                                  *
+ ******************************************************************************
+
+ SINGLE POINT DENSITY OPTIMIZATION
+
+ USING SEED       123456 TO INIT. PSEUDO RANDOM NUMBER GEN.
+ PATH TO THE RESTART FILES:                                    ./
+ GRAM-SCHMIDT ORTHOGONALIZATION
+ MAXIMUM NUMBER OF STEPS:                             10000 STEPS
+ MAXIMUM NUMBER OF ITERATIONS FOR SC:                 10000 STEPS
+ PRINT INTERMEDIATE RESULTS EVERY                     10001 STEPS
+ STORE INTERMEDIATE RESULTS EVERY                     10001 STEPS
+ NUMBER OF DISTINCT RESTART FILES:                              1
+ TEMPERATURE IS CALCULATED ASSUMING EXTENDED BULK BEHAVIOR 
+ FICTITIOUS ELECTRON MASS:                               400.0000
+ TIME STEP FOR ELECTRONS:                                  5.0000
+ TIME STEP FOR IONS:                                       5.0000
+ CONVERGENCE CRITERIA FOR WAVEFUNCTION OPTIMIZATION:   1.0000E-07
+ WAVEFUNCTION OPTIMIZATION BY PRECONDITIONED DIIS
+ THRESHOLD FOR THE WF-HESSIAN IS                           0.5000
+ MAXIMUM NUMBER OF VECTORS RETAINED FOR DIIS:                  10
+ STEPS UNTIL DIIS RESET ON POOR PROGRESS:                      10
+ FULL ELECTRONIC GRADIENT IS USED 
+ SPLINE INTERPOLATION IN G-SPACE FOR PSEUDOPOTENTIAL FUNCTIONS
+    NUMBER OF SPLINE POINTS:                                 5000
+
+ EXCHANGE CORRELATION FUNCTIONALS 
+    LDA EXCHANGE:                                            NONE
+    LDA XC THROUGH PADE APPROXIMATION
+    S.GOEDECKER, J.HUTTER, M.TETER PRB 541703 (1996)
+
+ ***     DETSP| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ ***************************** ATOMS ****************************
+   NR   TYPE        X(BOHR)        Y(BOHR)        Z(BOHR)     MBL
+    1      H       8.259993       7.558904       7.558904       3
+    2      H       6.857816       7.558904       7.558904       3
+ ****************************************************************
+
+ NUMBER OF STATES:                                              1
+ NUMBER OF ELECTRONS:                                     2.00000
+ CHARGE:                                                  0.00000
+ ELECTRON TEMPERATURE(KELVIN):                            0.00000
+ OCCUPATION
+  2.0
+
+    ============================================================  
+    |    Pseudopotential Report     Thu Jan 11 18:21:49 1996   |  
+    ------------------------------------------------------------  
+    |  Atomic Symbol                   :   H                   |  
+    |  Atomic Number                   :   1                   |  
+    |  Number of core states           :   0                   |  
+    |  Number of valence states        :   1                   |  
+    |  Exchange-Correlation Functional :                       |  
+    |     Slater exchange :   .6667                            |  
+    |     LDA correlation : Ceperley-Alder                     |  
+    |  Electron Configuration :   N   L  Occupation            |  
+    |                             1   S    1.0000              |  
+    |  Full Potential Total Energy     -.445894                |  
+    |  Trouiller-Martins normconserving PP                     |  
+    |     n    l        rc       energy                        |  
+    |     1    S     .5000      -.23366                        |  
+    |     2    P     .5000      -.23366                        |  
+    |  Number of Mesh Points :   511                           |  
+    |  Pseudoatom Total Energy    -.445889                     |  
+    ============================================================  
+
+ ****************************************************************
+ *   ATOM       MASS   RAGGIO NLCC              PSEUDOPOTENTIAL *
+ *      H     1.0080   1.2000  NO                   S     LOCAL *
+ ****************************************************************
+
+
+ PARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARA
+  NCPU     NGW     NHG  PLANES  GXRAYS  HXRAYS ORBITALS Z-PLANES
+     0   17133  136605      90    1281    5089       1       1
+                G=0 COMPONENT ON PROCESSOR :     0
+ PARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARAPARA
+
+ ***    loadpa| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ OPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPEN
+ NUMBER OF CPUS PER TASK                                        1
+ OPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPENMPOPEN
+
+ ***     rggen| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ ************************** SUPERCELL ***************************
+ SYMMETRY:                                           SIMPLE CUBIC
+ LATTICE CONSTANT(a.u.):                                 15.11781
+ CELL DIMENSION:  15.1178  1.0000  1.0000  0.0000  0.0000  0.0000
+ VOLUME(OMEGA IN BOHR^3):                              3455.14726
+ LATTICE VECTOR A1(BOHR):           15.1178     0.0000     0.0000
+ LATTICE VECTOR A2(BOHR):            0.0000    15.1178     0.0000
+ LATTICE VECTOR A3(BOHR):            0.0000     0.0000    15.1178
+ RECIP. LAT. VEC. B1(2Pi/BOHR):      0.0661     0.0000     0.0000
+ RECIP. LAT. VEC. B2(2Pi/BOHR):      0.0000     0.0661     0.0000
+ RECIP. LAT. VEC. B3(2Pi/BOHR):      0.0000     0.0000     0.0661
+ REAL SPACE MESH:                    90           90           90
+ WAVEFUNCTION CUTOFF(RYDBERG):                           70.00000
+ DENSITY CUTOFF(RYDBERG):          (DUAL= 4.00)         280.00000
+ NUMBER OF PLANE WAVES FOR WAVEFUNCTION CUTOFF:             17133
+ NUMBER OF PLANE WAVES FOR DENSITY CUTOFF:                 136605
+ ****************************************************************
+
+ ***  RINFORCE| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ***    FFTPRP| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ GENERATE ATOMIC BASIS SET
+      H        SLATER ORBITALS
+        1S        ALPHA=   1.0000      OCCUPATION= 1.00
+
+
+ INITIALIZATION TIME:                                0.48 SECONDS
+
+ ***    WFOPTS| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ***     PHFAC| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ NOTE: ATOMIC GUESS USING DISTRIBUTED LINALG WITH LANCZOS
+ ***    ATOMWF| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ ATRHO| CHARGE(R-SPACE):    2.000000 (G-SPACE):    2.000000
+
+   ATOM          COORDINATES            GRADIENTS (-FORCES)
+   1  H  8.2600  7.5589  7.5589   0.000E+00  0.000E+00  0.000E+00
+   2  H  6.8578  7.5589  7.5589   0.000E+00  0.000E+00  0.000E+00
+
+ TIME FOR WAVEFUNCTION INITIALIZATION:               0.83 SECONDS
+ ***    RWFOPT| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+ EWALD| SUM IN REAL SPACE OVER                      1* 1* 1 CELLS
+
+ TOTAL INTEGRATED ELECTRONIC DENSITY
+    IN G-SPACE =                                     2.0000000000
+    IN R-SPACE =                                     2.0000000000
+
+ (K+E1+L+N+X)           TOTAL ENERGY =           -1.09689770 A.U.
+ (K)                  KINETIC ENERGY =            0.81247072 A.U.
+ (E1=A-S+R)     ELECTROSTATIC ENERGY =           -0.48640053 A.U.
+ (S)                           ESELF =            0.66490380 A.U.
+ (R)                             ESR =            0.17302593 A.U.
+ (L)    LOCAL PSEUDOPOTENTIAL ENERGY =           -0.84879440 A.U.
+ (N)      N-L PSEUDOPOTENTIAL ENERGY =            0.00000000 A.U.
+ (X)     EXCHANGE-CORRELATION ENERGY =           -0.57417350 A.U.
+
+ NFI      GEMAX       CNORM           ETOT        DETOT      TCPU
+   1  3.816E-02   2.886E-03      -1.096898    0.000E+00      0.23
+   2  8.628E-03   1.041E-03      -1.130803   -3.391E-02      0.22
+   3  2.736E-03   2.293E-04      -1.132376   -1.572E-03      0.22
+   4  6.115E-04   4.235E-05      -1.132456   -8.056E-05      0.22
+   5  1.532E-04   7.007E-06      -1.132459   -3.315E-06      0.24
+   6  3.895E-05   1.396E-06      -1.132460   -1.338E-07      0.22
+   7  6.288E-06   4.459E-07      -1.132460   -7.717E-09      0.22
+   8  7.941E-07   1.282E-07      -1.132460   -4.283E-10      0.22
+   9  1.237E-07   2.861E-08      -1.132460   -1.992E-11      0.22
+  10  2.278E-08   5.401E-09      -1.132460   -8.606E-13      0.22
+
+ RESTART INFORMATION WRITTEN ON FILE                  ./RESTART.1
+ ***    RWFOPT| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ ****************************************************************
+ *                                                              *
+ *                        FINAL RESULTS                         *
+ *                                                              *
+ ****************************************************************
+
+   ATOM          COORDINATES            GRADIENTS (-FORCES)
+   1  H  8.2600  7.5589  7.5589   1.780E-02 -1.104E-16 -9.425E-17
+   2  H  6.8578  7.5589  7.5589  -1.780E-02 -1.867E-16 -1.490E-16
+
+ ****************************************************************
+
+
+ ELECTRONIC GRADIENT:
+    MAX. COMPONENT =    1.15980E-08         NORM =    1.11525E-09
+ NUCLEAR GRADIENT:
+    MAX. COMPONENT =    1.77985E-02         NORM =    1.02760E-02
+
+
+ TOTAL INTEGRATED ELECTRONIC DENSITY
+    IN G-SPACE =                                     2.0000000000
+    IN R-SPACE =                                     2.0000000000
+
+ (K+E1+L+N+X)           TOTAL ENERGY =           -1.13245953 A.U.
+ (K)                  KINETIC ENERGY =            1.09007149 A.U.
+ (E1=A-S+R)     ELECTROSTATIC ENERGY =           -0.47319176 A.U.
+ (S)                           ESELF =            0.66490380 A.U.
+ (R)                             ESR =            0.17302593 A.U.
+ (L)    LOCAL PSEUDOPOTENTIAL ENERGY =           -1.09902228 A.U.
+ (N)      N-L PSEUDOPOTENTIAL ENERGY =            0.00000000 A.U.
+ (X)     EXCHANGE-CORRELATION ENERGY =           -0.65031699 A.U.
+
+ ****************************************************************
+
+
+
+ ****************************************************************
+ *                                                              *
+ *                            TIMING                            *
+ *                                                              *
+ ****************************************************************
+ SUBROUTINE       CALLS             SELF TIME          TOTAL TIME
+                            AVERAGE   MAXIMUM   AVERAGE   MAXIMUM
+ cpmd                 1        0.00      0.00      3.67      3.67
+ rwfopt               1        0.00      0.00      3.20      3.20
+ updwf               11        0.00      0.00      2.37      2.37
+ forcedr             11        0.00      0.00      2.33      2.33
+ forces              11        0.00      0.00      2.33      2.33
+ forces_a            11        0.00      0.00      1.80      1.80
+ rscpot              11        0.00      0.00      1.80      1.80
+ vofrho              12        0.00      0.00      1.79      1.79
+ VOFRHOB             12        0.04      0.04      1.22      1.22
+ INVFFTN             37        1.12      1.12      1.12      1.12
+ initrun              1        0.00      0.00      0.82      0.82
+ rinitwf              1        0.00      0.00      0.82      0.82
+ ATOMWF               1        0.00      0.00      0.82      0.82
+ FWFFTN              25        0.69      0.69      0.69      0.69
+ xcener_new          12        0.04      0.04      0.67      0.67
+ mikeu               12        0.63      0.63      0.63      0.63
+ vpsi                13        0.06      0.06      0.63      0.63
+ VOFRHOA             12        0.03      0.03      0.57      0.57
+ ATRHO                1        0.35      0.35      0.39      0.39
+ rhoofr              11        0.07      0.07      0.34      0.34
+ rinit                1        0.00      0.00      0.26      0.26
+ rggen                1        0.01      0.01      0.26      0.26
+ loadpa               1        0.01      0.01      0.25      0.25
+ dist_ksmat           1        0.00      0.00      0.11      0.11
+ RINFORCE             1        0.00      0.00      0.10      0.10
+ NUMPW                1        0.10      0.10      0.10      0.10
+ loadpa_b             1        0.10      0.10      0.10      0.10
+ loadpa_c             1        0.10      0.10      0.10      0.10
+ FORMFN               1        0.10      0.10      0.10      0.10
+ ppener              12        0.06      0.06      0.06      0.06
+ loadpa_a             1        0.04      0.04      0.04      0.04
+ EICALC              12        0.04      0.04      0.04      0.04
+ odiis               11        0.04      0.04      0.04      0.04
+ PUTPS                1        0.01      0.01      0.01      0.01
+ forces_b            11        0.00      0.00      0.01      0.01
+ potfor               1        0.01      0.01      0.01      0.01
+ fftprp               1        0.00      0.00      0.00      0.00
+ ****************************************************************
+
+       CPU TIME :    0 HOURS  0 MINUTES  3.67 SECONDS     
+   ELAPSED TIME :    0 HOURS  0 MINUTES  3.67 SECONDS     
+ ***      CPMD| SIZE OF THE PROGRAM IS NOT AVAILABLE          ***
+
+ PROGRAM CPMD ENDED AT:   2016-07-04 14:05:10.523   
diff --git a/test/unittests/cpmd_4.1/single_point/run.sh b/test/unittests/cpmd_4.1/single_point/run.sh
new file mode 100755
index 0000000000000000000000000000000000000000..222042e49aa219ad6e922865b7797f786e068428
--- /dev/null
+++ b/test/unittests/cpmd_4.1/single_point/run.sh
@@ -0,0 +1,3 @@
+export CPMD_PP_LIBRARY_PATH=../
+export OMP_NUM_THREADS=1
+cpmd41 input.inp > output.out