PSHA Tool v3.4.2

PSHA Tool

Probabilistic Seismic Hazard Analysis · APEC Team

An interactive workbench for the PSHA workflow — source modeling and GMPEs, hazard curves and uniform hazard spectra, ground-motion conversion, scaling and spectral matching, near-fault effects, orbit visualization, and site response.

developed by Albert Pamonag and Camille Pajarillaga · psha.apeconsultancy.net

modules UHS · GMPE · BSDS SRSS · GeoMean · RotD Site Response

Tip: use the search box to jump to a module, or open the Change Log for version history.

Uniform Hazard Spectrum (UHS)

Plot an OpenQuake UHS (hazard_uhs) export — columns are POE~IMT and the values are spectral accelerations. A single-POE file is plotted as-is at the return period that POE implies; a multi-POE file is interpolated to the target return period below. For raw hazard-curve CSVs, use the Hazard Curves page instead.

Upload an OpenQuake UHS CSV (hazard_uhs export)

BSDS Curve Generator

Upload a BSDS design-spectrum data file — columns Period(s), Acceleration(g), and optionally 2/3 Acceleration(g) (tab, space, or comma separated; a header row is ignored) — to plot the design response spectrum and read off its key parameters.

Upload BSDS data file (.txt / .csv)

UHS vs BSDS Bedrock

Overlay a uniform hazard spectrum (UHS) on a BSDS bedrock design spectrum for a side-by-side comparison. Upload the UHS export (OpenQuake hazard_uhs CSV, or a simple period, Sa table) and the BSDS bedrock CSV (Period (s), Sa (g), 2/3 Sa (g)). The result is a log–log overlay (PNG) plus a comparison table (CSV) carrying the UHS/BSDS ratio over the overlapping period band.

Upload UHS CSV (OpenQuake hazard_uhs or period, Sa)
Upload BSDS bedrock CSV (Period, Sa, 2/3 Sa)

Hazard Curves → UHS

Interpolate spectral accelerations from OpenQuake hazard-curve CSVs (one IMT per file, poe-* columns) at a target return period, then assemble the Uniform Hazard Spectrum. Upload one curve per spectral period (PGA, SA(0.2), SA(1.0), …). For an already-computed UHS export, use the UHS Generator page instead.

Upload OpenQuake hazard-curve CSVs (one per IMT, multiple files)

Return Period Calculator

Convert between POE, Annual Exceedance Rate, and Mean Return Period.

Common Return Periods

ScenarioLambdaMRP (yr)
10% in 50 yr0.002107475
2% in 50 yr0.0004042475
5% in 50 yr0.001026975
10% in 75 yr0.001405712
2% in 75 yr0.0002703712
50% in 30 yr0.02310543

Depth Distribution & Nodal Planes

Hypocentral depth histogram and PMF table for OpenQuake source model input.

Upload earthquake catalog (.csv, .hmtk)

Focal Mechanisms & Nodal Planes

View fault parameters per SSM source within 300 km. Select a fault to see its geometry, MFD, and nodal plane parameters.

Select Fault Source (within 300 km)

SSM Source Model Visualizer

Visualize PHIVOLCS-GEM seismic source model: fault traces, area zones, and MFD parameters.

Crustal Sources

Subduction Interface

Subduction Slab

Or upload custom SSM XML files:

Upload SSM XML (.xml)

GMPE Comparison

Philippine GMPE reference (PHIVOLCS-GEM-Oct2020) with distance-attenuation comparison plots.

Tectonic Region

GMPEs

Parameters

SeismoMatch to PEER (.AT2)

Upload one or more SeismoMatch matched accelerogram (.txt) files — each with the Time(sec) / Acc(g) time history — and batch-convert them into PEER .AT2 strong-motion records (acceleration-only, units of g, with the time axis implied by DT). Each input produces one <name>.AT2; download them individually or all together as a .zip.

Upload SeismoMatch matched accelerograms (.txt) — select multiple files

AT2 Converter

Upload PEER .AT2 ground-motion files, resample to a target time step, and download in ChiChi-like text format.

Upload ground-motion records (.AT2) — select multiple files

Folder-organized TXT

