Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...


To run the tasks on a remote machine you can use the UNIX command rsh (or ssh). We would like the name of the host to be defined by an ecFlow variable called HOST. We assume that all the files are visible on all the hosts, using NFS. You can then redefine the ECF_JOB_CMD as follows for ksh:

Code Block
edit ECF_JOB_CMD "rshssh %HOST% '%ECF_JOB% > %ECF_JOBOUT% 2>&1 &'"


As ecFlow makes use of standard UNIX permissions you may experience problems using rsh ssh. Make sure that the file $HOME/.rhosts contains a line with your username and the machine where your ecFlow is runningssh contains the right settings.
If your login shell is csh, you can define ECF_JOB_CMD as:

Code Block
edit ECF_JOB_CMD "rshssh %HOST% '%ECF_JOB% >& %ECF_JOBOUT%'"


You can also submit tasks directly to the relevant queuing system on the target machine. In fact, at ECMWF, we have written a UNIX script to submit tasks to multiple systems and multiple queuing systems (ecf_submit). An example ecf_submit script is included with the ecFlow release. 

Code Block
edit ECF_JOB_CMD "ecf_submit %USER% %SCHOST% %ECF_JOB% %ECF_JOBOUT%"


Alongside this, we include into our 'ecf' scripts a generic script header containing typical queuing commands (such as wall clock time and priority), e.g.

...

The ecf_submit script can replace these generic queuing commands with the relevant commands for the host to which the task is submitted and submit the task-relevant way, e.g. for a PBS system it replaces the QSUB commands with the equivalent PBS commands.

...