Simulator

Cara HazardSim menghitung

Setiap angka yang ditampilkan simulator berasal dari beberapa rumus pendek dan segelintir set data terbuka. Halaman ini menjelaskan persis apa yang dilakukan kodenya, termasuk bagian-bagian yang hanya berupa pendekatan kasar.

Diperbarui 18 September 2026

HazardSim menjawab satu pertanyaan: seandainya bencana dengan ukuran tertentu terjadi di sini, seberapa luas jangkauannya, dan berapa banyak orang yang tinggal di sana? Ia tidak menyatakan apakah peristiwa semacam itu mungkin terjadi di tempat tersebut, atau seberapa besar peluangnya. Anda yang memilih ukurannya; situs menerapkannya pada medan dan permukiman nyata dengan beberapa aturan sederhana, yang dirinci di bawah berikut konstanta dalam kodenya.

1 m / 250 mketinggian yang hilang dari tsunami untuk tiap 250 m perjalanan ke daratan
0,6 melevasi yang pada atau di bawahnya medan yang terhubung ke tepi grid dianggap laut
11–30 km/skecepatan masuk meteor yang bisa Anda atur; bawaannya 17 km/s
8 kmkedalaman fokus yang dipakai untuk setiap gempa
1.560catatan gunung api dari Smithsonian Global Volcanism Program
60 /km²kepadatan penduduk latar jauh dari kota

Apa yang dijawab simulator, dan apa yang tidak

Tidak ada model sesar yang memutuskan bahwa suatu pantai bisa menghasilkan gempa magnitudo 9, dan tidak ada model samudra yang membawa gelombang menyeberangi Pasifik. Hasilnya deterministik: tempat dan pengaturan yang sama selalu memberi angka yang sama. Animasinya hanya hiasan: banjir dihitung dalam sekali jalan, lalu ditampilkan bertahap selama sekitar tiga detik. Tidak ada yang bergantung pada waktu, sehingga tidak ada waktu tiba, peringatan, atau evakuasi.

Data di baliknya

Medan dan grid

Data elevasi berasal dari ubin Mapbox Terrain-RGB, dengan Mapbox Terrain-DEM sebagai cadangan. Warna piksel diuraikan dengan rumus yang dipublikasikan Mapbox, tinggi = −10.000 + (R × 65.536 + G × 256 + B) × 0,1 m. Model ini mencampur sumber dengan datum vertikal yang berbeda, sehingga ketinggian di dekat muka laut tidak persis, dan di pantai yang datar kesalahan kecil saja sudah menggeser garis banjir cukup jauh.

Kode memilih zoom paling rinci, dari 14 turun hingga 6, yang membuat area perhitungan paling lebar 780 piksel dan paling banyak 620.000 piksel seluruhnya, lalu memuat setiap ubin utuh yang mencakup area itu (paling banyak 42). Satu sel berukuran 156.543 m × cos(lintang) ÷ 2zoom: pada lintang 45°, 6,8 m di zoom 14, 27 m di zoom 12, 54 m di zoom 11. Tanggul yang lebih sempit dari satu sel bisa jadi sama sekali tidak ada dalam grid.

Area perhitungan

Jika titik Anda berada di dalam permukiman, areanya adalah kotak pembatas permukiman itu ditambah margin 14% plus jangkauan bencananya: tinggi gelombang × 250 m untuk tsunami, 12 km untuk kenaikan muka laut, ring terluar untuk meteor (jangkauan dibatasi 60 km). Tingginya dibatasi 1,4° lintang, lebih kecil untuk bencana kecil; kotak yang kelewat besar diganti dengan bujur sangkar yang berpusat pada titik Anda. Di luar permukiman, areanya adalah 82% dari peta yang terlihat di sekitar titik, sehingga memperbesar atau memperkecil peta dapat mengubah hasil.

Batas kota dan penduduk

Sebuah klik mengirim kueri ke Nominatim, geocoder OpenStreetMap, pada zoom 10, 12, dan 8, lalu menyimpan jawaban pertama yang punya poligon batas. Laut, teluk, negara, negara bagian, dan region ditolak, begitu pula apa pun yang tingginya lebih dari 1,2°, lebarnya lebih dari 2,4°, atau luasnya lebih dari 12.000 km². Tanpa poligon, kotak pembatas yang dipakai dan luasnya dianggap 72% dari luas kotak.

Jumlah penduduk diambil dari tag population pada batas wilayah; jika tidak ada, dari pencarian Nominatim untuk nama yang sama di dalam kotak; jika masih tidak ada, dari node kota, kota kecil, borough, suburb, atau desa berpenduduk terbesar yang ditemukan Overpass API di sana. Kepadatan adalah penduduk ÷ luas, dibatasi pada 1–100.000 /km². Hasil di atas 60.000 /km², lebih padat daripada distrik tersesak di Dhaka atau Manila sekalipun, berarti OpenStreetMap menempelkan penduduk seluruh kota pada garis batas yang lebih kecil, sehingga kode mengabaikan angka itu. Jika OpenStreetMap tidak punya data penduduk, kode memakai nilai tipikal untuk jenis tempatnya, dari 6.000 /km² untuk borough atau suburb dan 4.500 untuk kota hingga 700 untuk desa dan 300 untuk kabupaten (2.500 jika jenisnya tidak diketahui). Penggeser kepadatan menimpa semua itu. Batas administratif sering mencakup lahan pertanian, sehingga kepadatan rata-ratanya biasanya lebih rendah daripada di pusat kota.

Gunung api

Penanda merah adalah 1.560 catatan (beberapa gunung api muncul dua kali) dari daftar gunung api Holosen milik Smithsonian Global Volcanism Program. Titik dalam radius 40 km dari salah satunya memakai gunung api itu; letusan berpusat di gunung apinya sendiri, bukan di titik klik. Lebih jauh dari itu tidak ada yang dihitung: situs menyebutkan gunung api sungguhan terdekat dan menawarkan untuk pergi ke sana.

Tsunami: pengisian banjir yang kehilangan ketinggian

Pemeriksaan pantai. Sebelum simulasi tsunami atau muka laut dijalankan dari klik atau pencarian, kode memuat medan kasar (zoom 8, sel sekitar 600 m di khatulistiwa) dan menghitung sel yang berada pada atau di bawah 0,6 m dalam radius 30 km. Dibutuhkan paling sedikit 150 sel, kira-kira 50 km² perairan terbuka di dekat khatulistiwa (lebih kecil ke arah kutub, tempat sel menyusut), yang tidak akan dicapai sungai atau kolam mana pun. Klik di atas air ditolak.

Menemukan laut. Pada grid penuh, setiap sel tepi yang berada pada atau di bawah 0,6 m ditandai sebagai laut, dan tanda itu menyebar ke semua sel yang terhubung, termasuk diagonal, yang juga berada pada atau di bawah 0,6 m. Kurang dari 40 sel laut menghentikan simulasi. Efek sampingnya: daratan di bawah 0,6 m yang terhubung ke laut, misalnya polder, sejak awal dianggap laut dan tidak pernah dihitung sebagai terendam.

Menyebarkan air. Dari semua sel laut sekaligus, air menyebar ke sel tetangga sambil menambahkan satu lebar sel ke jarak tempuh (1,414 untuk diagonal). Permukaan air di tiap sel adalah

level = H − jarak ÷ 250

dengan H tinggi gelombang dalam meter. Jika level berada di atas tanah, sel itu terendam sedalam level − tanah dan air bergerak terus; jika tidak, sel tetap kering dan menghalangi jalan. Jadi air hanya mencapai sebuah sel lewat rantai sel yang terendam, dan punggung bukit yang lebih tinggi dari air melindungi tanah di belakangnya kecuali ada jalan memutar.

Cara model banjir menentukan apa yang basah
Penampang skematis; peluruhan 1 m per 250 m adalah konstanta kode
0 5 10 15 m Gelombang: 15 m di pantai Bukit di atas air menghentikannya level −1 m per 250 m Terendam tetap kering di balik bukit Laut 0 1 2 3 4 km dari pantai
Dataran rendah di balik bukit berada di bawah level air, tetapi pengisian tidak pernah mencapainya. Di peta sungguhan air mungkin tetap sampai ke sana lewat ujung bukit.

Peluruhan itu mewakili gesekan dengan medan dan bangunan. Nilainya satu angka untuk seluruh planet, bukan hukum fisika: di tanah datar setinggi muka laut, gelombang 15 m berhenti 3,75 km ke daratan, gelombang 30 m pada 7,5 km. Ketinggian yang sama berlaku di sepanjang garis pantai grid sekaligus, sehingga tidak ada arah gelombang, tidak ada dasar laut, tidak ada efek corong di teluk, tidak ada volume air yang terbatas, dan tidak ada gelombang kedua. Jika air menyentuh tepi grid, hasilnya memperingatkan bahwa banjir sebenarnya menjangkau lebih jauh.

Kirim gelombang 15 m ke Sendai →

Kenaikan muka laut: mesin yang sama tanpa peluruhan

Kenaikan muka laut menjalankan kode yang sama dengan peluruhan dimatikan: setiap sel yang terhubung ke laut dan berada di bawah level baru terendam, seberapa pun jauhnya ke daratan; ini sering disebut model bak mandi. Cekungan di bawah level baru tetap kering jika sepenuhnya dikelilingi tanah yang lebih tinggi. Tanggul hanya dihitung jika ada dalam data elevasi dan lebih lebar dari satu sel. Tidak ada pasang surut, gelombang badai, erosi, atau penurunan tanah, dan tidak ada garis waktu. Alih-alih korban jiwa, semua orang yang tinggal di lahan terendam dihitung sebagai terpaksa pindah. Lihat juga kota mana yang akan ditenggelamkan kenaikan muka laut.

Gempa bumi: ring intensitas di sekeliling sebuah titik

Gempa adalah sumber titik di lokasi klik Anda, sedalam 8 km. Intensitas pada skala Mercalli Termodifikasi di jarak r dari episentrum adalah

MMI = 1,5·M − 3,0·log10R − 0,0018·R + 1,6, dengan R = √(r² + 8²) km, dibatasi pada 0–12.

Bentuknya adalah bentuk lazim untuk atenuasi intensitas (suku magnitudo, penyebaran geometris, penyerapan seiring jarak), tetapi koefisiennya adalah pendekatan milik situs ini sendiri, bukan relasi yang dipublikasikan, dan intensitas dihitung langsung, bukan lewat percepatan tanah. Magnitudo 7 memberi 9,4 di episentrum, VIII hingga 21 km, dan V hingga 181 km; magnitudo 6 memuncak di 7,9 dan tidak pernah mencapai VIII; magnitudo 8 memberi VIII hingga 67 km. Mulai sekitar magnitudo 8,8 episentrum mencapai batas atas XII.

Intensitas terhadap jarak dalam model
Intensitas Mercalli Termodifikasi, kedalaman fokus tetap 8 km
III IV V VI VII VIII IX X XI XII 0 40 80 120 160 jarak dari episentrum, km VIII: kerusakan berat V: terasa M6 M7 M8
Dihitung dari rumus dalam kode simulator.

Tiap zona punya persentase korban jiwa, dikalikan faktor konstruksi: 0,06 untuk standar gempa modern, 1 untuk rata-rata, 7 untuk buruk.

ZonaStandar modernRata-rataBuruk
IX+: bangunan runtuh0,06%1%7%
VIII: kerusakan berat0,0072%0,12%0,84%
VII: dinding retak0,00072%0,012%0,084%
VI: benda-benda terjatuh0,00006%0,001%0,007%
V: terasa jelas000

Gempa magnitudo 9 sungguhan merekahkan sesar sepanjang ratusan kilometer, sehingga guncangan kuat mencakup sebuah jalur, bukan lingkaran. Tanah lunak, likuefaksi, longsor, dan kebakaran diabaikan, dan setiap gempa dianggap dangkal; gempa dalam akan terasa jauh lebih lemah.

