PSHAWorkbenchDokumentasi pengguna

Manual pengguna / 8 Oktober 2026

Panduan PSHA Workbench

Pengisian sumber gempa, pengolahan katalog, pemilihan skenario, dan pembacaan hasil probabilistic seismic hazard analysis.

Pilih tujuan Save as PDF / Simpan sebagai PDF pada dialog cetak. Gunakan A4; seluruh bab ikut dicetak. Matikan header/footer bawaan browser bila tidak diperlukan.
Sebelum menggunakan hasil

Lokasi Jakarta dan sumber awal hanya ilustrasi. Ganti dengan model sumber, katalog, geometri, recurrence, dan GMM yang telah ditelaah. Hasil bukan otomatis spektrum desain sesuai peraturan dan bukan pengganti verifikasi ahli.

01. Alur kerja dan penyimpanan

  1. Pada PSHA analysis, isi site dan Vs30. Tunggu katalog GMM terhubung.
  2. Pada Seismic sources, buat kelompok shallow crustal, background, atau megathrust. Isi geometri, recurrence, distribusi magnitudo, dan GMM.
  3. Atur alternatif di Source logic tree bila diperlukan. Periksa parameter aktif dan bobotnya.
  4. Pada Parameters, pilih PGA/SA serta periode ulang. Jalankan perhitungan dan tangani pesan validasi.
  5. Telaah kurva hazard, spektra, deagregasi, dan peringatan. Ekspor proyek dan hasil sebelum menutup halaman.

Bedakan jenis berkas

Berkas / tombolIsi dan penggunaan
Save project / Open projectJSON konfigurasi: site, sumber, cabang aktif/nonaktif, GMM, IMT, dan periode ulang. Buka kembali untuk melanjutkan; bukan arsip hasil perhitungan.
Import JSON / Export custom source JSONModel sumber saja, bukan keseluruhan konfigurasi proyek.
Ekspor hasil JSON / CSVHasil numerik untuk arsip dan pemeriksaan. Simpan bersama proyek yang menghasilkan angka tersebut.
Cetak / simpan PDFDokumentasi ini, bukan ekspor kurva atau konfigurasi proyek yang sedang dibuka.

Server tidak menyimpan proyek atau hasil sebagai database. Refresh, penutupan tab, dan perpindahan halaman dapat menghapus pekerjaan yang belum diekspor. Dokumentasi dibuka pada tab baru dari halaman analisis. Transfer grid memakai IndexedDB browser dan dikonsumsi saat masuk ke PSHA; transfer bukan cadangan permanen.

02. Lokasi dan kondisi site

Isi Site name, Latitude, Longitude, dan Shear-wave velocity, Vs30. Peta membantu memeriksa posisi; nilai koordinat tetap harus ditelaah.

InputSatuan / pemeriksaan
LatitudeDerajat desimal WGS 84, -90 sampai 90. Lintang selatan negatif.
LongitudeDerajat desimal WGS 84, -180 sampai 180. Bujur timur positif.
Vs30m/s; input 180-1500. Gunakan nilai representatif investigasi site, bukan langsung menerima nilai awal.

Contoh Jakarta: latitude -6.2088, longitude 106.8456. Katalog dan CSV grid memakai longitude dahulu, lalu latitude. Kedalaman sumber dalam km, bukan meter. Setelah transfer grid, site awal menjadi pusat grid: ubah kembali jika lokasi analisis berbeda.

03. Mengelola keluarga sumber

  1. Pilih mode Source families, lalu isi nama model sumber.
  2. Pilih keluarga pada New source family, klik Add group, dan beri nama unik tiap group.
  3. Pilih rupture dari daftar untuk mengisi panel detail. Gunakan pencarian, tambah, duplikasi, dan hapus untuk mengelola banyak sumber.
  4. Setelah duplikasi, tinjau nama, geometri, dan recurrence. Dua rupture aktif diperlakukan sebagai dua sumber, bukan otomatis alternatif.
  5. Jika dua trace adalah alternatif patahan yang sama, gunakan cabang trace scenario agar tidak menghitung sumber dua kali.

Bulk background memakai daftar node berpaginasi sehingga tidak perlu memasukkan satu titik per formulir. Mode legacy points masih dapat membaca proyek lama, tetapi memakai asumsi finite point-source yang lebih terbatas.

04. Shallow crustal / fault

Geometri

Masukkan trace berurutan, minimal dua vertex. Isi kedalaman atas dan bawah, dip, serta rake. Kedalaman bawah harus lebih besar daripada atas. Dip: 1-90 derajat; rake: -180 sampai 180 derajat. Periksa orientasi trace dan sisi kemiringan sesar, bukan hanya garis pada peta.

Annual rate atau slip rate

ModeInput yang diperlukan
Annual rateLaju kejadian dalam 1/tahun, bukan probabilitas persen. Distribusi magnitudo menentukan alokasi laju tersebut.
Slip rateSlip dalam mm/tahun, rigidity dalam GPa, seismic coupling tanpa satuan, geometri, dan distribusi magnitudo. Engine menurunkan annual rate.
width = (lowerDepth - upperDepth) / sin(dip)
M0dot = rigidity * area * slipRate * seismicCoupling
M0(Mw) = 10^(1.5 * Mw + 9.05)  [Nm]
lambda_single = M0dot / M0(Mw)

Engine menyamakan panjang ke meter, rigidity ke pascal, dan slip ke meter/tahun. Panjang trace dihitung dari koordinat. Pada YC1985, seluruh distribusi memenuhi sum(lambda_i * M0_i) = M0dot; anggaran momen tidak diberikan penuh ke setiap bin.

Cabang geometri, depth, dip, slip, dan magnitudo menyebabkan annual rate slip dihitung ulang per skenario. Jangan mengisi slip rate sekaligus annual rate manual. Rigidity awal 30 GPa dan coupling 1 adalah asumsi yang perlu ditelaah, bukan nilai universal.

05. Megathrust

Megathrust adalah subduction interface, berbeda dari gempa Benioff di dalam slab. Isi upper trace dan lower trace dengan longitude, latitude, dan depth. Jumlah vertex keduanya harus sama; lower trace harus lebih dalam daripada pasangan vertex upper trace.

Recurrence manual atau a-b value

Untuk manual rate, isi annual rate dan distribusi single/characteristic. Untuk Gutenberg-Richter, pilih mode a-b dan isi a, b, minimum Mw, maximum Mw, serta interval magnitudo.

lambda(M) = 10^(a - b * M)  [1/tahun per bin]
annual rate total = sum(lambda(M))

a adalah intercept laju incremental per bin, bukan intercept kumulatif N(M >= m). Minimum dan maksimum pada mode a-b adalah pusat bin inklusif. Jika a berasal dari hubungan kumulatif katalog, konversikan ke konvensi incremental dan lebar bin yang dipakai terlebih dahulu.

Rentang magnitudo harus habis dibagi interval dan menghasilkan 2-50 bin. Mengubah Mmax mengubah jumlah bin dan total rate, dengan a dan b tetap. Pada logic tree, perpindahan dari model dasar GR ke cabang characteristic mewarisi total rate GR dasar; cabang GR memakai a-b miliknya sendiri.

06. Background dan Benioff

Buat group Background dan pilih tectonic setting.

SettingKedalaman dan GMM
Active crustDepth 0-30 km; gunakan GMM kerak aktif yang sesuai.
BenioffDepth 20-700 km; gunakan bulk grid dan GMM slab, bukan GMM interface.

Gunakan Import background grid CSV untuk banyak titik sekaligus. Format minimal:

longitude,latitude,rate_M5,rate_M6
106.80,-6.20,0.001,0.0001
106.90,-6.10,0.002,0.0002

Kolom rate_M... berisi incremental annual rate pada setiap magnitudo. Gunakan titik sebagai desimal. Nilai nol diperbolehkan pada bulk grid; jangan memasukkan 10^a ke kolom rate. CSV hasil tab Gridded seismicity dapat langsung diimpor.

Semua node dalam satu bulk grid berbagi depth dan daftar magnitudo. Tinjau jumlah node, koordinat, depth, dan rate node terpilih. Cabang Maximum magnitude background membuang bin di atas ambang tanpa normalisasi ulang rate yang tersisa.

07. Distribusi magnitudo

PilihanMakna dalam engine
Maximum magnitude / singleSatu magnitudo kejadian. Label maximum tidak otomatis menghasilkan distribusi GR.
Discrete magnitude treeAlternatif Mw berbobot. Manual rate dikalikan bobot; pada slip rate, setiap alternatif memperoleh rate dari keseimbangan momen.
Characteristic - single MwSeluruh laju pada satu Mchar.
Youngs-Coppersmith 1985Komponen GR magnitudo kecil dan pita characteristic selebar 0,5 Mw, dari Mchar-0,25 hingga Mchar+0,25.
Gutenberg-Richter a-bDistribusi incremental a-b; tersedia untuk megathrust.

YC1985 memerlukan Mchar, minimum Mw sebagai tepi bawah, b-value, dan lebar bin. Ini berbeda dari pusat bin pada GR a-b. Batas bin harus selaras dengan pita characteristic; minimal dua bin pada komponen bawah dan maksimal 100 bin total.

