Каждый из нас ругал синоптиков, когда оказывался под дождем, не имея в руках зонта. В топике я расскажу Вам как сделать прогноз погоды на основе модели WRF (Weather Research & Forecasting Model) на несколько суток вперед.
WRF — это численная модель предсказания погоды, которая подходит как для прогнозирования состояния атмосферы, так и для научных исследований. Разрабатывается сообществом научных организаций США, в том числе Национальным центром атмосферы и океана, Национальным центром атмосферных исследований.
Представляет собой систему модулей: модуль подготовки начальных и граничных данных (WRF Preprocessing System), собственно решающее ядро (Advanced Research WRF), модуль постпроцессинга (WRF Postprocessing System).
Большая часть модели (собственно вся математика) реализована на языке fortran с использованием библиотеки MPI. На C написаны модули для работы с данными. Модель доступна в исходных кодах.
Естественно модель потребляет огромное количество процессорного времени, и спроектирована для запуска на суперкомпьютерах, т. к. прогноз погоды — одна из сложнейших задач.
Скачивается набор входных данных (текущее состояние атмосферы). Затем запускаетмя модуль препроцессинга, которые состоит из трех программ:
Затем после завершения расчета мы получаем набор данных, т.е. прогноз состояния атмосферы на несколько суток вперед с дискретизацией в 1 час.
Теперь необходимо обработать эти данные и построить слайды, на которые бы мы нанесли приземную температуру, ветер, давление и осадки. На самом деле wrf продуцирует большое число полей, но мы ограничимся только этими. Для этих целей воспользуемся программа wrfpost.exe из модуля постпроцессинга.
Если у Вам не завалялся суперкомпьютер, то считать модель будет долго.
В домашних условиях можно использовать Core i5 или i7, чем больше ядер — тем быстрее будет считать. Но я взял пару 4-х ядерных Xeon'ов с 8 ГБ оперативной памяти под Slackware 12. Помимо копиляторов необходимо установить библиотеки MPI, например, MPICH2.
Единственное требование — платформа должна быть x86_64. Иначе препроцессинг не заведется.
Затраты по времени для области 3000 x 3000 км (прогноз на 2 суток) приведены в таблице ниже.
Все настройки задаются в файлах namelist.input и namelist.wps.
Шаги по осям X и Y (параметры DX, DY) лучше ставить одинаковыми. И шаг должен зависит от тех мощностей, которыми Вы располагаете. Поиграться хватит 10-50 км.
Шаг по времени DT рекомендуется выставлять равным 9 * DX (в км). DX, DY задаются в метрах, а DT в секундах.
Относительно параметризаций (пограничный, приземный слой, конвекция, микрофизика) лучше придерживаться рекомендованных параметров:
Официальный сайт модели: www.wrf-model.org
Компоненты модели: www.mmm.ucar.edu/wrf/users/download/get_sources.html
Рекомендую качать версию 3.2.1. Как минимум, потребуются:
Если хотите считать с шагом меньше 10 км, то нужно будет скачать более подробный рельеф.
Программу grads (для построения слайдов) можно взять из проекта opengrads.org
Полное руководство пользователя (eng), он-лайн версия + pdf.
Готов ответить на вопросы и помочь в запуске, если у кого-то появится желание. Можно постараться хорошо настроить модель и давать прогноз погоды самому себе.
Для затравки предлагаю Вашему вниманию слайды с прогнозами на субботу (завтра проверите):
1. Температура у Земли и ветер на высоте 10м
2. Приземное давление и осадки, накопленные от начала счета*
Все картинки, доспуны в альбоме: imgur.com/a/XqBi6 (надеюсь выдержит).
Для сравнения прогноз по Москве от Яндекса: pogoda.yandex.ru/moscow/details
Несколько слов о WRF
WRF — это численная модель предсказания погоды, которая подходит как для прогнозирования состояния атмосферы, так и для научных исследований. Разрабатывается сообществом научных организаций США, в том числе Национальным центром атмосферы и океана, Национальным центром атмосферных исследований.
Представляет собой систему модулей: модуль подготовки начальных и граничных данных (WRF Preprocessing System), собственно решающее ядро (Advanced Research WRF), модуль постпроцессинга (WRF Postprocessing System).
Большая часть модели (собственно вся математика) реализована на языке fortran с использованием библиотеки MPI. На C написаны модули для работы с данными. Модель доступна в исходных кодах.
Естественно модель потребляет огромное количество процессорного времени, и спроектирована для запуска на суперкомпьютерах, т. к. прогноз погоды — одна из сложнейших задач.
Как собственно работает модель?
Скачивается набор входных данных (текущее состояние атмосферы). Затем запускаетмя модуль препроцессинга, которые состоит из трех программ:
- geogrid.exe — обрабатывает статические данные (рельеф, типы почвы, гидрография);
- ungrib.exe — распаковывает начальные данные;
- metgrid.exe — интерполирует, полученные выше данные, в сетку модели.
- real.exe — выполняет вертикальную интерполяцию входных данных;
- wrf.exe — собственно разрешающее ядро.
Затем после завершения расчета мы получаем набор данных, т.е. прогноз состояния атмосферы на несколько суток вперед с дискретизацией в 1 час.
Теперь необходимо обработать эти данные и построить слайды, на которые бы мы нанесли приземную температуру, ветер, давление и осадки. На самом деле wrf продуцирует большое число полей, но мы ограничимся только этими. Для этих целей воспользуемся программа wrfpost.exe из модуля постпроцессинга.
Вычислительные ресурсы
Если у Вам не завалялся суперкомпьютер, то считать модель будет долго.
В домашних условиях можно использовать Core i5 или i7, чем больше ядер — тем быстрее будет считать. Но я взял пару 4-х ядерных Xeon'ов с 8 ГБ оперативной памяти под Slackware 12. Помимо копиляторов необходимо установить библиотеки MPI, например, MPICH2.
Единственное требование — платформа должна быть x86_64. Иначе препроцессинг не заведется.
Затраты по времени для области 3000 x 3000 км (прогноз на 2 суток) приведены в таблице ниже.
Шаг, км | Точек | Время вычислений, ч. |
10 | 301 x 301 | 10 |
20 | 151 x 151 | 6 |
30 | 101 x 101 | 4 |
Пожелания по настройке
Все настройки задаются в файлах namelist.input и namelist.wps.
Шаги по осям X и Y (параметры DX, DY) лучше ставить одинаковыми. И шаг должен зависит от тех мощностей, которыми Вы располагаете. Поиграться хватит 10-50 км.
Шаг по времени DT рекомендуется выставлять равным 9 * DX (в км). DX, DY задаются в метрах, а DT в секундах.
Относительно параметризаций (пограничный, приземный слой, конвекция, микрофизика) лучше придерживаться рекомендованных параметров:
&physics
mp_physics = 8,8,8
ra_lw_physics = 1,1,1,
ra_sw_physics = 1,1,1,
sf_sfclay_physics = 1,1,1,
sf_surface_physics = 2,2,2,
bl_pbl_physics = 1,1,1,
cu_physics = 1,0,0,
/
Подробное описание всех параметров приведено в Руководстве пользователя.Где скачать?
Официальный сайт модели: www.wrf-model.org
Компоненты модели: www.mmm.ucar.edu/wrf/users/download/get_sources.html
Рекомендую качать версию 3.2.1. Как минимум, потребуются:
WRF model V3.2.1,
WRF Preprocessing System V3.2.1,
WRF Postprocessing System V3.2,
low-resolution geographical data (10' resolution),
Начальные данные (разрешение 1°, размер порядка 500МБ): www.nco.ncep.noaa.gov/pmb/products/gfs
Чтобы скачать модель нужно пройти процедуру простой регистрации.Если хотите считать с шагом меньше 10 км, то нужно будет скачать более подробный рельеф.
Программу grads (для построения слайдов) можно взять из проекта opengrads.org
Полное руководство пользователя (eng), он-лайн версия + pdf.
Готов ответить на вопросы и помочь в запуске, если у кого-то появится желание. Можно постараться хорошо настроить модель и давать прогноз погоды самому себе.
Результаты
Для затравки предлагаю Вашему вниманию слайды с прогнозами на субботу (завтра проверите):
1. Температура у Земли и ветер на высоте 10м
2. Приземное давление и осадки, накопленные от начала счета*
Все картинки, доспуны в альбоме: imgur.com/a/XqBi6 (надеюсь выдержит).
Для сравнения прогноз по Москве от Яндекса: pogoda.yandex.ru/moscow/details
* К сожалению поле часовых осадков построить не удалось, т. к. моделью выводятся осадки только от начала счета (от 03ч. 22.07.2011 MSK).