sumatra {Rsac} | R Documentation

## EXAMPLE RSAC DATA

### Description

Example of class `"rsac"` object containing 16 recordings of the 2004 Sumatra-Andaman Earthquake.

### Usage

    data(sumatra)

### Format

Vector containing 16 recordings. Each is a LHZ channel at a different recording station (L = long period, H = high gain, Z = vertical component).

### Background

The 2004 Sumatra-Andaman Earthquake. There is extensive literature on this event. I include it here simply as an interesting example.

### Author(s)

Eric M. Thompson <eric.thompson@tufts.edu>

### Source

http://www.iris.edu/

### Examples

    data(sumatra)
    getstas <- function(X)
      gsub(" ", "", X$sta)
    stas <- sapply(X = sumatra, getstas)
    getunits(sumatra)
    sumatra <- mul(sumatra, 1e-9)
    # Bandpass filter
    sumatra <- bp(int(taper(rtrend(sumatra))),
                  c = c(0.01, 0.3))
    getdelta <- function(X)
    {
      delta <- gcp(s = list(lat = X$stla, lon = X$stlo),
                   e = list(lat = X$evla, lon = X$evlo))$a
    }
    del <- sapply(X = sumatra, getdelta)
    st <- sapply(sumatra, fstart)
    par(las = 1, mar = c(1, 5, 5, 1), xaxs = "i", yaxs = "i",
        cex.main = 1, mfrow = c(1, 1))
    plot(1, 1, type = "n", axes = FALSE,
         xlim = c(60, 60 + 350)*60, ylim = c(200, 0),
         xlab = "", ylab = "")

    udel <- sort(unique(del))
    cols <- (1:length(udel))%%6 + 1

    for(i in 1:length(sumatra))
    {
      x <- 100 * sumatra[[i]]$amp + del[i]
      start <- st[i] + sumatra[[i]]$b
      deltat <- sumatra[[i]]$dt
      time <- seq(from = start, by = deltat, length = length(x))
      lines(time, x, col = cols[del[i] == udel])
    }

    axis(side = 2, at = seq(0, 180, by = 30))
    axis(side = 3, at = (seq(0, 360, by = 60)*60 + 60*60),
         lab = seq(0, 360, by = 60))
    title(main = "Time, minutes")
    title(ylab = expression(paste(Delta, ", Degrees")))

    if(require(maps)){
      par(mar = c(3,7,2,1))
      map(col = grey(0.8))
      for(i in 1:length(stas)){
        GCPATH <- gcp(s = list(lat = sumatra[[i]]$stla, lon = sumatra[[i]]$stlo),
                      e = list(lat = sumatra[[i]]$evla, lon = sumatra[[i]]$evlo)
                      )
        if(any(abs(diff(GCPATH$lon)) > 180)){
          l <- length(GCPATH$lon)
          j <- which(abs(diff(GCPATH$lon)) > 180)
          lines(GCPATH$lon[1:j], GCPATH$lat[1:j], col = "blue")
          lines(GCPATH$lon[(j+1):l], GCPATH$lat[(j+1):l], col = "blue")
        }else{
          lines(GCPATH$lon, GCPATH$lat, col = "blue")
        }
        points(sumatra[[i]]$stlo, sumatra[[i]]$stla, pch = 17)
        text(sumatra[[i]]$stlo, sumatra[[i]]$stla, stas[i], pos = 1)
      }
      points(sumatra[[1]]$evlo, sumatra[[1]]$evla, col = "red", pch = 16)
      axis(side = 1, at = seq(-180, 180, by = 30))
      axis(side = 2, at = seq(-60, 60, by = 30))
      title(main = "Sumatra-Andaman Earthquake",
            xlab = "Longitude", ylab = "Latitude")
    }

[Package Rsac version 0.1-8 Index]