Klasse RunoffSurfaceCover

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

public class RunoffSurfaceCover extends net.simplace.sim.model.FWSimComponent

This SimComponent calculates the surface cover fraction for runoff and erosion simulations. The algorithm follows the same formulations used in the APSIM (Agricultural Production Systems sIMulator) platform, which was adapted from the PERFECT model (Littleboy et al., 1992).

The soil cover fraction is expressed by the Beer-lambert law as a function of the leaf area index (LAI) and surface organic matter. Both variables can be obtained from a crop growth SimComponent (e.g., LintulBiomass) or prescribed in a management component. The calculation procedure for determining the surface cover fraction is described in the following equations:

\[ \begin{eqnarray} Cover_{Green} Ungültige Eingabe: "&" = Ungültige Eingabe: "&" 1 - e^{(-K_{Green} \cdot LAI_{Green})} \\ Cover_{Senes} Ungültige Eingabe: "&" = Ungültige Eingabe: "&" 1 - e^{(-K_{Senes} \cdot LAI_{Senes})} \\ Cover_{SurfOM} Ungültige Eingabe: "&" = Ungültige Eingabe: "&" 1 - e^{(-K_{SurfOM} \cdot LAI_{SurfOM})} \\ Cover_{Total} Ungültige Eingabe: "&" = Ungültige Eingabe: "&" 1 - [(1 - Cover_{Green}) \cdot (1 - Cover_{Senes})] \cdot CanHFac \\ CoverFraction Ungültige Eingabe: "&" = Ungültige Eingabe: "&" 1 - [(1 - Cover_{Total}) \cdot (1 - Cover_{SurfOM})] \\ \end{eqnarray} \]

Where LAIGreen (iGreenLAI) is the green LAI (m2/m2); LAISenes (iSenesLAI) is the dry LAI still attached to the crop stems (m2/m2); SurfOM (iSurfOM) is the soil surface residues (t/ha); KGreen (cGreenK), KSenes (cSenesK), and KSurfOM (cSurfOMK) are the extinction coefficients for green LAI, for senesced LAI and SurfOM, respectively (all dimensionless); CoverGreen, CoverSenes and CoverSurfOM are the respective calculated cover fractions; CoverTotal is the total cover fraction of the canopy corrected by crop height; CanHFac is the correction factor (0-1) of CoverTotal as a function of canopy height (iHeight); CoverFraction (CoverFrac) is the final soil cover fraction (0-1) taking into account the crop canopy and soil surface residues. The CanHFac is calculated using an interpolation table consisting of canopy height (cCanopyFactorsHeight) and the respective reducing factors (cCanopyFactors). The effect of height is typically neglected (e.g., CanHFac=1) when the crop height is below 60 cm.

References

APSIM v7.1 source code. Last time accessed: Dec-14-2022. URL: https://github.com/APSIMInitiative/APSIMClassic

Littleboy, M., D.M. Silburn, D.M. Freebairn, D.R. Woodruff, G.L. Hammer, and J.K. Leslie. 1992. Impact of soil erosion on production in cropping systems. I. Development and validation of a simulation model. Aust. J. Soil Res. 30, 757-774.

Holzworth, Dean P., Neil I. Huth, Peter G. deVoil, Eric J. Zurcher, Neville I. Herrmann, Greg McLean, Karine Chenu, et al. "APSIM - Evolution towards a New Generation of Agricultural Systems Simulation." Environmental Modelling <span class="invalid-tag">Ungültige Eingabe: "&"</span> Software 62 (December 2014): 327–350. https://doi.org/10.1016/j.envsoft.2014.07.009

Autor:
Murilo Vianna, Gunther Krauss, gk@uni-bonn.de

Component Variables

Content TypeNameDescriptionData TypeUnitMin ValueMax ValueDefault Value
inputcGreenKExtinction coefficient for green LAIDOUBLE10.02.00.5
inputcSenesKExtinction coefficient for senesced LAIDOUBLE10.02.00.3
inputcSurfOMKExtinction coefficient for organic matter surfaceDOUBLE10.02.00.5
inputiGreenLAIGreen Leaf Area Index (LAI)DOUBLEm2/m20.020.0-
inputiHeightCrop HeightDOUBLEmm0.010000.0-
inputiSenesLAISenesced Leaf Area Index (LAI)DOUBLEm2/m20.020.0-
inputiSurfOMSoil surface organic matterDOUBLEg/m20.0100000.0-
outCoverFracSurface cover fraction for runoff calculationsDOUBLE10.01000.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()
  • 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<?>>
    Create the FWSimVariables as interface for this SimComponent
    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
    Initialises the fields by getting input and output FWSimVariables from VarMap
    protected void
    Process the algorithm and write the results back to VarMap

    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

    • RunoffSurfaceCover

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

    • createVariables

      public HashMap<String,net.simplace.sim.util.FWSimVariable<?>> createVariables()
      Create the FWSimVariables as interface for this SimComponent
      Angegeben von:
      createVariables in Schnittstelle net.simplace.sim.util.FWSimFieldContainer
      Angegeben von:
      createVariables in Klasse net.simplace.sim.model.FWSimComponent
      Siehe auch:
      • Ungültige Referenz
        net.simplace.simulation.model.FWSimComponent#createVariables()
    • init

      protected void init()
      Initialises the fields by getting input and output FWSimVariables from VarMap
      Angegeben von:
      init in Klasse net.simplace.sim.model.FWSimComponent
      Siehe auch:
      • Ungültige Referenz
        net.simplace.simulation.model.FWSimComponent#init()
    • process

      protected void process()
      Process the algorithm and write the results back to VarMap
      Angegeben von:
      process in Klasse net.simplace.sim.model.FWSimComponent
      Siehe auch:
      • Ungültige Referenz
        net.simplace.simulation.model.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)
      Angegeben von:
      clone in Klasse net.simplace.sim.model.FWSimComponent
      Siehe auch:
      • Ungültige Referenz
        net.simplace.simulation.model.FWSimComponent#clone(net.simplace.simulation.util.FWSimVarMap)