Skip to Content
Synthetic Examples

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.

ExampleModel parametersInput dataWhat it tests
00 — Isotropic checkerboardVsV_sRayleigh phase velocityRecovery of isotropic velocity perturbations
01 — Azimuthal-anisotropy checkerboardVsV_s, GcG_c, and GsG_sRayleigh phase velocityRecovery of velocity and horizontal fast-axis structure
02 — Radial-anisotropy checkerboardVSVV_{SV}, VSHV_{SH}, and ζ\zetaRayleigh and Love phase velocityRecovery of velocity and radial-anisotropy strength

Common workflow

Each example follows the same two-stage workflow:

  1. SURFATT_cb_fwd adds a known checkerboard perturbation to the initial model and calculates synthetic travel times.
  2. SURFATT_tomo treats 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.sh

The 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 model
  • target_model.h5 — the known checkerboard model used to create the synthetic data
  • final_model.h5 — the model recovered by the inversion

Each example includes a Jupyter notebook that compares the target and recovered structures.

Last updated on