Термики, болтанка, пыльные вихри, грозы

Термик — это столб тёплого воздуха, поднимающийся от прогретой солнцем земли. Дельтапланерист кружит внутри него, набирая высоту; вокруг термика воздух, наоборот, слабо опускается. Ниже — как это устроено в игре, откуда взяты формулы и что модель не умеет.

Как это устроено

Каждый термик в игре — пузырь (AtmoThermal) с источником на земле, жизненным циклом рост → зрелость → распад и профилем подъёма по радиусу. Мир разбит на клетки (thermal_spacing_m), у каждой клетки — свой цикл с детерминированной фазой, силой и точкой источника (выбранной по солнечной освещённости склона); один и тот же день полностью воспроизводим независимо от того, где летал пилот.

Профиль по радиусу — «мексиканская шляпа» Гедеона: ядро с подъёмом в центре, вокруг — кольцо слабого опускания, дальше — нуль. Поток массы через горизонтальное сечение ровно нулевой — сколько воздуха поднялось, столько рядом опустилось:

w(r)=wc⋅e−(r/R)2⋅(1−(r/R)2) w(r) = w_c \cdot e^{-(r/R)^2} \cdot \left(1 - (r/R)^2\right)

Радиус растёт с высотой по модели Аллена (NASA, автономные планеры-парители): термик расширяется от земли к кромке облаков, подъём нарастает от земли как z^(1/3) и гаснет у верха:

R(ξ)∝ξ1/3(1−0,25 ξ),ξ=y−hsztop−hs R(\xi) \propto \xi^{1/3}(1 - 0{,}25\,\xi), \qquad \xi = \frac{y - h_s}{z_{top} - h_s}

Ось термика наклонена ветром — воздух поднимается со скоростью ядра и одновременно сносится: Δx(z) ≈ z · U(z_mid) / w_c. При ветре 5 м/с, ядре 3 м/с и слое 1500 м облако оказывается на ~2,5 км по ветру от источника; угол наклона ограничен сверху — иначе термик должен был бы просто разорваться ветром, как это и происходит в жизни.

Жизненный цикл: кучевое облако живёт 15–30 мин, «хороший» термик — 10–20 мин. На стадии распада низ столба отрывается от источника раньше верха — пилот низко под распадающимся облаком уже не находит подъём, знакомая ситуация.

Облачный подсос. Под крупным растущим облаком последние сотни метров под основанием набор заметно ускоряется (внутри облака конденсация добавляет плавучести — воздух там остывает медленнее сухой адиабаты), у Cb — до опасного «затягивания». Под мелкими, молодыми и распадающимися облаками подсоса нет — термик слабеет к кромке, как без облака.

Ветер и турбулентность. Профиль ветра степенной, показатель 0,14; в самом слое перемешивания почти постоянный. Механическая болтанка моделируется «замороженной турбулентностью» Тейлора — поле пульсаций переносится ветром целиком, а не пересчитывается заново; масштаб вихрей 30–80 м сравним с размахом крыла, поэтому консоли получают разный подъём и крыло болтает по крену. СКО пульсаций складывается из механической составляющей, конвективной (по профилю Леншоу), болтанки на краю термика и ротора за гребнем — как независимые случайные величины:

σw2/w∗2=1,8⋅(z/zi)2/3⋅(1−0,8 z/zi)2,σw,max≈0,6 w∗ на z≈0,3 zi \sigma_w^2 / w_*^2 = 1{,}8 \cdot (z/z_i)^{2/3} \cdot (1 - 0{,}8\,z/z_i)^2, \qquad \sigma_{w,max} \approx 0{,}6\,w_* \text{ на } z \approx 0{,}3\,z_i

Фоновое опускание между термиками — −0,3…−1 м/с (по умолчанию −0,5), из сохранения массы: то, что поднялось в термиках, должно где-то опуститься.

Течение и разность температур над одним прогретым склоном на солнце — прототип модели воздуха

Физика: законы и приближения

Масштаб подъёма — конвективная скорость Дирдорфа: чем сильнее прогрев земли и выше слой перемешивания, тем сильнее термики.

w∗=(gT⋅H0⋅zi)1/3 w_* = \left(\frac{g}{T} \cdot H_0 \cdot z_i\right)^{1/3}

Для хорошего летнего дня w* ≈ 1,5–3 м/с, в слабый день ≈ 1 м/с; ядро термика набирает ≈ 1…1,5·w*, то есть 0,5–5 м/с — согласуется с записями дельтапланеристов («хороший термик — 1–2 м/с крейсерский набор, 2–3,5 в сильный день», docs/research/xc_reference.md). По годовой статистике станции Desert Rock (Allen 2006) медианный w* за год — 2,56 м/с при z_i ≈ 1400 м, в июле в среднем 2,69 м/с (z_i ≈ 1975 м), максимум за год — 6,3 м/с.

