Skip to content

Transformation functions — generation, lookup & modeling

This page is the generated field list for the generation, lookup & modeling transformation functions — synthesizing a series from scratch, manipulating ensemble members, scoring forecast accuracy, mapping values through a lookup table, regression, and free-format custom expressions. Part of the transformation function catalogue; see that page for the shared <transformationModule>/<transformation> mechanics these all sit inside.

Covers : generation (constant distribution, recession-mean/pattern repeat, tidal constituents), generationEnsemble (copy/select/combine ensemble members), performanceIndicatorsLeadTimeAccuracy (forecast skill vs. lead time — BIAS, RMSE, …), lookup (1D/2D/3D table lookup), regression (principal component analysis), custom (a fully user-supplied Java class), user (free-format expression, e.g. "X1 + a", with named coefficients).

Used inside : A <transformation>, <periodTransformation>, or <rangeTransformation> in a transformationModule file.

Related : Transformations task guide’s “Arithmetic / user-defined” family row.

Config/ModuleConfigFiles/ConvertUnitsCustom 1.00 default.xml
<?xml version="1.0" encoding="UTF-8"?>
<transformationModule xmlns="http://www.wldelft.nl/fews" version="1.0">
<transformation id="ApplyRatingOffset">
<user>
<simple>
<inputVariableDefinition>
<variableId>H</variableId>
<locationId>Gauge01</locationId>
<templateVariableId>H</templateVariableId>
<timeSeriesSet>
<moduleInstanceId>ImportObservations</moduleInstanceId>
<valueType>scalar</valueType>
<parameterId>H.obs</parameterId>
<locationId>Gauge01</locationId>
<timeSeriesType>external historical</timeSeriesType>
<timeStep unit="hour" multiplier="1"/>
<readWriteMode>read only</readWriteMode>
</timeSeriesSet>
</inputVariableDefinition>
<expression>H + offset</expression>
<outputVariable>
<timeSeriesSet>
<moduleInstanceId>ConvertUnitsCustom</moduleInstanceId>
<valueType>scalar</valueType>
<parameterId>H.corrected</parameterId>
<locationId>Gauge01</locationId>
<timeSeriesType>simulated historical</timeSeriesType>
<timeStep unit="hour" multiplier="1"/>
<readWriteMode>add originals</readWriteMode>
</timeSeriesSet>
</outputVariable>
<coefficientSet>
<coefficient id="offset" value="0.15"/>
</coefficientSet>
</simple>
</user>
</transformation>
</transformationModule>

Auto-generated from transformationTypes.xsd. Descriptions are the schema's own annotations.

Function <generation>

ElementTypeCardinalityDescription
constant GenerationConstantComplexType required Does an even distribution of the totalAmount over the forecastPeriod period starting after the delay. The delay is a period between T0 and the start of the forecastPeriod for which 0 units defined in the output variable is generated. Example: timeLength = 1 hour, totalAmount = 10, delay = 2 hours. After running this transformation, the result will be [0, 5, 5]. Set relativeViewPeriod to [start = 0, end = delay + forecastPeriod]
recessionMean GenerationRecessionMeanComplexType required Will repeat the mean value defined in the history period with recession each repeat. First, the mean for the values listed in the history period is calculated. Then starting at T0 for the duration in 'length', the following is repeated: the mean value is written to the output variable for the same value of timesteps present in the historie period, after which the mean is multiplied by the resessionFactor. Example: length = 5 hour, historie = 2 hour, factor = 0.5, input = [3, 5, 3, (t0)4]. After running this transformation it would result in [(t0)4, 4, 2, 2, 1]. Set relativeViewPeriod to [start = -historie, end = length]
recessionPattern GenerationRecessionPatternComplexType required Will repeat the pattern in the history period with recession each repeat. First, the values listed in the history period are stored as historic amounts. Then starting at T0 for the duration in 'length', the following is repeated: all historic values are copied to the output variable for the amount timesteps present in the historie period, after which the historic values are multiplied by the resessionFactor. Example: length = 5 hour, historie = 2 hour, factor = 0.5, input = [3,5,3,(t0)4]. After running this transformation it would result in [(t0)5 ,3 ,2.5 ,1.5 ,1.25]. Set relativeViewPeriod to [start = -historie, end = length]
tidalConstituents GenerationTidalConstituentsComplexType required Uses one or more input harmonic tidal constituents to generate an output time series.

Function <generationEnsemble>

ElementTypeCardinalityDescription
copy CopyEnsembleTransformationComplexType required This transformation can be used to copy the ensembles
selectRankedMembers SelectRankedMembersTransformationComplexType required Since 2018.02 Selects ensemble members by ranking of the (statistical) results of the ensemble members
selectHistoricMembers SelectHistoricMembersTransformationComplexType required Since 2013.01. FEWS-7893. This transformation uses scalar time series to make a sub-selection of ensemble members
combineMembers CombineMembersEnsembleTransformationComplexType required Since 2013.01. FEWS-8129. This transformation merges members of two or more ensembles into one bigger ensemble. Only works when the ensemble member ids are unique over all input variables
combineForecastMembers CombineForecastMembersEnsembleTransformationComplexType required Since 2013.01. FEWS-8505. This transformation merges members of two or more ensemble forecasts into one bigger ensemble

Function <performanceIndicatorsLeadTimeAccuracy>

ElementTypeCardinalityDescription
bias PerformanceIndicatorsLeadTimeAccuracyComplexType required Error = (forecastValue - observedValue). Bias = (sum of the errors of all forecasts) / numberOfForecasts.
rootMeanSquareError PerformanceIndicatorsLeadTimeAccuracyComplexType required Error = (forecastValue - observedValue). RMSE = sqrt[(sum of the squared errors of all forecasts) / numberOfForecasts].

Function <lookup>

ElementTypeCardinalityDescription
simple SimpleTableLookupComplexType required Function that is defined by [input, output] value pairs. For input values for which there is no output value defined, the output value is determined using interpolation or extrapolation, depending on the specified options.
twoDimensionalLookup TwoDimensionalLookupComplexType required Function that is defined by [input1, input2, output] value pairs. For input values for which there is no output value defined, the output value is determined using interpolation or extrapolation, depending on the specified options.
twoDimensionalTable MultipleTableLookupComplexType required This function has a coefficientSet with a two-dimensional table. For each row and each column the table contains an output value. The values of the rowIndexLookupVariable and the columnIndexLookupVariable are used to lookup a row and a column in the table to get the output value from.
threeDimensionalLookup ThreeDimensionalLookupComplexType required This transformation function is used to calculate an output value based on a lookup table. This function uses 3 input variables to perform the lookup. Linear interpolation only, no extrapolation.Data source is csv file.

Function <regression>

ElementTypeCardinalityDescription
principalComponentAnalysis PrincipalComponentAnalysisComplexType required This transformations derives an equation to estimate the historical model results with historical observations. The rmse of the estimated model results is also calculated. By using the equation the current model results are estimated by using the current observations.

Function <custom>

ElementTypeCardinalityDescription
userDefined UserDefinedTransformationComplexType required This transformation can be used to define a custom transformation

Function <user>

ElementTypeCardinalityDescription
periodic UserPeriodicComplexType required Function specified by a custom free format expression and coefficients. Output values will be shifted periodically to within a given range, e.g. [0, 360].
simple UserSimpleComplexType required Function specified by a custom free format expression and coefficients.

GenerationConstantComplexType

ElementTypeCardinalityDescription
className nameStringType optional Optional element to define the name of the class that should be executed to perform this transformation. Normally this element can be left out of the xml configuration, and the default class name will be used. This default class name is defined as the default value for this element in the xsd schema for this transformation. Only use this element if you need to use a custom class that is present in the program code.
period TransformationRunPeriodComplexType optional This element can be used to configure the run period of the transformation.
trimOutput trimOutputEnumStringType optional When true missing values at the start and end of the output will be removed before writing the data to the database. This can prevent existing values to be overwritten with missings.
One of: true, false, startOnly, endOnly
limitVariable InputVariableComplexType optional Optional limit variable. For each time step the value of this variable is checked against the limiting ranges defined in coefficientSets to determine which coefficientSet is used for that time step. A limit variable has to be a scalar variable.
outputVariable OutputVariableComplexType required Output Variable
className nameStringType optional
coefficientSet GenerationConstantCoefficientSetComplexType required · repeats One or more coefficientSets that are valid for different ranges of the defined limit variable. Ranges should not overlap.
coefficientSetFunctions GenerationConstantCoefficientSetFunctionsComplexType required A coefficientSetFunctions object. This is similar to a coefficientSet object, only the value elements are replaced by function elements. A function is an expression, e.g. "@N@ / 1000", in which tags between "@" signs refer to location attributes that are defined in the locationSets config file. The expression is evaluated after replacing the tags by actual values. These values can be different for different locations and time periods.
coefficientSetId idStringType required Identifier of a coefficientSet to use. CoefficientSets are defined in a transformationCoefficientSets file in the CoefficientSetsFiles directory.
coefficientSetFile fileStringType required Name of the file that contains the coefficientSet to use. This name should not include the file extension. CoefficientSets are defined in a transformationCoefficientSets file in the CoefficientSetsFiles directory.

