Skip to content

Commit a5725d7

Browse files
committed
Rewrite keypoints, objectives and questions; solve codacy stuff
1 parent 8c96f1e commit a5725d7

File tree

1 file changed

+53
-58
lines changed

1 file changed

+53
-58
lines changed

_episodes/01-introduction.md

Lines changed: 53 additions & 58 deletions
Original file line numberDiff line numberDiff line change
@@ -3,35 +3,30 @@ title: "Introduction"
33
teaching: 0
44
exercises: 25
55
questions:
6-
-What is ESMValTool?
7-
-When to use ESMValTool?
8-
-What are the main parts of ESMValTool that I need to know?
9-
-How does ESMValTool contribute to making climate research FAIR?
10-
-What is the role of the ESMValTool community?
11-
-Where to find help if I'm stuck with ESMValTool?
6+
- What is ESMValTool and when is it useful?
7+
- What are the main components of ESMValTool?
8+
- How does ESMValTool contribute to FAIR climate research?
9+
- What is the role of the ESMValTool community?
1210

1311
objectives:
14-
-Describe the difference between ESMValTool and other tools like CDO or xarray
15-
-Understand the main parts of ESMValTool (recipe, diagnostic script)
16-
-Browse the documentation of ESMValTool for help
17-
-Exlain why ESMValTool is a great way to make climate analysis FAIR
18-
-List three different ways to get help from to the ESMValTool community (docs, user engagement email, github issues)
19-
-Know when (not) to use ESMValTool
12+
- Describe key strengths and weaknesses of ESMValTool
13+
- Know the different components of ESMValTool
14+
- Understand the concept of a community-driven software project
15+
-
2016

2117
keypoints:
22-
-ESMValTool provides a reliable interface to analyse and evaluate climate data
23-
-By streamlining common preprocessor functions, ESMValTool facilitates comparison
24-
-ESMValTool is built and maintained by an active community of climate scientists and software developers
25-
-Using ESMValTool stimulates standardization, collaboration, and reuse
26-
-ESMValTool is written in Python, but supports diagnostic scripts in multiple languages
18+
- ESMValTool provides a reliable interface to analyse and evaluate climate data
19+
- Using ESMValTool promotes standardization, collaboration, and reuse
20+
- ESMValTool is built and maintained by an active community of scientists and developers
21+
- ESMValTool is written in Python, but supports diagnostic scripts in multiple languages
2722

2823
---
2924

30-
## What is ESMValTool?
25+
## What is ESMValTool
3126

3227
EMSValTool is first and foremost a tool to analyse climate data. But you probably already knew that and we like to think there's more to it than that. So let's start with a quick check to synchronize our expectations.
3328