Upload X/Y .AT2 pairs per ground motion. Each record is converted to two-column sec acc text (fixed-point, no header) and saved into a folder you choose — laid out as GM1/, GM2/, … (each holding its two components) plus top-level X/ and Y/ folders. Files are named RSN<tag>_FN (X / fault-normal) and RSN<tag>_FP (Y / fault-parallel). Leave a row blank to skip it.

sec acc ChiChi

Arias Intensity Trim

Trim PEER .AT2 ground-motion records to their significant-duration window, defined by the Arias-intensity (Husid) build-up between two thresholds — the default 5–95 % gives the standard D5–95. The low-amplitude lead-in and tail are removed; the header is preserved (only NPTS is updated) and DT is unchanged, so the output is the same .AT2 format, trimmed. Upload one record or a whole suite for batch trimming.

Upload PEER .AT2 record(s) — select multiple files for batch trimming

QuakeManager → RSseismic

Upload QuakeManager PEER .AT2 acceleration records and convert them to the RSseismic text input format — a one-line NPTS  DT header followed by two columns of time  acceleration (g). This is the same ChiChi-style layout RSseismic reads, so the downloaded *_chichi_format.txt files drop straight into your pipeline.

Upload QuakeManager records (.AT2) — select multiple files

Leave Resample off to keep each record's native NPTS / DT (pure format conversion).

SeismoMatch → RSseismic

Upload SeismoMatch matched-accelerogram records (time / acceleration text, acceleration in g) and convert them directly to the RSseismic text input format — a one-line NPTS  DT header followed by two columns of time  acceleration (g). This is the same ChiChi-style layout RSseismic reads, so the downloaded *_chichi_format.txt files drop straight into your pipeline — no intermediate .AT2 step needed.

Upload SeismoMatch records (.txt / .AT2) — select multiple files

Leave Resample off to keep each record's native NPTS / DT (pure format conversion). For an accel-only export with no time column, the Target DT value is used as the time step.

PEER to TXT

Upload PEER .AT2 ground-motion files and download as plain text in sec acc format (fixed-point, no scientific notation).

Upload ground-motion records (.AT2) — select multiple files

Folder-organized TXT

Upload X/Y .AT2 pairs per ground motion and save them into a folder you choose — laid out as GM1/, GM2/, … (each holding its two components) plus top-level X/ and Y/ folders. Files are named RSN<tag>_FN (X / fault-normal) and RSN<tag>_FP (Y / fault-parallel). Pick sec acc or ChiChi text format. Leave a row blank to skip it.

sec acc ChiChi

PEER FORMAT

Upload an OpenQuake hazard-spectrum result (the lon,lat,<poe>~PGA,<poe>~SA(T)… CSV the engine exports for a UHS / hazard spectrum) and convert it to the PEER “User Defined Spectrum” CSV — a clean two-column T (s), Sa (g) table that reads straight into SeismoMatch and other target-spectrum tools. PGA maps to T = 0; each SA(T) column becomes a period point.

Upload OpenQuake hazard-spectrum results (.csv)

Ground Motion Classification

Compute PGA, PGV, PGD, Central Period (Tc), and Normalized Velocity (PGVn) with frequency and bandwidth classification.

Option 1 — Upload PEER .AT2 records

Upload ground-motion records (.AT2) — select multiple files

Option 2 — Upload Batch GM Excel (.xlsx)

Expected column order (no header row): station, record id, —, db, event, date, Mw, station name, VS30, site class, R (km), PGA (g), PGV (cm/s), PGD (cm), …

Upload Batch GM workbook (.xlsx) — one or more files

Option 3 — Combine two horizontals (GeoMean & SRSS)

Upload a full record set (both horizontal components per RSN; the vertical is optional and ignored). Components are auto-paired by RSN — any PEER naming convention, including suffixes glued to the station code (e.g. GDLCN55W) and records with no vertical. The two horizontals are combined by geometric mean and by SRSS, then classified. Outputs two tables.

Upload PEER .AT2 records — the whole set (select multiple files)

Seed Motion — Time Histories & Response Spectrum

Upload a PEER .AT2 acceleration record to view its acceleration, velocity, and displacement time histories and its 5%-damped elastic response spectrum (the “seed-motion spectrum”), optionally overlaid on a target spectrum. The spectrum is computed with OpenSees (one SDOF oscillator per period, run as a transient) and can be exported as an OpenSees timeSeries Path — ready for responseSpectrumAnalysis — alongside an Sa-vs-T CSV. Use this as a visual screen of the seed motion before scaling or spectral matching; theory notes appear below the plot.

Upload PEER .AT2 acceleration record
Optional target-spectrum CSV (Period, Sa per row) — e.g. MCEₕ or a UHS export
Seismic Response-Spectrum Report

SpecMatReport

Generate a 5%-damped elastic response-spectrum overlay report. Upload a ground-motion acceleration record and a target spectrum; the record’s response spectrum is computed with OpenSees (one single-degree-of-freedom oscillator per period, run as a transient via openseespy) and overlaid on the target — no spectral matching is performed. Upload an optional Match record (a 2nd component) to also plot the geometric mean √(Sa,1·Sa,2) of the two, which is then compared against the target. The target accepts a simple period Sa table, an OpenQuake UHS (hazard_uhs) CSV, or a ShaCodeOverlay envelope CSV (an L1 or L2 export — its Envelope column is used). An optional site-response surface record can be plotted on the same axes. The overlaid spectra export as a tidy CSV and as OpenSees timeSeries Path snippets ready for responseSpectrumAnalysis.

Inputs
Seed record — required
PEER .AT2 or text (acceleration in g)
Match record — optional
2nd component (.AT2); adds the geometric mean √(Sa,1·Sa,2)
Target spectrum — required
period Sa table, OpenQuake UHS, or ShaCodeOverlay envelope CSV (L1/L2)
Surface record — optional
site-response output: .AT2/.txt or DEEPSOIL .xlsx

Mean Spectra

Upload a suite of acceleration records (PEER .AT2 or text — ChiChi / sec acc / one accel per line) to compute their 5%-damped response spectra on a common period grid (0.01–10 s). Individual records plot as thin grey lines; the suite mean is the thick black line. The CSV download (period, every record, mean) can be re-used as a target spectrum in Spectral Matching.

The suite mean computed here is the mean matched spectrum at the bedrock (input-motion) level. Use the comparisons below to overlay it against the surface-level mean and the BSDS design spectrum.

Upload records (.AT2 or .txt — acceleration in g) — select the whole suite

BSDS Design Spectrum Comparison

Compute the mean spectra above, then upload a BSDS design spectrum data file to overlay it against the mean matched spectrum. The file is tab / space / comma separated with the columns Period(s)  Acceleration(g)  2/3 Acceleration(g) (a non-numeric header row is skipped; the 2/3 column is optional).

Upload BSDS design spectrum (.txt)

Surface-Level Mean Spectrum Comparison

The mean above is the bedrock (input) mean matched spectrum. Upload the surface-level mean spectrum (e.g. the DEEPSOIL Mean Spectra CSV with a Period (s) column and a Mean (g) column) to overlay bedrock vs surface vs the BSDS design spectrum. Load the BSDS file in the section above first to include it in this plot.

Upload surface-level mean spectrum (.csv)

Fling Application Figure

Add a tectonic fling step to the fault-parallel (FP) component and compare FP, FP + fling, and FN — acceleration/velocity/displacement time histories and the 5%-damped response spectra (reproduces Fugro Fig 10.3-1). Fling is added to FP only; FN is shown for comparison. Controlling-fault defaults are for the West Valley Fault.

Upload FP (fault-parallel) .AT2
Upload FN (fault-normal) .AT2

Pulse / Non-Pulse Classification

Decide whether a near-fault record is pulse-like or non-pulse-like using the wavelet algorithm of Baker (2007) — the method our reference adopts (Shahi & Baker, 2011). The record is integrated to velocity, the largest velocity pulse is extracted with a db4 wavelet, and the Pulse Indicator (PI), pulse period Tp, and PGV give a ✅/❌ verdict. Test the fault-normal component (or rotate to FN first).

Upload acceleration record (.AT2 / .txt)

