GithubHelp home page GithubHelp logo

usgs / swarm Goto Github PK

View Code? Open in Web Editor NEW
36.0 25.0 15.0 64.57 MB

a Java application designed to display and analyze seismic waveforms in real-time.

Home Page: http://volcanoes.usgs.gov/software/swarm

License: Other

Java 99.98% Shell 0.01% Batchfile 0.02%

swarm's Introduction

Swarm

Swarm is a Java application designed to display and analyze seismic waveforms in real-time. Swarm can connect to and read from a variety of different static and dynamics data sources, including Earthworm & Winston wave servers, SeedLink servers, FDSN Web Services, and wave files. Swarm has both time- and frequency-domain analysis tools, along with a mapping platform. A full-screen kiosk mode allows users to monitor incoming wave and helicorder data.

See http://volcanoes.usgs.gov/software/swarm.

Swarm was originally developed by Dan Cervelli and Peter Cervelli for the USGS Volcano Science Center (VSC). More recent maintenance and enhancements were made by Tom Parker (USGS VSC AVO) and Diana Norgaard (USGS VSC VDAP), with contributions from Loren Antolik (USGS VSC HVO), Kevin Frechette (ISTI), Anthony Lomax, Dave Ketchum, Chirag Patel, and Ivan Henson.

The main repository for Swarm is now at https://code.usgs.gov/vsc/swarm. The repository is mirrored to GitHub at https://github.com/usgs/swarm. The code is open source, freely available, and in the public domain.

https://doi.org/10.5066/P93A9MWK

swarm's People

Contributors

lantolik-usgs avatar tparker-usgs avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

swarm's Issues

X box in wave panel broken

A wave cannot be removed from the clipboard by clicking the x in the upper right corner of the wave panel.

Division by 0 error when reading SEED file

2017-06-06 08:49:25 INFO - user input file type: D:\Data\Seismic Test Data\SaudiArabia\SEED\20090405 -> SEED/miniSEED file
java.lang.ArithmeticException: / by zero
at gov.usgs.plot.data.file.SeedDataFile.join(SeedDataFile.java:156)
at gov.usgs.plot.data.file.SeedDataFile.read(SeedDataFile.java:118)
at gov.usgs.volcanoes.swarm.data.FileDataSource$1.construct(FileDataSource.java:155)
at gov.usgs.volcanoes.swarm.SwingWorker$2.run(SwingWorker.java:108)
at java.lang.Thread.run(Thread.java:745)

Apply filter to the whole helicorder plot, not just zoom

Tom:

From our previous conversation,

Raspberry Shake user: "It seems like I caught my first real seismic event with my Shake last night at 04:49 UTC (also registered by a professional seismic network nearby).

This event stands out a lot against my rather noisy background because its power spectral density peaks at ca 0.5 Hz, while the background noise has mostly higher frequency content.

Now, wouldn't it be useful if the helicorder display of an entire day would optionally show filtered data already, eliminating much of the cultural noise? I know how to enable filtering in the "zoom" wave window of SWARM when selecting a small segment in the helicorder display, but you cannot filter the entire helicorder display, or can you??"

Your response, "Swarm builds helicorders from data that has been downsampled in advance. This makes it very fast to present a helicorder, but also makes it difficult to filter the data.

It's an interesting idea and there are a couple of ways that Swarm and winston could get past this. Perhaps swarm could send the filter parameters to winston with the heli request? Or maybe it could work off of the full data if the user chooses to accept slower response in exchange for filtering."

I would prefer the later method, to accept a slower response in exchange for filtering. I prefer this because in the Raspberry Shake project we use the OSOP Wave Server and not Winston and OWS was not designed to receive filter requests from external applications. That kind of functionality is beyond the scope of OWS, which is strictly a wave server.

This is a low priority feature addition but would be cool to have.

Thank you for maintaining Swarm. We love it.

Branden

WWS Datasource pannel not populated correctly

It seems 2.5.2 has a bug when displaying WWS data sources. I've built the installation from scratch to make sure. No layouts or data sources carried over from previous version. I noticed there were no map packs included, so had to copy those over.

When selecting edit data source after a WWS source has been entered, the edit data source window does not update the currently selected WWS data source with the proper information from the swarm config file. Instead, it simply displays the last displayed information from the previously selected WWS data source.

openstreetmap tiles

It would be nice to be able to use openstreetmap tiles with Swarm to get some good zoom detail.

Error saving config on exit

Wes reports Swarm hangs on close running on windows.

"InvalidPathException...illegal char at index 3...".\C:\home\glowworm\swarm.config".

P-wave azimuth calculation

VDAP Geophysics team would like to do P-wave azimuth calculations as another way to do locations for places with very limited data. It will be an add-on to the lightweight picker once that is complete (see #83).

Seisan file channels are not read/written correctly

Different channels of the same station in a multiplexed Seisan file are not read. Only the first channel is stored. Also, the channel and network information does not appear to be stored or read correctly. Storing a wave from PN7A to a file, for example, will show up in Seisan only as PN7A without its channel/network info.

SAC output header trouble

KZDATE header has wrong date
KSTNM header includes channel
KCMPNM header is blank
KNETWK header is blank

Plot events on helicorder

Jay W suggested plotting events on helicorder (perhaps as red dots, similar to how Columbians make helicorders).

Lightweight earthquake/event picker

VDAP Geophysics team requests feature to pick, locate, and visualize earthquakes in Swarm.

  • Ability for user to make picks (P, S, and polarity/amplitude)
  • Ability for user to select windows (error window for P and S, and duration for particle motion analysis). - Error window for P/S could possibly be a duration specified for uncertainty on either side of the P or S.
  • Coda duration is already calculated in Swarm. However, users would like to be able to determine window based on P pick if one exists. Otherwise select start/end time as currently done.
  • Ability to specify impulsiveness of phases (I for impulsive, E for emergent)
  • User will likely do one of above at a time. Having multiple pick lines and highlighted duration may clutter wave view. However, an option to toggle turn on all selection will be helpful.
  • Calculate S-P time and distance.
  • Users would like to see all three components of the wave while doing the picks so doing it in the clipboard may be best.
  • Locate events using existing location algorithms. Hypoinverse is the preferred algorithm. However, a Java version of hypo71 is available.
  • Use error window to determine weight input into hypo71 (and possibly other location algorithms). Team will provide mapping logic here.
  • Users would like ability to store picked or located events and to be able to refer to it at a later time. Export to QuakeML?
    -There should be an option for pre-defined list of classifications of events that user can choose from (may vary by observatory), but also provide ability to add new ones.
  • Plot location on map
  • Plot cross-sections and energy of earthquakes with time

SEEDLINK data source is not working according to IRIS DMC

Chad wrote:

As you likely remember IRIS funded the addition of SeedLink support in Swarm a few years ago. I recently download the latest version of Swarm (2.5.9) to try it out. Unfortunately it doesn't appear to function well, it kinda sorta looks like it's doing something but not what I would expect.

Attached you can see a sequence of screen shots after I unzipped the 2.5.9 release, added rtserve.iris.washington.edu as the "IRIS SeedLink" source, selected MSTX BHZ TA as the channel and requested both a "Monitor" window and a "realtime" window. I started the streams at 18:28 UTC (11:28 local), the screen shots have the local time in their file name.

It's a little hard to describe the observations: the "Monitor" window gets updates sporadically and does not show the complete data and the "realtime" window gets a more complete waveform but only what looks like the most recent data. During this time I was watching the SeedLink feed for this channel, packets arrived as semi-regular intervals and were a contiguous time series.

Swarm also emitted "Could not synchronize with NTP server", "getCurrentTime(): giving up" messages; not sure if it's related. Hopefully the host clock would be used if NTP synchronization with (hard coded?) NTP servers is not possible.

Something seems really broken with this functionality. Can someone confirm that Swarm's SeedLink-as-a-source is not working?

Kevin tested out the latest version and found it working however and was not able to reproduce the problem. Tom mentioned that he recently changed something in the latest version of the seedlink data source by upgrading the library so something else may have changed. Needs verification by a third party that this is not functioning as it should.

Clipboard goto time wrong?

Wendy reports trouble using the goto time option in the clipboard. Could the clipboard be using localtime? If so, should it?

Time incorrect in Status Bar

Bug introduced in 2.6.3 with change in status bar text.

On Mon, May 8, 2017 at 1:47 PM, Carlos Andrés Laverde [email protected] wrote:

Dear Diana and Thomas,

Some of our seismologist report me a little mistake in the Helicorder's "status line" information, please, look at this (red oval bottom-left corner):

imagen

The UTC time in the first line is OK (in this example, 08:11 UTC)

However, in the second line, the UTC time has applied (03:10) a second "-5 hours" and the COT-local time (22:10, previous day) is wrong (-5 hours) too.

It is not a big deal, but we report it in order that you can fix it in a future release.

Thanks a lot for your kind support.

Best regards,

Carlos Andrés

label spectra plots with very low frequencies

Spectra plots use DefaultFrameDecorator which limits axis labels to 3 significant digits.

The swarm clipboard may be useful for displaying data from tilt meters and other instruments with sample rates on the order of 0.00001 Hz. Swarm is able to plot the data, but is not able to label the x-axis.

measure of the peak to peak amplitude of the tremor

On Wed, May 31, 2017 at 8:53 AM, Jeremy Pesicek [email protected] wrote:
another swarm feature request to think about

Begin forwarded message:

From: Javier Francisco Pacheco [email protected]
Subject: Re: poas slides
Date: May 31, 2017 at 8:26:58 AM PDT
To: Jeremy Pesicek [email protected]

Hello Jeremy;

There is one thing that would be very useful for us to include in the Swarm, and that is, to have a measure of the peak to peak amplitude of the tremor. When you use the zoom tool, you can get the amplitude of the signal at the mouse point. Of course you could measure the maximum value here and the minimum there and get the difference to estimate the peak to peak value, but that takes time. A useful tool would be to get the average peak to peak value of the time segment you are zooming on. Why is it important ? We found out at Turrialba that when the tremor goes over a given value, there is ash out from the vent, lower values does not have ash. When it is cloudy or rainy, it is difficult to see if there is ash in the air, and we guestimate the occurrence of an event by measuring the tremor size ….

Regards;

Javier Francisco Pacheco
OVSICORI-UNA

error writing miniSEED

Stefan reports:
I'm having some trouble getting MiniSEED data out of SWARM. I was using a slightly older version of Swarm but I updated to 2.5.5 and I still see the problem (though now I see maps, yay!)

I select some data, put it in the clipboard, and then I can write SAC data, no problem.

If I change the file type to "SEED/miniSEED file (.mseed)" the file extension remains .sac. If I leave it as .sac it outputs a SAC file. If I change it to .mseed I get a Java error, and a zero kb .mseed file.

Exception in thread "AWT-EventQueue-1" java.lang.ArrayIndexOutOfBoundsException
at java.lang.System.arraycopy(Native Method)
at edu.sc.seis.seisFile.mseed.Utility.pad(Utility.java:218)
at edu.sc.seis.seisFile.mseed.DataHeader.setStationIdentifier(DataHeader
.java:273)
at gov.usgs.plot.data.file.SeedDataFile.write(SeedDataFile.java:179)
at gov.usgs.volcanoes.swarm.wave.WaveClipboardFrame$SaveActionListener.a
ctionPerformed(WaveClipboardFrame.java:651)

Cannot exit kiosk mode

Stefan reports:

If type F11 to go into Kiosk mode... I can't get back. I can't hit F11 again to return to normal mode, and other things like alt-F4 to quit don't work. To quit I need to kill the Swarm process ID.

swarm.jar

Installation cannot find swarm.jar. Should it be copied from earlier version? Or this file is missing here?

WMS HTTP URLs?

Loren reports that WMS forces the use of HTTP URLs. HTTPS URLs should be supported.

Please add option to save clipped data as multiplexed seisan format

There is currently an option to write out the clipboard in seisan format. However, it outputs a bunch of single-station seisan files, which does not work well with the seisan program/database structure, which is optimized for multiplexed waveform data. Perhaps add this as an option along with the single-station seisan output file option?

time markers on monitor waves

User requests that the monitor display time markers similar to other wave views, rather than just the start and end times.

Folder navigation in file chooser is difficult

Stefan reports:

If I go to save a file, for example in miniseed format from the clipboard... the file system browser for where to save the file doesn't work. I can't click to go up to the parent folder, and if I click into a folder that I know contains folders I don't see any folders. (Workaround -- typing the full path in front of the filename -- works fine.)

Potentially file filter trouble

Particle Motion Analysis

VDAP Geophysics team requests ability to perform particle motion analysis within Swarm. Users should be able to select window and view the selected window within larger window, while simultaneously viewing the motion plot. Users would also ideally be able to tell where the plot starts and ends.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.