Skip to Content

Checkerboard Test

A checkerboard test quantifies how well the station coverage and path geometry recover a known input pattern. For an anisotropic inversion it is important to test both the isotropic and anisotropic components — the two need not have the same resolution.

examples/05_westUS_ani does not ship a dedicated checkerboard script — the commands below adapt the standard SurfATT workflow (surfatt_cb_fwd) to the anisotropic Western US setup.

Concept

  1. Superimpose a synthetic checkerboard on the starting model. For an anisotropic test, impose both a Vs checkerboard and an independent azimuthal-anisotropy pattern.
  2. Forward-simulate travel times using the same source–receiver geometry as the real data.
  3. Optionally add Gaussian noise at the RMS level observed in the real run.
  4. Invert the synthetic travel times with the same parameters as the real inversion.
  5. Compare recovered vs. input patterns separately for the isotropic and anisotropic components.

Run the test

Create a working directory

mkdir -p OUTPUT_FILES_CB cp src_rec_data_wus.csv OUTPUT_FILES_CB/src_rec_file_forward_PH.csv

Generate synthetic travel times

SURFATT_cb_fwd builds the checkerboard on top of the starting model and runs a forward simulation:

mpirun -np 192 $SURFATT_HOME/bin/SURFATT_cb_fwd \ -i input_params_cb.yaml \ -n 7/8/3 \ -a 7/8/3/120 \ -m 0.2 \ -p 0.08/0.06 \ -s 15
FlagValueMeaning
-iinput_params_cb.yamlInput configuration file
-n7/8/3Checker block count: 7 (lon) × 8 (lat) × 3 (dep)
-a7/8/3/120Anisotropy block count (same grid) with fast-axis direction 120°
-m0.2Isotropic velocity perturbation amplitude (±20%)
-p0.08/0.06Path-length noise for PH and SH components (8% and 6%)
-s15Starting depth of the first checker layer (km); layer thickness increases with depth

Invert the synthetic data

Copy input_params.yml to input_params_cb.yml and change only the I/O paths:

data: src_rec_file_ph: OUTPUT_FILES_CB/src_rec_file_forward_PH.csv output: output_path: OUTPUT_FILES_CB/

Run the inversion

mpirun -np 192 $SURFATT_HOME/bin/SURFATT_tomo -i input_params_cb.yml

Resolution test results

Isotropic Vs recovery

cb_vs

The input checkerboard pattern (left) and the recovered isotropic velocity perturbation (right) are shown at representative depth slices. The input anomalies are recovered with good amplitude fidelity and spatial coherence across the array interior, demonstrating that the station coverage and path geometry are sufficient to resolve structures at the imposed block scale. Amplitude recovery degrades toward the edges of the model domain, particularly in the offshore regions west of the coastline and along the southern boundary, where ray coverage is limited.

Vertical cross-sections

checkerboard longitudinal cross-sectioncheckerboard latitudinal cross-section

Vertical cross-sections along representative longitudinal (left) and latitudinal (right) profiles confirm that checkerboard anomalies are well recovered from the surface down to approximately 80 km depth. Below 60 km depth, vertical smearing becomes pronounced and amplitude recovery decreases substantially, indicating that the resolving power of the dataset is limited in the deeper mantle.

Azimuthal anisotropy recovery

cb_ani

The recovered azimuthal anisotropy is shown at multiple depths. Both the magnitude and fast-axis orientation of the synthetic anomalies are retrieved with satisfactory fidelity within the well-sampled interior of the array. The recovery of anisotropic parameters is generally coarser than that of the isotropic component, consistent with the lower sensitivity of surface-wave phase velocities to azimuthal anisotropy relative to isotropic velocity structure. Fast-axis directions in poorly sampled regions near the domain boundaries should be interpreted with caution.

Last updated on