The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.

Package {ET0TempModels}


Type: Package
Title: Evapotranspiration Estimation Using Temperature-Based Models
Version: 1.0.0
Description: Provides functions to estimate daily reference evapotranspiration (ET0) using 10 temperature-based empirical models, with the Food and Agriculture Organization (FAO) Penman-Monteith method included as the standard reference for model comparison. Includes statistical evaluation metrics, such as Nash-Sutcliffe efficiency (NSE), root mean square error (RMSE), mean absolute error (MAE), and mean bias error (MBE), and visualization tools (scatter plots and Taylor diagrams). Based on Singh et al. (2026) <doi:10.1016/j.ejrh.2026.103925>.
License: GPL (≥ 3)
URL: https://github.com/samirigfri/ET0TempModels
BugReports: https://github.com/samirigfri/ET0TempModels/issues
Encoding: UTF-8
LazyData: true
RoxygenNote: 7.3.3
Depends: R (≥ 3.5.0)
Imports: graphics, grDevices, stats
Suggests: testthat (≥ 3.0.0), knitr, rmarkdown
Config/testthat/edition: 3
VignetteBuilder: knitr
NeedsCompilation: no
Packaged: 2026-09-28 11:03:32 UTC; usr
Author: Ajay N. Satpute [aut], Samir Barman ORCID iD [aut, cre], Amit Kumar Singh [aut], Avijit Ghosh [aut], Gaurendra Gupta [aut]
Maintainer: Samir Barman <samir.igfri@gmail.com>
Repository: CRAN
Date/Publication: 2026-10-08 10:20:19 UTC

ET0TempModels: Evapotranspiration Estimation Using Temperature-Based Models

Description

The ET0TempModels package provides functions for estimating daily reference evapotranspiration (ET0) using 10 temperature-based empirical models, with the FAO Penman-Monteith method included as the standard reference for model comparison. The package also includes statistical evaluation metrics and visualization tools.

Temperature-Based Models (10)

Blaney-Criddle (1950)

Requires only mean temperature.

Schendel (Bormann, 2011)

Requires mean temperature and relative humidity.

Hargreaves-Samani (1985)

Requires Tmin, Tmax, day of year, and latitude.

Linacre (1977)

Requires temperature, humidity, elevation, and latitude.

Tabari-Talaee 1 (2011)

Modified Hargreaves (coefficient 0.031).

Tabari-Talaee 2 (2011)

Modified Hargreaves (coefficient 0.0028).

Droogers-Allen (2002)

Modified Hargreaves with temperature range^0.4.

Berti et al. (2014)

Modified Hargreaves with temperature range^0.517.

Dorji et al. (2016)

Modified Hargreaves with temperature range^0.296.

Baier-Robertson (1965)

Regression-based using Ra, Tmax, and temperature range.

Key Functions

et0_temp_all

Compute ET0 using all 10 temperature-based models + FAO PM.

et0_fao_pm

FAO Penman-Monteith reference method.

evaluate_models

Compute all 9 statistical metrics.

plot_taylor

Generate Taylor diagrams.

plot_scatter

Generate scatter plots.

Data

The package includes a sample meteorological dataset (jhansi_weather) from a semi-arid region in central India for demonstrating package functionality.

Author(s)

Maintainer: Samir Barman samir.igfri@gmail.com (ORCID)

Authors:

References

Satpute, A.N., Barman, S., Singh, A.K., Ghosh, A., & Gupta, G. (2026). A multi-scale evaluation of 30 empirical models for reference evapotranspiration estimation in a data-scarce semi-arid region: A case study of Jhansi, India. Journal of Hydrology: Regional Studies. doi:10.1016/j.ejrh.2026.103925

Allen, R.G., Pereira, L.S., Raes, D., & Smith, M. (1998). Crop evapotranspiration: Guidelines for computing crop water requirements. FAO Irrigation and Drainage Paper No. 56.

See Also

Useful links:


Actual Vapor Pressure

Description

Computes actual vapor pressure from relative humidity and temperature.

Usage

actual_vapor_pressure(Tmin, Tmax, RH_morning, RH_evening)

Arguments

Tmin

Minimum air temperature (degrees Celsius).

Tmax

Maximum air temperature (degrees Celsius).

RH_morning

