@@ -12,8 +12,9 @@ objectives:
1212
1313keypoints :
1414- The ``config-user.yml`` tells ESMValTool where to find input data.
15- - " ``rootpath`` defines the root directory for the input data."
1615- " ``output_dir`` defines the destination directory."
16+ - " ``rootpath`` defines the root path of the data."
17+ - " ``drs`` defines the directory structure of the data."
1718
1819---
1920
@@ -98,7 +99,22 @@ config_developer_file: null
9899profile_diagnostic : false
99100` ` `
100101
101- In general there is no need to change the settings listed above.
102+ > ## Saving preprocessed data
103+ >
104+ > In the configuration file, which settings are useful to make sure preprocessed
105+ > data is stored when ESMValTool is run?
106+ >
107+ >> ## Solution
108+ >>
109+ >> If the option ` ` remove_preproc_dir` ` is set to ` ` false` ` , then the
110+ >> ` ` preproc/` ` directory contains all the pre-processed data and the
111+ >> metadata interface files.
112+ >> If the option ` ` save_intermediary_cubes` ` is set to ` ` true` `
113+ >> then data will also be saved after each preprocessor step in the folder
114+ >> ` ` preproc` ` . Note that saving all intermediate results to file will result
115+ >> in a considerable slowdown.
116+ > {: .solution}
117+ {: .challenge}
102118
103119## Destination directory
104120
@@ -108,12 +124,6 @@ a new output folder determined by recipe name, and date and time using
108124the format: YYYYMMDD_HHMMSS.
109125This folder contains four further subfolders: ` ` plots` ` , ` ` preproc` ` , ` ` run` ` , ` ` work` ` .
110126
111- Let's name our destination directory ` ` esmvaltool_output` ` in the working directory:
112-
113- ` ` ` yaml
114- output_dir : ./esmvaltool_output
115- ` ` `
116-
117127> ## Content of subfolders
118128>
119129> - ` ` plots` ` : the location for all plots, split by individual diagnostics and fields.
@@ -130,6 +140,22 @@ are not plots, e.g. files in NetCDF format (depends on the diagnostic script).
130140[lesson]({{ page.root }}{% link _episodes/04-recipe.md %})
131141{: .callout}
132142
143+ > ## Set the destination directory
144+ >
145+ > Let's name our destination directory ` ` esmvaltool_output` ` in the working directory.
146+ > How to tell ESMValTool about our destination directory?
147+ >
148+ >> ## Solution
149+ >>
150+ >> We use ` output_dir` entry in the `config-user.yml` file as:
151+ >>```yaml
152+ >> output_dir: ./esmvaltool_output
153+ >>```
154+ >>
155+ >> If the `esmvaltool_output` does not exist, ESMValTool will generate it for you.
156+ > {: .solution}
157+ {: .challenge}
158+
133159# # Auxiliary data directory
134160
135161The ``auxiliary_data_dir`` setting is the path where any required additional
@@ -151,7 +177,6 @@ You can choose the number of tasks in parallel as
151177ESMValTool to use the maximum number of available CPUs :
152178
153179` ` ` yaml
154-
155180max_parallel_tasks: null
156181` ` `
157182
@@ -164,7 +189,6 @@ Using the number there you can increase the number of parallel tasks
164189again to a reasonable number for the amount of memory available in your system.
165190{: .callout}
166191
167-
168192# # Rootpath to input data
169193
170194ESMValTool uses several categories (in ESMValTool, this is referred to as projects)
@@ -175,6 +199,7 @@ We can find more information about the projects in the ESMValTool
175199[documentation](https://docs.esmvaltool.org/projects/esmvalcore/en/latest/quickstart/find_data.html).
176200The ``rootpath`` specifies the directories where ESMValTool will look for input data.
177201For each category, you can define either one path or several paths as a list.
202+ For example :
178203
179204` ` ` yaml
180205rootpath:
@@ -184,71 +209,131 @@ rootpath:
184209 default: ~/default_inputpath
185210 CORDEX: ~/default_inputpath
186211` ` `
187- Site-specific entries for Jasmin, DKRZ and ETHZ are listed at the end of the
188- example configuration file.
189212
190- In this lesson, we will work with data from
191- [CMIP5](https://esgf-node.llnl.gov/projects/cmip5/)
192- and [obs4mips](https://esgf-node.llnl.gov/projects/obs4mips/).
193- We add the root path of the folder where our/your data is available.
194-
195- ` ` ` yaml
196- rootpath :
197- ...
198- CMIP5 : [~/cmip5_inputpath1, ~/cmip5_inputpath2, ~/esmvaltool_tutorial/data]
199- obs4mips : ~/esmvaltool_tutorial/data
200- ` ` `
213+ Site-specific entries for Jasmin and DKRZ are listed at the end of the
214+ example configuration file.
201215
202- > ## Setting the correct rootpath
216+ > # # Set the correct rootpath
203217>
204- > - To get the data (or its correct rootpath), check instruction in
205- > [Setup]({{ page.root }}{% link setup.md %}).
206- > - For more information about setting the rootpath, see also the ESMValTool
207- > [documentation](https://docs.esmvaltool.org/projects/esmvalcore/en/latest/esmvalcore/datafinder.html).
208- {: .callout}
218+ > In this tutorial, we will work with data from
219+ > [CMIP5](https://esgf-node.llnl.gov/projects/cmip5/)
220+ > and [obs4mips](https://esgf-node.llnl.gov/projects/obs4mips/).
221+ > How does ESMValTool find the data?
222+ >
223+ > Hint:
224+ > to get the data (or its correct rootpath), check instruction in
225+ > [Setup]({{ page.root }}{% link setup.md %}).
226+ >
227+ >> # # Solution
228+ >>
229+ >> - Are you working on your own local machine?
230+ >> You need to add the root path of the folder where the data is available
231+ >> to the `config-user.yml` file as:
232+ >>```yaml
233+ >> rootpath:
234+ >> ...
235+ >> CMIP5: ~/esmvaltool_tutorial/data
236+ >> obs4mips: ~/esmvaltool_tutorial/data
237+ >>```
238+ >>
239+ >> - Are you working with on a computer cluster like Jasmin or DKRZ?
240+ >> Site-specific path to the data are already listed at the end of the
241+ >> `config-user.yml` file. You need to uncomment the related lines.
242+ >> For example, on Jasmin:
243+ >>```yaml
244+ >> # Site-specific entries: Jasmin
245+ >> # Uncomment the lines below to locate data on JASMIN
246+ >> rootpath:
247+ >> # CMIP6: /badc/cmip6/data/CMIP6
248+ >> CMIP5: /badc/cmip5/data/cmip5/output1
249+ >> # CMIP3: /badc/cmip3_drs/data/cmip3/output
250+ >> # OBS: /group_workspaces/jasmin4/esmeval/obsdata-v2
251+ >> # OBS6: /group_workspaces/jasmin4/esmeval/obsdata-v2
252+ >> obs4mips: /group_workspaces/jasmin4/esmeval/obsdata-v2
253+ >> # ana4mips: /group_workspaces/jasmin4/esmeval/obsdata-v2
254+ >> # CORDEX: /badc/cordex/data/CORDEX/output
255+ >>```
256+ >>
257+ >> - For more information about setting the rootpath, see also the ESMValTool
258+ >> [documentation](https://docs.esmvaltool.org/projects/esmvalcore/en/latest/quickstart/find_data.html).
259+ > {: .solution}
260+ {: .challenge}
209261
210262# # Directory structure for the data from different projects
211263
212264Input data can be from various models, observations and reanalysis data that
213265adhere to the [CF/CMOR standard](https://cmor.llnl.gov/). The ``drs`` setting
214- describes the file structure. Let's use ` ` default` ` for ` ` CMIP5` ` in our example
215- here:
266+ describes the file structure.
216267
217- ` ` ` yaml
218- drs :
219- CMIP5 : default
220- ` ` `
268+ The ``drs`` setting describes the file structure for several projects (e.g.
269+ CMIP6, CMIP5, obs4mips, OBS6, OBS) on several key machines
270+ (e.g. BADC, CP4CDS, DKRZ, ETHZ, SMHI, BSC). For more
271+ information about ``drs``, you can visit the ESMValTool documentation on
272+ [Data Reference Syntax (DRS)](https://docs.esmvaltool.org/projects/esmvalcore/en/latest/quickstart/find_data.html#cmor-drs).
221273
222- > ## Available drs
274+ > # # Set the correct drs
223275>
224- > The ` ` drs` ` setting describes the file structure for several projects (e.g.
225- > ` ` CMIP6` ` , ` ` CMIP5` ` , ` ` obs4mips` ` , ` ` OBS6` ` , ` ` OBS` ` ) on several key machines
226- > (e.g. ` ` BADC` ` , ` ` CP4CDS` ` , ` ` DKRZ` ` , ` ` ETHZ` ` , ` ` SMHI` ` , ` ` BSC` ` ). For more
227- > information about ` ` drs` ` , you can visit the ESMValTool
228- > [documentation](https://docs.esmvaltool.org/projects/esmvalcore/en/latest/quickstart/find_data.html#cmor-drs).
229- {: .callout}
230-
231- > ## Make your own configuration file
276+ > In this lesson, we will work with data from
277+ > [CMIP5](https://esgf-node.llnl.gov/projects/cmip5/)
278+ > and [obs4mips](https://esgf-node.llnl.gov/projects/obs4mips/).
279+ > How does ESMValTool know the data structure?
232280>
233- > It is possible to have several configuration files with different purposes,
234- > for example: config-user_formalised_runs.yml, config-user_debugging.yml
235- {: .callout}
281+ >> # # Solution
282+ >>
283+ >> - Are you working on your own local machine?
284+ >> You need to set the `drs` of the data
285+ >> in the `config-user.yml` file as:
286+ >>```yaml
287+ >> drs:
288+ >> CMIP5: default
289+ >> obs4mips: default
290+ >>```
291+ >>
292+ >> - Are you working with on a computer cluster like Jasmin or DKRZ?
293+ >> Site-specific `drs` of the data are already listed at the end of the
294+ >> `config-user.yml` file. You need to uncomment the related lines.
295+ >> For example, on Jasmin:
296+ >>```yaml
297+ >> # Site-specific entries: Jasmin
298+ >> # Uncomment the lines below to locate data on JASMIN
299+ >> drs:
300+ >> # CMIP6: BADC
301+ >> CMIP5: BADC
302+ >> # CMIP3: BADC
303+ >> # CORDEX: BADC
304+ >> # OBS: BADC
305+ >> # OBS6: BADC
306+ >> obs4mips: BADC
307+ >> # ana4mips: BADC
308+ >>```
309+ >>
310+ > {: .solution}
311+ {: .challenge}
236312
237- > ## Saving preprocessed data
313+ > # # Explain the default drs (if working on local machine)
238314>
239- > In the configuration file, which settings are useful to make sure preprocessed
240- > data is stored when ESMValTool is run?
315+ > 1. In the previous exercise, we set the `drs` of CMIP5 data to `default`.
316+ > Can you explain why?
317+ >
318+ > 2. Have a look at the directory structure of the data.
319+ > There is the folder `Tier1`. What does it mean?
241320>
242321>> # # Solution
243322>>
244- > > If the option ` ` remove_preproc_dir ` ` is set to ` ` false ` ` , then the
245- > > ` ` preproc/ ` ` directory contains all the pre-processed data and the
246- > > metadata interface files.
247- > > If the option ` ` save_intermediary_cubes ` ` is set to ` ` true ` `
248- > > then data will also be saved after each preprocessor step in the folder
249- > > ` ` preproc ` ` . Note that saving all intermediate results to file will result
250- > > in a considerable slowdown.
323+ >> 1. `drs: default` is one way to retrieve data from a ROOT directory that has no DRS-like structure.
324+ >> ``default `` indicates that all the files are in a folder without any structure.
325+ >>
326+ >> 2. Observational data are organized in Tiers depending on their level of public availability.
327+ >> Therefore the default directory must be structured accordingly with sub-directories
328+ >> `TierX` e.g. Tier1, Tier2 or Tier3, even when `drs: default`.
329+ >>
251330> {: .solution}
252331{: .challenge}
253332
333+ > # # Make your own configuration file
334+ >
335+ > It is possible to have several configuration files with different purposes,
336+ > for example: config-user_formalised_runs.yml, config-user_debugging.yml
337+ {: .callout}
338+
254339{% include links.md %}
0 commit comments