Прогноз вредителей в теплице: как будет работать система Gros.farm на основе тепловых сумм (degree-days)
Как прогнозировать белокрылку, трипсов, тлю и паутинного клеща в теплице по тепловым суммам, наблюдениям и данным микроклимата.
Макеев Андрей
Основатель Gros.farm
28 августа 2025 г.•17 мин чтения
5
724
Для кого и зачем
Агрономы и владельцы теплиц: понимать, что прогноз — реален и полезен, но не «магия».
Клиенты блога: увидеть дорожную карту: «что будет в продукте и как это поможет».
Разработчики Gros.farm: получить понятное ТЗ по данным, логике, API, интерфейсам.
Кратко о чём речь в статье
Региональные климат-карты в теплицах почти бесполезны; нужен локальный прогноз по микроклимату зоны.
Мы комбинируем: degree-days (как в DDRP-подобных моделях) + тепличный контекст (вентиляция, фенофаза, санитария, обработки) + живые наблюдения (ловушки и осмотры).
Выдаём Risk-score и ETA ближайших событий («массовый выход имаго через 6–9 дней») плюс практичные рекомендации IPM.
Точность растёт с дисциплиной наблюдений и локальной калибровкой.
Что лежит в основе
Есть научная open-source система под названием DDRP (Degree-Days, Risk, and Phenological event mapping). Она написана на языке R и используется в США для прогнозирования вредителей в открытом грунте.
Как работает DDRP:
Берёт климатические данные (температуру по часам/дням).
Считает так называемые «тепловые суммы» (degree-days, DD).
По известным биологическим порогам (например, сколько тепла нужно, чтобы личинка превратилась во взрослое насекомое) прогнозирует сроки появления стадий и риск вспышки.
Используется для инвазивных вредителей (например, плодожорки или саранчи).
Почему это можно использовать в теплицах:
В теплицах тоже есть температура, значит, тепловые суммы работают.
Мы можем создать «сущности» (белокрылка, трипсы, тли, паутинный клещ) и задать им их параметры.
DDRP — открытая система: её можно адаптировать, дообучить и встроить в Gros.farm как ядро прогноза.
Мини-глоссарий
Degree-days (DD) — «тепловые суммы». Математический способ посчитать, сколько тепла насекомое «накопило» для развития.
Нимфа — промежуточная стадия развития насекомого между личинкой и взрослой особью (имаго).
MVP (Minimum Viable Product) — минимальный рабочий продукт. Первая версия системы, которая уже полезна пользователям, но ещё не полная.
ETA (Estimated Time of Arrival) — прогнозируемое время наступления события (например, через 6–9 дней будет пик имаго).
Risk-score — показатель риска (от 0 до 100), который система считает по текущим условиям.
IPM (Integrated Pest Management) — интегрированная система защиты растений: сочетание наблюдений, биозащиты и химии.
Ассимиляция данных — метод, когда модель подстраивается под фактические наблюдения (например, ловушки), чтобы быть точнее.
Часть первая. Проблема и контекст
Почему это сложно в теплице
Нет «зимовки» в классическом смысле. В теплице климат сглажен, популяции не «обнуляются» зимой и дают больше поколений.
Климат — управляемый. Режимы вентиляции, штор, полива и обогрева меняют условия быстрее, чем открытое поле.
Сильное влияние технологии. Биозащита, санитарные практики, поставки рассады и логистика внутри хозяйства зачастую важнее региональной погоды.
Летние неотапливаемые теплицы зависят от улицы: есть миграция вредителей снаружи, форточки открыты — и это надо учесть.
Что реально можно предсказывать
Окна высокого риска (когда вероятность взлёта численности велика).
ETA пиков стадий (через сколько дней будет массовый выход имаго/яйцекладка).
Оценка числа поколений за сезон/месяц при текущем микроклимате.
Что не обещаем
«Стопроцентное» предсказание вспышки без наблюдений.
Универсальную «карту страны» для тепличников — теплица живёт по своим законам.
Архитектура решения (три слоя)
A) Ядро degree-days (DD)
Определяет «скорость времени» для вредителя: по почасовой температуре считаем накопленные тепловые суммы, чтобы понять прогресс жизненных стадий (яйцо → личинка/нимфа → куколка/нимфа → имаго).
Что нужно на вход:
Почасовая температура в зоне (датчики Gros.farm).
Базовые параметры вида: нижний и верхний пороги развития, DD по стадиям, опционально — штрафы за экстремальные T.
Что на выходе:
Процент завершения текущей стадии.
Дата/окно наступления следующей стадии.
Прогноз количества поколений за период.
B) Тепличный контекст
Модификаторы, которые «приземляют» расчёт к реальности конкретной зоны.
Каждые N дней сравниваем модель с фактом и корректируем скрытую численность (простая ассимиляция).
Калибруем локальные коэффициенты (плодючесть, смертность после обработок) на истории хозяйства.
Результат трёх слоёв: понятный Risk-score (0–100), ETA ближайших событий и рекомендации (что сделать и когда).
Математика ядра
3.1. Что такое degree-days
Degree-days (DD) — это «тепловая валюта» развития насекомых. За каждый час/день организм «копит» DD, если T выше нижнего порога (и ниже верхнего). Когда суммарные DD достигают значения для стадии — наступает переход.
Tbase — ниже этой температуры развитие почти останавливается.
Tupper — выше этой температуры развитие не ускоряется и/или повышается смертность.
DD по стадиям — сколько «тепла» нужно, чтобы пройти каждую фазу (яйцо, личинка/нимфа, куколка/нимфа, подготовка имаго).
3.2. Как считать DD в теплице
В теплицах суточные колебания могут быть значимыми (утро/день/ночь). Для точности используем метод синусоиды (double sine) или, упрощённо, «треугольник» по T_min/T_max, с обрезкой по Tbase/Tupper.
Суть алгоритма (упрощённо):
Берём почасовую T.
Для каждого часа:
Если T < Tbase → вклад = 0
Если T > Tupper → вклад = Tupper − Tbase
Иначе → вклад = T − Tbase
Суммируем за сутки → получаем DD_сутки.
Накапливаем по дням.
Для резких суточных волн лучше интегрировать синусоидально между T_min и T_max, чтобы не завышать/не занижать DD.
DD на цикл ≈ 250 DD (при 25 °C полный цикл ≈ 25 дней)
Разбивка по стадиям (пример для MVP, уточняется в калибровке):
яйцо: ~70 DD
личинка: ~100 DD
куколка/нимфа: ~50 DD
подготовка имаго/до яйцекладки: ~30 DD
3.4. Вычисление прогресса стадий
Для каждой стадии храним «сколько DD накоплено». Как только достигаем порога — фиксируем переход и начинаем счёт следующей стадии. Параллельно учёт adult lifespan (в DD) и средней плодючести позволяет оценить темп появления нового поколения.
3.5. Экстремальные температуры (опционально)
Вводим мягкие штрафы смертности при длительном нахождении выше/ниже порогов (например, >35 °C или <8 °C). Это снижает «эффективную численность» и корректирует ETA.
3.6. Псевдокод ядра
# вход: почасовая T, параметры вида dd_day = 0 for hour in day_hours: Th = T_hour[hour] if Th <= Tbase: add = 0 elif Th >= Tupper: add = (Tupper - Tbase) else: add = (Th - Tbase) dd_day += add / 24.0 # нормируем к суткам при почасовых данных
state.dd_accum += dd_day
# переход стадий while state.dd_accum >= stage_threshold[state.stage]: state.dd_accum -= stage_threshold[state.stage] state.stage = next_stage(state.stage)
# оценка ETA до следующего события eta_days = (stage_threshold[state.stage] - state.dd_accum) / mean_dd_per_day
3.7. Границы применимости
В зимних отапливаемых теплицах — расчёты стабильнее (T ровнее), пики легче поймать по DD.
В летних неотапливаемых теплицах — добавляем внешний фон (наружные DD) в блок контекста, т.к. занос с улицы повышает риск.
Без дисциплины мониторинга точность падает. Мы прямо в UI покажем индикатор «качества данных» и попросим добрать недостающие наблюдения.
Полный алгоритм (ежедневный расчёт)
6.1. Ежедневный цикл по каждой зоне × виду
Degree-days ядро
Берём почасовую T зоны → часовой вклад DD (обрезка по Tbase/Tupper)
Суммируем за сутки → dd_today → копим в state.dd_accum
Когда dd_accum ≥ порог стадии → переключаем стадию, остаток переносим на следующую
Контекст
Influx (занос): шкалируем по ventilation.open_hours / 24. Для летних теплиц умножаем на outdoor_pressure_index (нормированный outdoor_dd последних 7–10 дней).
Host (фенофаза): множитель из профиля вида (host_suitability[crop_phase])
San (санитария): внутренний индекс 0–1 (чем лучше санитария, тем ниже). В MVP — задаётся вручную по зоне; позже — автоматические чек-листы.
Применяем контекст к «эффективной численности» и/или к fecundity_mean (например, fecundity_eff = fecundity_mean × Host × (1−San_weight×San)).
Учёт событий
Обработки: применяем мгновенный мультипликатор смертности (например, population *= 0.6) и подавление плодючести/«репеллентный эффект» на N дней.
Биоконтроль: задаём влияние как снижение рождения/выживаемости на N дней; добавим простой decay-профиль.
Ассимиляция наблюдений (в дни наблюдений)
Считаем нормированный наблюдаемый индекс ObsIndex:
из ловушек: (count_total/traps_used) / threshold_trap
из листьев: (nymphs_per_leaf) / threshold_leafили%_infested_leaves / threshold_%
берём максимум/взвешенную сумму (например, 0.6traps + 0.4leaves)
POST /pest/event тело: zone_id, date, event, active|agent, dose, area, note
GET /pest/status?zone_id=&species_id= ответ: текущая стадия, Risk, ETA, рекомендации, доверие
GET /pest/chart?zone_id=&species_id=&period= ответ: ряды DD/стадий/наблюдений/событий для графика
Особенности для летних неотапливаемых теплиц
Сильные суточные колебания T → считать DD по часам (у нас уже есть телеметрия)
Внешний фон: outdoor_dd последних 7–10 дн как прокси «сезон миграции»
Проветривание ежедневно 6–10 ч: Influx растёт → в правилах поднимаем частоту мониторинга и снижаем пороги для вмешательств
Переезды рассады/новые поставки — всегда «событие риска» (обязательная запись в журнал)
Что нужно команде разработки для старта (конкретика)
Микросервис pest-forecast:
хранилище профилей видов (species.json в БД)
ETL почасовой T (из телеметрии), дневной open_hours, фаза культуры
планировщик daily_cron расчёта (по зонам×видам)
REST-эндпойнты (выше) + нотификатор
Фронт:
Карточка вида + график + журнал наблюдений + CTA «создать задачу»
Индикатор качества данных и «чек-лист мониторинга»
Дата-качество:
валидаторы: «указаны ли ловушки за последнюю неделю», «есть ли осмотры листьев в зоне»
Тесты:
юнит-тест DD-ядра (граничные температуры, разные профили)
интеграционные для ассимиляции наблюдений и событий обработок
Прогноз вредителей в теплице: будущее в Gros.farm
Зачем это нужно
Любой агроном знает: белокрылка, трипсы, тли или паутинный клещ появляются «вдруг». Сегодня чисто — через неделю уже вспышка. И начинается гонка: срочные обработки, срыв биозащиты, потери урожая.
Мы хотим перевернуть эту логику. В Gros.farm мы строим систему, которая будет заранее предупреждать о рисках, показывать окна развития вредителей и помогать принимать решение вовремя, а не «по факту».
Как это будет работать
1. Ядро прогноза: тепловые суммы (degree-days)
Развитие насекомых напрямую зависит от температуры. У каждого вида есть «порог развития» (например, белокрылка почти не развивается ниже +10 °C). Если считать, сколько тепла насекомое накопило за день, можно предсказать, через сколько дней оно перейдёт в новую стадию: вылетит из яйца, станет имаго и начнёт откладывать яйца.
Эта идея называется degree-days (сумма тепла). Она давно используется в энтомологии, но мы перенесём её в теплицу, опираясь на данные с датчиков Gros.farm.
2. Тепличный контекст
В отличие от поля, теплица живёт по своим законам:
летом открыты форточки → риск заноса выше,
культура цветёт → листья и цветы особенно привлекательны для вредителей,
санитария на уровне → развитие замедляется,
был выпуск энтомофага → численность падает.
Все эти факторы будут учтены в прогнозе. Это и есть «второй слой» системы.
3. Наблюдения и коррекция
Ни одна модель не заменит реальность. Поэтому третий слой — это живые данные из теплицы:
липкие ловушки,
осмотры листьев,
фото-ловушки (в перспективе — с автоматическим распознаванием).
Каждый раз, когда мы вносим наблюдения, модель «подтягивается» к факту и становится точнее.
Что будет видеть пользователь
Risk-score (0–100): вероятность вспышки в ближайшие дни.
ETA события: «массовый выход имаго через 6–9 дней».
Рекомендация: «повесьте дополнительные ловушки», «подготовьте выпуск Encarsia formosa», «проведите контрольный осмотр через 3 дня».
Всё это — в интерфейсе Gros.farm: карточка по вредителю, график стадий, журнал наблюдений и кнопка «создать задачу» для сотрудников.
С какими вредителями начнём
На старте мы сосредоточимся на четырёх «классиках теплицы»:
Белокрылка тепличная (Trialeurodes vaporariorum)
Трипс табачный (Thrips tabaci)
Тли (Myzus persicae, Aphis gossypii и др.)
Паутинный клещ (Tetranychus urticae)
Именно они чаще всего «выстреливают» в закрытом грунте и наносят основные убытки.
Честные ожидания
Это не «оракул» и не «100% гарантия вспышки».
Система будет работать как ранний предупреждатель: она показывает окна риска и помогает агроному принять меры вовремя.
Точность зависит от дисциплины мониторинга: чем регулярнее ловушки и осмотры, тем надёжнее прогноз.
Что нужно хозяйству, чтобы это работало
Датчики температуры в каждой зоне (лучше почасовые данные).
Липкие ловушки: 6 шт на 1000 м², еженедельный счёт + фото.
Осмотр 30 листьев на секцию раз в неделю.
Фиксация обработок и выпусков биозащиты.
В летних неотапливаемых теплицах — подключение наружной температуры (чтобы учитывать занос с улицы).
Почему это реально
Мы не изобретаем с нуля: метод тепловых сумм десятилетиями используется в науке (например, модели DDRP для США). Мы адаптируем этот подход под теплицу, добавляем контекст (вентиляция, санитария, культура) и встроим в цифровую систему Gros.farm.
Это значит, что через несколько сезонов тепличник сможет не просто «реагировать» на белокрылку или трипса, а управлять их динамикой — сэкономив на обработках и сохранив урожай.