The workflow#
An overview of the workflow#
The RTW performs the following steps:
install_env_file- Description:
Copies the environment file for ESMValTool, based on the
SITEprovided- Runs on:
Localhost
- Executes:
The
cpcommand from the Rose app- Details:
Runs once at the start of the workflow
get_esmval- Description:
Either clones the latest versions of ESMValTool and ESMValCore from GitHub, or gets the latest container image from DockerHub and converts to a singularity image, depending on
SITE- Runs on:
Localhost, or
COMPUTEon JASMIN- Executes:
The
clone_latest_esmval.shscript (if cloning), or asingularity buildcommand (if getting container) from the Rose app- Details:
Runs at the start of each cycle
configure- Description:
Creates the ESMValTool user configuration file and validates it
- Runs on:
Localhost
- Executes:
The
configure.pyscript from the Rose app- Details:
Runs each cycle after
get_esmvalhas completed
process- Description:
Runs the requested recipes using ESMValTool
- Runs on:
COMPUTE, which depends on theSITE- Executes:
The ESMValTool command line script from the Rose app
- Details:
Runs each cycle for every recipe defined in the RTW after
configurehas completed
comparehousekeeping- Description:
Removes the logs and data (including recipe outputs) from two days or more before the current cycle
- Runs on:
Localhost
- Executes:
The
rose_pruneapplication- Details:
Runs at the end of each cycle (except the first cycle)
Design considerations#
Portability#
The RTW is portable; site-specific information can be found in the site
and opt directories within the RTW. The files required are:
site/<site>/recipes.jinjaContains all the recipes run at the
SITE
Hint
The file uses the Jinja2 templating language, which has a similar syntax to Python
Jinja2 gives Cylc many powerful features; Cylc Jinja2 provides more information
site/<site>/runtime.cylcContains task definitions specific to the
SITE, for example,COMPUTEsite/<site>/env-fileContains details on how to set up the environment for ESMValTool at the
SITEopt/rose-suite-<site>.confContains configuration items specific to the
SITE, includingSITEand where to find the required datasets
Metadata#
The RTW uses Rose metadata. Every item defined in the suite configuration
file (rose-suite.conf) will have an entry in the main metadata
configuration file (meta/rose-meta.conf).
Resources#
The resources used by the process jobs
are defined in the site/<site>/recipes.jinja file,
allowing the jobs to be configured by SITE as well as by recipe.
This ensures only the required resources are requested
when running each of the process jobs.