Кафедра термогидромеханики океана МФТИ
преподаватели: Лебедев Константин Владимирович, кандидат физико-математических наук и Щепёткин Александр Федорович, кандидат физико-математических наук
Цель курса
Сформировать базовые знания об общих принципах численного решения задач моделирования климата и анализа данных наблюдений, навыки работы с геофизическим программным обеспечением и многопроцессорными вычислительными системами.
Задачи курса
- дать базовые знания об общих принципах численного решения задач моделирования климата
- дать базовые знания и навыки программирования на языке Фортран, работы в операционной системе Linux, режиме удалённого доступа к вычислительным серверам
- научить анализировать климатические данные, полученные с помощью численного моделирования и наблюдений
- научить самостоятельно формировать постановку задачи, настраивать модель и проводить расчет на многопроцессорной вычислительной системе
- выработать навыки, позволяющие быстро осваивать различные модели компонентов климатической системы Земли
Содержание курса, структурированное по темам (разделам)
1. Введение: предмет исследований
- Климат. Компоненты климатической системы Земли. Основные климатические характеристики океана и атмосферы, их изменчивость и взаимосвязь. Климат как ансамбль состояний системы. Исследования климата и прогноз погоды. Модель как экспериментальный стенд. Потоки данных в современных и перспективных моделях.
2. Программная реализация
- Принципы построения и верификации климатических моделей. Современные системы климатического моделирования: их архитектуры, возможности, разрешение. Сетки. Форматы данных. Базы данных наблюдений и модельных расчётов. Основные базы глобальных океанских и атмосферных данных. Изолированные и совместные модели.
3. Программная среда
- Установка операционной системы, работа с консолью и графическим интерфейсом, базовые команды и прикладные программы, принципы работы (на примере дистрибутива Ubuntu). Скриптовый язык bash. Удалённая работа, протоколы SSHи SFTP, проброс портов, XWindowSystem.
4. Элементы языка Фортран
- Стандарты Фортрана, пакеты gfortran и Intel Fortran. Операторы и форматы ввода-вывода, циклы, функции, подпрограммы, модули, типы данных, строки, производные типы, классы, указатели и работа с памятью, массивы и встроенные функции для них, сечения, формальные параметры, именованные списки, логические выражения и конструкции, интерфейсы, перегрузка, атрибуты, область видимости. Основные флаги компиляции и директивы препроцессора. Соглашения о кодировании. Библиотека IntelMKL.
5. Обработка и отображение климатических данных – 1
- Типичные задачи обработки климатических данных и базовые характеристики модельного решения. Методы визуализации результатов. Пакеты для обработки CDOи NCO. Графическая библиотека PyNGL. Пакет для визуализации Panoply. Пакеты для построения кривых.
6. Формат NetCDF
- Библиотека netcdfдля Фортрана, версии NetCDF. Типы данных, переменные, атрибуты, размерности, сетки, оси, временные шкалы. Соглашения о метаданных. Параллельная реализация. Сжатие и линейное преобразование. Простейшие программы для чтения-записи и визуализации.
7. Внутренние связи климатической системы
- Прямые и обратные связи в климатической системе.Изменчивость на разных масштабах. Климатические колебания. Типичные ошибки наблюдений и моделей. Дрейф модели. Верификация моделей, международные программы интеркалибрации и мультимодельных экспериментов. Методы сопряжения моделей (каплинг).
8. Численный эксперимент
- Система контроля версий Git. Модельная конфигурация и постановка численного эксперимента. Основные настроечные параметры моделей. Внешний форсинг. Роль суперкомпьютеров и параллельных вычислений в планировании и проведении численных экспериментов с климатическими моделями. Масштабируемость параллельного кода. Роль пространственного разрешения и степени детализации описания подсеточных процессов.
9. Обработка и отображение климатических данных – 2
- Меры изменчивости, статистические характеристики. Эмпирические ортогональные функции. Климатические индексы. Методы интерполяции, формат SCRIP. Графический пакет и скриптовый язык Grads.
10. Элементы параллельного программирования
- Программный интерфейс MPI, группы, коммуникаторы, основные процедуры, методы передачи-приёма сообщений, тупиковые ситуации. Профилирование, балансировка нагрузки. Декомпозиция расчётной области модели. Работа на высокопроизводительных кластерах, запрос ресурсов, системы очередей.
Основная литература
- Модели глобальной атмосферы и Мирового океана: алгоритмы и суперкомпьютерные технологии / Под ред. Толстых М.А., Ибраева Р.А. – М.: Изд-во МГУ, 2013. – 144 с.
- Бартеньев О. В. Современный Фортран. – 3-е изд., доп. и перераб. – М.: ДИАЛОГ-МИФИ, 2000. – 449 с.
- Кетов Д.В. Внутреннее устройство Linux. — СПб.: БХВ-Петербург, 2017. — 320 с.
Учебно-методические материалы для самостоятельной работы
- Антонов А.С. Параллельное программирование с использованием технологии MPI: Учебное пособие. – М: Изд-во МГУ, 2004.
- Саркисян А.С. Численный анализ и прогноз морских течений. Учебное пособие. – М: Изд-во МГУ, 2015.
Дополнительная литература
- Гилл А. Динамика атмосферы и океана (в 2-х томах). М: Мир, 1986.
Перечень ресурсов, необходимых для освоения дисциплины
- http://lib.mipt.ru/ – электронная библиотека Физтеха
- https://ubuntu.ru/ – операционная система LinuxUbuntu
- https://software.intel.com – пакет средств разработки IntelParallelStudioXE
- http://model.ocean.ru – пакеты геофизического программного обеспечения и модель Мирового океана ИВМИО на сайте Группы моделирования изменчивости климата океанов и морей ИО РАН
Необходимое программное обеспечение
- Операционная система Linux Ubuntu
- Пакет средств разработки IntelParallelStudioXE(свободная версия)
- Модель Мирового океана ИВМИО