Generated variables

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.

The table below shows a list of generated variables.

Defined for

Variable name

Explanation

Example

server

ECF_MICRO

The default preprocessor character used during variable substitution

%

server

ECF_TRIES

The default number of tries for each task

2

server

ECF_PORT

The port number

3141

server

ECF_NODE

The hostname of the machine running ECF

host_1

server

ECF_HOME

Home for all the ecFlow files

$CWD

server

ECF_JOB_CMD

Command to be executed to send a job

%ECF_JOB% 1> %ECF_JOBOUT% 2>&1

server

ECF_KILL_CMD

Command to be executed to kill a job

kill -15 %ECF_RID%

server

ECF_STATUS_CMD

Command to be executed to retrieve the job status

ps –pid %ECF_RID% -f > %ECF_JOB%.stat 2>&1

server

ECF_URL_CMD

Command to be executed to open job files in a browser

${BROWSER:=firefox} -new-tab %ECF_URL_BASE%/%ECF_URL%

server

ECF_URL_BASE

The base prefix for the job URL

https://confluence.ecmwf.int

server

ECF_URL

The stem suffix for the job URL

display/ECFLOW/ecflow+home

server

ECF_LISTS

Name of the ecFlow white-list file

ecf.lists

server

ECF_PASSWD

Default password string to replace the real password, when communicating with the server.

DJP

server

ECF_CUSTOM_PASSWD

Default custom password string to replace the real password, when communicating with the server.

DJP

server

ECF_LOG

Name of the ecFlow history, or log file

ecf.log

server

ECF_INTERVAL

The interval between check of time dependencies and job submission

60

server

ECF_CHECK

Name of the checkpoint file

ecf.check

server

ECF_CHECKOLD

Name of the backup of the checkpoint file

ecf.check.b

server

ECF_CHECKINTERVAL

The interval, in seconds, between saving current state into the checkpoint file

120

server

ECF_CHECKMODE

The mode to perform checkpoint file saving

CHECK_NEVER, CHECK_ON_TIME, CHECK_ALWAYS

suite

SUITE

The name of the suite

Backarc

suite

DATE

Date of the suite in format DD.MM.YYYY

21.02.2012

suite

DAY

Full name of the weekday

Sunday

suite

DD

Day of the month, with two digits

07

suite

DOW

Day Of the Week

0

suite

DOY

Day Of the Year

52

suite

MM

The month of the year, with two digits

02

suite

MONTH

Full name of the month

February

suite

YYYY

A year with four digits

2012

suite

ECF_DATE

Single date in format YYYYMMDD

20120221

suite

TIME

Time of the suites clock, HHMM

2032

suite

ECF_TIME

Time of the suites clock, HH:MM

20:32

suite

ECF_CLOCK

Composite weekday, month, Day Of the Week, Day Of Year

sunday:february:0:52

suite

ECF_JULIAN

Julian day

2455979

family

FAMILY

The name of the family, (avoid using)

get/ocean

family

FAMILY1

The last part of the family, (avoid using)

Ocean

task

TASK

The name of the task

Getobs

task

ECF_RID

The Request ID of the job (only for running jobs)

PID

task

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

task

ECF_NAME

Full name of the task

/backarc/get/getobs/getobs

task

ECF_PASS

Password for the task to enable login to ECF

xyZ12Abx

task

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

task

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

task

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

  • suite: There are many variables derived from the clock of the suite.

  • family: For the variable FAMILY the value is generated from each family name by adding a slash, ‘/’, in between.

  • 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.