DmitrMakeev commited on
Commit
c8e2c45
·
verified ·
1 Parent(s): 0871cb0

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +71 -11
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
- "POTASSIUM_SULFATE": {"weight": 0.18, "fert": "Калий сернокислый", "main_element": "K"},
846
- "MAGNESIUM_SULFATE": {"weight": 0.1, "fert": "Сульфат магния", "main_element": "Mg"},
847
- "MONOPOTASSIUM_PHOSPHATE": {"weight": 0.14, "fert": "Монофосфат калия", "main_element": "P"},
848
- "CALCIUM_SULFATE": {"weight": 0.45, "fert": "Сульфат кальция", "main_element": "Ca"}, # Новый вес
849
- "MAGNESIUM_NITRATE": {"weight": 0.15, "fert": "Нитрат магния", "main_element": "Mg"} # Новый вес
850
- }
851
  # Коэффициенты распределения для кальциевой селитры
852
  self.calcium_nitrate_ratios = {
853
  "Ca": 0.7, # 70% дефицита кальция покрываем кальциевой селитрой
854
- "NO3": 0.3 # 30% дефицита NO3 покрываем кальциевой селитрой
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: