Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -720,8 +720,8 @@ ALL_FERTILIZERS = {
|
|
720 |
"Сульфат магния": {
|
721 |
"Mg": 0.098, "S": 0.13
|
722 |
},
|
723 |
-
"
|
724 |
-
"P": 0.
|
725 |
}
|
726 |
}
|
727 |
|
@@ -743,7 +743,7 @@ class NutrientCalculator:
|
|
743 |
"Кальциевая селитра": ALL_FERTILIZERS["Кальциевая селитра"],
|
744 |
"Аммоний азотнокислый": ALL_FERTILIZERS["Аммоний азотнокислый"],
|
745 |
"Сульфат магния": ALL_FERTILIZERS["Сульфат магния"],
|
746 |
-
"
|
747 |
}
|
748 |
|
749 |
if use_k2so4:
|
@@ -769,7 +769,7 @@ class NutrientCalculator:
|
|
769 |
# Расчёт удобрений
|
770 |
self._apply_magnesium_sulfate()
|
771 |
self._apply_calcium_nitrate()
|
772 |
-
self.
|
773 |
self._apply_potassium_fertilizers()
|
774 |
self._apply_ammonium_nitrate()
|
775 |
return self.results
|
@@ -801,14 +801,14 @@ class NutrientCalculator:
|
|
801 |
self._apply_fertilizer("Кальциевая селитра", grams, {'внесет NO3': round(added_n, 1)})
|
802 |
self.final_profile['Ca'] = 0
|
803 |
|
804 |
-
def
|
805 |
p_need = self.final_profile['P']
|
806 |
-
p_content = self.fertilizers_db["
|
807 |
grams = (p_need * self.volume) / (p_content * 1000)
|
808 |
-
added_k = grams * self.fertilizers_db["
|
809 |
|
810 |
self.final_profile['K'] -= added_k
|
811 |
-
self._apply_fertilizer("
|
812 |
self.final_profile['P'] = 0
|
813 |
|
814 |
def _apply_potassium_fertilizers(self):
|
@@ -910,8 +910,6 @@ class NutrientCalculator:
|
|
910 |
|
911 |
# Пример использования
|
912 |
if __name__ == "__main__":
|
913 |
-
|
914 |
-
|
915 |
# Вариант 2: С калием азотнокислым
|
916 |
calc_with_kno3 = NutrientCalculator(volume_liters=10, use_k2so4=False, use_kno3=True)
|
917 |
calc_with_kno3.calculate(TOTAL_NITROGEN, NO3_RATIO, NH4_RATIO)
|
@@ -921,6 +919,5 @@ if __name__ == "__main__":
|
|
921 |
|
922 |
|
923 |
|
924 |
-
|
925 |
if __name__ == '__main__':
|
926 |
app.run(host='0.0.0.0', port=int(os.environ.get('PORT', 7860)))
|
|
|
720 |
"Сульфат магния": {
|
721 |
"Mg": 0.098, "S": 0.13
|
722 |
},
|
723 |
+
"Калий фосфорнокислый": {
|
724 |
+
"P": 0.228, "K": 0.287 # KH2PO4 - почти аналогичен монофосфату калия
|
725 |
}
|
726 |
}
|
727 |
|
|
|
743 |
"Кальциевая селитра": ALL_FERTILIZERS["Кальциевая селитра"],
|
744 |
"Аммоний азотнокислый": ALL_FERTILIZERS["Аммоний азотнокислый"],
|
745 |
"Сульфат магния": ALL_FERTILIZERS["Сульфат магния"],
|
746 |
+
"Калий фосфорнокислый": ALL_FERTILIZERS["Калий фосфорнокислый"]
|
747 |
}
|
748 |
|
749 |
if use_k2so4:
|
|
|
769 |
# Расчёт удобрений
|
770 |
self._apply_magnesium_sulfate()
|
771 |
self._apply_calcium_nitrate()
|
772 |
+
self._apply_potassium_phosphate()
|
773 |
self._apply_potassium_fertilizers()
|
774 |
self._apply_ammonium_nitrate()
|
775 |
return self.results
|
|
|
801 |
self._apply_fertilizer("Кальциевая селитра", grams, {'внесет NO3': round(added_n, 1)})
|
802 |
self.final_profile['Ca'] = 0
|
803 |
|
804 |
+
def _apply_potassium_phosphate(self):
|
805 |
p_need = self.final_profile['P']
|
806 |
+
p_content = self.fertilizers_db["Калий фосфорнокислый"]["P"]
|
807 |
grams = (p_need * self.volume) / (p_content * 1000)
|
808 |
+
added_k = grams * self.fertilizers_db["Калий фосфорнокислый"]["K"] * 1000 / self.volume
|
809 |
|
810 |
self.final_profile['K'] -= added_k
|
811 |
+
self._apply_fertilizer("Калий фосфорнокислый", grams, {'внесет K': round(added_k, 1)})
|
812 |
self.final_profile['P'] = 0
|
813 |
|
814 |
def _apply_potassium_fertilizers(self):
|
|
|
910 |
|
911 |
# Пример использования
|
912 |
if __name__ == "__main__":
|
|
|
|
|
913 |
# Вариант 2: С калием азотнокислым
|
914 |
calc_with_kno3 = NutrientCalculator(volume_liters=10, use_k2so4=False, use_kno3=True)
|
915 |
calc_with_kno3.calculate(TOTAL_NITROGEN, NO3_RATIO, NH4_RATIO)
|
|
|
919 |
|
920 |
|
921 |
|
|
|
922 |
if __name__ == '__main__':
|
923 |
app.run(host='0.0.0.0', port=int(os.environ.get('PORT', 7860)))
|