Class EquationsFAO56

java.lang.Object
net.simplace.sim.components.util.helper.EquationsFAO56

public class EquationsFAO56 extends Object
Helper EquationsFAO56 for computing values due to equations from (FAO 56) WIKI_START Equation numbers refers to the paper cited below. == References == - [http://www.fao.org/docrep/x0490e/x0490e00.htm (FAO 56): Allen, Crop evapotranspiration - Guidelines for computing crop water requirements - FAO Irrigation and drainage paper 56, 1998] - (Harrison) Harrison, L.P. 1963. Fundamentals concepts and definitions relating to humidity. In A. Wexler (ed.) Humidity and moisture. Vol 3. Reinhold Publishing Company, New York. WIKI_END
Author:
Gunther Krauss
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final double
    default Value for Angstrom variables, regression constant
    static final double
    default albedo for the hypothetical grass reference crop
    static final double
    default Value for Angstrom variables, regression slope
    static final double
    latent heat of vaporization [MJ kg-1]
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static double
    Estimates hourly actual vapour pressure from hourly relative humidity Eq. (54)
    static double
    AdjustedKCoefficientToWindAndHumidity(double K_c, double u2, double RH_min, double h)
    Adjustment of coefficient in climates where RH_min differs from 45% or where u2 is larger or smaller than 2 m/s Eq. (62) Same formula is used to adjust K_cmid [Eq. (62)], K_cend [Eq. (65)], K_cb [Eq. (70)], K_cmax [Eq. (72)], K_cbfull [Eq. (99)]
    static double
    AtmosphericDensity(double T_Kv, double P)
    Calculates atmospheric density Eq. (3-5)
    static double
    Calculates the atmospheric Pressure P Eq. (7)
    static double
    ClearSkyRadiation(double R_a, double z)
    Calculates the clear-sky solar radiation when values for a_s and b_s are not available Eq. (37)
    static double
    ClearSkyRadiationWithAngstromVariables(double R_a, double a_s, double b_s)
    Calculates the clear-sky solar radiation when values for a_s and b_s are available Eq. (36)
    static double
    DaylightHours(double omega_s)
    Dayligth hours Eq. (34)
    static double
    DecimalDegreesToRadians(double degree)
    Convert decimal degrees to radians Eq. (22)
    static double
    Converts radiation [energy/surface] to equivalent evaporation [depth of water] Eq. (20)
    static double
    EvaporationEquivalentToRadiation(double Radiation, double DailyMeanTemperature)
    Converts radiation [energy/surface] to equivalent evaporation [depth of water] Correction by daily mean temperature (for 21.18°C it yields a conversion factor of 0.408) See (Harrison)
    static double
    ExposedAndWettedSoilFraction(double f_c, double f_w)
    Exposed and wetted soil fraction Eq. (75)
    static double
    ExtraterrestrialRadiation(double d_r, double omega_s, double phi, double delta)
    Calculates extraterrestrial radiation Eq. (21)
    static double
    ExtraterrestrialRadiationDiurnal(double d_r, double delta, double phi, double omega_1, double omega_2)
    Diurnal extraterrestrial radiation Eq. (29(
    static double
    Inverse relative distance Earth-Sun Eq. (23)
    static double
    KCoefficientByLAI(double K_cmin, double K_cbfull, double LAI)
    Estimated basal K_cb during the mid-season when plant density is lower than full cover Eq. (97) - assumes a canopy light extiction factor of 0.7
    static double
    KCoefficientByLAI(double K_cmin, double K_cbfull, double LAI, double k)
    Estimated basal K_cb during the mid-season when plant density is lower than full cover Eq. (97)
    static double
    MeanSaturatedVapourPressure(double T_max, double T_min)
    Mean vapour pressure of a period Eq. (12)
    static double
    NetLongwaveRadiation(double R_s, double R_so, double e_a, double T_max, double T_min)
    Net longwave radiation Eq. (39)
    static double
    NetLongwaveRadiationHourly(double R_s, double R_so, double e_a, double T)
    Net longwave radiation Eq. (39) hourly
    static double
    NetRadiation(double R_ns, double R_nl)
    Net radiation (difference between incoming shortwave and outgoing longwave radiation) Eq. (40) Remark: equation works also for hourly values.
    static double
    NetShortwaveRadiation(double R_s, double alpha)
    Net solar or net shortwave radiation Eq. (38) Calculates the amount of solar radiation that is not reflected.
    static double
    NetSolarRadiation(double R_s)
    Net shortvawe radiation resulting from balance of incoming and reflected solar radiation Eq. (38) Calculates the amount of solar radiation that is not reflected.
    static double
    p(double nominalDepletion, double ETC)
    Calculates the ETC-adjusted depletion fraction/factor p.
    static double
    Calculates the psychrometric constant gamma as function of atmospheric pressure P Eq. (8) The factor is calculated from parameters for average atmospheric conditions and is rounded to 3 decimals to be consistent with the reference.
    static double
    ReferenceEvapotranspiration(double T, double R_n, double u_2, double e_s, double e_a, double z)
    Calculates the daily crop evapotranspiration with the FAO-Penman-Montheith method Eq. (6) FAO Penman-Monteith equation determines the evapotranspiration from the hypothetical grass reference surface and provides a standard to which evapotranspiration in different periods of the year or in other regions can be compared and to which the evapotranspiration from other crops can be related.
    static double
    ReferenceEvapoTranspirationByExtraterrestrialRadiation(double R_a, double T_max, double T_min)
    Estimates the reference evapo transpiration by extraterrestrial radiation and temperature Eq. (52)
    static double
    ReferenceEvapoTranspirationFromSolarRadiation(double R_s, double T_max, double T_min)
    Estimates the reference evapotranspiration by solar radiation and temperature Eq. (52) & Eq. (50) with k_Rs=0.17 see: Hargreaves, Allen, 2003, History and Evaluation of Hargreaves Evapotranspiration Equation: Eq. (3)
    static double
    ReferenceEvapoTranspirationHourly(double R_n, double G, double T_hr, double Delta, double gamma, double e_0, double e_a, double u2)
    Calculates hourly reference evapotranspiration Eq. (53)
    static double
    Saturation vapour pressure at air temperature T Eq. (11)
    static double
    Seasonal correction for solar time Eq. (32) and (33) *
    static double
    Calculates the slope of saturation vapour pressure curve Delta as function of temperature T Eq (13)
    static double
    SoilHeatFluxHourly(double t, double daylen, double R_n)
    Soil heat flux for hourly periods Eq. (46)
    static double
    Soil heat flux for hourly periods during daylight periods Eq. (45)
    static double
    Soil heat flux for hourly periods during nighttime periods Eq. (46)
    static double
    Solar declination Eq. (24)
    static double
    SolarRadiation(double R_a, double n, double N, double a_s, double b_s)
    Calculates Solar Radiation from sunshine hours Eq. (35)
    static double
    SolarRadiationFromExtraterrestrialRadiationAndTemp(double R_a, double T_max, double T_min, double k_Rs)
    Estimates solar radiation by extraterrestrial radiation and temperature Eq. (50)
    static double
    SolarTimeAngleBeginning(double t_l, double omega)
    Solar time angle at beginning of period Eq. (29)
    static double
    SolarTimeAngleEnd(double t_l, double omega)
    Solar time angle at end of period Eq. (30)
    static double
    SolarTimeAngleMidpoint(double t, double L_z, double L_m, double S_c)
    Solar time angel at midpoint of period Eq. (31)
    static double
    SunsetHourAngle(double phi, double delta)
    Sunset hour angle Eq. (25)
    static double
    UpperLimitKCoefficient(double K_cb, double u2, double RH_min, double h)
    Upper limit on the evaporation and transpiration from any cropped surface Eq. (72)
    static double
    Actual vapour pressure at dewpoint Eq. (14)
    static double
    VapourPressureFromPsychrometricData(double T_dry, double T_wet, double a_psy, double z)
    Actual vapour pressure derived from psychrometric data Eq. (15)
    static double
    VapourPressureFromRelHumidityMax(double RH_max, double T_min)
    Actual vapour pressure from maximum relative humidity Eq. (18)
    static double
    VapourPressureFromRelHumidityMaxMin(double RH_max, double RH_min, double T_max, double T_min)
    Actual vapour pressure from maximum and minimum relative humidity Eq. (17)
    static double
    VapourPressureFromRelHumidityMean(double RH_mean, double T_max, double T_min)
    Actual vapour pressure from mean relative humidity Eq. (19)
    static double
    VegetationCoveredSoilFraction(double K_cb, double K_cmin, double K_cmax, double h)
    Effective fraction of soil covered by vegetation Eq. (76)
    static double
    VirtualTemperature(double T_k, double e_a, double P)
    Calculates virtual temperature Eq. (3-6)

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • a_s_Default

      public static final double a_s_Default
      default Value for Angstrom variables, regression constant
      See Also:
    • b_s_Default

      public static final double b_s_Default
      default Value for Angstrom variables, regression slope
      See Also:
    • albedo

      public static final double albedo
      default albedo for the hypothetical grass reference crop
      See Also:
    • lambda

      public static final double lambda
      latent heat of vaporization [MJ kg-1]
      See Also:
  • Constructor Details

    • EquationsFAO56

      public EquationsFAO56()
  • Method Details

    • ReferenceEvapotranspiration

      public static double ReferenceEvapotranspiration(double T, double R_n, double u_2, double e_s, double e_a, double z)
      Calculates the daily crop evapotranspiration with the FAO-Penman-Montheith method Eq. (6) FAO Penman-Monteith equation determines the evapotranspiration from the hypothetical grass reference surface and provides a standard to which evapotranspiration in different periods of the year or in other regions can be compared and to which the evapotranspiration from other crops can be related. [FAO 56, p.65f]
      Parameters:
      T - air temperature at 2 m height [°C]
      R_n - net radiation at the crop surface [MJ m-2 day-1]
      u_2 - wind speed at 2m height [m s-1]
      e_s - saturation vapour pressure [kPa]
      e_a - actual vapour pressure [kPa]
      z - elevation above sea level [m]
      Returns:
      crop reference evapotranspiration ET0 [mm day-1]
    • AtmosphericPressure

      public static double AtmosphericPressure(double z)
      Calculates the atmospheric Pressure P Eq. (7)
      Parameters:
      z - elevation above sea level [m]
      Returns:
      atmospheric pressure P [kPa]
    • PsychrometricConstant

      public static double PsychrometricConstant(double P)
      Calculates the psychrometric constant gamma as function of atmospheric pressure P Eq. (8) The factor is calculated from parameters for average atmospheric conditions and is rounded to 3 decimals to be consistent with the reference.
      Parameters:
      P - atmospheric pressure [kPa]
      Returns:
      psychrometric constant gamma [kPa °C-1]
    • SaturationVapourPressureAtTemperature

      public static double SaturationVapourPressureAtTemperature(double T)
      Saturation vapour pressure at air temperature T Eq. (11)
      Parameters:
      T - air temperature [°C]
      Returns:
      vapour pressure e_0_T [kPa]
    • MeanSaturatedVapourPressure

      public static double MeanSaturatedVapourPressure(double T_max, double T_min)
      Mean vapour pressure of a period Eq. (12)
      Parameters:
      T_max - maximum air temperature during period [°C]
      T_min - minimum air temperature during period [°C]
      Returns:
      mean vapour pressure e_s [kPa]
    • SlopeOfSaturationVapPressureCurve

      public static double SlopeOfSaturationVapPressureCurve(double T)
      Calculates the slope of saturation vapour pressure curve Delta as function of temperature T Eq (13)
      Parameters:
      T - air temperature [°C]
      Returns:
      slope of saturation vapour pressure Delta [kPa °C-1]
    • VapourPressureFromDewpoint

      public static double VapourPressureFromDewpoint(double T_dew)
      Actual vapour pressure at dewpoint Eq. (14)
      Parameters:
      T_dew - dewpoint temperature [°C]
      Returns:
      actual vapour pressure e_a [kPa]
    • VapourPressureFromPsychrometricData

      public static double VapourPressureFromPsychrometricData(double T_dry, double T_wet, double a_psy, double z)
      Actual vapour pressure derived from psychrometric data Eq. (15)
      Parameters:
      T_dry - dry bulb temperature [°C]
      T_wet - wet bulb temperature [°C]
      a_psy - psychrometric constant of the instrument [°C-1]
      z - elevation from sea level [m]
      Returns:
      actual vapour pressure e_a [kPa]
    • VapourPressureFromRelHumidityMaxMin

      public static double VapourPressureFromRelHumidityMaxMin(double RH_max, double RH_min, double T_max, double T_min)
      Actual vapour pressure from maximum and minimum relative humidity Eq. (17)
      Parameters:
      RH_max - maximum relative humidity [%]
      RH_min - minimum relative humidity [%]
      T_max - maximum temperature [°C]
      T_min - minimum temperature [°C]
      Returns:
      actual vapour pressure e_a [kPa]
    • VapourPressureFromRelHumidityMax

      public static double VapourPressureFromRelHumidityMax(double RH_max, double T_min)
      Actual vapour pressure from maximum relative humidity Eq. (18)
      Parameters:
      RH_max - maximum relative humidity [%]
      T_min - minimum temperature [°C]
      Returns:
      actual vapour pressure e_a [kPa]
    • VapourPressureFromRelHumidityMean

      public static double VapourPressureFromRelHumidityMean(double RH_mean, double T_max, double T_min)
      Actual vapour pressure from mean relative humidity Eq. (19)
      Parameters:
      RH_mean - mean relative humidity [%]
      T_max - maximum temperature [°C]
      T_min - minimum temperature [°C]
      Returns:
      actual vapour pressure e_a [kPa]
    • EvaporationEquivalentToRadiation

      public static double EvaporationEquivalentToRadiation(double Radiation)
      Converts radiation [energy/surface] to equivalent evaporation [depth of water] Eq. (20)
      Parameters:
      Radiation - [MJ m-2 day-1]
      Returns:
      equivalent evaporation [mm day-1]
    • EvaporationEquivalentToRadiation

      public static double EvaporationEquivalentToRadiation(double Radiation, double DailyMeanTemperature)
      Converts radiation [energy/surface] to equivalent evaporation [depth of water] Correction by daily mean temperature (for 21.18°C it yields a conversion factor of 0.408) See (Harrison)
      Parameters:
      Radiation - [MJ m-2 day-1]
      DailyMeanTemperature - [°C]
      Returns:
      equivalent evaporation [mm day-1]
    • ExtraterrestrialRadiation

      public static double ExtraterrestrialRadiation(double d_r, double omega_s, double phi, double delta)
      Calculates extraterrestrial radiation Eq. (21)
      Parameters:
      d_r - inverse relative distance earth-sun
      omega_s - sunset hour angle [rad]
      phi - latitude [rad]
      delta - solar declination [rad]
      Returns:
      extraterrestrial radiation per day [MJ m-2 day-1]
    • DecimalDegreesToRadians

      public static double DecimalDegreesToRadians(double degree)
      Convert decimal degrees to radians Eq. (22)
      Parameters:
      degree - [degree]
      Returns:
      radians [rad]
    • InverseRelativeDistanceEarthSun

      public static double InverseRelativeDistanceEarthSun(int J)
      Inverse relative distance Earth-Sun Eq. (23)
      Parameters:
      J - number of the day in the year (DOY) [day]
      Returns:
      inverse relative distance d_r []
    • SolarDeclination

      public static double SolarDeclination(int J)
      Solar declination Eq. (24)
      Parameters:
      J - number of the day in the year (DOY) [day]
      Returns:
      solar declination delta [rad]
    • SunsetHourAngle

      public static double SunsetHourAngle(double phi, double delta)
      Sunset hour angle Eq. (25)
      Parameters:
      phi - latitude [rad]
      delta - solar declination [rad]
      Returns:
      sunset hour angle omega_s [rad]
    • ExtraterrestrialRadiationDiurnal

      public static double ExtraterrestrialRadiationDiurnal(double d_r, double delta, double phi, double omega_1, double omega_2)
      Diurnal extraterrestrial radiation Eq. (29(
      Parameters:
      d_r -
      delta -
      phi -
      omega_1 -
      omega_2 -
      Returns:
    • SolarTimeAngleBeginning

      public static double SolarTimeAngleBeginning(double t_l, double omega)
      Solar time angle at beginning of period Eq. (29)
      Parameters:
      t_l - length of calculation period [h]
      omega - solar time angel at midpoint of hourly or shorter period [rad]
      Returns:
      solar time angle at beginning omega_1 [rad]
    • SolarTimeAngleEnd

      public static double SolarTimeAngleEnd(double t_l, double omega)
      Solar time angle at end of period Eq. (30)
      Parameters:
      t_l - length of calculation period [h]
      omega - solar time angel at midpoint of hourly or shorter period [rad]
      Returns:
      solar time angle at end omega_2 [rad]
    • SolarTimeAngleMidpoint

      public static double SolarTimeAngleMidpoint(double t, double L_z, double L_m, double S_c)
      Solar time angel at midpoint of period Eq. (31)
      Parameters:
      t - standard clock time at the midpoint of the period [h]
      L_z - longitude of the center of the local time zone [degree]
      L_m - longitude of the measurement site [degree]
      S_c - seasonal correction for solar time [h]
      Returns:
    • SeasonalCorrectionSolarTime

      public static double SeasonalCorrectionSolarTime(int J)
      Seasonal correction for solar time Eq. (32) and (33) *
      Parameters:
      J - day of year
      Returns:
      seasonal correction S_c [hour]
    • DaylightHours

      public static double DaylightHours(double omega_s)
      Dayligth hours Eq. (34)
      Parameters:
      omega_s - sunset hour angle [rad]
      Returns:
      daylight hours N
    • SolarRadiation

      public static double SolarRadiation(double R_a, double n, double N, double a_s, double b_s)
      Calculates Solar Radiation from sunshine hours Eq. (35)
      Parameters:
      n - actual duration of sunshine [h]
      N - maximum possible duration of sunshine/daylight hours [h]
      R_a - extraterrestrial radiation [MJ m-2 day-1]
      a_s - regression constant, expressing the fraction of extrater. rad. reaching the earth on overcast day n=0
      b_s - regression slope, a_s+b_s is the fraction of extrater. rad. reaching the earth on clear days n=N
      Returns:
      solar or shortwave radiation R_s [MJ m-2 day-1]
    • ClearSkyRadiationWithAngstromVariables

      public static double ClearSkyRadiationWithAngstromVariables(double R_a, double a_s, double b_s)
      Calculates the clear-sky solar radiation when values for a_s and b_s are available Eq. (36)
      Parameters:
      R_a - extraterrestrial radiation [MJ m-2 day-1]
      a_s - regression constant, expressing the fraction of extrater. rad. reaching the earth on overcast day n=0
      b_s - regression slope, a_s+b_s is the fraction of extrater. rad. reaching the earth on clear days n=N
      Returns:
      Clear-sky solar radiation R_so when N=n [MJ m-2 day-1]
    • ClearSkyRadiation

      public static double ClearSkyRadiation(double R_a, double z)
      Calculates the clear-sky solar radiation when values for a_s and b_s are not available Eq. (37)
      Parameters:
      R_a - extraterrestrial radiation [MJ m-2 day-1]
      z - elevation above sea level [m]
      Returns:
      Clear-sky solar radiation R_so when N=n [MJ m-2 day-1]
    • NetShortwaveRadiation

      public static double NetShortwaveRadiation(double R_s, double alpha)
      Net solar or net shortwave radiation Eq. (38) Calculates the amount of solar radiation that is not reflected.
      Parameters:
      incoming - solar radiation [MJ m-2 day-1]
      alpha - albedo or canopy reflection coefficient []
      Returns:
      net shortwave radiation R_ns [MJ m-2 day-1]
    • NetSolarRadiation

      public static double NetSolarRadiation(double R_s)
      Net shortvawe radiation resulting from balance of incoming and reflected solar radiation Eq. (38) Calculates the amount of solar radiation that is not reflected. Albedo coefficient alpha is 0.23 for the hypothetical grass reference crop.
      Parameters:
      R_s - incoming solar radiation [MJ m-2 day-1]
      Returns:
      net solar or net shortwave radiation R_ns [MJ m-2 day-1]
    • NetLongwaveRadiation

      public static double NetLongwaveRadiation(double R_s, double R_so, double e_a, double T_max, double T_min)
      Net longwave radiation Eq. (39)
      Parameters:
      R_s - solar or shortwave radiation [MJ m-2 day-1]
      R_so - Clear-sky solar radiation when N=n [MJ m-2 day-1]
      e_a - actual vapour pressure [kPa]
      T_max - maximum of day temperature [°C]
      T_min - minimum of day temperature [°C]
      Returns:
      net longwave radiation R_nl [MJ m-2 day-1]
    • NetLongwaveRadiationHourly

      public static double NetLongwaveRadiationHourly(double R_s, double R_so, double e_a, double T)
      Net longwave radiation Eq. (39) hourly
      Parameters:
      R_s - solar or shortwave radiation [MJ m-2 hour-1]
      R_so - Clear-sky solar radiation when N=n [MJ m-2 hour-1]
      e_a - actual vapour pressure [kPa]
      T - temperature [°C]
      Returns:
      net longwave radiation R_nl [MJ m-2 hour-1]
    • NetRadiation

      public static double NetRadiation(double R_ns, double R_nl)
      Net radiation (difference between incoming shortwave and outgoing longwave radiation) Eq. (40) Remark: equation works also for hourly values. When R_ns and R_nl are in [MJ m-2 hour-1], the resulting net radiation R_n is also in [MJ m-2 hour-1]
      Parameters:
      R_ns - net solar radiation [MJ m-2 day-1]
      R_nl - net longwave radiation [MJ m-2 day-1]
      Returns:
      net radiation R_n [MJ m-2 day-1]
    • SoilHeatFluxHourlyDaylight

      public static double SoilHeatFluxHourlyDaylight(double R_n)
      Soil heat flux for hourly periods during daylight periods Eq. (45)
      Parameters:
      R_n - [MJ m-2 hour-1]
      Returns:
      hourly soil heat flux G_hr [MJ m-2 hour-1]
    • SoilHeatFluxHourlyNighttime

      public static double SoilHeatFluxHourlyNighttime(double R_n)
      Soil heat flux for hourly periods during nighttime periods Eq. (46)
      Parameters:
      R_n - [MJ m-2 hour-1]
      Returns:
      hourly soil heat flux G_hr [MJ m-2 hour-1]
    • SoilHeatFluxHourly

      public static double SoilHeatFluxHourly(double t, double daylen, double R_n)
      Soil heat flux for hourly periods Eq. (46)
      Parameters:
      t - center of the time interval
      daylen - daylength
      R_n - [MJ m-2 hour-1]
      Returns:
      hourly soil heat flux G_hr [MJ m-2 hour-1]
    • SolarRadiationFromExtraterrestrialRadiationAndTemp

      public static double SolarRadiationFromExtraterrestrialRadiationAndTemp(double R_a, double T_max, double T_min, double k_Rs)
      Estimates solar radiation by extraterrestrial radiation and temperature Eq. (50)
      Parameters:
      R_a - extraterrestrial radiation [MJ m-2 day-1]
      T_max - maximum of day temperature [°C]
      T_min - minimum of day temperature [°C]
      k_Rs - adjustment coefficient between 0.16 (interior locations) and 0.19 (coastal locations) [°C-.5]
      Returns:
      solar radiation R_s [MJ m-2 day-1]
    • ReferenceEvapoTranspirationByExtraterrestrialRadiation

      public static double ReferenceEvapoTranspirationByExtraterrestrialRadiation(double R_a, double T_max, double T_min)
      Estimates the reference evapo transpiration by extraterrestrial radiation and temperature Eq. (52)
      Parameters:
      R_a - extraterrestrial radiation (evaporation equivalent) [mm day-1]
      T_max - maximum of day temperature [°C]
      T_min - minimum of day temperature [°C]
      Returns:
      ET0 crop reference evapotranspiration ET0 [mm day-1]
    • ReferenceEvapoTranspirationFromSolarRadiation

      public static double ReferenceEvapoTranspirationFromSolarRadiation(double R_s, double T_max, double T_min)
      Estimates the reference evapotranspiration by solar radiation and temperature Eq. (52) & Eq. (50) with k_Rs=0.17 see: Hargreaves, Allen, 2003, History and Evaluation of Hargreaves Evapotranspiration Equation: Eq. (3)
      Parameters:
      R_s - solar radiation (evaporation equivalent) [mm day-1]
      T_max - maximum of day temperature [°C]
      T_min - minimum of day temperature [°C]
      Returns:
      ET0 crop reference evapotranspiration ET0 [mm day-1]
    • ReferenceEvapoTranspirationHourly

      public static double ReferenceEvapoTranspirationHourly(double R_n, double G, double T_hr, double Delta, double gamma, double e_0, double e_a, double u2)
      Calculates hourly reference evapotranspiration Eq. (53)
      Parameters:
      R_n - net radiation at the grass surface [MJ m-2 hour-1]
      G - soil heat flux density [MJ m-2 hour-1]
      T_hr - mean hourly air temperature [°C]
      Delta - saturation slope vapour pressure curve at T_hr [kPa °C-1]
      gamma - psychrometric constant [kPa °C-1]
      e_0 - saturation vapour pressure at air temperature T_hr [kPa]
      e_a - average hourly actual vapour pressure [kPa]
      u2 - average hourly wind speed [m s-1]
      Returns:
      reference evapotranspiration ET_0 [mm h-1]
    • ActualVapourPressureFromRelativeHumidityHourly

      public static double ActualVapourPressureFromRelativeHumidityHourly(double e_0, double RH_hr)
      Estimates hourly actual vapour pressure from hourly relative humidity Eq. (54)
      Parameters:
      e_0 -
      RH_hr -
      Returns:
    • AdjustedKCoefficientToWindAndHumidity

      public static double AdjustedKCoefficientToWindAndHumidity(double K_c, double u2, double RH_min, double h)
      Adjustment of coefficient in climates where RH_min differs from 45% or where u2 is larger or smaller than 2 m/s Eq. (62) Same formula is used to adjust K_cmid [Eq. (62)], K_cend [Eq. (65)], K_cb [Eq. (70)], K_cmax [Eq. (72)], K_cbfull [Eq. (99)]
      Parameters:
      K_c -
      u2 -
      RH_min -
      h -
      Returns:
      K_c adjusted coefficient
    • UpperLimitKCoefficient

      public static double UpperLimitKCoefficient(double K_cb, double u2, double RH_min, double h)
      Upper limit on the evaporation and transpiration from any cropped surface Eq. (72)
      Parameters:
      K_cb - basal crop coefficient
      u2 - mean value for daily wind speed at 2m height over grass during calculation period [m s-1]
      RH_min - mean value for daily minimum relative humidity during calculation period [%]
      h - mean maximum plant height during the period of calculation [m]
      Returns:
      K_cmax upper limit
    • ExposedAndWettedSoilFraction

      public static double ExposedAndWettedSoilFraction(double f_c, double f_w)
      Exposed and wetted soil fraction Eq. (75)
      Parameters:
      f_c - average fraction of soil covered (or shaded by vegetation)
      f_w - average fraction of soil wetted by irrigation or precipitation
      Returns:
      f_ew exposed and wetted soil fraction
    • VegetationCoveredSoilFraction

      public static double VegetationCoveredSoilFraction(double K_cb, double K_cmin, double K_cmax, double h)
      Effective fraction of soil covered by vegetation Eq. (76)
      Parameters:
      K_cb - basal crop coefficient for particular day
      K_cmin - minimum K_c for dry bare soil with no ground cover
      K_cmax - maximum K_c immediately following wetting (Eq. 72)
      h - mean plant height [m]
      Returns:
      f_c effective fraction of soil covered by vegetation
    • KCoefficientByLAI

      public static double KCoefficientByLAI(double K_cmin, double K_cbfull, double LAI, double k)
      Estimated basal K_cb during the mid-season when plant density is lower than full cover Eq. (97)
      Parameters:
      K_cmin - minimum K_c for bare soil
      K_cbfull - basal K_cb for for vegetation having full ground cover
      LAI - actual leaf area index [m-2 m-2]
      k - canopy light extinction factor
      Returns:
      Estimated basal K_cb during the mid-season when plant densitiy is lower than full cover
    • KCoefficientByLAI

      public static double KCoefficientByLAI(double K_cmin, double K_cbfull, double LAI)
      Estimated basal K_cb during the mid-season when plant density is lower than full cover Eq. (97) - assumes a canopy light extiction factor of 0.7
      Parameters:
      K_cmin - minimum K_c for bare soil
      K_cbfull - basal K_cb for for vegetation having full ground cover
      LAI - actual leaf area index [m-2 m-2]
      Returns:
      Estimated basal K_cb during the mid-season when plant densitiy is lower than full cover
    • p

      public static double p(double nominalDepletion, double ETC)
      Calculates the ETC-adjusted depletion fraction/factor p. Table 22, Footnote 2, and last paragraph of p. 162. Limited to 0.1 <= p <= 0.8
      Parameters:
      nominalDepletion - Unadjusted depletion fraction [-]
      ETC - Crop evapotranspiration [mm/day]
      Returns:
      Adjusted p [-]
    • AtmosphericDensity

      public static double AtmosphericDensity(double T_Kv, double P)
      Calculates atmospheric density Eq. (3-5)
      Parameters:
      T_Kv - virtual temperature [K]
      P - atmospheric pressure [kPa]
      Returns:
      rho atmospheric density [kg m-3]
    • VirtualTemperature

      public static double VirtualTemperature(double T_k, double e_a, double P)
      Calculates virtual temperature Eq. (3-6)
      Parameters:
      T_k - absolute temperature [K]
      e_a - actual vapour pressure [kPa]
      P - atmospheric pressure [kPa]
      Returns:
      T_Kv virtual temperature [K]