You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: _episodes/06-debugging.md
+32-22Lines changed: 32 additions & 22 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,7 @@ questions:
7
7
objectives:
8
8
- "Fix a broken recipe"
9
9
keypoints:
10
-
- "The log files contain information about errors and warnings."
10
+
- "There are two different kinds of log files: ``main_log.txt``, and ``main_log_debug.txt``."
11
11
---
12
12
13
13
Every user encounters errors. Once you know why you get certain types of errors,
@@ -20,10 +20,10 @@ This lesson helps to understand what the different types of errors are and when
20
20
21
21
Each time we run ESMValTool, it will produce a new output directory.
22
22
This directory should contain the ``run`` folder that is automatically generated by ESMValTool.
23
-
To examine this, we run an example recipe that can be found in:
24
-
[recipe_example.yml](link).
23
+
To examine this, we run a ``recipe_example.yml``that can be found in
24
+
[Setup]({{ page.root }}{% link setup.md %}).
25
25
Let's download it to our working directory ``esmvaltool_tutorial`` that was created during
26
-
the [Setup]({{ page.root }}{% link setup.md %}).
26
+
the [Configuration]({{ page.root }}{% link _episodes/03-configuration.md %}).
27
27
28
28
In a new terminal, go to our working directory ``esmvaltool_tutorial`` where
29
29
both files ``user-config.yml`` and ``recipe_example.yml`` are located and run the recipe:
@@ -154,14 +154,11 @@ and then <kbd>ctrl</kbd> + <kbd>X</kbd> to exit ``nano``.
154
154
>~~~
155
155
{: .solution}
156
156
157
-
We change the ``projects`` value ``ukesm`` to ``tutorial``:
157
+
## Keys and values in recipe settings
158
158
159
-
~~~YAML
160
-
19 projects:
161
-
20 - tutorial
162
-
~~~
163
-
164
-
Also, let's add the preprocessor ``extract_region`` to the section ``prep_timeseries``:
159
+
The [ESMValTool pre-processors](https://docs.esmvaltool.org/projects/ESMValCore/en/latest/recipe/preprocessor.html?highlight=preprocessor) cover a broad range of operations on the input data,
160
+
like time manipulation, area manipulation, land-sea masking, variable derivation, ... .
161
+
Let's add the preprocessor ``extract_region`` to the section ``prep_timeseries``:
165
162
166
163
~~~YAML
167
164
25 preprocessors:
@@ -175,6 +172,13 @@ Also, let's add the preprocessor ``extract_region`` to the section ``prep_timese
175
172
33 end_latitude: 70
176
173
~~~
177
174
175
+
Also, we change the ``projects`` value ``ukesm`` to ``tutorial``:
176
+
177
+
~~~YAML
178
+
19 projects:
179
+
20 - tutorial
180
+
~~~
181
+
178
182
Then, we save the file and run the recipe:
179
183
~~~bash
180
184
esmvaltool -c user-config.yml recipe_example.yml
@@ -188,13 +192,12 @@ attach the run/recipe_*.yml and run/main_log_debug.txt files from the output dir
188
192
~~~
189
193
{: .error}
190
194
191
-
The values for the keys ``author``, ``maintainer``, ``projects`` and ``references`` in the recipe should be known by ESMValTool.
192
-
193
-
> ## ESMValTool pre-processors
194
-
>
195
-
> The [ESMValTool pre-processors](https://docs.esmvaltool.org/projects/ESMValCore/en/latest/recipe/preprocessor.html?highlight=preprocessor) cover a broad range of operations on the input data,
196
-
like time manipulation, area manipulation, land-sea masking, variable derivation, ... .
197
-
{: .callout}
195
+
The values for the keys ``author``, ``maintainer``, ``projects`` and ``references`` in the recipe should
196
+
be known by ESMValTool. A list of ESMValTool author, maintainer, references, and projects can be found
197
+
in the ``config-references.yml`` that is located in the folder ``references``
198
+
in the ESMValTool installation directory ``path_to_esmvaltool``. To find ``path_to_esmvaltool``
199
+
on your system, see
200
+
[Installation]({{ page.root }}{% link _episodes/02-installation.md %}).
198
201
199
202
> ## ESMValTool can’t locate the data
200
203
>
@@ -218,13 +221,20 @@ What suggestions would you give the researcher for fixing the error?
218
221
> {: .solution}
219
222
{: .challenge}
220
223
221
-
> ## Check pre-processed data
224
+
## Check pre-processed data
225
+
226
+
The setting ``save_intermediary_cubes`` in the configuration file can be used
227
+
to save the pre-processed data. More information about this setting can be found at
228
+
[Configuration]({{ page.root }}{% link _episodes/03-configuration.md %}).
229
+
230
+
> ## save_intermediary_cubes
222
231
>
223
-
> The setting ``save_intermediary_cubes`` in the configuration file can be used
224
-
save the pre-processed data. More information about this setting can be found at
225
-
[Configuration]({{ page.root }}{% link _episodes/03-configuration.md %})
232
+
> Note that this setting should be only used for debugging, as it significantly slows down the recipe
233
+
and increases disk usage because a lot of output files need to be stored.
226
234
{: .callout}
227
235
236
+
## Check diagnostic script path
237
+
228
238
The result of the pre-processor is passed to the ``diagnostic_timeseries.py`` script,
0 commit comments