Смекни!
smekni.com

«Применение ит в моделировании атмосферных процессов» (стр. 3 из 8)

В разработку WRF внесли свой вклад в целом более 150 организаций в США и за их пределами. Среди основных — подразделение мезомасштабной и микромасштабной метеорологии (MMM Division) NCAR [6], организации Межуниверситетского объединения по атмосферным исследованиям UCAR (University Cooperation for Atmospheric Research), Национальные центры прогнозирования окружающей среды NCEP (National Centers for Environmental Prediction) [7] и Лаборатория исследования систем Земли ESRL (Earth System Research Laboratory) [8] Национальной администрации по океану и атмосфере США (NOAA, National Oceanic and Atmospheric Administration), Метеослужба ВВС (AFWA, Air Force Weather Agency) и Лаборатория по морским исследованиям (NRL, Naval Research Laboratory) Минобороны США, Центр анализа и прогнозирования штормов CAPS (Center for Analysis and Prediction of Storms) при университете штата Оклахома и Федеральное авиационное агентство FAA (Federal Aviation Administration).

2.2 Компоненты программной системы WRF

2.2.1 Структура программной системы WRF

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

Основные компоненты WRF изображены на рисунке 2.1 и включают в себя динамические ядра, программные модули представления физических процессов (Physics Packages) и интерфейс их взаимодействия с динамическими ядрами (Physics Interface), модуль вариационного усвоения данных метеонаблюдений WRF-Var и модель химического состава атмосферы WRF-Chem. Внешними компонентами WRF являются система подготовки входных данных WRF Preprocessing System (WPS), система объективного анализа данных стандартных метеонаблюдений OBSGRID, различные программные средства визуализации и последующей обработки (пост-процессинга) выходных данных WRF (результатов моделирования) [9].

Рисунок 2.1 — Структура программной системы WRF

Необходимое взаимодействие между различными компонентами WRF и обмен данными с внешними программами обеспечивается в рамках программного среды WRF Software Framework (WSF). В частности, интерфейс ввода-вывода WRF I/O API позволяет WRF функционировать совместно с различными сторонними программными средствами, что обеспечивает естественную поддержку системой множества форматов данных [9]. Интерфейс взаимодействия моделей (Model Coupling API) предоставляет возможность совместной работы WRF c другой системой моделирования, например, совместно с моделью циркуляции океана, моделью земной поверхности и т. п. WSF позволяет реализовать такое взаимодействие в рамках единого программного окружения Earth System Modeling Framework (ESMF).

2.2.2 Используемые форматы данных

Обмен данными между компонентами системы WRF и запись результатов моделирования в выходные файлы осуществляется интерфейсом ввода-вывода WRF I/O API в выбранном пользователем формате данных. В настоящее время поддерживаются 5 форматов ввода-вывода: двоичный, NetCDF, PHDF5, GRIB1 и GRIB2. Форматом по умолчанию, рекомендуемым для использования во всех задачах моделирования, является NetCDF.

NetCDF (Network Common Data Form) представляет собой формат данных и соответствующий программный интерфейс, предназначенный для работы с научными данными. NetCDF нацелен на предоставление эффективного доступа к относительно небольшим подмножествам массивных наборов данных. Разработка и поддержка NetCDF осуществляется в Unidata, подразделении UCAR [10]. В настоящее время NetCDF применяется в различных областях исследований, однако изначально его разработка была нацелена на использование в задачах наук о Земле, требующих работы с громадными массивами данных. NetCDF представляет собой формат данных с самоописанием: наряду со значениями переменных в файле содержатся и их аттрибуты, такие как описание соответствующей физической величины, единица измерения и другие параметры.

Большинство программных средств, предназначенных для визуализации и обработки результатов моделирования системы WRF, предполагают использование для выходных файлов именно формата NetCDF [9]. В свою очередь, программа ncview представляет собой универсальное средство визуализации содержимого любых файлов в формате NetCDF.

Хотя NetCDF может использоваться в качестве универсального формата хранения массивов данных, достижение оптимального уровня сжатия не является целью его разработки. Для эффективной передачи значительных объёмов метеорологической информации в реальном времени по официальным высокоскоростным каналам связи и хранения архивных метеоданных используется код GRIB (GRIdded Binary), официально утверждённый Всемирной метеорологической организацией (ВМО). GRIB представляет собой формат битового типа, позволяющий достигнуть высокой степени сжатия данных. В настоящее время по-прежнему широко используется формат GRIB Edition 1 (GRIB1), а также активно внедряется его новая версия GRIB Edition 2 (GRIB2).