GenerationRecessionMeanComplexType

ElementTypeCardinalityDescription
className nameStringType optional Optional element to define the name of the class that should be executed to perform this transformation. Normally this element can be left out of the xml configuration, and the default class name will be used. This default class name is defined as the default value for this element in the xsd schema for this transformation. Only use this element if you need to use a custom class that is present in the program code.
period TransformationRunPeriodComplexType optional This element can be used to configure the run period of the transformation.
trimOutput trimOutputEnumStringType optional When true missing values at the start and end of the output will be removed before writing the data to the database. This can prevent existing values to be overwritten with missings.
One of: true, false, startOnly, endOnly
limitVariable InputVariableComplexType optional Optional limit variable. For each time step the value of this variable is checked against the limiting ranges defined in coefficientSets to determine which coefficientSet is used for that time step. A limit variable has to be a scalar variable.
inputVariable InputVariableComplexType required Input Variable
outputVariable OutputVariableComplexType required Output Variable
className nameStringType optional
coefficientSet GenerationRecessionMeanCoefficientSetComplexType required · repeats One or more coefficientSets that are valid for different ranges of the defined limit variable. Ranges should not overlap.
coefficientSetFunctions GenerationRecessionMeanCoefficientSetFunctionsComplexType required A coefficientSetFunctions object. This is similar to a coefficientSet object, only the value elements are replaced by function elements. A function is an expression, e.g. "@N@ / 1000", in which tags between "@" signs refer to location attributes that are defined in the locationSets config file. The expression is evaluated after replacing the tags by actual values. These values can be different for different locations and time periods.
coefficientSetId idStringType required Identifier of a coefficientSet to use. CoefficientSets are defined in a transformationCoefficientSets file in the CoefficientSetsFiles directory.
coefficientSetFile fileStringType required Name of the file that contains the coefficientSet to use. This name should not include the file extension. CoefficientSets are defined in a transformationCoefficientSets file in the CoefficientSetsFiles directory.

GenerationRecessionPatternComplexType

ElementTypeCardinalityDescription
className nameStringType optional Optional element to define the name of the class that should be executed to perform this transformation. Normally this element can be left out of the xml configuration, and the default class name will be used. This default class name is defined as the default value for this element in the xsd schema for this transformation. Only use this element if you need to use a custom class that is present in the program code.
period TransformationRunPeriodComplexType optional This element can be used to configure the run period of the transformation.
trimOutput trimOutputEnumStringType optional When true missing values at the start and end of the output will be removed before writing the data to the database. This can prevent existing values to be overwritten with missings.
One of: true, false, startOnly, endOnly
limitVariable InputVariableComplexType optional Optional limit variable. For each time step the value of this variable is checked against the limiting ranges defined in coefficientSets to determine which coefficientSet is used for that time step. A limit variable has to be a scalar variable.
inputVariable InputVariableComplexType required Input Variable
outputVariable OutputVariableComplexType required Output Variable
className nameStringType optional
coefficientSet GenerationRecessionPatternCoefficientSetComplexType required · repeats One or more coefficientSets that are valid for different ranges of the defined limit variable. Ranges should not overlap.
coefficientSetFunctions GenerationRecessionPatternCoefficientSetFunctionsComplexType required A coefficientSetFunctions object. This is similar to a coefficientSet object, only the value elements are replaced by function elements. A function is an expression, e.g. "@N@ / 1000", in which tags between "@" signs refer to location attributes that are defined in the locationSets config file. The expression is evaluated after replacing the tags by actual values. These values can be different for different locations and time periods.
coefficientSetId idStringType required Identifier of a coefficientSet to use. CoefficientSets are defined in a transformationCoefficientSets file in the CoefficientSetsFiles directory.
coefficientSetFile fileStringType required Name of the file that contains the coefficientSet to use. This name should not include the file extension. CoefficientSets are defined in a transformationCoefficientSets file in the CoefficientSetsFiles directory.

GenerationTidalConstituentsComplexType

ElementTypeCardinalityDescription
className nameStringType optional Optional element to define the name of the class that should be executed to perform this transformation. Normally this element can be left out of the xml configuration, and the default class name will be used. This default class name is defined as the default value for this element in the xsd schema for this transformation. Only use this element if you need to use a custom class that is present in the program code.
period TransformationRunPeriodComplexType optional This element can be used to configure the run period of the transformation.
trimOutput trimOutputEnumStringType optional When true missing values at the start and end of the output will be removed before writing the data to the database. This can prevent existing values to be overwritten with missings.
One of: true, false, startOnly, endOnly
limitVariable InputVariableComplexType optional Optional limit variable. For each time step the value of this variable is checked against the limiting ranges defined in coefficientSets to determine which coefficientSet is used for that time step. A limit variable has to be a scalar variable.
outputVariable OutputVariableComplexType required Output variable in which the generated time series will be written.
className nameStringType optional Optional element to define the name of the class that should be executed to perform this transformation. Normally this element can be left out of the xml configuration, and the default class name will be used. This default class name is defined as the default value for this element in the xsd schema for this transformation. Only use this element if you need to use a custom class that is present in the program code.
coefficientSet GenerationTidalConstituentsCoefficientSetComplexType required · repeats One or more coefficientSets that are valid for different ranges of the defined limit variable. Ranges should not overlap.
coefficientSetFunctions GenerationTidalConstituentsCoefficientSetFunctionsComplexType required A coefficientSetFunctions object. This is similar to a coefficientSet object, only the value elements are replaced by function elements. A function is an expression, e.g. "@N@ / 1000", in which tags between "@" signs refer to location attributes that are defined in the locationSets config file. The expression is evaluated after replacing the tags by actual values. These values can be different for different locations and time periods.
coefficientSetId idStringType required Identifier of a coefficientSet to use. CoefficientSets are defined in a transformationCoefficientSets file in the CoefficientSetsFiles directory.
coefficientSetFile fileStringType required Name of the file that contains the coefficientSet to use. This name should not include the file extension. CoefficientSets are defined in a transformationCoefficientSets file in the CoefficientSetsFiles directory.

CopyEnsembleTransformationComplexType

Generates ensembles for all possible combinations of ensemble members of the input variables. The timeseries for a particular output ensemble member are created by copying of the input variable to the associated output variable. The input/output variables withing a group should have the same ensemble memeber id's, since these memeber id's are included just one in the combination.

ElementTypeCardinalityDescription
className nameStringType optional Optional element to define the name of the class that should be executed to perform this transformation. Normally this element can be left out of the xml configuration, and the default class name will be used. This default class name is defined as the default value for this element in the xsd schema for this transformation. Only use this element if you need to use a custom class that is present in the program code.
period TransformationRunPeriodComplexType optional This element can be used to configure the run period of the transformation.
trimOutput trimOutputEnumStringType optional When true missing values at the start and end of the output will be removed before writing the data to the database. This can prevent existing values to be overwritten with missings.
One of: true, false, startOnly, endOnly
className nameStringType optional
inputOutput InputOutputVariableComplexType required
inputOutputGroup InputOutputVariableGroupComplexType required

SelectRankedMembersTransformationComplexType

Selects ensemble members by ranking of the (statistical) results of the ensemble members

ElementTypeCardinalityDescription
className nameStringType optional Optional element to define the name of the class that should be executed to perform this transformation. Normally this element can be left out of the xml configuration, and the default class name will be used. This default class name is defined as the default value for this element in the xsd schema for this transformation. Only use this element if you need to use a custom class that is present in the program code.
period TransformationRunPeriodComplexType optional This element can be used to configure the run period of the transformation.
trimOutput trimOutputEnumStringType optional When true missing values at the start and end of the output will be removed before writing the data to the database. This can prevent existing values to be overwritten with missings.
One of: true, false, startOnly, endOnly
selectVariable SelectMembersVariableComplexType required Ensemble time series used for selecting of ensemble member Id's
inputOutput InputOutputVariableComplexType required · repeats Selected member Id's are used to select the same memebers from the inputVariable. The selected memebers are written to the outputVariable
className nameStringType optional

SelectHistoricMembersTransformationComplexType

This function reduces historic ensemble members using (climate) indices.

