Skip to content

Add remaining Genslip parameters into the codebase #92

@lispandfound

Description

@lispandfound

Currently we expose a limited subset of genslip parameters in the code base, but we could do to add the rest. Here are the default values in YAML format that I have extracted from genslip_v5.6.2.c:

# Rise time and source time function values
beta_asp: 0.3
beta_deep: 0.13
beta_mid: 0.13
beta_mid_depth: 6.5
beta_mid_depth_range: 1.5
beta_shal: 0.5
beta_shal_depth: 2.0
beta_shal_depth_range: 1.0
beta_subevt: 0.1
deep_risetimedep: 17.5
deep_risetimedep_range: 2.5
deep_risetimefac: 2.0
risetime_coef: 1.6
risetimedep: DEFAULT_DEPTH_SCALING_LEVEL
risetimedep_range: DEFAULT_DEPTH_SCALING_RANGE
risetimefac: 2.0
rt_rand: 0.0
rt_scalefac: DEFAULT_RT_SCALEFAC
stype: null

# Hybrid Correlation Length (hyb_corlen) Parameters
hyb_corlen_deep_wt_end: 1.0
hyb_corlen_deep_wt_start: 0.0
hyb_corlen_dep: DEFAULT_DEPTH_SCALING_LEVEL
hyb_corlen_dep_range: DEFAULT_DEPTH_SCALING_RANGE
hyb_corlen_fac: 2.0
hyb_corlen_flag: 0
hyb_corlen_kmodel: 5
hyb_corlen_shal_wt_end: 0.0
hyb_corlen_shal_wt_start: 1.0
hyb_corlen_side_taper: 0.08

# Rupture Velocity & Fault Dimensions
fdrup_scale_slip: 0
fdrup_time: 0
rupture_delay: 0.0
rvfmax: 1.414
rvfmin: 0.25
rvfrac_slip_sig: -1.0

# Tapering & Slip Level Adjustments
truncate_zero_slip: DEFAULT_TRUNCATE_ZERO_SLIP
slip_water_level: -1.0
slip_sigma: DEFAULT_SLIP_SIGMA
rake_sigma: 15.0
fractal_rake: 0

# Time Shift Factors (tsfac)
tsfac1_scor: 0.8
tsfac1_sigma: 1.0
tsfac2_lambda_max: 5.0
tsfac2_lambda_min: -1.0
tsfac2_scor: 0.5
tsfac2_sigma: 1.0
tsfac_bzero: -0.1
tsfac_coef: 1.1
tsfac_main: -1.0e+15
tsfac_slope: -0.5

# Kinematic Models & Corner Frequencies
circular_average: DEFAULT_CIRCULAR_AVERAGE
kmodel: MAI_FLAG
kord: 4
kx_corner: null
ky_corner: null
magC: 6.3
mag_area_Acoef: -1.0
mag_area_Bcoef: -1.0
mai_wt: 0.5
modified_corners: DEFAULT_MODIFIED_CORNERS
somerville_wt: 0.5
stretch_kcorner: DEFAULT_STRETCH_KCORNER
use_gaus: 1
use_median_mag: 0
xmag_exponent: 0.5
ymag_exponent: 0.5

# Roughness & Wavelength Limits
alpha_rough: -1.0
lambda_max: -1.0
lambda_min: -1.0
roughnessfile: null
wavelength_max: 1.0e+15
wavelength_min: -1.0

# Miscellaneous Slip/Rupture/Rake Vars
asp_taper_fac: 0.05
extend_fac: -1.0
flen_max: -1.0
fwid_max: -1.0
init_slip_file: null
moment_fraction: -1.0
perturb_subfault_location: 1
rand_rake_degs: DEFAULT_RAND_RAKE_DEGS
read_slip_file: 0
rtime1_depth: 2.0
rtime1_depth_range: 1.0
rtime1_scor: 0.8
rtime1_sigma: DEFAULT_SLIP_SIGMA
rtime2_scor: 0.5
rtime2slip_exp: 0.5
rtime_rand: -1.0
set_rake: -999.0
svr_wt: 0
target_savg: -1.0
use_Mw: 1

# Aseismic & Segment Settings
aseis_flag: 0
aseis_smooth: 0
aseis_dep: 10.0
aseis_fac: -1.0
xshift: 0.0
yshift: 0.0

The tasks to complete this feature would be as follows:

  1. Add this YAML block into the root defaults.yaml file: here.
  2. Update the schema in schemas.py: here.
  3. Check that genslip is correctly supplied with these values by running realisation-to-srf with an input realisation. You could probably steal one from Cesar or Ayushi and update it using the migration tool on your new branch. The genslip command is built automatically from the realisation config in _build_genslip_command.
  4. Update the test cases in tests/test_realisation_to_srf.py and tests/test_realisation.py to include these new defaults.

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions