Suite Structure

So far we have covered:

  • Cylc workflows.

  • Rose suite configurations.

  • Rosie suites.

The relationship between them is as follows:

graph Example { ranksep = 0 size = "7, 5" node [shape="plaintext", fontcolor="#606060"] edge [style="invis"] subgraph cluster_1 { label = "Cylc Workflow" fontsize = "20" fontcolor = "#5050aa" labelloc = "r" "flow.cylc" [fontsize="18", fontname="mono", fontcolor="black"] "rcinfo" [label="Defines the workflow\nin terms of tasks\nand dependencies"] "flow.cylc" -- "rcinfo" subgraph cluster_2 { label = "Rose Suite Configuration" "rose-suite.conf" [fontsize="18", fontname="mono", fontcolor="black"] "confinfo" [label="Defines Jinja2 variables for\nthe flow.cylc and environment\nvariables for use throughout\nthe suite"] "rose-suite.conf" -- "confinfo" subgraph cluster_3 { label = "Rosie Suite" "" [fontsize="18", fontname="mono", fontcolor="black"] "infoinfo" [label="Contains basic information\nabout the suite used\nby Rosie for searching\nand version control purposes"] "" -- "infoinfo" } } } }

Cylc workflows can have Rose applications. These are stored in an app directory and are configured using a rose-app.conf file.

Suite Commands

We have learned the following Cylc commands:

cylc graph

Draws the suite’s graph.

cylc config

Processes the flow.cylc file and prints it back out.

cylc validate

Validates the Cylc flow.cylc file to check for any obvious errors.

cylc play

Runs a suite.

cylc stop

Stops a suite, in a way that:


Kills all running/submitted tasks.

--now --now

Leaves all running/submitted tasks running.

cylc restart

Starts a suite, picking up where it left off from the previous run.

We have learned the following Rose commands:

rose app-run

Runs a Rose application.

rose task-run

Runs a Rose application from within a Cylc workflow.


There are some utilities to make life easier:


A utility for parsing, manipulating and formatting date-times which is useful for working with the Cylc cycle point:

$ isodatetime 2000 --offset '+P1Y1M1D'

$ isodatetime $CYLC_TASK_CYCLE_POINT --format 'The month is %B.'
The month is April.

See the date-time tutorial for more information.

Rose Built-In Applications

Along with Rose utilities there are also Rose built-in applications.


A template for running the fcm make command.


Runs the rose-ana analysis engine.


Provides a generic solution to configure site-specific archiving of suite files.


For the running of multiple command variants in parallel under a single job.


A framework for housekeeping a cycling suite.

Next Steps

Further Topics

Tutorials going over some of the more specific aspects of Rose not covered in the main tutorial.

Command Reference

Contains the command-line documentation (also obtainable by calling rose --help).

Rose Configuration

The possible settings which can be used in the different Rose configuration files.

Cylc workflow Design Guide

Contains recommended best practice for the style and structure of Cylc suites.