Something went wrong!

Pursuing & supporting
reproducible workflows
for all with

cylc-logo-white

Oliver Sanders & Sadie Bartholomew
Modelling Infrastructure Support
Systems
team, Met Office

Introduction to Cylc

This is a simple workflow

This is a repeating workflow

This is a Cylc cycling workflow

This is an infinite cycling workflow

Cylc provides a moving window on an infinite workflow

Workflows with multiple cycle intervals

Arbitrary (integer) cycling
Real time cycling
Simulated time cycling
Externally driven cycling

This is a simple workflow definition

This is a Cycling workflow definition

System architecture

Submit jobs with:

Live monitoring via GUI or CLI
Manual intervention with running workflows supported
Automatically re-submit failed jobs

Usage & the Cylc Community

International use [mail] & development [mail]

Major sites using Cylc (zoom out fully & pan right!)

Example: weather forecasting

light-bulb example-research-plot research

clock-icon real-time
cycling

seamless
(meta-scheduling)
transition

play-icon simulated
time

cycling

operations weather-symbols

At the metoffice-logo-black

Met Office workflows are often huge!

(by numbers of tasks, dependencies, recurrences...) cise-graph-figure
github-text fully open-source, via github-text
cylc organisation
python-logo Python-powered core scheduling code
Development:
ecosystem & history
>10 years
of development!

Workflow design choices include:

single monolithic workflow modularity scale-pos2 multiple connected workflows (inter-workflow triggering)
coarse task granularity scale-pos1 fine
via in-built parameterisation task generation scale-pos3 via templating (Jinja2)

runtime inheritance:

hierarchy branching, levels & interconnections
issue tracking & links etc.
via cylc organisation on
github-octocat github-text-2
comprehensive
documentation!
Funded support for the IS-ENES3 community is-enes
Support available
dedicated support
& discussion
discourse-logo-and-text
forum

The Future of Cylc

cylc-logo-grey 8
curved-road

Same concept, revised tech stack:

Scheduling & runtime

python-logo
2
python-logo
3

Data & network layer

rest-logo graphql-logo zmq-logo

Web framework

cherrypy-logo tornado-logo

Front-end

gtk-logo css-html-logos vue-logo

Documentation

latex-logo sphinx-logo

Integrated, browser-based design ...

cylc-8-mockup

with feedback-led improved UX

The Present: for now...

Cylc development is supported by:

Questions?

website cylc.github.io
mail metomi@metoffice.gov.uk
github cylc/cylc-flow
discourse cylc.discourse.group