Простые действия: как суперкомпьютеры определяют погоду

Мы привыкли к тому, что телефон может предсказать наше будущее — по крайней мере, в сфере погоды это выходит достаточно точно и наглядно. Благодаря приложениям с прогнозами, можно быстро определиться, в чем выйти из дома, спланировать или отложить поход на выходных, ехать или не ехать кататься на серфе во время отпуска. Но эти маленькие удобства  — всего лишь пользовательский интерфейс, за которым скрываются сложнейшие алгоритмы. Вместе с командой Windy.app мы разобрались, что происходит за кулисами погодных приложений и какова в этом роль больших данных.

Windy.app — это приложение, в котором погоду смотрят яхтсмены, альпинисты, каякеры и кайтсёрферы. Оно сосредоточено на том, чтобы предоставлять релевантные для спортсменов данные, пользуясь сразу многими погодными моделями, среди которых пользователь может выбрать подходящую. С нами пообщались Илья Дриго, метеоролог-разработчик; Павел Константинов, доцент кафедры метеорологии и климатологии МГУ, Ph.D; и Иван Кузнецов — аутдор-редактор.

Первый шаг к качественному прогнозу — сбор данных о состоянии атмосферы. Чем их больше — тем лучше.  Поэтому каждый день собираются, обрабатываются и анализируются терабайты информации о состоянии атмосферы и океана из самых разных источников — метеостанций, спутников, погодных буев, метеорологических зондов и радаров. Станции — это пункты наблюдения за погодой. Официально их больше 40 тыс. по всему миру. За метеостанциями следит государство, на территории которого они находятся. 

Еще есть Всемирная метеорологическая организация (ВМО), входящая в ООН, которая контролирует, чтобы количество станций в мире не уменьшалось и система работала. Например, когда в России из-за экономического спада 90-х их количество сильно сократилось, на деньги Всемирного банка поддерживались 300-400 самых важных для всего мира станций.

Радары появились не так давно, но метеорологи уже возлагают на них большие надежды, потому что они позволяют видеть более полную картину погоды. Например, когда мы видим в прогнозе, что через какой-то регион проходит дождевое облако, чаще всего это радарные данные.

Собранные данные поступают в центры хранения и обработки информации и передаются в центры обработки для расчета прогноза. Расчёт делается с помощью сложных программ, которые называются численными моделями прогноза погоды. Принцип их работы — в решении систем гидрофизических уравнений, которые описывают поведение атмосферы. 

Считается, что прогноз погоды — самый старый способ использования больших данных. Их передача — первый опыт свободного и бесплатного обмена подобной информацией в мире. Поэтому и говорят, что метеорологи — самые большие космополиты. Идеология всемирной службы погоды была разработана в 1963 году Виктором Бугаевым и американским профессором Векслером. Они договорились о создании всемирных метеорологических центров в Москве, Вашингтоне и Мельбурне, наблюдательной сети, систем передачи и обработки данных. 

Рассчитать прогноз на всю планету настолько сложно и дорого, что это могут позволить себе только несколько гидрометеорологических центров в мире, обладающих мощнейшими суперкомпьютерами. При этом, глобальные прогнозы важны: например, антициклоны несут воздушные массы на европейскую часть России с Белого моря и Новой Земли, и даже с моря Лаптевых. Но ответом этим морозам будет приход тепла со Средиземного моря. Без масштабных наблюдений и кооперации этого не рассчитать. 

Прогнозы тесно связаны с теорией хаоса математика и метеоролога Эдварда Лоренца (кстати, он же автор выражения «эффект бабочки»), которая заключается в том, что в свободно развивающейся системе конечное состояние почти полностью зависит от мельчайших деталей начальных условий.

И несмотря на то, что базис прогностической метеорологии был заложен уже давно, реализовать ее с высокой точностью было невозможно из-за сложности и объемов данных — об этом говорит научный руководитель Гидрометцентра России Роман Вильфанд: «…так называемый шаг интегрирования, то есть условное расстояние между двумя точками на поверхности Земли, для которых раньше считался прогноз, был минимум 300 км. То есть в принципе можно было проглядеть молодой циклон». 

Как строится прогноз?

