AI Field-Level Microclimate Weather Forecasting System

We design and deploy artificial intelligence systems: from prototype to production-ready solutions. Our team combines expertise in machine learning, data engineering and MLOps to make AI work not in the lab, but in real business.
Showing 1 of 1 servicesAll 1566 services
AI Field-Level Microclimate Weather Forecasting System
Medium
~1-2 weeks
FAQ
AI Development Areas
AI Solution Development Stages
Latest works
  • image_web-applications_feedme_466_0.webp
    Development of a web application for FEEDME
    1161
  • image_ecommerce_furnoro_435_0.webp
    Development of an online store for the company FURNORO
    1041
  • image_logo-advance_0.png
    B2B Advance company logo design
    561
  • image_crm_enviok_479_0.webp
    Development of a web application for Enviok
    823
  • image_logo-aider_0.jpg
    AIDER company logo development
    762
  • image_crm_chasseurs_493_0.webp
    CRM development for Chasseurs
    848

Разработка AI-системы прогнозирования погоды на уровне поля (Microclimate)

Глобальные метеомодели (GFS, ECMWF) предсказывают погоду с разрешением 9-25 км. Для агрономии важен уровень поля: микроклимат в низине может отличаться от возвышенности на 3-5°C по ночным минимумам — критически для заморозков и росяной точки. AI downscaling уточняет прогноз до 100 м.

Разница между глобальным и полевым прогнозом

Почему глобальный прогноз недостаточен:

  • Заморозок на конкретном поле при положительной температуре по GFS
  • Ночной туман в долине, которого нет на возвышенности
  • Локальные дожди, пропущенные в глобальной сетке
  • Влажность почвы — критически зависит от локальной топографии и почвенного состава

Что важно аграрию:

  • Риск заморозка: температура < 0°C в ночные часы (опасно при цветении)
  • Риск полегания: скорость ветра
  • Срок высыхания: влажность почвы + температура после дождя
  • Риск болезней: дни с RH > 80% при температуре 15-25°C

Statistical Downscaling (BCSD)

Bias Correction and Spatial Disaggregation: Берём прогноз NWP-модели (GFS, ECMWF) и корректируем его на основе исторической статистики по конкретной точке.

def bias_correct_temperature(nwp_forecast, station_history, nwp_history):
    """
    BCSD: подогнать CDF прогноза GFS к CDF наблюдений агрометеостанции
    """
    from scipy import stats

    # Строим quantile mapping
    nwp_quantiles = np.percentile(nwp_history, np.arange(1, 100))
    obs_quantiles = np.percentile(station_history, np.arange(1, 100))

    # Применяем к новому прогнозу
    corrected = np.interp(nwp_forecast, nwp_quantiles, obs_quantiles)
    return corrected

Статистики коррекции: Mean bias, systematic cold/warm bias в ночные/дневные часы, seasonal bias.

Deep Learning Downscaling

SRGAN/ESRGAN для метеопрогнозов: Super-Resolution Generative Adversarial Network — адаптация CV-архитектуры для метеорологии. Вход: 9×9 км сетка GFS → выход: 1×1 км поле прогноза.

U-Net архитектура:

class WeatherDownscalingUNet(nn.Module):
    def __init__(self, in_channels, out_channels):
        super().__init__()
        # Encoder: уменьшаем масштаб GFS прогноза
        self.encoder = ...
        # Decoder: разворачиваем к высокому разрешению
        self.decoder = ...
        # Skip connections: добавляем статичные факторы (DEM, почва, LULC)
        # на каждом уровне декодера

Статические предикторы:

  • DEM (Digital Elevation Model): топография определяет air drainage, cold air pooling
  • Aspect: склон на север vs. юг влияет на инсоляцию
  • Land use / land cover: лес vs. поле (разная теплоёмкость)
  • Расстояние до водоёмов: озёра и реки регулируют температуру

Агрометеорологические индексы

Growing Degree Days (GDD):

def gdd(temp_max, temp_min, base_temp=10):
    """Тепловые единицы для расчёта фенологии"""
    return max(0, (temp_max + temp_min) / 2 - base_temp)

accumulated_gdd = cumsum(gdd_daily_values)

Drought indices:

  • SPI (Standardized Precipitation Index): нормированные осадки
  • SPEI (SPI + Evapotranspiration): учитывает водный баланс
  • NDVI-based drought: спутниковый индекс стресса растительности

Disease risk indices:

  • Blight risk: для фитофторы (томаты, картофель): RH > 80% при 15-25°C за N часов
  • Rust risk: для злаковых — температура + влажность + скорость ветра

Ранние предупреждения

Автоматические алерты агроному:

  • Заморозок: t_min < 0°C за 48 часов → push-уведомление с точным полем на карте
  • Засуха: SPI < -1 в течение 3+ недель → рекомендация по поливу
  • Болезнь: превышение disease risk index → рекомендация фунгицидной обработки
  • Ветер > 7 м/с → приостановить химобработку

Geofenced уведомления: Алерты персонализированы по полям агронома — не общий прогноз, а "На вашем поле Участок 3А в ночь ожидается -2°C".

Инфраструктура данных

Метеостанции собственной сети: IoT-датчики (Davis Instruments, Onset HOBO) на ключевых полях. Передача через GPRS/LoRaWAN каждые 15-30 минут. Сравнение с GFS → обучение bias-correction модели.

API источников:

  • Open-Meteo: бесплатные NWP прогнозы (GFS, ECMWF, Copernicus) через REST
  • VisualCrossing / Tomorrow.io: коммерческие API с высоким разрешением
  • ERA5 (ECMWF Reanalysis): исторические данные для обучения модели

Сроки: базовая bias-correction система с агрометеостанцией + API + алерты — 4-5 недель. Deep Learning downscaling с U-Net + disease risk модели — 3-4 месяца.