Симулятор

Как считает HazardSim

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

Обновлено 18 сентября 2026

HazardSim отвечает на один вопрос: если бы бедствие заданного масштаба произошло здесь, какую площадь оно бы охватило и сколько там живёт людей? Он не говорит, возможно ли такое событие в этом месте и насколько оно вероятно. Масштаб выбираете вы; сайт прикладывает его к настоящему рельефу и настоящим населённым пунктам по нескольким простым правилам, которые перечислены ниже вместе с константами из кода.

1 м / 250 мстолько высоты цунами теряет на каждые 250 м пути вглубь суши
0,6 мвысота, на которой и ниже которой рельеф, связанный с краем сетки, считается морем
11–30 км/сдиапазон скорости входа метеорита, которую можно задать; по умолчанию 17 км/с
8 кмглубина очага, принятая для всех землетрясений
1 560записей о вулканах из Smithsonian Global Volcanism Program
60 /км²фоновая плотность населения вдали от городов

На что симулятор отвечает, а на что нет

Никакая модель разломов не решает, способно ли побережье породить магнитуду 9, и никакая модель океана не несёт волну через Тихий океан. Результаты детерминированы: одно и то же место с теми же настройками всегда даёт те же числа. Анимация служит украшением: затопление считается за один проход, а потом проявляется примерно за три секунды. От времени ничего не зависит, поэтому нет ни времени прихода волны, ни предупреждения, ни эвакуации.

Данные в основе

Рельеф и сетка

Высоты берутся из тайлов Mapbox Terrain-RGB, а при их отсутствии из Mapbox Terrain-DEM. Цвета пикселей расшифровываются по опубликованной формуле Mapbox: высота = −10 000 + (R × 65 536 + G × 256 + B) × 0,1 м. Эта модель смешивает источники с разными вертикальными датумами, поэтому высоты у уровня моря не точны, а на плоском побережье небольшие ошибки далеко сдвигают линию затопления.

Код выбирает самый подробный зум от 14 до 6, при котором расчётная область занимает не больше 780 пикселей в ширину и 620 000 пикселей всего, а затем загружает все тайлы, которые её покрывают (не больше 42). Сторона ячейки равна 156 543 м × cos(широты) ÷ 2зум: на широте 45° это 6,8 м при зуме 14, 27 м при зуме 12 и 54 м при зуме 11. Дамба уже одной ячейки может вовсе не попасть в сетку.

Расчётная область

Если ваша точка находится внутри населённого пункта, областью становится его ограничивающий прямоугольник, расширенный на 14% и ещё на дальность бедствия: высота волны × 250 м для цунами, 12 км для подъёма океана, внешнее кольцо для метеорита (дальность ограничена 60 км). Высота области ограничена 1,4° широты, для небольших бедствий меньше; слишком большой прямоугольник заменяется квадратом с центром в вашей точке. Вне населённых пунктов областью становятся 82% видимой карты вокруг точки, поэтому приближение карты может изменить результат.

Границы городов и население

Клик отправляет запрос в Nominatim, геокодер OpenStreetMap, на уровнях зума 10, 12 и 8, и берётся первый ответ с полигоном границы. Моря, заливы, страны, штаты и регионы отбрасываются, как и всё, что выше 1,2°, шире 2,4° или больше 12 000 км². Без полигона используется ограничивающий прямоугольник, а площадь принимается за 72% его площади.

Население берётся из тега population у границы; если его нет, из поиска Nominatim по тому же названию внутри прямоугольника; если и это не помогло, из самого крупного населённого узла типа city, town, borough, suburb или village, который находит там Overpass API. Плотность равна населению, делённому на площадь, и ограничена диапазоном 1–100 000 /км². Результат выше 60 000 /км² (плотнее даже самых перенаселённых районов Дакки или Манилы) означает, что в OpenStreetMap население целого города привязано к меньшему контуру, поэтому код такую цифру игнорирует. Когда в OpenStreetMap населения нет, код берёт типичное значение для данного типа места: от 6 000 /км² для borough или suburb и 4 500 для city до 700 для village и 300 для county (2 500, если тип неизвестен). Ползунок плотности перекрывает всё это. Административные границы часто включают сельхозугодья, так что средняя плотность обычно ниже плотности центра.

