Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -795,6 +795,70 @@ NUTRIENT_CONTENT_IN_FERTILIZERS = {
|
|
795 |
|
796 |
|
797 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
798 |
|
799 |
from tabulate import tabulate
|
800 |
|
@@ -825,9 +889,7 @@ NUTRIENT_CONTENT_IN_FERTILIZERS = {
|
|
825 |
"Аммоний азотнокислый": {"N (NO3-)": 0.17499, "N (NH4+)": 0.17499},
|
826 |
"Сульфат магния": {"Mg": 0.09861, "S": 0.13010},
|
827 |
"Монофосфат калия": {"P": 0.218, "K": 0.275},
|
828 |
-
"Калий сернокислый": {"K": 0.44874, "S": 0.18401}
|
829 |
-
"Сульфат кальция": {"Ca": 0.23, "S": 0.186}, # Новый моноэлемент
|
830 |
-
"Нитрат магния": {"Mg": 0.09, "N (NO3-)": 0.11} # Новый моноэлемент
|
831 |
}
|
832 |
|
833 |
class NutrientCalculator:
|
@@ -842,16 +904,15 @@ class NutrientCalculator:
|
|
842 |
|
843 |
# Веса компенсации для элементов
|
844 |
self.element_compensation_weights = {
|
845 |
-
|
846 |
-
|
847 |
-
|
848 |
-
|
849 |
-
|
850 |
-
}
|
851 |
# Коэффициенты распределения для кальциевой селитры
|
852 |
self.calcium_nitrate_ratios = {
|
853 |
"Ca": 0.7, # 70% дефицита кальция покрываем кальциевой селитрой
|
854 |
-
"NO3": 0.
|
855 |
}
|
856 |
|
857 |
# Расчёт соотношений азотов
|
@@ -884,7 +945,6 @@ class NutrientCalculator:
|
|
884 |
self._compensate_element("P")
|
885 |
self._compensate_element("S")
|
886 |
self._compensate_element("K")
|
887 |
-
self._compensate_element("Ca") # Добавляем компенсацию кальция через сульфат кальция
|
888 |
|
889 |
return self.results
|
890 |
except Exception as e:
|
|
|
795 |
|
796 |
|
797 |
|
798 |
+
from tabulate import tabulate
|
799 |
+
|
800 |
+
# Константы
|
801 |
+
TOTAL_NITROGEN = 125.000
|
802 |
+
NO3_RATIO = 8.25
|
803 |
+
NH4_RATIO = 1.00
|
804 |
+
VOLUME_LITERS = 100
|
805 |
+
|
806 |
+
# Коэффициенты электропроводности
|
807 |
+
EC_COEFFICIENTS = {
|
808 |
+
'P': 0.0012, 'K': 0.0018, 'Mg': 0.0015,
|
809 |
+
'Ca': 0.0016, 'S': 0.0014,
|
810 |
+
'N (NO3-)': 0.0017, 'N (NH4+)': 0.0019
|
811 |
+
}
|
812 |
+
|
813 |
+
# Целевые значения
|
814 |
+
BASE_PROFILE = {
|
815 |
+
'P': 31.000, 'K': 210.000, 'Mg': 24.000,
|
816 |
+
'Ca': 84.000, 'S': 56.439,
|
817 |
+
'N (NO3-)': 0, 'N (NH4+)': 0
|
818 |
+
}
|
819 |
+
|
820 |
+
NUTRIENT_CONTENT_IN_FERTILIZERS = {
|
821 |
+
"Кальциевая селитра": {"N (NO3-)": 0.11863, "Ca": 0.16972},
|
822 |
+
"Калий азотнокислый": {"N (NO3-)": 0.136, "K": 0.382},
|
823 |
+
"Калий сернокислый": {"K": 0.44874, "S": 0.18401},
|
824 |
+
"Аммоний азотнокислый": {"N (NO3-)": 0.17499, "N (NH4+)": 0.17499},
|
825 |
+
"Сульфат магния": {"Mg": 0.09861, "S": 0.13010},
|
826 |
+
"Монофосфат калия": {"P": 0.218, "K": 0.275}
|
827 |
+
}
|
828 |
+
|
829 |
+
|
830 |
+
|
831 |
+
from tabulate import tabulate
|
832 |
+
|
833 |
+
# Константы
|
834 |
+
TOTAL_NITROGEN = 125.000
|
835 |
+
NO3_RATIO = 8.25
|
836 |
+
NH4_RATIO = 1.00
|
837 |
+
VOLUME_LITERS = 100
|
838 |
+
|
839 |
+
# Коэффициенты электропроводности
|
840 |
+
EC_COEFFICIENTS = {
|
841 |
+
'P': 0.0012, 'K': 0.0018, 'Mg': 0.0015,
|
842 |
+
'Ca': 0.0016, 'S': 0.0014,
|
843 |
+
'N (NO3-)': 0.0017, 'N (NH4+)': 0.0019
|
844 |
+
}
|
845 |
+
|
846 |
+
# Целевые значения
|
847 |
+
BASE_PROFILE = {
|
848 |
+
'P': 31.000, 'K': 210.000, 'Mg': 24.000,
|
849 |
+
'Ca': 84.000, 'S': 56.439,
|
850 |
+
'N (NO3-)': 0, 'N (NH4+)': 0
|
851 |
+
}
|
852 |
+
|
853 |
+
NUTRIENT_CONTENT_IN_FERTILIZERS = {
|
854 |
+
"Кальциевая селитра": {"N (NO3-)": 0.11863, "Ca": 0.16972},
|
855 |
+
"Калий азотнокислый": {"N (NO3-)": 0.136, "K": 0.382},
|
856 |
+
"Калий сернокислый": {"K": 0.44874, "S": 0.18401},
|
857 |
+
"Аммоний азотнокислый": {"N (NO3-)": 0.17499, "N (NH4+)": 0.17499},
|
858 |
+
"Сульфат магния": {"Mg": 0.09861, "S": 0.13010},
|
859 |
+
"Монофосфат калия": {"P": 0.218, "K": 0.275}
|
860 |
+
}
|
861 |
+
|
862 |
|
863 |
from tabulate import tabulate
|
864 |
|
|
|
889 |
"Аммоний азотнокислый": {"N (NO3-)": 0.17499, "N (NH4+)": 0.17499},
|
890 |
"Сульфат магния": {"Mg": 0.09861, "S": 0.13010},
|
891 |
"Монофосфат калия": {"P": 0.218, "K": 0.275},
|
892 |
+
"Калий сернокислый": {"K": 0.44874, "S": 0.18401}
|
|
|
|
|
893 |
}
|
894 |
|
895 |
class NutrientCalculator:
|
|
|
904 |
|
905 |
# Веса компенсации для элементов
|
906 |
self.element_compensation_weights = {
|
907 |
+
"POTASSIUM_SULFATE": {"weight": 0.18, "fert": "Калий сернокислый", "main_element": "K"},
|
908 |
+
"MAGNESIUM_SULFATE": {"weight": -0.08, "fert": "Сульфат магния", "main_element": "Mg"},
|
909 |
+
"MONOPOTASSIUM_PHOSPHATE": {"weight": 0.14, "fert": "Монофосфат калия", "main_element": "P"}
|
910 |
+
}
|
911 |
+
|
|
|
912 |
# Коэффициенты распределения для кальциевой селитры
|
913 |
self.calcium_nitrate_ratios = {
|
914 |
"Ca": 0.7, # 70% дефицита кальция покрываем кальциевой селитрой
|
915 |
+
"NO3": 0.2 # 30% дефицита NO3 покрываем кальциевой селитрой
|
916 |
}
|
917 |
|
918 |
# Расчёт соотношений азотов
|
|
|
945 |
self._compensate_element("P")
|
946 |
self._compensate_element("S")
|
947 |
self._compensate_element("K")
|
|
|
948 |
|
949 |
return self.results
|
950 |
except Exception as e:
|