ElementTypeCardinalityDescription
className nameStringType optional Optional element to define the name of the class that should be executed to perform this transformation. Normally this element can be left out of the xml configuration, and the default class name will be used. This default class name is defined as the default value for this element in the xsd schema for this transformation. Only use this element if you need to use a custom class that is present in the program code.
period TransformationRunPeriodComplexType optional This element can be used to configure the run period of the transformation.
trimOutput trimOutputEnumStringType optional When true missing values at the start and end of the output will be removed before writing the data to the database. This can prevent existing values to be overwritten with missings.
One of: true, false, startOnly, endOnly
inputVariable InputVariableComplexType required Input ensemble timeseries. Each ensemble member should represent a year
selectVariable SelectHistoricMembersVariableComplexType required · repeats Index scalar timeseries used for ensemble member selection
outputVariable OutputVariableComplexType required Reduced ensemble timeseries. Contains selected members only
startWaterYear monthDayType optional First day of the waterYear
className nameStringType optional

CombineMembersEnsembleTransformationComplexType

This transformation merges members of two or more ensembles into one bigger ensemble

ElementTypeCardinalityDescription
className nameStringType optional Optional element to define the name of the class that should be executed to perform this transformation. Normally this element can be left out of the xml configuration, and the default class name will be used. This default class name is defined as the default value for this element in the xsd schema for this transformation. Only use this element if you need to use a custom class that is present in the program code.
period TransformationRunPeriodComplexType optional This element can be used to configure the run period of the transformation.
trimOutput trimOutputEnumStringType optional When true missing values at the start and end of the output will be removed before writing the data to the database. This can prevent existing values to be overwritten with missings.
One of: true, false, startOnly, endOnly
inputVariable InputVariableComplexType required · repeats Input ensemble timeseries
outputVariable OutputVariableComplexType required Output ensemble timeseries. This output ensemble contains all members from all input ensembles
className nameStringType optional

CombineForecastMembersEnsembleTransformationComplexType

This transformation merges members of two or more (ensemble) forecast into one ensemble

ElementTypeCardinalityDescription
className nameStringType optional Optional element to define the name of the class that should be executed to perform this transformation. Normally this element can be left out of the xml configuration, and the default class name will be used. This default class name is defined as the default value for this element in the xsd schema for this transformation. Only use this element if you need to use a custom class that is present in the program code.
period TransformationRunPeriodComplexType optional This element can be used to configure the run period of the transformation.
trimOutput trimOutputEnumStringType optional When true missing values at the start and end of the output will be removed before writing the data to the database. This can prevent existing values to be overwritten with missings.
One of: true, false, startOnly, endOnly
inputVariable InputVariableComplexType required Definition of the input (ensemble) forecasts
numberOfForecasts positiveInteger required Number of forecast to read
forecastSearchPeriod RelativePeriodComplexType optional Period in which numberOfForecasts should be searched
outputVariable OutputVariableComplexType required Definition of the output ensemble timeseries. This output ensemble contains all members from all (ensemble) forecasts that has been retrieved
className nameStringType optional

PerformanceIndicatorsLeadTimeAccuracyComplexType

ElementTypeCardinalityDescription
className nameStringType optional Optional element to define the name of the class that should be executed to perform this transformation. Normally this element can be left out of the xml configuration, and the default class name will be used. This default class name is defined as the default value for this element in the xsd schema for this transformation. Only use this element if you need to use a custom class that is present in the program code.
period TransformationRunPeriodComplexType optional This element can be used to configure the run period of the transformation.
trimOutput trimOutputEnumStringType optional When true missing values at the start and end of the output will be removed before writing the data to the database. This can prevent existing values to be overwritten with missings.
One of: true, false, startOnly, endOnly
observedVariable InputVariableComplexType required Observed input data for the performance indicator calculation.
forecastVariable InputVariableComplexType required The time series set of this variable will be used to find forecast input data within the configured forecastSearchPeriod. Only approved forecasts and external forecasts will be found. All forecasts found, will be used as input for the performance indicator calculation.
forecastSearchPeriod RelativePeriodComplexType required The forecastVariable time series set will be used to find all input forecasts that have a forecastTime within this period (startTime and endTime are both inclusive). This period is relative to T0. Only approved forecasts and external forecasts will be found.
ignoreMissing boolean required Default is true.
outputVariable OutputVariableComplexType required The calculated performance indicator value will be stored in this time series at T0.
className nameStringType optional Optional element to define the name of the class that should be executed to perform this transformation. Normally this element can be left out of the xml configuration, and the default class name will be used. This default class name is defined as the default value for this element in the xsd schema for this transformation. Only use this element if you need to use a custom class that is present in the program code.
leadTime RelativeTimeComplexType required Lead time relative to the forecast time of a given forecast. For a given forecast, only the value at validTime = (forecastTime + leadTime) will be used as input for the performance indicator calculation.
leadTimeWindow RelativePeriodComplexType required Lead time window relative to the forecast time of a given forecast. For a given forecast, only the values within the window (between forecastTime + leadTimeWindowStart and forecastTime + leadTimeWindowEnd) will be used as input for the performance indicator calculation.

SimpleTableLookupComplexType

if a default value cannot be found in the rules criteria, an output value is searched in the lookup table

ElementTypeCardinalityDescription
className nameStringType optional Optional element to define the name of the class that should be executed to perform this transformation. Normally this element can be left out of the xml configuration, and the default class name will be used. This default class name is defined as the default value for this element in the xsd schema for this transformation. Only use this element if you need to use a custom class that is present in the program code.
period TransformationRunPeriodComplexType optional This element can be used to configure the run period of the transformation.
trimOutput trimOutputEnumStringType optional When true missing values at the start and end of the output will be removed before writing the data to the database. This can prevent existing values to be overwritten with missings.
One of: true, false, startOnly, endOnly
limitVariable InputVariableComplexType optional Optional limit variable. For each time step the value of this variable is checked against the limiting ranges defined in coefficientSets to determine which coefficientSet is used for that time step. A limit variable has to be a scalar variable.
input InputVariableComplexType required
output OutputVariableComplexType required
className nameStringType optional Optional element to define the name of the class that should be executed to perform this transformation. Normally this element can be left out of the xml configuration, and the default class name will be used. This default class name is defined as the default value for this element in the xsd schema for this transformation. Only use this element if you need to use a custom class that is present in the program code.
coefficientSet SimpleTableLookupCoefficientSetComplexType required · repeats One or more coefficientSets that are valid for different ranges of the defined limit variable. Ranges should not overlap.
coefficientSetId idStringType required Identifier of a coefficientSet to use. CoefficientSets are defined in a transformationCoefficientSets file in the CoefficientSetsFiles directory.
coefficientSetFile fileStringType required Name of the file that contains the coefficientSet to use. This name should not include the file extension. CoefficientSets are defined in a transformationCoefficientSets file in the CoefficientSetsFiles directory.

TwoDimensionalLookupComplexType

performs a lookup with 2 input variables

ElementTypeCardinalityDescription
className nameStringType optional Optional element to define the name of the class that should be executed to perform this transformation. Normally this element can be left out of the xml configuration, and the default class name will be used. This default class name is defined as the default value for this element in the xsd schema for this transformation. Only use this element if you need to use a custom class that is present in the program code.
period TransformationRunPeriodComplexType optional This element can be used to configure the run period of the transformation.
trimOutput trimOutputEnumStringType optional When true missing values at the start and end of the output will be removed before writing the data to the database. This can prevent existing values to be overwritten with missings.
One of: true, false, startOnly, endOnly
limitVariable InputVariableComplexType optional Optional limit variable. For each time step the value of this variable is checked against the limiting ranges defined in coefficientSets to determine which coefficientSet is used for that time step. A limit variable has to be a scalar variable.
input1 InputVariableComplexType required
input2 InputVariableComplexType required
output OutputVariableComplexType required
className nameStringType optional Optional element to define the name of the class that should be executed to perform this transformation. Normally this element can be left out of the xml configuration, and the default class name will be used. This default class name is defined as the default value for this element in the xsd schema for this transformation. Only use this element if you need to use a custom class that is present in the program code.
coefficientSet TwoDimensionalLookupCoefficientSetComplexType required · repeats One or more coefficientSets that are valid for different ranges of the defined limit variable. Ranges should not overlap.
coefficientSetId idStringType required Identifier of a coefficientSet to use. CoefficientSets are defined in a transformationCoefficientSets file in the CoefficientSetsFiles directory.
coefficientSetFile fileStringType required Name of the file that contains the coefficientSet to use. This name should not include the file extension. CoefficientSets are defined in a transformationCoefficientSets file in the CoefficientSetsFiles directory.

MultipleTableLookupComplexType

