2026-04-24 18:34:17 +03:30
|
|
|
from functools import cached_property
|
|
|
|
|
|
2026-03-21 23:50:36 +03:30
|
|
|
from django.apps import AppConfig
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class FertilizationConfig(AppConfig):
|
|
|
|
|
default_auto_field = "django.db.models.BigAutoField"
|
|
|
|
|
name = "fertilization"
|
|
|
|
|
verbose_name = "Fertilization"
|
2026-04-24 18:34:17 +03:30
|
|
|
tone_file = "config/tones/fertilization_tone.txt"
|
|
|
|
|
|
|
|
|
|
@cached_property
|
|
|
|
|
def optimizer_defaults(self):
|
|
|
|
|
return {
|
2026-04-24 22:20:15 +03:30
|
|
|
"simulation_model": "Wofost81_NWLP_CWB_CNB",
|
2026-04-24 18:34:17 +03:30
|
|
|
"validity_days": 7,
|
2026-04-28 04:11:49 +03:30
|
|
|
"default_application_interval_days": 14,
|
2026-04-24 18:34:17 +03:30
|
|
|
"rain_delay_threshold_mm": 3.0,
|
|
|
|
|
"stage_targets": {
|
|
|
|
|
"initial": {
|
|
|
|
|
"n": 28.0,
|
|
|
|
|
"p": 20.0,
|
|
|
|
|
"k": 24.0,
|
|
|
|
|
"formula": "10-52-10",
|
|
|
|
|
"application_method": "استارتر نواری یا همراه آب آبیاری",
|
|
|
|
|
"timing": "همزمان با استقرار بوته و در ساعات خنک روز",
|
2026-04-28 04:11:49 +03:30
|
|
|
"application_interval_days": 10,
|
2026-04-24 18:34:17 +03:30
|
|
|
},
|
|
|
|
|
"vegetative": {
|
|
|
|
|
"n": 55.0,
|
|
|
|
|
"p": 28.0,
|
|
|
|
|
"k": 42.0,
|
|
|
|
|
"formula": "20-20-20",
|
|
|
|
|
"application_method": "کودآبیاری یا سرک خاکی سبک",
|
|
|
|
|
"timing": "صبح زود و ترجیحا قبل از نوبت آبیاری",
|
2026-04-28 04:11:49 +03:30
|
|
|
"application_interval_days": 12,
|
2026-04-24 18:34:17 +03:30
|
|
|
},
|
|
|
|
|
"flowering": {
|
|
|
|
|
"n": 42.0,
|
|
|
|
|
"p": 32.0,
|
|
|
|
|
"k": 58.0,
|
|
|
|
|
"formula": "15-10-30",
|
|
|
|
|
"application_method": "کودآبیاری یا محلول پاشی سبک",
|
|
|
|
|
"timing": "صبح زود و دور از تنش گرمایی ظهر",
|
2026-04-28 04:11:49 +03:30
|
|
|
"application_interval_days": 14,
|
2026-04-24 18:34:17 +03:30
|
|
|
},
|
|
|
|
|
"fruiting": {
|
|
|
|
|
"n": 35.0,
|
|
|
|
|
"p": 24.0,
|
|
|
|
|
"k": 68.0,
|
|
|
|
|
"formula": "12-12-36",
|
|
|
|
|
"application_method": "کودآبیاری با تاکید بر پتاس",
|
|
|
|
|
"timing": "صبح زود یا نزدیک غروب",
|
2026-04-28 04:11:49 +03:30
|
|
|
"application_interval_days": 10,
|
2026-04-24 18:34:17 +03:30
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
"strategy_profiles": [
|
|
|
|
|
{
|
|
|
|
|
"code": "maintenance",
|
|
|
|
|
"label": "تغذیه نگهدارنده",
|
|
|
|
|
"multiplier": 0.8,
|
|
|
|
|
"focus": "پایه متعادل",
|
|
|
|
|
"application_method": "کودآبیاری",
|
|
|
|
|
"formula_override": "",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"code": "balanced",
|
|
|
|
|
"label": "تغذیه متعادل",
|
|
|
|
|
"multiplier": 1.0,
|
|
|
|
|
"focus": "ازت فسفر پتاس متعادل",
|
|
|
|
|
"application_method": "کودآبیاری",
|
|
|
|
|
"formula_override": "",
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
"code": "corrective",
|
|
|
|
|
"label": "تغذیه اصلاحی",
|
|
|
|
|
"multiplier": 1.2,
|
|
|
|
|
"focus": "ازت و پتاس اصلاحی",
|
|
|
|
|
"application_method": "کودآبیاری",
|
|
|
|
|
"formula_override": "",
|
|
|
|
|
},
|
|
|
|
|
],
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
def get_optimizer_defaults(self):
|
|
|
|
|
return self.optimizer_defaults
|