Skip to content
/ saul Public

SeismoAcoustic Utilities Library

License

Notifications You must be signed in to change notification settings

liamtoney/saul

Repository files navigation

SAUL

API documentation status

SAUL is the SeismoAcoustic Utilities Library. It's my take on the collection of tools that I imagine exist, in some form, on every seismoacoustican's computer — utilities for gathering waveform data, plotting waveforms in the time and frequency domain, visualizing key metadata such as station locations, et cetera. The goal of SAUL is to make these fundamental data exploration tools as easy-to-use as possible. Thus, priority is placed upon straightforward (e.g., easily memorized) commands and time-saving helper functions — while attempting to leverage existing dependencies as much as possible to avoid duplicated effort.

🚧 Disclaimer 🚧
As a workhorse "everyday tools" repository, SAUL is currently (perpetually?) under rapid development. Expect to encounter breaking changes after a git pull update!

Installing

Both of these options assume that you've already installed the mamba package manager (don't bother with conda), and that you've cloned this repository and have navigated to the root directory.

Option 1: Create a new environment named saul.

mamba env create

Option 2: Install SAUL into an existing environment of your choosing.

mamba env update --name <existing_environment>

Using

Be sure that the environment you've installed SAUL into is activated. Here's a simple usage example which highlights SAUL's object-oriented interface:

from saul import PSD, Stream

st = Stream.from_iris('AK', 'HOM', 'BDF', (2023, 9, 1, 0, 5), (2023, 9, 1, 0, 15))
st.detrend().taper(0.05).remove_response()  # SAUL Stream objects behave like ObsPy's
PSD(st, method='multitaper').plot(show_noise_models=True)

For detailed usage information, see the API documentation.

Developing

To install the development packages for SAUL, run the following command from the root directory of this repository, with your environment containing SAUL (see Installing) activated.

pip install --requirement requirements.txt