Title: | Tools for Simulation of Evapotranspiration of Field Crops and Soil Water Balance |
---|---|
Description: | Supports the calculation of meteorological characteristics in evapotranspiration research and reference crop evapotranspiration, and offers three models to simulate crop evapotranspiration and soil water balance in the field, including single crop coefficient and dual crop coefficient, as well as the Shuttleworth-Wallace model. These calculations main refer to Allen et al.(1998, ISBN:92-5-104219-5), Teh (2006, ISBN:1-58-112-998-X), and Liu et al.(2006) <doi:10.1016/j.agwat.2006.01.018>. |
Authors: | Minguo Liu [aut, cre], Huimin Yang [dtc, fnd] |
Maintainer: | Minguo Liu <[email protected]> |
License: | GPL (>= 3) |
Version: | 1.0.3 |
Built: | 2025-03-11 03:45:53 UTC |
Source: | https://github.com/cran/simET |
Calculating actual vapour pressure for hourly time step
cal_ActualVapourPressure_for_hourly(Thr, RHhr)
cal_ActualVapourPressure_for_hourly(Thr, RHhr)
Thr |
is average hourly temperature (degrees Celsius). |
RHhr |
is average hourly relative humidity [%]. |
A vector for average hourly actual vapour pressure [kPa].
Allen, R. G., Pereira, L. S., Raes, D., & Smith, M. FAO Irrigation and drainage paper No. 56. Rome: Food and Agriculture Organization of the United Nations, 1998.
As the dewpint temperature is the temperature to which the air needs to be cooled to make the air saturated, the actual vapour pressure is the saturation vapour pressure at the dewpoint temperature.
cal_ActualVapourPressure_from_dewPoint(Tdew)
cal_ActualVapourPressure_from_dewPoint(Tdew)
Tdew |
dew point temperature(degrees Celsius). |
A vector for actual vapour pressure
Allen, R. G., Pereira, L. S., Raes, D., & Smith, M. FAO Irrigation and drainage paper No. 56. Rome: Food and Agriculture Organization of the United Nations, 1998.
The actual vapour pressure can be determined from the difference between the dry and wet bulb temperatures, the so-called wet bulb depression.
cal_ActualVapourPressure_from_psychrometricData(Twet, Tdry, P, type)
cal_ActualVapourPressure_from_psychrometricData(Twet, Tdry, P, type)
Twet , Tdry
|
wet bulb depression, with Tdry the dry bulb and Twet the wet bulb temperature (degrees Celsius). |
P |
is the atmospheric pressure (kPa). |
type |
psychrometer type ("Asmann type","natural ventilated","non-ventilated"). |
A vector for Actual vapour pressure (ea)
Allen, R. G., Pereira, L. S., Raes, D., & Smith, M. FAO Irrigation and drainage paper No. 56. Rome: Food and Agriculture Organization of the United Nations, 1998.
When using equipment where errors in estimating RHmin can be large, or when RH data integrity are in doubt, then one should use only RHmax.
cal_ActualVapourPressure_from_RHmax(Tmin, RHmax)
cal_ActualVapourPressure_from_RHmax(Tmin, RHmax)
Tmin |
daily minimum temperature (degrees Celsius). |
RHmax |
maximum relative humidity (%). |
A vector for actual vapour pressure
Allen, R. G., Pereira, L. S., Raes, D., & Smith, M. FAO Irrigation and drainage paper No. 56. Rome: Food and Agriculture Organization of the United Nations, 1998.
The actual vapour pressure can also be calculated from the relative humidity. Depending on the availability of the humidity data, different equations should be used.
cal_ActualVapourPressure_from_RHmaxAndRHmin(Tmax, Tmin, RHmax, RHmin)
cal_ActualVapourPressure_from_RHmaxAndRHmin(Tmax, Tmin, RHmax, RHmin)
Tmax |
daily maximum temperature (kPa). |
Tmin |
daily minimum temperature (KPa). |
RHmax |
maximum relative humidity %. |
RHmin |
minimum relative humidity %. |
For periods of a week, ten days or a month, RHmax and RHmin are obtained by dividing the sum of the daily values by the number of days in that period.
A vector for actual vapour pressure
Allen, R. G., Pereira, L. S., Raes, D., & Smith, M. FAO Irrigation and drainage paper No. 56. Rome: Food and Agriculture Organization of the United Nations, 1998.
In the absence of RH max and RHmin, it can be used to estimate actual vapour pressure.
cal_ActualVapourPressure_from_RHmean(RHmean, Tmax, Tmin)
cal_ActualVapourPressure_from_RHmean(RHmean, Tmax, Tmin)
RHmean |
mean relative humidity(%). |
Tmax |
daily maximum temperature (degrees Celsius). |
Tmin |
daily minimum temperature (degrees Celsius). |
A vector for actual vapour pressure
Allen, R. G., Pereira, L. S., Raes, D., & Smith, M. FAO Irrigation and drainage paper No. 56. Rome: Food and Agriculture Organization of the United Nations, 1998.
Calculating the volumetric water content after redistribution
cal_afterRedistribution(THETA_v_sat, alpha, Ksat, deltaT, L, THETA11_1)
cal_afterRedistribution(THETA_v_sat, alpha, Ksat, deltaT, L, THETA11_1)
THETA_v_sat |
soil saturation water content (m3 m-3) |
alpha |
empirical coefficient. 13 for homogenous soil, 13-16 for heterogeneous soil |
Ksat |
saturated hydraulic conductitity |
deltaT |
time step difference (day) |
L |
the thickness(m) of soil layer i |
THETA11_1 |
the volumetric water content before redistribution (m3 m-3) |
A value for the volumetric water content after redistribution(m3 m-3)
Calculating air vapor pressure deficit at the mean canopy
cal_airVaporPressureDeficit_meanCanopyflow( D, r_a_a, rho_cp = 1221.09, DELTA, A, gamma = 0.658, lambda_ET )
cal_airVaporPressureDeficit_meanCanopyflow( D, r_a_a, rho_cp = 1221.09, DELTA, A, gamma = 0.658, lambda_ET )
D |
the vapor pressure deficit (mbar) |
r_a_a |
the aerodynamic resistance between the mean canopy flow and reference height (s m-1) |
rho_cp |
the volumetric heat capacity for air (1221.09 J m-3 K-1) |
DELTA |
is the slope of the saturated vapor pressure curve (mbar K-1) |
A |
is the total energy available to the system (W m-2 ground) |
gamma |
psychometric constant (0.658 mbar K-1 ) |
lambda_ET |
the total latent heat flux (W m-2 ground) |
A vector for the vapor pressure deficit at the mean canopy flow (mbar)
Knowing D0 is essential because this value is used to calculate the latent and sensible heat fluxes for the soil and crop components.
A parameter used to determine the position of the sun relative to the observer (the other one is solar inclination).
cal_angerFromSouth(latitude, solar_altitude, solar_declination)
cal_angerFromSouth(latitude, solar_altitude, solar_declination)
latitude |
is the latitude data (Radian). |
solar_altitude |
It can be calculated from pi/2-cal_solarinclination. |
solar_declination |
is solar declination anger. It can be calculated from cal_solardeclination() |
The minus and positive signs are taken before and after solar noon, receptively. The reason for having the positive-and-negative signs is merely an artificial convention so that we are able to distinguish between the sun lying westwards (posite angles and after solar noon) and eastwards (negative angles and before solar noon).
A vector for anger from south (Radian)
Teh CBS.Introduction to mathematical modeling of crop growth: How the equations are derived and assembled into a computer model. Brown Walker Press, 2006.
cal_angerFromSouth(latitude=0.52,solar_altitude=-0.715,solar_declination=-0.2974005)
cal_angerFromSouth(latitude=0.52,solar_altitude=-0.715,solar_declination=-0.2974005)
The atmospheric pressure, P, is the pressure exerted by the weight of the earth's atmosphere.
cal_atmosphericPressure(elevation)
cal_atmosphericPressure(elevation)
elevation |
elevation above sea level (m) |
Assuming 20°C for a standard atmosphere. Evaporation at high altitudes is promoted due to low atmospheric pressure as expressed in thepsychrometric constant. The effect is, however, small and in the calculation procedures, the average value for a location is sufficient.
A vector for atmospheric pressure (Kpa)
Allen, R. G., Pereira, L. S., Raes, D., & Smith, M. FAO Irrigation and drainage paper No. 56. Rome: Food and Agriculture Organization of the United Nations, 1998.
cal_atmosphericPressure(100)
cal_atmosphericPressure(100)
Calculating bulk boundary layer resistance
cal_bulkBoundaryLayerResistance(nu, u_h, w, L)
cal_bulkBoundaryLayerResistance(nu, u_h, w, L)
nu |
the wind speed extinction coefficient (taken as 2) |
u_h |
the wind speed at the canopy top (i.e., at plant height h) (m s-1) |
w |
is the mean leaf width (m) |
L |
leaf area index |
A vector for bulk boundary layer resistance (s/m)
The canopy penetration probability for net radiation
cal_canopyPenetrationProbabilityForNetRadiation(kRn, L)
cal_canopyPenetrationProbabilityForNetRadiation(kRn, L)
kRn |
the canopy extinction coefficient for net radiation (taken as 0.3) |
L |
the leaf area index (m2 leaf m-2 ground) |
The vector for canopy penetration probability for net radiation
Calculating canopy resistance
cal_canopyResistance(a1, a2, It, L, Lmax)
cal_canopyResistance(a1, a2, It, L, Lmax)
a1 , a2
|
are empirical coefficients, dependent on the crop type. |
It |
the total hourly solar irradiance (W m-2 ground) |
L |
the leaf area index (m2 leaf m-2 ground) |
Lmax |
the maximum total leaf area index (m2 leaf m-2 ground) |
A vector for canopy resistance(s/m)
Calculating canopy temperature
cal_canopyTem(Hc, r_c_a, Hs, r_a_a, rho_cp, Tr)
cal_canopyTem(Hc, r_c_a, Hs, r_a_a, rho_cp, Tr)
Hc |
crop sensible heat fluxes (W m-2) |
r_c_a |
the bulk boundary layer resistance (s m-1) |
Hs |
soil sensible heat fluxes (W m-2) |
r_a_a |
the aerodynamic resistance between the mean canopy flow and reference level (s m-1) |
rho_cp |
the volumetric heat capacity for air (1221.09 J m-3 K-1) |
Tr |
Tr is the air temperature at reference level (Celsius degree). weather station. |
A vector for the canopy (foliage) temperature (Celsius degree)
Calculating capillary rise
cal_capillaryRise( a1, b1 = -0.17, a2, b2 = -0.27, a3 = -1.3, b3, a4, b4, Dw, Wa, LAI, ETm )
cal_capillaryRise( a1, b1 = -0.17, a2, b2 = -0.27, a3 = -1.3, b3, a4, b4, Dw, Wa, LAI, ETm )
a1 |
Soil water storage to maximum root depth at field capacity(mm). |
b1 |
A parameter. |
a2 |
storage above the average between those at field capacity and the wilting point(mm). |
b2 |
A parameter. |
a3 |
A parameter. |
b3 |
A parameter.6.7 for clay and silty clay loam soils, decreasing to 6.2 for loamy sands |
a4 |
A parameter.4.6 for silty loam and silty clay loam soils,decreasing to 6.2 for loamy sands. |
b4 |
A parameter.-0.65 for silty loam soils and decreasing to -2.5 for loamy sand soils. |
Dw |
Groudwater depth below root zone(m). |
Wa |
actual soil water storage in the root zone. |
LAI |
Leaf area index. |
ETm |
potential crop evaporanspiration (mm/day),usually ETm=ETc(mm/d). |
The value for capillary Rise (mm/day).
Liu Y, Pereira L S, Fernando R M. Fluxes through the bottom boundary of the root zone in silty soils: Parametric approaches to estimate groundwater contribution and percolation[J]. Agricultural Water Management, 2006, 84(1):27-40.
Calculating the crop roughness length
cal_cropRoughnessLength(h)
cal_cropRoughnessLength(h)
h |
the plant height (m) |
A vector for the crop roughness length(m)
Calculating Daylight hours
cal_daylightHours(sunsetHourAngle)
cal_daylightHours(sunsetHourAngle)
sunsetHourAngle |
is the sunset hour angle in radians from cal_sunsetHourAngle(). |
A vector for day light Hours
Allen, R. G., Pereira, L. S., Raes, D., & Smith, M. FAO Irrigation and drainage paper No. 56. Rome: Food and Agriculture Organization of the United Nations, 1998.
Calculating Deep percolation
cal_DeepPercolation(Wa, Wfc, a, b, t)
cal_DeepPercolation(Wa, Wfc, a, b, t)
Wa |
actual soil water storage in the root zone (mm) |
Wfc |
soil water storage to maximum root depth (Zr ) at field capacity (mm) |
a |
A water storage value comprised between WFc and Wa at saturation. |
b |
b<-0.0173 for soils draining quickly.Otherwise b>-0.0173. |
t |
time after an irrigation or rain that produced a storage above field capacity (days) |
A vector for deep percolation(mm/day).
Liu Y, Pereira L S, Fernando R M. Fluxes through the bottom boundary of the root zone in silty soils: Parametric approaches to estimate groundwater contribution and percolation[J]. Agricultural Water Management, 2006, 84(1):27-40.
In fact, it performs water balance in a day
cal_Dei_for_DualKc(Dei_start, P, I, E, Dep, TEW)
cal_Dei_for_DualKc(Dei_start, P, I, E, Dep, TEW)
Dei_start |
Depletion in the topsoil layer |
P |
Precipitation |
I |
Irrigation |
E |
Evaporation on day i, mm |
Dep |
Deep percolation loss from the topsoil layer on day i if soil water content exceeds field capacity, mm |
TEW |
Maximum cumulative depth of evaporation (depletion) from the topsoil layer |
A value for the depletion in the topsoil layer at the end of the day
Calculating deep percolation
cal_DP_for_singleKc(P, I, ETa, Dri_start)
cal_DP_for_singleKc(P, I, ETa, Dri_start)
P |
Precipitation |
I |
Irrigation |
ETa |
Actual evapotranspiration |
Dri_start |
The depletion of root layer |
A value for deep percolation
Deep percolation loss from the topsoil layer
cal_DPe_for_DualKc(P, I, Dei_start, fw)
cal_DPe_for_DualKc(P, I, Dei_start, fw)
P |
Precipitation |
I |
Irrigation |
Dei_start |
Depletion in the topsoil layer |
fw |
Fraction of soil surface wetted by irrigation, 0.01-1 |
A value for deep percolation loss from the topsoil layer
Allen, R. G., Pereira, L. S., Raes, D., & Smith, M. FAO Irrigation and drainage paper No. 56. Rome: Food and Agriculture Organization of the United Nations, 1998.
Deep percolation loss from the root layer
cal_DPr_for_DualKc(P, Irrigation, ETa, Dri_start)
cal_DPr_for_DualKc(P, Irrigation, ETa, Dri_start)
P |
Precipitation |
Irrigation |
Irrigation |
ETa |
Actual evapotranspiration |
Dri_start |
Depletion in the root layer |
A value for deep percolation loss from the root layer
Allen, R. G., Pereira, L. S., Raes, D., & Smith, M. FAO Irrigation and drainage paper No. 56. Rome: Food and Agriculture Organization of the United Nations, 1998.
Calculating eddy diffusivity at the canopy top
cal_eddyDiffusivity_Canopytop(k = 0.4, u_, h)
cal_eddyDiffusivity_Canopytop(k = 0.4, u_, h)
k |
the von Karman constant (0.4) |
u_ |
the friction velocity (m/s) |
h |
the plant height (m) |
A vector for eddy diffusivity at the canopy top(m2/s)
Calculating eddy diffusivity at height z
cal_eddyDiffusivity_heightZ(Kh, nK, z, h)
cal_eddyDiffusivity_heightZ(Kh, nK, z, h)
Kh |
eddy diffusivity at the canopy top(m2/s) |
nK |
the eddy diffusivity extinction coefficient (taken as 2) |
z |
height(m) |
h |
the plant height(m) |
A vector for eddy diffusivity at height z (m2/s)
The FAO Penman-Monteith method is maintained as the sole standard method for the computation of ETo from meteorological data.
cal_ET0_from_PM(delta, Rn, G, gamma, Tem, u2, es, ea)
cal_ET0_from_PM(delta, Rn, G, gamma, Tem, u2, es, ea)
delta |
slope vapour pressure curve (kPa °C). From cal_slopeOfSaturationVapourPressureCurve() |
Rn |
net Radiation at the crop surface [MJ m-2 day-1]. From cal_netRadiation() |
G |
soil heat flux density [MJ m-2 day-1]. |
gamma |
psychrometric constant (kPa °C). |
Tem |
air temperature at 2 m height [°C]. |
u2 |
wind speed at 2 m height [m s-1]. |
es |
saturation vapour pressure [kPa]. |
ea |
actual vapour pressure [kPa]. |
A vector for reference evapotranspiration [mm day-1].
Ten-day or monthly time step :
Notwithstanding the non-linearity in the Penman-Monteith equation and some weather parameter methods, mean ten-day or monthly weather data can be used to compute the mean ten-day or monthly values for the reference evapotranspiration. The value of the reference evapotranspiration calculated with mean monthly weather data is indeed very similar to the average of the daily ETo values calculated with daily average weather data for that month.
When the soil is warming (spring) or cooling (autumn), the soil heat flux (G) for monthly periods may become significant relative to the mean monthly Rn. In these cases G cannot be ignored and its value should be determined from the mean monthly air temperatures of the previous and next month.
Daily time step:
Calculation of ETo with the Penman-Monteith equation on 24-hour time scales will generally provide accurate results.
As the magnitude of daily soil heat flux (G) beneath the reference grass surface is relatively small, it may be ignored for 24-hour time steps.
Allen, R. G., Pereira, L. S., Raes, D., & Smith, M. FAO Irrigation and drainage paper No. 56. Rome: Food and Agriculture Organization of the United Nations, 1998.
Based on lat, z, J, Tmax, Tmin, n, RHmax, RHmin, windSpeed parameters, reference evapotranspiration was calculated by Penman-Monteith.
cal_ET0_from_PM_for_daily(Latitude, Altitude, J, Tmax, Tmin, Rs, RHmean, Wind)
cal_ET0_from_PM_for_daily(Latitude, Altitude, J, Tmax, Tmin, Rs, RHmean, Wind)
Latitude |
latitude (radian), positive for the northern hemisphere and negative for the southern hemisphere. |
Altitude |
station elevation above sea level [m]. |
J |
is the number of the day in the year between 1 (1 January) and 365 or 366 (31 December). |
Tmax |
daily maximum air temperature (degrees Celsius). |
Tmin |
daily minimum air temperature (degrees Celsius). |
Rs |
Solar radiation [MJ m-2 d-1]. |
RHmean |
daily mean relative humidity %. |
Wind |
wind speed at 2 m height [m s-1]. |
A vector for reference evapotranspiration (mm/day)
Allen, R. G., Pereira, L. S., Raes, D., & Smith, M. FAO Irrigation and drainage paper No. 56. Rome: Food and Agriculture Organization of the United Nations, 1998.
library(simET) data("FIalfalfa") names(FIalfalfa) Result_data<- dplyr::mutate(FIalfalfa, ET0=cal_ET0_from_PM_for_daily(Latitude=Latitude, Altitude=Altitude, J=Julian, Tmax=Tmax, Tmin=Tmin, Rs=Rs, RHmean=RHmean, Wind=Wind)) names(Result_data)
library(simET) data("FIalfalfa") names(FIalfalfa) Result_data<- dplyr::mutate(FIalfalfa, ET0=cal_ET0_from_PM_for_daily(Latitude=Latitude, Altitude=Altitude, J=Julian, Tmax=Tmax, Tmin=Tmin, Rs=Rs, RHmean=RHmean, Wind=Wind)) names(Result_data)
Calculating reference evapotranspiration from Penman-Monteith method for hourly time step
cal_ET0_from_PM_for_hourly( slopVapourPressureCurve, netRadiation, soilHeatFlux, psychrometricConstant, meanHourlyTem, windSpeed, saturationVapourPressure, actualVapourPressure )
cal_ET0_from_PM_for_hourly( slopVapourPressureCurve, netRadiation, soilHeatFlux, psychrometricConstant, meanHourlyTem, windSpeed, saturationVapourPressure, actualVapourPressure )
slopVapourPressureCurve |
saturation slope vapour pressure curve at Thr [kPa °C]. |
netRadiation |
net radiation at the grass surface [MJ m-2 hour-1]. |
soilHeatFlux |
soil heat flux density [MJ m-2 hour-1]. |
psychrometricConstant |
psychrometric constant [kPa °C]. |
meanHourlyTem |
mean hourly air temperature [°C]. |
windSpeed |
average hourly wind speed [m s-1]. |
saturationVapourPressure |
saturation vapour pressure at air temperature Thr [kPa]. |
actualVapourPressure |
average hourly actual vapour pressure [kPa]. |
In areas where substantial changes in wind speed, dewpoint or cloudiness occur during the day, calculation of the ETo equation using hourly time steps is generally better than using 24-hour calculation time steps. Such weather changes can cause 24-hour means to misrepresent evaporative power of the environment during parts of the day and may introduce error into the calculations. However, under most conditions, application of the FAO Penman-Monteith equation with 24-hour data produces accurate results.
A vector for reference evapotranspiration [mm hour-1].
With the advent of electronic, automated weather stations, weather data are increasingly reported for hourly or shorter periods. Therefore, in situations where calculations are computerized, the FAO Penman-Monteith equation can be applied on an hourly basis with good results. When applying the FAO Penman-Monteith equation on an hourly or shorter time scale, the equation and some of the procedures for calculating meteorological data should be adjusted for the smaller time step.
For the calculation of radiation parameters, see P74-75
Allen, R. G., Pereira, L. S., Raes, D., & Smith, M. FAO Irrigation and drainage paper No. 56. Rome: Food and Agriculture Organization of the United Nations, 1998.
The extraterrestrial radiation, Ra, for each day of the year and for different latitudes can be estimated from the solar constant, the solar declination and the time of the year.
cal_extraterrestrialRadiation_for_daily(J, lat)
cal_extraterrestrialRadiation_for_daily(J, lat)
J |
is the number of the day in the year between 1 (1 January) and 365 or 366 (31 December). |
lat |
latitude (Radian), positive for the northern hemisphere and negative for the southern hemisphere. |
A vector for extraterrestrial radiation for daily(MJ m-2 day-1)
Allen, R. G., Pereira, L. S., Raes, D., & Smith, M. FAO Irrigation and drainage paper No. 56. Rome: Food and Agriculture Organization of the United Nations, 1998.
Calculating extraterrestrial radiation for hourly or shorter periods
cal_extraterrestrialRadiation_for_shorter(lat, J, t, lz, lm, t1)
cal_extraterrestrialRadiation_for_shorter(lat, J, t, lz, lm, t1)
lat |
latitude (radian), positive for the northern hemisphere and negative for the southern hemisphere. |
J |
is the number of the day in the year between 1 (1 January) and 365 or 366 (31 December). |
t |
standard clock time at the midpoint of the period (hour). For example for a period between 14.00 and 15.00 hours, t = 14.5. |
lz |
longitude of the centre of the local time zone (degrees west of Greenwich). For example, Lz = 75, 90, 105 and 120° for the Eastern, Central, Rocky Mountain and Pacific time zones (United States) and Lz = 0° for Greenwich, 330° for Cairo (Egypt),and 255° for Bangkok (Thailand), radian. |
lm |
longitude of the measurement site (degrees west of Greenwich) radian. |
t1 |
length of the calculation period (hour) |
A vector for extraterrestrial Radiation (MJ m-2 hour-1)
Allen, R. G., Pereira, L. S., Raes, D., & Smith, M. FAO Irrigation and drainage paper No. 56. Rome: Food and Agriculture Organization of the United Nations, 1998.
Calculating friction velocity
cal_frictionVelocity(k = 0.4, zr = 2, u_zr, d, z0)
cal_frictionVelocity(k = 0.4, zr = 2, u_zr, d, z0)
k |
the von Karman constant (0.4) |
zr |
the height of the weather station(m). |
u_zr |
the wind speed(m/s) at the reference height zr (m). |
d |
zero plane displacement height (m) |
z0 |
the crop roughness length(m) |
A vector for friction velocity(m/s)
Calculating hour angle
cal_hourAngle(th)
cal_hourAngle(th)
th |
is the local solar time. |
A vector for hour angle (Radian)
Teh CBS.Introduction to mathematical modeling of crop growth: How the equations are derived and assembled into a computer model. Brown Walker Press, 2006.
cal_hourAngle(12)
cal_hourAngle(12)
Calculating inverse relative distance Earth-sun
cal_inverseRelativeDistance_Earth_sun(J)
cal_inverseRelativeDistance_Earth_sun(J)
J |
is the number of the day in the year between 1 (1 January) and 365 or 366 (31 December). |
A vector for inverse relative distance Earth-sun (Radian)
Allen, R. G., Pereira, L. S., Raes, D., & Smith, M. FAO Irrigation and drainage paper No. 56. Rome: Food and Agriculture Organization of the United Nations, 1998.
It is imposed to reflect the natural constraints placed on available energy represented by the energy balance difference Rn - G - H
cal_Kc_max_for_DualKc(u2, RHmin, h, Kcb)
cal_Kc_max_for_DualKc(u2, RHmin, h, Kcb)
u2 |
The wind speed at 2 m |
RHmin |
Minimum relative humidity |
h |
Plant height |
Kcb |
Basal crop coefficient |
A vector for the upper limit on the evaporation and transpiration from any cropped surface
Allen, R. G., Pereira, L. S., Raes, D., & Smith, M. FAO Irrigation and drainage paper No. 56. Rome: Food and Agriculture Organization of the United Nations, 1998.
Typical values for the crop coefficient at the end of the late season growth stage, Kc end, are listed in Table 12 for various agricultural crops.
cal_Kcend_for_singleKc(RHmine, u2e, Ktable, he)
cal_Kcend_for_singleKc(RHmine, u2e, Ktable, he)
RHmine |
mean value for daily minimum relative humidity during the mid-season growth stage , for 20 <= RHmine<= 80 |
u2e |
mean value for daily wind speed at 2 m height over grass during the mid- season growth stage (m/s), for 1 <= u2e <= 6 |
Ktable |
value for Kc mid taken from Table 12 |
he |
mean plant height during the mid-season stage (m) for 0.1 m < h < 10 m |
A value for Kcend value
only applied when the tabulated values for Kc end exceed 0.45. The equation reduces the Kc end with increasing RHmin. This reduction in Kc end is characteristic of crops that are harvested 'green' or before becoming completely dead and dry (Kc end >= 0.45).
No adjustment is made when Kc end (Table) < 0.45 (Kc end = Kc end (Tab)). When crops are allowed to senesce and dry in the field (as evidenced by Kc end < 0.45), u2 and RHmin have less effect on Kc end and no adjustment is necessary.
Allen, R. G., Pereira, L. S., Raes, D., & Smith, M. FAO Irrigation and drainage paper No. 56. Rome: Food and Agriculture Organization of the United Nations, 1998.
Calculating Kcini value
cal_Kcini_for_SingleKc(Pmean, ET0, tw, type, fw)
cal_Kcini_for_SingleKc(Pmean, ET0, tw, type, fw)
Pmean |
is the average depth od infiltrated water per wetting events(mm) |
ET0 |
mean ET0 during initial period(mm/day) |
tw |
is the mean interval between wetting events(days) |
type |
soil type:"coarse soil textures" and "medium and fine soil textures" |
fw |
the fraction of surfaces wetted by irrigation or rain (0-1) |
A value for Kcini value
Allen, R. G., Pereira, L. S., Raes, D., & Smith, M. FAO Irrigation and drainage paper No. 56. Rome: Food and Agriculture Organization of the United Nations, 1998.
Typical values for the crop coefficient at the end of the late season growth stage, Kc end, are listed in Table 12 for various agricultural crops.For specific adjustment in climates where RHmin differs from 45 % or where u2 is larger or smaller than 2.0 m/s.
cal_Kcmid_for_singleKc(RHmine, u2e, Ktable, he)
cal_Kcmid_for_singleKc(RHmine, u2e, Ktable, he)
RHmine |
mean value for daily minimum relative humidity during the mid-season growth stage , for 20 <= RHmine <= 80 |
u2e |
mean value for daily wind speed at 2 m height over grass during the mid- season growth stage (mls), for 1 <= u2e <= 6 |
Ktable |
value for Kc mid taken from Table 12 |
he |
mean plant height during the mid-season stage [m] for 0.1 m < h < 10 m |
A value for Kcmid value
Allen, R. G., Pereira, L. S., Raes, D., & Smith, M. FAO Irrigation and drainage paper No. 56. Rome: Food and Agriculture Organization of the United Nations, 1998.
It dependent on the soil water depletion (cumulative depth of evaporation) from the topsoil layer (Kr = 1 when De,i-1 is equal or lesser than REW)
cal_Kr_for_DualKc(TEW, REW, De)
cal_Kr_for_DualKc(TEW, REW, De)
TEW |
maximum cumulative depth of evaporation (depletion) from the soil surface layer when Kr = 0 (TEW = total evaporable water) |
REW |
cumulative depth of evaporation (depletion) at the end of stage 1 (REW = readily evaporable water), mm |
De |
cumulative depth of evaporation (depletion) from the soil surface layer at the end of day i-1 (the previous day),mm |
A value for evaporation reduction coefficient
Allen, R. G., Pereira, L. S., Raes, D., & Smith, M. FAO Irrigation and drainage paper No. 56. Rome: Food and Agriculture Organization of the United Nations, 1998.
Calculating latent heat fluxes for crop
cal_latentHeatFluxesForCrop(DELTA, Ac, rho_cp, D0, r_c_a, gamma, r_c_s)
cal_latentHeatFluxesForCrop(DELTA, Ac, rho_cp, D0, r_c_a, gamma, r_c_s)
DELTA |
the slope of the saturated vapor pressure curve (mbar K-1) |
Ac |
energy available to the crop (W m-2 ground) |
rho_cp |
the volumetric heat capacity for air (1221.09 J m-3 K-1) |
D0 |
the vapor pressure deficit at the mean canopy flow |
r_c_a |
is the bulk boundary layer resistance (s m-1) |
gamma |
is the psychometric constant (0.658 mbar K-1) |
r_c_s |
the canopy resistance (s m-1) |
A vector for latent heat fluxes for crop (W m-2 ground)
Calculating latent heat fluxes for soil
cal_latentHeatFluxesForSoil( DELTA, As, rho_cp = 1221.09, D0, r_s_a, gamma = 0.658, r_s_s )
cal_latentHeatFluxesForSoil( DELTA, As, rho_cp = 1221.09, D0, r_s_a, gamma = 0.658, r_s_s )
DELTA |
the slope of the saturated vapor pressure curve (mbar K-1) |
As |
energy available to the soil (W m-2 ground) |
rho_cp |
the volumetric heat capacity for air (1221.09 J m-3 K-1) |
D0 |
the vapor pressure deficit at the mean canopy flow |
r_s_a |
the aerodynamic resistance between the soil and mean canopy flow (s m-1) |
gamma |
the psychometric constant (0.658 mbar K-1) |
r_s_s |
soil surface resistance, (s m-1) |
A vector for soil latent heat fluxes (W m-2 ground)
Local solar time is different with local time.
cal_localDolarTime(td, t, gamma, gamma_sm)
cal_localDolarTime(td, t, gamma, gamma_sm)
td |
The day of year. |
t |
is the local time. |
gamma |
is the local longitude (Radian). |
gamma_sm |
is the standard longitude (Radian). |
A vector for local solar time(Hour)
Teh CBS.Introduction to mathematical modeling of crop growth: How the equations are derived and assembled into a computer model. Brown Walker Press, 2006.
cal_localDolarTime(td=1,t=12,gamma=0.52,gamma_sm=2.09)
cal_localDolarTime(td=1,t=12,gamma=0.52,gamma_sm=2.09)
Calculating mean canopy flow to reference level
cal_meanCanopyFlowToReferenceLevel(k = 0.4, u_, zr, d, h, nK, z0)
cal_meanCanopyFlowToReferenceLevel(k = 0.4, u_, zr, d, h, nK, z0)
k |
the von Karman constant (0.4) |
u_ |
the friction velocity (m s-1) |
zr |
is the reference height (m).the height of the weather station(m). |
d |
zero plane displacement height (m) |
h |
the plant height(m) |
nK |
the eddy diffusivity extinction coefficient (taken as 2) |
z0 |
the crop roughness length (m) |
A vector for mean canopy flow to reference level
Due to the non-linearity of the above equation, the mean saturation vapour pressure for a day, week, decade or month should be computed as the mean between the saturation vapour pressure at the mean daily maximum and minimum air temperatures for that period.
cal_meanSaturationVapourPressure(Tmax, Tmin)
cal_meanSaturationVapourPressure(Tmax, Tmin)
Tmax |
the daily maximum air temperature(degrees Celsius). |
Tmin |
the daily minimum air temperature(degrees Celsius). |
Using mean air temperature instead of daily minimum and maximum temperatures results in lower estimates for the mean saturation vapour pressure. The corresponding vapour pressure deficit (a parameter expressing the evaporating power of the atmosphere) will also be smaller and the result will be some underestimation of the reference crop evapotranspiration. Therefore,the mean sauration vapour pressure should be calculated as the mean between the saturation vapour pressure at both the daily maximum and minimum air temperature.
A vector for mean saturation vapour pressure (es)
Allen, R. G., Pereira, L. S., Raes, D., & Smith, M. FAO Irrigation and drainage paper No. 56. Rome: Food and Agriculture Organization of the United Nations, 1998.
Calculating net longwave radiation Rnl
cal_netLongwaveRadiation(TKmax, TKmin, ea, Rs, Rso)
cal_netLongwaveRadiation(TKmax, TKmin, ea, Rs, Rso)
TKmax |
maximum absolute temperature during the 24-hour period [K]. |
TKmin |
minimum absolute temperature during the 24-hour period [K]. |
ea |
actual vapour pressure [kPa]. |
Rs |
measured or calculated solar radiation [MJ m-2 day-1]. From cal_solarRadiation(). |
Rso |
calculated clear-sky radiation [MJ m-2 day-1]. From cal_skySolarRadiation_withas_bs() or cal_skySolarRadiation_withas_elevation(). |
A vector for net outgoing longwave radiation [MJ m-2 day-1]
The rate of longwave energy emission is proportional to the absolute temperature of the surface raised to the fourth power. This relation is expressed quantitatively by the Stefan-Boltzmann law. The net energy flux leaving the earth's surface is, however, less than that emitted and given by the Stefan-Boltzmann law due to the absorption and downward radiation from the sky. Water vapour, clouds, carbon dioxide and dust are absorbers and emitters of longwave radiation. Their concentrations should be known when assessing the net outgoing flux. As humidity and cloudiness play an important role, the Stefan-Boltzmann law is corrected by these two factors when estimating the net outgoing flux of longwave radiation. It is thereby assumed that the concentrations of the other absorbers are constant. An average of the maximum air temperature to the fourth power and the minimum air temperature to the fourth power is commonly used in the Stefan-Boltzmann equation for 24-hour time steps. The term (0.34-0.14*sqrt(ea)) expresses the correction for air humidity, and will be smaller if the humidity increases. The effect of cloudiness is expressed by (1.35 Rs/Rso - 0.35). The term becomes smaller if the cloudiness increases and hence Rs decreases. The smaller the correction terms, the smaller the net outgoing flux of longwave radiation. Note that the Rs/Rso term in Equation 39 must be limited so that Rs/Rso <= 1.0. Where measurements of incoming and outgoing short and longwave radiation during bright sunny and overcast hours are available, calibration of the coefficients in Equation 39 can be carried out.
Allen, R. G., Pereira, L. S., Raes, D., & Smith, M. FAO Irrigation and drainage paper No. 56. Rome: Food and Agriculture Organization of the United Nations, 1998.
The net radiation (Rn) is the difference between the incoming net shortwave radiation (Rns) and the outgoing net longwave radiation (Rnl).
cal_netRadiation(Rns, Rnl)
cal_netRadiation(Rns, Rnl)
Rns |
incoming net shortwave radiation. From cal_netSolarRadiation(). |
Rnl |
outgoing net longwave radiation. From cal_netLongwaveRadiation(). |
A vector for net radiation
Allen, R. G., Pereira, L. S., Raes, D., & Smith, M. FAO Irrigation and drainage paper No. 56. Rome: Food and Agriculture Organization of the United Nations, 1998.
Calculating net radiation available to the crop
cal_netRadiationForCrop(pRn, Rn)
cal_netRadiationForCrop(pRn, Rn)
pRn |
canopy penetration probability for net radiation |
Rn |
the net radiation (W/m2 ground).see cal_hourlyNetRadiation() |
A vector for net radiation available to the crop (W/m2 ground)
Calculating net radiation available to the soil
cal_netRadiationForSoil(pRn, Rn, G)
cal_netRadiationForSoil(pRn, Rn, G)
pRn |
canopy penetration probability for net radiation |
Rn |
the net radiation (W/m2 ground).see cal_hourlyNetRadiation() |
G |
the soil heat flux(W/m2 ground) |
A vector for net radiation available to the soil (W/m2 ground)
Calculating net radiation available to the system(soil and crop)
cal_netRadiationForSystem(Ac, As)
cal_netRadiationForSystem(Ac, As)
Ac |
net radiation available to the crop (W/m2 ground) |
As |
net radiation available to the soil(W/m2 ground) |
A vector for net radiation available to the system(soil and crop) (W/m2 ground)
The net shortwave radiation resulting from the balance between incoming and reflected solar radiation.
cal_netSolarRadiation(alpha, Rs)
cal_netSolarRadiation(alpha, Rs)
alpha |
albedo or canopy reflection coefficient, which is 0.23 for the hypothetical grass reference crop [dimensionless]. |
Rs |
the incoming solar radiation [MJ m-2 day-1]. From cal_solarRadiation() |
A vector for net solar or shortwave radiation [MJ m-2 day-1].
Allen, R. G., Pereira, L. S., Raes, D., & Smith, M. FAO Irrigation and drainage paper No. 56. Rome: Food and Agriculture Organization of the United Nations, 1998.
Calculating percolation for excess water
cal_percolationForExcessWater(THETA_i_t0, Pe_i_t1, THETA_sat_i)
cal_percolationForExcessWater(THETA_i_t0, Pe_i_t1, THETA_sat_i)
THETA_i_t0 |
the water amount of the day before in soil layer i (mm) |
Pe_i_t1 |
the percolation of previous soil layer(mm) |
THETA_sat_i |
soil saturation water amount (mm) |
A value for percolation for excess water (mm)
Calculating psychrometric constant
cal_psychrometriCconstant(atmospheric_pressure)
cal_psychrometriCconstant(atmospheric_pressure)
atmospheric_pressure |
atmospheric pressure (kPa). |
A vector for Psychrometric constant (kPa/degree Celsius)
Allen, R. G., Pereira, L. S., Raes, D., & Smith, M. FAO Irrigation and drainage paper No. 56. Rome: Food and Agriculture Organization of the United Nations, 1998.
cal_psychrometriCconstant(100.1235)
cal_psychrometriCconstant(100.1235)
Calculating reduction factor for evaporation
cal_reductionFactorForE(THETA, THETA_sat)
cal_reductionFactorForE(THETA, THETA_sat)
THETA |
the water amount of the day before in stop soil layer (mm) |
THETA_sat |
soil saturation water content in stop oil layer (mm) |
A value for reduction factor for evaporation
calculating reduction factor for transpiration
cal_reductionFactorForT(THETA_v_wp, p, THETA_v_sat, THETA_v)
cal_reductionFactorForT(THETA_v_wp, p, THETA_v_sat, THETA_v)
THETA_v_wp |
soil water content at wilting point (m3 m-3) |
p |
a coefficient. 0.5 for C3 and 0.3 for C4 plant |
THETA_v_sat |
soil saturation water content (m3 m-3) |
THETA_v |
the water amount of the day before in root layer(m3 m-3) |
A value for reduction factor for transpiration
The relative humidity (RH) expresses the degree of saturation of the air as a ratio of the actual (ea) to the saturation (eo(T)) vapour pressure at the same temperature (T).
cal_relativeHumidity(ea, e0)
cal_relativeHumidity(ea, e0)
ea |
actual saturation vapour pressure. From cal_ActualVapourPressure_for_* |
e0 |
saturation vapour pressure. From cal_saturationVapourPressure() |
Relative humidity is the ratio between the amount of water the ambient air actually holds and the amount it could hold at the same temperature. It is dimensionless and is commonly given as a percentage. Although the actual vapour pressure might be relatively constant throughout the day, the relative humidity fluctuates between a maximum near sunrise and a minimum around early afternoon (Figure 12). The variation of the relative humidity is the result of the fact that the saturation vapour pressure is determined by the air temperature. As the temperature changes during the day, the relative humidity also changes substantially.
A vector for relative humidity %
Allen, R. G., Pereira, L. S., Raes, D., & Smith, M. FAO Irrigation and drainage paper No. 56. Rome: Food and Agriculture Organization of the United Nations, 1998.
Calculating Solar radiation from actual duration of sunshine
cal_Rs_from_Na(as = 0.25, bs = 0.5, Na, Latitude, J)
cal_Rs_from_Na(as = 0.25, bs = 0.5, Na, Latitude, J)
as |
regression constant, expressing the fraction of extraterrestrial radiation reaching the earth on overcast days (n = 0).Default is 0.25. |
bs |
as+bs is fraction of extraterrestrial radiation reaching the earth on clear days (n = N). Default is 0.50. |
Na |
actual duration of sunshine [hour]. |
Latitude |
latitude (angert). |
J |
is the number of the day in the year between 1 (1 January) and 365 or 366 (31 December). |
A vector for solar radiation(MJ m-2 d-1)
Allen, R. G., Pereira, L. S., Raes, D., & Smith, M. FAO Irrigation and drainage paper No. 56. Rome: Food and Agriculture Organization of the United Nations, 1998.
saturation vapour pressure at the air temperature T.
cal_saturationVapourPressure(Tem)
cal_saturationVapourPressure(Tem)
Tem |
air temperature (degrees Celsius). |
A vector for saturation vapour pressure at the air temperature T (kPa).
Allen, R. G., Pereira, L. S., Raes, D., & Smith, M. FAO Irrigation and drainage paper No. 56. Rome: Food and Agriculture Organization of the United Nations, 1998.
Calculating sensible heat fluxes for crop
cal_sensibleHeatFluxesForCrop(gamma, Ac, r_c_s, r_c_a, rho_cp, D0, DELTA)
cal_sensibleHeatFluxesForCrop(gamma, Ac, r_c_s, r_c_a, rho_cp, D0, DELTA)
gamma |
is the psychometric constant (0.658 mbar K-1) |
Ac |
energy available to the crop (W m-2 ground) |
r_c_s |
the canopy resistance (s m-1) |
r_c_a |
is the bulk boundary layer resistance (s m-1) |
rho_cp |
the volumetric heat capacity for air (1221.09 J m-3 K-1) |
D0 |
the vapor pressure deficit at the mean canopy flow |
DELTA |
the slope of the saturated vapor pressure curve (mbar K-1) |
A vector for sensible heat fluxes for crop
Calaulating sensible heat fluxes for soil
cal_sensibleHeatFluxesForSoil( gamma = 0.659, As, r_s_s, r_s_a, rho_cp, D0, DELTA )
cal_sensibleHeatFluxesForSoil( gamma = 0.659, As, r_s_s, r_s_a, rho_cp, D0, DELTA )
gamma |
is the psychometric constant (0.658 mbar K-1) |
As |
energy available to the soil (W m-2 ground) |
r_s_s |
soil surface resistance, (s m-1) |
r_s_a |
is the aerodynamic resistance between the soil and mean anopy flow (s m-1); |
rho_cp |
the volumetric heat capacity for air (1221.09 J m-3 K-1) |
D0 |
the vapor pressure deficit at the mean canopy flow |
DELTA |
the slope of the saturated vapor pressure curve (mbar K-1) |
A vector for soil sensible heat fluxes(W m-2 ground)
The calculation of the clear-sky radiation, Rso, when n = N, is required for computing net longwave radiation.
cal_skySolarRadiation_withas_bs(as, bs, Ra)
cal_skySolarRadiation_withas_bs(as, bs, Ra)
as , bs
|
as+bs fraction of extraterrestrial radiation reaching the earth on clear-sky days (n = N). |
Ra |
extraterrestrial radiation [MJ m-2 day-1]. From cal_extraterrestrialRadiation_for_daily() |
A vector for clear-sky solar radiation [MJ m-2 day-1].
Allen, R. G., Pereira, L. S., Raes, D., & Smith, M. FAO Irrigation and drainage paper No. 56. Rome: Food and Agriculture Organization of the United Nations, 1998.
The calculation of the clear-sky radiation, Rso, when n = N, is required for computing net longwave radiation.
cal_skySolarRadiation_withas_elevation(z, Ra)
cal_skySolarRadiation_withas_elevation(z, Ra)
z |
station elevation above sea level [m]. |
Ra |
extraterrestrial radiation [MJ m-2 day-1]. From cal_extraterrestrialRadiation_for_daily() |
A vector for clear-sky solar radiation [MJ m-2 day-1].
Allen, R. G., Pereira, L. S., Raes, D., & Smith, M. FAO Irrigation and drainage paper No. 56. Rome: Food and Agriculture Organization of the United Nations, 1998.
Calculating slope of saturation vapour pressure curve
cal_slopeOfSaturationVapourPressureCurve(Tem)
cal_slopeOfSaturationVapourPressureCurve(Tem)
Tem |
is air temperature (degrees Celsius). |
In the FAO Penman-Monteith equation, where it occurs in the numerator and denominator, the slope of the vapour pressure curve is calculated using mean air temperature.
A vector for slope of saturation vapour pressure curve at air temperature T
Allen, R. G., Pereira, L. S., Raes, D., & Smith, M. FAO Irrigation and drainage paper No. 56. Rome: Food and Agriculture Organization of the United Nations, 1998.
Calculating Soil/ground heat flux
cal_soilHeatFlux(pRn, Rn)
cal_soilHeatFlux(pRn, Rn)
pRn |
the canopy penetration probility for net radiation |
Rn |
the net radiation (W/m2 ground) |
A vector for the soil heat flux (W/m2 ground)
As the magnitude of the day or ten-day soil heat flux beneath the grass reference surface is relatively small, it may be ignored .
cal_soilHeatFlux_day()
cal_soilHeatFlux_day()
A value for 0
FAO Irrigation and drainage paper 56 (P54)
Complex models are available to describe soil heat flux. Because soil heat flux is small compared to Rn, particularly when the surface is covered by vegetation and calculation time steps are 24 hours or longer, a simple calculation procedure is presented here for long time steps, based on the idea that the soil temperature follows air temperature.
cal_soilHeatFlux_general(cs, T1, T0, delta_t, delta_z)
cal_soilHeatFlux_general(cs, T1, T0, delta_t, delta_z)
cs |
soil heat capacity [MJ m-3 degrees Celsius-1]. |
T1 |
air temperature at time i [degrees Celsius]. |
T0 |
air temperature at time i-1 [degrees Celsius]. |
delta_t |
length of time interval [day]. |
delta_z |
effective soil depth [m]. |
A vector for soil heat flux [MJ m-2 day-1]
Complex models are available to describe soil heat flux. Because soil heat flux is small compared to Rn, particularly when the surface is covered by vegetation and calculation time steps are 24 hours or longer, a simple calculation procedure is presented here for long time steps, based on the idea that the soil temperature follows air temperature.
Allen, R. G., Pereira, L. S., Raes, D., & Smith, M. FAO Irrigation and drainage paper No. 56. Rome: Food and Agriculture Organization of the United Nations, 1998.
For hourly (or shorter) calculations, G beneath a dense cover of grass does not correlate well with air temperature.
cal_soilHeatFlux_hourly(Rn, periods)
cal_soilHeatFlux_hourly(Rn, periods)
Rn |
net radiation.From cal_netRadiation(). |
periods |
"daylight" or "nighttime". |
A vector for soil heat flux [MJ m-2 day-1]
Where the soil is warming, the soil heat flux G is positive. The amount of energy required for this process is subtracted from Rn when estimating evapotranspiration.
Allen, R. G., Pereira, L. S., Raes, D., & Smith, M. FAO Irrigation and drainage paper No. 56. Rome: Food and Agriculture Organization of the United Nations, 1998.
When assuming a constant soil heat capacity of 2.1 MJ m-3 °C-1 and an appropriate soil depth, cal_soilHeatFlux_general can be used to derive G for monthly periods.
cal_soilHeatFlux_monthly(T1, T0, Tmonth2 = TRUE)
cal_soilHeatFlux_monthly(T1, T0, Tmonth2 = TRUE)
T1 |
air temperature at time i [degrees Celsius]. |
T0 |
air temperature at time i-1 [degrees Celsius]. |
Tmonth2 |
Is the mean air temperature of next month know? |
A vector for soil heat flux [MJ m-2 day-1]
Allen, R. G., Pereira, L. S., Raes, D., & Smith, M. FAO Irrigation and drainage paper No. 56. Rome: Food and Agriculture Organization of the United Nations, 1998.
Calculating soil surface resistance
cal_soilSurfaceResistance( tau, l, PHI_p, Dm_v, lambda_p, THETA_v_l, THETA_v_sat_l )
cal_soilSurfaceResistance( tau, l, PHI_p, Dm_v, lambda_p, THETA_v_l, THETA_v_sat_l )
tau |
soil tortuosity (taken as 2) |
l |
is the dry soil layer thickness (taken as the first soil layer thickness) (m) |
PHI_p |
is soil porosity |
Dm_v |
the vapor diffusion coefficient in air (24.7 10-6 m2 s-1) |
lambda_p |
the soil pore-size distribution index from the Brooks-Corey equation. |
THETA_v_l |
volumetric soil water content (m-3 m-3) of the first soil layer |
THETA_v_sat_l |
saturated soil water content (m3 m-3) of the first soil layer |
A vector for the soil surface resistance (s m-1)
the resistance between the soil surface and the mean canopy flow (s m-1)
cal_soilSurfaceToMeanCanopyFlow(h, nK, Kh, zs0, z0, d)
cal_soilSurfaceToMeanCanopyFlow(h, nK, Kh, zs0, z0, d)
h |
the plant height(m) |
nK |
the eddy diffusivity extinction coefficient (taken as 2) |
Kh |
eddy diffusivity at the canopy top(m2/s) |
zs0 |
is the soil surface roughnesslength (m). Note: for flat, tilled land, zs0 can be taken as 0.004 m. |
z0 |
the crop roughness length (m) |
d |
zero plane displacement height (m) |
A vector for aerodynamic resistancessoil surface to mean canopy flow (s m-1)
Calculating solar declination
cal_solarDeclination(td)
cal_solarDeclination(td)
td |
is the day of year. |
A vector for solar declination (Radian)
The solar declination actually varies throughout the day too but its variation is very small; thus, it is often ignored. Negative angles occur when the angle is below the equator plane, positive for above the equator.
Teh CBS.Introduction to mathematical modeling of crop growth: How the equations are derived and assembled into a computer model. Brown Walker Press, 2006.
cal_solarDeclination(34)
cal_solarDeclination(34)
Calculating solar declination with FAO56 method
cal_solarDeclination_in_FAO(J)
cal_solarDeclination_in_FAO(J)
J |
is the number of the day in the year between 1 (1 January) and 365 or 366 (31 December) |
A vector for solar declination(Radian)
Allen, R. G., Pereira, L. S., Raes, D., & Smith, M. FAO Irrigation and drainage paper No. 56. Rome: Food and Agriculture Organization of the United Nations, 1998.
A parameter used to determine the position of the sun relative to the observer (the other one is the angle from south).Conversion relationship with solar altitude angle: solar inclination=pi/2-solar altitude.
cal_solarInclination(solar_declination, latitude, hour_anger)
cal_solarInclination(solar_declination, latitude, hour_anger)
solar_declination |
is solar declination anger. It can be calculated from cal_solardeclination(). |
latitude |
is the latitude data (Radian). |
hour_anger |
is hour anger. It can be calculated from cal_hourangle(). |
A vector for solar inclination (Radian)
Teh CBS.Introduction to mathematical modeling of crop growth: How the equations are derived and assembled into a computer model. Brown Walker Press, 2006.
cal_solarInclination(solar_declination=-0.297,latitude=30,hour_anger=0)
cal_solarInclination(solar_declination=-0.297,latitude=30,hour_anger=0)
If the solar radiation, Rs, is not measured, it can be calculated with the Angstrom formula, which relates solar radiation to extraterrestrial radiation and relative sunshine duration. This is a shortwave radiation.
cal_solarRadiation(as = 0.25, bs = 0.5, n, N, Ra)
cal_solarRadiation(as = 0.25, bs = 0.5, n, N, Ra)
as |
regression constant, expressing the fraction of extraterrestrial radiation reaching the earth on overcast days (n = 0).Default is 0.25. |
bs |
as+bs is fraction of extraterrestrial radiation reaching the earth on clear days (n = N). Default is 0.50. |
n |
actual duration of sunshine [hour]. |
N |
maximum possible duration of sunshine or daylight hours [hour].from cal_daylightHours() |
Ra |
extraterrestrial radiation [MJ m-2 day-1]. From cal_extraterrestrialRadiation_for_daily() |
A vector for solar or shortwave radiation [MJ m-2 day-1]
Rs is expressed in the above equation in MJ m-2 day-1. The corresponding equivalent evaporation in mm day-1 is obtained by multiplying Rs by 0.408 (Equation 20). Depending on atmospheric conditions (humidity, dust) and solar declination (latitude and month), the Angstrom values as and bs will vary. Where no actual solar radiation data are available and no calibration has been carried out for improved as and bs parameters, the values as = 0.25 and bs = 0.50 are recommended.
Allen, R. G., Pereira, L. S., Raes, D., & Smith, M. FAO Irrigation and drainage paper No. 56. Rome: Food and Agriculture Organization of the United Nations, 1998.
Calculating sunset hour angle
cal_sunsetHourAngle(lat, solar_declination)
cal_sunsetHourAngle(lat, solar_declination)
lat |
latitude (Radian), positive for the northern hemisphere and negative for the southern hemisphere. |
solar_declination |
solar declination(Radina). |
A vector for sunset Hour Angle(Radian)
Allen, R. G., Pereira, L. S., Raes, D., & Smith, M. FAO Irrigation and drainage paper No. 56. Rome: Food and Agriculture Organization of the United Nations, 1998.
Calculating the local solar time for sunset/sunrise.
cal_sunsetTime(solar_declination, latitude)
cal_sunsetTime(solar_declination, latitude)
solar_declination |
can be calculated by cal_solardeclination(). |
latitude |
is latitude data(Radian). |
Knowing the time of sunrise can calculate the time of sunset. sunrise_time=24-sunset_time. Day_length=2*(sunset_time-12).
A vector for the local solar time for sunset/sunrise
Teh CBS.Introduction to mathematical modeling of crop growth: How the equations are derived and assembled into a computer model. Brown Walker Press, 2006.
calculating the mean daily air temperature
cal_TemMean(Tmax, Tmin)
cal_TemMean(Tmax, Tmin)
Tmax |
the daily maximum.The temperature is given in degree Celsius or Fahrenhei. |
Tmin |
the daily minimum.The temperature is given in degree Celsius,or Fahrenhei. |
It is only employed in the FAO Penman-Monteith equation to calculate the slope of the saturation vapor pressure curves and the impact of mean air density as the effect of temperature variations on the value of the climatic parameter is small in these cases. For standardization, Tmean for 24-hour periods is defined as the mean of mean of the daily maximum and minimum temperatures rather than as the average of hourly temperature measurements.
A vector for the mean daily air temperature
Allen, R. G., Pereira, L. S., Raes, D., & Smith, M. FAO Irrigation and drainage paper No. 56. Rome: Food and Agriculture Organization of the United Nations, 1998.
maximum depth of water that can be evaporated from the soil when the topsoil has been initially completely wetted. Estimated TEW for Kr calculation
cal_TEW_for_DualKc(FC, WP, Ze)
cal_TEW_for_DualKc(FC, WP, Ze)
FC |
Soil water content at field capacity, m3 m-3 |
WP |
Soil water content at wilting point, m3 m-3 |
Ze |
Depth of the surface soil layer that is subject to drying by way of evaporation, 0.10-0.15 m. |
A value for total evaporable water
Allen, R. G., Pereira, L. S., Raes, D., & Smith, M. FAO Irrigation and drainage paper No. 56. Rome: Food and Agriculture Organization of the United Nations, 1998.
Calculating total latent heat flux
cal_totalLatentHeatFlux( DELTA, gamma, r_a_a, r_c_a, r_s_a, r_c_s, r_s_s, A, rho_cp = 1221.09, D, As, Ac )
cal_totalLatentHeatFlux( DELTA, gamma, r_a_a, r_c_a, r_s_a, r_c_s, r_s_s, A, rho_cp = 1221.09, D, As, Ac )
DELTA |
the slope of the saturated vapor pressure curve (mbar K-1) |
gamma |
is the psychometric constant (0.658 mbar K-1) |
r_a_a |
the aerodynamic resistance between the mean canopy flow and reference height (s m-1) |
r_c_a |
the bulk boundary layer resistance (s m-1) |
r_s_a |
is the aerodynamic resistance between the soil and mean canopy flow (s m-1) |
r_c_s |
the canopy resistance(s m-1) |
r_s_s |
soil surface resistance (s m-1) |
A |
energy available to the system (total)(W m-2 ground) |
rho_cp |
is the volumetric heat capacity for air (1221.09 J m-3 K-1) |
D |
the vapor pressure deficit (mbar) |
As |
energy available to soil (W m-2 ground) |
Ac |
energy available to crop (W m-2 ground) |
A vector for the total latent heat flux (W m-2 ground)
Calculating water stress coefficient
cal_WaterStressCoef(Dr, TAW, p)
cal_WaterStressCoef(Dr, TAW, p)
Dr |
root zone depletion(mm). |
TAW |
total available soil water in the root zone(mm). |
p |
fraction of TAW that a crop can extract from the root zone without suffering water stress. |
A value for water stress coefficient which is a dimensionless transpiration reduction factor dependent on available soil water
Calculating wind speed above and within the canopies.
cal_windSpeed_Canopy(z, h, u_, k = 0.4, d, z0, nu = 2)
cal_windSpeed_Canopy(z, h, u_, k = 0.4, d, z0, nu = 2)
z |
the height (m) |
h |
the plant height (m) |
u_ |
the friction velocity (m/s) |
k |
the von Karman constant (0.4) |
d |
zero plane displacement height (m) |
z0 |
the crop roughness length(m) |
nu |
the wind speed extinction coefficient (taken as 2) |
A vector for the wind speed (m/s) at height z(m)
Calculating zero plane displacement height
cal_zeroPlaneHeight(h)
cal_zeroPlaneHeight(h)
h |
the plant height (m) |
A vector for zero plane displacement height (m)
Show the results of different models
compare_model_plot(model_list, names)
compare_model_plot(model_list, names)
model_list |
List. Including output results of different models. |
names |
Vector. Name of models. |
A list for ggplot2 plot
Converting the unit of angle in longitude and latitude into the unit of radian.
convert_angert_to_radian(anger)
convert_angert_to_radian(anger)
anger |
Longitude or dimension in Angle. |
A vector for longitude or dimension in radian.
convert_angert_to_radian(98.8)
convert_angert_to_radian(98.8)
Convert date to day of year
convert_Date_to_dayofyear(Date)
convert_Date_to_dayofyear(Date)
Date |
is a date format data. |
A vector for the day of year.
Convert degrees Celsius to Fahrenheit
convert_degreesCelsius_to_Fahrenheit(degrees_Celsius)
convert_degreesCelsius_to_Fahrenheit(degrees_Celsius)
degrees_Celsius |
temperature in degrees Celsius(°C). |
A vector for atemperature in Fahrenheit(°F).
Allen, R. G., Pereira, L. S., Raes, D., & Smith, M. FAO Irrigation and drainage paper No. 56. Rome: Food and Agriculture Organization of the United Nations, 1998.
Convert Fahrenheit to degrees Celsius
convert_Fahrenheit_to_degreesCelsius(Fahrenheit)
convert_Fahrenheit_to_degreesCelsius(Fahrenheit)
Fahrenheit |
temperature in Fahrenheit(°F). |
A vector for temperature in degrees Celsius(°C)
Allen, R. G., Pereira, L. S., Raes, D., & Smith, M. FAO Irrigation and drainage paper No. 56. Rome: Food and Agriculture Organization of the United Nations, 1998.
Type has the following types: MJ_m2_day_to_J_cm2_day; MJ_m2_day_to_cal_cm2_day; MJ_m2_day_to_W_m2; cal_cm2_day_to_MJ_m2_day cal_cm2_day_to_J_cm2_day cal_cm2_day_to_W_m2 cal_cm2_day_to_mm_day W_m2_to_MJ_m2_day W_m2_to_J_cm2_day W_m2_to_cal_cm2_day W_m2_to_mm_day mm_day_to_MJ_m2_day mm_day_to_J_cm2_day mm_day_to_cal_cm2_day mm_day_to_W_m2
convert_Rad_unit(rad, type)
convert_Rad_unit(rad, type)
rad |
Radiation data need to be converted from one unit to another unit. |
type |
Used to specify how to convert. |
A vector for radiation converted unit
Allen, R. G., Pereira, L. S., Raes, D., & Smith, M. FAO Irrigation and drainage paper No. 56. Rome: Food and Agriculture Organization of the United Nations, 1998.
For the calculation of evapotranspiration, wind. Speed measured at 2 m above the surface is required. To adjust wind speed data obtained from instruments placed at elevations other than the standard height of 2 m, a logarithmic wind speed profile may be used for measurements above a short grassed surface.
convert_windSpeed_to_2m(uz, z)
convert_windSpeed_to_2m(uz, z)
uz |
measured wind speed at z m above ground surface [m s-1]. |
z |
height of measurement above ground surface [m]. |
A vector for wind speed at 2 m above ground surface [m s-1].
Allen, R. G., Pereira, L. S., Raes, D., & Smith, M. FAO Irrigation and drainage paper No. 56. Rome: Food and Agriculture Organization of the United Nations, 1998.
#'@title Converting the every sheets in XLSX file to csv files #'@param xlsx_file the xlsx file path #'@export #'@importFrom utils write.csv #'@return No return value
create_modelDF(TreNum = 1, rowNum = 1)
create_modelDF(TreNum = 1, rowNum = 1)
TreNum |
Number. Need to generate how many treatment columun |
rowNum |
Number. The number of row. |
convert_xlsx_to_csv<-function(xlsx_file) # library(readxl) # library(stringr) #sheetsname Sheetnames<-readxl::excel_sheets(xlsx_file)
#xlsx2csv
for (i in Sheetnames) data<-readxl::read_xlsx(xlsx_file,sheet=i) write.csv(data,file = stringr::str_c(i,".csv"),row.names = FALSE)
Latitude and Longitude use radians as units; Altitude use 'm' as units; Na use 'hour' as units;Tmax and Tmin use Celsius as units; Wind use m/s as units;RHmean and RHmin use percent sign as uits;Rs use MJ M-2 day-1 as units Height use cm as units;SoilWater and Irrigation use mm as units; GroundwaterDepth use cm as unit.
A dataframe and a csv file (if to_CSV_file==TRUE)
The column of soilwater refers to the measured soil water (mm) in the maximum root layer, which is used to compare the difference between the simulated value and the measured value, which is an optional variable. The columns of Stage includes four stages: Ini, Development, Mid, End, which are mainly determined by LAI and growth status and can refer to Allen et al., (1998).
Where humidity data are lacking or are of questionable quality, an estimate of actual vapour pressure, ea, can be obtained by assuming that dewpoint temperature (Tdew) is near the daily minimum temperature (Tmin). This statement implicitly assumes that at sunrise, when the air temperature is close to Tmin, that the air is nearly saturated with water vapour and the relative humidity is nearly 100 %.
estimate_ea(Tmin)
estimate_ea(Tmin)
Tmin |
the minimum tem daily. |
A vector for humidity
The relationship Tdew near Tmin holds for locations where the cover crop of the station is well watered. However, particularly for arid regions, the air might not be saturated when its temperature is at its minimum. Hence, Tmin might be greater than Tdew and a further calibration may be required to estimate dewpoint temperatures. In these situations, "Tmin" in the above equation may be better approximated by subtracting 2-3 degrees Celsius from Tmin. Appropriate correction procedures are given in Annex 6. In humid and subhumid climates, Tmin and Tdew measured in early morning may be less than Tdew measured during the daytime because of condensation of dew during the night. After sunrise, evaporation of the dew will once again humidify the air and will increase the value measured for Tdew during the daytime. This phenomenon is demonstrated in Figure 5.4 of Annex 5. However, it is standard practice in 24-hour calculations of ETo to use Tdew measured or calculated durin early morning. The estimate for ea from Tmin should be checked. When the prediction by Equation 48 is validated for a region, it can be used for daily estimates of ea.
Allen, R. G., Pereira, L. S., Raes, D., & Smith, M. FAO Irrigation and drainage paper No. 56. Rome: Food and Agriculture Organization of the United Nations, 1998.
When solar radiation data, relative humidity data and/or wind speed data are missing, they should be estimated using the procedures presented in this section. As an alternative, ETo can be estimated using the Hargreaves ETo equation.
estimate_ET0_with_TmaxAndTmin(Tmean, Tmax, Tmin, Ra)
estimate_ET0_with_TmaxAndTmin(Tmean, Tmax, Tmin, Ra)
Tmean |
mean temperature. |
Tmax |
max temperature. |
Tmin |
min temperature. |
Ra |
extraterrestrial radiation [mm day-1]. |
A vector for reference evapotranspiration (mm day-1).
Units for both ETo and Ra in Equation 52 are mm day-1. Equation 52 should be verified in each new region by comparing with estimates by the FAO Penman-Monteith equation (Equation 6) at weather stations where solar radiation, air temperature, humidity, and wind speed are measured. If necessary, Equation 52 can be calibrated on a monthly or annual basis by determining empirical coefficients where ETo = a + b ETo Eq.52, where the Eq. 52 subscript refers to ETo predicted using Equation 52. The coefficients a and b can be determined by regression analyses or by visual fitting. In general, estimating solar radiation, vapor pressure and wind speed as described in Equations 48 to 51 and Table 4 and then utilizing these estimates in Equation 6 (the FAO Penman-Monteith equation) will provide somewhat more accurate estimates as compared to estimating ETo directly using Equation 52. This is due to the ability of the estimation equations to incorporate general climatic characteristics such as high or low wind speed or high or low relative humidity into the ETo estimate made using Equation 6. Equation 52 has a tendency to underpredict under high wind conditions (u2 > 3 m/s) and to overpredict under conditions of high relative humidity.
Calculating the goodness-of-fit indicators between measured and simulated values
estimate_goodnessOfFit(Sim, Obs)
estimate_goodnessOfFit(Sim, Obs)
Sim |
The simualtion value of model. |
Obs |
The observed value. |
A vector for the goodness-of-fit indicators
Estimate LAI for alfalfa
estimate_LAI_for_alfalfa(hc)
estimate_LAI_for_alfalfa(hc)
hc |
is the vegetation height in meter. (in meter) |
A vector for leaf are index of alfalfa
Zhao C , Feng Z , Chen G . Soil water balance simulation of alfalfa (Medicago sativa L.) in the semiarid Chinese Loess Plateau[J]. Agricultural Water Management, 2004, 69(2):0-114.
For island locations, where the land mass has a width perpendicular to the coastline of 20 km or less, the air masses influencing the atmospheric conditions are dominated by the adjacent water body in all directions. The temperature method is not appropriate for this situation. Where radiation data from another location on the island are not available, a first estimate of the monthly solar average can be obtained from the empirical relation.
estimate_Rs_for_islandLocations(Ra, b = 4)
estimate_Rs_for_islandLocations(Ra, b = 4)
Ra |
extraterrestrial radiation [MJ m-2 day-1]. |
b |
empirical constant, equal to 4 MJ m-2 day-1. |
A vector for solar radiation
This relationship is only applicable for low altitudes (from 0 to 100 m). The empirical constant represents the fact that in island locations some clouds are usually present, thus making the mean solar radiation 4 MJ m-2 day-1 below the nearly clear sky envelope (0.7 Ra). Local adjustment of the empirical constant may improve the estimation. The method is only appropriate for monthly calculations. The constant relation between Rs and Ra does not yield accurate daily estimates.
Allen, R. G., Pereira, L. S., Raes, D., & Smith, M. FAO Irrigation and drainage paper No. 56. Rome: Food and Agriculture Organization of the United Nations, 1998.
The difference between the maximum and minimum air temperature is related to the degree of cloud cover in a location. Clear-sky conditions result in high temperatures during the day (Tmax) because the atmosphere is transparent to the incoming solar radiation and in low temperatures during the night (Tmin) because less outgoing longwave radiation is absorbed by the atmosphere. On the other hand, in overcast conditions, Tmax is relatively smaller because a significant part of the incoming solar radiation never reaches the earth's surface and is absorbed and reflected by the clouds. Similarly, Tmin will be relatively higher as the cloud cover acts as a blanket and decreases the net outgoing longwave radiation. Therefore, the difference between the maximum and minimum air temperature (Tmax - Tmin) can be used as an indicator of the fraction of extraterrestrial radiation that reaches the earth's surface. This principle has been utilized by Hargreaves and Samani to develop estimates of ETo using only air temperature data.
estimate_Rs_from_airTemDiff(Ra, Tmax, Tmin, locations)
estimate_Rs_from_airTemDiff(Ra, Tmax, Tmin, locations)
Ra |
extraterrestrial radiation [MJ m-2 d-1]. |
Tmax |
maximum air temperature. |
Tmin |
minimum air temperature. |
locations |
The adjustment coefficient kRs is empirical and differs for interior' or 'coastal' regions. |
A vector for solar radiation
The temperature difference method is recommended for locations where it is not appropriate to import radiation data from a regional station, either because homogeneous climate conditions do not occur, or because data for the region are lacking. For island conditions, the methodology of Equation 50 is not appropriate due to moderating effects of the surrounding water body. Caution is required when daily computations of ETo are needed. The advice given for Equation 49 fully applies. It is recommended that daily estimates of ETo that are based on estimated Rs be summed or averaged over a several-day period, such as a week, decade or month to reduce prediction error.
Allen, R. G., Pereira, L. S., Raes, D., & Smith, M. FAO Irrigation and drainage paper No. 56. Rome: Food and Agriculture Organization of the United Nations, 1998.
A example dataset of alfalfa under flood irrigation
FIalfalfa
FIalfalfa
A data frame with 161 rows and 22 variables
Adjust the recommended Kc values at the middle and late stages
Kcb_adj_for_DualKc(Kcb_table, u2, RHmin, h)
Kcb_adj_for_DualKc(Kcb_table, u2, RHmin, h)
Kcb_table |
Recommended value of KC in FAO 56 at the middle and late stages |
u2 |
wind speed at 2 m |
RHmin |
Minimum relative humidity |
h |
Plant height |
A value for adjust Kc at middle and late stages
Allen, R. G., Pereira, L. S., Raes, D., & Smith, M. FAO Irrigation and drainage paper No. 56. Rome: Food and Agriculture Organization of the United Nations, 1998.
Linear interpolation is performed by using the values on both sides of the missing values.
linear_interpolation(DataVector)
linear_interpolation(DataVector)
DataVector |
data vector.Note that the starting value of vector needs to be no missing value. |
A interpolated vector
Simulation of evapotranspiration using dual crop coefficient method
Model_DualKc(data, param)
Model_DualKc(data, param)
data |
A data box. Contains the daily data required by the model. You can refer to the function create_modelData() |
param |
A list. Contains additional parameters. list(Kini,Kmid,Kend,fw,rootDepth,Dei_start,Dri_start,FCe,WPe,Ze,REW,TAW,p,FCr,CR_param) |
A list for the model result including a data frame of daily model result ,a list of plots, A data frame of summary data
The stages of data should include all four stages. If a crop has multiple growth cycles, each cycle should include all four stages.
library(simET) data("FIalfalfa") names(FIalfalfa) #--Model parameter Dparam_FI<-list(Kini=0.3,#Kcb for initial stage Kmid=1.15,#Kcb for mid-season stage Kend=1.1,#Kcb for late season stage DI=FALSE,#Is it drip irrigation? fw=1,# The fraction of the surface wetted rootDepth=1.2,#Maximum root depth Dei_start=0,#Initial depletion of evaporation layer Dri_start=35,#Initial depletion of root layer FCe=0.22,#Field capacity of evaporation layer WPe=0.15,#Wilting point of evaporation layer Ze=0.15,#Depth of the surface soil layer REW=6,#Readily evaporable water TAW=297,#Total available soil water of the root zone p=0.55,#Evapotranspiration depletion factor FCrmm=430,#Field capacity of root layer CR_param=c(430,-0.32,310,-0.16,-1.4,6.8,1.11,-0.98) #Capillary rise model parameters ) #--Run model Model_re_FI<-Model_DualKc(data = FIalfalfa,param = Dparam_FI) #--The Result data Model_re_FI$Result Model_re_FI$Plot #--The goodness Of Fit estimate_goodnessOfFit(Sim = Model_re_FI$Result$Sim_SoilWater, Obs = Model_re_FI$Result$SoilWater)
library(simET) data("FIalfalfa") names(FIalfalfa) #--Model parameter Dparam_FI<-list(Kini=0.3,#Kcb for initial stage Kmid=1.15,#Kcb for mid-season stage Kend=1.1,#Kcb for late season stage DI=FALSE,#Is it drip irrigation? fw=1,# The fraction of the surface wetted rootDepth=1.2,#Maximum root depth Dei_start=0,#Initial depletion of evaporation layer Dri_start=35,#Initial depletion of root layer FCe=0.22,#Field capacity of evaporation layer WPe=0.15,#Wilting point of evaporation layer Ze=0.15,#Depth of the surface soil layer REW=6,#Readily evaporable water TAW=297,#Total available soil water of the root zone p=0.55,#Evapotranspiration depletion factor FCrmm=430,#Field capacity of root layer CR_param=c(430,-0.32,310,-0.16,-1.4,6.8,1.11,-0.98) #Capillary rise model parameters ) #--Run model Model_re_FI<-Model_DualKc(data = FIalfalfa,param = Dparam_FI) #--The Result data Model_re_FI$Result Model_re_FI$Plot #--The goodness Of Fit estimate_goodnessOfFit(Sim = Model_re_FI$Result$Sim_SoilWater, Obs = Model_re_FI$Result$SoilWater)
Simulation for evapotranspiration using single crop coefficient method
Model_single_Kc(data, param)
Model_single_Kc(data, param)
data |
A data box. Contains the daily data required by the model. You can refer to the function create_modelData() |
param |
A list. Contains additional parameters. |
A list for the model result including a data frame of daily model result ,a list of plots, A data frame of summary data
The stages of data should include all four stages. If a crop has multiple growth cycles, each cycle should include all four stages.
library(simET) #--Data preparation data("FIalfalfa") #--Parameter preparation param_SingleKc<-list(Kc_mid=1.2,#Kcb for mid-season stage Kc_end=1.15,#Kcb for late season stage rootDepth=1.2,#Maximum root depth #The soil type used for calculating #Kc for initial stage soil_type="coarse soil textures", Dr_start=40,#Initial depletion of root layer TAW=290,#Total available soil water of the root zone p=0.55,#Evapotranspiration depletion factor Field_capacity=420,#Field capacity of root layer fw=1,#The fraction of the surface wetted #Capillary rise model parameters CR_param=c(420,-0.32,303,-0.16,-1.4,6.8,1.11,-0.98) ) #--Run model Re_SingleKc<- Model_single_Kc(data = FIalfalfa, param = param_SingleKc) #--The Result data Re_SingleKc$Result Re_SingleKc$Plot #--The goodness Of Fit estimate_goodnessOfFit(Sim = Re_SingleKc$Result$Sim_SoilWater, Obs = Re_SingleKc$Result$SoilWater)
library(simET) #--Data preparation data("FIalfalfa") #--Parameter preparation param_SingleKc<-list(Kc_mid=1.2,#Kcb for mid-season stage Kc_end=1.15,#Kcb for late season stage rootDepth=1.2,#Maximum root depth #The soil type used for calculating #Kc for initial stage soil_type="coarse soil textures", Dr_start=40,#Initial depletion of root layer TAW=290,#Total available soil water of the root zone p=0.55,#Evapotranspiration depletion factor Field_capacity=420,#Field capacity of root layer fw=1,#The fraction of the surface wetted #Capillary rise model parameters CR_param=c(420,-0.32,303,-0.16,-1.4,6.8,1.11,-0.98) ) #--Run model Re_SingleKc<- Model_single_Kc(data = FIalfalfa, param = param_SingleKc) #--The Result data Re_SingleKc$Result Re_SingleKc$Plot #--The goodness Of Fit estimate_goodnessOfFit(Sim = Re_SingleKc$Result$Sim_SoilWater, Obs = Re_SingleKc$Result$SoilWater)
Simulation of evapotranspiration using Shuttleworth-Wallace model
Model_SW(data, param)
Model_SW(data, param)
data |
A data box. Contains the daily data required by the model. You can refer to the function create_modelData() |
param |
A list. Contains additional parameters. |
A list for the model result including a data frame of daily model result ,a list of plots, A data frame of summary data
The stages of data should include all four stages. If a crop has multiple growth cycles, each cycle should include all four stages.
library(simET) #--Data preparation data("FIalfalfa") #--Parameter preparation param_SW<-list( plant=list( #the canopy extinction coefficient for net radiation kRn=0.3, alpha_plant=0.3,#Canopy reflectance w=0.01,#Leaf width Lmax=10,#Maximum leaf area index a1=10,# Leaf stomatal resistance coefficients a2=0.005,# Leaf stomatal resistance coefficients p=0.5,#the param of reduction factor for T rootDepth=1.2 #Maximum root depth ), Soil=list( zs0=0.04,#The soil surface roughnesslength (m) tau2=2,#Soil tortuosity PHI_p=2, #Soil porosity #The soil pore-size distribution index #from the Brooks-Corey equation. lambda_p=0.18, l1=0.02,#Depth of the surface soil layer (m) l2=1.2,#Depth of the root layer (m) #Saturation water content of evaporation layer THETA_v_sat_1=0.36, THETA_v_sat_2=0.40, #Saturation water content of root layer THETA_start_1=0.2,#Initial water content of evaporation layer THETA_start_2=0.36,#Initial water content of root layer THETA_wp1=0.15,#Wilting point of evaporation layer THETA_wp2=0.15,#Wilting point of root layer #Empirical coefficient of evaporation layer. #13 for homogenous soil alpha1=14, alpha2=14,#Empirical coefficient of root layer. #Saturated hydraulic conductitity of evaporation layer Ksat_1=13.52, Ksat_2=0.02,#Saturated hydraulic conductitity of root layer #Capillary rise model parameters CR_param=c(430,-0.32,313,-0.16,-1.4,6.8,0.5,-0.98) ), Mete=list( nu=2,#The wind speed extinction coefficient nK=2, #The eddy diffusivity extinction coefficient(taken as 2) zr=2, #The reference height (m) ##The vapor diffusion coefficient in air (24.7 10-6 m2 s-1) Dm_v=24.7*10^(-6), deltaT=1 #Time step difference (day) ) ) #--Run model Re_SW<-Model_SW(data = FIalfalfa, param = param_SW) #--The Result data Re_SW$Result Re_SW$Plot #--The goodness Of Fit estimate_goodnessOfFit(Sim = Re_SW$Result$Sim_SoilWater, Obs = Re_SW$Result$SoilWater)
library(simET) #--Data preparation data("FIalfalfa") #--Parameter preparation param_SW<-list( plant=list( #the canopy extinction coefficient for net radiation kRn=0.3, alpha_plant=0.3,#Canopy reflectance w=0.01,#Leaf width Lmax=10,#Maximum leaf area index a1=10,# Leaf stomatal resistance coefficients a2=0.005,# Leaf stomatal resistance coefficients p=0.5,#the param of reduction factor for T rootDepth=1.2 #Maximum root depth ), Soil=list( zs0=0.04,#The soil surface roughnesslength (m) tau2=2,#Soil tortuosity PHI_p=2, #Soil porosity #The soil pore-size distribution index #from the Brooks-Corey equation. lambda_p=0.18, l1=0.02,#Depth of the surface soil layer (m) l2=1.2,#Depth of the root layer (m) #Saturation water content of evaporation layer THETA_v_sat_1=0.36, THETA_v_sat_2=0.40, #Saturation water content of root layer THETA_start_1=0.2,#Initial water content of evaporation layer THETA_start_2=0.36,#Initial water content of root layer THETA_wp1=0.15,#Wilting point of evaporation layer THETA_wp2=0.15,#Wilting point of root layer #Empirical coefficient of evaporation layer. #13 for homogenous soil alpha1=14, alpha2=14,#Empirical coefficient of root layer. #Saturated hydraulic conductitity of evaporation layer Ksat_1=13.52, Ksat_2=0.02,#Saturated hydraulic conductitity of root layer #Capillary rise model parameters CR_param=c(430,-0.32,313,-0.16,-1.4,6.8,0.5,-0.98) ), Mete=list( nu=2,#The wind speed extinction coefficient nK=2, #The eddy diffusivity extinction coefficient(taken as 2) zr=2, #The reference height (m) ##The vapor diffusion coefficient in air (24.7 10-6 m2 s-1) Dm_v=24.7*10^(-6), deltaT=1 #Time step difference (day) ) ) #--Run model Re_SW<-Model_SW(data = FIalfalfa, param = param_SW) #--The Result data Re_SW$Result Re_SW$Plot #--The goodness Of Fit estimate_goodnessOfFit(Sim = Re_SW$Result$Sim_SoilWater, Obs = Re_SW$Result$SoilWater)
A example dataset of alfalfa under subsurface drip irrigation
SDIalfalfa
SDIalfalfa
A data frame with 161 rows and 22 variables