Cylc (pronounced silk) is a general purpose workflow engine that also manages cycling systems very efficiently. It is used in production weather, climate, and environmental forecasting on HPC, but is not specialized to those domains.
# install cylc
conda install cylc-flow
# extract an example to run
cylc get-resources examples/integer-cycling
# install and run it
cylc vip integer-cycling # vip = validate, install and play
# watch it run
cylc tui integer-cycling
- cylc-flow - The core Cylc Scheduler for defining and running workflows.
- cylc-uiserver - The web-based Cylc graphical user interface for monitoring and controlling workflows.
- cylc-rose - Provides integration with Rose.
Migration Guide | Migration Support
Cylc 8 can run most Cylc 7 workflows in compatibility mode with little to no changes, go through the migration guide for more details.
Quick summary of major changes:
- Python 2 -> 3.
- Internal communications converted from HTTPS to ZMQ (TCP).
- PyGTK GUIs replaced by:
- Terminal user interface (TUI) included in cylc-flow.
- Web user interface provided by the cylc-uiserver package.
- A new scheduling algorithm with support for branched workflows.
- Command line changes:
cylc run <id>
->cylc play <id>
cylc restart <id>
->cylc play <id>
rose suite-run
->cylc install; cylc play <id>
- The core package containing Cylc scheduler program has been renamed cylc-flow.
- Cylc review has been removed, the Cylc 7 version remains Cylc 8 compatible.
Copyright (C) 2008-2024 NIWA & British Crown (Met Office) & Contributors.
Cylc is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
Cylc is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with Cylc. If not, see GNU licenses.
Contributions welcome:
- Read the contributing page.
- Development setup instructions are in the developer docs.
- Involved change proposals can be found in the admin pages.
- Touch base in the developers chat.
This repository contains some code that was generated by GitHub Copilot.