Magnitudo 7 di bawah Port-au-Prince, konstruksi buruk →

Gunung api: dari VEI ke tiga lingkaran

Indeks Eksplosivitas Vulkanik diubah menjadi volume letusan: V = 10VEI−5 km³, sehingga VEI 5 adalah 1 km³ dan tiap tingkat sepuluh kali lebih besar. Untuk VEI 2 sampai 8 ini sama dengan volume minimum tiap kelas dalam skala Newhall dan Self (1982); VEI 1 mendapat 0,0001 km³. Tiga radius mengikutinya:

Hukum pangkat ini adalah kecocokan empiris milik situs ini sendiri.

Radius bahaya menurut ukuran letusan
km, skala logaritmik
1 10 100 1.000 km 1 2 3 4 5 6 7 8 VEI abu 1 cm 1.122 km abu 10 cm 293 km aliran piroklastik 51 km
Dihitung dari rumus-rumus dalam kode simulator.

Aliran sungguhan mengikuti lembah dan abu sungguhan terbawa angin dalam kepulan panjang, sehingga jejak sebenarnya tidak simetris, bukan lingkaran. Lahar, gas, tsunami akibat runtuhan, dan efek iklim tidak dimodelkan.

Letusan VEI 5 Vesuvius →

Meteor: energi dan penskalaan ledakan

Bendanya adalah bola berdiameter D dengan massa jenis 3.000 kg/m³ (batu), 7.800 (besi), 900 (es), atau 1.200 (tumpukan puing, asteroid yang terikat longgar seperti Bennu), yang tiba dengan kecepatan masuk yang Anda atur; bawaannya 17 km/s, nilai tipikal untuk asteroid dekat Bumi:

m = ρ·π/6·D³; E = ½·m·v²; daya ledak dalam Mt = E ÷ 4,184×1015 J

Benda batu 150 m memberi 183 Mt; preset Chelyabinsk 19 m memberi 0,37 Mt. Kontrol kecepatan mencakup 11 sampai 30 km/s, rentang tempat hampir semua hantaman asteroid berada; preset Bennu dan Apophis memakai 12,7 dan 12,6 km/s, kecepatan dalam tabel Sentry NASA, sehingga Bennu menghasilkan sekitar 1,4 Gt, bukan 6,4 Gt seperti yang akan dihasilkan benda batu seukurannya pada 17 km/s. Model mengabaikan sudut masuk dan energi yang hilang selama turun. Benda batu di bawah 70 m, besi di bawah 20 m, tumpukan puing di bawah 90 m, dan es di bawah 150 m dihitung sebagai ledakan udara dan tidak meninggalkan kawah; selain itu, lebar kawahnya 20·D·(ρ/3.000)1/3.

Untuk ledakan udara, kode memperkirakan ketinggian ledakan, yang turun secara linear dari 35 km untuk benda batu terkecil (12 km untuk besi, 45 km untuk es) hingga nol pada ukuran saat benda mencapai tanah: h = hmaks·(1 − D ÷ Dledakan udara). Itu menempatkan benda Chelyabinsk 19 m pada sekitar 25 km dan benda kelas Tunguska 60 m pada 5 km, dekat dengan perkiraan untuk kedua peristiwa itu. Radius bola api, kehancuran total, keruntuhan bangunan, dan luka bakar lalu diukur sepanjang garis miring dari titik ledakan, sehingga di permukaan tanah masing-masing menjadi √(R² − h²), atau nol jika R lebih pendek dari h. Ring kaca pecah dibiarkan dalam ukuran penuh, karena gelombang kejut lemah dari ledakan tinggi menyebar luas: di atas Chelyabinsk kaca pecah hingga puluhan kilometer jauhnya. Jika tidak ada zona keruntuhan bangunan yang mencapai tanah, zona kaca pecah tidak menghitung korban jiwa; Chelyabinsk melukai sekitar 1.500 orang, kebanyakan oleh kaca, dan tidak menewaskan siapa pun.

