Class HarvestKillManagement

java.lang.Object
net.simplace.sim.model.FWSimComponent
net.simplace.sim.components.management.HarvestKillManagement
All Implemented Interfaces:
net.simplace.sim.util.FWSimFieldContainer

public class HarvestKillManagement extends net.simplace.sim.model.FWSimComponent
Controls the Harvest and Killing events for CatchCrop containing solutions

If current crop name matches ${cCatchCropIDs} (array formatted list like {a,b,c}) the rules for plant dying (${DoKill}=>true) will be used:

  1. CURRENT.DOY after ${cKillDOY}
  2. ${cDaysUnderThreshold} number of days under ${cRelativeTemperatureThreshold}
  3. 1 day under ${cAbsoluteTemperatureThreshold}

${WithCrop} depends on the ${iDVS} in the way that it is set to true if ${iDVS} > 0 ${DoHarvest} is set to true for ${iDVS} > 2

Notice

Down you find the rules that tried to do the same before.

Either 3 days under 2°C or 1 day under 0°C or 31.1.
Author:
aenders

Component Variables

Content TypeNameDescriptionData TypeUnitMin ValueMax ValueDefault Value
constantcAbsoluteTemperatureThresholdTemperature when plant dies after one dayDOUBLE°-20.020.00.0
constantcCatchCropIDs-CHARARRAY1---
constantcDaysUnderThresholdNumber of days under temperatur thresholdINT10203
constantcKillDoyLast DOY to kill the plant even if not mature, -1 if should switch offINT1-1366-1
constantcMaturityDateLast date to harvest plant even if not matureDATE°---
constantcMaturityDoyLast date to harvest plant even if not matureINT°---
constantcRelativeTemperatureThresholdTemperature when plant dies after ${cDaysUnderThreshold} daysDOUBLE°-20.020.02.0
inputiAirTemperatureMeanCurrent Mean Air TemperatureDOUBLE°-40.060.00.0
inputiCropNameCurrent corp name to match it with ${cCatchCropIDs}CHAR1--
inputiDVSDevelopmentstage between 0 and 2DOUBLE10.04.00.0
outCurrentDaysUnderThresholdNumber of days under temperatur thresholdINT10203
outDoHarvestSwitch to indicate if the plant should be harvestedBOOLEAN1--false
outDoKillSwitch to indicate if the plant should be killedBOOLEAN1--false
outWithCropSwitch to indicate the days of the year where a crop is presentBOOLEAN1--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
    called from class.forName()
    HarvestKillManagement(String aName, HashMap<String,net.simplace.sim.util.FWSimVariable<?>> aFieldMap, HashMap<String,String> aInputMap, org.jdom2.Element aSimComponentElement, net.simplace.sim.util.FWSimVarMap aVarMap, int aOrderNumber)
     
  • 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<?>>
     
    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
     
    protected void
     

    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

    • HarvestKillManagement

      public HarvestKillManagement(String aName, HashMap<String,net.simplace.sim.util.FWSimVariable<?>> aFieldMap, HashMap<String,String> aInputMap, org.jdom2.Element aSimComponentElement, net.simplace.sim.util.FWSimVarMap aVarMap, int aOrderNumber)
      Parameters:
      aName -
      aFieldMap -
      aInputMap -
      aSimComponentElement -
      aVarMap -
      aOrderNumber -
    • HarvestKillManagement

      public HarvestKillManagement()
      called from class.forName()
  • Method Details

    • init

      protected void init()
      Specified by:
      init in class net.simplace.sim.model.FWSimComponent
    • createVariables

      public HashMap<String,net.simplace.sim.util.FWSimVariable<?>> createVariables()
      Specified by:
      createVariables in interface net.simplace.sim.util.FWSimFieldContainer
      Specified by:
      createVariables in class net.simplace.sim.model.FWSimComponent
    • process

      protected void process()
      Specified by:
      process in class net.simplace.sim.model.FWSimComponent
    • 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