Вулканы

Красные метки — это 1 560 записей (несколько вулканов встречаются дважды) из списка голоценовых вулканов Smithsonian Global Volcanism Program. Точка в пределах 40 км от вулкана использует этот вулкан: извержение центрируется на самом вулкане, а не на клике. Дальше ничего не считается: сайт называет ближайший настоящий вулкан и предлагает перейти к нему.

Цунами: заливка, которая теряет высоту

Проверка побережья. Перед запуском цунами или подъёма океана по клику или поиску код загружает грубый рельеф (зум 8, ячейки около 600 м на экваторе) и считает ячейки на высоте 0,6 м и ниже в радиусе 30 км. Их нужно не меньше 150, то есть примерно 50 км² открытой воды у экватора (ближе к полюсам, где ячейки мельче, меньше), чего не набирает ни одна река или пруд. Клик по самой воде отклоняется.

Поиск моря. На полной сетке каждая краевая ячейка на высоте 0,6 м и ниже помечается как море, и метка распространяется на все связанные с ней ячейки, включая диагональные, которые тоже лежат на 0,6 м и ниже. Если морских ячеек меньше 40, расчёт останавливается. Побочный эффект: суша ниже 0,6 м, связанная с морем, например польдер, с самого начала считается морем и никогда не засчитывается как затопленная.

Распространение воды. Из всех морских ячеек сразу вода расходится по соседним ячейкам, прибавляя к пройденному расстоянию ширину одной ячейки (1,414 по диагонали). Уровень воды в каждой ячейке равен

уровень = H − расстояние ÷ 250,

где H — высота волны в метрах. Если уровень выше земли, ячейка затапливается на глубину «уровень − земля» и вода идёт дальше; если нет, ячейка остаётся сухой и преграждает путь. Так что вода попадает в ячейку только через цепочку затопленных ячеек, а гребень выше воды укрывает землю за собой, если нет обходного пути.

Как модель затопления решает, что намокнет
Схематичный разрез; спад 1 м на 250 м — константа из кода
0 5 10 15 м Волна: 15 м у берега Холм выше воды её останавливает уровень −1 м на 250 м Затоплено за холмом остаётся сухо Море 0 1 2 3 4 км от берега
Низина за холмом лежит ниже уровня воды, но заливка до неё не доходит. На настоящей карте вода всё же может попасть туда в обход края холма.

Спад заменяет собой трение о рельеф и здания. Это одно число для всей планеты, а не физический закон: на плоской суше у уровня моря волна 15 м останавливается в 3,75 км от берега, волна 30 м в 7,5 км. Одна и та же высота прикладывается ко всей береговой линии сетки сразу, поэтому нет ни направления волны, ни морского дна, ни сужения в заливах, ни ограниченного объёма воды, ни второй волны. Если вода касается края сетки, результат предупреждает, что настоящее затопление идёт дальше.

Пустить волну 15 м на Сендай →

Подъём океана: тот же движок без спада

Подъём океана выполняет тот же код с выключенным спадом: каждая ячейка, связанная с морем и лежащая ниже нового уровня, затапливается, как бы далеко от берега она ни была. Такой подход часто называют моделью ванны. Котловина ниже нового уровня остаётся сухой, если её целиком окружает более высокая земля. Дамбы учитываются, только если они есть в данных о высотах и шире одной ячейки. Нет ни приливов, ни штормовых нагонов, ни эрозии, ни проседания суши, ни шкалы времени. Вместо погибших все жители затопленной земли засчитываются как лишившиеся дома. См. также какие города утопит подъём океана.

Землетрясение: кольца интенсивности вокруг точки

Землетрясение считается точечным источником в месте клика на глубине 8 км. Интенсивность по модифицированной шкале Меркалли на расстоянии r от эпицентра равна

MMI = 1,5·M − 3,0·log10R − 0,0018·R + 1,6, где R = √(r² + 8²) км, с ограничением 0–12.

Вид формулы обычный для затухания интенсивности (член магнитуды, геометрическое расхождение, поглощение с расстоянием), но коэффициенты — собственное приближение сайта, а не опубликованная зависимость, и интенсивность вычисляется напрямую, а не через ускорение грунта. Магнитуда 7 даёт 9,4 в эпицентре, VIII до 21 км и V до 181 км; магнитуда 6 достигает максимум 7,9 и до VIII не дотягивает; магнитуда 8 даёт VIII до 67 км. Начиная примерно с магнитуды 8,8 эпицентр упирается в потолок XII.

Интенсивность в зависимости от расстояния в модели
Модифицированная шкала Меркалли, глубина очага фиксирована на 8 км
III IV V VI VII VIII IX X XI XII 0 40 80 120 160 расстояние от эпицентра, км VIII — тяжёлые разрушения V — ощутимо M6 M7 M8
Рассчитано по формуле из кода симулятора.

Для каждой зоны задана доля погибших, умноженная на коэффициент застройки: 0,06 для современных сейсмических норм, 1 для средней застройки, 7 для плохой.

ЗонаСовременные нормыСреднеПлохо
IX+: дома складываются0,06%1%7%
VIII: тяжёлые разрушения0,0072%0,12%0,84%
VII: трескаются стены0,00072%0,012%0,084%
VI: падают предметы0,00006%0,001%0,007%
V: ясно ощущается000

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

Магнитуда 7 под Порт-о-Пренсом, плохая застройка →

Вулкан: от VEI к трём кругам

Индекс вулканической эксплозивности превращается в объём извергнутого материала: V = 10VEI−5 км³, то есть VEI 5 даёт 1 км³, а каждая следующая ступень в десять раз больше. Для VEI от 2 до 8 это совпадает с минимальным объёмом каждого класса по шкале Ньюхолла и Селфа (1982); VEI 1 получает 0,0001 км³. Отсюда три радиуса:

Эти степенные зависимости — собственные эмпирические подгонки сайта.

Радиусы опасных зон по силе извержения
км, логарифмическая шкала
1 10 100 1 000 км 1 2 3 4 5 6 7 8 VEI пепел 1 см 1 122 км пепел 10 см 293 км пирокластика 51 км
Рассчитано по формулам из кода симулятора.

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

Извержение Везувия силой VEI 5 →

Метеорит: энергия и масштабирование ударной волны

Тело считается шаром диаметром D и плотностью 3 000 кг/м³ (камень), 7 800 (железо), 900 (лёд) или 1 200 (груда обломков, рыхло связанный астероид вроде Бенну), прилетающим с заданной вами скоростью входа: по умолчанию 17 км/с, типичное значение для околоземных астероидов:

m = ρ·π/6·D³; E = ½·m·v²; мощность в Мт = E ÷ 4,184×1015 Дж

Каменное тело 150 м даёт 183 Мт; челябинский пресет 19 м даёт 0,37 Мт. Регулятор скорости охватывает 11–30 км/с, куда попадают почти все удары астероидов; пресеты Бенну и Апофиса используют 12,7 и 12,6 км/с, скорости из таблицы NASA Sentry, поэтому Бенну выходит около 1,4 Гт, а не 6,4 Гт, которые дало бы каменное тело такого размера на 17 км/с. Модель не учитывает угол входа и энергию, потерянную при спуске. Каменные тела меньше 70 м, железные меньше 20 м, груды обломков меньше 90 м и ледяные меньше 150 м считаются воздушными взрывами и кратера не оставляют; в остальных случаях диаметр кратера равен 20·D·(ρ/3 000)1/3.

