Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -692,7 +692,41 @@ def nutri_call():
|
|
692 |
|
693 |
|
694 |
|
|
|
|
|
695 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
696 |
class NutrientCalculator:
|
697 |
def __init__(self, volume_liters=1.0):
|
698 |
self.volume = volume_liters
|
|
|
692 |
|
693 |
|
694 |
|
695 |
+
from tabulate import tabulate
|
696 |
+
import numpy as np
|
697 |
|
698 |
+
# Глобальные параметры
|
699 |
+
TOTAL_NITROGEN = 120.0 # Общее количество азота
|
700 |
+
NO3_RATIO = 8.0 # Соотношение NO3:NH4
|
701 |
+
NH4_RATIO = 1.0 # Соотношение NH4:NO3
|
702 |
+
VOLUME_LITERS = 100 # Объем раствора
|
703 |
+
|
704 |
+
BASE_PROFILE = {
|
705 |
+
"P": 50, # Фосфор
|
706 |
+
"K": 210, # Калий
|
707 |
+
"Mg": 120, # Магний (высокий уровень)
|
708 |
+
"Ca": 150, # Кальций
|
709 |
+
"S": 50, # Сера
|
710 |
+
"N (NO3-)": 0, # Рассчитывается автоматически
|
711 |
+
"N (NH4+)": 0 # Рассчитывается автоматически
|
712 |
+
}
|
713 |
+
|
714 |
+
NUTRIENT_CONTENT_IN_FERTILIZERS = {
|
715 |
+
"Кальциевая селитра": {"N (NO3-)": 0.11863, "Ca": 0.16972},
|
716 |
+
"Калий азотнокислый": {"N (NO3-)": 0.136, "K": 0.382},
|
717 |
+
"Калий сернокислый": {"K": 0.44874, "S": 0.18401},
|
718 |
+
"Аммоний азотнокислый": {"N (NO3-)": 0.17499, "N (NH4+)": 0.17499},
|
719 |
+
"Сульфат магния": {"Mg": 0.09861, "S": 0.13010},
|
720 |
+
"Монофосфат калия": {"P": 0.218, "K": 0.275},
|
721 |
+
"Сульфат кальция": {"Ca": 0.23, "S": 0.186},
|
722 |
+
"Кольцевая селитра": {"N (NO3-)": 0.15, "Ca": 0.20} # Новое удобрение
|
723 |
+
}
|
724 |
+
|
725 |
+
EC_COEFFICIENTS = {
|
726 |
+
'P': 0.0012, 'K': 0.0018, 'Mg': 0.0015,
|
727 |
+
'Ca': 0.0016, 'S': 0.0014,
|
728 |
+
'N (NO3-)': 0.0017, 'N (NH4+)': 0.0019
|
729 |
+
}
|
730 |
class NutrientCalculator:
|
731 |
def __init__(self, volume_liters=1.0):
|
732 |
self.volume = volume_liters
|