net.simplace.sim.components.management.SimpleAutomaticIrrigation

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).

Component Variables

Content TypeNameDescriptionData TypeUnitMin ValueMax ValueDefault Value
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



public class SimpleAutomaticIrrigation extends
net.simplace.sim.model.FWSimComponent {
// Public Constructors
public SimpleAutomaticIrrigation(String aName, HashMap aFieldMap, HashMap
aInputMap, Element aSimComponentElement, FWSimVarMap aVarMap, int
aOrderNumber);
public SimpleAutomaticIrrigation();


// Public Instance Methods
public HashMap createVariables(); // Defines
net.simplace.sim.model.FWSimComponent



// Protected Instance Methods
protected void init(); // Defines net.simplace.sim.model.FWSimComponent

protected void process(); // Defines net.simplace.sim.model.FWSimComponent

protected FWSimComponent clone(FWSimVarMap aVarMap);
// Defines net.simplace.sim.model.FWSimComponent


creates a clone from this SimComponent for use in other threads


}



Hierarchy: java.lang.Object - net.simplace.sim.model.FWSimComponent (net.simplace.sim.util.FWSimFieldContainer) - SimpleAutomaticIrrigation