ElementTypeCardinalityDescription
className nameStringType optional Optional element to define the name of the class that should be executed to perform this transformation. Normally this element can be left out of the xml configuration, and the default class name will be used. This default class name is defined as the default value for this element in the xsd schema for this transformation. Only use this element if you need to use a custom class that is present in the program code.
period TransformationRunPeriodComplexType optional This element can be used to configure the run period of the transformation.
trimOutput trimOutputEnumStringType optional When true missing values at the start and end of the output will be removed before writing the data to the database. This can prevent existing values to be overwritten with missings.
One of: true, false, startOnly, endOnly
limitVariable InputVariableComplexType optional Optional limit variable. For each time step the value of this variable is checked against the limiting ranges defined in coefficientSets to determine which coefficientSet is used for that time step. A limit variable has to be a scalar variable.
rowIndexLookupVariable InputVariableComplexType required
columnIndexLookupVariable InputVariableComplexType required
output OutputVariableComplexType required
className nameStringType optional Optional element to define the name of the class that should be executed to perform this transformation. Normally this element can be left out of the xml configuration, and the default class name will be used. This default class name is defined as the default value for this element in the xsd schema for this transformation. Only use this element if you need to use a custom class that is present in the program code.
coefficientSet MultipleTableLookupCoefficientSetComplexType required · repeats One or more coefficientSets that are valid for different ranges of the defined limit variable. Ranges should not overlap.
coefficientSetId idStringType required Identifier of a coefficientSet to use. CoefficientSets are defined in a transformationCoefficientSets file in the CoefficientSetsFiles directory.
coefficientSetFile fileStringType required Name of the file that contains the coefficientSet to use. This name should not include the file extension. CoefficientSets are defined in a transformationCoefficientSets file in the CoefficientSetsFiles directory.

ThreeDimensionalLookupComplexType

performs a lookup with 3 input variables

ElementTypeCardinalityDescription
className nameStringType optional Optional element to define the name of the class that should be executed to perform this transformation. Normally this element can be left out of the xml configuration, and the default class name will be used. This default class name is defined as the default value for this element in the xsd schema for this transformation. Only use this element if you need to use a custom class that is present in the program code.
period TransformationRunPeriodComplexType optional This element can be used to configure the run period of the transformation.
trimOutput trimOutputEnumStringType optional When true missing values at the start and end of the output will be removed before writing the data to the database. This can prevent existing values to be overwritten with missings.
One of: true, false, startOnly, endOnly
limitVariable InputVariableComplexType optional Optional limit variable. For each time step the value of this variable is checked against the limiting ranges defined in coefficientSets to determine which coefficientSet is used for that time step. A limit variable has to be a scalar variable.
input1 InputVariableComplexType required
input2 InputVariableComplexType required
input3 InputVariableComplexType required
maxCircValueInput1 float optional If a value is circular (for example wind direction) set a maximum value. If the value is not circular, no not set the element. Minimum value for the circular value is 0 by defailt.
maxCircValueInput2 float optional
maxCircValueInput3 float optional
maxCircValueOutput float optional
output OutputVariableComplexType required
className nameStringType optional Optional element to define the name of the class that should be executed to perform this transformation. Normally this element can be left out of the xml configuration, and the default class name will be used. This default class name is defined as the default value for this element in the xsd schema for this transformation. Only use this element if you need to use a custom class that is present in the program code.
coefficientSet ThreeDimensionalLookupCoefficientSetComplexType required · repeats One or more coefficientSets that are valid for different ranges of the defined limit variable. Ranges should not overlap.
coefficientSetId idStringType required Identifier of a coefficientSet to use. CoefficientSets are defined in a transformationCoefficientSets file in the CoefficientSetsFiles directory.
coefficientSetFile fileStringType required Name of the file that contains the coefficientSet to use. This name should not include the file extension. CoefficientSets are defined in a transformationCoefficientSets file in the CoefficientSetsFiles directory.

PrincipalComponentAnalysisComplexType

This transformations derives an equation to estimate the historical model results with historical observations. The rmse of the estimated model results is also calculated. By using the equation the current model results are estimated by using the current observations.

ElementTypeCardinalityDescription
className nameStringType optional Optional element to define the name of the class that should be executed to perform this transformation. Normally this element can be left out of the xml configuration, and the default class name will be used. This default class name is defined as the default value for this element in the xsd schema for this transformation. Only use this element if you need to use a custom class that is present in the program code.
period TransformationRunPeriodComplexType optional This element can be used to configure the run period of the transformation.
trimOutput trimOutputEnumStringType optional When true missing values at the start and end of the output will be removed before writing the data to the database. This can prevent existing values to be overwritten with missings.
One of: true, false, startOnly, endOnly
limitVariable InputVariableComplexType optional Optional limit variable. For each time step the value of this variable is checked against the limiting ranges defined in coefficientSets to determine which coefficientSet is used for that time step. A limit variable has to be a scalar variable.
historicalObserved InputVariableComplexType required · repeats Input variable with the historical observed value
historicalSimulated InputVariableComplexType required Input variable with the historical simulated values
currentObserved InputVariableComplexType required · repeats Current observed values. These values are used to estimate the current simulated values.
currentSimulated InputVariableComplexType required current simulated values. These values are used to compare the estimated current value with.
enableCombinationAnalysis boolean required The error of the estimates of the current simulation values
rmseCalculationMethod rmseCalculationMethodSimpleType optional
One of: standard, jackKnife
maxEstimatedValue float optional maximum allowed value for the estimated value. If the value is higher, the derived equation will be skipped.
estimatedCurrentSimulated OutputVariableComplexType required Estimates for the simulated values. The estimates are calculated by using the derived equation.
errorStatistics OutputVariableComplexType required The error of the estimates of the current simulation values
className nameStringType optional Optional element to define the name of the class that should be executed to perform this transformation. Normally this element can be left out of the xml configuration, and the default class name will be used. This default class name is defined as the default value for this element in the xsd schema for this transformation. Only use this element if you need to use a custom class that is present in the program code.

UserDefinedTransformationComplexType

ElementTypeCardinalityDescription
className nameStringType optional Optional element to define the name of the class that should be executed to perform this transformation. Normally this element can be left out of the xml configuration, and the default class name will be used. This default class name is defined as the default value for this element in the xsd schema for this transformation. Only use this element if you need to use a custom class that is present in the program code.
period TransformationRunPeriodComplexType optional This element can be used to configure the run period of the transformation.
trimOutput trimOutputEnumStringType optional When true missing values at the start and end of the output will be removed before writing the data to the database. This can prevent existing values to be overwritten with missings.
One of: true, false, startOnly, endOnly
input UserDefinedInputElementTransformationComplexType required · repeats
options PropertiesComplexType optional the options group can be used to pass configuration options to the custom transformation. The value of the option will be loaded into the field of the function which has the same name as the key. The framework will check if the defined type in the function is the same as defined in the configuration
output UserDefinedOutputElementTransformationComplexType required · repeats
binDir directoryStringType optional Directory which contains the jar(s) with the userdefined function and (possible) helper classes
className nameStringType required class which implements the user defined transformation

UserPeriodicComplexType

Function specified by a custom free format expression and coefficients. Output values will be shifted periodically to within a given range, e.g. [0, 360].

