Class ReSowManagement

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

public class ReSowManagement extends net.simplace.sim.model.FWSimComponent
Determines sowing or re-sowing date as function of precipitation.
  • Sowing can occur only during a sowing period which starts when the input variable iStartSowingPhase becomes true and lasts cSowingWindowDays
  • Sowing is triggered, when the sum of iPrecipitation of the last cPrecipitationDays is bigger than cMinimumPrecipitationSum
  • if during the cDroughtCrititalPeriod (in days) there are more than cMaximumDroughtDays where iPrecipitation is below cPrecipitationThreshold, then a re-sowing is required
  • for the re-sowing hold the same rules as for sowing: precipitation sum of previous days must be high enough and the actual day is still in the sowing period
  • when iDoReset is true, all states are reset
  • most important output is DoSow, which is true when (re)sowing should be done it is required as an input by some other modules (phenology, biomass production, roots etc.)
  • NeedsReSowing is true, when there was too much drought after sowing, but the conditions for re-sowing are not fullfilled yet.
  • SowingDOY holds the day of year, when DoSow is true. Some modules (e. g. Lintul5 Phenology) need for starting not only DoSow, but also a sowing DOY.
  • other output have a more informative character

References

  • Laux, P., Kunstmann, H., Bardossy, A., 2008. Predicting the regional onset of the rainy season in West Africa. Int. J. Climatol. 28, 329-342.
  • Diallo, M.A., 2001. Statistical analyse of agroclimatic parameters based on regional meteorological data based. Centre Regional AGRHYMET Tech. Rep., Niamey, Niger, pp. 88.
  • Dodd, D.E.S., Jolliffe, I.T., 2001. Early detection of the start of the wet season in semiarid tropical climates of western Africa. Int. J. Climatol. 21, 1252-1262.
Author:
Gunther Krauss

Component Variables

Content TypeNameDescriptionData TypeUnitMin ValueMax ValueDefault Value
constantcDroughtCriticalPeriodTime span in days after sowing drought days are considered for possible resowingINTd--30
constantcLatestSowingDOYIf no sowing was successful latest this DOY will be sown.INTd-1366-1
constantcMaximumDroughtDaysIf number of drought days is bigger than MaximumDroughtDays, then resowing is required.INTd13667
constantcMinimumPrecipitationSumMinimum amount of precipitation that has been acumulated during last cPrecipitationDaysDOUBLEmm--30.0
constantcPrecipitationDaysNumber of days where precipitation is acumulated to decide about sowingINTd--5
constantcPrecipitationThresholdIf daily precipitation is below this threshold, the day is counted as a drought dayDOUBLEmm0.01.00.1
constantcSowingWindowDaysTime span in days after start where (re)sowing is possible INTd--60
inputiDoResetBoolean that triggers resetting of all counts (except TotalDays) and statesBOOLEAN1--false
inputiPrecipitationDaily precipitationDOUBLEmm--0.0
inputiStartSowingPhaseBoolean that triggers the start of sowing period.BOOLEAN1--false
inputiTRANRFDaily stress factor due to transpiration reductionDOUBLE1--1.0
outDaysSinceSowingDays since last DoSow was triggeredINTd--0
outDaysSinceStartDays since start of sowing period phaseINTd--0
outDoSowIs set to true, when sowing is required and possible.BOOLEAN1--false
outDroughtDaysNumber of days where TRANRF is below the thresholdINTd--0
outHasSownIs true, when sowing has been triggered.BOOLEAN1--false
outHasStartedIs set to true, when start of sowing period is triggered.BOOLEAN1--false
outNeedsReSowingIs true, when number of drought days exceeds the maximum and simulation is still in the sowing window.BOOLEAN1--false
outPreviousDaysPrecipitationArray that holds the precipitation of the last Precipitation days. Values are cyclically updated.DOUBLEARRAYmm---
outPreviousDaysPrecipitationSumSum of the previous days precipitationDOUBLEmm--0.0
outSowingAttemptsNumber of sowing attemptsINT1--0
outSowingDOYDOY when DoSow occursINT1--0
outTotalDaysCounts total running days. Used to cyclically populate PreviousDaysPrecipitation with the last precipitation values.INTd--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

    Constructors
    Constructor
    Description
    Empty constructor used by class.forName()
    ReSowManagement(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)
    creates a clone from this SimComponent for use in other threads
    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
     
    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

    • ReSowManagement

      public ReSowManagement(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 -
    • ReSowManagement

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

    • 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
      See Also:
      • FWSimComponent.createVariables()
    • init

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

      protected void reset()
    • process

      protected void process()
      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)
      creates a clone from this SimComponent for use in other threads
      Specified by:
      clone in class net.simplace.sim.model.FWSimComponent
      See Also:
      • FWSimComponent.clone(net.simplace.sim.util.FWSimVarMap)