Основные отличия ядра NMM, разработанного в основном NCEP, заключаются в использовании системы уравнений для полностью сжимаемой жидкости, в которых явно разделяются составляющие, отвечающие за динамику в гидростатическом равновесии, от вклада негидростатической динамики. Это соответствует эволюционному подходу к негидростатическому моделированию, в котором максимально учитывается накопленный опыт в области численного прогноза погоды и моделирования регионального климата. Уравнения дискретизируются на сетке Аракавы класса «E» и интегрируются по времени методом Адамса-Башфорта в сочетании с использованием для некоторых величин неявного метода Кранка-Николсона с целью обеспечения численной устойчивости. Другим важным отличием NMM является гибридная вертикальная координата: до определённой пользователем изобарической поверхности используется следующая рельефу местности сигма-координата, а выше — традиционная изобарическая координата [11].
Взаимодействие пользователя с системой WRF осуществляется способом, стандартным для программ, реализованных на языке FORTRAN. Все основные параметры, необходимые для организации моделирования в динамическом ядре, задаются пользователем в списке имён (FORTRAN namelist) — текстовом файле namelist.input. Дополнительные параметры определяются в ряде файлов настройки. Запуск отдельных программ осуществляется в режиме командной строки: в самой системе WRF не предусмотрен графический интерфейс [9].
В то же время следует отметить, что на всех стадиях моделирования, включая также задание областей счёта и подготовку входных данных в системе WPS, может использоваться WRF Portal — программа графического интерфейса пользователя (GUI) для WRF (front end) [12]. WRF Portal реализована на Java с целью максимальной совместимости на различных платформах. WRF Portal включает в себя WRF Domain Wizard – программу интерактивного определения конфигурации областей счёта. WRF Portal разрабатывается при поддержке ESRL и NOAA.
Основные компоненты динамического ядра ARW изображены на рисунке 2.2, ядра NMM — на рисунке 2.3. Построение начального условия и боковых граничных условий для модельной системы уравнений в обоих ядрах является задачей программы инициализации.
Рисунок 2.2 — Программная структура динамического ядра ARW
В ARW возможно рассмотрение ряда идеализированных задач атмосферного моделирования, не связанных с реальными данными (программа ideal) . В ARW версии 3.0 они включают в себя идеализированное моделирование бароклинных волн (с шагом 100 км), глобальное моделирование с цифровой фильтрацией вычислительных шумов вблизи полюсов (625 и 556 км), моделирование крупного вихря с шагом 100 м и конвективной супер-ячейки с шагом 2 км, а также ряд двумерных случаев: гравитационное течение (шаг 100 м), обтекание атмосферным потоком холма (2 км), модель морских бризов (с шагом 2 км и учётом всех физических процессов), двумерные модели грозового фронта (шаг 250 м). Программа инициализации ideal для всех таких задач компилируется индивидуально с использованием модулей кода, отвечающих конкретному типу рассматриваемых явлений [9].
Для случаев реального атмосферного моделирования начальные и боковые граничные условия формируются программой инициализации на основе входных данных, содержащих параметры областей моделирования и поля значений всех необходимых метеорологических величин, заданные в узлах сформированной для каждой области расчётной сетки на изобарических поверхностях.
Входные данные для реального моделирования представляют собой результат работы системы подготовки данных WPS. Они основываются на результатах вычислений другой атмосферной модели (например, модели глобальной циркуляции) или архивных данных и обычно поступают в WPS в формате GRIB.
Рисунок 2.3 — Программная структура динамического ядра NMM
Программа инициализации (real в ARW, real_nmm в ядре NMM) строит набор поверхностей постоянной вертикальной координаты (сигма или гибридной) и производит вертикальную интерполяцию на них метеорологических величин, значения которых заданы для совокупности изобарических поверхностей. Расстояние между соседними уровнями вертикальной координаты может быть произвольным, что используется для более густого расположения уровней в приповерхностном слое атмосферы. Наряду с независимостью вертикального шага от шага сетки по горизонтали, это связано с отличительными особенностями реализации численной математической модели в динамических ядрах WRF.
Каждая область моделирования представляет собой прямоугольник в заданной картографической проекции и задаётся в системе подготовки данных WPS. В ARW версии 3.0 поддерживаются 4 типа картографических проекций: коническая конформная проекция Ламберта, проекция Меркатора, полярная стереографическая проекция и широтно-долготная проекция с возможностью поворота полюсов. Широтно-долготная проекция является новой для ARW и позволяет проводить глобальное моделирование атмосферы. Каждая картографическая проекция также характеризуется собственным набором параметров, таким как, например, две стандартные широты и центральная долгота для конической конформной проекции Ламберта. В NMM используется исключительно широтно-долготная проекция [9].
В обоих динамических ядрах поддерживается моделирование с использованием вложенных расчётных сеток. В исходной области моделирования системой подготовки входных данных формируется базовая расчётная сетка с указанным пространственным шагом по горизонтали (в метрах или градусах). От величины шага напрямую зависит точность моделирования и круг воспроизводимых в модели атмосферных процессов. В то же время, с уменьшением шага сетки в 2 раза необходимое количество вычислений возрастает как минимум в 4 раза, а с учётом необходимости адекватного уменьшения шага интегрирования по времени — в 8 раз. Таким образом, шаг сетки определяется компромиссом между требуемой точностью и доступными вычислительными ресурсами [5, 9, 11].
Введение на базовой сетке вложенных расчётных сеток позволяет сфокусировать вычисления с более высоким разрешением на интересующих регионах области моделирования. Область моделирования может включать в себя множество вложенных областей счёта различного масштаба, кроме того, каждая из них также может содержать собственные вложенные области. В каждой области счёта допускается неограниченное число вложенных областей при условии, что области одинакового уровня вложенности не перекрываются. На рисунке 2.4 изображен пример области счёта с тремя вложенными областями. Количество уровней вертикальной координаты в текущих версиях динамических ядер WRF одинаково для всех расчётных сеток, вне зависимости от используемого пространственного шага по горизонтали [9].
область 1 содержит вложенные области 2 и 4, а область 3 вложена в область 2
Рисунок 2.4 — Пример конфигурации с четырьмя областями счёта
Для каждого вложения шаг сетки уменьшается в произвольное целое число раз — благодаря этому в области вложения каждый узел исходной сетки совпадает с узлом вложенной сетки. Общая конфигурация вложений в заданной области моделирования и значения пространственного шага для каждой сетки определяются пользователем в соответствии со спецификой решаемой задачи, протекающими в различных регионах атмосферными процессами и доступной вычислительной мощностью.
Реализация моделирования с вложенными областями счёта в системе WRF в целом соответствует подходам, используемым в ряде других мезомасштабных атмосферных моделей (MM5, ARPS, COAMPS). Отличительными особенностями WRF является эффективное распараллеливание вычислений с вложенными областями счёта на компьютерных системах с распределённой памятью (благодаря WSF) и уникальная возможность использования движущихся вложенных областей [9].
Перемещение любой вложенной области счёта на области моделирования в определённые моменты модельного времени может быть явным образом указано пользователем с помощью параметров в записи &domains файла namelist.input. С другой стороны, использование алгоритма отслеживания вихря для автоматического перемещения вложенной области счёта позволяет ей следовать за движением тропического циклона с достаточно чёткой структурой.
В результате работы программы инициализации (real в ARW, real_nmm в NMM) на основе данных WPS для исходной области моделирования (область №1), содержащей в себе все остальные области счёта, формируется файл начальных условий wrfinput_d01 и файл боковых граничных условий wrfbdy_d01. Для всех вложенных областей на основе данных, предоставленных WPS, также формируются файлы начальных условий wrfinput_dNN, где NN — порядковый номер области счёта. Граничные условия для каждой из вложенных областей формируются путём интерполяции результатов вычислений в соответствующей исходной области (при любом уровне вложенности).
При моделировании с проведением вычислений одновременно на всех областях счёта достаточно упомянутых выше файлов, которые служат входными данными для программы wrf. Граничные условия для всех вложенных областей обновляются с каждым шагом интегрирования соответствующей исходной области счёта на основании полученных в ней за этот шаг результатов вычислений (для этого временной шаг вложенной области должен отличаться от шага исходной области в целое число раз). Если обмен информацией между областями счёта в процессе вычислений ограничивается лишь формированием граничных условий для вложенных областей, то речь идёт об одностороннем взаимодействии. При двухстороннем взаимодействии на каждом шаге интегрирования исходной области счёта переменным в узлах сетки, совпадающих с узлами вложенных сеток, присваиваются значения, полученные в результате вычислений на вложенных сетках (с меньшими величинами пространственного и временного шага) [9, 11].