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.