diff --git a/dependencies/parsers/electronic b/dependencies/parsers/electronic
index f9041688ff9cf96d9571d1907cf2c7f577ffb1ba..aabcd0182d8d16f6d927ea29556f40280cf68580 160000
--- a/dependencies/parsers/electronic
+++ b/dependencies/parsers/electronic
@@ -1 +1 @@
-Subproject commit f9041688ff9cf96d9571d1907cf2c7f577ffb1ba
+Subproject commit aabcd0182d8d16f6d927ea29556f40280cf68580
diff --git a/gui/src/metainfo.json b/gui/src/metainfo.json
index 7400400fe9f35fe64d2a7d3a6022da92b1800d0c..a8b126d08dbd637b2ecfb45b53ba072acb306658 100644
--- a/gui/src/metainfo.json
+++ b/gui/src/metainfo.json
@@ -11,15 +11,15 @@
           "m_def": "nomad.metainfo.metainfo.Section",
           "m_parent_index": 0,
           "m_parent_sub_section": "section_definitions",
-          "name": "KMesh",
-          "description": "Contains the settings for a uniformly spaced k-point grid (if employed).",
+          "name": "Mesh",
+          "description": "Contains the settings for a sampling mesh. Supports uniformly-spaced meshes and symmetry-reduced representations.",
           "quantities": [
             {
               "m_def": "nomad.metainfo.metainfo.Quantity",
               "m_parent_index": 0,
               "m_parent_sub_section": "quantities",
-              "name": "n_points",
-              "description": "Number of k points in the mesh (i.e. the k points used to evaluate energy_total).",
+              "name": "dimensionality",
+              "description": "Dimensionality of the mesh.",
               "type": {
                 "type_kind": "numpy",
                 "type_data": "int32"
@@ -30,55 +30,92 @@
               "m_def": "nomad.metainfo.metainfo.Quantity",
               "m_parent_index": 1,
               "m_parent_sub_section": "quantities",
+              "name": "sampling_method",
+              "description": "Method used to generate the mesh:\n\n| Name      | Description                      | Reference             |\n\n| --------- | -------------------------------- | --------------------- |\n\n| `'Gamma-centered'` | Regular mesh is centered around Gamma. No offset. |\n\n| `'Monkhorst-Pack'` | Regular mesh with an offset of half the reciprocal lattice vector. |\n\n| `'Gamma-offcenter'` | Regular mesh with an offset that is neither `'Gamma-centered'`, nor `'Monkhorst-Pack'`. |\n\n| `'Line-path'` | Line path along high-symmetry points. Typically employed for simualting band structures. |\n\n| `'Equidistant'`  | Equidistant 1D grid (also known as 'Newton-Cotes')                      |\n\n| `'Logarithmic'`  | log distance 1D grid               |\n\n| `'Gauss-Legendre'` | Quadrature rule for integration using Legendre polynomials |\n\n| `'Gauss-Laguerre'` | Quadrature rule for integration using Laguerre polynomials |\n\n| `'Clenshaw-Curtis'`  | Quadrature rule for integration using Chebyshev polynomials using discrete cosine transformations |\n\n| `'Gauss-Hermite'`  | Quadrature rule for integration using Hermite polynomials |",
+              "type": {
+                "type_kind": "Enum",
+                "type_data": [
+                  "Gamma-centered",
+                  "Monkhorst-Pack",
+                  "Gamma-offcenter",
+                  "Line-path",
+                  "Equidistant",
+                  "Logarithmic",
+                  "Gauss-Legendre",
+                  "Gauss-LaguerreClenshaw-Curtis",
+                  "Newton-Cotes",
+                  "Gauss-Hermite"
+                ]
+              },
+              "shape": []
+            },
+            {
+              "m_def": "nomad.metainfo.metainfo.Quantity",
+              "m_parent_index": 2,
+              "m_parent_sub_section": "quantities",
+              "name": "n_points",
+              "description": "Total number of points in the mesh, accounting for the multiplicities.",
+              "type": {
+                "type_kind": "numpy",
+                "type_data": "int32"
+              },
+              "shape": []
+            },
+            {
+              "m_def": "nomad.metainfo.metainfo.Quantity",
+              "m_parent_index": 3,
+              "m_parent_sub_section": "quantities",
               "name": "grid",
-              "description": "k-point grid used in notation [nx, ny, nz] in fractional coordinates.",
+              "description": "Amount of mesh point sampling along each axis, i.e. [nx, ny, nz].",
               "type": {
                 "type_kind": "numpy",
                 "type_data": "int32"
               },
               "shape": [
-                3
+                "dimensionality"
               ]
             },
             {
               "m_def": "nomad.metainfo.metainfo.Quantity",
-              "m_parent_index": 2,
+              "m_parent_index": 4,
               "m_parent_sub_section": "quantities",
-              "name": "generation_method",
-              "description": "Method used to generate the k points.",
+              "name": "points",
+              "description": "List of all the points in the mesh.",
               "type": {
-                "type_kind": "python",
-                "type_data": "str"
+                "type_kind": "numpy",
+                "type_data": "complex128"
               },
-              "shape": []
+              "shape": [
+                "*",
+                "dimensionality"
+              ]
             },
             {
               "m_def": "nomad.metainfo.metainfo.Quantity",
-              "m_parent_index": 3,
+              "m_parent_index": 5,
               "m_parent_sub_section": "quantities",
-              "name": "points",
-              "description": "List of all the k points in the $k$-point mesh. These are the k point used to\nevaluate energy_total, and are in fractional coordinates (in the basis of the\nreciprocal-lattice vectors).",
+              "name": "multiplicities",
+              "description": "The amount of times the same point reappears. These are accounted for in `n_points`.\nA value larger than 1, typically indicates a symmtery operation that was applied to the mesh.",
               "type": {
                 "type_kind": "numpy",
                 "type_data": "float64"
               },
               "shape": [
-                "n_points",
-                3
+                "*"
               ]
             },
             {
               "m_def": "nomad.metainfo.metainfo.Quantity",
-              "m_parent_index": 4,
+              "m_parent_index": 6,
               "m_parent_sub_section": "quantities",
               "name": "weights",
-              "description": "Weights of all the k points in the $k$-point mesh. These are the weights for\nk_mesh_points (i.e. the k point used to evaluate energy_total).",
+              "description": "The frequency of times the same point reappears.\nA value larger than 1, typically indicates a symmtery operation that was applied to the mesh.",
               "type": {
                 "type_kind": "numpy",
                 "type_data": "float64"
               },
               "shape": [
-                "n_points"
+                "*"
               ]
             }
           ]
@@ -87,15 +124,15 @@
           "m_def": "nomad.metainfo.metainfo.Section",
           "m_parent_index": 1,
           "m_parent_sub_section": "section_definitions",
-          "name": "FrequencyMesh",
-          "description": "Contains the settings for a uniformly spaced frequency-point grid.",
+          "name": "LinePathSegment",
+          "description": "Contains the settings for a single line path segment in a mesh.",
           "quantities": [
             {
               "m_def": "nomad.metainfo.metainfo.Quantity",
               "m_parent_index": 0,
               "m_parent_sub_section": "quantities",
-              "name": "type",
-              "description": "Grid type.",
+              "name": "start_point",
+              "description": "Name of the hihg-symmetry starting point of the line path segment.",
               "type": {
                 "type_kind": "python",
                 "type_data": "str"
@@ -106,46 +143,161 @@
               "m_def": "nomad.metainfo.metainfo.Quantity",
               "m_parent_index": 1,
               "m_parent_sub_section": "quantities",
+              "name": "end_point",
+              "description": "Name of the high-symmetry end point of the line path segment.",
+              "type": {
+                "type_kind": "python",
+                "type_data": "str"
+              },
+              "shape": []
+            },
+            {
+              "m_def": "nomad.metainfo.metainfo.Quantity",
+              "m_parent_index": 2,
+              "m_parent_sub_section": "quantities",
               "name": "n_points",
-              "description": "Number of frequency points in the mesh.",
+              "description": "Number of points in the line path segment.",
               "type": {
                 "type_kind": "numpy",
                 "type_data": "int32"
               },
               "shape": []
             },
+            {
+              "m_def": "nomad.metainfo.metainfo.Quantity",
+              "m_parent_index": 3,
+              "m_parent_sub_section": "quantities",
+              "name": "points",
+              "description": "List of all the points in the line path segment.",
+              "type": {
+                "type_kind": "numpy",
+                "type_data": "float64"
+              },
+              "shape": [
+                "*",
+                3
+              ]
+            }
+          ]
+        },
+        {
+          "m_def": "nomad.metainfo.metainfo.Section",
+          "m_parent_index": 2,
+          "m_parent_sub_section": "section_definitions",
+          "name": "KMesh",
+          "description": "Contains the settings for a sampling mesh in 3D reciprocal space. Supports uniformly-spaced meshes, line paths along high-symmetry points,\nas well as symmetry-reduced and full representations.",
+          "base_sections": [
+            "/packages/0/section_definitions/0"
+          ],
+          "quantities": [
+            {
+              "m_def": "nomad.metainfo.metainfo.Quantity",
+              "m_parent_index": 0,
+              "m_parent_sub_section": "quantities",
+              "name": "offset",
+              "description": "Offset vector shifting the mesh with respect to a Gamma-centered case.",
+              "type": {
+                "type_kind": "numpy",
+                "type_data": "float64"
+              },
+              "shape": [
+                3
+              ]
+            },
+            {
+              "m_def": "nomad.metainfo.metainfo.Quantity",
+              "m_parent_index": 1,
+              "m_parent_sub_section": "quantities",
+              "name": "all_points",
+              "description": "Full list of the mesh points without any symmetry operations.",
+              "type": {
+                "type_kind": "numpy",
+                "type_data": "float64"
+              },
+              "shape": [
+                "*",
+                3
+              ]
+            },
             {
               "m_def": "nomad.metainfo.metainfo.Quantity",
               "m_parent_index": 2,
               "m_parent_sub_section": "quantities",
-              "name": "values",
-              "description": "List of all the real+imag frequencies.",
+              "name": "high_symmetry_points",
+              "description": "Named high symmetry points in the mesh.",
+              "type": {
+                "type_kind": "python",
+                "type_data": "str"
+              },
+              "shape": [
+                "*"
+              ]
+            }
+          ],
+          "sub_sections": [
+            {
+              "m_def": "nomad.metainfo.metainfo.SubSection",
+              "m_parent_index": 0,
+              "m_parent_sub_section": "sub_sections",
+              "name": "line_path_segments",
+              "sub_section": "/packages/0/section_definitions/1",
+              "repeats": true
+            }
+          ]
+        },
+        {
+          "m_def": "nomad.metainfo.metainfo.Section",
+          "m_parent_index": 3,
+          "m_parent_sub_section": "section_definitions",
+          "name": "FrequencyMesh",
+          "description": "Contains the settings for a sampling mesh in 1D frequency space, either real or imaginary.",
+          "base_sections": [
+            "/packages/0/section_definitions/0"
+          ],
+          "quantities": [
+            {
+              "m_def": "nomad.metainfo.metainfo.Quantity",
+              "m_parent_index": 0,
+              "m_parent_sub_section": "quantities",
+              "name": "points",
+              "description": "List of all the points in the mesh in joules.",
               "type": {
                 "type_kind": "numpy",
                 "type_data": "complex128"
               },
               "shape": [
-                "n_points"
+                "n_points",
+                "dimensionality"
               ],
               "unit": "joule"
             },
             {
               "m_def": "nomad.metainfo.metainfo.Quantity",
-              "m_parent_index": 3,
+              "m_parent_index": 1,
               "m_parent_sub_section": "quantities",
-              "name": "weights",
-              "description": "Weights of all the frequencies.",
+              "name": "smearing",
+              "description": "Numerical smearing parameter used for convolutions.",
               "type": {
                 "type_kind": "numpy",
                 "type_data": "float64"
               },
-              "shape": [
-                "n_points"
-              ]
-            },
+              "shape": []
+            }
+          ]
+        },
+        {
+          "m_def": "nomad.metainfo.metainfo.Section",
+          "m_parent_index": 4,
+          "m_parent_sub_section": "section_definitions",
+          "name": "TimeMesh",
+          "description": "Contains the settings for a sampling mesh in 1D time space, either real or imaginary.",
+          "base_sections": [
+            "/packages/0/section_definitions/0"
+          ],
+          "quantities": [
             {
               "m_def": "nomad.metainfo.metainfo.Quantity",
-              "m_parent_index": 4,
+              "m_parent_index": 0,
               "m_parent_sub_section": "quantities",
               "name": "smearing",
               "description": "Numerical smearing parameter used for convolutions.",
@@ -159,7 +311,7 @@
         },
         {
           "m_def": "nomad.metainfo.metainfo.Section",
-          "m_parent_index": 2,
+          "m_parent_index": 5,
           "m_parent_sub_section": "section_definitions",
           "name": "Scf",
           "description": "Section containing the parameters related to self consistency.",
@@ -226,7 +378,7 @@
         },
         {
           "m_def": "nomad.metainfo.metainfo.Section",
-          "m_parent_index": 3,
+          "m_parent_index": 6,
           "m_parent_sub_section": "section_definitions",
           "name": "HubbardKanamoriModel",
           "description": "Setup of the local Hubbard model.",
@@ -385,7 +537,7 @@
         },
         {
           "m_def": "nomad.metainfo.metainfo.Section",
-          "m_parent_index": 4,
+          "m_parent_index": 7,
           "m_parent_sub_section": "section_definitions",
           "name": "AtomParameters",
           "description": "Contains method-related information about a kind of atom identified by label. This allows the assignment of an atom-centered basis set or pseudopotential for different\natoms belonging to the same kind.\n\nThrough this section we use the wording \"active\" mainly for defining orbital-related\nquantities. Active refers to the relevant orbital parameters in the atom.",
@@ -541,14 +693,14 @@
               "m_parent_index": 0,
               "m_parent_sub_section": "sub_sections",
               "name": "hubbard_kanamori_model",
-              "sub_section": "/packages/0/section_definitions/3",
+              "sub_section": "/packages/0/section_definitions/6",
               "repeats": false
             }
           ]
         },
         {
           "m_def": "nomad.metainfo.metainfo.Section",
-          "m_parent_index": 5,
+          "m_parent_index": 8,
           "m_parent_sub_section": "section_definitions",
           "name": "MoleculeParameters",
           "description": "Contains method-related information about a kind of atom identified by label. This allows the assignment of an atom-centered basis set or pseudopotential for different\natoms belonging to the same kind.",
@@ -584,14 +736,14 @@
               "m_parent_index": 0,
               "m_parent_sub_section": "sub_sections",
               "name": "atom_parameters",
-              "sub_section": "/packages/0/section_definitions/4",
+              "sub_section": "/packages/0/section_definitions/7",
               "repeats": true
             }
           ]
         },
         {
           "m_def": "nomad.metainfo.metainfo.Section",
-          "m_parent_index": 6,
+          "m_parent_index": 9,
           "m_parent_sub_section": "section_definitions",
           "name": "Photon",
           "description": "Section containing the details of the photon field used for spectrum calculations.",
@@ -651,7 +803,7 @@
         },
         {
           "m_def": "nomad.metainfo.metainfo.Section",
-          "m_parent_index": 7,
+          "m_parent_index": 10,
           "m_parent_sub_section": "section_definitions",
           "name": "GaussianBasisGroup",
           "description": "Section that describes a group of Gaussian contractions. Groups allow one to calculate the primitive Gaussian integrals once for several different linear combinations of\nthem. This defines basis functions with radial part $f_i(r) = r^{l_i} \\sum_{j} c_{i j}\nA(l_i, \\alpha_j) exp(-\\alpha_j r^2)$ where $A(l_i, \\alpha_j)$ is a the normalization\ncoefficient for primitive Gaussian basis functions. Here, $\\alpha_j$ is defined in\ngaussian_basis_group_exponents, $l_i$ is given in gaussian_basis_group_ls, and $c_{i\nj}$ is given in gaussian_basis_group_contractions, whereas the radial part is given by\nthe spherical harmonics $Y_{l m}$.\n\nThis section is defined only if the original basis function uses Gaussian basis\nfunctions, and the sequence of radial functions $f_i$ across all\nsection_gaussian_basis_group in section_basis_set_atom_centered should match the one\nof basis_set_atom_centered_radial_functions.",
@@ -728,7 +880,7 @@
         },
         {
           "m_def": "nomad.metainfo.metainfo.Section",
-          "m_parent_index": 8,
+          "m_parent_index": 11,
           "m_parent_sub_section": "section_definitions",
           "name": "BasisSetAtomCentered",
           "description": "This section describes the atom-centered basis set. The main contained information is a short, non unique but human-interpretable, name for identifying the basis set\n(short_name), a longer unique name, the atomic number of the atomic species the\nbasis set is meant for.",
@@ -780,14 +932,14 @@
               "m_parent_index": 0,
               "m_parent_sub_section": "sub_sections",
               "name": "gaussian_basis_group",
-              "sub_section": "/packages/0/section_definitions/7",
+              "sub_section": "/packages/0/section_definitions/10",
               "repeats": true
             }
           ]
         },
         {
           "m_def": "nomad.metainfo.metainfo.Section",
-          "m_parent_index": 9,
+          "m_parent_index": 12,
           "m_parent_sub_section": "section_definitions",
           "name": "BasisSetCellDependent",
           "description": "Section describing a cell-dependent (atom-independent) basis set, e.g. plane waves. The contained information is the type of basis set (in basis_set_cell_dependent_kind),\nits parameters (e.g., for plane waves in basis_set_planewave_cutoff), and a name that\nidentifies the actually used basis set (a string combining the type and the\nparameter(s), stored in name).",
@@ -850,7 +1002,7 @@
         },
         {
           "m_def": "nomad.metainfo.metainfo.Section",
-          "m_parent_index": 10,
+          "m_parent_index": 13,
           "m_parent_sub_section": "section_definitions",
           "name": "BasisSet",
           "description": "This section contains all basis sets used to represent the wavefunction or electron density.",
@@ -907,7 +1059,7 @@
               "m_parent_index": 0,
               "m_parent_sub_section": "sub_sections",
               "name": "cell_dependent",
-              "sub_section": "/packages/0/section_definitions/9",
+              "sub_section": "/packages/0/section_definitions/12",
               "repeats": true
             },
             {
@@ -915,14 +1067,14 @@
               "m_parent_index": 1,
               "m_parent_sub_section": "sub_sections",
               "name": "atom_centered",
-              "sub_section": "/packages/0/section_definitions/8",
+              "sub_section": "/packages/0/section_definitions/11",
               "repeats": true
             }
           ]
         },
         {
           "m_def": "nomad.metainfo.metainfo.Section",
-          "m_parent_index": 11,
+          "m_parent_index": 14,
           "m_parent_sub_section": "section_definitions",
           "name": "Interaction",
           "description": "Section containing the parameters of a contribution to a force field model.",
@@ -1036,7 +1188,7 @@
         },
         {
           "m_def": "nomad.metainfo.metainfo.Section",
-          "m_parent_index": 12,
+          "m_parent_index": 15,
           "m_parent_sub_section": "section_definitions",
           "name": "Model",
           "description": "Section containing the parameters of a force field model. If specified, the parameters corresponding to the individual contributions to the model are given in contributions.\nOtherwise, the parameters can also be found in a reference to the published model.",
@@ -1075,14 +1227,14 @@
               "m_parent_index": 0,
               "m_parent_sub_section": "sub_sections",
               "name": "contributions",
-              "sub_section": "/packages/0/section_definitions/11",
+              "sub_section": "/packages/0/section_definitions/14",
               "repeats": true
             }
           ]
         },
         {
           "m_def": "nomad.metainfo.metainfo.Section",
-          "m_parent_index": 13,
+          "m_parent_index": 16,
           "m_parent_sub_section": "section_definitions",
           "name": "Functional",
           "description": "Section containing the parameters of an exchange or correlation functional.",
@@ -1129,12 +1281,12 @@
         },
         {
           "m_def": "nomad.metainfo.metainfo.Section",
-          "m_parent_index": 14,
+          "m_parent_index": 17,
           "m_parent_sub_section": "section_definitions",
           "name": "XCFunctional",
           "description": "Section describing the exchange-correlation functional used in the DFT calculation. The name of the exchange-correlation functional is given by name and the reference to\nthe published functional is provided by reference. Other contributions to the\nfunctional not covered by exchange, correlation or hybrid types may be specified in\ncontributions.",
           "base_sections": [
-            "/packages/0/section_definitions/12"
+            "/packages/0/section_definitions/15"
           ],
           "extending_sections": [
             "/packages/43/section_definitions/7"
@@ -1145,7 +1297,7 @@
               "m_parent_index": 0,
               "m_parent_sub_section": "sub_sections",
               "name": "exchange",
-              "sub_section": "/packages/0/section_definitions/13",
+              "sub_section": "/packages/0/section_definitions/16",
               "repeats": true
             },
             {
@@ -1153,7 +1305,7 @@
               "m_parent_index": 1,
               "m_parent_sub_section": "sub_sections",
               "name": "correlation",
-              "sub_section": "/packages/0/section_definitions/13",
+              "sub_section": "/packages/0/section_definitions/16",
               "repeats": true
             },
             {
@@ -1161,7 +1313,7 @@
               "m_parent_index": 2,
               "m_parent_sub_section": "sub_sections",
               "name": "hybrid",
-              "sub_section": "/packages/0/section_definitions/13",
+              "sub_section": "/packages/0/section_definitions/16",
               "repeats": true
             },
             {
@@ -1169,14 +1321,14 @@
               "m_parent_index": 3,
               "m_parent_sub_section": "sub_sections",
               "name": "contributions",
-              "sub_section": "/packages/0/section_definitions/13",
+              "sub_section": "/packages/0/section_definitions/16",
               "repeats": true
             }
           ]
         },
         {
           "m_def": "nomad.metainfo.metainfo.Section",
-          "m_parent_index": 15,
+          "m_parent_index": 18,
           "m_parent_sub_section": "section_definitions",
           "name": "DFT",
           "description": "Section containing the various parameters that define a DFT calculation. These include settings for the exchange correlation functionals, LDA+U, etc.",
@@ -1203,13 +1355,13 @@
               "m_parent_index": 0,
               "m_parent_sub_section": "sub_sections",
               "name": "xc_functional",
-              "sub_section": "/packages/0/section_definitions/14"
+              "sub_section": "/packages/0/section_definitions/17"
             }
           ]
         },
         {
           "m_def": "nomad.metainfo.metainfo.Section",
-          "m_parent_index": 16,
+          "m_parent_index": 19,
           "m_parent_sub_section": "section_definitions",
           "name": "Wannier",
           "description": "Section containing the various parameters that define a Wannier tight-binding method.",
@@ -1288,21 +1440,11 @@
               ],
               "unit": "electron_volt"
             }
