PyHydroGeophysX.Hydro_modular package
Submodules
PyHydroGeophysX.Hydro_modular.hydro_to_ert module
Module for converting hydrologic model output to ERT apparent resistivity.
- PyHydroGeophysX.Hydro_modular.hydro_to_ert.hydro_to_ert(water_content: ndarray, porosity: ndarray, mesh: pygimli.Mesh, profile_interpolator: ProfileInterpolator, layer_idx: int | List[int], structure: ndarray, marker_labels: List[int], rho_parameters: Dict[str, Any], electrode_spacing: float = 1.0, electrode_start: float = 0.0, num_electrodes: int = 72, scheme_name: str = 'wa', noise_level: float = 0.05, abs_error: float = 0.0, rel_error: float = 0.05, save_path: str | None = None, mesh_markers: ndarray | None = None, verbose: bool = False, seed: int | None = None) Tuple[pygimli.DataContainer, ndarray][source]
Convert hydrologic model output to ERT apparent resistivity.
This function performs the complete workflow from water content to synthetic ERT data: 1. Interpolates water content to mesh 2. Calculates saturation 3. Converts saturation to resistivity using petrophysical models 4. Creates electrode array along surface profile 5. Performs forward modeling to generate synthetic ERT data
- Parameters:
water_content – Water content array (nlay, ny, nx) or mesh values
porosity – Porosity array (nlay, ny, nx) or mesh values
mesh – PyGIMLI mesh
profile_interpolator – ProfileInterpolator for surface interpolation
marker_labels – Layer marker labels [top, middle, bottom]
rho_parameters –
Dictionary of resistivity parameters: {
’rho_sat’: [100, 500, 2400], # Saturated resistivity values ‘n’: [2.2, 1.8, 2.5], # Cementation exponents ‘sigma_s’: [1/500, 0, 0] # Surface conductivity values
}
electrode_spacing – Spacing between electrodes
electrode_start – Starting position of electrode array
num_electrodes – Number of electrodes
scheme_name – ERT scheme name (‘wa’, ‘dd’, etc.)
noise_level – Relative noise level for synthetic data
abs_error – Absolute error for data estimation
rel_error – Relative error for data estimation
save_path – Path to save synthetic data (None = don’t save)
mesh_markers – Mesh cell markers (None = get from mesh)
verbose – Whether to display verbose information
seed – Random seed for noise generation
- Returns:
Tuple of (synthetic ERT data container, resistivity model)
PyHydroGeophysX.Hydro_modular.hydro_to_srt module
Module for converting hydrologic model output to seismic travel times.
- PyHydroGeophysX.Hydro_modular.hydro_to_srt.hydro_to_srt(water_content: ndarray, porosity: ndarray, mesh: pygimli.Mesh, profile_interpolator: ProfileInterpolator, layer_idx: int | List[int], structure: ndarray, marker_labels: List[int], vel_parameters: Dict[str, Any], sensor_spacing: float = 1.0, sensor_start: float = 0.0, num_sensors: int = 72, shot_distance: float = 5, noise_level: float = 0.05, noise_abs: float = 1e-05, save_path: str | None = None, mesh_markers: ndarray | None = None, verbose: bool = False, seed: int | None = None) Tuple[pygimli.DataContainer, ndarray][source]
Convert hydrologic model output to seismic travel times.
This function performs the complete workflow from water content to synthetic SRT data:
Interpolates water content to mesh
Calculates saturation
Converts saturation to seismic velocities using petrophysical models
Creates sensor array along surface profile
Performs forward modeling to generate synthetic travel time data
- Parameters:
water_content – Water content array (nlay, ny, nx) or mesh values
porosity – Porosity array (nlay, ny, nx) or mesh values
mesh – PyGIMLI mesh
profile_interpolator – ProfileInterpolator for surface interpolation
marker_labels – Layer marker labels [top, middle, bottom]
vel_parameters – Dictionary of velocity parameters containing ‘top’: {‘bulk_modulus’: 30.0, ‘shear_modulus’: 20.0, ‘mineral_density’: 2650, ‘depth’: 1.0}, ‘mid’: {‘bulk_modulus’: 50.0, ‘shear_modulus’: 35.0, ‘mineral_density’: 2670, ‘aspect_ratio’: 0.05}, ‘bot’: {‘bulk_modulus’: 55.0, ‘shear_modulus’: 50.0, ‘mineral_density’: 2680, ‘aspect_ratio’: 0.03}
sensor_spacing – Spacing between sensors
sensor_start – Starting position of sensor array
num_sensors – Number of sensors
shot_distance – Distance between shot points
noise_level – Relative noise level for synthetic data
noise_abs – Absolute noise level for synthetic data
save_path – Path to save synthetic data (None = don’t save)
mesh_markers – Mesh cell markers (None = get from mesh)
verbose – Whether to display verbose information
seed – Random seed for noise generation
- Returns:
Tuple of (synthetic SRT data container, velocity model)
Module contents
Hydro_modular package for hydrologic to geophysical conversion utilities.
- PyHydroGeophysX.Hydro_modular.hydro_to_ert(water_content: ndarray, porosity: ndarray, mesh: pygimli.Mesh, profile_interpolator: ProfileInterpolator, layer_idx: int | List[int], structure: ndarray, marker_labels: List[int], rho_parameters: Dict[str, Any], electrode_spacing: float = 1.0, electrode_start: float = 0.0, num_electrodes: int = 72, scheme_name: str = 'wa', noise_level: float = 0.05, abs_error: float = 0.0, rel_error: float = 0.05, save_path: str | None = None, mesh_markers: ndarray | None = None, verbose: bool = False, seed: int | None = None) Tuple[pygimli.DataContainer, ndarray][source]
Convert hydrologic model output to ERT apparent resistivity.
This function performs the complete workflow from water content to synthetic ERT data: 1. Interpolates water content to mesh 2. Calculates saturation 3. Converts saturation to resistivity using petrophysical models 4. Creates electrode array along surface profile 5. Performs forward modeling to generate synthetic ERT data
- Parameters:
water_content – Water content array (nlay, ny, nx) or mesh values
porosity – Porosity array (nlay, ny, nx) or mesh values
mesh – PyGIMLI mesh
profile_interpolator – ProfileInterpolator for surface interpolation
marker_labels – Layer marker labels [top, middle, bottom]
rho_parameters –
Dictionary of resistivity parameters: {
’rho_sat’: [100, 500, 2400], # Saturated resistivity values ‘n’: [2.2, 1.8, 2.5], # Cementation exponents ‘sigma_s’: [1/500, 0, 0] # Surface conductivity values
}
electrode_spacing – Spacing between electrodes
electrode_start – Starting position of electrode array
num_electrodes – Number of electrodes
scheme_name – ERT scheme name (‘wa’, ‘dd’, etc.)
noise_level – Relative noise level for synthetic data
abs_error – Absolute error for data estimation
rel_error – Relative error for data estimation
save_path – Path to save synthetic data (None = don’t save)
mesh_markers – Mesh cell markers (None = get from mesh)
verbose – Whether to display verbose information
seed – Random seed for noise generation
- Returns:
Tuple of (synthetic ERT data container, resistivity model)
- PyHydroGeophysX.Hydro_modular.hydro_to_srt(water_content: ndarray, porosity: ndarray, mesh: pygimli.Mesh, profile_interpolator: ProfileInterpolator, layer_idx: int | List[int], structure: ndarray, marker_labels: List[int], vel_parameters: Dict[str, Any], sensor_spacing: float = 1.0, sensor_start: float = 0.0, num_sensors: int = 72, shot_distance: float = 5, noise_level: float = 0.05, noise_abs: float = 1e-05, save_path: str | None = None, mesh_markers: ndarray | None = None, verbose: bool = False, seed: int | None = None) Tuple[pygimli.DataContainer, ndarray][source]
Convert hydrologic model output to seismic travel times.
This function performs the complete workflow from water content to synthetic SRT data:
Interpolates water content to mesh
Calculates saturation
Converts saturation to seismic velocities using petrophysical models
Creates sensor array along surface profile
Performs forward modeling to generate synthetic travel time data
- Parameters:
water_content – Water content array (nlay, ny, nx) or mesh values
porosity – Porosity array (nlay, ny, nx) or mesh values
mesh – PyGIMLI mesh
profile_interpolator – ProfileInterpolator for surface interpolation
marker_labels – Layer marker labels [top, middle, bottom]
vel_parameters – Dictionary of velocity parameters containing ‘top’: {‘bulk_modulus’: 30.0, ‘shear_modulus’: 20.0, ‘mineral_density’: 2650, ‘depth’: 1.0}, ‘mid’: {‘bulk_modulus’: 50.0, ‘shear_modulus’: 35.0, ‘mineral_density’: 2670, ‘aspect_ratio’: 0.05}, ‘bot’: {‘bulk_modulus’: 55.0, ‘shear_modulus’: 50.0, ‘mineral_density’: 2680, ‘aspect_ratio’: 0.03}
sensor_spacing – Spacing between sensors
sensor_start – Starting position of sensor array
num_sensors – Number of sensors
shot_distance – Distance between shot points
noise_level – Relative noise level for synthetic data
noise_abs – Absolute noise level for synthetic data
save_path – Path to save synthetic data (None = don’t save)
mesh_markers – Mesh cell markers (None = get from mesh)
verbose – Whether to display verbose information
seed – Random seed for noise generation
- Returns:
Tuple of (synthetic SRT data container, velocity model)