Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -752,9 +752,16 @@ class NutrientCalculator:
|
|
752 |
# 3. Кальций с контролем NO3
|
753 |
remaining_no3 = max(self.target['NO3'] - self.actual['NO3'], 0)
|
754 |
if remaining_no3 > 0.1:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
755 |
self._apply_fertilizer("Кальциевая селитра", "Ca")
|
756 |
|
757 |
-
#
|
758 |
k_deficit = self.target['K'] - self.actual['K']
|
759 |
if k_deficit > 0.1:
|
760 |
if self.actual['NO3'] < self.target['NO3']:
|
@@ -762,7 +769,7 @@ class NutrientCalculator:
|
|
762 |
else:
|
763 |
self._apply_fertilizer("Калий сернокислый", "K")
|
764 |
|
765 |
-
#
|
766 |
s_deficit = self.target['S'] - self.actual['S']
|
767 |
if s_deficit > 0.1:
|
768 |
self._apply_fertilizer("Калий сернокислый", "S")
|
@@ -786,16 +793,7 @@ class NutrientCalculator:
|
|
786 |
if content <= 0:
|
787 |
return
|
788 |
|
789 |
-
|
790 |
-
if 'NO3' in self.fertilizers[name]:
|
791 |
-
no3_limit = max(self.target['NO3'] - self.actual['NO3'], 0)
|
792 |
-
if no3_limit <= 0:
|
793 |
-
return
|
794 |
-
max_grams = (no3_limit * self.volume) / (self.fertilizers[name]['NO3'] * 1000)
|
795 |
-
required_grams = (required_ppm * self.volume) / (content * 1000)
|
796 |
-
grams = min(required_grams, max_grams)
|
797 |
-
else:
|
798 |
-
grams = (required_ppm * self.volume) / (content * 1000)
|
799 |
|
800 |
# Инициализация записи
|
801 |
if name not in self.results:
|
@@ -904,6 +902,5 @@ def handle_calculation():
|
|
904 |
|
905 |
|
906 |
|
907 |
-
|
908 |
if __name__ == '__main__':
|
909 |
app.run(host='0.0.0.0', port=int(os.environ.get('PORT', 7860)))
|
|
|
752 |
# 3. Кальций с контролем NO3
|
753 |
remaining_no3 = max(self.target['NO3'] - self.actual['NO3'], 0)
|
754 |
if remaining_no3 > 0.1:
|
755 |
+
self._apply_fertilizer("Кальциевая селитра", "Ca",
|
756 |
+
min(self.target['Ca'] - self.actual['Ca'],
|
757 |
+
remaining_no3 / 0.11863 * 0.16972))
|
758 |
+
|
759 |
+
# 4. Довносим кальций если остался дефицит
|
760 |
+
ca_deficit = self.target['Ca'] - self.actual['Ca']
|
761 |
+
if ca_deficit > 0.1:
|
762 |
self._apply_fertilizer("Кальциевая селитра", "Ca")
|
763 |
|
764 |
+
# 5. Калий с минимальным NO3
|
765 |
k_deficit = self.target['K'] - self.actual['K']
|
766 |
if k_deficit > 0.1:
|
767 |
if self.actual['NO3'] < self.target['NO3']:
|
|
|
769 |
else:
|
770 |
self._apply_fertilizer("Калий сернокислый", "K")
|
771 |
|
772 |
+
# 6. Сера
|
773 |
s_deficit = self.target['S'] - self.actual['S']
|
774 |
if s_deficit > 0.1:
|
775 |
self._apply_fertilizer("Калий сернокислый", "S")
|
|
|
793 |
if content <= 0:
|
794 |
return
|
795 |
|
796 |
+
grams = (required_ppm * self.volume) / (content * 1000)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
797 |
|
798 |
# Инициализация записи
|
799 |
if name not in self.results:
|
|
|
902 |
|
903 |
|
904 |
|
|
|
905 |
if __name__ == '__main__':
|
906 |
app.run(host='0.0.0.0', port=int(os.environ.get('PORT', 7860)))
|