Inversion
This is the base class for both crustal and subduction.
InversionArgs
¶
Bases: BaseModel
Inversion Arguments.
Validators
- If using re-weighting, must also use uncertainty weighted constraints.
- Must use either uncertainty weighted or eq/ineq constraints for MFD, not both.
- If using eq/ineq MFD constraint, must specify all relevant parameters.
- If using uncertainty weighted MFD constraint, must specify all parameters.
- Cannot use uncertainty weighted and 'regular' slip constraints, not both.
- If using 'regular' slip rate constraint, must specify all relevent parameters.
- If using uncertainty weighted slip rate constraint, must specify all parameters.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
rupture_set
|
InversionArgs.RuptureSet
|
|
required |
initial_solution_id
|
str | None
|
|
None
|
max_inversion_time
|
float
|
Maximum time to run inversion in minutes. |
required |
completion_energy
|
float
|
Completion energy criterion. Ignored if 0. |
required |
averaging_threads
|
int | None
|
|
None
|
averaging_interval_secs
|
int
|
|
required |
selector_threads
|
int
|
|
required |
selection_interval_secs
|
int
|
|
required |
perturbation_function
|
str
|
|
required |
cooling_schedule
|
str | None
|
|
None
|
non_negativity_function
|
str
|
|
required |
scaling_relationship
|
str | None
|
Type of scaling relationship, e.g. 'SIMPLE_SUBDUCTION'. |
None
|
scaling_recalc_mag
|
bool | None
|
Recaculate magnitudes using scaling relationship if True. |
None
|
deformation_model
|
str
|
The fault slip rates, could be FAULT_MODEL which uses rupture set, or some other model. |
required |
mfd
|
InversionArgs.MFD
|
N and b value for both sans and tvz. Subduction only uses sans. tvz is deprecated. |
required |
reweight
|
bool | None
|
If True, must also have uncertainty weighting for mfd and slip rate. |
None
|
mfd_uncertainty_weight
|
float | None
|
Used to when penalizing MFD residuals normalized by uncertainty. |
None
|
mfd_uncertainty_power
|
float | None
|
Used to when penalizing MFD residuals normalized by uncertainty. |
None
|
mfd_uncertainty_scalar
|
float | None
|
Used to when penalizing MFD residuals normalized by uncertainty. |
None
|
mfd_equality_weight
|
float | None
|
Used to penalize MFD residuals in absolute terms (no normalization). |
None
|
mfd_inequality_weight
|
float | None
|
|
None
|
mfd_eq_ineq_transition_mag
|
float | None
|
Magnitude at which to transition from equality to inequality constraint. |
None
|
slip_rate_weighting_type
|
Literal['BOTH', 'NORMALIZED', 'UNNORMALIZED'] | None
|
Penalize absolute and relative to uncertinaty slip rate residuals. |
None
|
slip_rate_normalized_weight
|
float | None
|
Penalize absolute and relative to uncertinaty slip rate residuals. |
None
|
slip_rate_unnormalized_weight
|
float | None
|
Penalize absolute and relative to uncertinaty slip rate residuals. |
None
|
use_slip_scaling
|
bool | None
|
Penalize slip rate by uncerainty only. |
None
|
slip_rate_uncertainty_weight
|
float | None
|
Penalize slip rate by uncerainty only. |
None
|
slip_uncertainty_scaling_factor
|
float | None
|
Penalize slip rate by uncerainty only. |
None
|
Attributes¶
rupture_set: RuptureSet
instance-attribute
¶
initial_solution_id: Optional[str] = None
class-attribute
instance-attribute
¶
max_inversion_time: float
instance-attribute
¶
Maximum time to run inversion in minutes.
completion_energy: float
instance-attribute
¶
Completion energy criterion. Ignored if 0.
averaging_threads: Optional[int] = None
class-attribute
instance-attribute
¶
averaging_interval_secs: int
instance-attribute
¶
selector_threads: int
instance-attribute
¶
selection_interval_secs: int
instance-attribute
¶
perturbation_function: str
instance-attribute
¶
cooling_schedule: Optional[str] = None
class-attribute
instance-attribute
¶
non_negativity_function: str
instance-attribute
¶
scaling_relationship: Optional[str] = None
class-attribute
instance-attribute
¶
Type of scaling relationship, e.g. 'SIMPLE_SUBDUCTION'.
scaling_recalc_mag: Optional[bool] = None
class-attribute
instance-attribute
¶
Recaculate magnitudes using scaling relationship if True.
deformation_model: str
instance-attribute
¶
The fault slip rates, could be FAULT_MODEL which uses rupture set, or some other model.
mfd: MFD
instance-attribute
¶
N and b value for both sans and tvz. Subduction only uses sans. tvz is deprecated.
reweight: Optional[bool] = None
class-attribute
instance-attribute
¶
If True, must also have uncertainty weighting for mfd and slip rate.
mfd_uncertainty_weight: Optional[float] = None
class-attribute
instance-attribute
¶
Used to when penalizing MFD residuals normalized by uncertainty.
mfd_uncertainty_power: Optional[float] = None
class-attribute
instance-attribute
¶
Used to when penalizing MFD residuals normalized by uncertainty.
mfd_uncertainty_scalar: Optional[float] = None
class-attribute
instance-attribute
¶
Used to when penalizing MFD residuals normalized by uncertainty.
mfd_equality_weight: Optional[float] = None
class-attribute
instance-attribute
¶
Used to penalize MFD residuals in absolute terms (no normalization).
mfd_inequality_weight: Optional[float] = None
class-attribute
instance-attribute
¶
mfd_eq_ineq_transition_mag: Optional[float] = None
class-attribute
instance-attribute
¶
Magnitude at which to transition from equality to inequality constraint.
slip_rate_weighting_type: Optional[Literal['BOTH', 'NORMALIZED', 'UNNORMALIZED']] = None
class-attribute
instance-attribute
¶
Penalize absolute and relative to uncertinaty slip rate residuals.
slip_rate_normalized_weight: Optional[float] = None
class-attribute
instance-attribute
¶
Penalize absolute and relative to uncertinaty slip rate residuals.
slip_rate_unnormalized_weight: Optional[float] = None
class-attribute
instance-attribute
¶
Penalize absolute and relative to uncertinaty slip rate residuals.
use_slip_scaling: Optional[bool] = None
class-attribute
instance-attribute
¶
Penalize slip rate by uncerainty only.
slip_rate_uncertainty_weight: Optional[float] = None
class-attribute
instance-attribute
¶
Penalize slip rate by uncerainty only.
slip_uncertainty_scaling_factor: Optional[float] = None
class-attribute
instance-attribute
¶
Penalize slip rate by uncerainty only.
Classes¶
MFD
¶
Bases: BaseModel
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
b
|
float
|
|
required |
N
|
float
|
|
required |
tag
|
str
|
|
required |
enable_tvz
|
bool
|
|
False
|
b_tvz
|
float
|
Not used if enable_tvz is False. |
0.0
|
N_tvz
|
float
|
Not used if enable_tvz is False. |
0.0
|
Attributes¶
b: float
instance-attribute
¶
N: float
instance-attribute
¶
tag: str
instance-attribute
¶
enable_tvz: bool = False
class-attribute
instance-attribute
¶
b_tvz: float = 0.0
class-attribute
instance-attribute
¶
Not used if enable_tvz is False.
N_tvz: float = 0.0
class-attribute
instance-attribute
¶
Not used if enable_tvz is False.
RuptureSet
¶
Functions¶
check_reweight() -> Self
¶
If re-weighting, must use uncertinaty weighted constraints
check_mfd_constraint() -> Self
¶
Choose either uncertainty weighted or eq/ineq constraints for MFD, not both.
check_mfd_eq_complete() -> Self
¶
If using eq/ineq MFD constraint, must specify all parameters.
check_mfd_unc_complete() -> Self
¶
If using uncertainty weighted MFD constraint, must specify all parameters.
check_slip_constraint() -> Self
¶
Choose either uncertainty weighted or 'regular' slip constraints, not both.
check_slip_abs_complete() -> Self
¶
If using 'regular' slip rate constraint, must specify all parameters.
check_slip_unc_complete() -> Self
¶
If using uncertainty weighted slip rate constraint, must specify all parameters.