DEEPSOIL Results Extractor

Upload DEEPSOIL output Excel files to extract PGA, PGV, and PGD from Layer 1.

Upload DEEPSOIL output files (.xlsx) — select multiple files

Folder-organized TXT

Upload X/Y DEEPSOIL .xlsx pairs per ground motion and save the Layer 1 surface motion into a folder you choose — laid out as GM1/, GM2/, … (each holding its two components) plus top-level X/ and Y/ folders. Files are named RSN<tag>_FN (X / fault-normal) and RSN<tag>_FP (Y / fault-parallel). Pick sec acc or ChiChi text format. Leave a row blank to skip it.

sec acc ChiChi

DEEPSOIL to TXT

Upload DEEPSOIL .xlsx output files and download the Layer 1 surface motion as plain text in sec acc format (fixed-point, no scientific notation).

Upload DEEPSOIL output (.xlsx) — select multiple files

Folder-organized TXT

Upload X/Y DEEPSOIL .xlsx pairs per ground motion and save the Layer 1 surface motion into a folder you choose — laid out as GM1/, GM2/, … (each holding its two components) plus top-level X/ and Y/ folders. Files are named RSN<tag>_FN (X / fault-normal) and RSN<tag>_FP (Y / fault-parallel). Pick sec acc or ChiChi text format. Leave a row blank to skip it.

sec acc ChiChi

DEEPSOIL Mean Spectra

Upload the DEEPSOIL surface output workbooks (one per ground motion, e.g. all 11) to average their 5%-damped surface response spectra from the Layer 1 sheet. You get the mean spectrum on its own, the mean over the individual motions, and the full table as CSV.

Upload DEEPSOIL output files (.xlsx) — select all motions (e.g. 11)

BSDS Design Spectrum Comparison

Compute the mean spectrum above, then upload a BSDS design spectrum data file to overlay it against the mean. The file is tab / space / comma separated with the columns Period(s)  Acceleration(g)  2/3 Acceleration(g) (a non-numeric header row is skipped; the 2/3 column is optional).

Upload BSDS design spectrum (.txt)

Ground Motion Polar Plot

Upload two horizontal components (X and Y) of PEER AT2 input motion and/or DEEPSOIL surface output. Acceleration is double-integrated to displacement (cm) and visualized as the rotated PGD rose, displacement hodograph, compass-polar PGD, and the QuakeManager-style Polar Chart.

PEER Input (.AT2)

X-component AT2 (horizontal 1)
Y-component AT2 (horizontal 2)

DEEPSOIL Output (.xlsx)

X-component DEEPSOIL (Layer 1)
Y-component DEEPSOIL (Layer 1)

Displacement Polar Chart

Double-integrates acceleration to displacement (cm) and renders the QuakeManager-style Polar Chart: POLAR_ENV (rotated peak-displacement envelope) and 2D_TRACE (particle-motion orbit). Upload up to 7 X/Y pairs — each pair can be PEER (.AT2) or DEEPSOIL (.xlsx).

Displacement Orbit Compare

Compare the particle-motion displacement orbit (Disp 1 vs Disp 2, double-integrated from acceleration) across three processing stages — SEED (as-recorded), Match (spectrally matched), and Surface (site-response output) — side-by-side on a shared scale, with a combined overlay. Each input is an X/Y pair (PEER .AT2 or DEEPSOIL .xlsx). Upload one, two, or all three.


Batch — auto-pair X/Y by station

Drop in all X-component (fault-normal, RSN…_FN) and all Y-component (fault-parallel, RSN…_FP) records at once. Files are paired automatically by their RSN<number> station tag, and one displacement orbit is plotted per station, each on its own auto-fit scale so weak and strong motions are both readable. PEER .AT2 or plain time accel .txt both work.

X components (Disp 1 / FN) — select multiple
Y components (Disp 2 / FP) — select multiple

Batch Compare — Original vs Matched vs DEEPSOIL (auto-pair X/Y by station)

Drop in the Original, Matched and (optionally) DEEPSOIL surface record sets, each as an X-component (Disp 1) and Y-component (Disp 2) batch. Files are paired automatically by their RSN<number> station tag and, for every station, the Original (grey), Matched (red) and DEEPSOIL (green) orbits are overlaid on a shared per-station scale — so spectral-matching and site-response amplification are read directly off the orbit. Original/Matched accept PEER .AT2 or plain time accel .txt; DEEPSOIL accepts .xlsx. Provide any one, two, or all three sets.

Original X (Disp 1) — select multiple
Original Y (Disp 2) — select multiple
Matched X (Disp 1) — select multiple
Matched Y (Disp 2) — select multiple
DEEPSOIL X (Disp 1) — surface, select multiple
DEEPSOIL Y (Disp 2) — surface, select multiple

Animated Orbit Plot

Watch the ground particle trace its displacement orbit over time. Upload one X/Y acceleration pair (PEER .AT2 or .txt); the records are double-integrated to displacement and the orbit (Disp X vs Disp Y) is animated with a growing trail and a moving particle. The ground acceleration and displacement time histories animate in sync below, with a time cursor that tracks the orbiting particle. Play / pause, scrub through time, and adjust the speed.

X component (.AT2 / .txt)
Y component (.AT2 / .txt)

Corrected Ground Motion

Apply baseline correction to acceleration records and export the corrected motions. Correction is a linear detrend + 4th-order Butterworth high-pass at 0.05 Hz (zero-phase), the same scheme used by Displacement Orbit Compare — it strips the slow drift that otherwise corrupts integration, while preserving the record's shape and phase. Every record is corrected independently on its own series — there is no X/Y pairing and no cross-record coupling, so you can drop in X only, Y only, or both.

The six inputs are just for organising the output by role and component. Drop your Original, Matched and (optionally) DEEPSOIL records into the matching X / Y boxes — each file is corrected on its own. Original/Matched accept PEER .AT2 or plain time accel .txt; DEEPSOIL accepts .xlsx. For every record you get an uncorrected-vs-corrected comparison figure (acceleration and double-integrated displacement), and the corrected acceleration is exported as plain time accel .txt, bundled as a ZIP foldered by role and component.

Original X (Disp 1) — select multiple
Original Y (Disp 2) — select multiple
Matched X (Disp 1) — select multiple
Matched Y (Disp 2) — select multiple
DEEPSOIL X (Disp 1) — surface, select multiple
DEEPSOIL Y (Disp 2) — surface, select multiple

Defaults (0.05 Hz high-pass, 4th order, low-pass off) match Displacement Orbit Compare. Add a low-pass corner to apply a band-pass.

Corrected Ground Motion — Displacement Baseline (TEST)

An experimental sibling of Corrected Ground Motion that corrects in the displacement domain instead of high-passing the acceleration. Each record is double-integrated to displacement, a low-order polynomial is fit to the drift, and its second derivative is subtracted from the acceleration (polynomial baseline correction). The corrected acceleration then double-integrates — with no Orbit-Compare toggle — to a near-zero-drift displacement, so the orbit tends to close on its own. PGA and the spectral match are largely preserved (only a smooth, very-low-frequency term is removed).

This module is for A/B testing and does not affect the production Corrected Ground Motion module. Each file is corrected independently on its own series (no X/Y pairing). The displacement panel below uses plain double-integration (toggle OFF) so you can see directly whether the corrected record closes the orbit. The corrected acceleration is exported as both .txt (ChiChi npts dt + t acc) and PEER .AT2, bundled as a ZIP foldered by role and component.

Original X (Disp 1) — select multiple
Original Y (Disp 2) — select multiple
Matched X (Disp 1) — select multiple
Matched Y (Disp 2) — select multiple
DEEPSOIL X (Disp 1) — surface, select multiple
DEEPSOIL Y (Disp 2) — surface, select multiple

GM Outcrop vs Surface

Compare each ground motion's peak values — PGA (g), PGV (cm/s) and PGD (cm) — between the outcrop (bedrock input) record and the surface (site-response output) record. Upload all bedrock motions in one bucket and all surface motions in the other; files are paired automatically by their RSN<number> station tag, and a median row is added. PEER .AT2, SeismoMatch .AT2, DEEPSOIL .xlsx, or plain time accel .txt all work.