Morning relative humidity (percent).

RH_evening

Evening relative humidity (percent).

Value

Actual vapor pressure (kPa).

References

Allen et al. (1998), FAO-56, Eq. 17.

Examples

actual_vapor_pressure(15, 30, 90, 40)

Willmott's Index of Agreement (d)

Description

Computes Willmott's index of agreement. Values range from 0 to 1, with 1 indicating perfect agreement.

Usage

calc_d(observed, predicted)

Arguments

observed

Numeric vector of observed (reference) values.

predicted

Numeric vector of predicted (model) values.

Value

Index of agreement (numeric scalar between 0 and 1).

References

Willmott, C.J. (1981). On the validation of models. Physical Geography, 2(2), 184-194.

Examples

obs <- c(3.5, 4.2, 5.1, 2.8, 6.0)
pred <- c(3.3, 4.5, 4.9, 3.0, 5.8)
calc_d(obs, pred)

Mean Absolute Error (MAE)

Description

Mean Absolute Error (MAE)

Usage

calc_mae(observed, predicted)

Arguments

observed

Numeric vector of observed (reference) values.

predicted

Numeric vector of predicted (model) values.

Value

MAE value (numeric scalar).

Examples

calc_mae(c(3.5, 4.2, 5.1), c(3.3, 4.5, 4.9))

Mean Bias Error (MBE)

Description

Computes the mean bias error as mean percentage absolute error. Positive values indicate overall overestimation by the model.

Usage

calc_mbe(observed, predicted)

Arguments

observed

Numeric vector of observed (reference) values.

predicted

Numeric vector of predicted (model) values.

Value

MBE value (numeric scalar, as percentage).

Examples

calc_mbe(c(3.5, 4.2, 5.1), c(3.3, 4.5, 4.9))

Mean Squared Error (MSE)

Description

Mean Squared Error (MSE)

Usage

calc_mse(observed, predicted)

Arguments

observed

Numeric vector of observed (reference) values.

predicted

Numeric vector of predicted (model) values.

Value

MSE value (numeric scalar).

Examples

calc_mse(c(3.5, 4.2, 5.1), c(3.3, 4.5, 4.9))

Normalized Root Mean Squared Error (NRMSE)

Description

RMSE normalized by the mean of observed values.

Usage

calc_nrmse(observed, predicted)

Arguments

observed

Numeric vector of observed (reference) values.

predicted

Numeric vector of predicted (model) values.

Value

NRMSE value (numeric scalar).

Examples

calc_nrmse(c(3.5, 4.2, 5.1), c(3.3, 4.5, 4.9))

Nash-Sutcliffe Efficiency (NSE)

Description

Computes the Nash-Sutcliffe efficiency coefficient. A value of 1 indicates perfect agreement; values below 0 indicate the model is worse than the mean.

Usage

calc_nse(observed, predicted)

Arguments

observed

Numeric vector of observed (reference) values.

predicted

Numeric vector of predicted (model) values.

Value

NSE value (numeric scalar).

References

Nash, J.E. & Sutcliffe, J.V. (1970). River flow forecasting through conceptual models. Journal of Hydrology, 10(3), 282-290.

Examples

obs <- c(3.5, 4.2, 5.1, 2.8, 6.0)
pred <- c(3.3, 4.5, 4.9, 3.0, 5.8)
calc_nse(obs, pred)

Pearson Correlation Coefficient (r)

Description

Pearson Correlation Coefficient (r)

Usage

calc_r(observed, predicted)

Arguments

observed

Numeric vector of observed (reference) values.

predicted

Numeric vector of predicted (model) values.

Value

Pearson correlation coefficient (numeric scalar).

Examples

calc_r(c(3.5, 4.2, 5.1), c(3.3, 4.5, 4.9))

Coefficient of Determination (R-squared)

Description

Computes R-squared as the square of the Pearson correlation coefficient.

Usage

calc_r2(observed, predicted)

Arguments

observed

Numeric vector of observed (reference) values.

predicted

Numeric vector of predicted (model) values.

Value

R-squared value (numeric scalar between 0 and 1).

Examples

calc_r2(c(3.5, 4.2, 5.1), c(3.3, 4.5, 4.9))

Root Mean Squared Error (RMSE)

Description

Root Mean Squared Error (RMSE)

