Versions Compared

Key

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

...

Ecf Script

We will add a new task /test/f4/f5/t1.
Create new ecf script file $HOME/course/test/f4/f5/t1.ecf to use these variables.

 

Code Block
languagebash
title $HOME/course/test/f4/f5/t1.ecf
%include <head.h>
ecflow_client --label=info "My name is %NAME%" "My value is %VALUE%" "My date is %DATE%"
ecflow_client --label=date "year:%DATE_YYYY% month:%DATE_MM% day of month:%DATE_DD% day of week:%DATE_DOW%" # reference repeat date generated variables
sleep %SLEEP%
%include <tail.h>

 

Text

Let us modify the suite definition file again

Code Block
# Definition of the suite test.
suite test
 edit ECF_INCLUDE "$HOME/course"
 edit ECF_HOME    "$HOME/course"

 family f4
     edit SLEEP 2
     repeat string NAME a b c d e f
     family f5
         repeat integer VALUE 1 10
         task t1
             repeat date DATE 20101230 20110105
             label info ""
             label date ""
    endfamilyendfamily
 endfamily
endsuite

 

Python

#!/usr/bin/env python2.7
import os
import ecflow  
    
def create_family_f4():
    f4 = ecflow.Family("f4")
    f4.add_variable("SLEEP", 2)
    f4.add_repeat( ecflow.RepeatString("NAME", ["a", "b", "c", "d", "e", "f" ] ) )
   
    f5 = f4.add_family("f5")
    f5.add_repeat( ecflow.RepeatInteger("VALUE", 1, 10) )
   
    t1 = f5.add_task("t1")
    t1.add_repeat( ecflow.RepeatDate("DATE", 20101230, 20110105) )
    t1.add_label("info", "")
t1.add_label("date", "")
return f4 print "Creating suite definition" defs = ecflow.Defs() suite = defs.add_suite("test") suite.add_variable("ECF_INCLUDE", os.path.join(os.getenv("HOME"),  "course")) suite.add_variable("ECF_HOME", os.path.join(os.getenv("HOME"),  "course")) suite.add_family( create_family_f4() ) 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. Type in the changes
  2. Replace the suite definition
  3. How many times will /test/f4/f5/t1 run?
  4. In ecflow_ui , try to modify the values of a repeat
      

...