@@ -123,12 +123,37 @@ This various parts of this directory structure are defined as:
123
123
124
124
In the ``configs `` directory, the ``ramble.yaml `` file is the primary workspace
125
125
configuration file. The definition for this file is documented in the
126
- :ref: `` workspace config documentation<workspace-config>` `
126
+ :ref: `workspace config documentation<workspace-config> `
127
127
128
+ ^^^^^^^^^^^^^^^^^^^^^^^^
129
+ Workspace Template Files
130
+ ^^^^^^^^^^^^^^^^^^^^^^^^
128
131
129
132
Every file with the ``.tpl `` extension is considered a template file in the
130
- workspace. These are rendered into each experiment (with the extension
131
- omitted). This allows control over the script format to execute an experiment.
133
+ workspace. Every one of these are rendered into each experiment (with the
134
+ extension omitted).
135
+
136
+ Workflows can be constructed by chaining multiple of these template files
137
+ together. Ramble will define a variable within each experiment that will be the
138
+ name of the file (without the extenison) and the value will be the absolute
139
+ path to the rendered template.
140
+
141
+ As an example, if the file ``configs/execute_experiment.tpl `` exists, each
142
+ experiment will have a variable ``execute_experiment `` who's value is set to
143
+ something like:
144
+ ``{workspace_root}/experiments/{application_name}/{workload_name}/{experiment_name}/execute_experiment ``
145
+
146
+ Ramble supports arbitrary format template files. Variables can be referenced
147
+ within these files using the standard ``{ `` and ``} `` syntax. Nested variable
148
+ expansion is possible by using repeated curly braces (i.e. ``{{foo}} `` will
149
+ evaluate ``{foo} ``, and if this expands to ``bar `` then the result will be the
150
+ expansion of ``{bar} ``).
151
+
152
+ **NOTE: ** Some file formats require escaping curly braces to ensure their
153
+ format is correct. This happens frequently with JSON and YAML formatted
154
+ template files. For more information on escaping expansion characters, see
155
+ :ref: `ramble-escaped-variables ` in the :ref: `workspace config
156
+ documentation<workspace-config>`
132
157
133
158
134
159
----------------------
0 commit comments