Для воздушного взрыва код оценивает высоту взрыва, которая линейно падает от 35 км для самых мелких каменных тел (12 км для железа, 45 км для льда) до нуля при том размере, на котором тела достигают земли: h = hmax·(1 − D ÷ Dвзрыва). Так челябинское тело 19 м оказывается на высоте около 25 км, а тело тунгусского класса 60 м на 5 км, что близко к оценкам для обоих событий. Радиусы огненного шара, полного разрушения, обрушения зданий и ожогов затем отмеряются по наклонной от точки взрыва, поэтому на земле каждый превращается в √(R² − h²) или исчезает вовсе, если R короче h. Кольцо выбитых стёкол остаётся в полном размере, потому что слабая ударная волна от высокого взрыва расходится широко: над Челябинском стёкла бились за десятки километров. Если до земли не доходит зона обрушения зданий, зона стёкол погибших не считает: в Челябинске пострадали около 1 500 человек, в основном от стекла, и никто не погиб.

ЗонаРадиус, км (Y в Мт)Камень 150 мПогибает
Кратерполовина от 20·D·(ρ/3 000)1/31,5 км100%
Огненный шар0,9·Y0,47,2 км100%
Полное разрушение (20 psi)2,2·Y1/312,5 км90%
Здания разрушены (5 psi)4,6·Y1/326 км45%
Тяжёлые ожоги1,83·Y0,4115,5 км18%
Выбиты стёкла (1 psi)11,6·Y1/366 км0,5%

Радиусы ударной волны растут пропорционально кубическому корню из мощности. Это закон подобия взрывов из книги Глесстона и Долана The Effects of Nuclear Weapons; коэффициенты и степенная зависимость для огненного шара — собственная калибровка сайта. Тепло считается иначе, чем при ядерном взрыве: удар излучает в виде света лишь малую долю своей энергии, порядка 0,3% против примерно 35% у ядерного оружия, поэтому радиус ожогов берётся по ядерной формуле ожогов (12,8·Y0,41) для тепловой мощности 0,0086·Y, что даёт 1,83·Y0,41. Поскольку доля погибших не должна расти с расстоянием, для каждой зоны она поднимается как минимум до значения внешней по отношению к ней зоны.

Удары в океан, вызванные ими цунами и глобальные последствия тел крупнее километра не моделируются; см. что делает метеорит каждого размера.

Уронить челябинское тело 19 м на Челябинск →

Ураган: штормовой нагон и профиль ветра

Ползунок задаёт устойчивый ветер при выходе на берег, от 120 до 320 км/ч, из которого получается категория по шкале Саффира-Симпсона: 1 от 119 км/ч, 2 от 154, 3 от 178, 4 от 209, 5 от 252.

Нагон. Каждой скорости ветра соответствует типичный нагон из старой таблицы Саффира-Симпсона с интерполяцией между 1,2 м при 120 км/ч, 1,8 м при 154, 2,7 м при 178, 4,0 м при 209, 5,5 м при 252 и 7,5 м при 320. Исторические пресеты подставляют вместо него нагон, измеренный в том шторме: Сэнди 3,9 м, Бхола 10 м, Катрина 8,5 м, Наргис 4 м, Иан 4,5 м, Хайян 6 м. Затем нагон затапливает рельеф движком цунами, но теряет высоту в десять раз медленнее, 1 м на 2,5 км, потому что нагон — это медленный подъём моря в течение часов, а не одиночная волна. Для погибших на затопленной земле используется более пологая кривая, чем у цунами: от 0,1% при глубине меньше полуметра до 45% при глубине больше 6 м; Галвестон 1900 года, где нагон 4,6 м без предупреждения убил около четверти жителей острова, лежит посередине этой кривой.

Ветер. За пределами стены глаза ветер убывает пропорционально квадратному корню из расстояния, v(r) = Vmax·(Rmax/r)0,5, поэтому радиус, на котором он падает до порога v, равен Rmax·(Vmax/v)². Радиус максимального ветра берётся по Уиллоби и Рану (2004): Rmax = 46,4·e−0,0155·V + 0,0169·|широта| км, где V в м/с, с ограничением от 10 до 80 км. Кольца отмечают ветер категорий 5, 4 и 3, ураганный ветер (119 км/ч) и штормовой (63 км/ч). Сам по себе ветер убивает немногих, поэтому доли малы: 0,05% людей внутри зоны ветра категории 5, 0,015% в категории 4, 0,004% в категории 3, 0,0005% при ураганном ветре и ноль при штормовом.