Contoh fault yang selaras: Mchar 7,25; minimum 5,0; b = 1; lebar bin 0,1, menghasilkan 25 bin. Contoh megathrust: Mchar 8,25; minimum 6,0; b = 1; lebar bin 0,1. Angka ini contoh format, bukan rekomendasi geologi.

Manual annual rate pada YC1985 adalah total seluruh distribusi, bukan hanya pita characteristic. Batas atas pita mengikuti Mchar+0,25; Mmax alternatif single/GR bukan batas tambahan untuk memotong pita YC1985.

08. Logic tree dan GMM

Formulir sumber adalah model dasar; diagram logic tree menyimpan alternatif parameter sumber itu. GMM dikelola pada tingkat group dan berlaku untuk seluruh sumber dalam group.

  1. Centang parameter yang ingin divariasikan. Klik node diagram untuk membuka tabel cabang. Panah kiri/kanan menggeser diagram.
  2. Isi label, nilai, dan bobot. Cabang tambahan atau duplikasi awalnya dapat nonaktif; centang agar dihitung.
  3. Jumlah bobot aktif tiap parameter harus 1. Tombol neraca menormalisasi bobot; API tidak menormalisasi diam-diam.
  4. Parameter nonaktif memakai nilai dasar. Cabang nonaktif tidak dihitung, tetapi tetap tersimpan di proyek.
Editor logic tree fault dengan dua cabang Depth to base berbobot 0,5.
Dua alternatif depth pada satu patahan, bukan dua patahan yang dijumlahkan tanpa bobot.

Prioritas Mmax/Mchar

Jika Magnitude distribution dan Mmax/Mchar sama-sama aktif, magnitudo perhitungan berasal dari Mmax/Mchar. Engine memilih distribusi dahulu, lalu mengganti magnitudonya. Single/GR memakai Mmax; characteristic/YC1985 memakai Mchar. Kolom magnitudo pada cabang Magnitude distribution disembunyikan saat penggantian aktif; nilai tersimpan muncul kembali ketika Mmax/Mchar dimatikan.

Contoh: cabang distribusi menyimpan Mchar 7,0, sedangkan Mmax/Mchar berisi Mchar 7,25. Engine memakai 7,25. Minimum Mw, b-value, dan interval tetap dari distribusi. Semua kombinasi aktif harus valid, termasuk keselarasan bin.

Bobot dan kombinasi

Bobot skenario = bobot trace * bobot depth * bobot MFD * bobot Mw * ...
Mean hazard(x) = sum(bobot skenario * hazard_skenario(x))

Dua cabang MFD dan tiga cabang Mw membentuk enam skenario. Model dasar tidak ditambahkan sebagai skenario ekstra. Spektra periode ulang diinterpolasi dari kurva hazard rata-rata berbobot, bukan rata-rata nilai PGA/SA tiap skenario. Dimensi diperlakukan independen; versi ini tidak mengeluarkan kurva persentil epistemik.

Memilih GMM

Pilih GMM library sesuai keluarga sumber, wilayah penerapan, dan dukungan IMT. Atur bobot aktif hingga 1. Jika GMM tree dimatikan, hanya Base GMM dipakai dengan bobot 1. Group dalam direktori sumber native yang sama harus memakai GMM efektif dan bobot yang sama. Memilih characteristic tidak mengganti library GMM dengan model baru.

09. Katalog menjadi gridded seismicity

Tab ini mengimplementasikan metode Fortran agridMLsm.v2.f pada worker browser, bukan menjalankan binary Fortran. Background PSHA sendiri tidak menghitung katalog ulang: ia menerima annual rate dari grid.

Format lima kolom

Magnitude,Long,Lat,Jarak Rupture,tahun
5.2,106.80,-6.20,8,2004
5.7,106.92,-6.12,9,2014
6.1,106.64,-6.34,13,1989

Impor CSV/TXT atau tempel data. Koma, titik koma, dan spasi didukung; baris data harus tepat lima angka, dengan tahun bilangan bulat. Header contoh di atas didukung. Kolom keempat disimpan dalam Analisis JSON tetapi tidak memengaruhi annual rate. Atur kedalaman PSHA terpisah.

  1. Impor katalog dan tinjau batas grid yang diusulkan.
  2. Isi ukuran grid dalam derajat dan jarak korelasi Gaussian dalam km. Grid rapat meningkatkan jumlah sel dan biaya hitung.
  3. Sesuaikan tahun akhir katalog, b-value, minimum/maksimum Mw, lebar bin Fortran, dan lebar bin output. Tahun akhir awal tidak otomatis mengikuti tahun hari ini.
  4. Isi ambang magnitudo dan tahun mulai kelengkapan. Aplikasi tidak mengestimasi b-value, tidak menentukan kelengkapan otomatis, dan tidak melakukan declustering.
  5. Isi depth output. Klik Hitung annual rate; pantau progress atau pilih Hentikan. Mengubah parameter/katalog membatalkan hitungan berjalan.
  6. Periksa jumlah kejadian terpakai/diabaikan, peta, 10^a, dan rate. Tabel menampilkan 100 sel pertama; ekspor memuat seluruh sel.

10^a dan annual rate

F(dM) = 10^(b*dM/2) - 10^(-b*dM/2)
rate(M, D) = (10^a) * 10^(-b*M) * F(D) / F(dM)

dM adalah lebar bin input Fortran; D lebar bin output. Nilai 10^a sudah mencakup hitungan kejadian, faktor kelengkapan, dan smoothing; bukan annual rate total. Normalisasi smoothing dilakukan per sel output, sehingga jumlah sesudah smoothing tidak harus sama dengan sebelum smoothing, terutama di tepi grid.

KeluaranTujuan
CSVKoordinat dan annual rate semua sel per Mw, siap diimpor sebagai background.
Analisis JSONKatalog asli, pengaturan, dan hasil untuk audit.
Sumber JSONModel bulk background untuk impor sumber PSHA.
Gunakan di PSHATransfer melalui browser ke halaman PSHA; tinjau site, GMM, dan setting sumber.

Output awal adalah active crust. Untuk Benioff, ganti setting pada background editor, pilih GMM slab dan depth yang sesuai. Verifikasi sendiri asumsi independensi kejadian pada katalog.

10. Hazard, spektra, dan deagregasi

IMT dan periode ulang

Pilih PGA atau SA pada periode yang didukung semua GMM aktif. SA memakai redaman 5%; percepatan dalam g. Tombol tambah periode ulang menyediakan 1-8 target unik, masing-masing 2-100.000 tahun.

Target annual exceedance rate adalah 1 / T. Untuk T = 2.475 tahun, target sekitar 0,000404 per tahun. Annual rate kejadian sumber berbeda dari laju pelampauan gerakan tanah; laju pelampauan sudah melibatkan peluang dari GMM.

  • Hazard curve: intensitas versus laju pelampauan. Kurva tidak meningkat saat intensitas bertambah.
  • Uniform hazard spectrum: PGA/SA untuk laju pelampauan sama. PGA tercatat pada periode 0 detik.
  • Deagregasi: pilih IMT dan target IML atau periode ulang. Tampilan magnitudo-jarak menjumlahkan kontribusi epsilon.
  • Metadata/peringatan: telaah asumsi, model, dan kontribusi di luar batas bin.

Spektra null berarti target di luar bagian kurva positif yang dihitung, bukan percepatan nol. Tidak ada ekstrapolasi spektra. Sumber terlalu jauh atau rate kecil dapat menghasilkan hazard nol. Persentase deagregasi merujuk hazard yang berhasil dipulihkan; residu di luar bin dilaporkan terpisah.

Ekspor angka untuk pemeriksaan, bukan hanya mengandalkan grafik. Simpan proyek beserta hasil sehingga sumber, bobot, dan parameter dapat ditelusuri.

11. Pemeriksaan dan pemecahan masalah

GejalaTindakan
Bobot tidak berjumlah 1Periksa cabang aktif; gunakan normalisasi. Setidaknya satu cabang harus aktif.
YC1985 / GR tidak validPeriksa minimum, Mchar/Mmax efektif, interval, dan keselarasan semua kombinasi cabang.
GMM / IMT tidak tersediaPeriksa setting dan dukungan IMT tiap GMM. Benioff memakai slab, megathrust memakai interface.
Engine unavailable / 502Administrator memeriksa backend, jaringan container, dan BACKEND_URL. Dokumentasi tidak membutuhkan backend.
HTTP 503Slot upload/perhitungan sedang digunakan. Tunggu sebelum mengirim ulang.
HTTP 413Request di atas 64 MiB atau limit proxy lebih kecil. Kurangi grid/cabang atau periksa proxy.
HTTP 504Timeout frontend 600 detik; proxy dapat lebih pendek. Java mungkin masih berjalan walau browser berhenti menunggu.
Peta dasar hilangPeriksa internet ke penyedia tile. Tetap tinjau koordinat numerik.
Transfer grid gagalIzinkan IndexedDB pada origin yang sama, atau ekspor Sumber JSON/CSV lalu impor manual.

