ECFLOW is a client/server workflow package that enables users to run a large number of programs (with dependencies on each other and on time) in a controlled environment. For additional information and introduction to ECFLOW please see: Ecflow User Manual
The aim of this tutorial is to introduce you to ecFlow functionality by building a set of simple suites. Some extension exercises then follow.
Each page will introduce a new concept and provides a list of things to do. Within most pages, there are hypertext links that point to relevant information in the online ecFlow documentation.
There are two main methods for describing a suite to the ecFlow server. The first is to write a text definition file which is then loaded to the server. The grammar of this text definition file is described here 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 written using any language which in itself supports conditional statements. The language is similar to that offered by SMS/CDP (previously used at ECMWF) and as such may be an appropriate migration path for some.
However, ecFlow can also be accessed using a python API which allows more functionality and as such is our preferred way to define suites to the ecFlow server. See ecFlow Python Api .