java.lang.Object
net.simplace.sim.model.FWSimComponent
net.simplace.sim.components.models.lintul5.amei.NPKSupply
All Implemented Interfaces:
net.simplace.sim.util.FWSimFieldContainer

public class NPKSupply extends net.simplace.sim.model.FWSimComponent
Lintul5 - Simple generic model for simulation of crop growth - NPKSupply part

This sim component calculates the NPK supply part from NPK sim component. It takes daily update rates iNUPTR, iPUPTR, iKUPTR and N limiting factor iNLIMIT as input. It outputs soil available NPK amounts.

== References == - (L5) Joost Wolf, [https://models.pps.wur.nl/system/files/LINTUL4-report-vs1_0.zip User guide for LINTUL5], Wageningen UR, Wageningen, 2012

Author:
G. Krauss
See Also:

Component Variables

Content TypeNameDescriptionData TypeUnitMin ValueMax ValueDefault Value
constantcKMINIinitial amount (at crop emergence) of potentially available soil KDOUBLEg/m20.0-0.0
constantcKRFrecovery fractions of fertiliser K applicationsDOUBLE10.01.00.6
constantcNMINIinitial amount (at crop emergence) of potentially available soil organic NDOUBLEg/m20.0-0.0
constantcNRFrecovery fractions of fertiliser N applicationsDOUBLE10.01.00.7
constantcPMINIinitial amount (at crop emergence) of potentially available soil PDOUBLEg/m20.0-0.0
constantcPRFrecovery fractions of fertiliser P applicationsDOUBLE10.01.00.2
constantcRTKMINSfraction of soil K coming available per dayDOUBLEd-10.01.00.025
constantcRTNMINSfraction of soil organic N coming available per dayDOUBLEd-10.01.00.025
constantcRTPMINSfraction of soil P coming available per dayDOUBLEd-10.01.00.025
constantcScaleFactorFERKScales the y-values of FERKTAB (for sensitivity analysis / calibration)DOUBLE1--1.0
constantcScaleFactorFERNScales the y-values of FERNTAB (for sensitivity analysis / calibration)DOUBLE1--1.0
constantcScaleFactorFERPScales the y-values of FERPTAB (for sensitivity analysis / calibration)DOUBLE1--1.0
inputiDoHarvestharvestingBOOLEAN1--false
inputiDoSowsowingBOOLEAN1--false
inputiEMERGhas emergedBOOLEAN1--false
inputiFERKfertiliser K applicationsDOUBLEg/(m2 d)0.0--
inputiFERNfertiliser N applicationsDOUBLEg/(m2 d)0.0--
inputiFERPfertiliser P applicationsDOUBLEg/(m2 d)0.0--
inputiKUPTRdaily K uptake rate by the cropDOUBLEg/(m2 d)--0.0
inputiNLIMITNutrient uptake limiting factor (-) at low moisture conditions in the rooted soil layer before anthesis.DOUBLE1--0.0
inputiNUPTRdaily N uptake rate by the cropDOUBLEg/(m2 d)--0.0
inputiPUPTRdaily P uptake rate by the cropDOUBLEg/(m2 d)--0.0
statesKMINamount of K potentially available from the soilDOUBLEg/m2--0.0
statesKMINTtotal K directly available from soil and fertiliserDOUBLEg/m2--0.0
statesNMINorganic N potentially available by mineralization from the soilDOUBLEg/m2--0.0
statesNMINTtotal mineral N directly available from soil and fertiliserDOUBLEg/m2--0.0
statesPMINP potentially available from the soilDOUBLEg/m2--0.0
statesPMINTtotal P directly available from soil and fertiliserDOUBLEg/m2--0.0
raterRKMINSdepletion (thus negative value) of the available amount of soil KDOUBLEg/(m2 d)--0.0
raterRKMINTchange in total directly available K in soilDOUBLEg/(m2 d)--0.0
raterRNMINSdepletion (thus negative value)/mineralization of the available amount of soil organic NDOUBLEg/(m2 d)--0.0
raterRNMINTchange in total inorganic directly available N in soilDOUBLEg/(m2 d)--0.0
raterRPMINSdepletion (thus negative value) of the available amount of soil PDOUBLEg/(m2 d)--0.0
raterRPMINTchange in total directly available P in soilDOUBLEg/(m2 d)--0.0
outWithCropcrop is presentBOOLEAN1--false
  • 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()
    NPKSupply(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)
     
    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
    initializes the fields by getting input and output FWSimVariables from VarMap
    protected void
     
    protected void
    process the algorithm and write the results back to VarMap
    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

    • NPKSupply

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

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

    • createVariables

      public HashMap<String,net.simplace.sim.util.FWSimVariable<?>> createVariables()
      Create the FWSimVariables as interface for this SimComponent
      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()
      initializes the fields by getting input and output FWSimVariables from VarMap
      Specified by:
      init in class net.simplace.sim.model.FWSimComponent
      See Also:
      • FWSimComponent.init()
    • initValues

      protected void initValues()
    • resetValues

      protected void resetValues()
    • process

      protected void process()
      process the algorithm and write the results back to VarMap
      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)
      Specified by:
      clone in class net.simplace.sim.model.FWSimComponent
      See Also:
      • FWSimComponent.clone(net.simplace.sim.util.FWSimVarMap)