Package net.simplace.usermodules.dominik
Klasse LintulCCFunctions
java.lang.Object
net.simplace.usermodules.dominik.LintulCCFunctions
Defines various functions for the LintulCC SimComponent and its extensions.
- Autor:
- G. Krauss, D. Behrend
-
Konstruktorübersicht
Konstruktoren -
Methodenübersicht
Modifizierer und TypMethodeBeschreibungASSIM(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 cropsASSIM_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 doublecalculate_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 rootsGLA(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 doublekprhiz_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 doubleOLDsolveForHin2(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 fractionsPART(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 FractionsPART_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 functionPART_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 functionPEN_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 doublePHOTOP(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 doublesolveForHin(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)
-
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 yearLAT- latitudeDAE- 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
-
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
-
WFLOW
-
PEN_MONTH
-
PEN_MONTH_Diurnal
-
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
-
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
-
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
-
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:
-