diff --git a/Makefile b/Makefile index eefdcb3a9b..3a882c2568 100644 --- a/Makefile +++ b/Makefile @@ -114,7 +114,7 @@ nyaml: # NeXus - Neutron and X-ray Common Data Format # -# Copyright (C) 2008-2022 NeXus International Advisory Committee (NIAC) +# Copyright (C) 2008-2024 NeXus International Advisory Committee (NIAC) # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public diff --git a/README.md b/README.md index 5a0a9e734d..2cbd2241f7 100755 --- a/README.md +++ b/README.md @@ -7,13 +7,13 @@ ## NeXus definition developers -After making a change to the NeXus class definitions there are two important checks -to be made before commiting the change: +After making a change to the NeXus class definitions, there are two essential checks +to be made before committing the change: - 1. check whether the change does not violate any syntax rules - 2. verify whether the change looks as intended in the HTML documentation + 1. Check whether the change does not violate any syntax rules + 2. Verify whether the change looks as intended in the HTML documentation -First install the test and build requirements with this command (only run once) +First, install the test and build requirements with this command (only run once) make install @@ -21,58 +21,55 @@ Then verify syntax and build the HTML manual with this command make local -Open the HTML manual in a web brower for visual verification +Open the HTML manual in a web browser for visual verification firefox build/manual/build/html/index.html ### HTML pages with contributor information -To build the html pages that contains contributor information on the sidebar set a github access token to an environment variable called GH_TOKEN. +To build the HTML pages that contain contributor information on the sidebar, set a GitHub access token to an environment variable called GH_TOKEN. -Note: If set this will increase the build time of the documentation by approximately a factor of 4. +Note: If set, this will increase the build time of the documentation by approximately a factor of 4. setenv GH_TOKEN -### Working with nyaml files +### Working with `nyaml` files -There exists a simplified format of nxdl, which is called nyaml. -There is a [tool](https://github.com/FAIRmat-NFDI/nyaml) (`nyaml2nxdl`) available to convert between nxdl and nyaml. -This tool is already installed when you installed the requirements for this repository and it is conveniently available from the make command. +A simplified format of `nxdl` is called `nyaml`. +A [tool](https://github.com/FAIRmat-NFDI/nyaml) (`nyaml2nxdl`) is available to convert between `nxdl` and `nyaml`. +The tool was already installed when you installed the requirements for this repository, and it is conveniently available from the `make` command. -You can build nyaml files for all nxdl files with invoking +You can build `nyaml` files for all `nxdl` files with invoking: make nyaml -which will created `.yaml` files in a subfolder called `nyaml` in the respective directory. - -From this you can do your changes and create nxdl files with +which will create `.yaml` files in a subfolder called `nyaml` in the respective directory. From this, you can make your changes and create `nxdl` files with make nxdl -from the yaml files. +from the `.yaml` files. ## Repository content -These are the components that define the structure of NeXus data files -in the development directory. - -component | description --------------------------------|------------------------ -[CHANGES.rst](CHANGES.rst) | Change History -[LGPL.txt](LGPL.txt) | one proposed license model -[NXDL_VERSION](NXDL_VERSION) | the current NXDL version number -[README.md](README.md) | this file -applications/ | NXDL files for applications and instrument defs -base_classes/ | NXDL files for components -contributed_definitions/ | NXDL files from the community -impatient-guide/ | *NeXus for the Impatient* -jenkins_build | configuration for Jenkins continuous integration service -legacy_docs/ | legacy PDF copies of the NeXus definitions documentation -manual/ | Sphinx source files for the NeXus documentation -[nxdl.xsd](nxdl.xsd) | XML Schema for NXDL files -[nxdlTypes.xsd](nxdlTypes.xsd) | called by nxdl.xsd -package/ | directory for packaging this content -utils/ | various tools used in the definitions tree -www/ | launch (home) page of NeXus WWW site -xslt/ | various XML stylesheet transformations -dev_tools/ | developer tools for testing and building \ No newline at end of file +These components define the structure of NeXus data files in the development directory. + +| Component | Description | +| ------------------------------ | -------------------------------------------------------- | +| [CHANGES.rst](CHANGES.rst) | Change History | +| [LGPL.txt](LGPL.txt) | one proposed license model | +| [NXDL_VERSION](NXDL_VERSION) | the current NXDL version number | +| [README.md](README.md) | this file | +| applications/ | NXDL files for applications and instrument defs | +| base_classes/ | NXDL files for components | +| contributed_definitions/ | NXDL files from the community | +| impatient-guide/ | *NeXus for the Impatient* | +| jenkins_build | configuration for Jenkins continuous integration service | +| legacy_docs/ | legacy PDF copies of the NeXus definitions documentation | +| manual/ | Sphinx source files for the NeXus documentation | +| [nxdl.xsd](nxdl.xsd) | XML Schema for NXDL files | +| [nxdlTypes.xsd](nxdlTypes.xsd) | called by nxdl.xsd | +| package/ | directory for packaging this content | +| utils/ | various tools used in the definitions tree | +| www/ | launch (home) page of NeXus WWW site | +| xslt/ | various XML stylesheet transformations | +| dev_tools/ | developer tools for testing and building | \ No newline at end of file diff --git a/applications/NXarchive.nxdl.xml b/applications/NXarchive.nxdl.xml index 79b41857b1..6f0de71726 100644 --- a/applications/NXarchive.nxdl.xml +++ b/applications/NXarchive.nxdl.xml @@ -3,7 +3,7 @@ + + + + The symbol(s) listed here will be used below to coordinate datasets with the same shape. + + + Number of energy data points + + + Number of electronic transitions + + + + This is an application definition for X-ray absorption spectroscopy. + + + + Official NeXus NXDL schema to which this file conforms. TODO: replace NXxas + + + + + + + + + + TODO + + + + + TODO total or partial fluorescence yield + + + + + TODO high energy resolution fluorescence detected + + + + + TODO total or partial electron yield + + + + + TODO + + + + + TODO + + + + + TODO + + + + + TODO + + + + + TODO + + + + + TODO + + + + + + Excited element + + + + Excited electron level + + + + + Emission lines relevant when :ref:`mode </NXxas_new/ENTRY/mode-field>` is + `fluorescence yield` or `herfd`. + + The emission lines are described as a list of names of the form + *"INITIAL-FINAL"* where *INITAL* and *FINAL* are electron levels + as listed for :ref:`here </NXxray_level/name-field>`. + + + + + + + TODO + + + + + + TODO + + + + + + TODO + + + + + + + Descriptive name of the sample + + + + + Description on how :ref:`energy </NXxas_new/ENTRY/energy-field>` + and :ref:`intensity </NXxas_new/ENTRY/intensity-field>` were obtained + from the raw data. + + + + + + + + + + + + + + + + + + + + + spacing between crystal planes of the reflection + + + Type or material of monochromating substance (Si, Ge, Multilayer). + + + Miller indices (hkl) values of nominal reflection + + + + + + + + + + + + + + + + + + + + + XAS intensity versus energy plot + + + + + + Table like data structure common in the XAS domain. + + + + + + + + + + + + + + + + + + + diff --git a/applications/NXxasproc.nxdl.xml b/applications/NXxasproc.nxdl.xml index 7f462bd2ac..5fdae6d4c8 100644 --- a/applications/NXxasproc.nxdl.xml +++ b/applications/NXxasproc.nxdl.xml @@ -3,7 +3,7 @@ + + Definition of a chemical element. + + + For each symbol, 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 + + + + The charge number *Z* of the atomic nucleus. + + + + *Relative atomic mass* of the element in *amu*. It can be but is not restricted to the + *standard atomic weight* (using the natural abundance of isotopes). + + + + The charge of the atom after ionic approximation of its heteronuclear bonds. + + diff --git a/base_classes/NXentry.nxdl.xml b/base_classes/NXentry.nxdl.xml index 2bb4ca533e..7c2950340b 100755 --- a/base_classes/NXentry.nxdl.xml +++ b/base_classes/NXentry.nxdl.xml @@ -3,7 +3,7 @@