Usage

calc_rmse(observed, predicted)

Arguments

observed

Numeric vector of observed (reference) values.

predicted

Numeric vector of predicted (model) values.

Value

RMSE value (numeric scalar).

Examples

calc_rmse(c(3.5, 4.2, 5.1), c(3.3, 4.5, 4.9))

Daylight Hours

Description

Computes the maximum possible daylight hours for a given day and latitude.

Usage

daylight_hours(J, lat)

Arguments

J

Day of the year (1-366).

lat

Latitude (degrees, negative for Southern Hemisphere).

Value

Maximum daylight hours.

References

Allen et al. (1998), FAO-56, Eq. 34.

Examples

daylight_hours(172, 25.43)

Dew Point Temperature

Description

Estimates dew point temperature from actual vapor pressure.

Usage

dew_point_temperature(ea)

Arguments

ea

Actual vapor pressure (kPa).

Value

Dew point temperature (degrees Celsius).

Examples

ea <- actual_vapor_pressure(15, 30, 90, 40)
dew_point_temperature(ea)

Baier-Robertson ET0 Model

Description

Estimates daily ET0 using the Baier and Robertson (1965) method, a regression-based equation using extraterrestrial radiation, maximum temperature and temperature range.

Usage

et0_baier_robertson(Tmin, Tmax, J, lat)

Arguments

Tmin

Minimum air temperature (degrees Celsius).

Tmax

Maximum air temperature (degrees Celsius).

J

Day of the year (1-366).

lat

Latitude (degrees).

Value

Daily ET0 (mm/day).

References

Baier, W. & Robertson, G.W. (1965). Estimation of latent evaporation from simple weather observations. Canadian Journal of Plant Science, 45(3), 276-284.

See Also

Other temperature models: et0_berti(), et0_blaney_criddle(), et0_dorji(), et0_droogers_allen(), et0_hargreaves_samani(), et0_linacre(), et0_schendel(), et0_tabari_talee1(), et0_tabari_talee2()

Examples

et0_baier_robertson(15, 30, 172, 25.43)

Berti et al. ET0 Model

Description

Estimates daily ET0 using the Berti et al. (2014) method, a modified Hargreaves formula using the temperature range raised to the power 0.517.

Usage

et0_berti(Tmin, Tmax, J, lat)

Arguments

Tmin

Minimum air temperature (degrees Celsius).

Tmax

Maximum air temperature (degrees Celsius).

J

Day of the year (1-366).

lat

Latitude (degrees).

Value

Daily ET0 (mm/day).

References

Berti, A., Tardivo, G., Chiaudani, A., Rech, F., & Borin, M. (2014). Assessing reference evapotranspiration by the Hargreaves method in north-eastern Italy. Agricultural Water Management, 140, 20-25.

See Also

Other temperature models: et0_baier_robertson(), et0_blaney_criddle(), et0_dorji(), et0_droogers_allen(), et0_hargreaves_samani(), et0_linacre(), et0_schendel(), et0_tabari_talee1(), et0_tabari_talee2()

Examples

et0_berti(15, 30, 172, 25.43)

Blaney-Criddle ET0 Model

Description

Estimates daily ET0 using the Blaney-Criddle (1950) method, which relies only on mean air temperature.

Usage

et0_blaney_criddle(Tmean)

Arguments

Tmean

Mean air temperature (degrees Celsius).

Value

Daily ET0 (mm/day).

References

Blaney, H.F. & Criddle, W.D. (1950). Determining water requirements in irrigated areas from climatological and irrigation data. USDA Soil Conservation Service, SCS-TP 96.

See Also

Other temperature models: et0_baier_robertson(), et0_berti(), et0_dorji(), et0_droogers_allen(), et0_hargreaves_samani(), et0_linacre(), et0_schendel(), et0_tabari_talee1(), et0_tabari_talee2()

Examples

et0_blaney_criddle(25)

Dorji et al. ET0 Model

Description

Estimates daily ET0 using the Dorji et al. (2016) method, a modified Hargreaves formula using the temperature range raised to the power 0.296.

Usage

et0_dorji(Tmin, Tmax, J, lat)

Arguments

Tmin

Minimum air temperature (degrees Celsius).

Tmax

Maximum air temperature (degrees Celsius).

