Skip to content

Commit e94a157

Browse files
committed
Describe architecture of operators, recipes, and loaders
1 parent f9da9e7 commit e94a157

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

docs/source/contributing/architecture.rst

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,34 @@ The architecture of CSET.
66
Operators
77
---------
88

9+
Operators provide the core functionality of CSET. Each operator is a function
10+
that takes some input and returns some output, possibly also producing side
11+
effects like saving plots.
12+
13+
All of the operators in CSET are contained in modules in
14+
``src/CSET/operators/``, which group related operators. For example ``plot.py``
15+
contains various plotting operators.
16+
917
Recipes
1018
-------
1119

20+
To produce a diagnostic, operators must be combined with recipes, which are YAML
21+
files containing a graph of operators to execute, along with any needed
22+
arguments and a bit of metadata.
23+
24+
The included recipes in CSET can be found in ``src/CSET/recipes/``.
25+
26+
A recipe may optionally contain variables, such as ``$VARIABLE``, which is
27+
replaced by a value provided on the command line or by a loader.
28+
1229
Loaders
1330
-------
1431

32+
Loaders load recipes for use in the workflow, filling in any variables from the
33+
configuration provided in the ``rose-suite.conf``.
34+
35+
The included recipes in CSET can be found in ``src/CSET/recipes/loaders/``.
36+
1537
Workflow
1638
--------
1739

0 commit comments

Comments
 (0)