-
Notifications
You must be signed in to change notification settings - Fork 1
Home
SSA 2023 oral presentation slidedeck
SQUAC Seismic Quality Assessment Console is built from:
squac the web app with dashboards and alarms. squac.pnsn.org
squacapi an API for interacting with the backend database of billions of measurements from dozens of metrics on thousands of channels. squacapi.pnsn.org
squacapi_client the user friendly python client that makes reading from/writing to the squac database easy. Great for data mining.
Request an account & questions: squac-help@uw.edu
squac (squac.pnsn.org)
Quick start guide
FAQ
Organizations and User Roles
Channel groups
Metrics
Monitors
Dashboards
After you've emailed squac-help@uw.edu, you'll be assigned to an organization, e.g. your university or network which will have an admin who can add other users. Then you'll want to set up channel groups if some from your org don't already meet your needs, then dashboards and/or monitors.
Who calculates all the measurements?
Uploading to SQUAC is user/source agnostic. Many waveform-based measurements are calculated at PNSN on roughly 20 CPUs. Latency and gap info are calculated and uploaded at the different ShakeAlert data centers and at PNSN. Some metrics, e.g. counts of EPIC triggers, are uploaded from other institutions.
What metrics are on what channels?
Most waveform based metrics are calculated for most channels currently in SQUAC (mostly ANSS channels). Some externally contributed metrics are specific to ShakeAlert channels, e.g. trigger counts. Latency and gap info vary by institution where sniffing and uploading codes have been set up.
How often are measurements calculated and how soon are they available in SQUAC?
Most waveform based metrics are calculated hourly and uploaded about 2-3 hours behind real-time. Latency and gap info mostly have a 10-minute granularity and are uploaded about 20-30 minutes behind real time. Externally contributed measurements have variable delay from real-time.
The granularity of metrics can be whatever the contributor of the metric defines.
How often are monitors checked?
Every hour at around 5 minutes past the hour. If the "daily digest" option is selected, those get checked a few minutes past UTC hour 00.
squac.pnsn.org/organizations can be navigated to via the orange circle at the top right. If you've been invited to use squac, check to see if there's an organization you'd fit into and then email that org's admin who can give you a user account and assign you a role. If you'll need your own organization, email squac-help@uw.edu.
User roles are additive:
Viewer - can see all resources that are public, within their organization, and their own.
Reporter - can create dashboards, channel groups, and monitors.
Contributor- can add metrics and measurements.
Organization Admin- can add users and assign roles.
Measurements are applied at the channel level in SQUAC. To create a channel group, select channels and click "add to included".
Visibility is defaulted to just the user (Private). Organization and Public are other options.
Regular expressions are allowed for channels in the search, e.g. [E,H]?Z, ??Z, CC|UO|UW, ^Q
Automatic daily updating: Click "add to rules" if you want your channel group to be updated daily using the selection criteria.
Exclude list: Create an exclude list the same as include.
Map selection: click icon in the top-right corner of map.
Add channels from .csv file: Example (net, sta, cha, loc):
UW, ALKI, HNZ, --
IU, ANMO, HNZ, 20

On the metrics page, users can find overviews of all metrics. The link under Info points to more detailed descriptions. Metrics can be edited and added here. Sample rates are in seconds.
List of metrics as of Nov 2021, externally contributed metrics not included.
Monitors allow users to be notified when the measurements for metrics fall outside of prescribed ranges, or when measurements are missing.
Monitors have three levels that can be set by navigating to notifications settings via the user panel (orange circle in upper right). There users can set the action for each level as well as email recipients. Each level can have an email sent out to just the user or multiple users, or no email at all and In Alarm is displayed on the monitors page. Notifications happen when a monitor goes from being not in alarm to being in alarm and gets reset when it goes back to being not in alarm. So for example, if a station goes down for a week and a monitor is set up to look over the last hour, email gets sent out only once. Monitors can report on the (count, sum, avg, min, max) of measurements over the designated time window. They can be set up to be greater than, less than, or within a band. The "inclusive" checkmark allows users to toggle between being in alarm when the values are within the band (inclusive) or outside of the band (not inclusive).
Monitors use measurement starttimes and are run every hour at 5 min past the hour querying at minute 0. So if you want to poll a metric with hourly granularity "over the last 2 hours", at 4:05 it will query measurements with starttimes between 2:00 and 4:00, i.e. measurements with starttimes = 2:00 and 3:00 (assuming the hourly metric uses starttime=??:00:00).
Examples of setting up monitors:
Top: Set up your alarm.
Bottom: Add additional notifications. Default notification of no email will just display alarm status on the Monitors webpage.
Example email message:
Users can create any number of four different widget types: Tables, Timelines, Time series, and Maps.
Creating widgets within the dashboard:
This is fairly straightforward. First select the widget type and what type of statistic to display, e.g. mean, 95th percentile. The available pre-calculated statistics are shown on the right. Then the metric(s), then the channel group, then the thresholds. Once the widget is created, users choose the time window and granularity (raw data, daily archive, monthly archive) to display.

Table widget:
Tables are default sorted by total (aggregate) number of chosen metrics falling outside of the user-defined thresholds highlighted in orange.

Timeline widget:
Hover over any data point to display the exact value. Thresholds are easily set and for now are just in and out of thresholds using two colors. Note: developers have adding a gradational color scale on their to-do list.

Time series widget:
Hovering the mouse over the plot will highlight specific data points. Users can adjust the y-axis values in the widget. Be careful, it's easy to request too much raw data for this widget; using daily archives are often more appropriate.

Map widget:
The Maps currently only show three colors: within threshold, out of threshold, and N/A. Note: developers have adding a gradational color scale on their to-do list.

Raw data vs archives (important for speed):
Displaying more than a few hundred/thousand measurements within a widget can make it slow, e.g. hourly_max for one week for 100 channels = 24 x 7 x 100 = 16,800 measurements/rows in the database to query/data points to display. Using daily/monthly archives is always best when possible.
