Loop
Generates a sequence with variables to loop over. The variable names can be set with variableLoop... and the current values are assigned to the variables for each loop step.
With condition only a subset of loop steps are performed. The variableLoopIndex and variableLoopCount are not affected by the condition. The result would therefore be the same as using LoopPrograms with a nested IfPrograms.
See Loop and conditions for usage.
TimeSeries
Loop over points in time.
Name | Type | Annotation |
---|---|---|
timeSeries | timeSeries | loop is called for every point in time |
variableLoopTime | string | variable with time of each loop |
variableLoopIndex | string | variable with index of current iteration (starts with zero) |
variableLoopCount | string | variable with total number of iterations |
condition | condition | check before each loop step |
TimeIntervals
Loop over the intervals between points in time.
Name | Type | Annotation |
---|---|---|
timeIntervals | timeSeries | loop is called for every interval |
variableLoopTimeStart | string | variable with starting time of each interval |
variableLoopTimeEnd | string | variable with ending time of each interval |
variableLoopIndex | string | variable with index of current iteration (starts with zero) |
variableLoopCount | string | variable with total number of iterations |
condition | condition | check before each loop step |
StringList
Loop over list of strings.
Name | Type | Annotation |
---|---|---|
string | string | explicit list of strings |
variableLoopString | string | name of the variable to be replaced |
variableLoopIndex | string | variable with index of current iteration (starts with zero) |
variableLoopCount | string | variable with total number of iterations |
condition | condition | check before each loop step |
StringTable
Loop over rows of a table containing strings. Each row must have the same number of cells. For each column an extra variableLoopString can be defined.
Name | Type | Annotation |
---|---|---|
row | sequence | rows of a table |
cell | string | list of columns in a row |
transpose | boolean | loop over columns instead of rows |
variableLoopString | string | 1. variable name for the 1. column, next variable name for the 2. column, ... |
variableLoopIndex | string | variable with index of current iteration (starts with zero) |
variableLoopCount | string | variable with total number of iterations |
condition | condition | check before each loop step |
FileStringList
Loop over list of strings from files.
Name | Type | Annotation |
---|---|---|
inputfile | filename | string list file |
variableLoopString | string | name of the variable to be replaced |
variableLoopIndex | string | variable with index of current iteration (starts with zero) |
variableLoopCount | string | variable with total number of iterations |
condition | condition | check before each loop step |
FileStringTable
Loop over rows of a table containing strings. Each row must have the same number of columns.
Name | Type | Annotation |
---|---|---|
inputfile | filename | string table file with multiple columns |
transpose | boolean | loop over columns instead of rows |
variableLoopString | string | 1. variable name for the 1. column, next variable name for the 2. column, ... |
variableLoopIndex | string | variable with index of current iteration (starts with zero) |
variableLoopCount | string | variable with total number of iterations |
condition | condition | check before each loop step |
FileTextLines
Loop over lines of a text file.
Name | Type | Annotation |
---|---|---|
inputfile | filename | simple text file with lines |
startIndex | uint | start at element startIndex (counting from 0) |
count | uint | use number of loops only (default: use all) |
variableLoopLine | string | name of the variable to be replaced |
variableLoopIndex | string | variable with index of current iteration (starts with zero) |
variableLoopCount | string | variable with total number of iterations |
condition | condition | check before each loop step |
Matrix
Loop over rows of a matrix. To define the loop variables the standard data variables of the matrix are available, see dataVariables.
Name | Type | Annotation |
---|---|---|
inputfile | filename | |
transpose | boolean | effectively loop over columns |
startRow | expression | start at this row (variable: rows) |
countRows | expression | use this many rows (variable: rows) |
variableLoop | expression | define a variable by name = expression (input columns are named data0, data1, ...) |
variableLoopIndex | string | variable with index of current iteration (starts with zero) |
variableLoopCount | string | variable with total number of iterations |
condition | condition | check before each loop step |
NumberSequence
Loop over sequence of numbers.
Name | Type | Annotation |
---|---|---|
rangeStart | double | start of range |
rangeEnd | double | end of range (inclusive) |
sampling | double | sampling |
variableLoopNumber | string | name of the variable to be replaced |
variableLoopIndex | string | variable with index of current iteration (starts with zero) |
variableLoopCount | string | variable with total number of iterations |
condition | condition | check before each loop step |
DirectoryListing
Loop over files of a directory.
Name | Type | Annotation |
---|---|---|
directory | filename | directory |
pattern | string | wildcard pattern |
isRegularExpression | boolean | pattern is a regular expression |
variableLoopFile | string | name of the variable to be replaced |
variableLoopIndex | string | variable with index of current iteration (starts with zero) |
variableLoopCount | string | variable with total number of iterations |
condition | condition | check before each loop step |
CommandOutput
Loop over lines of command output.
Name | Type | Annotation |
---|---|---|
command | filename | each output line becomes a loop iteration |
silently | boolean | without showing the output. |
variableLoopString | string | name of the variable to be replaced |
variableLoopIndex | string | variable with index of current iteration (starts with zero) |
variableLoopCount | string | variable with total number of iterations |
condition | condition | check before each loop step |
PlatformEquipment
Loop over specific equipment of a platform file.
Name | Type | Annotation |
---|---|---|
inputfilePlatform | filename | platform info file |
equipmentType | choice | equipment type to loop over |
all | loop over all types | |
gnssAntenna | loop over antennas | |
gnssReceiver | loop over receivers | |
slrStation | loop over SLR stations | |
slrRetroReflector | loop over laser retroreflectors | |
satelliteIdentifier | loop over satellite identifiers | |
other | loop over other types | |
variableLoopName | string | variable with name |
variableLoopSerial | string | variable with serial |
variableLoopInfo | string | variable with radome (antenna) or version (receiver) |
variableLoopTimeStart | string | variable with start time |
variableLoopTimeEnd | string | variable with end time |
variableLoopPositionX | string | variable with position x |
variableLoopPositionY | string | variable with position y |
variableLoopPositionY | string | variable with position z |
variableLoopIndex | string | variable with index of current iteration (starts with zero) |
variableLoopCount | string | variable with total number of iterations |
condition | condition | check before each loop step |
Loop
Loop over nested loops. First loop is outermost loop, every subsequent loop is one level below the previous loop.
Name | Type | Annotation |
---|---|---|
loop | loop | subloop |
variableLoopIndex | string | variable with index of current iteration (starts with zero) |
condition | condition | check before each loop step |
SortAndRemoveDuplicates
Perform the loop in the alphabetically order defined by the evaluated sortString for each loop step. So the string must contain loop variables. If sortString is empty, no sorting will take place.
Example: The sortString={loopTime:%m}
of a time series
sorts the times in ascending order by month.
The same principle is used to remove duplicates. If different loop steps evaluates removeDuplicatesString to the same string, only the first loop step is executed.
Name | Type | Annotation |
---|---|---|
loop | loop | |
sortString | string | use {loopVariables}, sort alphabetically |
descending | boolean | sorting descending instead of ascending |
removeDuplicatesString | string | use {loopVariables}, remove duplicates (order is preserved) |
variableLoopIndex | string | variable with index of current iteration (starts with zero) |
variableLoopCount | string | variable with total number of iterations |
condition | condition | check before each loop step |
ManualTable
DEPRECATED since 2025-09-27. Use LoopStringTable instead.
Name | Type | Annotation |
---|---|---|
table | choice | define table by rows/columns |
rowWise | sequence | define table by rows |
row | sequence | define table by rows |
cell | string | explicit list of cells in row/column |
columnWise | sequence | define table by columns |
column | sequence | define table by columns |
cell | string | explicit list of cells in row/column |
variableLoopString | string | 1. variable name for the 1. column, next variable name for the 2. column, ... |
variableLoopIndex | string | variable with index of current iteration (starts with zero) |
variableLoopCount | string | variable with total number of iterations |
condition | condition | check before each loop step |
FileGnssStationInfo
DEPRECATED since 2022-11-11. Use LoopPlatformEquipment instead.
Name | Type | Annotation |
---|---|---|
inputfileGnssStationInfo | filename | station/transmitter info file |
infoType | choice | info to loop over |
antenna | loop over antennas | |
receiver | loop over receivers | |
variableLoopName | string | variable with antenna/receiver name |
variableLoopSerial | string | variable with antenna/receiver serial |
variableLoopInfo | string | variable with radome (antenna) or version (receiver) |
variableLoopTimeStart | string | variable with antenna/receiver start time |
variableLoopTimeEnd | string | variable with antenna/receiver end time |
variableLoopIndex | string | variable with index of current iteration (starts with zero) |
variableLoopCount | string | variable with total number of iterations |
condition | condition | check before each loop step |