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 velocitysrc_rec_file_rl_gr: path to the travel-time data file of Rayleigh-wave group velocitysrc_rec_file_lv_ph: path to the travel-time data file of Love-wave phase velocitysrc_rec_file_lv_gr: path to the travel-time data file of Love-wave group velocitywave_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: truecannot 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_typeis 0, and the initial model will be generated by increasing fromvel_range[0]tovel_range[1]linearly.init_model_typeis 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 fromvel_range[0]tovel_range[1]linearly.
init_model_path: Path to initial model. Only valid ininit_model_type: 2.
topo
is_consider_topo: Bool, indicating whether to consider the model with topography.topo_file: path to the surface topography file innetcdfformat.wavelen_factor: Float, indicating the smoothing factor of the topography.
We assume the wavelen_factor as and the wavelength of the surface wave is . A gaussian smoothing filter with a standard deviation of is applied to the topography.
postproc
kdensity_coe: Coefficient to rescale the misfit kernel.
We assume kdensity_coe = , and the kernel is rescaled as:
where is the total kernel density. The 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 smoothingsigma: List with 2 elements, indicating the standard deviation of the Gaussian smoothing filter in horizontal and vertical direction whenindependent_smooth_aniis false.sigma_ani: List with 2 elements, indicating the standard deviation of the Gaussian smoothing filter in horizontal and vertical direction for anisotropic kernel whenindependent_smooth_aniis true.
smooth_method_1: Parameters for multi-grid smoothingn_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_type | Inverted parameters | Supported data | Main fields in the output model |
|---|---|---|---|
0 | Rayleigh or Love; phase, group, or both | vs | |
1 | , , | Rayleigh phase velocity | vs, gc, gs, g0, theta |
2 | , | Joint Rayleigh + Love phase velocity | vsv, vsh, vs, zeta |
use_alpha_beta_rho: Bool, whether to update and as independent parameters. Required. Whenfalse, they are derived from by the empirical Brocher (2005) relations at every model update. Not compatible with Love-wave data.rho_scaling: Bool, whether to scale the kernel from the kernel instead of using the independent sensitivity. Required. Only takes effect whenuse_alpha_beta_rhoistrue.vpvs_ratio_range: List with 2 elements, the range the ratio is clamped to after each update. Defaults to[1.3, 2.5]. Only applied whenuse_alpha_beta_rhoistrue.
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
c1andc2: Wolfe condition parameters for line search.max_sub_niter: Maximum sub-iterations for line search.
Last updated on