suricat_mseed_shrink_1.0a.py

« Older   Newer »
 
  Share  
.
  1.  
    .
    Avatar

    Junior Member

    Group
    Administrator
    Posts
    63

    Status
    Offline
    Quando vado a scaricare dei dati dal Suricat mi viene creato un singolo file mseed contenente le 3 componenti.
    L'ora è riferita al 1970 e solitamente la location non viene letta da SeisGram2K in quanto lettere minuscole.

    CODICE
    # Qui vado ad aprire un file mseed preso dal Suicat (singolo mseed per differenti tracce), salvo ogni componente su mseed e aggiorno la data
    from obspy import UTCDateTime
    from obspy.clients.fdsn import Client

    import obspy
    from obspy import *

    from obspy.signal.invsim import corn_freq_2_paz
    from obspy.io.xseed import Parser
    from obspy import read, read_inventory
    import matplotlib.pyplot as plt
    from obspy.core import read

    from scipy import integrate

    from scipy import signal
    import matplotlib.pyplot as plt
    import numpy as np
    import datetime
    import sys




    from scipy import signal
    import matplotlib.pyplot as plt
    import numpy as np
    import datetime
    from obspy.core import read
    import obspy
    from obspy import *
    from obspy.core import utcdatetime
    #from obspy.signal import bandpass
    #from numpy import mean, sqrt, square, arange
    import operator
    import sys
    from obspy.signal.trigger import classic_sta_lta
    from obspy.signal.trigger import carl_sta_trig
    import pylab
    import copy
    from scipy import signal
    import os
    import time
    import math
    from scipy import integrate

    from obspy import read
    #import plotly.plotly as py
    #import plotly.graph_objs as go


    from obspy.signal.trigger import classic_sta_lta, plot_trigger
    #intanto vado a leggere la traccia in SAC
    from math import*

    # esempio di utilizzo: get_pga 567777 hnz.mseed hnn.mseed hne.mseed
    # il primo rappresenta la sensitivity (solitamente i counts richiesti per 1g o per 1 m/s^2)


    # sensitivity nominale Titan: 4.0e+06 [counts] = 1 [m/s^2]
    # sensitivity nominale Titan: 3.2e+08 [counts] = 1 [m/s]


    filename = sys.argv[1]
    date  = sys.argv[2]


    if len(sys.argv) < 3:
           print("\r\nusage: python mseed_shrink PIPPO.mseed SuricatDate")
           print("example: python mseed_shrink PIPPO.mseed 2024-03-27T21:15:00.0")
           
    else:
           waveforms = read(filename)
           
           for stream in waveforms:
                   loc = stream.stats.location.upper()        # converto a uppercase
                   stream.stats.location = loc
                   stream.stats.starttime = date
                   filename = ("%s.%s.%s.%s.%04d%02d%02d_%02d%02d.mseed" % (stream.stats.network, stream.stats.station, stream.stats.channel, loc, stream.stats.starttime.year,  stream.stats.starttime.month, stream.stats.starttime.day, stream.stats.starttime.hour, stream.stats.starttime.minute))
                   stream.write(filename, format="MSEED")


    Io parto da questo file:
    OX_TOS1_channelName1_2024-03-27_GMT_21.15.00_00h_10m_00s.mseed

    e creo dei singoli files miniseed (uno per componente):

    python suricat_mseed_shrink_1.0a.py OX_TOS1_channelName1_2024-03-27_GMT_21.15.00_00h_10m_00s.mseed 2024-03-27T21:15:00.0

    con timestamp a partire dalla data indicata.
     
    .
0 replies since 28/3/2024, 17:06   2 views
  Share  
.