brendanjmeade / celeri

Next generation earthquake cycle kinematics

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Next generation earthquake cycle imaging

celeri is a python based package designed to image earthquake cycle activity including the spatial and time varying fault coupling across geometrically complex fault systems at large scales. It features:

Getting started

To set up a development conda environment, run the following commands in the celeri folder.

conda config --prepend channels conda-forge
conda env create
conda activate celeri
pip install --no-use-pep517 -e .

Then start your favorite notebook viewer (jupyter lab or vscode) and open and run celeri.ipynb.

Folder structure and file locations for applications

A large number of input files can be involved in a model run. We assume that a project is arranged using the following folder structure:

project_name/
├── README.md
├── notebooks/
│   ├── block_model.ipynb
│   ├── visualize_results.ipynb
│   └── resolution_tests.ipynb
├── data/
|   ├── command/
│   |   ├── command_001.json
│   |   └── command_NNN.json
│   ├── segment/
│   │   ├── segment_001.csv
│   │   └── segment_NNN.csv
│   ├── block/
│   │   ├── block_001.csv
│   │   └── block_NNN.csv
│   ├── station/
│   │   ├── station_001.csv
│   │   └── station_NNN.csv
│   ├── mesh/
│   |   ├── mesh_params_001.json
│   |   ├── mesh_params_NNN.json
│   |   ├── mesh_001.msh
│   |   └── mesh_NNN.msh
|   └── operators/
│       ├── elastic_001.hdf5
│       └── elastic_NNN.hdf5
└── runs/
    ├── 2022-02-20-17-01-39/
    │  ├── 2022-02-20-17-01-39.log
    │  ├── elastic_operators.hdf5
    │  ├── model_segment.csv
    │  ├── model_block.csv
    │  └── model_station.csv
    └── NNNN-NN-NN-NN-NN-NN/
       ├── NNNN-NN-NN-NN-NN-NN.log
       ├── elastic_operators.hdf5
       ├── model_segment.csv
       ├── model_block.csv
       └── model_station.csv

The flow of files in and out of celeri

The files listed above flow into celeri through command.json file. Files with dark orange background shading are required (automatically generated) and those with light blue background shading are optional (not automatically generated)

flowchart TD
  classDef required fill:#f96;
  subgraph input_files
    command.json:::required --> segment.csv:::required
    command.json:::required --> block.csv:::required
    command.json:::required --> station.csv:::required
    subgraph meshes
      mesh_parameters.json
      mesh_parameters.json --> mesh_001.msh
      mesh_parameters.json --> mesh_NNN.msh
    end
    command.json --> meshes
    command.json --> elastic_operators_precomputed.hdf5
    command.json --> los.csv
  end
  subgraph celeri
    notebook.ipynb:::required
  end
  subgraph output_files
    model_segment.csv:::required
    model_block.csv:::required
    elastic_operators.hdf5
    model_station.csv:::required
    model_los.csv
  end
  input_files --> celeri
  celeri --> output_files

Other earthquake cycle kinematics software

We think celeri is pretty great but there are other alternatives worth considering:

  • Jack Loveless' and Brendan Meade's Matlab-based Blocks
  • Rob McCaffrey's Fortran-based TDEFNODE
  • Richard Styron's Julia-based (and clevery named!) Oiler

About

Next generation earthquake cycle kinematics

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:Jupyter Notebook 99.4%Language:Python 0.4%Language:GLSL 0.2%Language:MATLAB 0.0%