LoopPrograms

This program runs a list of programs in a loop.

If continueAfterError=yes and an error occurs, the remaining programs in the current iteration are skipped and the loop continues with the next iteration. Otherwise an exception is thrown.

If this program is executed on multiple processing nodes, the iterations can be computed in parallel, see parallelization. The first process serves as load balancer and the other processes are assigned to iterations according to processCountPerIteration. For example, running a loop containing three iterations on 13 processes with processCountPerIteration=4, runs the three iterations in parallel, with each iteration being assigned four processes. With parallelLog=yes all processes write output to screen and the log file. As the output can be quite confusing in this case, running GroupPrograms with an extra outputfileLog for each iteration (use the loop variables for the name of the log files) might be helpful.

NameTypeAnnotation
loop
loopsubprograms are called for every iteration
continueAfterError
booleancontinue with next iteration after error, otherwise throw exception
processCountPerIteration
uint0: use all processes for each iteration
parallelLog
booleanwrite to screen/log file from all processing nodes in parallelized loops
program
programType
This program is parallelized.