Add FAO-56 Penman–Monteith method for Potential Evapotranspiration (PET)
Description
Add a new Potential Evapotranspiration (PET) calculation method based on the full FAO-56 Penman–Monteith reference evapotranspiration equation.
climate_indices currently provides PET calculations using the Thornthwaite and Hargreaves methods. Adding FAO-56 Penman–Monteith would provide a more physically based PET estimate that accounts for both the energy balance and aerodynamic controls on evapotranspiration.
The implementation should follow the FAO Irrigation and Drainage Paper No. 56 formulation for reference evapotranspiration:
$$
ET_0 =
\frac{
0.408 \Delta (R_n-G)
+
\gamma \frac{900}{T+273} u_2 (e_s-e_a)
}{
\Delta + \gamma(1+0.34u_2)
}
$$
where:
- (ET_0) = reference evapotranspiration [mm day⁻¹]
- (R_n) = net radiation at the crop surface [MJ m⁻² day⁻¹]
- (G) = soil heat flux density [MJ m⁻² day⁻¹]
- (T) = mean daily air temperature at 2 m [°C]
- (u_2) = wind speed at 2 m [m s⁻¹]
- (e_s) = saturation vapor pressure [kPa]
- (e_a) = actual vapor pressure [kPa]
- (e_s-e_a) = saturation vapor pressure deficit [kPa]
- (\Delta) = slope of the saturation vapor pressure curve [kPa °C⁻¹]
- (\gamma) = psychrometric constant [kPa °C⁻¹]
Proposed API
Add a new PET implementation, for example:
pet_fao56(...)
or
pet_penman_monteith(...)
The method should be exposed alongside the existing Thornthwaite and Hargreaves PET implementations and be usable wherever PET is required, including SPEI workflows.
Inputs
At minimum, the implementation should support the meteorological variables required by the FAO-56 equation:
- minimum and maximum or mean air temperature
- wind speed
- humidity information sufficient to determine actual vapor pressure
- solar/net radiation
- elevation or atmospheric pressure where required
Where practical, derived quantities such as saturation vapor pressure, vapor-pressure deficit, psychrometric constant, and slope of the saturation vapor-pressure curve should be calculated internally from the supplied meteorological inputs.
The implementation should clearly document:
- expected units
- required versus optional inputs
- assumptions used when deriving FAO-56 intermediate variables
- treatment of soil heat flux for daily/monthly calculations
- conversion of wind speed measured at heights other than 2 m, if supported
- missing-data behavior
Scope
Validation
Numerical results should be validated against published examples from:
Allen, R. G., Pereira, L. S., Raes, D., & Smith, M. (1998). Crop Evapotranspiration: Guidelines for Computing Crop Water Requirements. FAO Irrigation and Drainage Paper 56.
Where possible, tests should use published intermediate values as well as final reference evapotranspiration values so that errors in radiation, vapor-pressure, psychrometric, or aerodynamic calculations can be identified independently.
Motivation
Thornthwaite and Hargreaves are useful when only limited meteorological inputs are available, but both are simplified temperature-based approaches. The FAO-56 Penman–Monteith method incorporates radiation, temperature, humidity, and wind speed and is widely used as a standard method for estimating reference evapotranspiration.
Supporting FAO-56 would make climate_indices more useful for datasets containing the full set of meteorological variables and would provide a higher-information PET option for SPEI and other drought-monitoring applications.
Acceptance Criteria
The issue can be considered complete when:
- A documented public FAO-56 Penman–Monteith PET function is available.
- Both NumPy and xarray workflows are supported.
- Output PET/ET₀ is expressed using the same conventions expected by existing
climate_indices PET/SPEI workflows.
- Results reproduce authoritative FAO-56 reference calculations within an appropriate numerical tolerance.
- Unit and validation tests are included.
- User-facing documentation describes the required variables, units, assumptions, and method reference.
Add FAO-56 Penman–Monteith method for Potential Evapotranspiration (PET)
Description
Add a new Potential Evapotranspiration (PET) calculation method based on the full FAO-56 Penman–Monteith reference evapotranspiration equation.
climate_indicescurrently provides PET calculations using the Thornthwaite and Hargreaves methods. Adding FAO-56 Penman–Monteith would provide a more physically based PET estimate that accounts for both the energy balance and aerodynamic controls on evapotranspiration.The implementation should follow the FAO Irrigation and Drainage Paper No. 56 formulation for reference evapotranspiration:
where:
Proposed API
Add a new PET implementation, for example:
pet_fao56(...)or
pet_penman_monteith(...)The method should be exposed alongside the existing Thornthwaite and Hargreaves PET implementations and be usable wherever PET is required, including SPEI workflows.
Inputs
At minimum, the implementation should support the meteorological variables required by the FAO-56 equation:
Where practical, derived quantities such as saturation vapor pressure, vapor-pressure deficit, psychrometric constant, and slope of the saturation vapor-pressure curve should be calculated internally from the supplied meteorological inputs.
The implementation should clearly document:
Scope
pet_thornthwaite()andpet_hargreaves().Validation
Numerical results should be validated against published examples from:
Allen, R. G., Pereira, L. S., Raes, D., & Smith, M. (1998). Crop Evapotranspiration: Guidelines for Computing Crop Water Requirements. FAO Irrigation and Drainage Paper 56.
Where possible, tests should use published intermediate values as well as final reference evapotranspiration values so that errors in radiation, vapor-pressure, psychrometric, or aerodynamic calculations can be identified independently.
Motivation
Thornthwaite and Hargreaves are useful when only limited meteorological inputs are available, but both are simplified temperature-based approaches. The FAO-56 Penman–Monteith method incorporates radiation, temperature, humidity, and wind speed and is widely used as a standard method for estimating reference evapotranspiration.
Supporting FAO-56 would make
climate_indicesmore useful for datasets containing the full set of meteorological variables and would provide a higher-information PET option for SPEI and other drought-monitoring applications.Acceptance Criteria
The issue can be considered complete when:
climate_indicesPET/SPEI workflows.