From 0076c358e33198e7c8d35134423b28a82ebff878 Mon Sep 17 00:00:00 2001
From: Alvin Noe Ladines <ladinesalvinnoe@gmail.com>
Date: Tue, 21 Dec 2021 00:52:53 +0100
Subject: [PATCH] Parser fixes issue #701

---
 dependencies/parsers/cp2k     |  2 +-
 dependencies/parsers/crystal  |  2 +-
 dependencies/parsers/exciting |  2 +-
 dependencies/parsers/fhi-aims |  2 +-
 dependencies/parsers/gaussian |  2 +-
 dependencies/parsers/gromacs  |  2 +-
 dependencies/parsers/lammps   |  2 +-
 dependencies/parsers/octopus  |  2 +-
 dependencies/parsers/openkim  |  2 +-
 dependencies/parsers/vasp     |  2 +-
 dependencies/parsers/wien2k   |  2 +-
 nomad/normalizing/results.py  | 10 ++++++++--
 nomad/normalizing/workflow.py |  6 +++++-
 13 files changed, 24 insertions(+), 14 deletions(-)

diff --git a/dependencies/parsers/cp2k b/dependencies/parsers/cp2k
index 566b1dc900..f3ce55d656 160000
--- a/dependencies/parsers/cp2k
+++ b/dependencies/parsers/cp2k
@@ -1 +1 @@
-Subproject commit 566b1dc9005f261d7b9338bebd7ba6f03f77064f
+Subproject commit f3ce55d656b74d1cdeb86681dd3f104b493a4a18
diff --git a/dependencies/parsers/crystal b/dependencies/parsers/crystal
index 2ded98fc63..ba651972b8 160000
--- a/dependencies/parsers/crystal
+++ b/dependencies/parsers/crystal
@@ -1 +1 @@
-Subproject commit 2ded98fc638765a8ae6b986056d9782b37ab9fac
+Subproject commit ba651972b85c14f5c35317400c5f41511fe91611
diff --git a/dependencies/parsers/exciting b/dependencies/parsers/exciting
index 650f790435..92b5304f44 160000
--- a/dependencies/parsers/exciting
+++ b/dependencies/parsers/exciting
@@ -1 +1 @@
-Subproject commit 650f790435cea5a8e4936b4c5119831db9bdb1bd
+Subproject commit 92b5304f44de8853e6bc56f22f79fefd6dccbdef
diff --git a/dependencies/parsers/fhi-aims b/dependencies/parsers/fhi-aims
index a881fb41c5..2e725461e9 160000
--- a/dependencies/parsers/fhi-aims
+++ b/dependencies/parsers/fhi-aims
@@ -1 +1 @@
-Subproject commit a881fb41c5402f1eb08ffd918c5dc77dbc16fc33
+Subproject commit 2e725461e9463401c75643d603045ffafe3cab4c
diff --git a/dependencies/parsers/gaussian b/dependencies/parsers/gaussian
index c33fb8ea93..4e1e2cc790 160000
--- a/dependencies/parsers/gaussian
+++ b/dependencies/parsers/gaussian
@@ -1 +1 @@
-Subproject commit c33fb8ea93184752c580d2f497a2396399f45fe3
+Subproject commit 4e1e2cc790713269232f82b23534be5e1ece6e54
diff --git a/dependencies/parsers/gromacs b/dependencies/parsers/gromacs
index 2401385ace..9a4ba02a02 160000
--- a/dependencies/parsers/gromacs
+++ b/dependencies/parsers/gromacs
@@ -1 +1 @@
-Subproject commit 2401385ace6243b85c2fb7afd84212662c46958a
+Subproject commit 9a4ba02a02016f630640a68ad533f847a9343d58
diff --git a/dependencies/parsers/lammps b/dependencies/parsers/lammps
index 4e33076b7b..918f29baec 160000
--- a/dependencies/parsers/lammps
+++ b/dependencies/parsers/lammps
@@ -1 +1 @@
-Subproject commit 4e33076b7b459913ea099ddd5e32aac35600fd98
+Subproject commit 918f29baeceaa0c17b2c5cffd3ef04951c9afdd1
diff --git a/dependencies/parsers/octopus b/dependencies/parsers/octopus
index c2318c4b23..c81f95fc41 160000
--- a/dependencies/parsers/octopus
+++ b/dependencies/parsers/octopus
@@ -1 +1 @@
-Subproject commit c2318c4b2306a3522ebf36f94e3255b240de3e76
+Subproject commit c81f95fc41677153e83534bde23f97d9ada0b477
diff --git a/dependencies/parsers/openkim b/dependencies/parsers/openkim
index 59ab830112..b2cf175c43 160000
--- a/dependencies/parsers/openkim
+++ b/dependencies/parsers/openkim
@@ -1 +1 @@
-Subproject commit 59ab8301128b64e74b4bbfe92035a87c97b5adac
+Subproject commit b2cf175c432e2661dea9e5a7788d6439b36b1a9e
diff --git a/dependencies/parsers/vasp b/dependencies/parsers/vasp
index f51c57a025..40425ea663 160000
--- a/dependencies/parsers/vasp
+++ b/dependencies/parsers/vasp
@@ -1 +1 @@
-Subproject commit f51c57a0258510645c019b0f935f3e0f01b79282
+Subproject commit 40425ea66319a3390722f63a420e82b2d6277881
diff --git a/dependencies/parsers/wien2k b/dependencies/parsers/wien2k
index c8e4fa0a2f..4ac3b4f9fe 160000
--- a/dependencies/parsers/wien2k
+++ b/dependencies/parsers/wien2k
@@ -1 +1 @@
-Subproject commit c8e4fa0a2fab86d2cefc481fcd00969d81520058
+Subproject commit 4ac3b4f9fe998d36c037ce90fd907ffe5409e027
diff --git a/nomad/normalizing/results.py b/nomad/normalizing/results.py
index 44bcd3d437..3755eda9e6 100644
--- a/nomad/normalizing/results.py
+++ b/nomad/normalizing/results.py
@@ -568,6 +568,10 @@ class ResultsNormalizer(Normalizer):
         return conv_atoms, prim_atoms, wyckoff_sets, spg_number
 
     def structures_2d(self, original_atoms):