34-
> ## Question: what is ESMValTool?
29+
> ## Question: what is ESMValTool
3530
>
3631
> Which of the following items would you say apply to ESMValTool?
3732
>
@@ -46,49 +41,49 @@ EMSValTool is first and foremost a tool to analyse climate data. But you probabl
4641
>
4742
> Check our answers by unfolding the box below.
4843
>
49-
>> ## ESMValTool is ...
50-
>>
51-
>> ✓ **A tool to analyse climate data.** It takes care of finding, opening, checking, fixing, concatenating, and preprocessing CMIP data and several other supported datasets.
52-
>>
53-
>> ✕ **The easy way out.** If you just want to do an exploratory analysis or quickly hack something together, ESMValTool is probably not the way to go. The tool is intended for robust, repeatable and shareable climate analysis. That *does* require a bit more effort.
54-
>>
55-
>> ✓ **A community effort.** EMSValTool is developed and maintained by a large team of climate scientists and software engineers. It is an open source project to which anyone can contribute. Its longevity depends on these contributions.
56-
>>
57-
>> ✓ **Free.** ESMValTool is licenced under Apache 2.0, which means everyone can use, modify, or share it free of charge. However, we *do* encourage all users to contribute to the community once they get more comfortable with the tool.
58-
>>
59-
>> ✓ **A command line tool.** ESMValTool was originally designed for the command line. But, we are working on a user-friendly python interface as well.
60-
>>
61-
>> ✓ **A way to make climate science more [FAIR](https://fair-software.eu/about).** ESMValTool collects provenance information about the data and code that are used to obtain a result. It comes with a readable recipe format that makes climate analysis consistent, reproducible, and easy to share.
62-
>>
63-
>> ✕ **Perfect.** Although we are continuously working to improve the tool, you may encounter some bugs or missing features. In this lesson, you will learn how to troubleshoot, find help, and maybe even contribute to the solution yourself.
64-
>>
65-
>> ✕ **Suitable for (Jupyter) notebooks.** ESMValTool was designed as a command line tool. But, we are working on a user-friendly Python interface as well.
66-
>{: .solution}
44+
> > ## ESMValTool is
45+
> >
46+
> > ✓ **A tool to analyse climate data.** It takes care of finding, opening, checking, fixing, concatenating, and preprocessing CMIP data and several other supported datasets.
47+
> >
48+
> > ✕ **The easy way out.** If you just want to do an exploratory analysis or quickly hack something together, ESMValTool is probably not the way to go. The tool is intended for robust, repeatable and shareable climate analysis. That *does* require a bit more effort.
49+
> >
50+
> > ✓ **A community effort.** EMSValTool is developed and maintained by a large team of climate scientists and software engineers. It is an open source project to which anyone can contribute. Its longevity depends on these contributions.
51+
> >
52+
> > ✓ **Free.** ESMValTool is licenced under Apache 2.0, which means everyone can use, modify, or share it free of charge. However, we *do* encourage all users to contribute to the community once they get more comfortable with the tool.
53+
> >
54+
> > ✓ **A command line tool.** ESMValTool was originally designed for the command line. But, we are working on a user-friendly python interface as well.
55+
> >
56+
> > ✓ **A way to make climate science more [FAIR](https://fair-software.eu/about).** ESMValTool collects provenance information about the data and code that are used to obtain a result. It comes with a readable recipe format that makes climate analysis consistent, reproducible, and easy to share.
57+
> >
58+
> > ✕ **Perfect.** Although we are continuously working to improve the tool, you may encounter some bugs or missing features. In this lesson, you will learn how to troubleshoot, find help, and maybe even contribute to the solution yourself.
59+
> >
60+
> > ✕ **Suitable for (Jupyter) notebooks.** ESMValTool was designed as a command line tool. But, we are working on a user-friendly Python interface as well.
61+
> {: .solution}
6762
{: .challenge}
6863

6964
To learn more about ESMValTool, you can look at the [documentation](https://docs.esmvaltool.org/en/latest/introduction.html), the [official website](https://www.esmvaltool.org/about.html), or the [overview paper](https://gmd.copernicus.org/articles/13/1179/2020/) in *Geoscientific Model Development*.
7065

71-
## How does ESMValTool work?
66+
## How does ESMValTool work
7267

7368
The figure below shows the different components of ESMValTool. Most of the work is done in the 'core', which performs a number of preprocessor steps. Outside of the core we have some configuration files that specify things like *where to find the CMIP data*. The most important file however, is the *recipe* that specifies which preprocessor functions need to be applied to what data. The recipe also points to a diagnostic script that is executed after the preprocessor and performs a more specific analysis on the preprocessed data.
7469

7570
![figure showing ESMValTool architecture]({{ page.root }}/fig/esmvaltool_architecture.png)
7671

77-
>## Discussion: (dis)advantages of this approach?
72+
> ## Discussion: (dis)advantages of this approach
7873
>
7974
> Discuss or think about the pros and cons of this architecture for a moment. Then unfold the box below to see our answers.
8075
>
8176
>
82-
>>## See our thoughts
83-
>>
84-
>> - Streamlining common preprocessing steps ensures consistency in the algorithms being used and the way they are executed. This facilitates comparison and reproducibility.
85-
>> - Provenance and citation information can be tracked through the entire workflow.
86-
>> - The core builds upon the [iris](https://scitools.org.uk/iris/docs/latest/) package, which is quite strict in order to comply with CF conventions and minimize unexpected results.
87-
>> - Recipes are easy to read and share.
88-
>> - A collection of recipes and diagnostic scripts is shipped with ESMValTool, ready for re-use. Everyone can add to this collection.
89-
>> - The recipe format takes some getting used to and may be a bit less flexible then working on the datasets directly.
90-
>> - Features or dataset support that are missing from ESMValCore can be a limiting factor.
91-
>{: .solution}
77+
> > ## See our thoughts
78+
> >
79+
> > - Streamlining common preprocessing steps ensures consistency in the algorithms being used and the way they are executed. This facilitates comparison and reproducibility.
80+
> > - Provenance and citation information can be tracked through the entire workflow.
81+
> > - The core builds upon the [iris](https://scitools.org.uk/iris/docs/latest/) package, which is quite strict in order to comply with CF conventions and minimize unexpected results.
82+
> > - Recipes are easy to read and share.
83+
> > - A collection of recipes and diagnostic scripts is shipped with ESMValTool, ready for re-use. Everyone can add to this collection.
84+
> > - The recipe format takes some getting used to and may be a bit less flexible then working on the datasets directly.
85+
> > - Features or dataset support that are missing from ESMValCore can be a limiting factor.
86+
> {: .solution}
9287
{: .discussion}
9388

9489
## Community
@@ -99,20 +94,20 @@ ESMValTool is built and maintained by an active community of scientists and engi
9994
>
10095
> Browse to [github.com/ESMValGroup](https://github.com/ESMValGroup). This is our 'organization' GitHub page. Have a look around. How many collaborators are there? Do you know any of them? You should see 2 main repositories: ESMValTool and ESMValCore. Clicking on them will take you to there. How many people have contributed to each of them? Can you also find out how many people have contributed to this tutorial?
10196
>
102-
>> ## Solution
103-
>>
104-
>> At the time of making this lesson, there were 138 members of ESMValGroup. 55 of them contributed to ESMValTool, 48 to ESMValCore. 52 (!) people contributed to this tutorial.
105-
>{: .solution}
97+
> > ## Solution
98+
> >
99+
> > At the time of making this lesson, there were 138 members of ESMValGroup. 55 of them contributed to ESMValTool, 48 to ESMValCore. 52 (!) people contributed to this tutorial.
100+
> {: .solution}
106101
{: .challenge}
107102

108-
>## Challenge: issues and pull requests
103+
> ## Challenge: issues and pull requests
109104
>
110105
> Go back to the repository pages of [ESMValTool](https://github.com/ESMValGroup/ESMValTool) or [ESMValCore](https://github.com/ESMValGroup/ESMValCore). You should see tabs for 'issues' and 'pull requests'. You can use the labels to navigate them a bit more. How many open issues are about enhancements of ESMValTool? And how many bugs have been fixed in ESMValCore? There is also an 'insights' tab, where you can see a summary of recent activity. How many issues have been opened and closed in the past month?
111106
>
112-
>> ## Solution
113-
>>
114-
>> At the time of making this tutorial, there were 50 ESMValTool issues (the majority) about enhancement and 31 bugs had been fixed in the Core. 13 ESMValTool issues had been closed in the past month, versus 8 opened: overall good progress.
115-
>{: .solution}
107+
> > ## Solution
108+
> >
109+
> > At the time of making this tutorial, there were 50 ESMValTool issues (the majority) about enhancement and 31 bugs had been fixed in the Core. 13 ESMValTool issues had been closed in the past month, versus 8 opened: overall good progress.
110+
> {: .solution}
116111
{: .challenge}
117112

118113
## Conclusion

0 commit comments

Comments
 (0)