Spaces:
Runtime error
Runtime error
File size: 1,798 Bytes
6a1c12b |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 |
import docs.agro_indicators as agro_indicators
import datetime
import pandas as pd
import numpy as np
def compute_et0_future(
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
month = df.month
year = df.year
first_day = datetime.date(year, month, 1)
day_of_year = first_day.timetuple().tm_yday
JJulien = 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["month"] = [1, 2, 3]
data_test["year"] = [2020, 2020, 2020]
latitude = 40.7128
longitude = 74.0060
for i in range(len(data_test)):
et0 = compute_et0_future(data_test.iloc[i], latitude, longitude)
print(et0)
|