This project uses an ensemble deep learning algorithm, ELEP (Yuan et al, 2023) to detect and pick P and S waves from continuous data in coastal and offshore Cascadia using the 2011-2015 Cascadia Initiative Experiment Ocean Bottom Seismometers.
The workflow included 1) ELEP detection, 2) testing PyOcto as asssociation, 3) testing GENIE for association, testing HypoDD and GraphDD for relocation.
The repository also provides scripts to compare the new catalog with established catalog in the region (USGS ComCat and Morton et al, 2023).
Project rteam:
- Hiroto Bito: hbito@uw.edu
- Zoe Krauss: zkrauss@uw.edu
- Qibin Shi: qibins@uw.edu
- Yiyu Ni: niyiyu@uw.edu
- Marine Denolle: mdenolle@uw.edu
- Nate Stevens: ntstevens@uw.edu
Project team at Stanford:
- Ian MacBreatry
- Yifan Yu
📜README.md
📜INSTALL.md
📜LICENSE
📜CITATIONS.cff
📜pixi.toml # primary environment (pixi)
📜environment.yml # conda fallback
📜requirements.txt # pip fallback
📦0_data_availability
┗ 📜0_data_availability_2011.ipynb
📦1_picking
┣ 📜parallel_pick_20{10-15}.py # main entry points per year
┣ 📜parallel_pick_20{10-15}_*.py # region/channel variants
┣ 📜picking_utils.py # core ELEP picking logic
┣ 📜picking_utils_prio.py # HH/BH priority variant
┣ 📜picking_utils_prio_EH.py # EH channel variant
┣ 📜picking_utils_123_127_HH_BH.py # lon-band variant
┗ 📜tutorial_picking_workflow.ipynb
📦2_association # (empty — see PyOcto docs)
📦3_post_processing
┣ 📜event_waveform_processing.py # batch amplitude computation
┣ 📜event_waveform_processing.ipynb
┣ 📜get_waveform_amplitude.py
┣ 📜concat_anss_catalogs_2010_2015.ipynb
┣ 📜merge_events_reloc_cog_ver3_cc.ipynb
┣ 📜qc_metrics_all_regions_reloc_cog_ver3_cc.ipynb
┣ 📦cross_correlation
┗ 📦quality_control
📦data
┣ 📜Cascadia_relocated_catalog_ver_3.csv
┣ 📜Cascadia_relocated_catalog_picks_ver_3.csv
┣ 📜Cascadia_relocated_catalog_picks_ver_3_with_amplitudes.csv
┣ 📜vel_*.csv # velocity profiles
┣ 📜nodes_*.csv # region boundaries
┗ 📜jgrb52524-*.csv # Morton et al, 2023 comparison data
📦utils
┣ 📜data_client.py # waveform backend abstraction (FDSN / pnwstore)
┣ 📜plot_utils.py
┣ 📜qc_utils.py
┗ 📜split_large_csvs.py
📦figures
Recommended: pixi — single command, reproducible, no Conda setup required.
# 1. Install pixi (once)
curl -fsSL https://pixi.sh/install.sh | bash
# 2. Clone the repository
git clone https://github.com/Denolle-lab/cascadia_obs_ensemble.git
cd cascadia_obs_ensemble
# 3a. Public / EarthScope FDSN (default — works anywhere)
pixi install
# 3b. UW internal — also installs pnwstore waveform archive access
pixi install --environment internal
# 4. Launch a notebook or run a script
pixi run notebook
pixi run verifyconda env create -f environment.yml
conda activate seismo_cobsNote:
basemapandobspyare easiest via conda-forge. pip-only installs may require manual steps for those packages.
pip install -r requirements.txt-
Start Jupyter Notebook:
jupyter notebook
-
Open the notebooks:
In the Jupyter Notebook interface, navigate to the following notebooks and open them:
After running ELEP, the picks are now available on Gdrive (private access until we upload to zenodo)