ECMWF suite design standards
1. Foreword
1.1. Requirements of research, development and operational suites
1.2. Aim and scope of these guidelines
2. General principles
2.1. What is a suite?
2.2. TL;DR recommendations
3. Documentation
3.1. Documenting the suite for different audiences
3.1.1. For operators (1st line)
3.1.2. For analysts (2nd line)
3.1.3. For developers
3.1.4. For scientists
3.2. Operators’ perspective
3.3. Task purpose, criticality, and failure procedures
3.4. Clear naming of families and tasks
4. Structure and families
4.1. Standard families
4.2. Looping families
4.3. Administrative or manually-triggered tasks
4.4. Configuration structure
4.5. Execution structure
5. Tasks
5.1. Clarity of function
5.2. Re-runnability
5.3. Error handling
5.4. Top-level ecFlow task scripts
6. Software dependencies
6.1. Software deployment
6.2. Loading the software environment
6.3. Best practices for software compilation
6.4. ECMWF software packages
7. Data management
7.1. Data within and between tasks
7.2. Retrieving data from remote services, databases, and archives
7.3. Dissemination
7.4. Archiving data
7.5. ECMWF archival and dissemination services
8. External dependencies
8.1. Barrier
8.2. Events
8.3. Triggers and alerts
8.4. YMD
8.5. Barrier Example
8.6. Mirrors
9. Time criticality
9.1. Time-critical tasks
9.2. Non-Time-critical tasks
10. Suite construction
10.1. Introducing pyflow
10.2. Main principles
10.3. Script Handling
10.4. Extra resources
ECMWF suite design standards
Index
Index