pet_calculator#
- mhm_tools.pre.pet_calc.pet_calculator(lat: ndarray, time: datetime, stat_freq: str, method: str = 'oudin', l_heat: float = 2.26, w_density: float = 977.0, **kwargs) ndarray[source]#
Calculate PET/ET0 using several formulations (as in your figure).
- Required inputs depend on method:
‘oudin’ (default): uses tavg, lat, time (via e_rad_calculator)
‘hargreaves_samani’: needs tmin, tmax
‘mcguinness_bordne’: needs Ta (or uses tavg if not given)
‘hamon’: needs k (optional, default 1.0); uses DL and es computed internally
‘baier_robertson’: needs tmin, tmax; uses Re (extraterrestrial radiation) from e_rad_calculator
‘blaney_criddle’: uses DL computed internally
‘thornthwaite’: needs I and k (heat index + exponent), and typically monthly tavg; uses DL
‘jensen_haise’: uses Re and Tavg (tavg)
‘priestley_taylor’: needs delta, rn, g, gamma
‘milly_dunne’: needs rn, g
‘penman_monteith’: needs delta, rn, g, gamma, u2, es, ea (or will compute es from tavg if not provided)
‘penman_monteith_co2’: same as PM plus co2 (ppm)
Notes
This function assumes your e_rad_calculator(time, lat) returns R_e consistent with l_heat & w_density scaling.
Output unit will match your original Oudin output (typically mm/day), then converted to hourly if needed.