Шторм симметричен и не движется: настоящий нагон выше всего справа от траектории в северном полушарии, а дождевые наводнения, приливы, волны поверх нагона и дамбы не моделируются.

Привести нагон Катрины 8,5 м в Новый Орлеан →

Как считаются люди

Плотность города действует внутри круга той же площади, что и город (радиус 6 км, если город не найден). За его пределами плотность спадает к 60 человек на км², грубому среднему для обитаемой суши:

плотность(r) = 60 + (D − 60)·e−(r − R)/(0,8R + 2),

где D — плотность с ползунка, R — радиус города, r — расстояние в км. Без этого километровый метеорит убивал бы больше людей, чем живёт на Земле.

Плотность населения, используемая на каждом расстоянии
Человек на км², город с плотностью 4 000 /км² и радиусом 6 км
0 1 000 2 000 3 000 4 000 0 10 20 30 40 50 расстояние от центра, км плотность города: 4 000 /км² край города минимум: 60 /км²
Из кода: плотность уменьшается в e раз на каждые 0,8 × радиус + 2 км, здесь 6,8 км.

Затопления. Каждая затопленная ячейка добавляет площадь ячейки × плотность × долю погибших, зависящую от глубины, причём расстояние отмеряется от центра сетки рельефа, а не от вашего клика. Для подъёма океана доля равна 1 и показывается как число лишившихся дома.

Доля погибших по глубине воды
Модель цунами, линейная шкала
  1. меньше 0,3 м0,5%
  2. 0,3–1 м5%
  3. 1–2 м18%
  4. 2–3,5 м38%
  5. 3,5–6 м58%
  6. 6 м и глубже72%
Собственные ступенчатые значения сайта из кода симулятора.

Кольца. Для землетрясений, извержений и ударов диск внутри внешнего кольца разрезается на 800 тонких колец, каждое из которых содержит 2πr × ширина × плотность × доля суши (доля ячеек сетки рельефа выше 0,6 м). Параллельно, если внешний радиус не больше 450 км, код запрашивает у Overpass API все города и посёлки с тегом населения в квадрате вокруг точки. Если они находятся, фон падает до 60 /км², а полное население каждого из них добавляется на расстоянии его центральной точки. Сначала появляется быстрая оценка, а когда приходит список, она уточняется.

Итоги ограничены 8,2 миллиарда. Предполагается, что все дома, никого не предупредили и никто не эвакуировался.

Ограничения: почему это порядки величины

Используйте результат, чтобы отличить сотни от сотен тысяч или увидеть, какие части города лежат низко, а не как точный подсчёт.

Лицензии данных и атрибуция

Источники и данные

  1. Mapbox — справка по набору тайлов Terrain-RGB v1
  2. Mapbox — справка по набору тайлов Terrain-DEM v1
  3. Mapbox — Terms of Service
  4. OpenStreetMap — авторские права и лицензия
  5. Open Data Commons — Open Database License
  6. OpenStreetMap Foundation — правила использования Nominatim
  7. OpenStreetMap Wiki — Overpass API
  8. Smithsonian Institution, Global Volcanism Program — Volcanoes of the World
  9. OpenFreeMap и OpenMapTiles
  10. Glasstone and Dolan (1977) — The Effects of Nuclear Weapons, 3-е издание
  11. Newhall and Self (1982) — The volcanic explosivity index (VEI), Journal of Geophysical Research 87
  12. USGS — The Modified Mercalli Intensity Scale
  13. National Hurricane Center — The Saffir-Simpson Hurricane Wind Scale
  14. Willoughby and Rahn (2004) — Parametric representation of the primary hurricane vortex, Monthly Weather Review 132
  15. Rappaport (2014) — Fatalities in the United States from Atlantic tropical cyclones, Bulletin of the American Meteorological Society 95
  16. Collins, Melosh and Marcus (2005) — Earth Impact Effects Program, Meteoritics & Planetary Science 40 (более физичная модель удара, для сравнения; в HazardSim не используется)