Skip to content
Alicia Hotovec-Ellis edited this page Nov 3, 2015 · 22 revisions

To-do List:

(High priority and/or Should be easy)

General

  • Build out the wiki and document each script in detail
  • Have single.py grab data since previous trigger in case system crash misses a run?
  • Benchmark tests
  • Multiple station handling
  • Publish! (SRL or JStatSoft)

Initial setup

  • Option to initially populate with nearby previously cataloged events (would also need to know to not count these twice)
  • Eventually make setup interactive, rather than config file? (or make building of config file interactive)

Triggering

  • Removing outright bad triggers (e.g., spikes, calibration pulses), set aside borderline cases: kurtosis complete in time and frequency domains, lots of bad triggers still getting through - in progress
  • Test (incorporate?) peak matching for faster initial correlation and alignment when trigger is late?
  • Error handling when encountering a gap or no data in waveserver/IRIS data so script completes instead of just choking

Correlation

  • Correlation between cores (may help with preventing leftovers?)
  • Correlation of core with full cluster - Alicia in progress
  • Realign clusters to core
  • Handling of extremely large families (cross-correlation in parallel, smarter clustering?? use stack? subfamilies? kernelized least squares hashing?)

Tables

  • Option for manual removal of clusters or correlated noise

OPTICS / Clustering

  • Clustering optimization (IncOPTICS? also cleaning up that code in general)

Plotting

  • Cluster stacks and clearer waveform plots
  • Occurrence Timeline (family number vs. time, color by correlation to core or amplitude)
  • Use timing to produce stacks on multiple stations from a single station run
  • Interactive plotting to further investigate a single cluster

Recently Implemented

  • Support for different sampling rates (was originally hard-coded to 100 Hz)
  • Removed some hard coding in plotting, added padding
  • Option to designate where waveform data come from: IRIS or waveserver
  • Setup of configuration via config file
  • Orphan expiration
  • Store last ID and trigger time in header to pick up where last run left off
  • Write control program that can be run as a cron job
Clone this wiki locally