ZonaRadius, km (Y dalam Mt)Batu 150 mTewas
Kawahsetengah dari 20·D·(ρ/3.000)1/31,5 km100%
Bola api0,9·Y0,47,2 km100%
Kehancuran total (20 psi)2,2·Y1/312,5 km90%
Bangunan hancur (5 psi)4,6·Y1/326 km45%
Luka bakar parah1,83·Y0,4115,5 km18%
Kaca jendela pecah (1 psi)11,6·Y1/366 km0,5%

Radius ledakan tumbuh dengan akar pangkat tiga daya ledak, hukum penskalaan ledakan dari The Effects of Nuclear Weapons karya Glasstone dan Dolan; koefisiennya dan hukum pangkat bola api adalah kalibrasi milik situs ini sendiri. Panas diperlakukan berbeda dari ledakan nuklir: hantaman hanya memancarkan sebagian kecil energinya sebagai cahaya, kira-kira 0,3% dibandingkan sekitar 35% pada senjata nuklir, sehingga radius luka bakar memakai rumus luka bakar nuklir (12,8·Y0,41) untuk daya ledak termal 0,0086·Y, yang menghasilkan 1,83·Y0,41. Karena persentase korban tidak boleh naik seiring jarak, tiap zona dinaikkan setidaknya ke nilai zona di luarnya.

Hantaman di laut, tsunami yang ditimbulkannya, dan efek global benda di atas satu kilometer tidak dimodelkan; lihat apa yang diperbuat meteor, ukuran demi ukuran.

Jatuhkan benda Chelyabinsk 19 m ke Chelyabinsk →

Badai: gelombang badai dan profil angin

Penggeser mengatur angin berkelanjutan saat pendaratan, dari 120 hingga 320 km/jam, yang menentukan kategori Saffir-Simpson: 1 mulai 119 km/jam, 2 mulai 154, 3 mulai 178, 4 mulai 209, 5 mulai 252.

Gelombang badai. Tiap kecepatan angin mendapat gelombang badai tipikal dari tabel Saffir-Simpson lama, diinterpolasi antara 1,2 m pada 120 km/jam, 1,8 m pada 154, 2,7 m pada 178, 4,0 m pada 209, 5,5 m pada 252, dan 7,5 m pada 320. Preset bersejarah menimpanya dengan gelombang badai yang terukur pada badai tersebut: Sandy 3,9 m, Bhola 10 m, Katrina 8,5 m, Nargis 4 m, Ian 4,5 m, Haiyan 6 m. Gelombang badai lalu membanjiri medan dengan mesin tsunami, tetapi kehilangan ketinggian sepuluh kali lebih lambat, 1 m per 2,5 km, karena gelombang badai adalah naiknya laut secara perlahan selama berjam-jam, bukan satu gelombang tunggal. Korban jiwa di lahan terendam memakai kurva yang lebih landai daripada tsunami, dari 0,1% di bawah setengah meter hingga 45% di atas 6 m; Galveston pada 1900, ketika gelombang badai 4,6 m tanpa peringatan menewaskan sekitar seperempat penduduk pulau, berada di tengah kurva itu.

Angin. Di luar dinding mata badai, angin melemah dengan akar kuadrat jarak, v(r) = Vmaks·(Rmaks/r)0,5, sehingga radius tempat angin turun ke ambang v adalah Rmaks·(Vmaks/v)². Radius angin maksimum diambil dari Willoughby dan Rahn (2004): Rmaks = 46,4·e−0,0155·V + 0,0169·|lintang| km dengan V dalam m/s, dijaga antara 10 dan 80 km. Ring-ring menandai angin kategori 5, 4, dan 3, angin berkekuatan badai (119 km/jam), dan angin kencang (63 km/jam). Angin sendiri hanya membunuh sedikit orang, sehingga persentasenya kecil: 0,05% dari orang di dalam angin kategori 5, 0,015% di kategori 4, 0,004% di kategori 3, 0,0005% di angin berkekuatan badai, dan nol di angin kencang.