ElementTypeCardinalityDescription
className nameStringType optional Optional element to define the name of the class that should be executed to perform this transformation. Normally this element can be left out of the xml configuration, and the default class name will be used. This default class name is defined as the default value for this element in the xsd schema for this transformation. Only use this element if you need to use a custom class that is present in the program code.
period TransformationRunPeriodComplexType optional This element can be used to configure the run period of the transformation.
trimOutput trimOutputEnumStringType optional When true missing values at the start and end of the output will be removed before writing the data to the database. This can prevent existing values to be overwritten with missings.
One of: true, false, startOnly, endOnly
limitVariable InputVariableComplexType optional Optional limit variable. For each time step the value of this variable is checked against the limiting ranges defined in coefficientSets to determine which coefficientSet is used for that time step. A limit variable has to be a scalar variable.
inputVariableDefinition InputVariableExpressionBasedFunctionComplexType optional · repeats Definitions of variables that can be used as input in this transformation. A variable is always a time series. Alternatively variables can be defined at the start of this transformations file.
expression string required For instance "X1 + X2". In the expression reference input variables or coefficients using their id, e.g. "X1 + a" where "X1" is the variableId of a variable and "a" is the id of a coefficient. Variables can be defined in this transformation or at the start of this transformations file. If a variable definition in this transformation has the same id as a variable definition at the start of this transformations file, then the variable definition in this transformation is used. Coefficients can be defined in a coefficientSet. It is also possible to use the calculated output value of the previous time step, by using "PREVIOUS_OUTPUT_VALUE" in uppercase letters in the expression (can be used multiple times). For each calculation time step "PREVIOUS_OUTPUT_VALUE" is replaced with the previous output value from the output time series. For the first calculation time step in the run period, the previous output value from before the start of the run period is read from the existing output time series in the database (e.g. from a previous run), if present. If for a given calculation time step the previous output value is not present or is unreliable, then "PREVIOUS_OUTPUT_VALUE" is replaced with NaN (missing value).
periodicOutputRange UserPeriodicOutputRangeComplexType required Output values will be shifted periodically to within this range.
outputVariable OutputVariableComplexType required Output variable.
className nameStringType optional Optional element to define the name of the class that should be executed to perform this transformation. Normally this element can be left out of the xml configuration, and the default class name will be used. This default class name is defined as the default value for this element in the xsd schema for this transformation. Only use this element if you need to use a custom class that is present in the program code.
coefficientSet ExpressionCoefficientSetComplexType required · repeats One or more coefficientSets that are valid for different ranges of the defined limit variable. Ranges should not overlap.
coefficientSetFunctions ExpressionCoefficientSetFunctionsComplexType required A coefficientSetFunctions object. This is similar to a coefficientSet object, only the value elements are replaced by function elements. A function is an expression, e.g. "@N@ / 1000", in which tags between "@" signs refer to location attributes that are defined in the locationSets config file. The expression is evaluated after replacing the tags by actual values. These values can be different for different locations and time periods.
coefficientSetId idStringType required Identifier of a coefficientSet to use. CoefficientSets are defined in a transformationCoefficientSets file in the CoefficientSetsFiles directory.
coefficientSetFile fileStringType required Name of the file that contains the coefficientSet to use. This name should not include the file extension. CoefficientSets are defined in a transformationCoefficientSets file in the CoefficientSetsFiles directory.

UserSimpleComplexType

Function specified by a custom free format expression and coefficients.

ElementTypeCardinalityDescription
className nameStringType optional Optional element to define the name of the class that should be executed to perform this transformation. Normally this element can be left out of the xml configuration, and the default class name will be used. This default class name is defined as the default value for this element in the xsd schema for this transformation. Only use this element if you need to use a custom class that is present in the program code.
period TransformationRunPeriodComplexType optional This element can be used to configure the run period of the transformation.
trimOutput trimOutputEnumStringType optional When true missing values at the start and end of the output will be removed before writing the data to the database. This can prevent existing values to be overwritten with missings.
One of: true, false, startOnly, endOnly
limitVariable InputVariableComplexType optional Optional limit variable. For each time step the value of this variable is checked against the limiting ranges defined in coefficientSets to determine which coefficientSet is used for that time step. A limit variable has to be a scalar variable.
inputVariableDefinition InputVariableExpressionBasedFunctionComplexType optional · repeats Definitions of variables that can be used as input in this transformation. A variable is always a time series. Alternatively variables can be defined at the start of this transformations file.
expression string required For instance "X1 + X2". In the expression reference input variables or coefficients using their id, e.g. "X1 + a" where "X1" is the variableId of a variable and "a" is the id of a coefficient. Variables can be defined in this transformation or at the start of this transformations file. If a variable definition in this transformation has the same id as a variable definition at the start of this transformations file, then the variable definition in this transformation is used. Coefficients can be defined in a coefficientSet. It is also possible to use the calculated output value of the previous time step, by using "PREVIOUS_OUTPUT_VALUE" in uppercase letters in the expression (can be used multiple times). For each calculation time step "PREVIOUS_OUTPUT_VALUE" is replaced with the previous output value from the output time series. For the first calculation time step in the run period, the previous output value from before the start of the run period is read from the existing output time series in the database (e.g. from a previous run), if present. If for a given calculation time step the previous output value is not present or is unreliable, then "PREVIOUS_OUTPUT_VALUE" is replaced with NaN (missing value).
outputVariable OutputVariableComplexType required Output variable.
copyComment boolean optional concatenates all comments from input variables (used to create the output variable) and copies these concatenated comments to the output variable.
className nameStringType optional Optional element to define the name of the class that should be executed to perform this transformation. Normally this element can be left out of the xml configuration, and the default class name will be used. This default class name is defined as the default value for this element in the xsd schema for this transformation. Only use this element if you need to use a custom class that is present in the program code.
coefficientSet ExpressionCoefficientSetComplexType required · repeats One or more coefficientSets that are valid for different ranges of the defined limit variable. Ranges should not overlap.
coefficientSetFunctions ExpressionCoefficientSetFunctionsComplexType required A coefficientSetFunctions object. This is similar to a coefficientSet object, only the value elements are replaced by function elements. A function is an expression, e.g. "@N@ / 1000", in which tags between "@" signs refer to location attributes that are defined in the locationSets config file. The expression is evaluated after replacing the tags by actual values. These values can be different for different locations and time periods.
coefficientSetId idStringType required Identifier of a coefficientSet to use. CoefficientSets are defined in a transformationCoefficientSets file in the CoefficientSetsFiles directory.
coefficientSetFile fileStringType required Name of the file that contains the coefficientSet to use. This name should not include the file extension. CoefficientSets are defined in a transformationCoefficientSets file in the CoefficientSetsFiles directory.

TransformationRunPeriodComplexType

ElementTypeCardinalityDescription
relativePeriod RelativePeriodComplexType required
cardinalTimeStep TimeStepComplexType required Aligns the start and end time of the run period of the transformation with this time step.
extendStart boolean required Determines whether the start of the run period of the transformation should be extended or cropped to match the cardinal time step
extendEnd boolean required Determines whether the end of the run period of the transformation should be extended or cropped to match the cardinal time step
startMonthDay monthDayType required
endMonthDay monthDayType required

InputVariableComplexType

Choose between a reference to a variable or an embedded definition of a variable.

ElementTypeCardinalityDescription
variableId idStringType required Identifier of a variable to use.
locationId idStringType optional If the specified variable contains multiple locations, then specify the location to use here.
timeSeriesSet TimeSeriesSetComplexType required A time series set that can be used as input or as output for a transformation function.
convertDatum boolean optional If true, then this time series is converted from local to ordnance datum level before a transformation and back to local datum level after the transformation. Default is false.
checkMissing boolean optional Option to check this timeseries for missing values. This option works in combination with the Parameter flag 'allowMissing', which can be set for a parameter in the parameters.xml configuration file. If for a given parameter allowMissing is false and checkMissing is true, then the transformation throws an exception when there are missing values for this parameter. When omitted defaults to 'false'. For grid data this option only checks whether the entire grid contains missing values or not, i.e. individual cells can still have missing values as long as there are other cells with non-missing values in the grid for the same time step.

OutputVariableComplexType

Choose between a reference to a variable or an embedded definition of a variable.

ElementTypeCardinalityDescription
variableId idStringType required Identifier of a variable to use.
locationId idStringType optional If the specified variable contains multiple locations, then specify the location to use here.
timeSeriesSet TimeSeriesSetComplexType required A time series set that can be used as input or as output for a transformation function.
convertDatum boolean optional If true, then this time series is converted from local to ordnance datum level before a transformation and back to local datum level after the transformation. Default is false.
checkMissing boolean optional Option to check this timeseries for missing values. This option works in combination with the Parameter flag 'allowMissing', which can be set for a parameter in the parameters.xml configuration file. If for a given parameter allowMissing is false and checkMissing is true, then the transformation throws an exception when there are missing values for this parameter. When omitted defaults to 'false'. For grid data this option only checks whether the entire grid contains missing values or not, i.e. individual cells can still have missing values as long as there are other cells with non-missing values in the grid for the same time step.

GenerationConstantCoefficientSetComplexType

ElementTypeCardinalityDescription
lowerLimit float optional Optional lower limit above which these coefficients are valid. Lower limit is inclusive. If no lower limit specified, then valid for all values below upper limit.
upperLimit float optional Optional upper limit below which these coefficients are valid. Upper limit is exclusive. If no upper limit specified, then valid for all values above lower limit.
duration TimeSpanComplexType required Time over which the total sum is spread
totalSum double required Cummulative amount which will be evenly divided over the output times within the timeLength period.
delay TimeSpanComplexType required Time preceding the timeLength period for which 0 of the unit defined in the output variable is generated
offset RelativeTimeComplexType optional Time by which T0 will be shifted. A negative offset moves T0 backwards in time. This can be combined with a delay.

GenerationConstantCoefficientSetFunctionsComplexType