J

Day of the year (1-366).

lat

Latitude (degrees).

Value

Daily ET0 (mm/day).

References

Dorji, U., Olesen, J.E., & Seidenkrantz, M.S. (2016). Water balance in the complex mountainous terrain of Bhutan and linkages to land use. Journal of Hydrology: Regional Studies, 7, 55-68.

See Also

Other temperature models: et0_baier_robertson(), et0_berti(), et0_blaney_criddle(), et0_droogers_allen(), et0_hargreaves_samani(), et0_linacre(), et0_schendel(), et0_tabari_talee1(), et0_tabari_talee2()

Examples

et0_dorji(15, 30, 172, 25.43)

Droogers-Allen ET0 Model

Description

Estimates daily ET0 using the Droogers and Allen (2002) method, a modified Hargreaves formula using the temperature range raised to the power 0.4.

Usage

et0_droogers_allen(Tmin, Tmax, J, lat)

Arguments

Tmin

Minimum air temperature (degrees Celsius).

Tmax

Maximum air temperature (degrees Celsius).

J

Day of the year (1-366).

lat

Latitude (degrees).

Value

Daily ET0 (mm/day).

References

Droogers, P. & Allen, R.G. (2002). Estimating reference evapotranspiration under inaccurate data conditions. Irrigation and Drainage Systems, 16(1), 33-45.

See Also

Other temperature models: et0_baier_robertson(), et0_berti(), et0_blaney_criddle(), et0_dorji(), et0_hargreaves_samani(), et0_linacre(), et0_schendel(), et0_tabari_talee1(), et0_tabari_talee2()

Examples

et0_droogers_allen(15, 30, 172, 25.43)

FAO Penman-Monteith Reference Evapotranspiration

Description

Computes daily reference evapotranspiration (ET0) using the FAO Penman-Monteith equation (Allen et al., 1998). This is the standard reference method recommended by FAO.

Usage

et0_fao_pm(Tmin, Tmax, RH_morning, RH_evening, u2, n, J, lat, z = 0)

Arguments

Tmin

Minimum air temperature (degrees Celsius).

Tmax

Maximum air temperature (degrees Celsius).

RH_morning

Morning relative humidity (percent).

RH_evening

Evening relative humidity (percent).

u2

Wind speed at 2 m height (m/s).

n

Actual sunshine hours.

J

Day of the year (1-366).

lat

Latitude (degrees, negative for Southern Hemisphere).

z

Elevation above sea level (m).

Value

Daily ET0 (mm/day).

References

Allen, R.G., Pereira, L.S., Raes, D., & Smith, M. (1998). Crop evapotranspiration: Guidelines for computing crop water requirements. FAO Irrigation and Drainage Paper No. 56.

Examples

et0_fao_pm(Tmin = 15, Tmax = 30, RH_morning = 90, RH_evening = 40,
           u2 = 1.5, n = 8, J = 172, lat = 25.43, z = 216)

Hargreaves-Samani ET0 Model

Description

Estimates daily ET0 using the Hargreaves-Samani (1985) method based on temperature range and extraterrestrial radiation.

Usage

et0_hargreaves_samani(Tmin, Tmax, J, lat)

Arguments

Tmin

Minimum air temperature (degrees Celsius).

Tmax

Maximum air temperature (degrees Celsius).

J

Day of the year (1-366).

lat

Latitude (degrees).

Value

Daily ET0 (mm/day).

References

Hargreaves, G.H. & Samani, Z.A. (1985). Reference crop evapotranspiration from temperature. Applied Engineering in Agriculture, 1(2), 96-99.

See Also

Other temperature models: et0_baier_robertson(), et0_berti(), et0_blaney_criddle(), et0_dorji(), et0_droogers_allen(), et0_linacre(), et0_schendel(), et0_tabari_talee1(), et0_tabari_talee2()

Examples

et0_hargreaves_samani(15, 30, 172, 25.43)

Linacre ET0 Model

Description

Estimates daily ET0 using the Linacre (1977) method, which accounts for altitude, latitude and dew point depression.

Usage

et0_linacre(Tmean, Tmin, Tmax, RH_morning, RH_evening, z, lat)

Arguments

Tmean

Mean air temperature (degrees Celsius).

Tmin

