PyHydroGeophysX.analysis package#

Submodules#

PyHydroGeophysX.analysis.sensitivity module#

Sensitivity and resolution analysis utilities.

PyHydroGeophysX.analysis.sensitivity.compute_cumulative_sensitivity(J: Any) Any[source]#

Compute cumulative sensitivity as absolute column sums of the Jacobian.

PyHydroGeophysX.analysis.sensitivity.compute_depth_of_investigation(inv_class: Any, data: Any, mesh: Any, scale_low: float = 0.8, scale_high: float = 1.2, reference_resistivity: float | None = None) Tuple[ndarray, Dict[str, ndarray]][source]#

Estimate DOI using two inversions with different reference/initial models.

This follows the Oldenburg-Li style idea of quantifying model sensitivity to reference-model choice. The two starting models are reference_resistivity * scale_low and reference_resistivity * scale_high; when reference_resistivity is None it is taken as the median apparent resistivity of data so the perturbation brackets the survey’s actual background instead of an arbitrary absolute value.

PyHydroGeophysX.analysis.sensitivity.compute_resolution_matrix(J: Any, Wd: Any, Wm: Any, lam: Any) Any[source]#

Compute model resolution matrix:

R = (J^T Wd Wd J + lam Wm^T Wm)^(-1) J^T Wd Wd J

PyHydroGeophysX.analysis.sensitivity.plot_sensitivity_map(sensitivity: Any, mesh: Any, ax: Any = None) Any[source]#

Plot a sensitivity map on a mesh (or as a simple line plot fallback).

Module contents#

Sensitivity and resolution analysis utilities.

PyHydroGeophysX.analysis.compute_cumulative_sensitivity(J: Any) Any[source]#

Compute cumulative sensitivity as absolute column sums of the Jacobian.

PyHydroGeophysX.analysis.compute_depth_of_investigation(inv_class: Any, data: Any, mesh: Any, scale_low: float = 0.8, scale_high: float = 1.2, reference_resistivity: float | None = None) Tuple[ndarray, Dict[str, ndarray]][source]#

Estimate DOI using two inversions with different reference/initial models.

This follows the Oldenburg-Li style idea of quantifying model sensitivity to reference-model choice. The two starting models are reference_resistivity * scale_low and reference_resistivity * scale_high; when reference_resistivity is None it is taken as the median apparent resistivity of data so the perturbation brackets the survey’s actual background instead of an arbitrary absolute value.

PyHydroGeophysX.analysis.compute_resolution_matrix(J: Any, Wd: Any, Wm: Any, lam: Any) Any[source]#

Compute model resolution matrix:

R = (J^T Wd Wd J + lam Wm^T Wm)^(-1) J^T Wd Wd J

PyHydroGeophysX.analysis.plot_sensitivity_map(sensitivity: Any, mesh: Any, ax: Any = None) Any[source]#

Plot a sensitivity map on a mesh (or as a simple line plot fallback).