Badainya simetris dan tidak bergerak: gelombang badai sungguhan paling tinggi di sebelah kanan lintasan di belahan Bumi utara, dan banjir hujan, pasang surut, ombak di atas gelombang badai, serta tanggul tidak dimodelkan.

Bawa gelombang badai 8,5 m Katrina ke New Orleans →

Cara menghitung penduduk

Kepadatan kota berlaku di dalam lingkaran yang luasnya sama dengan luas kota (radius 6 km jika tidak ditemukan). Di luarnya, kepadatan meluruh menuju 60 orang per km², rata-rata kasar untuk lahan berpenghuni:

kepadatan(r) = 60 + (D − 60)·e−(r − R)/(0,8R + 2)

dengan D kepadatan dari penggeser, R radius kota, dan r jarak dalam km. Tanpa rumus ini, meteor 1 km akan menewaskan lebih banyak orang daripada jumlah penduduk Bumi.

Kepadatan penduduk yang dipakai di tiap jarak
Orang per km², kota 4.000 /km² dengan radius 6 km
0 1.000 2.000 3.000 4.000 0 10 20 30 40 50 jarak dari pusat, km kepadatan kota: 4.000 /km² tepi kota dasar: 60 /km²
Dari kodenya: kepadatan turun dengan faktor e setiap 0,8 × radius + 2 km, di sini 6,8 km.

Banjir. Tiap sel yang terendam menambahkan luas sel × kepadatan × persentase korban yang bergantung pada kedalaman, dengan jarak diukur dari pusat grid medan, bukan dari titik klik Anda. Untuk kenaikan muka laut persentasenya 1, dilaporkan sebagai terpaksa pindah.

Persentase korban jiwa menurut kedalaman air
Model tsunami, skala linear
  1. di bawah 0,3 m0,5%
  2. 0,3–1 m5%
  3. 1–2 m18%
  4. 2–3,5 m38%
  5. 3,5–6 m58%
  6. 6 m dan lebih dalam72%
Nilai bertingkat milik situs ini sendiri, dari kode simulator.

Ring. Untuk gempa, letusan, dan hantaman, cakram di dalam ring terluar dipotong menjadi 800 cincin tipis, masing-masing berisi 2πr × lebar × kepadatan × bagian daratan (fraksi sel grid medan di atas 0,6 m). Sementara itu, jika radius terluar 450 km atau kurang, kode meminta Overpass API mencari setiap kota dan kota kecil yang punya tag penduduk dalam bujur sangkar di sekitar titik. Jika ada yang ditemukan, kepadatan latar turun ke 60 /km² dan seluruh penduduk tiap kota ditambahkan pada jarak titik pusatnya. Perkiraan cepat muncul lebih dulu dan disempurnakan begitu daftarnya tiba.

Totalnya dibatasi 8,2 miliar. Semua orang diasumsikan berada di rumah, tanpa peringatan, dan tidak mengungsi.

Keterbatasan: mengapa semua ini orde besaran

Gunakan hasilnya untuk membedakan ratusan dari ratusan ribu, atau untuk melihat bagian kota mana yang rendah, bukan sebagai hitungan pasti.

Lisensi data dan atribusi

Sumber dan data

  1. Mapbox: referensi tileset Terrain-RGB v1
  2. Mapbox: referensi tileset Terrain-DEM v1
  3. Mapbox: Terms of Service
  4. OpenStreetMap: Copyright and License
  5. Open Data Commons: Open Database License
  6. OpenStreetMap Foundation: kebijakan penggunaan Nominatim
  7. OpenStreetMap Wiki: Overpass API
  8. Smithsonian Institution, Global Volcanism Program: Volcanoes of the World
  9. OpenFreeMap dan OpenMapTiles
  10. Glasstone dan Dolan (1977): The Effects of Nuclear Weapons, edisi ke-3
  11. Newhall dan 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 dan 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, dan Marcus (2005): Earth Impact Effects Program, Meteoritics & Planetary Science 40 (model hantaman yang lebih fisis, sebagai pembanding; tidak dipakai HazardSim)