Environmental Seismology – sensing the seismic signals of Earth surface processes

NEW: Latest R package v. 0.8.0 online on CRAN (24 Nov 2024)

NEW: Shakescape website online. This site hosts a growing collection of seismic signals turned into sound

NEW: Review paper on environmental seismology online

Environmental seismology is the science of the seismic signals emitted by processes at or near the surface of the Earth. It provides the unique opportunity to assess type, timing, location, magnitude and interconnections of a wide range of the processes that shape our planet. Environmental seismology is placed at the seams of geomorphology and several neighbouring disciplines, first of all seismology but also meteorology, hydrology, glaciology and natural hazards research.

Earth surface activity emits numerous yet distinct seismic signals, each allowing for the identification of their source, its geographic location and in cases even their propagation path through a landscape, and insights into the evolution of the process. For example, a large flood will be recorded as a 1–5 Hz hum of the Earth at distances of several kilometres (Dietze et al., 2022, Cook et al., 2021). The growth of a crack in a rock mass will emit short pulses of much higher frequency signals (Lagarde et al., 2023) but also change the resonance frequency of the damaging rock mass itself (Dietze et al., 2020). Fish moving pebbles in rivers when building their nests result in brief pulses of seismic signals that can be recorded along the stream and mapped onto the individual nests (Dietze et al., 2020). Hence, seismic instruments can be used to look at a large number of different things that happen at the surface of our planet and make those sensors a universal tool to study mechanical, hydrological, glacial, biological and many more activities, from centimetre to continental scales.

Spectrogram of an Earthquake followed by a rockfall
Spectrogram of a heavy rainfall event
Spectrogram of a debris flow and hillslope activity
Spectrogram of a three day lasting storm event

WHY R?

There are plenty of existing software tools to read and write files that contain seismic records, and apply standard data processing tools, such as detrending and filtering seismograms, finding brief events of enhanced activity in long time series, or displaying high resolution time series of ground motion as colourful spectrograms to better discern the activity at different time-frequency-levels. Classic seismology has invested decades of excellent research in developing and refining these tools.

However, signals created by Earth surface dynamics differ fundamentally from those triggered by, for example powerful earthquakes or volcanic eruptions. They are much more variable, weaker and change their properties as the process evolves and travels through a landscape. Hence, handling these signals requires specialised tools. This is what the R package 'eseis' is about: providing not only established routines for data import/export and standard processing, but also tailored solutions for common environmental seismological problems.

Environmental seismology heavily relies on high-resolution data. Usually, a seismic station collects data from three-component broadband seismometers with recording frequencies of 100 Hz and higher. This yields more than one million samples per station and hour and requires efficient software to handle these data. However, environmental seismology is mainly a tool for geomorphologists also operating in other analysis fields such as spatial data handling, (climatic/meteorologic) time series manipulation and multivariate statistics. Hence, R is the ideal base for this setting as it is easy to learn and yet one of the most powerful and general tools for almost any kind of data (Dietze, 2018).


THE PACKAGE eseis (CRAN version 0.8.0, current developer version 0.9.0)
  • Support of SAC and mseed files, FDSN dataselect support
  • Deconvolution with XML files and instrument keywords
  • Coherent workflow from input file to event analysis
  • Multiple event pickers
  • Multiple event location routines
  • River discharge and sediment transport inversion
  • Seismic noise cross-correlation (dv/v) analysis
  • High-quality plots (seismograms, spectra, spectrograms, PPSDs, event plots, model output)
  • Multicore support
  • In-R connection to obspy routines
  • Full documentation including code examples and sample data

GETTING THE PACKAGE

The R package 'eseis' is hosted on the Comprehensive R Archive network CRAN. See also the Readme-file. Installing the package is therefore easy; in R simply type install.packages("eseis"). This will install the latest stable version 0.8.0 (cf. Dietze, 2018).

On Ubuntu v.24.04, the following dependency libraries need to be installed through the terminal, first:
sudo apt-get install libfftw3-dev libfftw3-doc libcurl4-openssl-dev libxml2 libxml2-dev libgdal-dev libproj-dev

Upon first installation, R will ask about yes or no for installing Miniconda. This software is required for some optional features of eseis, such as obspy support. I recommend allowing that installation, unless there are good reasons for not doing so.

The package is continuously developed. Development is implemented via GitHub. There, one can get the most recent developer distribution (0.9.0). There are a series of ways to install the package. The most convenient and coherent one is installing it through the R-package devtools.

library("devtools")
install_github(repo = "coffeemuggler/eseis", ref = "dev_0.9.0")

Of course, this requires installing devtools first (e.g., by typing install.packages("devtools")). If you need help installing devtools, see the help page on the CRAN website. Alternatively, if you do not want to work with devtools these versions can be downloaded (no guarantee for the very latest version, see time stamp on GitHub) and used for installation typing

install.packages(pkgs = "~/Downloads/eseis_0.9.0.tar.gz", repos = NULL, type = "source")

where "~/Downloads/eseis_0.9.0.tar.gz" is the location where you downloaded the package source archive. Attention, before installing the package eseis make sure that all required dependencies are installed, because manual package installation does not install dependiencies along. An easy way to check/install the dependencies is the folloqing R code snippet:
pkgs <- c("terra", "caTools", "signal", "fftw", "matrixStats", "graphics", "fftw", "methods", "XML", "shiny", "rmarkdown", "colorspace", "reticulate", "extraDistr", "minpack.lm", "Rcpp")
for(i in 1:length(pkgs)) {install.packages(pkgs[i])}

Linux/Mac OS eseis_0.8.0.tar.gz
eseis_0.7.3.tar.gz
eseis_0.6.0.tar.gz
eseis_0.5.0.tar.gz
eseis_0.4.0.tar.gz
eseis_0.3.2.tar.gz
eseis_0.3.1.tar.gz
compiled 2024-11-24
compiled 2023-07-31
compiled 2019-12-18
compiled 2018-09-18
compiled 2018-06-05
compiled 2017-04-11
compiled 2016-11-07
Windows OS eseis_0.8.0.zip
eseis_0.7.3.zip
eseis_0.6.0.zip
eseis_0.5.0.zip
eseis_0.4.0.zip
eseis_0.3.2.zip
eseis_0.3.1.zip
compiled 2024-11-24
compiled 2023-07-31
compiled 2019-12-18
compiled 2018-07-16
compiled 2018-06-05
compiled 2017-04-11
compiled 2016-11-07
HOWEVER, IT IS VERY LIKELY THAT THE PACKAGES FROM THE TABLE ABOVE ARE OUTDATED WITH RESPECT TO THE GITHUB VERSION. IN CASE YOU DISCOVER ANY BUGS, PLEASE CROSS-CHECK WITH THE LATEST GITHUB VERSION, FIRST.