Журнал модуля «воздух у старта» (air-start)
План — docs/archive/plan/air-start.md; контракты — docs/contracts/air-model.md (C2 v6, C7 v3, C9 v3). Ветка
feature/air-start, копия ~/deltaplan-air-start (от main 938d1ea).
Решения
01.10 — модуль заведён по жалобе пилота на 1.0.0 (6 м/с: сдувает, нос гуляет, крыло само отрывается). Решение пользователя: проблема 1 — подстроить поле под старт (два прохода, класс и z_sat по меню, калибровку не трогать).
01.10 — поправка главной сессии: Taylor & Lee (сплющивание аналитики над гребнем) не делаем; аналитику, Б1/AM-09,
test_ridge_startsне трогаем; заметное расхождение аналитики и поля после AS-1 — шлюз с числами.01.10 — контракты до исполнителей: C2 v6 (
inflow_k), C7 v3, C9 v3 (два прохода при загрузке); контрактный тест дополнен (test_c2_inflow_scale, C7/C9) — до AS-1 падает намеренно (3 теста).01.10 — проблема 2: бисект ведёт CF-1 (
~/deltaplan-control-fix-cf1, временные копии~/deltaplan-cf1-bisect-*); не дублируем, AS-2 — после передачи результата и после AS-1 (масштаб притока сам уменьшит u* у старта).01.10 — итог бисекта CF-1 (через главную сессию; control-fix/cf1 d3f01bb,
docs/archive/plan/cf1_start/README.md→ «Бисект поля GPU»): скачок болтанки на 4e71747 (AM-04, окна 100/50 м у старта), усиление при 6 м/с — e674c49 (Б2). 6 м/с, 1,5 м: 551e79b σw 0,04, ±32°; 4e71747 σw 0,73, w̄ 0,44, ±79°; 1.0.0 σw 1,05, w̄ 0,81, ±86°, ΔU/0,5 с 3,98. Проблема 2 — полностью наша. AS-2 запущена параллельно AS-1 (файлы не пересекаются: AS-2 — болтанка/выборка поля, AS-1 — приток); итоговые числа AS-2 — после вливания AS-1. Приёмка AS-2: σ на 1,5 м ±30 % от подобия приземного слоя для u* в точке (Panofsky et al. 1977, Kaimal & Finnigan 1994), w̄ объяснён, без эвристики отрыва на наветренном старте.02.10 — шлюз AS-1, решение пользователя: вариант (в) — два прохода, k₁ = k₀·(U_меню/U₁)^(1/p), p по ветру 0,57/0,75/0,90 при 3/6/10 м/с (замер отклика поля, passes.csv); упор прохода 1 в предел итераций — без второго прохода. Граница «на 100 м поле на 5–40 % слабее аналитики» — оставить, в документы. Несходимость на слабом ветре — вне модуля (TODO). Выпуск 1.0.1: AS-2 + AS-1 + main 01427ed, итог 430a638; наборы тестов не гонялись (указание пользователя, проверка после выпуска). C9 v3 дополнен (степенной k, слабый ветер, откат к проходу 1, timeout на проход).
02.10 — проверка 95412c3 (AS-2 + main dcf039e, до AS-1): GPU air_ 61/61, start_ 16/16 (с test_start_regression_gpu, start_air_gpu); headless contracts/flight/start_/game ok; atmosphere — test_performance (нагрузка) и test_xc_bot_synthetic_10km (падает и на feature/control-fix 6797a05 — пришло из main, не воздух).
02.10 — AS-1 вариант (в), 6 м/с: U10 над стартом ÷ меню 0,95–1,06 (10/10 в ±10 %, остаток −5,0…+6,1 %), k 0,37–0,96; 100 м — 1,17–1,69 × меню (до 1,6–2,5); wall_s 4,2–5,5 → 8,0–13,3 с (машина под нагрузкой).
02.10 — замер AS-1 (в) по всем ветрам (b9055a6): U10 над стартом ÷ меню 3 м/с 0,90–1,01, 6 м/с 0,95–1,06, 10 м/с 0,95–1,06 — 30/30 в ±10 %, проход 1 сошёлся везде; wall_s 8,0–14,8 с, altai 3 м/с 26,7–38,5 с (вероятно, упор прохода 2 в итерации); поле/аналитика на 100 м при 6 м/с 0,64–0,92 (медиана 0,81). GPU test_air_start 2/2, test_air_contracts 29/29. После выпуска: полный прогон наборов (air_, start_, contracts, flight, game) на 87a7982.
Задачи
| Задача | Статус | Исполнитель | Копия / ветка | Коммиты | Числа / решения |
|---|---|---|---|---|---|
| AS-1 Поле под старт | принята (02.10, вариант (в) по решению пользователя; тесты — после выпуска по указанию пользователя) | dp-engineer | ~/deltaplan-air-start-as1 / air-start/as1 | 67b1799, a55c438, 1bf3ee6, 0889079, 17dd851, b9055a6; слияния в feature/air-start, итог 87a7982; копия и ветка удалены | U10 над стартом ÷ меню: до 0,98–2,10; после 2 проходов 3 м/с 7/10 в ±10 % (макс 21,6 %), 6 м/с 6/10 (макс 21,9 %), 10 м/с 9/10 (13,5 %); 3 прохода (секущая) — 10/10 (макс 9,1 %). k 0,35–0,97. Поле нелинейно по притоку: U ∝ k^p, p ≈ 0,57 (3 м/с) / 0,75 (6) / 0,90 (10) — по passes.csv (координатор): шаг k₁ = (U_меню/U₁)^(1/p) даёт на тех же данных 41/41 в ±10 % (в выборке, не проверено). Поле ÷ аналитика на 100 м — 0,60–0,95 (алтайские старты — до −40 %) → шлюз 2. Время: проход ≈ 6 с у нас (область 2,6, окна 3,6), загрузка игры Онгудай 3 м/с 26–29 с, из них ветер 16,5–17 (2 прохода); слабый приток (k·u10 ≲ 2 м/с) — упор решения без нагрева в 3000 итераций, проход 15–34 с. Пилот (оценка): проход 4,6–12 с, на 1.0.0 поле ≈ 5–12 с из 39 с. Тёплый старт прохода 2 не даёт ничего. Ветер в полёте не меняется (set_wind только при старте). Контракт: test_air_contracts 29/29; GPU air_ 62 — падает только новый test_air_start_gpu (6/10). Доделка: откат к полю прохода 1 при неудаче прохода 2 (тест test_failed_second_pass_keeps_first), порог штиля 0,5 м/с (U10_MIN), timeout_s — на проход (согласовать). Слабый ветер (Онгудай 12:00): 3 м/с 180° — проход 1 3000/2150 итераций 30 с, проход 2 +35 с; 2 и 1 м/с 270° — упор 3000/3000 в обоих проходах, +36–37 с, остаток после 2 проходов +21/+28 % (k почти не действует); штиль 9:00 — 49 с, один проход. Причина несходимости (оценка исполнителя): решение без нагрева при малом u* — малые K и слой h ≈ 230 м, над слоем почти невязкое устойчивое течение с малым Fr (блокирование, волны), затухание псевдовремени только губки — невязки растут до ~400× порога и стоят; вероятно, стационарного решения нет. |
| AS-2 Турбулентность у земли | принята (01.10), итоговый замер — после AS-1 | dp-engineer | копия и ветка удалены | 4b3895c; слияние 26ea241 | Механизм: на 4e71747 старт попал в окно 50 м, σw стал по подобию (≈1,25u*, физично; аналитика ×agl/60 — нефизично мала). Рывки/развороты давали: σv = σu (вместо 1,9/2,4), сложение механики и конвекции квадратами (вместо кубов, Panofsky 1977), конвективная горизонталь с масштабом высоты (~23 м вместо 0,22 z_i), перенос шума ветром 300 м (у земли вихри несёт местный U — в 2–4 раза чаще). Отрыв/обратный поток на наветренных стартах — нет (lee 0). Исправлено в FieldTurbulence/GustSpectrum в рамках C4 v4: u* приземного слоя по ветру в точке, σv ≠ σu, σ³-сложение, масштаб 0,22 z_i, растяжение масштабов у земли advect/U (≤ 8, вес e^(−agl/10 м) — допущение). 6 м/с, 1,5 м, 4 старта: σ модели −18…+13 % от теории (приёмка ±30 %); Каянча 6 м/с сид 0: ±86° → ±21°, max ΔU/0,5 с 3,98 → 2,14, σw 1,05 → 0,98. 3 м/с: развороты 178/180/142° → 30/103/71° (остаток — медленные конвективные циклы при Ū ≈ 2). Перепроверено: GPU start_air_gpu ok (Каянча σw 0,80/0,82, Аушкуль 0,99/0,95), headless atmosphere, lee — без падений, contracts — только 3 намеренных до AS-1. Предложения (вне скоупа): выборка ветра крылом в 2–3 точках по размаху (модель полёта — control-fix), C3/C4 v5 — w = U·∇h у земли (w̄ поля сейчас 0,1–0,5 от склона) — шлюз. |