Моделирование лавин, селей, оползней и лахаров — прямо из браузера.
Никакого терминала. Никакой установки GRASS GIS. Без Python, без R, без необходимости помнить десятки Docker-команд. Открываешь приложение, проходишь мастер из 7 шагов — и занимаешься наукой, а не настройкой окружения.
r.avaflow — это рецензируемый научный инструмент мирового уровня для моделирования гравитационных массовых потоков: физика лавин, селей, оползней и лахаров. Разрабатывается Мартином Мерджили и Шивой П. Пудасаини и цитируется в сотнях публикаций.
И его адски сложно поднять. Нужен GRASS GIS, совместимая версия Python, набор R-пакетов, C-компилятор, GDAL, Pillow, подходящие kernel headers, правильный базовый Docker-образ, дружелюбный Linux-терминал — и несколько часов терпения.
Этот проект устраняет этот барьер.
Студент-гляциолог, геоморфолог, инженер по оценке рисков или градостроитель могут запустить полноценную многофазную симуляцию, ни разу не открыв консоль. Всё — зависимости, GRASS GIS, R-пакеты, скомпилированное C-ядро, даже pipeline визуализации — упаковано в один Docker-образ с удобным веб-интерфейсом.
Валидация на реальных событиях.
- Web-app использован для моделирования прорыва оз. Башкара 2017 г. (Центральный Кавказ — 3 погибших, разрушено 4 км автодорог, ущерб ~810 млн ₽) — результаты опубликованы в рецензируемом журнале Лёд и Снег (2024), см. раздел Научные публикации ниже. Соавторы этой статьи — те же, кто создавал этот web-app.
- В 2026 году в этом web-app был успешно воспроизведён катастрофический сход ледника Колка 20 сентября 2002 года (Кавказ, Северная Осетия — 125 жертв, runout 19 км). Результат моделирования стал основой для курсовой работы студента-гляциолога.
| Вы… | Получаете… |
|---|---|
| Гляциолог, изучающий ледово-каменные лавины | Многофазную модель Пудасаини–Мерджили с таянием, когезией и вовлечением — настраиваемую через форму, а не через командную строку |
| Геоморфолог, моделирующий сели | Полное покрытие параметров r.avaflow (~85 настроек) с разумными дефолтами, подсказками и валидацией |
| Инженер-геотехник, оценивающий опасность оползней | Быстрые многопоточные прогоны, воспроизводимые проекты, готовые к экспорту бандлы с результатами |
| Градостроитель / специалист по рискам | Визуальный вывод (карты, GIF-анимации, ROC-валидация) без каких-либо навыков работы с ГИС |
| Студент / начинающий исследователь | On-ramp к сложному инструменту — вы фокусируетесь на науке, а не на apt-get |
Если ваш рабочий процесс сегодня начинается со слов "Так, сначала SSH на лабораторный сервер…" — этот проект заменяет этот шаг на вкладку в браузере.
Вместо 400-символьной команды в терминале вы заполняете форму:
- Настройка проекта — фазы, гравитация, режим топокоррекции, число ядер, CFL, пороги
- Рельеф и зона отрыва — ЦМР, слои отрыва, гидрограф, тайминг
- Материалы — плотности, углы трения, деформация, drag, virtual mass (по фазам)
- Вовлечение, остановка и фазовые переходы — коэффициент по log₁₀-шкале, управление таянием
- Вывод и тайминг — что сохранять, временное окно, контрольные точки, линии профиля
- Визуализация — ортофото RGB, 17 параметров отображения карт
- Обзор и запуск — полное резюме + превью реального
r.avaflow-скрипта, который будет выполнен
У каждого поля есть подсказка со строкой "Affects:". Изменённые поля подсвечиваются зелёной рамкой — вы всегда видите, что отличается от дефолта. Два языка: English и Русский.
- WebSocket-поток логов с ring buffer (браузер не падает даже на многочасовых прогонах)
- Датчики CPU и RAM
- Отмена / перезапуск не покидая страницы
- Прогресс-бар привязан к модельному времени
- Сетка изображений с click-to-zoom для PNG-карт и GIF-анимаций
- Файл-браузер по проекту (растры, CSV, логи, R-графики)
- Экспорт проекта целиком в ZIP одним кликом
- R-визуализация (ROC-кривые, карты опасности) работает из коробки
- Создание, загрузка, переименование, дублирование, удаление проектов из сайдбара
- Автоопределение cellsize из загруженного GeoTIFF — опционально, с подтверждением
- Drag-and-drop загрузка растров
- Все данные хранятся в Docker-томе
Стандартное вычислительное ядро r.avaflow (r.avaflow.main, ~13 000 строк C) исторически было однопоточным. На современном 12-ядерном воркстейшне оно использовало 1 ядро, а 11 остальных простаивали — и полная симуляция селевого потока занимала десятки часов.
В этом проекте ядро распараллелено. Мы добавили директивы OpenMP во все «горячие» вычислительные регионы схемы NOC-TVD: flux computation, source terms, фазовые переходы, CFL-редукция, entrainment, stopping. Все восемь параллелизуемых регионов теперь под #pragma omp parallel for.
Результат на каноническом продакшн-сценарии (прорыв озера Башкара, cellsize = 5 м, временное окно 60/1000):
| Конфигурация | Время | Ускорение |
|---|---|---|
| Оригинальное однопоточное ядро | ~36 ч | 1.0× (baseline) |
| OpenMP на 12 ядрах (этот релиз) | ~6 ч | ≈ 6× |
| OpenMP на 16 ядрах | ~3 ч | ≈ 12× |
На 16-ядерной машине r.avaflow.main достигает ≈ 810 % загрузки CPU — то есть 8 из 16 ядер полностью насыщены, против 100 % (одно ядро) на стоковой сборке. Симуляция, которая раньше считалась сутки, теперь укладывается до обеда.
Всё работает автоматически — в web-app есть слайдер CPU-cores, который мапится в OMP_NUM_THREADS, а Docker-образ уже содержит libgomp. Никакой перекомпиляции, никаких флагов, которые надо запоминать.
Этот проект упомянут как научный вклад в рецензируемой публикации:
Солодова А. С., Петраков Д. А., Пуганов К. А. (2024). Моделирование селевого потока при прорыве оз. Башкара в 2017 г. Лёд и Снег, 64(4), 527–542. Московский государственный университет имени М. В. Ломоносова. DOI: 10.31857/S2076673424040043 · Страница журнала · EDN: HTRDDK
Авторы статьи — соавторы этого web-app. Работа моделирует прорыв оз. Башкара 1 сентября 2017 г. в долине Адылсу (Центральный Кавказ) и впервые для региона рассчитывает давление, кинетическую энергию потока, эрозию и аккумуляцию материала по всей длине русла.
В статье прямо названы два юзабилити-ограничения стокового r.avaflow, которые и мотивировали этот проект:
«К недостаткам программы можно отнести трудоёмкость подготовки входных данных, отсутствие пользовательского интерфейса, использование лишь одного ядра процессора, а также высокие требования к оперативной памяти. К примеру, расчёты по данной работе задействовали 16 ГБ оперативной памяти и длились более 40 часов.»
— Солодова, Петраков, Пуганов (2024), с. 529
Оба ограничения закрыты здесь:
- Нет GUI → 7-шаговый wizard заменил терминал и ручное написание shell-скриптов.
- Только одно ядро CPU → OpenMP-распараллеливание теперь масштабируется на все доступные ядра (см. таблицу ускорения выше).
docker run -d -p 3001:3000 \
-v avaflow-data:/data/projects \
--name avaflow \
ghcr.io/kostyanp95/r-avaflow:webapp-latestОткрыть http://localhost:3001. Всё.
cd web-app
npm install
npm run start:dev # NestJS на :3000, Angular на :4200 с hot-reloadПодробности для разработчиков — web-app/README_ru.md.
|
Вычислительное ядро
|
Веб-приложение
|
Инфраструктура
|
web-app/README_ru.md— руководство разработчика (стек, установка, сборка, API, WebSocket-события)web-app/PARAMETER_REFERENCE.md— все параметры, все подсказки, все правила валидацииweb-app/FORM_COMPARISON_REPORT.md— как wizard соотносится с оригинальной формойr.avaflowweb-app/KOLKA_CALIBRATION_REPORT.md— калибровка параметров для ледникового схода Колка 2002
Сейчас web-app работает поверх r.avaflow версии 3 (3G) — релиз 27.01.2023. Именно на эту версию ссылается вся рецензируемая литература по r.avaflow (включая нашу опубликованную статью), и именно её мы распараллелили OpenMP и валидировали на событиях Башкара-2017 и Колка-2002.
Upstream тем временем выпустил r.avaflow версию 4 (40G) — крупную переработку, опубликованную 02.09.2025 и описанную в Mergili et al. (2025), Geoscientific Model Development 18, 9879–9896. В новой версии:
- Контролируемая деформация (CDEFORM) — заменяет legacy-схему с динамическим трением и пределом текучести физически обоснованным параметром деформации.
- Фрагментация — модели потери энергии и диссипации импульса для скальных обвалов.
- Когезия per-phase и слоистая модель фаз (фазы укладываются вертикально, а не смешиваются).
- Режим медленного потока для скоростей < ~5 м/с (земляные потоки, каменные глетчеры).
- Температура и таяние льда — 10-е уравнение состояния с обменом скрытой теплотой.
- Обязательные topography-following высоты (
h → h·cos β) во всей модели.
3G → 40G — несовместимое изменение: результаты напрямую не сопоставимы, откалиброванные параметрические наборы требуют повторной калибровки, а GRASS-интерфейс модуля другой. Поэтому сейчас web-app зафиксирован на 3G; миграция в roadmap ниже.
- Миграция вычислительного бэкенда на
r.avaflow4.0G — расширенная физика (CDEFORM, фрагментация, когезия, слоистая модель, slow-flow, таяние льда) - Пресеты для типовых сценариев («Ледниковый коллапс», «Прорыв ледникового озера», «Снежная лавина»)
- GPU-движок (OpenACC), доступный через web-app
- Diff-просмотрщик симуляций (сравнение двух прогонов рядом)
- Встроенная калибровка (ROC-guided parameter sweep)
- Cloud-шаблоны деплоя (AWS / DigitalOcean / self-hosted K3s)
Веб-приложение Пуганов К. А. · Солодова А. · Петраков Д. А.
Физическая модель — ядро r.avaflow Martin Mergili · Shiva P. Pudasaini (2014–2025) · https://avaflow.org
Ключевые публикации
- Mergili M., Pfeffer H., Kellerer-Pirklbauer A., Zangerl C., Pudasaini S.P. (2025). r.avaflow v4, a multi-purpose landslide simulation framework. Geoscientific Model Development 18, 9879–9896. https://doi.org/10.5194/gmd-18-9879-2025
- Pudasaini S.P., Mergili M. (2019). A multi-phase mass flow model. JGR: Earth Surface 124(12), 2920–2942.
Багрепорты, запросы фич и pull-реквесты — welcome. Если вы исследователь, откалибровавший case study по натурным данным, заведите issue — успешные валидации вроде Колки напрямую влияют на roadmap пресетов.
Распространяется под GNU General Public License v2.0 или выше — лицензия унаследована от ядра r.avaflow. Полный текст — в upstream-репозитории r.avaflow.