...
Figure 143 Elements of an Parallel Activity in the workflow.
loopLocationSetId
For a workflow, a location-loop can be defined in which each location (site) in a location set is run separately. The $LOOP_LOCATION_ID$ tag in the configuration can be used to point to the corresponding locationID of the current location. This is useful in combination with (related location) Constraints, because then it is possible to filter a locationSet on the basis of the $LOOP_LOCATION_ID$.
Examples
The workflow below runs seven moduleInstances. If the first moduleInstance fails in this example all other processing is stopped. If any of the other activities fail the processing will continue.
...
Code Block | ||
---|---|---|
| ||
<workflow xmlns="http://www.wldelft.nl/fews" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.wldelft.nl/fews http://fews.wldelft.nl/schemas/version1.0/workflow.xsd" version="1.1"> <parallel> <activity logStartedAsDebug="true" logFinishedAsDebug="true"> <runIndependent>false</runIndependent> <moduleInstanceId>RTCTools_KOT_Check_$RUNTYPE$</moduleInstanceId> <moduleConfigFileName>RTCTools_Check_Qinc_Fx</moduleConfigFileName> </activity> <activity logStartedAsDebug="true" logFinishedAsDebug="true"> <runIndependent>false</runIndependent> <moduleInstanceId>RTCTools_KOT_Check_$RUNTYPE$</moduleInstanceId> <moduleConfigFileName>RTCTools_Check_QO_Seed</moduleConfigFileName> </activity> <activity logStartedAsDebug="true" logFinishedAsDebug="true"> <runIndependent>false</runIndependent>/runIndependent> <moduleInstanceId>RTCTools_KOT_Check_$RUNTYPE$</moduleInstanceId> <moduleConfigFileName>RTCTools_Check_FB</moduleConfigFileName> </activity> <moduleInstanceId>RTCTools_KOT_Check_$RUNTYPE$</moduleInstanceId> <moduleConfigFileName>RTCTools_Check_FB</moduleConfigFileName> </activity> </parallel> </workflow></parallel> </workflow> |
loopLocationSetId
For a workflow, a location-loop can be defined in which each location (site) in a location set is run separately. The $LOOP_LOCATION_ID$ tag in the configuration can be used to point to the corresponding locationID of the current location. This is useful in combination with (related location) Constraints, because then it is possible to filter a locationSet on the basis of the $LOOP_LOCATION_ID$.
You can loop over a particular locationSet using the following config. In the ModuleInstance (e.g. exportActivity of a GeneralAdapter) in every 'loop' the $LOOP_LOCATION_ID$ tag will be replaced with the 'actual' locationId.
...
Example usage of $LOOP_LOCATION_ID$ in ModuleConfigFile":
Code Block | ||||
---|---|---|---|---|
| ||||
<timeSeriesSet> <moduleInstanceId>import</moduleInstanceId> <valueType>scalar</valueType <parameterId>H.obs</parameterId> <locationId>$LOOP_LOCATION_ID$</locationId> <timeSeriesType>external historical</timeSeriesType> <timeStep unit="day"/> <relativeViewPeriod unit="day" start="$START_DAYS$" end="1"/> <readWriteMode>read only</readWriteMode> </timeSeriesSet> |