Versions Compared

Key

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


Horizontal Navigation Bar


Button Group

Button Hyperlink
titlePrevious
typestandard
urlhttps://confluence.ecmwf.int/display/ECFLOW/Advanced+Topics
Button Hyperlink
titleUp
typestandard
urlhttps://software.ecmwf.int/wiki/display/ECFLOW/Advanced+Topics
Button Hyperlink
titleNext
typestandard
urlhttps://confluence.ecmwf.int/display/ECFLOW/Limits


It is sometimes useful to repeat the same task or family several times,
looping on a specific value. You can do that by defining a repeat attribute.
You can iterate over sequences of:
  • strings
  • integers
  • dates
  • arbitrary list of dates
A sequence of integers or dates is created by specifying the
first and last element, with an optional increment (the default is one).

From ecflow5 we can also now create a repeat with an arbitrary list of dates.


Code Block
repeat datelist YMD 20130101 20130102 20130103 20200101 20190101

An ecFlow variable, whose name corresponds to the name of the repeat,
will be generated. This can be used in scripts or trigger expressions.


Note

If repeat date, or repeat datelist are used in trigger expressions, they will use date arithmetic.


Repeat with day/date

The behaviour of day/date attribute under a repeat has changed from ecflow 4.0. Take the example below.

In ecflow 4.0, if task t1 took longer than 1 hour task t2 would not run.

In ecflow 5.0, once the day monday is free on family f1, its stays free until the automatic re-queue caused by the parent repeat. The net effect being that task t2 will still run, even if we have strayed into Tuesday.

Code Block
suite s1
  family f
    repeat integer rep 0 1
    family f1
       day monday  
       time 23:00
       task t1
       task t2 
            trigger t1 == complete
 ...

   

...