Klasse LintulCCFunctions

java.lang.Object
net.simplace.usermodules.dominik.LintulCCFunctions

public class LintulCCFunctions extends Object
Defines various functions for the LintulCC SimComponent and its extensions.
Autor:
G. Krauss, D. Behrend
  • Konstruktorübersicht

    Konstruktoren
    Konstruktor
    Beschreibung
     
  • Methodenübersicht

    Modifizierer und Typ
    Methode
    Beschreibung
    ASSIM(int DAE, double SCP, double KDF, double LAI, double SINB, double PARDR, double PARDF, double KC25, double TEMPd, double EAVCMX, double KMC25, double EAKMC, double EAKMO, double KMO25, double CO2A, double JMUMOL, double TWPAW, double O2, double PsiC, double RoCpJ, double VPDd, double Rbound, double SLOPEd, double ORLOSS, double CiCaRatio, double g0, double a1, double d0, double VCmaxUpperLimit, double GAMmaxLowerLimit)
    Calculates assimilates for C3 or C4 crops Variable parameters for C3 or C4 crops
    ASSIM_new(int DAE, double SCP, double KDF, double LAI, double SINB, double PARDR, double PARDF, double Flnr, double Fnr, double KC25, double TEMPd, double EAVCMX, double KMC25, double EAKMC, double EAKMO, double KMO25, double CO2A, double JMUMOL, double TWPAW, double O2, double PsiC, double RoCpJ, double VPDd, double Rbound, double SLOPEd, double ORLOSS, double SLA, boolean HasFlowered, double CiCaRatio, double g0, double a1, double d0, double VCmaxUpperLimit, double GAMmaxLowerLimit)
     
    ASSIM_WaterNitrogen(int DAE, double SCP, double KDF, double LAI, double SINB, double PARDR, double PARDF, double KC25, double TEMPd, double EAVCMX, double KMC25, double EAKMC, double EAKMO, double KMO25, double CO2A, double JMUMOL, double TWPAW, double NLUE, double NPKI, double O2, double PsiC, double RoCpJ, double VPDd, double Rbound, double SLOPEd, double ORLOSS, double CiCaRatio, double g0, double a1, double d0, double VCmaxUpperLimit, double GAMmaxLowerLimit)
    Calculates water and nitrogen limited assimilates for C3 or C4 crops using the "old" photosynthesis model used in Nguyen et al. 2020 and the same approach used in LuntulFunctions.java's "GROWTH" function from the modular Lintul5 version (applies only the more severe stress).
    ASSIMOzone(int DAE, double SCP, double KDF, double LAI, double SINB, double PARDR, double PARDF, double KC25, double TEMPd, double EAVCMX, double KMC25, double EAKMC, double EAKMO, double KMO25, double CO2A, double JMUMOL, double TWPAW, double O2, double PsiC, double RoCpJ, double VPDd, double Rbound, double SLOPEd, double ORLOSS, double CiCaRatio, double g0, double a1, double d0, double VCmaxUpperLimit, double GAMmaxLowerLimit, double OZIH, double DOZA, double DOZB, double longtermozonefactor)
     
    ASTRO(int DOY, double LAT)
     
    static double
    calculate_albedo(double WCL, double WCST, double LAI)
     
    calculate_radiation_and_vap(int J, double hour, double latitude, double z, double L_z, double L_m, double DAYLEN, double Temperature, double R_s, double WIND, double tCROPHT, double e_a, double PsiC, double albedo)
     
    DeadRootsStemsRate(double DVS, double WRT, double WST, double RDRRT, double RDRST, double DVSDR)
    TODO: NEW for nitrogen as required in NPKDemand Computes the N/P/K losses due to death of leaves, stems and roots
    GLA(double WLVG, double DTEFF, double TSUM, double RGRL, double DELT, double LAI, double GLV, double TTSSE, double PHY, double DSF1, double TTANTH, double TSUMend, double minSLA, double maxSLA)
     
    static double
    kprhiz_function(double hBS, double hsr, double GenM, double GenN, double GenAlpha)
     
    OLDcalculateConductance(double SUF, double Hsr, double hbs, double Hbs, double Hcollarlim, double Tpot, double Krs, double RLD, double rroot, double lroot, double kr, double z, double ThetaS, double Theta, double ThetaR, double GenM, double GenN, double GenAlpha)
     
    static double
    OLDsolveForHin2(double rroot, double kr, double Hx, double B, double Hbs, double hbs, double Hsr, double z, double GenM, double GenN, double GenAlpha, double initialGuess)
     
    PART(double TSUM, double TTSSE, double TTANTH, double PHY, Double[] PCRTB_x, Double[] PCRTB_y, Double[] PCLTB_x, Double[] PCLTB_y)
    Calculates partitioning fractions
    PART(double TSUM, double TTSSE, double TTANTH, double PHY, Double[] PCRTB_x, Double[] PCRTB_y, Double[] PCLTB_x, Double[] PCLTB_y, double maxFractionLeaves, double maxFractionRoots, double parTsumLeaf, double parTsumRoot)
    Calculate partition Fractions
    PART_RelativeSS(double TSUM, double TTSSE, double TTANTH, double TWPAW, double root_ini_w, double root_end_w, double cLNRM, double stem_ini_w, double stem_end_w, double cLNSB, double cLNSM, double leaf_ini_w, double leaf_end_w, double cLNLM, double leaf_sens, double root_sens, double stem_sens, double PHY)
    Calculates partitioning fractions according to the relative sink strength principle using a sigmoid growth function
    PART_RelativeSS_DVS(double TSUM, double TTSSE, double TTANTH, double TWPAW, double RootWeightFlowering, double cDVSRootMain, double StemWeightFlowering, double cDVSStemBase, double cDVSStemMain, double LeafWeightFlowering, double cDVSLeafMain, double cDVSLeafBase, double cLeafSensWater, double cRootSensWater, double cStemSensWater, double PHY, double sDVS)
    Calculates partitioning fractions according to the relative sink strength principle using a sigmoid growth function
    PEN_MONTH(double WIND, double CROPHT, double VAP, double DRScropH2O, double PsiC, double ONRAD, double SLOPE, double SVAP)
     
    PEN_MONTH_Diurnal(double WIND, double CROPHT, double VAP, double RScropH2O, double PsiC, double ONRAD, double G, double SLOPE, double SVAP, double rho_a)
     
    PhenologyVariables(int currentDOY, LocalDateTime currentDate, Double TTANTH, Double GFDUR, Double TSUM, Double RTSUM, Double DVS, Boolean hasEmerged, Boolean hasFlowered, Boolean hasMatured, Integer emergenceDOY, Integer anthesisDOY, Integer maturityDOY, LocalDateTime emergenceDate, LocalDateTime anthesisDate, LocalDateTime maturityDate)
     
    static double
    PHOTOP(int DOY, double LAT, int DAE, double RCPHOE)
    Calculates the rate of change of the photoperiod at emergence.
    RSISO(double TSUM, double WSHOOT, int DAE, double TTANTH, double MSLPN, double MSLN, double DAVTMP, double TMMX, double TMMN, double POTGGR, double WST, double PRWSO, double GFDUR, double DSF1, Double[] TMPTB_y, Double[] TMPTB_x, double GRAINN, double SDWANT, int SWITCH, double TFAC, double CDSF1, Double[] PHEADW, Integer[] PHEDAE)
     
    static double
    solveForHin(double rroot, double kr, double Hx, double B, double Hbs, double hbs, double Hsr, double z, double GenM, double GenN, double GenAlpha, double initialGuess)
     
    TOTASS(double TMMN, double TMMX, double DAYLEN, int DAE, int DOY, double LAT, double DTR, double SCP, double KDF, double LAI, double KC25, double EAVCMX, double KMC25, double EAKMC, double EAKMO, double KMO25, double CO2A, double JMUMOL, double TWPAW, double O2, double STRESS, double PsiC, double RoCp, double Rbound, double ORLOSS, double SLA, boolean HasFlowered, double VAP, double CiCaRatio, double g0, double a1, double d0, double VCmaxUpperLimit, double GAMmaxLowerLimit, double Flnr, double Fnr, double NLUE, double NPKI)
     
    TOTASSDiurnal(Double[] TM, double DAYLEN, int DAE, int DOY, double LAT, double[] DTR, double SCP, double KDF, double LAI, double KC25, double EAVCMX, double Flnr, double Fnr, double KMC25, double EAKMC, double EAKMO, double KMO25, double CO2A, double JMUMOL, double TWPAW, double O2, double STRESS, double PsiC, double RoCp, double Rbound, double ORLOSS, double SLA, boolean HasFLowered, double[] vAPDiurnal, double CiCaRatio, double g0, double a1, double d0, double VCmaxUpperLimit, double GAMmaxLowerLimit)
     
    TOTASSDiurnalOzone(Double[] TM, double DAYLEN, int DAE, int DOY, double LAT, double[] DTR, double SCP, double KDF, double LAI, double KC25, double EAVCMX, double KMC25, double EAKMC, double EAKMO, double KMO25, Double[] CO2ADiurnal, double JMUMOL, double TWPAW, double O2, double STRESS, double PsiC, double RoCp, double Rbound, double ORLOSS, double[] vAPDiurnal, double CiCaRatio, double g0, double a1, double d0, double VCmaxUpperLimit, double GAMmaxLowerLimit, Double[] OZIH, double DOZA, double DOZB, double longtermozonefactor)
     
    WATERB(double TTANTH, double TSUM, Double[] WCLI, double DELT, double DAVTMP, double CROPHT, double RRAIN, double LAI, Double[] WCFC, Double[] WCST, Double[] WCWP, Double[] WCAD, Double[] TKL, double VAP, double WIND, int DAE, double SRNOFF, double SAINTC, double WRT, double DRScropH2O, boolean IRRIG, double ONRAD, double SLOPE, double SVAP, double PsiC, double TPVAP, double TAEVAP, Double[] WCL, double NNR, double ZRT, int RLAYER, Double[] LAYERRT, Double[] WUperLayer)
     
    WATERB_Simple(Double[] WCFC, Double[] WCWP, Double[] LayerDepth, boolean IRRIG, Double[] RLV, Double[] WC)
     
    WATUP(int DAE, double TTANTH, double TSUM, double WRT, double PTRANS, Double[] TKL, Double[] WCWP, Double[] WC, Double[] WCFC, double DAVTMP, double ZRT, int RLAYER, Double[] LAYERRT, Double[] WUperLayer)
     
    WFLOW(int DAE, Double[] WCLI, Double[] WCL, double RINF, Double[] TKL, Double[] WCST, Double[] WCFC)
     

    Von Klasse geerbte Methoden java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Konstruktordetails

    • LintulCCFunctions

      public LintulCCFunctions()
  • Methodendetails

    • PHOTOP

      public static double PHOTOP(int DOY, double LAT, int DAE, double RCPHOE)
      Calculates the rate of change of the photoperiod at emergence.
      Parameter:
      DOY - day of year
      LAT - latitude
      DAE - days since emergence (starts with 1)
      RCPHOE - rate of change of photoperiod at emergence
      Gibt zurück:
      updated rate of change of photoperiod at emergence
    • TOTASS

      public static HashMap<String,Double> TOTASS(double TMMN, double TMMX, double DAYLEN, int DAE, int DOY, double LAT, double DTR, double SCP, double KDF, double LAI, double KC25, double EAVCMX, double KMC25, double EAKMC, double EAKMO, double KMO25, double CO2A, double JMUMOL, double TWPAW, double O2, double STRESS, double PsiC, double RoCp, double Rbound, double ORLOSS, double SLA, boolean HasFlowered, double VAP, double CiCaRatio, double g0, double a1, double d0, double VCmaxUpperLimit, double GAMmaxLowerLimit, double Flnr, double Fnr, double NLUE, double NPKI)
    • ASTRO

      public static HashMap<String,Double> ASTRO(int DOY, double LAT)
    • PhenologyVariables

      public static HashMap<String,Object> PhenologyVariables(int currentDOY, LocalDateTime currentDate, Double TTANTH, Double GFDUR, Double TSUM, Double RTSUM, Double DVS, Boolean hasEmerged, Boolean hasFlowered, Boolean hasMatured, Integer emergenceDOY, Integer anthesisDOY, Integer maturityDOY, LocalDateTime emergenceDate, LocalDateTime anthesisDate, LocalDateTime maturityDate)
    • ASSIM

      public static HashMap<String,Double> ASSIM(int DAE, double SCP, double KDF, double LAI, double SINB, double PARDR, double PARDF, double KC25, double TEMPd, double EAVCMX, double KMC25, double EAKMC, double EAKMO, double KMO25, double CO2A, double JMUMOL, double TWPAW, double O2, double PsiC, double RoCpJ, double VPDd, double Rbound, double SLOPEd, double ORLOSS, double CiCaRatio, double g0, double a1, double d0, double VCmaxUpperLimit, double GAMmaxLowerLimit)
      Calculates assimilates for C3 or C4 crops Variable parameters for C3 or C4 crops
      Parameter:
      DAE -
      SCP -
      KDF -
      LAI -
      SINB -
      PARDR -
      PARDF -
      KC25 -
      TEMPd -
      EAVCMX -
      KMC25 -
      EAKMC -
      EAKMO -
      KMO25 -
      CO2A -
      JMUMOL -
      TWPAW -
      O2 -
      PsiC -
      RoCpJ -
      VPDd -
      Rbound -
      SLOPEd -
      ORLOSS -
      CiCaRatio -
      g0 -
      a1 -
      d0 -
      Gibt zurück:
    • ASSIM_WaterNitrogen

      public static HashMap<String,Double> ASSIM_WaterNitrogen(int DAE, double SCP, double KDF, double LAI, double SINB, double PARDR, double PARDF, double KC25, double TEMPd, double EAVCMX, double KMC25, double EAKMC, double EAKMO, double KMO25, double CO2A, double JMUMOL, double TWPAW, double NLUE, double NPKI, double O2, double PsiC, double RoCpJ, double VPDd, double Rbound, double SLOPEd, double ORLOSS, double CiCaRatio, double g0, double a1, double d0, double VCmaxUpperLimit, double GAMmaxLowerLimit)
      Calculates water and nitrogen limited assimilates for C3 or C4 crops using the "old" photosynthesis model used in Nguyen et al. 2020 and the same approach used in LuntulFunctions.java's "GROWTH" function from the modular Lintul5 version (applies only the more severe stress). TODO: Add NPK limitation based on the LintulFunctions approach TODO: Add parameters to the Model Variable parameters for C3 or C4 crops
      Parameter:
      DAE -
      SCP -
      KDF -
      LAI -
      SINB -
      PARDR -
      PARDF -
      KC25 -
      TEMPd -
      EAVCMX -
      KMC25 -
      EAKMC -
      EAKMO -
      KMO25 -
      CO2A -
      JMUMOL -
      TWPAW -
      O2 -
      PsiC -
      RoCpJ -
      VPDd -
      Rbound -
      SLOPEd -
      ORLOSS -
      CiCaRatio -
      g0 -
      a1 -
      d0 -
      VCmaxUpperLimit -
      GAMmaxLowerLimit -
      VCmaxUpperLimit -
      GAMmaxLowerLimit -
      Gibt zurück:
    • ASSIM_new

      public static HashMap<String,Double> ASSIM_new(int DAE, double SCP, double KDF, double LAI, double SINB, double PARDR, double PARDF, double Flnr, double Fnr, double KC25, double TEMPd, double EAVCMX, double KMC25, double EAKMC, double EAKMO, double KMO25, double CO2A, double JMUMOL, double TWPAW, double O2, double PsiC, double RoCpJ, double VPDd, double Rbound, double SLOPEd, double ORLOSS, double SLA, boolean HasFlowered, double CiCaRatio, double g0, double a1, double d0, double VCmaxUpperLimit, double GAMmaxLowerLimit)
    • ASSIMOzone

      public static HashMap<String,Double> ASSIMOzone(int DAE, double SCP, double KDF, double LAI, double SINB, double PARDR, double PARDF, double KC25, double TEMPd, double EAVCMX, double KMC25, double EAKMC, double EAKMO, double KMO25, double CO2A, double JMUMOL, double TWPAW, double O2, double PsiC, double RoCpJ, double VPDd, double Rbound, double SLOPEd, double ORLOSS, double CiCaRatio, double g0, double a1, double d0, double VCmaxUpperLimit, double GAMmaxLowerLimit, double OZIH, double DOZA, double DOZB, double longtermozonefactor)
    • WATERB

      public static HashMap<String,Object> WATERB(double TTANTH, double TSUM, Double[] WCLI, double DELT, double DAVTMP, double CROPHT, double RRAIN, double LAI, Double[] WCFC, Double[] WCST, Double[] WCWP, Double[] WCAD, Double[] TKL, double VAP, double WIND, int DAE, double SRNOFF, double SAINTC, double WRT, double DRScropH2O, boolean IRRIG, double ONRAD, double SLOPE, double SVAP, double PsiC, double TPVAP, double TAEVAP, Double[] WCL, double NNR, double ZRT, int RLAYER, Double[] LAYERRT, Double[] WUperLayer)
    • WATERB_Simple

      public static HashMap<String,Object> WATERB_Simple(Double[] WCFC, Double[] WCWP, Double[] LayerDepth, boolean IRRIG, Double[] RLV, Double[] WC)
    • WFLOW

      public static HashMap<String,Object> WFLOW(int DAE, Double[] WCLI, Double[] WCL, double RINF, Double[] TKL, Double[] WCST, Double[] WCFC)
    • PEN_MONTH

      public static HashMap<String,Double> PEN_MONTH(double WIND, double CROPHT, double VAP, double DRScropH2O, double PsiC, double ONRAD, double SLOPE, double SVAP)
    • PEN_MONTH_Diurnal

      public static HashMap<String,Double> PEN_MONTH_Diurnal(double WIND, double CROPHT, double VAP, double RScropH2O, double PsiC, double ONRAD, double G, double SLOPE, double SVAP, double rho_a)
    • kprhiz_function

      public static double kprhiz_function(double hBS, double hsr, double GenM, double GenN, double GenAlpha)
    • solveForHin

      public static double solveForHin(double rroot, double kr, double Hx, double B, double Hbs, double hbs, double Hsr, double z, double GenM, double GenN, double GenAlpha, double initialGuess)
    • OLDcalculateConductance

      public static HashMap<String,Double> OLDcalculateConductance(double SUF, double Hsr, double hbs, double Hbs, double Hcollarlim, double Tpot, double Krs, double RLD, double rroot, double lroot, double kr, double z, double ThetaS, double Theta, double ThetaR, double GenM, double GenN, double GenAlpha)
    • OLDsolveForHin2

      public static double OLDsolveForHin2(double rroot, double kr, double Hx, double B, double Hbs, double hbs, double Hsr, double z, double GenM, double GenN, double GenAlpha, double initialGuess)
    • WATUP

      public static HashMap<String,Object> WATUP(int DAE, double TTANTH, double TSUM, double WRT, double PTRANS, Double[] TKL, Double[] WCWP, Double[] WC, Double[] WCFC, double DAVTMP, double ZRT, int RLAYER, Double[] LAYERRT, Double[] WUperLayer)
    • PART

      public static HashMap<String,Double> PART(double TSUM, double TTSSE, double TTANTH, double PHY, Double[] PCRTB_x, Double[] PCRTB_y, Double[] PCLTB_x, Double[] PCLTB_y, double maxFractionLeaves, double maxFractionRoots, double parTsumLeaf, double parTsumRoot)
      Calculate partition Fractions
      Parameter:
      TSUM -
      TTSSE -
      TTANTH -
      PHY -
      PCRTB_x -
      PCRTB_y -
      PCLTB_x -
      PCLTB_y -
      maxFractionLeaves -
      maxFractionRoots -
      parTsumLeaf -
      parTsumRoot -
      Gibt zurück:
    • PART

      public static HashMap<String,Double> PART(double TSUM, double TTSSE, double TTANTH, double PHY, Double[] PCRTB_x, Double[] PCRTB_y, Double[] PCLTB_x, Double[] PCLTB_y)
      Calculates partitioning fractions
      Parameter:
      TSUM -
      TTSSE -
      TTANTH -
      PHY -
      PCRTB_x -
      PCRTB_y -
      PCLTB_x -
      PCLTB_y -
      Gibt zurück:
    • PART_RelativeSS

      public static HashMap<String,Double> PART_RelativeSS(double TSUM, double TTSSE, double TTANTH, double TWPAW, double root_ini_w, double root_end_w, double cLNRM, double stem_ini_w, double stem_end_w, double cLNSB, double cLNSM, double leaf_ini_w, double leaf_end_w, double cLNLM, double leaf_sens, double root_sens, double stem_sens, double PHY)
      Calculates partitioning fractions according to the relative sink strength principle using a sigmoid growth function
      Parameter:
      TSUM -
      TTSSE -
      TTANTH -
      TWPAW -
      Gibt zurück:
    • PART_RelativeSS_DVS

      public static HashMap<String,Double> PART_RelativeSS_DVS(double TSUM, double TTSSE, double TTANTH, double TWPAW, double RootWeightFlowering, double cDVSRootMain, double StemWeightFlowering, double cDVSStemBase, double cDVSStemMain, double LeafWeightFlowering, double cDVSLeafMain, double cDVSLeafBase, double cLeafSensWater, double cRootSensWater, double cStemSensWater, double PHY, double sDVS)
      Calculates partitioning fractions according to the relative sink strength principle using a sigmoid growth function
      Parameter:
      TSUM -
      TTSSE -
      TTANTH -
      TWPAW -
      Gibt zurück:
    • RSISO

      public static HashMap<String,Object> RSISO(double TSUM, double WSHOOT, int DAE, double TTANTH, double MSLPN, double MSLN, double DAVTMP, double TMMX, double TMMN, double POTGGR, double WST, double PRWSO, double GFDUR, double DSF1, Double[] TMPTB_y, Double[] TMPTB_x, double GRAINN, double SDWANT, int SWITCH, double TFAC, double CDSF1, Double[] PHEADW, Integer[] PHEDAE)
    • GLA

      public static HashMap<String,Double> GLA(double WLVG, double DTEFF, double TSUM, double RGRL, double DELT, double LAI, double GLV, double TTSSE, double PHY, double DSF1, double TTANTH, double TSUMend, double minSLA, double maxSLA)
    • TOTASSDiurnal

      public static HashMap<String,Object> TOTASSDiurnal(Double[] TM, double DAYLEN, int DAE, int DOY, double LAT, double[] DTR, double SCP, double KDF, double LAI, double KC25, double EAVCMX, double Flnr, double Fnr, double KMC25, double EAKMC, double EAKMO, double KMO25, double CO2A, double JMUMOL, double TWPAW, double O2, double STRESS, double PsiC, double RoCp, double Rbound, double ORLOSS, double SLA, boolean HasFLowered, double[] vAPDiurnal, double CiCaRatio, double g0, double a1, double d0, double VCmaxUpperLimit, double GAMmaxLowerLimit)
    • TOTASSDiurnalOzone

      public static HashMap<String,Object> TOTASSDiurnalOzone(Double[] TM, double DAYLEN, int DAE, int DOY, double LAT, double[] DTR, double SCP, double KDF, double LAI, double KC25, double EAVCMX, double KMC25, double EAKMC, double EAKMO, double KMO25, Double[] CO2ADiurnal, double JMUMOL, double TWPAW, double O2, double STRESS, double PsiC, double RoCp, double Rbound, double ORLOSS, double[] vAPDiurnal, double CiCaRatio, double g0, double a1, double d0, double VCmaxUpperLimit, double GAMmaxLowerLimit, Double[] OZIH, double DOZA, double DOZB, double longtermozonefactor)
    • calculate_radiation_and_vap

      public static HashMap<String,Double> calculate_radiation_and_vap(int J, double hour, double latitude, double z, double L_z, double L_m, double DAYLEN, double Temperature, double R_s, double WIND, double tCROPHT, double e_a, double PsiC, double albedo)
    • calculate_albedo

      public static double calculate_albedo(double WCL, double WCST, double LAI)
    • DeadRootsStemsRate

      public static HashMap<String,Double> DeadRootsStemsRate(double DVS, double WRT, double WST, double RDRRT, double RDRST, double DVSDR)
      TODO: NEW for nitrogen as required in NPKDemand Computes the N/P/K losses due to death of leaves, stems and roots
      Parameter:
      DVS -
      WRT -
      WST -
      RDRRT -
      RDRST -
      DVSDR -
      Gibt zurück: