TSL2IM: Compute intensity measures from a canonical long time-series...

View source: R/getIntensity.R

TSL2IMR Documentation

Compute intensity measures from a canonical long time-series table.

Description

Given a long time-series table with columns for the record identifier, OCID, ID, t, and s, converts amplitudes to units.target and computes standard intensity measures grouped by record x OCID x ID. Valid ID content is either AT only, or a complete time-series set with AT, VT, and DT.

Usage

TSL2IM(.x, units.source, units.target = "mm", output = c("IML", "IMW"))

Arguments

.x

data.table. Long-format TSL with at least OCID, ID, t, s columns plus optional record-identifier metadata columns.

units.source

character. Source units of the s column ("mm", "cm", "m", "gal", "g").

units.target

character. Target units for the returned intensities. Default "mm".

output

character. "IML" returns long intensity rows; "IMW" returns one row per metadata and OCID, with intensity measures as columns.

Value

A data.table. output = "IML" returns long rows with columns ⁠<metadata cols>, OCID, ID, IM, value, units⁠; output = "IMW" returns wide intensity columns.

Examples

t <- seq(0, 1, by = 0.01)
tsl <- data.table::rbindlist(list(
  data.table::data.table(t = t, s = sin(2 * pi * t),
                         ID = "AT", OCID = "H1"),
  data.table::data.table(t = t, s = cos(2 * pi * t),
                         ID = "VT", OCID = "H1"),
  data.table::data.table(t = t, s = sin(pi * t),
                         ID = "DT", OCID = "H1")
))
im <- TSL2IM(tsl, units.source = "mm")
head(im)


gmsp documentation built on July 18, 2026, 5:07 p.m.