Codes

Geodetic First Approximation of Size and Timing: G-FAST is a module designed to take in real-time GNSS displacements and seismic alert triggers and quickly determine the magnitude and general characteristics of an earthquake. It was originally designed for the ShakeAlert early warning system, however, we are currently augmenting it to work at NOAA's tsunami warning centers. It reliably works for earthquakes down to M6 in the near-field and does not saturate for the biggest events we've thrown at it.

Languages: C, Python3 (currently working on an offline version that uses GipsyX or TRACK input files)

Satellite Navigation based Instantaneous Velocities: One of the main issues with processing GNSS data is applying at the corrections and determining phase ambiguities robustly. By taking a single difference of the orbits and phase observations in time, we can compute the velocity of a station rather than the displacement. These derived velocities can be used for ground motion studies or can potentially augment early warning systems. SNIVEL only uses broadcast orbits with the narrow-lane phase combination, making it suitable for real-time applications where determining range corrections can be problematic.

Language: Python3

Python Package for the Temporal Analysis of GNSS Strains: This package takes in either time series or GMT psvelo formatted flat files and computes the strain in a region using either a triangulation or a gridded strain approach. Strain is useful for looking at where different tectonic features are and this package was designed to make this process much easier.

Language: Python3

rsi_transient: The relative strength index (RSI) is a financial momentum indicator that informs you when there is too much momentum in a specific stock, leading to overbought and oversold conditions. While the underlying physics of stock changes is due to an array of factors, the basic idea can be applied on a single-station basis to GPS time series. When we detrend the time series, the RSI can be used to give a sense of excess deformation in a given direction, useful for studying processes such as slow slip or volcanic deformation that may not be associated with seismic signals. This package takes in the time series and will determine the probability that a part of the signal is 'transient', which can then be used to correct for interseismic deformation, study slow slip events, and more.

Language: MATLAB

Ground Motion Comparison Engine: This package will take in any type of XML message from the ShakeAlert project and compare the ground motion predictions to the true ground motions recovered from miniSEED or SAC formatted strong-motion accelerations. It computes the time evolution of these ground motions and determines the potential warning time for a location. In the future, this will be automated to run post-event, automatically grabbing seismic traces and XML messages to aid in post-event review.

Language: Python3