From f8ee72f199dfc2bc5255e579f1b17c8db3cecbbe Mon Sep 17 00:00:00 2001 From: Peter Kraus Date: Wed, 20 Nov 2024 13:25:19 +0100 Subject: [PATCH] tomato_Component --- docs/source/usage.rst | 9 ++++++--- tests/test_99_example_counter.py | 1 - 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/docs/source/usage.rst b/docs/source/usage.rst index 623aedc..b9522b4 100644 --- a/docs/source/usage.rst +++ b/docs/source/usage.rst @@ -174,8 +174,8 @@ Each *job* stores its data and logs in its own *job* folder, which is a subfolde Note that a *pipeline* dashboard functionality is planned for a future version of ``tomato``. -Final job data -************** +Final job data and metadata +*************************** By default, all data in the *job* folder is processed to create a NetCDF file. The NetCDF files can be read using :func:`xaray.open_datatree`, returning a :class:`xarray.DataTree`. In the root node of the :class:`~xarray.DataTree`, the :obj:`attrs` dictionary contains all **tomato**-relevant metadata. This currently includes: @@ -183,7 +183,10 @@ In the root node of the :class:`~xarray.DataTree`, the :obj:`attrs` dictionary c - ``tomato_version`` which is the version of **tomato** used to create the NetCDF file, - ``tomato_Job`` which is the *job* object serialised as a json :class:`str`, containing the full *payload*, sample information, as well as *job* submission/execution/completion time. -The child nodes of the :class:`~xarray.DataTree` contain the actual data from each *pipeline* *component*, unit-annotated using the CF Metadata Conventions. The node names correspond to the ``role`` that *component* fullfils in a *pipeline*. The :obj:`attrs` dictionary of each node contains a ``tomato_Component`` entry, which is the *component* object serialised as a json :class:`str`, containing information about the *device* address and channel defining the *component* as well as its capabilities. +The child nodes of the :class:`~xarray.DataTree` contain: + +- the actual data from each *pipeline* *component*, unit-annotated using the CF Metadata Conventions. The node names correspond to the ``role`` that *component* fullfils in a *pipeline*. +- a ``tomato_Component`` entry in the :obj:`attrs` object, which is the *component* object serialised as a json :class:`str`, containing information about the *device* address and channel that define the *component*, the *driver* and *device* names, as well as the *component* capabilities. .. note:: diff --git a/tests/test_99_example_counter.py b/tests/test_99_example_counter.py index 92020ba..074423f 100644 --- a/tests/test_99_example_counter.py +++ b/tests/test_99_example_counter.py @@ -46,7 +46,6 @@ def test_counter_npoints_metadata( assert "tomato_Component" in ds.attrs - @pytest.mark.parametrize( "casename", [