aimbat
AIMBAT (Automated and Interactive Measurement of Body wave Arrival Times) is an open-source software package for efficiently measuring teleseismic body wave arrival times for large seismic arrays (Lou et al., 2012). It is based on a widely used method called MCCC (Multi-Channel Cross-Correlation) developed by VanDecar and Crosson (1990). The package is automated in the sense of initially aligning seismograms for MCCC which is achieved by an ICCS (Iterative Cross Correlation and Stack) algorithm. Meanwhile, a graphical user interface is built to perform seismogram quality control interactively. Therefore, user processing time is reduced while valuable input from a user's expertise is retained. As a byproduct, SAC (Goldstein et al., 2003) plotting and phase picking functionalities are replicated and enhanced.
config
Global configuration options for the AIMBAT application.
Settings
Bases: BaseSettings
Source code in src/aimbat/config.py
context_width
class-attribute
instance-attribute
context_width: timedelta = Field(
default=context_width,
gt=0,
description="Context padding to apply before and after the time window.",
)
Context padding to apply before and after the time window.
db_url
class-attribute
instance-attribute
db_url: str = Field(
default_factory=lambda data: "sqlite+pysqlite:///"
+ str(data["project"]),
description="AIMBAT database url (default value is derived from `project`.)",
)
AIMBAT database url.
debug
class-attribute
instance-attribute
debug: bool = Field(
default=False, description="Enable debug logging."
)
Enable debug logging.
logfile
class-attribute
instance-attribute
Log file location.
min_ccnorm
class-attribute
instance-attribute
min_ccnorm: float | floating = Field(
default=min_ccnorm,
ge=0,
le=1,
description="Initial minimum cross correlation coefficient.",
)
Initial minimum cross correlation coefficient.
min_id_length
class-attribute
instance-attribute
min_id_length: int = Field(
default=2,
ge=1,
description="Minimum length of ID string.",
)
Minimum length of truncated UUID string.
project
class-attribute
instance-attribute
project: Path = Field(
default=Path("aimbat.db"),
description="AIMBAT project file location (ignored if `db_url` is specified).",
)
AIMBAT project file location.
sac_pick_header
class-attribute
instance-attribute
sac_pick_header: str = Field(
default="t0",
description="SAC header field where initial pick is stored.",
)
SAC header field where initial pick is stored.
sampledata_dir
class-attribute
instance-attribute
sampledata_dir: Path = Field(
default=Path("sample-data"),
description="Directory to store downloaded sample data.",
)
Directory to store downloaded sample data.
sampledata_src
class-attribute
instance-attribute
sampledata_src: str = Field(
default="https://github.com/pysmo/data-example/archive/refs/heads/aimbat_v2.zip",
description="URL where sample data is downloaded from.",
)
URL where sample data is downloaded from.
window_post
class-attribute
instance-attribute
window_post: timedelta = Field(
default=window_post,
ge=0,
description="Initial relative end time of window.",
)
Initial relative end time of window.
window_pre
class-attribute
instance-attribute
window_pre: timedelta = Field(
default=window_pre,
lt=0,
description="Initial relative begin time of window.",
)
Initial relative begin time of window.
cli_settings_list
cli_settings_list(*, pretty: bool = True) -> None
Print a table with default settings used in AIMBAT.
These defaults control the default behavior of AIMBAT within a project.
They can be changed using environment variables of the same name, or by
adding a .env file to the current working directory.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
pretty
|
bool
|
Print the table in a pretty format. |
True
|
Source code in src/aimbat/config.py
print_settings_table
print_settings_table(pretty: bool) -> None
Print a pretty table with AIMBAT configuration options.
Source code in src/aimbat/config.py
logger
Logging setup.
aimbat.cli
Modules:
| Name | Description |
|---|---|
common |
Common parameters and functions for the AIMBAT CLI. |
data |
Manage seismogram files in an AIMBAT project. |
event |
View and manage events in the AIMBAT project. |
iccs |
ICCS processing tools. |
project |
Manage AIMBAT projects. |
seismogram |
View and manage seismograms in the AIMBAT project. |
snapshot |
View and manage snapshots. |
station |
View and manage stations. |
utils |
Utilities for AIMBAT. |