ecFlow's documentation is now on readthedocs!

ecFlow manages suites. A suite is a collection of families, and a family is a collection of tasks and possibly other families. Tasks may have events, meters, labels, etc. When it does not matter which one of the terms suite, family, or task is in question, the generic term node refers to any of them.
By default, suites are independent of each other. If necessary, suites can have cross-suite dependencies. These are best avoided since ideally, a suite is a self-contained unit.
There is an analogy between a suite definition and the UNIX file system hierarchy (see Table 5 1).
Table 5 1 Suite definition analogy with UNIX file system

Suite

File system

Family

Directory

Task

File (executable)

Event

Signal (not part of the file system)

Meter

Numerical signal (not part of the file system)

Label

Text signal (not part of the file system)

Dependency

Soft link (can span file systems)

Normally a suite is defined using a file, or via the python API. Suite definitions are best stored in a suite per file.
A suite definition is normally placed in a definition file. Typically the name for the file is suitename.def, but any name may be used.
It is good practice to list all the attributes for families and suites before any tasks are defined. This makes the reading of the suite-definition file easier.
There are two ways of defining a suite.