Versions Compared

Key

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

...

  • The variables that are used by ecFlow, like ECF_HOME.

  • The variables that are defined by the user.
    They should not start with “ECF”.
    It is good practice to name these variables with capital letters.
  • The variables that are generated by ecFlow, and that you can use in
    your jobs, like ECF_DATE which contains the date of the suite.

 

 

Ecf Script

In the previous example, we have copied the file t1.ecf to the file t2.ecf.

Edit those two files so they call the unix sleep command with a variable
called SLEEP as a parameter.
 
Code Block
languagebash
%include <head.h>
echo "I will now sleep for %SLEEP% seconds"
sleep %SLEEP%
%include <tail.h>

 

...

Python

#!/usr/bin/env python2.7
import os
import ecflow  

def create_family_f1():
    f1 = ecflow.Family("f1")
    f1.add_task("t1").add_variable("SLEEP", 20)
    f1.add_task("t2").add_variable("SLEEP", 20)
    return f1      
      
print "Creating suite definition"   
defs = ecflow.Defs()
suite = defs.add_suite("test")
suite.add_variable("ECF_INCLUDE", os.getenv("HOME") + "/course")
suite.add_variable("ECF_HOME",    os.getenv("HOME") + "/course")

suite.add_family( create_family_f1() )
print defs

print "Checking job creation: .ecf -> .job0"   
print defs.check_job_creation()

print "Saving definition to file 'test.def'"
defs.save_as_defs("test.def")

What to do

  1. Do the modifications
  2. Replace the suite
  3. Watch in ecflowview. You should see the tasks with a status active for 20 secondssecond
     
Horizontal Navigation Bar
Button Group

Button Hyperlink
titlePrevious
typestandard
urlhttps://software.ecmwf.int/wiki/display/ECFLOW/Families
Button Hyperlink
titleUp
typestandard
urlhttps://software.ecmwf.int/wiki/display/ECFLOW/Going+Further
Button Hyperlink
titleNext
typestandard
urlhttps://software.ecmwf.int/wiki/display/ECFLOW/Variable+inheritance

...