Skip to Content
User GuidesInput Parameters

Input Parameters

The input parameter file is in the yaml format. The input parameter file should contain the following sections with parameters for the inversion:

data

Rayleigh/Love and phase/group datasets are configured independently, one travel-time file per combination:

  • src_rec_file_rl_ph: path to the travel-time data file of Rayleigh-wave phase velocity
  • src_rec_file_rl_gr: path to the travel-time data file of Rayleigh-wave group velocity
  • src_rec_file_lv_ph: path to the travel-time data file of Love-wave phase velocity
  • src_rec_file_lv_gr: path to the travel-time data file of Love-wave group velocity
  • wave_type: Bool list with 2 elements [use_rayleigh, use_love], indicating the type of surface wave e.g., [True, False] for Rayleigh wave only.
  • vel_type: Bool list with 2 elements [use_phase, use_group], indicating the type of velocity data e.g., [True, False] for phase velocity only.
  • weights: Float list with 2 elements, indicating the weight of phase and group velocity data e.g., [1.0, 0.0] for phase velocity only.

The activated data are also validated against inversion.model_para_type:

  • group-velocity data are only supported by isotropic inversion (model_para_type: 0);
  • azimuthal anisotropy (model_para_type: 1) requires Rayleigh-wave phase velocity;
  • radial anisotropy (model_para_type: 2) requires both Rayleigh and Love data (wave_type: [True, True]);
  • use_alpha_beta_rho: true cannot be combined with Love-wave data.

output

  • output_path: path to the output files.
  • output_initial_model: Bool, whether to output the initial model.
  • output_in_process_data: Bool, whether to output the synthetic travel-time data in each iteration.
  • output_in_process_model: Bool, whether to output the gradient and updated model in each iteration.
  • log_level: Int, indicating the log level of the output information (1: debug mode, 2: info mode, 3: warning mode, 4: error mode).

domain

  • depth_min_max: List with 2 elements, indicating the depth range of the model.
  • grid_method: Int, indicating the method to generate the inversion grid (0: grid by interval, 1: grid by min max and number of grid).
  • grid_method_0: Parameters for grid generation by interval method.
    • interval: List with 3 elements, indicating the interval of the model along longitude, latitude, and depth.
    • num_grid_margin: Int, indicating the grid number of margin area for the domain.
  • grid_method_1: Parameters for grid generation by min max and number of grid method.
    • lon_min_max: List with 2 elements, indicating the longitude range of the model.
    • lat_min_max: List with 2 elements, indicating the latitude range of the model.
    • n_grid: List with 3 elements, indicating the number of grid along longitude, latitude, and depth.

model

  • init_model_type: # 0: increase from v0 to v1; 1: 1D inversion for average tt; 2: use a 3D vs model as the initial model.
  • vel_range: List with 2 elements, indicating the range of the initial model

The vel_range is valid when

  • init_model_type is 0, and the initial model will be generated by increasing from vel_range[0] to vel_range[1] linearly.
  • init_model_type is 1, and the initial model will be generated by 1D inversion with the average surface wave velocity data as the reference velocity. The initial model of the 1D inversion will be generated by increasing from vel_range[0] to vel_range[1] linearly.
  • init_model_path: Path to initial model. Only valid in init_model_type: 2.

topo

  • is_consider_topo: Bool, indicating whether to consider the model with topography.
  • topo_file: path to the surface topography file in netcdf format.
  • wavelen_factor: Float, indicating the smoothing factor of the topography.

We assume the wavelen_factor as α\alpha and the wavelength of the surface wave is λ\lambda. A gaussian smoothing filter with a standard deviation of σ=αλ\sigma = \alpha \lambda is applied to the topography.

postproc

  • kdensity_coe: Coefficient to rescale the misfit kernel.

We assume kdensity_coe = α\alpha, and the kernel is rescaled as:

Krescaled=KKdenαK_{\mathrm{rescaled}} = \frac{K}{K_{\mathrm{den}}^\alpha}

where KdenK_{\mathrm{den}} is the total kernel density. The α\alpha is usually set between 0.0 and 1.0.

  • independent_smooth_ani: Bool, indicating whether to smooth the anisotropic kernel independently.
  • smooth_method: Int, indicating the method to smooth the kernel (0: PDE-based Gaussian smoothing, 1: multi-grid smoothing).
  • smooth_method_0: Parameters for PDE-based Gaussian smoothing
    • sigma: List with 2 elements, indicating the standard deviation of the Gaussian smoothing filter in horizontal and vertical direction when independent_smooth_ani is false.
    • sigma_ani: List with 2 elements, indicating the standard deviation of the Gaussian smoothing filter in horizontal and vertical direction for anisotropic kernel when independent_smooth_ani is true.
  • smooth_method_1: Parameters for multi-grid smoothing
    • n_inv_components: Int, indicating the number of components of the inversion grids.
    • n_inv_grid: List with 3 elements, indicating the number of inversion grids along longitude, latitude, and depth for isotropic kernel.
    • n_inv_grid_ani: List with 3 elements, indicating the number of inversion grids along longitude, latitude, and depth for anisotropic kernel.

inversion

Model parametrization

  • model_para_type: Int, indicating the model parametrization (0: isotropic, 1: azimuthal anisotropy, 2: radial anisotropy). Defaults to 0.
model_para_typeInverted parametersSupported dataMain fields in the output model
0VsV_sRayleigh or Love; phase, group, or bothvs
1VsV_s, GcG_c, GsG_sRayleigh phase velocityvs, gc, gs, g0, theta
2VSVV_{SV}, γ=VSH/VSV\gamma=V_{SH}/V_{SV}Joint Rayleigh + Love phase velocityvsv, vsh, vs, zeta
  • use_alpha_beta_rho: Bool, whether to update VpV_p and ρ\rho as independent parameters. Required. When false, they are derived from VsV_s by the empirical Brocher (2005) relations at every model update. Not compatible with Love-wave data.
  • rho_scaling: Bool, whether to scale the ρ\rho kernel from the VsV_s kernel instead of using the independent ρ\rho sensitivity. Required. Only takes effect when use_alpha_beta_rho is true.
  • vpvs_ratio_range: List with 2 elements, the range the Vp/VsV_p/V_s ratio is clamped to after each update. Defaults to [1.3, 2.5]. Only applied when use_alpha_beta_rho is true.

Iteration and optimization

  • niter: maximum iteration number of the inversion.
  • min_derr: minimum error change of the inversion.
  • optim_method: Optimization method of the inversion (0: Steepest descent (SD), 1: L-BFGS).

The L-BFGS method is recommended, due to its fast convergence.

  • step_length: Starting step length of the inversion.

SD parameters

  • maxshrink: Maximum step length descent when the angle between current and previous gradient is greater than 120 deg.

L-BFGS parameters

  • c1 and c2: Wolfe condition parameters for line search.
  • max_sub_niter: Maximum sub-iterations for line search.
Last updated on