Як рахує HazardSim
Кожне число в симуляторі походить із кількох коротких формул і жмені відкритих наборів даних. Тут точно описано, що робить код, разом із тими місцями, де він лише грубо наближує дійсність.
Оновлено 18 вересня 2026
HazardSim відповідає на одне запитання: якби катастрофа заданого масштабу сталася тут, яку територію вона б охопила і скільки людей там живе? Сайт не каже, чи можлива тут така подія і наскільки вона ймовірна. Масштаб обираєте ви, а сайт накладає його на справжній рельєф і населені пункти за кількома простими правилами. Їх наведено нижче разом із константами з коду.
На що симулятор відповідає, а на що ні
Жодна модель розломів не вирішує, чи здатне узбережжя дати землетрус магнітудою 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 у межах рамки; якщо й там порожньо, то з найбільшого вузла міста, містечка, міського району, передмістя чи села з населенням, який Overpass API знаходить у цій рамці. Щільність дорівнює населенню, поділеному на площу, і лежить у межах 1–100 000 /км². Результат понад 60 000 /км², щільніше навіть за найлюдніші квартали Дакки чи Маніли, означає, що OpenStreetMap приписав населення цілого міста меншому контуру, тож код це число ігнорує. Коли в OpenStreetMap населення немає, код бере типове значення для типу місця: від 6 000 /км² для міського району чи передмістя й 4 500 для міста до 700 для села й 300 для округу (2 500, якщо тип невідомий). Повзунок щільності має перевагу над усім цим. Адміністративні межі часто охоплюють сільськогосподарські угіддя, тому середня щільність зазвичай нижча, ніж у центрі.
Вулкани
Червоні мітки позначають 1 560 записів (кілька вулканів трапляються двічі) зі списку голоценових вулканів Глобальної програми вулканізму Смітсонівського інституту. Точка в межах 40 км від вулкана прив'язується до нього: центр виверження стоїть на самому вулкані, а не там, куди ви натиснули. Далі нічого не розраховується: сайт називає найближчий справжній вулкан і пропонує перейти до нього.
Цунамі: заливка, що втрачає висоту
Перевірка узбережжя. Перш ніж запустити цунамі чи підйом моря після натискання або пошуку, код завантажує грубий рельєф (масштаб 8, клітинки близько 600 м на екваторі) і рахує клітинки на висоті 0,6 м і нижче в радіусі 30 км. Потрібно щонайменше 150 таких клітинок, тобто приблизно 50 км² відкритої води біля екватора (ближче до полюсів менше, бо клітинки там дрібнішають). Жодна річка чи ставок стільки не набирає. Натискання на саму воду відхиляється.
Пошук моря. На повній сітці кожна крайова клітинка на висоті 0,6 м і нижче позначається як море, і позначка поширюється на всі з'єднані з нею клітинки, зокрема по діагоналі, які теж лежать не вище 0,6 м. Якщо морських клітинок менше за 40, розрахунок зупиняється. Звідси побічний ефект: суходіл нижче 0,6 м, сполучений із морем, наприклад польдер, від початку вважається морем і ніколи не враховується як затоплений.
Поширення води. Від усіх морських клітинок одночасно вода переходить до сусідніх, і пройдена відстань щоразу зростає на ширину клітинки (на 1,414 по діагоналі). Рівень води в кожній клітинці дорівнює
рівень = H − відстань ÷ 250
де H — висота хвилі в метрах. Якщо рівень вищий за ґрунт, клітинку затоплює на глибину «рівень − ґрунт» і вода рухається далі; якщо ні, клітинка лишається сухою й перекриває шлях. Отже, вода потрапляє в клітинку лише ланцюжком затоплених клітинок, і пагорб, вищий за воду, захищає землю за собою, якщо його не можна обійти.
Спад висоти замінює собою тертя об рельєф і будівлі. Це одне число для всієї планети, а не фізичний закон: на рівнині біля рівня моря 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.
Для кожної зони задано частку загиблих, яку множать на коефіцієнт якості будівель: 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: чітко відчутно | 0 | 0 | 0 |
Справжній землетрус магнітудою 9 розриває розлом завдовжки в сотні кілометрів, тому сильний струс охоплює смугу, а не коло. М'які ґрунти, розрідження ґрунту, зсуви й пожежі не враховуються, і кожен землетрус неглибокий; глибокий відчувався б значно слабше.
Магнітуда 7 під Порт-о-Пренсом, погані будинки →
Вулкан: від VEI до трьох кіл
Індекс вулканічної вибуховості перетворюється на об'єм викинутого матеріалу: V = 10VEI−5 км³, тож VEI 5 відповідає 1 км³, а кожен наступний щабель удесятеро більший. Для VEI від 2 до 8 це мінімальний об'єм кожного класу за шкалою Ньюголла й Селфа (1982); для VEI 1 взято 0,0001 км³. З об'єму випливають три радіуси:
- пірокластичні потоки, max(0,6; 9·V0,25) км: гине 95%;
- попіл шаром 10 см, якого досить, щоб обвалилися дахи, 30·V0,33 км: гине 0,15%;
- попіл шаром 1 см, 100·V0,35 км: гине 0,002%.
Ці степеневі залежності сайт підібрав емпірично сам.
Справжні потоки течуть долинами, а справжній попіл вітер зносить довгими шлейфами, тож реальні зони ураження перекошені, а не круглі. Лахари, гази, цунамі від обвалу схилу й вплив на клімат не моделюються.
Виверження Везувію силою 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 км/с, швидкості з таблиці Sentry NASA, тож Бенну дає близько 1,4 Гт, а не 6,4 Гт, які дало б кам'яне тіло такого самого розміру на швидкості 17 км/с. Кут входу й енергію, втрачену під час падіння, модель ігнорує. Кам'яні тіла менші за 70 м, залізні менші за 20 м, купи уламків менші за 90 м і крижані менші за 150 м вважаються повітряними вибухами й кратера не лишають; в інших випадках діаметр кратера становить 20·D·(ρ/3 000)1/3.
Для повітряного вибуху код оцінює його висоту, яка лінійно спадає від 35 км для найменших кам'яних тіл (12 км для залізних, 45 км для крижаних) до нуля на тому розмірі, з якого тіла долітають до землі: h = hmax·(1 − D ÷ Dairburst). За цією формулою 19-метрове челябінське тіло вибухає приблизно на висоті 25 км, а 60-метрове тіло тунгуського класу на висоті 5 км, що близько до оцінок обох подій. Радіуси вогняної кулі, повного руйнування, обвалу будинків і опіків потім вимірюються по похилій від точки вибуху, тож на землі кожен із них стає √(R² − h²) або зникає зовсім, якщо R менший за h. Кільце вибитих шибок лишається повного розміру, бо слабка ударна хвиля від високого вибуху розходиться широко: над Челябінськом скло билося за десятки кілометрів. Коли зона обвалу будинків до землі не дістає, у зоні вибитих шибок загиблих не рахують. У Челябінську постраждало близько 1 500 людей, здебільшого від скла, а загиблих не було.
| Зона | Радіус, км (Y у Мт) | Камінь 150 м | Гине |
|---|---|---|---|
| Кратер | половина від 20·D·(ρ/3 000)1/3 | 1,5 км | 100% |
| Вогняна куля | 0,9·Y0,4 | 7,2 км | 100% |
| Повне руйнування (20 psi) | 2,2·Y1/3 | 12,5 км | 90% |
| Будинки зруйновано (5 psi) | 4,6·Y1/3 | 26 км | 45% |
| Тяжкі опіки | 1,83·Y0,41 | 15,5 км | 18% |
| Вибиті шибки (1 psi) | 11,6·Y1/3 | 66 км | 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 — відстань у км. Без цього спаду метеорит діаметром 1 км убив би більше людей, ніж живе на Землі.
Затоплення. Кожна затоплена клітинка додає площу клітинки × щільність × частку загиблих, що залежить від глибини; відстань при цьому відлічується від центру сітки рельєфу, а не від точки, куди ви натиснули. Для підйому моря частка дорівнює 1, і результат подається як кількість людей, що втратили житло.
Кільця. Для землетрусів, вивержень і падінь метеоритів диск усередині зовнішнього кільця ділиться на 800 тонких кілець, і кожне містить 2πr × ширина × щільність × частка суходолу (частка клітинок сітки рельєфу вище 0,6 м). Паралельно, якщо зовнішній радіус не перевищує 450 км, код запитує в Overpass API всі міста й містечка з тегом населення в квадраті довкола точки. Якщо такі знайдено, фонова щільність знижується до 60 /км², а повне населення кожного міста додається на відстані його центральної точки. Спершу з'являється швидка оцінка, яку уточнюють, коли надходить список.
Підсумок не може перевищити 8,2 мільярда. Вважається, що всі перебувають удома, попередження не отримали й не евакуювалися.
Обмеження: чому це лише порядок величини
- Неточний рельєф. Похибки висот і клітинки завширшки в десятки метрів визначають, де зупиняється затоплення на низьких узбережжях.
- Усереднене населення. Рівномірна щільність у межах кордонів, міста як окремі точки, переписи різних років.
- Сталі частки загиблих. Справжня кількість жертв залежить від попередження, часу доби, будівель і рятувальних робіт. 1994 року землетрус магнітудою 6,7 забрав 57 життів у Нортриджі (Каліфорнія), а 2010 року землетрус магнітудою 7,0 на Гаїті забрав понад 100 000.
- Повітряний вибух як точка. Справжній повітряний вибух розподіляє енергію вздовж похилої траєкторії завдовжки в десятки кілометрів, а модель вважає його однією точкою на оціненій висоті просто над місцем, куди ви натиснули.
Результат допоможе відрізнити сотні від сотень тисяч чи побачити, які частини міста лежать низько, але точним підрахунком його вважати не варто.
Ліцензії на дані та атрибуція
- Межі, назви місць, населення: © учасники OpenStreetMap, Open Database License (ODbL), запити через Nominatim і Overpass API.
- Висоти, супутникові знімки, базові мапи, пошук: © Mapbox, на умовах Mapbox Terms of Service; постачальників знімків і картографічних даних зазначено на мапі.
- Вулкани: Смітсонівський інститут, Глобальна програма вулканізму, Volcanoes of the World.
- Мапа на сторінці останніх запусків: тайли OpenFreeMap (схема OpenMapTiles), дані © учасники OpenStreetMap.
Джерела та дані
- Mapbox — довідка з набору тайлів Terrain-RGB v1
- Mapbox — довідка з набору тайлів Terrain-DEM v1
- Mapbox — умови надання послуг
- OpenStreetMap — авторське право та ліцензія
- Open Data Commons — Open Database License
- OpenStreetMap Foundation — правила користування Nominatim
- OpenStreetMap Wiki — Overpass API
- Смітсонівський інститут, Глобальна програма вулканізму — Volcanoes of the World
- OpenFreeMap і OpenMapTiles
- Глесстон і Долан (1977) — The Effects of Nuclear Weapons, 3-тє видання
- Ньюголл і Селф (1982) — The volcanic explosivity index (VEI), Journal of Geophysical Research 87
- USGS — модифікована шкала інтенсивності Меркаллі
- Національний центр ураганів США — шкала вітру ураганів Саффіра — Сімпсона
- Віллоубі й Ран (2004) — Parametric representation of the primary hurricane vortex, Monthly Weather Review 132
- Раппапорт (2014) — Fatalities in the United States from Atlantic tropical cyclones, Bulletin of the American Meteorological Society 95
- Коллінз, Мелош і Маркус (2005) — Earth Impact Effects Program, Meteoritics & Planetary Science 40 (фізичніша модель удару, для порівняння; HazardSim її не використовує)