Жара
Базовый слой: температура поверхности по безоблачной летней сцене. Для городов с устойчивой облачностью — медианный композит нескольких летних сцен.
Публичная карта городских островов тепла России: температура поверхности с разрешением тридцать метров, посчитанная по открытым спутниковым данным — без единого закрытого источника, без обученной на приватных данных модели и без сервера, который может упасть.

Городской остров тепла — не метафора и не публицистический оборот. Это измеримое физическое явление: плотная застройка, тёмные кровли и запечатанный грунт поглощают солнечную радиацию днём и отдают её ночью, а испарение с растительности, которое охлаждает открытый ландшафт, в городе почти отсутствует. Результат — устойчивая разница температур между кварталами одного и того же города, доходящая, по нашим измерениям, до тринадцати градусов.
При этом инструмент наблюдения устроен несоразмерно предмету. Городская метеосеть даёт одну–две точки на миллионный город, и сводка «в Волгограде +36» описывает весь город одним числом — тогда как между Красноармейским районом и берегом водохранилища лежит другая климатическая реальность. Человек, выбирающий, где жить, врач, оценивающий риск теплового удара, и планировщик, решающий, где сажать деревья, работают с картиной, у которой нет пространственного разрешения.
Спутник даёт то, чего не даёт метеосеть: регулярную тридцатиметровую сетку по всей площади города, десять лет ретроспективы и одинаковую методику для Махачкалы и для Москвы. Институт поставил вопрос инженерно: можно ли, не имея ни собственного спутника, ни закрытых данных, ни бюджета на постоянно работающую инфраструктуру, собрать инструмент, который городской администрации, врачу, журналисту и жителю говорит одно и то же — где именно в этом городе горячо, насколько и почему.
«Карта жары» — ответ на этот вопрос. Рабочая формула проекта коротка: открытые данные, открытые модели, мониторинг факта вместо прогноза и дешёвая статическая карта. И один принцип, определяющий тон: виновата физика, а не люди. Карта не обвиняет город — она показывает, где физика работает против жителя, и что именно можно изменить.
Проект измеряет LST — land surface temperature, температуру подстилающей поверхности: асфальта, кровли, кроны дерева, воды. Это не та величина, которую показывает термометр на балконе, и разница между ними не поправочный коэффициент, а физически иная сущность. В полдень поверхность бывает на два десятка градусов горячее воздуха над ней; ночью — холоднее.
Мы намеренно не «переводим» одно в другое ради удобства читателя. Величина, за которую можно ручаться, — измеренная; величина, которую пришлось бы моделировать, была бы удобнее в заголовке и хуже в науке. Поэтому в интерфейсе, в подписях к слоям и в каждом экспорте карта повторяет это ограничение — а модельные величины, вроде суточного пика, маркированы как расчёт.
Практический смысл от этого не теряется, а меняется. Температура поверхности — прямая характеристика того, как городская ткань обходится с солнечной энергией: где кровля работает нагревателем, где двор лишён тени, где пятно зелени сбивает температуру квартала. Именно это, а не показания одной будки в парке, отвечает на вопрос «что делать».
Каждый город проходит один и тот же путь от запроса к спутниковому каталогу до опубликованного слоя. Шаги идемпотентны: повторный запуск не портит результат, а пересчёт вызывается явным флагом. Версии модели и её контрольные суммы зафиксированы в конфигурации, логика покрыта модульными тестами, а состояние города — машиночитаемо, поэтому конвейер можно остановить и продолжить с любого шага.
Поиск и отбор сцен через STAC-каталог Microsoft Planetary Computer: Landsat Collection 2 Level-2, Sentinel-2 L2A, ESA WorldCover. Подписанные ссылки читаются потоково, без выкачивания архивов целиком. Границы районов приходят из OpenStreetMap через Overpass — с несколькими зеркалами, ретраями и дисковым кэшем, потому что открытая инфраструктура иногда недоступна.
Приведение сцен к единой сетке и расчёт поля температуры поверхности. Для облачных городов — медианный композит летних сцен, устойчивый к пропускам. Отдельным проходом считается модельная оценка суточного пика.
Зональная статистика по реальным административным границам: медиана, среднее, доля запечатанной поверхности, плотность населения и итоговый индекс экспозиции для каждого района. Индекс собирается из температуры (вес 0.5), населения (0.3) и дефицита зелени (0.2) — веса зафиксированы в конфигурации, а не подобраны под красивую картинку.
Публикация слоя в двух формах: PMTiles для отрисовки и PNG-сетка значений для расчётов на клиенте. Один файл на слой, обычный HTTP с byte-range — ни тайл-сервера, ни базы данных, ни точки отказа.
Гейт публикации, а не отчётность постфактум. Город не попадает в релиз, пока не пройдёт проверку: методика допускает публикацию при среднеквадратичной ошибке не выше 2.5 K, а сцены с недостаточным покрытием отбраковываются автоматически.
Слой жары отвечает на вопрос «где горячо». Остальные шесть отвечают на вопрос «почему» и «кого это касается» — и именно их пересечение превращает красивую картинку в аргумент.
Базовый слой: температура поверхности по безоблачной летней сцене. Для городов с устойчивой облачностью — медианный композит нескольких летних сцен.
Спутник снимает город около 11 часов местного времени. Слой достраивает суточный ход к дневному максимуму — это расчёт, а не измерение, и он маркирован как расчёт.
Индекс вегетации. Нужен не сам по себе, а чтобы связать жару с отсутствием растительности и проверить связь количественно.
Плотность населения. Превращает вопрос «где горячо» в вопрос «сколько людей живёт там, где горячо».
Скорость изменения температуры поверхности, °C в год. Наклон считается прямо в браузере по годовым сеткам значений — с двойным ползунком «с года / по год».
Категории земного покрова: доля запечатанной поверхности и контраст «застройка против растительности» — то есть измеренная сила острова тепла (SUHI).
Слайдер по годам: температура, медиана и отклонение от первого года наблюдений. Одиннадцать срезов на каждый из десяти городов — 110 самостоятельных слоёв.
Все цифры ниже получены на реальных спутниковых сценах, а не на демонстрационных данных, и воспроизводятся конвейером из исходников. Они описывают конкретные даты съёмки — это мониторинг факта, а не климатический прогноз.
Самая высокая средняя температура поверхности среди десяти городов. Не «жарко в тени» — жарко под ногами, по всей площади города.
Пиковая температура поверхности в кадре. Такие значения дают не жилые кварталы, а промзоны, кровли и открытый асфальт.
Доля населения города, живущая в зонах, где поверхность прогревается выше 40 °C. Это уже не карта температуры, а карта нагрузки на людей.
Скорость роста температуры поверхности по медиане города за 2015–2025. Самый быстрый тренд в выборке.
Сила острова тепла: настолько застройка горячее зелёных зон в один и тот же момент съёмки.
Разница между малозелёными и зелёными кварталами. Связь зелени и жары отрицательная почти везде: от r = −0.33 в Саратове до r = −0.76 в Симферополе.