-          ],
-          "sub_sections": [
-            {
-              "m_def": "nomad.metainfo.metainfo.SubSection",
-              "m_parent_index": 0,
-              "m_parent_sub_section": "sub_sections",
-              "name": "k_mesh",
-              "sub_section": "/packages/0/section_definitions/0",
-              "repeats": false
-            }
           ]
         },
         {
           "m_def": "nomad.metainfo.metainfo.Section",
-          "m_parent_index": 17,
+          "m_parent_index": 20,
           "m_parent_sub_section": "section_definitions",
           "name": "Projection",
           "description": "Section containing the various parameters that define a Wannier90-like projection",
@@ -1312,14 +1454,14 @@
               "m_parent_index": 0,
               "m_parent_sub_section": "sub_sections",
               "name": "wannier",
-              "sub_section": "/packages/0/section_definitions/16",
+              "sub_section": "/packages/0/section_definitions/19",
               "repeats": false
             }
           ]
         },
         {
           "m_def": "nomad.metainfo.metainfo.Section",
-          "m_parent_index": 18,
+          "m_parent_index": 21,
           "m_parent_sub_section": "section_definitions",
           "name": "HoppingMatrix",
           "description": "Section containing the hopping/overlap matrix elements between N projected orbitals.",
@@ -1380,7 +1522,7 @@
         },
         {
           "m_def": "nomad.metainfo.metainfo.Section",
-          "m_parent_index": 19,
+          "m_parent_index": 22,
           "m_parent_sub_section": "section_definitions",
           "name": "LatticeModelHamiltonian",
           "description": "Section containing the parameters of the non-interacting parts of a lattice model Hamiltonian.",
@@ -1446,7 +1588,7 @@
               "m_parent_index": 0,
               "m_parent_sub_section": "sub_sections",
               "name": "hopping_matrix",
-              "sub_section": "/packages/0/section_definitions/18",
+              "sub_section": "/packages/0/section_definitions/21",
               "repeats": false
             },
             {
@@ -1454,14 +1596,14 @@
               "m_parent_index": 1,
               "m_parent_sub_section": "sub_sections",
               "name": "hubbard_kanamori_model",
-              "sub_section": "/packages/0/section_definitions/3",
+              "sub_section": "/packages/0/section_definitions/6",
               "repeats": true
             }
           ]
         },
         {
           "m_def": "nomad.metainfo.metainfo.Section",
-          "m_parent_index": 20,
+          "m_parent_index": 23,
           "m_parent_sub_section": "section_definitions",
           "name": "CoreHole",
           "description": "Section containing the various parameters that define a core-hole calculation. It can be within BSE as a \"core\" subsection.",
@@ -1538,7 +1680,7 @@
         },
         {
           "m_def": "nomad.metainfo.metainfo.Section",
-          "m_parent_index": 21,
+          "m_parent_index": 24,
           "m_parent_sub_section": "section_definitions",
           "name": "ExcitedStateMethodology",
           "description": "Base class containing the common numerical parameters typical of excited-state calculations.",
@@ -1598,32 +1740,32 @@
               "m_parent_index": 0,
               "m_parent_sub_section": "sub_sections",
               "name": "k_mesh",
-              "sub_section": "/packages/0/section_definitions/0"
+              "sub_section": "/packages/0/section_definitions/2"
             },
             {
               "m_def": "nomad.metainfo.metainfo.SubSection",
               "m_parent_index": 1,
               "m_parent_sub_section": "sub_sections",
               "name": "q_mesh",
-              "sub_section": "/packages/0/section_definitions/0"
+              "sub_section": "/packages/0/section_definitions/2"
             },
             {
               "m_def": "nomad.metainfo.metainfo.SubSection",
               "m_parent_index": 2,
               "m_parent_sub_section": "sub_sections",
               "name": "frequency_mesh",
-              "sub_section": "/packages/0/section_definitions/1"
+              "sub_section": "/packages/0/section_definitions/3"
             }
           ]
         },
         {
           "m_def": "nomad.metainfo.metainfo.Section",
-          "m_parent_index": 22,
+          "m_parent_index": 25,
           "m_parent_sub_section": "section_definitions",
           "name": "Screening",
           "description": "Section containing the various parameters that define a screening calculation, as for example, in RPA.",
           "base_sections": [
-            "/packages/0/section_definitions/21"
+            "/packages/0/section_definitions/24"
           ],
           "quantities": [
             {
@@ -1641,12 +1783,12 @@
         },
         {
           "m_def": "nomad.metainfo.metainfo.Section",
-          "m_parent_index": 23,
+          "m_parent_index": 26,
           "m_parent_sub_section": "section_definitions",
           "name": "GW",
           "description": "Section containing the various parameters that define a GW calculation.",
           "base_sections": [
-            "/packages/0/section_definitions/21"
+            "/packages/0/section_definitions/24"
           ],
           "extending_sections": [
             "/packages/41/section_definitions/15"
@@ -1720,18 +1862,18 @@
               "m_parent_index": 0,
               "m_parent_sub_section": "sub_sections",
               "name": "screening",
-              "sub_section": "/packages/0/section_definitions/22"
+              "sub_section": "/packages/0/section_definitions/25"
             }
           ]
         },
         {
           "m_def": "nomad.metainfo.metainfo.Section",
-          "m_parent_index": 24,
+          "m_parent_index": 27,
           "m_parent_sub_section": "section_definitions",
           "name": "BSE",
           "description": "Section containing the various parameters that define a BSE calculation.",
           "base_sections": [
-            "/packages/0/section_definitions/21"
+            "/packages/0/section_definitions/24"
           ],
           "sub_sections": [
             {
@@ -1739,20 +1881,20 @@
               "m_parent_index": 0,
               "m_parent_sub_section": "sub_sections",
               "name": "screening",
-              "sub_section": "/packages/0/section_definitions/22"
+              "sub_section": "/packages/0/section_definitions/25"
             },
             {
               "m_def": "nomad.metainfo.metainfo.SubSection",
               "m_parent_index": 1,
               "m_parent_sub_section": "sub_sections",
               "name": "core_hole",
-              "sub_section": "/packages/0/section_definitions/20"
+              "sub_section": "/packages/0/section_definitions/23"
             }
           ]
         },
         {
           "m_def": "nomad.metainfo.metainfo.Section",
-          "m_parent_index": 25,
+          "m_parent_index": 28,
           "m_parent_sub_section": "section_definitions",
           "name": "DMFT",
           "description": "Section containing the various parameters that define a DMFT calculation",
@@ -1841,30 +1983,6 @@
               "m_def": "nomad.metainfo.metainfo.Quantity",
               "m_parent_index": 5,
               "m_parent_sub_section": "quantities",
-              "name": "n_matsubara_freq",
-              "description": "Number of Matsubara frequencies (imaginary frequencies).",
-              "type": {
-                "type_kind": "numpy",
-                "type_data": "int32"
-              },
-              "shape": []
-            },
-            {
-              "m_def": "nomad.metainfo.metainfo.Quantity",
-              "m_parent_index": 6,
-              "m_parent_sub_section": "quantities",
-              "name": "n_tau",
-              "description": "Number of tau (imaginary times).",
-              "type": {
-                "type_kind": "numpy",
-                "type_data": "int32"
-              },
-              "shape": []
-            },
-            {
-              "m_def": "nomad.metainfo.metainfo.Quantity",
-              "m_parent_index": 7,
-              "m_parent_sub_section": "quantities",
               "m_annotations": {
                 "elasticsearch": [
                   "results.method.simulation.dmft.impurity_solver_type",
@@ -1895,12 +2013,12 @@
         },
         {
           "m_def": "nomad.metainfo.metainfo.Section",
-          "m_parent_index": 26,
+          "m_parent_index": 29,
           "m_parent_sub_section": "section_definitions",
           "name": "TBModel",
           "description": "Section containing the parameters pertaining to a tight-binding calculation.",
           "base_sections": [
-            "/packages/0/section_definitions/12"
+            "/packages/0/section_definitions/15"
           ],
           "sub_sections": [
             {
@@ -1908,7 +2026,7 @@
               "m_parent_index": 0,
               "m_parent_sub_section": "sub_sections",
               "name": "hamiltonian",
-              "sub_section": "/packages/0/section_definitions/11",
+              "sub_section": "/packages/0/section_definitions/14",
               "repeats": true
             },
             {
@@ -1916,7 +2034,7 @@
               "m_parent_index": 1,
               "m_parent_sub_section": "sub_sections",
               "name": "overlap",
-              "sub_section": "/packages/0/section_definitions/11",
+              "sub_section": "/packages/0/section_definitions/14",
               "repeats": true
             },
             {
@@ -1924,7 +2042,7 @@
               "m_parent_index": 2,
               "m_parent_sub_section": "sub_sections",
               "name": "repulsion",
-              "sub_section": "/packages/0/section_definitions/11",
+              "sub_section": "/packages/0/section_definitions/14",
               "repeats": true
             },
             {
@@ -1932,7 +2050,7 @@
               "m_parent_index": 3,
               "m_parent_sub_section": "sub_sections",
               "name": "magnetic",
-              "sub_section": "/packages/0/section_definitions/11",
+              "sub_section": "/packages/0/section_definitions/14",
               "repeats": true
             },
             {
@@ -1940,14 +2058,14 @@
               "m_parent_index": 4,
               "m_parent_sub_section": "sub_sections",
               "name": "coulomb",
-              "sub_section": "/packages/0/section_definitions/11",
+              "sub_section": "/packages/0/section_definitions/14",
               "repeats": true
             }
           ]
         },
         {
           "m_def": "nomad.metainfo.metainfo.Section",
-          "m_parent_index": 27,
+          "m_parent_index": 30,
           "m_parent_sub_section": "section_definitions",
           "name": "TB",
           "description": "Section containing the parameters pertaining to a tight-binding calculation.",
@@ -1971,14 +2089,14 @@
               "m_parent_index": 0,
               "m_parent_sub_section": "sub_sections",
               "name": "model",
-              "sub_section": "/packages/0/section_definitions/26",
+              "sub_section": "/packages/0/section_definitions/29",
               "repeats": true
             }
           ]
         },
         {
           "m_def": "nomad.metainfo.metainfo.Section",
-          "m_parent_index": 28,
+          "m_parent_index": 31,
           "m_parent_sub_section": "section_definitions",
           "name": "NeighborSearching",
           "description": "Section containing the parameters for neighbor searching/lists during a molecular dynamics run.",
@@ -2012,7 +2130,7 @@
         },
         {
           "m_def": "nomad.metainfo.metainfo.Section",
-          "m_parent_index": 29,
+          "m_parent_index": 32,
           "m_parent_sub_section": "section_definitions",
           "name": "ForceCalculations",
           "description": "Section containing the parameters for force calculations according to the referenced force field during a molecular dynamics run.",
@@ -2069,14 +2187,14 @@
               "m_parent_index": 0,
               "m_parent_sub_section": "sub_sections",
               "name": "neighbor_searching",
-              "sub_section": "/packages/0/section_definitions/28",
+              "sub_section": "/packages/0/section_definitions/31",
               "repeats": false
             }
           ]
         },
         {
           "m_def": "nomad.metainfo.metainfo.Section",
-          "m_parent_index": 30,
+          "m_parent_index": 33,
           "m_parent_sub_section": "section_definitions",
           "name": "ForceField",
           "description": "Section containing the parameters pertaining to a force field calculation.",
@@ -2086,7 +2204,7 @@
               "m_parent_index": 0,
               "m_parent_sub_section": "sub_sections",
               "name": "model",
-              "sub_section": "/packages/0/section_definitions/12",
+              "sub_section": "/packages/0/section_definitions/15",
               "repeats": true
             },
             {
@@ -2094,14 +2212,14 @@
               "m_parent_index": 1,
               "m_parent_sub_section": "sub_sections",
               "name": "force_calculations",
-              "sub_section": "/packages/0/section_definitions/29",
+              "sub_section": "/packages/0/section_definitions/32",
               "repeats": false
             }
           ]
         },
         {
           "m_def": "nomad.metainfo.metainfo.Section",
-          "m_parent_index": 31,
+          "m_parent_index": 34,
           "m_parent_sub_section": "section_definitions",
           "name": "Smearing",
           "description": "Section containing the parameters related to the smearing of the electronic density of states at the Fermi level.",
@@ -2145,7 +2263,7 @@
         },
         {
           "m_def": "nomad.metainfo.metainfo.Section",
-          "m_parent_index": 32,
+          "m_parent_index": 35,
           "m_parent_sub_section": "section_definitions",
           "name": "Electronic",
           "description": "Section containing the parameters related to the electronic structure.",
@@ -2272,13 +2390,13 @@
               "m_parent_index": 0,
               "m_parent_sub_section": "sub_sections",
               "name": "smearing",
-              "sub_section": "/packages/0/section_definitions/31"
+              "sub_section": "/packages/0/section_definitions/34"
             }
           ]
         },
         {
           "m_def": "nomad.metainfo.metainfo.Section",
-          "m_parent_index": 33,
+          "m_parent_index": 36,
           "m_parent_sub_section": "section_definitions",
           "name": "Method",
           "description": "Section containing the various parameters that define the theory and the approximations (convergence, thresholds, etc.) behind the calculation.",
@@ -2351,7 +2469,7 @@
               ],
               "type": {
                 "type_kind": "reference",
-                "type_data": "/packages/0/section_definitions/33"
+                "type_data": "/packages/0/section_definitions/36"
               },
               "shape": []
             },