Рассчитывать погоду можно не только на весь мир, но и локально. Для этого используют облачные суперкомпьютерные мощности и высокоэффективный код модели WRF-ARM. Эта модель разрабатывается и поддерживается мировым сообществом метеорологов и разработчиков. Из-за высоких требований к эффективности параллелизации расчетов и производительности кода, модель WRF-ARM реализована на языке Fortran. Параллелизация — это метод высокопроизводительных расчетов, когда вычисления ведутся не одно за другим, а одновременно, чтобы ускорить получение результата. И хотя WRF-ARM — программа с открытым кодом, ее эффективная настройка требует большого количества знаний и усилий специалистов — метеорологов, разработчиков параллельного кода, DevOps’ов. 

Каждую ночь нужно скачивать свежие погодные данные с серверов NOAA. После обработки они используются в качестве начальных и граничных условий для запуска модели. Например, в Windy.app рассчитывают прогноз на трое суток для территории Европы с разрешением 8 км. В метеорологии разрешением называют масштаб, на который производятся расчеты.

Чтобы система работала максимально эффективно, в Windy.app используют облачные суперкомпьютерные мощности компании Oracle. Расчеты на сетке эффективно поддаются параллелизации с использованием парадигм параллельного программирования MPI и OpenMP, поэтому для максимальной эффективности нужен кластер с низкой латентностью его внутренней сети и большим количеством CPU-ядер. 

Как погодные приложения обрабатывают данные?

В сыром виде прогноз, который генерирует погодная модель — очень неудобная для восприятия штука. Это бинарные файлы огромного размера и разного формата с сотнями переменных. 

Пример бинарного файла

Погодные приложения нужны, чтобы предоставить данные прогноза в удобном и понятном виде. Они несколько раз в день скачивают данные с самых разных источников (как открытых, так и платных), обрабатывают и автоматически проверяют их достоверность, а затем складывают в специально разработанное хранилище. Так пользователь получает самый свежий и точный прогноз для любой точки мира максимально быстро и эффективно.

Результаты визуальной обработки бинарного файла

Важен и пользовательский интерфейс. Посмотрите сами на карту ветра: сильный ветер — она фиолетовая (до 25 м/с), слабый — зеленая (7 м/с). Чтобы понять, что ветер дует с определенной силой даже не нужно смотреть на цифры. 

Атмосферные фронты позволяют яхтсменам наблюдать за региональными погодными изменениями. Это могут быть сильные ветры, дожди и грозы, туман. Фронты значительно повышают безопасность морских путешествий. Синие дуги — это холодные фронты (воздушные массы), красные — теплые, синие и красные — стационарные. Оранжевые дуги называются впадинами, это возникающие фронты.

Как выбирают погодную модель?

Модели есть двух основных типов: глобальные и локальные. Главная глобальная модель — ECMWF (European Centre for Medium-Range Weather Forecasts). Она считается лучшей для осадков и облачности. Обновляется каждые 12 часов, предоставляя прогнозы на 10 дней.

GFS27 — такая же глобальная модель, только из США, изначально она разработана для авиации. Обновляется 4 раза в день, предоставляя прогнозы на 10 дней. Главные локальные модели для США и Европы: NAM и WRF8, соответственно. Первая обновляется два раза в сутки, давая прогноз на следующие два с половиной дня. Вторая — раз в день, с прогнозом на следующие три дня.

Есть и более локальные модели: например, AROME для Франции и ближайших территорий. Зачем она вам? Если вы во Франции и собираетесь кататься на серфе в Бискайской заливе (один из лучших спотов в Европе), — это ваша модель на сегодня (она, скорее всего, будет точнее других).

Приложение — это хаб, куда приходят разные данные наблюдений и данные от разных моделей. Их структурируют и предлагают пользователю в удобном виде, при этом оставляя возможность для принятия самостоятельного решения на основе этих данных. Кайтсерфер решает, ехать ли на спот на основе данных о скорости ветра от десятка метеостанций и погодных моделей. Горнолыжник выбирает погодную модель, которая лучше всего прогнозирует снегопады в горах.

Расчеты для гор — отдельное сложное направление в метеорологии. Например, чтобы подготовиться к Олимпиаде в Сочи, представителям РосГидрометцентра потребовалось почти четыре года наблюдений. Чтобы планировать сетку соревнований, нужно было создать густую сеть локальных пунктов наблюдения, собрать статистику и, главное, промоделировать атмосферные процессы в этих сложных условиях.

