From fca509245ba609bd5d7a3b08d8b7da7b926a8bed Mon Sep 17 00:00:00 2001 From: domna Date: Fri, 3 Nov 2023 12:31:01 +0100 Subject: [PATCH 01/14] Latest liquidjet definitions --- contributed_definitions/NXliquid_jet.nxdl.xml | 69 +++ .../NXmpes_liquid.nxdl.xml | 398 ++++++++++++++++++ .../nyaml/NXliquid_jet.yaml | 47 +++ .../nyaml/NXmpes_liquid.yaml | 197 +++++++++ 4 files changed, 711 insertions(+) create mode 100644 contributed_definitions/NXliquid_jet.nxdl.xml create mode 100644 contributed_definitions/NXmpes_liquid.nxdl.xml create mode 100644 contributed_definitions/nyaml/NXliquid_jet.yaml create mode 100644 contributed_definitions/nyaml/NXmpes_liquid.yaml diff --git a/contributed_definitions/NXliquid_jet.nxdl.xml b/contributed_definitions/NXliquid_jet.nxdl.xml new file mode 100644 index 0000000000..0b09e779af --- /dev/null +++ b/contributed_definitions/NXliquid_jet.nxdl.xml @@ -0,0 +1,69 @@ + + + + + + Description of a liquid jet + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/contributed_definitions/NXmpes_liquid.nxdl.xml b/contributed_definitions/NXmpes_liquid.nxdl.xml new file mode 100644 index 0000000000..ef07d851bf --- /dev/null +++ b/contributed_definitions/NXmpes_liquid.nxdl.xml @@ -0,0 +1,398 @@ + + + + + + + This is the application definition for multidimensional photoelectron + spectroscopy on liquids + + + + + + + + + + + + + + Refers to the NXtransformation matrix which places the collectioncolumn in its + coordinate frame. + + + + + Direction of lens axis of analyzer. + + + + + Is '.', since beam axis is assumed to be horizontal (perpendicular to gravity). + + + + + + + + + + + + + Link to + /NXentry/NXinstrument/NXelectronanalyser/NXcollectioncolumn/NXtransformations/rot_x + + + + + + + + + + + + + Link to + /NXentry/NXinstrument/NXelectronanalyser/NXcollectioncolumn/NXtransformations/rot_y. + + + + + + + + + + + + Same as working_distance. + + + + Link to + /NXentry/NXinstrument/NXelectronanalyser/NXcollectioncolumn/NXtransformations/rot_z. + + + + + + + + + + + + + + + Refers to the NXtransformation matrix which places the detector in its + coordinate frame. + + + + + Direction of the hemisphere of an HEA. Points towards the detector from the + entrance slit. + + + + + Is '.', since beam axis is assumed to be horizontal (perpendicular to gravity). + + + + + + + + + + + + + + + + Link to + /NXentry/NXinstrument/NXelectronanalyser/NXdetector/NXtransformations/rot_x + + + + + + + + + + + + + Link to /NXentry/NXinstrument/NXelectronanalyser + /NXdetector/NXtransformations/rot_y. + + + + + + + + + + + + + + Transformations describing base geometry in the experiment. Usually defaults to + the beam in z direction and gravity in -y direction. + + + + Direction of gravity. + + + + The vector in the direction of gravity. + + + + + + + + + + + Direction of the photon beam. + + + + The vector of the photon-beam direction into the chamber after the last optical + element (or directly from the source if there are no optical elements). + + + + + + + + + + + + + + + In the case of a fixed temperature measurement this is the scalar temperature of + the sample. In the case of an experiment in which the temperature is changed and + recoded, this is an array of length m of temperatures. + + + + + Electric field applied to the sample with respect to ground / the system, e.g., + via biasing. + + + + + Thickness of the sample in normal direction to the surface that is probed, e.g., + diameter of capillary (round jets) or thickness of the leaf (flat jets). + + + + + Flow rate of the liquid into the chamber, i.e., throught the microjet capillary + (or in case of a flat jet: both capillaries). + + + + + + + + + + + Material the microjet nozzle is made of (users are encouraged to expand on that + in group preparation_description). + + + + + Connects this liquidjet to its transformation chain. + + + + + Transformations describing the transformation chain of the liquid jet flow + direction and optionally the flat jet normal. The vector of the major flow + direction of the liquid jet from the injection into the chamber. Along the + cylinder axis for single, cylidrical jets, and parallel to the leaf plane for + flatjets. + + + + + Is '.', since beam axis is assumed to be horizontal (perpendicular to gravity). + + + + + + + + + + + + + Link to /NXentry/NXsample/rot_x + + + + + + + + + + + + + Link to /NXentry/NXsample/rot_y. + + + + + + + + + + + + Direction of surface normal vector of the first leaf on the side of solvent #1. + + + + Direction of surface normal vector of the first leaf on the side of solvent #1. + Defaults to be parallel to detection direction. + + + + Link to + /NXentry/NXinstrument/NXelectronanalyser/NXcollectioncolumn/NXtransformations/rot_z. + + + + + + + + + + Base vector is the liquid jet flow direction. + + + + + + + + Solvent substance of the liquid jet. This also accounts for multiple jets if + more than one solvent is given. + + + + + + Molecular or structural formula of the solvent. + + + + + + Measured pH value of the solution. + + + + + Whether or not agents for pH adjustment were added to the solution. In this + case, users are encouraged to expand on that in preparation_description. + + + + + Molarity of the solvent in the solution. + + + + + + Solute substance solved in a given solvent. This also accounts for multiple + solutes if more than one is given. + + + + + + Molecular or structural formula of the solute. + + + + + + Molarity of the solute in the solution. + + + + + Specifies the parent solvent entry of the solution. + + + + + + + + + + + + + Data containing the energy axis. + + + + + diff --git a/contributed_definitions/nyaml/NXliquid_jet.yaml b/contributed_definitions/nyaml/NXliquid_jet.yaml new file mode 100644 index 0000000000..0ff6089f18 --- /dev/null +++ b/contributed_definitions/nyaml/NXliquid_jet.yaml @@ -0,0 +1,47 @@ +category: base +doc: | + Description of a liquid jet +NXliquid_jet: + name(NX_CHAR): + chemical_formula(NX_CHAR): + preparation_data(NX_DATE_TIME): + description(NX_CHAR): + electric_field(NX_FLOAT): + unit: NX_VOLTAGE / NX_LENGTH + geometry(NXoff_geometry): + gas_pressure(NX_FLOAT): + unit: NX_PRESSURE + situation(NX_CHAR): + temperature(NX_FLOAT): + unit: NX_TEMPERATURE + thickness(NX_FLOAT): + unit: NX_LENGTH + type(NX_CHAR): + flow_rate(NX_FLOAT): + unit: NX_VOLUME / NX_TIME + shape(NX_CHAR): + enumeration: [round, flat] + leaf_geometry(NXtransformations): + leaf_normal(NX_NUMBER): + vector(NX_NUMBER): + depends_on(NX_CHAR): + SOLVENT(NX_SAMPLE): + description: + name: + chemical_formula: + chem_id_cas(NX_CHAR): + flow_rate(NX_FLOAT): + unit: NX_VOLUME / NX_TIME + nozzle_angle(NX_FLOAT): + unit: NX_ANGLE + ph_value(NX_FLOAT): + unit: NX_UNITLESS + temperature(NX_FLOAT): + unit: NX_TEMPERATURE + SOLUTE(NX_SAMPLE): + description: + name: + chemical_formula: + chem_id_cas(NX_CHAR): + mol_fraction(NX_FLOAT): + solvent(NX_CHAR): \ No newline at end of file diff --git a/contributed_definitions/nyaml/NXmpes_liquid.yaml b/contributed_definitions/nyaml/NXmpes_liquid.yaml new file mode 100644 index 0000000000..772976e289 --- /dev/null +++ b/contributed_definitions/nyaml/NXmpes_liquid.yaml @@ -0,0 +1,197 @@ +#Pincelli, Rettig, Arora at fhi-berlin.mpg.de, Dobener at hu-berlin.de, 06/2022 +#Draft version of a NeXus application definition for photoemission, +#It is designed to be extended by other application definitions +#with higher granularity in the data description. + +doc: This is the application definition for multidimensional photoelectron spectroscopy on liquids +category: application +NXmpes_liquid(NXmpes): + (NXentry): + definition: + \@version: + enumeration: ["NXmpes_liquid"] + (NXinstrument): + (NXelectronanalyser): + (NXcollectioncolumn): + dependes_on: + doc: Refers to the NXtransformation matrix which places the collectioncolumn in its coordinate frame. + exists: recommended + (NXtransformations): + exists: optional + doc: "Direction of lens axis of analyzer." + rot_x(NX_NUMBER): + \@depends_on(NX_CHAR): + doc: "Is '.', since beam axis is assumed to be horizontal (perpendicular to gravity)." + \@transformation_type(NX_CHAR): + enumeration: ["rotation"] + unit: NX_ANGLE + \@vector(NX_NUMBER): + rot_y(NX_NUMBER): + \@depends_on(NX_CHAR): + doc: "Link to /NXentry/NXinstrument/NXelectronanalyser/NXcollectioncolumn/NXtransformations/rot_x" + \@transformation_type(NX_CHAR): + enumeration: ["rotation"] + unit: NX_ANGLE + \@vector(NX_NUMBER): + rot_z(NX_NUMBER): + \@depends_on(NX_CHAR): + doc: "Link to /NXentry/NXinstrument/NXelectronanalyser/NXcollectioncolumn/NXtransformations/rot_y." + \@transformation_type(NX_CHAR): + enumeration: ["rotation"] + unit: NX_ANGLE + \@vector(NX_NUMBER): + trans_z(NX_NUMBER): + doc: "Same as working_distance." + \@depends_on(NX_CHAR): + doc: "Link to /NXentry/NXinstrument/NXelectronanalyser/NXcollectioncolumn/NXtransformations/rot_z." + \@transformation_type(NX_CHAR): + enumeration: ["translation"] + unit: NX_LENGTH + \@vector(NX_NUMBER): + (NXdetector): + depends_on: + doc: Refers to the NXtransformation matrix which places the detector in its coordinate frame. + exists: recommended + (NXtransformations): + exists: optional + doc: "Direction of the hemisphere of an HEA. Points towards the detector from the entrance slit." + rot_x(NX_NUMBER): + \@depends_on(NX_CHAR): + doc: "Is '.', since beam axis is assumed to be horizontal (perpendicular to gravity)." + enumeration: ["."] + \@transformation_type(NX_CHAR): + enumeration: ["rotation"] + unit: NX_ANGLE + \@vector(NX_NUMBER): + rot_y(NX_NUMBER): + \@depends_on(NX_CHAR): + doc: "Link to /NXentry/NXinstrument/NXelectronanalyser/NXdetector/NXtransformations/rot_x" + \@transformation_type(NX_CHAR): + enumeration: ["rotation"] + unit: NX_ANGLE + \@vector(NX_NUMBER): + rot_z(NX_NUMBER): + \@depends_on(NX_CHAR): + doc: | + Link to /NXentry/NXinstrument/NXelectronanalyser + /NXdetector/NXtransformations/rot_y. + \@transformation_type(NX_CHAR): + enumeration: ["rotation"] + unit: NX_ANGLE + \@vector(NX_NUMBER): + (NXtransformations): + exists: optional + doc: "Transformations describing base geometry in the experiment. Usually defaults to the beam in z direction and gravity in -y direction." + gravity_axis(NX_NUMBER): + doc: "Direction of gravity." + \@vector(NX_NUMBER): + doc: "The vector in the direction of gravity." + \@depends_on(NX_CHAR): + enumeration: ["."] + beam_axis(NX_NUMBER): + doc: "Direction of the photon beam." + \@vector(NX_NUMBER): + doc: "The vector of the photon-beam direction into the chamber after the last optical element (or directly from the source if there are no optical elements)." + \@depends_on(NX_CHAR): + enumeration: ["."] + (NXsample): + chemical_formula: + exists: optional + doc: "In the case of a fixed temperature measurement this is the scalar temperature of the sample. In the case of an experiment in which the temperature is changed and recoded, this is an array of length m of temperatures." + electric_field(NX_FLOAT): + exists: recommended + unit: NX_VOLTAGE + doc: "Electric field applied to the sample with respect to ground / the system, e.g., via biasing." + thickness(NX_FLOAT): + exists: recommended + unit: NX_LENGTH + doc: "Thickness of the sample in normal direction to the surface that is probed, e.g., diameter of capillary (round jets) or thickness of the leaf (flat jets)." + flow_rate(NX_FLOAT): + exists: recommended + unit: NX_VOLUME / NX_TIME + doc: "Flow rate of the liquid into the chamber, i.e., throught the microjet capillary (or in case of a flat jet: both capillaries)." + shape(NX_CHAR): + enumeration: ["round", "flat"] + nozzle_material(NX_CHAR): + exists: recommended + doc: "Material the microjet nozzle is made of (users are encouraged to expand on that in group preparation_description)." + depends_on: + exists: recommended + doc: Connects this liquidjet to its transformation chain. + (NXtransformations): + exists: recommended + doc: "Transformations describing the transformation chain of the liquid jet flow direction and optionally the flat jet normal. The vector of the major flow direction of the liquid jet from the injection into the chamber. Along the cylinder axis for single, cylidrical jets, and parallel to the leaf plane for flatjets." + rot_x(NX_NUMBER): + \@depends_on(NX_CHAR): + doc: "Is '.', since beam axis is assumed to be horizontal (perpendicular to gravity)." + \@transformation_type(NX_CHAR): + enumeration: ["rotation"] + unit: NX_ANGLE + \@vector(NX_NUMBER): + rot_y(NX_NUMBER): + \@depends_on(NX_CHAR): + doc: "Link to /NXentry/NXsample/rot_x" + \@transformation_type(NX_CHAR): + enumeration: ["rotation"] + unit: NX_ANGLE + \@vector(NX_NUMBER): + rot_z(NX_NUMBER): + \@depends_on(NX_CHAR): + doc: "Link to /NXentry/NXsample/rot_y." + \@transformation_type(NX_CHAR): + enumeration: ["rotation"] + unit: NX_ANGLE + \@vector(NX_NUMBER): + leaf_normal(NXtransformations): + exists: optional + doc: "Direction of surface normal vector of the first leaf on the side of solvent #1." + rotation_theta(NX_NUMBER): + doc: "Direction of surface normal vector of the first leaf on the side of solvent #1. Defaults to be parallel to detection direction." + \@depends_on(NX_CHAR): + doc: "Link to /NXentry/NXinstrument/NXelectronanalyser/NXcollectioncolumn/NXtransformations/rot_z." + \@transformation_type(NX_CHAR): + enumeration: ["rotation"] + unit: NX_ANGLE + \@vector(NX_NUMBER): + doc: "Base vector is the liquid jet flow direction." + solventSOLVENT(NXsample_component): + doc: "Solvent substance of the liquid jet. This also accounts for multiple jets if more than one solvent is given." + description(NX_CHAR): + exists: recommended + name(NX_CHAR): + chemical_formula(NX_CHAR): + doc: "Molecular or structural formula of the solvent." + chem_id_cas(NX_CHAR): + exists: recommended + ph_value(NX_FLOAT): + exists: optional + unit: NX_UNITLESS + doc: "Measured pH value of the solution." + ph_adjustment(NX_BOOLEAN): + exists: optional + doc: "Whether or not agents for pH adjustment were added to the solution. In this case, users are encouraged to expand on that in preparation_description." + mol_fraction(NX_FLOAT): + exists: optional + unit: 1 / NX_VOLUME + doc: "Molarity of the solvent in the solution." + soluteSOLUTE(NXsample_component): + doc: "Solute substance solved in a given solvent. This also accounts for multiple solutes if more than one is given." + description(NX_CHAR): + exists: recommended + name(NX_CHAR): + chemical_formula(NX_CHAR): + doc: "Molecular or structural formula of the solute." + chem_id_cas(NX_CHAR): + exists: recommended + mol_fraction(NX_FLOAT): + exists: recommended + unit: 1 / NX_VOLUME + doc: "Molarity of the solute in the solution." + solvent(NX_CHAR): + doc: "Specifies the parent solvent entry of the solution." + (NXdata): + \@axes(NX_CHAR): + enumeration: ["energy"] + energy(NX_NUMBER): + unit: NX_ENERGY + doc: "Data containing the energy axis." \ No newline at end of file From d548ad1660f5dc6345382ad7dc98a67b16499304 Mon Sep 17 00:00:00 2001 From: domna Date: Fri, 3 Nov 2023 12:32:36 +0100 Subject: [PATCH 02/14] Add mpes_liquid to docs --- manual/source/mpes-structure.rst | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/manual/source/mpes-structure.rst b/manual/source/mpes-structure.rst index e0091995cb..f55c8297a2 100644 --- a/manual/source/mpes-structure.rst +++ b/manual/source/mpes-structure.rst @@ -33,4 +33,7 @@ Here's a list of application definitions related to photoemission spectroscopy: An appdef for angle-resolved photoemission spectroscopy (ARPES) experiments. :ref:`NXxps`: - An application definition for XPS/UPS measurements. \ No newline at end of file + An application definition for XPS/UPS measurements. + + :ref:`NXmpes_liquid`: + An application definition for MPES measurements with liquids (jets) From 2b39845c21b2accc646fc0175e51612f3a5f252d Mon Sep 17 00:00:00 2001 From: domna Date: Fri, 3 Nov 2023 13:59:37 +0100 Subject: [PATCH 03/14] Replace NX_SAMPLE with NXsample --- contributed_definitions/NXliquid_jet.nxdl.xml | 4 ++-- contributed_definitions/nyaml/NXliquid_jet.yaml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/contributed_definitions/NXliquid_jet.nxdl.xml b/contributed_definitions/NXliquid_jet.nxdl.xml index 0b09e779af..86c0802236 100644 --- a/contributed_definitions/NXliquid_jet.nxdl.xml +++ b/contributed_definitions/NXliquid_jet.nxdl.xml @@ -48,7 +48,7 @@ - + @@ -58,7 +58,7 @@ - + diff --git a/contributed_definitions/nyaml/NXliquid_jet.yaml b/contributed_definitions/nyaml/NXliquid_jet.yaml index 0ff6089f18..8b8c43f245 100644 --- a/contributed_definitions/nyaml/NXliquid_jet.yaml +++ b/contributed_definitions/nyaml/NXliquid_jet.yaml @@ -25,7 +25,7 @@ NXliquid_jet: leaf_normal(NX_NUMBER): vector(NX_NUMBER): depends_on(NX_CHAR): - SOLVENT(NX_SAMPLE): + SOLVENT(NXsample): description: name: chemical_formula: @@ -38,7 +38,7 @@ NXliquid_jet: unit: NX_UNITLESS temperature(NX_FLOAT): unit: NX_TEMPERATURE - SOLUTE(NX_SAMPLE): + SOLUTE(NXsample): description: name: chemical_formula: From 1700b478d7fae6445c3a462df5cd25b18c75b985 Mon Sep 17 00:00:00 2001 From: domna Date: Fri, 3 Nov 2023 14:12:41 +0100 Subject: [PATCH 04/14] Removes composite units --- contributed_definitions/NXliquid_jet.nxdl.xml | 18 ++++++-- .../NXmpes_liquid.nxdl.xml | 44 +++++++++--------- .../nyaml/NXliquid_jet.yaml | 12 +++-- .../nyaml/NXmpes_liquid.yaml | 46 ++++++++++++++----- 4 files changed, 81 insertions(+), 39 deletions(-) diff --git a/contributed_definitions/NXliquid_jet.nxdl.xml b/contributed_definitions/NXliquid_jet.nxdl.xml index 86c0802236..99e8703050 100644 --- a/contributed_definitions/NXliquid_jet.nxdl.xml +++ b/contributed_definitions/NXliquid_jet.nxdl.xml @@ -29,14 +29,22 @@ - + + + Should have unit NX_VOLTAGE / NX_LENGTH + + - + + + Should have unit NX_VOLUME / NX_TIME + + @@ -53,7 +61,11 @@ - + + + Should have unit NX_VOLUME / NX_TIME + + diff --git a/contributed_definitions/NXmpes_liquid.nxdl.xml b/contributed_definitions/NXmpes_liquid.nxdl.xml index ef07d851bf..5534019b08 100644 --- a/contributed_definitions/NXmpes_liquid.nxdl.xml +++ b/contributed_definitions/NXmpes_liquid.nxdl.xml @@ -212,27 +212,28 @@ with higher granularity in the data description. - In the case of a fixed temperature measurement this is the scalar temperature of - the sample. In the case of an experiment in which the temperature is changed and - recoded, this is an array of length m of temperatures. + In the case of a fixed temperature measurement this is the scalar temperature of the sample. + In the case of an experiment in which the temperature is changed and recoded, + this is an array of length m of temperatures. - Electric field applied to the sample with respect to ground / the system, e.g., - via biasing. + Electric field applied to the sample with respect to + ground / the system, e.g., via biasing. - Thickness of the sample in normal direction to the surface that is probed, e.g., - diameter of capillary (round jets) or thickness of the leaf (flat jets). + Thickness of the sample in normal direction to the surface that is probed, + e.g., diameter of capillary (round jets) or thickness of the leaf (flat jets). - + - Flow rate of the liquid into the chamber, i.e., throught the microjet capillary - (or in case of a flat jet: both capillaries). + Flow rate of the liquid into the chamber, i.e., + throught the microjet capillary (or in case of a flat jet: both capillaries). + Unit should be NX_VOLUME / NX_TIME. @@ -243,8 +244,8 @@ with higher granularity in the data description. - Material the microjet nozzle is made of (users are encouraged to expand on that - in group preparation_description). + Material the microjet nozzle is made of + (users are encouraged to expand on that in group preparation_description). @@ -254,11 +255,10 @@ with higher granularity in the data description. - Transformations describing the transformation chain of the liquid jet flow - direction and optionally the flat jet normal. The vector of the major flow - direction of the liquid jet from the injection into the chamber. Along the - cylinder axis for single, cylidrical jets, and parallel to the leaf plane for - flatjets. + Transformations describing the transformation chain of the liquid jet flow direction + and optionally the flat jet normal. The vector of the major flow direction of the + liquid jet from the injection into the chamber. + Along the cylinder axis for single, cylidrical jets, and parallel to the leaf plane for flatjets. @@ -347,13 +347,14 @@ with higher granularity in the data description. - Whether or not agents for pH adjustment were added to the solution. In this - case, users are encouraged to expand on that in preparation_description. + Whether or not agents for pH adjustment were added to the solution. + In this case, users are encouraged to expand on that in preparation_description. - + Molarity of the solvent in the solution. + Unit should be 1 / NX_VOLUME. @@ -370,9 +371,10 @@ with higher granularity in the data description. - + Molarity of the solute in the solution. + Unit should be 1 / NX_VOLUME diff --git a/contributed_definitions/nyaml/NXliquid_jet.yaml b/contributed_definitions/nyaml/NXliquid_jet.yaml index 8b8c43f245..e6689e3ac2 100644 --- a/contributed_definitions/nyaml/NXliquid_jet.yaml +++ b/contributed_definitions/nyaml/NXliquid_jet.yaml @@ -7,7 +7,9 @@ NXliquid_jet: preparation_data(NX_DATE_TIME): description(NX_CHAR): electric_field(NX_FLOAT): - unit: NX_VOLTAGE / NX_LENGTH + doc: | + Should have unit NX_VOLTAGE / NX_LENGTH + unit: NX_ANY geometry(NXoff_geometry): gas_pressure(NX_FLOAT): unit: NX_PRESSURE @@ -18,7 +20,9 @@ NXliquid_jet: unit: NX_LENGTH type(NX_CHAR): flow_rate(NX_FLOAT): - unit: NX_VOLUME / NX_TIME + doc: | + Should have unit NX_VOLUME / NX_TIME + unit: NX_ANY shape(NX_CHAR): enumeration: [round, flat] leaf_geometry(NXtransformations): @@ -31,7 +35,9 @@ NXliquid_jet: chemical_formula: chem_id_cas(NX_CHAR): flow_rate(NX_FLOAT): - unit: NX_VOLUME / NX_TIME + doc: | + Should have unit NX_VOLUME / NX_TIME + unit: NX_ANY nozzle_angle(NX_FLOAT): unit: NX_ANGLE ph_value(NX_FLOAT): diff --git a/contributed_definitions/nyaml/NXmpes_liquid.yaml b/contributed_definitions/nyaml/NXmpes_liquid.yaml index 772976e289..9c3e6fecdf 100644 --- a/contributed_definitions/nyaml/NXmpes_liquid.yaml +++ b/contributed_definitions/nyaml/NXmpes_liquid.yaml @@ -97,30 +97,46 @@ NXmpes_liquid(NXmpes): (NXsample): chemical_formula: exists: optional - doc: "In the case of a fixed temperature measurement this is the scalar temperature of the sample. In the case of an experiment in which the temperature is changed and recoded, this is an array of length m of temperatures." + doc: | + In the case of a fixed temperature measurement this is the scalar temperature of the sample. + In the case of an experiment in which the temperature is changed and recoded, + this is an array of length m of temperatures. electric_field(NX_FLOAT): exists: recommended unit: NX_VOLTAGE - doc: "Electric field applied to the sample with respect to ground / the system, e.g., via biasing." + doc: | + Electric field applied to the sample with respect to + ground / the system, e.g., via biasing. thickness(NX_FLOAT): exists: recommended unit: NX_LENGTH - doc: "Thickness of the sample in normal direction to the surface that is probed, e.g., diameter of capillary (round jets) or thickness of the leaf (flat jets)." + doc: | + Thickness of the sample in normal direction to the surface that is probed, + e.g., diameter of capillary (round jets) or thickness of the leaf (flat jets). flow_rate(NX_FLOAT): exists: recommended - unit: NX_VOLUME / NX_TIME - doc: "Flow rate of the liquid into the chamber, i.e., throught the microjet capillary (or in case of a flat jet: both capillaries)." + unit: NX_ANY + doc: | + Flow rate of the liquid into the chamber, i.e., + throught the microjet capillary (or in case of a flat jet: both capillaries). + Unit should be NX_VOLUME / NX_TIME. shape(NX_CHAR): enumeration: ["round", "flat"] nozzle_material(NX_CHAR): exists: recommended - doc: "Material the microjet nozzle is made of (users are encouraged to expand on that in group preparation_description)." + doc: | + Material the microjet nozzle is made of + (users are encouraged to expand on that in group preparation_description). depends_on: exists: recommended doc: Connects this liquidjet to its transformation chain. (NXtransformations): exists: recommended - doc: "Transformations describing the transformation chain of the liquid jet flow direction and optionally the flat jet normal. The vector of the major flow direction of the liquid jet from the injection into the chamber. Along the cylinder axis for single, cylidrical jets, and parallel to the leaf plane for flatjets." + doc: | + Transformations describing the transformation chain of the liquid jet flow direction + and optionally the flat jet normal. The vector of the major flow direction of the + liquid jet from the injection into the chamber. + Along the cylinder axis for single, cylidrical jets, and parallel to the leaf plane for flatjets. rot_x(NX_NUMBER): \@depends_on(NX_CHAR): doc: "Is '.', since beam axis is assumed to be horizontal (perpendicular to gravity)." @@ -169,11 +185,15 @@ NXmpes_liquid(NXmpes): doc: "Measured pH value of the solution." ph_adjustment(NX_BOOLEAN): exists: optional - doc: "Whether or not agents for pH adjustment were added to the solution. In this case, users are encouraged to expand on that in preparation_description." + doc: | + Whether or not agents for pH adjustment were added to the solution. + In this case, users are encouraged to expand on that in preparation_description. mol_fraction(NX_FLOAT): exists: optional - unit: 1 / NX_VOLUME - doc: "Molarity of the solvent in the solution." + unit: NX_ANY + doc: | + Molarity of the solvent in the solution. + Unit should be 1 / NX_VOLUME. soluteSOLUTE(NXsample_component): doc: "Solute substance solved in a given solvent. This also accounts for multiple solutes if more than one is given." description(NX_CHAR): @@ -185,8 +205,10 @@ NXmpes_liquid(NXmpes): exists: recommended mol_fraction(NX_FLOAT): exists: recommended - unit: 1 / NX_VOLUME - doc: "Molarity of the solute in the solution." + unit: NX_ANY + doc: | + Molarity of the solute in the solution. + Unit should be 1 / NX_VOLUME solvent(NX_CHAR): doc: "Specifies the parent solvent entry of the solution." (NXdata): From 9eff69868a6bf98c8b538ab20568d53d326b3242 Mon Sep 17 00:00:00 2001 From: domna Date: Fri, 3 Nov 2023 14:13:56 +0100 Subject: [PATCH 05/14] Corrects typo in depends_on --- contributed_definitions/NXmpes_liquid.nxdl.xml | 2 +- contributed_definitions/nyaml/NXmpes_liquid.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/contributed_definitions/NXmpes_liquid.nxdl.xml b/contributed_definitions/NXmpes_liquid.nxdl.xml index 5534019b08..53e16054fa 100644 --- a/contributed_definitions/NXmpes_liquid.nxdl.xml +++ b/contributed_definitions/NXmpes_liquid.nxdl.xml @@ -42,7 +42,7 @@ with higher granularity in the data description. - + Refers to the NXtransformation matrix which places the collectioncolumn in its coordinate frame. diff --git a/contributed_definitions/nyaml/NXmpes_liquid.yaml b/contributed_definitions/nyaml/NXmpes_liquid.yaml index 9c3e6fecdf..b3ec290947 100644 --- a/contributed_definitions/nyaml/NXmpes_liquid.yaml +++ b/contributed_definitions/nyaml/NXmpes_liquid.yaml @@ -13,7 +13,7 @@ NXmpes_liquid(NXmpes): (NXinstrument): (NXelectronanalyser): (NXcollectioncolumn): - dependes_on: + depends_on: doc: Refers to the NXtransformation matrix which places the collectioncolumn in its coordinate frame. exists: recommended (NXtransformations): From c6e089f48e56693f49050c254cf6144867f0f79a Mon Sep 17 00:00:00 2001 From: domna Date: Fri, 3 Nov 2023 14:22:40 +0100 Subject: [PATCH 06/14] Removes liquidjet base class --- contributed_definitions/NXliquid_jet.nxdl.xml | 81 ------------------- .../nyaml/NXliquid_jet.yaml | 53 ------------ 2 files changed, 134 deletions(-) delete mode 100644 contributed_definitions/NXliquid_jet.nxdl.xml delete mode 100644 contributed_definitions/nyaml/NXliquid_jet.yaml diff --git a/contributed_definitions/NXliquid_jet.nxdl.xml b/contributed_definitions/NXliquid_jet.nxdl.xml deleted file mode 100644 index 99e8703050..0000000000 --- a/contributed_definitions/NXliquid_jet.nxdl.xml +++ /dev/null @@ -1,81 +0,0 @@ - - - - - - Description of a liquid jet - - - - - - - - Should have unit NX_VOLTAGE / NX_LENGTH - - - - - - - - - - - Should have unit NX_VOLUME / NX_TIME - - - - - - - - - - - - - - - - - - - - - Should have unit NX_VOLUME / NX_TIME - - - - - - - - - - - - - - - diff --git a/contributed_definitions/nyaml/NXliquid_jet.yaml b/contributed_definitions/nyaml/NXliquid_jet.yaml deleted file mode 100644 index e6689e3ac2..0000000000 --- a/contributed_definitions/nyaml/NXliquid_jet.yaml +++ /dev/null @@ -1,53 +0,0 @@ -category: base -doc: | - Description of a liquid jet -NXliquid_jet: - name(NX_CHAR): - chemical_formula(NX_CHAR): - preparation_data(NX_DATE_TIME): - description(NX_CHAR): - electric_field(NX_FLOAT): - doc: | - Should have unit NX_VOLTAGE / NX_LENGTH - unit: NX_ANY - geometry(NXoff_geometry): - gas_pressure(NX_FLOAT): - unit: NX_PRESSURE - situation(NX_CHAR): - temperature(NX_FLOAT): - unit: NX_TEMPERATURE - thickness(NX_FLOAT): - unit: NX_LENGTH - type(NX_CHAR): - flow_rate(NX_FLOAT): - doc: | - Should have unit NX_VOLUME / NX_TIME - unit: NX_ANY - shape(NX_CHAR): - enumeration: [round, flat] - leaf_geometry(NXtransformations): - leaf_normal(NX_NUMBER): - vector(NX_NUMBER): - depends_on(NX_CHAR): - SOLVENT(NXsample): - description: - name: - chemical_formula: - chem_id_cas(NX_CHAR): - flow_rate(NX_FLOAT): - doc: | - Should have unit NX_VOLUME / NX_TIME - unit: NX_ANY - nozzle_angle(NX_FLOAT): - unit: NX_ANGLE - ph_value(NX_FLOAT): - unit: NX_UNITLESS - temperature(NX_FLOAT): - unit: NX_TEMPERATURE - SOLUTE(NXsample): - description: - name: - chemical_formula: - chem_id_cas(NX_CHAR): - mol_fraction(NX_FLOAT): - solvent(NX_CHAR): \ No newline at end of file From eb97fd2e31f0d0f7ba05f6a1259f7db62d0d8459 Mon Sep 17 00:00:00 2001 From: domna Date: Wed, 8 Nov 2023 18:50:07 +0100 Subject: [PATCH 07/14] Adds jet_direction and leaf_normal --- .../NXmpes_liquid.nxdl.xml | 89 +++++++------------ .../nyaml/NXmpes_liquid.yaml | 67 +++++++------- 2 files changed, 69 insertions(+), 87 deletions(-) diff --git a/contributed_definitions/NXmpes_liquid.nxdl.xml b/contributed_definitions/NXmpes_liquid.nxdl.xml index 53e16054fa..e1843f0467 100644 --- a/contributed_definitions/NXmpes_liquid.nxdl.xml +++ b/contributed_definitions/NXmpes_liquid.nxdl.xml @@ -253,79 +253,56 @@ with higher granularity in the data description. Connects this liquidjet to its transformation chain. - + Transformations describing the transformation chain of the liquid jet flow direction and optionally the flat jet normal. The vector of the major flow direction of the liquid jet from the injection into the chamber. Along the cylinder axis for single, cylidrical jets, and parallel to the leaf plane for flatjets. - - - - Is '.', since beam axis is assumed to be horizontal (perpendicular to gravity). - - - + + + The jet direction. If no direction is specified, + the jet points in the positive z-direction. + + - - - - - - Link to /NXentry/NXsample/rot_x - + + + + - - - - - - - - - - Link to /NXentry/NXsample/rot_y. - - - + + + Direction of surface normal vector of the first leaf on the side of solvent #1. + + The surface normal of the liqudjet leaf. If no direction is specified, + the leaf normal points in the positive z-direction. + The value of this field is the angle between the + analyzer optical axis and the leaf normal. + If you only want to collect the angle between the leaf normal + and the analyzer optical axis the `depends_on` attribute may be omitted. + If a transformation chain is provided (with the `depends_on` attribute) + it should depend on the analyzer optical axis or the jet direction depending + on the use case. + + Direction of surface normal vector of the first leaf on the side of solvent #1. Defaults to be parallel to detection direction. + + - + + + + + - - - Direction of surface normal vector of the first leaf on the side of solvent #1. - - - - Direction of surface normal vector of the first leaf on the side of solvent #1. - Defaults to be parallel to detection direction. - - - - Link to - /NXentry/NXinstrument/NXelectronanalyser/NXcollectioncolumn/NXtransformations/rot_z. - - - - - - - - - - Base vector is the liquid jet flow direction. - - - - diff --git a/contributed_definitions/nyaml/NXmpes_liquid.yaml b/contributed_definitions/nyaml/NXmpes_liquid.yaml index b3ec290947..9fd83448f2 100644 --- a/contributed_definitions/nyaml/NXmpes_liquid.yaml +++ b/contributed_definitions/nyaml/NXmpes_liquid.yaml @@ -19,6 +19,10 @@ NXmpes_liquid(NXmpes): (NXtransformations): exists: optional doc: "Direction of lens axis of analyzer." + analyzer_optical_axis(NX_NUMBER): + exists: recommended + doc: | + The optical axis of the analyzer rot_x(NX_NUMBER): \@depends_on(NX_CHAR): doc: "Is '.', since beam axis is assumed to be horizontal (perpendicular to gravity)." @@ -130,46 +134,47 @@ NXmpes_liquid(NXmpes): depends_on: exists: recommended doc: Connects this liquidjet to its transformation chain. - (NXtransformations): - exists: recommended + liquidjet_orientation(NXtransformations): doc: | Transformations describing the transformation chain of the liquid jet flow direction and optionally the flat jet normal. The vector of the major flow direction of the liquid jet from the injection into the chamber. Along the cylinder axis for single, cylidrical jets, and parallel to the leaf plane for flatjets. - rot_x(NX_NUMBER): - \@depends_on(NX_CHAR): - doc: "Is '.', since beam axis is assumed to be horizontal (perpendicular to gravity)." - \@transformation_type(NX_CHAR): - enumeration: ["rotation"] + jet_direction(NX_NUMBER): + doc: | + The jet direction. If no direction is specified, + the jet points in the positive z-direction. unit: NX_ANGLE - \@vector(NX_NUMBER): - rot_y(NX_NUMBER): - \@depends_on(NX_CHAR): - doc: "Link to /NXentry/NXsample/rot_x" - \@transformation_type(NX_CHAR): + \@transformation_type: enumeration: ["rotation"] + \@direction(NX_NUMBER): + exists: recommended + dimensions: + rank: 1 + dim: [[1, 3]] + leaf_normal(NX_NUMBER): + doc: | + Direction of surface normal vector of the first leaf on the side of solvent #1. + + The surface normal of the liqudjet leaf. If no direction is specified, + the leaf normal points in the positive z-direction. + The value of this field is the angle between the + analyzer optical axis and the leaf normal. + If you only want to collect the angle between the leaf normal + and the analyzer optical axis the `depends_on` attribute may be omitted. + If a transformation chain is provided (with the `depends_on` attribute) + it should depend on the analyzer optical axis or the jet direction depending + on the use case. + + Direction of surface normal vector of the first leaf on the side of solvent #1. Defaults to be parallel to detection direction. unit: NX_ANGLE - \@vector(NX_NUMBER): - rot_z(NX_NUMBER): - \@depends_on(NX_CHAR): - doc: "Link to /NXentry/NXsample/rot_y." - \@transformation_type(NX_CHAR): + \@transformation_type: enumeration: ["rotation"] - unit: NX_ANGLE - \@vector(NX_NUMBER): - leaf_normal(NXtransformations): - exists: optional - doc: "Direction of surface normal vector of the first leaf on the side of solvent #1." - rotation_theta(NX_NUMBER): - doc: "Direction of surface normal vector of the first leaf on the side of solvent #1. Defaults to be parallel to detection direction." - \@depends_on(NX_CHAR): - doc: "Link to /NXentry/NXinstrument/NXelectronanalyser/NXcollectioncolumn/NXtransformations/rot_z." - \@transformation_type(NX_CHAR): - enumeration: ["rotation"] - unit: NX_ANGLE - \@vector(NX_NUMBER): - doc: "Base vector is the liquid jet flow direction." + \@direction(NX_NUMBER): + exists: recommended + dimensions: + rank: 1 + dim: [[1, 3]] solventSOLVENT(NXsample_component): doc: "Solvent substance of the liquid jet. This also accounts for multiple jets if more than one solvent is given." description(NX_CHAR): From 2ff8fa997dbc0a2b174240ee51a23c8db0ec70f1 Mon Sep 17 00:00:00 2001 From: domna Date: Mon, 13 Nov 2023 09:02:45 +0100 Subject: [PATCH 08/14] Further transformation refinements --- .../NXmpes_liquid.nxdl.xml | 216 ++++-------------- .../nyaml/NXmpes_liquid.yaml | 165 +++++-------- 2 files changed, 102 insertions(+), 279 deletions(-) diff --git a/contributed_definitions/NXmpes_liquid.nxdl.xml b/contributed_definitions/NXmpes_liquid.nxdl.xml index e1843f0467..922167cf01 100644 --- a/contributed_definitions/NXmpes_liquid.nxdl.xml +++ b/contributed_definitions/NXmpes_liquid.nxdl.xml @@ -22,15 +22,9 @@ # For further information, see http://www.nexusformat.org --> - This is the application definition for multidimensional photoelectron - spectroscopy on liquids + spectroscopy on liquids. @@ -41,170 +35,25 @@ with higher granularity in the data description. - - - - Refers to the NXtransformation matrix which places the collectioncolumn in its - coordinate frame. - - - - - Direction of lens axis of analyzer. - - - - - Is '.', since beam axis is assumed to be horizontal (perpendicular to gravity). - - - - - - - - - - - - - Link to - /NXentry/NXinstrument/NXelectronanalyser/NXcollectioncolumn/NXtransformations/rot_x - - - - - - - - - - - - - Link to - /NXentry/NXinstrument/NXelectronanalyser/NXcollectioncolumn/NXtransformations/rot_y. - - - - - - - - - - - - Same as working_distance. - - - - Link to - /NXentry/NXinstrument/NXelectronanalyser/NXcollectioncolumn/NXtransformations/rot_z. - - - - - - - - - - - - - - - Refers to the NXtransformation matrix which places the detector in its - coordinate frame. - - - - - Direction of the hemisphere of an HEA. Points towards the detector from the - entrance slit. - - - - - Is '.', since beam axis is assumed to be horizontal (perpendicular to gravity). - - - - - - - - - - - - - - - - Link to - /NXentry/NXinstrument/NXelectronanalyser/NXdetector/NXtransformations/rot_x - - - - - - - - - - - - - Link to /NXentry/NXinstrument/NXelectronanalyser - /NXdetector/NXtransformations/rot_y. - - - - - - - - - - - - + - Transformations describing base geometry in the experiment. Usually defaults to - the beam in z direction and gravity in -y direction. + Transformations describing base geometry in the experiment. + Usually defaults to the beam in z direction and gravity in -y direction. - + - Direction of gravity. + The optical axis of the analyzer - + - The vector in the direction of gravity. + Direction of gravity in the analyzer coordinate system. - - - - - - - - - Direction of the photon beam. - - + - The vector of the photon-beam direction into the chamber after the last optical - element (or directly from the source if there are no optical elements). + Direction of the photon beam in the analyzer coordinate system. - - - - - @@ -262,15 +111,32 @@ with higher granularity in the data description. - The jet direction. If no direction is specified, + The coordinate system frame of the liquid jet direction. + If no direction attribute is specified, the jet points in the positive z-direction. - + + + The direction of gravity in the coordinate system + of `jet_direction`. + + + + + + + + The direction of the liqud jet. + If this is not specified the jet points + in the positive jet direction. + It is recommended to always specify the jet + direction explicitly (even for the default case). + @@ -278,10 +144,9 @@ with higher granularity in the data description. - Direction of surface normal vector of the first leaf on the side of solvent #1. - - The surface normal of the liqudjet leaf. If no direction is specified, - the leaf normal points in the positive z-direction. + Coordinate frame for the surface normal of the first leaf on the side of solvent #1. + If no direction is specified, + the surface leaf normal vector points in the positive z-direction. The value of this field is the angle between the analyzer optical axis and the leaf normal. If you only want to collect the angle between the leaf normal @@ -289,8 +154,6 @@ with higher granularity in the data description. If a transformation chain is provided (with the `depends_on` attribute) it should depend on the analyzer optical axis or the jet direction depending on the use case. - - Direction of surface normal vector of the first leaf on the side of solvent #1. Defaults to be parallel to detection direction. @@ -298,6 +161,13 @@ with higher granularity in the data description. + + Direction of surface normal vector of the first leaf on the side of solvent #1. + If this is not specified it defaults to the positve z-direction which should + be parallel to the detection direction. + It is recommended to always specify the leaf normal direction + explicitly (even for the default case). + @@ -306,8 +176,8 @@ with higher granularity in the data description. - Solvent substance of the liquid jet. This also accounts for multiple jets if - more than one solvent is given. + Solvent substance of the liquid jet. + This also accounts for multiple jets if more than one solvent is given. @@ -337,8 +207,8 @@ with higher granularity in the data description. - Solute substance solved in a given solvent. This also accounts for multiple - solutes if more than one is given. + Solute substance solved in a given solvent. + This also accounts for multiple solutes if more than one is given. diff --git a/contributed_definitions/nyaml/NXmpes_liquid.yaml b/contributed_definitions/nyaml/NXmpes_liquid.yaml index 9fd83448f2..4264125128 100644 --- a/contributed_definitions/nyaml/NXmpes_liquid.yaml +++ b/contributed_definitions/nyaml/NXmpes_liquid.yaml @@ -1,9 +1,5 @@ -#Pincelli, Rettig, Arora at fhi-berlin.mpg.de, Dobener at hu-berlin.de, 06/2022 -#Draft version of a NeXus application definition for photoemission, -#It is designed to be extended by other application definitions -#with higher granularity in the data description. - -doc: This is the application definition for multidimensional photoelectron spectroscopy on liquids +doc: | + This is the application definition for multidimensional photoelectron spectroscopy on liquids. category: application NXmpes_liquid(NXmpes): (NXentry): @@ -12,92 +8,21 @@ NXmpes_liquid(NXmpes): enumeration: ["NXmpes_liquid"] (NXinstrument): (NXelectronanalyser): - (NXcollectioncolumn): - depends_on: - doc: Refers to the NXtransformation matrix which places the collectioncolumn in its coordinate frame. + instrument_orientation(NXtransformations): + doc: | + Transformations describing base geometry in the experiment. + Usually defaults to the beam in z direction and gravity in -y direction. + exists: optional + analyzer_optical_axis(NX_NUMBER): exists: recommended - (NXtransformations): - exists: optional - doc: "Direction of lens axis of analyzer." - analyzer_optical_axis(NX_NUMBER): - exists: recommended + doc: | + The optical axis of the analyzer + \@gravity: doc: | - The optical axis of the analyzer - rot_x(NX_NUMBER): - \@depends_on(NX_CHAR): - doc: "Is '.', since beam axis is assumed to be horizontal (perpendicular to gravity)." - \@transformation_type(NX_CHAR): - enumeration: ["rotation"] - unit: NX_ANGLE - \@vector(NX_NUMBER): - rot_y(NX_NUMBER): - \@depends_on(NX_CHAR): - doc: "Link to /NXentry/NXinstrument/NXelectronanalyser/NXcollectioncolumn/NXtransformations/rot_x" - \@transformation_type(NX_CHAR): - enumeration: ["rotation"] - unit: NX_ANGLE - \@vector(NX_NUMBER): - rot_z(NX_NUMBER): - \@depends_on(NX_CHAR): - doc: "Link to /NXentry/NXinstrument/NXelectronanalyser/NXcollectioncolumn/NXtransformations/rot_y." - \@transformation_type(NX_CHAR): - enumeration: ["rotation"] - unit: NX_ANGLE - \@vector(NX_NUMBER): - trans_z(NX_NUMBER): - doc: "Same as working_distance." - \@depends_on(NX_CHAR): - doc: "Link to /NXentry/NXinstrument/NXelectronanalyser/NXcollectioncolumn/NXtransformations/rot_z." - \@transformation_type(NX_CHAR): - enumeration: ["translation"] - unit: NX_LENGTH - \@vector(NX_NUMBER): - (NXdetector): - depends_on: - doc: Refers to the NXtransformation matrix which places the detector in its coordinate frame. - exists: recommended - (NXtransformations): - exists: optional - doc: "Direction of the hemisphere of an HEA. Points towards the detector from the entrance slit." - rot_x(NX_NUMBER): - \@depends_on(NX_CHAR): - doc: "Is '.', since beam axis is assumed to be horizontal (perpendicular to gravity)." - enumeration: ["."] - \@transformation_type(NX_CHAR): - enumeration: ["rotation"] - unit: NX_ANGLE - \@vector(NX_NUMBER): - rot_y(NX_NUMBER): - \@depends_on(NX_CHAR): - doc: "Link to /NXentry/NXinstrument/NXelectronanalyser/NXdetector/NXtransformations/rot_x" - \@transformation_type(NX_CHAR): - enumeration: ["rotation"] - unit: NX_ANGLE - \@vector(NX_NUMBER): - rot_z(NX_NUMBER): - \@depends_on(NX_CHAR): - doc: | - Link to /NXentry/NXinstrument/NXelectronanalyser - /NXdetector/NXtransformations/rot_y. - \@transformation_type(NX_CHAR): - enumeration: ["rotation"] - unit: NX_ANGLE - \@vector(NX_NUMBER): - (NXtransformations): - exists: optional - doc: "Transformations describing base geometry in the experiment. Usually defaults to the beam in z direction and gravity in -y direction." - gravity_axis(NX_NUMBER): - doc: "Direction of gravity." - \@vector(NX_NUMBER): - doc: "The vector in the direction of gravity." - \@depends_on(NX_CHAR): - enumeration: ["."] - beam_axis(NX_NUMBER): - doc: "Direction of the photon beam." - \@vector(NX_NUMBER): - doc: "The vector of the photon-beam direction into the chamber after the last optical element (or directly from the source if there are no optical elements)." - \@depends_on(NX_CHAR): - enumeration: ["."] + Direction of gravity in the analyzer coordinate system. + \@beam_direction: + doc: | + Direction of the photon beam in the analyzer coordinate system. (NXsample): chemical_formula: exists: optional @@ -133,7 +58,8 @@ NXmpes_liquid(NXmpes): (users are encouraged to expand on that in group preparation_description). depends_on: exists: recommended - doc: Connects this liquidjet to its transformation chain. + doc: | + Connects this liquidjet to its transformation chain. liquidjet_orientation(NXtransformations): doc: | Transformations describing the transformation chain of the liquid jet flow direction @@ -142,22 +68,36 @@ NXmpes_liquid(NXmpes): Along the cylinder axis for single, cylidrical jets, and parallel to the leaf plane for flatjets. jet_direction(NX_NUMBER): doc: | - The jet direction. If no direction is specified, + The coordinate system frame of the liquid jet direction. + If no direction attribute is specified, the jet points in the positive z-direction. unit: NX_ANGLE - \@transformation_type: + \@gravity(NX_NUMBER): + doc: | + The direction of gravity in the coordinate system + of `jet_direction`. + exists: recommended + dimensions: + rank: 1 + dim: [[1, 3]] + \@transformation_type(NX_CHAR): enumeration: ["rotation"] \@direction(NX_NUMBER): + doc: | + The direction of the liqud jet. + If this is not specified the jet points + in the positive jet direction. + It is recommended to always specify the jet + direction explicitly (even for the default case). exists: recommended dimensions: rank: 1 dim: [[1, 3]] leaf_normal(NX_NUMBER): doc: | - Direction of surface normal vector of the first leaf on the side of solvent #1. - - The surface normal of the liqudjet leaf. If no direction is specified, - the leaf normal points in the positive z-direction. + Coordinate frame for the surface normal of the first leaf on the side of solvent #1. + If no direction is specified, + the surface leaf normal vector points in the positive z-direction. The value of this field is the angle between the analyzer optical axis and the leaf normal. If you only want to collect the angle between the leaf normal @@ -165,29 +105,37 @@ NXmpes_liquid(NXmpes): If a transformation chain is provided (with the `depends_on` attribute) it should depend on the analyzer optical axis or the jet direction depending on the use case. - - Direction of surface normal vector of the first leaf on the side of solvent #1. Defaults to be parallel to detection direction. unit: NX_ANGLE \@transformation_type: enumeration: ["rotation"] \@direction(NX_NUMBER): + doc: | + Direction of surface normal vector of the first leaf on the side of solvent #1. + If this is not specified it defaults to the positve z-direction which should + be parallel to the detection direction. + It is recommended to always specify the leaf normal direction + explicitly (even for the default case). exists: recommended dimensions: rank: 1 dim: [[1, 3]] solventSOLVENT(NXsample_component): - doc: "Solvent substance of the liquid jet. This also accounts for multiple jets if more than one solvent is given." + doc: | + Solvent substance of the liquid jet. + This also accounts for multiple jets if more than one solvent is given. description(NX_CHAR): exists: recommended name(NX_CHAR): chemical_formula(NX_CHAR): - doc: "Molecular or structural formula of the solvent." + doc: | + Molecular or structural formula of the solvent. chem_id_cas(NX_CHAR): exists: recommended ph_value(NX_FLOAT): exists: optional unit: NX_UNITLESS - doc: "Measured pH value of the solution." + doc: | + Measured pH value of the solution. ph_adjustment(NX_BOOLEAN): exists: optional doc: | @@ -200,12 +148,15 @@ NXmpes_liquid(NXmpes): Molarity of the solvent in the solution. Unit should be 1 / NX_VOLUME. soluteSOLUTE(NXsample_component): - doc: "Solute substance solved in a given solvent. This also accounts for multiple solutes if more than one is given." + doc: | + Solute substance solved in a given solvent. + This also accounts for multiple solutes if more than one is given. description(NX_CHAR): exists: recommended name(NX_CHAR): chemical_formula(NX_CHAR): - doc: "Molecular or structural formula of the solute." + doc: | + Molecular or structural formula of the solute. chem_id_cas(NX_CHAR): exists: recommended mol_fraction(NX_FLOAT): @@ -215,10 +166,12 @@ NXmpes_liquid(NXmpes): Molarity of the solute in the solution. Unit should be 1 / NX_VOLUME solvent(NX_CHAR): - doc: "Specifies the parent solvent entry of the solution." + doc: | + Specifies the parent solvent entry of the solution. (NXdata): \@axes(NX_CHAR): enumeration: ["energy"] energy(NX_NUMBER): unit: NX_ENERGY - doc: "Data containing the energy axis." \ No newline at end of file + doc: | + Data containing the energy axis. \ No newline at end of file From 263c872ce149d7920d5750b242b04d9eaf85b5d8 Mon Sep 17 00:00:00 2001 From: domna Date: Tue, 21 Nov 2023 14:54:29 +0100 Subject: [PATCH 09/14] Adds changes from Uwes and Stephans comments --- .../NXmpes_liquid.nxdl.xml | 89 ++++++++----------- .../nyaml/NXmpes_liquid.yaml | 73 +++++++-------- 2 files changed, 73 insertions(+), 89 deletions(-) diff --git a/contributed_definitions/NXmpes_liquid.nxdl.xml b/contributed_definitions/NXmpes_liquid.nxdl.xml index 922167cf01..1695c8d252 100644 --- a/contributed_definitions/NXmpes_liquid.nxdl.xml +++ b/contributed_definitions/NXmpes_liquid.nxdl.xml @@ -23,8 +23,9 @@ --> - This is the application definition for multidimensional photoelectron - spectroscopy on liquids. + This is the application definition for multidimensional photoelectron spectroscopy on liquids. + It extends the NXmpes application definition by metadata for characterizing liquidjet composition + and geometry. @@ -34,44 +35,40 @@ - - + + + Transformations describing base geometry in the experiment. + Usually defaults to the beam in z direction and gravity in -y direction. + + - Transformations describing base geometry in the experiment. - Usually defaults to the beam in z direction and gravity in -y direction. + The coordinate system frame of the analyzer. + If no direction attribute is specified, + the optical axis of the analyzer follows the positive z-direction. - + - The optical axis of the analyzer + Direction of gravity in the analyzer coordinate system. - - - Direction of gravity in the analyzer coordinate system. - - - - - Direction of the photon beam in the analyzer coordinate system. - - - - + + + + Direction of the photon beam in the analyzer coordinate system. + + + + + The direction of the analyzer optical axis. + If this is not specified the optical axis points + in the positive jet direction. + It is recommended to always specify the axis + direction explicitly (even for the default case). + + + - - - In the case of a fixed temperature measurement this is the scalar temperature of the sample. - In the case of an experiment in which the temperature is changed and recoded, - this is an array of length m of temperatures. - - - - - Electric field applied to the sample with respect to - ground / the system, e.g., via biasing. - - Thickness of the sample in normal direction to the surface that is probed, @@ -81,7 +78,7 @@ Flow rate of the liquid into the chamber, i.e., - throught the microjet capillary (or in case of a flat jet: both capillaries). + through the microjet capillary (or in case of a flat jet: both capillaries). Unit should be NX_VOLUME / NX_TIME. @@ -106,8 +103,8 @@ Transformations describing the transformation chain of the liquid jet flow direction and optionally the flat jet normal. The vector of the major flow direction of the - liquid jet from the injection into the chamber. - Along the cylinder axis for single, cylidrical jets, and parallel to the leaf plane for flatjets. + liquid jet from the point of injection into the chamber. + Along the cylinder axis for single, cylindrical jets, and parallel to the leaf plane for flatjets. @@ -177,7 +174,10 @@ Solvent substance of the liquid jet. - This also accounts for multiple jets if more than one solvent is given. + For flat jets, this group may appear more than once. + If a mixture of solvents is used, + the one with the highest mol fraction should be designated solvent, + and the other(s) solute(s) (see solute group). @@ -195,7 +195,8 @@ Whether or not agents for pH adjustment were added to the solution. - In this case, users are encouraged to expand on that in preparation_description. + In this case, users are encouraged to expand on that in preparation_description + or add a corresponding solute group. @@ -231,17 +232,5 @@ - - - - - - - - - Data containing the energy axis. - - - diff --git a/contributed_definitions/nyaml/NXmpes_liquid.yaml b/contributed_definitions/nyaml/NXmpes_liquid.yaml index 4264125128..485eda3598 100644 --- a/contributed_definitions/nyaml/NXmpes_liquid.yaml +++ b/contributed_definitions/nyaml/NXmpes_liquid.yaml @@ -1,5 +1,7 @@ doc: | This is the application definition for multidimensional photoelectron spectroscopy on liquids. + It extends the NXmpes application definition by metadata for characterizing liquidjet composition + and geometry. category: application NXmpes_liquid(NXmpes): (NXentry): @@ -7,35 +9,31 @@ NXmpes_liquid(NXmpes): \@version: enumeration: ["NXmpes_liquid"] (NXinstrument): - (NXelectronanalyser): - instrument_orientation(NXtransformations): + instrument_orientation(NXtransformations): + doc: | + Transformations describing base geometry in the experiment. + Usually defaults to the beam in z direction and gravity in -y direction. + exists: optional + analyzer_optical_axis(NX_NUMBER): + exists: recommended doc: | - Transformations describing base geometry in the experiment. - Usually defaults to the beam in z direction and gravity in -y direction. - exists: optional - analyzer_optical_axis(NX_NUMBER): - exists: recommended + The coordinate system frame of the analyzer. + If no direction attribute is specified, + the optical axis of the analyzer follows the positive z-direction. + \@gravity: + doc: | + Direction of gravity in the analyzer coordinate system. + \@beam_direction: + doc: | + Direction of the photon beam in the analyzer coordinate system. + \@direction: doc: | - The optical axis of the analyzer - \@gravity: - doc: | - Direction of gravity in the analyzer coordinate system. - \@beam_direction: - doc: | - Direction of the photon beam in the analyzer coordinate system. + The direction of the analyzer optical axis. + If this is not specified the optical axis points + in the positive jet direction. + It is recommended to always specify the axis + direction explicitly (even for the default case). (NXsample): - chemical_formula: - exists: optional - doc: | - In the case of a fixed temperature measurement this is the scalar temperature of the sample. - In the case of an experiment in which the temperature is changed and recoded, - this is an array of length m of temperatures. - electric_field(NX_FLOAT): - exists: recommended - unit: NX_VOLTAGE - doc: | - Electric field applied to the sample with respect to - ground / the system, e.g., via biasing. thickness(NX_FLOAT): exists: recommended unit: NX_LENGTH @@ -47,7 +45,7 @@ NXmpes_liquid(NXmpes): unit: NX_ANY doc: | Flow rate of the liquid into the chamber, i.e., - throught the microjet capillary (or in case of a flat jet: both capillaries). + through the microjet capillary (or in case of a flat jet: both capillaries). Unit should be NX_VOLUME / NX_TIME. shape(NX_CHAR): enumeration: ["round", "flat"] @@ -64,8 +62,8 @@ NXmpes_liquid(NXmpes): doc: | Transformations describing the transformation chain of the liquid jet flow direction and optionally the flat jet normal. The vector of the major flow direction of the - liquid jet from the injection into the chamber. - Along the cylinder axis for single, cylidrical jets, and parallel to the leaf plane for flatjets. + liquid jet from the point of injection into the chamber. + Along the cylinder axis for single, cylindrical jets, and parallel to the leaf plane for flatjets. jet_direction(NX_NUMBER): doc: | The coordinate system frame of the liquid jet direction. @@ -122,7 +120,10 @@ NXmpes_liquid(NXmpes): solventSOLVENT(NXsample_component): doc: | Solvent substance of the liquid jet. - This also accounts for multiple jets if more than one solvent is given. + For flat jets, this group may appear more than once. + If a mixture of solvents is used, + the one with the highest mol fraction should be designated solvent, + and the other(s) solute(s) (see solute group). description(NX_CHAR): exists: recommended name(NX_CHAR): @@ -140,7 +141,8 @@ NXmpes_liquid(NXmpes): exists: optional doc: | Whether or not agents for pH adjustment were added to the solution. - In this case, users are encouraged to expand on that in preparation_description. + In this case, users are encouraged to expand on that in preparation_description + or add a corresponding solute group. mol_fraction(NX_FLOAT): exists: optional unit: NX_ANY @@ -167,11 +169,4 @@ NXmpes_liquid(NXmpes): Unit should be 1 / NX_VOLUME solvent(NX_CHAR): doc: | - Specifies the parent solvent entry of the solution. - (NXdata): - \@axes(NX_CHAR): - enumeration: ["energy"] - energy(NX_NUMBER): - unit: NX_ENERGY - doc: | - Data containing the energy axis. \ No newline at end of file + Specifies the parent solvent entry of the solution. \ No newline at end of file From 9ad5e73829c617c248b59fedf52ab2bef73b625e Mon Sep 17 00:00:00 2001 From: domna Date: Wed, 22 Nov 2023 08:32:07 +0100 Subject: [PATCH 10/14] Adds docstring extensions for gas_pressure and temperature in NXsample --- contributed_definitions/NXmpes_liquid.nxdl.xml | 16 ++++++++++++++++ contributed_definitions/nyaml/NXmpes_liquid.yaml | 14 ++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/contributed_definitions/NXmpes_liquid.nxdl.xml b/contributed_definitions/NXmpes_liquid.nxdl.xml index 1695c8d252..61ba7317d0 100644 --- a/contributed_definitions/NXmpes_liquid.nxdl.xml +++ b/contributed_definitions/NXmpes_liquid.nxdl.xml @@ -94,6 +94,22 @@ (users are encouraged to expand on that in group preparation_description). + + + The temperature set for the liquid jet or the injection assembly. + Details may be added to the preparation description how this + temperature value is obtained + (whether a chiller unit was used, point of cooling, temperature reading etc.) + and where this value would be expected + (estimate for the jet assembly, the liquid prior to injection, + or at the interaction point taking into account evaporative cooling etc.). + + + + + Pressure reading in the interaction chamber under operation conditions. + + Connects this liquidjet to its transformation chain. diff --git a/contributed_definitions/nyaml/NXmpes_liquid.yaml b/contributed_definitions/nyaml/NXmpes_liquid.yaml index 485eda3598..5914df445d 100644 --- a/contributed_definitions/nyaml/NXmpes_liquid.yaml +++ b/contributed_definitions/nyaml/NXmpes_liquid.yaml @@ -54,6 +54,20 @@ NXmpes_liquid(NXmpes): doc: | Material the microjet nozzle is made of (users are encouraged to expand on that in group preparation_description). + temperature(NX_NUMBER): + exists: optional + doc: | + The temperature set for the liquid jet or the injection assembly. + Details may be added to the preparation description how this + temperature value is obtained + (whether a chiller unit was used, point of cooling, temperature reading etc.) + and where this value would be expected + (estimate for the jet assembly, the liquid prior to injection, + or at the interaction point taking into account evaporative cooling etc.). + gas_pressure(NX_NUMBER): + exists: optional + doc: | + Pressure reading in the interaction chamber under operation conditions. depends_on: exists: recommended doc: | From 89997929d90c5e47ea7a2d7cb7ec87ad4c28b747 Mon Sep 17 00:00:00 2001 From: Lukas Pielsticker <50139597+lukaspie@users.noreply.github.com> Date: Fri, 12 Jul 2024 12:43:42 +0200 Subject: [PATCH 11/14] adjust to recent changes in NXmpes --- .../NXmpes_liquid.nxdl.xml | 451 +++++++++--------- .../nyaml/NXmpes_liquid.yaml | 314 ++++++++++-- 2 files changed, 511 insertions(+), 254 deletions(-) diff --git a/contributed_definitions/NXmpes_liquid.nxdl.xml b/contributed_definitions/NXmpes_liquid.nxdl.xml index 61ba7317d0..a121b1eca4 100644 --- a/contributed_definitions/NXmpes_liquid.nxdl.xml +++ b/contributed_definitions/NXmpes_liquid.nxdl.xml @@ -2,9 +2,9 @@ - - This is the application definition for multidimensional photoelectron spectroscopy on liquids. - It extends the NXmpes application definition by metadata for characterizing liquidjet composition - and geometry. - - - - - - - - - - - - Transformations describing base geometry in the experiment. - Usually defaults to the beam in z direction and gravity in -y direction. - - - - The coordinate system frame of the analyzer. - If no direction attribute is specified, - the optical axis of the analyzer follows the positive z-direction. - - - - Direction of gravity in the analyzer coordinate system. - - - - - Direction of the photon beam in the analyzer coordinate system. - - - - - The direction of the analyzer optical axis. - If this is not specified the optical axis points - in the positive jet direction. - It is recommended to always specify the axis - direction explicitly (even for the default case). - - - - - - - - - Thickness of the sample in normal direction to the surface that is probed, - e.g., diameter of capillary (round jets) or thickness of the leaf (flat jets). - - - - - Flow rate of the liquid into the chamber, i.e., - through the microjet capillary (or in case of a flat jet: both capillaries). - Unit should be NX_VOLUME / NX_TIME. - - - - - - - - - - - Material the microjet nozzle is made of - (users are encouraged to expand on that in group preparation_description). - - - - - The temperature set for the liquid jet or the injection assembly. - Details may be added to the preparation description how this - temperature value is obtained - (whether a chiller unit was used, point of cooling, temperature reading etc.) - and where this value would be expected - (estimate for the jet assembly, the liquid prior to injection, - or at the interaction point taking into account evaporative cooling etc.). - - - - - Pressure reading in the interaction chamber under operation conditions. - - - - - Connects this liquidjet to its transformation chain. - - - - - Transformations describing the transformation chain of the liquid jet flow direction - and optionally the flat jet normal. The vector of the major flow direction of the - liquid jet from the point of injection into the chamber. - Along the cylinder axis for single, cylindrical jets, and parallel to the leaf plane for flatjets. - - - - The coordinate system frame of the liquid jet direction. - If no direction attribute is specified, - the jet points in the positive z-direction. - - - - The direction of gravity in the coordinate system - of `jet_direction`. - - - - - - - - - - - - - The direction of the liqud jet. - If this is not specified the jet points - in the positive jet direction. - It is recommended to always specify the jet - direction explicitly (even for the default case). - - - - - - - - - Coordinate frame for the surface normal of the first leaf on the side of solvent #1. - If no direction is specified, - the surface leaf normal vector points in the positive z-direction. - The value of this field is the angle between the - analyzer optical axis and the leaf normal. - If you only want to collect the angle between the leaf normal - and the analyzer optical axis the `depends_on` attribute may be omitted. - If a transformation chain is provided (with the `depends_on` attribute) - it should depend on the analyzer optical axis or the jet direction depending - on the use case. - - + + This is the application definition for multidimensional photoelectron spectroscopy on liquids. + It extends the NXmpes application definition by metadata for characterizing liquidjet composition + and geometry. + + + + - + - - - - Direction of surface normal vector of the first leaf on the side of solvent #1. - If this is not specified it defaults to the positve z-direction which should - be parallel to the detection direction. - It is recommended to always specify the leaf normal direction - explicitly (even for the default case). - - - - - - - - - - Solvent substance of the liquid jet. - For flat jets, this group may appear more than once. - If a mixture of solvents is used, - the one with the highest mol fraction should be designated solvent, - and the other(s) solute(s) (see solute group). - - - - - - Molecular or structural formula of the solvent. - - - - - - Measured pH value of the solution. - - - - - Whether or not agents for pH adjustment were added to the solution. - In this case, users are encouraged to expand on that in preparation_description - or add a corresponding solute group. - - - - - Molarity of the solvent in the solution. - Unit should be 1 / NX_VOLUME. - - - - - - Solute substance solved in a given solvent. - This also accounts for multiple solutes if more than one is given. - - - - - - Molecular or structural formula of the solute. - - - - - - Molarity of the solute in the solution. - Unit should be 1 / NX_VOLUME - - - - - Specifies the parent solvent entry of the solution. - - + + + + Transformations describing base geometry in the experiment. + Usually defaults to the beam in z direction and gravity in -y direction. + + + + The coordinate system frame of the analyzer. + If no direction attribute is specified, + the optical axis of the analyzer follows the positive z-direction. + + + + Direction of gravity in the analyzer coordinate system. + + + + + Direction of the photon beam in the analyzer coordinate system. + + + + + The direction of the analyzer optical axis. + If this is not specified the optical axis points + in the positive jet direction. + It is recommended to always specify the axis + direction explicitly (even for the default case). + + + + + + + + + Thickness of the sample in normal direction to the surface that is probed, + e.g., diameter of capillary (round jets) or thickness of the leaf (flat jets). + + + + + Flow rate of the liquid into the chamber, i.e., + through the microjet capillary (or in case of a flat jet: both capillaries). + Unit should be NX_VOLUME / NX_TIME. + + + + + + + + + + + Material the microjet nozzle is made of + (users are encouraged to expand on that in group history/sample_preparation). + + + + + The temperature set for the liquid jet or the injection assembly. + Details may be added through instances of NXsensor/NXactuator the how this temperature + value is obtained (whether a chiller unit was used, point of cooling, temperature reading + etc.) and where this value would be expected (estimate for the jet assembly, the liquid + prior to injection, or at the interaction point taking into account evaporative cooling etc.). + + + + + Pressure in the interaction chamber under operation conditions and actuators/sensors + controlling/measuring it. + + + + + Connects this liquidjet to its transformation chain. + + + + + Transformations describing the transformation chain of the liquid jet flow direction + and optionally the flat jet normal. The vector of the major flow direction of the + liquid jet from the point of injection into the chamber. + Along the cylinder axis for single, cylindrical jets, and parallel to the leaf plane for flatjets. + + + + The coordinate system frame of the liquid jet direction. + If no direction attribute is specified, + the jet points in the positive z-direction. + + + + The direction of gravity in the coordinate system + of `jet_direction`. + + + + + + + + + + + + + The direction of the liqud jet. + If this is not specified the jet points + in the positive jet direction. + It is recommended to always specify the jet + direction explicitly (even for the default case). + + + + + + + + + Coordinate frame for the surface normal of the first leaf on the side of solvent #1. + If no direction is specified, + the surface leaf normal vector points in the positive z-direction. + The value of this field is the angle between the + analyzer optical axis and the leaf normal. + If you only want to collect the angle between the leaf normal + and the analyzer optical axis the `depends_on` attribute may be omitted. + If a transformation chain is provided (with the `depends_on` attribute) + it should depend on the analyzer optical axis or the jet direction depending + on the use case. + + + + + + + + + Direction of surface normal vector of the first leaf on the side of solvent #1. + If this is not specified it defaults to the positve z-direction which should + be parallel to the detection direction. + It is recommended to always specify the leaf normal direction + explicitly (even for the default case). + + + + + + + + + + Solvent substance of the liquid jet. + For flat jets, this group may appear more than once. + If a mixture of solvents is used, + the one with the highest mol fraction should be designated solvent, + and the other(s) solute(s) (see solute group). + + + + + + Molecular or structural formula of the solvent. + + + + + + Measured pH value of the solution. + + + + + Whether or not agents for pH adjustment were added to the solution. + In this case, users are encouraged to expand on that in the ``history`` group + or add a corresponding solute group. + + + + + Molarity of the solvent in the solution. + Unit should be 1 / NX_VOLUME. + + + + + + Solute substance solved in a given solvent. + This also accounts for multiple solutes if more than one is given. + + + + + + Molecular or structural formula of the solute. + + + + + + Molarity of the solute in the solution. + Unit should be 1 / NX_VOLUME + + + + + Specifies the parent solvent entry of the solution. + + + + - diff --git a/contributed_definitions/nyaml/NXmpes_liquid.yaml b/contributed_definitions/nyaml/NXmpes_liquid.yaml index 5914df445d..aa65ebf8c9 100644 --- a/contributed_definitions/nyaml/NXmpes_liquid.yaml +++ b/contributed_definitions/nyaml/NXmpes_liquid.yaml @@ -1,19 +1,20 @@ +category: application doc: | This is the application definition for multidimensional photoelectron spectroscopy on liquids. It extends the NXmpes application definition by metadata for characterizing liquidjet composition and geometry. -category: application +type: group NXmpes_liquid(NXmpes): (NXentry): definition: \@version: - enumeration: ["NXmpes_liquid"] + enumeration: [NXmpes_liquid] (NXinstrument): instrument_orientation(NXtransformations): + exists: optional doc: | Transformations describing base geometry in the experiment. Usually defaults to the beam in z direction and gravity in -y direction. - exists: optional analyzer_optical_axis(NX_NUMBER): exists: recommended doc: | @@ -25,7 +26,7 @@ NXmpes_liquid(NXmpes): Direction of gravity in the analyzer coordinate system. \@beam_direction: doc: | - Direction of the photon beam in the analyzer coordinate system. + Direction of the photon beam in the analyzer coordinate system. \@direction: doc: | The direction of the analyzer optical axis. @@ -48,26 +49,25 @@ NXmpes_liquid(NXmpes): through the microjet capillary (or in case of a flat jet: both capillaries). Unit should be NX_VOLUME / NX_TIME. shape(NX_CHAR): - enumeration: ["round", "flat"] + enumeration: [round, flat] nozzle_material(NX_CHAR): exists: recommended doc: | Material the microjet nozzle is made of - (users are encouraged to expand on that in group preparation_description). - temperature(NX_NUMBER): + (users are encouraged to expand on that in group history/sample_preparation). + temperature_env(NX_NUMBER): exists: optional doc: | The temperature set for the liquid jet or the injection assembly. - Details may be added to the preparation description how this - temperature value is obtained - (whether a chiller unit was used, point of cooling, temperature reading etc.) - and where this value would be expected - (estimate for the jet assembly, the liquid prior to injection, - or at the interaction point taking into account evaporative cooling etc.). - gas_pressure(NX_NUMBER): + Details may be added through instances of NXsensor/NXactuator the how this temperature + value is obtained (whether a chiller unit was used, point of cooling, temperature reading + etc.) and where this value would be expected (estimate for the jet assembly, the liquid + prior to injection, or at the interaction point taking into account evaporative cooling etc.). + gas_pressure_env(NX_NUMBER): exists: optional doc: | - Pressure reading in the interaction chamber under operation conditions. + Pressure in the interaction chamber under operation conditions and actuators/sensors + controlling/measuring it. depends_on: exists: recommended doc: | @@ -79,33 +79,37 @@ NXmpes_liquid(NXmpes): liquid jet from the point of injection into the chamber. Along the cylinder axis for single, cylindrical jets, and parallel to the leaf plane for flatjets. jet_direction(NX_NUMBER): + unit: NX_ANGLE doc: | The coordinate system frame of the liquid jet direction. If no direction attribute is specified, the jet points in the positive z-direction. - unit: NX_ANGLE - \@gravity(NX_NUMBER): + \@gravity: + type: NX_NUMBER + exists: recommended doc: | The direction of gravity in the coordinate system of `jet_direction`. - exists: recommended dimensions: rank: 1 dim: [[1, 3]] - \@transformation_type(NX_CHAR): - enumeration: ["rotation"] - \@direction(NX_NUMBER): + \@transformation_type: + type: NX_CHAR + enumeration: [rotation] + \@direction: + type: NX_NUMBER + exists: recommended doc: | The direction of the liqud jet. If this is not specified the jet points in the positive jet direction. It is recommended to always specify the jet direction explicitly (even for the default case). - exists: recommended dimensions: rank: 1 dim: [[1, 3]] leaf_normal(NX_NUMBER): + unit: NX_ANGLE doc: | Coordinate frame for the surface normal of the first leaf on the side of solvent #1. If no direction is specified, @@ -117,17 +121,17 @@ NXmpes_liquid(NXmpes): If a transformation chain is provided (with the `depends_on` attribute) it should depend on the analyzer optical axis or the jet direction depending on the use case. - unit: NX_ANGLE \@transformation_type: - enumeration: ["rotation"] - \@direction(NX_NUMBER): + enumeration: [rotation] + \@direction: + type: NX_NUMBER + exists: recommended doc: | Direction of surface normal vector of the first leaf on the side of solvent #1. If this is not specified it defaults to the positve z-direction which should be parallel to the detection direction. It is recommended to always specify the leaf normal direction explicitly (even for the default case). - exists: recommended dimensions: rank: 1 dim: [[1, 3]] @@ -155,7 +159,7 @@ NXmpes_liquid(NXmpes): exists: optional doc: | Whether or not agents for pH adjustment were added to the solution. - In this case, users are encouraged to expand on that in preparation_description + In this case, users are encouraged to expand on that in the ``history`` group or add a corresponding solute group. mol_fraction(NX_FLOAT): exists: optional @@ -183,4 +187,258 @@ NXmpes_liquid(NXmpes): Unit should be 1 / NX_VOLUME solvent(NX_CHAR): doc: | - Specifies the parent solvent entry of the solution. \ No newline at end of file + Specifies the parent solvent entry of the solution. + +# ++++++++++++++++++++++++++++++++++ SHA HASH ++++++++++++++++++++++++++++++++++ +# a6aaacb5a5237bf5897bed0c436d03f9c3dd5098b00012445d8bda527b76e92d +# +# +# +# +# +# This is the application definition for multidimensional photoelectron spectroscopy on liquids. +# It extends the NXmpes application definition by metadata for characterizing liquidjet composition +# and geometry. +# +# +# +# +# +# +# +# +# +# +# +# Transformations describing base geometry in the experiment. +# Usually defaults to the beam in z direction and gravity in -y direction. +# +# +# +# The coordinate system frame of the analyzer. +# If no direction attribute is specified, +# the optical axis of the analyzer follows the positive z-direction. +# +# +# +# Direction of gravity in the analyzer coordinate system. +# +# +# +# +# Direction of the photon beam in the analyzer coordinate system. +# +# +# +# +# The direction of the analyzer optical axis. +# If this is not specified the optical axis points +# in the positive jet direction. +# It is recommended to always specify the axis +# direction explicitly (even for the default case). +# +# +# +# +# +# +# +# +# Thickness of the sample in normal direction to the surface that is probed, +# e.g., diameter of capillary (round jets) or thickness of the leaf (flat jets). +# +# +# +# +# Flow rate of the liquid into the chamber, i.e., +# through the microjet capillary (or in case of a flat jet: both capillaries). +# Unit should be NX_VOLUME / NX_TIME. +# +# +# +# +# +# +# +# +# +# +# Material the microjet nozzle is made of +# (users are encouraged to expand on that in group history/sample_preparation). +# +# +# +# +# The temperature set for the liquid jet or the injection assembly. +# Details may be added through instances of NXsensor/NXactuator the how this temperature +# value is obtained (whether a chiller unit was used, point of cooling, temperature reading +# etc.) and where this value would be expected (estimate for the jet assembly, the liquid +# prior to injection, or at the interaction point taking into account evaporative cooling etc.). +# +# +# +# +# Pressure in the interaction chamber under operation conditions and actuators/sensors +# controlling/measuring it. +# +# +# +# +# Connects this liquidjet to its transformation chain. +# +# +# +# +# Transformations describing the transformation chain of the liquid jet flow direction +# and optionally the flat jet normal. The vector of the major flow direction of the +# liquid jet from the point of injection into the chamber. +# Along the cylinder axis for single, cylindrical jets, and parallel to the leaf plane for flatjets. +# +# +# +# The coordinate system frame of the liquid jet direction. +# If no direction attribute is specified, +# the jet points in the positive z-direction. +# +# +# +# The direction of gravity in the coordinate system +# of `jet_direction`. +# +# +# +# +# +# +# +# +# +# +# +# +# The direction of the liqud jet. +# If this is not specified the jet points +# in the positive jet direction. +# It is recommended to always specify the jet +# direction explicitly (even for the default case). +# +# +# +# +# +# +# +# +# Coordinate frame for the surface normal of the first leaf on the side of solvent #1. +# If no direction is specified, +# the surface leaf normal vector points in the positive z-direction. +# The value of this field is the angle between the +# analyzer optical axis and the leaf normal. +# If you only want to collect the angle between the leaf normal +# and the analyzer optical axis the `depends_on` attribute may be omitted. +# If a transformation chain is provided (with the `depends_on` attribute) +# it should depend on the analyzer optical axis or the jet direction depending +# on the use case. +# +# +# +# +# +# +# +# +# Direction of surface normal vector of the first leaf on the side of solvent #1. +# If this is not specified it defaults to the positve z-direction which should +# be parallel to the detection direction. +# It is recommended to always specify the leaf normal direction +# explicitly (even for the default case). +# +# +# +# +# +# +# +# +# +# Solvent substance of the liquid jet. +# For flat jets, this group may appear more than once. +# If a mixture of solvents is used, +# the one with the highest mol fraction should be designated solvent, +# and the other(s) solute(s) (see solute group). +# +# +# +# +# +# Molecular or structural formula of the solvent. +# +# +# +# +# +# Measured pH value of the solution. +# +# +# +# +# Whether or not agents for pH adjustment were added to the solution. +# In this case, users are encouraged to expand on that in the ``history`` group +# or add a corresponding solute group. +# +# +# +# +# Molarity of the solvent in the solution. +# Unit should be 1 / NX_VOLUME. +# +# +# +# +# +# Solute substance solved in a given solvent. +# This also accounts for multiple solutes if more than one is given. +# +# +# +# +# +# Molecular or structural formula of the solute. +# +# +# +# +# +# Molarity of the solute in the solution. +# Unit should be 1 / NX_VOLUME +# +# +# +# +# Specifies the parent solvent entry of the solution. +# +# +# +# +# +# From 21c27da7ff6ca52332febb87bbc791272096afa2 Mon Sep 17 00:00:00 2001 From: Lukas Pielsticker <50139597+lukaspie@users.noreply.github.com> Date: Fri, 12 Jul 2024 12:46:27 +0200 Subject: [PATCH 12/14] fix nyaml nxdl incosistency --- contributed_definitions/NXmpes_liquid.nxdl.xml | 2 +- contributed_definitions/nyaml/NXmpes_liquid.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/contributed_definitions/NXmpes_liquid.nxdl.xml b/contributed_definitions/NXmpes_liquid.nxdl.xml index a121b1eca4..fbc70e68b7 100644 --- a/contributed_definitions/NXmpes_liquid.nxdl.xml +++ b/contributed_definitions/NXmpes_liquid.nxdl.xml @@ -21,7 +21,7 @@ # # For further information, see http://www.nexusformat.org --> - + This is the application definition for multidimensional photoelectron spectroscopy on liquids. It extends the NXmpes application definition by metadata for characterizing liquidjet composition diff --git a/contributed_definitions/nyaml/NXmpes_liquid.yaml b/contributed_definitions/nyaml/NXmpes_liquid.yaml index aa65ebf8c9..16507ca052 100644 --- a/contributed_definitions/nyaml/NXmpes_liquid.yaml +++ b/contributed_definitions/nyaml/NXmpes_liquid.yaml @@ -214,7 +214,7 @@ NXmpes_liquid(NXmpes): # # # # For further information, see http://www.nexusformat.org # --> -# +# # # This is the application definition for multidimensional photoelectron spectroscopy on liquids. # It extends the NXmpes application definition by metadata for characterizing liquidjet composition From 681d4c6ce6166090bc92869dea4655626e6f2d04 Mon Sep 17 00:00:00 2001 From: Lukas Pielsticker <50139597+lukaspie@users.noreply.github.com> Date: Fri, 12 Jul 2024 12:58:45 +0200 Subject: [PATCH 13/14] fix mpes-structure.rst --- manual/source/mpes-structure.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/manual/source/mpes-structure.rst b/manual/source/mpes-structure.rst index f55c8297a2..6fce820a7d 100644 --- a/manual/source/mpes-structure.rst +++ b/manual/source/mpes-structure.rst @@ -35,5 +35,5 @@ Here's a list of application definitions related to photoemission spectroscopy: :ref:`NXxps`: An application definition for XPS/UPS measurements. - :ref:`NXmpes_liquid`: - An application definition for MPES measurements with liquids (jets) + :ref:`NXmpes_liquid`: + An application definition for MPES measurements with liquids (jets) From 511d7551660849ff76be7a31e3acd7db8c5b8d99 Mon Sep 17 00:00:00 2001 From: rettigl Date: Tue, 10 Sep 2024 10:29:07 +0200 Subject: [PATCH 14/14] change sample enviroments to NXenvironment --- contributed_definitions/NXmpes_liquid.nxdl.xml | 8 ++++---- contributed_definitions/nyaml/NXmpes_liquid.yaml | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/contributed_definitions/NXmpes_liquid.nxdl.xml b/contributed_definitions/NXmpes_liquid.nxdl.xml index fbc70e68b7..8f09c7d7c1 100644 --- a/contributed_definitions/NXmpes_liquid.nxdl.xml +++ b/contributed_definitions/NXmpes_liquid.nxdl.xml @@ -94,7 +94,7 @@ (users are encouraged to expand on that in group history/sample_preparation). - + The temperature set for the liquid jet or the injection assembly. Details may be added through instances of NXsensor/NXactuator the how this temperature @@ -102,13 +102,13 @@ etc.) and where this value would be expected (estimate for the jet assembly, the liquid prior to injection, or at the interaction point taking into account evaporative cooling etc.). - - + + Pressure in the interaction chamber under operation conditions and actuators/sensors controlling/measuring it. - + Connects this liquidjet to its transformation chain. diff --git a/contributed_definitions/nyaml/NXmpes_liquid.yaml b/contributed_definitions/nyaml/NXmpes_liquid.yaml index 16507ca052..e9ea5ede64 100644 --- a/contributed_definitions/nyaml/NXmpes_liquid.yaml +++ b/contributed_definitions/nyaml/NXmpes_liquid.yaml @@ -55,7 +55,7 @@ NXmpes_liquid(NXmpes): doc: | Material the microjet nozzle is made of (users are encouraged to expand on that in group history/sample_preparation). - temperature_env(NX_NUMBER): + temperature_env(NXenvironment): exists: optional doc: | The temperature set for the liquid jet or the injection assembly. @@ -63,7 +63,7 @@ NXmpes_liquid(NXmpes): value is obtained (whether a chiller unit was used, point of cooling, temperature reading etc.) and where this value would be expected (estimate for the jet assembly, the liquid prior to injection, or at the interaction point taking into account evaporative cooling etc.). - gas_pressure_env(NX_NUMBER): + gas_pressure_env(NXenvironment): exists: optional doc: | Pressure in the interaction chamber under operation conditions and actuators/sensors