Minimum air temperature (degrees Celsius).

Tmax

Maximum air temperature (degrees Celsius).

RH_morning

Morning relative humidity (percent).

RH_evening

Evening relative humidity (percent).

z

Elevation above sea level (m).

lat

Latitude (degrees).

Value

Daily ET0 (mm/day).

References

Linacre, E.T. (1977). A simple formula for estimating evaporation rates in various climates, using temperature data alone. Agricultural Meteorology, 18(6), 409-424.

See Also

Other temperature models: et0_baier_robertson(), et0_berti(), et0_blaney_criddle(), et0_dorji(), et0_droogers_allen(), et0_hargreaves_samani(), et0_schendel(), et0_tabari_talee1(), et0_tabari_talee2()

Examples

et0_linacre(25, 15, 35, 90, 40, 216, 25.43)

Schendel ET0 Model

Description

Estimates daily ET0 using the Schendel method (Bormann, 2011), which uses mean temperature and relative humidity.

Usage

et0_schendel(Tmean, RH)

Arguments

Tmean

Mean air temperature (degrees Celsius).

RH

Mean relative humidity (percent).

Value

Daily ET0 (mm/day).

References

Bormann, H. (2011). Sensitivity analysis of 18 different potential evapotranspiration models to observed climatic change at German climate stations. Climatic Change, 104(3), 729-753.

See Also

Other temperature models: et0_baier_robertson(), et0_berti(), et0_blaney_criddle(), et0_dorji(), et0_droogers_allen(), et0_hargreaves_samani(), et0_linacre(), et0_tabari_talee1(), et0_tabari_talee2()

Examples

et0_schendel(25, 60)

Tabari-Talaee Model 1 ET0

Description

Estimates daily ET0 using the first Tabari and Talaee (2011) modified Hargreaves equation with coefficient 0.031.

Usage

et0_tabari_talee1(Tmin, Tmax, J, lat)

Arguments

Tmin

Minimum air temperature (degrees Celsius).

Tmax

Maximum air temperature (degrees Celsius).

J

Day of the year (1-366).

lat

Latitude (degrees).

Value

Daily ET0 (mm/day).

References

Tabari, H. & Talaee, P.H. (2011). Local calibration of the Hargreaves and Priestley-Taylor equations for estimating reference evapotranspiration in arid and cold climates of Iran based on the Penman-Monteith model. Journal of Hydrologic Engineering, 16(10), 837-845.

See Also

Other temperature models: et0_baier_robertson(), et0_berti(), et0_blaney_criddle(), et0_dorji(), et0_droogers_allen(), et0_hargreaves_samani(), et0_linacre(), et0_schendel(), et0_tabari_talee2()

Examples

et0_tabari_talee1(15, 30, 172, 25.43)

Tabari-Talaee Model 2 ET0

Description

Estimates daily ET0 using the second Tabari and Talaee (2011) modified Hargreaves equation with coefficient 0.0028.

Usage

et0_tabari_talee2(Tmin, Tmax, J, lat)

Arguments

Tmin

Minimum air temperature (degrees Celsius).

Tmax

Maximum air temperature (degrees Celsius).

J

Day of the year (1-366).

lat

Latitude (degrees).

Value

Daily ET0 (mm/day).

References

Tabari, H. & Talaee, P.H. (2011). Local calibration of the Hargreaves and Priestley-Taylor equations for estimating reference evapotranspiration in arid and cold climates of Iran based on the Penman-Monteith model. Journal of Hydrologic Engineering, 16(10), 837-845.

See Also

Other temperature models: et0_baier_robertson(), et0_berti(), et0_blaney_criddle(), et0_dorji(), et0_droogers_allen(), et0_hargreaves_samani(), et0_linacre(), et0_schendel(), et0_tabari_talee1()

Examples

et0_tabari_talee2(15, 30, 172, 25.43)

Compute ET0 Using All 10 Temperature-Based Models and FAO Penman-Monteith

Description

A convenience wrapper that computes daily reference evapotranspiration using all 10 temperature-based empirical models plus the FAO Penman-Monteith standard method as the reference/base for comparison.

Usage

et0_temp_all(Tmin, Tmax, RH_morning, RH_evening, u2, n, J, lat, z = 0)

Arguments

Tmin

