Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Suite RSPMatch — Ground Motion Selection & Spectral Matching

A complete workflow for selecting seed accelerograms from the ESM database, computing GMPE target spectra, and performing RSPMatch spectral matching.


Workflow Overview

┌──────────────────────────────────────────────────────────────────────┐
│                  SUITE RSPMatch — PIPELINE                            │
├──────────────────────────────────────────────────────────────────────┤
│                                                                      │
│  1. GMPE SELECTION                                                    │
│     ┌─────────────────────────────────────────────────┐              │
│     │  GMPE_Selection library  or  manual JSON        │              │
│     │  → first_test_selection.json                    │              │
│     └──────────────────────┬──────────────────────────┘              │
│                            ▼                                        │
│  2. CONFIG GENERATION                                                │
│     ┌─────────────────────────────────────────────────┐              │
│     │  generate_configs.py                            │              │
│     │  → Exemple/configs/config_*.json                │              │
│     └──────────────────────┬──────────────────────────┘              │
│                            ▼                                        │
│  3. TARGET SPECTRUM (OpenQuake)                                      │
│     ┌─────────────────────────────────────────────────┐              │
│     │  compute_targetspectra.py <config.json>         │              │
│     │  → Exemple/Input_{event}_{gmpe}/target.tgt      │              │
│     │  → Exemple/Figures/Alea_*events.pdf             │              │
│     └──────────────────────┬──────────────────────────┘              │
│                            ▼                                        │
│  4. SEED SELECTION (ESM database)                                    │
│     ┌─────────────────────────────────────────────────┐              │
│     │  download_seeds.py <config.json>                │              │
│     │  → Exemple/Input_{suffix}/file*.acc             │              │
│     │  → Exemple/Seed/{scenario}_{gmpe}/              │              │
│     └──────────────────────┬──────────────────────────┘              │
│                            ▼                                        │
│  5. SPECTRAL MATCHING (RSPMatch)                                     │
│     ┌─────────────────────────────────────────────────┐              │
│     │  Matching_handle.py <config.json> all           │              │
│     │  ├─ runfile   → Input_SMS/RUN*_F*.inp           │              │
│     │  ├─ batch     → Input_F*                        │              │
│     │  ├─ rspm      → Output_SMS/RUN*_F*.acc/.rsp     │              │
│     │  └─ visualize → Figures{SUFFIX}/Input_F*.pdf    │              │
│     └──────────────────────┬──────────────────────────┘              │
│                            ▼                                        │
│  6. INTENSITY MEASURE ANALYSIS                                       │
│     ┌─────────────────────────────────────────────────┐              │
│     │  IM_Analysis_SpectralMatched.py <config.json>   │              │
│     │  → Figures{SUFFIX}/FIG_IM_RUN4_*.pdf            │              │
│     │  → Figures{SUFFIX}/Tmatch_RUN4_*.pdf            │              │
│     └─────────────────────────────────────────────────┘              │
│                                                                      │
└──────────────────────────────────────────────────────────────────────┘

Quick Start

cd Exemple/

# 1. Generate config files from GMPE selection
python ../src/generate_configs.py

# 2. Compute GMPE target spectrum
python ../src/NotYet/compute_targetspectra.py configs/config_first_test_Ak2014.json

# 3. Download and select seed waveforms from ESM
python ../src/download_seeds.py configs/config_first_test_Ak2014.json

# 4. Run spectral matching (full pipeline)
python ../src/Matching_handle.py configs/config_first_test_Ak2014.json all

# 5. Analyse intensity measures
python ../src/IM_Analysis_SpectralMatched.py configs/config_first_test_Ak2014.json

Documentation — Man Pages

Detailed documentation for each component is in the Man/ directory:

Component Description Man Page
GMPE Selection Choose GMPEs and create the selection file Man/README_generate_configs.md
Config Generator generate_configs.py — create JSON configs from selection Man/README_generate_configs.md
Target Spectrum compute_targetspectra.py — GMPE target via OpenQuake Man/README_compute_targetspectra.md
Seed Selection download_seeds.py — search ESM, download, rank by RotD50 match Man/README_download_seeds.md
Matching Matching_handle.py — RSPMatch workflow manager Man/README_Matching_handle.md
Visualisation Visualize.py — response spectra, accelerograms, Stockwell PDFs Man/README_Visualize.md
IM Analysis IM_Analysis_SpectralMatched.py — intensity measures & quality check Man/README_IM_Analysis_SpectralMatched.md

Repository Structure

Suite_RSPMatch/
├── README.md                             ← this file
│
├── Man/                                  ← documentation
│   ├── README_generate_configs.md
│   ├── README_compute_targetspectra.md
│   ├── README_download_seeds.md
│   ├── README_Matching_handle.md
│   ├── README_Visualize.md
│   └── README_IM_Analysis_SpectralMatched.md
│
├── Exemple/                              ← working directory
│   ├── configs/                          ← JSON config files
│   ├── Input_*/                          ← target spectra + seed waveforms
│   ├── Input_SMS/                        ← RSPMatch .inp files
│   ├── Output_SMS/                       ← matched waveforms
│   ├── Seed/                             ← ESM archive + analysis
│   ├── Figures/                          ← target plots
│   ├── Figures_*/                        ← matching + IM figures
│   ├── rspm09                            ← RSPMatch executable
│   ├── first_test_selection.json         ← GMPE selection
│   └── gmpe_catalogue.csv               ← GMPE catalogue
│
└── src/                                  ← source code
    ├── generate_configs.py
    ├── download_seeds.py
    ├── signal_analysis.py
    ├── Matching_handle.py
    ├── NotYet/
    │   ├── compute_targetspectra.py
    │   ├── Visualize.py
    │   ├── IM_Analysis_SpectralMatched.py
    │   ├── gmpe.py
    │   └── plot_par.py
    └── ...

External Dependencies

Resource Purpose
OpenQuake Engine GMPE computation (compute_targetspectra.py)
pyrotd C-accelerated RotD50 response spectra (download_seeds.py)
GMPE_Selection Graphical tool to create the GMPE selection file
RSPMatch21 Fortran spectral-matching engine (rspm09)
Seismic-Intensity-Measure Underlying IM computation library
ESM Database European Strong-Motion waveform archive

About

RspMatch Suite

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages