Class N2Ofunctions

java.lang.Object
net.simplace.sim.components.soil.n2o.N2Ofunctions

public class N2Ofunctions extends Object
  • Constructor Details

    • N2Ofunctions

      public N2Ofunctions()
  • Method Details

    • 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/cm^3]
      watercontent - Soil water content per layer [mm]
      soiltemperature - Temperature of soil layers [°C]
      Returns:
      denitrification rate per layer [g m-2 d-1]
    • 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 (particle density 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 per layer [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/cm^3]
      watercontent - Soil water content per layer [mm]
      soiltemperature - Temperature of soil layers [°C]
      Returns:
      denitrification rate per layer [g m-2 d-1]
    • calculateDenitrification

      public static double calculateDenitrification(Double PotentialDenitrificationRate, Double TemperatureLimitFactor, Double NitrateLimitFactor, Double WaterLimitFactor)
      Calculates actual denitrification rate by applying reduction factors to potential rate
      Parameters:
      PotentialDenitrificationRate - potential daily denitrifcation rate [g m-2 day-1]
      TemperatureLimitFactor - [-]
      NitrateLimitFactor - [-]
      WaterLimitFactor - [-]
      Returns:
      actual daily denitrification rate [g m-2 day-1]
    • calculateWaterLimitFactor

      public static Double calculateWaterLimitFactor(Double particleDensity, Double volumetricWaterContent, Double bulkdDensity)
      Parameters:
      particleDensity - [g/cm^3]
      volumetricWaterContent - [m^3/m^3]
      bulkdDensity - [g/cm^3]
      Returns:
      water limiting factor [-]
    • calculateNitrateLimitFactor

      public static Double calculateNitrateLimitFactor(Double km, Double nitrateConcentration)
      Calculate Nitrate limiting factor for denitrification
      Parameters:
      km - Nitrate limitation coefficient [mg/kg]
      nitrateConcentration - Nitrate concentration [mg/kg]
      Returns:
      nitrate limiting factor [-]
    • calculateTemperatureLimitFactor

      public static Double calculateTemperatureLimitFactor(Double soilTemperature)
      Calculates soil temperature limiting factor for denitrification
      Parameters:
      soilTemperature - [°C]
      Returns:
      soil limiting factor [-]
    • 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 (mg/kg)
      Returns:
      potential denitrification rate per day (g /(m^2 d))