Klasse SimpleAutomaticIrrigationYean

java.lang.Object
net.simplace.sim.model.FWSimComponent
net.simplace.usermodules.yean.SimpleAutomaticIrrigationYean
Alle implementierten Schnittstellen:
net.simplace.sim.util.FWSimFieldContainer

public class SimpleAutomaticIrrigationYean extends net.simplace.sim.model.FWSimComponent
Simple automatic irrigation component to be used in combination with SimComponents calculating soil water balance in layered soils

This SimComponent requires input about daily available mobile water (WM) and retained water (WR) in each soil layer with the relevant soil depth from other SimComponents like SlimWater or ImprovedSoilWater. The depth of the soil moisture control section for triggering irrigation time and volume is defined by the variable cIrrigationTriggerDepth.

In a first step, the sum of available mobile soil water (iWM) and retained water (iWR) within the soil moisture control section is calculated (CumulativeAvailableWater) and compared to the difference between cSoilWaterFieldCapacity and cSoilWaterWiltingPoint for layers above cIrrigationTriggerDepth (cumulativeWRH).

If the ratio between CumulativeAvailableWater and cumulativeWRH is lower than cIrrigationTriggerFactor, then irrigation is triggered. The irrigation volume applied AppliedIrrigationDepth is calculated as the difference between available water capacity and actual available water over the whole soil depth. The calculated AppliedIrrigationDepth is added to the incoming iRAIN and the sum is output as RainAndIrrigation.

Thus, after each irrigation event the soil profile should be at field capacity if no run-off occurs. The module also determines whether surface run-off should be calculated (CalculateRunoff) if iRAIN exceeds cMaxRainWithoutRunoff (amount of rain below which no surface run-off can occur).

Autor:
gk

Component Variables

Content TypeNameDescriptionData TypeUnitMin ValueMax ValueDefault Value
constantcDeficitExcessIrrigationRatioRatio to determine actual irrigated water in comparison with the optimal level, irrigationAmountDOUBLE1--1.0
constantcIrrigation0 = rainfed; 1 = irrigatedINT1--0
constantcIrrigationTriggerDepthdepth to sum plant available water to, to determine if irrigation is requiredDOUBLEm--0.0
constantcIrrigationTriggerFactorfraction of total plant available water in a given depth of soil below which irrigation is appliedDOUBLE1--0.0
constantcMaxRainWithoutRunoffmaximum precipitation at which no runoff is calculatedDOUBLEmm/d--0.0
constantcSoilLayerDepthdepth of soil layersDOUBLEARRAYm---
constantcSoilWaterFieldCapacityfield capacity per layerDOUBLEARRAYm3/m3---
constantcSoilWaterWiltingPointwilting point per layerDOUBLEARRAYm3/m3---
constantcUseLegacyCalculationOfMaxWRIf true, then the maximum of WR will be the difference of field capacity and wilting point. If false, then it's the difference of field capacity and half wilting point.BOOLEAN--true
inputiRAINprecipitationDOUBLEmm/d--0.0
inputiWMmobile water per layerDOUBLEARRAYmm---
inputiWRretained water per layerDOUBLEARRAYmm---
outAppliedIrrDepthdaily applied depth of irrigationDOUBLEmm/d--0.0
outCalculateRunoff-BOOLEAN--true
outCumulativeAppliedIrrDepthcumulative applied depth of irrigationDOUBLEmm--0.0
outRainAndIrrigationprecipitation + irrigationDOUBLEmm/d--0.0
  • Verschachtelte Klassen - Übersicht

    Von Klasse geerbte verschachtelte Klassen/Schnittstellen net.simplace.sim.model.FWSimComponent

    net.simplace.sim.model.FWSimComponent.TEST_STATE
  • Feldübersicht

    Von Klasse geerbte Felder net.simplace.sim.model.FWSimComponent

    iFieldMap, iFrequence, iInputMap, iJexlRule, iMasterComponentGroup, iName, iOrderNumber, isComponentGroup, iSimComponentElement, iSimModel, iVarMap
  • Konstruktorübersicht

    Konstruktoren
    Konstruktor
    Beschreibung
    Empty constructor used by class.forName()
    SimpleAutomaticIrrigationYean(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)
     
  • Methodenübersicht

    Modifizierer und Typ
    Methode
    Beschreibung
    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
     

    Von Klasse geerbte Methoden 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

    Von Klasse geerbte Methoden java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Konstruktordetails

    • SimpleAutomaticIrrigationYean

      public SimpleAutomaticIrrigationYean(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)
      Parameter:
      aName -
      aFieldMap -
      aInputMap -
      aSimComponentElement -
      aVarMap -
      aOrderNumber -
    • SimpleAutomaticIrrigationYean

      public SimpleAutomaticIrrigationYean()
      Empty constructor used by class.forName()
  • Methodendetails

    • createVariables

      public HashMap<String,net.simplace.sim.util.FWSimVariable<?>> createVariables()
      Angegeben von:
      createVariables in Schnittstelle net.simplace.sim.util.FWSimFieldContainer
      Angegeben von:
      createVariables in Klasse net.simplace.sim.model.FWSimComponent
      Siehe auch:
      • FWSimComponent.createVariables()
    • init

      protected void init()
      Angegeben von:
      init in Klasse net.simplace.sim.model.FWSimComponent
      Siehe auch:
      • FWSimComponent.init()
    • process

      protected void process()
      Angegeben von:
      process in Klasse net.simplace.sim.model.FWSimComponent
      Siehe auch:
      • 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.
      Angegeben von:
      fillTestVariables in Klasse net.simplace.sim.model.FWSimComponent
      Siehe auch:
      • Ungültige Referenz
        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
      Angegeben von:
      clone in Klasse net.simplace.sim.model.FWSimComponent
      Siehe auch:
      • FWSimComponent.clone(net.simplace.sim.util.FWSimVarMap)