Synthetic Examples
The synthetic examples use known checkerboard models to verify the complete SurfATT workflow: generate synthetic travel times, invert those data, and compare the recovered model with the target model.
All examples are taken from the SurfATTPP/examples directory.
| Example | Model parameters | Input data | What it tests |
|---|---|---|---|
| 00 — Isotropic checkerboard | Rayleigh phase velocity | Recovery of isotropic velocity perturbations | |
| 01 — Azimuthal-anisotropy checkerboard | , , and | Rayleigh phase velocity | Recovery of velocity and horizontal fast-axis structure |
| 02 — Radial-anisotropy checkerboard | , , and | Rayleigh and Love phase velocity | Recovery of velocity and radial-anisotropy strength |
Common workflow
Each example follows the same two-stage workflow:
SURFATT_cb_fwdadds a known checkerboard perturbation to the initial model and calculates synthetic travel times.SURFATT_tomotreats those travel times as observations and attempts to recover the target model.
Run an example from its own directory:
cd examples/<example-directory>
bash run_this_example.shThe scripts use eight MPI processes by default. Change NPROC in run_this_example.sh to match the resources available on your system.
Comparing the results
The forward and inversion steps write their results to OUTPUT_FILES/. The three files used most often for validation are:
initial_model.h5— the unperturbed starting modeltarget_model.h5— the known checkerboard model used to create the synthetic datafinal_model.h5— the model recovered by the inversion
Each example includes a Jupyter notebook that compares the target and recovered structures.
Last updated on