From e4a14b1c08c2b776a2f1ab0070270cc8f1bd8b14 Mon Sep 17 00:00:00 2001 From: Matthew Newville Date: Tue, 20 Jun 2023 17:05:58 -0500 Subject: [PATCH 1/9] add base class for X-ray edge and element for describing X-ray absorption and resonance measurements --- base_classes/NXxrayedge.nxdl.xml | 191 +++++++++++++++++++++++++++++++ 1 file changed, 191 insertions(+) create mode 100644 base_classes/NXxrayedge.nxdl.xml diff --git a/base_classes/NXxrayedge.nxdl.xml b/base_classes/NXxrayedge.nxdl.xml new file mode 100644 index 0000000000..1e33c51c13 --- /dev/null +++ b/base_classes/NXxrayedge.nxdl.xml @@ -0,0 +1,191 @@ + + + + + + absorbing or resonant element + electronic level + + Element and electronic level probed in X-ray spectroscopy or resonance experiment. + + + Symbol of the absorbing or resonant element + For each, the atomic number, common English name, and standard atomic weight are also given. + + + Z=1, name="hydrogen", standard_atomic_weight=1.0078 + Z=2, name="helium", standard_atomic_weight=4.0026 + Z=3, name="lithium", standard_atomic_weight=6.94 + Z=4, name="beryllium", standard_atomic_weight=9.0122 + Z=5, name="boron", standard_atomic_weight=10.81 + Z=6, name="carbon", standard_atomic_weight=12.011 + Z=7, name="nitrogen", standard_atomic_weight=14.007 + Z=8, name="oxygen", standard_atomic_weight=15.999 + Z=9, name="fluorine", standard_atomic_weight=18.9984 + Z=10, name="neon", standard_atomic_weight=20.1797 + Z=11, name="sodium", standard_atomic_weight=22.9898 + Z=12, name="magnesium", standard_atomic_weight=24.305 + Z=13, name="aluminum", standard_atomic_weight=26.9815 + Z=14, name="silicon", standard_atomic_weight=28.085 + Z=15, name="phosphorus", standard_atomic_weight=30.9738 + Z=16, name="sulfur", standard_atomic_weight=32.06 + Z=17, name="chlorine", standard_atomic_weight=35.453 + Z=18, name="argon", standard_atomic_weight=39.948 + Z=19, name="potassium", standard_atomic_weight=39.0983 + Z=20, name="calcium", standard_atomic_weight=40.078 + Z=21, name="scandium", standard_atomic_weight=44.9559 + Z=22, name="titanium", standard_atomic_weight=47.867 + Z=23, name="vanadium", standard_atomic_weight=50.9415 + Z=24, name="chromium", standard_atomic_weight=51.996 + Z=25, name="manganese", standard_atomic_weight=54.938 + Z=26, name="iron", standard_atomic_weight=55.845 + Z=27, name="cobalt", standard_atomic_weight=58.9332 + Z=28, name="nickel", standard_atomic_weight=58.6934 + Z=29, name="copper", standard_atomic_weight=63.546 + Z=30, name="zinc", standard_atomic_weight=65.38 + Z=31, name="gallium", standard_atomic_weight=69.72 + Z=32, name="germanium", standard_atomic_weight=72.63 + Z=33, name="arsenic", standard_atomic_weight=74.9216 + Z=34, name="selenium", standard_atomic_weight=78.971 + Z=35, name="bromine", standard_atomic_weight=79.904 + Z=36, name="krypton", standard_atomic_weight=83.798 + Z=37, name="rubidium", standard_atomic_weight=85.4678 + Z=38, name="strontium", standard_atomic_weight=87.62 + Z=39, name="yttrium", standard_atomic_weight=88.9058 + Z=40, name="zirconium", standard_atomic_weight=91.224 + Z=41, name="niobium", standard_atomic_weight=92.9064 + Z=42, name="molybdenum", standard_atomic_weight=95.95 + Z=43, name="technetium", standard_atomic_weight=97.907 + Z=44, name="ruthenium", standard_atomic_weight=101.07 + Z=45, name="rhodium", standard_atomic_weight=102.906 + Z=46, name="palladium", standard_atomic_weight=106.42 + Z=47, name="silver", standard_atomic_weight=107.868 + Z=48, name="cadmium", standard_atomic_weight=112.414 + Z=49, name="indium", standard_atomic_weight=114.818 + Z=50, name="tin", standard_atomic_weight=118.71 + Z=51, name="antimony", standard_atomic_weight=121.76 + Z=52, name="tellurium", standard_atomic_weight=127.6 + Z=53, name="iodine", standard_atomic_weight=126.905 + Z=54, name="xenon", standard_atomic_weight=131.293 + Z=55, name="cesium", standard_atomic_weight=132.905 + Z=56, name="barium", standard_atomic_weight=137.327 + Z=57, name="lanthanum", standard_atomic_weight=138.905 + Z=58, name="cerium", standard_atomic_weight=140.116 + Z=59, name="praseodymium", standard_atomic_weight=140.908 + Z=60, name="neodymium", standard_atomic_weight=144.242 + Z=61, name="promethium", standard_atomic_weight=145.0 + Z=62, name="samarium", standard_atomic_weight=150.36 + Z=63, name="europium", standard_atomic_weight=151.96 + Z=64, name="gadolinium", standard_atomic_weight=157.25 + Z=65, name="terbium", standard_atomic_weight=158.925 + Z=66, name="dysprosium", standard_atomic_weight=162.5 + Z=67, name="holmium", standard_atomic_weight=164.93 + Z=68, name="erbium", standard_atomic_weight=167.259 + Z=69, name="thulium", standard_atomic_weight=168.934 + Z=70, name="ytterbium", standard_atomic_weight=173.045 + Z=71, name="lutetium", standard_atomic_weight=174.967 + Z=72, name="hafnium", standard_atomic_weight=178.49 + Z=73, name="tantalum", standard_atomic_weight=180.948 + Z=74, name="tungsten", standard_atomic_weight=183.84 + Z=75, name="rhenium", standard_atomic_weight=186.207 + Z=76, name="osmium", standard_atomic_weight=190.23 + Z=77, name="iridium", standard_atomic_weight=192.217 + Z=78, name="platinum", standard_atomic_weight=195.084 + Z=79, name="gold", standard_atomic_weight=196.967 + Z=80, name="mercury", standard_atomic_weight=200.592 + Z=81, name="thallium", standard_atomic_weight=204.383 + Z=82, name="lead", standard_atomic_weight=207.2 + Z=83, name="bismuth", standard_atomic_weight=208.98 + Z=84, name="polonium", standard_atomic_weight=209.0 + Z=85, name="astatine", standard_atomic_weight=210.0 + Z=86, name="radon", standard_atomic_weight=222.0 + Z=87, name="francium", standard_atomic_weight=223.0 + Z=88, name="radium", standard_atomic_weight=226.0 + Z=89, name="actinium", standard_atomic_weight=227.0 + Z=90, name="thorium", standard_atomic_weight=232.038 + Z=91, name="protactinium", standard_atomic_weight=231.036 + Z=92, name="uranium", standard_atomic_weight=238.029 + Z=93, name="neptunium", standard_atomic_weight=237.048 + Z=94, name="plutonium", standard_atomic_weight=239.052 + Z=95, name="americium", standard_atomic_weight=243.0 + Z=96, name="curium", standard_atomic_weight=247.0 + Z=97, name="berkelium", standard_atomic_weight=247.0 + Z=98, name="californium", standard_atomic_weight=251.0 + Z=99, name="einsteinium", standard_atomic_weight=252 + Z=100, name="fermium", standard_atomic_weight=257 + Z=101, name="mendelevium", standard_atomic_weight=258 + Z=102, name="nobelium", standard_atomic_weight=259 + Z=103, name="lawrencium", standard_atomic_weight=266 + Z=104, name="rutherfordium", standard_atomic_weight=267 + Z=105, name="dubnium", standard_atomic_weight=268 + Z=106, name="seaborgium", standard_atomic_weight=269 + Z=107, name="bohrium", standard_atomic_weight=270 + Z=108, name="hassium", standard_atomic_weight=269 + Z=109, name="meitnerium", standard_atomic_weight=278 + Z=110, name="darmstadtium", standard_atomic_weight=281 + Z=111, name="roentgenium", standard_atomic_weight=282 + Z=112, name="copernicium", standard_atomic_weight=285 + Z=113, name="nihonium", standard_atomic_weight=286 + Z=114, name="flerovium", standard_atomic_weight=289 + Z=115, name="moscovium", standard_atomic_weight=290 + Z=116, name="livermorium", standard_atomic_weight=293 + Z=117, name="tennessine", standard_atomic_weight=294 + Z=118, name="oganesson", standard_atomic_weight=294 + + + + + IUPAC symbol of the electronic level. + For each level, the electronic orbital configuration is also given + + + 1s + 2p_{3/2} + 2p_{1/2} + 2s + 3d_{5/2} + 3d_{3/2} + 3p_{3/2} + 3p_{1/2} + 3s + 4f_{7/2} + 4f_{5/2} + 4d_{5/2} + 4d_{3/2} + 4p_{3/2} + 4p_{1/2} + 4s + 5f_{7/2} + 5f_{5/2} + 5d_{5/2} + 5d_{3/2} + 5p_{3/2} + 5p_{1/2} + 5s + 6p_{3/2} + 6p_{1/2} + 6s + + + + description of X-ray absorption edge + + + + .. index:: plotting + + Declares which child group contains a path leading + to a :ref:`NXdata` group. + + It is recommended (as of NIAC2014) to use this attribute + to help define the path to the default dataset to be plotted. + See https://www.nexusformat.org/2014_How_to_find_default_data.html + for a summary of the discussion. + + + From 2406afc98209414f95d17de359d1d7bc7337d9d0 Mon Sep 17 00:00:00 2001 From: Peter Chang Date: Wed, 21 Jun 2023 08:21:20 +0100 Subject: [PATCH 2/9] Fix reference with missing backticks (#1290) --- base_classes/NXbeam.nxdl.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/base_classes/NXbeam.nxdl.xml b/base_classes/NXbeam.nxdl.xml index 232a75e46d..688b49c551 100644 --- a/base_classes/NXbeam.nxdl.xml +++ b/base_classes/NXbeam.nxdl.xml @@ -265,7 +265,7 @@ The NeXus coordinate system defines the Z axis to be along the nominal beam - direction. This is the same as the McStas coordinate system (see :ref:Design-CoordinateSystem). + direction. This is the same as the McStas coordinate system (see :ref:`Design-CoordinateSystem`). However, the additional transformations needed to represent an altered beam direction can be provided using this depends_on field that contains the path to a NXtransformations group. This could represent redirection of the beam, From 0cd1c75f17bf8a1f2cacde17b3e30da6b28fd6ef Mon Sep 17 00:00:00 2001 From: Peter Chang Date: Wed, 21 Jun 2023 08:22:01 +0100 Subject: [PATCH 3/9] Add favicon to HTML pages of manual (#1256) --- common/favicon.ico | Bin 0 -> 2238 bytes impatient-guide/conf.py | 2 +- impatient-guide/favicon.ico | Bin 2494 -> 0 bytes manual/source/conf.py | 5 +++++ 4 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 common/favicon.ico delete mode 100644 impatient-guide/favicon.ico diff --git a/common/favicon.ico b/common/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..c8e69d204bec19a03aa349dc8512300568c042ed GIT binary patch literal 2238 zcmeH{TTqQr6vux_H}`9~E0>CpTjW~qLaK8*s8ocGv#AI%lIxHcM((Bu4-6?YYN~Pf zkQu6R_mFCsW|GSoHRMc8OBYH>UN?+TULP-(G9)Z|#{6?BsEGM@DC|oWT|F z78i*?aZUe|g%HY8yAVR`LJ74GBdomvgM$%+qY#47+$NI&J^{bVJZw)k98~E}42aS!5G&MER+}un{OUs|G zuuX64z+ZR3?yocdkHnEmvu^sw1S&lBP&doMDUZ@V5J?|U!q0yUpLKG zpr6EQmKKarJz<#a726f2s)?HB7RAf34IiwAsJhfuE4935);$ literal 0 HcmV?d00001 diff --git a/impatient-guide/conf.py b/impatient-guide/conf.py index 0bedf1bde0..5b25e6f16e 100644 --- a/impatient-guide/conf.py +++ b/impatient-guide/conf.py @@ -117,7 +117,7 @@ # The name of an image file (within the static path) to use as favicon of the # docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 # pixels large. -html_favicon = 'favicon.ico' +html_favicon = "../../common/favicon.ico" # Add any paths that contain custom static files (such as style sheets) here, # relative to this directory. They are copied after the builtin static files, diff --git a/impatient-guide/favicon.ico b/impatient-guide/favicon.ico deleted file mode 100644 index 064181b36adcb9101f157ac1762d1b896a2a2ec4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2494 zcmeHITTc@~7(J8a)`2B~hxSElqiNtlYYZ~6EkO7u5`k;I0U*e|UcMrH z#rYy=<2$!zc^uvA^*UBM?jqTKA0OHuV2wWJD*-d`1nD-0Y~U%@TPNYPJ;O%xG^~~x zSWUAiw$7j&n1$W6fJ)0tR00dg(pgw^9u8l*&N*1!^RR*o$agHE*tCdh^K00hi*UN$ zpwzVtyPNyLC2R(hsDzf`TzHGZ#dokHOK>i)VCzy6b}R{}_dPbRr%(&0QM;1H$DR~+ zde*Uhbsc-xvT*uVVfU}1d@~JaFoo)XiRz$Y zerVy7VWBo|B3)6?aIHo=AwVG)c;!hC+RQx<-iR5z)M&xOwG0P*GLc zTK7(YE7T>aQ=X-|g^h4H?2SN~MkNQ2itO9iDc3``lA|^N&!HhI2yxRn@sp;ivO34T wk&nm3RR3+<^7{ON`%1BpugS3h!)vO?Vp^;bdo1LiJ@Ehky7<94KhH*o-$j6kasU7T diff --git a/manual/source/conf.py b/manual/source/conf.py index 51b35e4bb3..6b584d6da5 100644 --- a/manual/source/conf.py +++ b/manual/source/conf.py @@ -88,6 +88,11 @@ ], } +# The name of an image file (within the static path) to use as favicon of the +# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32 +# pixels large. +html_favicon = "../../../common/favicon.ico" + # Output file base name for HTML help builder. htmlhelp_basename = 'NeXusManualdoc' From 522407179aba12c567fb2a684c12f4b63862f8fb Mon Sep 17 00:00:00 2001 From: woutdenolf Date: Tue, 20 Jun 2023 23:22:26 +0200 Subject: [PATCH 4/9] XML errors: make file and line more clear --- dev_tools/nxdl/syntax.py | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/dev_tools/nxdl/syntax.py b/dev_tools/nxdl/syntax.py index e5b37b657e..f3959654c3 100644 --- a/dev_tools/nxdl/syntax.py +++ b/dev_tools/nxdl/syntax.py @@ -1,3 +1,4 @@ +from contextlib import contextmanager from typing import Optional import lxml.etree @@ -16,13 +17,19 @@ def validate_definition( xml_schema: Optional[lxml.etree.XMLSchema] = None, ): xml_file_name = str(xml_file_name) - try: + with _handle_xml_error(xml_file_name, lxml.etree.XMLSyntaxError): xml_tree = lxml.etree.parse(xml_file_name) - except lxml.etree.XMLSyntaxError: - raise errors.XMLSyntaxError(xml_file_name) if xml_schema is None: xml_schema = nxdl_schema() - try: + with _handle_xml_error(xml_file_name, lxml.etree.DocumentInvalid): xml_schema.assertValid(xml_tree) - except lxml.etree.DocumentInvalid: - raise errors.NXDLSyntaxError(xml_file_name) + + +@contextmanager +def _handle_xml_error(xml_file_name: str, *exception_types): + try: + yield + except exception_types as e: + raise errors.XMLSyntaxError( + "\n " + "\n ".join([xml_file_name] + str(e).rsplit(":", 1)) + ) from e From 1701c6e2c1b5f3a849cbd4986fea83587958ad04 Mon Sep 17 00:00:00 2001 From: Peter Chang Date: Wed, 21 Jun 2023 13:53:45 +0100 Subject: [PATCH 5/9] Fix deployment in CI (#1294) Remove repeated sphinx build and deploy with single action --- .github/workflows/ci.yaml | 24 +++++++----------------- 1 file changed, 7 insertions(+), 17 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 2887bd0ea3..0921871155 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -76,6 +76,8 @@ jobs: run: | make impatient-guide ls -lAFgh build/impatient-guide/build/html/index.html + mkdir -p build/deploy + mv build/impatient-guide/build/html build/deploy/impatient ls -lAFgh build/impatient-guide/build/latex/NXImpatient.pdf - name: Build User Manual @@ -83,25 +85,13 @@ jobs: make pdf make html ls -lAFgh build/manual/build/html/index.html + mkdir -p build/deploy + mv build/manual/build/html/* build/deploy ls -lAFgh build/manual/build/latex/nexus.pdf - - name: Build and Commit the User Manual - if: ${{ github.event.inputs.deploy && env.python_version == env.python_deploy_version }} - uses: sphinx-notes/pages@v3 - with: - # path to the conf.py directory - documentation_path: build/manual/source - - - name: Build and Commit the Impatient Guide - if: ${{ github.event.inputs.deploy && env.python_version == env.python_deploy_version }} - uses: sphinx-notes/pages@v3 - with: - # path to the conf.py directory - documentation_path: build/impatient-guide - - name: Deploy both the User Manual and the Impatient Guide if: ${{ github.event.inputs.deploy && env.python_version == env.python_deploy_version }} - uses: ad-m/github-push-action@master + uses: JamesIves/github-pages-deploy-action@v4 with: - github_token: ${{ secrets.GITHUB_TOKEN }} - branch: gh-pages + token: ${{ secrets.GITHUB_TOKEN }} + folder: build/deploy From 47372816a8cac010683e3bf4c63587c335aade0c Mon Sep 17 00:00:00 2001 From: Paulo Baraldi Mausbach Date: Wed, 21 Jun 2023 14:22:08 -0300 Subject: [PATCH 6/9] NXbeam: clarify how beams can be in either sample or instrument groups (#1283) Add documentation about cases where NXbeam is defined as a subgroup directly inside a NXinstruments group. --- base_classes/NXbeam.nxdl.xml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/base_classes/NXbeam.nxdl.xml b/base_classes/NXbeam.nxdl.xml index 688b49c551..c60e570acb 100644 --- a/base_classes/NXbeam.nxdl.xml +++ b/base_classes/NXbeam.nxdl.xml @@ -48,7 +48,10 @@ especially valuable in storing the results of instrument simulations in which it is useful to specify the beam profile, time distribution etc. at each beamline component. Otherwise, its most likely use is in the :ref:`NXsample` group in which it defines the results of the neutron - scattering by the sample, e.g., energy transfer, polarizations. + scattering by the sample, e.g., energy transfer, polarizations. Finally, There are cases where the beam is + considered as a beamline component and this group may be defined as a subgroup directly inside + :ref:`NXinstrument`, in which case it is recommended that the position of the beam is specified by an + :ref:`NXtransformations` group, unless the beam is at the origin (which is the sample). Note that incident_wavelength and related fields can be a scalar values or arrays, depending on the use case. To support these use cases, the explicit dimensionality of these fields is not specified, but it can be inferred From a174658dfd6e7fcc77440a05b987508e3729bcb9 Mon Sep 17 00:00:00 2001 From: Peter Chang Date: Wed, 21 Jun 2023 18:25:51 +0100 Subject: [PATCH 7/9] Link to NAPI manual directly (#1298) Remove copying in build and download functions. Fixes #1296 Remove unused import --- dev_tools/apps/manual_app.py | 18 ------------------ dev_tools/utils/copy.py | 20 -------------------- manual/source/design.rst | 2 +- manual/source/introduction-napi.rst | 2 +- 4 files changed, 2 insertions(+), 40 deletions(-) diff --git a/dev_tools/apps/manual_app.py b/dev_tools/apps/manual_app.py index 768332b58d..dfb2c1b824 100644 --- a/dev_tools/apps/manual_app.py +++ b/dev_tools/apps/manual_app.py @@ -8,7 +8,6 @@ from ..nxdl import validate_definition from ..utils.copy import copy_files from ..utils.copy import copydir -from ..utils.copy import download_files from ..utils.diff import diff_ascii from .nxclass_app import diff_nxclass_docs from .nxclass_app import save_nxclass_docs @@ -113,26 +112,9 @@ def manual_exec(args): print("generate anchor list files in", output_path) anchor_registry.write() copy_files(EXTRA_FILES) - download_files(EXTRA_URLS) # Path relative to source directory, # Path relative to build directory, # Overwrite (boolean) EXTRA_FILES = [["NXDL_VERSION", "NXDL_VERSION", True], ["LGPL.txt", "LGPL.txt", True]] - -# URL, -# Path relative to build directory, -# Overwrite (boolean) -EXTRA_URLS = [ - [ - "https://github.com/nexusformat/code/raw/master/doc/api/NeXusIntern.pdf", - "manual/source/_static/NeXusIntern.pdf", - False, - ], - [ - "https://github.com/nexusformat/code/raw/master/applications/NXtranslate/docs/NXtranslate.pdf", - "manual/source/_static/NXtranslate.pdf", - False, - ], -] diff --git a/dev_tools/utils/copy.py b/dev_tools/utils/copy.py index 472c4b4ad0..099dd8d759 100644 --- a/dev_tools/utils/copy.py +++ b/dev_tools/utils/copy.py @@ -3,8 +3,6 @@ from typing import List from typing import Tuple -import requests - from ..globals import directories @@ -20,14 +18,6 @@ def copydir(from_path: Path, to_path: Path) -> None: shutil.copytree(from_path, to_path, dirs_exist_ok=True) -def download(url: str, to_path: Path) -> None: - print("download", url) - print(" ->", to_path) - r = requests.get(url) - with open(to_path, "wb") as fh: - fh.write(r.content) - - def copy_files(files: List[Tuple[str, str, bool]]) -> None: source_root = directories.get_source_root() build_root = directories.get_build_root() @@ -38,13 +28,3 @@ def copy_files(files: List[Tuple[str, str, bool]]) -> None: copyfile(from_path, to_path) else: print("already exists", to_path) - - -def download_files(urls: List[Tuple[str, str, bool]]) -> None: - build_root = directories.get_build_root() - for url, subname, overwrite in urls: - to_path = build_root / subname - if overwrite or not to_path.exists(): - download(url, to_path) - else: - print("already exists", to_path) diff --git a/manual/source/design.rst b/manual/source/design.rst index 956b102f18..64cbdc5a90 100644 --- a/manual/source/design.rst +++ b/manual/source/design.rst @@ -412,7 +412,7 @@ a URL to a group in another file. More information about the ``@napimount`` attribute is described in the *NeXus Programmers Reference*. [#]_ -.. [#] https://manual.nexusformat.org/_static/NeXusIntern.pdf +.. [#] https://github.com/nexusformat/code/raw/master/doc/api/NeXusIntern.pdf .. index:: link; external file, NeXus link diff --git a/manual/source/introduction-napi.rst b/manual/source/introduction-napi.rst index fc3c3a2d2b..160de64a07 100644 --- a/manual/source/introduction-napi.rst +++ b/manual/source/introduction-napi.rst @@ -26,7 +26,7 @@ in the :ref:`NAPI ` chapter and may be downloaded from the NeXus development site. [#]_ For an even more detailed description of the internal workings of NAPI -see the `NeXus Internals manual `_, copied from the NeXus code repository. +see the `NeXus Internals manual `_, copied from the NeXus code repository. That document is written for programmers who want to work on the NAPI itself. If you are new to NeXus and just want to implement basic file reading or writing you should not start by reading that. From 99456b67fe03d9ae33b4b516f9ba6c8eba5a2de8 Mon Sep 17 00:00:00 2001 From: Matthew Newville Date: Thu, 22 Jun 2023 15:34:41 -0500 Subject: [PATCH 8/9] WIP: proposed update to NXxas definition --- applications/NXxas.nxdl.xml | 303 +++++++++++++++++++++++------------- 1 file changed, 199 insertions(+), 104 deletions(-) diff --git a/applications/NXxas.nxdl.xml b/applications/NXxas.nxdl.xml index 622393db45..7e31be5cce 100644 --- a/applications/NXxas.nxdl.xml +++ b/applications/NXxas.nxdl.xml @@ -2,9 +2,9 @@ - - - The symbol(s) listed here will be used below to coordinate datasets with the same shape. - - - Number of points - - + category="application" + xmlns="http://definition.nexusformat.org/nxdl/3.1" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://definition.nexusformat.org/nxdl/3.1 ../nxdl.xsd " + > + - This is an application definition for raw data from an X-ray absorption spectroscopy experiment. - - This is essentially a scan on energy versus incoming/ - absorbed beam. + The symbol(s) listed here will be used below to coordinate datasets with the same shape. - - - - NeXus convention is to use "entry1", "entry2", ... - for analysis software to locate each entry. - - - - - - Official NeXus NXDL schema to which this file conforms - - - + + Number of points + + + + This is an application definition for raw data from an X-ray absorption spectroscopy experiment. + + This is essentially a scan on energy versus incoming/ + absorbed beam. + + + + + NeXus convention is to use "entry1", "entry2", ... + for analysis software to locate each entry. + + + + + + Official NeXus NXDL schema to which this file conforms + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - This data corresponds to the sample signal. - - - - - - - - - Descriptive name of sample - - - - - - Count to a preset value based on either clock time (timer) - or received monitor counts (monitor). - - - - - - - - preset value for time or monitor - - - This field could be a link to ``/NXentry/NXinstrument/incoming_beam:NXdetector/data`` - - - - - - - - - - Detection method used for observing the sample absorption (pick one from the enumerated list and spell exactly) - - - - - - - + + + + A monochromator selects the X-ray beam energy. An XAS + dataset will use an array of floats to represent the energy, + typically in units of eV, but occassionally and acceptably in + units of keV or degrees (angle of monochromator crystal). + + The crystal should be specied, including chemical formula, miller + indices, and preferrably stating the d-spacing used to convert + between angle and energy. + + + + + + + + + units used for monochromator energy. Choices are in the list. + + + + + + + + + + + Crystal used for monochromator: + chemical_formula, d_spacing, and reflection should be specified + + + + spacing between crystal planes of the reflection, in Angstroms + + + Miller indices (hkl) values of nominal reflection + + + + monitoring the intensity of the incident beam. + + + + + + + + + monitoring the intensity of the transmitted beam. + + + + + + + + + monitoring the intensity of the fluorescence or emitted beam. + + + + + + + Type of fluorescence or emission signal detected (pick one from enumerated list) + + + + + + + + + + + + monitoring the intensity of the reference channel beam + + + + + + + Type of reference channel used (pick one from enumerated list) + + + + + + + + + + + + Descriptive name of sample + + + + + + description of the energy scan and detectors used + + + + + number of data points, or rows in the data table + + + number of detector channnels or columns in the data table + + + + + + + Whether scan of energy was continuous or step scan + + + + + + + raw data table + + + + + + + labels for columns in the raw data table + + + + + + + + + + + + + + + + + Detection method used for measuring absorption (pick one from the enumerated list) + + + + + + From 5580d6587020df7b79058ba89ad0c958e0ee8b68 Mon Sep 17 00:00:00 2001 From: Matthew Newville Date: Mon, 31 Jul 2023 13:38:27 -0500 Subject: [PATCH 9/9] fix typos --- applications/NXxas.nxdl.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/applications/NXxas.nxdl.xml b/applications/NXxas.nxdl.xml index 7e31be5cce..54265539e1 100644 --- a/applications/NXxas.nxdl.xml +++ b/applications/NXxas.nxdl.xml @@ -182,8 +182,8 @@ number of detector channnels or columns in the data table - - + + Whether scan of energy was continuous or step scan