ElementTypeCardinalityDescription
duration TimeSpanFunctionsComplexType required Time over which the total sum is spread
totalSum string required Cummulative amount which will be evenly divided over the output times within the timeLength period
delay TimeSpanFunctionsComplexType required Time preceding the timeLength period for which 0 of the unit defined in the output variable is generated
offset RelativeTimeFunctionsComplexType optional Time by which T0 will be shifted. A negative offset moves T0 backwards in time. This can be combined with a delay.

GenerationRecessionMeanCoefficientSetComplexType

ElementTypeCardinalityDescription
lowerLimit float optional Optional lower limit above which these coefficients are valid. Lower limit is inclusive. If no lower limit specified, then valid for all values below upper limit.
upperLimit float optional Optional upper limit below which these coefficients are valid. Upper limit is exclusive. If no upper limit specified, then valid for all values above lower limit.
duration TimeSpanComplexType required Time starting at T0, duration of the timespan for which a timeseries will be generated
matchingPeriod TimeSpanComplexType required Matching period. This is the period leading up to T0 over which the mean is calculated
recessionFactor double required Value by which the mean historic value is multiplied each time the pattern is repeated
offset RelativeTimeComplexType optional Time by which T0 will be shifted. A negative offset moves T0 backwards in time.

GenerationRecessionMeanCoefficientSetFunctionsComplexType

ElementTypeCardinalityDescription
duration TimeSpanFunctionsComplexType required Time starting at T0, duration of the timespan for which a timeseries will be generated
matchingPeriod TimeSpanFunctionsComplexType required Matching period. This is the period leading up to T0 over which the mean is calculated
recessionFactor string required Value by which the mean historic value is multiplied each time the pattern is repeated
offset RelativeTimeFunctionsComplexType optional Time by which T0 will be shifted. A negative offset moves T0 backwards in time.

GenerationRecessionPatternCoefficientSetComplexType

ElementTypeCardinalityDescription
lowerLimit float optional Optional lower limit above which these coefficients are valid. Lower limit is inclusive. If no lower limit specified, then valid for all values below upper limit.
upperLimit float optional Optional upper limit below which these coefficients are valid. Upper limit is exclusive. If no upper limit specified, then valid for all values above lower limit.
duration TimeSpanComplexType required Time starting at T0, duration of the timespan for which a timeseries will be generated
matchingPeriod TimeSpanComplexType required Matching period. This is the period leading up to T0 over which the mean is calculated
recessionFactor double required Value by which the mean historic value is multiplied each time the pattern is repeated
offset RelativeTimeComplexType optional Time by which T0 will be shifted. A negative offset moves T0 backwards in time.

GenerationRecessionPatternCoefficientSetFunctionsComplexType

ElementTypeCardinalityDescription
duration TimeSpanFunctionsComplexType required Time starting at T0, duration of the timespan for which a timeseries will be generated
matchingPeriod TimeSpanFunctionsComplexType required Matching period. This is the period leading up to T0 over which the mean is calculated
recessionFactor string required Value by which the mean historic value is multiplied each time the pattern is repeated
offset RelativeTimeFunctionsComplexType optional Time by which T0 will be shifted. A negative offset moves T0 backwards in time.

GenerationTidalConstituentsCoefficientSetComplexType

ElementTypeCardinalityDescription
lowerLimit float optional Optional lower limit above which these coefficients are valid. Lower limit is inclusive. If no lower limit specified, then valid for all values below upper limit.
upperLimit float optional Optional upper limit below which these coefficients are valid. Upper limit is exclusive. If no upper limit specified, then valid for all values above lower limit.
constituent TidalConstituentComplexType required · repeats One or more harmonic tidal constituents. These are used to generate the output time series. The contributions of the individual constituents will be added to create the final result.

GenerationTidalConstituentsCoefficientSetFunctionsComplexType

ElementTypeCardinalityDescription
constituent TidalConstituentFunctionsComplexType required One record with functions that contain location attribute ids. Use this to link name, amplitude and phase to the corresponding columns in a locationAttributes file that contains one or more harmonic tidal constituents that are different for different locations. These are used to generate the output time series. The contributions of the individual constituents will be added to create the final result.

InputOutputVariableComplexType

Couples input variable and output variable in functions with more input and output variables.

ElementTypeCardinalityDescription
inputVariable InputVariableComplexType required
outputVariable OutputVariableComplexType required

InputOutputVariableGroupComplexType

Groups several InputOutputVariableComplexType's.

ElementTypeCardinalityDescription
inputOutput InputOutputVariableComplexType required · repeats

SelectMembersVariableComplexType

Time series used to select ensemble members

ElementTypeCardinalityDescription
rankingVariable InputVariableComplexType required Ensemble time series. Each member holds just one value. This value is a (statistical)result of the analysis of the ensemble member. RankingVariable members will be sorted ascending or descending
sortAscending boolean required Ordering method to rank the members of 'rankingVariable'. Ascending by default
numberOfMembers positiveInteger required Number of members to select, starting from top of list

SelectHistoricMembersVariableComplexType

Scalar timeseries that is used to select ensemble members

ElementTypeCardinalityDescription
indexVariable InputVariableComplexType required Specifies the scalar index series.
numberOfMembers positiveInteger required Use this element if the number of members to select should be fixed.
numberOfMembersVariable InputVariableComplexType required Use this element if the number of members to select should differ per forecast run. This series should store the number of members. Value associated with T0 wil be used.

RelativePeriodComplexType

Defines a moving period in time. The start and end time are relative time to a certain time.

Attributes

AttributeUseNotes
start required
end required
startOverrulable optional default: false. When the running module (e.g. general adaptor) has exported a state the state time is used instead of the specified start time. This option is only available during a (forecast) run.
endOverrulable optional default: false. When a forecast length is specified (e.g. in the manual forecast dialog) the time 0 + forecast length is used instead of the specified end time This option is only available during a (forecast) run.
unit required

Elements

ElementTypeCardinalityDescription
description string optional

RelativeTimeComplexType

Defines a time relative to T0.

Attributes

AttributeUseNotes
value required
unit required

Elements

ElementTypeCardinalityDescription
description string optional Optional description with additional comments. This is never used in the code.

SimpleTableLookupCoefficientSetComplexType

ElementTypeCardinalityDescription
lowerLimit float optional Optional lower limit above which these coefficients are valid. Lower limit is inclusive. If no lower limit specified, then valid for all values below upper limit.
upperLimit float optional Optional upper limit below which these coefficients are valid. Upper limit is exclusive. If no upper limit specified, then valid for all values above lower limit.
interpolationType simpleTableLookupInterpolationEnumStringType required
One of: linear, cubicSpline, class
extrapolationType lookupExtrapolationTypeEnumStringType required
One of: notAllowed, maxmin, extrapolate
lookupTable LookupTableComplexType required
inputUnit string required unit of the input values in the lookup table. When this unit is different from the input parameter unit the input values are converted using the config units configured in the parameters.xml
outputUnit string required unit of the output values in the lookup table. When this unit is different from the output parameter unit the output values are converted using the config units configured in the parameters.xml

TwoDimensionalLookupCoefficientSetComplexType

ElementTypeCardinalityDescription
lowerLimit float optional Optional lower limit above which these coefficients are valid. Lower limit is inclusive. If no lower limit specified, then valid for all values below upper limit.
upperLimit float optional Optional upper limit below which these coefficients are valid. Upper limit is exclusive. If no upper limit specified, then valid for all values above lower limit.
interpolationType interpolationType required Interpolation Type for 1st dimension
One of: linear, class
extrapolationType lookupExtrapolationTypeEnumStringType required Extrapolation Type for 1st dimension
One of: notAllowed, maxmin, extrapolate
input2InterpolationType interpolationType optional Interpolation Type for 2nd dimension. Optional with default value "linear"
One of: linear, class
input2ExtrapolationType lookupExtrapolationTypeEnumStringType optional Extrapolation Type for 2nd dimension. Optional with default value "extrapolate"
One of: notAllowed, maxmin, extrapolate
lookupTable TwoDimensionalLookupTableComplexType required
input1Unit string required unit of the input1 values in the lookup table. When this unit is different from the input parameter unit the input values are converted using the config units configured in the parameters.xml
input2Unit string required unit of the input2 values in the lookup table. When this unit is different from the input parameter unit the input values are converted using the config units configured in the parameters.xml
outputUnit string required unit of the output values in the lookup table. When this unit is different from the output parameter unit the output values are converted using the config units configured in the parameters.xml

MultipleTableLookupCoefficientSetComplexType

ElementTypeCardinalityDescription
lowerLimit float optional Optional lower limit above which these coefficients are valid. Lower limit is inclusive. If no lower limit specified, then valid for all values below upper limit.
upperLimit float optional Optional upper limit below which these coefficients are valid. Upper limit is exclusive. If no upper limit specified, then valid for all values above lower limit.
interpolationType interpolationType required
One of: linear, class
extrapolationType lookupExtrapolationTypeEnumStringType required
One of: notAllowed, maxmin, extrapolate
rowIndexLookupTable string required
columnIndexLookupTable string required
outputLookupTable MultipleTableLookupRowComplexType required

