Example 00: Checkerboard test for Isotropic Ambient noise Surface Wave Tomography
This example reproduces the SurfATTPP/examples/00_checkerboard_iso workflow. It builds a synthetic isotropic checkerboard model, forward-calculates surface-wave travel times, and then inverts the synthetic data to test how well the checker pattern can be recovered.
What is included
The example directory contains these files:
input_params.yml: inversion settings for the checkerboard testsrc_rec_file_ph.csv: phase-velocity travel-time tablesrc_rec_file_gr.csv: group-velocity travel-time tablerun_this_example.sh: helper script that runs the full workflowplot_model.ipynb: notebook for plotting the recovered model
Parameter setup
The default input_params.yml is configured for a small isotropic test case:
- Rayleigh waves (
iwave: 2) - both phase and group data enabled with equal weights
- model depth range of
0-15 km - grid interval of
0.02/0.02/0.5 - linear initial model with
vel_range: [1.8, 4.2] 40inversion iterations withLBFGSoptimization method
Topography is disabled in this example.
Run the example
From the example directory, run:
mkdir -p OUTPUT_FILES
cp src_rec_file_ph.csv OUTPUT_FILES/src_rec_file_forward_PH.csv
cp src_rec_file_gr.csv OUTPUT_FILES/src_rec_file_forward_GR.csv
mpirun -np 8 surfatt_cb_fwd -i input_params.yml -n 2/3/2 -m 0.2 -p 0.08
mpirun -np 8 surfatt_tomo -i input_params.ymlThis is the same workflow used in run_this_example.sh.
What the workflow does
- Copies the phase travel-time table into
OUTPUT_FILESas the reference data file. - Uses
surfatt_cb_fwdto generate a2 x 3 x 2checkerboard model and synthetic travel times. - Runs
surfatt_tomoto invert the synthetic data and recover the isotropic velocity perturbations.
Expected outputs
After the run finishes, inspect the OUTPUT_FILES directory for:
final_model.h5: recovered isotropic S-wave velocity modelmodel_iter.h5: intermediate models written during inversionobjective_function.txt: misfit history for each iterationsrc_rec_file_forward_*.csv: forward-calculated travel-time data
Visualization
Open plot_model.ipynb in the example directory to compare the initial and recovered models. The notebook reads OUTPUT_FILES/model_iter.h5 and OUTPUT_FILES/final_model.h5, computes velocity perturbations, and plots map views of the checkerboard recovery.