Minimum air temperature (degrees Celsius).

Tmax

Maximum air temperature (degrees Celsius).

RH_morning

Morning relative humidity (percent). Used by Schendel, Linacre, and FAO Penman-Monteith.

RH_evening

Evening relative humidity (percent). Used by Schendel, Linacre, and FAO Penman-Monteith.

u2

Wind speed at 2 m height (m/s). Used by FAO Penman-Monteith only.

n

Actual sunshine hours. Used by FAO Penman-Monteith only.

J

Day of the year (1-366).

lat

Latitude (degrees, negative for Southern Hemisphere).

z

Elevation above sea level (m). Used by Linacre and FAO Penman-Monteith. Default is 0.

Details

The 10 temperature-based models included are:

The FAO Penman-Monteith column serves as the standard reference against which the temperature-based models can be evaluated using evaluate_models.

Value

A data.frame with 11 columns: FAO_PM (reference) plus one column per temperature-based model. The number of rows equals the length of the input vectors.

Examples

# Single day example
result <- et0_temp_all(Tmin = 15, Tmax = 30, RH_morning = 90,
                       RH_evening = 40, u2 = 1.5, n = 8,
                       J = 172, lat = 25.43, z = 216)
print(result)

Evaluate Multiple ET0 Models Against a Reference

Description

Computes all 9 statistical evaluation metrics for one or more ET0 models compared against a reference method (typically FAO Penman-Monteith).

Usage

evaluate_models(observed, predicted)

Arguments

observed

Numeric vector of observed (reference) ET0 values.

predicted

A named list or data.frame of predicted ET0 values. Each element/column represents a different model.

Value

A data.frame with one row per model and columns for each metric: NSE, d, MSE, RMSE, NRMSE, MAE, MBE, r, R2.

Examples

obs <- c(3.5, 4.2, 5.1, 2.8, 6.0)
preds <- data.frame(
  Model_A = c(3.3, 4.5, 4.9, 3.0, 5.8),
  Model_B = c(4.0, 4.0, 5.5, 2.5, 6.5)
)
evaluate_models(obs, preds)

Extraterrestrial Radiation

Description

Computes the extraterrestrial radiation (Ra) for a given day and latitude following Allen et al. (1998).

Usage

extraterrestrial_radiation(J, lat)

Arguments

J

Day of the year (1-366).

lat

Latitude (degrees, negative for Southern Hemisphere).

Value

Extraterrestrial radiation (MJ/m2/day).

References

Allen et al. (1998), FAO-56, Eq. 21.

Examples

extraterrestrial_radiation(172, 25.43)

Sample Meteorological Data from Jhansi, India

Description

A dataset containing daily meteorological observations from the Central Research Farm of ICAR-Indian Grassland and Fodder Research Institute (IGFRI), Jhansi, Uttar Pradesh, India (25 deg 26' N, 78 deg 30' E, 216 m above sea level). The data covers one year (2010) and is representative of semi-arid climate conditions.

Usage

jhansi_weather

Format

A data frame with 365 rows and 8 columns:

Date

Date of observation (Date class).

J

Day of the year (1-365).

Tmax

Maximum air temperature (degrees Celsius).

Tmin

Minimum air temperature (degrees Celsius).

RH_morning

Morning relative humidity (percent).

RH_evening

Evening relative humidity (percent).

SSH

Bright sunshine hours.

WS

Wind speed at 2 m height (m/s).

Details

The study area has a semi-arid climate with extreme summers (average 32.7 degrees C) and mild winters (average 25.1 degrees C). The average annual precipitation is 840 mm, with 90 percent contributed by southwest monsoons between July and September. This dataset is suitable for demonstrating the package functions and comparing ET0 model performance in data-scarce semi-arid conditions.

The latitude for this station is 25.43 degrees N and the elevation is 216 m above sea level.

Source

ICAR-Indian Grassland and Fodder Research Institute (IGFRI), Jhansi, India.

Examples

data(jhansi_weather)
head(jhansi_weather)

# Compute FAO-PM ET0 for the first day
with(jhansi_weather[1, ],
  et0_fao_pm(Tmin, Tmax, RH_morning, RH_evening, WS, SSH, J,
             lat = 25.43, z = 216))

Convert Vapor Pressure from kPa to hPa

