230 likes | 428 Views
Всероссийская научная конференция «Научный сервис в сети Интернет: решение больших задач», 22 – 27 сентября 2008 г. В. М. Степаненко. Реализация мезомасштабной атмосферной модели на вычислительных системах с распределенной памятью.
E N D
Всероссийская научная конференция «Научный сервис в сети Интернет: решение больших задач», 22 – 27 сентября 2008 г. В. М. Степаненко Реализация мезомасштабной атмосферной модели на вычислительных системах с распределенной памятью Работа поддержана программой СКИФ и проектом РФФИ 07-05-00200
План доклада • Что такое мезомасштабная атмосферная модель и какие задачи ею решаются? • 2) Описание мезомасштабной модели (Nh3d) • 3) Структура программного кода модели • 4) Результаты профилирования модели • 5) Параллельные свойства численных алгоритмов модели • 6) Результаты распараллеливания • 7) Распараллеливание гидрологической модели
Мезомасштабная атмосферная модель– математическая модель динамических и термодинамических атмосферных процессов для территорий регионального масштаба (n*100 - n*1000 км). • Приложения мезомасштабных атмосферных моделей • - краткосрочный прогноз погоды (на 1-3 суток); • региональная детализация расчетов глобальных климатических моделей; • сценарные расчеты качества воздуха и воды (перенос, трансформация и осаждение загрязняющих веществ); • исследование физических механизмов атмосферных процессов. Бризы Кучевая облачность Горные циркуляции
Мезомасштабная атмосферная модель (Nh3d) • Разработчики: • Университет г. Рединга (1989) • Университет г. Лиссабона • Университет г. Тарту • НИВЦ МГУ Блоки мезомасштабной атмосферной модели (Nh3d) Модель водоема Модель почвы и растительности Модель переноса аэрозолей Модель переноса радиации в атмосфере Уравнения динамики атмосферы Уравнение термодинамики атмосферы Блок микрофизики облачности и осадков
Система уравнений гидротермодинамики мезомасштабной атмосферной модели (Nh3d) (1) (2) (3) (4)
Мезомасштабные циркуляции и перенос аэрозоля Ханты-Мансийский округ • Разрешение: • ∆x = ∆y = 3.7 км • 21 σ – уровней Приземный ветер • Интегрирование по времени • ∆t = 5 с • 8 дней Бризы развиваются над водными объектами и переносят примесь на значительные расстояния от источников даже в спокойных синоптических условиях Аэрозольное “облако”
Программная реализация • Фортран 77, 90, 95; • ~35 000 строк; • динамические массивы, хранение в модулях; • организация счета в виде • последовательно вызываемых подпрограмм • в основном цикле: program nh3d <инициализация> do t = 1, ntime call soil(…) call moment(…) call thermo(…) … call write(…) enddo end program nh3d
Новые возможности в параллельной версии I. Сгущение конечно-разностной сетки • Улучшение горизонтального разрешения с 4-5 км до 1 км • (разрешение лучших моделей); • 2) Увеличение количества уровней модели по вертикали с 20 до 40; II. Добавление параметризаций новых физических процессов • Модель снежного покрова (Мачульская, Лыкосов) • Модель переноса, трансформации и осаждения аэрозолей • (Микушин, Степаненко) • 3) Модель атмосферной химии • … III. Развитие существующих параметризаций • Параметризация турбулентного обмена • Параметризация облачности и осадков (добавление процессов, связанных с образованием и выпадением снега) • … IV. Проведениедлительных экспериментов: например, на 2-3 месяца модельного времени
Профилирование модели Явная схема! БПФ + прогонка Циклы с независимыми итерациями после обмена данными 1.27 % - THERMO - интегрирование уравнения термодинамики (включает радиационный блок) 2. 23 % - ELLIPT - решение эллиптического уравнения для геопотенциала 3. 12 % - SUFPP - вычисление давления на поверхности 4.11 % - DIFFU - вычисление турбулентных притоков 5.10 % - MOMENT - интегрирование уравнений движения 6.6 % - GLUX - вычисление потоков импульса 7.4 % - HUMID - интегрирование уравнения переноса водяного пара 8.4 % - SOIL - блок почвы, растительности и водоемов
nyi : nye nxi : nxe Разбиение области • Код для компьютеров с распределенной памятью, библиотека MPI • Разбиение расчетной области: двумерное или трехмерное? • Вертикальное разбиение неэффективно: 1) эллиптического уравнения (по вертикали - прогонка) 2) блока переноса радиации (обрабатывает массивы полной вертикальной размерности) В MPI-реализации: 2D - декартова топология процессов
Параллельная реализация отдельных алгоритмов – 1: Циклы с независимыми итерациями • Блок почвы, растительности • и водоемов – 4% 2) Радиационный блок – 22% Обрабатывает двумерные сечения массивов произвольной длины по оси Y и полной длины по оси σ Вызывается в каждой точке сетки на земной поверхности do i =nxi, nxe do j = nyi, nye call soil(i,j,…) enddo enddo do i =nxi, nxe call radiat(i,nyi:nye,1:ns, …) enddo y y (nx, ny) (i, j) 1 : ns (1,1) σ x nyi: nye
Параллельная реализация отдельных алгоритмов – 2: • Интегрирование уравнений модели по явной схеме • Уравнения движения – 10% • Уравнение для температуры – 5% • Уравнения для влажности, облачной влаги и осадков – 4% • Уравнение переноса аэрозоля центральные разности 2-го порядка точности границы расширенной подобласти сдвинуты от основной подобласти по всем координатам на 1
Схема обменов в п/п moment Шаблон конечно-разностной схемы по горизонтали:
Решение эллиптического уравнения • Прямое быстрое преобразование Фурье по осям X и Y функции • 2) Решение nx*ny трехдиагональных систем для коэффициентов Фурье • функции методом прогонки • 3) Обратное быстрое преобразование Фурье по осям X и Y - восстановление
Транспонирование массивов коэффициенты Фурье функции TRANS_XY_Z 2-мерное БПФ по горизонтали 1) коэффициенты Фурье решения Одномерные прогонки по вертикали TRANS_Z_XY 2) 2-мерное обратное БПФ по горизонтали: TRANS_XY_Z решение 3) Массив с решением распределен между процессами согласно исходному разбиению TRANS_Z_XY 4)
Ускорение п/п moment на СКИФ-МГУ • размерность сетки 385 x 385 x 61 • двумерная декомпозиция области n x n, n = 1,…8
Ea U S Es H,LE Снег Лед Вода Грунт (отложения) Одномерная модель водоема Уравнение для температуры • Распараллеливание проблематично – • численные схемы неявные; • В «многоточечных» экспериментах расчеты для разных озер независимы • Драйвер модели содержит цикл, вызывающий модель водоема последовательно для каждого озера – цикл с независимыми итерациями
Параллельная реализация модели водоема • Исходный код Fortran 90 • Стандартные библиотеки MPI и Netcdf • Распараллеливание «драйвера» модели водоема для N озерна P процессорах, N≥P Ранг MPI- процесса Ускорение на 9 процессорах в 8.1раза 1 k P 1 k P k Номер озера 1 k P P+1 P+k 2P 2P+k … … … … … … Номер Netcdf-файла вывода k 1 P
Спасибо за внимание! Вопросы?
Немного истории • 1-й численный прогноз погоды с организацией вычислений на множестве арифмометров - Л. Ф. Ричардсон (1924) • Первое применение машины Дж. фон Неймана – краткосрочный прогноз погоды по баротропной модели (Нейман и др., 1950)
Библиотека подпрограмм параллельной реализации кодов атмосферных моделей (А. В. Глазунов, В. Н. Глухов) • Подпрограммы двухмерных и трехмерных обменов • значениями массивов в граничных точках • MPA_exch • MPA_exchxy • Подпрограммы транспозиции массивов • TRANS_XY_Z • TRANS_Z_XY • Подпрограммы вывода массивов в файлы • MPA_WRITE(…) • 4) …
Шаблоны конечно-разностнойсхемы в п/п moment