ThreeDimensionalLookupCoefficientSetComplexType

ElementTypeCardinalityDescription
lowerLimit float optional Optional lower limit above which these coefficients are valid. Lower limit is inclusive. If no lower limit specified, then valid for all values below upper limit.
upperLimit float optional Optional upper limit below which these coefficients are valid. Upper limit is exclusive. If no upper limit specified, then valid for all values above lower limit.
interpolationType interpolationType required Interpolation Type for 1st dimension
One of: linear, class
extrapolationType lookupExtrapolationTypeEnumStringType required Extrapolation Type for 1st dimension
One of: notAllowed, maxmin, extrapolate
input2InterpolationType interpolationType optional Interpolation Type for 2nd dimension. Optional with default value "linear"
One of: linear, class
input2ExtrapolationType lookupExtrapolationTypeEnumStringType optional Extrapolation Type for 2nd dimension. Optional with default value "extrapolate"
One of: notAllowed, maxmin, extrapolate
input1Unit string required unit of the input1 values in the lookup table. When this unit is different from the input parameter unit the input values are converted using the config units configured in the parameters.xml
input2Unit string required unit of the input2 values in the lookup table. When this unit is different from the input parameter unit the input values are converted using the config units configured in the parameters.xml
input3Unit string required unit of the input2 values in the lookup table. When this unit is different from the input parameter unit the input values are converted using the config units configured in the parameters.xml
outputUnit string required unit of the output values in the lookup table. When this unit is different from the output parameter unit the output values are converted using the config units configured in the parameters.xml
csvFile fileStringType required
input1Column nonEmptyStringType required
input2Column nonEmptyStringType required
input3Column nonEmptyStringType required
outputColumn nonEmptyStringType required

UserDefinedInputElementTransformationComplexType

ElementTypeCardinalityDescription
fieldName string required name of the field in the function in which the defined input time series will be loaded.
inputVariable InputVariableComplexType required Input variable which will be loaded into the field of the function with the corresponding name

PropertiesComplexType

ElementTypeCardinalityDescription
description string optional Optional description (this is never used in the code).
string StringPropertyComplexType required
int IntPropertyComplexType required
float FloatPropertyComplexType required
double DoublePropertyComplexType required Since 2014.01
bool BoolPropertyComplexType required
dateTime DateTimePropertyComplexType required Since 2014.01

UserDefinedOutputElementTransformationComplexType

ElementTypeCardinalityDescription
fieldName string required name of the field in the function in which the defined output time series will be loaded.
outputVariable OutputVariableComplexType required Output variable which will be loaded into the field of the function with the corresponding name

InputVariableExpressionBasedFunctionComplexType

ElementTypeCardinalityDescription
variableId idStringType required Identifier for this variable, as used in the expression.
locationId idStringType required Filter location. If the template variable contains multiple locations, then specify a filter location here.
templateVariableId idStringType required Variable having a time series set definition, which will be used as a template. The variable used in the expression uses the time series set from this template, after filtering for the filter location.
timeSeriesSet TimeSeriesSetComplexType required A time series set that can be used as input or as output for a transformation function.
convertDatum boolean optional If true, then this time series is converted from local to ordnance datum level before a transformation and back to local datum level after the transformation. Default is false.
checkMissing boolean optional Option to check this timeseries for missing values. This option works in combination with the Parameter flag 'allowMissing', which can be set for a parameter in the parameters.xml configuration file. If for a given parameter allowMissing is false and checkMissing is true, then the transformation throws an exception when there are missing values for this parameter. When omitted defaults to 'false'. For grid data this option only checks whether the entire grid contains missing values or not, i.e. individual cells can still have missing values as long as there are other cells with non-missing values in the grid for the same time step.

UserPeriodicOutputRangeComplexType

ElementTypeCardinalityDescription
lowerLimit float required
upperLimit float required

ExpressionCoefficientSetComplexType

ElementTypeCardinalityDescription
lowerLimit float optional Optional lower limit above which these coefficients are valid. Lower limit is inclusive. If no lower limit specified, then valid for all values below upper limit.
upperLimit float optional Optional upper limit below which these coefficients are valid. Upper limit is exclusive. If no upper limit specified, then valid for all values above lower limit.
coefficient ExpressionCoefficientComplexType required · repeats Coefficients for a free format expression. To use these coefficients, define a free format expression and reference to the identifiers of these coefficients in the expression. Make sure that for all the coefficient identifiers in the free format expression the values are defined here.

ExpressionCoefficientSetFunctionsComplexType

ElementTypeCardinalityDescription
coefficient ExpressionCoefficientFunctionsComplexType required · repeats Coefficients for a free format expression. To use these coefficients, define a free format expression and reference to the identifiers of these coefficients in the expression. Make sure that for all the coefficient identifiers in the free format expression the values are defined here.

TimeStepComplexType

Time step, There are 5 valid combinations of attributes. id, unit+[multiplier]+[divider]+[timeZone], times+[timeZone] + monthDays+[timeZone] ([]=optional)

Attributes

AttributeUseNotes
id optional Id of the time step. You can reference time steps defined in the regionConfig/timeSteps.xml. Only specify the id attribute when referring to a predefined time step. In the regionConfig/timeSteps.xml the time steps list both the id and the attributes that define the time step
label optional Short name for the time step which is shown to the user when he can choose one from a list.
unit optional
divider optional
multiplier optional
times optional Defines the time step by a list of times without dates, e.g. "10:00 23:00"
minutes optional Since 2017.02. Defines the time step by a list of minutes (with prefix 0 for single digits), e.g. "05 25" which results in times 0:05, 0:25, 1:05, etc.
daysOfMonth optional Defines the time step by a list of days of month, use "01 11 21" for a decade time step
monthDays optional Defines the time step by a list of dates, e.g. ""--03-01 --06-01 --09-01 --12-01" for the meteorological seasons
timeZone optional

Elements

ElementTypeCardinalityDescription
description string optional Optional description of this timeStep. This is not used and is only present for convenience.

TimeSeriesSetComplexType

Attributes

AttributeUseNotes
id optional
name optional

Elements

ElementTypeCardinalityDescription
description string optional
valueType timeSeriesValueTypeStringType required
parameterId idStringType required
domainParameterId idStringType optional · repeats For a spectrum specify the frequency / wave length parameter. For a directional spectrum specify first the frequency parameter and secondly the directional parameter
qualifierId idStringType optional · repeats Id that references an qualifier listed in the regionConfigFiles/Qualifiers.xsd
timeSeriesType timeSeriesTypeStringType required
timeStep TimeStepComplexType required
aggregationPeriod RelativePeriodComplexType optional The value at a time represents the aggregated value over the aggregation period e.g when the aggregation period is -6 to 0 hour the value at 13:00 represents an aggregation (e.g. moving average) from 7:00 till 13:00 (including)
cycle CalendarTimeSpanComplexType optional If cycle specified, then the data is repeated periodically with this cycle as the period length. There is original data for only one cycle. After that cycle the data will be repeated periodically. In other words, when cycle is defined, then a missing value is filled up with a value from the last available cycle before the missing value.
externalForecastSearchTimeStep TimeStepComplexType optional Since 2024.01. Only time series with an external forecast time that match this time step are visible while searching
externalForecastTimeCardinalTimeStep TimeStepComplexType optional When no external forecast exists in the data store younger that the specified age a new external forecast is returned with a minimum age that applies to the specified cardinal time step
qualifierAggregation qualifierAggregationStringType optional When specified all the time series that have ALL the specified qualifiers are aggregated to a single time series on read. Can not be specified when this time series set is meant for writing
readWriteMode timeSeriesReadWriteModeStringType required Note: this readWriteMode is only used in the TimeSeriesDisplay. Other modules ignore this readWriteMode.
synchLevel intStringType optional
expiryTime CalendarTimeSpanComplexType optional
delay TimeShiftComplexType optional
multiplier floatStringType optional
divider floatStringType optional
incrementer floatStringType optional
ensembleId idStringType optional Optional field for running ensembles. Ensemble id's in a time series set will override ensemble id's defined in the workflow.
visibilityControllingFlagSourceColumnId idStringType optional All values that not passed this validation step are removed on read. Set to missing for equidistant and removed for non-equidistant
onlyReliableFlagSourceColumnId idStringType optional Since 2022.02. All values that passed this validation step and are reliable will be included other will be set to missing for equidistant and removed for non-equidistant. This will work as an "or" operation together with "visibilityControllingFlagSourceColumnId", so data should either have passed "visibilityControllingFlagSourceColumnId" or "onlyReliableFlagSourceColumnId".
locationRelationId idStringType required Relation id to map the time series set locations to related locations. Instead of the time series set locations the related locations are used to read/write the time series.
skipLocationsWithoutRelation boolean optional Since 2020.01 When true locations that do not have a related location will be skipped, when false all location must have a related location. Default is false
moduleInstanceId idStringType required · repeats
moduleInstanceSetId idStringType required Query a single module instance in the data store that is available for this time series set
filterModuleInstanceSetId idStringType required Query all module instances in the data store that are available for this time series set
locationId idStringType required · repeats
locationSetId idStringType required
chainageLocationSetId idStringType required Id of location set which represents a chainage of locations. This can only be used in combination with readWriteMode readOnly
relativeViewPeriod TimeSeriesSetRelativePeriodComplexType optional Period relative the time 0 of the workflow or the system time of the fews explorer
relativeForecastPeriod TimeSeriesSetRelativePeriodComplexType optional Period relative to first time of a simulated or external forecast time series
ensembleMemberId nonEmptyStringType required · repeats Optional field used for reading or writing one or more particular ensemble member
ensembleMemberIndex nonNegativeIntegerStringType required Optional field used for reading or writing one particular ensemble member
ensembleMemberIndexRange EnsembleMemberIndexRangeComplexType required Optional field used for reading or writing one particular sub set of the ensemble
relativeForecastSearchPeriod TimeSeriesSetRelativePeriodComplexType required Since 2015.02. The latest available external forecast in this period will be read. By default the latest before time0 is returned
externalForecastTimeId idStringType required Since 2018.01. Forecast time reference id configured in the forecast length estimator config. Can only be used in workflows and only after the forecast length estimator.
externalForecastMinAge TimeSpanComplexType optional Since 2014.02. By default is there is no minimum age. All external forecasts after the time0 are ignored. The age of an external forecast is defined as the time span between the external forecast time and the time 0
externalForecastMaxAge TimeSpanComplexType optional By default is there is no maximum age so the returned external forecast can be very old when there is no recent forecast available. All external forecasts after the time0 are ignored. The age of an external forecast is defined as the time span between the external forecast time and the time 0