@@ -2366,7 +2484,7 @@
               ],
               "type": {
                 "type_kind": "reference",
-                "type_data": "/packages/0/section_definitions/33"
+                "type_data": "/packages/0/section_definitions/36"
               },
               "shape": []
             },
@@ -2393,7 +2511,7 @@
               ],
               "type": {
                 "type_kind": "reference",
-                "type_data": "/packages/0/section_definitions/33"
+                "type_data": "/packages/0/section_definitions/36"
               },
               "shape": [
                 "n_references"
@@ -2406,21 +2524,21 @@
               "m_parent_index": 0,
               "m_parent_sub_section": "sub_sections",
               "name": "dft",
-              "sub_section": "/packages/0/section_definitions/15"
+              "sub_section": "/packages/0/section_definitions/18"
             },
             {
               "m_def": "nomad.metainfo.metainfo.SubSection",
               "m_parent_index": 1,
               "m_parent_sub_section": "sub_sections",
               "name": "projection",
-              "sub_section": "/packages/0/section_definitions/17"
+              "sub_section": "/packages/0/section_definitions/20"
             },
             {
               "m_def": "nomad.metainfo.metainfo.SubSection",
               "m_parent_index": 2,
               "m_parent_sub_section": "sub_sections",
               "name": "lattice_model_hamiltonian",
-              "sub_section": "/packages/0/section_definitions/19",
+              "sub_section": "/packages/0/section_definitions/22",
               "repeats": true
             },
             {
@@ -2428,104 +2546,118 @@
               "m_parent_index": 3,
               "m_parent_sub_section": "sub_sections",
               "name": "gw",
-              "sub_section": "/packages/0/section_definitions/23"
+              "sub_section": "/packages/0/section_definitions/26"
             },
             {
               "m_def": "nomad.metainfo.metainfo.SubSection",
               "m_parent_index": 4,
               "m_parent_sub_section": "sub_sections",
               "name": "bse",
-              "sub_section": "/packages/0/section_definitions/24"
+              "sub_section": "/packages/0/section_definitions/27"
             },
             {
               "m_def": "nomad.metainfo.metainfo.SubSection",
               "m_parent_index": 5,
               "m_parent_sub_section": "sub_sections",
               "name": "dmft",
-              "sub_section": "/packages/0/section_definitions/25"
+              "sub_section": "/packages/0/section_definitions/28"
             },
             {
               "m_def": "nomad.metainfo.metainfo.SubSection",
               "m_parent_index": 6,
               "m_parent_sub_section": "sub_sections",
               "name": "tb",
-              "sub_section": "/packages/0/section_definitions/27"
+              "sub_section": "/packages/0/section_definitions/30"
             },
             {
               "m_def": "nomad.metainfo.metainfo.SubSection",
               "m_parent_index": 7,
               "m_parent_sub_section": "sub_sections",
               "name": "force_field",
-              "sub_section": "/packages/0/section_definitions/30"
+              "sub_section": "/packages/0/section_definitions/33"
             },
             {
               "m_def": "nomad.metainfo.metainfo.SubSection",
               "m_parent_index": 8,
               "m_parent_sub_section": "sub_sections",
               "name": "k_mesh",
-              "sub_section": "/packages/0/section_definitions/0"
+              "sub_section": "/packages/0/section_definitions/2"
             },
             {
               "m_def": "nomad.metainfo.metainfo.SubSection",
               "m_parent_index": 9,
               "m_parent_sub_section": "sub_sections",
-              "name": "electronic",
-              "sub_section": "/packages/0/section_definitions/32"
+              "name": "frequency_mesh",
+              "sub_section": "/packages/0/section_definitions/3"
             },
             {
               "m_def": "nomad.metainfo.metainfo.SubSection",
               "m_parent_index": 10,
               "m_parent_sub_section": "sub_sections",
-              "name": "scf",
-              "sub_section": "/packages/0/section_definitions/2"
+              "name": "time_mesh",
+              "sub_section": "/packages/0/section_definitions/4"
             },
             {
               "m_def": "nomad.metainfo.metainfo.SubSection",
               "m_parent_index": 11,
               "m_parent_sub_section": "sub_sections",
+              "name": "electronic",
+              "sub_section": "/packages/0/section_definitions/35"
+            },
+            {
+              "m_def": "nomad.metainfo.metainfo.SubSection",
+              "m_parent_index": 12,
+              "m_parent_sub_section": "sub_sections",
+              "name": "scf",
+              "sub_section": "/packages/0/section_definitions/5"
+            },
+            {
+              "m_def": "nomad.metainfo.metainfo.SubSection",
+              "m_parent_index": 13,
+              "m_parent_sub_section": "sub_sections",
               "name": "atom_parameters",
               "more": {
                 "label_quantity": "label"
               },
-              "sub_section": "/packages/0/section_definitions/4",
+              "sub_section": "/packages/0/section_definitions/7",
               "repeats": true
             },
             {
               "m_def": "nomad.metainfo.metainfo.SubSection",
-              "m_parent_index": 12,
+              "m_parent_index": 14,
               "m_parent_sub_section": "sub_sections",
               "name": "molecule_parameters",
               "more": {
                 "label_quantity": "label"
               },
-              "sub_section": "/packages/0/section_definitions/5",
+              "sub_section": "/packages/0/section_definitions/8",
               "repeats": true
             },
             {
               "m_def": "nomad.metainfo.metainfo.SubSection",
-              "m_parent_index": 13,
+              "m_parent_index": 15,
               "m_parent_sub_section": "sub_sections",
               "name": "basis_set",
               "more": {
                 "label_quantity": "type"
               },
-              "sub_section": "/packages/0/section_definitions/10",
+              "sub_section": "/packages/0/section_definitions/13",
               "repeats": true
             },
             {
               "m_def": "nomad.metainfo.metainfo.SubSection",
-              "m_parent_index": 14,
+              "m_parent_index": 16,
               "m_parent_sub_section": "sub_sections",
               "name": "photon",
-              "sub_section": "/packages/0/section_definitions/6",
+              "sub_section": "/packages/0/section_definitions/9",
               "repeats": true
             },
             {
               "m_def": "nomad.metainfo.metainfo.SubSection",
-              "m_parent_index": 15,
+              "m_parent_index": 17,
               "m_parent_sub_section": "sub_sections",
               "name": "core_hole",
-              "sub_section": "/packages/0/section_definitions/20",
+              "sub_section": "/packages/0/section_definitions/23",
               "repeats": true
             }
           ]
