ecFlow makes heavy use of different kinds of variables. There are several kinds of variables:
- Environment variables that are set in the UNIX shell before the ECFLOW-programs start. These control the server, and client (CLI).
- Internal variables: suite definition variables. These control servers, ecflow_ui, and CLI.
- Generated variables: These are generated within the suite definition node tree during job creation and are available for use in the job file.
This chapter lists the generated and user-defined variables which have special meaning for ecFlow itself.
In an ecFlow script, ecFlow variables are written as text enclosed by a pair of %-characters (the micro-character.) As in C-format strings, if there are two %-characters together they are concatenated to form a single %-character in the job-file. For example, if you need to execute the UNIX date command "date +%d". For a job, you must enter it as "date +%%d" into the ecFlow file.
The default micro-character is defined when ecFlow is compiled. It is possible to configure the micro-character to be defined as a variable ECF_MICRO (see section 3.6). The default installation uses the %-character.
You can define variables in a suite definition file using the edit keyword. User-defined variables can occur at any node level: suite, family, or task. ecFlow also generates variables from the node name, the host on which ecFlow is running, the time, the date, and so on.