4. Directory structure of the ESMValTool¶
An overview of the directory structure used in the ESMValTool is given in Table 1.2. This section summarizes the underlying principles of the structure.
- Common namelist settings (e.g., models, year ranges, diagnostics) are usually stored in one place.
- Less common settings may be hidden deeper in the directory structure (see also Section 5).
- Diagnostic scripts that can be used by namelist entries are also stored in one place and it generally possible to combine them in a modular way (e.g., using the output of one routine as input for another).
- Reuse of code is strongly encouraged, i.e., one place for each functionality (modularity on the technical level).
- The goal is to centralize functionality in individual functions/procedures whenever there is the possibility of reusability. New developers are encouraged to consider building on or extending existing routines before introducing new ones.
- Routines are sorted into folders according to their functionality. Whenever possible, the hierarchy level of routines is reflected by their position in the directory structure.