Description

Convert Vapor Pressure from kPa to hPa

Usage

kpa_to_hpa(kPa)

Arguments

kPa

Vapor pressure in kPa.

Value

Vapor pressure in hPa.


Convert Vapor Pressure from kPa to mmHg

Description

Convert Vapor Pressure from kPa to mmHg

Usage

kpa_to_mmhg(kPa)

Arguments

kPa

Vapor pressure in kPa.

Value

Vapor pressure in mmHg.


Latent Heat of Vaporization

Description

Computes the latent heat of vaporization as a function of air temperature following Allen et al. (1998).

Usage

latent_heat(Tmean)

Arguments

Tmean

Mean air temperature (degrees Celsius).

Value

Latent heat of vaporization (MJ/kg).

References

Allen, R.G., Pereira, L.S., Raes, D., & Smith, M. (1998). FAO Irrigation and Drainage Paper No. 56.

Examples

latent_heat(25)

Statistical Evaluation Metrics for ET0 Models

Description

Functions to compute statistical performance metrics for comparing ET0 model estimates against a reference (e.g., FAO Penman-Monteith).


Convert Wind Speed from m/s to miles/day

Description

Convert Wind Speed from m/s to miles/day

Usage

ms_to_miles_day(u)

Arguments

u

Wind speed in m/s.

Value

Wind speed in miles/day.


Net Radiation

Description

Computes net radiation (Rn) following the FAO-56 approach.

Usage

net_radiation(J, lat, n, Tmin, Tmax, ea, albedo = 0.23, a_s = 0.25, b_s = 0.5)

Arguments

J

Day of the year (1-366).

lat

Latitude (degrees).

n

Actual sunshine hours.

Tmin

Minimum air temperature (degrees Celsius).

Tmax

Maximum air temperature (degrees Celsius).

ea

Actual vapor pressure (kPa).

albedo

Surface albedo (default 0.23 for reference crop).

a_s

Angstrom coefficient a (default 0.25).

b_s

Angstrom coefficient b (default 0.50).

Value

Net radiation (MJ/m2/day).

References

Allen et al. (1998), FAO-56.

Examples

ea <- actual_vapor_pressure(15, 30, 90, 40)
net_radiation(172, 25.43, 8, 15, 30, ea)

Annual ET0 Bar Chart

Description

Creates a bar chart comparing total annual ET0 estimated by each model against the FAO-PM reference.

Usage

plot_annual_bar(annual_et0, main = "Annual ET0 by Model", colors = NULL)

Arguments

annual_et0

A named numeric vector of total annual ET0 values for each model. Must include FAO_PM.

main

Title for the plot.

colors

Character vector of bar colors. If NULL, generated automatically.

Value

Invisible NULL.

Examples

annual <- c(FAO_PM = 1571, Blaney_Criddle = 1933, Schendel = 2593,
            Hargreaves_Samani = 1393)
plot_annual_bar(annual)

Monthly Comparison Plot

Description

Creates a line plot comparing the average monthly ET0 from multiple models against the FAO-PM reference.

Usage

plot_monthly_comparison(
  monthly_data,
  model_names = NULL,
  main = "Monthly ET0 Comparison",
  colors = NULL
)

Arguments

monthly_data

A data.frame with columns: Month (1-12) and one column per model containing mean monthly ET0 values. Must include a FAO_PM column.

model_names

Character vector of model names to plot (in addition to FAO_PM). If NULL, all models are plotted.

main

Title for the plot.

colors

Named character vector of colors per model. If NULL, colors are generated automatically.

Value

Invisible NULL.

Examples

monthly <- data.frame(
  Month = 1:12,
  FAO_PM = c(2.0, 2.5, 3.5, 5.0, 6.5, 7.0, 6.0, 5.5, 4.5, 3.5, 2.5, 2.0),
  Model_A = c(2.2, 2.8, 3.8, 5.3, 6.8, 7.3, 6.3, 5.8, 4.8, 3.8, 2.8, 2.2)
)
plot_monthly_comparison(monthly)

Scatter Plot of Predicted vs Observed ET0

Description

Creates a scatter plot comparing predicted ET0 values from one or more models against observed (reference) values, with 1:1 line and regression lines.

Usage

