Skip to content

Commit 50082be

Browse files
committed
revise the sections and text
1 parent 603b6ae commit 50082be

File tree

1 file changed

+32
-22
lines changed

1 file changed

+32
-22
lines changed

_episodes/06-debugging.md

Lines changed: 32 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ questions:
77
objectives:
88
- "Fix a broken recipe"
99
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``."
1111
---
1212

1313
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
2020

2121
Each time we run ESMValTool, it will produce a new output directory.
2222
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 %}).
2525
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 %}).
2727

2828
In a new terminal, go to our working directory ``esmvaltool_tutorial`` where
2929
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``.
154154
>~~~
155155
{: .solution}
156156
157-
We change the ``projects`` value ``ukesm`` to ``tutorial``:
157+
## Keys and values in recipe settings
158158
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``:
165162
166163
~~~YAML
167164
25 preprocessors:
@@ -175,6 +172,13 @@ Also, let's add the preprocessor ``extract_region`` to the section ``prep_timese
175172
33 end_latitude: 70
176173
~~~
177174
175+
Also, we change the ``projects`` value ``ukesm`` to ``tutorial``:
176+
177+
~~~YAML
178+
19 projects:
179+
20 - tutorial
180+
~~~
181+
178182
Then, we save the file and run the recipe:
179183
~~~bash
180184
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
188192
~~~
189193
{: .error}
190194

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 %}).
198201

199202
> ## ESMValTool can’t locate the data
200203
>
@@ -218,13 +221,20 @@ What suggestions would you give the researcher for fixing the error?
218221
> {: .solution}
219222
{: .challenge}
220223

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
222231
>
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.
226234
{: .callout}
227235

236+
## Check diagnostic script path
237+
228238
The result of the pre-processor is passed to the ``diagnostic_timeseries.py`` script,
229239
that is introduced in the recipe as:
230240

0 commit comments

Comments
 (0)