-
Notifications
You must be signed in to change notification settings - Fork 17
Workflow for resolution tests
Slip, slip deficit, or coupling distributions along meshed faults are sensitive to model geometry, material properties, data locations, magnitude, noise, and regularization choices. For the latter three cases, we can perform resolution tests that allow us to quantify how robust the inference of certain spatial features might be. This step helps to minimize the possibility of a poorly constrained slip distribution being considered well-resolved.
Resolution tests are not "a run one script/notebook and you get results" type of calculation. Rather, they are accomplished through a series of steps that provide for a great deal of flexibility. Below are the details for a specific case using the a North Anatolian fault model as an example.
-
Create synthetic NAF slip/slip deficit distribution for resolution tests (new notebook named
NNN)- Read NAF mesh geometry and boundary conditions using mesh parameters file
NNNand triangulated geometry fromNNN.
- Read NAF mesh geometry and boundary conditions using mesh parameters file
-
Generate synthetic surface velocities
-
Identify a reference block model (RBM).
- command file name:
NNN. - velocity file name:
NNN. - block file name:
NNN. - segment file name:
NNN. - mesh parameters file name:
NNN. - NAF mesh file name:
NNN. - driver notebook file name:
NNN.
- command file name:
-
Run RBM estimation with real data
- Make sure to save elastic kernels with
"pickle_save": 1,,"save_elastic": 1,and"save_elastic_file": "../data/operators/*_elastic_operators.hdf5",settings in the command file. The latter should point to where you want to store the elastic partial derivatives. This will ensure that the elastic kernels are saved and don't have to be recomputed for every model run. This is valid so long as the model geometry (including meshes) do not change. Thepickle_saveflag will store all data structures in a single pickle file that we'll reuse later. - Save state vector (
estimation.state_vector) explicitly in a numpy (.npy) file with the nameNNN.
- Make sure to save elastic kernels with
-
Create a new notebook for running resolution tests named
NNN- Load pickle file from RBM run.
- Load
.npyfile with synthetic slip/slip deficit distribution for the current resolution test. - Construct a state vector that includes slip/slip deficit estimates.
- Load
estimation.state_vector. - Identify state vector indices associated with NAF mesh.
- With the indices found above, set the state vector indices associated with the NAF slip elements to the values from generated in part
0. This is where the synthetic values are integrated into the block model.
- Load
- Calculate noise-free synthetic velocities by doing the matrix-vector multiply between this modified state vector and the linear system operator,
estimation.operator. - Add noise to synthetic surface velocities.
- Add different realizations of Gaussian noise.
- Add different levels Gaussian noise.
- Write each of these sets of predicted velocities to a
*_station.csvfile.
-
-
Run a block model not with the real data but with the synthetic surface velocities
- A new command file should be used here and named,
NNN. It should include information to reuse the previous elastic kernel with the command file flags:"reuse_elastic": 1and"reuse_elastic_file": "../data/operators/*_elastic_operators.hdf5",the latter of which should point to the outputhdf5file produced by the model run in step 1 above. This file contains the elastic partial derivatives. - These should be stored as a
.csvfile, just like a regular velocity file. - Systematically document how well the synthetic NAF slip deficit distribution can be inferred. We have a synthetic truth here, so we can quantify this exactly!
- A new command file should be used here and named,
-
Repeat the above with various synthetic slip deficit distributions, including (but not limited to):
- NAF completely locked
- NAF completely locked except for Marmara
- NAF completely locked except for shallow Marmara
- NAF completely locked except for deep Marmara
- NAF completely locked except for donut Marmara
- NAF checkerboards at various resolutions (not because it's informative but because reviewers always ask for this)
Introduction
Constructing inputs
- Input overview
- Using celeri_ui
- Segment files
- Station files
- Config file
- Mesh parameter descriptions
- Geodetic data files
- Triangular elements
- Meshing subsets of segments
- Fixing meshes
Running celeri
Analyzing results