Skip to content

Repository files navigation

Система Моделирования Облаков (CMS)

Python Status License

Обзор

Система Моделирования Облаков (CMS) — это высокопроизводительный модульный Python-фреймворк, разработанный для симуляции атмосферной термодинамики, облачной микрофизики и сценариев активных воздействий.

Ключевой особенностью системы является ее численная стабильность, достигнутая благодаря использованию современной полунеявной (IMEX) схемы интегрирования по времени. Это позволяет эффективно моделировать "жесткие" (stiff) системы уравнений, возникающие в двухмоментной микрофизике, обеспечивая устойчивость при значительно больших временных шагах по сравнению с классическими явными схемами.

Архитектура и численные методы

Система построена на следующих принципах:

  • Разделение процессов: Динамическое ядро (адвекция, градиент давления) отделено от "жестких" источников (микрофизика, турбулентность), что идеально подходит для IMEX-схемы.
  • Векторизация: Все численные расчеты максимально векторизованы с использованием numpy и numba для высокой производительности.
  • Конфигурируемость: Физические константы и параметры сетки изолированы в файлах конфигурации.

Численное ядро

  • Интегрирование по времени: IMEX-SSP2 (Implicit-Explicit).
    • Явная часть (Explicit): Быстрые процессы (адвекция, динамика) обрабатываются явной схемой.
    • Неявная часть (Implicit): Жесткие процессы (микрофизика, диффузия, конденсация) обрабатываются неявной схемой, что обеспечивает стабильность без необходимости использования неоправданно малых временных шагов.
  • Пространственная дискретизация: Схема WENO5 5-го порядка точности для адвекции, обеспечивающая минимальную численную диффузию. Схема была доработана для повышения стабильности в гладких областях (адаптивный эпсилон).
  • Турбулентность: Модель крупных вихрей (LES) со схемой Смагоринского и ограничителями для предотвращения численного взрыва.

Физические возможности

  • Двухмоментная микрофизика: Модель прогнозирует как массовую долю (q_x), так и числовую концентрацию (N_x) для всех основных гидрометеоров.
  • Категории гидрометеоров: Водяной пар (qv), облачные капли (qc, nc), дождевые капли (qr, nr), кристаллы льда (qi, ni), снег (qs, ns) и град/крупа (qg, ng).
  • Физика теплого облака: Включает процессы автоконверсии, аккреции и самослияния.
  • Физика льда: Реализованы процессы гетерогенной нуклеации на ядрах AgI, вторичная генерация льда, намерзание (riming), агрегация, таяние и гомогенное замерзание.
  • Активные воздействия: Модель позволяет инициализировать источники реагента (например, AgI) для изучения их влияния на развитие облаков.

Начало работы

Требования

  • Python 3.10 или выше
  • Виртуальное окружение (рекомендуется)

Установка

  1. Склонируйте репозиторий:
    git clone https://github.com/f2re/cloud-modeling-system.git
    cd cloud-modeling-system
  2. Создайте и активируйте виртуальное окружение:
    python -m venv venv
    source venv/bin/activate
  3. Установите зависимости:
    pip install -r requirements.txt

Запуск тестов

Для проверки корректности установки и работы модели:

python -m unittest discover tests -v

Документация проекта

  • IMPLEMENTATION_GUIDE.md: Фундаментальное руководство с описанием всех физических уравнений и численных методов.
  • DEVELOPMENT.md: План и текущий статус разработки.
  • GEMINI.md: Контекст и инструкции для AI-ассистированной разработки.

Версия: 2.0 (Stable Core) Последнее обновление: 31 января 2026 Статус: Архитектурный рефакторинг завершен. Модель стабильна.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages