DmitrMakeev commited on
Commit
40d1c0a
·
verified ·
1 Parent(s): 7abc7f1

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +15 -12
app.py CHANGED
@@ -707,7 +707,7 @@ INPUT_DATA = {
707
  "Кальций хлорид": {"Ca": 0.272, "Cl": 0.483} # Хлор теперь учитывается
708
  },
709
  "profileSettings": {
710
- "P": 60, "K": 194, "Mg": 48.5, "Ca": 79.25, "S": 79.445, "Cl": 48.5, # Добавлен Cl
711
  "NO3_RAT": 1.5, "TOTAL_NITROG": 138.57, "liters": 100
712
  }
713
  }
@@ -728,9 +728,10 @@ class NutrientCalculator:
728
  'P': self.profile["P"],
729
  'K': self.profile["K"],
730
  'Mg': self.profile["Mg"],
731
- 'Ca': self.profile["Ca"],
 
732
  'S': self.profile["S"],
733
- 'Cl': self.profile.get("Cl", 0), # Добавлен Cl
734
  'N (NO3-)': self.profile["TOTAL_NITROG"] * (self.profile["NO3_RAT"] / total_parts),
735
  'N (NH4+)': self.profile["TOTAL_NITROG"] * (1 / total_parts)
736
  }
@@ -786,15 +787,17 @@ class NutrientCalculator:
786
 
787
  def _distribute_calcium(self):
788
  """Распределение кальция между селитрой и хлоридом"""
789
- if self.profile["NO3_RAT"] <= 2: # При соотношении NO3:NH4 <= 2
790
- # Считаем, сколько кальция нужно заменить
791
- ca_to_replace = self.target["Ca"]
792
-
793
- # Добавляем кальций из CaCl2
794
- self._apply_fertilizer("Кальций хлорид", "Ca", ca_to_replace)
795
- else:
796
- # Иначе используем только кальциевую селитру
797
- self._apply_fertilizer("Кальциевая селитра", "Ca", self.target["Ca"])
 
 
798
 
799
  def _verify_results(self):
800
  deficits = {}
 
707
  "Кальций хлорид": {"Ca": 0.272, "Cl": 0.483} # Хлор теперь учитывается
708
  },
709
  "profileSettings": {
710
+ "P": 60, "K": 194, "Mg": 48.5, "Ca": 79.25, "S": 79.445, "CaCl": 48.5, # Добавлен Cl
711
  "NO3_RAT": 1.5, "TOTAL_NITROG": 138.57, "liters": 100
712
  }
713
  }
 
728
  'P': self.profile["P"],
729
  'K': self.profile["K"],
730
  'Mg': self.profile["Mg"],
731
+ 'Ca': self.profile["Ca"], # Общий кальций
732
+ 'CaCl': self.profile.get("CaCl", 0), # Кальций из CaCl2
733
  'S': self.profile["S"],
734
+ 'Cl': 0, # Хлор пока не учитываем
735
  'N (NO3-)': self.profile["TOTAL_NITROG"] * (self.profile["NO3_RAT"] / total_parts),
736
  'N (NH4+)': self.profile["TOTAL_NITROG"] * (1 / total_parts)
737
  }
 
787
 
788
  def _distribute_calcium(self):
789
  """Распределение кальция между селитрой и хлоридом"""
790
+ ca_target = self.target["Ca"] # Общий кальций
791
+ cacl_target = self.target["CaCl"] # Кальций из CaCl2
792
+
793
+ # 1. Вносим кальций из CaCl2
794
+ if cacl_target > 0:
795
+ self._apply_fertilizer("Кальций хлорид", "Ca", cacl_target)
796
+
797
+ # 2. Оставшийся кальций берем из кальциевой селитры
798
+ remaining_ca = ca_target - cacl_target
799
+ if remaining_ca > 0:
800
+ self._apply_fertilizer("Кальциевая селитра", "Ca", remaining_ca)
801
 
802
  def _verify_results(self):
803
  deficits = {}