DLES - платформа для моделирования лесных экосистем
Автор: Михайлов А.В., Безрукова М.Г., Шанин В.Н., Михайлова Н.В.
Журнал: Известия Самарского научного центра Российской академии наук @izvestiya-ssc
Статья в выпуске: 1-7 т.11, 2009 года.
Бесплатный доступ
Короткий адрес: https://sciup.org/148198520
IDR: 148198520
Текст статьи DLES - платформа для моделирования лесных экосистем
Современный этап развития моделирования применительно к исследованиям лесных экосистем требует построения сложных имитационных моделей, основанных на знаниях из разных научных дисциплин: экологии, физиологии, почвоведения, климатологии и др. При этом возникает необходимость в проектировании моделей в виде системы независимых компонентов, способных к объединению в единое целое. Поэтому общемировой тенденцией становится создание новых моделей путем объединения уже существующих [5, 9] или создание специальных платформ, позволяющих разным группам исследователей встраивать свои подмодели в общую систему [7, 8, 12, 13].
Невозможно создать модель, идеально описывающую природные процессы. Для разных целей необходимы разные модели, с разной степенью детализации моделируемых процессов. Моделирование конкуренции за свет в лесу может быть реализовано посредством индексов конкуренции, или с помощью двумерной или сложной трехмерной модели. Индексы конкуренции – это самый простой способ описать взаимодействия между деревьями, для использования некоторых из них достаточно знать лишь средние значения параметров древостоя, например плотность посадки. В литературе [11] приводится довольно большое количество разнообразных индексов конкуренции. Однако неоднородная возрастная структура и смешанный породный состав существенно осложняют применение индексов конкуренции, поскольку необходимо учитывать не только зависимость данных индексов от возраста, но и свойства каждого вида, определяющие его конкурентоспособность. Сложные трехмерные модели [2, 4] наиболее точно описывают световой режим в лесу, но для расчета прохождения и рассеивания лучей в трехмерном пространстве требуются большие вычислительные ресурсы. Использование такого типа моделей оправдано, например, в тех случаях, когда необходимо учесть неоднородность рельефа. Для того чтобы комбинировать разные подходы в моделировании, необходима платформа, которая бы позволяла в рамках одной системы использовать разные модели. Одной из таких платформ является предлагаемая в данной статье система DLES.
МАТЕРИАЛЫ И МЕТОДЫ
Модульная система DLES (рис. 1) – это программный продукт, ориентированный на исследовательское моделирование сложных экологических процессов с дискретным шагом по пространству и времени . Система написана на языке Delphi в среде Borland Turbo Delphi 2005 с использованием интерфейсов COM (Component Object Model). COM – это технологический стандарт от компании Microsoft, предназначенный для создания программного обеспечения на основе распределённых компонентов, каждый из которых может использоваться во многих программах одновременно. Интерфейс – это совокупность средств и методов взаимодействия между элементами системы.
Суть примененного компонентно-ориентированного подхода состоит в том, что в имитируемой системе выделяются отдельные процессы, которые имитируются разными подмоделями. В нашем случае подмодель - это такой компонент системы, который является источником новых данных или модифицирует уже имеющиеся. При этом в зависимости от целей исследования, гипотез и используемых экспериментальных данных, подмодели, имитирующие процессы, могут сильно отличаться. Может возникнуть необходи- мость сравнить несколько гипотез и заменить одну подмодель другой. Поэтому все подмодели - это отдельные компоненты, на физическом уровне реализованные в виде динамически подключаемых библиотек (DLL). Каждая подмодель декларирует список необходимых ей входных и выходных данных (порты).

Рис. 1. Компонентная структура системы DLES
Данные могут быть получены как из расчетного блока (т.е. подмодели), так и из другого источника данных. В качестве подобного стороннего источника может выступать текстовый или бинарный файл, база данных и т.д.; информация из них транслируется с помощью специальной подмодели.
Синхронизацией, организацией обмена данными и обеспечением корректной работы системы занимается ядро системы. Ядро объединяет подмодели в единую систему, используя схему модельной системы. Схема - это текстовый файл в формате XML (текстовый формат, предназначенный для хранения структурированных данных и для обмена информацией между программами), содержащий в себе описание совокупности компонентов (подмоделей) и связей между ними. Для создания и редактирования схем используется специальный редактор схем .
Запуск модельной системы, управление процессом моделирования, сохранение результатов осуществляется с помощью оболочки системы. В зависимости от поставленных задач, возможно применение различных типов оболочек: виде консольного приложения или с графическим пользовательским интерфейсом. Оболочка является самостоятельным компонентом системы и реализуется в виде отдельного исполняемого файла. Полное отделение логики моделирования от реализации пользовательского интерфейса существенно облегчает разработку подмоделей.
Для того чтобы учесть пространственные отношения между дискретными объектами (что очень важно при моделировании, например, древостоев), процесс имитации происходит на двумерной решетке. Размер имитационной решетки (в ячейках) и размер ячейки (в метрах) задаются пользователем. Некоторые рутинные процедуры, необходимые при учете пространственных взаимодействий между объектами на имитационной решетке (поиск ближайших соседей, определение расстояния между объектами, замыкание имитационной решетки на тор для устранения т.н. «краевого эффекта»), реализованы непосредственно в ядре системы. Таким образом, разработчики подмоделей избавлены от необходимости реализации данных операций.
По своему пространственному масштабу модели могут быть: уровня ячейки, уровня объекта и уровня участка. Отличаются они способом запуска и особенностями выделения памяти под их переменные. Модели уровня участка запускаются один раз за шаг, и соответствующие им переменные относятся ко всему модельному участку.
Модели уровня ячейки запускаются на каж-