TimeSpanComplexType

Attributes

AttributeUseNotes
unit required
divider optional
multiplier optional

TimeSpanFunctionsComplexType

Attributes

AttributeUseNotes
unit required
divider optional default: 1.
multiplier optional default: 1.

RelativeTimeFunctionsComplexType

Defines a time relative to T0.

Attributes

AttributeUseNotes
value required
unit required

Elements

ElementTypeCardinalityDescription
description string optional Optional description with additional comments. This is never used in the code.

TidalConstituentComplexType

Attributes

AttributeUseNotes
name required Name of a harmonic tidal constituent. This can be a standard designation of one of the tidal constituents from the list.
amplitude required Amplitude (in m) for this constituent.
phase required Phase (in degrees) for this constituent.

TidalConstituentFunctionsComplexType

Attributes

AttributeUseNotes
name required Name of a harmonic tidal constituent. This can be a standard designation of one of the tidal constituents from the list.
amplitude required Amplitude (in m) for this constituent.
phase required Phase (in degrees) for this constituent.

LookupTableComplexType

ElementTypeCardinalityDescription
lookupTableRow LookupTableRowComplexType required · repeats
piTable LookupPiTableComplexType required

TwoDimensionalLookupTableComplexType

ElementTypeCardinalityDescription
lookupTableRow TwoDimensionalLookupTableRowComplexType required · repeats
piTable TwoDimensionalLookupPiTableComplexType required

MultipleTableLookupRowComplexType

ElementTypeCardinalityDescription
lookupTableRow string required · repeats

StringPropertyComplexType

Attributes

AttributeUseNotes
key required
value required

Elements

ElementTypeCardinalityDescription
description string optional Optional description (this is never used in the code).

IntPropertyComplexType

Attributes

AttributeUseNotes
key required
value required

Elements

ElementTypeCardinalityDescription
description string optional Optional description (this is never used in the code).

FloatPropertyComplexType

Attributes

AttributeUseNotes
key required
value required

Elements

ElementTypeCardinalityDescription
description string optional Optional description (this is never used in the code).

DoublePropertyComplexType

Attributes

AttributeUseNotes
key required
value required

Elements

ElementTypeCardinalityDescription
description string optional Optional description (this is never used in the code).

BoolPropertyComplexType

Attributes

AttributeUseNotes
key required
value required

Elements

ElementTypeCardinalityDescription
description string optional Optional description (this is never used in the code).

DateTimePropertyComplexType

Attributes

AttributeUseNotes
key required
date required
time required

Elements

ElementTypeCardinalityDescription
description string optional

ExpressionCoefficientComplexType

Definition of a coefficient.

Attributes

AttributeUseNotes
id required Identifier with which this coefficient is referenced in the free format expression.
value required The float value of this coefficient.

ExpressionCoefficientFunctionsComplexType

Attributes

AttributeUseNotes
id required Identifier with which this coefficient is referenced in the free format expression.
value required Location dependent function for the float value of this coefficient. This can contain location attribute ids, e.g. @COEFFICIENT_A@.

CalendarTimeSpanComplexType

Attributes

AttributeUseNotes
unit required
divider optional
multiplier optional

TimeShiftComplexType

Attributes

AttributeUseNotes
unit required
divider optional
multiplier optional

TimeSeriesSetRelativePeriodComplexType

Defines a moving period in time. The start and end time are relative time to a certain time. When the start time is not specified it is determined by the start time of the state of the current run. When the start is overrulable the time is overruled by the start of search period or the start of cold state run when one of two is specified When the end is overrulable this time is overruled by the end of the forecast when specified

Attributes

AttributeUseNotes
unit required
start optional e.g. -1 hour means one before time 0
end required e.g. 1 hour means one hour after time 0
startOverrulable optional default: false. When the running module (e.g. general adaptor) has exported a state the state time is used instead of the specified start time. This option is only available during a (forecast) run.
endOverrulable optional default: false. When a forecast length is specified (e.g. in the manual forecast dialog) the time 0 + forecast length is used instead of the specified end time This option is only available during a (forecast) run.

Elements

ElementTypeCardinalityDescription
description string optional

EnsembleMemberIndexRangeComplexType

Attributes

AttributeUseNotes
start required
end optional

LookupTableRowComplexType

Attributes

AttributeUseNotes
input required input value in the lookup table
output required output value in the lookup table

LookupPiTableComplexType

ElementTypeCardinalityDescription
locationId idStringType required Since 2017.02 The locationId of the Pi Table used for lookup
inputParameterId idStringType required Since 2017.02 The domain parameter of the Pi Table used for the input of the lookup
outputParameterId idStringType required Since 2017.02 The output parameter of the Pi Table that needs to be looked up based on the input
qualifierId idStringType optional Since 2017.02 The (optional) qualifierId of the Pi Table used for lookup

TwoDimensionalLookupTableRowComplexType

Attributes

AttributeUseNotes
input1 required first input value in the lookup table
input2 required second input value in the lookup table
output required output value in the lookup table

TwoDimensionalLookupPiTableComplexType

ElementTypeCardinalityDescription
locationId idStringType required Since 2017.02 The locationId of the Pi Table used for lookup
inputParameterId1 idStringType required Since 2017.02 The domain parameter of the Pi Table used for the input of the lookup
inputParameterId2 idStringType required Since 2017.02 The second parameter of the Pi Table used for the input of the lookup
outputParameterId idStringType required Since 2017.02 The output parameter of the Pi Table that needs to be looked up based on the input
qualifierId idStringType optional Since 2017.02 The (optional) qualifierId of the Pi Table used for lookup
  • user simple’s expression references ids, not element names — the string must use the variableIds declared in inputVariableDefinition and the ids declared in coefficientSet/coefficient, not the FEWS parameter or location ids. Mismatched ids fail at run time with no config validation to catch it earlier.
  • lookup simple still needs a coefficientSet even for the simplest table — the [input, output] pairs live inside it, and values between defined points are found “using [interpolation type]” per the schema annotation (check the specific lookup variant’s coefficientSet fields for which interpolation applies).
  • generation functions don’t read any input series for their output values — constant, recessionMean, recessionPattern, and tidalConstituents synthesize the output from configuration (and, for the recession variants, a history period read from the same series) rather than transforming an input series. Don’t expect an inputVariable field here the way every other category has one.
  • custom requires a className you (or a plugin) actually provide — unlike every other function’s optional className override (which falls back to a sensible built-in default), custom’s class is the entire implementation. There’s no default to fall back to.