Outcrop / bedrock motions — select multiple
Surface motions — select multiple

Smooth Spectra Compare

Overlay the smoothed bedrock (outcrop), surface (site-response) and BSDS code design spectra on one 5%-damped plot. Reads the Period (s), Sa (g), ⅔ Sa (g) columns from each file (comma, tab, or space separated, header row optional) and reports the surface/bedrock amplification and surface-vs-code ratios.

Input format requirements

Bedrock smooth CSV

Smoothed bedrock/outcrop spectrum — columns Period (s), Sa (g), ⅔ Sa (g), comma-separated, header row.

Period (s),Sa (g),2/3 Sa (g)
0.0000,0.612321,0.408214
0.1300,1.103667,0.735778
1.0000,0.733134,0.488756
8.0000,0.091642,0.061094
Surface smooth CSV

Smoothed surface (site-response) spectrum — same three-column format as bedrock.

Period (s),Sa (g),2/3 Sa (g)
0.0000,0.405884,0.270589
0.3900,0.466234,0.310823
1.0000,0.466234,0.310823
8.0000,0.112948,0.075298
BSDS code TXT

BSDS Level II design spectrum — Period(s), Acceleration(g), ⅔ Acceleration(g), tab- or space-separated.

Period(s)  Acceleration(g)  2/3 Acceleration(g)
0.0000  0.470000  0.313333
0.2300  0.966000  0.644000
1.0000  0.966000  0.644000
8.0000  0.135000  0.090000
Bedrock smooth spectrum (Period, Sa, ⅔ Sa CSV)
Surface smooth spectrum (Period, Sa, ⅔ Sa CSV)
BSDS code design spectrum (Period, Acceleration, ⅔ TXT)

ShaCodeOverlay

Overlay the deterministic (DSHA), probabilistic (PSHA) and Code (BSDS) design response spectra on one 5%-damped log-log plot, with their ⅔ variants. Overlay just plots the uploaded spectra as-is — no processing. Process then generates the Level‑2 envelope (the point-wise maximum of the full spectra). Upload a PSHA spectrum and a Code design spectrum; DSHA is optional.

Input format requirements

DSHA spectrum CSV · optional

Deterministic (DSHA) response spectrum — two columns Period (s), Acceleration (g), comma-separated, with a header row. Periods may be sparse. The ⅔ curve is computed.

Period(s),Acceleration(g)
0,0.235
0.1,0.402
0.2,0.486
0.5,0.470
1,0.300
3,0.090
PSHA / UHS spectrum CSV

Probabilistic (PSHA) uniform-hazard spectrum — same two-column format as DSHA (e.g. a UHS export). One Period, Sa pair per row.

Period(s),Acceleration(g)
0,0.228988
0.1,0.394983
0.2,0.498632
0.5,0.442310
1,0.266237
3,0.082794
Code (BSDS) design TXT

Code design spectrum — three columns Period (s), Acceleration (g), ⅔ Acceleration (g), tab- or space-separated, with a header row.

Period(s)  Acceleration(g)  2/3 Acceleration(g)
0.0000  0.450000  0.300000
0.0100  0.499995  0.333330
0.1300  1.056000  0.704000
1.0000  0.640000  0.426667
8.0000  0.080000  0.053333
DSHA spectrum — optional (Period(s), Acceleration(g) CSV)
PSHA spectrum (Period(s), Acceleration(g) CSV)
Code design spectrum (Period(s)  Acceleration(g)  2/3 Acceleration(g) TXT)

SurCodeOverlay

Overlay the surface mean spectra (DEEPSOIL, X and Y) against the Code (BSDS) design spectrum and its ⅔ variant. Each mean is idealised into a DPWH-BSDS site-specific design spectrum (the smoothed curve), exactly as the seismicpy — DPWH BSDS Site-Specific Spectrum tool does: with Fpga=Fa=Fv=1, the anchors are read straight off the mean — pga = mean at the first period, Ss = mean at 0.2 s, S1 = mean at 1.0 s. The envelope is the point-wise higher of the ⅔ BSDS and the smoothed curve, computed separately for X and Y.

