Beispiel #1
0
def ppsdTool(data, t1, t2, station, component='Z'):
    date = t1.__class__(t1.date)
    enddate = t2.__class__(t2.date)
    ppsd = None
    try:
        daystream = FloatingStream(data,
                                   date,
                                   station,
                                   1800,
                                   component=component,
                                   reserve=20,
                                   use_get_raw=True)
    except:
        log.exception('Can not load FloatingStream use just Data' ' instead')
        daystream = data

    s = TerminalFile(sys.stdin)
    print "Press q to cancel calculation..."

    while date <= enddate:
        if s.getch() == 'q':
            return ppsd
        try:
            stream = daystream.getRawStream(date, station, component)
        except ValueError:
            log.exception('')
            date += 24 * 3600
            continue
        if ppsd == None:
            ppsd = PPSD(stream[0].stats, data.paz)
        ppsd.add(stream, verbose=True)
        date += 24 * 3600
    return ppsd
Beispiel #2
0
 def add_ppsd(self, dontstop=False):
     if not dontstop and self.timer.isActive():
         self.ui.button.setText('Continue')
         self.timer.stop()
         if self.date > self.enddate:
             self.timer.start(100)
     else:
         self.ui.pbar.setValue(100 *
                               (self.date - self.startdate + 12 * 3600) /
                               (self.enddate - self.startdate + 24 * 3600))
         self.ui.button.setText('Stop')
         if self.data == None:
             self.data = getattr(mod_data, self.ui.project.text())()
         if self.daystream == None:
             try:
                 self.daystream = FloatingStream(
                     self.data,
                     self.startdate,
                     str(self.ui.station.text()),
                     1800,
                     component=str(self.ui.component.text()),
                     reserve=20,
                     use_get_raw=True)
             except:
                 log.exception('Can not load FloatingStream use just Data'
                               ' instead')
                 self.daystream = self.data
         while self.date <= self.enddate:
             try:
                 stream = self.daystream.getRawStream(
                     self.date, str(self.ui.station.text()),
                     str(self.ui.component.text()))
             except Exception as ex:
                 log.exception(str(ex))
                 self.date += 24 * 3600
                 stream = None
             else:
                 break
         if stream == None:
             return
         if self.ppsd == None:
             stats = stream[0].stats
             paz = self.data.paz
             self.ppsd = PPSD(stats, paz)
         self.ppsd.add(stream, verbose=True)
         self.date += 24 * 3600
         self.timer.start(100)
Beispiel #3
0
from obspy.signal.psd import PPSD
from cpsd import PPSD
from obspy.core import *
from obspy.xseed import Parser

st = read("BW.KW1..EHZ.D.2011.090")
tr = st[0]
p = Parser("dataless.seed.BW_KW1")
paz = p.getPAZ("BW.KW1..EHZ")
ppsd = PPSD(tr.stats, paz)
#ppsd.add(tr)
#ppsd.add(st[1])
#ppsd.plot()
#ppsd.save("/tmp/ppsd")