Skip to content

Commit adf2578

Browse files
committed
Update workflow1_framework.rst
1 parent cd9b1fe commit adf2578

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

docs/workflow1_framework.rst

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,20 +11,23 @@ XSO was developed as the technical foundation of the `Phydra library <https://gi
1111
Building blocks
1212
===============
1313

14-
The XSO framework is built around these concepts:
14+
The XSO framework is built around the following concepts:
1515

1616
* Model data (setup and output)
1717
* Model objects
1818
* Components
1919
* Variable types
2020

21-
The XSO framework provides several *variable types*, which directly correspond to the basic terms of models based on ordinary differential equations, e.g., state variables, parameters, forcing, and mathematical terms (here called *fluxes*) building the system of equations.
21+
The XSO framework provides several *variable types*, which directly correspond state variables, parameters, forcing, and mathematical terms (here called *fluxes*), that together build the system of equations.
2222

23-
Every aspect of the model needs to be defined at the level of *variable types*. Model *components* can be flexibly constructed from the provided set of *variable types* and wrap a logical component of the model as users see fit. These components can then be modularly assembled to a *model object*, which defines the model structure.
23+
Model *components* can be constructed as compact Python classes from the provided set of *variable types* and wrap a logical component of the model as the user sees fit.
2424

25-
The *model object* is then used to create a *model setup* dataset, which contains all relevant information needed at runtime, such as the solver algorithm to be used, as well as time steps and model parameterization. With both the *model object* and the corresponding *model setup*, the model can be exectued. Output is returned as an Xarray dataset with all metadata, which can be easily stored and shared.
25+
One or more of these *components* can then be assembled to a *model object*, which defines the model structure. Components can interact with each other via the *variable types* and the labels supplied at *model setup*.
26+
27+
The *model setup* dataset contains all relevant information needed at runtime, such as the solver algorithm to be used, as well as time steps and model parameterization. State variables, forcing and parameters need to be initialized in one *component*, but can be referenced across the model (using the :code:`foreign=True` argument). The system of differential equations is constructed from the *fluxes* contained in the model *components* via the supplied labels at model setup.
28+
29+
With both the *model object* and the corresponding *model setup*, the model can be executed. Both *model setup* and the output is returned as an Xarray dataset with all metadata, which can be easily stored and shared.
2630

27-
State variables, forcing and parameters need to be initialized in one *component*, but can be referenced across the model (using the :code:`foreign=True` argument). The system of differential equations is constructed from the *fluxes* contained in the model *components* via the supplied labels at model setup.
2831

2932
Variable types
3033
______________

0 commit comments

Comments
 (0)