aimbat.io
I/O interface for AIMBAT data sources.
Data source modules register their read/write and creation capabilities using
the register_* functions exported from this package. Not all data sources
need to support all capabilities — a source providing waveform data only would
register a reader and writer but not the creator functions.
The SAC data source (aimbat.io._sac) is included and registers its
capabilities automatically.
Functions:
| Name | Description |
|---|---|
clear_seismogram_cache |
Clear the in-memory seismogram data cache. |
create_event |
Create an |
create_event_from_sacfile |
Create an |
create_seismogram |
Create an |
create_seismogram_from_sacfile_and_pick_header |
Create an AimbatSeismogram instance from a SAC file. |
create_station |
Create an |
create_station_from_sacfile |
Create an AimbatStation instance from a SAC file. |
read_seismogram_data |
Read seismogram waveform data from a data source. |
read_seismogram_data_from_sacfile |
Read seismogram data from a SAC file. |
register_event_creator |
Register a function that creates an |
register_seismogram_creator |
Register a function that creates an |
register_seismogram_data_reader |
Register a function that reads seismogram waveform data from a data source. |
register_seismogram_data_writer |
Register a function that writes seismogram waveform data to a data source. |
register_station_creator |
Register a function that creates an |
supports_event_creation |
Return whether |
supports_seismogram_creation |
Return whether |
supports_seismogram_data_reading |
Return whether |
supports_seismogram_data_writing |
Return whether |
supports_station_creation |
Return whether |
write_seismogram_data |
Write seismogram waveform data to a data source. |
write_seismogram_data_to_sacfile |
Write seismogram data to a SAC file. |
clear_seismogram_cache
create_event
create_event(
datasource: str | PathLike, datatype: DataType
) -> AimbatEvent
Create an AimbatEvent from a data source.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
datasource
|
str | PathLike
|
Data source path or name. |
required |
datatype
|
DataType
|
Data type of the source. |
required |
Returns:
| Type | Description |
|---|---|
AimbatEvent
|
A new |
Raises:
| Type | Description |
|---|---|
NotImplementedError
|
If |
Source code in src/aimbat/io/_base.py
create_event_from_sacfile
create_event_from_sacfile(
sacfile: str | PathLike,
) -> AimbatEvent
Create an AimbatEvent instance from a SAC file.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
sacfile
|
str | PathLike
|
Name of the SAC file. |
required |
Returns:
| Type | Description |
|---|---|
AimbatEvent
|
A new |
Source code in src/aimbat/io/_sac.py
create_seismogram
create_seismogram(
datasource: str | PathLike, datatype: DataType
) -> AimbatSeismogram
Create an AimbatSeismogram from a data source.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
datasource
|
str | PathLike
|
Data source path or name. |
required |
datatype
|
DataType
|
Data type of the source. |
required |
Returns:
| Type | Description |
|---|---|
AimbatSeismogram
|
A new |
Raises:
| Type | Description |
|---|---|
NotImplementedError
|
If |
Source code in src/aimbat/io/_base.py
create_seismogram_from_sacfile_and_pick_header
create_seismogram_from_sacfile_and_pick_header(
sacfile: str | PathLike, sac_pick_header: str
) -> AimbatSeismogram
Create an AimbatSeismogram instance from a SAC file.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
sacfile
|
str | PathLike
|
Name of the SAC file. |
required |
sac_pick_header
|
str
|
SAC header to use as t0 in AIMBAT. |
required |
Source code in src/aimbat/io/_sac.py
create_station
create_station(
datasource: str | PathLike, datatype: DataType
) -> AimbatStation
Create an AimbatStation from a data source.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
datasource
|
str | PathLike
|
Data source path or name. |
required |
datatype
|
DataType
|
Data type of the source. |
required |
Returns:
| Type | Description |
|---|---|
AimbatStation
|
A new |
Raises:
| Type | Description |
|---|---|
NotImplementedError
|
If |
Source code in src/aimbat/io/_base.py
create_station_from_sacfile
create_station_from_sacfile(
sacfile: str | PathLike,
) -> AimbatStation
Create an AimbatStation instance from a SAC file.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
sacfile
|
str | PathLike
|
Name of the SAC file. |
required |
Returns:
| Type | Description |
|---|---|
AimbatStation
|
A new AimbatStation instance. |
Source code in src/aimbat/io/_sac.py
read_seismogram_data
Read seismogram waveform data from a data source.
Results are cached in memory by (datasource, datatype) key. The cache
entry is invalidated when write_seismogram_data is called for the same
key, and can be cleared manually with clear_seismogram_cache.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
datasource
|
str | PathLike
|
Data source path or name. |
required |
datatype
|
DataType
|
Data type of the source. |
required |
Returns:
| Type | Description |
|---|---|
NDArray[float64]
|
Seismogram waveform data as a NumPy array. |
Raises:
| Type | Description |
|---|---|
NotImplementedError
|
If |
Source code in src/aimbat/io/_base.py
read_seismogram_data_from_sacfile
Read seismogram data from a SAC file.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
sacfile
|
str | PathLike
|
Name of the SAC file. |
required |
Returns:
| Type | Description |
|---|---|
NDArray[float64]
|
Seismogram data. |
Source code in src/aimbat/io/_sac.py
register_event_creator
register_event_creator(
datatype: DataType,
fn: Callable[[str | PathLike], AimbatEvent],
) -> None
Register a function that creates an AimbatEvent from a data source.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
datatype
|
DataType
|
The data type this creator handles. |
required |
fn
|
Callable[[str | PathLike], AimbatEvent]
|
Callable that accepts a datasource path or name and returns an
|
required |
Source code in src/aimbat/io/_base.py
register_seismogram_creator
register_seismogram_creator(
datatype: DataType,
fn: Callable[[str | PathLike], AimbatSeismogram],
) -> None
Register a function that creates an AimbatSeismogram from a data source.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
datatype
|
DataType
|
The data type this creator handles. |
required |
fn
|
Callable[[str | PathLike], AimbatSeismogram]
|
Callable that accepts a datasource path or name and returns an
|
required |
Source code in src/aimbat/io/_base.py
register_seismogram_data_reader
register_seismogram_data_reader(
datatype: DataType,
fn: Callable[[str | PathLike], NDArray[float64]],
) -> None
Register a function that reads seismogram waveform data from a data source.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
datatype
|
DataType
|
The data type this reader handles. |
required |
fn
|
Callable[[str | PathLike], NDArray[float64]]
|
Callable that accepts a datasource path or name and returns the waveform data as a NumPy array. |
required |
Source code in src/aimbat/io/_base.py
register_seismogram_data_writer
register_seismogram_data_writer(
datatype: DataType,
fn: Callable[[str | PathLike, NDArray[float64]], None],
) -> None
Register a function that writes seismogram waveform data to a data source.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
datatype
|
DataType
|
The data type this writer handles. |
required |
fn
|
Callable[[str | PathLike, NDArray[float64]], None]
|
Callable that accepts a datasource path or name and a NumPy array, and writes the data to the source. |
required |
Source code in src/aimbat/io/_base.py
register_station_creator
register_station_creator(
datatype: DataType,
fn: Callable[[str | PathLike], AimbatStation],
) -> None
Register a function that creates an AimbatStation from a data source.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
datatype
|
DataType
|
The data type this creator handles. |
required |
fn
|
Callable[[str | PathLike], AimbatStation]
|
Callable that accepts a datasource path or name and returns an
|
required |
Source code in src/aimbat/io/_base.py
supports_event_creation
supports_seismogram_creation
supports_seismogram_data_reading
supports_seismogram_data_writing
supports_station_creation
write_seismogram_data
write_seismogram_data(
datasource: str | PathLike,
datatype: DataType,
data: NDArray[float64],
) -> None
Write seismogram waveform data to a data source.
Invalidates the cache entry for (datasource, datatype) after writing.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
datasource
|
str | PathLike
|
Data source path or name. |
required |
datatype
|
DataType
|
Data type of the source. |
required |
data
|
NDArray[float64]
|
Seismogram waveform data to write. |
required |
Raises:
| Type | Description |
|---|---|
NotImplementedError
|
If |
Source code in src/aimbat/io/_base.py
write_seismogram_data_to_sacfile
Write seismogram data to a SAC file.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
sacfile
|
str | PathLike
|
Name of the SAC file. |
required |
data
|
NDArray[float64]
|
Seismogram data. |
required |