2.2.3 Компиляция и сборка системы WRF

Программный код компонентов WRF строится в соответствии с принципом разделения программного представления физико-математических аспектов атмосферной модели и фрагментов кода, отвечающих за распараллеливание вычислений и другие архитектурно зависимые задачи. Распараллеливание вычислений при необходимости может использоваться практически на всех этапах моделирования и подготовки данных, демонстрируя высокий уровень быстродействия на множестве вычислительных платформ, включая многопроцессорные системы с распределённой и совместно используемой памятью, векторные и скалярные системы [9]. Кроме того, возможно использование дополнительного аппаратного ускорения, например, задействование в вычислениях графических ускорителей (GPU).

Большинство компонентов системы WRF (включая WRF-Var) и система подготовки входных данных WPS реализованы на языке FORTRAN 90, широко используемом в различных областях исследований для организации математического моделирования с параллельными вычислениями. Ряд промежуточных компонент программного окружения WSF а также интерфейс MPI (Message Passing Interface), используемый WRF и WPS для распараллеливания вычислений, реализованы на языке C.

WRF компилируется из исходного кода с использованием достаточно сложного механизма сборки, который пытается определить тип используемой компьютерной архитектуры и предлагает пользователю выбор из возможных вариантов компоновки. На многопроцессорных системах доступны варианты без распараллеливания и в режимах параллельных вычислений с совместно используемой памятью и с распределённой памятью. Механизм сборки WRF протестирован для различных ОС семейства UNIX, включая ряд дистрибутивов Linux. В процессе компоновки для анализа и построения всех необходимых файлов используются некоторые вспомогательные программы, реализованные на языке C, сценарии Perl и командных процессоров csh и bash, а также ряд стандартных для ОС семейства UNIX программных средств: make, m4, sed и awk. Компиляция системы WRF могут быть осуществлена с помощью различных компиляторов, включая коммерческие (PGI, Intel, PathScale) и свободно распространяемые (gfortran, gcc, g95).

В компонентах WRF, связанных непосредственно с моделированием, для проведения вычислений не требуется никаких сторонних программных библиотек (например, для быстрого преобразования Фурье или вычислительной линейной алгебры). Единственной необходимой для всех компонент как правило является библиотека NetCDF, доступная на сайте Unidata [10], поскольку для ввода-вывода данных в WRF и WPS обычно используется именно формат NetCDF.

В модуле вариационного усвоения данных WRF-Var используются некоторые дополнительные библиотеки для поддержки различных форматов данных метеонаблюдений, а также библиотеки вычислительной линейной алгебры BLAS, LAPACK и BUFR. Для компиляции системы подготовки данных WPS с поддержкой формата GRIB2 необходимы также библиотеки JasPer (реализация стандарта JPEG2000 сжатия с потерей данных), PNG (метод сжатия без потери данных) и zlib (используется в библиотеке PNG) [9].

2.2.4 Динамические ядра системы WRF

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

В настоящее время WRF содержит два динамических ядра — Advanced Research WRF (ARW) и Nonhydrostatic Mesoscale Model (NMM), выбор между которыми осуществляется на стадии компиляции системы. Динамические ядра отличаются постановкой системы дифференциальных уравнений, численными методами, используемыми для их интегрирования, вертикальной координатой и набором зависимых переменных [5, 11].

Динамическое ядро ARW, ранее называвшееся Eulerian Mass solver (EM), преимущественно является результатом разработок NCAR в сфере негидростатического моделирования.

В ARW в качестве набора зависимых (прогностических) переменных используются отклонения потенциальной температуры, геопотенциала и давления от своих значений в гидростатическом равновесии, компоненты скорости в декартовых координатах. В качестве дополнительных переменных в параметризациях физических процессов также используется турбулентная кинетическая энергия (ТКЭ), отношения смеси для водяного пара, частиц облачности в различных фазах, осадков, основных химических составляющих атмосферы и примесей. Система уравнений представляет собой негидростатические уравнения движения для сжимаемой жидкости (с возможностью вычислений и в гидростатическом режиме), демонстрирующие свойство сохранения скалярных величин. В качестве вертикальной координаты используется следующая рельефу местности — сигма-координата. Уравнения движения дискретизируются на пространственной сетке Аракавы класса «C» и интегрируется по времени методами Рунге-Кутта третьего и второго порядка с использованием метода расщепления (с различным шагом интегрирования для быстрых и медленных процессов) [5].