183 lines
12 KiB
YAML
183 lines
12 KiB
YAML
version : 3 # the third version of input parameters
|
|
|
|
#################################################
|
|
# computational domian #
|
|
#################################################
|
|
domain : # computational domain for forward simulation and inversion
|
|
min_max_dep : [-10.0, 50.0] # depth in km
|
|
min_max_lat : [34.5,40.5] # latitude in degree
|
|
min_max_lon : [34.5,40.5] # longitude in degree
|
|
n_rtp : [61,61,61] # number of nodes for forward modeling. 'ntp' represents dep,lat,lon
|
|
|
|
|
|
#################################################
|
|
# traveltime data file path #
|
|
#################################################
|
|
source :
|
|
src_rec_file : 'src_rec.dat' # source receiver file (if found, src_dep_lat_lon is ignored)
|
|
swap_src_rec : 0 # swap source and receiver (1: yes, 0: no)
|
|
|
|
|
|
#################################################
|
|
# initial model file path #
|
|
#################################################
|
|
model :
|
|
init_model_path : 'model_init_N61_61_61.h5' # path to initial model file (ignored if init_model_type is '1d_*')
|
|
|
|
|
|
#################################################
|
|
# parallel setting for HPC #
|
|
#################################################
|
|
parallel :
|
|
n_sims : 5 # number of simultaneous run: (highest parallel efficiency) parallel the source, usually less than Number of sources over 4
|
|
ndiv_rtp : [1,1,1] # number of subdomains in depth, latitude, longitude: (moderate parallel efficiency) use domain decomposition to parallel the computational of traveltime field of each source
|
|
nproc_sub : 1 # number of subprocess used for each subdomain (low parallel efficiency, usually set 1)
|
|
use_gpu: 0 # 1 if use gpu (EXPERIMENTAL)
|
|
|
|
############################################
|
|
# output file setting #
|
|
############################################
|
|
output_setting :
|
|
output_dir : 'progrma_test/2-local_image/OUTPUT_FILES_abs_single' # default: "./OUTPUT_FILES/"
|
|
is_output_source_field : no # output the calculated field of all sources default: yes
|
|
is_output_model_dat : yes # output model_parameters_inv_0000.dat (txt format) or not (high I/O cost). default: no
|
|
is_output_final_model: yes # output merged final model or not. default: yes
|
|
is_output_in_process: yes # output model at each inv iteration or not. default: yes
|
|
is_single_precision_output: no # output results in single precision or not. default: no
|
|
verbose_output_level : 0 # output internal parameters, if 0, only model parameters are out. Higher level, more internal parameters are output. default: 0
|
|
|
|
|
|
#################################################
|
|
# inversion or forward modeling #
|
|
#################################################
|
|
run_mode : 1 # 0 for forward simulation only, 1 for inversion and location
|
|
|
|
|
|
###################################################
|
|
# model update parameters setting #
|
|
###################################################
|
|
model_update : # update model parameters (when run_mode : 1)
|
|
yes_or_no : yes # 'yes' for updating model parameters; 'no' for not updating model paramters (no need to set parameters in this section);
|
|
|
|
# -------------- model_update_strategy -----------------
|
|
max_iterations : 5 # maximum number of iterations for model update
|
|
|
|
optim_method: 0 # optimization method. 0 : grad_descent, 1 : halve-stepping, 2 : lbfgs (EXPERIMENTAL)
|
|
|
|
optim_method_0: # for gradient descent method
|
|
step_length : 0.01 # step length of model perturbation at each iteration. 0.01 means maximum 1% perturbation for each iteration.
|
|
step_length_decay : 0.9 # if objective function increase, step size -> step length * step_length_decay. default: 0.9
|
|
|
|
optim_method_1_2: # for halve-stepping or lbfgs method
|
|
max_sub_iterations: 20 # maximum number of each sub-iteration
|
|
l_smooth_rtp: [1, 1, 1] # smoothing coefficients for laplacian smoothing
|
|
regularization_weight: 0.5 # weight value for regularization (lbfgs mode only)
|
|
|
|
|
|
# -------------- multigrid model parameterization -----------------
|
|
n_inversion_grid : 5 # number of inversion grid sets
|
|
# flexible inversion grid (if type_*_inv : 1)
|
|
type_dep_inv : 1 # 0: use <min_max_dep_inv> to generate uniform inversion grid for depth, 1: use <dep_inv> to generate flexible inversion grid for depth
|
|
dep_inv : [-7.0, -3.0, 0.0, 3.0, 7.0, 12.0, 18.0, 25.0, 33.0, 42.0, 52.0, 63.0]
|
|
type_lat_inv : 0 # 0: use <min_max_lat_inv> to generate uniform inversion grid for latitude, 1: use <lat_inv> to generate flexible inversion grid for latitude
|
|
lat_inv : [0.0, 1.0]
|
|
type_lon_inv : 0 # 0: use <min_max_lon_inv> to generate uniform inversion grid for longitude, 1: use <lon_inv> to generate flexible inversion grid for longitude
|
|
lon_inv : [0.0, 1.0]
|
|
# uniform inversion grid (if type_*_inv : 0)
|
|
n_inv_dep_lat_lon : [10,10,10] # number of the base inversion grid points
|
|
min_max_dep_inv : [-10.0, 40.0] # depth in km with R = 6371.0
|
|
min_max_lat_inv : [34.5,40.5] # latitude in degree
|
|
min_max_lon_inv : [34.5,40.5] # longitude in degree
|
|
|
|
|
|
# -------------- using absolute traveltime data --------------
|
|
abs_time:
|
|
yes_or_no : yes # 'yes' for using absolute traveltime data to update model parameters; 'no' for not using (no need to set parameters in this section)
|
|
residual_weight : [1.0, 3.0, 1.0, 0.1] # weight (wt) of residual. wt = residual_weight[2] for res < residual_weight[0]. wt = residual_weight[3] for res > residual_weight[1], and linear weight in between.
|
|
distance_weight : [50.0, 150.0, 1.0, 0.1] # weight of epicenter distance. wt = distance_weight[2] for dis < distance_weight[0]. wt = distance_weight[3] for dis > distance_weight[1], and linear weight in between.
|
|
|
|
# -------------- using common source differential traveltime data --------------
|
|
cs_dif_time:
|
|
yes_or_no : yes # 'yes' for using common source differential traveltime data to update model parameters; 'no' for not using (no need to set parameters in this section)
|
|
residual_weight : [1.0, 3.0, 1.0, 0.1] # weight (wt) of residual.
|
|
azimuthal_weight : [15.0, 30.0, 1.0, 0.1] # weight of azimuth between two stations.
|
|
|
|
# -------------- using common receiver differential traveltime data --------------
|
|
cr_dif_time:
|
|
yes_or_no : yes # 'yes' for using common receiver differential traveltime data to update model parameters; 'no' for not using (no need to set parameters in this section)
|
|
residual_weight : [1.0, 3.0, 1.0, 0.1] # weight (wt) of residual.
|
|
azimuthal_weight : [15.0, 30.0, 1.0, 0.1] # weight of azimuth between two earthquakes.
|
|
|
|
# -------------- global weight of different types of data (to balance the weight of different data) --------------
|
|
global_weight:
|
|
is_balance_data_weight : yes # yes: over the total weight of the each type of the data. the obj of different data means the average data misfit; no: use original weight (below weight for each type of data needs to be set)
|
|
abs_time_weight : 1.0 # weight of absolute traveltime data, default: 1.0
|
|
cs_dif_time_local_weight : 1.0 # weight of common source differential traveltime data, default: 1.0
|
|
cr_dif_time_local_weight : 1.0 # weight of common receiver differential traveltime data, default: 1.0
|
|
teleseismic_weight : 1.0 # weight of teleseismic data, default: 1.0 (exclude in this version)
|
|
|
|
# -------------- inversion parameters (exclude in this version) --------------
|
|
is_inv_slowness : yes # update slowness (velocity) or not. default: yes
|
|
is_inv_azi_ani : no # update azimuthal anisotropy (xi, eta) or not. default: no
|
|
is_inv_rad_ani : no # update radial anisotropy (in future) or not. default: no
|
|
|
|
# -------------- for teleseismic inversion (exclude in this version) --------------
|
|
depth_taper : [-200.0, -100.0] # kernel weight : depth. --> 0: -inf ~ taper[0]; 0 ~ 1 : taper[0] ~ taper[1]; 1 : taper[1] ~ inf
|
|
|
|
|
|
#################################################
|
|
# relocation parameters setting #
|
|
#################################################
|
|
relocation: # update earthquake hypocenter and origin time (when run_mode : 1)
|
|
yes_or_no : yes # 'yes' for relocating earthquakes; 'no' for not relocating earthquakes (no need to set parameters in this section);
|
|
|
|
# relocation_strategy
|
|
step_length : 0.01 # step length of relocation perturbation at each iteration. 0.01 means maximum 1% perturbation for each iteration.
|
|
step_length_decay : 0.9 # if objective function increase, step size -> step length * step_length_decay. default: 0.9
|
|
rescaling_dep_lat_lon_ortime : [10.0, 10.0, 10.0, 1.0] # The perturbation is related to <rescaling_dep_lat_lon_ortime>. Unit: km,km,km,second
|
|
max_change_dep_lat_lon_ortime : [5.0, 5.0, 5.0, 0.5] # the change of dep,lat,lon,ortime do not exceed max_change. Unit: km,km,km,second
|
|
max_iterations : 100 # maximum number of iterations for relocation
|
|
|
|
# more option for using different types of data is under development (following)
|
|
# -------------- using absolute traveltime data --------------
|
|
abs_time:
|
|
yes_or_no : yes # 'yes' for using absolute traveltime data to update model parameters; 'no' for not using (no need to set parameters in this section)
|
|
residual_weight : [1.0, 3.0, 1.0, 0.1] # weight (wt) of residual. wt = residual_weight[2] for res < residual_weight[0]. wt = residual_weight[3] for res > residual_weight[1], and linear weight in between.
|
|
distance_weight : [50.0, 150.0, 1.0, 0.1] # weight of epicenter distance. wt = distance_weight[2] for dis < distance_weight[0]. wt = distance_weight[3] for dis > distance_weight[1], and linear weight in between.
|
|
|
|
# -------------- using common receiver differential traveltime data --------------
|
|
cr_dif_time:
|
|
yes_or_no : yes # 'yes' for using common receiver differential traveltime data to update model parameters; 'no' for not using (no need to set parameters in this section)
|
|
residual_weight : [1.0, 3.0, 1.0, 0.1] # weight (wt) of residual.
|
|
distance_weight : [10.0, 30.0, 1.0, 0.1] # weight of distance (km) between two earthquakes.
|
|
|
|
|
|
####################################################################
|
|
# inversion strategy for tomography and relocation #
|
|
####################################################################
|
|
inversion_strategy: # if both update model parameters (yes) and relocation (yes), set inversion strategies here
|
|
inv_mode : 0 # 0 for update model parameters and relocation iteratively. (other options for future work)
|
|
|
|
# for inv_mode : 0, parameters below are required
|
|
inv_mode_0: # Fristly, do relocation; Subsequently, do relocation every N steps; Finally, do relocation
|
|
relocation_first : yes # yes: do relocation first; no: do not relocation first. default: yes
|
|
relocation_first_iterations : 10 # maximum number of iterations for relocation in the beginning. default: 10
|
|
relocation_every_N_steps : 5 # subsequently, do relocation every N steps of updating model parameters. The iteration of relocation follows <max_iterations> in Section <relocation>
|
|
relocation_final : yes # yes: do relocation finally; no: do not relocation finally. default: yes
|
|
relocation_final_iterations : 10 # maximum number of iterations for relocation in the beginning. default: 10
|
|
|
|
|
|
########################################################################
|
|
# Scheme of Eikonal solver (fast sweeping method) #
|
|
########################################################################
|
|
calculation : # prefer not to change the default value unless well know the detail
|
|
convergence_tolerance : 1e-6 # threshold for determining the convergence of the eikonal solver, default: 1e-6
|
|
max_iterations : 500 # max itertions of the eikonal solver default: 500
|
|
stencil_order : 1 # 1 for first order discretization; 3 for 3rd order WENO discretization. default: 1
|
|
stencil_type : 1 # 0 for no upwind scheme; 1 for upwind scheme; default: 1
|
|
sweep_type : 0 # 0: legacy, 1: cuthill-mckee with shm parallelization default: 0
|
|
|
|
|
|
|
|
|