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 TypeNameDescriptionData TypeUnitMin ValueMax ValueDefault Value
constantcStageDVSDVS required to reach the specific development stageDOUBLE0.03.0-
inputiDVSactual DVSDOUBLE0.03.00.0
inputiDoHarvestIf true, then the stages are reset.BOOLEAN--false
outIsStagetrue on the day when stage has been reachedBOOLEAN1--false
outStageDOYDOY at which the stage has been reachedINT0366-
outStageDVSDVS at which the stage has been reached (can be slightly higher than the treshold)DOUBLE0.03.0-
outStageDateDate at which the stage has been reachedDATE---
outStageReachedtrue on the days after stage has been reachedBOOLEAN1--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

    Constructors
    Constructor
    Description
    Empty constructor used by class.forName()
  • Method Summary

    Modifier and Type
    Method
    Description
    protected net.simplace.sim.model.FWSimComponent
    clone(net.simplace.sim.util.FWSimVarMap aVarMap)
     
    HashMap<String,net.simplace.sim.util.FWSimVariable<?>>
    Create the FWSimVariables as interface for this SimComponent
    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.
    protected void
    Initializes the fields by getting input and output FWSimVariables from VarMap
    protected void
    Process the algorithm and write the results back to VarMap

    Methods 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

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • CustomPhenologyStage

      public CustomPhenologyStage()
      Empty constructor used by class.forName()
  • Method Details

    • createVariables

      public HashMap<String,net.simplace.sim.util.FWSimVariable<?>> createVariables()
      Create the FWSimVariables as interface for this SimComponent
      Specified by:
      createVariables in interface net.simplace.sim.util.FWSimFieldContainer
      Specified by:
      createVariables in class net.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 class net.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 class net.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 class net.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 class net.simplace.sim.model.FWSimComponent
      See Also:
      • FWSimComponent.clone(net.simplace.sim.util.FWSimVarMap)