Mondaic

salvus.project.configuration.processing.seismology

salvus.project.configuration.processing.seismology salvus project configuration processing seismology

Seismological processing configurations.

Classes

BasicBandpassProcessingConfiguration

class BasicBandpassProcessingConfiguration(
    salvus.project.configuration.processing.seismology.SeismologyProcessingConfiguration
):
    def __init__(
        self,
        name: str,
        data_source_name: str,
        bandpass_minimum_frequency: float,
        bandpass_maximum_frequency: float,
        bandpass_filter_corners: int = 0,
        highpass_filter_corners: int = 4,
        lowpass_filter_corners: int = 4,
        taper_percentage: float = 0.05,
        zerophase: bool = False,
    ): ...

Keeps track of the initial arguments passed to an objects and can later on serialize them to JSON document.

It will only consider whatever is passed in the init.

Basic processing that detrends, tapers, and filters.

Parameters
  • name str — Processing configuration name.
  • data_source_name str — Name of the data source.
  • bandpass_minimum_frequency float — Minimum frequency of the bandpass filter.
  • bandpass_maximum_frequency float — Maximum frequency of the bandpass filter.
  • bandpass_filter_corners int — Corners of the bandpass filter.
  • highpass_filter_corners int — Corners of the highass filter.
  • lowpass_filter_corners int — Corners of the lowpass filter.
  • taper_percentage float — Taper percentage.
  • zerophase bool — Zerophase.
Methods
from_json()
def from_json(d: builtins.dict) -> Any: ...

Recreate the object from a dictionary serialization of its initialization parameters.

Parameters
  • d builtins.dict — Dictionary containing its init parameters and a few other things.
Returns Any
to_json()
def to_json(
    self,
    external_file_hash: str | None = None,
    timer: Timer | None = None,
    log_to_logger: bool = False,
    comm: int | None = None,
) -> dict: ...

Convert object to a JSON-serializable dictionary.

Parameters
  • external_file_hash str | None — Hash of any external files associated with this object. Can be passed here in which case it will be stored in a centralized location in the JSON file.
  • timer Timer | None — Execution timer.
  • log_to_logger bool — Log timings to the logger.
  • comm int | None — MPI communicator, if any.
Returns dict

BasicBandpassRemoveResponseProcessingConfiguration

class BasicBandpassRemoveResponseProcessingConfiguration(
    salvus.project.configuration.processing.seismology.SeismologyProcessingConfiguration
):
    def __init__(
        self,
        name: str,
        data_source_name: str,
        bandpass_minimum_frequency: float,
        bandpass_maximum_frequency: float,
        units: str,
        bandpass_filter_corners: int = 0,
        highpass_filter_corners: int = 0,
        lowpass_filter_corners: int = 0,
        pre_filter: tuple[float, float, float, float],
        water_level: int = 200,
        taper_percentage: float = 0.05,
        zerophase: bool = False,
    ): ...

Keeps track of the initial arguments passed to an objects and can later on serialize them to JSON document.

It will only consider whatever is passed in the init.

Basic processing which removes the response and applies a Butterworth bandpass filter.

Parameters
  • name str — Processing configuration name.
  • data_source_name str — Name of the data source.
  • bandpass_minimum_frequency float — Minimum frequency of the bandpass filter.
  • bandpass_maximum_frequency float — Maximum frequency of the bandpass filter.
  • units str — Desired output units.
  • bandpass_filter_corners int — Corners of the bandpass filter.
  • highpass_filter_corners int — Corners of the highass filter.
  • lowpass_filter_corners int — Corners of the lowpass filter.
  • pre_filter tuple[float, float, float, float] — Pre-filter settings.
  • water_level int — Water level in dB.
  • taper_percentage float — Taper percentage.
  • zerophase bool — Zerophase.
Methods
from_json()
def from_json(d: builtins.dict) -> Any: ...

Recreate the object from a dictionary serialization of its initialization parameters.

Parameters
  • d builtins.dict — Dictionary containing its init parameters and a few other things.
Returns Any
to_json()
def to_json(
    self,
    external_file_hash: str | None = None,
    timer: Timer | None = None,
    log_to_logger: bool = False,
    comm: int | None = None,
) -> dict: ...

