This tutorial session is focused on Kepler - main tool for integrating various codes that are used within Integrated Modelling related activities. In this part of tutorial I will focus on Kepler basics.
After this tutorial you are supposed to gain knowledge of:
- starting Kepler
- understanding basics components: actors, directors, links, relations
- building simple workflows
- running workflows
Please note that this part of tutorial doesn't touch Integrated Modelling. It's focused solely on Kepler as a workflow manager.
1. What is Kepler
Kepler is a workflow engine and design platform for analysing and modelling scientific data. Kepler provides a graphical interface and a library of pre-defined components to enable users to construct scientific workflows which can undertake a wide range of functionality. It is primarily designed to access, analyse, and visualise scientific data but can be used to construct whole programs or run pre-existing simulation codes.
Kepler builds upon the mature Ptolemy II framework, developed at the University of California, Berkeley. Kepler itself is developed and maintained by the cross-project Kepler collaboration.
The main components in a Kepler workflow are actors, which are used in a design (inherited from Ptolemy II) that separates workflow components ("actors") from workflow orchestration ("directors"), making components more easily reusable. Workflows can work at very levels of granularity, from low-level workflows (that explicitly move data around or start and monitor remote jobs, for example) to high-level workflows that interlink complex steps/actors. Actors can be reused to construct more complex actors enabling complex functionality to be encapsulated in easy to use packages. A wide range of actors are available for use and reuse.
2. Kepler installation
First of all we have to make sure we can use Kepler
at Gateway
. Follow this tutorial to get your first copy of Kepler
installed: IMAS Kepler - 2.5p4-3.0.5
After you have completed this part, you should be able to start Kepler
at Gateway.
3. Kepler basics
This part of tutorial will guide you through all the basics of Kepler. We will cover three topics here:
- very basics of Kepler
- building loops
- "debugging" workflows
You can find materials related to this section of tutorial at following locations:
- Hello world workflow: 2.1 Hello world workflow
- Relations, Paths, Synchronisation: 2.2 Relations, Paths and Synchronization
- If-else workflow: 2.3 If-else workflow
The examples discussed in this section can be found here:
$SWIMASDIR/resources/tutorials/2019-10-PSNC/kepler_examples/
Please note that Kepler Basics is a general tutorial that can be used with any version of Kepler. This is why, it is assumed that Kepler is installed inside ~/kepler.
This is why you can find following instructions inside this tutorial:
> cd ~/kepler/ > ./kepler.sh
In case of IMAS
based version of Kepler (one that will be used by us), it is enough to run:
> kepler