Class NPKSupply
java.lang.Object
net.simplace.sim.model.FWSimComponent
net.simplace.sim.components.models.lintul5.modular.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, User guide for LINTUL5, Wageningen UR, Wageningen, 2012
Component Variables
Content Type | Name | Description | Data Type | Unit | Min Value | Max Value | Default Value |
---|---|---|---|---|---|---|---|
constant | cFERKTAB | table with fertiliser K applications at given days | DOUBLEARRAY | g/(m2 d) | 0.0 | - | - |
constant | cFERNTAB | table with fertiliser N applications at given days | DOUBLEARRAY | g/(m2 d) | 0.0 | - | - |
constant | cFERPTAB | table with fertiliser P applications at given days | DOUBLEARRAY | g/(m2 d) | 0.0 | - | - |
constant | cKMINI | initial amount (at crop emergence) of potentially available soil K | DOUBLE | g/m2 | 0.0 | - | 0.0 |
constant | cKRF | recovery fractions of fertiliser K applications | DOUBLE | 1 | 0.0 | 1.0 | 0.6 |
constant | cKRFTAB | table with recovery fractions of fertiliser K applications | DOUBLEARRAY | 1 | 0.0 | - | - |
constant | cNMINI | initial amount (at crop emergence) of potentially available soil organic N | DOUBLE | g/m2 | 0.0 | - | 0.0 |
constant | cNRF | recovery fractions of fertiliser N applications | DOUBLE | 1 | 0.0 | 1.0 | 0.7 |
constant | cNRFTAB | table with recovery fractions of fertiliser N applications | DOUBLEARRAY | 1 | 0.0 | - | - |
constant | cPMINI | initial amount (at crop emergence) of potentially available soil P | DOUBLE | g/m2 | 0.0 | - | 0.0 |
constant | cPRF | recovery fractions of fertiliser P applications | DOUBLE | 1 | 0.0 | 1.0 | 0.2 |
constant | cPRFTAB | table with recovery fractions of fertiliser P applications | DOUBLEARRAY | 1 | 0.0 | - | - |
constant | cRTKMINS | fraction of soil K coming available per day | DOUBLE | d-1 | 0.0 | 1.0 | 0.025 |
constant | cRTNMINS | fraction of soil organic N coming available per day | DOUBLE | d-1 | 0.0 | 1.0 | 0.025 |
constant | cRTPMINS | fraction of soil P coming available per day | DOUBLE | d-1 | 0.0 | 1.0 | 0.025 |
constant | cScaleFactorFERK | Scales the y-values of FERKTAB (for sensitivity analysis / calibration) | DOUBLE | 1 | - | - | 1.0 |
constant | cScaleFactorFERN | Scales the y-values of FERNTAB (for sensitivity analysis / calibration) | DOUBLE | 1 | - | - | 1.0 |
constant | cScaleFactorFERP | Scales the y-values of FERPTAB (for sensitivity analysis / calibration) | DOUBLE | 1 | - | - | 1.0 |
input | iDoHarvest | harvesting | BOOLEAN | 1 | - | - | false |
input | iDoSow | sowing | BOOLEAN | 1 | - | - | false |
input | iEMERG | has emerged | BOOLEAN | 1 | - | - | false |
input | iFERK | fertiliser K applications | DOUBLE | g/(m2 d) | 0.0 | - | - |
input | iFERN | fertiliser N applications | DOUBLE | g/(m2 d) | 0.0 | - | - |
input | iFERP | fertiliser P applications | DOUBLE | g/(m2 d) | 0.0 | - | - |
input | iKUPTR | daily K uptake rate by the crop | DOUBLE | g/(m2 d) | - | - | 0.0 |
input | iNLIMIT | Nutrient uptake limiting factor (-) at low moisture conditions in the rooted soil layer before anthesis. | DOUBLE | 1 | - | - | 0.0 |
input | iNUPTR | daily N uptake rate by the crop | DOUBLE | g/(m2 d) | - | - | 0.0 |
input | iPUPTR | daily P uptake rate by the crop | DOUBLE | g/(m2 d) | - | - | 0.0 |
state | sKMIN | amount of K potentially available from the soil | DOUBLE | g/m2 | - | - | 0.0 |
state | sKMINT | total K directly available from soil and fertiliser | DOUBLE | g/m2 | - | - | 0.0 |
state | sNMIN | organic N potentially available by mineralization from the soil | DOUBLE | g/m2 | - | - | 0.0 |
state | sNMINT | total mineral N directly available from soil and fertiliser | DOUBLE | g/m2 | - | - | 0.0 |
state | sPMIN | P potentially available from the soil | DOUBLE | g/m2 | - | - | 0.0 |
state | sPMINT | total P directly available from soil and fertiliser | DOUBLE | g/m2 | - | - | 0.0 |
rate | rRKMINS | depletion (thus negative value) of the available amount of soil K | DOUBLE | g/(m2 d) | - | - | 0.0 |
rate | rRKMINT | change in total directly available K in soil | DOUBLE | g/(m2 d) | - | - | 0.0 |
rate | rRNMINS | depletion (thus negative value)/mineralization of the available amount of soil organic N | DOUBLE | g/(m2 d) | - | - | 0.0 |
rate | rRNMINT | change in total inorganic directly available N in soil | DOUBLE | g/(m2 d) | - | - | 0.0 |
rate | rRPMINS | depletion (thus negative value) of the available amount of soil P | DOUBLE | g/(m2 d) | - | - | 0.0 |
rate | rRPMINT | change in total directly available P in soil | DOUBLE | g/(m2 d) | - | - | 0.0 |
out | WithCrop | crop is present | BOOLEAN | 1 | - | - | 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
-
Method Summary
Modifier and TypeMethodDescriptionprotected net.simplace.sim.model.FWSimComponent
clone
(net.simplace.sim.util.FWSimVarMap aVarMap) creates a clone from this SimComponent for use in other threadsCreate the FWSimVariables as interface for this SimComponentfillTestVariables
(int aParamIndex, net.simplace.sim.model.FWSimComponent.TEST_STATE aDefineOrCheck) called for single component test to check the components algorithm.protected void
init()
initializes the fields by getting input and output FWSimVariables from VarMapprotected void
protected void
process()
process the algorithm and write the results back to VarMapprotected 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
-
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
Create the FWSimVariables as interface for this SimComponent- Specified by:
createVariables
in interfacenet.simplace.sim.util.FWSimFieldContainer
- Specified by:
createVariables
in classnet.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 classnet.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 classnet.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 classnet.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) creates a clone from this SimComponent for use in other threads- Specified by:
clone
in classnet.simplace.sim.model.FWSimComponent
- See Also:
-
FWSimComponent.clone(net.simplace.sim.util.FWSimVarMap)
-