Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Sep 29 23:08

    megies on master

    magnitude estimation: some clar… Merge pull request #3154 from o… fdsn: fix typo in get stations … and 7 more (compare)

  • Sep 29 23:07

    megies on fix_basic_responsestage_decimation

    (compare)

  • Sep 29 23:07

    megies on maintenance_1.3.x

    stationxml: add test+data for a… stationxml: avoid dropping deci… stationxml: adjust values of on… and 1 more (compare)

  • Sep 29 23:07
    megies closed #3159
  • Sep 29 23:06
    megies commented #3160
  • Sep 29 23:05
    megies labeled #3160
  • Sep 29 23:05
    megies opened #3160
  • Sep 29 23:05
    megies milestoned #3160
  • Sep 29 20:47
    trichter commented #3155
  • Sep 29 20:45
    trichter commented #3124
  • Sep 29 20:38
    trichter commented #3155
  • Sep 29 20:20
    trichter commented #3124
  • Sep 29 20:19
    trichter commented #3124
  • Sep 29 19:08
  • Sep 29 15:27
    megies synchronize #3159
  • Sep 29 15:27

    megies on fix_basic_responsestage_decimation

    stationxml: adjust values of on… (compare)

  • Sep 29 15:06

    megies on fix_basic_responsestage_decimation

    stationxml: avoid dropping deci… (compare)

  • Sep 29 15:06
    megies synchronize #3159
  • Sep 29 15:01
    megies milestoned #3118
  • Sep 29 15:01
    megies unlabeled #3118
Calum Chamberlain
@calum-chamberlain
miniseed headers do not include station location information (see the IRIS page on the SEED format). Station location information is more commonly handled in metadata such as dataless SEED or stationxml. Event data are commonly handled in event files such as QuakeML. Full SEED format contains the combined dataless SEED and miniSEED, and hence can contain the station location information.
Emmanuel D. Castillo Taborda
@ecastillot

Hi everyone,

I want to load a request client for specific data structure archive on local filesystem. The structure is:
"{year}-{month}/{year}-{month}-{day}/{network}.{station}.{location}.{channel}.{year}-{julianday}"

Do you know any way to do this?
Thank you very much for your help.

Emmanuel Castillo

Tobias Megies
@megies
@ecastillot you can do that with the SDS client but simply replacing FMTSTR on the client instance
https://docs.obspy.org/master/packages/autogen/obspy.clients.filesystem.sds.Client.FMTSTR.html#obspy.clients.filesystem.sds.Client.FMTSTR
you will have to subclass from SDS client and override that one private function, because currently 'month' and 'day' are not used in that format string
2 replies
Tobias Megies
@megies
Sam
@samuelchodur
I am trying to modify the function array_processing to also output F-Statistic. I am confused about the call to generalizedBeamFormer . Is there code within generalizedBeamFormer that is a duplicate of some of the Python code above the call to it (generalizedBeamFormer)?
Alexandre Kazantsev
@aliex_gitlab
Hey everyone ! In array_processing - line 975, shouldn't it be if prewhiten==1 instead of if method==1 ? It would seem logic to me and I don't see where prewhiten is used otherwise. Please correct me if I am wrong.
Thanks
Alex
Tobias Megies
@megies
2 replies
igmuhlmann
@igmuhlmann
Hi. Can I use simulate_seismometer to simulate the response of a theoretical instrument to simulated ground motion (i.e. assume a step function as displacement and run simulate_seismometer in order to get what a real sensor would see)? I don't see how I can tell simulate_seismometer what it currently sees (displacement, velocity or acceleration) as input parameters. Thanks for a short answer - and sorry if my question is trivial.
2 replies
Munkhsaikhan Amarsanaa
@BoDoNgAhAi
Hello everyone! Does someone know how to read GeoSIG data in obspy? or an alternative way? Thank you.
4 replies
aaaaa-ch
@aaaaa-ch
Hello, Does someone know how to change the .sgy to .txt file? Thank you.
starr34
@starr34
@aaaaa-ch you can perform this work by adopting from obspy.io.segy.core import _read_segy and simply write it to ASCII format
branyan12
@branyan12
Hello everyone, does anyone know how to add different levels of noise to the waveform in .mseed format?
Tobias Megies
@megies
You can add another array on top of your Trace's data
tr.data = tr.data + np.random.randn(len(tr)) * 1000
The real question is what kind of noise do you want to add and how to create the sample noise ;-)
@branyan12
branyan12
@branyan12
Ok, super thanks
John F. Rudge
@johnrudge
An advert: Ever wanted an ellipticity correction for a taup ray path? Well, now you can with EllipticiPy: https://github.com/StuartJRussell/EllipticiPy
Ultimately EllipticiPy should probably end up in the main obspy package, but for now it is separate. Please do test if you're interested and let me know any issues you find.
Tobias Megies
@megies
:thumbsup:
Derrick Chambers
@d-chambers
@barsch we aren't doing this liberapay thing anymore to support ObsPy right? Or are you still getting money from that source to run the server? I ask because my yearly donation is coming up and I need to know if I should cancel.
Robert Barsch
@barsch
@d-chambers I stopped everything - any payment therefore shouldn't go through - but canceling may be better to prevent any issues
Derrick Chambers
@d-chambers
:thumbsup:
aaaaa-ch
@aaaaa-ch
Hello everyone, Why are two thresholds set when using classic sta lta.
aaaaa-ch
@aaaaa-ch
plot_trigger(trace, cft, 1.5, 0.5) I think 1.5 and 0.5 represent two thresholds in the script, right?
John Aiken
@mnky9800n
This may be a question that is not exactly an "obspy" question. why does aic trigger often pick after an event when the event is tapered/zeropadded/etc?
Figure 3 (1).png
the way i understand it, aic is basically a comparison of the aic score where the model is the signal variance https://docs.obspy.org/packages/autogen/obspy.signal.trigger.aic_simple.html
image.png
so if you minimize the tiny equation why is the minimum AIC after the signal?
John Aiken
@mnky9800n
also what is N in the equation? maybe i just dont understand how its calculated
Tobias Megies
@megies
@aaaaa-ch it is the thresholds to activate and then again deactivate the trigger, see e.g. https://docs.obspy.org/citations.html#withers1998
Ch_song
@Chsong98255117_twitter
Hello everyone, I don't how to read the waveform in this format with the obspy. Hope to get help.
i dont know this css file format but it has some files that have .w as ending maybe it is something like that, not sure
Ch_song
@Chsong98255117_twitter
Great thanks.
Tobias Megies
@megies
CSS seems to usually have a file that lists contents of other files though.. not sure if its easy to workaround that file missing
usually its discouraged to use private, low level reader functions but you can see it anything of these can help you
Ch_song
@Chsong98255117_twitter
Yes, Thanks for your selfless help.
Ch_song
@Chsong98255117_twitter
Hello everyone. Do you know how to calculate the site amplifying factor and quality factor?
Dan Burk
@tychoaussie

