ecFlow generates time and date variables in various formats from the clock. There is a separate clock for every suite. Scripts can make use of these generated variables. The variables are available at the suite level and may be overridden by an edit keyword at the suite, family, or task level. In ecflow_ui generated variables are bracketed, e.g. (ECF_TRYNO = 0).
These variables are generated by ecFlow from the information in the definition file and are available for use in ecFlow files. Normally there is no need to override the value by using edit statement in the definition file. Table 4 5 shows a list of generated variables.
Table 4 5 Generated variables
Defined for | Variable name | Explanation | Example |
---|---|---|---|
server | ECF_TRIES | The default number of tries for each task | 2 |
ECF_PORT | The port number | 3141 | |
ECF_NODE | The hostname of the machine running ECF | host_1 | |
ECF_HOME | Home for all the ecFlow files | $CWD | |
ECF_JOB_CMD | Command to be executed to send a job | %ECF_JOB% 1> %ECF_JOBOUT% 2>&1 | |
ECF_LISTS | Name of the ecFlow white-list file | ecf.lists | |
ECF_PASS | Default password string to replace the real password, when communicating with the server. | DJP | |
ECF_LOG | Name of the ecFlow history, or log file | ecf.log | |
ECF_CHECK | Name of the checkpoint file | ecf.check | |
ECF_CHECKOLD | Name of the backup of the checkpoint file | ecf.check.b | |
Suite | SUITE | The name of the suite | Backarc |
DATE | Date of the suite in format DD.MM.YYYY | 21.02.2012 | |
DAY | Full name of the weekday | Sunday | |
DD | Day of the month, with two digits | 07 | |
DOW | Day Of the Week | 0 | |
DOY | Day Of the Year | 52 | |
MM | The month of the year, with two digits | 02 | |
MONTH | Full name of the month | February | |
YYYY | A year with four digits | 2012 | |
ECF_DATE | Single date in format YYYYMMDD | 20120221 | |
ECF_TIME | Time of the suites clock, HH:MM | 20:32 | |
ECF_CLOCK | Composite weekday, month, Day Of the Week, Day Of Year | sunday:february:0:52 | |
Family | FAMILY | The name of the family, (avoid using) | get/ocean |
FAMILY1 | The last part of the family, (avoid using) | Ocean | |
Task | TASK | The name of the task | Getobs |
ECF_RID | The Request ID of the job (only for running jobs) | PID | |
ECF_TRYNO | The current try number for the task. After begin it is 1. The number is advanced if the job is re-run. Used for in output and job-file numbering. Since this variable must be numeric and is used in the file name generation, it should not be defined by the user. | 1 | |
ECF_NAME | Full name of the task | /backarc/get/getobs/getobs | |
ECF_PASS | Password for the task to enable login to ECF | xyZ12Abx | |
ECF_SCRIPT | The full pathname for the script(if ECFFILES was not used). The variable is composed as ECF_HOME/ECF_NAME.ecf, | /home/ma/map/ECF/back/ get/getobs/ getobs.ecf | |
ECF_JOB | Name of the job file created by ECF. The variable is composed of ECF_HOME/ECF_NAME.jobECF_TRYNO. | /some/path/ back/get/ getobs/ getobs.job1 | |
ECF_JOBOUT | The filename of the job output. ecFlow makes the directory from ECF_HOME down to the last level. The variable is composed of ECF_HOME/ECF_NAME.ECF_TRYNO. | /some/path/ back/get/ getobs/ getobs.1 |
Note for a suite: There are many variables derived from the clock of the suite.
Note for a family: For the variable FAMILY the value is generated from each family name by adding a slash, '/', in between.
Note for a task: The password exists only at submission time. During job execution, only the encrypted password is available in ECF. If a task does not have a variable ECF_PASS, ecFlow generates one. This is the only variable that is not searched in the normal way.