Class NFixationRestrictionFactor
java.lang.Object
net.simplace.sim.model.FWSimComponent
net.simplace.sim.components.soil.slim.NFixationRestrictionFactor
- All Implemented Interfaces:
net.simplace.sim.util.FWSimFieldContainer
public class NFixationRestrictionFactor
extends net.simplace.sim.model.FWSimComponent
Symbiotic N fixation
N fixation is controlled by cNFIXF, the fraction of daily N uptake by fixation. If set to 0 (default), no fixation occurs. If set to 1, then all N demand is fullfilled by N fixation.
The N fixation can be influenced by actual development stage, N and water content by setting the cSymbioticNFixationRestrictionFactor. 0 means no influence of restrictions, 1 means full influence of restrictions.
* \[ r = min(r_{soilN},r_{water},r_{development}) \] \[ ActualSymbioticNFixationRestrictionFactor = r \cdot cSymbioticNFixationRestrictionFactor + (1-cSymbioticNFixationRestrictionFactor) \]The fixation restriction factor can be used as input to SimComponents like NPKDemand and will be multiplied with the N fixation factor (NFIXF).
Notice that NPKDemandSlimNP and NPKDemandSlimNitrogen have the fixation reduction already implemented.
- Author:
- Gunther Krauss
Component Variables
Content Type | Name | Description | Data Type | Unit | Min Value | Max Value | Default Value |
---|---|---|---|---|---|---|---|
constant | cSoilLayerDepth | - | DOUBLEARRAY | m | - | - | - |
constant | cSoilWaterFieldCapacity | - | DOUBLEARRAY | m3/m3 | - | - | - |
constant | cSoilWaterWiltingPoint | - | DOUBLEARRAY | m3/m3 | - | - | - |
constant | cSymbioticNFixationRestrictionFactor | influence of development, soil water and soil N on fixation factor (0=no restriction, 1=full restriction, default .5) | DOUBLE | 1 | 0.0 | 1.0 | 0.5 |
input | iDVS | actual development stage of crop (from 0 to 2) | DOUBLE | 1 | - | - | 0.0 |
input | iMD95 | Number of deepest soil layer containing roots (provided by other SimComponents e.g. SlimRoots) | INT | 1 | 0 | 10000 | 0 |
input | iSoilAvailNitrate | Nitrate in mobile+retained water fractions (without fixed nitrate) in layer i | DOUBLEARRAY | g/m2 | - | - | - |
input | iTotalWater | Total water content in each soil layer (mm) | DOUBLEARRAY | mm | - | - | - |
out | ActualSymbioticNFixationRestrictionFactor | actual factor to multiply the ratio of crop N uptake by symbiotic fixation, depending possibly on development, soil water and soil N. | DOUBLE | 1 | 0.0 | 1.0 | 1.0 |
-
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) fillTestVariables
(int aParamIndex, net.simplace.sim.model.FWSimComponent.TEST_STATE aDefineOrCheck) called for single component test to check the components algorithm.final void
init()
Set the soil water and nitrogen content for all layers.protected void
process()
Calculates one step (i.e. one day)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
-
Constructor Details
-
NFixationRestrictionFactor
public NFixationRestrictionFactor(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
-
-
NFixationRestrictionFactor
public NFixationRestrictionFactor()called from class.forName()
-
-
Method Details
-
createVariables
- Specified by:
createVariables
in interfacenet.simplace.sim.util.FWSimFieldContainer
- Specified by:
createVariables
in classnet.simplace.sim.model.FWSimComponent
- See Also:
-
FWSimComponent.createVariables()
-
init
public final void init()Set the soil water and nitrogen content for all layers.- Specified by:
init
in classnet.simplace.sim.model.FWSimComponent
-
reInitialize
protected void reInitialize() -
process
protected void process()Calculates one step (i.e. one day)- Specified by:
process
in classnet.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.- 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) - Specified by:
clone
in classnet.simplace.sim.model.FWSimComponent
- See Also:
-
FWSimComponent.clone(net.simplace.sim.util.FWSimVarMap)
-