Klasse BelowgroundAllocationFactor

java.lang.Object
net.simplace.sim.model.FWSimComponent
net.simplace.sim.components.experimental.intercropping.BelowgroundAllocationFactor
Alle implementierten Schnittstellen:
net.simplace.sim.util.FWSimFieldContainer

public class BelowgroundAllocationFactor extends net.simplace.sim.model.FWSimComponent
Calculates factors for below ground allocation of two crops from their root distribution.

The module uses a straigthforward approach:

  • Root Length Densities (RLD) and Root Restriction Factors (RRF) are scaled according to the area covered by each crop
  • Common RLD and RRF are just the sum of the scaled RLDs and RRFs
  • Below ground allocation factors are proportional to the scaled RRFs

Calculation

Root Length Densities per layer $rld_{1,i}, rld_{2,i}$ and are scaled to the coresponding area fractions $a_1, a_2$ occupied by the two crops and the sum of both is calculated.

\[ rld_i = rld_{1,i} \cdot a_1 + rld_{2,i} \cdot a_2 \]

Same holds for Root Restriction Factors per Layer $rrf_{1,i}, rrf_{2,i}$ \[ rrf_i = rrf_{1,i} \cdot a_1 + rrf_{2,i} \cdot a_2 \]

The maximum rooted layer is the biggest layer number, where Root Length Density is greater than 0. \[ n_{max} = max\{i | rld_i > 0\} \]

To calculate the allocations factors $f_1, f_2$, first the total sum of root restriction factors is calculated \[ s = \sum_i rrf_{1_i} + \sum_i rrf_{2,i} \]

then the factor per layer is the root restriction factor per layer divided by the sum

\[ f_{1,i} = \frac{rff_{1,i}}{s} \quad \quad f_{2,i} = \frac{rff_{2,i}}{s} \]

To get the total factors, the factor per per layers are summed up

\[ f_1 = \sum_i f_{1,i} \quad \quad f_2 = \sum_i f_{2,i} \]

References

Autor:
G. Krauss
Siehe auch:

Component Variables

Content TypeNameDescriptionData TypeUnitMin ValueMax ValueDefault Value
constantcAreaFraction1Area fraction covered by crop 1DOUBLE10.01.00.0
constantcAreaFraction2Area fraction covered by crop 2DOUBLE10.01.00.0
inputiRootDepth1Root depth of crop 1DOUBLEm0.0-0.0
inputiRootDepth2Root depth of crop 2DOUBLEm0.0-0.0
inputiRootLength1Root length per layer of crop 1DOUBLEARRAYm0.0--
inputiRootLength2Root length per layer of crop 2DOUBLEARRAYm0.0--
inputiRootLengthDensity1Root length density per layer of crop 1DOUBLEARRAYcm/cm30.0--
inputiRootLengthDensity2Root length density per layer of crop 2DOUBLEARRAYcm/cm30.0--
inputiRootRestrictionFactor1root restriction factor per layer of crop 1DOUBLEARRAY10.0--
inputiRootRestrictionFactor2root restriction factor per layer of crop 2DOUBLEARRAY10.0--
outFactor1Below ground allocation factor for crop 1DOUBLE10.01.00.0
outFactor1PerLayerBelow ground allocation factor for crop 1 per layerDOUBLEARRAY10.01.0-
outFactor2Below ground allocation factor for crop 2DOUBLE10.01.00.0
outFactor2PerLayerBelow ground allocation factor for crop 2 per layerDOUBLEARRAY10.01.0-
outMD95Highest layer number that contains roots (counting from 1)INT0-0
outMaxRootedLayerNumberHighest layer number that contains roots (counting from 0)INT0-0
outRootDepthRoot depthDOUBLEm0.0-0.0
outRootLengthRoot length per layer of both cropsDOUBLEARRAYm0.0--
outRootLengthDensityRoot length density per layer of both cropsDOUBLEARRAYcm/cm30.0--
outRootRestrictionFactorAveraged root restriction factor per layer of both cropsDOUBLEARRAY10.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
    Modifizierer
    Konstruktor
    Beschreibung
     
    called from class.forName()
    protected
    BelowgroundAllocationFactor(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)
     
    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
     

    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

    • BelowgroundAllocationFactor

      protected BelowgroundAllocationFactor(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 -
    • BelowgroundAllocationFactor

      public BelowgroundAllocationFactor()
      called from 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
    • init

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

      protected void initVariables()
    • process

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