gaia / compute_et0_adjusted.py
Hugo Massonnat
monthly aggregation of historic weather data
b5f210c
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)