Class N2Ofunctions
java.lang.Object
net.simplace.sim.components.experimental.n2o.N2Ofunctions
- Author:
- Andreas Enders, info@andreas-enders.de Henault, C, Germon, J.C. 2000: NEMIS, a predictive model of denitrification on the field scale, European Journal of Soil Science Linn, D.M., and J.W. Doran. 1984. Effect of water-filled pore space on carbon dioxide and nitrous oxide production in tilled and non-tilled soils. Soil Sci. Soc. Am. J. 48:1267-1272.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic double
calculateDenitrification
(Double cPotentialDenitrificationRate, Double TemperatureLimitFactor, Double NitrateLimitFactor, Double WaterLimitFactor) static Double[]
calculateDenitrificationRate
(Double potentialdenitrificationrate, Double km, Double particledensity, Double[] nitrateamount, Double[] soildepth, Double denitrificationdepth, Double[] bulkdensity, Double[] watercontent, Double[] soiltemperature) Calculates Denitrification per Layer The potential denitrification rate is split proportionally to the layers in the topsoil.static Double
calculateN2O
(Double cParticleDensity, Double cKm, Double cPotentialDenitrificationRate, Double iSoilTemperature, Double iNitrate, Double iWaterContent, Double iBulkDensity) static Double
calculateN2O
(Double cSoilDepth, Double cTopSoilDepth, Double cSoilLayerHeight, Double cParticleDensity, Double cKm, Double cPotentialDenitrificationRate, Double iSoilTemperature, Double iNitrate, Double iWaterContent, Double iBulkDensity) static void
calculateN2O
(net.simplace.sim.util.FWSimVariable<Double[]> cSoilDepth, net.simplace.sim.util.FWSimVariable<Double> cTopSoilDepth, net.simplace.sim.util.FWSimVariable<Double> cParticleDensity, net.simplace.sim.util.FWSimVariable<Double> cKm, net.simplace.sim.util.FWSimVariable<Double> cPotentialDenitrificationRate, net.simplace.sim.util.FWSimVariable<Double[]> iSoilTemperature, net.simplace.sim.util.FWSimVariable<Double[]> iNitrate, net.simplace.sim.util.FWSimVariable<Double[]> iWaterContent, net.simplace.sim.util.FWSimVariable<Double[]> iBulkDensity, net.simplace.sim.util.FWSimVariable<Double[]> TemperatureLimitFactor, net.simplace.sim.util.FWSimVariable<Double[]> NitrateLimitFactor, net.simplace.sim.util.FWSimVariable<Double[]> WaterLimitFactor, net.simplace.sim.util.FWSimVariable<Double[]> DenitrificationLayers, net.simplace.sim.util.FWSimVariable<Double> Denitrification) static Double
calculateNitrateLimitFactor
(Double cKm, Double iNitrate) static Double
calculatePotentialDenitrificationRate
(Double[] organiccarbon, Double[] bulkdensity, Double[] soildepth, double denitrificationdepth, Function<Double, Double> denitfunction) Calculates potential denitrification rate per day See Joël Léonard.static Double
calculateTemperatureLimitFactor
(Double iSoilTemperature) static Double
calculateWaterLimitFactor
(Double cParticleDensity, Double iWaterContent, Double iBulkDensity)
-
Constructor Details
-
N2Ofunctions
public N2Ofunctions()
-
-
Method Details
-
calculateN2O
public static void calculateN2O(net.simplace.sim.util.FWSimVariable<Double[]> cSoilDepth, net.simplace.sim.util.FWSimVariable<Double> cTopSoilDepth, net.simplace.sim.util.FWSimVariable<Double> cParticleDensity, net.simplace.sim.util.FWSimVariable<Double> cKm, net.simplace.sim.util.FWSimVariable<Double> cPotentialDenitrificationRate, net.simplace.sim.util.FWSimVariable<Double[]> iSoilTemperature, net.simplace.sim.util.FWSimVariable<Double[]> iNitrate, net.simplace.sim.util.FWSimVariable<Double[]> iWaterContent, net.simplace.sim.util.FWSimVariable<Double[]> iBulkDensity, net.simplace.sim.util.FWSimVariable<Double[]> TemperatureLimitFactor, net.simplace.sim.util.FWSimVariable<Double[]> NitrateLimitFactor, net.simplace.sim.util.FWSimVariable<Double[]> WaterLimitFactor, net.simplace.sim.util.FWSimVariable<Double[]> DenitrificationLayers, net.simplace.sim.util.FWSimVariable<Double> Denitrification) -
calculateDenitrificationRate
public static Double[] calculateDenitrificationRate(Double potentialdenitrificationrate, Double km, Double particledensity, Double[] nitrateamount, Double[] soildepth, Double denitrificationdepth, Double[] bulkdensity, Double[] watercontent, Double[] soiltemperature) Calculates Denitrification per Layer The potential denitrification rate is split proportionally to the layers in the topsoil. Then the actual rate per layer is determined by multiplying with the layer specific limiting factors regarding temperature, water content and nitrate content.- Parameters:
potentialdenitrificationrate
- Maximum denitrification rate [g m-2 day-1]km
- Nitrate limitation coefficient [mg/kg]particledensity
- Soil particle density [g/cm^2]nitrateamount
- Amount of nitrate per layer [g/m^2]soildepth
- Bottom of soil layers [m]denitrificationdepth
- Soildepth up to which denitrificatio occurs [m]bulkdensity
- Bulkdensity per soil layer [g/m^2]watercontent
- Soil water content per layer [mm]soiltemperature
- Temperature of soil layers [°C]- Returns:
- denitrification rate per layer [g m-2 d-1]
-
calculateN2O
-
calculateN2O
-
calculateDenitrification
-
calculateWaterLimitFactor
-
calculateNitrateLimitFactor
-
calculateTemperatureLimitFactor
-
calculatePotentialDenitrificationRate
public static Double calculatePotentialDenitrificationRate(Double[] organiccarbon, Double[] bulkdensity, Double[] soildepth, double denitrificationdepth, Function<Double, Double> denitfunction) Calculates potential denitrification rate per day See Joël Léonard. Nitrification, denitrification and N2O emissions in STICS. 2016. hal-02305546 https://hal.science/hal-02305546/document- Parameters:
organiccarbon
- soil organic carbon per layer (%)bulkdensity
- bulkdensity per layer (g/cm^3)soildepth
- bottom depth of layers (m)denitrificationdepth
- depth up to which denitrification occurs (m)denitfunction
- function (possibly from interpolation table) that calculates denitrification from organic carbon- Returns:
- potential denitrification rate per day (g /(m^2 d))
-