Spaces:
Runtime error
Runtime error
Hugo Massonnat
commited on
Commit
·
399a98a
1
Parent(s):
8ff070c
change visualization of yield
Browse files- compute_yield.py +19 -3
compute_yield.py
CHANGED
@@ -1,3 +1,4 @@
|
|
|
|
1 |
import pandas as pd
|
2 |
from matplotlib import pyplot as plt
|
3 |
|
@@ -34,7 +35,7 @@ def calculate_ETa(ETx, soil_moisture, field_capacity, wilting_point, water_defic
|
|
34 |
Returns:
|
35 |
float: Actual evapotranspiration (ETa) in mm
|
36 |
"""
|
37 |
-
Ks = 1 - (water_deficit /
|
38 |
Ks = Ks.clip(lower=0, upper=1)
|
39 |
ETa = ETx * Ks
|
40 |
|
@@ -152,7 +153,22 @@ if __name__ == '__main__':
|
|
152 |
yield_forecast_with_shading = get_annual_yield(monthly_forecast_with_shading)
|
153 |
# print(yield_forecast)
|
154 |
|
155 |
-
|
156 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
157 |
plt.legend()
|
|
|
158 |
plt.show()
|
|
|
1 |
+
import numpy as np
|
2 |
import pandas as pd
|
3 |
from matplotlib import pyplot as plt
|
4 |
|
|
|
35 |
Returns:
|
36 |
float: Actual evapotranspiration (ETa) in mm
|
37 |
"""
|
38 |
+
Ks = 1 - (water_deficit / ETo) # coef de stress hydrique = precipitation / et0
|
39 |
Ks = Ks.clip(lower=0, upper=1)
|
40 |
ETa = ETx * Ks
|
41 |
|
|
|
153 |
yield_forecast_with_shading = get_annual_yield(monthly_forecast_with_shading)
|
154 |
# print(yield_forecast)
|
155 |
|
156 |
+
n_years = 10
|
157 |
+
years = 2025 + np.arange(len(yield_forecast_with_shading))
|
158 |
+
aggregated_forecasts = yield_forecast.rolling(n_years).sum()[years % n_years == 0]
|
159 |
+
aggregated_forecasts_with_shading = yield_forecast_with_shading.rolling(n_years).sum()[years % n_years == 0]
|
160 |
+
# plt.plot(yield_forecast.rolling(n_years).sum(), label="No shading")
|
161 |
+
# plt.plot(yield_forecast_with_shading.rolling(n_years).sum(), label="20% Shading")
|
162 |
+
# plt.bar(years[years % n_years == 0], aggregated_forecasts, label="No shading")
|
163 |
+
# plt.bar(years[years % n_years == 0], aggregated_forecasts_with_shading, label="20% Shading")
|
164 |
+
|
165 |
+
width = 3 # the width of the bars
|
166 |
+
fig, ax = plt.subplots(layout='constrained')
|
167 |
+
|
168 |
+
aggregated_years = years[years % n_years == 0]
|
169 |
+
rects = ax.bar(aggregated_years, aggregated_forecasts, width, label="No shading")
|
170 |
+
rects2 = ax.bar(aggregated_years + width, aggregated_forecasts_with_shading, width, label="20% shading")
|
171 |
+
|
172 |
plt.legend()
|
173 |
+
plt.ylim(150)
|
174 |
plt.show()
|