Version:

salvus.project.components.action.inversion.inversion_action_component

salvus.project.components.action.inversion.inversion_action_component salvus project components action inversion inversion_action_component
Inversion action component.

Classes

InversionActionComponent

Inversion specific actions, mainly to process tasks that require simulations.
SIGNATURE
class InversionActionComponent(builtins.object):
    def __init__(self, project: Project): ...
ARGUMENTS
Required
project
Type:Project
Description:
The project for the component.

Methods

InversionActionComponent.compute_gradients()
Compute event gradients for a given simulation configuration, misfit configuration.
SIGNATURE
def compute_gradients(
    self,
    simulation_configuration: str,
    misfit_configuration: str,
    events: str | list[str] | Event | list[Event] | EventCollection,
    site_name: str,
    ranks_per_job: int,
    wall_time_in_seconds_per_job: salvus._core.types.float_ | None = None,
    memory_per_rank_in_MB: float | None = None,
    max_events_per_job_submission: int = 0,
    wavefield_compression: WavefieldCompression | None = None,
    gradient_parameters: set[str] | None = None,
    delete_dependent_jobs: bool = True,
    verbosity: int = 0,
) -> dict[str, pathlib.Path] | None: ...
ARGUMENTS
Required
simulation_configuration
Type:str
Description:
Name of the simulation configuration for the forward run.
Required
misfit_configuration
Type:str
Description:
Name of the misfit configuration.
Required
events
Type:str | list[str] | Event | list[Event] | EventCollection
Description:
One or more events.
Required
site_name
Type:str
Description:
Site to use.
Required
ranks_per_job
Type:int
Description:
Ranks per job.
Optional
wall_time_in_seconds_per_job
Type:salvus._core.types.float_ | None
Default value:None
Description:
Wall time per job.
Optional
memory_per_rank_in_MB
Type:float | None
Default value:None
Description:
Optional memory settings for the site.
Optional
max_events_per_job_submission
Type:int
Default value:0
Description:
Optional chunkwise job submission. If set to a positive number, simulations will be launched in chunks.
Optional
wavefield_compression
Type:WavefieldCompression | None
Default value:None
Description:
Wavefield compression settings.
Optional
gradient_parameters
Type:set[str] | None
Default value:None
Description:
Model parameters to compute the gradients for. Must be a subset of the model parameters. If not given, gradients will be computed for all model fields.
Optional
delete_dependent_jobs
Type:bool
Default value:True
Description:
Delete job and all its dependencies at remote site after the outputs have been downloaded.
Optional
verbosity
Type:int
Default value:0
Description:
Verbosity.
InversionActionComponent.compute_misfits()
Compute event misfits for a given simulation configuration, misfit configuration.
SIGNATURE
def compute_misfits(
    self,
    simulation_configuration: str,
    misfit_configuration: str,
    events: str | list[str] | Event | list[Event] | EventCollection,
    site_name: str,
    ranks_per_job: int,
    wall_time_in_seconds_per_job: salvus._core.types.float_ | None = None,
    memory_per_rank_in_MB: float | None = None,
    max_events_per_job_submission: int = 0,
    derived_job_config: WavefieldCompression | None = None,
    delete_dependent_jobs: bool = True,
    verbosity: int = 0,
    store_checkpoints: bool | None = None,
) -> dict[str, float] | None: ...
ARGUMENTS
Required
simulation_configuration
Type:str
Description:
Name of the simulation configuration for the forward run.
Required
misfit_configuration
Type:str
Description:
Name of the misfit configuration.
Required
events
Type:str | list[str] | Event | list[Event] | EventCollection
Description:
One or more events.
Required
site_name
Type:str
Description:
Site to use.
Required
ranks_per_job
Type:int
Description:
Ranks per job.
Optional
wall_time_in_seconds_per_job
Type:salvus._core.types.float_ | None
Default value:None
Description:
Wall time per job.
Optional
memory_per_rank_in_MB
Type:float | None
Default value:None
Description:
Optional memory settings for the site.
Optional
max_events_per_job_submission
Type:int
Default value:0
Description:
Optional chunkwise job submission. If set to a positive number, simulations will be launched in chunks.
Optional
derived_job_config
Type:WavefieldCompression | None
Default value:None
Description:
Options that have an effect on the output of subsequent simulations but must already be known now. Currently allows the specification of some techniques to compress wavefields for the purpose of gradient computations.
Optional
delete_dependent_jobs
Type:bool
Default value:True
Description:
Delete job and all its dependencies at remote site after the outputs have been downloaded.
Optional
verbosity
Type:int
Default value:0
Description:
Verbosity.
Optional
store_checkpoints
Type:bool | None
Default value:None
Description:
Deprecated. Please use the derived_job_config parameter.
InversionActionComponent.smooth_model()
Smooth a model or gradient.
SIGNATURE
def smooth_model(
    self,
    model: UnstructuredMesh | UnstructuredModel,
    smoothing_configuration: (
        ConstantSmoothing | ModelDependentSmoothing | SpaceDependentSmoothing
    ),
    site_name: str,
    ranks_per_job: int,
    wall_time_in_seconds_per_job: salvus._core.types.float_ | None = None,
    verbosity: int = 0,
    run_async: bool = False,
) -> UnstructuredMesh | SalvusJobArray: ...
ARGUMENTS
Required
model
Type:UnstructuredMesh | UnstructuredModel
Description:
Input model (gradient) that should be smoothed.
Required
smoothing_configuration
Type:ConstantSmoothing | ModelDependentSmoothing | SpaceDependentSmoothing
Description:
Smoothing configuration.
Required
site_name
Type:str
Description:
Site to use.
Required
ranks_per_job
Type:int
Description:
Ranks per job.
Optional
wall_time_in_seconds_per_job
Type:salvus._core.types.float_ | None
Default value:None
Description:
Wall time per job.
Optional
verbosity
Type:int
Default value:0
Description:
Verbosity.
Optional
run_async
Type:bool
Default value:False
Description:
Optional switch to run smoothing asynchronously. This is mainly for internal use.
InversionActionComponent.sum_gradients()
Compute the sum of all gradients for a list of events. The function will raise if the gradients have not been computed yet for the given combination of simulation_configuration, misfit_configuration and events.
SIGNATURE
def sum_gradients(
    self,
    simulation_configuration: str,
    misfit_configuration: str,
    events: str | list[str] | Event | list[Event] | EventCollection,
    wavefield_compression: WavefieldCompression | None = None,
    gradient_parameters: set[str] | None = None,
) -> UnstructuredMesh: ...
ARGUMENTS
Required
simulation_configuration
Type:str
Description:
Name of the simulation configuration for the forward run.
Required
misfit_configuration
Type:str
Description:
Name of the misfit configuration.
Required
events
Type:str | list[str] | Event | list[Event] | EventCollection
Description:
One or more events.
Optional
wavefield_compression
Type:WavefieldCompression | None
Default value:None
Description:
Wavefield compression for the gradients to choose.
Optional
gradient_parameters
Type:set[str] | None
Default value:None
Description:
Model parameters to compute the gradients for. Must be a subset of the model parameters. If not given, gradients will be computed for all model fields.
PAGE CONTENTS