From e96d0909a8dc06910ae2542e049e9ac3da3ce088 Mon Sep 17 00:00:00 2001
From: Julia Schumann <jschumann@fhi-berlin.mpg.de>
Date: Sat, 29 Jun 2024 10:27:11 +0000
Subject: [PATCH] change catalytic properties results section and update
 eletronic parsers to apply gaussian frequencies patch

---
 dependencies/parsers/electronic               |   2 +-
 gui/src/components/search/FilterRegistry.js   |  19 +-
 .../menus/FilterSubMenuCatalystProperties.js  |  19 +-
 .../search/widgets/WidgetScatterPlot.spec.js  |   6 +-
 .../visualization/CatalystSample.js           |   9 +-
 gui/tests/artifacts.js                        | 662 +++++++++++-------
 gui/tests/data/search/searchpage.json         | 188 +++--
 gui/tests/env.js                              |  34 +-
 nomad/config/defaults.yaml                    |  34 +-
 nomad/datamodel/results.py                    | 239 ++++---
 tests/states/search.py                        |   6 +-
 11 files changed, 686 insertions(+), 532 deletions(-)

diff --git a/dependencies/parsers/electronic b/dependencies/parsers/electronic
index b3c3d74149..97e51b0606 160000
--- a/dependencies/parsers/electronic
+++ b/dependencies/parsers/electronic
@@ -1 +1 @@
-Subproject commit b3c3d7414918d69ddad9e1398133f6c60de541d8
+Subproject commit 97e51b06065db72782533c01a867d808cd6ec009
diff --git a/gui/src/components/search/FilterRegistry.js b/gui/src/components/search/FilterRegistry.js
index 49483abaed..92795100d5 100644
--- a/gui/src/components/search/FilterRegistry.js
+++ b/gui/src/components/search/FilterRegistry.js
@@ -477,32 +477,31 @@ registerFilter(
   ]
 )
 registerFilter(
-  'results.properties.catalytic.catalyst_characterization',
+  'results.properties.catalytic.catalyst',
   idCatalyst,
   nestedQuantity,
   [
-    {name: 'method', ...termQuantity},
+    {name: 'characterization_methods', ...termQuantity},
     {name: 'surface_area', ...numberHistogramQuantity, scale: '1/4'},
-    {name: 'method_surface_area', ...termQuantity}
+    {name: 'catalyst_name', ...termQuantity},
+    {name: 'catalyst_type', ...termQuantity},
+    {name: 'preparation_method', ...termQuantity}
   ]
 )
 registerFilter(
-  'results.properties.catalytic.catalyst_synthesis',
+  'results.properties.catalytic.reaction',
   idCatalyst,
   nestedQuantity,
   [
-    {name: 'catalyst_name', ...termQuantity},
-    {name: 'catalyst_type', ...termQuantity},
-    {name: 'preparation_method', ...termQuantity}
+    {name: 'name', ...termQuantity},
+    {name: 'type', ...termQuantity}
   ]
 )
 registerFilter(
-  'results.properties.catalytic.reaction',
+  'results.properties.catalytic.reaction.reaction_conditions',
   idCatalyst,
   nestedQuantity,
   [
-    {name: 'name', ...termQuantity},
-    {name: 'type', ...termQuantity},
     {name: 'temperature', ...numberHistogramQuantity, scale: '1/4'},
     {name: 'pressure', ...numberHistogramQuantity, scale: 'linear'},
     {name: 'weight_hourly_space_velocity', ...numberHistogramQuantity, scale: '1/4'}
diff --git a/gui/src/components/search/menus/FilterSubMenuCatalystProperties.js b/gui/src/components/search/menus/FilterSubMenuCatalystProperties.js
index 32afc499d6..01ba2911f2 100755
--- a/gui/src/components/search/menus/FilterSubMenuCatalystProperties.js
+++ b/gui/src/components/search/menus/FilterSubMenuCatalystProperties.js
@@ -82,39 +82,34 @@ const FilterSubMenuCatalyst = React.memo(({
       </InputGridItem>
       <InputGridItem xs={12}>
         <InputRange
-          quantity="results.properties.catalytic.reaction.temperature"
+          quantity="results.properties.catalytic.reaction.reaction_conditions.temperature"
           visible={visible}
         />
       </InputGridItem>
       <InputGridItem xs={12}>
         <InputSection
-          section="results.properties.catalytic.catalyst_synthesis"
+          section="results.properties.catalytic.catalyst"
           disableHeader
           visible={visible}
         >
           <InputField
-            quantity="results.properties.catalytic.catalyst_synthesis.catalyst_type"
+            quantity="results.properties.catalytic.catalyst.catalyst_type"
             visible={visible}
           />
           <InputField
-            quantity="results.properties.catalytic.catalyst_synthesis.preparation_method"
+            quantity="results.properties.catalytic.catalyst.preparation_method"
             visible={visible}
           />
           <InputField
-            quantity="results.properties.catalytic.catalyst_synthesis.catalyst_name"
+            quantity="results.properties.catalytic.catalyst.catalyst_name"
             visible={visible}
           />
-        </InputSection>
-        <InputSection
-          section="results.properties.catalytic.catalyst_characterization"
-          visible={visible}
-        >
           <InputField
-            quantity="results.properties.catalytic.catalyst_characterization.method"
+            quantity="results.properties.catalytic.catalyst.characterization_methods"
             visible={visible}
           />
           <InputRange
-            quantity="results.properties.catalytic.catalyst_characterization.surface_area"
+            quantity="results.properties.catalytic.catalyst.surface_area"
             visible={visible}
           />
         </InputSection>
diff --git a/gui/src/components/search/widgets/WidgetScatterPlot.spec.js b/gui/src/components/search/widgets/WidgetScatterPlot.spec.js
index df96c0adcb..ee7dce6f5a 100644
--- a/gui/src/components/search/widgets/WidgetScatterPlot.spec.js
+++ b/gui/src/components/search/widgets/WidgetScatterPlot.spec.js
@@ -47,7 +47,7 @@ jest.mock('../SearchContext', () => ({
                   electronic: {band_gap: [{value: 0}, {value: 1}]},
                   catalytic: {
                     reaction: {
-                      temperature: [0, 1, 2],
+                      reaction_conditions: {temperature: [0, 1, 2]},
                       reactants: [
                         {name: 'CO2', conversion: [0, 1, 2]},
                         {name: 'NO2', conversion: [3, 4, 5]}
@@ -66,7 +66,7 @@ jest.mock('../SearchContext', () => ({
                   electronic: {band_gap: [{value: 0}, {value: 1}]},
                   catalytic: {
                     reaction: {
-                      temperature: [0, 1, 2],
+                      reaction_conditions: {temperature: [0, 1, 2]},
                       reactants: [
                         {name: 'H2O', conversion: [0, 1, 2]},
                         {name: 'O2', conversion: [3, 4, 5]}
@@ -91,7 +91,7 @@ describe('test different combinations of x/y/color produced with JMESPath', () =
     ['slicing', 'results.properties.electronic.band_gap[1:2].value', 'results.properties.electronic.band_gap[1:2].value', 'results.properties.electronic.band_gap[1:2].value'],
     ['function', 'min(results.properties.electronic.band_gap[*].value)', 'min(results.properties.electronic.band_gap[*].value)', 'min(results.properties.electronic.band_gap[*].value)'],
     ['filter projection', "results.material.topology[?label=='original'].cell.a", "results.material.topology[?label=='original'].cell.a", "results.material.topology[?label=='original'].cell.a"],
-    ['1D array vs 2D array vs 1D color', 'results.properties.catalytic.reaction.temperature', 'results.properties.catalytic.reaction.reactants[*].conversion', 'results.properties.catalytic.reaction.reactants[*].name']
+    ['1D array vs 2D array vs 1D color', 'results.properties.catalytic.reaction.reaction_conditions.temperature', 'results.properties.catalytic.reaction.reactants[*].conversion', 'results.properties.catalytic.reaction.reactants[*].name']
   ])('%s', async (name, x, y, color) => {
     const config = {
       id: '0',
diff --git a/gui/src/components/visualization/CatalystSample.js b/gui/src/components/visualization/CatalystSample.js
index 9ffdc39b1e..d8210e9ba8 100755
--- a/gui/src/components/visualization/CatalystSample.js
+++ b/gui/src/components/visualization/CatalystSample.js
@@ -25,8 +25,7 @@ import Placeholder from './Placeholder'
  * Shows a summary of catalyst properties.
  */
 const CatalystSample = React.memo(({data}) => {
-  const prefix = 'results.properties.catalytic.catalyst_characterization'
-  const prefix1 = 'results.properties.catalytic.catalyst_synthesis'
+  const prefix = 'results.properties.catalytic.catalyst'
   const prefix2 = 'results.properties.catalytic.reaction'
   return data !== false
     ? data
@@ -34,12 +33,12 @@ const CatalystSample = React.memo(({data}) => {
         <QuantityRow>
           <QuantityCell value={data?.catalyst_name} quantity={`${prefix}.catalyst_name`}/>
           <QuantityCell value={data?.surface_area} quantity={`${prefix}.surface_area`}/>
-          <QuantityCell value={data?.catalyst_type} quantity={`${prefix1}.catalyst_type`}/>
-          <QuantityCell value={data?.preparation_method} quantity={`${prefix1}.preparation_method`}/>
+          <QuantityCell value={data?.catalyst_type} quantity={`${prefix}.catalyst_type`}/>
+          <QuantityCell value={data?.preparation_method} quantity={`${prefix}.preparation_method`}/>
         </QuantityRow>
         <QuantityRow>
           <QuantityCell value={data?.name} quantity={`${prefix2}.name`}/>
-          <QuantityCell value={data?.temperature} quantity={`${prefix2}.temperature`}/>
+          <QuantityCell value={data?.temperature} quantity={`${prefix2}.reaction_conditions.temperature`}/>
           <QuantityCell value={data?.reactants.name} quantity={`${prefix2}.reactants.name`}/>
           <QuantityCell value={data?.reactants.conversion} quantity={`${prefix2}.reactants.conversion`}/>
           <QuantityCell value={data?.products.name} quantity={`${prefix2}.products.name`}/>
diff --git a/gui/tests/artifacts.js b/gui/tests/artifacts.js
index fa60710fb3..b0f6b3558f 100644
--- a/gui/tests/artifacts.js
+++ b/gui/tests/artifacts.js
@@ -4770,109 +4770,6 @@ window.nomadArtifacts = {
       "repeats": false,
       "suggestion": true
     },
-    "results.properties.catalytic.reaction.weight_hourly_space_velocity": {
-      "name": "weight_hourly_space_velocity",
-      "description": "The weight hourly space velocity in 1/time (gas flow per catalyst mass).",
-      "type": {
-        "type_kind": "numpy",
-        "type_data": "float64"
-      },
-      "unit": "milliliter / gram / second",
-      "shape": [
-        "*"
-      ],
-      "aggregatable": false,
-      "dynamic": false,
-      "repeats": false
-    },
-    "results.properties.catalytic.reaction.gas_hourly_space_velocity": {
-      "name": "gas_hourly_space_velocity",
-      "description": "The gas hourly space velocity in 1/time (gas flow per catalyst volume).",
-      "type": {
-        "type_kind": "numpy",
-        "type_data": "float64"
-      },
-      "unit": "1 / second",
-      "shape": [
-        "*"
-      ],
-      "aggregatable": false,
-      "dynamic": false,
-      "repeats": false
-    },
-    "results.properties.catalytic.reaction.flow_rate": {
-      "name": "flow_rate",
-      "description": "The volumetric gas flow in volume per time.",
-      "type": {
-        "type_kind": "numpy",
-        "type_data": "float64"
-      },
-      "unit": "meter ** 3 / second",
-      "shape": [
-        "*"
-      ],
-      "aggregatable": false,
-      "dynamic": false,
-      "repeats": false
-    },
-    "results.properties.catalytic.reaction.temperature": {
-      "name": "temperature",
-      "description": "The reaction temperature(s) in the catalytic reactor during a chemical reaction.",
-      "type": {
-        "type_kind": "numpy",
-        "type_data": "float64"
-      },
-      "unit": "kelvin",
-      "shape": [
-        "*"
-      ],
-      "aggregatable": false,
-      "dynamic": false,
-      "repeats": false
-    },
-    "results.properties.catalytic.reaction.time_on_stream": {
-      "name": "time_on_stream",
-      "description": "The time on stream of the catalyst in the catalytic reaction.",
-      "type": {
-        "type_kind": "numpy",
-        "type_data": "float64"
-      },
-      "unit": "second",
-      "shape": [
-        "*"
-      ],
-      "aggregatable": false,
-      "dynamic": false,
-      "repeats": false
-    },
-    "results.properties.catalytic.reaction.total_time_on_stream": {
-      "name": "total_time_on_stream",
-      "description": "The total time on stream of the catalyst in the catalytic test reaction.",
-      "type": {
-        "type_kind": "numpy",
-        "type_data": "float64"
-      },
-      "unit": "second",
-      "shape": [],
-      "aggregatable": false,
-      "dynamic": false,
-      "repeats": false
-    },
-    "results.properties.catalytic.reaction.pressure": {
-      "name": "pressure",
-      "description": "The pressure during the catalytic test reaction.",
-      "type": {
-        "type_kind": "numpy",
-        "type_data": "float64"
-      },
-      "unit": "pascal",
-      "shape": [
-        "*"
-      ],
-      "aggregatable": false,
-      "dynamic": false,
-      "repeats": false
-    },
     "results.properties.catalytic.reaction.reactants.name": {
       "name": "name",
       "description": "IUPAC name of the reagent.",
@@ -5013,7 +4910,7 @@ window.nomadArtifacts = {
     },
     "results.properties.catalytic.reaction.rates.reaction_rate": {
       "name": "reaction_rate",
-      "description": "The rate of the number of reactant or product molecules converted/produced, per mass of total catalyst, per time.",
+      "description": "The rate of the number of reactant or product molecules converted/produced,\nper mass of total catalyst, per time.",
       "type": {
         "type_kind": "numpy",
         "type_data": "float64"
@@ -5026,7 +4923,7 @@ window.nomadArtifacts = {
     },
     "results.properties.catalytic.reaction.rates.specific_mass_rate": {
       "name": "specific_mass_rate",
-      "description": "The specific rate of the reactant, per mass of active catalyst component (e.g. metal).",
+      "description": "The specific rate of the reactant, per mass of active catalyst component\n(e.g. metal).",
       "type": {
         "type_kind": "numpy",
         "type_data": "float64"
@@ -5050,20 +4947,166 @@ window.nomadArtifacts = {
       "dynamic": false,
       "repeats": true
     },
-    "results.properties.catalytic.reaction.rates.turn_over_frequency": {
-      "name": "turn_over_frequency",
-      "description": "The turn over frequency, calculated from mol of reactant or product per number of sites over time.",
+    "results.properties.catalytic.reaction.rates.turnover_frequency": {
+      "name": "turnover_frequency",
+      "description": "The turnover frequency, calculated from mol of reactant or product per\nnumber of sites over time.",
+      "type": {
+        "type_kind": "numpy",
+        "type_data": "float64"
+      },
+      "unit": "1 / second",
+      "shape": [],
+      "aggregatable": false,
+      "dynamic": false,
+      "repeats": true
+    },
+    "results.properties.catalytic.reaction.reaction_conditions.temperature": {
+      "name": "temperature",
+      "description": "The reaction temperature(s) in the catalytic reactor during a chemical reaction.",
+      "type": {
+        "type_kind": "numpy",
+        "type_data": "float64"
+      },
+      "unit": "kelvin",
+      "shape": [
+        "*"
+      ],
+      "aggregatable": false,
+      "dynamic": false,
+      "repeats": false
+    },
+    "results.properties.catalytic.reaction.reaction_conditions.pressure": {
+      "name": "pressure",
+      "description": "The pressure during the catalytic test reaction.",
+      "type": {
+        "type_kind": "numpy",
+        "type_data": "float64"
+      },
+      "unit": "pascal",
+      "shape": [
+        "*"
+      ],
+      "aggregatable": false,
+      "dynamic": false,
+      "repeats": false
+    },
+    "results.properties.catalytic.reaction.reaction_conditions.weight_hourly_space_velocity": {
+      "name": "weight_hourly_space_velocity",
+      "description": "The weight hourly space velocity in 1/time (gas flow per catalyst mass).",
+      "type": {
+        "type_kind": "numpy",
+        "type_data": "float64"
+      },
+      "unit": "milliliter / gram / second",
+      "shape": [
+        "*"
+      ],
+      "aggregatable": false,
+      "dynamic": false,
+      "repeats": false
+    },
+    "results.properties.catalytic.reaction.reaction_conditions.gas_hourly_space_velocity": {
+      "name": "gas_hourly_space_velocity",
+      "description": "The gas hourly space velocity in 1/time (gas flow per catalyst volume).",
       "type": {
         "type_kind": "numpy",
         "type_data": "float64"
       },
       "unit": "1 / second",
+      "shape": [
+        "*"
+      ],
+      "aggregatable": false,
+      "dynamic": false,
+      "repeats": false
+    },
+    "results.properties.catalytic.reaction.reaction_conditions.flow_rate": {
+      "name": "flow_rate",
+      "description": "The volumetric gas flow in volume per time.",
+      "type": {
+        "type_kind": "numpy",
+        "type_data": "float64"
+      },
+      "unit": "meter ** 3 / second",
+      "shape": [
+        "*"
+      ],
+      "aggregatable": false,
+      "dynamic": false,
+      "repeats": false
+    },
+    "results.properties.catalytic.reaction.reaction_conditions.time_on_stream": {
+      "name": "time_on_stream",
+      "description": "The time on stream of the catalyst in the catalytic reaction.",
+      "type": {
+        "type_kind": "numpy",
+        "type_data": "float64"
+      },
+      "unit": "second",
+      "shape": [
+        "*"
+      ],
+      "aggregatable": false,
+      "dynamic": false,
+      "repeats": false
+    },
+    "results.properties.catalytic.reaction.reaction_mechanism.initial_states": {
+      "name": "initial_states",
+      "description": "The names of reactants of the reaction or elementary step.",
+      "type": {
+        "type_kind": "python",
+        "type_data": "str"
+      },
+      "shape": [
+        "*"
+      ],
+      "aggregatable": true,
+      "dynamic": false,
+      "repeats": true,
+      "suggestion": true
+    },
+    "results.properties.catalytic.reaction.reaction_mechanism.final_states": {
+      "name": "final_states",
+      "description": "The names of products of the reaction or elementary step.",
+      "type": {
+        "type_kind": "python",
+        "type_data": "str"
+      },
+      "shape": [
+        "*"
+      ],
+      "aggregatable": true,
+      "dynamic": false,
+      "repeats": true,
+      "suggestion": true
+    },
+    "results.properties.catalytic.reaction.reaction_mechanism.reaction_enthalpy": {
+      "name": "reaction_enthalpy",
+      "description": "The reaction enthalpy of the reaction or reaction step.",
+      "type": {
+        "type_kind": "numpy",
+        "type_data": "float64"
+      },
+      "unit": "joule",
       "shape": [],
       "aggregatable": false,
       "dynamic": false,
       "repeats": true
     },
-    "results.properties.catalytic.catalyst_synthesis.catalyst_name": {
+    "results.properties.catalytic.reaction.reaction_mechanism.activation_energy": {
+      "name": "activation_energy",
+      "description": "The (apparent) activation energy of the catalyzed reaction or reaction step.",
+      "type": {
+        "type_kind": "numpy",
+        "type_data": "float64"
+      },
+      "unit": "joule",
+      "shape": [],
+      "aggregatable": false,
+      "dynamic": false,
+      "repeats": true
+    },
+    "results.properties.catalytic.catalyst.catalyst_name": {
       "name": "catalyst_name",
       "description": "Custom name of catalyst.",
       "type": {
@@ -5076,9 +5119,9 @@ window.nomadArtifacts = {
       "repeats": false,
       "suggestion": true
     },
-    "results.properties.catalytic.catalyst_synthesis.preparation_method": {
+    "results.properties.catalytic.catalyst.preparation_method": {
       "name": "preparation_method",
-      "description": "The main preparation method of the sample.",
+      "description": "The main preparation method of the catalyst sample.",
       "type": {
         "type_kind": "python",
         "type_data": "str"
@@ -5089,22 +5132,24 @@ window.nomadArtifacts = {
       "repeats": false,
       "suggestion": true
     },
-    "results.properties.catalytic.catalyst_synthesis.catalyst_type": {
+    "results.properties.catalytic.catalyst.catalyst_type": {
       "name": "catalyst_type",
-      "description": "The type of catalyst, wether metal or oxide, ...",
+      "description": "The type of catalyst, wether metal or oxide, model, bulk, supported, ect.\nMultiple values can apply.",
       "type": {
         "type_kind": "python",
         "type_data": "str"
       },
-      "shape": [],
+      "shape": [
+        "*"
+      ],
       "aggregatable": true,
       "dynamic": false,
       "repeats": false,
       "suggestion": true
     },
-    "results.properties.catalytic.catalyst_characterization.method": {
-      "name": "method",
-      "description": "A method used to characterize the catalyst.",
+    "results.properties.catalytic.catalyst.characterization_methods": {
+      "name": "characterization_methods",
+      "description": "A list of methods used to characterize the catalyst sample.",
       "type": {
         "type_kind": "python",
         "type_data": "str"
@@ -5117,7 +5162,7 @@ window.nomadArtifacts = {
       "repeats": false,
       "suggestion": true
     },
-    "results.properties.catalytic.catalyst_characterization.surface_area": {
+    "results.properties.catalytic.catalyst.surface_area": {
       "name": "surface_area",
       "description": "The surface area per catalyst mass.",
       "type": {
@@ -5130,19 +5175,6 @@ window.nomadArtifacts = {
       "dynamic": false,
       "repeats": false
     },
-    "results.properties.catalytic.catalyst_characterization.method_surface_area": {
-      "name": "method_surface_area",
-      "description": "The method with which the surface area per catalyst mass was determined, e.g. BET.",
-      "type": {
-        "type_kind": "python",
-        "type_data": "str"
-      },
-      "shape": [],
-      "aggregatable": true,
-      "dynamic": false,
-      "repeats": false,
-      "suggestion": true
-    },
     "results.properties.mechanical.energy_volume_curve.type": {
       "name": "type",
       "type": {
@@ -6016,13 +6048,13 @@ window.nomadArtifacts = {
     },
     "results.properties.catalytic": {
       "name": "catalytic",
-      "description": "\n        Properties of Heterogeneous Catalysts.\n        ",
+      "description": "\n        Properties relating to catalysis.\n        ",
       "nested": false,
       "repeats": false
     },
     "results.properties.catalytic.reaction": {
       "name": "reaction",
-      "description": "\n        Properties of a catalytic test reaction.\n        ",
+      "description": "\n        A collection of specifications and properties of a full catalytic reaction.\n        This may include reaction conditions, results and mechanistic aspects of a reaction.\n        ",
       "nested": false,
       "repeats": false
     },
@@ -6040,18 +6072,24 @@ window.nomadArtifacts = {
     },
     "results.properties.catalytic.reaction.rates": {
       "name": "rates",
-      "description": "\n        The rate of a catalytic test reaction.\n        ",
+      "description": "\n        Section bundling multiple representations of catalytic reaction rates.\n        ",
       "nested": true,
       "repeats": true
     },
-    "results.properties.catalytic.catalyst_synthesis": {
-      "name": "catalyst_synthesis",
-      "description": "\n        Synthesis of a heterogeneous catalyst.\n        ",
+    "results.properties.catalytic.reaction.reaction_conditions": {
+      "name": "reaction_conditions",
+      "description": "\n        Conditions under which a catalytic test reaction was performed.\n        ",
       "nested": false,
       "repeats": false
     },
-    "results.properties.catalytic.catalyst_characterization": {
-      "name": "catalyst_characterization",
+    "results.properties.catalytic.reaction.reaction_mechanism": {
+      "name": "reaction_mechanism",
+      "description": "\n        Properties of single steps of a catalytic reaction mechanism.\n        ",
+      "nested": false,
+      "repeats": true
+    },
+    "results.properties.catalytic.catalyst": {
+      "name": "catalyst",
       "description": "\n        Properties of a heterogeneous catalyst.\n        ",
       "nested": false,
       "repeats": false
@@ -38544,7 +38582,10 @@ window.nomadArtifacts = {
             "m_parent_index": 72,
             "m_parent_sub_section": "section_definitions",
             "name": "Rate",
-            "description": "\n        The rate of a catalytic test reaction.\n        ",
+            "description": "\n        Section bundling multiple representations of catalytic reaction rates.\n        ",
+            "links": [
+              "https://w3id.org/nfdi4cat/voc4cat_0007024"
+            ],
             "more": {
               "label_quantity": "name"
             },
@@ -38577,7 +38618,7 @@ window.nomadArtifacts = {
                   ]
                 },
                 "name": "reaction_rate",
-                "description": "The rate of the number of reactant or product molecules converted/produced, per mass of total catalyst, per time.",
+                "description": "The rate of the number of reactant or product molecules converted/produced,\nper mass of total catalyst, per time.",
                 "links": [
                   "https://w3id.org/nfdi4cat/voc4cat_0007024"
                 ],
@@ -38598,7 +38639,7 @@ window.nomadArtifacts = {
                   ]
                 },
                 "name": "specific_mass_rate",
-                "description": "The specific rate of the reactant, per mass of active catalyst component (e.g. metal).",
+                "description": "The specific rate of the reactant, per mass of active catalyst component\n(e.g. metal).",
                 "links": [
                   "https://w3id.org/nfdi4cat/voc4cat_0007025"
                 ],
@@ -38635,7 +38676,10 @@ window.nomadArtifacts = {
                 "m_parent_index": 4,
                 "m_parent_sub_section": "quantities",
                 "name": "rate",
-                "description": "The rate calculated from the mass of reactant or product converted/produced, per total catalyst mass per time.",
+                "description": "The rate calculated from the mass of reactant or product converted/produced,\nper total catalyst mass per time.",
+                "links": [
+                  "https://w3id.org/nfdi4cat/voc4cat_0007024"
+                ],
                 "type": {
                   "type_kind": "numpy",
                   "type_data": "float64"
@@ -38651,11 +38695,11 @@ window.nomadArtifacts = {
                 "m_parent_sub_section": "quantities",
                 "m_annotations": {
                   "elasticsearch": [
-                    "results.properties.catalytic.reaction.rates.turn_over_frequency"
+                    "results.properties.catalytic.reaction.rates.turnover_frequency"
                   ]
                 },
-                "name": "turn_over_frequency",
-                "description": "The turn over frequency, calculated from mol of reactant or product per number of sites over time.",
+                "name": "turnover_frequency",
+                "description": "The turnover frequency, calculated from mol of reactant or product per\nnumber of sites over time.",
                 "type": {
                   "type_kind": "numpy",
                   "type_data": "float64"
@@ -38669,8 +38713,8 @@ window.nomadArtifacts = {
             "m_def": "nomad.metainfo.metainfo.Section",
             "m_parent_index": 73,
             "m_parent_sub_section": "section_definitions",
-            "name": "Reaction",
-            "description": "\n        Properties of a catalytic test reaction.\n        ",
+            "name": "ReactionConditions",
+            "description": "\n        Conditions under which a catalytic test reaction was performed.\n        ",
             "quantities": [
               {
                 "m_def": "nomad.metainfo.metainfo.Quantity",
@@ -38678,20 +38722,22 @@ window.nomadArtifacts = {
                 "m_parent_sub_section": "quantities",
                 "m_annotations": {
                   "elasticsearch": [
-                    "results.properties.catalytic.reaction.name",
-                    "results.properties.catalytic.reaction.name__suggestion"
+                    "results.properties.catalytic.reaction.reaction_conditions.temperature"
                   ]
                 },
-                "name": "name",
-                "description": "Name of the catalytic test reaction.",
+                "name": "temperature",
+                "description": "The reaction temperature(s) in the catalytic reactor during a chemical reaction.",
                 "links": [
-                  "https://w3id.org/nfdi4cat/voc4cat_0007009"
+                  "https://w3id.org/nfdi4cat/voc4cat_0007032"
                 ],
                 "type": {
-                  "type_kind": "python",
-                  "type_data": "str"
+                  "type_kind": "numpy",
+                  "type_data": "float64"
                 },
-                "shape": []
+                "shape": [
+                  "*"
+                ],
+                "unit": "kelvin"
               },
               {
                 "m_def": "nomad.metainfo.metainfo.Quantity",
@@ -38699,20 +38745,22 @@ window.nomadArtifacts = {
                 "m_parent_sub_section": "quantities",
                 "m_annotations": {
                   "elasticsearch": [
-                    "results.properties.catalytic.reaction.type",
-                    "results.properties.catalytic.reaction.type__suggestion"
+                    "results.properties.catalytic.reaction.reaction_conditions.pressure"
                   ]
                 },
-                "name": "type",
-                "description": "Classification of the catalytic test reaction such as Oxidation, Hydrogenation,\nIsomerization, Coupling...",
+                "name": "pressure",
+                "description": "The pressure during the catalytic test reaction.",
                 "links": [
-                  "https://w3id.org/nfdi4cat/voc4cat_0007010"
+                  "https://w3id.org/nfdi4cat/voc4cat_0000118"
                 ],
                 "type": {
-                  "type_kind": "python",
-                  "type_data": "str"
+                  "type_kind": "numpy",
+                  "type_data": "float64"
                 },
-                "shape": []
+                "shape": [
+                  "*"
+                ],
+                "unit": "pascal"
               },
               {
                 "m_def": "nomad.metainfo.metainfo.Quantity",
@@ -38720,7 +38768,7 @@ window.nomadArtifacts = {
                 "m_parent_sub_section": "quantities",
                 "m_annotations": {
                   "elasticsearch": [
-                    "results.properties.catalytic.reaction.weight_hourly_space_velocity"
+                    "results.properties.catalytic.reaction.reaction_conditions.weight_hourly_space_velocity"
                   ]
                 },
                 "name": "weight_hourly_space_velocity",
@@ -38740,7 +38788,7 @@ window.nomadArtifacts = {
                 "m_parent_sub_section": "quantities",
                 "m_annotations": {
                   "elasticsearch": [
-                    "results.properties.catalytic.reaction.gas_hourly_space_velocity"
+                    "results.properties.catalytic.reaction.reaction_conditions.gas_hourly_space_velocity"
                   ]
                 },
                 "name": "gas_hourly_space_velocity",
@@ -38763,7 +38811,7 @@ window.nomadArtifacts = {
                 "m_parent_sub_section": "quantities",
                 "m_annotations": {
                   "elasticsearch": [
-                    "results.properties.catalytic.reaction.flow_rate"
+                    "results.properties.catalytic.reaction.reaction_conditions.flow_rate"
                   ]
                 },
                 "name": "flow_rate",
@@ -38786,14 +38834,11 @@ window.nomadArtifacts = {
                 "m_parent_sub_section": "quantities",
                 "m_annotations": {
                   "elasticsearch": [
-                    "results.properties.catalytic.reaction.temperature"
+                    "results.properties.catalytic.reaction.reaction_conditions.time_on_stream"
                   ]
                 },
-                "name": "temperature",
-                "description": "The reaction temperature(s) in the catalytic reactor during a chemical reaction.",
-                "links": [
-                  "https://w3id.org/nfdi4cat/voc4cat_0007032"
-                ],
+                "name": "time_on_stream",
+                "description": "The time on stream of the catalyst in the catalytic reaction.",
                 "type": {
                   "type_kind": "numpy",
                   "type_data": "float64"
@@ -38801,65 +38846,146 @@ window.nomadArtifacts = {
                 "shape": [
                   "*"
                 ],
-                "unit": "kelvin"
+                "unit": "second"
+              }
+            ]
+          },
+          {
+            "m_def": "nomad.metainfo.metainfo.Section",
+            "m_parent_index": 74,
+            "m_parent_sub_section": "section_definitions",
+            "name": "ReactionStep",
+            "description": "\n        Properties of single steps of a catalytic reaction mechanism.\n        ",
+            "quantities": [
+              {
+                "m_def": "nomad.metainfo.metainfo.Quantity",
+                "m_parent_index": 0,
+                "m_parent_sub_section": "quantities",
+                "m_annotations": {
+                  "elasticsearch": [
+                    "results.properties.catalytic.reaction.reaction_mechanism.initial_states",
+                    "results.properties.catalytic.reaction.reaction_mechanism.initial_states__suggestion"
+                  ]
+                },
+                "name": "initial_states",
+                "description": "The names of reactants of the reaction or elementary step.",
+                "type": {
+                  "type_kind": "python",
+                  "type_data": "str"
+                },
+                "shape": [
+                  "*"
+                ]
               },
               {
                 "m_def": "nomad.metainfo.metainfo.Quantity",
-                "m_parent_index": 6,
+                "m_parent_index": 1,
                 "m_parent_sub_section": "quantities",
                 "m_annotations": {
                   "elasticsearch": [
-                    "results.properties.catalytic.reaction.time_on_stream"
+                    "results.properties.catalytic.reaction.reaction_mechanism.final_states",
+                    "results.properties.catalytic.reaction.reaction_mechanism.final_states__suggestion"
                   ]
                 },
-                "name": "time_on_stream",
-                "description": "The time on stream of the catalyst in the catalytic reaction.",
+                "name": "final_states",
+                "description": "The names of products of the reaction or elementary step.",
                 "type": {
-                  "type_kind": "numpy",
-                  "type_data": "float64"
+                  "type_kind": "python",
+                  "type_data": "str"
                 },
                 "shape": [
                   "*"
-                ],
-                "unit": "second"
+                ]
               },
               {
                 "m_def": "nomad.metainfo.metainfo.Quantity",
-                "m_parent_index": 7,
+                "m_parent_index": 2,
                 "m_parent_sub_section": "quantities",
                 "m_annotations": {
                   "elasticsearch": [
-                    "results.properties.catalytic.reaction.total_time_on_stream"
+                    "results.properties.catalytic.reaction.reaction_mechanism.reaction_enthalpy"
                   ]
                 },
-                "name": "total_time_on_stream",
-                "description": "The total time on stream of the catalyst in the catalytic test reaction.",
+                "name": "reaction_enthalpy",
+                "description": "The reaction enthalpy of the reaction or reaction step.",
                 "type": {
                   "type_kind": "numpy",
                   "type_data": "float64"
                 },
                 "shape": [],
-                "unit": "second"
+                "unit": "joule"
               },
               {
                 "m_def": "nomad.metainfo.metainfo.Quantity",
-                "m_parent_index": 8,
+                "m_parent_index": 3,
                 "m_parent_sub_section": "quantities",
                 "m_annotations": {
                   "elasticsearch": [
-                    "results.properties.catalytic.reaction.pressure"
+                    "results.properties.catalytic.reaction.reaction_mechanism.activation_energy"
                   ]
                 },
-                "name": "pressure",
-                "description": "The pressure during the catalytic test reaction.",
+                "name": "activation_energy",
+                "description": "The (apparent) activation energy of the catalyzed reaction or reaction step.",
                 "type": {
                   "type_kind": "numpy",
                   "type_data": "float64"
                 },
-                "shape": [
-                  "*"
+                "shape": [],
+                "unit": "joule"
+              }
+            ]
+          },
+          {
+            "m_def": "nomad.metainfo.metainfo.Section",
+            "m_parent_index": 75,
+            "m_parent_sub_section": "section_definitions",
+            "name": "Reaction",
+            "description": "\n        A collection of specifications and properties of a full catalytic reaction.\n        This may include reaction conditions, results and mechanistic aspects of a reaction.\n        ",
+            "links": [
+              "https://w3id.org/nfdi4cat/voc4cat_0005007"
+            ],
+            "quantities": [
+              {
+                "m_def": "nomad.metainfo.metainfo.Quantity",
+                "m_parent_index": 0,
+                "m_parent_sub_section": "quantities",
+                "m_annotations": {
+                  "elasticsearch": [
+                    "results.properties.catalytic.reaction.name",
+                    "results.properties.catalytic.reaction.name__suggestion"
+                  ]
+                },
+                "name": "name",
+                "description": "Name of the catalytic test reaction.",
+                "links": [
+                  "https://w3id.org/nfdi4cat/voc4cat_0007009"
                 ],
-                "unit": "pascal"
+                "type": {
+                  "type_kind": "python",
+                  "type_data": "str"
+                },
+                "shape": []
+              },
+              {
+                "m_def": "nomad.metainfo.metainfo.Quantity",
+                "m_parent_index": 1,
+                "m_parent_sub_section": "quantities",
+                "m_annotations": {
+                  "elasticsearch": [
+                    "results.properties.catalytic.reaction.type",
+                    "results.properties.catalytic.reaction.type__suggestion"
+                  ]
+                },
+                "name": "type",
+                "description": "Classification of the catalytic test reaction such as Oxidation, Hydrogenation,\nIsomerization, Coupling...",
+                "links": [
+                  "https://w3id.org/nfdi4cat/voc4cat_0007010"
+                ],
+                "type": {
+                  "type_kind": "python",
+                  "type_data": "str"
+                },
+                "shape": []
               }
             ],
             "sub_sections": [
@@ -38901,15 +39027,41 @@ window.nomadArtifacts = {
                 "name": "rates",
                 "sub_section": "/packages/12/section_definitions/72",
                 "repeats": true
+              },
+              {
+                "m_def": "nomad.metainfo.metainfo.SubSection",
+                "m_parent_index": 3,
+                "m_parent_sub_section": "sub_sections",
+                "m_annotations": {
+                  "elasticsearch": [
+                    "reaction_conditions"
+                  ]
+                },
+                "name": "reaction_conditions",
+                "sub_section": "/packages/12/section_definitions/73",
+                "repeats": false
+              },
+              {
+                "m_def": "nomad.metainfo.metainfo.SubSection",
+                "m_parent_index": 4,
+                "m_parent_sub_section": "sub_sections",
+                "m_annotations": {
+                  "elasticsearch": [
+                    "reaction_mechanism"
+                  ]
+                },
+                "name": "reaction_mechanism",
+                "sub_section": "/packages/12/section_definitions/74",
+                "repeats": true
               }
             ]
           },
           {
             "m_def": "nomad.metainfo.metainfo.Section",
-            "m_parent_index": 74,
+            "m_parent_index": 76,
             "m_parent_sub_section": "section_definitions",
-            "name": "CatalystSynthesis",
-            "description": "\n        Synthesis of a heterogeneous catalyst.\n        ",
+            "name": "Catalyst",
+            "description": "\n        Properties of a heterogeneous catalyst.\n        ",
             "quantities": [
               {
                 "m_def": "nomad.metainfo.metainfo.Quantity",
@@ -38917,8 +39069,8 @@ window.nomadArtifacts = {
                 "m_parent_sub_section": "quantities",
                 "m_annotations": {
                   "elasticsearch": [
-                    "results.properties.catalytic.catalyst_synthesis.catalyst_name",
-                    "results.properties.catalytic.catalyst_synthesis.catalyst_name__suggestion"
+                    "results.properties.catalytic.catalyst.catalyst_name",
+                    "results.properties.catalytic.catalyst.catalyst_name__suggestion"
                   ]
                 },
                 "name": "catalyst_name",
@@ -38935,12 +39087,12 @@ window.nomadArtifacts = {
                 "m_parent_sub_section": "quantities",
                 "m_annotations": {
                   "elasticsearch": [
-                    "results.properties.catalytic.catalyst_synthesis.preparation_method",
-                    "results.properties.catalytic.catalyst_synthesis.preparation_method__suggestion"
+                    "results.properties.catalytic.catalyst.preparation_method",
+                    "results.properties.catalytic.catalyst.preparation_method__suggestion"
                   ]
                 },
                 "name": "preparation_method",
-                "description": "The main preparation method of the sample.",
+                "description": "The main preparation method of the catalyst sample.",
                 "links": [
                   "https://w3id.org/nfdi4cat/voc4cat_0007016"
                 ],
@@ -38956,12 +39108,12 @@ window.nomadArtifacts = {
                 "m_parent_sub_section": "quantities",
                 "m_annotations": {
                   "elasticsearch": [
-                    "results.properties.catalytic.catalyst_synthesis.catalyst_type",
-                    "results.properties.catalytic.catalyst_synthesis.catalyst_type__suggestion"
+                    "results.properties.catalytic.catalyst.catalyst_type",
+                    "results.properties.catalytic.catalyst.catalyst_type__suggestion"
                   ]
                 },
                 "name": "catalyst_type",
-                "description": "The type of catalyst, wether metal or oxide, ...",
+                "description": "The type of catalyst, wether metal or oxide, model, bulk, supported, ect.\nMultiple values can apply.",
                 "links": [
                   "https://w3id.org/nfdi4cat/voc4cat_0007014"
                 ],
@@ -38969,29 +39121,25 @@ window.nomadArtifacts = {
                   "type_kind": "python",
                   "type_data": "str"
                 },
-                "shape": []
-              }
-            ]
-          },
-          {
-            "m_def": "nomad.metainfo.metainfo.Section",
-            "m_parent_index": 75,
-            "m_parent_sub_section": "section_definitions",
-            "name": "CatalystCharacterization",
-            "description": "\n        Properties of a heterogeneous catalyst.\n        ",
-            "quantities": [
+                "shape": [
+                  "*"
+                ]
+              },
               {
                 "m_def": "nomad.metainfo.metainfo.Quantity",
-                "m_parent_index": 0,
+                "m_parent_index": 3,
                 "m_parent_sub_section": "quantities",
                 "m_annotations": {
                   "elasticsearch": [
-                    "results.properties.catalytic.catalyst_characterization.method",
-                    "results.properties.catalytic.catalyst_characterization.method__suggestion"
+                    "results.properties.catalytic.catalyst.characterization_methods",
+                    "results.properties.catalytic.catalyst.characterization_methods__suggestion"
                   ]
                 },
-                "name": "method",
-                "description": "A method used to characterize the catalyst.",
+                "name": "characterization_methods",
+                "description": "A list of methods used to characterize the catalyst sample.",
+                "links": [
+                  "https://w3id.org/nfdi4cat/voc4cat_0000066"
+                ],
                 "type": {
                   "type_kind": "python",
                   "type_data": "str"
@@ -39002,11 +39150,11 @@ window.nomadArtifacts = {
               },
               {
                 "m_def": "nomad.metainfo.metainfo.Quantity",
-                "m_parent_index": 1,
+                "m_parent_index": 4,
                 "m_parent_sub_section": "quantities",
                 "m_annotations": {
                   "elasticsearch": [
-                    "results.properties.catalytic.catalyst_characterization.surface_area"
+                    "results.properties.catalytic.catalyst.surface_area"
                   ]
                 },
                 "name": "surface_area",
@@ -39020,63 +39168,37 @@ window.nomadArtifacts = {
                 },
                 "shape": [],
                 "unit": "meter ** 2 / gram"
-              },
-              {
-                "m_def": "nomad.metainfo.metainfo.Quantity",
-                "m_parent_index": 2,
-                "m_parent_sub_section": "quantities",
-                "m_annotations": {
-                  "elasticsearch": [
-                    "results.properties.catalytic.catalyst_characterization.method_surface_area",
-                    "results.properties.catalytic.catalyst_characterization.method_surface_area__suggestion"
-                  ]
-                },
-                "name": "method_surface_area",
-                "description": "The method with which the surface area per catalyst mass was determined, e.g. BET.",
-                "type": {
-                  "type_kind": "python",
-                  "type_data": "str"
-                },
-                "shape": []
               }
             ]
           },
           {
             "m_def": "nomad.metainfo.metainfo.Section",
-            "m_parent_index": 76,
+            "m_parent_index": 77,
             "m_parent_sub_section": "section_definitions",
             "name": "CatalyticProperties",
-            "description": "\n        Properties of Heterogeneous Catalysts.\n        ",
+            "description": "\n        Properties relating to catalysis.\n        ",
             "sub_sections": [
               {
                 "m_def": "nomad.metainfo.metainfo.SubSection",
                 "m_parent_index": 0,
                 "m_parent_sub_section": "sub_sections",
                 "name": "reaction",
-                "sub_section": "/packages/12/section_definitions/73",
+                "sub_section": "/packages/12/section_definitions/75",
                 "repeats": false
               },
               {
                 "m_def": "nomad.metainfo.metainfo.SubSection",
                 "m_parent_index": 1,
                 "m_parent_sub_section": "sub_sections",
-                "name": "catalyst_synthesis",
-                "sub_section": "/packages/12/section_definitions/74",
-                "repeats": false
-              },
-              {
-                "m_def": "nomad.metainfo.metainfo.SubSection",
-                "m_parent_index": 2,
-                "m_parent_sub_section": "sub_sections",
-                "name": "catalyst_characterization",
-                "sub_section": "/packages/12/section_definitions/75",
+                "name": "catalyst",
+                "sub_section": "/packages/12/section_definitions/76",
                 "repeats": false
               }
             ]
           },
           {
             "m_def": "nomad.metainfo.metainfo.Section",
-            "m_parent_index": 77,
+            "m_parent_index": 78,
             "m_parent_sub_section": "section_definitions",
             "name": "EELSInstrument",
             "description": "\n        Base class for an EELS instrument.\n        ",
@@ -39220,7 +39342,7 @@ window.nomadArtifacts = {
           },
           {
             "m_def": "nomad.metainfo.metainfo.Section",
-            "m_parent_index": 78,
+            "m_parent_index": 79,
             "m_parent_sub_section": "section_definitions",
             "name": "EELSMethodology",
             "description": "\n        Base class for the EELS methodology.\n        ",
@@ -39297,7 +39419,7 @@ window.nomadArtifacts = {
           },
           {
             "m_def": "nomad.metainfo.metainfo.Section",
-            "m_parent_index": 79,
+            "m_parent_index": 80,
             "m_parent_sub_section": "section_definitions",
             "name": "SpectraProvenance",
             "description": "\n        Contains provenance information (mainly the methodology section) for spectra properties\n        derived from an experiment or a calculation.\n        ",
@@ -39310,7 +39432,7 @@ window.nomadArtifacts = {
                 "m_parent_index": 0,
                 "m_parent_sub_section": "sub_sections",
                 "name": "eels",
-                "sub_section": "/packages/12/section_definitions/78"
+                "sub_section": "/packages/12/section_definitions/79"
               },
               {
                 "m_def": "nomad.metainfo.metainfo.SubSection",
@@ -39324,7 +39446,7 @@ window.nomadArtifacts = {
           },
           {
             "m_def": "nomad.metainfo.metainfo.Section",
-            "m_parent_index": 80,
+            "m_parent_index": 81,
             "m_parent_sub_section": "section_definitions",
             "name": "Spectra",
             "description": "\n        Base class for Spectra calculation information as obtained from an experiment or a computation.\n        ",
@@ -39433,13 +39555,13 @@ window.nomadArtifacts = {
                 "m_parent_index": 0,
                 "m_parent_sub_section": "sub_sections",
                 "name": "provenance",
-                "sub_section": "/packages/12/section_definitions/79"
+                "sub_section": "/packages/12/section_definitions/80"
               }
             ]
           },
           {
             "m_def": "nomad.metainfo.metainfo.Section",
-            "m_parent_index": 81,
+            "m_parent_index": 82,
             "m_parent_sub_section": "section_definitions",
             "name": "SpectroscopicProperties",
             "description": "\n        Spectroscopic properties.\n        ",
@@ -39454,14 +39576,14 @@ window.nomadArtifacts = {
                   ]
                 },
                 "name": "spectra",
-                "sub_section": "/packages/12/section_definitions/80",
+                "sub_section": "/packages/12/section_definitions/81",
                 "repeats": true
               }
             ]
           },
           {
             "m_def": "nomad.metainfo.metainfo.Section",
-            "m_parent_index": 82,
+            "m_parent_index": 83,
             "m_parent_sub_section": "section_definitions",
             "name": "Properties",
             "description": "\n        Contains the physical properties that have been calculated or used in\n        this entry.\n        ",
@@ -39566,7 +39688,7 @@ window.nomadArtifacts = {
                 "m_parent_index": 7,
                 "m_parent_sub_section": "sub_sections",
                 "name": "catalytic",
-                "sub_section": "/packages/12/section_definitions/76",
+                "sub_section": "/packages/12/section_definitions/77",
                 "repeats": false
               },
               {
@@ -39590,7 +39712,7 @@ window.nomadArtifacts = {
                 "m_parent_index": 10,
                 "m_parent_sub_section": "sub_sections",
                 "name": "spectroscopic",
-                "sub_section": "/packages/12/section_definitions/81",
+                "sub_section": "/packages/12/section_definitions/82",
                 "repeats": false
               },
               {
@@ -39605,7 +39727,7 @@ window.nomadArtifacts = {
           },
           {
             "m_def": "nomad.metainfo.metainfo.Section",
-            "m_parent_index": 83,
+            "m_parent_index": 84,
             "m_parent_sub_section": "section_definitions",
             "name": "ELN",
             "quantities": [
@@ -39747,7 +39869,7 @@ window.nomadArtifacts = {
           },
           {
             "m_def": "nomad.metainfo.metainfo.Section",
-            "m_parent_index": 84,
+            "m_parent_index": 85,
             "m_parent_sub_section": "section_definitions",
             "name": "Results",
             "description": "\n        Contains a summary of the entry contents.\n        ",
@@ -39773,7 +39895,7 @@ window.nomadArtifacts = {
                 "m_parent_index": 2,
                 "m_parent_sub_section": "sub_sections",
                 "name": "properties",
-                "sub_section": "/packages/12/section_definitions/82",
+                "sub_section": "/packages/12/section_definitions/83",
                 "repeats": false
               },
               {
@@ -39781,7 +39903,7 @@ window.nomadArtifacts = {
                 "m_parent_index": 3,
                 "m_parent_sub_section": "sub_sections",
                 "name": "eln",
-                "sub_section": "/packages/12/section_definitions/83",
+                "sub_section": "/packages/12/section_definitions/84",
                 "repeats": false
               }
             ]
@@ -45779,7 +45901,7 @@ window.nomadArtifacts = {
                 "categories": [
                   "/packages/27/category_definitions/0"
                 ],
-                "sub_section": "/packages/12/section_definitions/84"
+                "sub_section": "/packages/12/section_definitions/85"
               },
               {
                 "m_def": "nomad.metainfo.metainfo.SubSection",
diff --git a/gui/tests/data/search/searchpage.json b/gui/tests/data/search/searchpage.json
index 0653d13bca..d5a25c4ce2 100644
--- a/gui/tests/data/search/searchpage.json
+++ b/gui/tests/data/search/searchpage.json
@@ -193,11 +193,9 @@
                 "properties": {
                   "available_properties": [],
                   "catalytic": {
-                    "catalyst_characterization": {
+                    "catalyst": {
                       "surface_area": 65.56,
-                      "method_surface_area": "BET"
-                    },
-                    "catalyst_synthesis": {
+                      "characterization_methods": "BET",
                       "preparation_method": "hydrothermal",
                       "catalyst_type": "bulk catalyst"
                     }
@@ -1222,11 +1220,9 @@
                 "properties": {
                   "available_properties": [],
                   "catalytic": {
-                    "catalyst_characterization": {
+                    "catalyst": {
                       "surface_area": 65.56,
-                      "method_surface_area": "BET"
-                    },
-                    "catalyst_synthesis": {
+                      "characterization_methods": "BET",
                       "preparation_method": "hydrothermal",
                       "catalyst_type": "bulk catalyst"
                     }
@@ -3917,54 +3913,54 @@
                 "quantity": "results.properties.catalytic.reaction.products.gas_concentration_out"
               }
             },
-            "results.properties.catalytic.reaction.temperature:default_histogram": {
+            "results.properties.catalytic.reaction.reaction_conditions.temperature:default_histogram": {
               "histogram": {
                 "exclude_from_search": true,
                 "update": true,
                 "type": "histogram",
                 "buckets": 30,
                 "changed": true,
-                "quantity": "results.properties.catalytic.reaction.temperature"
+                "quantity": "results.properties.catalytic.reaction.reaction_conditions.temperature"
               }
             },
-            "results.properties.catalytic.catalyst_synthesis.catalyst_type:scroll": {
+            "results.properties.catalytic.catalyst.catalyst_type:scroll": {
               "terms": {
                 "exclude_from_search": true,
                 "update": true,
                 "size": 5,
                 "type": "terms",
                 "changed": true,
-                "quantity": "results.properties.catalytic.catalyst_synthesis.catalyst_type"
+                "quantity": "results.properties.catalytic.catalyst.catalyst_type"
               }
             },
-            "results.properties.catalytic.catalyst_synthesis.preparation_method:scroll": {
+            "results.properties.catalytic.catalyst.preparation_method:scroll": {
               "terms": {
                 "exclude_from_search": false,
                 "update": true,
                 "size": 5,
                 "type": "terms",
                 "changed": true,
-                "quantity": "results.properties.catalytic.catalyst_synthesis.preparation_method"
+                "quantity": "results.properties.catalytic.catalyst.preparation_method"
               }
             },
-            "results.properties.catalytic.catalyst_characterization.method:scroll": {
+            "results.properties.catalytic.catalyst.characterization_methods:scroll": {
               "terms": {
                 "exclude_from_search": true,
                 "update": true,
                 "size": 5,
                 "type": "terms",
                 "changed": true,
-                "quantity": "results.properties.catalytic.catalyst_characterization.method"
+                "quantity": "results.properties.catalytic.catalyst.characterization_methods"
               }
             },
-            "results.properties.catalytic.catalyst_characterization.surface_area:default_histogram": {
+            "results.properties.catalytic.catalyst.surface_area:default_histogram": {
               "histogram": {
                 "exclude_from_search": true,
                 "update": true,
                 "type": "histogram",
                 "buckets": 30,
                 "changed": true,
-                "quantity": "results.properties.catalytic.catalyst_characterization.surface_area"
+                "quantity": "results.properties.catalytic.catalyst.surface_area"
               }
             }
           },
@@ -4070,18 +4066,18 @@
                 "data": []
               }
             },
-            "results.properties.catalytic.reaction.temperature:default_histogram": {
+            "results.properties.catalytic.reaction.reaction_conditions.temperature:default_histogram": {
               "histogram": {
-                "quantity": "results.properties.catalytic.reaction.temperature",
+                "quantity": "results.properties.catalytic.reaction.reaction_conditions.temperature",
                 "exclude_from_search": true,
                 "metrics": [],
                 "buckets": 30,
                 "data": []
               }
             },
-            "results.properties.catalytic.catalyst_synthesis.catalyst_type:scroll": {
+            "results.properties.catalytic.catalyst.catalyst_type:scroll": {
               "terms": {
-                "quantity": "results.properties.catalytic.catalyst_synthesis.catalyst_type",
+                "quantity": "results.properties.catalytic.catalyst.catalyst_type",
                 "exclude_from_search": true,
                 "metrics": [],
                 "size": 5,
@@ -4094,9 +4090,9 @@
                 ]
               }
             },
-            "results.properties.catalytic.catalyst_synthesis.preparation_method:scroll": {
+            "results.properties.catalytic.catalyst.preparation_method:scroll": {
               "terms": {
-                "quantity": "results.properties.catalytic.catalyst_synthesis.preparation_method",
+                "quantity": "results.properties.catalytic.catalyst.preparation_method",
                 "exclude_from_search": false,
                 "metrics": [],
                 "size": 5,
@@ -4109,18 +4105,18 @@
                 ]
               }
             },
-            "results.properties.catalytic.catalyst_characterization.method:scroll": {
+            "results.properties.catalytic.catalyst.characterization_method:scroll": {
               "terms": {
-                "quantity": "results.properties.catalytic.catalyst_characterization.method",
+                "quantity": "results.properties.catalytic.catalyst.characterization_method",
                 "exclude_from_search": true,
                 "metrics": [],
                 "size": 5,
                 "data": []
               }
             },
-            "results.properties.catalytic.catalyst_characterization.surface_area:default_histogram": {
+            "results.properties.catalytic.catalyst.surface_area:default_histogram": {
               "histogram": {
-                "quantity": "results.properties.catalytic.catalyst_characterization.surface_area",
+                "quantity": "results.properties.catalytic.catalyst.surface_area",
                 "exclude_from_search": true,
                 "metrics": [],
                 "buckets": 30,
@@ -13432,11 +13428,9 @@
                 "properties": {
                   "available_properties": [],
                   "catalytic": {
-                    "catalyst_characterization": {
+                    "catalyst": {
                       "surface_area": 65.56,
-                      "method_surface_area": "BET"
-                    },
-                    "catalyst_synthesis": {
+                      "characterization_methods": "BET",
                       "preparation_method": "hydrothermal",
                       "catalyst_type": "bulk catalyst"
                     }
@@ -13512,11 +13506,9 @@
                 "properties": {
                   "available_properties": [],
                   "catalytic": {
-                    "catalyst_characterization": {
+                    "catalyst": {
                       "surface_area": 65.56,
-                      "method_surface_area": "BET"
-                    },
-                    "catalyst_synthesis": {
+                      "characterization_methods": "BET",
                       "preparation_method": "hydrothermal",
                       "catalyst_type": "bulk catalyst"
                     }
@@ -13599,44 +13591,44 @@
                 "quantity": "results.properties.catalytic.reaction.products.name"
               }
             },
-            "results.properties.catalytic.catalyst_synthesis.preparation_method:4": {
+            "results.properties.catalytic.catalyst.preparation_method:4": {
               "terms": {
                 "exclude_from_search": false,
                 "update": true,
                 "size": 14,
                 "type": "terms",
                 "changed": true,
-                "quantity": "results.properties.catalytic.catalyst_synthesis.preparation_method"
+                "quantity": "results.properties.catalytic.catalyst.preparation_method"
               }
             },
-            "results.properties.catalytic.catalyst_synthesis.catalyst_type:5": {
+            "results.properties.catalytic.catalyst.catalyst_type:5": {
               "terms": {
                 "exclude_from_search": true,
                 "update": true,
                 "size": 14,
                 "type": "terms",
                 "changed": true,
-                "quantity": "results.properties.catalytic.catalyst_synthesis.catalyst_type"
+                "quantity": "results.properties.catalytic.catalyst.catalyst_type"
               }
             },
-            "results.properties.catalytic.reaction.temperature:6_histogram": {
+            "results.properties.catalytic.reaction.reaction_conditions.temperature:6_histogram": {
               "histogram": {
                 "exclude_from_search": true,
                 "update": true,
                 "type": "histogram",
                 "buckets": 30,
                 "changed": true,
-                "quantity": "results.properties.catalytic.reaction.temperature"
+                "quantity": "results.properties.catalytic.reaction.reaction_conditions.temperature"
               }
             },
-            "results.properties.catalytic.reaction.weight_hourly_space_velocity:7_histogram": {
+            "results.properties.catalytic.reaction.reaction_conditions.weight_hourly_space_velocity:7_histogram": {
               "histogram": {
                 "exclude_from_search": true,
                 "update": true,
                 "type": "histogram",
                 "buckets": 30,
                 "changed": true,
-                "quantity": "results.properties.catalytic.reaction.weight_hourly_space_velocity"
+                "quantity": "results.properties.catalytic.reaction.reaction_conditions.weight_hourly_space_velocity"
               }
             },
             "results.properties.catalytic.reaction.reactants.gas_concentration_in:8_histogram": {
@@ -13649,34 +13641,34 @@
                 "quantity": "results.properties.catalytic.reaction.reactants.gas_concentration_in"
               }
             },
-            "results.properties.catalytic.reaction.pressure:9_histogram": {
+            "results.properties.catalytic.reaction.reaction_conditions.pressure:9_histogram": {
               "histogram": {
                 "exclude_from_search": true,
                 "update": true,
                 "type": "histogram",
                 "buckets": 30,
                 "changed": true,
-                "quantity": "results.properties.catalytic.reaction.pressure"
+                "quantity": "results.properties.catalytic.reaction.reaction_conditions.pressure"
               }
             },
-            "results.properties.catalytic.catalyst_characterization.surface_area:14_histogram": {
+            "results.properties.catalytic.catalyst.surface_area:14_histogram": {
               "histogram": {
                 "exclude_from_search": true,
                 "update": true,
                 "type": "histogram",
                 "buckets": 30,
                 "changed": true,
-                "quantity": "results.properties.catalytic.catalyst_characterization.surface_area"
+                "quantity": "results.properties.catalytic.catalyst.surface_area"
               }
             },
-            "results.properties.catalytic.catalyst_characterization.method:15": {
+            "results.properties.catalytic.catalyst.characterization_methods:15": {
               "terms": {
                 "exclude_from_search": true,
                 "update": true,
                 "size": 14,
                 "type": "terms",
                 "changed": true,
-                "quantity": "results.properties.catalytic.catalyst_characterization.method"
+                "quantity": "results.properties.catalytic.catalyst.characterization_methods"
               }
             }
           },
@@ -13774,9 +13766,9 @@
                 "data": []
               }
             },
-            "results.properties.catalytic.catalyst_synthesis.preparation_method:4": {
+            "results.properties.catalytic.catalyst.preparation_method:4": {
               "terms": {
-                "quantity": "results.properties.catalytic.catalyst_synthesis.preparation_method",
+                "quantity": "results.properties.catalytic.catalyst.preparation_method",
                 "exclude_from_search": false,
                 "metrics": [],
                 "size": 14,
@@ -13789,9 +13781,9 @@
                 ]
               }
             },
-            "results.properties.catalytic.catalyst_synthesis.catalyst_type:5": {
+            "results.properties.catalytic.catalyst.catalyst_type:5": {
               "terms": {
-                "quantity": "results.properties.catalytic.catalyst_synthesis.catalyst_type",
+                "quantity": "results.properties.catalytic.catalyst.catalyst_type",
                 "exclude_from_search": true,
                 "metrics": [],
                 "size": 14,
@@ -13804,18 +13796,18 @@
                 ]
               }
             },
-            "results.properties.catalytic.reaction.temperature:6_histogram": {
+            "results.properties.catalytic.reaction.reaction_conditions.temperature:6_histogram": {
               "histogram": {
-                "quantity": "results.properties.catalytic.reaction.temperature",
+                "quantity": "results.properties.catalytic.reaction.reaction_conditions.temperature",
                 "exclude_from_search": true,
                 "metrics": [],
                 "buckets": 30,
                 "data": []
               }
             },
-            "results.properties.catalytic.reaction.weight_hourly_space_velocity:7_histogram": {
+            "results.properties.catalytic.reaction.reaction_conditions.weight_hourly_space_velocity:7_histogram": {
               "histogram": {
-                "quantity": "results.properties.catalytic.reaction.weight_hourly_space_velocity",
+                "quantity": "results.properties.catalytic.reaction.reaction_conditions.weight_hourly_space_velocity",
                 "exclude_from_search": true,
                 "metrics": [],
                 "buckets": 30,
@@ -13831,18 +13823,18 @@
                 "data": []
               }
             },
-            "results.properties.catalytic.reaction.pressure:9_histogram": {
+            "results.properties.catalytic.reaction.reaction_conditions.pressure:9_histogram": {
               "histogram": {
-                "quantity": "results.properties.catalytic.reaction.pressure",
+                "quantity": "results.properties.catalytic.reaction.reaction_conditions.pressure",
                 "exclude_from_search": true,
                 "metrics": [],
                 "buckets": 30,
                 "data": []
               }
             },
-            "results.properties.catalytic.catalyst_characterization.surface_area:14_histogram": {
+            "results.properties.catalytic.catalyst.surface_area:14_histogram": {
               "histogram": {
-                "quantity": "results.properties.catalytic.catalyst_characterization.surface_area",
+                "quantity": "results.properties.catalytic.catalyst.surface_area",
                 "exclude_from_search": true,
                 "metrics": [],
                 "buckets": 30,
@@ -13856,9 +13848,9 @@
                 ]
               }
             },
-            "results.properties.catalytic.catalyst_characterization.method:15": {
+            "results.properties.catalytic.catalyst.characterization_methods:15": {
               "terms": {
-                "quantity": "results.properties.catalytic.catalyst_characterization.method",
+                "quantity": "results.properties.catalytic.catalyst.characterization_methods",
                 "exclude_from_search": true,
                 "metrics": [],
                 "size": 14,
@@ -13900,7 +13892,7 @@
           "required": {
             "include": [
               "entry_id",
-              "results.properties.catalytic.reaction.temperature",
+              "results.properties.catalytic.reaction.reaction_conditions.temperature",
               "results.properties.catalytic.reaction.reactants.conversion",
               "results.properties.catalytic.reaction.reactants.name"
             ]
@@ -13938,7 +13930,7 @@
           "required": {
             "include": [
               "entry_id",
-              "results.properties.catalytic.reaction.temperature",
+              "results.properties.catalytic.reaction.reaction_conditions.temperature",
               "results.properties.catalytic.reaction.reactants.conversion",
               "results.properties.catalytic.reaction.reactants.name"
             ]
@@ -13984,7 +13976,7 @@
           "required": {
             "include": [
               "entry_id",
-              "results.properties.catalytic.reaction.temperature",
+              "results.properties.catalytic.reaction.reaction_conditions.temperature",
               "results.properties.catalytic.reaction.products.selectivity",
               "results.properties.catalytic.reaction.products.name"
             ]
@@ -14022,7 +14014,7 @@
           "required": {
             "include": [
               "entry_id",
-              "results.properties.catalytic.reaction.temperature",
+              "results.properties.catalytic.reaction.reaction_conditions.temperature",
               "results.properties.catalytic.reaction.products.selectivity",
               "results.properties.catalytic.reaction.products.name"
             ]
@@ -14160,7 +14152,7 @@
               "results.properties.catalytic.reaction.reactants.name",
               "results.properties.catalytic.reaction.products.selectivity",
               "results.properties.catalytic.reaction.products.name",
-              "results.properties.catalytic.catalyst_synthesis.preparation_method"
+              "results.properties.catalytic.catalyst.preparation_method"
             ]
           }
         },
@@ -14200,7 +14192,7 @@
               "results.properties.catalytic.reaction.reactants.name",
               "results.properties.catalytic.reaction.products.selectivity",
               "results.properties.catalytic.reaction.products.name",
-              "results.properties.catalytic.catalyst_synthesis.preparation_method"
+              "results.properties.catalytic.catalyst.preparation_method"
             ]
           },
           "data": [
@@ -14208,7 +14200,7 @@
               "results": {
                 "properties": {
                   "catalytic": {
-                    "catalyst_synthesis": {
+                    "catalyst": {
                       "preparation_method": "hydrothermal"
                     }
                   }
@@ -14220,7 +14212,7 @@
               "results": {
                 "properties": {
                   "catalytic": {
-                    "catalyst_synthesis": {
+                    "catalyst": {
                       "preparation_method": "hydrothermal"
                     }
                   }
@@ -14688,54 +14680,54 @@
                 "quantity": "results.properties.catalytic.reaction.products.gas_concentration_out"
               }
             },
-            "results.properties.catalytic.reaction.temperature:default_histogram": {
+            "results.properties.catalytic.reaction.reaction_conditions.temperature:default_histogram": {
               "histogram": {
                 "exclude_from_search": true,
                 "update": true,
                 "type": "histogram",
                 "buckets": 30,
                 "changed": true,
-                "quantity": "results.properties.catalytic.reaction.temperature"
+                "quantity": "results.properties.catalytic.reaction.reaction_conditions.temperature"
               }
             },
-            "results.properties.catalytic.catalyst_synthesis.catalyst_type:scroll": {
+            "results.properties.catalytic.catalyst.catalyst_type:scroll": {
               "terms": {
                 "exclude_from_search": true,
                 "update": true,
                 "size": 5,
                 "type": "terms",
                 "changed": true,
-                "quantity": "results.properties.catalytic.catalyst_synthesis.catalyst_type"
+                "quantity": "results.properties.catalytic.catalyst.catalyst_type"
               }
             },
-            "results.properties.catalytic.catalyst_synthesis.preparation_method:scroll": {
+            "results.properties.catalytic.catalyst.preparation_method:scroll": {
               "terms": {
                 "exclude_from_search": false,
                 "update": true,
                 "size": 5,
                 "type": "terms",
                 "changed": true,
-                "quantity": "results.properties.catalytic.catalyst_synthesis.preparation_method"
+                "quantity": "results.properties.catalytic.catalyst.preparation_method"
               }
             },
-            "results.properties.catalytic.catalyst_characterization.method:scroll": {
+            "results.properties.catalytic.catalyst.characterization_methods:scroll": {
               "terms": {
                 "exclude_from_search": true,
                 "update": true,
                 "size": 5,
                 "type": "terms",
                 "changed": true,
-                "quantity": "results.properties.catalytic.catalyst_characterization.method"
+                "quantity": "results.properties.catalytic.catalyst.characterization_methods"
               }
             },
-            "results.properties.catalytic.catalyst_characterization.surface_area:default_histogram": {
+            "results.properties.catalytic.catalyst.surface_area:default_histogram": {
               "histogram": {
                 "exclude_from_search": true,
                 "update": true,
                 "type": "histogram",
                 "buckets": 30,
                 "changed": true,
-                "quantity": "results.properties.catalytic.catalyst_characterization.surface_area"
+                "quantity": "results.properties.catalytic.catalyst.surface_area"
               }
             }
           },
@@ -14853,18 +14845,18 @@
                 "data": []
               }
             },
-            "results.properties.catalytic.reaction.temperature:default_histogram": {
+            "results.properties.catalytic.reaction.reaction_conditions.temperature:default_histogram": {
               "histogram": {
-                "quantity": "results.properties.catalytic.reaction.temperature",
+                "quantity": "results.properties.catalytic.reaction.reaction_conditions.temperature",
                 "exclude_from_search": true,
                 "metrics": [],
                 "buckets": 30,
                 "data": []
               }
             },
-            "results.properties.catalytic.catalyst_synthesis.catalyst_type:scroll": {
+            "results.properties.catalytic.catalyst.catalyst_type:scroll": {
               "terms": {
-                "quantity": "results.properties.catalytic.catalyst_synthesis.catalyst_type",
+                "quantity": "results.properties.catalytic.catalyst.catalyst_type",
                 "exclude_from_search": true,
                 "metrics": [],
                 "size": 5,
@@ -14877,9 +14869,9 @@
                 ]
               }
             },
-            "results.properties.catalytic.catalyst_synthesis.preparation_method:scroll": {
+            "results.properties.catalytic.catalyst.preparation_method:scroll": {
               "terms": {
-                "quantity": "results.properties.catalytic.catalyst_synthesis.preparation_method",
+                "quantity": "results.properties.catalytic.catalyst.preparation_method",
                 "exclude_from_search": false,
                 "metrics": [],
                 "size": 5,
@@ -14892,18 +14884,18 @@
                 ]
               }
             },
-            "results.properties.catalytic.catalyst_characterization.method:scroll": {
+            "results.properties.catalytic.catalyst.characterization_methods:scroll": {
               "terms": {
-                "quantity": "results.properties.catalytic.catalyst_characterization.method",
+                "quantity": "results.properties.catalytic.catalyst.characterization_methods",
                 "exclude_from_search": true,
                 "metrics": [],
                 "size": 5,
                 "data": []
               }
             },
-            "results.properties.catalytic.catalyst_characterization.surface_area:default_histogram": {
+            "results.properties.catalytic.catalyst.surface_area:default_histogram": {
               "histogram": {
-                "quantity": "results.properties.catalytic.catalyst_characterization.surface_area",
+                "quantity": "results.properties.catalytic.catalyst.surface_area",
                 "exclude_from_search": true,
                 "metrics": [],
                 "buckets": 30,
@@ -16191,11 +16183,9 @@
                     "properties": {
                       "available_properties": [],
                       "catalytic": {
-                        "catalyst_characterization": {
+                        "catalyst": {
                           "surface_area": 65.56,
-                          "method_surface_area": "BET"
-                        },
-                        "catalyst_synthesis": {
+                          "characterization_methods": "BET",
                           "preparation_method": "hydrothermal",
                           "catalyst_type": "bulk catalyst"
                         }
@@ -16317,11 +16307,9 @@
                     "properties": {
                       "available_properties": [],
                       "catalytic": {
-                        "catalyst_characterization": {
+                        "catalyst": {
                           "surface_area": 65.56,
-                          "method_surface_area": "BET"
-                        },
-                        "catalyst_synthesis": {
+                          "characterization_methods": "BET",
                           "preparation_method": "hydrothermal",
                           "catalyst_type": "bulk catalyst"
                         }
diff --git a/gui/tests/env.js b/gui/tests/env.js
index 154dc77a39..bcd87fd1dc 100644
--- a/gui/tests/env.js
+++ b/gui/tests/env.js
@@ -1627,17 +1627,17 @@ window.nomadEnv = {
               "results.material.elements": {
                 "align": "left"
               },
-              "results.properties.catalytic.catalyst_synthesis.catalyst_type": {
+              "results.properties.catalytic.catalyst.catalyst_type": {
                 "align": "left"
               },
-              "results.properties.catalytic.catalyst_synthesis.catalyst_name": {
+              "results.properties.catalytic.catalyst.catalyst_name": {
                 "align": "left"
               },
-              "results.properties.catalytic.catalyst_synthesis.preparation_method": {
+              "results.properties.catalytic.catalyst.preparation_method": {
                 "label": "Preparation",
                 "align": "left"
               },
-              "results.properties.catalytic.catalyst_characterization.surface_area": {
+              "results.properties.catalytic.catalyst.surface_area": {
                 "label": "Surface area (m^2/g)",
                 "align": "left",
                 "format": {
@@ -1717,9 +1717,9 @@ window.nomadEnv = {
             "selected": [
               "entry_name",
               "results.properties.catalytic.reaction.name",
-              "results.properties.catalytic.catalyst_synthesis.catalyst_type",
-              "results.properties.catalytic.catalyst_synthesis.preparation_method",
-              "results.properties.catalytic.catalyst_characterization.surface_area"
+              "results.properties.catalytic.catalyst.catalyst_type",
+              "results.properties.catalytic.catalyst.preparation_method",
+              "results.properties.catalytic.catalyst.surface_area"
             ]
           },
           "rows": {
@@ -2029,7 +2029,7 @@ window.nomadEnv = {
                     "minW": 3
                   }
                 },
-                "quantity": "results.properties.catalytic.catalyst_synthesis.preparation_method",
+                "quantity": "results.properties.catalytic.catalyst.preparation_method",
                 "scale": "linear",
                 "showinput": true
               },
@@ -2077,7 +2077,7 @@ window.nomadEnv = {
                     "minW": 3
                   }
                 },
-                "quantity": "results.properties.catalytic.catalyst_synthesis.catalyst_type",
+                "quantity": "results.properties.catalytic.catalyst.catalyst_type",
                 "scale": "linear",
                 "showinput": true
               },
@@ -2128,7 +2128,7 @@ window.nomadEnv = {
                 },
                 "x": {
                   "unit": "ml/(g*s)",
-                  "quantity": "results.properties.catalytic.reaction.weight_hourly_space_velocity"
+                  "quantity": "results.properties.catalytic.reaction.reaction_conditions.weight_hourly_space_velocity"
                 },
                 "scale": "linear",
                 "autorange": false,
@@ -2185,7 +2185,7 @@ window.nomadEnv = {
                   "quantity": "results.properties.catalytic.reaction.reactants[*].gas_concentration_in"
                 },
                 "y": {
-                  "quantity": "results.properties.catalytic.reaction.temperature"
+                  "quantity": "results.properties.catalytic.reaction.reaction_conditions.temperature"
                 },
                 "markers": {
                   "color": {
@@ -2242,7 +2242,7 @@ window.nomadEnv = {
                 },
                 "x": {
                   "unit": "bar",
-                  "quantity": "results.properties.catalytic.reaction.pressure"
+                  "quantity": "results.properties.catalytic.reaction.reaction_conditions.pressure"
                 },
                 "scale": "linear",
                 "autorange": false,
@@ -2295,7 +2295,7 @@ window.nomadEnv = {
                   }
                 },
                 "x": {
-                  "quantity": "results.properties.catalytic.reaction.temperature"
+                  "quantity": "results.properties.catalytic.reaction.reaction_conditions.temperature"
                 },
                 "y": {
                   "title": "Conversion (%)",
@@ -2355,7 +2355,7 @@ window.nomadEnv = {
                   }
                 },
                 "x": {
-                  "quantity": "results.properties.catalytic.reaction.temperature"
+                  "quantity": "results.properties.catalytic.reaction.reaction_conditions.temperature"
                 },
                 "y": {
                   "title": "Selectivity (%)",
@@ -2483,7 +2483,7 @@ window.nomadEnv = {
                 },
                 "markers": {
                   "color": {
-                    "quantity": "results.properties.catalytic.catalyst_synthesis.preparation_method"
+                    "quantity": "results.properties.catalytic.catalyst.preparation_method"
                   }
                 },
                 "size": 1000,
@@ -2536,7 +2536,7 @@ window.nomadEnv = {
                 },
                 "x": {
                   "unit": "m^2/g",
-                  "quantity": "results.properties.catalytic.catalyst_characterization.surface_area"
+                  "quantity": "results.properties.catalytic.catalyst.surface_area"
                 },
                 "scale": "1/4",
                 "autorange": false,
@@ -2587,7 +2587,7 @@ window.nomadEnv = {
                     "minW": 3
                   }
                 },
-                "quantity": "results.properties.catalytic.catalyst_characterization.method",
+                "quantity": "results.properties.catalytic.catalyst.characterization_methods",
                 "scale": "linear",
                 "showinput": true
               }
diff --git a/nomad/config/defaults.yaml b/nomad/config/defaults.yaml
index 51b155cf6b..65bea06829 100644
--- a/nomad/config/defaults.yaml
+++ b/nomad/config/defaults.yaml
@@ -1263,15 +1263,15 @@ ui:
           selected:
           - entry_name
           - results.properties.catalytic.reaction.name
-          - results.properties.catalytic.catalyst_synthesis.catalyst_type
-          - results.properties.catalytic.catalyst_synthesis.preparation_method
-          - results.properties.catalytic.catalyst_characterization.surface_area
+          - results.properties.catalytic.catalyst.catalyst_type
+          - results.properties.catalytic.catalyst.preparation_method
+          - results.properties.catalytic.catalyst.surface_area
           options:
             results.material.elements: {}
-            results.properties.catalytic.catalyst_synthesis.catalyst_type: {}
-            results.properties.catalytic.catalyst_synthesis.catalyst_name: {}
-            results.properties.catalytic.catalyst_synthesis.preparation_method: {label: Preparation}
-            results.properties.catalytic.catalyst_characterization.surface_area:
+            results.properties.catalytic.catalyst.catalyst_type: {}
+            results.properties.catalytic.catalyst.catalyst_name: {}
+            results.properties.catalytic.catalyst.preparation_method: {label: Preparation}
+            results.properties.catalytic.catalyst.surface_area:
               format:
                 decimals: 2
                 mode: standard
@@ -1372,7 +1372,7 @@ ui:
               sm: {h: 3, minH: 3, minW: 3, w: 6, x: 0, y: 12}
               xl: {h: 5, minH: 3, minW: 3, w: 8, x: 16, y: 6}
               xxl: {h: 5, minH: 3, minW: 3, w: 8, x: 16, y: 6}
-            quantity: results.properties.catalytic.catalyst_synthesis.preparation_method
+            quantity: results.properties.catalytic.catalyst.preparation_method
             scale: linear
             showinput: true
             type: terms
@@ -1382,7 +1382,7 @@ ui:
               sm: {h: 3, minH: 3, minW: 3, w: 6, x: 6, y: 12}
               xl: {h: 5, minH: 3, minW: 3, w: 8, x: 16, y: 11}
               xxl: {h: 5, minH: 3, minW: 3, w: 8, x: 16, y: 11}
-            quantity: results.properties.catalytic.catalyst_synthesis.catalyst_type
+            quantity: results.properties.catalytic.catalyst.catalyst_type
             scale: linear
             showinput: true
             type: terms
@@ -1395,7 +1395,7 @@ ui:
               xxl: {h: 4, minH: 3, minW: 8, w: 12, x: 12, y: 20}
             nbins: 30
             x:
-              quantity: results.properties.catalytic.reaction.weight_hourly_space_velocity
+              quantity: results.properties.catalytic.reaction.reaction_conditions.weight_hourly_space_velocity
               unit: 'ml/(g*s)'
             title: 'Reaction Weight Hourly Space Velocity'
             scale: linear
@@ -1416,7 +1416,7 @@ ui:
               quantity: results.properties.catalytic.reaction.reactants[*].gas_concentration_in
               title: 'gas concentration (%)'
             y:
-              quantity: results.properties.catalytic.reaction.temperature
+              quantity: results.properties.catalytic.reaction.reaction_conditions.temperature
             title: 'Reactant feed concentration vs. Temperature'
             type: scatterplot
           - autorange: false
@@ -1428,7 +1428,7 @@ ui:
               xxl: {h: 4, minH: 3, minW: 8, w: 12, x: 12, y: 16}
             nbins: 30
             x:
-              quantity: results.properties.catalytic.reaction.pressure
+              quantity: results.properties.catalytic.reaction.reaction_conditions.pressure
               unit: 'bar'
             title: 'Reaction Pressure'
             scale: linear
@@ -1448,7 +1448,7 @@ ui:
             title: 'Temperature vs. Conversion'
             type: scatterplot
             x:
-              quantity: results.properties.catalytic.reaction.temperature
+              quantity: results.properties.catalytic.reaction.reaction_conditions.temperature
             y:
               quantity: results.properties.catalytic.reaction.reactants[*].conversion
               title: 'Conversion (%)'
@@ -1466,7 +1466,7 @@ ui:
             title: 'Temperature vs. Selectivity'
             type: scatterplot
             x:
-              quantity: results.properties.catalytic.reaction.temperature
+              quantity: results.properties.catalytic.reaction.reaction_conditions.temperature
             y:
               quantity: results.properties.catalytic.reaction.products[*].selectivity
               title: 'Selectivity (%)'
@@ -1497,7 +1497,7 @@ ui:
               xxl: {h: 9, minH: 3, minW: 3, w: 12, x: 12, y: 33}
             markers:
               color:
-                quantity: results.properties.catalytic.catalyst_synthesis.preparation_method
+                quantity: results.properties.catalytic.catalyst.preparation_method
             size: 1000
             type: scatterplot
             x:
@@ -1515,7 +1515,7 @@ ui:
               xxl: {h: 4, minH: 3, minW: 8, w: 12, x: 0, y: 42}
             nbins: 30
             x:
-              quantity: results.properties.catalytic.catalyst_characterization.surface_area
+              quantity: results.properties.catalytic.catalyst.surface_area
               unit: 'm^2/g'
             title: 'Catalyst Surface Area'
             scale: 1/4
@@ -1527,7 +1527,7 @@ ui:
               sm: {h: 4, minH: 4, minW: 3, w: 8, x: 8, y: 31}
               xl: {h: 4, minH: 3, minW: 3, w: 12, x: 12, y: 42}
               xxl: {h: 4, minH: 3, minW: 3, w: 12, x: 12, y: 42}
-            quantity: results.properties.catalytic.catalyst_characterization.method
+            quantity: results.properties.catalytic.catalyst.characterization_methods
             scale: linear
             showinput: true
             type: terms
diff --git a/nomad/datamodel/results.py b/nomad/datamodel/results.py
index c7abafac10..52c2b61d22 100644
--- a/nomad/datamodel/results.py
+++ b/nomad/datamodel/results.py
@@ -3442,8 +3442,9 @@ class Product(Reagent):
 class Rate(MSection):
     m_def = Section(
         description="""
-        The rate of a catalytic test reaction.
+        Section bundling multiple representations of catalytic reaction rates.
         """,
+        links=['https://w3id.org/nfdi4cat/voc4cat_0007024'],
         label_quantity='name',
     )
     name = Quantity(
@@ -3461,7 +3462,8 @@ class Rate(MSection):
         type=np.float64,
         shape=[],
         description="""
-        The rate of the number of reactant or product molecules converted/produced, per mass of total catalyst, per time.
+        The rate of the number of reactant or product molecules converted/produced,
+        per mass of total catalyst, per time.
         """,
         unit='mol/(g*s)',
         links=['https://w3id.org/nfdi4cat/voc4cat_0007024'],
@@ -3472,7 +3474,8 @@ class Rate(MSection):
         type=np.float64,
         shape=[],
         description="""
-        The specific rate of the reactant, per mass of active catalyst component (e.g. metal).
+        The specific rate of the reactant, per mass of active catalyst component
+        (e.g. metal).
         """,
         unit='mol/(g*s)',
         links=['https://w3id.org/nfdi4cat/voc4cat_0007025'],
@@ -3493,69 +3496,51 @@ class Rate(MSection):
         shape=['*'],
         unit='g/g/s',
         description="""
-        The rate calculated from the mass of reactant or product converted/produced, per total catalyst mass per time.
+        The rate calculated from the mass of reactant or product converted/produced,
+        per total catalyst mass per time.
         """,
+        links=['https://w3id.org/nfdi4cat/voc4cat_0007024'],
     )
-    turn_over_frequency = Quantity(
+    turnover_frequency = Quantity(
         type=np.float64,
         shape=[],
         description="""
-        The turn over frequency, calculated from mol of reactant or product per number of sites over time.
+        The turnover frequency, calculated from mol of reactant or product per
+        number of sites over time.
         """,
         unit='1/s',
         a_elasticsearch=Elasticsearch(material_entry_type),
     )
 
 
-class Reaction(MSection):
+class ReactionConditions(MSection):
     m_def = Section(
         description="""
-        Properties of a catalytic test reaction.
-        """
-    )
-    name = Quantity(
-        type=str,
-        shape=[],
-        description="""
-        Name of the catalytic test reaction.
+        Conditions under which a catalytic test reaction was performed.
         """,
-        links=['https://w3id.org/nfdi4cat/voc4cat_0007009'],
-        a_elasticsearch=[
-            Elasticsearch(material_entry_type),
-            Elasticsearch(suggestion='default'),
-        ],
+        # links=['https://w3id.org/nfdi4cat/voc4cat_0007037'],
     )
 
-    type = Quantity(
-        type=str,
-        shape=[],
+    temperature = Quantity(
+        type=np.float64,
+        shape=['*'],
+        unit='K',
         description="""
-        Classification of the catalytic test reaction such as Oxidation, Hydrogenation,
-        Isomerization, Coupling...
+        The reaction temperature(s) in the catalytic reactor during a chemical reaction.
         """,
-        links=['https://w3id.org/nfdi4cat/voc4cat_0007010'],
-        a_elasticsearch=[
-            Elasticsearch(material_entry_type),
-            Elasticsearch(suggestion='default'),
-        ],
-    )
-
-    reactants = SubSection(
-        sub_section=Reactant.m_def,
-        repeats=True,
-        a_elasticsearch=Elasticsearch(material_entry_type, nested=True),
-    )
-
-    products = SubSection(
-        sub_section=Product.m_def,
-        repeats=True,
-        a_elasticsearch=Elasticsearch(material_entry_type, nested=True),
+        links=['https://w3id.org/nfdi4cat/voc4cat_0007032'],
+        a_elasticsearch=Elasticsearch(material_entry_type),
     )
 
-    rates = SubSection(
-        sub_section=Rate.m_def,
-        repeats=True,
-        a_elasticsearch=Elasticsearch(material_entry_type, nested=True),
+    pressure = Quantity(
+        type=np.float64,
+        shape=['*'],
+        unit='Pa',
+        description="""
+        The pressure during the catalytic test reaction.
+        """,
+        links=['https://w3id.org/nfdi4cat/voc4cat_0000118'],
+        a_elasticsearch=Elasticsearch(material_entry_type),
     )
 
     weight_hourly_space_velocity = Quantity(
@@ -3590,52 +3575,140 @@ class Reaction(MSection):
         a_elasticsearch=Elasticsearch(material_entry_type),
     )
 
-    temperature = Quantity(
+    time_on_stream = Quantity(
         type=np.float64,
         shape=['*'],
-        unit='K',
+        unit='s',
         description="""
-        The reaction temperature(s) in the catalytic reactor during a chemical reaction.
+        The time on stream of the catalyst in the catalytic reaction.
         """,
-        links=['https://w3id.org/nfdi4cat/voc4cat_0007032'],
         a_elasticsearch=Elasticsearch(material_entry_type),
     )
 
-    time_on_stream = Quantity(
-        type=np.float64,
+
+class ReactionStep(MSection):
+    m_def = Section(
+        description="""
+        Properties of single steps of a catalytic reaction mechanism.
+        """,
+        # links=['https://w3id.org/nfdi4cat/voc4cat_0007038'],
+    )
+
+    initial_states = Quantity(
+        type=str,
         shape=['*'],
-        unit='s',
         description="""
-        The time on stream of the catalyst in the catalytic reaction.
+        The names of reactants of the reaction or elementary step.
         """,
-        a_elasticsearch=Elasticsearch(material_entry_type),
+        a_elasticsearch=[
+            Elasticsearch(material_entry_type),
+            Elasticsearch(suggestion='default'),
+        ],
+    )
+
+    final_states = Quantity(
+        type=str,
+        shape=['*'],
+        description="""
+        The names of products of the reaction or elementary step.
+        """,
+        a_elasticsearch=[
+            Elasticsearch(material_entry_type),
+            Elasticsearch(suggestion='default'),
+        ],
     )
 
-    total_time_on_stream = Quantity(
+    reaction_enthalpy = Quantity(
         type=np.float64,
         shape=[],
-        unit='s',
+        unit='joule',
         description="""
-        The total time on stream of the catalyst in the catalytic test reaction.
+        The reaction enthalpy of the reaction or reaction step.
         """,
         a_elasticsearch=Elasticsearch(material_entry_type),
     )
 
-    pressure = Quantity(
+    activation_energy = Quantity(
         type=np.float64,
-        shape=['*'],
-        unit='Pa',
+        shape=[],
+        unit='joule',
         description="""
-        The pressure during the catalytic test reaction.
+        The (apparent) activation energy of the catalyzed reaction or reaction step.
+        """,
+        a_elasticsearch=Elasticsearch(material_entry_type),
+    )
+
+
+class Reaction(MSection):
+    m_def = Section(
+        description="""
+        A collection of specifications and properties of a full catalytic reaction.
+        This may include reaction conditions, results and mechanistic aspects of a reaction.
+        """,
+        links=['https://w3id.org/nfdi4cat/voc4cat_0005007'],
+    )
+    name = Quantity(
+        type=str,
+        shape=[],
+        description="""
+        Name of the catalytic test reaction.
+        """,
+        links=['https://w3id.org/nfdi4cat/voc4cat_0007009'],
+        a_elasticsearch=[
+            Elasticsearch(material_entry_type),
+            Elasticsearch(suggestion='default'),
+        ],
+    )
+
+    type = Quantity(
+        type=str,
+        shape=[],
+        description="""
+        Classification of the catalytic test reaction such as Oxidation, Hydrogenation,
+        Isomerization, Coupling...
         """,
+        links=['https://w3id.org/nfdi4cat/voc4cat_0007010'],
+        a_elasticsearch=[
+            Elasticsearch(material_entry_type),
+            Elasticsearch(suggestion='default'),
+        ],
+    )
+
+    reactants = SubSection(
+        sub_section=Reactant.m_def,
+        repeats=True,
+        a_elasticsearch=Elasticsearch(material_entry_type, nested=True),
+    )
+
+    products = SubSection(
+        sub_section=Product.m_def,
+        repeats=True,
+        a_elasticsearch=Elasticsearch(material_entry_type, nested=True),
+    )
+
+    rates = SubSection(
+        sub_section=Rate.m_def,
+        repeats=True,
+        a_elasticsearch=Elasticsearch(material_entry_type, nested=True),
+    )
+
+    reaction_conditions = SubSection(
+        sub_section=ReactionConditions.m_def,
+        repeats=False,
+        a_elasticsearch=Elasticsearch(material_entry_type),
+    )
+
+    reaction_mechanism = SubSection(
+        sub_section=ReactionStep.m_def,
+        repeats=True,
         a_elasticsearch=Elasticsearch(material_entry_type),
     )
 
 
-class CatalystSynthesis(MSection):
+class Catalyst(MSection):
     m_def = Section(
         description="""
-        Synthesis of a heterogeneous catalyst.
+        Properties of a heterogeneous catalyst.
         """
     )
 
@@ -3655,7 +3728,7 @@ class CatalystSynthesis(MSection):
         type=str,
         shape=[],
         description="""
-        The main preparation method of the sample.
+        The main preparation method of the catalyst sample.
         """,
         links=['https://w3id.org/nfdi4cat/voc4cat_0007016'],
         a_elasticsearch=[
@@ -3666,9 +3739,10 @@ class CatalystSynthesis(MSection):
 
     catalyst_type = Quantity(
         type=str,
-        shape=[],
+        shape=['*'],
         description="""
-        The type of catalyst, wether metal or oxide, ...
+        The type of catalyst, wether metal or oxide, model, bulk, supported, ect.
+        Multiple values can apply.
         """,
         links=['https://w3id.org/nfdi4cat/voc4cat_0007014'],
         a_elasticsearch=[
@@ -3677,19 +3751,13 @@ class CatalystSynthesis(MSection):
         ],
     )
 
-
-class CatalystCharacterization(MSection):
-    m_def = Section(
-        description="""
-        Properties of a heterogeneous catalyst.
-        """
-    )
-    method = Quantity(
+    characterization_methods = Quantity(
         type=str,
         shape=['*'],
         description="""
-        A method used to characterize the catalyst.
+        A list of methods used to characterize the catalyst sample.
         """,
+        links=['https://w3id.org/nfdi4cat/voc4cat_0000066'],
         a_elasticsearch=[
             Elasticsearch(material_entry_type),
             Elasticsearch(suggestion='default'),
@@ -3707,30 +3775,15 @@ class CatalystCharacterization(MSection):
         a_elasticsearch=Elasticsearch(material_entry_type),
     )
 
-    method_surface_area = Quantity(
-        type=str,
-        shape=[],
-        description="""
-        The method with which the surface area per catalyst mass was determined, e.g. BET.
-        """,
-        a_elasticsearch=[
-            Elasticsearch(material_entry_type),
-            Elasticsearch(suggestion='default'),
-        ],
-    )
-
 
 class CatalyticProperties(MSection):
     m_def = Section(
         description="""
-        Properties of Heterogeneous Catalysts.
+        Properties relating to catalysis.
         """
     )
     reaction = SubSection(sub_section=Reaction.m_def, repeats=False)
-    catalyst_synthesis = SubSection(sub_section=CatalystSynthesis.m_def, repeats=False)
-    catalyst_characterization = SubSection(
-        sub_section=CatalystCharacterization.m_def, repeats=False
-    )
+    catalyst = SubSection(sub_section=Catalyst.m_def, repeats=False)
 
 
 class EELSInstrument(MSection):
diff --git a/tests/states/search.py b/tests/states/search.py
index ba26942857..603a81453c 100644
--- a/tests/states/search.py
+++ b/tests/states/search.py
@@ -124,11 +124,9 @@ properties_solar_cell = {
 }
 properties_catalysis = {
     'catalytic': {
-        'catalyst_characterization': {
+        'catalyst': {
             'surface_area': 65.56,
-            'method_surface_area': 'BET',
-        },
-        'catalyst_synthesis': {
+            'characterization_methods': 'BET',
             'catalyst_name': 'MoVOx',
             'catalyst_type': 'bulk catalyst',
             'preparation_method': 'hydrothermal',
-- 
GitLab