Class CustomPhenologyStage
java.lang.Object
net.simplace.sim.model.FWSimComponent
net.simplace.sim.components.phenology.CustomPhenologyStage
- All Implemented Interfaces:
net.simplace.sim.util.FWSimFieldContainer
public class CustomPhenologyStage
extends net.simplace.sim.model.FWSimComponent
Outputs the Date/DOY when an user defined DVS is reached
Stage calculation
The module takes an arbitrary value for development stage as paramer cStageDVS and the actual development as an input iDVS.
When the actual DVS is bigger than the threshold (iDVS > cStageDVS) then the current simulation date / day of year is stored in the outputs StageDate and StageDOY. Additionally the actual DVS value is stored in the output StageDVS and StageReached and IsStage are set to true. Notice that IsStage is set to false again on the following day, whereas all other outputs keep their values.
In order to reset the output values when a new vegetation period starts, you have to set iDoHarvest to true.
Example
| <simcomponent id="CustomPhenologyStage" class="net.simplace.sim.components.phenology.CustomPhenologyStage"> | <input id="cStageDVS">0.55</input> | <input id="iDVS" source="Phenology.sDVS"/> | <input id="iDoHarvest" source="DefaultManagement.DoHarvest"/> | </simcomponent>
...
| <out id="IsStage" datatype="BOOLEAN" rule="CustomPhenologyStage.IsStage"/> | <out id="StageReached" datatype="BOOLEAN" rule="CustomPhenologyStage.StageReached"/> | <out id="StageDVS" datatype="DOUBLE" rule="CustomPhenologyStage.StageDVS"/> | <out id="StageDOY" datatype="INT" rule="CustomPhenologyStage.StageDOY"/> | <out id="StageDate" datatype="DATE" rule="CustomPhenologyStage.StageDate"/>
- Author:
- Gunther Krauss, gk@uni-bonn.de
Component Variables
Content Type | Name | Description | Data Type | Unit | Min Value | Max Value | Default Value |
---|---|---|---|---|---|---|---|
constant | cStageDVS | DVS required to reach the specific development stage | DOUBLE | 0.0 | 3.0 | - | |
input | iDVS | actual DVS | DOUBLE | 0.0 | 3.0 | 0.0 | |
input | iDoHarvest | If true, then the stages are reset. | BOOLEAN | - | - | false | |
out | IsStage | true on the day when stage has been reached | BOOLEAN | 1 | - | - | false |
out | StageDOY | DOY at which the stage has been reached | INT | 0 | 366 | - | |
out | StageDVS | DVS at which the stage has been reached (can be slightly higher than the treshold) | DOUBLE | 0.0 | 3.0 | - | |
out | StageDate | Date at which the stage has been reached | DATE | - | - | - | |
out | StageReached | true on the days after stage has been reached | BOOLEAN | 1 | - | - | false |
-
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
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
-
CustomPhenologyStage
public CustomPhenologyStage()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()
-
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)
-