Input format requirements

Mean spectrum X CSV

DEEPSOIL surface mean spectrum (X) — a Period (s) column and a Mean (g) column (the arithmetic mean). Extra per-record columns are ignored; the Mean (g) column is found by name.

Period (s),...,Mean (g),...
0.010000,...,0.389427,...
0.200000,...,0.412506,...
1.000000,...,0.847752,...
Mean spectrum Y CSV

DEEPSOIL surface mean spectrum (Y) — same format as the X file (a Period (s) column and a Mean (g) column).

Period (s),...,Mean (g),...
0.010000,...,0.399419,...
0.200000,...,0.412506,...
1.000000,...,0.847752,...
Code (BSDS) design TXT

BSDS Level-II design spectrum — two or three columns Period (s), Acceleration (g), ⅔ Acceleration (g), tab/space/comma separated, header skipped. The ⅔ column is optional (else derived).

Period(s)  Acceleration(g)  2/3 Acceleration(g)
0.0000  0.470000  0.313333
0.2000  0.966000  0.644000
1.0000  0.966000  0.644000
8.0000  0.135000  0.090000
Mean spectrum X (DEEPSOIL surface CSV — Period (s), Mean (g))
Mean spectrum Y (DEEPSOIL surface CSV — Period (s), Mean (g))
Code design spectrum (Period(s)  Acceleration(g)  2/3 Acceleration(g) TXT)

Surface X/Y Combine — GeoMean / SRSS

Combine two DEEPSOIL surface mean-spectrum CSVs (X and Y directions) into a single horizontal spectrum by geometric mean and SRSS, read off PGA / Sa(0.2 s) / Sa(1.0 s) in a table, and optionally overlay a BSDS design spectrum to compare. Inputs are the mean-spectrum CSVs (a Period (s) column plus Mean (g) / Geometric Mean (g) summary columns) — the same files the SurCodeOverlay and Mean Spectra modules read.

Period (s), …, Mean (g) …
Period (s), …, Mean (g) …
Upload a BSDS curve to compare

SpecCombine — Two-Component Spectrum Combination

Combine the response spectra of the two horizontal components of a ground motion four ways: SRSS (square root of the sum of squares), the as-recorded geometric mean, and the orientation-independent RotD50 (median) and RotD100 (maximum) measures of Boore (2010). RotD rotates the pair through all non-redundant azimuths (0–179°, 1° step) at every period and takes the peak SDOF oscillator response of the rotated motion — so it needs the two acceleration time histories, not precomputed spectra. Components are resampled to a common time step and trimmed to a common length before combining; spectra are computed at 100 log-spaced periods from 0.01 to 10 s.

Upload H1 (first horizontal component) — .AT2 / .txt
Upload H2 (second horizontal component) — .AT2 / .txt

Change Log

PSHA Tool by Albert Pamonag

v3.4.2 (2026-07-09)

v3.4.1 (2026-07-09)

v3.4.0 (2026-07-09)

v3.3.0 (2026-07-04)

v3.2.0 (2026-07-04)

v3.1.0 (2026-07-04)

v3.0.1 (2026-07-03)

v3.0.0 (2026-07-03)

v2.19.0 (2026-06-25)

v2.18.1 (2026-06-24)

v2.18.0 (2026-06-24)

v2.17.0 (2026-06-24)

v2.16.1 (2026-06-24)

v2.16.0 (2026-06-24)

v2.15.0 (2026-06-23)

v2.14.0 (2026-06-23)

v2.13.0 (2026-06-23)

v2.12.0 (2026-06-23)

v2.11.0 (2026-06-12)

v2.10.0 (2026-06-10)

v2.9.0 (2026-06-10)

v2.8.0 (2026-06-10)

v2.7.0 (2026-06-10)

v2.6.0 (2026-06-10)

v2.5.0 (2026-06-10)

v2.4.0 (2026-06-09)

v2.3.0 (2026-06-09)

v2.2.0 (2026-06-08)

v2.1.0 (2026-06-08)

v2.0.0 (2026-04-05)

v1.1.0 (2026-03-29)

v1.0.0 (2026-03-29) - Initial Release