Skip to content

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

Bases: BaseModel

Parameters:

Name Type Description Default
rupture_set_id str
required
tag str
required
Attributes
rupture_set_id: str instance-attribute
tag: str instance-attribute

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.

get_tasks() -> Generator[Self, None, None]