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.
At a glance
Section titled “At a glance”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.
Minimal example
Section titled “Minimal example”<?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>Field reference
Section titled “Field reference”Auto-generated from transformationTypes.xsd. Descriptions are the schema's own annotations.
Function <generation>
| Element | Type | Cardinality | Description |
|---|---|---|---|
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>
| Element | Type | Cardinality | Description |
|---|---|---|---|
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>
| Element | Type | Cardinality | Description |
|---|---|---|---|
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>
| Element | Type | Cardinality | Description |
|---|---|---|---|
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>
| Element | Type | Cardinality | Description |
|---|---|---|---|
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>
| Element | Type | Cardinality | Description |
|---|---|---|---|
userDefined | UserDefinedTransformationComplexType | required | This transformation can be used to define a custom transformation |
Function <user>
| Element | Type | Cardinality | Description |
|---|---|---|---|
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
| Element | Type | Cardinality | Description |
|---|---|---|---|
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
| Element | Type | Cardinality | Description |
|---|---|---|---|
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
| Element | Type | Cardinality | Description |
|---|---|---|---|
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
| Element | Type | Cardinality | Description |
|---|---|---|---|
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.
| Element | Type | Cardinality | Description |
|---|---|---|---|
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
| Element | Type | Cardinality | Description |
|---|---|---|---|
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.
| Element | Type | Cardinality | Description |
|---|---|---|---|
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
| Element | Type | Cardinality | Description |
|---|---|---|---|
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
| Element | Type | Cardinality | Description |
|---|---|---|---|
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
| Element | Type | Cardinality | Description |
|---|---|---|---|
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
| Element | Type | Cardinality | Description |
|---|---|---|---|
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
| Element | Type | Cardinality | Description |
|---|---|---|---|
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
| Element | Type | Cardinality | Description |
|---|---|---|---|
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
| Element | Type | Cardinality | Description |
|---|---|---|---|
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.
| Element | Type | Cardinality | Description |
|---|---|---|---|
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
| Element | Type | Cardinality | Description |
|---|---|---|---|
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].
| Element | Type | Cardinality | Description |
|---|---|---|---|
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.
| Element | Type | Cardinality | Description |
|---|---|---|---|
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
| Element | Type | Cardinality | Description |
|---|---|---|---|
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.
| Element | Type | Cardinality | Description |
|---|---|---|---|
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.
| Element | Type | Cardinality | Description |
|---|---|---|---|
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
| Element | Type | Cardinality | Description |
|---|---|---|---|
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
| Element | Type | Cardinality | Description |
|---|---|---|---|
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
| Element | Type | Cardinality | Description |
|---|---|---|---|
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
| Element | Type | Cardinality | Description |
|---|---|---|---|
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
| Element | Type | Cardinality | Description |
|---|---|---|---|
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
| Element | Type | Cardinality | Description |
|---|---|---|---|
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
| Element | Type | Cardinality | Description |
|---|---|---|---|
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
| Element | Type | Cardinality | Description |
|---|---|---|---|
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.
| Element | Type | Cardinality | Description |
|---|---|---|---|
inputVariable | InputVariableComplexType | required | |
outputVariable | OutputVariableComplexType | required |
InputOutputVariableGroupComplexType
Groups several InputOutputVariableComplexType's.
| Element | Type | Cardinality | Description |
|---|---|---|---|
inputOutput | InputOutputVariableComplexType | required · repeats |
SelectMembersVariableComplexType
Time series used to select ensemble members
| Element | Type | Cardinality | Description |
|---|---|---|---|
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
| Element | Type | Cardinality | Description |
|---|---|---|---|
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
| Attribute | Use | Notes |
|---|---|---|
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
| Element | Type | Cardinality | Description |
|---|---|---|---|
description | string | optional |
RelativeTimeComplexType
Defines a time relative to T0.
Attributes
| Attribute | Use | Notes |
|---|---|---|
value | required | |
unit | required |
Elements
| Element | Type | Cardinality | Description |
|---|---|---|---|
description | string | optional | Optional description with additional comments. This is never used in the code. |
SimpleTableLookupCoefficientSetComplexType
| Element | Type | Cardinality | Description |
|---|---|---|---|
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
| Element | Type | Cardinality | Description |
|---|---|---|---|
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
| Element | Type | Cardinality | Description |
|---|---|---|---|
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
| Element | Type | Cardinality | Description |
|---|---|---|---|
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
| Element | Type | Cardinality | Description |
|---|---|---|---|
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
| Element | Type | Cardinality | Description |
|---|---|---|---|
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
| Element | Type | Cardinality | Description |
|---|---|---|---|
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
| Element | Type | Cardinality | Description |
|---|---|---|---|
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
| Element | Type | Cardinality | Description |
|---|---|---|---|
lowerLimit | float | required | |
upperLimit | float | required |
ExpressionCoefficientSetComplexType
| Element | Type | Cardinality | Description |
|---|---|---|---|
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
| Element | Type | Cardinality | Description |
|---|---|---|---|
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
| Attribute | Use | Notes |
|---|---|---|
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
| Element | Type | Cardinality | Description |
|---|---|---|---|
description | string | optional | Optional description of this timeStep. This is not used and is only present for convenience. |
TimeSeriesSetComplexType
Attributes
| Attribute | Use | Notes |
|---|---|---|
id | optional | |
name | optional |
Elements
| Element | Type | Cardinality | Description |
|---|---|---|---|
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
| Attribute | Use | Notes |
|---|---|---|
unit | required | |
divider | optional | |
multiplier | optional |
TimeSpanFunctionsComplexType
Attributes
| Attribute | Use | Notes |
|---|---|---|
unit | required | |
divider | optional | default: 1. |
multiplier | optional | default: 1. |
RelativeTimeFunctionsComplexType
Defines a time relative to T0.
Attributes
| Attribute | Use | Notes |
|---|---|---|
value | required | |
unit | required |
Elements
| Element | Type | Cardinality | Description |
|---|---|---|---|
description | string | optional | Optional description with additional comments. This is never used in the code. |
TidalConstituentComplexType
Attributes
| Attribute | Use | Notes |
|---|---|---|
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
| Attribute | Use | Notes |
|---|---|---|
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
| Element | Type | Cardinality | Description |
|---|---|---|---|
lookupTableRow | LookupTableRowComplexType | required · repeats | |
piTable | LookupPiTableComplexType | required |
TwoDimensionalLookupTableComplexType
| Element | Type | Cardinality | Description |
|---|---|---|---|
lookupTableRow | TwoDimensionalLookupTableRowComplexType | required · repeats | |
piTable | TwoDimensionalLookupPiTableComplexType | required |
MultipleTableLookupRowComplexType
| Element | Type | Cardinality | Description |
|---|---|---|---|
lookupTableRow | string | required · repeats |
StringPropertyComplexType
Attributes
| Attribute | Use | Notes |
|---|---|---|
key | required | |
value | required |
Elements
| Element | Type | Cardinality | Description |
|---|---|---|---|
description | string | optional | Optional description (this is never used in the code). |
IntPropertyComplexType
Attributes
| Attribute | Use | Notes |
|---|---|---|
key | required | |
value | required |
Elements
| Element | Type | Cardinality | Description |
|---|---|---|---|
description | string | optional | Optional description (this is never used in the code). |
FloatPropertyComplexType
Attributes
| Attribute | Use | Notes |
|---|---|---|
key | required | |
value | required |
Elements
| Element | Type | Cardinality | Description |
|---|---|---|---|
description | string | optional | Optional description (this is never used in the code). |
DoublePropertyComplexType
Attributes
| Attribute | Use | Notes |
|---|---|---|
key | required | |
value | required |
Elements
| Element | Type | Cardinality | Description |
|---|---|---|---|
description | string | optional | Optional description (this is never used in the code). |
BoolPropertyComplexType
Attributes
| Attribute | Use | Notes |
|---|---|---|
key | required | |
value | required |
Elements
| Element | Type | Cardinality | Description |
|---|---|---|---|
description | string | optional | Optional description (this is never used in the code). |
DateTimePropertyComplexType
Attributes
| Attribute | Use | Notes |
|---|---|---|
key | required | |
date | required | |
time | required |
Elements
| Element | Type | Cardinality | Description |
|---|---|---|---|
description | string | optional |
ExpressionCoefficientComplexType
Definition of a coefficient.
Attributes
| Attribute | Use | Notes |
|---|---|---|
id | required | Identifier with which this coefficient is referenced in the free format expression. |
value | required | The float value of this coefficient. |
ExpressionCoefficientFunctionsComplexType
Attributes
| Attribute | Use | Notes |
|---|---|---|
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
| Attribute | Use | Notes |
|---|---|---|
unit | required | |
divider | optional | |
multiplier | optional |
TimeShiftComplexType
Attributes
| Attribute | Use | Notes |
|---|---|---|
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
| Attribute | Use | Notes |
|---|---|---|
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
| Element | Type | Cardinality | Description |
|---|---|---|---|
description | string | optional |
EnsembleMemberIndexRangeComplexType
Attributes
| Attribute | Use | Notes |
|---|---|---|
start | required | |
end | optional |
LookupTableRowComplexType
Attributes
| Attribute | Use | Notes |
|---|---|---|
input | required | input value in the lookup table |
output | required | output value in the lookup table |
LookupPiTableComplexType
| Element | Type | Cardinality | Description |
|---|---|---|---|
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
| Attribute | Use | Notes |
|---|---|---|
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
| Element | Type | Cardinality | Description |
|---|---|---|---|
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 |
Gotchas
Section titled “Gotchas”user simple’sexpressionreferences ids, not element names — the string must use thevariableIds declared ininputVariableDefinitionand theids declared incoefficientSet/coefficient, not the FEWS parameter or location ids. Mismatched ids fail at run time with no config validation to catch it earlier.lookup simplestill needs acoefficientSeteven 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).generationfunctions don’t read any input series for their output values —constant,recessionMean,recessionPattern, andtidalConstituentssynthesize 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 aninputVariablefield here the way every other category has one.customrequires aclassNameyou (or a plugin) actually provide — unlike every other function’s optionalclassNameoverride (which falls back to a sensible built-in default),custom’s class is the entire implementation. There’s no default to fall back to.
See also
Section titled “See also”- Reference: Transformation functions — basics · Temporal reshaping · Interpolation & spatial · Statistics · Hydrology & physical process · Data quality, selection & control flow
- Task guide: Transformations
- Schema:
transformationTypes.xsd