Klasse SoilTemperature

java.lang.Object
net.simplace.sim.model.FWSimComponent
net.simplace.usermodules.amei.ApsimCampbell.SoilTemperature
Alle implementierten Schnittstellen:
net.simplace.sim.util.FWSimFieldContainer

public class SoilTemperature extends net.simplace.sim.model.FWSimComponent
  • Konstruktordetails

    • SoilTemperature

      public SoilTemperature(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)
    • SoilTemperature

      public SoilTemperature()
  • Methodendetails

    • createVariables

      public HashMap<String,net.simplace.sim.util.FWSimVariable<?>> createVariables()
      Angegeben von:
      createVariables in Schnittstelle net.simplace.sim.util.FWSimFieldContainer
      Angegeben von:
      createVariables in Klasse net.simplace.sim.model.FWSimComponent
    • init

      protected void init()
      Angegeben von:
      init in Klasse net.simplace.sim.model.FWSimComponent
    • process

      protected void process()
      Angegeben von:
      process in Klasse net.simplace.sim.model.FWSimComponent
    • getIniVariables

      public static double getIniVariables(double instrumentHeight, double instrumHeight, double defaultInstrumentHeight)
    • Calculate_getProfileVariables

      public net.simplace.usermodules.amei.ApsimCampbell.getProfileVariables Calculate_getProfileVariables(Double[] heatStorage, Double[] minSoilTemp, Double[] bulkDensity, Integer numNodes, Double[] physical_BD, Double[] maxSoilTemp, Double[] waterBalance_SW, Double[] organic_Carbon, Double[] physical_Rocks, Double[] nodeDepth, Integer topsoilNode, Double[] newTemperature, Integer surfaceNode, Double[] soilWater, Double[] thermalConductance, Double[] thermalConductivity, Double[] sand, Double[] carbon, Double[] thickness, Integer numPhantomNodes, Double[] physical_ParticleSizeSand, Double[] rocks, Double[] clay, Double[] physical_ParticleSizeSilt, Integer airNode, Double[] physical_ParticleSizeClay, Double[] soilTemp, Integer numLayers, Double[] physical_Thickness, Double[] silt, Double[] volSpecHeatSoil, Double[] aveSoilTemp, Double[] morningSoilTemp, double DepthToConstantTemperature, double MissingValue)
    • Calculate_doThermalConductivityCoeffs

      public net.simplace.usermodules.amei.ApsimCampbell.doThermalConductivityCoeffs Calculate_doThermalConductivityCoeffs(Double[] thermCondPar2, Integer numLayers, Double[] bulkDensity, Integer numNodes, Double[] thermCondPar3, Double[] thermCondPar4, Double[] clay, Double[] thermCondPar1)
    • Calculate_readParam

      public net.simplace.usermodules.amei.ApsimCampbell.readParam Calculate_readParam(double bareSoilRoughness, Double[] newTemperature, double soilRoughnessHeight, Double[] soilTemp, Double[] thermCondPar2, Integer numLayers, Double[] bulkDensity, Integer numNodes, Double[] thermCondPar3, Double[] thermCondPar4, Double[] clay, Double[] thermCondPar1, double weather_Tav, Integer clock_Today_DayOfYear, Integer surfaceNode, double weather_Amp, Double[] thickness, double weather_Latitude)
    • Calculate_getOtherVariables

      public net.simplace.usermodules.amei.ApsimCampbell.getOtherVariables Calculate_getOtherVariables(Integer numLayers, Integer numNodes, Double[] soilWater, double instrumentHeight, double soilRoughnessHeight, Double[] waterBalance_SW, double microClimate_CanopyHeight, double canopyHeight)
    • volumetricFractionOrganicMatter

      public static double volumetricFractionOrganicMatter(Integer layer, Double[] carbon, Double[] bulkDensity, double pom)
    • volumetricFractionRocks

      public static double volumetricFractionRocks(Integer layer, Double[] rocks)
    • volumetricFractionIce

      public static double volumetricFractionIce(Integer layer)
    • volumetricFractionWater

      public static double volumetricFractionWater(Integer layer, Double[] soilWater, Double[] carbon, Double[] bulkDensity, double pom)
    • volumetricFractionClay

      public static double volumetricFractionClay(Integer layer, Double[] bulkDensity, double ps, Double[] clay, Double[] carbon, double pom, Double[] rocks)
    • volumetricFractionSilt

      public static double volumetricFractionSilt(Integer layer, Double[] bulkDensity, Double[] silt, double ps, Double[] carbon, double pom, Double[] rocks)
    • volumetricFractionSand

      public static double volumetricFractionSand(Integer layer, Double[] bulkDensity, Double[] sand, double ps, Double[] carbon, double pom, Double[] rocks)
    • kelvinT

      public static double kelvinT(double celciusT)
    • Divide

      public static double Divide(double value1, double value2, double errVal)
    • Sum

      public static double Sum(Double[] values, Integer startIndex, Integer endIndex, double MissingValue)
    • volumetricSpecificHeat

      public static double volumetricSpecificHeat(String name, Integer layer)
    • volumetricFractionAir

      public static double volumetricFractionAir(Integer layer, Double[] rocks, Double[] carbon, Double[] bulkDensity, double pom, Double[] sand, double ps, Double[] silt, Double[] clay, Double[] soilWater)
    • airDensity

      public static double airDensity(double temperature, double AirPressure)
    • longWaveRadn

      public static double longWaveRadn(double emissivity, double tDegC, double stefanBoltzmannConstant)
    • mapLayer2Node

      public static Double[] mapLayer2Node(Double[] layerArray, Double[] nodeArray, Double[] nodeDepth, Integer numNodes, Double[] thickness, Integer surfaceNode, double MissingValue)
    • ThermalConductance

      public static double ThermalConductance(String name, Integer layer, Double[] rocks, Double[] bulkDensity, Double[] sand, double ps, Double[] carbon, double pom, Double[] silt, Double[] clay)
    • shapeFactor

      public static double shapeFactor(String name, Integer layer, Double[] soilWater, Double[] carbon, Double[] bulkDensity, double pom, Double[] rocks, Double[] sand, double ps, Double[] silt, Double[] clay)
    • Calculate_doUpdate

      public net.simplace.usermodules.amei.ApsimCampbell.doUpdate Calculate_doUpdate(Integer numInterationsPerDay, double timeOfDaySecs, double boundaryLayerConductance, Double[] minSoilTemp, Integer airNode, Double[] soilTemp, Double[] newTemperature, Integer numNodes, Integer surfaceNode, double internalTimeStep, Double[] maxSoilTemp, Double[] aveSoilTemp, Double[] thermalConductivity)
    • Calculate_doThomas

      public net.simplace.usermodules.amei.ApsimCampbell.doThomas Calculate_doThomas(Double[] newTemps, double netRadiation, Double[] heatStorage, double waterBalance_Eos, Integer numNodes, double timestep, String netRadiationSource, double latentHeatOfVapourisation, Double[] nodeDepth, double waterBalance_Es, Integer airNode, Double[] soilTemp, Integer surfaceNode, double internalTimeStep, Double[] thermalConductance, Double[] thermalConductivity, double nu, Double[] volSpecHeatSoil)
    • Calculate_getBoundaryLayerConductance

      public net.simplace.usermodules.amei.ApsimCampbell.getBoundaryLayerConductance Calculate_getBoundaryLayerConductance(Double[] TNew_zb, double weather_AirPressure, double stefanBoltzmannConstant, double waterBalance_Eos, double weather_Wind, double airTemperature, Integer surfaceNode, double waterBalance_Eo, double instrumentHeight, double canopyHeight)
    • interpolateNetRadiation

      public static double interpolateNetRadiation(double solarRadn, double cloudFr, double cva, double waterBalance_Eo, double waterBalance_Eos, double waterBalance_Salb, Double[] soilTemp, double airTemperature, Integer surfaceNode, double internalTimeStep, double stefanBoltzmannConstant)
    • interpolateTemperature

      public static double interpolateTemperature(double timeHours, double minTempYesterday, double maxTempYesterday, double weather_MeanT, double weather_MaxT, double weather_MinT, double defaultTimeOfMaximumTemperature)
    • doThermalConductivity

      public static Double[] doThermalConductivity(String[] soilConstituentNames, Integer numNodes, Double[] soilWater, Double[] thermalConductivity, Double[] carbon, Double[] bulkDensity, double pom, Double[] rocks, Double[] sand, double ps, Double[] silt, Double[] clay, Double[] nodeDepth, Double[] thickness, Integer surfaceNode, double MissingValue)
    • doVolumetricSpecificHeat

      public static Double[] doVolumetricSpecificHeat(String[] soilConstituentNames, Integer numNodes, Double[] volSpecHeatSoil, Double[] soilWater, Double[] nodeDepth, Double[] thickness, Integer surfaceNode, double MissingValue)
    • Zero

      public static Double[] Zero(Double[] arr)
    • Calculate_doNetRadiation

      public net.simplace.usermodules.amei.ApsimCampbell.doNetRadiation Calculate_doNetRadiation(Double[] solarRadn, double cloudFr, double cva, Integer ITERATIONSperDAY, double weather_MinT, Integer clock_Today_DayOfYear, double weather_Radn, double weather_Latitude)
    • Calculate_doProcess

      public net.simplace.usermodules.amei.ApsimCampbell.doProcess Calculate_doProcess(double timeOfDaySecs, double netRadiation, Double[] minSoilTemp, Double[] maxSoilTemp, Integer numIterationsForBoundaryLayerConductance, double timestep, double boundaryLayerConductance, double maxTempYesterday, Integer airNode, Double[] soilTemp, double airTemperature, Double[] newTemperature, double weather_MaxT, double internalTimeStep, String boundarLayerConductanceSource, Double[] thermalConductivity, double minTempYesterday, Double[] aveSoilTemp, Double[] morningSoilTemp, double weather_MeanT, double constantBoundaryLayerConductance, double weather_MinT, Integer clock_Today_DayOfYear, double weather_Radn, double weather_Latitude, String[] soilConstituentNames, Integer numNodes, Double[] volSpecHeatSoil, Double[] soilWater, Double[] nodeDepth, Double[] thickness, Integer surfaceNode, double MissingValue, Double[] carbon, Double[] bulkDensity, double pom, Double[] rocks, Double[] sand, double ps, Double[] silt, Double[] clay, double defaultTimeOfMaximumTemperature, double waterBalance_Eo, double waterBalance_Eos, double waterBalance_Salb, double stefanBoltzmannConstant, double weather_AirPressure, double weather_Wind, double instrumentHeight, double canopyHeight, Double[] heatStorage, String netRadiationSource, double latentHeatOfVapourisation, double waterBalance_Es, Double[] thermalConductance, double nu)
    • ToCumThickness

      public static Double[] ToCumThickness(Double[] Thickness)
    • calcSoilTemperature

      public static Double[] calcSoilTemperature(Double[] soilTempIO, double weather_Tav, Integer clock_Today_DayOfYear, Integer surfaceNode, Integer numNodes, double weather_Amp, Double[] thickness, double weather_Latitude)
    • calcSurfaceTemperature

      public static double calcSurfaceTemperature(double weather_MeanT, double weather_MaxT, double waterBalance_Salb, double weather_Radn)
    • ValuesInArray

      public static Boolean ValuesInArray(Double[] Values, double MissingValue)
    • fillTestVariables

      public HashMap<String,net.simplace.sim.util.FWSimVariable<?>> fillTestVariables(int aParamIndex, net.simplace.sim.model.FWSimComponent.TEST_STATE aDefineOrCheck)
      Angegeben von:
      fillTestVariables in Klasse net.simplace.sim.model.FWSimComponent
    • clone

      protected net.simplace.sim.model.FWSimComponent clone(net.simplace.sim.util.FWSimVarMap aVarMap)
      Angegeben von:
      clone in Klasse net.simplace.sim.model.FWSimComponent