Яндекс Метеум: как работает система прогнозирования погоды с точностью до дома

Автор: Владислав Режепа, 29 ноября 2015, 15:05

26 ноября компания Яндекс анонсировала новую технологию Метеум. С ее помощью Яндекс.Погода сможет самостоятельно прогнозировать погоду, а не полагаться на данные других сервисов, как это было раньше. Чтобы постоянно оставаться максимально актуальным и точным, прогноз будет рассчитываться отдельно для каждой запрашиваемого местоположения, и пересчитываться в режиме реального времени.

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

Классическая метеорология

По своей сути модель WRF — это open-source программа, написанная на Фортране, которая отражает накопленные знания ученых о физике, динамике, атмосфере и, соответственно, о погоде. Данная модель создана, чтобы описывать сложную динамическую систему, которой является атмосфера Земли. Принцип работы данной модели можно разделить на две условные составляющие: прогнозирование физики и динамики. Физические модули WRF следят за теплом, которое поглощается и выделяется атмосферой, а также за образованием осадков в определенном месте и в определенное время. К динамической информации относится образование циклонов, роза ветров, движение воздушных масс и т.д.

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

Это была бы невыполнимая задача, если бы не накопленный опыт человечества в сфере наблюдения метеоусловий. Для этого были созданы такие вещи, как метеостанции, спутниковые спектрометры, радары, лидары и многое другое. Для того чтобы добиться требуемой точности прогнозирования, требуется использовать 10000 метеостанций по всему миру, 80 метеорологических спутников и около 1500 станций радиологического зондирования. Поэтому данные о наблюдениях за состоянием атмосферы, полученные в одно мгновение, представляют собой терабайты информации стационарных измерений, радарных сканирований и фотографий со спутников.

Система Метеум

Система расчетных областей численной модели в Метеуме спроектирована таким образом, чтобы покрывать территорию прогнозирования двумя способами: на сетке с крупным разрешением (6x6 км.) и на сетке с мелким разрешением (2x2 км.). На рисунке изображено начальное расположение  расчетных областей. Красный — внешний домен с сеткой 6x6 км., синие — вложенные области с разрешением 2x2 км. По словам компании, это базовое расположение областей, в дальнейшем спектр покрытия системы будет постоянно расширяться.

 Эти сетки взаимодействуют друг с другом, передавая необходимую погодную информацию. Для того чтобы обработать и хранить параметры атмосферы, необходимы огромные вычислительные мощности. Ежедневно на кластеры Яндекса поступает более 10Тб прогнозов, а для того, чтобы спрогнозировать погоду на 48 часов с необходимой точностью детализации требуется более 6 часов обработки.

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

Машинное обучение 

Основной расчетной моделью на кластерах Яндекса является WRF. Помимо этого, система получает прогнозы для 1200 городов по всему миру, сделанные компанией Foreca. Более подробная информация о состоянии атмосферы поступает в Метеум из американской модели GFS, которая, к слову, считается одной из самых точных моделей в мире и имеет разрешение в 0,25°. Данные этих моделей о разной метеорологической обстановке позволяют системе более точно подобрать корректировки к прогнозу и правильно выбрать исходные данные.

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

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

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

В Метеуме будут использоваться данные с барометров, установленных в обычных телефонах граждан. Конечно, их измерения не так точны, но они распределены там, где живут люди.

Как работает Метеум

Как писалось ранее, отличительная особенность Метеума — это непрерывный расчет прогноза погоды в режиме реального времени. Каждый раз, когда пользователь обращается к сервису, информация с различных погодных моделей поступает в систему. Прогнозы WRF и GFS находятся на специальном микросервисе, весят около 60 Гб и обновляются каждую минуту. Объемы и частота обновления прогноза от Foreca значительно ниже.

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

Итог

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