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.

NameTypeAnnotation
timeSeries
timeSeriesloop is called for every point in time
variableLoopTime
stringvariable with time of each loop
variableLoopIndex
stringvariable with index of current iteration (starts with zero)
variableLoopCount
stringvariable with total number of iterations
condition
conditioncheck before each loop step

TimeIntervals

Loop over the intervals between points in time.

NameTypeAnnotation
timeIntervals
timeSeriesloop is called for every interval
variableLoopTimeStart
stringvariable with starting time of each interval
variableLoopTimeEnd
stringvariable with ending time of each interval
variableLoopIndex
stringvariable with index of current iteration (starts with zero)
variableLoopCount
stringvariable with total number of iterations
condition
conditioncheck before each loop step

StringList

Loop over list of strings.

NameTypeAnnotation
string
stringexplicit list of strings
variableLoopString
stringname of the variable to be replaced
variableLoopIndex
stringvariable with index of current iteration (starts with zero)
variableLoopCount
stringvariable with total number of iterations
condition
conditioncheck 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.

NameTypeAnnotation
row
sequencerows of a table
cell
stringlist of columns in a row
transpose
booleanloop over columns instead of rows
variableLoopString
string1. variable name for the 1. column, next variable name for the 2. column, ...
variableLoopIndex
stringvariable with index of current iteration (starts with zero)
variableLoopCount
stringvariable with total number of iterations
condition
conditioncheck before each loop step

FileStringList

Loop over list of strings from files.

NameTypeAnnotation
inputfile
filenamestring list file
variableLoopString
stringname of the variable to be replaced
variableLoopIndex
stringvariable with index of current iteration (starts with zero)
variableLoopCount
stringvariable with total number of iterations
condition
conditioncheck before each loop step

FileStringTable

Loop over rows of a table containing strings. Each row must have the same number of columns.

NameTypeAnnotation
inputfile
filenamestring table file with multiple columns
transpose
booleanloop over columns instead of rows
variableLoopString
string1. variable name for the 1. column, next variable name for the 2. column, ...
variableLoopIndex
stringvariable with index of current iteration (starts with zero)
variableLoopCount
stringvariable with total number of iterations
condition
conditioncheck before each loop step

FileTextLines

Loop over lines of a text file.

NameTypeAnnotation
inputfile
filenamesimple text file with lines
startIndex
uintstart at element startIndex (counting from 0)
count
uintuse number of loops only (default: use all)
variableLoopLine
stringname of the variable to be replaced
variableLoopIndex
stringvariable with index of current iteration (starts with zero)
variableLoopCount
stringvariable with total number of iterations
condition
conditioncheck 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.

NameTypeAnnotation
inputfile
filename
transpose
booleaneffectively loop over columns
startRow
expressionstart at this row (variable: rows)
countRows
expressionuse this many rows (variable: rows)
variableLoop
expressiondefine a variable by name = expression (input columns are named data0, data1, ...)
variableLoopIndex
stringvariable with index of current iteration (starts with zero)
variableLoopCount
stringvariable with total number of iterations
condition
conditioncheck before each loop step

NumberSequence

Loop over sequence of numbers.

NameTypeAnnotation
rangeStart
doublestart of range
rangeEnd
doubleend of range (inclusive)
sampling
doublesampling
variableLoopNumber
stringname of the variable to be replaced
variableLoopIndex
stringvariable with index of current iteration (starts with zero)
variableLoopCount
stringvariable with total number of iterations
condition
conditioncheck before each loop step

DirectoryListing

Loop over files of a directory.

NameTypeAnnotation
directory
filenamedirectory
pattern
stringwildcard pattern
isRegularExpression
booleanpattern is a regular expression
variableLoopFile
stringname of the variable to be replaced
variableLoopIndex
stringvariable with index of current iteration (starts with zero)
variableLoopCount
stringvariable with total number of iterations
condition
conditioncheck before each loop step

CommandOutput

Loop over lines of command output.

NameTypeAnnotation
command
filenameeach output line becomes a loop iteration
silently
booleanwithout showing the output.
variableLoopString
stringname of the variable to be replaced
variableLoopIndex
stringvariable with index of current iteration (starts with zero)
variableLoopCount
stringvariable with total number of iterations
condition
conditioncheck before each loop step

PlatformEquipment

Loop over specific equipment of a platform file.

NameTypeAnnotation
inputfilePlatform
filenameplatform info file
equipmentType
choiceequipment 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
stringvariable with name
variableLoopSerial
stringvariable with serial
variableLoopInfo
stringvariable with radome (antenna) or version (receiver)
variableLoopTimeStart
stringvariable with start time
variableLoopTimeEnd
stringvariable with end time
variableLoopPositionX
stringvariable with position x
variableLoopPositionY
stringvariable with position y
variableLoopPositionY
stringvariable with position z
variableLoopIndex
stringvariable with index of current iteration (starts with zero)
variableLoopCount
stringvariable with total number of iterations
condition
conditioncheck before each loop step

Loop

Loop over nested loops. First loop is outermost loop, every subsequent loop is one level below the previous loop.

NameTypeAnnotation
loop
loopsubloop
variableLoopIndex
stringvariable with index of current iteration (starts with zero)
condition
conditioncheck 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.

NameTypeAnnotation
loop
loop
sortString
stringuse {loopVariables}, sort alphabetically
descending
booleansorting descending instead of ascending
removeDuplicatesString
stringuse {loopVariables}, remove duplicates (order is preserved)
variableLoopIndex
stringvariable with index of current iteration (starts with zero)
variableLoopCount
stringvariable with total number of iterations
condition
conditioncheck before each loop step

ManualTable

DEPRECATED since 2025-09-27. Use LoopStringTable instead.

NameTypeAnnotation
table
choicedefine table by rows/columns
rowWise
sequencedefine table by rows
row
sequencedefine table by rows
cell
stringexplicit list of cells in row/column
columnWise
sequencedefine table by columns
column
sequencedefine table by columns
cell
stringexplicit list of cells in row/column
variableLoopString
string1. variable name for the 1. column, next variable name for the 2. column, ...
variableLoopIndex
stringvariable with index of current iteration (starts with zero)
variableLoopCount
stringvariable with total number of iterations
condition
conditioncheck before each loop step

FileGnssStationInfo

DEPRECATED since 2022-11-11. Use LoopPlatformEquipment instead.

NameTypeAnnotation
inputfileGnssStationInfo
filenamestation/transmitter info file
infoType
choiceinfo to loop over
antenna
loop over antennas
receiver
loop over receivers
variableLoopName
stringvariable with antenna/receiver name
variableLoopSerial
stringvariable with antenna/receiver serial
variableLoopInfo
stringvariable with radome (antenna) or version (receiver)
variableLoopTimeStart
stringvariable with antenna/receiver start time
variableLoopTimeEnd
stringvariable with antenna/receiver end time
variableLoopIndex
stringvariable with index of current iteration (starts with zero)
variableLoopCount
stringvariable with total number of iterations
condition
conditioncheck before each loop step