У каждого города есть собственная страница: общие данные, ключевые цифры по жаре, разница между поверхностью и климатической нормой воздуха, рейтинг районов по экспозиции и сформулированная рекомендация. Это то, что можно приложить к письму в администрацию, не пересказывая карту словами.

Раздел ограничений в этом проекте обязателен по внутреннему регламенту и открывается с той же навигации, что и сама карта. Инструмент, который не перечисляет собственные слабые места, не является научным инструментом.
Публичный инструмент живёт ровно столько, сколько кто-то оплачивает его инфраструктуру. Поэтому «Карта жары» намеренно устроена так, чтобы не иметь работающих частей: результат конвейера — набор статических файлов, а карта в браузере читает их напрямую обычными HTTP-запросами с диапазоном байт. Ни базы данных, ни тайл-сервера, ни фонового процесса, ни ключей доступа на клиенте. Стоимость поддержки такой карты стремится к стоимости раздачи файлов, а её отказоустойчивость равна отказоустойчивости хостинга статики.
Расчёты, которые всё же должны быть интерактивными, вынесены в браузер: попиксельный тренд за произвольный период считается на клиенте из годовых сеток значений, пока пользователь двигает ползунок. Это тот редкий случай, когда перенос вычислений на пользователя — не экономия, а архитектурное решение: серверу нечего было бы посчитать быстрее.
Воспроизводимость обеспечивается не декларацией, а устройством конвейера: версии и контрольные суммы модели зафиксированы, шаги идемпотентны, состояние города машиночитаемо, чистая логика покрыта тестами, а сцены и промежуточные продукты кэшируются на диск, чтобы повторный прогон не зависел от доступности внешних сервисов. Любой шаг воспроизводится одной командой из исходников — включая полный прогон на синтетических данных, если у проверяющего нет доступа к спутниковым каталогам.
Вклад института — не данные и не архитектура модели, а то, что между ними: адаптация модели, инженерия конвейера, валидация как условие публикации, зональная аналитика по реальным административным границам и продукт, которым можно пользоваться без специальной подготовки. Мы считаем корректным говорить об этом прямо: заимствованное названо заимствованным, сделанное — сделанным.

Сейчас опубликованы десять городов на реальных спутниковых данных: Москва, Ростов-на-Дону, Волгоград, Астрахань, Самара, Саратов, Краснодар, Ставрополь, Махачкала и Симферополь. Выборка сознательно смещена на юг: там жара — ежегодная норма, а не аномалия, и цена ошибки в планировании города выше. Для каждого города собраны все семь слоёв, реальные административные границы, рейтинг районов, годовая ретроспектива за одиннадцать лет и карточка для распространения. Конвейер проходит насквозь, интерфейс собирается в статический экспорт.
Ближайшие задачи: публикация на постоянном адресе в домене института и нагрузочная проверка раздачи тайлов; уточнение тренда до медианы попиксельного наклона; общая маска валидных пикселей для годовых медиан, чтобы убрать шум сравнения разных по покрытию композитов; сужение класса растительности при расчёте острова тепла, чтобы сухая летняя пашня не маскировала эффект застройки; сверка справочных региональных показателей с первоисточниками. После этого — расширение выборки городов.