plot_scatter(
  observed,
  predicted,
  model_names = NULL,
  main = "Predicted vs Observed ET0",
  colors = NULL,
  ...
)

Arguments

observed

Numeric vector of observed (reference) ET0 values.

predicted

A named list or data.frame of predicted ET0 values.

model_names

Character vector of model names to plot. If NULL, all models in predicted are plotted.

main

Title for the plot.

colors

Character vector of colors. If NULL, colors are generated automatically.

...

Additional arguments passed to plot.

Value

Invisible NULL. Called for its side effect of producing a plot.

Examples

obs <- c(3.5, 4.2, 5.1, 2.8, 6.0, 3.1, 4.8)
preds <- data.frame(
  Model_A = c(3.3, 4.5, 4.9, 3.0, 5.8, 3.4, 4.6),
  Model_B = c(4.0, 4.0, 5.5, 2.5, 6.5, 3.8, 5.0)
)
plot_scatter(obs, preds)

Taylor Diagram

Description

Creates a Taylor diagram showing the correlation coefficient, standard deviation, and centered RMSE of multiple models relative to the observed reference.

Usage

plot_taylor(
  observed,
  predicted,
  model_names = NULL,
  main = "Taylor Diagram",
  colors = NULL,
  normalize = FALSE
)

Arguments

observed

Numeric vector of observed (reference) ET0 values.

predicted

A named list or data.frame of predicted ET0 values.

model_names

Character vector of model names to plot. If NULL, all models are plotted.

main

Title for the plot.

colors

Character vector of colors. If NULL, colors are generated automatically.

normalize

Logical; if TRUE, standard deviations are normalized by the observed standard deviation (default FALSE).

Value

Invisible NULL. Called for its side effect of producing a plot.

Examples

set.seed(42)
obs <- rnorm(100, mean = 5, sd = 2)
preds <- list(
  Model_A = obs + rnorm(100, 0, 0.5),
  Model_B = obs * 1.1 + rnorm(100, 0, 1)
)
plot_taylor(obs, preds)

Visualization Functions for ET0 Model Comparison

Description

Functions for graphical evaluation of ET0 model performance including scatter plots, Taylor diagrams, monthly comparison plots, and annual bar charts.


Psychrometric Constant

Description

Computes the psychrometric constant as a function of atmospheric pressure.

Usage

psychrometric_constant(P = NULL, z = 0)

Arguments

P

Atmospheric pressure (kPa). If NULL, computed from elevation.

z

Elevation above sea level (m). Used only if P is NULL.

Value

Psychrometric constant (kPa/degrees C).

References

Allen et al. (1998), FAO-56, Eq. 8.

Examples

psychrometric_constant(z = 216)

Saturation Vapor Pressure

Description

Computes the saturation vapor pressure at a given temperature using the Tetens formula (Allen et al., 1998).

Usage

saturation_vapor_pressure(Temp)

Arguments

Temp

Air temperature (degrees Celsius).

Value

Saturation vapor pressure (kPa).

References

Allen et al. (1998), FAO-56, Eq. 11.

Examples

saturation_vapor_pressure(25)

Slope of Saturation Vapor Pressure Curve

Description

Computes the slope of the saturation vapor pressure-temperature curve.

Usage

slope_vapor_pressure(Tmean)

Arguments

Tmean

Mean air temperature (degrees Celsius).

Value

Slope of saturation vapor pressure curve (kPa/degrees C).

References

Allen et al. (1998), FAO-56, Eq. 13.

Examples

slope_vapor_pressure(25)

Solar Radiation (Angstrom)

Description

Estimates incoming solar radiation (Rs) using the Angstrom formula with sunshine hours.

Usage

solar_radiation(J, lat, n, a_s = 0.25, b_s = 0.5)

Arguments

J

Day of the year (1-366).

lat

Latitude (degrees).

n

Actual sunshine hours.

a_s

Angstrom coefficient a (default 0.25).

b_s

Angstrom coefficient b (default 0.50).

Value

Solar radiation (MJ/m2/day).

References

Allen et al. (1998), FAO-56, Eq. 35.

Examples

solar_radiation(172, 25.43, 8)

Temperature-Based ET0 Models

Description

Functions implementing 10 temperature-based empirical models for reference evapotranspiration (ET0) estimation.

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.