В разработке · АстросферумWork in progress · Astrosferum
Астрокупол: прогноз по всему небосводу.Astrodome: a forecast for the whole sky.
Как из полного объёма ICON-EU получить 72 почасовых среза условий от расчётной границы 10° до зенита — без интерполяции готовых индексов.Turning a full ICON-EU volume into 72 hourly views from the 10° calculation boundary to zenith, without interpolating derived scores.
«Горизонт» сравнивает восемь направлений на высоте 10°. Этого хватает, чтобы выбрать свободную сторону неба, но он не показывает, как меняются условия с высотой и по ходу движения объекта. «Астрокупол» считает весь небосвод как отдельный набор направлений.
Состояние проекта
Плотный источник данных, физический расчёт, очередь задач, серверная авторизация и интерфейс уже реализованы и развёрнуты для контролируемой проверки. Публичный доступ откроется после полного контрольного прогона, измерений нагрузки, проверки обычного прогноза под нагрузкой и наблюдательной валидации. Поэтому ниже описана работающая архитектура, но не объявлен готовый выпуск.
129направлений в одном часовом срезе
72последовательных почасовых срока
9 288узло-часов в полном наборе
10°внешняя граница расчёта, не горизонт
Horizon compares eight directions at an altitude of 10°. That is enough to find an open part of the sky, but it does not show how conditions vary with altitude or along an object's track. Astrodome calculates the whole sky as a discrete set of directions.
Project status
The dense data source, science kernel, job queue, server-side authentication and interface are implemented and deployed for controlled verification. Public access follows a complete release run, workload measurements, non-regression checks for the ordinary forecast and observational validation. This article therefore describes working architecture without presenting it as a finished public release.
129directions in each hourly frame
72consecutive native hourly terms
9,288node-hours in a complete dataset
10°outer calculation boundary, not the horizon
АСТРОКУПОЛ / РАБОЧИЙ ИНТЕРФЕЙСASTRODOME / WORKING UI24 КАДР/С · ЦИКЛ24 FPS · LOOP
Расчёт одного направленияOne-direction calculationИСХОДНЫЕ ПОЛЯ → ПРЕЛОМЛЁННЫЙ ЛУЧ → ПОКАЗАТЕЛЬRAW FIELDS → REFRACTED PATH → LOCAL INDEXБЕЗ СМЕШИВАНИЯ ИНДЕКСОВNO SCORE MIXING
Проведите по схемеSwipe the diagram →
Сначала восстанавливаются исходные поля в месте прохождения луча. Затем по этой траектории заново считаются физические интегралы и показатели одной ячейки. Смешивать готовые значения соседних ячеек нельзя.Source fields are reconstructed along the ray first. The physical integrals and metrics for one cell are then calculated from that path. Derived values from neighbouring cells are never blended.
Не увеличенный «Горизонт»
У «Горизонта» восемь азимутов и одна геометрическая высота. В «Астрокуполе» восемь колец расположены на 10, 20, 30, 40, 50, 60, 70 и 80°, в каждом по 16 азимутов с шагом 22,5°. Зенит считается один раз: у направления 90° нет отдельного азимута. Получается 129 узлов на один час и 9 288 узло-часов на весь набор.
Высоты ниже 10° намеренно не рассчитываются. Рядом с геометрическим горизонтом быстро растут длина пути, влияние рельефа и цена ошибки модели. Поэтому внешнее кольцо в интерфейсе подписано как граница расчёта, а не как линия горизонта.
Почему понадобился полный профиль ICON-EU
Обычный прогноз берёт сокращённый профиль: этого достаточно для почасовых графиков в одной точке. Луч, направленный под углом, пересекает много горизонтальных ячеек и вертикальных слоёв. Для него загружается полный объём: все 74 полных уровня, 75 полууровней геометрии и 19 приземных полей.
На полных уровнях хранятся давление, температура, удельная влажность, жидкая и ледяная вода, доля облачности и две горизонтальные составляющие ветра. Вертикальный ветер и энергия турбулентности остаются на своих полууровнях. У поверхности отдельно нужны давление, влажность и температура на двух метрах, видимость, глубина перемешанного слоя, ветер, порывы, накопленные осадки и столбовые величины воды и облачного конденсата.
Восстановление начинается с четырёх соседних колонок сетки ICON-EU. Сначала между ними и соседними сроками смешиваются только исходные метеорологические величины. Уже после этого в каждой точке луча вычисляются плотность воздуха, показатель преломления, облачное ослабление и турбулентность.
Сиинг, τ₀, пропускание облаков и Overall не являются исходными полями модели. Если сначала посчитать их в узлах, а затем смешать, получится другое физическое решение.
Луч не проводится по линейке
Температура, давление и влажность меняют показатель преломления воздуха. Поэтому расчётный луч немного изгибается. В реализации используется влажновоздушная формула Киддора, а траекторию интегрирует метод Дормана—Принса. Он одновременно следит за верхом модели, рельефом и переходами между ячейками исходной сетки.
Если траектория упирается в рельеф или численная проверка не сходится, ячейка помечается как недоступная. Значение не заменяется прямым лучом и не угадывается по соседям. Ошибка одной ячейки при этом не уничтожает остальные направления и часы.
Что означают показатели
Cn²
Сила мелкомасштабных колебаний показателя преломления в конкретном слое. Чем больше Cn², тем сильнее этот участок воздуха искажает волновой фронт.
Сиинг
Расчётное угловое размытие точечного источника после прохождения всего пути, в секундах дуги. Меньшее значение означает более спокойное изображение.
τ₀
Атмосферное время когерентности: как долго искажённый волновой фронт остаётся примерно похожим на себя. Большое τ₀ даёт адаптивной оптике и короткой выдержке больше времени.
θ₀
Изопланатический угол: размер участка неба, внутри которого атмосферные искажения ещё достаточно сходны. Он особенно важен для коррекции по опорной звезде.
Свободная атмосфера
Сиинг выше приземного слоя. Он помогает отделить вклад нижней, часто локальной турбулентности от того, что происходит выше площадки.
Доля приземного слоя
Часть общего интеграла турбулентности, собранная рядом с поверхностью. Это не процент «плохого воздуха», а разделение одного физического вклада по высоте.
PWV по лучу
Масса водяного пара в наклонном столбе, численно равная миллиметрам жидкой воды после условной конденсации. Это не вероятность дождя.
Overall
Сводная инженерная оценка от 1 до 10. В интерфейсе рядом показаны отдельные штрафы, поэтому число можно разобрать на турбулентность, облака, ветер, туман и осадки.
Дополнительно считаются воздушная масса, оптическая толща жидкой и ледяной части облака, туман, прозрачность и сдвиг ветра. Воздушная масса здесь получается из фактической длины и состояния пути, а облачная преграда — из водности, льда, доли покрытия и взаимного перекрытия слоёв, а не из одного процента общей облачности.
GEOS-CF — дополнение, а не второй прогноз
NASA GEOS-CF используется только для дополнительной спектральной оценки Reference V. Из него приходят семь составляющих AOD на 550 нм — чёрный углерод, пыль, органический углерод, вторичный органический аэрозоль, морская соль, нитрат и сульфат — и общий столб озона.
Температура, давление, влажность и ветер из NASA в расчёт не подмешиваются. Если цикл GEOS-CF устарел или неполон, пропадает только дополнительная оценка Reference V. Основной прогноз ICON-EU, направленные показатели и Overall продолжают работать.
More than an enlarged Horizon view
Horizon has eight azimuths at one geometric altitude. Astrodome uses eight rings at 10, 20, 30, 40, 50, 60, 70 and 80°, each with 16 azimuths spaced by 22.5°. Zenith is calculated once because a 90° direction has no distinct azimuth. The result is 129 nodes per hour and 9,288 node-hours in a complete dataset.
Altitudes below 10° are deliberately outside the product. Path length, terrain influence and model uncertainty rise rapidly near the geometric horizon. The outer ring is therefore labelled as a calculation boundary rather than the horizon.
Why the full ICON-EU profile is needed
The ordinary forecast reads a reduced profile, which is sufficient for hourly charts at one location. A slanted ray crosses many horizontal cells and vertical layers. Astrodome therefore loads the full volume: all 74 full levels, 75 geometric half levels and 19 surface fields.
The full levels carry pressure, temperature, specific humidity, liquid and ice water, cloud fraction and two horizontal wind components. Vertical wind and turbulence kinetic energy remain on their native half levels. Surface inputs separately cover pressure, two-metre humidity and temperature, visibility, mixed-layer depth, wind, gusts, accumulated precipitation and column water and condensate.
Reconstruction starts from four neighbouring ICON-EU columns. Only source meteorological variables are blended in space and between native times. Air density, refractive index, cloud extinction and turbulence are then computed at every point along the ray.
Seeing, τ₀, cloud transmission and Overall are not model inputs. Calculating them at grid nodes and blending the answers would produce a different physical result.
The ray is not drawn with a ruler
Temperature, pressure and humidity change the refractive index of air, so the calculated ray bends slightly. The implementation uses Ciddor's moist-air refractivity and a Dormand–Prince integrator that tracks the model top, terrain and source-grid boundaries at the same time.
If the path meets terrain or the numerical checks do not converge, that cell is marked unavailable. It is not replaced by a straight ray or guessed from its neighbours. One failed cell does not discard the remaining directions and forecast hours.
What the diagnostics mean
Cn²
The strength of small-scale refractive-index fluctuations in a layer. A larger value means that part of the atmosphere distorts the wavefront more strongly.
Seeing
The calculated angular blur of a point source after the complete path, in arcseconds. Smaller values mean a steadier image.
τ₀
Atmospheric coherence time: how long the distorted wavefront remains roughly similar. A larger τ₀ gives adaptive optics and short exposures more time to react.
θ₀
Isoplanatic angle: the area of sky over which atmospheric distortion remains sufficiently alike. It matters when correction is referenced to a guide star.
Free atmosphere
Seeing above the ground layer. It separates lower, often local turbulence from what remains higher over the observing site.
Ground-layer fraction
The share of the turbulence integral collected near the surface. It divides one physical contribution by altitude; it is not a percentage of “bad air”.
Slant PWV
Water-vapour mass along the slanted column, numerically equal to millimetres of liquid water after hypothetical condensation. It is not a rain probability.
Overall
A bounded engineering score from 1 to 10. The interface exposes each penalty, so the value can be traced to turbulence, cloud, wind, fog or precipitation.
Air mass, liquid and ice cloud optical depth, fog, transparency and wind shear are calculated as well. Air mass follows the actual path and atmospheric state, while cloud obstruction uses condensate, ice, coverage and layer overlap rather than a single total-cloud percentage.
GEOS-CF is an addition, not a second weather model
NASA GEOS-CF is used only for the supplementary Reference V spectral estimate. It contributes seven AOD components at 550 nm—black carbon, dust, organic carbon, secondary organic aerosol, sea salt, nitrate and sulphate—plus total column ozone.
Temperature, pressure, humidity and wind are not taken from NASA. If GEOS-CF is stale or incomplete, only the supplementary Reference V estimate disappears. The main ICON-EU forecast, directional diagnostics and Overall continue to work.
Рабочий интерфейсWorking interface
Один набор данных, два способа просмотра.One dataset, two ways to inspect it.
Объёмный вид помогает ориентироваться внутри небосвода. Плоская карта быстрее показывает рисунок по азимутам и высотам. Выбранная ячейка и численные значения в обоих режимах остаются теми же.The 3D view provides spatial orientation inside the sky, while the flat map makes azimuth and altitude patterns easier to compare. Both modes preserve the same selected cell and source-node values.
3D / WEBGL2Вид изнутри купола с выбором отдельной ячейки.View from inside the dome with cell selection.2D / CANVASВсе азимуты и высоты на одной полярной карте.All azimuths and altitudes on one polar map.SEEING / 500 NMПлоский вид в астрономическую ночь: каждая ячейка содержит отдельно рассчитанный наклонный сиинг.Astronomical-night flat view: every cell contains its independently calculated slant seeing value.
Тяжёлый расчёт вынесен из обычного прогноза
Один купол значительно тяжелее одного почасового графика. «Горизонт» и «Астрокупол» используют общую ограниченную очередь, а совпадающие запросы получают один результат. Отдельный рабочий процесс читает модель только для чтения и не может менять текущий цикл. Его остановка, нехватка памяти или превышение времени переводят конкретную задачу в ошибку, но не останавливают синхронизацию ICON и обычные ответы Telegram/VK.
Готовый набор публикуется атомарно как сжатый JSON. В базе остаются только владелец, контрольная сумма, имя файла и срок хранения. Визуализация доступна пользователю 96 часов; незавершённый или неудачный повтор не заменяет предыдущий готовый результат.
Браузер тоже проверяет данные
Перед отрисовкой клиент проверяет число и порядок узлов, версии геометрии, контрольную сумму описателя, время кадров и допустимость чисел. Основной режим использует WebGL2, запасной — Canvas 2D. Для клавиатуры и экранного диктора есть табличное представление. Декоративная сетка, компас и звёздный фон не участвуют в расчёте и не меняют цвет ячейки.
Что ещё нужно проверить
завершить полный контрольный прогон текущей версии на одном неизменяемом цикле ICON-EU;
измерить холодный и повторный расчёт по процессору, памяти, диску и размеру сжатого набора;
проверить задержку обычного прогноза и «Горизонта», пока направленный рабочий процесс занят;
пройти сценарии остановки, нехватки памяти, отката, авторизации и ограничений между пограничным и внутренним сервером;
подобрать коэффициенты по наблюдениям и затем проверить их на отдельном наборе; для сиинга планирую использовать в том числе публичные ряды DIMM обсерваторий;
сопоставить облачность, водяной пар, видимость и осадки с независимыми наблюдениями.
Практический результат
«Астрокупол» превращает один цикл ICON-EU в проверяемый направленный набор: 72 часа, 129 независимых направлений на каждый срок и явные причины ограничения для каждой ячейки. Это модельная оценка условий, а не измерение атмосферы над площадкой.
One dome is far more expensive than one hourly chart. Horizon and Astrodome share a bounded queue, and identical requests share one result. A separate worker reads the model store in read-only mode and cannot change the current run. A crash, memory limit or timeout fails that directional job without stopping ICON synchronisation or ordinary Telegram/VK forecasts.
A completed dataset is atomically published as compressed JSON. The database keeps only its owner, digest, exact filename and expiry. A visualization remains available to its user for 96 hours; a queued, failed or cancelled recalculation does not replace the previous successful result.
The browser validates the dataset too
Before rendering, the client checks node count and order, geometry versions, descriptor digest, frame times and numeric validity. WebGL2 is the primary view and Canvas 2D is the fallback. A tabular representation supports keyboard and screen-reader access. The decorative grid, compass and stars never alter a cell's value or colour.
What remains to be verified
complete a full release run of the current version against one immutable ICON-EU cycle;
measure cold and warm execution for CPU, memory, disk and compressed payload size;
verify ordinary forecast and Horizon latency while the directional worker is occupied;
exercise crash, memory, rollback, authentication and edge-to-origin restriction scenarios;
fit coefficients against observations and validate them on a separate dataset; public observatory DIMM series are among the planned seeing references;
compare cloud, water vapour, visibility and precipitation against independent observations.
Practical result
Astrodome turns one ICON-EU run into a traceable directional dataset: 72 hours, 129 independently calculated directions per term and explicit limiting factors for every cell. It remains a model estimate, not a measurement of the atmosphere above the site.