Профиль термика по высоте (Леншоу и Стивенс 1980, по самолётным измерениям над морем; Аллен 2006 — та же формула, подогнана под автономные аппараты):

w^/w∗=(z/zi)1/3(1−1,1 z/zi) \hat w / w_* = (z/z_i)^{1/3} (1 - 1{,}1\, z/z_i)

— максимум ≈ 0,45·w* на z ≈ 0,25·z_i, обнуляется у 0,91·z_i. По записям парапланов во Франции (2017–2024, 1,47 млн наборов высоты) над горами набор на 30–40 % сильнее, чем над равниной: в полдень летом на равнине ≈ 1,03 м/с, в высоких горах ≈ 1,41 м/с — что учтено косвенно через силу источника, завязанную на классы рельефа.

Пыльные вихри рождаются у основания молодого сильного термика над сухой поверхностью, живут 10–60 с, высота 20–200 м от силы термика, дрейфуют с приземным ветром.

Границы модели

  • Не CFD. Термик — аналитическая формула (Гедеон + Аллен), а не расчёт течения: форма ядра и кольца опускания подогнаны под ощущения опытного пилота, а не выведена из уравнений с нуля.
  • Термики генерируются на регулярной сетке клеток, а не как в реальном пограничном слое, где число и положение термиков — случайный, но статистически структурированный процесс; у нас — детерминированный генератор по клетке, циклу и зерну.
  • Верхний спад подъёма у кромки сделан настраиваемым (top_taper_m), а не строго по 10 % высоты слоя, как получается у формулы Аллена — иначе под растущим облаком подъём гас бы нереалистично рано.
  • Нет прямого расчёта потока тепла по физике почвы для силы термика в статичном режиме: сила и доля источников берутся из таблицы опор по высоте кромки (см. страницу «Погода»), а не заново из измеренного потока каждый раз.
  • Один и тот же профиль турбулентности (Леншоу) используется и для конвективной болтанки, и как нормировка амплитуды — упрощение общей картины сдвига ветра в реальном пограничном слое.
  • Подробно про облака (форма, тени, стадии) — отдельная механика: /mechanics/clouds/.

Что рассматривали и почему так

  • Модель пузыря (столб) вместо всплывающего кольца (Scorer). В жизни встречаются оба режима — долго работающая «колонна» над солнечным склоном и короткоживущий «пузырь», отрывающийся и всплывающий. Выбрана колонна с жизненным циклом, у которой на стадии распада отрывается низ — это даёт то же ощущение «пузыря, ушедшего вверх», не считая отдельно вихревое кольцо.
  • Профиль Гедеона выбран за гладкость: разница подъёма между консолями крыла (≈10 м) плавно растёт к краю ядра, поэтому крыло кренит «из термика», как в жизни, а не рывком на резкой границе.
  • Экстремальные термики (7–9 м/с) сделаны редкими и только в сильный день — по словам пилота «+8 — уже надо валить»: проверено тестом, что в слабый и средний день таких термиков не бывает вовсе, а в сильный они редки и всегда под крупным облаком.
  • Сухие термики без облака оставлены отдельной долей (в слабый день — не меньше 40 %) — пилот их ищет «по вариометру», без визуальной подсказки в виде кучевого облака.

Грозы — редкое явление, не типичный элемент погоды. Доля сильных термиков, которые действительно становятся кучево-дождевыми (Cb), отделена от общей «грозовости дня» (коммит 105bf45): раньше при дневном максимуме +26 °C гроза у старта возникала почти в каждом полёте, что не соответствует жизни. Замер по 100 случайным дням на Онгудае (tools/weather/storm_rarity.tscn):

Температура днёмCb ближе 15 км за первый часГроза у старта в начале полёта
+26 °C0–1 % полётов0 %
+30 °C20–40 %0–4 %
+34 °C50–70 %3–6 %

Внутри грозовой ячейки (storm_field.gd) — нисходящий поток под ливнем, растекание у земли и фронт порывов; растекание соседних ячеек не складывается — раньше без этого ограничения скорости растекания нескольких ячеек суммировались до 30–60 м/с, что физически неверно (реальный шквал такой силы — редкое стихийное явление, а не рядовая гроза).

Дальше

Источники термиков, их сила и потолок теперь берутся не из таблицы опор по высоте кромки, а из общего поля воздуха: максимумы подъёма и схождения потока у земли на этот час, масштаб Дирдорфа — из смоделированного потока тепла и высоты слоя перемешивания в конкретной точке. Форма самого пузыря (Гедеон/Аллен) и его жизнь остались такими же — подробнее на странице модели воздуха и в docs/guide/air-model.md → «Масштаб 2: термики из поля». Описанная выше таблица опор работает как запасной путь, если поле недоступно.

Подробнее