Skip to content
This repository was archived by the owner on Oct 24, 2024. It is now read-only.

Commit f50f1a0

Browse files
authored
Terminology (#174)
* terminology page * added to index * whatsnew * clarifications
1 parent f2fbf44 commit f50f1a0

File tree

3 files changed

+36
-0
lines changed

3 files changed

+36
-0
lines changed

docs/source/index.rst

+1
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ Datatree
1414
Data Model <data-structures>
1515
Reading and Writing Files <io>
1616
API Reference <api>
17+
Terminology <terminology>
1718
How do I ... <howdoi>
1819
Contributing Guide <contributing>
1920
Development Roadmap <roadmap>

docs/source/terminology.rst

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
.. currentmodule:: datatree
2+
.. _terminology:
3+
4+
This page extends `xarray's page on terminology <https://docs.xarray.dev/en/stable/user-guide/terminology.html>`_.
5+
6+
Terminology
7+
===========
8+
9+
.. glossary::
10+
11+
DataTree
12+
A tree-like collection of ``Dataset`` objects. A *tree* is made up of one or more *nodes*,
13+
each of which can store the same information as a single ``Dataset`` (accessed via `.ds`).
14+
This data is stored in the same way as in a ``Dataset``, i.e. in the form of data variables
15+
(see **Variable** in the `corresponding xarray terminology page <https://docs.xarray.dev/en/stable/user-guide/terminology.html>`_),
16+
dimensions, coordinates, and attributes.
17+
18+
The nodes in a tree are linked to one another, and each node is it's own instance of ``DataTree`` object.
19+
Each node can have zero or more *children* (stored in a dictionary-like manner under their corresponding *names*),
20+
and those child nodes can themselves have children.
21+
If a node is a child of another node that other node is said to be its *parent*. Nodes can have a maximum of one parent,
22+
and if a node has no parent it is said to be the *root* node of that *tree*.
23+
24+
Subtree
25+
A section of a *tree*, consisting of a *node* along with all the child nodes below it
26+
(and the child nodes below them, i.e. all so-called *descendant* nodes).
27+
Excludes the parent node and all nodes above.
28+
29+
Group
30+
Another word for a subtree, reflecting how the hierarchical structure of a ``DataTree`` allows for grouping related data together.
31+
Analogous to a single
32+
`netCDF group <https://www.unidata.ucar.edu/software/netcdf/workshops/2011/groups-types/GroupsIntro.html>`_ or
33+
`Zarr group <https://zarr.readthedocs.io/en/stable/tutorial.html#groups>`_.

docs/source/whats-new.rst

+2
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,8 @@ Documentation
5858
By `Tom Nicholas <https://github.com/TomNicholas>`_.
5959
- Changed docs theme to match xarray's main documentation. (:pull:`173`)
6060
By `Tom Nicholas <https://github.com/TomNicholas>`_.
61+
- Added ``Terminology`` page. (:pull:`174`)
62+
By `Tom Nicholas <https://github.com/TomNicholas>`_.
6163

6264
Internal Changes
6365
~~~~~~~~~~~~~~~~

0 commit comments

Comments
 (0)