@@ -6228,7 +6360,7 @@
               ],
               "type": {
                 "type_kind": "reference",
-                "type_data": "/packages/0/section_definitions/33"
+                "type_data": "/packages/0/section_definitions/36"
               },
               "shape": []
             },
@@ -6504,7 +6636,7 @@
               "m_parent_index": 9,
               "m_parent_sub_section": "sub_sections",
               "name": "hopping_matrix",
-              "sub_section": "/packages/0/section_definitions/18",
+              "sub_section": "/packages/0/section_definitions/21",
               "repeats": true
             },
             {
@@ -7080,7 +7212,7 @@
               "m_parent_index": 3,
               "m_parent_sub_section": "sub_sections",
               "name": "method",
-              "sub_section": "/packages/0/section_definitions/33",
+              "sub_section": "/packages/0/section_definitions/36",
               "repeats": true
             },
             {
@@ -58312,7 +58444,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "Method",
           "base_sections": [
-            "/packages/0/section_definitions/33"
+            "/packages/0/section_definitions/36"
           ],
           "extends_base_section": true,
           "quantities": [
@@ -58854,7 +58986,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "BasisSetAtomCentered",
           "base_sections": [
-            "/packages/0/section_definitions/8"
+            "/packages/0/section_definitions/11"
           ],
           "extends_base_section": true,
           "sub_sections": [
@@ -59506,7 +59638,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "Method",
           "base_sections": [
-            "/packages/0/section_definitions/33"
+            "/packages/0/section_definitions/36"
           ],
           "extends_base_section": true,
           "quantities": [
@@ -60076,7 +60208,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "AtomParameters",
           "base_sections": [
-            "/packages/0/section_definitions/4"
+            "/packages/0/section_definitions/7"
           ],
           "extends_base_section": true,
           "quantities": [
@@ -60879,7 +61011,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "Method",
           "base_sections": [
-            "/packages/0/section_definitions/33"
+            "/packages/0/section_definitions/36"
           ],
           "extends_base_section": true,
           "quantities": [
@@ -217143,7 +217275,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "Method",
           "base_sections": [
-            "/packages/0/section_definitions/33"
+            "/packages/0/section_definitions/36"
           ],
           "extends_base_section": true,
           "quantities": [
@@ -217325,7 +217457,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "Interaction",
           "base_sections": [
-            "/packages/0/section_definitions/11"
+            "/packages/0/section_definitions/14"
           ],
           "extends_base_section": true,
           "quantities": [
@@ -217387,7 +217519,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "Model",
           "base_sections": [
-            "/packages/0/section_definitions/12"
+            "/packages/0/section_definitions/15"
           ],
           "extends_base_section": true,
           "quantities": [
@@ -217411,7 +217543,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "AtomParameters",
           "base_sections": [
-            "/packages/0/section_definitions/4"
+            "/packages/0/section_definitions/7"
           ],
           "extends_base_section": true,
           "quantities": [
@@ -220203,7 +220335,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "AtomParameters",
           "base_sections": [
-            "/packages/0/section_definitions/4"
+            "/packages/0/section_definitions/7"
           ],
           "extends_base_section": true,
           "quantities": [
@@ -220335,7 +220467,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "Interaction",
           "base_sections": [
-            "/packages/0/section_definitions/11"
+            "/packages/0/section_definitions/14"
           ],
           "extends_base_section": true,
           "quantities": [
@@ -220347,7 +220479,7 @@
               "description": "Reference to the atom type of each interaction atoms.",
               "type": {
                 "type_kind": "reference",
-                "type_data": "/packages/0/section_definitions/4"
+                "type_data": "/packages/0/section_definitions/7"
               },
               "shape": [
                 "number_of_atoms_per_interaction"
@@ -220373,7 +220505,7 @@
               "description": "Reference to the atom type for pair interactions.",
               "type": {
                 "type_kind": "reference",
-                "type_data": "/packages/0/section_definitions/4"
+                "type_data": "/packages/0/section_definitions/7"
               },
               "shape": [
                 "x_gromacs_number_of_defined_pair_interactions",
@@ -220403,7 +220535,7 @@
               "description": "Reference to the atom type of each molecule interaction atoms.",
               "type": {
                 "type_kind": "reference",
-                "type_data": "/packages/0/section_definitions/4"
+                "type_data": "/packages/0/section_definitions/7"
               },
               "shape": [
                 "number_of_atoms_per_interaction"
@@ -220444,7 +220576,7 @@
               "description": "Reference to the atom type for pair interactions within a molecule.",
               "type": {
                 "type_kind": "reference",
-                "type_data": "/packages/0/section_definitions/4"
+                "type_data": "/packages/0/section_definitions/7"
               },
               "shape": [
                 "x_gromacs_number_of_defined_pair_interactions",
@@ -221506,7 +221638,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "Method",
           "base_sections": [
-            "/packages/0/section_definitions/33"
+            "/packages/0/section_definitions/36"
           ],
           "extends_base_section": true,
           "quantities": [
@@ -221554,7 +221686,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "AtomParameters",
           "base_sections": [
-            "/packages/0/section_definitions/4"
+            "/packages/0/section_definitions/7"
           ],
           "extends_base_section": true,
           "quantities": [
@@ -222968,7 +223100,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "Interaction",
           "base_sections": [
-            "/packages/0/section_definitions/11"
+            "/packages/0/section_definitions/14"
           ],
           "extends_base_section": true,
           "quantities": [
@@ -222980,7 +223112,7 @@
               "description": "Reference to the atom type of each interaction atoms.",
               "type": {
                 "type_kind": "reference",
-                "type_data": "/packages/0/section_definitions/4"
+                "type_data": "/packages/0/section_definitions/7"
               },
               "shape": [
                 "number_of_atoms_per_interaction"
@@ -223006,7 +223138,7 @@
               "description": "Reference to the atom type for pair interactions.",
               "type": {
                 "type_kind": "reference",
-                "type_data": "/packages/0/section_definitions/4"
+                "type_data": "/packages/0/section_definitions/7"
               },
               "shape": [
                 "x_lammps_number_of_defined_pair_interactions",
@@ -223036,7 +223168,7 @@
               "description": "Reference to the atom type of each molecule interaction atoms.",
               "type": {
                 "type_kind": "reference",
-                "type_data": "/packages/0/section_definitions/4"
+                "type_data": "/packages/0/section_definitions/7"
               },
               "shape": [
                 "number_of_atoms_per_interaction"
@@ -223077,7 +223209,7 @@
               "description": "Reference to the atom type for pair interactions within a molecule.",
               "type": {
                 "type_kind": "reference",
-                "type_data": "/packages/0/section_definitions/4"
+                "type_data": "/packages/0/section_definitions/7"
               },
               "shape": [
                 "x_lammps_number_of_defined_pair_interactions",
@@ -226072,7 +226204,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "AtomParameters",
           "base_sections": [
-            "/packages/0/section_definitions/4"
+            "/packages/0/section_definitions/7"
           ],
           "extends_base_section": true,
           "quantities": [
@@ -226168,7 +226300,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "Interaction",
           "base_sections": [
-            "/packages/0/section_definitions/11"
+            "/packages/0/section_definitions/14"
           ],
           "extends_base_section": true,
           "quantities": [
@@ -226180,7 +226312,7 @@
               "description": "Reference to the atom type of each interaction atoms.",
               "type": {
                 "type_kind": "reference",
-                "type_data": "/packages/0/section_definitions/4"
+                "type_data": "/packages/0/section_definitions/7"
               },
               "shape": [
                 "number_of_atoms_per_interaction"
@@ -226206,7 +226338,7 @@
               "description": "Reference to the atom type for pair interactions.",
               "type": {
                 "type_kind": "reference",
-                "type_data": "/packages/0/section_definitions/4"
+                "type_data": "/packages/0/section_definitions/7"
               },
               "shape": [
                 "x_tinker_number_of_defined_pair_interactions",
@@ -226236,7 +226368,7 @@
               "description": "Reference to the atom type of each molecule interaction atoms.",
               "type": {
                 "type_kind": "reference",
-                "type_data": "/packages/0/section_definitions/4"
+                "type_data": "/packages/0/section_definitions/7"
               },
               "shape": [
                 "number_of_atoms_per_interaction"
@@ -226277,7 +226409,7 @@
               "description": "Reference to the atom type for pair interactions within a molecule.",
               "type": {
                 "type_kind": "reference",
-                "type_data": "/packages/0/section_definitions/4"
+                "type_data": "/packages/0/section_definitions/7"
               },
               "shape": [
                 "x_tinker_number_of_defined_pair_interactions",
@@ -226683,7 +226815,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "Run",
           "base_sections": [
-            "/packages/0/section_definitions/33"
+            "/packages/0/section_definitions/36"
           ],
           "extends_base_section": true,
           "quantities": [
@@ -226707,7 +226839,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "Method",
           "base_sections": [
-            "/packages/0/section_definitions/33"
+            "/packages/0/section_definitions/36"
           ],
           "extends_base_section": true,
           "quantities": [
@@ -227734,7 +227866,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "Method",
           "base_sections": [
-            "/packages/0/section_definitions/33"
+            "/packages/0/section_definitions/36"
           ],
           "extends_base_section": true,
           "quantities": [
@@ -240494,7 +240626,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "Method",
           "base_sections": [
-            "/packages/0/section_definitions/33"
+            "/packages/0/section_definitions/36"
           ],
           "extends_base_section": true,
           "quantities": [
@@ -240782,7 +240914,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "BasisSet",
           "base_sections": [
-            "/packages/0/section_definitions/10"
+            "/packages/0/section_definitions/13"
           ],
           "extends_base_section": true,
           "quantities": [
@@ -240818,7 +240950,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "AtomParameters",
           "base_sections": [
-            "/packages/0/section_definitions/4"
+            "/packages/0/section_definitions/7"
           ],
           "extends_base_section": true,
           "quantities": [
@@ -241044,7 +241176,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "Scf",
           "base_sections": [
-            "/packages/0/section_definitions/2"
+            "/packages/0/section_definitions/5"
           ],
           "extends_base_section": true,
           "quantities": [
@@ -244370,7 +244502,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "BasisSetCellDependent",
           "base_sections": [
-            "/packages/0/section_definitions/9"
+            "/packages/0/section_definitions/12"
           ],
           "extends_base_section": true,
           "quantities": [
@@ -244606,7 +244738,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "Method",
           "base_sections": [
-            "/packages/0/section_definitions/33"
+            "/packages/0/section_definitions/36"
           ],
           "extends_base_section": true,
           "quantities": [
@@ -323625,7 +323757,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "Method",
           "base_sections": [
-            "/packages/0/section_definitions/33"
+            "/packages/0/section_definitions/36"
           ],
           "extends_base_section": true,
           "sub_sections": [
@@ -338230,7 +338362,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "Method",
           "base_sections": [
-            "/packages/0/section_definitions/33"
+            "/packages/0/section_definitions/36"
           ],
           "extends_base_section": true,
           "quantities": [
@@ -338488,7 +338620,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "Method",
           "base_sections": [
-            "/packages/0/section_definitions/33"
+            "/packages/0/section_definitions/36"
           ],
           "extends_base_section": true,
           "quantities": [
@@ -339629,7 +339761,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "Method",
           "base_sections": [
-            "/packages/0/section_definitions/33"
+            "/packages/0/section_definitions/36"
           ],
           "extends_base_section": true,
           "quantities": [
@@ -341553,7 +341685,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "GW",
           "base_sections": [
-            "/packages/0/section_definitions/23"
+            "/packages/0/section_definitions/26"
           ],
           "extends_base_section": true,
           "quantities": [
@@ -343114,18 +343246,6 @@
               "m_def": "nomad.metainfo.metainfo.Quantity",
               "m_parent_index": 16,
               "m_parent_sub_section": "quantities",
-              "name": "x_exciting_kpoint_offset_x",
-              "description": "K-points offset x component",
-              "type": {
-                "type_kind": "numpy",
-                "type_data": "float64"
-              },
-              "shape": []
-            },
-            {
-              "m_def": "nomad.metainfo.metainfo.Quantity",
-              "m_parent_index": 17,
-              "m_parent_sub_section": "quantities",
               "name": "x_exciting_kpoint_offset_y",
               "description": "K-points offset y component",
               "type": {
@@ -343136,7 +343256,7 @@
             },
             {
               "m_def": "nomad.metainfo.metainfo.Quantity",
-              "m_parent_index": 18,
+              "m_parent_index": 17,
               "m_parent_sub_section": "quantities",
               "name": "x_exciting_kpoint_offset_z",
               "description": "K-points offset z component",
@@ -343148,7 +343268,7 @@
             },
             {
               "m_def": "nomad.metainfo.metainfo.Quantity",
-              "m_parent_index": 19,
+              "m_parent_index": 18,
               "m_parent_sub_section": "quantities",
               "name": "x_exciting_kpoint_offset",
               "description": "K-points offset",
@@ -343162,7 +343282,7 @@
             },
             {
               "m_def": "nomad.metainfo.metainfo.Quantity",
-              "m_parent_index": 20,
+              "m_parent_index": 19,
               "m_parent_sub_section": "quantities",
               "name": "x_exciting_lmaxapw",
               "description": "Angular momentum cut-off for the APW functions",
@@ -343174,7 +343294,7 @@
             },
             {
               "m_def": "nomad.metainfo.metainfo.Quantity",
-              "m_parent_index": 21,
+              "m_parent_index": 20,
               "m_parent_sub_section": "quantities",
               "name": "x_exciting_lo",
               "description": "Total number of local-orbitals",
@@ -343186,7 +343306,7 @@
             },
             {
               "m_def": "nomad.metainfo.metainfo.Quantity",
-              "m_parent_index": 22,
+              "m_parent_index": 21,
               "m_parent_sub_section": "quantities",
               "name": "x_exciting_nuclear_charge",
               "description": "Nuclear charge",
@@ -343199,7 +343319,7 @@
             },
             {
               "m_def": "nomad.metainfo.metainfo.Quantity",
-              "m_parent_index": 23,
+              "m_parent_index": 22,
               "m_parent_sub_section": "quantities",
               "name": "x_exciting_number_kpoint_x",
               "description": "number k-points x",
@@ -343211,7 +343331,7 @@
             },
             {
               "m_def": "nomad.metainfo.metainfo.Quantity",
-              "m_parent_index": 24,
+              "m_parent_index": 23,
               "m_parent_sub_section": "quantities",
               "name": "x_exciting_number_kpoint_y",
               "description": "number k-points y",
@@ -343223,7 +343343,7 @@
             },
             {
               "m_def": "nomad.metainfo.metainfo.Quantity",
-              "m_parent_index": 25,
+              "m_parent_index": 24,
               "m_parent_sub_section": "quantities",
               "name": "x_exciting_number_kpoint_z",
               "description": "number k-points z",
@@ -343235,21 +343355,7 @@
             },
             {
               "m_def": "nomad.metainfo.metainfo.Quantity",
-              "m_parent_index": 26,
-              "m_parent_sub_section": "quantities",
-              "name": "x_exciting_kpoint_grid",
-              "description": "kpoint grid",
-              "type": {
-                "type_kind": "numpy",
-                "type_data": "int32"
-              },
-              "shape": [
-                3
-              ]
-            },
-            {
-              "m_def": "nomad.metainfo.metainfo.Quantity",
-              "m_parent_index": 27,
+              "m_parent_index": 25,
               "m_parent_sub_section": "quantities",
               "name": "x_exciting_number_kpoints",
               "description": "number k-points",
@@ -343261,7 +343367,7 @@
             },
             {
               "m_def": "nomad.metainfo.metainfo.Quantity",
-              "m_parent_index": 28,
+              "m_parent_index": 26,
               "m_parent_sub_section": "quantities",
               "name": "x_exciting_number_of_atoms",
               "description": "The number of atoms in the unit cell",
@@ -343273,7 +343379,7 @@
             },
             {
               "m_def": "nomad.metainfo.metainfo.Quantity",
-              "m_parent_index": 29,
+              "m_parent_index": 27,
               "m_parent_sub_section": "quantities",
               "name": "x_exciting_potential_mixing",
               "description": "Mixing type for potential",
@@ -343285,7 +343391,7 @@
             },
             {
               "m_def": "nomad.metainfo.metainfo.Quantity",
-              "m_parent_index": 30,
+              "m_parent_index": 28,
               "m_parent_sub_section": "quantities",
               "name": "x_exciting_pw",
               "description": "Maximum number of plane-waves",
@@ -343297,7 +343403,7 @@
             },
             {
               "m_def": "nomad.metainfo.metainfo.Quantity",
-              "m_parent_index": 31,
+              "m_parent_index": 29,
               "m_parent_sub_section": "quantities",
               "name": "x_exciting_rgkmax",
               "description": "Radius MT * Gmax",
@@ -343310,7 +343416,7 @@
             },
             {
               "m_def": "nomad.metainfo.metainfo.Quantity",
-              "m_parent_index": 32,
+              "m_parent_index": 30,
               "m_parent_sub_section": "quantities",
               "name": "x_exciting_species_rtmin",
               "description": "Chemical species with radius RT * Gmax",
@@ -343322,7 +343428,7 @@
             },
             {
               "m_def": "nomad.metainfo.metainfo.Quantity",
-              "m_parent_index": 33,
+              "m_parent_index": 31,
               "m_parent_sub_section": "quantities",
               "name": "x_exciting_simulation_reciprocal_cell",
               "description": "Reciprocal lattice vectors (in Cartesian coordinates) of the simulation cell. The\nfirst index runs over the $x,y,z$ Cartesian coordinates, and the second index runs\nover the 3 lattice vectors.",
@@ -343338,7 +343444,7 @@
             },
             {
               "m_def": "nomad.metainfo.metainfo.Quantity",
-              "m_parent_index": 34,
+              "m_parent_index": 32,
               "m_parent_sub_section": "quantities",
               "name": "x_exciting_smearing_type",
               "description": "Smearing scheme for KS occupancies",
@@ -343350,7 +343456,7 @@
             },
             {
               "m_def": "nomad.metainfo.metainfo.Quantity",
-              "m_parent_index": 35,
+              "m_parent_index": 33,
               "m_parent_sub_section": "quantities",
               "name": "x_exciting_smearing_width",
               "description": "Smearing width for KS occupancies",
@@ -343362,7 +343468,7 @@
             },
             {
               "m_def": "nomad.metainfo.metainfo.Quantity",
-              "m_parent_index": 36,
+              "m_parent_index": 34,
               "m_parent_sub_section": "quantities",
               "name": "x_exciting_unit_cell_volume",
               "description": "unit cell volume",
@@ -343375,7 +343481,7 @@
             },
             {
               "m_def": "nomad.metainfo.metainfo.Quantity",
-              "m_parent_index": 37,
+              "m_parent_index": 35,
               "m_parent_sub_section": "quantities",
               "name": "x_exciting_valence_charge",
               "description": "Valence charge",
@@ -343387,7 +343493,7 @@
             },
             {
               "m_def": "nomad.metainfo.metainfo.Quantity",
-              "m_parent_index": 38,
+              "m_parent_index": 36,
               "m_parent_sub_section": "quantities",
               "name": "x_exciting_valence_charge_initial",
               "description": "Valence charge",
@@ -343400,7 +343506,7 @@
             },
             {
               "m_def": "nomad.metainfo.metainfo.Quantity",
-              "m_parent_index": 39,
+              "m_parent_index": 37,
               "m_parent_sub_section": "quantities",
               "name": "x_exciting_valence_states",
               "description": "Total number of valence states",
@@ -343412,7 +343518,7 @@
             },
             {
               "m_def": "nomad.metainfo.metainfo.Quantity",
-              "m_parent_index": 40,
+              "m_parent_index": 38,
               "m_parent_sub_section": "quantities",
               "name": "x_exciting_wigner_radius",
               "description": "Effective Wigner radius",
@@ -343425,7 +343531,7 @@
             },
             {
               "m_def": "nomad.metainfo.metainfo.Quantity",
-              "m_parent_index": 41,
+              "m_parent_index": 39,
               "m_parent_sub_section": "quantities",
               "name": "x_exciting_number_of_bravais_lattice_symmetries",
               "description": "Number of Bravais lattice symmetries",
@@ -343437,7 +343543,7 @@
             },
             {
               "m_def": "nomad.metainfo.metainfo.Quantity",
-              "m_parent_index": 42,
+              "m_parent_index": 40,
               "m_parent_sub_section": "quantities",
               "name": "x_exciting_number_of_crystal_symmetries",
               "description": "Number of crystal symmetries",
@@ -344004,7 +344110,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "Method",
           "base_sections": [
-            "/packages/0/section_definitions/33"
+            "/packages/0/section_definitions/36"
           ],
           "extends_base_section": true,
           "quantities": [
@@ -346211,7 +346317,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "Method",
           "base_sections": [
-            "/packages/0/section_definitions/33"
+            "/packages/0/section_definitions/36"
           ],
           "extends_base_section": true,
           "quantities": [
@@ -347087,7 +347193,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "AtomParameters",
           "base_sections": [
-            "/packages/0/section_definitions/4"
+            "/packages/0/section_definitions/7"
           ],
           "extends_base_section": true,
           "sub_sections": [
@@ -347107,7 +347213,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "HubbardKanamoriModel",
           "base_sections": [
-            "/packages/0/section_definitions/3"
+            "/packages/0/section_definitions/6"
           ],
           "extends_base_section": true,
           "quantities": [
@@ -347896,7 +348002,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "Method",
           "base_sections": [
-            "/packages/0/section_definitions/33"
+            "/packages/0/section_definitions/36"
           ],
           "extends_base_section": true,
           "quantities": [
@@ -348064,7 +348170,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "XCFunctional",
           "base_sections": [
-            "/packages/0/section_definitions/14"
+            "/packages/0/section_definitions/17"
           ],
           "extends_base_section": true,
           "quantities": [
@@ -350394,7 +350500,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "Method",
           "base_sections": [
-            "/packages/0/section_definitions/33"
+            "/packages/0/section_definitions/36"
           ],
           "extends_base_section": true,
           "quantities": [
@@ -350627,7 +350733,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "Method",
           "base_sections": [
-            "/packages/0/section_definitions/33"
+            "/packages/0/section_definitions/36"
           ],
           "extends_base_section": true,
           "quantities": [
@@ -350802,7 +350908,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "Method",
           "base_sections": [
-            "/packages/0/section_definitions/33"
+            "/packages/0/section_definitions/36"
           ],
           "extends_base_section": true,
           "quantities": [
@@ -351277,7 +351383,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "Method",
           "base_sections": [
-            "/packages/0/section_definitions/33"
+            "/packages/0/section_definitions/36"
           ],
           "extends_base_section": true,
           "quantities": [
@@ -352009,7 +352115,7 @@
           "name": "Method",
           "description": "Section containing the various parameters that define the theory and the approximations (convergence, thresholds, etc.) behind the calculation.",
           "base_sections": [
-            "/packages/0/section_definitions/33"
+            "/packages/0/section_definitions/36"
           ],
           "extends_base_section": true,
           "quantities": [
@@ -374213,7 +374319,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "BasisSetCellDependent",
           "base_sections": [
-            "/packages/0/section_definitions/9"
+            "/packages/0/section_definitions/12"
           ],
           "extends_base_section": true,
           "quantities": [
@@ -374731,7 +374837,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "Method",
           "base_sections": [
-            "/packages/0/section_definitions/33"
+            "/packages/0/section_definitions/36"
           ],
           "extends_base_section": true,
           "quantities": [
@@ -375075,7 +375181,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "AtomParameters",
           "base_sections": [
-            "/packages/0/section_definitions/4"
+            "/packages/0/section_definitions/7"
           ],
           "extends_base_section": true,
           "quantities": [
@@ -375385,7 +375491,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "Scf",
           "base_sections": [
-            "/packages/0/section_definitions/2"
+            "/packages/0/section_definitions/5"
           ],
           "extends_base_section": true,
           "quantities": [
@@ -375457,7 +375563,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "BasisSetAtomCentered",
           "base_sections": [
-            "/packages/0/section_definitions/8"
+            "/packages/0/section_definitions/11"
           ],
           "extends_base_section": true,
           "quantities": [
@@ -375553,7 +375659,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "Method",
           "base_sections": [
-            "/packages/0/section_definitions/33"
+            "/packages/0/section_definitions/36"
           ],
           "extends_base_section": true,
           "quantities": [
@@ -375661,7 +375767,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "DFT",
           "base_sections": [
-            "/packages/0/section_definitions/15"
+            "/packages/0/section_definitions/18"
           ],
           "extends_base_section": true,
           "quantities": [
@@ -376183,7 +376289,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "Method",
           "base_sections": [
-            "/packages/0/section_definitions/33"
+            "/packages/0/section_definitions/36"
           ],
           "extends_base_section": true,
           "quantities": [
@@ -378896,7 +379002,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "Method",
           "base_sections": [
-            "/packages/0/section_definitions/33"
+            "/packages/0/section_definitions/36"
           ],
           "extends_base_section": true,
           "quantities": [
@@ -380038,7 +380144,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "AtomParameters",
           "base_sections": [
-            "/packages/0/section_definitions/4"
+            "/packages/0/section_definitions/7"
           ],
           "extends_base_section": true,
           "quantities": [
@@ -381118,7 +381224,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "Functional",
           "base_sections": [
-            "/packages/0/section_definitions/13"
+            "/packages/0/section_definitions/16"
           ],
           "extends_base_section": true,
           "quantities": [
@@ -382817,7 +382923,7 @@
           "name": "Method",
           "description": "Contains the specifications of the method.",
           "base_sections": [
-            "/packages/0/section_definitions/33"
+            "/packages/0/section_definitions/36"
           ],
           "extends_base_section": true,
           "sub_sections": [
@@ -383634,7 +383740,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "Method",
           "base_sections": [
-            "/packages/0/section_definitions/33"
+            "/packages/0/section_definitions/36"
           ],
           "extends_base_section": true,
           "quantities": [
@@ -388011,7 +388117,7 @@
           "name": "Method",
           "description": "Section containing the various parameters that define the theory and the approximations (convergence, thresholds, etc.) behind the calculation.",
           "base_sections": [
-            "/packages/0/section_definitions/33"
+            "/packages/0/section_definitions/36"
           ],
           "extends_base_section": true,
           "sub_sections": [
@@ -389132,7 +389238,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "Method",
           "base_sections": [
-            "/packages/0/section_definitions/33"
+            "/packages/0/section_definitions/36"
           ],
           "extends_base_section": true,
           "quantities": [
@@ -390345,7 +390451,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "Method",
           "base_sections": [
-            "/packages/0/section_definitions/33"
+            "/packages/0/section_definitions/36"
           ],
           "extends_base_section": true,
           "sub_sections": [
@@ -395878,7 +395984,7 @@
               "description": "GW methodology reference.",
               "type": {
                 "type_kind": "reference",
-                "type_data": "/packages/0/section_definitions/23"
+                "type_data": "/packages/0/section_definitions/26"
               }
             },
             {
@@ -395889,7 +395995,7 @@
               "description": "Starting point (XC functional or HF) used.",
               "type": {
                 "type_kind": "reference",
-                "type_data": "/packages/0/section_definitions/14"
+                "type_data": "/packages/0/section_definitions/17"
               }
             },
             {
@@ -395900,7 +396006,7 @@
               "description": "Basis set used.",
               "type": {
                 "type_kind": "reference",
-                "type_data": "/packages/0/section_definitions/10"
+                "type_data": "/packages/0/section_definitions/13"
               }
             }
           ]
@@ -401675,7 +401781,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "Method",
           "base_sections": [
-            "/packages/0/section_definitions/33"
+            "/packages/0/section_definitions/36"
           ],
           "extends_base_section": true,
           "quantities": [
@@ -404358,7 +404464,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "Method",
           "base_sections": [
-            "/packages/0/section_definitions/33"
+            "/packages/0/section_definitions/36"
           ],
           "extends_base_section": true,
           "quantities": [
@@ -404548,7 +404654,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "Method",
           "base_sections": [
-            "/packages/0/section_definitions/33"
+            "/packages/0/section_definitions/36"
           ],
           "extends_base_section": true,
           "sub_sections": [
@@ -405678,7 +405784,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "Method",
           "base_sections": [
-            "/packages/0/section_definitions/33"
+            "/packages/0/section_definitions/36"
           ],
           "extends_base_section": true,
           "sub_sections": [
@@ -406723,7 +406829,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "Method",
           "base_sections": [
-            "/packages/0/section_definitions/33"
+            "/packages/0/section_definitions/36"
           ],
           "extends_base_section": true,
           "quantities": [
@@ -406755,7 +406861,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "Method",
           "base_sections": [
-            "/packages/0/section_definitions/33"
+            "/packages/0/section_definitions/36"
           ],
           "extends_base_section": true,
           "quantities": [
@@ -406971,7 +407077,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "Method",
           "base_sections": [
-            "/packages/0/section_definitions/33"
+            "/packages/0/section_definitions/36"
           ],
           "extends_base_section": true,
           "quantities": [
@@ -407270,7 +407376,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "AtomParameters",
           "base_sections": [
-            "/packages/0/section_definitions/4"
+            "/packages/0/section_definitions/7"
           ],
           "extends_base_section": true,
           "quantities": [
@@ -407873,7 +407979,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "Method",
           "base_sections": [
-            "/packages/0/section_definitions/33"
+            "/packages/0/section_definitions/36"
           ],
           "extends_base_section": true,
           "quantities": [
@@ -408357,7 +408463,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "AtomParameters",
           "base_sections": [
-            "/packages/0/section_definitions/4"
+            "/packages/0/section_definitions/7"
           ],
           "extends_base_section": true,
           "quantities": [
@@ -408628,7 +408734,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "Method",
           "base_sections": [
-            "/packages/0/section_definitions/33"
+            "/packages/0/section_definitions/36"
           ],
           "extends_base_section": true,
           "quantities": [
@@ -408761,7 +408867,7 @@
           "m_parent_sub_section": "section_definitions",
           "name": "AtomParameters",
           "base_sections": [
-            "/packages/0/section_definitions/4"
+            "/packages/0/section_definitions/7"
           ],
           "extends_base_section": true,
           "quantities": [
diff --git a/nomad/datamodel/metainfo/simulation/method.py b/nomad/datamodel/metainfo/simulation/method.py
index 9b373d89117b74d9721234f4a9641fe0add014c3..61feab8986fa9361153dca7315b5213e728159a2 100644
--- a/nomad/datamodel/metainfo/simulation/method.py
+++ b/nomad/datamodel/metainfo/simulation/method.py
@@ -30,88 +30,194 @@ from ..common import FastAccess
 m_package = Package()
 
 
-class KMesh(MSection):
+class Mesh(MSection):
     '''
-    Contains the settings for a uniformly spaced k-point grid (if employed).
+    Contains the settings for a sampling mesh.
+    Supports uniformly-spaced meshes and symmetry-reduced representations.
     '''
 
     m_def = Section(validate=False)
 
+    dimensionality = Quantity(
+        type=np.int32,
+        shape=[],
+        description='''
+        Dimensionality of the mesh.
+        ''')
+
+    sampling_method = Quantity(
+        type=MEnum(
+            'Gamma-centered', 'Monkhorst-Pack', 'Gamma-offcenter', 'Line-path',
+            'Equidistant', 'Logarithmic', 'Gauss-Legendre', 'Gauss-Laguerre'
+            'Clenshaw-Curtis', 'Newton-Cotes', 'Gauss-Hermite'
+        ),
+        shape=[],
+        description='''
+        Method used to generate the mesh:
+
+        | Name      | Description                      | Reference             |
+
+        | --------- | -------------------------------- | --------------------- |
+
+        | `'Gamma-centered'` | Regular mesh is centered around Gamma. No offset. |
+
+        | `'Monkhorst-Pack'` | Regular mesh with an offset of half the reciprocal lattice vector. |
+
+        | `'Gamma-offcenter'` | Regular mesh with an offset that is neither `'Gamma-centered'`, nor `'Monkhorst-Pack'`. |
+
+        | `'Line-path'` | Line path along high-symmetry points. Typically employed for simualting band structures. |
+
+        | `'Equidistant'`  | Equidistant 1D grid (also known as 'Newton-Cotes')                      |
+
+        | `'Logarithmic'`  | log distance 1D grid               |
+
+        | `'Gauss-Legendre'` | Quadrature rule for integration using Legendre polynomials |
+
+        | `'Gauss-Laguerre'` | Quadrature rule for integration using Laguerre polynomials |
+
+        | `'Clenshaw-Curtis'`  | Quadrature rule for integration using Chebyshev polynomials using discrete cosine transformations |
+
+        | `'Gauss-Hermite'`  | Quadrature rule for integration using Hermite polynomials |
+        ''')
+
     n_points = Quantity(
         type=np.int32,
         shape=[],
         description='''
-        Number of k points in the mesh (i.e. the k points used to evaluate energy_total).
+        Total number of points in the mesh, accounting for the multiplicities.
         ''')
 
     grid = Quantity(
         type=np.int32,
-        shape=[3],
+        shape=['dimensionality'],
         description='''
-        k-point grid used in notation [nx, ny, nz] in fractional coordinates.
+        Amount of mesh point sampling along each axis, i.e. [nx, ny, nz].
         ''')
 
-    generation_method = Quantity(
-        type=str,
-        shape=[],
+    points = Quantity(
+        type=np.complex128,
+        shape=['*', 'dimensionality'],
         description='''
-        Method used to generate the k points.
+        List of all the points in the mesh.
         ''')
 
-    points = Quantity(
+    multiplicities = Quantity(
         type=np.float64,
-        shape=['n_points', 3],
+        shape=['*'],
         description='''
-        List of all the k points in the $k$-point mesh. These are the k point used to
-        evaluate energy_total, and are in fractional coordinates (in the basis of the
-        reciprocal-lattice vectors).
+        The amount of times the same point reappears. These are accounted for in `n_points`.
+        A value larger than 1, typically indicates a symmtery operation that was applied to the mesh.
         ''')
 
     weights = Quantity(
         type=np.float64,
-        shape=['n_points'],
+        shape=['*'],
         description='''
-        Weights of all the k points in the $k$-point mesh. These are the weights for
-        k_mesh_points (i.e. the k point used to evaluate energy_total).
+        The frequency of times the same point reappears.
+        A value larger than 1, typically indicates a symmtery operation that was applied to the mesh.
         ''')
 
 
-class FrequencyMesh(MSection):
+class LinePathSegment(MSection):
     '''
-    Contains the settings for a uniformly spaced frequency-point grid.
+    Contains the settings for a single line path segment in a mesh.
     '''
 
     m_def = Section(validate=False)
 
-    type = Quantity(
+    start_point = Quantity(
+        type=str,
+        shape=[],
+        description='''
+        Name of the hihg-symmetry starting point of the line path segment.
+        ''')
+
+    end_point = Quantity(
         type=str,
         shape=[],
         description='''
-        Grid type.
+        Name of the high-symmetry end point of the line path segment.
         ''')
 
     n_points = Quantity(
         type=np.int32,
         shape=[],
         description='''
-        Number of frequency points in the mesh.
+        Number of points in the line path segment.
         ''')
 
-    values = Quantity(
+    points = Quantity(
+        type=np.float64,
+        shape=['*', 3],
+        description='''
+        List of all the points in the line path segment.
+        ''')
+
+
+class KMesh(Mesh):
+    '''
+    Contains the settings for a sampling mesh in 3D reciprocal space.
+    Supports uniformly-spaced meshes, line paths along high-symmetry points,
+    as well as symmetry-reduced and full representations.
+    '''
+
+    m_def = Section(validate=False)
+
+    offset = Quantity(
+        type=np.float64,
+        shape=[3],
+        description='''
+        Offset vector shifting the mesh with respect to a Gamma-centered case.
+        '''
+    )
+
+    all_points = Quantity(
+        type=np.dtype(np.float64),
+        shape=['*', 3],
+        description='''
+        Full list of the mesh points without any symmetry operations.
+        ''')
+
+    high_symmetry_points = Quantity(
+        type=str,
+        shape=['*'],
+        description='''
+        Named high symmetry points in the mesh.
+        ''')
+
+    line_path_segments = SubSection(sub_section=LinePathSegment.m_def, repeats=True)
+
+
+class FrequencyMesh(Mesh):
+    '''
+    Contains the settings for a sampling mesh in 1D frequency space, either real or imaginary.
+    '''
+
+    m_def = Section(validate=False)
+
+    points = Quantity(
         type=np.complex128,
-        shape=['n_points'],
+        shape=['n_points', 'dimensionality'],
         unit='joule',
         description='''
-        List of all the real+imag frequencies.
+        List of all the points in the mesh in joules.
         ''')
 
-    weights = Quantity(
+    smearing = Quantity(
         type=np.float64,
-        shape=['n_points'],
+        shape=[],
         description='''
-        Weights of all the frequencies.
+        Numerical smearing parameter used for convolutions.
         ''')
 
+
+class TimeMesh(Mesh):
+    '''
+    Contains the settings for a sampling mesh in 1D time space, either real or imaginary.
+    '''
+
+    m_def = Section(validate=False)
+
     smearing = Quantity(
         type=np.float64,
         shape=[],
@@ -810,8 +916,6 @@ class Wannier(MSection):
 
     m_def = Section(validate=False)
 
-    k_mesh = SubSection(sub_section=KMesh.m_def, repeats=False)
-
     n_projected_orbitals = Quantity(
         type=np.int32,
         description='''
@@ -1023,7 +1127,7 @@ class ExcitedStateMethodology(MSection):
         Lifetime broadening applied to the spectra in full-width at half maximum.
         ''')
 
-    # Used to define the k_mesh of sub_sections that are not base classes yet, e.g., screening
+    # Used to define the meshes of sub_sections that are not base classes yet, e.g., screening
     k_mesh = SubSection(sub_section=KMesh.m_def)
 
     q_mesh = SubSection(sub_section=KMesh.m_def)
@@ -1184,20 +1288,6 @@ class DMFT(MSection):
         | `'antiferromagnetic'` | antiferromagnetic state |
         ''')
 
-    n_matsubara_freq = Quantity(
-        type=np.int32,
-        shape=[],
-        description='''
-        Number of Matsubara frequencies (imaginary frequencies).
-        ''')
-
-    n_tau = Quantity(
-        type=np.int32,
-        shape=[],
-        description='''
-        Number of tau (imaginary times).
-        ''')
-
     impurity_solver = Quantity(
         type=MEnum(
             'CT-INT', 'CT-HYB', 'CT-AUX', 'ED', 'NRG', 'MPS', 'IPT', 'NCA', 'OCA',
@@ -1590,6 +1680,10 @@ class Method(ArchiveSection):
 
     k_mesh = SubSection(sub_section=KMesh.m_def)
 
+    frequency_mesh = SubSection(sub_section=FrequencyMesh.m_def)
+
+    time_mesh = SubSection(sub_section=TimeMesh.m_def)
+
     electronic = SubSection(sub_section=Electronic.m_def)
 
     scf = SubSection(sub_section=Scf.m_def)
diff --git a/nomad/normalizing/method.py b/nomad/normalizing/method.py
index 85db676dbfdc4adbfaf1c23d912c2a7c4f7d49d6..d69fd2c6ef944d56b2b7a73e7baeaa9c044d1473 100644
--- a/nomad/normalizing/method.py
+++ b/nomad/normalizing/method.py
@@ -20,7 +20,7 @@ from ase.dft.kpoints import monkhorst_pack, get_monkhorst_pack_size_and_offset
 from collections import OrderedDict
 import re
 import numpy as np
-from typing import List, Tuple, Union, Optional
+from typing import List, Tuple, Union
 
 from nomad.units import ureg
 from nomad.metainfo import Section
@@ -274,31 +274,41 @@ class MethodNormalizer():
         elif method_name == 'BSE':
             method.method_name = 'BSE'
 
-        # Fill k_mesh section
-        k_mesh = self.run.m_xpath('method[-1].k_mesh')
-        points = self.run.m_xpath('calculation[-1].eigenvalues[-1].kpoints')
-        if k_mesh is None:
-            k_mesh = KMesh()
-            if points is not None:
-                k_mesh.points = points
+        # Fill meshes
+        if self.run.m_xpath('method[-1].frequency_mesh'):
+            freq_mesh = self.run.method[-1].frequency_mesh
+            freq_mesh.dimensionality = 1 if freq_mesh.dimensionality is None else freq_mesh.dimensionality
+
+        if self.run.m_xpath('method[-1].time_mesh'):
+            time_mesh = self.run.method[-1].time_mesh
+            time_mesh.dimensionality = 1 if time_mesh.dimensionality is None else time_mesh.dimensionality
+
+        if self.run.m_xpath('method[-1].k_mesh'):
+            k_mesh = self.run.method[-1].k_mesh
+            k_mesh.dimensionality = 3 if not k_mesh.dimensionality else k_mesh.dimensionality
+            # Normalize k mesh from grid sampling
+            if k_mesh.grid is not None:
+                k_mesh.n_points = np.prod(k_mesh.grid) if not k_mesh.n_points else k_mesh.n_points
+                if k_mesh.sampling_method == 'Gamma-centered':
+                    k_mesh.points = np.meshgrid(*[np.linspace(0, 1, n) for n in k_mesh.grid])  # this assumes a gamma-centered grid: we really need the `sampling_method` to be sure
+                elif k_mesh.sampling_method == 'Monkhorst-Pack':
+                    try:
+                        k_mesh.points += monkhorst_pack(k_mesh.grid)
+                    except ValueError:
+                        pass  # this is a quick workaround: k_mesh.grid should be symmetry reduced
+        else:
+            if self.run.m_xpath('calculation[-1].eigenvalues[-1].kpoints') is not None:
+                k_mesh = self.run.method[-1].m_create(KMesh)
+                k_mesh.points = self.run.calculation[-1].eigenvalues[-1].kpoints
                 k_mesh.n_points = len(k_mesh.points) if not k_mesh.n_points else k_mesh.n_points
                 k_mesh.grid = [len(set(k_mesh.points[:, i])) for i in range(3)]
-                if not k_mesh.generation_method:
+                if not k_mesh.sampling_method:
                     try:  # TODO doublecheck
                         _, k_grid_offset = get_monkhorst_pack_size_and_offset(k_mesh.points)
                         if not k_grid_offset.all():
-                            k_mesh.generation_method = 'Monkhorst-Pack'
+                            k_mesh.sampling_method = 'Monkhorst-Pack'
                     except ValueError:
-                        k_mesh.generation_method = 'Gamma-centered'
-            elif k_mesh.grid is not None:
-                k_mesh.n_points = np.prod(k_mesh.grid) if not k_mesh.n_points else k_mesh.n_points
-                if k_mesh.generation_method == 'Gamma-centered':
-                    k_mesh.points = np.meshgrid(*[np.linspace(0, 1, n) for n in k_mesh.grid])  # this assumes a gamma-centered grid: we really need the `generation_method` to be sure
-                elif k_mesh.generation_method == 'Monkhorst-Pack':
-                    k_mesh.points += monkhorst_pack(k_mesh.grid)
-                # TODO allow shift to be specified in k_mesh
-            if self.run.method and self.run.m_xpath('method[-1].k_mesh') is None:  # save the KMesh object only if it was not already present
-                self.run.method[-1].k_mesh = k_mesh
+                        k_mesh.sampling_method = 'Gamma-centered'
 
         # Fill the presicion section
         k_lattices = self.run.m_xpath('system[-1].atoms.lattice_vectors_reciprocal')
@@ -316,15 +326,22 @@ class MethodNormalizer():
         method.simulation = simulation
         return method
 
-    def calc_k_line_density(self, k_lattices: List[List[float]], nks: List[int]) -> Optional[float]:
+    def calc_k_line_density(self, k_lattices: List[List[float]],
+                            nks: List[int]) -> Union[float, None]:
         '''
         Compute the lowest k_line_density value:
         k_line_density (for a uniformly spaced grid) is the number of k-points per reciprocal length unit
         '''
-        struc_type = self.material.structural_type
-        if k_lattices is None or nks is None:
+        # Check consistency of input
+        try:
+            if len(k_lattices) != 3 or len(nks) != 3:
+                return None
+        except (TypeError, ValueError):
             return None
-        elif struc_type == 'bulk':
+
+        # Compute k_line_density
+        struc_type = self.material.structural_type
+        if struc_type == 'bulk':
             return min([nk / (np.linalg.norm(k_lattice))
                         for k_lattice, nk in zip(k_lattices, nks)])
         else:
diff --git a/nomad/parsing/parsers.py b/nomad/parsing/parsers.py
index 19ccbcb205660f0061ce069650009bb95aca6b3a..cf7e935d53f1a948ff82b495a263ca1f14138733 100644
--- a/nomad/parsing/parsers.py
+++ b/nomad/parsing/parsers.py
@@ -639,7 +639,8 @@ parsers = [
         metadata_path=f'{prefix_electronic}/w2dynamics/metadata.yaml',
         mainfile_name_re=(r'^.*\.(h5|hdf5)$'),
         mainfile_mime_re=r'(application/x-hdf)',
-        mainfile_binary_header_re=br'^\x89HDF[\s\S]*general.nat'
+        mainfile_binary_header_re=br'^\x89HDF',
+        mainfile_contents_dict={'__has_all_keys': ['.axes', '.config', '.quantities']}
     ),
     MatchingParserInterface(
         'electronicparsers.SolidDMFTParser',