diff --git a/README.md b/README.md index d83249845cf63e5623acb8ff1173f506ca65d761..cb504f1334d318258487914b890c3ee9ee382374 100644 --- a/README.md +++ b/README.md @@ -41,8 +41,8 @@ git clone https://gitlab.mpcdf.mpg.de/nomad-lab/nomad-meta-info.git Finally download and install the parser: ```sh -git clone https://gitlab.mpcdf.mpg.de/nomad-lab/parser-cp2k.git -cd parser-cp2k +git clone https://gitlab.mpcdf.mpg.de/nomad-lab/parser-cpmd.git +cd parser-cpmd pip install -e . ``` diff --git a/parser/parser-cpmd/cpmdparser/parser.py b/parser/parser-cpmd/cpmdparser/parser.py index 55f61725a2315a6ade42c8a4a4e56e0931259f96..41f848f7bb3cb30be71994bf708133231561284e 100644 --- a/parser/parser-cpmd/cpmdparser/parser.py +++ b/parser/parser-cpmd/cpmdparser/parser.py @@ -125,4 +125,4 @@ class CPMDParser(ParserInterface): except AttributeError: logger.exception("A parser class '{}' could not be found in the module '[]'.".format(run_type.class_name, parser_module)) raise - self.main_parser = parser_class(self.parser_context.main_file, self.parser_context) + self.main_parser = parser_class(self.parser_context) diff --git a/parser/parser-cpmd/cpmdparser/versions/cpmd41/commonparser.py b/parser/parser-cpmd/cpmdparser/versions/cpmd41/commonparser.py index 861480ec77bfafb5c8cebdd39c8feef43b0c0857..fa236cad51a07f969435e6d8495332c6b343d443 100644 --- a/parser/parser-cpmd/cpmdparser/versions/cpmd41/commonparser.py +++ b/parser/parser-cpmd/cpmdparser/versions/cpmd41/commonparser.py @@ -261,8 +261,8 @@ class CPMDCommonParser(CommonParser): input_filename = section.get_latest_value("x_cpmd_input_filename") input_filepath = self.file_service.set_file_id(input_filename, "input") if input_filepath is not None: - input_parser = CPMDInputParser(input_filepath, self.parser_context) - input_parser.parse() + input_parser = CPMDInputParser(self.parser_context) + input_parser.parse(input_filepath) else: logger.warning("The input file for the calculation could not be found.") diff --git a/parser/parser-cpmd/cpmdparser/versions/cpmd41/geooptparser.py b/parser/parser-cpmd/cpmdparser/versions/cpmd41/geooptparser.py index 254d2ca31d93b3aaed95b19c9583da154444b7e7..10fbf41df043ccf99ed38af85f6a01082d78a35f 100644 --- a/parser/parser-cpmd/cpmdparser/versions/cpmd41/geooptparser.py +++ b/parser/parser-cpmd/cpmdparser/versions/cpmd41/geooptparser.py @@ -12,10 +12,10 @@ class CPMDGeoOptParser(MainHierarchicalParser): """The main parser class that is called for all run types. Parses the CPMD output file. """ - def __init__(self, file_path, parser_context): + def __init__(self, parser_context): """ """ - super(CPMDGeoOptParser, self).__init__(file_path, parser_context) + super(CPMDGeoOptParser, self).__init__(parser_context) self.setup_common_matcher(CPMDCommonParser(parser_context)) self.n_frames = 0 self.sampling_method_gid = None diff --git a/parser/parser-cpmd/cpmdparser/versions/cpmd41/inputparser.py b/parser/parser-cpmd/cpmdparser/versions/cpmd41/inputparser.py index cd4d73aac753d78d34842e642ba3f45eac04b807..bb2d42681bb002d0caffadb0d4a24d34871aed0d 100644 --- a/parser/parser-cpmd/cpmdparser/versions/cpmd41/inputparser.py +++ b/parser/parser-cpmd/cpmdparser/versions/cpmd41/inputparser.py @@ -10,19 +10,19 @@ logger = logging.getLogger("nomad") class CPMDInputParser(AbstractBaseParser): """Parses the CPMD input file. """ - def __init__(self, file_path, parser_context): + def __init__(self, parser_context): """ """ - super(CPMDInputParser, self).__init__(file_path, parser_context) + super(CPMDInputParser, self).__init__(parser_context) self.input_tree = None - def parse(self): + def parse(self, filepath): self.setup_input_tree(self.parser_context.version_id) - self.collect_input() + self.collect_input(filepath) self.analyze_input() self.fill_metadata() - def collect_input(self): + def collect_input(self, filepath): """This function will first go through the input file and gather the information to the input tree. @@ -33,7 +33,7 @@ class CPMDInputParser(AbstractBaseParser): # The input file should be relatively small so we are better off # loading it into memory all at once. lines = None - with open(self.file_path, "r") as fin: + with open(filepath, "r") as fin: lines = fin.readlines() # Read the input line by line diff --git a/parser/parser-cpmd/cpmdparser/versions/cpmd41/mdparser.py b/parser/parser-cpmd/cpmdparser/versions/cpmd41/mdparser.py index b08a13c216ab0248dd336fa35476f6842aaa1c07..9280786a9001ae111f8ee23d740422cd94f1ff8b 100644 --- a/parser/parser-cpmd/cpmdparser/versions/cpmd41/mdparser.py +++ b/parser/parser-cpmd/cpmdparser/versions/cpmd41/mdparser.py @@ -14,10 +14,10 @@ class CPMDMDParser(MainHierarchicalParser): """The main parser class that is called for all run types. Parses the CPMD output file. """ - def __init__(self, file_path, parser_context): + def __init__(self, parser_context): """ """ - super(CPMDMDParser, self).__init__(file_path, parser_context) + super(CPMDMDParser, self).__init__(parser_context) self.setup_common_matcher(CPMDCommonParser(parser_context)) self.sampling_method_gid = None self.frame_refs = [] diff --git a/parser/parser-cpmd/cpmdparser/versions/cpmd41/singlepointparser.py b/parser/parser-cpmd/cpmdparser/versions/cpmd41/singlepointparser.py index 1b4806f7eea505f0c2f61a165d9929dce441576d..279ad999744093a8e13699e7764f95665eebe8d9 100644 --- a/parser/parser-cpmd/cpmdparser/versions/cpmd41/singlepointparser.py +++ b/parser/parser-cpmd/cpmdparser/versions/cpmd41/singlepointparser.py @@ -1,7 +1,6 @@ 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 .commonparser import CPMDCommonParser import re import logging @@ -9,15 +8,14 @@ import numpy as np LOGGER = logging.getLogger("nomad") -#=============================================================================== class CPMDSinglePointParser(MainHierarchicalParser): """The main parser class that is called for all run types. Parses the CPMD output file. """ - def __init__(self, file_path, parser_context): + def __init__(self, parser_context): """ """ - super(CPMDSinglePointParser, self).__init__(file_path, parser_context) + super(CPMDSinglePointParser, self).__init__(parser_context) self.setup_common_matcher(CPMDCommonParser(parser_context)) self.n_scf_iterations = 0