getUnavailability: Retrieve Channel metadata from IRIS DMC

getUnavailabilityR Documentation

Retrieve Channel metadata from IRIS DMC

Description

The getUnavailability method obtains metadata for channels that are not available from the IRIS DMC station web service and returns it in a dataframe.

Usage

getUnavailability(obj, network, station, location, channel,
                  starttime, endtime, includerestricted,
                  latitude, longitude, minradius, maxradius)

Arguments

obj

IrisClient object

network

character string with the two letter seismic network code

station

character string with the station code

location

character string with the location code

channel

character string with the three letter channel code

starttime

POSIXct class specifying the starttime (GMT)

endtime

POSIXct class specifying the endtime (GMT)

includerestricted

optional logical identifying whether to report on restricted data (default=FALSE)

latitude

optional latitude used when specifying a location and radius

longitude

optional longitude used when specifying a location and radius

minradius

optional minimum radius used when specifying a location and radius

maxradius

optional maximum radius used when specifying a location and radius

Details

The getUnavailability method compares the results of the getAvailability and getChannel methods and returns those records found only in the output of getChannel.

Each of the arguments network, station, location or channel may contain a valid code or a wildcard expression, e.g. "BH?" or "*". Empty strings are converted to "*". Otherwise the ascii string that is used for these values is simply inserted into the web service request URL.

For more details see the webservice documentation.

Value

A dataframe with the following columns:

network, station, location, channel, latitude, longitude, elevation, depth,
  azimuth, dip, instrument, scale, scalefreq, scaleunits, samplerate, 
  starttime, endtime

Author(s)

Jonathan Callahan jonathan@mazamascience.com

References

The IRIS DMC station webservice:

https://service.iris.edu/fdsnws/station/1/

This implementation was inspired by the functionality in the obspy get_stations() method.

https://docs.obspy.org/packages/autogen/obspy.clients.fdsn.client.Client.get_stations.html

See Also

IrisClient-class, getAvailability, getChannel

Examples

# Open a connection to IRIS DMC webservices
iris <- new("IrisClient")

# Date of Nisqually quake
starttime <- as.POSIXct("2001-02-28",tz="GMT")
endtime <- starttime + 2*24*3600

# Use the getEvent web service to determine what events happened in this time period
result <- try(events <- getEvent(iris,starttime,endtime,6.0))
if (inherits(result,"try-error")) {
  message(geterrmessage())
} else {
  events

# biggest event is Nisqually
  eIndex <- which(events$magnitude == max(events$magnitude))
  e <- events[eIndex[1],]

# Find all BHZ channels that were NOT collecting data at the time of the quake 
# and within 5 degrees of the quake epicenter (or are otherwise unavailable from IRIS).
  result <- try(channels <- getUnavailability(iris,"*","*","*","BHZ",starttime,endtime,
                            lat=e$latitude,long=e$longitude,maxradius=5))
  if (inherits(result,"try-error")) {
    message(geterrmessage())
  } else {
    channels
  }
}

IRISSeismic documentation built on Oct. 16, 2022, 1:09 a.m.