Checklist hasil

  • Koordinat, depth, dip/rake, dan pasangan trace benar.
  • Tidak ada sumber fisik dihitung ganda.
  • Definisi rate, slip, a-b, serta pusat/tepi bin konsisten.
  • Bobot dan Mmax/Mchar efektif sesuai maksud analis.
  • GMM dan IMT sesuai setting dan rentang model.
  • Bandingkan model sederhana dengan perhitungan independen.
  • Arsipkan input, output, versi aplikasi, dan alasan pemilihan parameter.

12. Deployment Docker / Dokploy

Opsi A: Docker Compose

Direkomendasikan untuk konfigurasi yang tersedia. Gunakan Compose Path ./compose.dokploy.yaml, context root repository, Compose minimal 2.24.4, dan jaringan dokploy-network yang tersedia. Kedua layanan harus tetap berbagi jaringan default proyek.

Pada Domains: host psha.ailgeotek.my.id, service frontend, container port 3000, path /, HTTPS/Let's Encrypt aktif. DNS mengarah ke server. Backend tidak perlu domain publik.

Opsi B: Build Type Dockerfile

Bisa, dengan dua application/service Dokploy terpisah. Dockerfile frontend saja tidak menjalankan Java. Gunakan repository yang sama dan context . untuk kedua build.

PengaturanBackendFrontend
Dockerfile PathDockerfile.backendDockerfile.frontend
Docker Context Path..
Build Stageruntime, atau kosongruntime, atau kosong
Port internal80803000
DomainTidak dipublikasikanpsha.ailgeotek.my.id + HTTPS
# Environment backend
PORT=8080
JAVA_TOOL_OPTIONS=-XX:MaxRAMPercentage=75.0 -XX:+ExitOnOutOfMemoryError

# Environment frontend
PORT=3000
HOSTNAME=0.0.0.0
BACKEND_URL=http://NAMA_SERVICE_INTERNAL_BACKEND:8080

Ganti placeholder dengan DNS/service internal backend yang benar. Hubungkan kedua application ke jaringan Docker yang sama. Deploy backend hingga sehat, lalu frontend. Jangan gunakan localhost sebagai alamat backend di container frontend, dan jangan arahkan BACKEND_URL ke domain publik frontend.

Pengaturan Compose tidak otomatis diterapkan pada dua application Dockerfile. Atur kembali jaringan, restart, logging, grace period, serta resource Dokploy. Acuan saat ini: backend 2 GiB/2 CPU, frontend 768 MiB/1 CPU, satu replika masing-masing. Ini bukan jaminan kapasitas grid terbesar; sediakan resource tambahan untuk build dan platform.

  • Sertakan source vendor, test fixtures, notice lisensi, dan package lock. Database dan arsip CONUS tidak diperlukan untuk sumber custom.
  • Backend sehat di /actuator/health; cek /api/psha/catalog melalui frontend untuk memeriksa koneksi.
  • Body proxy minimal 64 MiB, timeout respons di atas 600 detik, dan API tidak di-cache. Terapkan kontrol akses/rate limiting sesuai kebutuhan; HTTPS bukan pembatas pengguna.
  • Jalankan node scripts/deployment-smoke.mjs https://psha.ailgeotek.my.id dari checkout dengan Node 22.18+ saat engine tidak sibuk.
  • Uji DNS, TLS, upload, worker, unduhan, dan perhitungan di server. Build/run Docker Linux serta TLS publik belum dapat diverifikasi di workstation tanpa Docker Engine.

13. Batasan dan referensi

KomponenBatas implementasi
Katalog / grid10.000 kejadian; upload katalog 2 MB; 200.000 sel; 20 bin output; request PSHA 64 MiB.
Sumber manual200 sumber manual/rupture total. Bulk grid tidak dihitung sebagai sumber manual per node.
Logic tree20 cabang per parameter; 4.096 realisasi per sumber; 20.000 realisasi rupture total; 2.000.000 realisasi node background.
Jarak sumber nativeShallow crustal dan active-crust background: 300 km. Benioff dan megathrust: 1.000 km.
ModelUSGS nshmp-lib, basin depth native, truncation atas 3 sigma. Bukan validasi seluruh model Indonesia atau kesetaraan bitwise Fortran/EZ-FRISK.

Batas input bukan jaminan semua kombinasi maksimum akan muat dalam memori atau selesai sebelum timeout. Mulai dari model sederhana dan periksa sensitivitas serta konvergensi.

Rincian repository: docs/API.md, docs/GRIDDED_SEISMICITY.md, docs/VALIDATION.md. Contoh examples/characteristic-logic-tree.json adalah ilustrasi pengujian, bukan rekomendasi model site.