ecFlow's documentation is now on readthedocs!

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 22 Next »

This section gives an overview of the steps involved in using ecFlow.

Write a suite definition

The suite definition defines how your tasks run and interact. task s are placed in families, which themselves may be placed in families and/or suite s. All the entities are called node s and form a hierarchical tree.

There are two main methods for describing a suite definition to the ecflow_server.

  • via a text suite definition

    The grammar of this text definition is described by Definition file Grammar. This grammar does not support conditional statements (such as if,while,for) nor the ability to define functions. However, the text definition file can be generated/created using any language which in itself supports conditional statements. The text definition is similar to that offered by SMS/CDP and as such may be an appropriate migration path for some.

  • via a python suite definition

    This allows more checking and functionality and as such is our preferred method. See ecFlow Python Api.

Write your scripts

ecf script will correspond with the task in the suite definition. The script defines the main work that is to be carried out. The script includes child command s and special comments and manual sections that provides information for operators.

The child command s are a restricted set of ecflow_client commands that communicate with the ecflow_server. They inform the server when the job has started, completed or set some event.

Start a server

After ecflow_server is started, the suite definition, can then be loaded into it.

The running jobs will communicate back to the server using child command s. These cause:

Use the GUI

ecFlow has a specialised GUI client, called ecflowview. This is used to visualise and monitor:

In addition ecflowview provides a rich set of ecflow_client commands that can interact with the server.

Note

The following tutorial will show examples in plain text and python. However it is recommended that you use python, since the later tutorial examples use conditionals like ‘if’ and looping constructs.

  • No labels