Convert object to a JSON-serializable dictionary.

Parameters
  • external_file_hash str | None — Hash of any external files associated with this object. Can be passed here in which case it will be stored in a centralized location in the JSON file.
  • timer Timer | None — Execution timer.
  • log_to_logger bool — Log timings to the logger.
  • comm int | None — MPI communicator, if any.
Returns dict

CustomSeismologyProcessingConfiguration

class CustomSeismologyProcessingConfiguration(
    salvus.project.configuration.processing.seismology.SeismologyProcessingConfiguration
):
    def __init__(
        self,
        name: str,
        data_source_name: str,
        processing_function: str | typing.Callable,
    ): ...

Keeps track of the initial arguments passed to an objects and can later on serialize them to JSON document.

It will only consider whatever is passed in the init.

Custom processing function. Any function with a suitable signature is acceptable.

The function must take the following arguments:

  • st: An obspy.Stream object with the data.
  • receiver: The receiver object for the receiver.
  • sources: All sources for the event.

In the case of seismological data it can also optionally take:

  • inv: An obspy.Inventory object for the station in case it is stored in an ASDF file. Might be None.

The function must return the processed obspy.Stream object which must contain exactly the same number of traces.

Parameters
  • name str — Name of the processing configuration.
  • data_source_name str — Name of the original data source.
  • processing_function str | typing.Callable — The actual function.
Methods
from_json()
def from_json(d: builtins.dict) -> Any: ...

Recreate the object from a dictionary serialization of its initialization parameters.

Parameters
  • d builtins.dict — Dictionary containing its init parameters and a few other things.
Returns Any
to_json()
def to_json(
    self,
    external_file_hash: str | None = None,
    timer: Timer | None = None,
    log_to_logger: bool = False,
    comm: int | None = None,
) -> dict: ...

Convert object to a JSON-serializable dictionary.

Parameters
  • external_file_hash str | None — Hash of any external files associated with this object. Can be passed here in which case it will be stored in a centralized location in the JSON file.
  • timer Timer | None — Execution timer.
  • log_to_logger bool — Log timings to the logger.
  • comm int | None — MPI communicator, if any.
Returns dict

SeismologyProcessingConfiguration

class SeismologyProcessingConfiguration(
    salvus.project.configuration.processing.ProcessingConfiguration
):
    def __init__(
        self,
        name: str,
        data_source_name: str,
        processing_function: str | typing.Callable,
    ): ...

Keeps track of the initial arguments passed to an objects and can later on serialize them to JSON document.

It will only consider whatever is passed in the init.

Define processing within SalvusProject with a function. Any function with a suitable signature is acceptable.

For block processing, the function must take the following arguments:

  • data_array: An xarray.DataArray object with the data.
  • event: The corresponding event.

Or, if the processing should be applied per receiver:

  • st: An obspy.Stream object with the data.
  • receiver: The receiver object for the receiver.
  • sources: All sources for the event.

In the case of seismological data it can also optionally take:

  • inv: An obspy.Inventory object for the station in case it is stored in an ASDF file. Might be None.

The function must return the processed xarray.DataArray or obspy.Stream object which must contain exactly the same number of traces.

Parameters
  • name str — Name of the processing configuration.
  • data_source_name str — Name of the original data source.
  • processing_function str | typing.Callable — The actual function.
Methods
from_json()
def from_json(d: builtins.dict) -> Any: ...

Recreate the object from a dictionary serialization of its initialization parameters.

Parameters
  • d builtins.dict — Dictionary containing its init parameters and a few other things.
Returns Any
to_json()
def to_json(
    self,
    external_file_hash: str | None = None,
    timer: Timer | None = None,
    log_to_logger: bool = False,
    comm: int | None = None,
) -> dict: ...

Convert object to a JSON-serializable dictionary.

Parameters
  • external_file_hash str | None — Hash of any external files associated with this object. Can be passed here in which case it will be stored in a centralized location in the JSON file.
  • timer Timer | None — Execution timer.
  • log_to_logger bool — Log timings to the logger.
  • comm int | None — MPI communicator, if any.
Returns dict

Used in tutorials