import docs.agro_indicators as agro_indicators import datetime import pandas as pd import numpy as np def compute_et0( df: pd.DataFrame, latitude: float, longitude: float ): """ Compute reference evapotranspiration. Parameters ---------- df : DataFrame The input dataframe containing sensor data. latitude : float Latitude of the location. longitude : float Longitude of the location Returns ------- arraylike Daily reference evapotranspiration. """ irradiance = df.irradiance Tmin = df.air_temperature_min Tmax = df.air_temperature_max T = (Tmin + Tmin) / 2 RHmin = df.relative_humidity_min RHmax = df.relative_humidity_max WS = df.wind_speed JJulien = df.day_of_year l = agro_indicators.et0( irradiance, T, Tmax, Tmin, RHmin, RHmax, WS, JJulien, latitude, longitude, ) return l if __name__ == "__main__": data_test = pd.DataFrame() data_test["irradiance"] = [20, 30, 40] data_test["air_temperature_min"] = [10, 15, 20] data_test["air_temperature_max"] = [20, 25, 30] data_test["relative_humidity_min"] = [50, 60, 70] data_test["relative_humidity_max"] = [50, 60, 70] data_test["wind_speed"] = [5, 10, 15] data_test["day_of_year"] = [1, 32, 60] latitude = 40.7128 longitude = 74.0060 et0 = compute_et0(data_test, latitude, longitude) print(et0)