Рис. 2. Внешний вид редактора схем
дом шаге системы для каждой из ячеек имитационной решетки, а соответствующие им переменные представляют собой двумерный массив, размеры которого равны размерам имитационной решетки. Переменные моделей объектного уровня - одномерные массивы - предназначены для хранения свойств объектов, которых на моделируемом участке может быть более одного, но хранение информации о которых по ячейкам нецелесообразно в силу нерегулярного размещения этих объектов. Соответственно, на каждом шаге модель объектного уровня запускается столько раз, сколько объектов присутствует в имитируемой системе. Возможность разработки моделей с разным пространственным масштабом позволяет наиболее эффективно использовать память и вычислительные ресурсы.
Также подмодели могут различаться шагом по времени, с которым они работают. Синхрони зацией обмена данными между моделями, работающими с разным шагом по времени и/или на разных пространственных масштабах, занимается ядро системы.
ПРИМЕРЫ ПОДМОДЕЛЕЙ
Система DLES позволяет комбинировать как точечные, так и пространственно-зависимые подмодели.
Примером точечной модели может служить модель разложения органического вещества почвы ROMUL [6]. Органическое вещество в модели представлено тремя пулами: опад, подстилка и органическое вещество минеральных горизонтов. В дополнение к углеродному циклу, модель также учитывает динамику азота. Поскольку азот, находящийся в почве в форме, доступной растениям, является лимитирующим фак-

Рис. 3. Пространственные уровни, поддерживаемые платформой DLES
тором во многих типах наземных экосистем, выходные данные модели ROMUL крайне важны при имитации динамики растительности (например, объемов прироста биомассы или направления сукцессии).
В системе DLES подмодель ROMUL может функционировать на уровне ячейки, что позволяет учитывать пространственную гетерогенность почвенного покрова, вызванную неравномерным поступлением опада в разные ячейки имитационной решетки и неоднородностью микроклиматических условий в этих ячейках.
Также в системе реализована точечная подмодель динамики кальция в северотаежных лесных почвах [3].
В систему DLES легко интегрировать более сложные имитационные модели с пространственным взаимодействием объектов. Примером такой модели является модель динамики популяций травянистых растений, разрабатываемую на основе клеточно-автоматного подхода в моделировании. В этой подмодели имитационное пространство дискретно, представлено в виде квадратных ячеек, а развитие растительных популяций определяется набором специально разработанных правил развития и размножения растений имитируемых видов [1]. Правила основаны на концепции дискретного описания онтогенеза, учитывают семенное и вегетативное возобновление растений.
В настоящее время большим коллективом авторов ведется работа по созданию на базе платформы DLES компонентно-ориентированной версии системы моделей EFIMOD [10], имитирующей круговорот основных биогенных элементов и динамику растительности в многовидовых разновозрастных лесах бореального и неморального поясов. Помимо упомянутых выше моделей ROMUL и модели динамики кальция, в состав системы предполагается включить пространственно-зависимые модели древостоя, учитывающие разные аспекты конкуренции между деревьями, модели прироста биомассы отдельного дерева и распределения прироста по органам дерева, и др.
ЗАКЛЮЧЕНИЕ
Компонентная структура системы DLES имеет ряд преимуществ:
-
1. Она позволяет одновременно разрабатывать и видоизменять разные компоненты системы независимо друг от друга разными разработчиками.
-
2. Платформа предназначена для объединения моделей, написанных на современных языках программирования (Delphi, C++ и др.), и не содержит собственного интерпретируемого метаязыка, характерного для некоторых универсальных систем (MATLAB, PowerSim и пр.). Данные особенности позволяют использовать при разработке моделей весь арсенал средств, присущих транслируемым языкам общего назначения, и не ограничивают пользователя жесткими рамками конечного набора заранее реализованных функций.
-
3. Благодаря тому, что на ядро возложены простран-
- ственная и временная синхронизация, конверсия физических единиц измерения и организация обмена данными, значительно упрощается разработка отдельной подмодели. Программисту нет необходимости самому синхронизировать подмодели, ему лишь надо определить временной и пространственный масштабы.
-
4. Модульная организация позволяет легко заменять отдельные компоненты, которые могут представлять собой как динамически подключаемые библиотеки (DLL), так и файлы с данными или базы данных.
Работа поддержана Программой 16 Президиума РАН «Изменения природной среды и климата: природные катастрофы»