Зачем столько моделей? На разных участках земной поверхности успешность моделей не одинакова. Поэтому для нужной вам территории и вида спорта вы можете выбрать как удачную модель, так и неудачную. В этом случае впечатления от одного и того же погодного приложения могут быть разными.

 

Больше, точнее, мощнее

Одна из самых известных моделей для определения больших данных — 5V. Она приписывает биг-дате следующие ключевые свойства: Volume (Объем), Velocity (Скорость), Variety (Разнородность), Veracity (Достоверность), Value (ценность). 

Метеорологические данные стали одними из первых данных, которые полностью подходят под эту модель. Действительно — это данные огромного объема (Volume) о динамично изменяющейся среде (Velocity) совершенно из разных источников (Variety), достоверность которых нужно проверять и оценивать (Veracity), от которых зависит экономики государств и жизни людей (Value).

Хаотическая природа погодных процессов предполагает огромную неопределенность. Оценить и снизить помогают методы постпроцессинга или пост-обработки модельных прогнозов. Это целый комплекс аналитических операций, которые необходимы, чтобы извлечь из огромного объема данных нужную информацию. Одним из примеров такого постпроцессинга является преобразование в прогнозе, скажем, концентрации водяного пара в хорошо знакомые понятия «туман» или «дымка». 

Для оценки вероятности и достоверности прогноза применяется техника ансамблевого моделирования. Запуская целый набор (ансамбль) моделей, используя немного разные начальные условия, получают множество вариантов развития метеорологической ситуации. Это терабайты данных, над которыми необходимо провести статистическую обработку для того, чтобы получить итоговую вероятность развития той или иной ситуации. Например, именно так оцениваются вероятные прогнозы движения тропических ураганов.

Сравнивая прогноз с реально измеренными значениями на метеостанциях, можно оценить ошибки прогноза и найти закономерности, которые приводят к ним. Корректируя их с помощью методов статобработки и машинного обучения, можно достичь высокой точности прогноза.

Рост производительности вычислений сделал прогнозы более точными. Чем мощнее компьютер, тем большее разрешение (территорию) прогноза можно рассчитать за то же время. Мощность влияет и на быстродействие системы, а быстрое обновление прогноза бывает критически важно — например в ситуации развивающегося тропического урагана, где промедление может стоить огромного ущерба. Наконец, более мощные машины позволяют использовать более вычислительно сложные методы усвоения и обработки данных, повышая точность прогноза.

Есть проекты распределённых вычислений, которые позволяют можно отдать часть мощности своего компьютера для математического моделирования: например, климатических расчетов. Вы тоже можете присоединиться к проекту Climate Prediction и помогать метеорологам. Увы, при краткосрочном прогнозе погоды это работает хуже, чем в других областях. Потому что прогноз на завтра должен быть готов сегодня, — и чем раньше, тем лучше. То есть воспользоваться распределенными вычислениями в полной мере не выйдет. 

Нейросети и будущее прогнозов

Методы машинного и глубокого обучения активно применяются в современной метеорологии. Уже есть много успешных примеров использования нейросетей для локального уточнения прогнозов, наукастинга (краткосрочного прогноза погоды) и настройки параметров численных моделей. Они позволяют эффективно находить и использовать нелинейные связи между комплексом метеорологических переменных, однако полностью заменить численные модели нейросетями пока не получается. 

Метеорологи достигли очень хороших показателей краткосрочного прогнозирования — например, погоду на следующий день можно предсказать с точностью до 90—92%. 

Но системы, настолько зависящие от постоянно меняющихся начальных условий, очень нестабильны. Поэтому будущее метеорологии не в том, чтобы предсказывать погоду с точностью до долей процентов сегодня лучше, чем вчера (прогнозы и так достаточно точны), а в том, чтобы раньше предсказать ураганы и тайфуны, шквальные ветры, волны жары, экстремальные осадки — все, что наносит ущерб людям и экономике городов, регионов и стран.

Автор: Олег Уппит

Поделиться:
Опубликовано в рубрике UncategorizedTagged , ,

SkillFactory.Рассылка