Hi everyone,
I have been experimenting with the PPSD spectral_estimation.py code, adding some colorization to the various plot overlays such as the mean, mode, and percentile graphs. I want to add a little bit of optimization to the PPSD plot, as the overlays default to black. How would I go about becoming a first-time contributor to the project ?

!(https://photos.app.goo.gl/sC4ZcdVWrm8vBoeH7)

anirudhakumar619
@anirudhakumar619
Hello all,
Something weird happens when I try to trim a trace (both with trim and slide commands). The start-time of the trimmed output is like 4 milliseconds ahead of the start-time that I provide in the code, irrespective of the time I give (unless I give an integer value in second+ say 4 millisecond). I kinda need to trim different stations' data all at the same point in time to run a cross-correlation code on it... but this glitch is keeping me from it.
I tried playing around with resampling, but that doesn't work.
Anybody else face such issues?? How did you solve it??
Tobias Megies
@megies
@tychoaussie you can just open a pull request on github with your version of the code, let us know if u need more help how to go about it. Since that is a feature change you should base your work off of master branch
@anirudhakumar619 what is your sampling rate? Data will always be cut to one of your samples, depending on setting of nearest_sample that sample might be left or right of the given time. If you need to have the same time and the samples dont align you could resample your data to have the exact same sampling points, but personally I would not do that and rather adjust the timing in the cross correlation function that you get as output
https://docs.obspy.org/master/packages/autogen/obspy.core.trace.Trace.trim.html?highlight=nearest_sample
Joseph Rapula Maritinkole
@maritinkolej
Hello everyone.
I am an obspy beginner. I want to get the events catalog from ISC, including arrival information and pick-trace information, and then use this information to download the corresponding waveform from IRIS. (I am labeling the dataset for deep learning training).
I am encountering some problems here,
from obspy.clients.fdsn import Client
from obspy import UTCDateTime
-->client = Client("ISC")
-->t0 = UTCDateTime(2020, 1, 2)
-->t1 = UTCDateTime(2020, 1, 4)
-->cat = client.get_events(t0, t1, minlatitude=-30, maxlatitude=-16,
minlongitude=20, maxlongitude=28, includearrivals=True)
-->print(cat.str(print_all=True))
-->print(cat.events[0].picks[3])
The output I am getting has an error in the Network code. WaveformStreamID
network_code: 'IR'
station_code: 'KHWEE'
channel_code: ''
location_code: '--'
The network is supposed to be BX here. Now I cannot get waveforms from IRIS, I will be happy to discuss this further because I am getting lots of errors. Maybe because I am a newbie.
Tobias Megies
@megies
Maybe you should talk to ISC why they use this alternate code for those stations. I am guessing you are trying to download data based on the WaveformStreamID of the picks in the event files in an automated way? That's a good approach and you can simply fix the network code on the fly in your program, something like..
from obspy.clients.fdsn import Client
client = Client('IRIS')
inv = client.get_stations(network='BX', level='station')
sta_codes_bx = [sta.code for net in inv for sta in net]

for pick in event.picks:
    is_IR = pick.waveform_id.network_code == 'IR'
    should_be_BX = pick.waveform_id.station_code in sta_codes_bx
    if is_IR and should_be_BX:
        pick.waveform_id.network_code = 'BX'
    client.get_waveforms(....)