Class ValueToTableConverter
- All Implemented Interfaces:
net.simplace.sim.util.FWSimFieldContainer
Motivation
Some FST-based modules like Lintul5 need irrigation and fertilizer as interpolation tables, where x-values hold the DOY and y-values hold the amount.
When the DOY is not known beforehand, the interpolation table has to be created at simulation runtime.
Configuration, inputs
The sim component takes daily inputs iXValue and iYValue and outputs both as a DOUBLEARRAY ValueTable , first array element holding iXValue, second holding yValue.
iXValue | iYValue |
If cInterpolationType is set to true, then the output ValueTable has six elements:
iXValue - cDeltaX | 0 | iXValue | iYValue | iXValue + cDeltaX | 0 |
If cOnlyY is set to true, then the output ValueTable has only one element
iYValue |
In this case, you can use the module to pass DOUBLE values from one component / resource to a component that expects an DOUBLEARRAY. For each of such a conversion, you need an instance of this sim component in your solution.
- Author:
- Gunther Krauss, gk@uni-bonn.de
- See Also:
Component Variables
Content Type | Name | Description | Data Type | Unit | Min Value | Max Value | Default Value |
---|---|---|---|---|---|---|---|
constant | cDeltaX | distance of 0-valued points to x | DOUBLE | - | - | 1.0 | |
constant | cInterpolationType | if y-values at x-cDeltaX and x+cDeltaY should be set to 0. | BOOLEAN | - | - | false | |
constant | cOnlyY | Output y-value only as an array with one element | BOOLEAN | - | - | false | |
input | iXValue | x value, not required, if cOnlyY is set to true | DOUBLE | - | - | 0.0 | |
input | iYValue | y value, is always required | DOUBLE | - | - | 0.0 | |
out | ValueTable | Array with x and y values, possibly with 0 before and after x | DOUBLEARRAY | - | - | 0.0 0.0 |
-
Nested Class Summary
Nested classes/interfaces inherited from class net.simplace.sim.model.FWSimComponent
net.simplace.sim.model.FWSimComponent.TEST_STATE
-
Field Summary
Fields inherited from class net.simplace.sim.model.FWSimComponent
iFieldMap, iFrequence, iInputMap, iJexlRule, iMasterComponentGroup, iName, iOrderNumber, isComponentGroup, iSimComponentElement, iSimModel, iVarMap
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected net.simplace.sim.model.FWSimComponent
clone
(net.simplace.sim.util.FWSimVarMap aVarMap) Create the FWSimVariables as interface for this SimComponentfillTestVariables
(int aParamIndex, net.simplace.sim.model.FWSimComponent.TEST_STATE aDefineOrCheck) called for single component test to check the components algorithm.protected void
init()
Initializes the fields by getting input and output FWSimVariables from VarMapprotected void
protected void
process()
Process the algorithm and write the results back to VarMapMethods inherited from class net.simplace.sim.model.FWSimComponent
addVariable, bind, checkCondition, createSimComponent, createSimComponent, createSimComponent, createSimComponent, doProcess, getConstantVariables, getContentType, getCreateFormXML, getDescription, getEditFormXML, getFieldMap, getFrequence, getFrequenceRuleScript, getInputs, getInputVariables, getMasterComponentGroup, getName, getOrderNumber, getOutputVariables, getVariable, getVariableField, getVarMap, initialize, isConditionCheck, isVariableAvailable, performLinks, performLinks, readInputs, removeVariable, reset, runComponentTest, setVariablesDefault, toComponentLinkingXML, toDocXML, toGroupXML, toOutputDefinitionXML, toResourcesDataXML, toResourcesDefinitionXML, toString, toXML, writeVarInfos
-
Constructor Details
-
ValueToTableConverter
public ValueToTableConverter()Empty constructor used by class.forName()
-
-
Method Details
-
createVariables
Create the FWSimVariables as interface for this SimComponent- Specified by:
createVariables
in interfacenet.simplace.sim.util.FWSimFieldContainer
- Specified by:
createVariables
in classnet.simplace.sim.model.FWSimComponent
- See Also:
-
FWSimComponent.createVariables()
-
init
protected void init()Initializes the fields by getting input and output FWSimVariables from VarMap- Specified by:
init
in classnet.simplace.sim.model.FWSimComponent
- See Also:
-
FWSimComponent.init()
-
process
protected void process()Process the algorithm and write the results back to VarMap- Specified by:
process
in classnet.simplace.sim.model.FWSimComponent
- See Also:
-
FWSimComponent.process()
-
interpolateTable
protected void interpolateTable() -
fillTestVariables
public HashMap<String,net.simplace.sim.util.FWSimVariable<?>> fillTestVariables(int aParamIndex, net.simplace.sim.model.FWSimComponent.TEST_STATE aDefineOrCheck) called for single component test to check the components algorithm.- Specified by:
fillTestVariables
in classnet.simplace.sim.model.FWSimComponent
- See Also:
-
net.simplace.sim.util.FWSimFieldContainer#fillTestVariables(int aParamIndex, TEST_STATE aDefineOrCheck)
-
clone
protected net.simplace.sim.model.FWSimComponent clone(net.simplace.sim.util.FWSimVarMap aVarMap) - Specified by:
clone
in classnet.simplace.sim.model.FWSimComponent
- See Also:
-
FWSimComponent.clone(net.simplace.sim.util.FWSimVarMap)
-