File: Suite.rst

package info (click to toggle)
ecflow 5.15.2-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 51,868 kB
  • sloc: cpp: 269,341; python: 22,756; sh: 3,609; perl: 770; xml: 333; f90: 204; ansic: 141; makefile: 70
file content (69 lines) | stat: -rw-r--r-- 1,865 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
ecflow.Suite
////////////


.. py:class:: Suite
   :module: ecflow

   Bases: :py:class:`~ecflow.NodeContainer`

A :term:`suite` is a collection of Families,Tasks,Variables, :term:`repeat` and :term:`clock` definitions

Suite is the only node that can be started using the begin API.
There are several ways of adding a suite, see example below and :py:class:`ecflow.Defs.add_suite`

Constructor::

  Suite(name, Nodes | attributes)
      string name : The Suite name. name must consist of alpha numeric characters or
                    underscore or dot. The first character cannot be a dot, as this
                    will interfere with trigger expressions. Case is significant
      Nodes | Attributes:(optional)

Exception:

- Throws a RuntimeError if the name is not valid
- Throws a RuntimeError if duplicate suite names added

Usage:

.. code-block:: python

  defs = Defs()                  # create a empty definition. Root of all Suites
  suite = Suite('suite_1')       # create a stand alone suite
  defs.add_suite(suite)          # add suite to definition
  suite2 = defs.add_suite('s2')  # create a suite and add it to the defs

  defs = Defs(
           Suite('s1',
              Family('f1',
                 Task('t1'))))   # create in in-place


.. py:method:: Suite.add_clock( (Suite)arg1, (Clock)arg2) -> Suite
   :module: ecflow


.. py:method:: Suite.add_end_clock( (Suite)arg1, (Clock)arg2) -> Suite :
   :module: ecflow

End clock, used to mark end of simulation


.. py:method:: Suite.begun( (Suite)arg1) -> bool :
   :module: ecflow

Returns true if the :term:`suite` has begun, false otherwise


.. py:method:: Suite.get_clock( (Suite)arg1) -> Clock :
   :module: ecflow

Returns the :term:`suite` :term:`clock`


.. py:method:: Suite.get_end_clock( (Suite)arg1) -> Clock :
   :module: ecflow

Return the suite's end clock. Can be NULL