+        conv_atoms = None
+        prim_atoms = None
+        wyckoff_sets = None
+        spg_number = None
         try:
             # Get dimension of system by also taking into account the covalent radii
             dimensions = matid.geometry.get_dimensions(original_atoms, [True, True, True])
@@ -580,7 +584,8 @@ class ResultsNormalizer(Normalizer):
             # unsufficient (the structure is "wavy" making also the gap highly
             # nonlinear).
             if sum(periodicity) != 2:
-                raise ValueError("could not detect the periodic dimensions in a 2D system")
+                self.logger.error("could not detect the periodic dimensions in a 2D system")
+                return conv_atoms, prim_atoms, wyckoff_sets, spg_number
 
             # Center the system in the non-periodic direction, also taking
             # periodicity into account. The get_center_of_mass()-function in MatID
@@ -655,7 +660,8 @@ class ResultsNormalizer(Normalizer):
             # If one axis is not periodic, return. This only happens if the vacuum
             # gap is not aligned with a cell vector.
             if sum(periodicity) != 1:
-                raise ValueError("could not detect the periodic dimensions in a 1D system")
+                self.logger.error("could not detect the periodic dimensions in a 1D system")
+                return conv_atoms, prim_atoms
 
             # Translate to center of mass
             conv_atoms = prim_atoms.copy()
diff --git a/nomad/normalizing/workflow.py b/nomad/normalizing/workflow.py
index ca6375c8a6..9b21095cfb 100644
--- a/nomad/normalizing/workflow.py
+++ b/nomad/normalizing/workflow.py
@@ -420,7 +420,11 @@ class WorkflowNormalizer(Normalizer):
     def _resolve_workflow_type(self, run):
         # resolve it from parser
         workflow_type = None
-        program_name = run.program.name
+        try:
+            program_name = run.program.name
+        except Exception:
+            return
+
         if program_name:
             program_name = program_name.lower()
 
-- 
GitLab